Without this patch, if we got a display item with the root clip id, we
would always clip that display item with the root clip of the enclosing
pipeline. However, this violates the documented semantics on
ClipId::root() which states that it effectively does no clipping.
Specifically, it could end up doing clipping if the display item was
part of a scrollframe that was scrolled such that the display item
extended beyond the enclosing pipeline.
This patch adds an extra argument to some of the flattening functions -
the flag is true when recursing the DL between a pipeline item and the
first stacking context that has a clip. For these items, the pipeline
clip is applied. Once inside the stacking context, the pipeline clip is
not applied.
Differential Revision: https://phabricator.services.mozilla.com/D20483
--HG--
extra : moz-landing-system : lando
The old complicated code here was working around a fundamental race in the
test. The test was trying to do the following:
1) Open a new tab. This sends an IPC message to do that and to start loading
about:blank in the tab.
2) Add a "load" listener. This sends an IPC message to add the listener.
3) Start loading the URL we really want to load. This sends an IPC message to
start the load.
There are two races here: the message from step 2 can be received before or
after the about:blank load is done, and the message from step 3 can be received
before or after the about:blank load is done. If step 2 wins the race (we add
the listener before the about:blank load is done) but step 3 loses the race
(new load starts only after the about:blank load is done), then we would get a
load event for the about:blank, not for the url we care about.
The test worked around this by having step 2 add a listener for the
"DOMDocElementInserted" event, which about:blank did not fire. Then when that
happened (indicating that the load from step 3 is now in progress), it added a
"load" listener. This fixed the race.
Bug 1528146 fixed about:blank to also fire "DOMDocElementInserted", so the test
became racy again. Now if the "DOMDocElementInserted" listener got added
_after_ the about:blank load had fired that event (which is what usually
happened), then the test passed. But if the IPC message from step 2 to add the
"DOMDocElementInserted" listener won the race against the about:blank load
firing "DOMDocElementInserted", then we added the "load" listener too early and
got the "load" event for the about:blank, not the document we cared about.
The fix is to just use the (now) existing openNewForegroundTab function which
lets us pass in a url, then wait until that URL is loaded, instead of trying to
reinvent that wheel.
There is an additional ride-along change to make openNewForegroundTab always
create a new process in this test, which is the original intent of the test but
wasn't necessarily guaranteed by the old code.
Differential Revision: https://phabricator.services.mozilla.com/D20544
--HG--
extra : moz-landing-system : lando
Will ask for r? from janerik once product has approved the data collected here.
Differential Revision: https://phabricator.services.mozilla.com/D19529
--HG--
extra : moz-landing-system : lando
A few instances of snprintf are replaced with SprintfLiteral, and a
implicit constructor is made explicit.
Differential Revision: https://phabricator.services.mozilla.com/D20401
--HG--
extra : moz-landing-system : lando
As per the help message, this can create significant pauses, but it can be
useful to developers for local tests.
Differential Revision: https://phabricator.services.mozilla.com/D20216
--HG--
extra : moz-landing-system : lando
The code was added to diagnose an issue that was likely due to heap corruption.
The vtable of the objects was sometimes 0. More details in bug 1153929.
That crash doesn't reproduce anymore so it should be OK to remove.
Differential Revision: https://phabricator.services.mozilla.com/D20561
--HG--
extra : moz-landing-system : lando
Looks like this is not needed anymore and we can just use SurfaceTexture
everywhere.
Differential Revision: https://phabricator.services.mozilla.com/D20527
--HG--
extra : moz-landing-system : lando
This position ends up being used for source notes in some cases now, meaning that this can
cause breakpoints to be given the wrong position when assigned to a variable. This fixes
that by using the correct token for the position value.
This fix also ensures that `cur->pos.end` is updated when skipping functions because
expression statements set their end based on the end position of the expression, and
if the expression statements end token is the end of a skipped function, we would
otherwise read the wrong position triggering assertion failures.
Differential Revision: https://phabricator.services.mozilla.com/D19714
--HG--
extra : moz-landing-system : lando
The blur event doesn't bubble so this wouldn't actually listen to fields getting blurred. See bug 1138774.
Differential Revision: https://phabricator.services.mozilla.com/D20396
--HG--
extra : moz-landing-system : lando
It wasn't clear in callee code that the window was the top-window and it wasn't necessary in many cases. Relying on the top-window would also cause problems with Fission if the windows are in separate processes.
Differential Revision: https://phabricator.services.mozilla.com/D20395
--HG--
extra : moz-landing-system : lando
There were too many top-level objects in that large JSM and LoginHelper didn't exist when it was added.
Differential Revision: https://phabricator.services.mozilla.com/D20393
--HG--
extra : moz-landing-system : lando
This means there is only one signon.* listener for the whole process, not per-logger.
Also move LMC prefs to LMH.
Differential Revision: https://phabricator.services.mozilla.com/D20391
--HG--
extra : moz-landing-system : lando
Looks like accessibility-test-framework was added to maven central so we can
remove this.
Differential Revision: https://phabricator.services.mozilla.com/D20365
--HG--
extra : moz-landing-system : lando
This code was already handling the world going away, but did not handle the case
of just getting unbound, which can happen if some selection listener (e.g.,
AccessibleCaret) flushes layout.
Differential Revision: https://phabricator.services.mozilla.com/D20469
--HG--
extra : moz-landing-system : lando
Only nsBlockFrame and its subclasses recognize the nsIFrame::eBlockFrame
flag, so we can replace the usage of the flag with either
nsIFrame::IsBlockFrameOrSubclass() or a do_QueryFrame().
Differential Revision: https://phabricator.services.mozilla.com/D20542
--HG--
extra : moz-landing-system : lando
disable tests on windows 10 for intermittent failures in webdriver new_session tests.
Differential Revision: https://phabricator.services.mozilla.com/D20480
--HG--
extra : moz-landing-system : lando