[DateTimePicker] Make DateTimePicker Fission-aware

NEW
Unassigned

Status

()

enhancement
P3
normal
7 months ago
3 months ago

People

(Reporter: Felipe, Unassigned)

Tracking

(Blocks 1 bug)

Trunk
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Fission Milestone:Future, firefox64 affected)

Details

Attachments

(1 attachment)

(Reporter)

Description

7 months ago
The DateTimePickerParent should be able to directly communicate with the DateTimePickerChild related to the subframe where the MozOpenDateTimePicker event happened
(Reporter)

Comment 1

7 months ago
By using the API from bug 1493984 and setting allFrames=true we can establish a direct communication between the actor in the subframe and the DateTimePickerParent.
(Reporter)

Comment 2

7 months ago
I chose the DateTimePicker as a proof of concept since it's a simple case. This demonstrates how the changes from bug 1490810 and bug 1493984 can be used to fix code to be more future-proof for Fission.

These changes don't break the normal operation of the DateTimePicker, but it now works properly with browser.fission.simulate=true too

Updated

7 months ago
Priority: -- → P3

Comment 3

6 months ago
Pushed by fgomes@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/7005723d76c7
Make the DateTimePicker Fission-aware. r=mconley
Backed out for failing mochitest and bc

Push that started the failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=7005723d76c7d3215255c75f6eddedf627b153a1

Failure logs:

mochitest: https://treeherder.mozilla.org/logviewer.html#?job_id=209255627&repo=autoland&lineNumber=7452

[task 2018-11-01T19:56:14.383Z] 19:56:14     INFO - TEST-START | dom/indexedDB/test/test_event_listener_leaks.html
[task 2018-11-01T19:56:14.644Z] 19:56:14     INFO - TEST-INFO | started process screentopng
[task 2018-11-01T19:56:15.503Z] 19:56:15     INFO - TEST-INFO | screentopng: exit 0
[task 2018-11-01T19:56:15.505Z] 19:56:15     INFO - Buffered messages logged at 19:56:14
[task 2018-11-01T19:56:15.506Z] 19:56:15     INFO - TEST-PASS | dom/indexedDB/test/test_event_listener_leaks.html | should be able to create a weak reference - IDB default 
[task 2018-11-01T19:56:15.507Z] 19:56:15     INFO - Buffered messages finished
[task 2018-11-01T19:56:15.509Z] 19:56:15     INFO - TEST-UNEXPECTED-FAIL | dom/indexedDB/test/test_event_listener_leaks.html | iframe content window should be garbage collected - IDB default 
[task 2018-11-01T19:56:15.510Z] 19:56:15     INFO -     SimpleTest.ok@SimpleTest/SimpleTest.js:275:7
[task 2018-11-01T19:56:15.513Z] 19:56:15     INFO -     _eventListenerLeakStep@dom/events/test/event_leak_utils.js:80:3
[task 2018-11-01T19:56:15.515Z] 19:56:15     INFO -     async*checkForEventListenerLeaks@dom/events/test/event_leak_utils.js:23:9
[task 2018-11-01T19:56:15.516Z] 19:56:15     INFO -     async*runTest@dom/indexedDB/test/test_event_listener_leaks.html:50:11
[task 2018-11-01T19:56:15.517Z] 19:56:15     INFO -     EventListener.handleEvent*@dom/indexedDB/test/test_event_listener_leaks.html:59:1
[task 2018-11-01T19:56:15.518Z] 19:56:15     INFO - TEST-PASS | dom/indexedDB/test/test_event_listener_leaks.html | should be able to create a weak reference - IDB bfcache 
[task 2018-11-01T19:56:15.519Z] 19:56:15     INFO - TEST-PASS | dom/indexedDB/test/test_event_listener_leaks.html | iframe content window should be garbage collected - IDB bfcache 
[task 2018-11-01T19:56:15.520Z] 19:56:15     INFO - TEST-PASS | dom/indexedDB/test/test_event_listener_leaks.html | should be able to create a weak reference - IDB document.open() 
[task 2018-11-01T19:56:15.521Z] 19:56:15     INFO - Not taking screenshot here: see the one that was previously logged
[task 2018-11-01T19:56:15.522Z] 19:56:15     INFO - TEST-UNEXPECTED-FAIL | dom/indexedDB/test/test_event_listener_leaks.html | iframe content window should be garbage collected - IDB document.open() 
[task 2018-11-01T19:56:15.524Z] 19:56:15     INFO -     SimpleTest.ok@SimpleTest/SimpleTest.js:275:7
[task 2018-11-01T19:56:15.526Z] 19:56:15     INFO -     _eventListenerLeakStep@dom/events/test/event_leak_utils.js:80:3
[task 2018-11-01T19:56:15.527Z] 19:56:15     INFO -     async*checkForEventListenerLeaks@dom/events/test/event_leak_utils.js:36:9
[task 2018-11-01T19:56:15.529Z] 19:56:15     INFO -     async*runTest@dom/indexedDB/test/test_event_listener_leaks.html:50:11
[task 2018-11-01T19:56:15.530Z] 19:56:15     INFO -     EventListener.handleEvent*@dom/indexedDB/test/test_event_listener_leaks.html:59:1
[task 2018-11-01T19:56:15.531Z] 19:56:15     INFO - GECKO(4269) | MEMORY STAT | vsize 1472MB | residentFast 117MB | heapAllocated 13MB
[task 2018-11-01T19:56:15.532Z] 19:56:15     INFO - TEST-OK | dom/indexedDB/test/test_event_listener_leaks.html | took 680ms

BC: https://treeherder.mozilla.org/logviewer.html#?job_id=209262433&repo=autoland&lineNumber=7558

3:31:59     INFO - TEST-START | toolkit/content/tests/browser/browser_datetime_datepicker.js
13:32:44     INFO - TEST-INFO | started process screencapture
13:32:44     INFO - TEST-INFO | screencapture: exit 0
13:32:44     INFO - Buffered messages logged at 13:31:59
13:32:44     INFO - Entering test bound test_datepicker_today
13:32:44     INFO - Console message: [JavaScript Error: "The character encoding of the HTML document was not declared. The document will render with garbled text in some browser configurations if the document contains characters from outside the US-ASCII range. The character encoding of the page must be declared in the document or in the transfer protocol." {file: "data:text/html, <input type='date'>" line: 0}]
13:32:44     INFO - Buffered messages finished
13:32:44     INFO - TEST-UNEXPECTED-FAIL | toolkit/content/tests/browser/browser_datetime_datepicker.js | Test timed out - 
13:32:44     INFO - Not taking screenshot here: see the one that was previously logged
13:32:44     INFO - TEST-UNEXPECTED-FAIL | toolkit/content/tests/browser/browser_datetime_datepicker.js | Cleanup function threw an exception - at chrome://mochitests/content/browser/toolkit/content/tests/browser/head.js:221 - TypeError: this.frame is null; can't access its "remove" property
13:32:44     INFO - GECKO(1234) | MEMORY STAT | vsize 4464MB | residentFast 366MB | heapAllocated 99MB
13:32:44     INFO - TEST-OK | toolkit/content/tests/browser/browser_datetime_datepicker.js | took 45058ms
13:32:44     INFO - Not taking screenshot here: see the one that was previously logged
13:32:44     INFO - TEST-UNEXPECTED-FAIL | toolkit/content/tests/browser/browser_datetime_datepicker.js | Found a tab after previous test timed out: data:text/html, <input type='date'> - 
13:32:44     INFO - checking window state

Backout: https://hg.mozilla.org/integration/autoland/rev/37545337e03d38cb4f545c14d99550d110c15376
Flags: needinfo?(felipc)
(Reporter)

Updated

6 months ago
(Reporter)

Comment 5

5 months ago
(I'll look at what caused the failure when I get back to this bug)
Flags: needinfo?(felipc)
(Reporter)

Comment 6

3 months ago

Unassigning for now as this is for a future milestone

Assignee: felipc → nobody
Status: ASSIGNED → NEW

Updated

3 months ago
Fission Milestone: --- → Future
You need to log in before you can comment on or make changes to this bug.