Closed Bug 1285965 Opened 8 years ago Closed 8 years ago

[e10s-multi] Browser:FocusChanged event order seems to be off with multiple content processes

Categories

(Core :: DOM: Content Processes, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla51
Tracking Status
firefox51 --- fixed

People

(Reporter: gkrizsanits, Assigned: gkrizsanits)

References

Details

(Whiteboard: [e10s-multi:M1])

Attachments

(1 file)

Not sure yet if it's a bug in the test or an actual bug.

With multiple content processes running browser/base/content/test/general/browser_tabfocus.js I get:

208 INFO TEST-UNEXPECTED-FAIL | browser/base/content/test/general/browser_tabfocus.js | after tab change, focus in original tab events [event 3] - Got focus: window1-document, expected blur: window2-window
Stack trace:
chrome://mochikit/content/browser-test.js:test_is:967
chrome://mochitests/content/browser/browser/base/content/test/general/browser_tabfocus.js:compareFocusResults:436
chrome://mochitests/content/browser/browser/base/content/test/general/browser_tabfocus.js:null:137
209 INFO TEST-UNEXPECTED-FAIL | browser/base/content/test/general/browser_tabfocus.js | after tab change, focus in original tab events [event 4] - Got blur: window2-window, expected focus: window1-document
Stack trace:
chrome://mochikit/content/browser-test.js:test_is:967
chrome://mochitests/content/browser/browser/base/content/test/general/browser_tabfocus.js:compareFocusResults:436
chrome://mochitests/content/browser/browser/base/content/test/general/browser_tabfocus.js:null:137
210 INFO TEST-UNEXPECTED-FAIL | browser/base/content/test/general/browser_tabfocus.js | after tab change with button focused events [event 3] - Got focus: window2-document, expected blur: window1-document
Stack trace:
chrome://mochikit/content/browser-test.js:test_is:967
chrome://mochitests/content/browser/browser/base/content/test/general/browser_tabfocus.js:compareFocusResults:436
chrome://mochitests/content/browser/browser/base/content/test/general/browser_tabfocus.js:null:137
211 INFO TEST-UNEXPECTED-FAIL | browser/base/content/test/general/browser_tabfocus.js | after tab change with button focused events [event 4] - Got blur: window1-document, expected blur: window1-window
Stack trace:
chrome://mochikit/content/browser-test.js:test_is:967
chrome://mochitests/content/browser/browser/base/content/test/general/browser_tabfocus.js:compareFocusResults:436
chrome://mochitests/content/browser/browser/base/content/test/general/browser_tabfocus.js:null:137
212 INFO TEST-UNEXPECTED-FAIL | browser/base/content/test/general/browser_tabfocus.js | after tab change with button focused events [event 5] - Got focus: window2-window, expected focus: window2-document
Stack trace:
chrome://mochikit/content/browser-test.js:test_is:967
chrome://mochitests/content/browser/browser/base/content/test/general/browser_tabfocus.js:compareFocusResults:436
chrome://mochitests/content/browser/browser/base/content/test/general/browser_tabfocus.js:null:137
213 INFO TEST-UNEXPECTED-FAIL | browser/base/content/test/general/browser_tabfocus.js | after tab change with button focused events [event 6] - Got blur: window1-window, expected focus: window2-window
Stack trace:
chrome://mochikit/content/browser-test.js:test_is:967
chrome://mochitests/content/browser/browser/base/content/test/general/browser_tabfocus.js:compareFocusResults:436
chrome://mochitests/content/browser/browser/base/content/test/general/browser_tabfocus.js:null:137
214 INFO TEST-UNEXPECTED-FAIL | browser/base/content/test/general/browser_tabfocus.js | after switch from unfocused to focused tab events [event 3] - Got focus: window2-document, expected blur: window1-window
Stack trace:
chrome://mochikit/content/browser-test.js:test_is:967
chrome://mochitests/content/browser/browser/base/content/test/general/browser_tabfocus.js:compareFocusResults:436
chrome://mochitests/content/browser/browser/base/content/test/general/browser_tabfocus.js:null:137
215 INFO TEST-UNEXPECTED-FAIL | browser/base/content/test/general/browser_tabfocus.js | after switch from unfocused to focused tab events [event 4] - Got blur: window1-window, expected focus: window2-document
Stack trace:
chrome://mochikit/content/browser-test.js:test_is:967
chrome://mochitests/content/browser/browser/base/content/test/general/browser_tabfocus.js:compareFocusResults:436
chrome://mochitests/content/browser/browser/base/content/test/general/browser_tabfocus.js:null:137
SUITE-END | took 65s
Blocks: e10s-multi
Whiteboard: [e10s-multi:M?]
Please do not track e10s-multi bugs for e10s, they are separate projects.
Flags: needinfo?(emil.pasca)
Thank you for the heads up, I will keep that in mind in the future.
Flags: needinfo?(emil.pasca)
tracking-e10s: ? → ---
Whiteboard: [e10s-multi:M?] → [e10s-multi:M1]
It looks like the test assumes some order of events from different tabs that I don't think it should even after Bug 1131562. I'll try to fix it.
Assignee: nobody → gkrizsanits
So the idea is that I group the events per main window (so basically per process in an e10s-multi setup) since I don't think we can/should enforce the order of events from different processes.
Attachment #8773714 - Flags: review?(enndeakin)
Comment on attachment 8773714 [details] [diff] [review]
fixing tab focus test for e10s-multi. v1

># HG changeset patch
># Parent  0fbdcd21fad76a00328e67875c6f40dc219235f4
>Bug 1285965 - fixing tab focus test for e10s-multi
>
>diff --git a/browser/base/content/test/general/browser_tabfocus.js b/browser/base/content/test/general/browser_tabfocus.js
>--- a/browser/base/content/test/general/browser_tabfocus.js
>+++ b/browser/base/content/test/general/browser_tabfocus.js
>@@ -3,24 +3,42 @@
>  */
> 
> var testPage1 = "<html id='html1'><body id='body1'><button id='button1'>Tab 1</button></body></html>";
> var testPage2 = "<html id='html2'><body id='body2'><button id='button2'>Tab 2</button></body></html>";
> var testPage3 = "<html id='html3'><body id='body3'><button id='button3'>Tab 3</button></body></html>";
> 
> const fm = Services.focus;
> 
>+function EventStore() {
>+  this["main-window"] = [];
>+  this["window1"] = [];
>+  this["window2"] = [];
>+};
>+
>+EventStore.prototype = {
>+  "push": function (event) {
>+    if (event.indexOf("1") > -1) {
>+      this["window1"].push(event);
>+    } else if (event.indexOf("2") > -1) {
>+      this["window2"].push(event);
>+    } else {
>+      this["main-window"].push(event);
>+    }
>+  }
>+}

This seems an unusual way to write this but for a test this is ok.
Attachment #8773714 - Flags: review?(enndeakin) → review+
Pushed by gkrizsanits@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/67145a6af3ee
Fixing tab focus test for e10s-multi. r=enndeakin
https://hg.mozilla.org/mozilla-central/rev/67145a6af3ee
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla51
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: