Closed Bug 1406024 Opened 7 years ago Closed 7 years ago

GeckoView - Date-time/ color pickers don't open in Custom Tab/PWA if Fennec is already running

Categories

(GeckoView :: General, defect, P2)

ARM
Android
defect

Tracking

(firefox58 verified)

VERIFIED FIXED
mozilla58
Tracking Status
firefox58 --- verified

People

(Reporter: ohorvath, Assigned: esawin)

References

Details

(Whiteboard: [pwa-front-end])

Attachments

(2 files)

Devices: Huawei Nexus 6P (Android 8.0) Samsung Galaxy Note 4 (Android 5.0.1) Build: Nightly 58.0a1 (2017-10-5); Steps to reproduce: 1. Install https://daleharvey.github.io/testapp/ as pwa. 2. Tap the date/time and color pickers from the page. Expected result: The calendar & color picker should open. Actual result: Date/time & color pickers don't work.
this page works with geckoview in custom tabs but does not work in geckoview PWA standalone mode. any idea? :snorp?
Flags: needinfo?(snorp)
Priority: -- → P2
Whiteboard: [pwa-front-end]
Eugen, can we do whatever we're doing for Custom Tabs here?
Assignee: nobody → esawin
Flags: needinfo?(snorp) → needinfo?(esawin)
WFM on a current nightly build (see attached screenshot). Test Setup: * Samsung Galaxy SII (GT-I9100) * LineageOS 14.1 (Android 7.1.2) (2017-10-18) * Mozilla Firefox for Android v58 (2017-10-21) Am I doing something wrong or is it possible this got fixed recently?
Testing with http://www.456bereastreet.com/lab/html5-input-types/ in a Custom Tab, the pickers aren't appearing if Fennec is already running when the Custom Tab (or presumably also a PWA) is opened.
Thanks, Jan, that is indeed what is happening due to Fennec's tab-based prompt handling. I'm working on a patch for this.
Flags: needinfo?(esawin)
Sorry for the lack of a bug description. When a tab ID is passed to Prompt.show on the Java side, it verifies it against the selected tab in Fennec, which fails for GeckoView-triggered prompts.
Comment on attachment 8921536 [details] [diff] [review] 0001-Bug-1406024-1.0-Only-pass-tab-id-for-Fennec-prompts..patch Can we make GeckoView return INVALID_TAB_ID (-1) for its "tab" ID? Does WebExtension work with that? I'm concerned that this is not the only case where the stub tab's ID of 0 causes problems elsewhere.
Attachment #8921536 - Flags: review?(nchen) → feedback+
(In reply to Jim Chen [:jchen] [:darchons] from comment #10) > Comment on attachment 8921536 [details] [diff] [review] > 0001-Bug-1406024-1.0-Only-pass-tab-id-for-Fennec-prompts..patch > > Can we make GeckoView return INVALID_TAB_ID (-1) for its "tab" ID? Does > WebExtension work with that? I'm concerned that this is not the only case > where the stub tab's ID of 0 causes problems elsewhere. Returning INVALID_TAB_ID would require platform changes to support WebExtensions. I think it is a safer route to keep the assumption that every content window has a valid tab throughout platform code and remove the assumption that every tab is a Fennec tab in Fennec code.
Comment on attachment 8921536 [details] [diff] [review] 0001-Bug-1406024-1.0-Only-pass-tab-id-for-Fennec-prompts..patch (In reply to Eugen Sawin [:esawin] from comment #11) > (In reply to Jim Chen [:jchen] [:darchons] from comment #10) > > Comment on attachment 8921536 [details] [diff] [review] > > 0001-Bug-1406024-1.0-Only-pass-tab-id-for-Fennec-prompts..patch > > > Returning INVALID_TAB_ID would require platform changes to support > WebExtensions. > I think it is a safer route to keep the assumption that every content window > has a valid tab throughout platform code and remove the assumption that > every tab is a Fennec tab in Fennec code. Only Fennec code cares about the tab ID value right? Does platform code care what value the tab ID is? Does WebExtensions care whether GeckoView's tab ID is 0 (current value) or -1?
Attachment #8921536 - Flags: review+
(In reply to Jim Chen [:jchen] [:darchons] from comment #12) > Only Fennec code cares about the tab ID value right? Does platform code care > what value the tab ID is? Does WebExtensions care whether GeckoView's tab ID > is 0 (current value) or -1? WebExtensions and I think also devtools code cares about the actual tab ID, which is the reason I had chosen to provide a "valid" 0-ID for GeckoView windows. Long-term, with more Fennec code moving to GeckoView-based implementations, I think breaking tab-related assumptions on the Fennec side is the safer route. [We would also keep actual tab support within GeckoView a viable option, although that's currently a bit far-fetched given the architecture.]
Pushed by esawin@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/a7656d87112b [1.0] Only pass tab id for Fennec prompts. r=jchen
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 58
Verified as fixed on Nightly (2017-10-26). Devices: Samsung Galaxy S8 (Android 7.0) Oneplus Two (Android 6.0.1) Samsung Galaxy Note 4 (Android 5.0.1)
Status: RESOLVED → VERIFIED
Product: Firefox for Android → GeckoView
Target Milestone: Firefox 58 → mozilla58
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: