<?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>42304</bug_id>
          
          <creation_ts>2010-07-14 16:49:09 -0700</creation_ts>
          <short_desc>DeviceOrientation event listeners should never be called synchronously from addEventListener()</short_desc>
          <delta_ts>2010-07-26 09:03:51 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>30335</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Steve Block">steveblock</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>hans</cc>
    
    <cc>jorlow</cc>
    
    <cc>ojan</cc>
    
    <cc>steveblock</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>251519</commentid>
    <comment_count>0</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-14 16:49:09 -0700</bug_when>
    <thetext>See Bug 39588 for background.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252424</commentid>
    <comment_count>1</comment_count>
      <attachid>61785</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-16 02:42:05 -0700</bug_when>
    <thetext>Created attachment 61785
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255078</commentid>
    <comment_count>2</comment_count>
      <attachid>61785</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-07-22 17:05:46 -0700</bug_when>
    <thetext>Comment on attachment 61785
Patch

Even if you can&apos;t add layout tests you should add manual tests that can be converted to layout tests once LayoutTestController supports DeviceOrientation. Also, it would be good if the ChangeLog description could point to the bugs for adding the necessary support to LayoutTestController.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255244</commentid>
    <comment_count>3</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-23 00:53:01 -0700</bug_when>
    <thetext>&gt; Even if you can&apos;t add layout tests you should add manual tests that can be converted to layout tests once
&gt; LayoutTestController supports DeviceOrientation.
I don&apos;t think this is possible. Currently, no platforms enable DeviceOrientation, so there&apos;s no real implementation to test. Addition of a mock implementation is underway at in Bug 39589. I already have Bug 39590 to track adding DeviceOrientation layout tests and assure you that I&apos;ll add a test for this case as soon as the mock is in place!

&gt; Also, it would be good if the ChangeLog description could point to the bugs for adding the necessary
&gt; support to LayoutTestController.
Will upload a patch to do this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255249</commentid>
    <comment_count>4</comment_count>
      <attachid>62390</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-23 01:04:41 -0700</bug_when>
    <thetext>Created attachment 62390
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256047</commentid>
    <comment_count>5</comment_count>
      <attachid>62390</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-07-26 08:18:13 -0700</bug_when>
    <thetext>Comment on attachment 62390
Patch

WebCore/dom/DeviceOrientationController.cpp:48
 +      m_timer.stop();
why is this necessary?

WebCore/dom/DeviceOrientationController.cpp:51
 +              m_client-&gt;lastOrientation() : DeviceOrientation::create();
I&apos;d lean towards not wrapping these.

WebCore/dom/DeviceOrientationController.cpp:65
 +      // immediately trigger an asynchronous response.
This seems to imply that if it&apos;s not present, it would fire whenever it becomes so...which does&apos;t seem to be true.

Also &quot;immediately&quot; and &quot;asynchronous&quot; kind of conflict.

WebCore/dom/DeviceOrientationController.h:57
 +      typedef HashSet&lt;DOMWindow*&gt; ListenersSet;
I&apos;d lean towards putting newlines between the pairs of typedef+declarations...but it&apos;s more personal preference.



r=me, but please consider making the above changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256057</commentid>
    <comment_count>6</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-26 08:47:02 -0700</bug_when>
    <thetext>&gt; WebCore/dom/DeviceOrientationController.cpp:48
&gt;  +      m_timer.stop();
&gt; why is this necessary?
It&apos;s not, will remove.

&gt; WebCore/dom/DeviceOrientationController.cpp:51
&gt;  +              m_client-&gt;lastOrientation() : DeviceOrientation::create();
&gt; I&apos;d lean towards not wrapping these.
Will fix.

&gt; WebCore/dom/DeviceOrientationController.cpp:65
&gt;  +      // immediately trigger an asynchronous response.
I was trying to describe that the event is async, but triggered right now, without waiting for the client to get new data. Will update the comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256061</commentid>
    <comment_count>7</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-26 09:03:51 -0700</bug_when>
    <thetext>Committed r64048: &lt;http://trac.webkit.org/changeset/64048&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61785</attachid>
            <date>2010-07-16 02:42:05 -0700</date>
            <delta_ts>2010-07-23 01:04:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42304-20100716104203.patch</filename>
            <type>text/plain</type>
            <size>4957</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MzUzNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTAtMDctMTYgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IERldmljZU9yaWVudGF0aW9uIGV2ZW50IGxpc3RlbmVycyBzaG91bGQgbmV2ZXIgYmUgY2FsbGVk
IHN5bmNocm9ub3VzbHkgZnJvbSBhZGRFdmVudExpc3RlbmVyKCkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyMzA0CisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLiBUZXN0cyB3aWxsIGJlIGFkZGVkIG9uY2UgTGF5b3V0VGVzdENvbnRyb2xsZXIgbWV0aG9k
cyBmb3IgRGV2aWNlT3JpZW50YXRpb24gYXJlIGluIHBsYWNlLgorCisgICAgICAgICogZG9tL0Rl
dmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VP
cmllbnRhdGlvbkNvbnRyb2xsZXI6OkRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcik6CisgICAg
ICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6OnRpbWVyRmlyZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyOjphZGRMaXN0ZW5l
cik6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6OnJlbW92
ZUxpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ29udHJvbGxl
cjo6cmVtb3ZlQWxsTGlzdGVuZXJzKToKKyAgICAgICAgKiBkb20vRGV2aWNlT3JpZW50YXRpb25D
b250cm9sbGVyLmg6CisKIDIwMTAtMDctMTYgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGlyayBTY2h1bHplLgpJbmRleDog
V2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA2
MzUzMykKKysrIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM3LDIxICszNywzOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBEZXZp
Y2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6OkRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcihQYWdl
KiBwYWdlLCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudCogY2xpZW50KQogICAgIDogbV9wYWdlKHBh
Z2UpCiAgICAgLCBtX2NsaWVudChjbGllbnQpCisgICAgLCBtX3RpbWVyKHRoaXMsICZEZXZpY2VP
cmllbnRhdGlvbkNvbnRyb2xsZXI6OnRpbWVyRmlyZWQpCiB7CiB9CiAKK3ZvaWQgRGV2aWNlT3Jp
ZW50YXRpb25Db250cm9sbGVyOjp0aW1lckZpcmVkKFRpbWVyPERldmljZU9yaWVudGF0aW9uQ29u
dHJvbGxlcj4qIHRpbWVyKQoreworICAgIEFTU0VSVF9VTlVTRUQodGltZXIsIHRpbWVyID09ICZt
X3RpbWVyKTsKKyAgICBBU1NFUlQoIW1fY2xpZW50IHx8IG1fY2xpZW50LT5sYXN0T3JpZW50YXRp
b24oKSk7CisgICAgbV90aW1lci5zdG9wKCk7CisKKyAgICBSZWZQdHI8RGV2aWNlT3JpZW50YXRp
b24+IG9yaWVudGF0aW9uID0gbV9jbGllbnQgPworICAgICAgICAgICAgbV9jbGllbnQtPmxhc3RP
cmllbnRhdGlvbigpIDogRGV2aWNlT3JpZW50YXRpb246OmNyZWF0ZSgpOworICAgIFJlZlB0cjxE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50PiBldmVudCA9CisgICAgICAgICAgICBEZXZpY2VPcmllbnRh
dGlvbkV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmRldmljZW9yaWVudGF0aW9uRXZlbnQsIG9y
aWVudGF0aW9uLmdldCgpKTsKKworICAgIFZlY3RvcjxET01XaW5kb3cqPiBsaXN0ZW5lcnNWZWN0
b3I7CisgICAgY29weVRvVmVjdG9yKG1fbmV3TGlzdGVuZXJzLCBsaXN0ZW5lcnNWZWN0b3IpOwor
ICAgIG1fbmV3TGlzdGVuZXJzLmNsZWFyKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBs
aXN0ZW5lcnNWZWN0b3Iuc2l6ZSgpOyArK2kpCisgICAgICAgIGxpc3RlbmVyc1ZlY3RvcltpXS0+
ZGlzcGF0Y2hFdmVudChldmVudCk7Cit9CisKIHZvaWQgRGV2aWNlT3JpZW50YXRpb25Db250cm9s
bGVyOjphZGRMaXN0ZW5lcihET01XaW5kb3cqIHdpbmRvdykKIHsKLSAgICAvLyBJZiBubyBjbGll
bnQgaXMgcHJlc2VudCwgc2lnbmFsIHRoYXQgbm8gb3JpZW50YXRpb24gZGF0YSBpcyBhdmFpbGFi
bGUuCi0gICAgLy8gSWYgdGhlIGNsaWVudCBhbHJlYWR5IGhhcyBhbiBvcmllbnRhdGlvbiwgY2Fs
bCBiYWNrIHRvIHRoaXMgbmV3IGxpc3RlbmVyCi0gICAgLy8gaW1tZWRpYXRlbHkuCi0gICAgaWYg
KCFtX2NsaWVudCkgewotICAgICAgICBSZWZQdHI8RGV2aWNlT3JpZW50YXRpb24+IGVtcHR5T3Jp
ZW50YXRpb24gPSBEZXZpY2VPcmllbnRhdGlvbjo6Y3JlYXRlKCk7Ci0gICAgICAgIHdpbmRvdy0+
ZGlzcGF0Y2hFdmVudChEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygp
LmRldmljZW9yaWVudGF0aW9uRXZlbnQsIGVtcHR5T3JpZW50YXRpb24uZ2V0KCkpKTsKLSAgICB9
IGVsc2UgaWYgKG1fY2xpZW50ICYmIG1fY2xpZW50LT5sYXN0T3JpZW50YXRpb24oKSkKLSAgICAg
ICAgd2luZG93LT5kaXNwYXRjaEV2ZW50KERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmNyZWF0ZShl
dmVudE5hbWVzKCkuZGV2aWNlb3JpZW50YXRpb25FdmVudCwgbV9jbGllbnQtPmxhc3RPcmllbnRh
dGlvbigpKSk7CisgICAgLy8gSWYgbm8gY2xpZW50IGlzIHByZXNlbnQgb3IgdGhlIGNsaWVudCBh
bHJlYWR5IGhhcyBhbiBvcmllbnRhdGlvbiwKKyAgICAvLyBpbW1lZGlhdGVseSB0cmlnZ2VyIGFu
IGFzeW5jaHJvbm91cyByZXNwb25zZS4KKyAgICBpZiAoIW1fY2xpZW50IHx8IG1fY2xpZW50LT5s
YXN0T3JpZW50YXRpb24oKSkgeworICAgICAgICBtX25ld0xpc3RlbmVycy5hZGQod2luZG93KTsK
KyAgICAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCisgICAgICAgICAgICBtX3RpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICB9CiAKLSAgICAvLyBUaGUgY2xpZW50IG1heSBjYWxsIGJhY2sg
c3luY2hyb25vdXNseS4KKyAgICAvLyBUaGUgY2xpZW50IG11c3Qgbm90IGNhbGwgYmFjayBzeW5j
aHJvbm91c2x5LgogICAgIGJvb2wgd2FzRW1wdHkgPSBtX2xpc3RlbmVycy5pc0VtcHR5KCk7CiAg
ICAgbV9saXN0ZW5lcnMuYWRkKHdpbmRvdyk7CiAgICAgaWYgKHdhc0VtcHR5ICYmIG1fY2xpZW50
KQpAQCAtNjEsNiArNzksNyBAQCB2b2lkIERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcjo6YWRk
TGlzCiB2b2lkIERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcjo6cmVtb3ZlTGlzdGVuZXIoRE9N
V2luZG93KiB3aW5kb3cpCiB7CiAgICAgbV9saXN0ZW5lcnMucmVtb3ZlKHdpbmRvdyk7CisgICAg
bV9uZXdMaXN0ZW5lcnMucmVtb3ZlKHdpbmRvdyk7CiAgICAgaWYgKG1fbGlzdGVuZXJzLmlzRW1w
dHkoKSAmJiBtX2NsaWVudCkKICAgICAgICAgbV9jbGllbnQtPnN0b3BVcGRhdGluZygpOwogfQpA
QCAtNzIsNiArOTEsNyBAQCB2b2lkIERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcjo6cmVtb3Zl
CiAgICAgICAgIHJldHVybjsKIAogICAgIG1fbGlzdGVuZXJzLnJlbW92ZUFsbCh3aW5kb3cpOwor
ICAgIG1fbmV3TGlzdGVuZXJzLnJlbW92ZSh3aW5kb3cpOwogICAgIGlmIChtX2xpc3RlbmVycy5p
c0VtcHR5KCkgJiYgbV9jbGllbnQpCiAgICAgICAgIG1fY2xpZW50LT5zdG9wVXBkYXRpbmcoKTsK
IH0KSW5kZXg6IFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oCShyZXZp
c2lvbiA2MzUzMykKKysrIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw4IEBACiAjZGVmaW5lIERldmljZU9yaWVudGF0
aW9uQ29udHJvbGxlcl9oCiAKICNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNsdWRlICJUaW1l
ci5oIgorCiAjaW5jbHVkZSA8d3RmL0hhc2hDb3VudGVkU2V0Lmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQ2LDEwICs0OCwxNSBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRDaGFuZ2VEZXZp
Y2VPcmllbnRhdGlvbihEZXZpY2VPcmllbnRhdGlvbiopOwogCiBwcml2YXRlOgorICAgIHZvaWQg
dGltZXJGaXJlZChUaW1lcjxEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI+Kik7CisKICAgICBQ
YWdlKiBtX3BhZ2U7CiAgICAgRGV2aWNlT3JpZW50YXRpb25DbGllbnQqIG1fY2xpZW50OwotICAg
IHR5cGVkZWYgSGFzaENvdW50ZWRTZXQ8RE9NV2luZG93Kj4gTGlzdGVuZXJzU2V0OwotICAgIExp
c3RlbmVyc1NldCBtX2xpc3RlbmVyczsKKyAgICB0eXBlZGVmIEhhc2hDb3VudGVkU2V0PERPTVdp
bmRvdyo+IExpc3RlbmVyc0NvdW50ZWRTZXQ7CisgICAgTGlzdGVuZXJzQ291bnRlZFNldCBtX2xp
c3RlbmVyczsKKyAgICB0eXBlZGVmIEhhc2hTZXQ8RE9NV2luZG93Kj4gTGlzdGVuZXJzU2V0Owor
ICAgIExpc3RlbmVyc1NldCBtX25ld0xpc3RlbmVyczsKKyAgICBUaW1lcjxEZXZpY2VPcmllbnRh
dGlvbkNvbnRyb2xsZXI+IG1fdGltZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62390</attachid>
            <date>2010-07-23 01:04:41 -0700</date>
            <delta_ts>2010-07-26 08:18:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42304-20100723090439.patch</filename>
            <type>text/plain</type>
            <size>5056</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2Mzk1NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMDctMjMgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IERldmljZU9yaWVudGF0aW9uIGV2ZW50IGxpc3RlbmVycyBzaG91bGQgbmV2ZXIgYmUgY2FsbGVk
IHN5bmNocm9ub3VzbHkgZnJvbSBhZGRFdmVudExpc3RlbmVyKCkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyMzA0CisKKyAgICAgICAgTm8gbmV3IHRl
c3RzIGFzIHRoZXJlIGFyZSBjdXJyZW50bHkgbm8gaW1wbGVtZW50YXRpb25zIHRvIHRlc3QuIFRl
c3RzIHdpbGwgYmUKKyAgICAgICAgYWRkZWQgb25jZSBMYXlvdXRUZXN0Q29udHJvbGxlciBtZXRo
b2RzIGZvciBwcm92aWRpbmcgYSBtb2NrIGltcGxlbWVudGF0aW9uIGFyZQorICAgICAgICBpbiBw
bGFjZSwgc2VlIEJ1ZyAzOTU4OS4KKworICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbkNv
bnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25Db250cm9s
bGVyOjpEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6RGV2
aWNlT3JpZW50YXRpb25Db250cm9sbGVyOjp0aW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6
OkRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcjo6YWRkTGlzdGVuZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyOjpyZW1vdmVMaXN0ZW5lcik6CisgICAg
ICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6OnJlbW92ZUFsbExpc3Rl
bmVycyk6CisgICAgICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oOgorCiAy
MDEwLTA3LTIyICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBZdXJ5IFNlbWlraGF0c2t5LgpJbmRleDogV2ViQ29yZS9kb20vRGV2
aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9E
ZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA2Mzk1NikKKysrIFdlYkNv
cmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM3LDIxICszNywzOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBEZXZpY2VPcmllbnRhdGlvbkNv
bnRyb2xsZXI6OkRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcihQYWdlKiBwYWdlLCBEZXZpY2VP
cmllbnRhdGlvbkNsaWVudCogY2xpZW50KQogICAgIDogbV9wYWdlKHBhZ2UpCiAgICAgLCBtX2Ns
aWVudChjbGllbnQpCisgICAgLCBtX3RpbWVyKHRoaXMsICZEZXZpY2VPcmllbnRhdGlvbkNvbnRy
b2xsZXI6OnRpbWVyRmlyZWQpCiB7CiB9CiAKK3ZvaWQgRGV2aWNlT3JpZW50YXRpb25Db250cm9s
bGVyOjp0aW1lckZpcmVkKFRpbWVyPERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcj4qIHRpbWVy
KQoreworICAgIEFTU0VSVF9VTlVTRUQodGltZXIsIHRpbWVyID09ICZtX3RpbWVyKTsKKyAgICBB
U1NFUlQoIW1fY2xpZW50IHx8IG1fY2xpZW50LT5sYXN0T3JpZW50YXRpb24oKSk7CisgICAgbV90
aW1lci5zdG9wKCk7CisKKyAgICBSZWZQdHI8RGV2aWNlT3JpZW50YXRpb24+IG9yaWVudGF0aW9u
ID0gbV9jbGllbnQgPworICAgICAgICAgICAgbV9jbGllbnQtPmxhc3RPcmllbnRhdGlvbigpIDog
RGV2aWNlT3JpZW50YXRpb246OmNyZWF0ZSgpOworICAgIFJlZlB0cjxEZXZpY2VPcmllbnRhdGlv
bkV2ZW50PiBldmVudCA9CisgICAgICAgICAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpjcmVh
dGUoZXZlbnROYW1lcygpLmRldmljZW9yaWVudGF0aW9uRXZlbnQsIG9yaWVudGF0aW9uLmdldCgp
KTsKKworICAgIFZlY3RvcjxET01XaW5kb3cqPiBsaXN0ZW5lcnNWZWN0b3I7CisgICAgY29weVRv
VmVjdG9yKG1fbmV3TGlzdGVuZXJzLCBsaXN0ZW5lcnNWZWN0b3IpOworICAgIG1fbmV3TGlzdGVu
ZXJzLmNsZWFyKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsaXN0ZW5lcnNWZWN0b3Iu
c2l6ZSgpOyArK2kpCisgICAgICAgIGxpc3RlbmVyc1ZlY3RvcltpXS0+ZGlzcGF0Y2hFdmVudChl
dmVudCk7Cit9CisKIHZvaWQgRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyOjphZGRMaXN0ZW5l
cihET01XaW5kb3cqIHdpbmRvdykKIHsKLSAgICAvLyBJZiBubyBjbGllbnQgaXMgcHJlc2VudCwg
c2lnbmFsIHRoYXQgbm8gb3JpZW50YXRpb24gZGF0YSBpcyBhdmFpbGFibGUuCi0gICAgLy8gSWYg
dGhlIGNsaWVudCBhbHJlYWR5IGhhcyBhbiBvcmllbnRhdGlvbiwgY2FsbCBiYWNrIHRvIHRoaXMg
bmV3IGxpc3RlbmVyCi0gICAgLy8gaW1tZWRpYXRlbHkuCi0gICAgaWYgKCFtX2NsaWVudCkgewot
ICAgICAgICBSZWZQdHI8RGV2aWNlT3JpZW50YXRpb24+IGVtcHR5T3JpZW50YXRpb24gPSBEZXZp
Y2VPcmllbnRhdGlvbjo6Y3JlYXRlKCk7Ci0gICAgICAgIHdpbmRvdy0+ZGlzcGF0Y2hFdmVudChE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmRldmljZW9yaWVudGF0
aW9uRXZlbnQsIGVtcHR5T3JpZW50YXRpb24uZ2V0KCkpKTsKLSAgICB9IGVsc2UgaWYgKG1fY2xp
ZW50ICYmIG1fY2xpZW50LT5sYXN0T3JpZW50YXRpb24oKSkKLSAgICAgICAgd2luZG93LT5kaXNw
YXRjaEV2ZW50KERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZGV2
aWNlb3JpZW50YXRpb25FdmVudCwgbV9jbGllbnQtPmxhc3RPcmllbnRhdGlvbigpKSk7CisgICAg
Ly8gSWYgbm8gY2xpZW50IGlzIHByZXNlbnQgb3IgdGhlIGNsaWVudCBhbHJlYWR5IGhhcyBhbiBv
cmllbnRhdGlvbiwKKyAgICAvLyBpbW1lZGlhdGVseSB0cmlnZ2VyIGFuIGFzeW5jaHJvbm91cyBy
ZXNwb25zZS4KKyAgICBpZiAoIW1fY2xpZW50IHx8IG1fY2xpZW50LT5sYXN0T3JpZW50YXRpb24o
KSkgeworICAgICAgICBtX25ld0xpc3RlbmVycy5hZGQod2luZG93KTsKKyAgICAgICAgaWYgKCFt
X3RpbWVyLmlzQWN0aXZlKCkpCisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICB9CiAKLSAgICAvLyBUaGUgY2xpZW50IG1heSBjYWxsIGJhY2sgc3luY2hyb25vdXNseS4K
KyAgICAvLyBUaGUgY2xpZW50IG11c3Qgbm90IGNhbGwgYmFjayBzeW5jaHJvbm91c2x5LgogICAg
IGJvb2wgd2FzRW1wdHkgPSBtX2xpc3RlbmVycy5pc0VtcHR5KCk7CiAgICAgbV9saXN0ZW5lcnMu
YWRkKHdpbmRvdyk7CiAgICAgaWYgKHdhc0VtcHR5ICYmIG1fY2xpZW50KQpAQCAtNjEsNiArNzks
NyBAQCB2b2lkIERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcjo6YWRkTGlzCiB2b2lkIERldmlj
ZU9yaWVudGF0aW9uQ29udHJvbGxlcjo6cmVtb3ZlTGlzdGVuZXIoRE9NV2luZG93KiB3aW5kb3cp
CiB7CiAgICAgbV9saXN0ZW5lcnMucmVtb3ZlKHdpbmRvdyk7CisgICAgbV9uZXdMaXN0ZW5lcnMu
cmVtb3ZlKHdpbmRvdyk7CiAgICAgaWYgKG1fbGlzdGVuZXJzLmlzRW1wdHkoKSAmJiBtX2NsaWVu
dCkKICAgICAgICAgbV9jbGllbnQtPnN0b3BVcGRhdGluZygpOwogfQpAQCAtNzIsNiArOTEsNyBA
QCB2b2lkIERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcjo6cmVtb3ZlCiAgICAgICAgIHJldHVy
bjsKIAogICAgIG1fbGlzdGVuZXJzLnJlbW92ZUFsbCh3aW5kb3cpOworICAgIG1fbmV3TGlzdGVu
ZXJzLnJlbW92ZSh3aW5kb3cpOwogICAgIGlmIChtX2xpc3RlbmVycy5pc0VtcHR5KCkgJiYgbV9j
bGllbnQpCiAgICAgICAgIG1fY2xpZW50LT5zdG9wVXBkYXRpbmcoKTsKIH0KSW5kZXg6IFdlYkNv
cmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oCShyZXZpc2lvbiA2Mzk1NikKKysr
IFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yNyw2ICsyNyw4IEBACiAjZGVmaW5lIERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcl9o
CiAKICNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNsdWRlICJUaW1lci5oIgorCiAjaW5jbHVk
ZSA8d3RmL0hhc2hDb3VudGVkU2V0Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ2LDEw
ICs0OCwxNSBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRDaGFuZ2VEZXZpY2VPcmllbnRhdGlvbihE
ZXZpY2VPcmllbnRhdGlvbiopOwogCiBwcml2YXRlOgorICAgIHZvaWQgdGltZXJGaXJlZChUaW1l
cjxEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI+Kik7CisKICAgICBQYWdlKiBtX3BhZ2U7CiAg
ICAgRGV2aWNlT3JpZW50YXRpb25DbGllbnQqIG1fY2xpZW50OwotICAgIHR5cGVkZWYgSGFzaENv
dW50ZWRTZXQ8RE9NV2luZG93Kj4gTGlzdGVuZXJzU2V0OwotICAgIExpc3RlbmVyc1NldCBtX2xp
c3RlbmVyczsKKyAgICB0eXBlZGVmIEhhc2hDb3VudGVkU2V0PERPTVdpbmRvdyo+IExpc3RlbmVy
c0NvdW50ZWRTZXQ7CisgICAgTGlzdGVuZXJzQ291bnRlZFNldCBtX2xpc3RlbmVyczsKKyAgICB0
eXBlZGVmIEhhc2hTZXQ8RE9NV2luZG93Kj4gTGlzdGVuZXJzU2V0OworICAgIExpc3RlbmVyc1Nl
dCBtX25ld0xpc3RlbmVyczsKKyAgICBUaW1lcjxEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI+
IG1fdGltZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>
<flag name="review"
          id="50576"
          type_id="1"
          status="+"
          setter="jorlow"
    />
    <flag name="commit-queue"
          id="50801"
          type_id="3"
          status="-"
          setter="jorlow"
    />
          </attachment>
      

    </bug>

</bugzilla>