<?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>45814</bug_id>
          
          <creation_ts>2010-09-15 03:23:20 -0700</creation_ts>
          <short_desc>fast/dom/DeviceOrientation/add-listener-from-callback flaky</short_desc>
          <delta_ts>2010-09-15 08:53:32 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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="Jonathan Dixon">joth</reporter>
          <assigned_to name="Hans Wennborg">hans</assigned_to>
          <cc>hans</cc>
    
    <cc>steveblock</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>279491</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Dixon">joth</who>
    <bug_when>2010-09-15 03:23:20 -0700</bug_when>
    <thetext>This test is sometimes failing with text difference:

2010-09-15 01:44:47,251 executive.py:301  DEBUG &quot;/usr/bin/wdiff --start-delete=##WDIFF_DEL## --end-delete=##WDIFF_END## --start-insert=##WDIFF_ADD## --end-insert=##WDIFF_END## /b/slave/webkit-rel-linux/build/src/webkit/Release/../../../layout-test-results/fast/dom/DeviceOrientation/add-listener-from-callback-expected.txt /b/slave/webkit-rel-linux/build/src/webkit/Release/../../../layout-test-results/fast/dom/DeviceOrientation/add-listener-from-callback-actual.txt&quot; took 0.01s
2010-09-15 01:44:47,252 dump_render_tree_thread.py:408  DEBUG Thread-2 fast/dom/DeviceOrientation/add-listener-from-callback.html failed:
  Text diff mismatch
2010-09-15 01:44:47,258 printing.py:535  INFO   fast/dom/DeviceOrientation/add-listener-from-callback.html -&gt; unexpected text diff mismatch

(http://buildbot.jail.google.com/buildbot/chromium/builders/Webkit%20Linux/builds/29744/steps/webkit_tests/logs/stdio)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279548</commentid>
    <comment_count>1</comment_count>
      <attachid>67677</attachid>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-09-15 08:06:12 -0700</bug_when>
    <thetext>Created attachment 67677
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279553</commentid>
    <comment_count>2</comment_count>
      <attachid>67677</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-09-15 08:21:35 -0700</bug_when>
    <thetext>Comment on attachment 67677
Patch

&gt; +        There was a race in the add-listener-from-callback test: it used to do
&gt; +        setMockOrientation() and then window.addEventListner(), but since the
&gt; +        event caused by setMockOrientation() is fired asynchronously, it would
&gt; +        sometimes be fired after the new event listener was added, causing the
&gt; +        test to receive one more event than it expected.
You&apos;re right that the test is flaky, but I think this reasoning is wrong. Both the calls to setMockDeviceOrientation() and addEventListener() will trigger events to fire asynchronously. The order is deterministic based on the the order in which the functions are called.

The problem is that when we call addEventListener(), an event is sent to all registered event listeners on that page (whether this is the correct behaviour is questionable, but should be addressed elsewhere I think). So in the existing test, both the calls to setMockDeviceOrientation() and addEventListener() will trigger events to fire asynchronously on both listeners (both will be registered by the time the event fires), giving a total of five events. The race condition is whether the test finishes after the third event, before the fourth event fires.

&gt;      if (++firstListenerEvents == 1)
&gt;          setMockOrientation(11.1, 22.2, 33.3);
I think I was wrong to update the mock orientation - it&apos;s extra complication and not the point of this test.

&gt; -    else if (firstListenerEvents &gt; 2)
&gt; +    else if (firstListenerEvents == 2)
&gt; +        window.addEventListener(&apos;deviceorientation&apos;, secondListener);
I think the best fix is to just add the second listener from the first listener, and check that a total of three events fire. I already have a patch and will upload it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279555</commentid>
    <comment_count>3</comment_count>
      <attachid>67679</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-09-15 08:34:44 -0700</bug_when>
    <thetext>Created attachment 67679
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279559</commentid>
    <comment_count>4</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-09-15 08:43:37 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Created an attachment (id=67679) [details]
&gt; Patch

Ah, this is much simpler. I&apos;d r+ if I could :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279563</commentid>
    <comment_count>5</comment_count>
      <attachid>67679</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-09-15 08:48:02 -0700</bug_when>
    <thetext>Comment on attachment 67679
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279565</commentid>
    <comment_count>6</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-09-15 08:53:32 -0700</bug_when>
    <thetext>Committed r67557: &lt;http://trac.webkit.org/changeset/67557&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67677</attachid>
            <date>2010-09-15 08:06:12 -0700</date>
            <delta_ts>2010-09-15 08:34:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45814-20100915160610.patch</filename>
            <type>text/plain</type>
            <size>3363</size>
            <attacher name="Hans Wennborg">hans</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlZjVlNWQxNzhjYWNhMGRkZDEzZmQ0NzU5ZWUyNDMyMTY3NTg5MTczLi4xNTBjYzVj
OGVkMTcwMjgxMjg0NGU5OTc4YTE4NTdjYzQyOTU4ZGJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAK
KzIwMTAtMDktMTUgIEhhbnMgV2VubmJvcmcgIDxoYW5zQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBmYXN0L2RvbS9EZXZpY2VP
cmllbnRhdGlvbi9hZGQtbGlzdGVuZXItZnJvbS1jYWxsYmFjayBmbGFreQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU4MTQKKworICAgICAgICBUaGVy
ZSB3YXMgYSByYWNlIGluIHRoZSBhZGQtbGlzdGVuZXItZnJvbS1jYWxsYmFjayB0ZXN0OiBpdCB1
c2VkIHRvIGRvCisgICAgICAgIHNldE1vY2tPcmllbnRhdGlvbigpIGFuZCB0aGVuIHdpbmRvdy5h
ZGRFdmVudExpc3RuZXIoKSwgYnV0IHNpbmNlIHRoZQorICAgICAgICBldmVudCBjYXVzZWQgYnkg
c2V0TW9ja09yaWVudGF0aW9uKCkgaXMgZmlyZWQgYXN5bmNocm9ub3VzbHksIGl0IHdvdWxkCisg
ICAgICAgIHNvbWV0aW1lcyBiZSBmaXJlZCBhZnRlciB0aGUgbmV3IGV2ZW50IGxpc3RlbmVyIHdh
cyBhZGRlZCwgY2F1c2luZyB0aGUKKyAgICAgICAgdGVzdCB0byByZWNlaXZlIG9uZSBtb3JlIGV2
ZW50IHRoYW4gaXQgZXhwZWN0ZWQuCisKKyAgICAgICAgQ2hhbmdpbmcgdGhlIHRlc3Qgc28gdGhh
dCBpdCB3YWl0cyBmb3IgdGhlIGV2ZW50IHRyaWdnZXJlZCBieQorICAgICAgICBzZXRNb2NrT3Jp
ZW50YXRpb24oKSBiZWZvcmUgaXQgYWRkcyB0aGUgbmV3IGxpc3RlbmVyLgorCisgICAgICAgICog
ZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vYWRkLWxpc3RlbmVyLWZyb20tY2FsbGJhY2stZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uL3NjcmlwdC10
ZXN0cy9hZGQtbGlzdGVuZXItZnJvbS1jYWxsYmFjay5qczoKKyAgICAgICAgKGZpcnN0TGlzdGVu
ZXIpOgorICAgICAgICAobWF5YmVGaW5pc2hUZXN0KToKKwogMjAxMC0wOS0xNCAgSm9obiBHcmVn
ZyAgPGpvaG5ueWdAZ29vZ2xlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBjaHJvbWl1bSBy
ZWJhc2VsaW5lIHRvIGZpeCBidWlsZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L0RldmljZU9yaWVudGF0aW9uL2FkZC1saXN0ZW5lci1mcm9tLWNhbGxiYWNrLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uL2FkZC1saXN0ZW5lci1m
cm9tLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAppbmRleCA2YmY4NGQ0NTFlMTk1YTcyMTE5NWY3Mjk0
Mzc4OWI0NzcwMDA0ZjNkLi43MTg2ZThlNjk5ZDc5NTY4NDExNWQ1Nzk3Y2I4NjU2OGI0NGY3Y2E5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9hZGQt
bGlzdGVuZXItZnJvbS1jYWxsYmFjay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vRGV2aWNlT3JpZW50YXRpb24vYWRkLWxpc3RlbmVyLWZyb20tY2FsbGJhY2stZXhwZWN0
ZWQudHh0CkBAIC0xMiw2ICsxMiw5IEBAIFBBU1MgZGV2aWNlT3JpZW50YXRpb25FdmVudC5nYW1t
YSBpcyBtb2NrRXZlbnQuZ2FtbWEKIFBBU1MgZGV2aWNlT3JpZW50YXRpb25FdmVudC5hbHBoYSBp
cyBtb2NrRXZlbnQuYWxwaGEKIFBBU1MgZGV2aWNlT3JpZW50YXRpb25FdmVudC5iZXRhIGlzIG1v
Y2tFdmVudC5iZXRhCiBQQVNTIGRldmljZU9yaWVudGF0aW9uRXZlbnQuZ2FtbWEgaXMgbW9ja0V2
ZW50LmdhbW1hCitQQVNTIGRldmljZU9yaWVudGF0aW9uRXZlbnQuYWxwaGEgaXMgbW9ja0V2ZW50
LmFscGhhCitQQVNTIGRldmljZU9yaWVudGF0aW9uRXZlbnQuYmV0YSBpcyBtb2NrRXZlbnQuYmV0
YQorUEFTUyBkZXZpY2VPcmllbnRhdGlvbkV2ZW50LmdhbW1hIGlzIG1vY2tFdmVudC5nYW1tYQog
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9zY3JpcHQtdGVzdHMv
YWRkLWxpc3RlbmVyLWZyb20tY2FsbGJhY2suanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZp
Y2VPcmllbnRhdGlvbi9zY3JpcHQtdGVzdHMvYWRkLWxpc3RlbmVyLWZyb20tY2FsbGJhY2suanMK
aW5kZXggMzgxYjg5Y2JkOGM0OWMwNjU5ZTE4YjA4YTU1ZTU2YjRlZjYxOWY1NC4uNTA5ZGQ0NjNj
MzZiMjRhYTQyMjcxODUxZTM0MWE4MTZhY2IyOTAxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vc2NyaXB0LXRlc3RzL2FkZC1saXN0ZW5lci1mcm9t
LWNhbGxiYWNrLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU9yaWVudGF0aW9u
L3NjcmlwdC10ZXN0cy9hZGQtbGlzdGVuZXItZnJvbS1jYWxsYmFjay5qcwpAQCAtMjIsOSArMjIs
MTAgQEAgZnVuY3Rpb24gZmlyc3RMaXN0ZW5lcihldmVudCkgewogICAgIGNoZWNrT3JpZW50YXRp
b24oZXZlbnQpOwogICAgIGlmICgrK2ZpcnN0TGlzdGVuZXJFdmVudHMgPT0gMSkKICAgICAgICAg
c2V0TW9ja09yaWVudGF0aW9uKDExLjEsIDIyLjIsIDMzLjMpOwotICAgIGVsc2UgaWYgKGZpcnN0
TGlzdGVuZXJFdmVudHMgPiAyKQorICAgIGVsc2UgaWYgKGZpcnN0TGlzdGVuZXJFdmVudHMgPT0g
MikKKyAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2RldmljZW9yaWVudGF0aW9uJywg
c2Vjb25kTGlzdGVuZXIpOworICAgIGVsc2UgaWYgKGZpcnN0TGlzdGVuZXJFdmVudHMgPiAzKQog
ICAgICAgICB0ZXN0RmFpbGVkKCdUb28gbWFueSBldmVudHMgZm9yIGZpcnN0IGxpc3RlbmVyLicp
OwotICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdkZXZpY2VvcmllbnRhdGlvbicsIHNlY29u
ZExpc3RlbmVyKTsKICAgICBtYXliZUZpbmlzaFRlc3QoKTsKIH0KIApAQCAtMzcsNyArMzgsNyBA
QCBmdW5jdGlvbiBzZWNvbmRMaXN0ZW5lcihldmVudCkgewogfQogCiBmdW5jdGlvbiBtYXliZUZp
bmlzaFRlc3QoKSB7Ci0gICAgaWYgKGZpcnN0TGlzdGVuZXJFdmVudHMgPT0gMiAmJiBzZWNvbmRM
aXN0ZW5lckV2ZW50cyA9PSAxKQorICAgIGlmIChmaXJzdExpc3RlbmVyRXZlbnRzID09IDMgJiYg
c2Vjb25kTGlzdGVuZXJFdmVudHMgPT0gMSkKICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67679</attachid>
            <date>2010-09-15 08:34:44 -0700</date>
            <delta_ts>2010-09-15 08:48:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45814-20100915163442.patch</filename>
            <type>text/plain</type>
            <size>5184</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDY3NTU1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTAtMDktMTUgIFN0ZXZlIEJsb2NrICA8c3Rl
dmVibG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIGZhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uL2FkZC1saXN0ZW5lci1mcm9t
LWNhbGxiYWNrIGZsYWt5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00NTgxNAorCisgICAgICAgIFdoZW4gd2UgY2FsbCBhZGRFdmVudExpc3RlbmVyKCks
IGFuIGV2ZW50IGlzIHNlbnQgdG8gYWxsIHJlZ2lzdGVyZWQKKyAgICAgICAgZXZlbnQgbGlzdGVu
ZXJzIG9uIHRoYXQgcGFnZS4gU28gaW4gdGhlIGV4aXN0aW5nIHRlc3QsIGJvdGggdGhlIGNhbGxz
CisgICAgICAgIHRvIHNldE1vY2tEZXZpY2VPcmllbnRhdGlvbigpIGFuZCBhZGRFdmVudExpc3Rl
bmVyKCkgd2lsbCB0cmlnZ2VyIGV2ZW50cworICAgICAgICB0byBmaXJlIGFzeW5jaHJvbm91c2x5
IG9uIGJvdGggbGlzdGVuZXJzIChib3RoIHdpbGwgYmUgcmVnaXN0ZXJlZCBieSB0aGUKKyAgICAg
ICAgdGltZSB0aGUgZXZlbnQgZmlyZXMpLCBnaXZpbmcgYSB0b3RhbCBvZiBmaXZlIGV2ZW50cy4g
QSByYWNlIGNvbmRpdGlvbgorICAgICAgICBleGlzdHMgYXMgdG8gd2hldGhlciB0aGUgdGVzdCBm
aW5pc2hlcyBhZnRlciB0aGUgdGhpcmQgZXZlbnQsIGJlZm9yZQorICAgICAgICB0aGUgZm91cnRo
IGV2ZW50IGZpcmVzLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZml4ZXMgdGhlIHByb2JsZW0gYnkg
ZXhwZWN0aW5nIHRoZSBjb3JyZWN0IG51bWJlciBvZiBldmVudHMKKyAgICAgICAgdG8gZmlyZS4g
V2UgYWxzbyByZW1vdmUgdGhlIGNhbGwgdG8gc2V0TW9ja0RldmljZU9yaWVudGF0aW9uKCkgYXMg
dGhpcworICAgICAgICBhZGRzIGV4dHJhIGNvbXBsaWNhdGlvbiBhbmQgaXMgdGVzdGVkIGluIHVw
ZGF0ZS5odG1sLgorCisgICAgICAgICogZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vYWRkLWxp
c3RlbmVyLWZyb20tY2FsbGJhY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL0Rl
dmljZU9yaWVudGF0aW9uL3NjcmlwdC10ZXN0cy9hZGQtbGlzdGVuZXItZnJvbS1jYWxsYmFjay5q
czoKKyAgICAgICAgKGNoZWNrT3JpZW50YXRpb24pOgorICAgICAgICAoZmlyc3RMaXN0ZW5lcik6
CisKIDIwMTAtMDktMTUgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uL2FkZC1saXN0ZW5lci1mcm9tLWNhbGxiYWNrLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VPcmll
bnRhdGlvbi9hZGQtbGlzdGVuZXItZnJvbS1jYWxsYmFjay1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDY3NDk4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vYWRkLWxp
c3RlbmVyLWZyb20tY2FsbGJhY2stZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDE1
ICszLDE1IEBAIFRlc3RzIHRoYXQgYWRkaW5nIGEgbmV3IGV2ZW50IGxpc3RlbmVyIGYKIE9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIGRldmljZU9yaWVudGF0aW9uRXZlbnQuYWxw
aGEgaXMgbW9ja0V2ZW50LmFscGhhCi1QQVNTIGRldmljZU9yaWVudGF0aW9uRXZlbnQuYmV0YSBp
cyBtb2NrRXZlbnQuYmV0YQotUEFTUyBkZXZpY2VPcmllbnRhdGlvbkV2ZW50LmdhbW1hIGlzIG1v
Y2tFdmVudC5nYW1tYQotUEFTUyBkZXZpY2VPcmllbnRhdGlvbkV2ZW50LmFscGhhIGlzIG1vY2tF
dmVudC5hbHBoYQotUEFTUyBkZXZpY2VPcmllbnRhdGlvbkV2ZW50LmJldGEgaXMgbW9ja0V2ZW50
LmJldGEKLVBBU1MgZGV2aWNlT3JpZW50YXRpb25FdmVudC5nYW1tYSBpcyBtb2NrRXZlbnQuZ2Ft
bWEKLVBBU1MgZGV2aWNlT3JpZW50YXRpb25FdmVudC5hbHBoYSBpcyBtb2NrRXZlbnQuYWxwaGEK
LVBBU1MgZGV2aWNlT3JpZW50YXRpb25FdmVudC5iZXRhIGlzIG1vY2tFdmVudC5iZXRhCi1QQVNT
IGRldmljZU9yaWVudGF0aW9uRXZlbnQuZ2FtbWEgaXMgbW9ja0V2ZW50LmdhbW1hCitQQVNTIGRl
dmljZU9yaWVudGF0aW9uRXZlbnQuYWxwaGEgaXMgbW9ja0FscGhhCitQQVNTIGRldmljZU9yaWVu
dGF0aW9uRXZlbnQuYmV0YSBpcyBtb2NrQmV0YQorUEFTUyBkZXZpY2VPcmllbnRhdGlvbkV2ZW50
LmdhbW1hIGlzIG1vY2tHYW1tYQorUEFTUyBkZXZpY2VPcmllbnRhdGlvbkV2ZW50LmFscGhhIGlz
IG1vY2tBbHBoYQorUEFTUyBkZXZpY2VPcmllbnRhdGlvbkV2ZW50LmJldGEgaXMgbW9ja0JldGEK
K1BBU1MgZGV2aWNlT3JpZW50YXRpb25FdmVudC5nYW1tYSBpcyBtb2NrR2FtbWEKK1BBU1MgZGV2
aWNlT3JpZW50YXRpb25FdmVudC5hbHBoYSBpcyBtb2NrQWxwaGEKK1BBU1MgZGV2aWNlT3JpZW50
YXRpb25FdmVudC5iZXRhIGlzIG1vY2tCZXRhCitQQVNTIGRldmljZU9yaWVudGF0aW9uRXZlbnQu
Z2FtbWEgaXMgbW9ja0dhbW1hCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRF
U1QgQ09NUExFVEUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU9yaWVudGF0aW9u
L3NjcmlwdC10ZXN0cy9hZGQtbGlzdGVuZXItZnJvbS1jYWxsYmFjay5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9zY3JpcHQtdGVzdHMvYWRk
LWxpc3RlbmVyLWZyb20tY2FsbGJhY2suanMJKHJldmlzaW9uIDY3NDk4KQorKysgTGF5b3V0VGVz
dHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vc2NyaXB0LXRlc3RzL2FkZC1saXN0ZW5lci1m
cm9tLWNhbGxiYWNrLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMwICsxLDI5IEBACiBkZXNjcmlw
dGlvbignVGVzdHMgdGhhdCBhZGRpbmcgYSBuZXcgZXZlbnQgbGlzdGVuZXIgZnJvbSBhIGNhbGxi
YWNrIHdvcmtzIGFzIGV4cGVjdGVkLicpOwogCi12YXIgbW9ja0V2ZW50OwotZnVuY3Rpb24gc2V0
TW9ja09yaWVudGF0aW9uKGFscGhhLCBiZXRhLCBnYW1tYSkgewotICAgIG1vY2tFdmVudCA9IHth
bHBoYTogYWxwaGEsIGJldGE6IGJldGEsIGdhbW1hOiBnYW1tYX07Ci0gICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0TW9j
a0RldmljZU9yaWVudGF0aW9uKHRydWUsIG1vY2tFdmVudC5hbHBoYSwgdHJ1ZSwgbW9ja0V2ZW50
LmJldGEsIHRydWUsIG1vY2tFdmVudC5nYW1tYSk7Ci0gICAgZWxzZQotICAgICAgICBkZWJ1Zygn
VGhpcyB0ZXN0IGNhbiBub3QgYmUgcnVuIHdpdGhvdXQgdGhlIExheW91dFRlc3RDb250cm9sbGVy
Jyk7Ci19Cit2YXIgbW9ja0FscGhhID0gMS4xOwordmFyIG1vY2tCZXRhID0gMi4yOwordmFyIG1v
Y2tHYW1tYSA9IDMuMzsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5zZXRNb2NrRGV2aWNlT3JpZW50YXRpb24odHJ1ZSwgbW9ja0Fs
cGhhLCB0cnVlLCBtb2NrQmV0YSwgdHJ1ZSwgbW9ja0dhbW1hKTsKK2Vsc2UKKyAgICBkZWJ1Zygn
VGhpcyB0ZXN0IGNhbiBub3QgYmUgcnVuIHdpdGhvdXQgdGhlIExheW91dFRlc3RDb250cm9sbGVy
Jyk7CiAKIHZhciBkZXZpY2VPcmllbnRhdGlvbkV2ZW50OwogZnVuY3Rpb24gY2hlY2tPcmllbnRh
dGlvbihldmVudCkgewogICAgIGRldmljZU9yaWVudGF0aW9uRXZlbnQgPSBldmVudDsKLSAgICBz
aG91bGRCZSgnZGV2aWNlT3JpZW50YXRpb25FdmVudC5hbHBoYScsICdtb2NrRXZlbnQuYWxwaGEn
KTsKLSAgICBzaG91bGRCZSgnZGV2aWNlT3JpZW50YXRpb25FdmVudC5iZXRhJywgJ21vY2tFdmVu
dC5iZXRhJyk7Ci0gICAgc2hvdWxkQmUoJ2RldmljZU9yaWVudGF0aW9uRXZlbnQuZ2FtbWEnLCAn
bW9ja0V2ZW50LmdhbW1hJyk7CisgICAgc2hvdWxkQmUoJ2RldmljZU9yaWVudGF0aW9uRXZlbnQu
YWxwaGEnLCAnbW9ja0FscGhhJyk7CisgICAgc2hvdWxkQmUoJ2RldmljZU9yaWVudGF0aW9uRXZl
bnQuYmV0YScsICdtb2NrQmV0YScpOworICAgIHNob3VsZEJlKCdkZXZpY2VPcmllbnRhdGlvbkV2
ZW50LmdhbW1hJywgJ21vY2tHYW1tYScpOwogfQogCiB2YXIgZmlyc3RMaXN0ZW5lckV2ZW50cyA9
IDA7CiBmdW5jdGlvbiBmaXJzdExpc3RlbmVyKGV2ZW50KSB7CiAgICAgY2hlY2tPcmllbnRhdGlv
bihldmVudCk7CiAgICAgaWYgKCsrZmlyc3RMaXN0ZW5lckV2ZW50cyA9PSAxKQotICAgICAgICBz
ZXRNb2NrT3JpZW50YXRpb24oMTEuMSwgMjIuMiwgMzMuMyk7CisgICAgICAgIHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCdkZXZpY2VvcmllbnRhdGlvbicsIHNlY29uZExpc3RlbmVyKTsKICAgICBl
bHNlIGlmIChmaXJzdExpc3RlbmVyRXZlbnRzID4gMikKICAgICAgICAgdGVzdEZhaWxlZCgnVG9v
IG1hbnkgZXZlbnRzIGZvciBmaXJzdCBsaXN0ZW5lci4nKTsKLSAgICB3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcignZGV2aWNlb3JpZW50YXRpb24nLCBzZWNvbmRMaXN0ZW5lcik7CiAgICAgbWF5YmVG
aW5pc2hUZXN0KCk7CiB9CiAKQEAgLTQxLDcgKzQwLDYgQEAgZnVuY3Rpb24gbWF5YmVGaW5pc2hU
ZXN0KCkgewogICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0KIAotc2V0TW9ja09yaWVudGF0aW9u
KDEuMSwgMi4yLCAzLjMpOwogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2RldmljZW9yaWVudGF0
aW9uJywgZmlyc3RMaXN0ZW5lcik7CiAKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
</data>
<flag name="review"
          id="57047"
          type_id="1"
          status="+"
          setter="jorlow"
    />
          </attachment>
      

    </bug>

</bugzilla>