Closed Bug 1597765 Opened 1 year ago Closed 1 year ago

support auto scroll in out of process frames

Categories

(Firefox :: General, task, P1)

task

Tracking

()

RESOLVED FIXED
Firefox 73
Fission Milestone M5
Tracking Status
firefox73 --- fixed

People

(Reporter: surkov, Assigned: surkov)

References

(Blocks 2 open bugs, Regressed 1 open bug)

Details

Attachments

(1 file, 2 obsolete files)

AutoScrollController lives in [1] and instantiated by browser-content.js [2]. Might be wrong but I suppose browser-content.js is fission friendly, so no adjustments on AutoScrollController instantiation is required. So AutoScrollController should be converted to actor child instance, since it's in-content thing. In parent process MozBrowser widget sends "Autoscroll:Stop" message [3] and also can receive messages [4].

It appears we have an option to 1) inherit AutoScrollController from ActorChild, or 2) inherit it from JSWindowActorChild and move out logic from MozBrowser to new JSWindowActorParent, not sure which way is preferable.

Neil, could you make a sanity check of above said?

[1] https://searchfox.org/mozilla-central/source/toolkit/modules/AutoScrollController.jsm#10
[2] https://searchfox.org/mozilla-central/source/toolkit/content/browser-content.js#28
[3] https://searchfox.org/mozilla-central/source/toolkit/content/widgets/browser-custom-element.js#1704
[4] https://searchfox.org/mozilla-central/source/toolkit/content/widgets/browser-custom-element.js#1456

Flags: needinfo?(enndeakin)
  1. is correct. It should inherit from JSWindowActorChild. ActorChild is the old non-fission mechanism.

browser-content.js is only loaded in the top-level tab and will eventually be removed.

Flags: needinfo?(enndeakin)

Assigning a priority to get this out of the triage list. It looks like this is being currently worked on, so P1, but please adjust as necessary.

Priority: -- → P1
Status: NEW → ASSIGNED
Fission Milestone: --- → M5

Not sure how to work with event listeners in actors. It appears event listeners that actors listens to are defined by actors protocol [1], and added automatically, when actor is created. However AutoScrollController adds/removes event listeners dynamically [2]. What is the way to proceed with this? I assume keeping status quo?

[1] https://searchfox.org/mozilla-central/source/toolkit/modules/ActorManagerParent.jsm#68
[2] https://searchfox.org/mozilla-central/source/toolkit/modules/AutoScrollController.jsm#193-194

Flags: needinfo?(enndeakin)

If an actor needs to listen to events for most or all of its lifetime, then you would add them to the actor declaration, as is done for the Autocomplete example linked to. For events that only get handled some of the time, then just use add/removeEventListener when needed.

Looks like two event listeners are added for autoscroll. For mousemove I would suggest just adding it when needed rather than declared like the current code does since it fires frequently, and autoscroll isn't usually active. Might as well do the same with pagehide.

Flags: needinfo?(enndeakin)
Attachment #9111336 - Attachment is obsolete: true
Attachment #9110951 - Attachment is obsolete: true

there's a whole bunch of failures (for example [1]):

TEST-UNEXPECTED-TIMEOUT | browser/components/sessionstore/test/browser_590563.js

It fails because it cannot set an initial focus on the test load. Here's relevant portion of the logs [2]. So SpeicalPowersParent receives "SpecialPowers.Focus" message and attempts to set focus by:

this.manager.rootFrameLoader.ownerElement.focus();

and this.manager.rootFrameLoader is null.

Honestly no ideas how my patch can affect on this and how to approach to the issue. No luck to reproduce it locally. Neil, any pointers, ideas?

[1] https://treeherder.mozilla.org/logviewer.html#?job_id=278228836&repo=try
[2] https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=278228836&repo=try&lineNumber=20124-20130

Flags: needinfo?(enndeakin)

another observations: linux is not affected, only osx and windows. And also it always fails to take screenshot afterwards:

Console message: [JavaScript Error: "getScreenshot(http://example.com/?window=5) failed: TypeError: NetworkError when attempting to fetch resource." {file: "resource://activity-stream/lib/Screenshots.jsm" line: 59}]
[task 2019-11-26T13:52:03.013Z] 13:52:03 INFO - getScreenshotForURL@resource://activity-stream/lib/Screenshots.jsm:59:10
[task 2019-11-26T13:52:03.013Z] 13:52:03 INFO - asyncmaybeCacheScreenshot@resource://activity-stream/lib/Screenshots.jsm:112:37
[task 2019-11-26T13:52:03.013Z] 13:52:03 INFO - _fetchScreenshot@resource://activity-stream/lib/TopSitesFeed.jsm:527:23
[task 2019-11-26T13:52:03.013Z] 13:52:03 INFO - _fetchIcon@resource://activity-stream/lib/TopSitesFeed.jsm:515:16
[task 2019-11-26T13:52:03.013Z] 13:52:03 INFO - getLinksWithDefaults@resource://activity-stream/lib/TopSitesFeed.jsm:408:16
[task 2019-11-26T13:52:03.013Z] 13:52:03 INFO - async
refresh@resource://activity-stream/lib/TopSitesFeed.jsm:431:30
[task 2019-11-26T13:52:03.013Z] 13:52:03 INFO - onAction@resource://activity-stream/lib/TopSitesFeed.jsm:771:14
[task 2019-11-26T13:52:03.013Z] 13:52:03 INFO - _middleware/</<@resource://activity-stream/lib/Store.jsm:63:17
[task 2019-11-26T13:52:03.013Z] 13:52:03 INFO - Store/this[method]@resource://activity-stream/lib/Store.jsm:39:54
[task 2019-11-26T13:52:03.014Z] 13:52:03 INFO - init/this.intervalId<@resource://activity-stream/lib/SystemTickFeed.jsm:27:24
[task 2019-11-26T13:52:03.014Z] 13:52:03 INFO - notify@resource://gre/modules/Timer.jsm:62:17

which may suggest this is not timing issue, but perhaps the system? is in "bad" state?

https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=278228836&repo=try&lineNumber=20380-20391

curious whether rootFrameLoader could be uninitialized because AutoScroll popup was open but wasn't closed in previous test(s)?

Flags: needinfo?(enndeakin)

(In reply to alexander :surkov (:asurkov) from comment #10)

curious whether rootFrameLoader could be uninitialized because AutoScroll popup was open but wasn't closed in previous test(s)?

apparently this is not the issue AutoScroll::START/STOP happens in the failing test only and they go in bundle. It looks the test finishes ok here https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=278414236&repo=try&lineNumber=7421-7453, i.e. I don't see rootFrameLoader related error in this log, but still there is getScreenshot failing, which probably indicates the cause.

Lots of errors tend to get printed like this, but they don't always indicate an issue specific to the changes you are making. The test looks to actually finish ok, but I don't see the actual checks being printed. You might add a call to requestCompleteLog to verify that.

Perhaps the test is calling finish() but then continuing to run something. It might be easier to see what is going on if the test was converted to add_task.

(In reply to Neil Deakin from comment #12)

Lots of errors tend to get printed like this, but they don't always indicate an issue specific to the changes you are making. The test looks to actually finish ok, but I don't see the actual checks being printed. You might add a call to requestCompleteLog to verify that.

will try that, thanks!

Perhaps the test is calling finish() but then continuing to run something. It might be easier to see what is going on if the test was converted to add_task.

sure, will check it out, btw why add_task is preferable?

(In reply to Neil Deakin from comment #12)

Lots of errors tend to get printed like this, but they don't always indicate an issue specific to the changes you are making. The test looks to actually finish ok, but I don't see the actual checks being printed. You might add a call to requestCompleteLog to verify that.

Perhaps the test is calling finish() but then continuing to run something. It might be easier to see what is going on if the test was converted to add_task.

I converted it to add_task (https://hg.mozilla.org/try/rev/f36781d59f01cad1c12b49b0ae8987a8d32e6543), but no checks printed (see for example, https://firefoxci.taskcluster-artifacts.net/KBSW21PNQieFI5kYY3Q_GA/0/public/logs/live_backing.log), until I add requestCompleteLog. Is it a peculiarity of this browser test or is it a bug?

(In reply to alexander :surkov (:asurkov) from comment #14)

(In reply to Neil Deakin from comment #12)

Lots of errors tend to get printed like this, but they don't always indicate an issue specific to the changes you are making. The test looks to actually finish ok, but I don't see the actual checks being printed. You might add a call to requestCompleteLog to verify that.

Perhaps the test is calling finish() but then continuing to run something. It might be easier to see what is going on if the test was converted to add_task.

I converted it to add_task (https://hg.mozilla.org/try/rev/f36781d59f01cad1c12b49b0ae8987a8d32e6543), but no checks printed (see for example, https://firefoxci.taskcluster-artifacts.net/KBSW21PNQieFI5kYY3Q_GA/0/public/logs/live_backing.log), until I add requestCompleteLog. Is it a peculiarity of this browser test or is it a bug?

browser mochitests run in a directory do not print individual assertion messages on infra to reduce log size - unless you add requestCompleteLog. This is expected.

(In reply to :Gijs (he/him) from comment #15)

(In reply to alexander :surkov (:asurkov) from comment #14)

(In reply to Neil Deakin from comment #12)

Lots of errors tend to get printed like this, but they don't always indicate an issue specific to the changes you are making. The test looks to actually finish ok, but I don't see the actual checks being printed. You might add a call to requestCompleteLog to verify that.

Perhaps the test is calling finish() but then continuing to run something. It might be easier to see what is going on if the test was converted to add_task.

I converted it to add_task (https://hg.mozilla.org/try/rev/f36781d59f01cad1c12b49b0ae8987a8d32e6543), but no checks printed (see for example, https://firefoxci.taskcluster-artifacts.net/KBSW21PNQieFI5kYY3Q_GA/0/public/logs/live_backing.log), until I add requestCompleteLog. Is it a peculiarity of this browser test or is it a bug?

browser mochitests run in a directory do not print individual assertion messages on infra to reduce log size - unless you add requestCompleteLog. This is expected.

gotcha

Should I file converted tests as a patch? Is it a good thing to unify it by add_task, right?

(In reply to alexander :surkov (:asurkov) from comment #16)

Should I file converted tests as a patch? Is it a good thing to unify it by add_task, right?

Yes please.

Depends on: 1600116

(In reply to :Gijs (he/him) from comment #17)

(In reply to alexander :surkov (:asurkov) from comment #16)

Should I file converted tests as a patch? Is it a good thing to unify it by add_task, right?

Yes please.

for the record, filed bug 1600116

so few things about failing browser_590563.js:

  1. It triggers AutoScroll, however it doesn't seem that's what the test is for? If so, then should middle click on tabList [1] call event.preventDetault() to stop triggering AutoScroll?
  2. AutoScroll is started after test is finishing ("Leaving test bound" message), but before test is complete (TEST-OK message) [2]. The only difference I can see from the version with no patch applied, is scroll was used to start before "Leaving test bound" message [3]. It doesn't look the diff could cause a problem.
  3. What is the getScreenshot problem about? It is present in all failing tests. Is it related?
    JavaScript Error: "getScreenshot(http://example.com/?window=5) failed: TypeError: NetworkError when attempting to fetch resource." {file: "resource://activity-stream/lib/Screenshots.jsm" line: 59}

[1] https://searchfox.org/mozilla-central/source/browser/components/sessionstore/test/browser_590563.js#67
[2] https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=278655971&repo=try&lineNumber=5282-5297
[3] https://firefoxci.taskcluster-artifacts.net/BGxmMe-5SxyAuk7Z--P2tQ/0/public/logs/live_backing.log

(In reply to alexander :surkov (:asurkov) from comment #19)

so few things about failing browser_590563.js:

  1. It triggers AutoScroll, however it doesn't seem that's what the test is for? If so, then should middle click on tabList [1] call event.preventDetault() to stop triggering AutoScroll?

I would think that could be a solution here. But what happens normally when middle-clicking on links on web pages?

  1. AutoScroll is started after test is finishing ("Leaving test bound" message), but before test is complete (TEST-OK message) [2]. The only difference I can see from the version with no patch applied, is scroll was used to start before "Leaving test bound" message [3]. It doesn't look the diff could cause a problem.

I would guess that the test isn't expecting autoscroll to start. If we decide that cancelling autoscroll while over the tree is the way forward, then no problem here. But if we do want to allow autoscroll, then we could either have the test cancel it or pass events for it to stop. The latter might be preferable so that we test autoscroll on the session restore page.

  1. What is the getScreenshot problem about? It is present in all failing tests. Is it related?
    JavaScript Error: "getScreenshot(http://example.com/?window=5) failed: TypeError: NetworkError when attempting to fetch resource." {file: "resource://activity-stream/lib/Screenshots.jsm" line: 59}

Don't think it is related, but you could look or file a bug about it.

(In reply to Neil Deakin from comment #20)

(In reply to alexander :surkov (:asurkov) from comment #19)

so few things about failing browser_590563.js:

  1. It triggers AutoScroll, however it doesn't seem that's what the test is for? If so, then should middle click on tabList [1] call event.preventDetault() to stop triggering AutoScroll?

I would think that could be a solution here. But what happens normally when middle-clicking on links on web pages?

I just checked on Windows - if you get an about:sessionrestore page with populated items and actually middle click yourself, autoscroll icons do not show up. Note that these aren't links, they're tree items.

For middle clicks on links in general, autoscroll is also not activated.

I don't know off-hand why it would work in practice but break in the test - that'd be where I'd start looking.

Depends on: 1600398

on linux and on windows, focus fails to restore when I close fission enabled window (see https://treeherder.mozilla.org/#/jobs?repo=try&revision=3d7af7e3c0ce4514584d9dee1dded5e656f305a2). Also I tried to wait for window activate (https://treeherder.mozilla.org/#/jobs?repo=try&revision=a2b24f8c01f0a11bea0e7c2dec06be94afe6564c), but it never activates either.

I suppose there's some fission related focus issue. Does anyone has ideas? CC'ing farre for insight.

Flags: needinfo?(afarre)

Neil, do I understand right, that I don't have to explicitly test fission, i.e. I don't have to open a new window with fission set to true in order to check how the code works when fission is on? because browser tests are run in two modes: normal mode and fission mode (M-fis tests)?

Flags: needinfo?(enndeakin)

You need to pass --enable-fission to run the tests in that mode. You don't need to write a test to do both, if that is what you asking. A separate job runs assuming you enable it on try for example. When running the browser manually, you can either set the general preference, or use the recently added menu command to open a window in the right mode.

Flags: needinfo?(enndeakin)
Pushed by asurkov@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/c53bf87f1e5d
support auto scroll in out of process frames r=Gijs

Backed out changeset c53bf87f1e5d (Bug 1597765) for test_login_item.html failures

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&searchStr=os%2Cx%2C10.14%2Cdebug%2Cmochitests%2Cwithout%2Ce10s%2Ctest-macosx1014-64%2Fdebug-mochitest-chrome-1proc&fromchange=9828143912e4c36fa536da5803596d7375d460b3&tochange=fb2a454b4f66d1fdb7eef474605743a7b9ac658c&selectedJob=281832177

Backout link: https://hg.mozilla.org/integration/autoland/rev/fb2a454b4f66d1fdb7eef474605743a7b9ac658c

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=281832177&repo=autoland&lineNumber=1134

[task 2019-12-19T01:09:07.260Z] 01:09:07 INFO - TEST-START | browser/components/aboutlogins/tests/chrome/test_login_item.html
[task 2019-12-19T01:09:07.342Z] 01:09:07 INFO - GECKO(1703) | Couldn't convert chrome URL: chrome://mochitests/tests/SimpleTest/test.css
[task 2019-12-19T01:09:07.344Z] 01:09:07 INFO - GECKO(1703) | Couldn't convert chrome URL: chrome://mochitests/tests/SimpleTest/test.css
[task 2019-12-19T01:09:07.526Z] 01:09:07 INFO - GECKO(1703) | [1703, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/workspace/build/src/layout/base/nsCSSFrameConstructor.cpp, line 8556
[task 2019-12-19T01:09:07.568Z] 01:09:07 INFO - GECKO(1703) | [1703, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/workspace/build/src/layout/base/nsCSSFrameConstructor.cpp, line 8556
[task 2019-12-19T01:09:07.589Z] 01:09:07 INFO - GECKO(1703) | [1703, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/workspace/build/src/layout/base/nsCSSFrameConstructor.cpp, line 8556
[task 2019-12-19T01:09:07.806Z] 01:09:07 INFO - GECKO(1703) | [1703, Main Thread] WARNING: '!mBoundFrame', file /builds/worker/workspace/build/src/dom/html/TextControlState.cpp, line 2396
[task 2019-12-19T01:09:07.917Z] 01:09:07 INFO - GECKO(1703) | [1703, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/workspace/build/src/layout/base/nsCSSFrameConstructor.cpp, line 8556
[task 2019-12-19T01:09:07.917Z] 01:09:07 INFO - GECKO(1703) | [1703, Main Thread] WARNING: '!mBoundFrame', file /builds/worker/workspace/build/src/dom/html/TextControlState.cpp, line 2396
[task 2019-12-19T01:09:07.921Z] 01:09:07 INFO - GECKO(1703) | [1703, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/workspace/build/src/layout/base/nsCSSFrameConstructor.cpp, line 8556
[task 2019-12-19T01:09:07.964Z] 01:09:07 INFO - TEST-INFO | started process screencapture
[task 2019-12-19T01:09:08.089Z] 01:09:08 INFO - TEST-INFO | screencapture: exit 0
[task 2019-12-19T01:09:08.089Z] 01:09:08 INFO - Buffered messages logged at 01:09:07
[task 2019-12-19T01:09:08.092Z] 01:09:08 INFO - add_task | Entering test setup
[task 2019-12-19T01:09:08.093Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | Check some templates found
[task 2019-12-19T01:09:08.093Z] 01:09:08 INFO - add_task | Leaving test setup
[task 2019-12-19T01:09:08.093Z] 01:09:08 INFO - add_task | Entering test test_empty_item
[task 2019-12-19T01:09:08.093Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | loginItem exists
[task 2019-12-19T01:09:08.093Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | origin should be blank
[task 2019-12-19T01:09:08.095Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | username should be blank
[task 2019-12-19T01:09:08.095Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | password should be blank
[task 2019-12-19T01:09:08.095Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | time-created should be blank when undefined
[task 2019-12-19T01:09:08.095Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | time-changed should be blank when undefined
[task 2019-12-19T01:09:08.095Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | time-used should be blank when undefined
[task 2019-12-19T01:09:08.095Z] 01:09:08 INFO - add_task | Leaving test test_empty_item
[task 2019-12-19T01:09:08.095Z] 01:09:08 INFO - add_task | Entering test test_set_login
[task 2019-12-19T01:09:08.095Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | loginItem should not be in 'edit' mode
[task 2019-12-19T01:09:08.100Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | loginItem should not be in 'isNewLogin' mode
[task 2019-12-19T01:09:08.101Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | origin should be populated
[task 2019-12-19T01:09:08.101Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | username should be populated
[task 2019-12-19T01:09:08.101Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | username field should have default placeholder when not editing
[task 2019-12-19T01:09:08.102Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | password should be populated
[task 2019-12-19T01:09:08.102Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | Password shouldn't be exposed in @value
[task 2019-12-19T01:09:08.102Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | time-created should be populated
[task 2019-12-19T01:09:08.102Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | time-changed should be populated
[task 2019-12-19T01:09:08.103Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | time-used should be populated
[task 2019-12-19T01:09:08.103Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | The copy buttons should be visible when viewing a login
[task 2019-12-19T01:09:08.103Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | event should include guid
[task 2019-12-19T01:09:08.103Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | Clicking the .origin-input should dispatch the AboutLoginsOpenSite event
[task 2019-12-19T01:09:08.103Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | event should include guid
[task 2019-12-19T01:09:08.104Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | Middle-clicking the .origin-input should dispatch the AboutLoginsOpenSite event
[task 2019-12-19T01:09:08.105Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | loginItem should not be in 'edit' mode
[task 2019-12-19T01:09:08.105Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | username field should have default placeholder when username is not present and not editing
[task 2019-12-19T01:09:08.105Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | The copy-username-button should be disabled if there is no username
[task 2019-12-19T01:09:08.105Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | there should be no placeholder id on the username input in edit mode
[task 2019-12-19T01:09:08.105Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | there should be no placeholder on the username input in edit mode
[task 2019-12-19T01:09:08.105Z] 01:09:08 INFO - add_task | Leaving test test_set_login
[task 2019-12-19T01:09:08.105Z] 01:09:08 INFO - add_task | Entering test test_update_breaches
[task 2019-12-19T01:09:08.105Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | Breach alert should be visible
[task 2019-12-19T01:09:08.105Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | Breach alert link should be equal to the correspondingBreach.breachAlertURL.
[task 2019-12-19T01:09:08.105Z] 01:09:08 INFO - add_task | Leaving test test_update_breaches
[task 2019-12-19T01:09:08.105Z] 01:09:08 INFO - add_task | Entering test test_breach_alert_is_correctly_hidden
[task 2019-12-19T01:09:08.110Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | Breach alert should not be visible on login without an associated breach.
[task 2019-12-19T01:09:08.111Z] 01:09:08 INFO - add_task | Leaving test test_breach_alert_is_correctly_hidden
[task 2019-12-19T01:09:08.112Z] 01:09:08 INFO - add_task | Entering test test_edit_login
[task 2019-12-19T01:09:08.112Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | loginItem should be in 'edit' mode
[task 2019-12-19T01:09:08.112Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | edit button should be hidden in 'edit' mode
[task 2019-12-19T01:09:08.112Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | loginItem should not be in 'isNewLogin' mode
[task 2019-12-19T01:09:08.113Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | Delete button should be enabled when editing a login
[task 2019-12-19T01:09:08.113Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | origin should be populated
[task 2019-12-19T01:09:08.113Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | username should be populated
[task 2019-12-19T01:09:08.113Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | there should be no placeholder id on the username input in edit mode
[task 2019-12-19T01:09:08.114Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | there should be no placeholder on the username input in edit mode
[task 2019-12-19T01:09:08.114Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | password should be populated
[task 2019-12-19T01:09:08.114Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | time-created should be populated
[task 2019-12-19T01:09:08.114Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | time-changed should be populated
[task 2019-12-19T01:09:08.114Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | time-used should be populated
[task 2019-12-19T01:09:08.115Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | The copy buttons should be hidden when editing a login
[task 2019-12-19T01:09:08.115Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | event should include guid
[task 2019-12-19T01:09:08.115Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | event should include origin
[task 2019-12-19T01:09:08.115Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | event should include new username
[task 2019-12-19T01:09:08.116Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | event should include new password
[task 2019-12-19T01:09:08.116Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | Clicking the .save-changes-button should dispatch the AboutLoginsUpdateLogin event
[task 2019-12-19T01:09:08.116Z] 01:09:08 INFO - add_task | Leaving test test_edit_login
[task 2019-12-19T01:09:08.120Z] 01:09:08 INFO - add_task | Entering test test_edit_login_cancel
[task 2019-12-19T01:09:08.120Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | loginItem should be in 'edit' mode
[task 2019-12-19T01:09:08.120Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | loginItem should not be in 'isNewLogin' mode
[task 2019-12-19T01:09:08.121Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | loginItem should not be in 'edit' mode
[task 2019-12-19T01:09:08.121Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | loginItem should not be in 'isNewLogin' mode
[task 2019-12-19T01:09:08.121Z] 01:09:08 INFO - add_task | Leaving test test_edit_login_cancel
[task 2019-12-19T01:09:08.121Z] 01:09:08 INFO - add_task | Entering test test_reveal_password_change_selected_login
[task 2019-12-19T01:09:08.121Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | reveal-checkbox should not be checked by default
[task 2019-12-19T01:09:08.121Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | Password should be masked by default
[task 2019-12-19T01:09:08.121Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | reveal-checkbox should be checked after clicking
[task 2019-12-19T01:09:08.122Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | Password should be unmasked when checkbox is clicked
[task 2019-12-19T01:09:08.122Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | reveal-checkbox should remain checked when entering 'edit' mode
[task 2019-12-19T01:09:08.122Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | reveal-checkbox should be unchecked after canceling 'edit' mode
[task 2019-12-19T01:09:08.122Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | reveal-checkbox should be unchecked when changing logins
[task 2019-12-19T01:09:08.122Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | Password should be masked by default when switching logins
[task 2019-12-19T01:09:08.127Z] 01:09:08 INFO - add_task | Leaving test test_reveal_password_change_selected_login
[task 2019-12-19T01:09:08.127Z] 01:09:08 INFO - add_task | Entering test test_set_login_empty
[task 2019-12-19T01:09:08.127Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | loginItem should be in 'edit' mode
[task 2019-12-19T01:09:08.127Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | edit button should be hidden in 'edit' mode
[task 2019-12-19T01:09:08.128Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | loginItem should be in 'isNewLogin' mode
[task 2019-12-19T01:09:08.128Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | Delete button should be disabled when creating a login
[task 2019-12-19T01:09:08.128Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | origin should be empty
[task 2019-12-19T01:09:08.128Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | username should be empty
[task 2019-12-19T01:09:08.128Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | password should be empty
[task 2019-12-19T01:09:08.128Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | Password shouldn't be exposed in @value
[task 2019-12-19T01:09:08.129Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | time-created should be blank when undefined
[task 2019-12-19T01:09:08.129Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | time-changed should be blank when undefined
[task 2019-12-19T01:09:08.129Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | time-used should be blank when undefined
[task 2019-12-19T01:09:08.129Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | The copy buttons should be hidden when creating a login
[task 2019-12-19T01:09:08.129Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | Clicking the .save-changes-button shouldn't dispatch the event when fields are invalid
[task 2019-12-19T01:09:08.129Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | origin value is required
[task 2019-12-19T01:09:08.129Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | origin input should be blank at start
[task 2019-12-19T01:09:08.129Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | origin input should have https:// prefix when not provided by user
[task 2019-12-19T01:09:08.130Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | origin input should have https:// prefix when not provided by user
[task 2019-12-19T01:09:08.130Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | origin input should have https:// prefix when not provided by user
[task 2019-12-19T01:09:08.130Z] 01:09:08 INFO - Buffered messages finished
[task 2019-12-19T01:09:08.130Z] 01:09:08 INFO - TEST-UNEXPECTED-FAIL | browser/components/aboutlogins/tests/chrome/test_login_item.html | origin input should have https:// prefix when not provided by user - got "www.example.com/bar", expected "https://www.example.com/bar"
[task 2019-12-19T01:09:08.130Z] 01:09:08 INFO - SimpleTest.is@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:325:16
[task 2019-12-19T01:09:08.130Z] 01:09:08 INFO - test_set_login_empty@chrome://mochitests/content/chrome/browser/components/aboutlogins/tests/chrome/test_login_item.html:290:7
[task 2019-12-19T01:09:08.130Z] 01:09:08 INFO - asyncnextTick/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1800:34
[task 2019-12-19T01:09:08.130Z] 01:09:08 INFO - async
nextTick@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1816:11
[task 2019-12-19T01:09:08.130Z] 01:09:08 INFO - setTimeout handlerSimpleTest_setTimeoutShim@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:689:43
[task 2019-12-19T01:09:08.130Z] 01:09:08 INFO - add_task@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1760:17
[task 2019-12-19T01:09:08.130Z] 01:09:08 INFO - @chrome://mochitests/content/chrome/browser/components/aboutlogins/tests/chrome/test_login_item.html:58:9
[task 2019-12-19T01:09:08.131Z] 01:09:08 INFO - Not taking screenshot here: see the one that was previously logged
[task 2019-12-19T01:09:08.131Z] 01:09:08 INFO - TEST-UNEXPECTED-FAIL | browser/components/aboutlogins/tests/chrome/test_login_item.html | origin input should have https:// prefix when not provided by user - got "example.com/foo", expected "https://example.com/foo"
[task 2019-12-19T01:09:08.131Z] 01:09:08 INFO - SimpleTest.is@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:325:16
[task 2019-12-19T01:09:08.131Z] 01:09:08 INFO - test_set_login_empty@chrome://mochitests/content/chrome/browser/components/aboutlogins/tests/chrome/test_login_item.html:290:7
[task 2019-12-19T01:09:08.131Z] 01:09:08 INFO - async
nextTick/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1800:34
[task 2019-12-19T01:09:08.131Z] 01:09:08 INFO - asyncnextTick@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1816:11
[task 2019-12-19T01:09:08.131Z] 01:09:08 INFO - setTimeout handler
SimpleTest_setTimeoutShim@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:689:43
[task 2019-12-19T01:09:08.131Z] 01:09:08 INFO - add_task@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1760:17
[task 2019-12-19T01:09:08.131Z] 01:09:08 INFO - @chrome://mochitests/content/chrome/browser/components/aboutlogins/tests/chrome/test_login_item.html:58:9
[task 2019-12-19T01:09:08.131Z] 01:09:08 INFO - Not taking screenshot here: see the one that was previously logged
[task 2019-12-19T01:09:08.132Z] 01:09:08 INFO - TEST-UNEXPECTED-FAIL | browser/components/aboutlogins/tests/chrome/test_login_item.html | Clicking the .save-changes-button should dispatch the AboutLoginsCreateLogin event
[task 2019-12-19T01:09:08.132Z] 01:09:08 INFO - SimpleTest.ok@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:277:18
[task 2019-12-19T01:09:08.132Z] 01:09:08 INFO - test_set_login_empty@chrome://mochitests/content/chrome/browser/components/aboutlogins/tests/chrome/test_login_item.html:307:5
[task 2019-12-19T01:09:08.132Z] 01:09:08 INFO - asyncnextTick/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1800:34
[task 2019-12-19T01:09:08.132Z] 01:09:08 INFO - async
nextTick@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1816:11
[task 2019-12-19T01:09:08.132Z] 01:09:08 INFO - setTimeout handler*SimpleTest_setTimeoutShim@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:689:43
[task 2019-12-19T01:09:08.132Z] 01:09:08 INFO - add_task@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1760:17
[task 2019-12-19T01:09:08.132Z] 01:09:08 INFO - @chrome://mochitests/content/chrome/browser/components/aboutlogins/tests/chrome/test_login_item.html:58:9
[task 2019-12-19T01:09:08.132Z] 01:09:08 INFO - add_task | Leaving test test_set_login_empty
[task 2019-12-19T01:09:08.132Z] 01:09:08 INFO - add_task | Entering test test_different_login_modified
[task 2019-12-19T01:09:08.132Z] 01:09:08 INFO - GECKO(1703) | [1703, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/workspace/build/src/layout/base/nsCSSFrameConstructor.cpp, line 8556
[task 2019-12-19T01:09:08.138Z] 01:09:08 INFO - GECKO(1703) | [1703, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/workspace/build/src/layout/base/nsCSSFrameConstructor.cpp, line 8556
[task 2019-12-19T01:09:08.138Z] 01:09:08 INFO - GECKO(1703) | [1703, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/workspace/build/src/layout/base/nsCSSFrameConstructor.cpp, line 8556
[task 2019-12-19T01:09:08.138Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | origin should be unchanged
[task 2019-12-19T01:09:08.138Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | username should be unchanged
[task 2019-12-19T01:09:08.138Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | password should be unchanged
[task 2019-12-19T01:09:08.139Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | Password shouldn't be exposed in @value
[task 2019-12-19T01:09:08.139Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | time-created should be unchanged
[task 2019-12-19T01:09:08.139Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | time-changed should be unchanged
[task 2019-12-19T01:09:08.139Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | time-used should be unchanged
[task 2019-12-19T01:09:08.139Z] 01:09:08 INFO - add_task | Leaving test test_different_login_modified
[task 2019-12-19T01:09:08.139Z] 01:09:08 INFO - add_task | Entering test test_different_login_removed
[task 2019-12-19T01:09:08.140Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | origin should be unchanged
[task 2019-12-19T01:09:08.140Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | username should be unchanged
[task 2019-12-19T01:09:08.140Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | password should be unchanged
[task 2019-12-19T01:09:08.140Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | Password shouldn't be exposed in @value
[task 2019-12-19T01:09:08.140Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | time-created should be unchanged
[task 2019-12-19T01:09:08.140Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | time-changed should be unchanged
[task 2019-12-19T01:09:08.140Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | time-used should be unchanged
[task 2019-12-19T01:09:08.141Z] 01:09:08 INFO - add_task | Leaving test test_different_login_removed
[task 2019-12-19T01:09:08.141Z] 01:09:08 INFO - add_task | Entering test test_login_modified
[task 2019-12-19T01:09:08.141Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | origin should be updated
[task 2019-12-19T01:09:08.141Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | username should be updated
[task 2019-12-19T01:09:08.141Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | password should be updated
[task 2019-12-19T01:09:08.141Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | Password shouldn't be exposed in @value
[task 2019-12-19T01:09:08.141Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | time-created should be updated
[task 2019-12-19T01:09:08.142Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | time-changed should be updated
[task 2019-12-19T01:09:08.142Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | time-used should be updated
[task 2019-12-19T01:09:08.142Z] 01:09:08 INFO - add_task | Leaving test test_login_modified
[task 2019-12-19T01:09:08.142Z] 01:09:08 INFO - add_task | Entering test test_login_removed
[task 2019-12-19T01:09:08.142Z] 01:09:08 INFO - GECKO(1703) | [1703, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/workspace/build/src/layout/base/nsCSSFrameConstructor.cpp, line 8556
[task 2019-12-19T01:09:08.142Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | origin should be cleared
[task 2019-12-19T01:09:08.142Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | username should be cleared
[task 2019-12-19T01:09:08.143Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | password should be cleared
[task 2019-12-19T01:09:08.143Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | Password shouldn't be exposed in @value
[task 2019-12-19T01:09:08.143Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | time-created should be blank when undefined
[task 2019-12-19T01:09:08.143Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | time-changed should be blank when undefined
[task 2019-12-19T01:09:08.143Z] 01:09:08 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_login_item.html | time-used should be blank when undefined
[task 2019-12-19T01:09:08.143Z] 01:09:08 INFO - add_task | Leaving test test_login_removed
[task 2019-12-19T01:09:08.143Z] 01:09:08 INFO - GECKO(1703) | MEMORY STAT | vsize 7620MB | residentFast 388MB | heapAllocated 147MB
[task 2019-12-19T01:09:08.144Z] 01:09:08 INFO - GECKO(1703) | [1703, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/workspace/build/src/layout/base/nsCSSFrameConstructor.cpp, line 8556
[task 2019-12-19T01:09:08.147Z] 01:09:08 INFO - GECKO(1703) | [1703, Main Thread] WARNING: '!aContent->GetComposedDoc()', file /builds/worker/workspace/build/src/layout/base/nsCSSFrameConstructor.cpp, line 8556
[task 2019-12-19T01:09:08.147Z] 01:09:08 INFO - TEST-OK | browser/components/aboutlogins/tests/chrome/test_login_item.html | took 836ms

Flags: needinfo?(surkov.alexander)

so the problem here is test_login_item.html initiates autoscrolling when input element is middle clicked [1], and autoscrolling interferes with the test run. AutoScroll obviously shouldn't be initiated, because it is ignored on inputs, but since that input lives inside shadow DOM, then event.originalTarget is a custom element (which is a div containing that input).

[1] https://searchfox.org/mozilla-central/source/browser/components/aboutlogins/tests/chrome/test_login_item.html#115

Flags: needinfo?(surkov.alexander)
Depends on: 1605178
Pushed by asurkov@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2c56e1bfbff9
support auto scroll in out of process frames r=Gijs
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 73
Regressions: 1606108
Regressions: 1607759
Regressions: 1607927
Flags: needinfo?(afarre)
Regressions: 1672784
You need to log in before you can comment on or make changes to this bug.