Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: Add a way to open programmatically a date picker #6909

Closed
beaufortfrancois opened this issue Jul 28, 2021 · 47 comments · Fixed by #7319
Closed

Proposal: Add a way to open programmatically a date picker #6909

beaufortfrancois opened this issue Jul 28, 2021 · 47 comments · Fixed by #7319
Labels
addition/proposal New features or enhancements needs implementer interest Moving the issue forward requires implementers to express interest topic: forms

Comments

@beaufortfrancois
Copy link

beaufortfrancois commented Jul 28, 2021

Background:

Developers have been asking for years for a way to programmatically open a browser date picker. See https://www.google.com/search?q=programmatically+open+date+picker+site:stackoverflow.com
Because of that, they had to rely on custom widget libraries and CSS hacks for specific browsers.

Date pickers in Chrome Desktop, Chrome Mobile, Safari Desktop, Safari Mobile, and Firefox Desktop (July 2021).

Proposal

A new showPicker() method to the HTMLInputElement interface would show a browser picker (if supported) for
<input type="date">, <input type="month">, <input type="week">, <input type="datetime-local">, and <input type="time"> HTML elements . This method is handy, easy to use, and friendly to discover.

As it's already possible to listen tochange events to know when the HTML element value changes, I believe it's OK to make this method synchronous.

Example usage

// Show a date picker
const inputDateElement = document.querySelector('input[type="date"]');
inputDateElement.showPicker();

Feature detection

if ("showPicker" in HTMLInputElement.prototype) {
  ... 
}

Open questions

  1. Should we restrict the number of date pickers opened?
  2. Date pickers are modal on Mobile. They're not modal on Desktop. Should we require a user activation?

Alternative considered

Resources

@annevk annevk added addition/proposal New features or enhancements needs implementer interest Moving the issue forward requires implementers to express interest topic: forms labels Jul 28, 2021
@tomayac
Copy link

tomayac commented Jul 28, 2021

Should this also come along with an open attribute, similar to dialog?

@domenic domenic added the agenda+ To be discussed at a triage meeting label Jul 28, 2021
@domenic
Copy link
Member

domenic commented Jul 28, 2021

show a browser picker (if supported) for
<input type="date">, <input type="month">, <input type="week">, <input type="datetime-local">, and <input type="time">

Should this explicitly only work for these inputs? Other inputs which have pickers in some browsers are tel/email (contact picker), url (history picker), password (password manager), number, color, and file.

@annevk
Copy link
Member

annevk commented Jul 29, 2021

Also <select>.

(The other thing I was thinking about, which is somewhat off-topic, is that you might want to display the picker exclusively as some sites do (i.e., without the input box), but perhaps that's best left to libraries as there's often additional requirements.)

@beaufortfrancois
Copy link
Author

Should this also come along with an open attribute, similar to dialog?

I'm not sure. According to the spec, a dialog element without an open attribute specified should not be shown to the user. Shall we then have an "open" attribute for HTMLInputElement that prevents user to show a picker? I don't think so. Thoughts?

@beaufortfrancois
Copy link
Author

show a browser picker (if supported) for
<input type="date">, <input type="month">, <input type="week">, <input type="datetime-local">, and <input type="time">

Should this explicitly only work for these inputs? Other inputs which have pickers in some browsers are tel/email (contact picker), url (history picker), password (password manager), number, color, and file.

FYI There's a JS API already for Contact picker

Currently tel, email, url, password, and number have no pickers from what I can see. color however seems like a good candidate that would benefit from this.

Having showPicker() for file may not be appropriate as we already have showOpenFilePicker().

@beaufortfrancois
Copy link
Author

Also <select>.

We'd have to find out if that's something developers need.

@domenic
Copy link
Member

domenic commented Jul 29, 2021

In Chrome I agree those do not have pickers. In other browsers they do. (In some cases historical browsers like Opera.)

@Yay295
Copy link
Contributor

Yay295 commented Jul 29, 2021

Having showPicker() for file may not be appropriate as we already have showOpenFilePicker().

Not supported in Firefox or Safari though. And we could still have a more general method even with an existing method for a specific case. showOpenFilePicker() is async though, and it returns the file that was picked. So if we want the generic method to work like showOpenFilePicker(), it should also be async and return whatever was picked.

@domenic
Copy link
Member

domenic commented Aug 11, 2021

I was given an action item to see what click() does today to guide this discussion. It turns out interop here is a bit messy. Test page: https://boom-bath.glitch.me/pickers.html . Results:

Element Firefox (desktop) Firefox (mobile) Chrome (desktop) Chrome (mobile) Safari (desktop) Safari (mobile)
<input type="date"> * * *
<input type="month"> * *
<input type="week"> *
<input type="time"> * *
<input type="datetime-local"> * *
<input type="color"> *
<input type="file">
<select> * *
<select multiple> * *

❗ means the picker does open, on both programmatic click() and when the user clicks on the <label>'s text.

* means the picker does not open via programmatic click(), but it does open by the user click on the <label>'s text.

Blank means neither clicking on the label nor programmatic click() will open the picker.

E.g. on mobile Chrome, the user clicking on the label text for <input type="date"> will open the picker, but the user clicking on the label text for <select> will not open the picker. And on desktop Chrome, the user clicking on the label only opens the picker for <input type="file"> and <input type="color">.

None of the elements in "Not very likely to have a picker, but could conceivably", besides sometimes besides <select multiple>, ever show pickers, so I omit them from above.

Thankfully nobody showed pickers on focus().


I can't think of anything unifying these. E.g. you might think Chrome's approach is "display fullscreen pickers, don't display anchored pickers", but <select> on mobile is a fullscreen picker and not displayed, whereas <input type="color"> on desktop is an achored picker and is displayed.

Here's my proposal:

  • Standardize on Firefox/Chrome desktop's click() behavior as the minimal interoperable subset. That is, for legacy reasons, click() shows the picker on color and file, on both desktop and mobile, but it does nothing in all other cases.

  • Introduce showPicker() which is supposed to show the picker whenever it exists. Namely,

    • In current browser implementations, it would:
      • Show the picker on date/month/week/time/datetime-local/color/file/select on mobile and desktop
      • Show the picker on select multiple on mobile
    • If a browser wants to e.g. make tel inputs open a contact picker at some point, then showPicker() should trigger this behavior
  • Pick one behavior for the user user clicking on a label. That behavior should either be the same as click() or the same as showPicker(), but I'm not sure which. We should debate what folks feel a better user experience/more compat risky/etc.

  • After showPicker() has been available for some time, hopefully Chrome mobile and Safari can align on the above minimal behavior for click().

We could also contemplate not special-casing <input type="color">, as I suspect fewer people are relying on it showing the picker than <input type="file">, but probably that's not worth the risk.

@beaufortfrancois
Copy link
Author

Thank you @domenic for the thorough investigation.

Here are my results on Safari Mobile. Feel free to edit your post earlier.

Element Safari (mobile)
<input type="date">
<input type="month">
<input type="week">
<input type="time">
<input type="datetime-local">
<input type="color">
<input type="file">
<select>

@domenic
Copy link
Member

domenic commented Aug 12, 2021

Thanks @beaufortfrancois! You inspired me to borrow my girlfriend's iPhone and do some of my own testing on the <label> issue. I've updated the above with full results, and also split out Firefox desktop/mobile since they are sufficiently different on the <label> issue as well.

@past past removed the agenda+ To be discussed at a triage meeting label Sep 3, 2021
@domenic
Copy link
Member

domenic commented Sep 10, 2021

New test page with no user activation: https://boom-bath.glitch.me/pickers-2.html

Results:

  • Chromium desktop opens <input type="color"> with no user activation, at (0, 0) coordinates. Seems like a bug.
  • Otherwise, Safari desktop, Firefox desktop, Chromium Android, and Firefox Android require user activation.
  • I didn't test Safari iOS.

Conclusion: we can definitely impose a user-activation restriction on both the activation behavior and the new showPicker() method.

@domenic
Copy link
Member

domenic commented Sep 10, 2021

New test page where the pickers are in a cross-origin iframe: https://creative-abrupt-bladder.glitch.me/

Results: on desktop Firefox and desktop Chrome, at least, there is no difference in behavior from the first-party case. I.e. you can open file and color pickers with a user-activation click.

Conclusion: it would be a web compat lift to lock down cross-origin iframe color and file pickers. So although that's a good idea, I think we should pursue it as a separate issue, since I suspect it'd cause a lot of web developer pain (e.g. third-party file picker widgets).

We could make the new showPicker() API be locked down even if click() is not. Since for non-color/file inputs, it is presenting a new capability. But I think we should still allow showPicker() to work in cross-origin iframes for color and file, as otherwise people will just have to use click() more often. We can work on locking down both at once in the future.

@annevk
Copy link
Member

annevk commented Sep 13, 2021

I like the idea of restricting the new capability where it makes sense to do so.

@beaufortfrancois
Copy link
Author

@domenic Is there anything I can do to help moving this forward?

@domenic
Copy link
Member

domenic commented Nov 1, 2021

@beaufortfrancois I'll work on the spec soon, but a few things could help from the implementation side:

  • Work on a prototype for showPicker():

    • It should require user activation, and throw a "NotAllowedError" DOMException without it.
      • It should not consume user activation.
    • In cross-origin iframes it should throw a "SecurityError" DOMException except on file and color. In same-origin iframes it should work fine.
    • It should open the picker for date, month, week, time, datetime-local, color, file, select, and (on mobile) select multiple.
    • It should behave the same on both mobile an desktop.
    • On desktop the picker should open at a sensible location (not (0,0)) for things like color or date, like click() does currently.
    • Write web platform tests for any aspects of this you can. I guess mostly the error cases.
  • Work on a flag that aligns mobile Chrome's behavior for click() with desktop Chrome's (i.e., it only works for color and file). Shipping this will be difficult and probably something we'll need to delay until we have showPicker() shipped and evangelized, but it's worth doing at some point.

  • Fix click() in desktop Chrome on color inputs to not open a picker at (0,0) when called without user activation; instead it should do nothing (like all other calls to click() without user activation).

@beaufortfrancois
Copy link
Author

  • On desktop the picker should open at a sensible location (not (0,0)) for things like color or date, like click() does currently.

If the HTML input element is already in the DOM, it makes sense to open where the element is. However if the element is not in the DOM already, (0,0) is where it opens by default. Do you want to change that behavior?

@domenic
Copy link
Member

domenic commented Nov 2, 2021

Interesting! Let me test what all browsers do in that case.

chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Nov 3, 2021
This CL adds an experimental method to the HTMLInputElement interface
to allow web developers to show the browser picker for temporal, color,
and file input elements. It requires a user gesture and is disallowed
for cross-origin iframes except for file and color input elements for
now.

Intent to prototype: TODO
Test: https://show-picker.glitch.me/
Spec: whatwg/html#6909
Bug: 939561
Change-Id: Icd59429c069ce5c70903f708f5d6da41a16ba90f
@beaufortfrancois
Copy link
Author

  • Work on a prototype for showPicker():

Here's the WIP Chromium CL for the new showPicker() method: https://chromium-review.googlesource.com/c/chromium/src/+/3056920

@domenic
Copy link
Member

domenic commented Nov 3, 2021

In the process of prototyping @beaufortfrancois pointed out that <select> uses HTMLSelectElement and not HTMLInputElement. So there's a question as to whether we should define showPicker() for both of these, or just HTMLInputElement.

Although IMO treating <select> and <input> as on equal footing is nice theoretically, and I suspect web developers probably want the ability to open select popups as well, my instinct is to put off work on showPicker() for select for now pending more developer feedback and successfully landing it for HTMLInputElement:

  • Unlike <input type=date> etc., click() on select does not open the picker in any browser today, so select.showPicker() would be a new capability.
  • My impression is that developer signals are stronger for non-select pickers.

Happy to discuss more here or in the triage call. In particular it'd be interesting to hear peoples thoughts between: do select.showPicker() at the same time as input.showPicker(), do select.showPicker() shortly after input.showPicker() once we have a successful spec/implementation for the former, do select.showPicker() only after gathering web dev sentiment to ensure it's useful, or never do select.showPicker().

@smaug----
Copy link

open() sounds a bit odd for a method on an input element. It isn't immediately clear to the reader what it would do.
showPicker() is quite obvious.

(and since EyeDropper API is just a proposal, it could be changed to have showPicker?)

@miketaylr
Copy link
Member

I guess it could go the other way, yeah - I also don't have strong feelings on naming, but consistency would be nice since both of these are new.

@Yay295
Copy link
Contributor

Yay295 commented Nov 9, 2021

On a file input I could see people thinking .open() opens the file.

@miketaylr
Copy link
Member

For an "empty" <input type=file>, there's no file to open. I guess I wouldn't expect any different behavior with a non-empty files/value.

@beaufortfrancois
Copy link
Author

I don't feel strongly either about the naming of this method and I agree some consistency would be great as well for web developers.

FYI I've left a comment at WICG/eyedropper-api#18 (comment) to let EyeDropper folks know about this issue.

moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this issue Nov 10, 2021
…ent interface, a=testonly

Automatic update from web-platform-tests
Add showPicker() method to HTMLInputElement interface

This CL adds an experimental method to the HTMLInputElement interface
to allow web developers to show the browser picker for temporal, color,
and file input elements. It requires a user gesture and is disallowed
for cross-origin iframes except for file and color input elements for
now.

Intent to prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/fEebe5uXQ1I/m/ox6SBEQ5AAAJ

Test: https://show-picker.glitch.me/
Spec: whatwg/html#6909
Bug: 939561
Change-Id: Icd59429c069ce5c70903f708f5d6da41a16ba90f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3056920
Commit-Queue: François Beaufort <beaufort.francois@gmail.com>
Reviewed-by: Mason Freed <masonf@chromium.org>
Cr-Commit-Position: refs/heads/main@{#937999}

--

wpt-commits: a3e1b754ba20cd38fcbc40d0b69271178675ee01
wpt-pr: 31484
jamienicol pushed a commit to jamienicol/gecko that referenced this issue Nov 10, 2021
…ent interface, a=testonly

Automatic update from web-platform-tests
Add showPicker() method to HTMLInputElement interface

This CL adds an experimental method to the HTMLInputElement interface
to allow web developers to show the browser picker for temporal, color,
and file input elements. It requires a user gesture and is disallowed
for cross-origin iframes except for file and color input elements for
now.

Intent to prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/fEebe5uXQ1I/m/ox6SBEQ5AAAJ

Test: https://show-picker.glitch.me/
Spec: whatwg/html#6909
Bug: 939561
Change-Id: Icd59429c069ce5c70903f708f5d6da41a16ba90f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3056920
Commit-Queue: François Beaufort <beaufort.francois@gmail.com>
Reviewed-by: Mason Freed <masonf@chromium.org>
Cr-Commit-Position: refs/heads/main@{#937999}

--

wpt-commits: a3e1b754ba20cd38fcbc40d0b69271178675ee01
wpt-pr: 31484
@domenic
Copy link
Member

domenic commented Nov 15, 2021

That's a great point. I forgot to test those. IMO showPicker() should definitely open those pickers; I'll see if we can update the spec to be more explicit about that in some way.

@beaufortfrancois
Copy link
Author

I have a WIP Chromium CL at https://chromium-review.googlesource.com/c/chromium/src/+/3284804 to open those pickers. Good catch @mnoorenberghe!

Gabisampaio pushed a commit to Gabisampaio/wpt that referenced this issue Nov 18, 2021
This CL adds an experimental method to the HTMLInputElement interface
to allow web developers to show the browser picker for temporal, color,
and file input elements. It requires a user gesture and is disallowed
for cross-origin iframes except for file and color input elements for
now.

Intent to prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/fEebe5uXQ1I/m/ox6SBEQ5AAAJ

Test: https://show-picker.glitch.me/
Spec: whatwg/html#6909
Bug: 939561
Change-Id: Icd59429c069ce5c70903f708f5d6da41a16ba90f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3056920
Commit-Queue: François Beaufort <beaufort.francois@gmail.com>
Reviewed-by: Mason Freed <masonf@chromium.org>
Cr-Commit-Position: refs/heads/main@{#937999}
@beaufortfrancois
Copy link
Author

beaufortfrancois commented Nov 25, 2021

@mnoorenberghe https://chromiumdash.appspot.com/commit/92e5fe8556d41ba34766129574df624ea2413ffa has landed. Give https://show-picker.glitch.me/ a try in Chrome Canary 98 98.0.4726.0. You'll need to enable the experimental web platform features flag for this.

domenic added a commit that referenced this issue Dec 8, 2021
Also specifies that both color and file inputs show pickers on both programmatic and user clicks, since that is true in all browsers. (Previously the spec included this behavior only for file inputs.)

Closes #6909. Closes #3232.
@beaufortfrancois
Copy link
Author

FYI I've just sent an intent to ship at blink-dev: https://groups.google.com/a/chromium.org/g/blink-dev/c/YfnM0ubs53k

webkit-commit-queue pushed a commit to WebKit/WebKit that referenced this issue Mar 23, 2022
https://bugs.webkit.org/show_bug.cgi?id=237192

LayoutTests/imported/w3c:

Reviewed by  Darin Adler.

Update test expectations as more tests are now passing.
* web-platform-tests/html/dom/idlharness.https-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/show-picker-cross-origin-iframe-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/show-picker-expected.txt:

Source/WebCore:

Reviewed by  Darin Adler.

At whatwg/html#6909, it proposes to add a
new HTMLInputElement::showPicker() method to show a brower picker for
temporal, color and file input elements.

Chromium has introduced this feature at
https://bugs.chromium.org/p/chromium/issues/detail?id=939561.

This CL imports the changes from Chromium CLs at
https://chromium-review.googlesource.com/c/chromium/src/+/3056920
and
https://chromium-review.googlesource.com/c/chromium/src/+/3310677

The support for temporal input element is not included in this CL. We might
need a bit more investigation on it and hopefully will addess at a later stage.

* html/ColorInputType.cpp:
(WebCore::ColorInputType::handleDOMActivateEvent):
(WebCore::ColorInputType::showPicker):
(WebCore::ColorInputType::allowsShowPickerAcrossFrames):
* html/ColorInputType.h:
* html/FileInputType.cpp:
(WebCore::FileInputType::handleDOMActivateEvent):
(WebCore::FileInputType::showPicker):
(WebCore::FileInputType::allowsShowPickerAcrossFrames):
* html/FileInputType.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::showPicker):
* html/HTMLInputElement.h:
* html/HTMLInputElement.idl:
* html/InputType.cpp:
(WebCore::InputType::allowsShowPickerAcrossFrames):
(WebCore::InputType::showPicker):
* html/InputType.h:

LayoutTests:

Reviewed by Darin Adler .

* platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
* platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
* platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
* platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/show-picker-cross-origin-iframe-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/show-picker-cross-origin-iframe-expected.txt.



Canonical link: https://commits.webkit.org/248774@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291742 268f45cc-cd09-0410-ab3c-d52691b4dbfc
@ziransun
Copy link

@domenic @beaufortfrancois Any chance to help with clarifying the question at https://bugs.webkit.org/show_bug.cgi?id=237192#c19? This WebKit patch is an import of the Chromium showpicker() CL. Thanks.

@beaufortfrancois
Copy link
Author

Is it correct that when called on an HTMLInputElement of a type that has no picker, that showPicker should check cross-frame and user gesture status, throw exceptions if either of those applies, but then if neither applies, silently do nothing?

As you can see below, in Chromium showPicker will throw security error if type is not file nor color. However it will check user gesture status for all types. See https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/html/forms/html_input_element.cc;l=2218;drc=72575413b1662ce93e9137f99303d0d5a3942f0f

void HTMLInputElement::showPicker(ExceptionState& exception_state) {
  LocalFrame* frame = GetDocument().GetFrame();
  if (type() != input_type_names::kFile && type() != input_type_names::kColor &&
      frame) {
    const SecurityOrigin* security_origin =
        frame->GetSecurityContext()->GetSecurityOrigin();
    const SecurityOrigin* top_security_origin =
        frame->Tree().Top().GetSecurityContext()->GetSecurityOrigin();
    if (!security_origin->IsSameOriginWith(top_security_origin)) {
      exception_state.ThrowSecurityError(
          "HTMLInputElement::showPicker() called from cross-origin iframe.");
      return;
    }
  }

  if (!LocalFrame::HasTransientUserActivation(frame)) {
    exception_state.ThrowDOMException(
        DOMExceptionCode::kNotAllowedError,
        "HTMLInputElement::showPicker() requires a user gesture.");
    return;
  }

  input_type_view_->OpenPopupView();
}

@ziransun
Copy link

As you can see below, in Chromium showPicker will throw security error if type is not file nor color. However it will check user gesture status for all types.

Thanks @beaufortfrancois for your prompt response. Yes, this is what we have in WebKit imported code as well. What we are trying to clarify here is, we check on cross-frame and user gesture status and throw exceptions if either of those applies. What is neither applies, silently do nothing?

As per #6909 (comment), it mentioned that "It should not consume user activation.". Does it mean that silently doing nothing is intentional?

@beaufortfrancois
Copy link
Author

That is my understanding according to https://html.spec.whatwg.org/multipage/input.html#dom-input-showpicker

The showPicker() method steps are:

  1. If this's relevant settings object's origin is not same origin with this's relevant settings object's top-level origin, and this's type attribute is not in the File Upload state or Color state, then throw a "SecurityError" DOMException.
  2. If this's relevant global object does not have transient activation, then throw a "NotAllowedError" DOMException.
  3. Show the picker, if applicable, for this.

Let's wait on @domenic answer as well.

@domenic
Copy link
Member

domenic commented Mar 24, 2022

Yes, that is correct.

@ziransun
Copy link

3. Show the picker, if applicable, for this.

Thanks both. Just to confirm - If not applicable, do nothing?

@domenic
Copy link
Member

domenic commented Mar 24, 2022

Yes, if you read the algorithm for "show the picker, if applicable", step 4 says

Otherwise, the user agent should show any relevant user interface for selecting a value for element, in the way it normally would when the user interacts with the control. (If no such UI applies to element, then this step does nothing.)

@ziransun
Copy link

Yes, if you read the algorithm for "show the picker, if applicable", step 4 says

Otherwise, the user agent should show any relevant user interface for selecting a value for element, in the way it normally would when the user interacts with the control. (If no such UI applies to element, then this step does nothing.)

Perfect. Thanks very much!

mfreed7 pushed a commit to mfreed7/html that referenced this issue Jun 3, 2022
Also specifies that both color and file inputs show pickers on both programmatic and user clicks, since that is true in all browsers. (Previously the spec included this behavior only for file inputs.)

Closes whatwg#6909. Closes whatwg#3232.
mjfroman pushed a commit to mjfroman/moz-libwebrtc-third-party that referenced this issue Oct 14, 2022
This CL adds an experimental method to the HTMLInputElement interface
to allow web developers to show the browser picker for temporal, color,
and file input elements. It requires a user gesture and is disallowed
for cross-origin iframes except for file and color input elements for
now.

Intent to prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/fEebe5uXQ1I/m/ox6SBEQ5AAAJ

Test: https://show-picker.glitch.me/
Spec: whatwg/html#6909
Bug: 939561
Change-Id: Icd59429c069ce5c70903f708f5d6da41a16ba90f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3056920
Commit-Queue: François Beaufort <beaufort.francois@gmail.com>
Reviewed-by: Mason Freed <masonf@chromium.org>
Cr-Commit-Position: refs/heads/main@{#937999}
NOKEYCHECK=True
GitOrigin-RevId: 20c51940a27d0ca85bac08d5c0a745812e6a0ca2
mjfroman pushed a commit to mjfroman/moz-libwebrtc-third-party that referenced this issue Oct 14, 2022
This CL makes sure the showPicker() method actually shows the picker
on Android. It wasn't the case with the previous CL[1] because
MultipleFieldsTemporalInputTypeView is only supported on Desktop.
ChooserOnlyTemporalInputTypeView is the class to update to add support
for showPicker() on Android.

[1] https://chromium-review.googlesource.com/c/chromium/src/+/3056920

Change-Id: Ibab81e7d54c6c8e5442aef1d60f4b1cde3dba2c6
Test: https://show-picker.glitch.me/
Spec: whatwg/html#6909
Bug: 939561
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3263866
Commit-Queue: François Beaufort <beaufort.francois@gmail.com>
Reviewed-by: Mason Freed <masonf@chromium.org>
Cr-Commit-Position: refs/heads/main@{#938980}
NOKEYCHECK=True
GitOrigin-RevId: 43f41a8d8039ce72ca983f5892c4484e16d364d1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
addition/proposal New features or enhancements needs implementer interest Moving the issue forward requires implementers to express interest topic: forms
Development

Successfully merging a pull request may close this issue.