support auto scroll in out of process frames
Categories
(Firefox :: General, task, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox73 | --- | fixed |
People
(Reporter: surkov, Assigned: surkov)
References
(Blocks 1 open bug, 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
Comment 1•4 years ago
|
||
- 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.
Comment 2•4 years ago
|
||
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.
Updated•4 years ago
|
Assignee | ||
Comment 3•4 years ago
|
||
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
Comment 4•4 years ago
|
||
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.
Assignee | ||
Comment 5•4 years ago
|
||
Assignee | ||
Comment 6•4 years ago
|
||
Assignee | ||
Comment 7•4 years ago
|
||
Updated•4 years ago
|
Updated•4 years ago
|
Assignee | ||
Comment 8•4 years ago
|
||
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
Assignee | ||
Comment 9•4 years ago
|
||
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 - asyncrefresh@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
Assignee | ||
Comment 10•4 years ago
|
||
curious whether rootFrameLoader could be uninitialized because AutoScroll popup was open but wasn't closed in previous test(s)?
Updated•4 years ago
|
Assignee | ||
Comment 11•4 years ago
|
||
(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.
Comment 12•4 years ago
|
||
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.
Assignee | ||
Comment 13•4 years ago
|
||
(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?
Assignee | ||
Comment 14•4 years ago
|
||
(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?
Comment 15•4 years ago
|
||
(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.
Assignee | ||
Comment 16•4 years ago
|
||
(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?
Comment 17•4 years ago
|
||
(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.
Assignee | ||
Comment 18•4 years ago
|
||
(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
Assignee | ||
Comment 19•4 years ago
|
||
so few things about failing browser_590563.js:
- 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?
- 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.
- 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
Comment 20•4 years ago
|
||
(In reply to alexander :surkov (:asurkov) from comment #19)
so few things about failing browser_590563.js:
- 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?
- 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.
- 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.
Comment 21•4 years ago
|
||
(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:
- 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.
Assignee | ||
Comment 22•4 years ago
|
||
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.
Assignee | ||
Comment 23•4 years ago
|
||
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)?
Comment 24•4 years ago
|
||
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.
Comment 25•4 years ago
|
||
Pushed by asurkov@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c53bf87f1e5d support auto scroll in out of process frames r=Gijs
Comment 26•4 years ago
|
||
Backed out changeset c53bf87f1e5d (Bug 1597765) for test_login_item.html failures
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 - asyncnextTick@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 - asyncnextTick/<@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 handlerSimpleTest_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 - asyncnextTick@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
Assignee | ||
Comment 27•4 years ago
|
||
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).
Comment 28•4 years ago
|
||
Pushed by asurkov@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/2c56e1bfbff9 support auto scroll in out of process frames r=Gijs
Comment 29•4 years ago
|
||
bugherder |
Updated•3 years ago
|
Description
•