<?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>45891</bug_id>
          
          <creation_ts>2010-09-16 07:50:10 -0700</creation_ts>
          <short_desc>DeviceOrientationClient and DeviceMotionClient should have controllerDestroyed() methods</short_desc>
          <delta_ts>2010-09-21 07:03:52 -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>cmarrin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fishd</cc>
    
    <cc>hans</cc>
    
    <cc>jorlow</cc>
    
    <cc>joth</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>steveblock</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>280087</commentid>
    <comment_count>0</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-09-16 07:50:10 -0700</bug_when>
    <thetext>This is the pattern used for other controller/client pairs and will allow the client to be destroyed by the embedder when the Page and hence controller is destroyed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280151</commentid>
    <comment_count>1</comment_count>
      <attachid>67806</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-09-16 09:41:18 -0700</bug_when>
    <thetext>Created attachment 67806
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280585</commentid>
    <comment_count>2</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-09-17 02:31:29 -0700</bug_when>
    <thetext>This looks fine. 

My only concern was the empty clients, and whether they might be leaked by some implementations because they implement controllerDestroyed() as a nop. But the way they&apos;re used in SVGImage, it doesn&apos;t seem to be a real concern.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280590</commentid>
    <comment_count>3</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-09-17 03:02:17 -0700</bug_when>
    <thetext>&gt; My only concern was the empty clients, and whether they might be leaked by some
&gt; implementations because they implement controllerDestroyed() as a nop. But the
&gt; way they&apos;re used in SVGImage, it doesn&apos;t seem to be a real concern.
Yes, I considered this too, but all of the other empty clients implement it as a no-op, so I followed the pattern.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280612</commentid>
    <comment_count>4</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-09-17 05:12:26 -0700</bug_when>
    <thetext>Someone should review this from the mac port side.  Darin, any thoughts about the naming of the methods?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281461</commentid>
    <comment_count>5</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-09-20 02:34:18 -0700</bug_when>
    <thetext>&gt; Someone should review this from the mac port side.
Added Chris and Simon who looked at the original patch to add the Mac client.

&gt; Darin, any thoughts about the naming of the methods?
The naming for existing clients doesn&apos;t seem to follow a precise pattern. Usually, with a FooController and a FooClient, the method is fooControllerDestroyed(), but there are exceptions, such as {Chrome, ChromeClient, chromeDestroyed()} and {GeolocationController, GeolocationControllerClient and geolocationDestroyed()}.

deviceOrientationControllerDestroyed() seemed needlessly wordy, as it&apos;s pretty obvious which controller has been destroyed, so I went with controllerDestroyed().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281606</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-09-20 09:33:29 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; &gt; Someone should review this from the mac port side.
&gt; Added Chris and Simon who looked at the original patch to add the Mac client.
&gt; 
&gt; &gt; Darin, any thoughts about the naming of the methods?
&gt; The naming for existing clients doesn&apos;t seem to follow a precise pattern. Usually, with a FooController and a FooClient, the method is fooControllerDestroyed(), but there are exceptions, such as {Chrome, ChromeClient, chromeDestroyed()} and {GeolocationController, GeolocationControllerClient and geolocationDestroyed()}.
&gt; 
&gt; deviceOrientationControllerDestroyed() seemed needlessly wordy, as it&apos;s pretty obvious which controller has been destroyed, so I went with controllerDestroyed().

You could run into a problem if you ever want to have a class that implements multiple Client interfaces.  Suppose two Client interfaces both declare controllerDestroyed() methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281636</commentid>
    <comment_count>7</comment_count>
      <attachid>68107</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-09-20 10:22:01 -0700</bug_when>
    <thetext>Created attachment 68107
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282233</commentid>
    <comment_count>8</comment_count>
      <attachid>68107</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-09-21 05:41:21 -0700</bug_when>
    <thetext>Comment on attachment 68107
Patch

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

&gt; WebKit/mac/WebCoreSupport/WebDeviceOrientationClient.mm:65
&gt; +      delete this;

I&apos;m not positive about this part.  If you are, then I guess we can go with it.  If you aren&apos;t, maybe this should go in its own patch for someone from the mac port to review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282269</commentid>
    <comment_count>9</comment_count>
      <attachid>68107</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-09-21 06:40:28 -0700</bug_when>
    <thetext>Comment on attachment 68107
Patch

I&apos;m pretty confident this is correct. Will happily roll back or update if the Mac guys have any comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282279</commentid>
    <comment_count>10</comment_count>
      <attachid>68107</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-21 07:03:45 -0700</bug_when>
    <thetext>Comment on attachment 68107
Patch

Clearing flags on attachment: 68107

Committed r67949: &lt;http://trac.webkit.org/changeset/67949&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282280</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-21 07:03:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67806</attachid>
            <date>2010-09-16 09:41:18 -0700</date>
            <delta_ts>2010-09-20 10:21:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45891-20100916174116.patch</filename>
            <type>text/plain</type>
            <size>9426</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NzYzMSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMTAtMDktMTYgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IERldmljZU9yaWVudGF0aW9uQ2xpZW50IGFuZCBEZXZpY2VNb3Rpb25DbGllbnQgc2hvdWxkIGhh
dmUgY29udHJvbGxlckRlc3Ryb3llZCgpIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1ODkxCisKKyAgICAgICAgVGVzdGVkIGJ5IGV4aXN0
aW5nIERldmljZU9yaWVudGF0aW9uIHRlc3RzLgorCisgICAgICAgICogZG9tL0RldmljZU1vdGlv
bkNsaWVudC5oOgorICAgICAgICAqIGRvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkNvbnRyb2xsZXI6On5EZXZpY2VNb3Rpb25Db250
cm9sbGVyKToKKyAgICAgICAgKiBkb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5oOgorICAgICAg
ICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oOgorICAgICAgICAqIGRvbS9EZXZpY2VP
cmllbnRhdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50
YXRpb25Db250cm9sbGVyOjp+RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKToKKyAgICAgICAg
KiBkb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmg6CisgICAgICAgICogbG9hZGVyL0Vt
cHR5Q2xpZW50cy5oOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlEZXZpY2VNb3Rpb25DbGllbnQ6
OmNvbnRyb2xsZXJEZXN0cm95ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlEZXZpY2VPcmll
bnRhdGlvbkNsaWVudDo6Y29udHJvbGxlckRlc3Ryb3llZCk6CisgICAgICAgICogcGxhdGZvcm0v
bW9jay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaDoKKyAgICAgICAgKFdlYkNvcmU6OkRl
dmljZU9yaWVudGF0aW9uQ2xpZW50TW9jazo6Y29udHJvbGxlckRlc3Ryb3llZCk6CisKIDIwMTAt
MDktMTYgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KSW5kZXg6IFdlYkNvcmUvZG9tL0RldmljZU1v
dGlvbkNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNsaWVu
dC5oCShyZXZpc2lvbiA2NzYxNikKKysrIFdlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNsaWVudC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgc3RhcnRVcGRhdGluZygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc3RvcFVwZGF0aW5nKCkg
PSAwOwogICAgIHZpcnR1YWwgRGV2aWNlTW90aW9uRGF0YSogY3VycmVudERldmljZU1vdGlvbigp
IGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgY29udHJvbGxlckRlc3Ryb3llZCgpID0gMDsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvZG9tL0RldmljZU1v
dGlvbkNvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RldmljZU1vdGlv
bkNvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA2NzYxNikKKysrIFdlYkNvcmUvZG9tL0RldmljZU1v
dGlvbkNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCwxMSBAQCBEZXZp
Y2VNb3Rpb25Db250cm9sbGVyOjpEZXZpY2VNb3Rpb25Db250CiAgICAgbV9jbGllbnQtPnNldENv
bnRyb2xsZXIodGhpcyk7CiB9CiAKK0RldmljZU1vdGlvbkNvbnRyb2xsZXI6On5EZXZpY2VNb3Rp
b25Db250cm9sbGVyKCkKK3sKKyAgICBtX2NsaWVudC0+Y29udHJvbGxlckRlc3Ryb3llZCgpOwor
fQorCiB2b2lkIERldmljZU1vdGlvbkNvbnRyb2xsZXI6OnRpbWVyRmlyZWQoVGltZXI8RGV2aWNl
TW90aW9uQ29udHJvbGxlcj4qIHRpbWVyKQogewogICAgIEFTU0VSVF9VTlVTRUQodGltZXIsIHRp
bWVyID09ICZtX3RpbWVyKTsKSW5kZXg6IFdlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNvbnRyb2xs
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmgJ
KHJldmlzaW9uIDY3NjE2KQorKysgV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBAIGNsYXNzIERldmljZU1vdGlvbkNsaWVu
dDsKIGNsYXNzIERldmljZU1vdGlvbkNvbnRyb2xsZXIgewogcHVibGljOgogICAgIERldmljZU1v
dGlvbkNvbnRyb2xsZXIoRGV2aWNlTW90aW9uQ2xpZW50Kik7CisgICAgfkRldmljZU1vdGlvbkNv
bnRyb2xsZXIoKTsKIAogICAgIHZvaWQgYWRkTGlzdGVuZXIoRE9NV2luZG93Kik7CiAgICAgdm9p
ZCByZW1vdmVMaXN0ZW5lcihET01XaW5kb3cqKTsKSW5kZXg6IFdlYkNvcmUvZG9tL0RldmljZU9y
aWVudGF0aW9uQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50
YXRpb25DbGllbnQuaAkocmV2aXNpb24gNjc2MTYpCisrKyBXZWJDb3JlL2RvbS9EZXZpY2VPcmll
bnRhdGlvbkNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw2ICszOSw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRVcGRhdGluZygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQg
c3RvcFVwZGF0aW5nKCkgPSAwOwogICAgIHZpcnR1YWwgRGV2aWNlT3JpZW50YXRpb24qIGxhc3RP
cmllbnRhdGlvbigpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgY29udHJvbGxlckRlc3Ry
b3llZCgpID0gMDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUv
ZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9kb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcAkocmV2aXNpb24gNjc2MTYpCisr
KyBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00MSw2ICs0MSwxMSBAQCBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6OkRldmlj
ZU9yaWVuCiAgICAgbV9jbGllbnQtPnNldENvbnRyb2xsZXIodGhpcyk7CiB9CiAKK0RldmljZU9y
aWVudGF0aW9uQ29udHJvbGxlcjo6fkRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpCit7Cisg
ICAgbV9jbGllbnQtPmNvbnRyb2xsZXJEZXN0cm95ZWQoKTsKK30KKwogdm9pZCBEZXZpY2VPcmll
bnRhdGlvbkNvbnRyb2xsZXI6OnRpbWVyRmlyZWQoVGltZXI8RGV2aWNlT3JpZW50YXRpb25Db250
cm9sbGVyPiogdGltZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgdGltZXIgPT0gJm1f
dGltZXIpOwpJbmRleDogV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgJ
KHJldmlzaW9uIDY3NjE2KQorKysgV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9s
bGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDcgQEAgY2xhc3MgUGFnZTsKIGNsYXNz
IERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlciB7CiBwdWJsaWM6CiAgICAgRGV2aWNlT3JpZW50
YXRpb25Db250cm9sbGVyKFBhZ2UqLCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudCopOworICAgIH5E
ZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIoKTsKIAogICAgIHZvaWQgYWRkTGlzdGVuZXIoRE9N
V2luZG93Kik7CiAgICAgdm9pZCByZW1vdmVMaXN0ZW5lcihET01XaW5kb3cqKTsKSW5kZXg6IFdl
YkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5oCShyZXZpc2lvbiA2NzYxNikKKysrIFdlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5oCSh3b3JraW5nIGNvcHkpCkBAIC01NDIsNiArNTQyLDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBzdGFydFVwZGF0aW5nKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHN0b3BV
cGRhdGluZygpIHsgfQogICAgIHZpcnR1YWwgRGV2aWNlTW90aW9uRGF0YSogY3VycmVudERldmlj
ZU1vdGlvbigpIGNvbnN0IHsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0dWFsIHZvaWQgY29udHJvbGxl
ckRlc3Ryb3llZCgpIHsgfQogfTsKIAogY2xhc3MgRW1wdHlEZXZpY2VPcmllbnRhdGlvbkNsaWVu
dCA6IHB1YmxpYyBEZXZpY2VPcmllbnRhdGlvbkNsaWVudCB7CkBAIC01NTAsNiArNTUxLDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzdGFydFVwZGF0aW5nKCkgeyB9CiAgICAgdmlydHVh
bCB2b2lkIHN0b3BVcGRhdGluZygpIHsgfQogICAgIHZpcnR1YWwgRGV2aWNlT3JpZW50YXRpb24q
IGxhc3RPcmllbnRhdGlvbigpIGNvbnN0IHsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0dWFsIHZvaWQg
Y29udHJvbGxlckRlc3Ryb3llZCgpIHsgfQogfTsKIAogfQpJbmRleDogV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaAkocmV2aXNpb24g
Njc2MTYpCisrKyBXZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRN
b2NrLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDYgKzQ5LDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBzdGFydFVwZGF0aW5nKCk7CiAgICAgdmlydHVhbCB2b2lkIHN0b3BVcGRhdGluZygp
OwogICAgIHZpcnR1YWwgRGV2aWNlT3JpZW50YXRpb24qIGxhc3RPcmllbnRhdGlvbigpIGNvbnN0
IHsgcmV0dXJuIG1fb3JpZW50YXRpb24uZ2V0KCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgY29udHJv
bGxlckRlc3Ryb3llZCgpIHsgfQogCiAgICAgdm9pZCBzZXRPcmllbnRhdGlvbihQYXNzUmVmUHRy
PERldmljZU9yaWVudGF0aW9uPik7CiAKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gNjc2MzEp
CisrKyBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTcgQEAKKzIwMTAtMDktMTYgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERldmljZU9y
aWVudGF0aW9uQ2xpZW50IGFuZCBEZXZpY2VNb3Rpb25DbGllbnQgc2hvdWxkIGhhdmUgY29udHJv
bGxlckRlc3Ryb3llZCgpIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQ1ODkxCisKKyAgICAgICAgSW1wbGVtZW50cyBEZXZpY2VPcmllbnRh
dGlvbkNsaWVudFByb3h5Ojpjb250cm9sbGVyRGVzdHJveWVkKCkgYXMgYSBuby1vcCwKKyAgICAg
ICAgYXMgdGhlIGNsaWVudCdzIGxpZmV0aW1lIGlzIGRldGVybWluZWQgYnkgdGhlIFdlYlZpZXdJ
bXBsLgorCisgICAgICAgICogc3JjL0RldmljZU9yaWVudGF0aW9uQ2xpZW50UHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudFByb3h5Ojpjb250cm9sbGVy
RGVzdHJveWVkKToKKyAgICAgICAgKiBzcmMvRGV2aWNlT3JpZW50YXRpb25DbGllbnRQcm94eS5o
OgorCiAyMDEwLTA5LTE2ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCkluZGV4OiBXZWJLaXQvY2hyb21p
dW0vc3JjL0RldmljZU9yaWVudGF0aW9uQ2xpZW50UHJveHkuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdC9jaHJvbWl1bS9zcmMvRGV2aWNlT3JpZW50YXRpb25DbGllbnRQcm94eS5jcHAJKHJldmlz
aW9uIDY3NjE2KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9EZXZpY2VPcmllbnRhdGlvbkNsaWVu
dFByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzEsNCArNzEsOSBAQCBXZWJDb3JlOjpEZXZp
Y2VPcmllbnRhdGlvbiogRGV2aWNlT3JpZW50CiAgICAgcmV0dXJuIG1fbGFzdE9yaWVudGF0aW9u
LmdldCgpOwogfQogCit2b2lkIERldmljZU9yaWVudGF0aW9uQ2xpZW50UHJveHk6OmNvbnRyb2xs
ZXJEZXN0cm95ZWQoKQoreworICAgIC8vIE91ciBsaWZldGltZSBpcyBib3VuZCB0byB0aGUgV2Vi
Vmlld0ltcGwuCit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogV2ViS2l0L2Nocm9t
aXVtL3NyYy9EZXZpY2VPcmllbnRhdGlvbkNsaWVudFByb3h5LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0L2Nocm9taXVtL3NyYy9EZXZpY2VPcmllbnRhdGlvbkNsaWVudFByb3h5LmgJKHJldmlzaW9u
IDY3NjE2KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9EZXZpY2VPcmllbnRhdGlvbkNsaWVudFBy
b3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDYgKzQ4LDcgQEAgcHVibGljOgogICAgIHZvaWQg
c3RhcnRVcGRhdGluZygpOwogICAgIHZvaWQgc3RvcFVwZGF0aW5nKCk7CiAgICAgV2ViQ29yZTo6
RGV2aWNlT3JpZW50YXRpb24qIGxhc3RPcmllbnRhdGlvbigpIGNvbnN0OworICAgIHZpcnR1YWwg
dm9pZCBjb250cm9sbGVyRGVzdHJveWVkKCk7CiAKIHByaXZhdGU6CiAgICAgV2ViRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnQqIG1fY2xpZW50OwpJbmRleDogV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDY3NjMxKQorKysgV2Vi
S2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0w
OS0xNiAgU3RldmUgQmxvY2sgIDxzdGV2ZWJsb2NrQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRGV2aWNlT3JpZW50YXRpb25DbGll
bnQgYW5kIERldmljZU1vdGlvbkNsaWVudCBzaG91bGQgaGF2ZSBjb250cm9sbGVyRGVzdHJveWVk
KCkgbWV0aG9kcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDU4OTEKKworICAgICAgICBJbXBsZW1lbnRzIFdlYkRldmljZU9yaWVudGF0aW9uQ2xpZW50
Ojpjb250cm9sbGVyRGVzdHJveWVkIHRvIGRlbGV0ZSB0aGUgY2xpZW50LgorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvV2ViRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaDoKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9XZWJEZXZpY2VPcmllbnRhdGlvbkNsaWVudC5tbToKKyAgICAgICAgKFdl
YkRldmljZU9yaWVudGF0aW9uQ2xpZW50Ojpjb250cm9sbGVyRGVzdHJveWVkKToKKwogMjAxMC0w
OS0xNiAgRXJpYyBVaHJoYW5lICA8ZXJpY3VAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IEppYW4gTGkuCkluZGV4OiBXZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkRldmlj
ZU9yaWVudGF0aW9uQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJEZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oCShyZXZpc2lvbiA2NzYxNikKKysrIFdl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtNDcsNiArNDcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHN0
YXJ0VXBkYXRpbmcoKTsKICAgICB2aXJ0dWFsIHZvaWQgc3RvcFVwZGF0aW5nKCk7CiAgICAgdmly
dHVhbCBXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbiogbGFzdE9yaWVudGF0aW9uKCkgY29uc3Q7
CisgICAgdmlydHVhbCB2b2lkIGNvbnRyb2xsZXJEZXN0cm95ZWQoKTsKIAogcHJpdmF0ZToKICAg
ICBpZDxXZWJEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyPiBnZXRQcm92aWRlcigpIGNvbnN0OwpJ
bmRleDogV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJEZXZpY2VPcmllbnRhdGlvbkNsaWVu
dC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkRldmljZU9y
aWVudGF0aW9uQ2xpZW50Lm1tCShyZXZpc2lvbiA2NzYxNikKKysrIFdlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViRGV2aWNlT3JpZW50YXRpb25DbGllbnQubW0JKHdvcmtpbmcgY29weSkKQEAg
LTYwLDYgKzYwLDExIEBAIERldmljZU9yaWVudGF0aW9uKiBXZWJEZXZpY2VPcmllbnRhdGlvbkMK
ICAgICByZXR1cm4gY29yZShbZ2V0UHJvdmlkZXIoKSBsYXN0T3JpZW50YXRpb25dKTsKIH0KIAor
dm9pZCBXZWJEZXZpY2VPcmllbnRhdGlvbkNsaWVudDo6Y29udHJvbGxlckRlc3Ryb3llZCgpCit7
CisgICAgICBkZWxldGUgdGhpczsKK30KKwogaWQ8V2ViRGV2aWNlT3JpZW50YXRpb25Qcm92aWRl
cj4gV2ViRGV2aWNlT3JpZW50YXRpb25DbGllbnQ6OmdldFByb3ZpZGVyKCkgY29uc3QKIHsKICAg
ICBpZiAoIW1fcHJvdmlkZXIpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68107</attachid>
            <date>2010-09-20 10:22:01 -0700</date>
            <delta_ts>2010-09-21 07:03:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45891-20100920182159.patch</filename>
            <type>text/plain</type>
            <size>9717</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NzYzMSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMTAtMDktMTYgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IERldmljZU9yaWVudGF0aW9uQ2xpZW50IGFuZCBEZXZpY2VNb3Rpb25DbGllbnQgc2hvdWxkIGhh
dmUgY29udHJvbGxlckRlc3Ryb3llZCgpIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1ODkxCisKKyAgICAgICAgVGVzdGVkIGJ5IGV4aXN0
aW5nIERldmljZU9yaWVudGF0aW9uIHRlc3RzLgorCisgICAgICAgICogZG9tL0RldmljZU1vdGlv
bkNsaWVudC5oOgorICAgICAgICAqIGRvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkNvbnRyb2xsZXI6On5EZXZpY2VNb3Rpb25Db250
cm9sbGVyKToKKyAgICAgICAgKiBkb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5oOgorICAgICAg
ICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oOgorICAgICAgICAqIGRvbS9EZXZpY2VP
cmllbnRhdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50
YXRpb25Db250cm9sbGVyOjp+RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKToKKyAgICAgICAg
KiBkb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmg6CisgICAgICAgICogbG9hZGVyL0Vt
cHR5Q2xpZW50cy5oOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlEZXZpY2VNb3Rpb25DbGllbnQ6
OmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlckRlc3Ryb3llZCk6CisgICAgICAgIChXZWJDb3Jl
OjpFbXB0eURldmljZU9yaWVudGF0aW9uQ2xpZW50OjpkZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xs
ZXJEZXN0cm95ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25D
bGllbnRNb2NrLmg6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1v
Y2s6OmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlckRlc3Ryb3llZCk6CisKIDIwMTAtMDktMTYg
IFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KSW5kZXg6IFdlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNs
aWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNsaWVudC5oCShy
ZXZpc2lvbiA2NzYxNikKKysrIFdlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNsaWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc3Rh
cnRVcGRhdGluZygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc3RvcFVwZGF0aW5nKCkgPSAwOwog
ICAgIHZpcnR1YWwgRGV2aWNlTW90aW9uRGF0YSogY3VycmVudERldmljZU1vdGlvbigpIGNvbnN0
ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGV2aWNlTW90aW9uQ29udHJvbGxlckRlc3Ryb3llZCgp
ID0gMDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvZG9tL0Rl
dmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0Rldmlj
ZU1vdGlvbkNvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA2NzYxNikKKysrIFdlYkNvcmUvZG9tL0Rl
dmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCwxMSBA
QCBEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpEZXZpY2VNb3Rpb25Db250CiAgICAgbV9jbGllbnQt
PnNldENvbnRyb2xsZXIodGhpcyk7CiB9CiAKK0RldmljZU1vdGlvbkNvbnRyb2xsZXI6On5EZXZp
Y2VNb3Rpb25Db250cm9sbGVyKCkKK3sKKyAgICBtX2NsaWVudC0+ZGV2aWNlTW90aW9uQ29udHJv
bGxlckRlc3Ryb3llZCgpOworfQorCiB2b2lkIERldmljZU1vdGlvbkNvbnRyb2xsZXI6OnRpbWVy
RmlyZWQoVGltZXI8RGV2aWNlTW90aW9uQ29udHJvbGxlcj4qIHRpbWVyKQogewogICAgIEFTU0VS
VF9VTlVTRUQodGltZXIsIHRpbWVyID09ICZtX3RpbWVyKTsKSW5kZXg6IFdlYkNvcmUvZG9tL0Rl
dmljZU1vdGlvbkNvbnRyb2xsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9EZXZpY2VN
b3Rpb25Db250cm9sbGVyLmgJKHJldmlzaW9uIDY3NjE2KQorKysgV2ViQ29yZS9kb20vRGV2aWNl
TW90aW9uQ29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBAIGNsYXNz
IERldmljZU1vdGlvbkNsaWVudDsKIGNsYXNzIERldmljZU1vdGlvbkNvbnRyb2xsZXIgewogcHVi
bGljOgogICAgIERldmljZU1vdGlvbkNvbnRyb2xsZXIoRGV2aWNlTW90aW9uQ2xpZW50Kik7Cisg
ICAgfkRldmljZU1vdGlvbkNvbnRyb2xsZXIoKTsKIAogICAgIHZvaWQgYWRkTGlzdGVuZXIoRE9N
V2luZG93Kik7CiAgICAgdm9pZCByZW1vdmVMaXN0ZW5lcihET01XaW5kb3cqKTsKSW5kZXg6IFdl
YkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9kb20vRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaAkocmV2aXNpb24gNjc2MTYpCisrKyBXZWJD
b3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw2
ICszOSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRVcGRhdGluZygpID0gMDsK
ICAgICB2aXJ0dWFsIHZvaWQgc3RvcFVwZGF0aW5nKCkgPSAwOwogICAgIHZpcnR1YWwgRGV2aWNl
T3JpZW50YXRpb24qIGxhc3RPcmllbnRhdGlvbigpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZv
aWQgZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkgPSAwOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25D
b250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlv
bkNvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA2NzYxNikKKysrIFdlYkNvcmUvZG9tL0RldmljZU9y
aWVudGF0aW9uQ29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDExIEBA
IERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcjo6RGV2aWNlT3JpZW4KICAgICBtX2NsaWVudC0+
c2V0Q29udHJvbGxlcih0aGlzKTsKIH0KIAorRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyOjp+
RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCkKK3sKKyAgICBtX2NsaWVudC0+ZGV2aWNlT3Jp
ZW50YXRpb25Db250cm9sbGVyRGVzdHJveWVkKCk7Cit9CisKIHZvaWQgRGV2aWNlT3JpZW50YXRp
b25Db250cm9sbGVyOjp0aW1lckZpcmVkKFRpbWVyPERldmljZU9yaWVudGF0aW9uQ29udHJvbGxl
cj4qIHRpbWVyKQogewogICAgIEFTU0VSVF9VTlVTRUQodGltZXIsIHRpbWVyID09ICZtX3RpbWVy
KTsKSW5kZXg6IFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oCShyZXZp
c2lvbiA2NzYxNikKKysrIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5o
CSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBAIGNsYXNzIFBhZ2U7CiBjbGFzcyBEZXZp
Y2VPcmllbnRhdGlvbkNvbnRyb2xsZXIgewogcHVibGljOgogICAgIERldmljZU9yaWVudGF0aW9u
Q29udHJvbGxlcihQYWdlKiwgRGV2aWNlT3JpZW50YXRpb25DbGllbnQqKTsKKyAgICB+RGV2aWNl
T3JpZW50YXRpb25Db250cm9sbGVyKCk7CiAKICAgICB2b2lkIGFkZExpc3RlbmVyKERPTVdpbmRv
dyopOwogICAgIHZvaWQgcmVtb3ZlTGlzdGVuZXIoRE9NV2luZG93Kik7CkluZGV4OiBXZWJDb3Jl
L2xvYWRlci9FbXB0eUNsaWVudHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuaAkocmV2aXNpb24gNjc2MTYpCisrKyBXZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVu
dHMuaAkod29ya2luZyBjb3B5KQpAQCAtNTQyLDYgKzU0Miw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgc3RhcnRVcGRhdGluZygpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBzdG9wVXBkYXRp
bmcoKSB7IH0KICAgICB2aXJ0dWFsIERldmljZU1vdGlvbkRhdGEqIGN1cnJlbnREZXZpY2VNb3Rp
b24oKSBjb25zdCB7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCB2b2lkIGRldmljZU1vdGlvbkNv
bnRyb2xsZXJEZXN0cm95ZWQoKSB7IH0KIH07CiAKIGNsYXNzIEVtcHR5RGV2aWNlT3JpZW50YXRp
b25DbGllbnQgOiBwdWJsaWMgRGV2aWNlT3JpZW50YXRpb25DbGllbnQgewpAQCAtNTUwLDYgKzU1
MSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRVcGRhdGluZygpIHsgfQogICAg
IHZpcnR1YWwgdm9pZCBzdG9wVXBkYXRpbmcoKSB7IH0KICAgICB2aXJ0dWFsIERldmljZU9yaWVu
dGF0aW9uKiBsYXN0T3JpZW50YXRpb24oKSBjb25zdCB7IHJldHVybiAwOyB9CisgICAgdmlydHVh
bCB2b2lkIGRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpIHsgfQogfTsKIAog
fQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9j
ay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlv
bkNsaWVudE1vY2suaAkocmV2aXNpb24gNjc2MTYpCisrKyBXZWJDb3JlL3BsYXRmb3JtL21vY2sv
RGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDYgKzQ5
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzdGFydFVwZGF0aW5nKCk7CiAgICAgdmly
dHVhbCB2b2lkIHN0b3BVcGRhdGluZygpOwogICAgIHZpcnR1YWwgRGV2aWNlT3JpZW50YXRpb24q
IGxhc3RPcmllbnRhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fb3JpZW50YXRpb24uZ2V0KCk7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkg
eyB9CiAKICAgICB2b2lkIHNldE9yaWVudGF0aW9uKFBhc3NSZWZQdHI8RGV2aWNlT3JpZW50YXRp
b24+KTsKIApJbmRleDogV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA2NzYzMSkKKysrIFdlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0wOS0x
NiAgU3RldmUgQmxvY2sgIDxzdGV2ZWJsb2NrQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRGV2aWNlT3JpZW50YXRpb25DbGllbnQg
YW5kIERldmljZU1vdGlvbkNsaWVudCBzaG91bGQgaGF2ZSBjb250cm9sbGVyRGVzdHJveWVkKCkg
bWV0aG9kcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDU4OTEKKworICAgICAgICBJbXBsZW1lbnRzIERldmljZU9yaWVudGF0aW9uQ2xpZW50UHJveHk6
OmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpIGFzIGEgbm8tb3AsCisgICAg
ICAgIGFzIHRoZSBjbGllbnQncyBsaWZldGltZSBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBXZWJWaWV3
SW1wbC4KKworICAgICAgICAqIHNyYy9EZXZpY2VPcmllbnRhdGlvbkNsaWVudFByb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRQcm94eTo6ZGV2aWNlT3Jp
ZW50YXRpb25Db250cm9sbGVyRGVzdHJveWVkKToKKyAgICAgICAgKiBzcmMvRGV2aWNlT3JpZW50
YXRpb25DbGllbnRQcm94eS5oOgorCiAyMDEwLTA5LTE2ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVy
eXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCklu
ZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL0RldmljZU9yaWVudGF0aW9uQ2xpZW50UHJveHkuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvRGV2aWNlT3JpZW50YXRpb25DbGll
bnRQcm94eS5jcHAJKHJldmlzaW9uIDY3NjE2KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9EZXZp
Y2VPcmllbnRhdGlvbkNsaWVudFByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzEsNCArNzEs
OSBAQCBXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbiogRGV2aWNlT3JpZW50CiAgICAgcmV0dXJu
IG1fbGFzdE9yaWVudGF0aW9uLmdldCgpOwogfQogCit2b2lkIERldmljZU9yaWVudGF0aW9uQ2xp
ZW50UHJveHk6OmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpCit7CisgICAg
Ly8gT3VyIGxpZmV0aW1lIGlzIGJvdW5kIHRvIHRoZSBXZWJWaWV3SW1wbC4KK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL0RldmljZU9yaWVudGF0
aW9uQ2xpZW50UHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL0Rldmlj
ZU9yaWVudGF0aW9uQ2xpZW50UHJveHkuaAkocmV2aXNpb24gNjc2MTYpCisrKyBXZWJLaXQvY2hy
b21pdW0vc3JjL0RldmljZU9yaWVudGF0aW9uQ2xpZW50UHJveHkuaAkod29ya2luZyBjb3B5KQpA
QCAtNDgsNiArNDgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzdGFydFVwZGF0aW5nKCk7CiAgICAg
dm9pZCBzdG9wVXBkYXRpbmcoKTsKICAgICBXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbiogbGFz
dE9yaWVudGF0aW9uKCkgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIGRldmljZU9yaWVudGF0aW9u
Q29udHJvbGxlckRlc3Ryb3llZCgpOwogCiBwcml2YXRlOgogICAgIFdlYkRldmljZU9yaWVudGF0
aW9uQ2xpZW50KiBtX2NsaWVudDsKSW5kZXg6IFdlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2NzYzMSkKKysrIFdlYktpdC9t
YWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDktMTYg
IFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERldmljZU9yaWVudGF0aW9uQ2xpZW50IGFu
ZCBEZXZpY2VNb3Rpb25DbGllbnQgc2hvdWxkIGhhdmUgY29udHJvbGxlckRlc3Ryb3llZCgpIG1l
dGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1
ODkxCisKKyAgICAgICAgSW1wbGVtZW50cyBXZWJEZXZpY2VPcmllbnRhdGlvbkNsaWVudDo6ZGV2
aWNlT3JpZW50YXRpb25Db250cm9sbGVyRGVzdHJveWVkIHRvIGRlbGV0ZSB0aGUgY2xpZW50Lgor
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaDoK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJEZXZpY2VPcmllbnRhdGlvbkNsaWVudC5tbToK
KyAgICAgICAgKFdlYkRldmljZU9yaWVudGF0aW9uQ2xpZW50OjpkZXZpY2VPcmllbnRhdGlvbkNv
bnRyb2xsZXJEZXN0cm95ZWQpOgorCiAyMDEwLTA5LTE2ICBFcmljIFVocmhhbmUgIDxlcmljdUBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmlhbiBMaS4KSW5kZXg6IFdlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkRldmljZU9yaWVudGF0aW9uQ2xp
ZW50LmgJKHJldmlzaW9uIDY3NjE2KQorKysgV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJE
ZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw2ICs0Nyw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRVcGRhdGluZygpOwogICAgIHZpcnR1YWwg
dm9pZCBzdG9wVXBkYXRpbmcoKTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkRldmljZU9yaWVudGF0
aW9uKiBsYXN0T3JpZW50YXRpb24oKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgZGV2aWNlT3Jp
ZW50YXRpb25Db250cm9sbGVyRGVzdHJveWVkKCk7CiAKIHByaXZhdGU6CiAgICAgaWQ8V2ViRGV2
aWNlT3JpZW50YXRpb25Qcm92aWRlcj4gZ2V0UHJvdmlkZXIoKSBjb25zdDsKSW5kZXg6IFdlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRGV2aWNlT3JpZW50YXRpb25DbGllbnQubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJEZXZpY2VPcmllbnRhdGlvbkNs
aWVudC5tbQkocmV2aXNpb24gNjc2MTYpCisrKyBXZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
YkRldmljZU9yaWVudGF0aW9uQ2xpZW50Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC02MCw2ICs2MCwx
MSBAQCBEZXZpY2VPcmllbnRhdGlvbiogV2ViRGV2aWNlT3JpZW50YXRpb25DCiAgICAgcmV0dXJu
IGNvcmUoW2dldFByb3ZpZGVyKCkgbGFzdE9yaWVudGF0aW9uXSk7CiB9CiAKK3ZvaWQgV2ViRGV2
aWNlT3JpZW50YXRpb25DbGllbnQ6OmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlckRlc3Ryb3ll
ZCgpCit7CisgICAgICBkZWxldGUgdGhpczsKK30KKwogaWQ8V2ViRGV2aWNlT3JpZW50YXRpb25Q
cm92aWRlcj4gV2ViRGV2aWNlT3JpZW50YXRpb25DbGllbnQ6OmdldFByb3ZpZGVyKCkgY29uc3QK
IHsKICAgICBpZiAoIW1fcHJvdmlkZXIpIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>