gecko-dev/dom
Emilio Cobos Álvarez 1e6e97fed1 Bug 1389743: Only reconstruct frames synchronously from ContentRemoved when called from frame construction. r=mats
There's only one case of sync frame construction from ContentRemoved now, and
it's not on the element being removed, but on the whitespace siblings if needed,
and _only_ when they don't support lazy frame construction.

Basically, this switches all the RecreateFramesForContent calls to use
`aAsyncInsert` (which I changed to an enum class for readability), except when
we're already reframing.

Also, it switches ReframeTextIfNeeded to opt-in into lazy frame construction,
since it's used only when aFlags == CONTENT_REMOVED.

This allows to simplify the DestroyFramesFor API (which I'm happy to rename to
something more meaningful, since now it's something like
DestroyFramesForAndRecreateThemAsync), and do some other consistency cleanups.

A bunch of the ContentRemoved callsites were pretty random at passing
aAsyncInsert, and that was some kind of a mess. This patch ensures consistency,
and makes it impossible to do O(n^2) work when removing DOM nodes, which is
nice.

The underlying reason for this is explained in the description of bug 1377848,
and basically allows us to remove a bunch of Servo hacks on the longer term (a
few of them are going away already, yay!).

MozReview-Commit-ID: 2DrUTxGV8RX

--HG--
extra : rebase_source : f428d839a5482477dea22c0fea600d54f3e8799c
2017-08-23 09:58:57 +02:00
..
animation Bug 1385139 - Expand var() references in keyframes from CSS animations when serializing; r=hiro 2017-08-21 12:35:35 +09:00
asmjscache
audiochannel Bug 1388236 - Remove now obsolete AudioChannelConfig in favour of AudioPlaybackConfig. r=alwu 2017-08-10 13:00:09 +12:00
base Bug 1389743: Only reconstruct frames synchronously from ContentRemoved when called from frame construction. r=mats 2017-08-23 09:58:57 +02:00
battery
bindings Bug 1390489 - Port StatementRow to WebIDL bindings. r=asuth,qdot 2017-08-22 09:25:37 +02:00
broadcastchannel
browser-element Bug 1391371 - turn on non-e10s tests for windows7-debug. r=ahal 2017-08-17 15:46:03 -04:00
cache
canvas Backed out 5 changesets (bug 1387569) for Windows static build bustage 2017-08-19 12:20:26 -07:00
commandhandler
console Bug 1386600 - Change nsIStringBundle methods to return |AString| instead of |wstring|. r=emk,sr=dbaron. 2017-08-04 14:40:52 +10:00
credentialmanagement Bug 1384307 - Set WebAuthn PublicKeyCredential's "id" and "type" fields r=keeler 2017-07-25 15:03:59 -07:00
crypto Backed out changeset 98f4de7949a0 (bug 1390681) for android xpcshell failures a=backout 2017-08-16 12:53:00 -07:00
encoding Bug 1384835 (part 3, attempt 2) - Remove the Preferences::Get*CString() variants that return nsAdoptingCString. r=froydnj. 2017-07-31 14:28:48 +10:00
events Bug 1376895 - Disable preloaded browser in two mochitests. r=me 2017-08-16 13:00:04 +02:00
fetch Bug 1379631 - Turn off OMT delivery for FetchDriver until bug 1380255 lands. The fix for this bug makes some test fail because of FetchDriver. r=mayhemer 2017-08-01 15:05:51 -04:00
file Backed out changeset 685802013f43 (bug 1389460) for OS X bustage at widget/cocoa/nsMenuX.mm:364: no member named 'DispatchDOMEvent' in 'nsIContent'. r=backout 2017-08-11 17:46:42 +02:00
filehandle
filesystem
flyweb Bug 1382172 - Name nsITimerCallback instances in native implementation. r=billm 2017-07-27 02:18:20 +08:00
gamepad Bug 1352410 - Add a preference to enable or disable haptic feedback for gamepads; r=Lenzak 2017-07-27 17:55:16 +08:00
geolocation Bug 1382172 - Name nsITimerCallback instances in native implementation. r=billm 2017-07-27 02:18:20 +08:00
grid
html Bug 1389421 - Support nonce IDL property; r=ckerschb,smaug 2017-08-21 14:49:44 +03:00
imptests
indexedDB Bug 1389598 - Part 3: Remove gonk references from dom/ r=bkelly 2017-08-11 17:42:11 -07:00
interfaces Merge m-c to autoland, a=merge 2017-08-22 17:24:16 -07:00
ipc Bug 1370843 - Provide correct triggeringPrincipal for dropLinks. r=smaug,tooru 2017-08-22 10:07:03 +02:00
json Bug 1387788 - Remove [deprecated] methods from nsIJSON. r=Ehsan 2017-08-06 10:25:15 +09:00
jsurl Bug 1326520 - Rename nsIURI.path to pathQueryRef. r=valentin.gosu 2017-07-29 20:50:21 +09:00
locales Bug 1391933 - Fix localization issues in Kill Add-on dialogs, r=kmag 2017-08-20 10:52:32 +02:00
manifest Bug 1375125 - Stop using nsILocalFile in the tree. r=froydnj 2017-08-04 17:49:22 +09:00
mathml
media Merge inbound to m-c a=merge 2017-08-21 16:39:56 -07:00
messagechannel Bug 1378930 - Part 2: Remove the aName parameter from SchedulerGroup/DocGroup/DispatcherTrait. r=billm 2017-07-26 16:13:35 +08:00
network Bug 1382099 - Remove MOZ_WIDGET_GONK from several dom/ subdirectories. r=mccr8,jdm. 2017-07-21 10:52:44 +10:00
notification Bug 1389057 - Inherit NotificationTelemetryService from nsIObserver r=kitcambridge 2017-08-16 01:24:31 +05:30
offline
payments Bug 1390737 - Run test_canMakePayment.html in nightly build only because it depends on nightly only UI service. r=btian 2017-08-16 12:53:25 +08:00
performance Backed out changeset 685802013f43 (bug 1389460) for OS X bustage at widget/cocoa/nsMenuX.mm:364: no member named 'DispatchDOMEvent' in 'nsIContent'. r=backout 2017-08-11 17:46:42 +02:00
permission
plugins Merge m-c to inbound, a=merge 2017-08-21 17:10:59 -07:00
power Bug 1382955 (part 2) - Remove nsIPowerManagerService::{powerOff,reboot,restart} and related things. r=gsvelto. 2017-08-02 10:09:26 +10:00
presentation Bug 1384835 (part 3, attempt 2) - Remove the Preferences::Get*CString() variants that return nsAdoptingCString. r=froydnj. 2017-07-31 14:28:48 +10:00
promise Bug 1347644 - Simplify/rename JS::AsyncTask (r=till,bkelly,mccr8) 2017-08-16 14:38:53 -05:00
push Bug 1390428 (part 2, attempt 2) - Remove more nsXPIDLCString local variables. r=erahm. 2017-08-21 20:01:27 +10:00
quota Bug 1350637 - Part 4: Implement serialization for mozilla::OriginAttributesPattern, so we can use it on the receiver side of IPC without bouncing to the main thread; r=asuth 2017-08-08 23:01:14 +02:00
res
script Bug 1053321 - Correctly pass info about 'defer' and 'async' attributes to HTML5 parser invoked script preload. r=bkelly 2017-08-19 05:35:00 -04:00
secureelement
security Bug 1391011: CSP: Test upgrade-insecure-requests for toplevel navigations when base it https. r=smaug 2017-08-21 08:58:01 +02:00
smil Bug 1390384 - Apply SMIL's calcMode=discrete handling to discretely animatable properties in Stylo; r=hiro 2017-08-15 14:40:06 +09:00
storage Bug 1389529 - Remove @deprecated nsIDOMStorageManager.getLocalStorageForPrincipal. r=mayhemer 2017-08-12 00:36:01 +09:00
svg Bug 1387956 - Overhaul ComputedValues measurement, and add style structs measurement. r=bholley. 2017-08-11 16:37:33 +10:00
system Bug 1386240 - [1.3] Check success status when enabling or disabling geolocation events. r=jchen 2017-08-08 18:15:54 +02:00
tests Bug 1053321 - Correctly pass info about 'defer' and 'async' attributes to HTML5 parser invoked script preload. r=bkelly 2017-08-19 05:35:00 -04:00
time
u2f Bug 1384233 - Remove SizePrintfMacros.h. r=froydnj 2017-07-26 16:03:57 -04:00
url Bug 1380617 - Add test checking that URL.origin returns punycode r=smaug 2017-08-09 17:44:03 +02:00
vr Bug 1388274 - Adjust WebVR telemetry histogram's high bound for user time spent; r=francois,kip 2017-08-08 18:23:43 +08:00
webauthn Bug 1392366 - WebAuthn must use the WebCrypto SHA-256 algorithm identifier r=keeler 2017-08-21 12:06:15 -07:00
webbrowserpersist Bug 1387184 - Remove nsIDOMHTMLEmbedElement; r=bz 2017-08-09 12:05:08 -07:00
webidl Merge inbound to central, a=merge 2017-08-22 17:07:23 -07:00
workers Bug 1328398 - Add telemetry to measure service worker launch time. r=bkelly,francois datareview=francois 2017-08-17 18:32:36 +08:00
worklet
xbl Bug 1389743: Only reconstruct frames synchronously from ContentRemoved when called from frame construction. r=mats 2017-08-23 09:58:57 +02:00
xhr Backed out changeset 40b781f6504c (bug 1345457) for breaking xhr test case r=backout 2017-08-21 16:32:00 +08:00
xml Bug 1384493 - LoadStyleLink and LoadInlineStyle should use correct referrer policy. r=heycam 2017-08-15 00:05:00 -04:00
xslt Bug 1383845 - Enable tests disabled for bug 1383845. r=TYLin 2017-08-17 10:51:59 +10:00
xul Merge inbound to central, a=merge 2017-08-18 15:53:07 -07:00
jar.mn
moz.build Bug 1381916 - Remove support for plugins on Android r=jchen,bsmedberg 2017-07-31 12:25:16 -05:00