<?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>104427</bug_id>
          
          <creation_ts>2012-12-07 18:59:46 -0800</creation_ts>
          <short_desc>WebViewClient::didHandleGestureEvent needs to distinguish the case if the event is processed or swallowed</short_desc>
          <delta_ts>2013-01-11 18:03:56 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>0</everconfirmed>
          <reporter name="Tien-Ren Chen">trchen</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>aelias</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>786362</commentid>
    <comment_count>0</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-12-07 18:59:46 -0800</bug_when>
    <thetext>WebViewClient::didHandleGestureEvent needs to distinguish the case if the event is processed or swallowed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786365</commentid>
    <comment_count>1</comment_count>
      <attachid>178324</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-12-07 19:03:33 -0800</bug_when>
    <thetext>Created attachment 178324
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786367</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-07 19:06:01 -0800</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786370</commentid>
    <comment_count>3</comment_count>
      <attachid>178325</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-12-07 19:08:39 -0800</bug_when>
    <thetext>Created attachment 178325
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786396</commentid>
    <comment_count>4</comment_count>
      <attachid>178325</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-07 20:12:41 -0800</bug_when>
    <thetext>Comment on attachment 178325
Patch

Attachment 178325 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15183654

New failing tests:
WebViewTest.ClientTapHandling</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787564</commentid>
    <comment_count>5</comment_count>
      <attachid>178325</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2012-12-10 11:20:51 -0800</bug_when>
    <thetext>Comment on attachment 178325
Patch

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

&gt; Source/WebKit/chromium/public/WebViewClient.h:148
&gt; +    enum EventStatus {

nit: It feels like this enum would be better at the top-level.  WebViewClient is already a big interface.

&gt; Source/WebKit/chromium/public/WebViewClient.h:149
&gt; +        EventStatusBubbledUp,

nit: Another name for EventStatusBubbledUp would be EventStatusUnprocessed or EventStatusNotProcessed, right?
Such a name might be easier to understand.  It was not obvious to me that &quot;bubbled up&quot; meant that WebKit
didn&apos;t handle the event.

Q: Are there cases where the event might get handled, but still propagate to another handler that would
then cancel further event propagation?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787727</commentid>
    <comment_count>6</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-12-10 14:39:22 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 178325 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=178325&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/chromium/public/WebViewClient.h:148
&gt; &gt; +    enum EventStatus {
&gt; 
&gt; nit: It feels like this enum would be better at the top-level.  WebViewClient is already a big interface.

Do you mean move to the top-level and also to a separate header?
My thought is that put it under WebViewClient is good for namespace management. WebKit is probably a bigger interface than WebKit::WebViewClient right? :)

&gt; &gt; Source/WebKit/chromium/public/WebViewClient.h:149
&gt; &gt; +        EventStatusBubbledUp,
&gt; 
&gt; nit: Another name for EventStatusBubbledUp would be EventStatusUnprocessed or EventStatusNotProcessed, right?
&gt; Such a name might be easier to understand.  It was not obvious to me that &quot;bubbled up&quot; meant that WebKit
&gt; didn&apos;t handle the event.

Got it. Will change.

&gt; Q: Are there cases where the event might get handled, but still propagate to another handler that would
&gt; then cancel further event propagation?

I don&apos;t think so. If that&apos;s the case then we also need to move the didHandleGestureEvent hook point.
Personally I don&apos;t like the hook approach. A cleaner way would be looking at the return value from WebViewImpl::handleInputEvent. However I don&apos;t know what will be the side-effects if I change it that way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787837</commentid>
    <comment_count>7</comment_count>
      <attachid>178664</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-12-10 16:25:54 -0800</bug_when>
    <thetext>Created attachment 178664
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795948</commentid>
    <comment_count>8</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-12-20 16:41:44 -0800</bug_when>
    <thetext>Ping. Do we need improvements other than mentioned above?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798868</commentid>
    <comment_count>9</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-01-02 14:03:41 -0800</bug_when>
    <thetext>IMO it really doesn&apos;t make a lot of sense to have this on WebView-anything since input event handling is a WebWidget concept, not WebView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802861</commentid>
    <comment_count>10</comment_count>
      <attachid>181814</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-01-08 18:00:28 -0800</bug_when>
    <thetext>Created attachment 181814
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802863</commentid>
    <comment_count>11</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-01-08 18:04:48 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; IMO it really doesn&apos;t make a lot of sense to have this on WebView-anything since input event handling is a WebWidget concept, not WebView.

It makes sense to move didHandleGestureEvent to WebWidgetClient. This new patch does it and I&apos;m uploading a chromium patch to move corresponding handler from RenderViewImpl to RenderWidget.

I think we still need to handle passed-in events in WebViewImpl. After all we need someone to forward the events to the WebCore. Even if we can refactor the code to do the otherwise, it is out of the scope of this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803586</commentid>
    <comment_count>12</comment_count>
      <attachid>181814</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-01-09 12:23:10 -0800</bug_when>
    <thetext>Comment on attachment 181814
Patch

LGTM, but I&apos;m not sure if jamesr or fishd have more comments.  Please give them a chance to comment before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803719</commentid>
    <comment_count>13</comment_count>
      <attachid>181814</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-01-09 14:42:24 -0800</bug_when>
    <thetext>Comment on attachment 181814
Patch

Me likey!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805795</commentid>
    <comment_count>14</comment_count>
      <attachid>181814</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-11 18:03:50 -0800</bug_when>
    <thetext>Comment on attachment 181814
Patch

Clearing flags on attachment: 181814

Committed r139532: &lt;http://trac.webkit.org/changeset/139532&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805796</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-11 18:03:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178324</attachid>
            <date>2012-12-07 19:03:33 -0800</date>
            <delta_ts>2012-12-07 19:08:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104427-20121207190056.patch</filename>
            <type>text/plain</type>
            <size>7671</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2OTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGYyNjA4ZWMxNDA0YjJiYzM3NjQ3YTAzNTEyOWIyYTU3YWI1ODBjMzAuLjk3MjVjZTQ2ZDgxN2Y2
YWM0ZjQ1N2IyMzJmMGYzMWI0Nzk4ZDkzZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTItMTItMDcgIFRpZW4tUmVuIENoZW4gIDx0cmNoZW5AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFdlYlZpZXdDbGllbnQ6OmRpZEhhbmRsZUdlc3R1cmVFdmVudCBu
ZWVkcyB0byBkaXN0aW5ndWlzaCB0aGUgY2FzZSBpZiB0aGUgZXZlbnQgaXMgcHJvY2Vzc2VkIG9y
IHN3YWxsb3dlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTA0NDI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgV2hlbiBhIGdlc3R1cmUgbmVlZHMgdG8gYmUgZGlzYW1iaWd1YXRlZCwgV2ViS2l0IGRvZXNu
J3QgdXBkYXRlIGN1cnNvciBmb2N1cy4KKyAgICAgICAgV2UgYWRkZWQgYW4gZXh0cmEgc3RhdHVz
IGZvciBkaWRIYW5kbGVHZXN0dXJlRXZlbnQoKSwgc28gd2UgY2FuIGRpc3Rpbmd1aXNoCisgICAg
ICAgIHRoZSBjYXNlIHdoZXRoZXIgdGhlIGV2ZW50IGlzIGFjdHVhbGx5IGRlbGl2ZXJlZCB0byB0
aGUgd2ViIHBhZ2Ugb3IgY2FuY2VsbGVkLgorCisgICAgICAgIFRoaXMgaXMgbmVlZGVkIGZvciBm
aXhpbmc6IGNyYnVnLmNvbS8xNjM0MzkKKyAgICAgICAgQ2hyb21pdW0gQ0w6IGh0dHBzOi8vY29k
ZXJldmlldy5jaHJvbWl1bS5vcmcvMTE0NzMwMjcKKworICAgICAgICAqIHB1YmxpYy9XZWJWaWV3
Q2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdDbGllbnQ6OmRpZEhhbmRsZUdlc3R1
cmVFdmVudCk6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViVmlld0ltcGw6OmhhbmRsZUdlc3R1cmVFdmVudCk6CisKIDIwMTItMTItMDcgIE1hcmsg
UGlsZ3JpbSAgPHBpbGdyaW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gTW92
ZSBXb3JrZXJDb250ZXh0UHJveHk6OmNyZWF0ZSBvdXQgb2YgUGxhdGZvcm1TdXBwb3J0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgKaW5kZXggYzZlMTc1
ZGJhZGU5YzU1YWU5NmVkNThlNDcyNzM4NTIwZGRhOTI3My4uNzVlM2NjNWE1MDk4NWM3MDljZmVh
Zjc1MGExYTRhNTk0ZTA1YTBhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViVmlld0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYlZpZXdDbGllbnQuaApAQCAtMTQ1LDcgKzE0NSwxMyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBXZWJOb3RpZmljYXRpb25QcmVzZW50ZXIqIG5vdGlmaWNhdGlvblByZXNlbnRlcigpIHsgcmV0
dXJuIDA7IH0KIAogICAgIC8vIENhbGxlZCB3aGVuIGEgZ2VzdHVyZSBldmVudCBpcyBoYW5kbGVk
LgotICAgIHZpcnR1YWwgdm9pZCBkaWRIYW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgV2ViR2VzdHVy
ZUV2ZW50JiBldmVudCwgYm9vbCBldmVudFN3YWxsb3dlZCkgeyB9CisgICAgZW51bSBFdmVudFN0
YXR1cyB7CisgICAgICAgIEV2ZW50U3RhdHVzQnViYmxlZFVwLAorICAgICAgICBFdmVudFN0YXR1
c1Byb2Nlc3NlZCwKKyAgICAgICAgRXZlbnRTdGF0dXNDYW5jZWxsZWQKKyAgICB9OworICAgIHZp
cnR1YWwgdm9pZCBkaWRIYW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50JiBl
dmVudCwgRXZlbnRTdGF0dXMpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRIYW5kbGVHZXN0dXJl
RXZlbnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50JiBldmVudCwgYm9vbCBldmVudFN3YWxsb3dlZCkg
eyB9IC8vIGRlcHJlY2F0ZWQKIAogICAgIC8vIENhbGxlZCB0byByZXF1ZXN0IGFuIGljb24gZm9y
IHRoZSBzcGVjaWZpZWQgZmlsZW5hbWVzLgogICAgIC8vIFRoZSBpY29uIGlzIHNob3duIGluIGEg
ZmlsZSB1cGxvYWQgY29udHJvbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJ
bXBsLmNwcAppbmRleCBmZjUxMTlhYTNhM2EzYTc2ZTM1YzFkOTNhY2U0NmRiZmMzMzkwMmU1Li40
ZjVjMDNjZGRiMjc3MTYzZWQ2YTVhZTUxYTc4NjA1Y2I0Y2MzNDAwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC02NzIsNyArNjcyLDcgQEAgdm9pZCBX
ZWJWaWV3SW1wbDo6c2Nyb2xsQnkoY29uc3QgV2ViUG9pbnQmIGRlbHRhKQogI2lmIEVOQUJMRShH
RVNUVVJFX0VWRU5UUykKIGJvb2wgV2ViVmlld0ltcGw6OmhhbmRsZUdlc3R1cmVFdmVudChjb25z
dCBXZWJHZXN0dXJlRXZlbnQmIGV2ZW50KQogewotICAgIGJvb2wgZXZlbnRTd2FsbG93ZWQgPSBm
YWxzZTsKKyAgICBXZWJWaWV3Q2xpZW50OjpFdmVudFN0YXR1cyBldmVudFN0YXR1cyA9IFdlYlZp
ZXdDbGllbnQ6OkV2ZW50U3RhdHVzQnViYmxlZFVwOwogCiAgICAgLy8gSGFuZGxlIGxpbmsgaGln
aGxpZ2h0aW5nIG91dHNpZGUgdGhlIG1haW4gc3dpdGNoIHRvIGF2b2lkIGdldHRpbmcgbG9zdCBp
biB0aGUKICAgICAvLyBjb21wbGljYXRlZCBzZXQgb2YgY2FzZXMgaGFuZGxlZCBiZWxvdy4KQEAg
LTcwNSwxOSArNzA1LDE5IEBAIGJvb2wgV2ViVmlld0ltcGw6OmhhbmRsZUdlc3R1cmVFdmVudChj
b25zdCBXZWJHZXN0dXJlRXZlbnQmIGV2ZW50KQogICAgICAgICBPd25QdHI8V2ViR2VzdHVyZUN1
cnZlPiBmbGluZ0N1cnZlID0gYWRvcHRQdHIoUGxhdGZvcm06OmN1cnJlbnQoKS0+Y3JlYXRlRmxp
bmdBbmltYXRpb25DdXJ2ZShldmVudC5kYXRhLmZsaW5nU3RhcnQuc291cmNlRGV2aWNlLCBXZWJG
bG9hdFBvaW50KGV2ZW50LmRhdGEuZmxpbmdTdGFydC52ZWxvY2l0eVgsIGV2ZW50LmRhdGEuZmxp
bmdTdGFydC52ZWxvY2l0eVkpLCBXZWJTaXplKCkpKTsKICAgICAgICAgbV9nZXN0dXJlQW5pbWF0
aW9uID0gV2ViQWN0aXZlR2VzdHVyZUFuaW1hdGlvbjo6Y3JlYXRlQXRBbmltYXRpb25TdGFydChm
bGluZ0N1cnZlLnJlbGVhc2UoKSwgdGhpcyk7CiAgICAgICAgIHNjaGVkdWxlQW5pbWF0aW9uKCk7
Ci0gICAgICAgIGV2ZW50U3dhbGxvd2VkID0gdHJ1ZTsKKyAgICAgICAgZXZlbnRTdGF0dXMgPSBX
ZWJWaWV3Q2xpZW50OjpFdmVudFN0YXR1c1Byb2Nlc3NlZDsKICAgICAgICAgYnJlYWs7CiAgICAg
fQogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZUZsaW5nQ2FuY2VsOgogICAgICAgICBp
ZiAobV9nZXN0dXJlQW5pbWF0aW9uKSB7CiAgICAgICAgICAgICBtX2dlc3R1cmVBbmltYXRpb24u
Y2xlYXIoKTsKLSAgICAgICAgICAgIGV2ZW50U3dhbGxvd2VkID0gdHJ1ZTsKKyAgICAgICAgICAg
IGV2ZW50U3RhdHVzID0gV2ViVmlld0NsaWVudDo6RXZlbnRTdGF0dXNQcm9jZXNzZWQ7CiAgICAg
ICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlVGFw
OiB7CiAgICAgICAgIG1fY2xpZW50LT5jYW5jZWxTY2hlZHVsZWRDb250ZW50SW50ZW50cygpOwog
ICAgICAgICBpZiAoZGV0ZWN0Q29udGVudE9uVG91Y2goV2ViUG9pbnQoZXZlbnQueCwgZXZlbnQu
eSkpKSB7Ci0gICAgICAgICAgICBldmVudFN3YWxsb3dlZCA9IHRydWU7CisgICAgICAgICAgICBl
dmVudFN0YXR1cyA9IFdlYlZpZXdDbGllbnQ6OkV2ZW50U3RhdHVzUHJvY2Vzc2VkOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApAQCAtNzMzLDEzICs3MzMsMTMgQEAgYm9vbCBXZWJW
aWV3SW1wbDo6aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFdlYkdlc3R1cmVFdmVudCYgZXZlbnQp
CiAgICAgICAgICAgICAvLyBGSVhNRTogcmVwbGFjZSB0b3VjaCBhZGp1c3RtZW50IGNvZGUgd2hl
biBudW1iZXJPZkdvb2RUYXJnZXRzID09IDE/CiAgICAgICAgICAgICAvLyBTaW5nbGUgY2FuZGlk
YXRlIGNhc2UgaXMgY3VycmVudGx5IGhhbmRsZWQgYnk6IGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04NTEwMQogICAgICAgICAgICAgaWYgKGdvb2RUYXJnZXRzLnNpemUo
KSA+PSAyICYmIG1fY2xpZW50ICYmIG1fY2xpZW50LT5kaWRUYXBNdWx0aXBsZVRhcmdldHMoZXZl
bnQsIGdvb2RUYXJnZXRzKSkgewotICAgICAgICAgICAgICAgIGV2ZW50U3dhbGxvd2VkID0gdHJ1
ZTsKKyAgICAgICAgICAgIGV2ZW50U3RhdHVzID0gV2ViVmlld0NsaWVudDo6RXZlbnRTdGF0dXND
YW5jZWxsZWQ7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAg
IH0KIAogICAgICAgICBQbGF0Zm9ybUdlc3R1cmVFdmVudEJ1aWxkZXIgcGxhdGZvcm1FdmVudCht
YWluRnJhbWVJbXBsKCktPmZyYW1lVmlldygpLCBldmVudCk7Ci0gICAgICAgIGV2ZW50U3dhbGxv
d2VkID0gbWFpbkZyYW1lSW1wbCgpLT5mcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlR2Vz
dHVyZUV2ZW50KHBsYXRmb3JtRXZlbnQpOworICAgICAgICBldmVudFN0YXR1cyA9IG1haW5GcmFt
ZUltcGwoKS0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZUdlc3R1cmVFdmVudChwbGF0
Zm9ybUV2ZW50KSA/IFdlYlZpZXdDbGllbnQ6OkV2ZW50U3RhdHVzUHJvY2Vzc2VkIDogV2ViVmll
d0NsaWVudDo6RXZlbnRTdGF0dXNCdWJibGVkVXA7CiAKICAgICAgICAgaWYgKG1fc2VsZWN0UG9w
dXAgJiYgbV9zZWxlY3RQb3B1cCA9PSBzZWxlY3RQb3B1cCkgewogICAgICAgICAgICAgLy8gVGhh
dCB0YXAgdHJpZ2dlcmVkIGEgc2VsZWN0IHBvcHVwIHdoaWNoIGlzIHRoZSBzYW1lIGFzIHRoZSBv
bmUgdGhhdApAQCAtNzYxLDcgKzc2MSw3IEBAIGJvb2wgV2ViVmlld0ltcGw6OmhhbmRsZUdlc3R1
cmVFdmVudChjb25zdCBXZWJHZXN0dXJlRXZlbnQmIGV2ZW50KQogICAgICAgICBtX3BhZ2UtPmNv
bnRleHRNZW51Q29udHJvbGxlcigpLT5jbGVhckNvbnRleHRNZW51KCk7CiAgICAgICAgIG1fY29u
dGV4dE1lbnVBbGxvd2VkID0gdHJ1ZTsKICAgICAgICAgUGxhdGZvcm1HZXN0dXJlRXZlbnRCdWls
ZGVyIHBsYXRmb3JtRXZlbnQobWFpbkZyYW1lSW1wbCgpLT5mcmFtZVZpZXcoKSwgZXZlbnQpOwot
ICAgICAgICBldmVudFN3YWxsb3dlZCA9IG1haW5GcmFtZUltcGwoKS0+ZnJhbWUoKS0+ZXZlbnRI
YW5kbGVyKCktPmhhbmRsZUdlc3R1cmVFdmVudChwbGF0Zm9ybUV2ZW50KTsKKyAgICAgICAgZXZl
bnRTdGF0dXMgPSBtYWluRnJhbWVJbXBsKCktPmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5oYW5k
bGVHZXN0dXJlRXZlbnQocGxhdGZvcm1FdmVudCkgPyBXZWJWaWV3Q2xpZW50OjpFdmVudFN0YXR1
c1Byb2Nlc3NlZCA6IFdlYlZpZXdDbGllbnQ6OkV2ZW50U3RhdHVzQnViYmxlZFVwOwogICAgICAg
ICBtX2NvbnRleHRNZW51QWxsb3dlZCA9IGZhbHNlOwogCiAgICAgICAgIGJyZWFrOwpAQCAtNzY5
LDE0ICs3NjksMTQgQEAgYm9vbCBXZWJWaWV3SW1wbDo6aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0
IFdlYkdlc3R1cmVFdmVudCYgZXZlbnQpCiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJl
VGFwRG93bjogewogICAgICAgICBtX2NsaWVudC0+Y2FuY2VsU2NoZWR1bGVkQ29udGVudEludGVu
dHMoKTsKICAgICAgICAgUGxhdGZvcm1HZXN0dXJlRXZlbnRCdWlsZGVyIHBsYXRmb3JtRXZlbnQo
bWFpbkZyYW1lSW1wbCgpLT5mcmFtZVZpZXcoKSwgZXZlbnQpOwotICAgICAgICBldmVudFN3YWxs
b3dlZCA9IG1haW5GcmFtZUltcGwoKS0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZUdl
c3R1cmVFdmVudChwbGF0Zm9ybUV2ZW50KTsKKyAgICAgICAgZXZlbnRTdGF0dXMgPSBtYWluRnJh
bWVJbXBsKCktPmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5oYW5kbGVHZXN0dXJlRXZlbnQocGxh
dGZvcm1FdmVudCkgPyBXZWJWaWV3Q2xpZW50OjpFdmVudFN0YXR1c1Byb2Nlc3NlZCA6IFdlYlZp
ZXdDbGllbnQ6OkV2ZW50U3RhdHVzQnViYmxlZFVwOwogICAgICAgICBicmVhazsKICAgICB9CiAg
ICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlRG91YmxlVGFwOgogICAgICAgICBpZiAobV93
ZWJTZXR0aW5ncy0+ZG91YmxlVGFwVG9ab29tRW5hYmxlZCgpKSB7CiAgICAgICAgICAgICBtX2Ns
aWVudC0+Y2FuY2VsU2NoZWR1bGVkQ29udGVudEludGVudHMoKTsKICAgICAgICAgICAgIGFuaW1h
dGVab29tQXJvdW5kUG9pbnQoV2ViUG9pbnQoZXZlbnQueCwgZXZlbnQueSksIERvdWJsZVRhcCk7
Ci0gICAgICAgICAgICBldmVudFN3YWxsb3dlZCA9IHRydWU7CisgICAgICAgICAgICBldmVudFN0
YXR1cyA9IFdlYlZpZXdDbGllbnQ6OkV2ZW50U3RhdHVzUHJvY2Vzc2VkOwogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIH0KICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVTY3JvbGxC
ZWdpbjoKQEAgLTc4OCwxNCArNzg4LDE0IEBAIGJvb2wgV2ViVmlld0ltcGw6OmhhbmRsZUdlc3R1
cmVFdmVudChjb25zdCBXZWJHZXN0dXJlRXZlbnQmIGV2ZW50KQogICAgIGNhc2UgV2ViSW5wdXRF
dmVudDo6R2VzdHVyZVBpbmNoRW5kOgogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZVBp
bmNoVXBkYXRlOiB7CiAgICAgICAgIFBsYXRmb3JtR2VzdHVyZUV2ZW50QnVpbGRlciBwbGF0Zm9y
bUV2ZW50KG1haW5GcmFtZUltcGwoKS0+ZnJhbWVWaWV3KCksIGV2ZW50KTsKLSAgICAgICAgZXZl
bnRTd2FsbG93ZWQgPSBtYWluRnJhbWVJbXBsKCktPmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5o
YW5kbGVHZXN0dXJlRXZlbnQocGxhdGZvcm1FdmVudCk7CisgICAgICAgIGV2ZW50U3RhdHVzID0g
bWFpbkZyYW1lSW1wbCgpLT5mcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlR2VzdHVyZUV2
ZW50KHBsYXRmb3JtRXZlbnQpID8gV2ViVmlld0NsaWVudDo6RXZlbnRTdGF0dXNQcm9jZXNzZWQg
OiBXZWJWaWV3Q2xpZW50OjpFdmVudFN0YXR1c0J1YmJsZWRVcDsKICAgICAgICAgYnJlYWs7CiAg
ICAgfQogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0K
LSAgICBtX2NsaWVudC0+ZGlkSGFuZGxlR2VzdHVyZUV2ZW50KGV2ZW50LCBldmVudFN3YWxsb3dl
ZCk7Ci0gICAgcmV0dXJuIGV2ZW50U3dhbGxvd2VkOworICAgIG1fY2xpZW50LT5kaWRIYW5kbGVH
ZXN0dXJlRXZlbnQoZXZlbnQsIGV2ZW50U3RhdHVzKTsKKyAgICByZXR1cm4gZXZlbnRTdGF0dXMg
IT0gV2ViVmlld0NsaWVudDo6RXZlbnRTdGF0dXNCdWJibGVkVXA7CiB9CiAKIHZvaWQgV2ViVmll
d0ltcGw6OnRyYW5zZmVyQWN0aXZlV2hlZWxGbGluZ0FuaW1hdGlvbihjb25zdCBXZWJBY3RpdmVX
aGVlbEZsaW5nUGFyYW1ldGVycyYgcGFyYW1ldGVycykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178325</attachid>
            <date>2012-12-07 19:08:39 -0800</date>
            <delta_ts>2012-12-10 16:25:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104427-20121207190602.patch</filename>
            <type>text/plain</type>
            <size>7675</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2OTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGYyNjA4ZWMxNDA0YjJiYzM3NjQ3YTAzNTEyOWIyYTU3YWI1ODBjMzAuLjk3MjVjZTQ2ZDgxN2Y2
YWM0ZjQ1N2IyMzJmMGYzMWI0Nzk4ZDkzZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTItMTItMDcgIFRpZW4tUmVuIENoZW4gIDx0cmNoZW5AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFdlYlZpZXdDbGllbnQ6OmRpZEhhbmRsZUdlc3R1cmVFdmVudCBu
ZWVkcyB0byBkaXN0aW5ndWlzaCB0aGUgY2FzZSBpZiB0aGUgZXZlbnQgaXMgcHJvY2Vzc2VkIG9y
IHN3YWxsb3dlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTA0NDI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgV2hlbiBhIGdlc3R1cmUgbmVlZHMgdG8gYmUgZGlzYW1iaWd1YXRlZCwgV2ViS2l0IGRvZXNu
J3QgdXBkYXRlIGN1cnNvciBmb2N1cy4KKyAgICAgICAgV2UgYWRkZWQgYW4gZXh0cmEgc3RhdHVz
IGZvciBkaWRIYW5kbGVHZXN0dXJlRXZlbnQoKSwgc28gd2UgY2FuIGRpc3Rpbmd1aXNoCisgICAg
ICAgIHRoZSBjYXNlIHdoZXRoZXIgdGhlIGV2ZW50IGlzIGFjdHVhbGx5IGRlbGl2ZXJlZCB0byB0
aGUgd2ViIHBhZ2Ugb3IgY2FuY2VsbGVkLgorCisgICAgICAgIFRoaXMgaXMgbmVlZGVkIGZvciBm
aXhpbmc6IGNyYnVnLmNvbS8xNjM0MzkKKyAgICAgICAgQ2hyb21pdW0gQ0w6IGh0dHBzOi8vY29k
ZXJldmlldy5jaHJvbWl1bS5vcmcvMTE0NzMwMjcKKworICAgICAgICAqIHB1YmxpYy9XZWJWaWV3
Q2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdDbGllbnQ6OmRpZEhhbmRsZUdlc3R1
cmVFdmVudCk6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViVmlld0ltcGw6OmhhbmRsZUdlc3R1cmVFdmVudCk6CisKIDIwMTItMTItMDcgIE1hcmsg
UGlsZ3JpbSAgPHBpbGdyaW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gTW92
ZSBXb3JrZXJDb250ZXh0UHJveHk6OmNyZWF0ZSBvdXQgb2YgUGxhdGZvcm1TdXBwb3J0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgKaW5kZXggYzZlMTc1
ZGJhZGU5YzU1YWU5NmVkNThlNDcyNzM4NTIwZGRhOTI3My4uNzVlM2NjNWE1MDk4NWM3MDljZmVh
Zjc1MGExYTRhNTk0ZTA1YTBhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViVmlld0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYlZpZXdDbGllbnQuaApAQCAtMTQ1LDcgKzE0NSwxMyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBXZWJOb3RpZmljYXRpb25QcmVzZW50ZXIqIG5vdGlmaWNhdGlvblByZXNlbnRlcigpIHsgcmV0
dXJuIDA7IH0KIAogICAgIC8vIENhbGxlZCB3aGVuIGEgZ2VzdHVyZSBldmVudCBpcyBoYW5kbGVk
LgotICAgIHZpcnR1YWwgdm9pZCBkaWRIYW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgV2ViR2VzdHVy
ZUV2ZW50JiBldmVudCwgYm9vbCBldmVudFN3YWxsb3dlZCkgeyB9CisgICAgZW51bSBFdmVudFN0
YXR1cyB7CisgICAgICAgIEV2ZW50U3RhdHVzQnViYmxlZFVwLAorICAgICAgICBFdmVudFN0YXR1
c1Byb2Nlc3NlZCwKKyAgICAgICAgRXZlbnRTdGF0dXNDYW5jZWxsZWQKKyAgICB9OworICAgIHZp
cnR1YWwgdm9pZCBkaWRIYW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50JiBl
dmVudCwgRXZlbnRTdGF0dXMpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRIYW5kbGVHZXN0dXJl
RXZlbnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50JiBldmVudCwgYm9vbCBldmVudFN3YWxsb3dlZCkg
eyB9IC8vIGRlcHJlY2F0ZWQKIAogICAgIC8vIENhbGxlZCB0byByZXF1ZXN0IGFuIGljb24gZm9y
IHRoZSBzcGVjaWZpZWQgZmlsZW5hbWVzLgogICAgIC8vIFRoZSBpY29uIGlzIHNob3duIGluIGEg
ZmlsZSB1cGxvYWQgY29udHJvbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJ
bXBsLmNwcAppbmRleCBmZjUxMTlhYTNhM2EzYTc2ZTM1YzFkOTNhY2U0NmRiZmMzMzkwMmU1Li5k
NTE5MzM4YzBlZDExNDU1YjY0NzIyMDc4YzcyMDFmM2JhZjcxYTM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC02NzIsNyArNjcyLDcgQEAgdm9pZCBX
ZWJWaWV3SW1wbDo6c2Nyb2xsQnkoY29uc3QgV2ViUG9pbnQmIGRlbHRhKQogI2lmIEVOQUJMRShH
RVNUVVJFX0VWRU5UUykKIGJvb2wgV2ViVmlld0ltcGw6OmhhbmRsZUdlc3R1cmVFdmVudChjb25z
dCBXZWJHZXN0dXJlRXZlbnQmIGV2ZW50KQogewotICAgIGJvb2wgZXZlbnRTd2FsbG93ZWQgPSBm
YWxzZTsKKyAgICBXZWJWaWV3Q2xpZW50OjpFdmVudFN0YXR1cyBldmVudFN0YXR1cyA9IFdlYlZp
ZXdDbGllbnQ6OkV2ZW50U3RhdHVzQnViYmxlZFVwOwogCiAgICAgLy8gSGFuZGxlIGxpbmsgaGln
aGxpZ2h0aW5nIG91dHNpZGUgdGhlIG1haW4gc3dpdGNoIHRvIGF2b2lkIGdldHRpbmcgbG9zdCBp
biB0aGUKICAgICAvLyBjb21wbGljYXRlZCBzZXQgb2YgY2FzZXMgaGFuZGxlZCBiZWxvdy4KQEAg
LTcwNSwxOSArNzA1LDE5IEBAIGJvb2wgV2ViVmlld0ltcGw6OmhhbmRsZUdlc3R1cmVFdmVudChj
b25zdCBXZWJHZXN0dXJlRXZlbnQmIGV2ZW50KQogICAgICAgICBPd25QdHI8V2ViR2VzdHVyZUN1
cnZlPiBmbGluZ0N1cnZlID0gYWRvcHRQdHIoUGxhdGZvcm06OmN1cnJlbnQoKS0+Y3JlYXRlRmxp
bmdBbmltYXRpb25DdXJ2ZShldmVudC5kYXRhLmZsaW5nU3RhcnQuc291cmNlRGV2aWNlLCBXZWJG
bG9hdFBvaW50KGV2ZW50LmRhdGEuZmxpbmdTdGFydC52ZWxvY2l0eVgsIGV2ZW50LmRhdGEuZmxp
bmdTdGFydC52ZWxvY2l0eVkpLCBXZWJTaXplKCkpKTsKICAgICAgICAgbV9nZXN0dXJlQW5pbWF0
aW9uID0gV2ViQWN0aXZlR2VzdHVyZUFuaW1hdGlvbjo6Y3JlYXRlQXRBbmltYXRpb25TdGFydChm
bGluZ0N1cnZlLnJlbGVhc2UoKSwgdGhpcyk7CiAgICAgICAgIHNjaGVkdWxlQW5pbWF0aW9uKCk7
Ci0gICAgICAgIGV2ZW50U3dhbGxvd2VkID0gdHJ1ZTsKKyAgICAgICAgZXZlbnRTdGF0dXMgPSBX
ZWJWaWV3Q2xpZW50OjpFdmVudFN0YXR1c1Byb2Nlc3NlZDsKICAgICAgICAgYnJlYWs7CiAgICAg
fQogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZUZsaW5nQ2FuY2VsOgogICAgICAgICBp
ZiAobV9nZXN0dXJlQW5pbWF0aW9uKSB7CiAgICAgICAgICAgICBtX2dlc3R1cmVBbmltYXRpb24u
Y2xlYXIoKTsKLSAgICAgICAgICAgIGV2ZW50U3dhbGxvd2VkID0gdHJ1ZTsKKyAgICAgICAgICAg
IGV2ZW50U3RhdHVzID0gV2ViVmlld0NsaWVudDo6RXZlbnRTdGF0dXNQcm9jZXNzZWQ7CiAgICAg
ICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlVGFw
OiB7CiAgICAgICAgIG1fY2xpZW50LT5jYW5jZWxTY2hlZHVsZWRDb250ZW50SW50ZW50cygpOwog
ICAgICAgICBpZiAoZGV0ZWN0Q29udGVudE9uVG91Y2goV2ViUG9pbnQoZXZlbnQueCwgZXZlbnQu
eSkpKSB7Ci0gICAgICAgICAgICBldmVudFN3YWxsb3dlZCA9IHRydWU7CisgICAgICAgICAgICBl
dmVudFN0YXR1cyA9IFdlYlZpZXdDbGllbnQ6OkV2ZW50U3RhdHVzUHJvY2Vzc2VkOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApAQCAtNzMzLDEzICs3MzMsMTMgQEAgYm9vbCBXZWJW
aWV3SW1wbDo6aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFdlYkdlc3R1cmVFdmVudCYgZXZlbnQp
CiAgICAgICAgICAgICAvLyBGSVhNRTogcmVwbGFjZSB0b3VjaCBhZGp1c3RtZW50IGNvZGUgd2hl
biBudW1iZXJPZkdvb2RUYXJnZXRzID09IDE/CiAgICAgICAgICAgICAvLyBTaW5nbGUgY2FuZGlk
YXRlIGNhc2UgaXMgY3VycmVudGx5IGhhbmRsZWQgYnk6IGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04NTEwMQogICAgICAgICAgICAgaWYgKGdvb2RUYXJnZXRzLnNpemUo
KSA+PSAyICYmIG1fY2xpZW50ICYmIG1fY2xpZW50LT5kaWRUYXBNdWx0aXBsZVRhcmdldHMoZXZl
bnQsIGdvb2RUYXJnZXRzKSkgewotICAgICAgICAgICAgICAgIGV2ZW50U3dhbGxvd2VkID0gdHJ1
ZTsKKyAgICAgICAgICAgICAgICBldmVudFN0YXR1cyA9IFdlYlZpZXdDbGllbnQ6OkV2ZW50U3Rh
dHVzQ2FuY2VsbGVkOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAg
ICAgICB9CiAKICAgICAgICAgUGxhdGZvcm1HZXN0dXJlRXZlbnRCdWlsZGVyIHBsYXRmb3JtRXZl
bnQobWFpbkZyYW1lSW1wbCgpLT5mcmFtZVZpZXcoKSwgZXZlbnQpOwotICAgICAgICBldmVudFN3
YWxsb3dlZCA9IG1haW5GcmFtZUltcGwoKS0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmhhbmRs
ZUdlc3R1cmVFdmVudChwbGF0Zm9ybUV2ZW50KTsKKyAgICAgICAgZXZlbnRTdGF0dXMgPSBtYWlu
RnJhbWVJbXBsKCktPmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5oYW5kbGVHZXN0dXJlRXZlbnQo
cGxhdGZvcm1FdmVudCkgPyBXZWJWaWV3Q2xpZW50OjpFdmVudFN0YXR1c1Byb2Nlc3NlZCA6IFdl
YlZpZXdDbGllbnQ6OkV2ZW50U3RhdHVzQnViYmxlZFVwOwogCiAgICAgICAgIGlmIChtX3NlbGVj
dFBvcHVwICYmIG1fc2VsZWN0UG9wdXAgPT0gc2VsZWN0UG9wdXApIHsKICAgICAgICAgICAgIC8v
IFRoYXQgdGFwIHRyaWdnZXJlZCBhIHNlbGVjdCBwb3B1cCB3aGljaCBpcyB0aGUgc2FtZSBhcyB0
aGUgb25lIHRoYXQKQEAgLTc2MSw3ICs3NjEsNyBAQCBib29sIFdlYlZpZXdJbXBsOjpoYW5kbGVH
ZXN0dXJlRXZlbnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50JiBldmVudCkKICAgICAgICAgbV9wYWdl
LT5jb250ZXh0TWVudUNvbnRyb2xsZXIoKS0+Y2xlYXJDb250ZXh0TWVudSgpOwogICAgICAgICBt
X2NvbnRleHRNZW51QWxsb3dlZCA9IHRydWU7CiAgICAgICAgIFBsYXRmb3JtR2VzdHVyZUV2ZW50
QnVpbGRlciBwbGF0Zm9ybUV2ZW50KG1haW5GcmFtZUltcGwoKS0+ZnJhbWVWaWV3KCksIGV2ZW50
KTsKLSAgICAgICAgZXZlbnRTd2FsbG93ZWQgPSBtYWluRnJhbWVJbXBsKCktPmZyYW1lKCktPmV2
ZW50SGFuZGxlcigpLT5oYW5kbGVHZXN0dXJlRXZlbnQocGxhdGZvcm1FdmVudCk7CisgICAgICAg
IGV2ZW50U3RhdHVzID0gbWFpbkZyYW1lSW1wbCgpLT5mcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+
aGFuZGxlR2VzdHVyZUV2ZW50KHBsYXRmb3JtRXZlbnQpID8gV2ViVmlld0NsaWVudDo6RXZlbnRT
dGF0dXNQcm9jZXNzZWQgOiBXZWJWaWV3Q2xpZW50OjpFdmVudFN0YXR1c0J1YmJsZWRVcDsKICAg
ICAgICAgbV9jb250ZXh0TWVudUFsbG93ZWQgPSBmYWxzZTsKIAogICAgICAgICBicmVhazsKQEAg
LTc2OSwxNCArNzY5LDE0IEBAIGJvb2wgV2ViVmlld0ltcGw6OmhhbmRsZUdlc3R1cmVFdmVudChj
b25zdCBXZWJHZXN0dXJlRXZlbnQmIGV2ZW50KQogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2Vz
dHVyZVRhcERvd246IHsKICAgICAgICAgbV9jbGllbnQtPmNhbmNlbFNjaGVkdWxlZENvbnRlbnRJ
bnRlbnRzKCk7CiAgICAgICAgIFBsYXRmb3JtR2VzdHVyZUV2ZW50QnVpbGRlciBwbGF0Zm9ybUV2
ZW50KG1haW5GcmFtZUltcGwoKS0+ZnJhbWVWaWV3KCksIGV2ZW50KTsKLSAgICAgICAgZXZlbnRT
d2FsbG93ZWQgPSBtYWluRnJhbWVJbXBsKCktPmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5oYW5k
bGVHZXN0dXJlRXZlbnQocGxhdGZvcm1FdmVudCk7CisgICAgICAgIGV2ZW50U3RhdHVzID0gbWFp
bkZyYW1lSW1wbCgpLT5mcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlR2VzdHVyZUV2ZW50
KHBsYXRmb3JtRXZlbnQpID8gV2ViVmlld0NsaWVudDo6RXZlbnRTdGF0dXNQcm9jZXNzZWQgOiBX
ZWJWaWV3Q2xpZW50OjpFdmVudFN0YXR1c0J1YmJsZWRVcDsKICAgICAgICAgYnJlYWs7CiAgICAg
fQogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZURvdWJsZVRhcDoKICAgICAgICAgaWYg
KG1fd2ViU2V0dGluZ3MtPmRvdWJsZVRhcFRvWm9vbUVuYWJsZWQoKSkgewogICAgICAgICAgICAg
bV9jbGllbnQtPmNhbmNlbFNjaGVkdWxlZENvbnRlbnRJbnRlbnRzKCk7CiAgICAgICAgICAgICBh
bmltYXRlWm9vbUFyb3VuZFBvaW50KFdlYlBvaW50KGV2ZW50LngsIGV2ZW50LnkpLCBEb3VibGVU
YXApOwotICAgICAgICAgICAgZXZlbnRTd2FsbG93ZWQgPSB0cnVlOworICAgICAgICAgICAgZXZl
bnRTdGF0dXMgPSBXZWJWaWV3Q2xpZW50OjpFdmVudFN0YXR1c1Byb2Nlc3NlZDsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlU2Ny
b2xsQmVnaW46CkBAIC03ODgsMTQgKzc4OCwxNCBAQCBib29sIFdlYlZpZXdJbXBsOjpoYW5kbGVH
ZXN0dXJlRXZlbnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50JiBldmVudCkKICAgICBjYXNlIFdlYklu
cHV0RXZlbnQ6Okdlc3R1cmVQaW5jaEVuZDoKICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1
cmVQaW5jaFVwZGF0ZTogewogICAgICAgICBQbGF0Zm9ybUdlc3R1cmVFdmVudEJ1aWxkZXIgcGxh
dGZvcm1FdmVudChtYWluRnJhbWVJbXBsKCktPmZyYW1lVmlldygpLCBldmVudCk7Ci0gICAgICAg
IGV2ZW50U3dhbGxvd2VkID0gbWFpbkZyYW1lSW1wbCgpLT5mcmFtZSgpLT5ldmVudEhhbmRsZXIo
KS0+aGFuZGxlR2VzdHVyZUV2ZW50KHBsYXRmb3JtRXZlbnQpOworICAgICAgICBldmVudFN0YXR1
cyA9IG1haW5GcmFtZUltcGwoKS0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZUdlc3R1
cmVFdmVudChwbGF0Zm9ybUV2ZW50KSA/IFdlYlZpZXdDbGllbnQ6OkV2ZW50U3RhdHVzUHJvY2Vz
c2VkIDogV2ViVmlld0NsaWVudDo6RXZlbnRTdGF0dXNCdWJibGVkVXA7CiAgICAgICAgIGJyZWFr
OwogICAgIH0KICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAg
ICB9Ci0gICAgbV9jbGllbnQtPmRpZEhhbmRsZUdlc3R1cmVFdmVudChldmVudCwgZXZlbnRTd2Fs
bG93ZWQpOwotICAgIHJldHVybiBldmVudFN3YWxsb3dlZDsKKyAgICBtX2NsaWVudC0+ZGlkSGFu
ZGxlR2VzdHVyZUV2ZW50KGV2ZW50LCBldmVudFN0YXR1cyk7CisgICAgcmV0dXJuIGV2ZW50U3Rh
dHVzICE9IFdlYlZpZXdDbGllbnQ6OkV2ZW50U3RhdHVzQnViYmxlZFVwOwogfQogCiB2b2lkIFdl
YlZpZXdJbXBsOjp0cmFuc2ZlckFjdGl2ZVdoZWVsRmxpbmdBbmltYXRpb24oY29uc3QgV2ViQWN0
aXZlV2hlZWxGbGluZ1BhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178664</attachid>
            <date>2012-12-10 16:25:54 -0800</date>
            <delta_ts>2013-01-08 18:00:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104427-20121210162315.patch</filename>
            <type>text/plain</type>
            <size>8390</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2OTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGYyNjA4ZWMxNDA0YjJiYzM3NjQ3YTAzNTEyOWIyYTU3YWI1ODBjMzAuLjk3MjVjZTQ2ZDgxN2Y2
YWM0ZjQ1N2IyMzJmMGYzMWI0Nzk4ZDkzZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTItMTItMDcgIFRpZW4tUmVuIENoZW4gIDx0cmNoZW5AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFdlYlZpZXdDbGllbnQ6OmRpZEhhbmRsZUdlc3R1cmVFdmVudCBu
ZWVkcyB0byBkaXN0aW5ndWlzaCB0aGUgY2FzZSBpZiB0aGUgZXZlbnQgaXMgcHJvY2Vzc2VkIG9y
IHN3YWxsb3dlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTA0NDI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgV2hlbiBhIGdlc3R1cmUgbmVlZHMgdG8gYmUgZGlzYW1iaWd1YXRlZCwgV2ViS2l0IGRvZXNu
J3QgdXBkYXRlIGN1cnNvciBmb2N1cy4KKyAgICAgICAgV2UgYWRkZWQgYW4gZXh0cmEgc3RhdHVz
IGZvciBkaWRIYW5kbGVHZXN0dXJlRXZlbnQoKSwgc28gd2UgY2FuIGRpc3Rpbmd1aXNoCisgICAg
ICAgIHRoZSBjYXNlIHdoZXRoZXIgdGhlIGV2ZW50IGlzIGFjdHVhbGx5IGRlbGl2ZXJlZCB0byB0
aGUgd2ViIHBhZ2Ugb3IgY2FuY2VsbGVkLgorCisgICAgICAgIFRoaXMgaXMgbmVlZGVkIGZvciBm
aXhpbmc6IGNyYnVnLmNvbS8xNjM0MzkKKyAgICAgICAgQ2hyb21pdW0gQ0w6IGh0dHBzOi8vY29k
ZXJldmlldy5jaHJvbWl1bS5vcmcvMTE0NzMwMjcKKworICAgICAgICAqIHB1YmxpYy9XZWJWaWV3
Q2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdDbGllbnQ6OmRpZEhhbmRsZUdlc3R1
cmVFdmVudCk6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViVmlld0ltcGw6OmhhbmRsZUdlc3R1cmVFdmVudCk6CisKIDIwMTItMTItMDcgIE1hcmsg
UGlsZ3JpbSAgPHBpbGdyaW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gTW92
ZSBXb3JrZXJDb250ZXh0UHJveHk6OmNyZWF0ZSBvdXQgb2YgUGxhdGZvcm1TdXBwb3J0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgKaW5kZXggYzZlMTc1
ZGJhZGU5YzU1YWU5NmVkNThlNDcyNzM4NTIwZGRhOTI3My4uZjdiNjEyMGI0MDkyY2NhOTMyOTgw
NzBkMTVjMDJlYWFhZGI1Y2Q5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViVmlld0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYlZpZXdDbGllbnQuaApAQCAtMTQ1LDcgKzE0NSwxMyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBXZWJOb3RpZmljYXRpb25QcmVzZW50ZXIqIG5vdGlmaWNhdGlvblByZXNlbnRlcigpIHsgcmV0
dXJuIDA7IH0KIAogICAgIC8vIENhbGxlZCB3aGVuIGEgZ2VzdHVyZSBldmVudCBpcyBoYW5kbGVk
LgotICAgIHZpcnR1YWwgdm9pZCBkaWRIYW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgV2ViR2VzdHVy
ZUV2ZW50JiBldmVudCwgYm9vbCBldmVudFN3YWxsb3dlZCkgeyB9CisgICAgZW51bSBFdmVudFN0
YXR1cyB7CisgICAgICAgIEV2ZW50U3RhdHVzVW5wcm9jZXNzZWQsCisgICAgICAgIEV2ZW50U3Rh
dHVzUHJvY2Vzc2VkLAorICAgICAgICBFdmVudFN0YXR1c0NhbmNlbGxlZAorICAgIH07CisgICAg
dmlydHVhbCB2b2lkIGRpZEhhbmRsZUdlc3R1cmVFdmVudChjb25zdCBXZWJHZXN0dXJlRXZlbnQm
IGV2ZW50LCBFdmVudFN0YXR1cykgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZEhhbmRsZUdlc3R1
cmVFdmVudChjb25zdCBXZWJHZXN0dXJlRXZlbnQmIGV2ZW50LCBib29sIGV2ZW50U3dhbGxvd2Vk
KSB7IH0gLy8gZGVwcmVjYXRlZAogCiAgICAgLy8gQ2FsbGVkIHRvIHJlcXVlc3QgYW4gaWNvbiBm
b3IgdGhlIHNwZWNpZmllZCBmaWxlbmFtZXMuCiAgICAgLy8gVGhlIGljb24gaXMgc2hvd24gaW4g
YSBmaWxlIHVwbG9hZCBjb250cm9sLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuY3BwCmluZGV4IGZmNTExOWFhM2EzYTNhNzZlMzVjMWQ5M2FjZTQ2ZGJmYzMzOTAyZTUu
LjBiMjZkNjhiYzg3NWQxMzVmNWZiZjcwMTE1NTk0ZjY1MjY3ZDI5ZjQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKQEAgLTY3Miw3ICs2NzIsNyBAQCB2b2lk
IFdlYlZpZXdJbXBsOjpzY3JvbGxCeShjb25zdCBXZWJQb2ludCYgZGVsdGEpCiAjaWYgRU5BQkxF
KEdFU1RVUkVfRVZFTlRTKQogYm9vbCBXZWJWaWV3SW1wbDo6aGFuZGxlR2VzdHVyZUV2ZW50KGNv
bnN0IFdlYkdlc3R1cmVFdmVudCYgZXZlbnQpCiB7Ci0gICAgYm9vbCBldmVudFN3YWxsb3dlZCA9
IGZhbHNlOworICAgIFdlYlZpZXdDbGllbnQ6OkV2ZW50U3RhdHVzIGV2ZW50U3RhdHVzID0gV2Vi
Vmlld0NsaWVudDo6RXZlbnRTdGF0dXNVbnByb2Nlc3NlZDsKIAogICAgIC8vIEhhbmRsZSBsaW5r
IGhpZ2hsaWdodGluZyBvdXRzaWRlIHRoZSBtYWluIHN3aXRjaCB0byBhdm9pZCBnZXR0aW5nIGxv
c3QgaW4gdGhlCiAgICAgLy8gY29tcGxpY2F0ZWQgc2V0IG9mIGNhc2VzIGhhbmRsZWQgYmVsb3cu
CkBAIC03MDUsMTkgKzcwNSwxOSBAQCBib29sIFdlYlZpZXdJbXBsOjpoYW5kbGVHZXN0dXJlRXZl
bnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50JiBldmVudCkKICAgICAgICAgT3duUHRyPFdlYkdlc3R1
cmVDdXJ2ZT4gZmxpbmdDdXJ2ZSA9IGFkb3B0UHRyKFBsYXRmb3JtOjpjdXJyZW50KCktPmNyZWF0
ZUZsaW5nQW5pbWF0aW9uQ3VydmUoZXZlbnQuZGF0YS5mbGluZ1N0YXJ0LnNvdXJjZURldmljZSwg
V2ViRmxvYXRQb2ludChldmVudC5kYXRhLmZsaW5nU3RhcnQudmVsb2NpdHlYLCBldmVudC5kYXRh
LmZsaW5nU3RhcnQudmVsb2NpdHlZKSwgV2ViU2l6ZSgpKSk7CiAgICAgICAgIG1fZ2VzdHVyZUFu
aW1hdGlvbiA9IFdlYkFjdGl2ZUdlc3R1cmVBbmltYXRpb246OmNyZWF0ZUF0QW5pbWF0aW9uU3Rh
cnQoZmxpbmdDdXJ2ZS5yZWxlYXNlKCksIHRoaXMpOwogICAgICAgICBzY2hlZHVsZUFuaW1hdGlv
bigpOwotICAgICAgICBldmVudFN3YWxsb3dlZCA9IHRydWU7CisgICAgICAgIGV2ZW50U3RhdHVz
ID0gV2ViVmlld0NsaWVudDo6RXZlbnRTdGF0dXNQcm9jZXNzZWQ7CiAgICAgICAgIGJyZWFrOwog
ICAgIH0KICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVGbGluZ0NhbmNlbDoKICAgICAg
ICAgaWYgKG1fZ2VzdHVyZUFuaW1hdGlvbikgewogICAgICAgICAgICAgbV9nZXN0dXJlQW5pbWF0
aW9uLmNsZWFyKCk7Ci0gICAgICAgICAgICBldmVudFN3YWxsb3dlZCA9IHRydWU7CisgICAgICAg
ICAgICBldmVudFN0YXR1cyA9IFdlYlZpZXdDbGllbnQ6OkV2ZW50U3RhdHVzUHJvY2Vzc2VkOwog
ICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVy
ZVRhcDogewogICAgICAgICBtX2NsaWVudC0+Y2FuY2VsU2NoZWR1bGVkQ29udGVudEludGVudHMo
KTsKICAgICAgICAgaWYgKGRldGVjdENvbnRlbnRPblRvdWNoKFdlYlBvaW50KGV2ZW50LngsIGV2
ZW50LnkpKSkgewotICAgICAgICAgICAgZXZlbnRTd2FsbG93ZWQgPSB0cnVlOworICAgICAgICAg
ICAgZXZlbnRTdGF0dXMgPSBXZWJWaWV3Q2xpZW50OjpFdmVudFN0YXR1c1Byb2Nlc3NlZDsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKQEAgLTczMywxMyArNzMzLDEzIEBAIGJvb2wg
V2ViVmlld0ltcGw6OmhhbmRsZUdlc3R1cmVFdmVudChjb25zdCBXZWJHZXN0dXJlRXZlbnQmIGV2
ZW50KQogICAgICAgICAgICAgLy8gRklYTUU6IHJlcGxhY2UgdG91Y2ggYWRqdXN0bWVudCBjb2Rl
IHdoZW4gbnVtYmVyT2ZHb29kVGFyZ2V0cyA9PSAxPwogICAgICAgICAgICAgLy8gU2luZ2xlIGNh
bmRpZGF0ZSBjYXNlIGlzIGN1cnJlbnRseSBoYW5kbGVkIGJ5OiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODUxMDEKICAgICAgICAgICAgIGlmIChnb29kVGFyZ2V0cy5z
aXplKCkgPj0gMiAmJiBtX2NsaWVudCAmJiBtX2NsaWVudC0+ZGlkVGFwTXVsdGlwbGVUYXJnZXRz
KGV2ZW50LCBnb29kVGFyZ2V0cykpIHsKLSAgICAgICAgICAgICAgICBldmVudFN3YWxsb3dlZCA9
IHRydWU7CisgICAgICAgICAgICAgICAgZXZlbnRTdGF0dXMgPSBXZWJWaWV3Q2xpZW50OjpFdmVu
dFN0YXR1c0NhbmNlbGxlZDsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0K
ICAgICAgICAgfQogCiAgICAgICAgIFBsYXRmb3JtR2VzdHVyZUV2ZW50QnVpbGRlciBwbGF0Zm9y
bUV2ZW50KG1haW5GcmFtZUltcGwoKS0+ZnJhbWVWaWV3KCksIGV2ZW50KTsKLSAgICAgICAgZXZl
bnRTd2FsbG93ZWQgPSBtYWluRnJhbWVJbXBsKCktPmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5o
YW5kbGVHZXN0dXJlRXZlbnQocGxhdGZvcm1FdmVudCk7CisgICAgICAgIGV2ZW50U3RhdHVzID0g
bWFpbkZyYW1lSW1wbCgpLT5mcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlR2VzdHVyZUV2
ZW50KHBsYXRmb3JtRXZlbnQpID8gV2ViVmlld0NsaWVudDo6RXZlbnRTdGF0dXNQcm9jZXNzZWQg
OiBXZWJWaWV3Q2xpZW50OjpFdmVudFN0YXR1c1VucHJvY2Vzc2VkOwogCiAgICAgICAgIGlmICht
X3NlbGVjdFBvcHVwICYmIG1fc2VsZWN0UG9wdXAgPT0gc2VsZWN0UG9wdXApIHsKICAgICAgICAg
ICAgIC8vIFRoYXQgdGFwIHRyaWdnZXJlZCBhIHNlbGVjdCBwb3B1cCB3aGljaCBpcyB0aGUgc2Ft
ZSBhcyB0aGUgb25lIHRoYXQKQEAgLTc2MSw3ICs3NjEsNyBAQCBib29sIFdlYlZpZXdJbXBsOjpo
YW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50JiBldmVudCkKICAgICAgICAg
bV9wYWdlLT5jb250ZXh0TWVudUNvbnRyb2xsZXIoKS0+Y2xlYXJDb250ZXh0TWVudSgpOwogICAg
ICAgICBtX2NvbnRleHRNZW51QWxsb3dlZCA9IHRydWU7CiAgICAgICAgIFBsYXRmb3JtR2VzdHVy
ZUV2ZW50QnVpbGRlciBwbGF0Zm9ybUV2ZW50KG1haW5GcmFtZUltcGwoKS0+ZnJhbWVWaWV3KCks
IGV2ZW50KTsKLSAgICAgICAgZXZlbnRTd2FsbG93ZWQgPSBtYWluRnJhbWVJbXBsKCktPmZyYW1l
KCktPmV2ZW50SGFuZGxlcigpLT5oYW5kbGVHZXN0dXJlRXZlbnQocGxhdGZvcm1FdmVudCk7Cisg
ICAgICAgIGV2ZW50U3RhdHVzID0gbWFpbkZyYW1lSW1wbCgpLT5mcmFtZSgpLT5ldmVudEhhbmRs
ZXIoKS0+aGFuZGxlR2VzdHVyZUV2ZW50KHBsYXRmb3JtRXZlbnQpID8gV2ViVmlld0NsaWVudDo6
RXZlbnRTdGF0dXNQcm9jZXNzZWQgOiBXZWJWaWV3Q2xpZW50OjpFdmVudFN0YXR1c1VucHJvY2Vz
c2VkOwogICAgICAgICBtX2NvbnRleHRNZW51QWxsb3dlZCA9IGZhbHNlOwogCiAgICAgICAgIGJy
ZWFrOwpAQCAtNzY5LDE0ICs3NjksMTQgQEAgYm9vbCBXZWJWaWV3SW1wbDo6aGFuZGxlR2VzdHVy
ZUV2ZW50KGNvbnN0IFdlYkdlc3R1cmVFdmVudCYgZXZlbnQpCiAgICAgY2FzZSBXZWJJbnB1dEV2
ZW50OjpHZXN0dXJlVGFwRG93bjogewogICAgICAgICBtX2NsaWVudC0+Y2FuY2VsU2NoZWR1bGVk
Q29udGVudEludGVudHMoKTsKICAgICAgICAgUGxhdGZvcm1HZXN0dXJlRXZlbnRCdWlsZGVyIHBs
YXRmb3JtRXZlbnQobWFpbkZyYW1lSW1wbCgpLT5mcmFtZVZpZXcoKSwgZXZlbnQpOwotICAgICAg
ICBldmVudFN3YWxsb3dlZCA9IG1haW5GcmFtZUltcGwoKS0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVy
KCktPmhhbmRsZUdlc3R1cmVFdmVudChwbGF0Zm9ybUV2ZW50KTsKKyAgICAgICAgZXZlbnRTdGF0
dXMgPSBtYWluRnJhbWVJbXBsKCktPmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5oYW5kbGVHZXN0
dXJlRXZlbnQocGxhdGZvcm1FdmVudCkgPyBXZWJWaWV3Q2xpZW50OjpFdmVudFN0YXR1c1Byb2Nl
c3NlZCA6IFdlYlZpZXdDbGllbnQ6OkV2ZW50U3RhdHVzVW5wcm9jZXNzZWQ7CiAgICAgICAgIGJy
ZWFrOwogICAgIH0KICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVEb3VibGVUYXA6CiAg
ICAgICAgIGlmIChtX3dlYlNldHRpbmdzLT5kb3VibGVUYXBUb1pvb21FbmFibGVkKCkpIHsKICAg
ICAgICAgICAgIG1fY2xpZW50LT5jYW5jZWxTY2hlZHVsZWRDb250ZW50SW50ZW50cygpOwogICAg
ICAgICAgICAgYW5pbWF0ZVpvb21Bcm91bmRQb2ludChXZWJQb2ludChldmVudC54LCBldmVudC55
KSwgRG91YmxlVGFwKTsKLSAgICAgICAgICAgIGV2ZW50U3dhbGxvd2VkID0gdHJ1ZTsKKyAgICAg
ICAgICAgIGV2ZW50U3RhdHVzID0gV2ViVmlld0NsaWVudDo6RXZlbnRTdGF0dXNQcm9jZXNzZWQ7
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6
R2VzdHVyZVNjcm9sbEJlZ2luOgpAQCAtNzg4LDE0ICs3ODgsMTQgQEAgYm9vbCBXZWJWaWV3SW1w
bDo6aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFdlYkdlc3R1cmVFdmVudCYgZXZlbnQpCiAgICAg
Y2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlUGluY2hFbmQ6CiAgICAgY2FzZSBXZWJJbnB1dEV2
ZW50OjpHZXN0dXJlUGluY2hVcGRhdGU6IHsKICAgICAgICAgUGxhdGZvcm1HZXN0dXJlRXZlbnRC
dWlsZGVyIHBsYXRmb3JtRXZlbnQobWFpbkZyYW1lSW1wbCgpLT5mcmFtZVZpZXcoKSwgZXZlbnQp
OwotICAgICAgICBldmVudFN3YWxsb3dlZCA9IG1haW5GcmFtZUltcGwoKS0+ZnJhbWUoKS0+ZXZl
bnRIYW5kbGVyKCktPmhhbmRsZUdlc3R1cmVFdmVudChwbGF0Zm9ybUV2ZW50KTsKKyAgICAgICAg
ZXZlbnRTdGF0dXMgPSBtYWluRnJhbWVJbXBsKCktPmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5o
YW5kbGVHZXN0dXJlRXZlbnQocGxhdGZvcm1FdmVudCkgPyBXZWJWaWV3Q2xpZW50OjpFdmVudFN0
YXR1c1Byb2Nlc3NlZCA6IFdlYlZpZXdDbGllbnQ6OkV2ZW50U3RhdHVzVW5wcm9jZXNzZWQ7CiAg
ICAgICAgIGJyZWFrOwogICAgIH0KICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKICAgICB9Ci0gICAgbV9jbGllbnQtPmRpZEhhbmRsZUdlc3R1cmVFdmVudChldmVu
dCwgZXZlbnRTd2FsbG93ZWQpOwotICAgIHJldHVybiBldmVudFN3YWxsb3dlZDsKKyAgICBtX2Ns
aWVudC0+ZGlkSGFuZGxlR2VzdHVyZUV2ZW50KGV2ZW50LCBldmVudFN0YXR1cyk7CisgICAgcmV0
dXJuIGV2ZW50U3RhdHVzICE9IFdlYlZpZXdDbGllbnQ6OkV2ZW50U3RhdHVzVW5wcm9jZXNzZWQ7
CiB9CiAKIHZvaWQgV2ViVmlld0ltcGw6OnRyYW5zZmVyQWN0aXZlV2hlZWxGbGluZ0FuaW1hdGlv
bihjb25zdCBXZWJBY3RpdmVXaGVlbEZsaW5nUGFyYW1ldGVycyYgcGFyYW1ldGVycykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViVmlld1Rlc3QuY3BwIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJWaWV3VGVzdC5jcHAKaW5kZXggMTkyOWMxYmE2
MzA4MzI1ZmRiZGQyZmE4YzUyMjNjZTAwZjZmZjk2ZC4uNTI0NDg0M2Y2NjQ3NDMzMDcwMzhlY2Vm
YzBmMmZhN2EzNzUzNGYyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0
cy9XZWJWaWV3VGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJW
aWV3VGVzdC5jcHAKQEAgLTEyMyw3ICsxMjMsNyBAQCBwcml2YXRlOgogY2xhc3MgVGFwSGFuZGxp
bmdXZWJWaWV3Q2xpZW50IDogcHVibGljIFdlYlZpZXdDbGllbnQgewogcHVibGljOgogICAgIC8v
IFdlYlZpZXdDbGllbnQgbWV0aG9kcwotICAgIHZpcnR1YWwgdm9pZCBkaWRIYW5kbGVHZXN0dXJl
RXZlbnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50JiBldmVudCwgYm9vbCBoYW5kbGVkKQorICAgIHZp
cnR1YWwgdm9pZCBkaWRIYW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50JiBl
dmVudCwgRXZlbnRTdGF0dXMgZXZlbnRTdGF0dXMpCiAgICAgewogICAgICAgICBpZiAoZXZlbnQu
dHlwZSA9PSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlVGFwKSB7CiAgICAgICAgICAgICBtX3RhcFgg
PSBldmVudC54Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181814</attachid>
            <date>2013-01-08 18:00:28 -0800</date>
            <delta_ts>2013-01-11 18:03:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104427-20130108175732.patch</filename>
            <type>text/plain</type>
            <size>9463</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MTExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDRiN2I2Mzc1MTk3MDI3Y2U4ZjExYWRhZDY3NjQxNmMzZWJjY2YzZGEuLjA5NGNlZTE1MWZmYTM2
YzI1MzkzZjM5ZTIwZDhlYzllYjA3NTA2OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTMtMDEtMDggIFRpZW4tUmVuIENoZW4gIDx0cmNoZW5AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFdlYldpZGdldENsaWVudDo6ZGlkSGFuZGxlR2VzdHVyZUV2ZW50
IG5lZWRzIHRvIGRpc3Rpbmd1aXNoIHRoZSBjYXNlIGlmIHRoZSBldmVudCBpcyBwcm9jZXNzZWQg
b3Igc3dhbGxvd2VkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDQ0MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBXaGVuIGEgZ2VzdHVyZSBuZWVkcyB0byBiZSBkaXNhbWJpZ3VhdGVkLCBXZWJLaXQgZG9l
c24ndCB1cGRhdGUgY3Vyc29yIGZvY3VzLgorICAgICAgICBXZSBhZGRlZCBhbiBleHRyYSBzdGF0
dXMgZm9yIGRpZEhhbmRsZUdlc3R1cmVFdmVudCgpLCBzbyB3ZSBjYW4gZGlzdGluZ3Vpc2gKKyAg
ICAgICAgdGhlIGNhc2Ugd2hldGhlciB0aGUgZXZlbnQgaXMgYWN0dWFsbHkgZGVsaXZlcmVkIHRv
IHRoZSB3ZWIgcGFnZSBvciBjYW5jZWxsZWQuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViVmlld0Ns
aWVudC5oOgorICAgICAgICAqIHB1YmxpYy9XZWJXaWRnZXRDbGllbnQuaDoKKyAgICAgICAgKFdl
YktpdCk6CisgICAgICAgIChXZWJXaWRnZXRDbGllbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJX
aWRnZXRDbGllbnQ6OmRpZEhhbmRsZUdlc3R1cmVFdmVudCk6CisgICAgICAgICogc3JjL1dlYlZp
ZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmhhbmRsZUdlc3R1cmVF
dmVudCk6CisgICAgICAgICogdGVzdHMvV2ViVmlld1Rlc3QuY3BwOgorCiAyMDEzLTAxLTA4ICBU
b20gU2VwZXogIDx0c2VwZXpAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENvcHktcGFzdGUgcHJl
c2VydmVzIDxlbWJlZD4gdGFncyBjb250YWluaW5nIGFjdGl2ZSBjb250ZW50LgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oCmluZGV4IGM2ZTE3NWRiYWRl
OWM1NWFlOTZlZDU4ZTQ3MjczODUyMGRkYTkyNzMuLmMwNzk4ZjU4MmU2Yjk3NzgwYWYxMmMwMjRh
ZmNmZDE3ZGJiYzhlMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYlZpZXdDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJW
aWV3Q2xpZW50LmgKQEAgLTE0NCw5ICsxNDQsNiBAQCBwdWJsaWM6CiAgICAgLy8gQ2FsbGVkIHRv
IHJldHJpZXZlIHRoZSBwcm92aWRlciBvZiBkZXNrdG9wIG5vdGlmaWNhdGlvbnMuCiAgICAgdmly
dHVhbCBXZWJOb3RpZmljYXRpb25QcmVzZW50ZXIqIG5vdGlmaWNhdGlvblByZXNlbnRlcigpIHsg
cmV0dXJuIDA7IH0KIAotICAgIC8vIENhbGxlZCB3aGVuIGEgZ2VzdHVyZSBldmVudCBpcyBoYW5k
bGVkLgotICAgIHZpcnR1YWwgdm9pZCBkaWRIYW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgV2ViR2Vz
dHVyZUV2ZW50JiBldmVudCwgYm9vbCBldmVudFN3YWxsb3dlZCkgeyB9Ci0KICAgICAvLyBDYWxs
ZWQgdG8gcmVxdWVzdCBhbiBpY29uIGZvciB0aGUgc3BlY2lmaWVkIGZpbGVuYW1lcy4KICAgICAv
LyBUaGUgaWNvbiBpcyBzaG93biBpbiBhIGZpbGUgdXBsb2FkIGNvbnRyb2wuCiAgICAgdmlydHVh
bCBib29sIHF1ZXJ5SWNvbkZvckZpbGVzKGNvbnN0IFdlYlZlY3RvcjxXZWJTdHJpbmc+JiBmaWxl
bmFtZXMsIFdlYkljb25Mb2FkaW5nQ29tcGxldGlvbiopIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJXaWRnZXRDbGllbnQuaCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYldpZGdldENsaWVudC5oCmluZGV4IGE0
YzhjNGU1MTA3YTdhMTVkOGYzNjgyOWQ4OGNjYTE1NzEyYWMxNDkuLmRkYzRkOWQ5NjhlNDZmNzU3
NTBiMTEyNWMzNjE5ZWM3YjllZTFiNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYldpZGdldENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYldpZGdldENsaWVudC5oCkBAIC0zOSw2ICszOSw3IEBACiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCitjbGFzcyBXZWJHZXN0dXJlRXZlbnQ7CiBjbGFzcyBXZWJTdHJpbmc7CiBjbGFz
cyBXZWJXaWRnZXQ7CiBzdHJ1Y3QgV2ViQ3Vyc29ySW5mbzsKQEAgLTE2Myw2ICsxNjQsMTUgQEAg
cHVibGljOgogICAgIC8vIFJldHVybnMgdHJ1ZSBpZmYgdGhlIHBvaW50ZXIgaXMgbG9ja2VkIHRv
IHRoaXMgd2lkZ2V0LgogICAgIHZpcnR1YWwgYm9vbCBpc1BvaW50ZXJMb2NrZWQoKSB7IHJldHVy
biBmYWxzZTsgfQogCisgICAgLy8gQ2FsbGVkIHdoZW4gYSBnZXN0dXJlIGV2ZW50IGlzIGhhbmRs
ZWQuCisgICAgZW51bSBFdmVudFN0YXR1cyB7CisgICAgICAgIEV2ZW50U3RhdHVzVW5wcm9jZXNz
ZWQsCisgICAgICAgIEV2ZW50U3RhdHVzUHJvY2Vzc2VkLAorICAgICAgICBFdmVudFN0YXR1c0Nh
bmNlbGxlZAorICAgIH07CisgICAgdmlydHVhbCB2b2lkIGRpZEhhbmRsZUdlc3R1cmVFdmVudChj
b25zdCBXZWJHZXN0dXJlRXZlbnQmIGV2ZW50LCBFdmVudFN0YXR1cykgeyB9CisgICAgdmlydHVh
bCB2b2lkIGRpZEhhbmRsZUdlc3R1cmVFdmVudChjb25zdCBXZWJHZXN0dXJlRXZlbnQmIGV2ZW50
LCBib29sIGV2ZW50U3dhbGxvd2VkKSB7IH0gLy8gZGVwcmVjYXRlZAorCiBwcm90ZWN0ZWQ6CiAg
ICAgfldlYldpZGdldENsaWVudCgpIHsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmNwcAppbmRleCAxNWMyNTI1MDVlOTNjNWYyZDZhMzA4MDJmZTNjOTVhOTIy
ZGQwNTJjLi44MTRjODBlN2UzNTE1MDI1YTk1MDg5ZjM5MjgxZjI1YzEyY2JlOTRjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC02NzAsNyArNjcwLDcg
QEAgdm9pZCBXZWJWaWV3SW1wbDo6c2Nyb2xsQnkoY29uc3QgV2ViUG9pbnQmIGRlbHRhKQogI2lm
IEVOQUJMRShHRVNUVVJFX0VWRU5UUykKIGJvb2wgV2ViVmlld0ltcGw6OmhhbmRsZUdlc3R1cmVF
dmVudChjb25zdCBXZWJHZXN0dXJlRXZlbnQmIGV2ZW50KQogewotICAgIGJvb2wgZXZlbnRTd2Fs
bG93ZWQgPSBmYWxzZTsKKyAgICBXZWJXaWRnZXRDbGllbnQ6OkV2ZW50U3RhdHVzIGV2ZW50U3Rh
dHVzID0gV2ViV2lkZ2V0Q2xpZW50OjpFdmVudFN0YXR1c1VucHJvY2Vzc2VkOwogCiAgICAgLy8g
SGFuZGxlIGxpbmsgaGlnaGxpZ2h0aW5nIG91dHNpZGUgdGhlIG1haW4gc3dpdGNoIHRvIGF2b2lk
IGdldHRpbmcgbG9zdCBpbiB0aGUKICAgICAvLyBjb21wbGljYXRlZCBzZXQgb2YgY2FzZXMgaGFu
ZGxlZCBiZWxvdy4KQEAgLTcwMyw3ICs3MDMsNyBAQCBib29sIFdlYlZpZXdJbXBsOjpoYW5kbGVH
ZXN0dXJlRXZlbnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50JiBldmVudCkKICAgICAgICAgT3duUHRy
PFdlYkdlc3R1cmVDdXJ2ZT4gZmxpbmdDdXJ2ZSA9IGFkb3B0UHRyKFBsYXRmb3JtOjpjdXJyZW50
KCktPmNyZWF0ZUZsaW5nQW5pbWF0aW9uQ3VydmUoZXZlbnQuc291cmNlRGV2aWNlLCBXZWJGbG9h
dFBvaW50KGV2ZW50LmRhdGEuZmxpbmdTdGFydC52ZWxvY2l0eVgsIGV2ZW50LmRhdGEuZmxpbmdT
dGFydC52ZWxvY2l0eVkpLCBXZWJTaXplKCkpKTsKICAgICAgICAgbV9nZXN0dXJlQW5pbWF0aW9u
ID0gV2ViQWN0aXZlR2VzdHVyZUFuaW1hdGlvbjo6Y3JlYXRlQXRBbmltYXRpb25TdGFydChmbGlu
Z0N1cnZlLnJlbGVhc2UoKSwgdGhpcyk7CiAgICAgICAgIHNjaGVkdWxlQW5pbWF0aW9uKCk7Ci0g
ICAgICAgIGV2ZW50U3dhbGxvd2VkID0gdHJ1ZTsKKyAgICAgICAgZXZlbnRTdGF0dXMgPSBXZWJX
aWRnZXRDbGllbnQ6OkV2ZW50U3RhdHVzUHJvY2Vzc2VkOwogICAgICAgICBicmVhazsKICAgICB9
CiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlRmxpbmdDYW5jZWw6CkBAIC03MTEsMTMg
KzcxMSwxMyBAQCBib29sIFdlYlZpZXdJbXBsOjpoYW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgV2Vi
R2VzdHVyZUV2ZW50JiBldmVudCkKICAgICAgICAgICAgIG1fZ2VzdHVyZUFuaW1hdGlvbi5jbGVh
cigpOwogICAgICAgICAgICAgaWYgKG1fbGF5ZXJUcmVlVmlldykKICAgICAgICAgICAgICAgICBt
X2xheWVyVHJlZVZpZXctPmRpZFN0b3BGbGluZ2luZygpOwotICAgICAgICAgICAgZXZlbnRTd2Fs
bG93ZWQgPSB0cnVlOworICAgICAgICAgICAgZXZlbnRTdGF0dXMgPSBXZWJXaWRnZXRDbGllbnQ6
OkV2ZW50U3RhdHVzUHJvY2Vzc2VkOwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZVRhcDogewogICAgICAgICBtX2NsaWVudC0+Y2FuY2Vs
U2NoZWR1bGVkQ29udGVudEludGVudHMoKTsKICAgICAgICAgaWYgKGRldGVjdENvbnRlbnRPblRv
dWNoKFdlYlBvaW50KGV2ZW50LngsIGV2ZW50LnkpKSkgewotICAgICAgICAgICAgZXZlbnRTd2Fs
bG93ZWQgPSB0cnVlOworICAgICAgICAgICAgZXZlbnRTdGF0dXMgPSBXZWJXaWRnZXRDbGllbnQ6
OkV2ZW50U3RhdHVzUHJvY2Vzc2VkOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApA
QCAtNzMzLDEzICs3MzMsMTMgQEAgYm9vbCBXZWJWaWV3SW1wbDo6aGFuZGxlR2VzdHVyZUV2ZW50
KGNvbnN0IFdlYkdlc3R1cmVFdmVudCYgZXZlbnQpCiAgICAgICAgICAgICAvLyBGSVhNRTogcmVw
bGFjZSB0b3VjaCBhZGp1c3RtZW50IGNvZGUgd2hlbiBudW1iZXJPZkdvb2RUYXJnZXRzID09IDE/
CiAgICAgICAgICAgICAvLyBTaW5nbGUgY2FuZGlkYXRlIGNhc2UgaXMgY3VycmVudGx5IGhhbmRs
ZWQgYnk6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTEwMQogICAg
ICAgICAgICAgaWYgKGdvb2RUYXJnZXRzLnNpemUoKSA+PSAyICYmIG1fY2xpZW50ICYmIG1fY2xp
ZW50LT5kaWRUYXBNdWx0aXBsZVRhcmdldHMoZXZlbnQsIGdvb2RUYXJnZXRzKSkgewotICAgICAg
ICAgICAgICAgIGV2ZW50U3dhbGxvd2VkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBldmVudFN0
YXR1cyA9IFdlYldpZGdldENsaWVudDo6RXZlbnRTdGF0dXNDYW5jZWxsZWQ7CiAgICAgICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAogICAgICAgICBQbGF0Zm9y
bUdlc3R1cmVFdmVudEJ1aWxkZXIgcGxhdGZvcm1FdmVudChtYWluRnJhbWVJbXBsKCktPmZyYW1l
VmlldygpLCBldmVudCk7Ci0gICAgICAgIGV2ZW50U3dhbGxvd2VkID0gbWFpbkZyYW1lSW1wbCgp
LT5mcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlR2VzdHVyZUV2ZW50KHBsYXRmb3JtRXZl
bnQpOworICAgICAgICBldmVudFN0YXR1cyA9IG1haW5GcmFtZUltcGwoKS0+ZnJhbWUoKS0+ZXZl
bnRIYW5kbGVyKCktPmhhbmRsZUdlc3R1cmVFdmVudChwbGF0Zm9ybUV2ZW50KSA/IFdlYldpZGdl
dENsaWVudDo6RXZlbnRTdGF0dXNQcm9jZXNzZWQgOiBXZWJXaWRnZXRDbGllbnQ6OkV2ZW50U3Rh
dHVzVW5wcm9jZXNzZWQ7CiAKICAgICAgICAgaWYgKG1fc2VsZWN0UG9wdXAgJiYgbV9zZWxlY3RQ
b3B1cCA9PSBzZWxlY3RQb3B1cCkgewogICAgICAgICAgICAgLy8gVGhhdCB0YXAgdHJpZ2dlcmVk
IGEgc2VsZWN0IHBvcHVwIHdoaWNoIGlzIHRoZSBzYW1lIGFzIHRoZSBvbmUgdGhhdApAQCAtNzYx
LDcgKzc2MSw3IEBAIGJvb2wgV2ViVmlld0ltcGw6OmhhbmRsZUdlc3R1cmVFdmVudChjb25zdCBX
ZWJHZXN0dXJlRXZlbnQmIGV2ZW50KQogICAgICAgICBtX3BhZ2UtPmNvbnRleHRNZW51Q29udHJv
bGxlcigpLT5jbGVhckNvbnRleHRNZW51KCk7CiAgICAgICAgIG1fY29udGV4dE1lbnVBbGxvd2Vk
ID0gdHJ1ZTsKICAgICAgICAgUGxhdGZvcm1HZXN0dXJlRXZlbnRCdWlsZGVyIHBsYXRmb3JtRXZl
bnQobWFpbkZyYW1lSW1wbCgpLT5mcmFtZVZpZXcoKSwgZXZlbnQpOwotICAgICAgICBldmVudFN3
YWxsb3dlZCA9IG1haW5GcmFtZUltcGwoKS0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmhhbmRs
ZUdlc3R1cmVFdmVudChwbGF0Zm9ybUV2ZW50KTsKKyAgICAgICAgZXZlbnRTdGF0dXMgPSBtYWlu
RnJhbWVJbXBsKCktPmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5oYW5kbGVHZXN0dXJlRXZlbnQo
cGxhdGZvcm1FdmVudCkgPyBXZWJXaWRnZXRDbGllbnQ6OkV2ZW50U3RhdHVzUHJvY2Vzc2VkIDog
V2ViV2lkZ2V0Q2xpZW50OjpFdmVudFN0YXR1c1VucHJvY2Vzc2VkOwogICAgICAgICBtX2NvbnRl
eHRNZW51QWxsb3dlZCA9IGZhbHNlOwogCiAgICAgICAgIGJyZWFrOwpAQCAtNzY5LDE0ICs3Njks
MTQgQEAgYm9vbCBXZWJWaWV3SW1wbDo6aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFdlYkdlc3R1
cmVFdmVudCYgZXZlbnQpCiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlVGFwRG93bjog
ewogICAgICAgICBtX2NsaWVudC0+Y2FuY2VsU2NoZWR1bGVkQ29udGVudEludGVudHMoKTsKICAg
ICAgICAgUGxhdGZvcm1HZXN0dXJlRXZlbnRCdWlsZGVyIHBsYXRmb3JtRXZlbnQobWFpbkZyYW1l
SW1wbCgpLT5mcmFtZVZpZXcoKSwgZXZlbnQpOwotICAgICAgICBldmVudFN3YWxsb3dlZCA9IG1h
aW5GcmFtZUltcGwoKS0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZUdlc3R1cmVFdmVu
dChwbGF0Zm9ybUV2ZW50KTsKKyAgICAgICAgZXZlbnRTdGF0dXMgPSBtYWluRnJhbWVJbXBsKCkt
PmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5oYW5kbGVHZXN0dXJlRXZlbnQocGxhdGZvcm1FdmVu
dCkgPyBXZWJXaWRnZXRDbGllbnQ6OkV2ZW50U3RhdHVzUHJvY2Vzc2VkIDogV2ViV2lkZ2V0Q2xp
ZW50OjpFdmVudFN0YXR1c1VucHJvY2Vzc2VkOwogICAgICAgICBicmVhazsKICAgICB9CiAgICAg
Y2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlRG91YmxlVGFwOgogICAgICAgICBpZiAobV93ZWJT
ZXR0aW5ncy0+ZG91YmxlVGFwVG9ab29tRW5hYmxlZCgpICYmIG1fbWluaW11bVBhZ2VTY2FsZUZh
Y3RvciAhPSBtX21heGltdW1QYWdlU2NhbGVGYWN0b3IpIHsKICAgICAgICAgICAgIG1fY2xpZW50
LT5jYW5jZWxTY2hlZHVsZWRDb250ZW50SW50ZW50cygpOwogICAgICAgICAgICAgYW5pbWF0ZVpv
b21Bcm91bmRQb2ludChXZWJQb2ludChldmVudC54LCBldmVudC55KSwgRG91YmxlVGFwKTsKLSAg
ICAgICAgICAgIGV2ZW50U3dhbGxvd2VkID0gdHJ1ZTsKKyAgICAgICAgICAgIGV2ZW50U3RhdHVz
ID0gV2ViV2lkZ2V0Q2xpZW50OjpFdmVudFN0YXR1c1Byb2Nlc3NlZDsKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICB9CiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlU2Nyb2xsQmVn
aW46CkBAIC03ODgsMTQgKzc4OCwxNCBAQCBib29sIFdlYlZpZXdJbXBsOjpoYW5kbGVHZXN0dXJl
RXZlbnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50JiBldmVudCkKICAgICBjYXNlIFdlYklucHV0RXZl
bnQ6Okdlc3R1cmVQaW5jaEVuZDoKICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVQaW5j
aFVwZGF0ZTogewogICAgICAgICBQbGF0Zm9ybUdlc3R1cmVFdmVudEJ1aWxkZXIgcGxhdGZvcm1F
dmVudChtYWluRnJhbWVJbXBsKCktPmZyYW1lVmlldygpLCBldmVudCk7Ci0gICAgICAgIGV2ZW50
U3dhbGxvd2VkID0gbWFpbkZyYW1lSW1wbCgpLT5mcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+aGFu
ZGxlR2VzdHVyZUV2ZW50KHBsYXRmb3JtRXZlbnQpOworICAgICAgICBldmVudFN0YXR1cyA9IG1h
aW5GcmFtZUltcGwoKS0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZUdlc3R1cmVFdmVu
dChwbGF0Zm9ybUV2ZW50KSA/IFdlYldpZGdldENsaWVudDo6RXZlbnRTdGF0dXNQcm9jZXNzZWQg
OiBXZWJXaWRnZXRDbGllbnQ6OkV2ZW50U3RhdHVzVW5wcm9jZXNzZWQ7CiAgICAgICAgIGJyZWFr
OwogICAgIH0KICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAg
ICB9Ci0gICAgbV9jbGllbnQtPmRpZEhhbmRsZUdlc3R1cmVFdmVudChldmVudCwgZXZlbnRTd2Fs
bG93ZWQpOwotICAgIHJldHVybiBldmVudFN3YWxsb3dlZDsKKyAgICBtX2NsaWVudC0+ZGlkSGFu
ZGxlR2VzdHVyZUV2ZW50KGV2ZW50LCBldmVudFN0YXR1cyk7CisgICAgcmV0dXJuIGV2ZW50U3Rh
dHVzICE9IFdlYldpZGdldENsaWVudDo6RXZlbnRTdGF0dXNVbnByb2Nlc3NlZDsKIH0KIAogdm9p
ZCBXZWJWaWV3SW1wbDo6dHJhbnNmZXJBY3RpdmVXaGVlbEZsaW5nQW5pbWF0aW9uKGNvbnN0IFdl
YkFjdGl2ZVdoZWVsRmxpbmdQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJWaWV3VGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL1dlYlZpZXdUZXN0LmNwcAppbmRleCBjM2Q0M2NkYWQ5ZDk2YzVlMTJi
NGYzNGJkYTAwODQzNmZkZGM2ZWU1Li5jY2M0N2M0OTkxZjMzNDA2ZTVkZGZmMjVmM2U5OWE0Mzg5
Y2JjYTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYlZpZXdU
ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYlZpZXdUZXN0LmNw
cApAQCAtMTIzLDcgKzEyMyw3IEBAIHByaXZhdGU6CiBjbGFzcyBUYXBIYW5kbGluZ1dlYlZpZXdD
bGllbnQgOiBwdWJsaWMgV2ViVmlld0NsaWVudCB7CiBwdWJsaWM6CiAgICAgLy8gV2ViVmlld0Ns
aWVudCBtZXRob2RzCi0gICAgdmlydHVhbCB2b2lkIGRpZEhhbmRsZUdlc3R1cmVFdmVudChjb25z
dCBXZWJHZXN0dXJlRXZlbnQmIGV2ZW50LCBib29sIGhhbmRsZWQpCisgICAgdmlydHVhbCB2b2lk
IGRpZEhhbmRsZUdlc3R1cmVFdmVudChjb25zdCBXZWJHZXN0dXJlRXZlbnQmIGV2ZW50LCBFdmVu
dFN0YXR1cyBldmVudFN0YXR1cykKICAgICB7CiAgICAgICAgIGlmIChldmVudC50eXBlID09IFdl
YklucHV0RXZlbnQ6Okdlc3R1cmVUYXApIHsKICAgICAgICAgICAgIG1fdGFwWCA9IGV2ZW50Lng7
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>