<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>161506</bug_id>
          
          <creation_ts>2016-09-01 13:29:29 -0700</creation_ts>
          <short_desc>[iOS] input pattern=&quot;[0-9.]*&quot; should use DecimalPad keyboard</short_desc>
          <delta_ts>2018-08-22 23:52:00 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>Safari 9</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>183621</dup_id>
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=183621</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darryl Pogue">dvpdiner2</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bdakin</cc>
    
    <cc>beidson</cc>
    
    <cc>brkemper</cc>
    
    <cc>darin</cc>
    
    <cc>daytonlowell</cc>
    
    <cc>dbates</cc>
    
    <cc>enrica</cc>
    
    <cc>jonlee</cc>
    
    <cc>paulirish</cc>
    
    <cc>sam</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1225502</commentid>
    <comment_count>0</comment_count>
    <who name="Darryl Pogue">dvpdiner2</who>
    <bug_when>2016-09-01 13:29:29 -0700</bug_when>
    <thetext>Currently &lt;input type=&quot;number&quot; pattern=&quot;[0-9]*&quot;&gt; pulls up a UIKeyboardTypeNumberPad, which does not allow decimals. The alternative is to not specify a pattern and get the general numbers &amp; punctuation keyboard.

It would be great to add support for pattern=&quot;[0-9.]*&quot; to bring up a UIKeyboardTypeDecimalPad which includes a decimal key.


Unfortunately there isn&apos;t numeric-oriented keyboard that includes both a decimal and a negative sign, so we&apos;re stuck with UIKeyboardTypeNumbersAndPunctuation :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1226359</commentid>
    <comment_count>1</comment_count>
      <attachid>287932</attachid>
    <who name="Darryl Pogue">dvpdiner2</who>
    <bug_when>2016-09-04 23:43:34 -0700</bug_when>
    <thetext>Created attachment 287932
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1226464</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-09-05 10:06:40 -0700</bug_when>
    <thetext>Seems like a reasonable improvement; the decision on this should be made by an iOS keyboards expert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1226592</commentid>
    <comment_count>3</comment_count>
      <attachid>287932</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-09-05 23:09:35 -0700</bug_when>
    <thetext>Comment on attachment 287932
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=287932&amp;action=review

I like this idea.  Can this be tested?

&gt; Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm:2517
&gt; +static const char inputPatternNumber[] = &quot;^(\\[0-9\\]|\\\\d)(\\+|\\*|\\{[0-9,]+\\})?$&quot;;
&gt; +static const char inputPatternDecimal[] = &quot;^(\\[0-9\\]|\\\\d)?(\\+|\\*|\\{[0-9,]+\\})?\\\\\\.(\\[0-9\\]|\\\\d)(\\+|\\*|\\{[0-9,]+\\})?$&quot;;

This is clever, but matching regular expressions with regular expressions seems like a step in the wrong direction.  We were doing string comparison before, which wasn&apos;t the greatest, but could we at least continue to do string comparison?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1226608</commentid>
    <comment_count>4</comment_count>
    <who name="Darryl Pogue">dvpdiner2</who>
    <bug_when>2016-09-06 00:24:53 -0700</bug_when>
    <thetext>I agree the regex isn&apos;t an ideal solution. I was trying to brainstorm something more flexible than string comparisons though, and this was the best I came up with.

One complaint of the current string comparison whitelisting is that it makes it hard for people to use the pattern attribute for actual validations. If you want to collect a 5-digit number, the best pattern would be &quot;\d{5}&quot;, but that causes iOS to opt-out of the number pad keyboard because it doesn&apos;t match the whitelist.


It&apos;s not obvious what the string comparison should be for a decimal pad, since the naïve &quot;[0-9\.]*&quot; would actually allow multiple decimal points to validate. Suggested patterns from online resources include &quot;\d*\.\d*&quot; or &quot;[0-9]*\.[0-9]*&quot;, but both of those make the decimal point required.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298491</commentid>
    <comment_count>5</comment_count>
    <who name="Brad">brkemper</who>
    <bug_when>2017-04-18 16:15:43 -0700</bug_when>
    <thetext>The testing of the regular expression with another regular expression seems much more useful to me than extreme limits that are there now.

I would like to use patterns like this:

\d+(\.\d*)?     // decimal number
\d+(\.\d{2})?   // dollars with optional cents
((\d+)?(\.\d{2})?)+   // optional dollar digits with optional cents

Etc. Or maybe an expression for validating IP addresses.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399122</commentid>
    <comment_count>6</comment_count>
      <attachid>287932</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2018-02-14 10:34:05 -0800</bug_when>
    <thetext>Comment on attachment 287932
Patch

Patches that have been up for review since 2016 are almost certainly too stale to be relevant to trunk in their current form.

If this patch is still important please rebase it and post it for review again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399157</commentid>
    <comment_count>7</comment_count>
    <who name="Darryl Pogue">dvpdiner2</who>
    <bug_when>2018-02-14 10:49:45 -0800</bug_when>
    <thetext>As an alternative to this (and of trying to use pattern to determine the correct keyboard in general), it might be better to add support for the `inputmode` attribute which would allow authors to specify a hint for which keyboard type to use:
https://html.spec.whatwg.org/multipage/interaction.html#input-modalities%3A-the-inputmode-attribute

There was a recent intent to ship for Blink/Chrome: https://groups.google.com/a/chromium.org/forum/#!searchin/blink-dev/inputmode/blink-dev/MAHQkH4vvUQ/i0yCobrMCQAJ</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406333</commentid>
    <comment_count>8</comment_count>
    <who name="Dayton Lowell">daytonlowell</who>
    <bug_when>2018-03-13 19:14:30 -0700</bug_when>
    <thetext>I’ve created a bug for adding `inputmode` support.

https://bugs.webkit.org/show_bug.cgi?id=183621</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452998</commentid>
    <comment_count>9</comment_count>
    <who name="Darryl Pogue">dvpdiner2</who>
    <bug_when>2018-08-22 23:52:00 -0700</bug_when>
    <thetext>inputmode support was just merged, and provides a way to get a decimal keyboard via inputmode=&quot;decimal&quot;, so I&apos;ll close this as a duplicate of #183621

*** This bug has been marked as a duplicate of bug 183621 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287932</attachid>
            <date>2016-09-04 23:43:34 -0700</date>
            <delta_ts>2018-02-14 10:34:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161506-20160904234113.patch</filename>
            <type>text/plain</type>
            <size>6166</size>
            <attacher name="Darryl Pogue">dvpdiner2</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNTQyNikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE2LTA5LTA0ICBEYXJyeWwg
UG9ndWUgIDxkYXJyeWxAZHBvZ3VlLmNhPgorCisgICAgICAgIGlucHV0IHBhdHRlcm49IlswLTku
XSoiIHNob3VsZCB1c2UgRGVjaW1hbFBhZCBrZXlib2FyZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNTA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvQXNzaXN0ZWROb2RlSW5mb3JtYXRp
b24uaDogQWRkZWQgSW5wdXRUeXBlIERlY2ltYWxQYWQKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL19XS0ZvY3VzZWRFbGVtZW50SW5mby5oOiBBZGRlZCBXS0lucHV0VHlwZURlY2ltYWxQ
YWQKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToK
KyAgICAgICAgKC1bV0tGb2N1c2VkRWxlbWVudEluZm8gaW5pdFdpdGhBc3Npc3RlZE5vZGVJbmZv
cm1hdGlvbjppc1VzZXJJbml0aWF0ZWQ6XSk6IFN1cHBvcnQgRGVjaW1hbFBhZAorICAgICAgICAo
LVtXS0NvbnRlbnRWaWV3IHJlcXVpcmVzQWNjZXNzb3J5Vmlld10pOiBEaXR0bworICAgICAgICAo
LVtXS0NvbnRlbnRWaWV3IHRleHRJbnB1dFRyYWl0c10pOiBEaXR0bworICAgICAgICAoaXNBc3Np
c3RhYmxlSW5wdXRUeXBlKTogRGl0dG8KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9z
L1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OmdldE51bWJlcklucHV0VHlwZUZvclBh
dHRlcm4pOiBJbXByb3ZlZCBwYXJzaW5nIG9mIHRoZSBwYXR0ZXJuIGF0dHJpYnV0ZSB0byBkZXRl
cm1pbmUgSW5wdXRUeXBlCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmdldEFzc2lzdGVkTm9k
ZUluZm9ybWF0aW9uKToKKwogMjAxNi0wOS0wNCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtDb2NvYV0gV3JhcHBpbmcgWFBDIHNlcnZpY2UgZXhlY3V0aW9uIGlu
IG9zX2FjdGl2aXR5IGlzIG5vIGxvbmdlciBuZWVkZWQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5oCShyZXZpc2lvbiAyMDU0MjYpCisr
KyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDYsNiArNDYsNyBAQCBlbnVtIGNsYXNzIElucHV0VHlwZSB7CiAgICAgUGhv
bmUsCiAgICAgTnVtYmVyLAogICAgIE51bWJlclBhZCwKKyAgICBEZWNpbWFsUGFkLAogICAgIERh
dGUsCiAgICAgRGF0ZVRpbWUsCiAgICAgRGF0ZVRpbWVMb2NhbCwKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRm9jdXNlZEVsZW1lbnRJbmZvLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tGb2N1c2VkRWxlbWVu
dEluZm8uaAkocmV2aXNpb24gMjA1NDI2KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tGb2N1c2VkRWxlbWVudEluZm8uaAkod29ya2luZyBjb3B5KQpAQCAtNDYsNiAr
NDYsNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBXS0lucHV0VHlwZSkgCiAgICAgV0tJ
bnB1dFR5cGVQaG9uZSwKICAgICBXS0lucHV0VHlwZU51bWJlciwKICAgICBXS0lucHV0VHlwZU51
bWJlclBhZCwKKyAgICBXS0lucHV0VHlwZURlY2ltYWxQYWQsCiAgICAgV0tJbnB1dFR5cGVEYXRl
LAogICAgIFdLSW5wdXRUeXBlRGF0ZVRpbWUsCiAgICAgV0tJbnB1dFR5cGVEYXRlVGltZUxvY2Fs
LApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24ubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0JKHJldmlzaW9uIDIwNTQyNikKKysrIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC00NDEsNiArNDQxLDkgQEAgLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoQXNzaXN0ZWRO
b2RlSW5mbwogICAgIGNhc2UgV2ViS2l0OjpJbnB1dFR5cGU6Ok51bWJlclBhZDoKICAgICAgICAg
X3R5cGUgPSBXS0lucHV0VHlwZU51bWJlclBhZDsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBX
ZWJLaXQ6OklucHV0VHlwZTo6RGVjaW1hbFBhZDoKKyAgICAgICAgX3R5cGUgPSBXS0lucHV0VHlw
ZURlY2ltYWxQYWQ7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgV2ViS2l0OjpJbnB1dFR5cGU6
OkRhdGU6CiAgICAgICAgIF90eXBlID0gV0tJbnB1dFR5cGVEYXRlOwogICAgICAgICBicmVhazsK
QEAgLTE2MjAsNiArMTYyMyw3IEBAIC0gKEJPT0wpcmVxdWlyZXNBY2Nlc3NvcnlWaWV3CiAgICAg
Y2FzZSBJbnB1dFR5cGU6OlBob25lOgogICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1iZXI6CiAgICAg
Y2FzZSBJbnB1dFR5cGU6Ok51bWJlclBhZDoKKyAgICBjYXNlIElucHV0VHlwZTo6RGVjaW1hbFBh
ZDoKICAgICBjYXNlIElucHV0VHlwZTo6Q29udGVudEVkaXRhYmxlOgogICAgIGNhc2UgSW5wdXRU
eXBlOjpUZXh0QXJlYToKICAgICBjYXNlIElucHV0VHlwZTo6U2VsZWN0OgpAQCAtMzAzNSw2ICsz
MDM5LDkgQEAgLSAoVUlUZXh0SW5wdXRUcmFpdHMgKil0ZXh0SW5wdXRUcmFpdHMKICAgICBjYXNl
IElucHV0VHlwZTo6TnVtYmVyUGFkOgogICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6
VUlLZXlib2FyZFR5cGVOdW1iZXJQYWRdOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIElucHV0
VHlwZTo6RGVjaW1hbFBhZDoKKyAgICAgICAgW190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5
Ym9hcmRUeXBlRGVjaW1hbFBhZF07CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAg
ICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZURlZmF1bHRdOwogICAg
IH0KQEAgLTM1NjcsNiArMzU3NCw3IEBAIHN0YXRpYyBib29sIGlzQXNzaXN0YWJsZUlucHV0VHlw
ZShJbnB1dFQKICAgICBjYXNlIElucHV0VHlwZTo6UGhvbmU6CiAgICAgY2FzZSBJbnB1dFR5cGU6
Ok51bWJlcjoKICAgICBjYXNlIElucHV0VHlwZTo6TnVtYmVyUGFkOgorICAgIGNhc2UgSW5wdXRU
eXBlOjpEZWNpbWFsUGFkOgogICAgIGNhc2UgSW5wdXRUeXBlOjpEYXRlOgogICAgIGNhc2UgSW5w
dXRUeXBlOjpEYXRlVGltZToKICAgICBjYXNlIElucHV0VHlwZTo6RGF0ZVRpbWVMb2NhbDoKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBh
Z2VJT1MubW0JKHJldmlzaW9uIDIwNTQyNikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTAwLDcgKzEwMCw5
IEBACiAjaW1wb3J0IDxXZWJDb3JlL1dLQ29udGVudE9ic2VydmF0aW9uLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL1dlYkV2ZW50Lmg+CiAjaW1wb3J0IDx3dGYvTWF0aEV4dHJhcy5oPgorI2ltcG9ydCA8
d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW1wb3J0IDx3dGYvVGVtcG9yYXJ5Q2hhbmdlLmg+Cisj
aW1wb3J0IDx5YXJyL1JlZ3VsYXJFeHByZXNzaW9uLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogCkBAIC0yNTExLDYgKzI1MTMsMzIgQEAgdm9pZCBXZWJQYWdlOjpmb2N1c05leHRBc3Np
c3RlZE5vZGUoYm9vbAogICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6Vm9pZENhbGxi
YWNrKGNhbGxiYWNrSUQpKTsKIH0KIAorc3RhdGljIGNvbnN0IGNoYXIgaW5wdXRQYXR0ZXJuTnVt
YmVyW10gPSAiXihcXFswLTlcXF18XFxcXGQpKFxcK3xcXCp8XFx7WzAtOSxdK1xcfSk/JCI7Citz
dGF0aWMgY29uc3QgY2hhciBpbnB1dFBhdHRlcm5EZWNpbWFsW10gPSAiXihcXFswLTlcXF18XFxc
XGQpPyhcXCt8XFwqfFxce1swLTksXStcXH0pP1xcXFxcXC4oXFxbMC05XFxdfFxcXFxkKShcXCt8
XFwqfFxce1swLTksXStcXH0pPyQiOworCitzdGF0aWMgSW5wdXRUeXBlIGdldE51bWJlcklucHV0
VHlwZUZvclBhdHRlcm4oY29uc3QgQXRvbWljU3RyaW5nJiBwYXR0ZXJuKQoreworICAgIGludCBt
YXRjaExlbmd0aDsKKyAgICBpbnQgbWF0Y2hPZmZzZXQ7CisgICAgaW50IHBhdHRlcm5MZW5ndGgg
PSBwYXR0ZXJuLmxlbmd0aCgpOworCisgICAgaWYgKCFwYXR0ZXJuTGVuZ3RoKQorICAgICAgICBy
ZXR1cm4gSW5wdXRUeXBlOjpOdW1iZXI7CisKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Y29u
c3QgSlNDOjpZYXJyOjpSZWd1bGFyRXhwcmVzc2lvbj4gbnVtYmVyUmVnRXhwKGlucHV0UGF0dGVy
bk51bWJlciwgVGV4dENhc2VTZW5zaXRpdmUpOworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxj
b25zdCBKU0M6OllhcnI6OlJlZ3VsYXJFeHByZXNzaW9uPiBkZWNpbWFsUmVnRXhwKGlucHV0UGF0
dGVybkRlY2ltYWwsIFRleHRDYXNlU2Vuc2l0aXZlKTsKKworICAgIG1hdGNoT2Zmc2V0ID0gbnVt
YmVyUmVnRXhwLmdldCgpLm1hdGNoKHBhdHRlcm4sIDAsICZtYXRjaExlbmd0aCk7CisgICAgaWYg
KCFtYXRjaE9mZnNldCAmJiBtYXRjaExlbmd0aCA9PSBwYXR0ZXJuTGVuZ3RoKQorICAgICAgICBy
ZXR1cm4gSW5wdXRUeXBlOjpOdW1iZXJQYWQ7CisKKyAgICBtYXRjaE9mZnNldCA9IGRlY2ltYWxS
ZWdFeHAuZ2V0KCkubWF0Y2gocGF0dGVybiwgMCwgJm1hdGNoTGVuZ3RoKTsKKyAgICBpZiAoIW1h
dGNoT2Zmc2V0ICYmIG1hdGNoTGVuZ3RoID09IHBhdHRlcm5MZW5ndGgpCisgICAgICAgIHJldHVy
biBJbnB1dFR5cGU6OkRlY2ltYWxQYWQ7CisKKyAgICByZXR1cm4gSW5wdXRUeXBlOjpOdW1iZXI7
Cit9CisKIHZvaWQgV2ViUGFnZTo6Z2V0QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24oQXNzaXN0ZWRO
b2RlSW5mb3JtYXRpb24mIGluZm9ybWF0aW9uKQogewogICAgIGxheW91dElmTmVlZGVkKCk7CkBA
IC0yNTk5LDcgKzI2MjcsNyBAQCB2b2lkIFdlYlBhZ2U6OmdldEFzc2lzdGVkTm9kZUluZm9ybWF0
aW9uCiAgICAgICAgIGVsc2UgaWYgKGVsZW1lbnQuaXNUZWxlcGhvbmVGaWVsZCgpKQogICAgICAg
ICAgICAgaW5mb3JtYXRpb24uZWxlbWVudFR5cGUgPSBJbnB1dFR5cGU6OlBob25lOwogICAgICAg
ICBlbHNlIGlmIChlbGVtZW50LmlzTnVtYmVyRmllbGQoKSkKLSAgICAgICAgICAgIGluZm9ybWF0
aW9uLmVsZW1lbnRUeXBlID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoInBhdHRlcm4iKSA9PSAiXFxk
KiIgfHwgZWxlbWVudC5nZXRBdHRyaWJ1dGUoInBhdHRlcm4iKSA9PSAiWzAtOV0qIiA/IElucHV0
VHlwZTo6TnVtYmVyUGFkIDogSW5wdXRUeXBlOjpOdW1iZXI7CisgICAgICAgICAgICBpbmZvcm1h
dGlvbi5lbGVtZW50VHlwZSA9IGdldE51bWJlcklucHV0VHlwZUZvclBhdHRlcm4oZWxlbWVudC5n
ZXRBdHRyaWJ1dGUoInBhdHRlcm4iKSk7CiAgICAgICAgIGVsc2UgaWYgKGVsZW1lbnQuaXNEYXRl
VGltZUxvY2FsRmllbGQoKSkKICAgICAgICAgICAgIGluZm9ybWF0aW9uLmVsZW1lbnRUeXBlID0g
SW5wdXRUeXBlOjpEYXRlVGltZUxvY2FsOwogICAgICAgICBlbHNlIGlmIChlbGVtZW50LmlzRGF0
ZUZpZWxkKCkpCg==
</data>
<flag name="review"
          id="311333"
          type_id="1"
          status="-"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>