<?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>93678</bug_id>
          
          <creation_ts>2012-08-09 19:11:54 -0700</creation_ts>
          <short_desc>Make an event object clonable to support an event propagation across seamless iframes.</short_desc>
          <delta_ts>2012-08-21 20:11:34 -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>UI Events</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>
          
          <blocked>91290</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hayato Ito">hayato</reporter>
          <assigned_to name="Hayato Ito">hayato</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>dominicc</cc>
    
    <cc>morrita</cc>
    
    <cc>ojan</cc>
    
    <cc>shinyak</cc>
    
    <cc>tasak</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>692104</commentid>
    <comment_count>0</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-08-09 19:11:54 -0700</bug_when>
    <thetext>To support a event propagation of seamless iframes, we have to create new Event object based on the original Event object for each browsing context so that we can isolate each event object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>694922</commentid>
    <comment_count>1</comment_count>
      <attachid>158318</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-08-14 07:01:03 -0700</bug_when>
    <thetext>Created attachment 158318
make it clonable</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>696600</commentid>
    <comment_count>2</comment_count>
      <attachid>158683</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-08-15 18:36:19 -0700</bug_when>
    <thetext>Created attachment 158683
sync</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701024</commentid>
    <comment_count>3</comment_count>
      <attachid>158683</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-08-21 12:57:40 -0700</bug_when>
    <thetext>Comment on attachment 158683
sync

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

&gt; Source/WebCore/dom/MouseEvent.cpp:161
&gt; +PassRefPtr&lt;Event&gt; MouseEvent::cloneFor(HTMLIFrameElement* iframe) const

Can we just pass Frame* here? Not sure the fact that it&apos;s coming from HTMLIFrameElement is important here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701107</commentid>
    <comment_count>4</comment_count>
      <attachid>158683</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-08-21 14:04:35 -0700</bug_when>
    <thetext>Comment on attachment 158683
sync

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

I&apos;m fine with just putting FIXMEs for now for the positioning comments and fixing this when you actually do the retargeting patch since you can actually test it that way. Up to you, either way is fine.

&gt; Source/WebCore/dom/MouseEvent.cpp:151
&gt; +inline static int adjustedClinetX(int innerClientX, HTMLIFrameElement* iframe, FrameView* frameView)

Typo here and below s/Clinet/Client.

&gt; Source/WebCore/dom/MouseEvent.cpp:153
&gt; +    return iframe-&gt;offsetLeft() - frameView-&gt;scrollX() + innerClientX;

This gives you the border x position. I think you need to subtract the borderLeft and paddingLeft here. Also, the offset* methods give you a number relative to your offsetParent. I believe client* on the Event give you viewport relative locations.

So, here&apos;s a testcase that covers all these things:
&lt;div style=&quot;position:relative&quot;&gt;
    &lt;iframe seamless style=&quot;position:absolute; border: 10px solid; padding: 5px&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;

offsetLeft/offsetTop on the iframe will be 0. Instead off offsetLeft/Top you should just use x() and y() on the iframe. I&apos;m not sure off the top of my head whether x()/y() are the border positions or the content positions. I think it&apos;s the border position, so you&apos;ll still need to remove the border/padding.

&gt; Source/WebCore/dom/MouseEvent.cpp:158
&gt; +inline static int adjustedClinetY(int innerClientY, HTMLIFrameElement* iframe, FrameView* frameView)
&gt; +{
&gt; +    return iframe-&gt;offsetTop() - frameView-&gt;scrollY() + innerClientY;

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701383</commentid>
    <comment_count>5</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-08-21 17:43:46 -0700</bug_when>
    <thetext>Thank you for the reviews.

(In reply to comment #3)
&gt; (From update of attachment 158683 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=158683&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/MouseEvent.cpp:161
&gt; &gt; +PassRefPtr&lt;Event&gt; MouseEvent::cloneFor(HTMLIFrameElement* iframe) const
&gt; 
&gt; Can we just pass Frame* here? Not sure the fact that it&apos;s coming from HTMLIFrameElement is important here.

We need a HTMLIFrameElement to adjust a (x, y) coordinate for MouseEvent.

(In reply to comment #4)
&gt; (From update of attachment 158683 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=158683&amp;action=review
&gt; 
&gt; I&apos;m fine with just putting FIXMEs for now for the positioning comments and fixing this when you actually do the retargeting patch since you can actually test it that way. Up to you, either way is fine.

Thank you. I&apos;d like to putting FIXME for now. It&apos;s not easy task for me to calculate new x and y exactly.
Let me fix it when I can test it using actual LayoutTest in a later patch. 

&gt; 
&gt; &gt; Source/WebCore/dom/MouseEvent.cpp:151
&gt; &gt; +inline static int adjustedClinetX(int innerClientX, HTMLIFrameElement* iframe, FrameView* frameView)
&gt; 
&gt; Typo here and below s/Clinet/Client.

Ops. I&apos;ll fix it.

&gt; 
&gt; &gt; Source/WebCore/dom/MouseEvent.cpp:153
&gt; &gt; +    return iframe-&gt;offsetLeft() - frameView-&gt;scrollX() + innerClientX;
&gt; 
&gt; This gives you the border x position. I think you need to subtract the borderLeft and paddingLeft here. Also, the offset* methods give you a number relative to your offsetParent. I believe client* on the Event give you viewport relative locations.
&gt; 
&gt; So, here&apos;s a testcase that covers all these things:
&gt; &lt;div style=&quot;position:relative&quot;&gt;
&gt;     &lt;iframe seamless style=&quot;position:absolute; border: 10px solid; padding: 5px&quot;&gt;&lt;/iframe&gt;
&gt; &lt;/div&gt;
&gt; 
&gt; offsetLeft/offsetTop on the iframe will be 0. Instead off offsetLeft/Top you should just use x() and y() on the iframe. I&apos;m not sure off the top of my head whether x()/y() are the border positions or the content positions. I think it&apos;s the border position, so you&apos;ll still need to remove the border/padding.

Thank you. I&apos;ll fix it later. I need actual layout tests to make sure that we can adjust it correctly.
I might ask further in another bug entry I am going to file in regard to this.

&gt; 
&gt; &gt; Source/WebCore/dom/MouseEvent.cpp:158
&gt; &gt; +inline static int adjustedClinetY(int innerClientY, HTMLIFrameElement* iframe, FrameView* frameView)
&gt; &gt; +{
&gt; &gt; +    return iframe-&gt;offsetTop() - frameView-&gt;scrollY() + innerClientY;
&gt; 
&gt; ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701464</commentid>
    <comment_count>6</comment_count>
      <attachid>159838</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-08-21 18:42:16 -0700</bug_when>
    <thetext>Created attachment 159838
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701471</commentid>
    <comment_count>7</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-08-21 18:46:09 -0700</bug_when>
    <thetext>Let me use this bug to fix positioning.
https://bugs.webkit.org/show_bug.cgi?id=93696

(In reply to comment #6)
&gt; Created an attachment (id=159838) [details]
&gt; Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701520</commentid>
    <comment_count>8</comment_count>
      <attachid>159838</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-21 20:11:31 -0700</bug_when>
    <thetext>Comment on attachment 159838
Patch for landing

Clearing flags on attachment: 159838

Committed r126256: &lt;http://trac.webkit.org/changeset/126256&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701521</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-21 20:11:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158318</attachid>
            <date>2012-08-14 07:01:03 -0700</date>
            <delta_ts>2012-08-15 18:36:15 -0700</delta_ts>
            <desc>make it clonable</desc>
            <filename>bug-93678-20120814230030.patch</filename>
            <type>text/plain</type>
            <size>5309</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1NTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzM5NzM2ZWJmMzI1MzY3
ODJhZjUxOTE0NjY4OWZmYzJkYzhiNTFmZS4uMWVlYjg0NTdkMjg0OGUxZTliZWIzOWRjZThmNzc1
NzI1YWNjODA5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA4LTE0ICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBNYWtlIGFuIGV2ZW50IG9i
amVjdCBjbG9uYWJsZSB0byBzdXBwb3J0IGFuIGV2ZW50IHByb3BhZ2F0aW9uIGFjcm9zcyBzZWFt
bGVzcyBpZnJhbWVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTM2NzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBXZSBzaG91bGQgY2xvbmUgYW4gZXZlbnQgb2JqZWN0IHdoZW4gYSBldmVudCBwcm9wYWdh
dGVzIGFjcm9zcworICAgICAgICBzZWFtbGVzcyBpZnJhbWVzLiAgQ3VycmVudGx5IEV2ZW50IGFu
ZCBNb3VzZUV2ZW50IGFyZQorICAgICAgICBzdXBwb3J0ZWQuIFN1cHBvcnQgZm9yIG90aGVyIGtp
bmRzIG9mIGV2ZW50cyB3aWxsIGJlIGFkZHJlc3NlZAorICAgICAgICBsYXRlci4KKworICAgICAg
ICBUaGlzIGlzIG9uZSBvZiB0aGUgcHJlLXJlcXVpcmVtZW50cyB0byBzdXBwb3J0IGFuIGV2ZW50
CisgICAgICAgIHByb3BhZ2F0aW9uIGFjcm9zcyBzZWFtbGVzcyBpZnJhbWVzLgorCisgICAgICAg
IE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogZG9tL0V2ZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50OjpjbG9uZUZvcik6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKiBkb20vRXZlbnQuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoRXZlbnQpOgorICAgICAgICAqIGRvbS9Nb3VzZUV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmFkanVzdGVkQ2xpbmV0WCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNv
cmU6OmFkanVzdGVkQ2xpbmV0WSk6CisgICAgICAgIChXZWJDb3JlOjpNb3VzZUV2ZW50OjpjbG9u
ZUZvcik6CisgICAgICAgICogZG9tL01vdXNlRXZlbnQuaDoKKyAgICAgICAgKE1vdXNlRXZlbnQp
OgorCiAyMDEyLTA4LTE0ICBZb3NoaWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgW0Zvcm1zXSBNb3ZlIHdoZWVsIGV2ZW50IGhhbmRsZXIgdG8gc3BpbiBidXR0b24g
Y2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnQuY3BwCmluZGV4IDA4ZTY0NGZmNmU2YmFlMWY4ZWQyNGY3OTgzZTE1
Yzk0ZmY5Zjg5ZjQuLmZkNDVlMjM2MzI4NzRhMzgwNTZjMjNhYWUwNmQxZjJmMzE4MmIwZTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50LmNwcApAQCAtMTY0LDYgKzE2NCwxMSBAQCB2b2lkIEV2ZW50OjpyZXBvcnRN
ZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAg
IGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdW5kZXJseWluZ0V2ZW50KTsKIH0KIAorUGFz
c1JlZlB0cjxFdmVudD4gRXZlbnQ6OmNsb25lRm9yKEhUTUxJRnJhbWVFbGVtZW50KikgY29uc3QK
K3sKKyAgICByZXR1cm4gRXZlbnQ6OmNyZWF0ZSh0eXBlKCksIGJ1YmJsZXMoKSwgY2FuY2VsYWJs
ZSgpKTsKK30KKwogdm9pZCBFdmVudDo6c2V0VGFyZ2V0KFBhc3NSZWZQdHI8RXZlbnRUYXJnZXQ+
IHRhcmdldCkKIHsKICAgICBpZiAobV90YXJnZXQgPT0gdGFyZ2V0KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuaAppbmRl
eCBlNzIzNDIzMTUzOThlZjE3MjA4NDIwMTg0Mjc4ZjdjZWVmNmM5MzYxLi41YzdkN2M3NTNkNWFi
MDQ5ZDk0YWQ0NTExOWM0ZTAzZTkyNmVjZWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuaApAQCAtMzEsOSArMzEs
MTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uOwogICAgIGNsYXNzIEV2ZW50VGFyZ2V0OwogICAgIGNsYXNzIEV2ZW50RGlzcGF0Y2hl
cjsKKyAgICBjbGFzcyBIVE1MSUZyYW1lRWxlbWVudDsKKyAgICBjbGFzcyBNZW1vcnlJbnN0cnVt
ZW50YXRpb247CiAKICAgICBzdHJ1Y3QgRXZlbnRJbml0IHsKICAgICAgICAgRXZlbnRJbml0KCk7
CkBAIC0xNTUsNiArMTU2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZpcnR1
YWwgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CiAKKyAg
ICAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEV2ZW50PiBjbG9uZUZvcihIVE1MSUZyYW1lRWxlbWVu
dCopIGNvbnN0OworCiAgICAgcHJvdGVjdGVkOgogICAgICAgICBFdmVudCgpOwogICAgICAgICBF
dmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNl
bGFibGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3BwCmluZGV4IDllZGRhNzFlYWJlMTQyMTlh
NzJjMTVmZGE1MmI2YWQ1MWJlMGQ5MTAuLjJiOGZmOTk5OTVkOTU5OTYxMTE1YmE1NGQzOTVkNjk3
NTM1MmEyZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAK
ICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJG
cmFtZVZpZXcuaCIKKyNpbmNsdWRlICJIVE1MSUZyYW1lRWxlbWVudC5oIgogI2luY2x1ZGUgIlBs
YXRmb3JtTW91c2VFdmVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0xNDcsNiArMTQ4
LDM0IEBAIE5vZGUqIE1vdXNlRXZlbnQ6OmZyb21FbGVtZW50KCkgY29uc3QKICAgICByZXR1cm4g
dGFyZ2V0KCkgPyB0YXJnZXQoKS0+dG9Ob2RlKCkgOiAwOwogfQogCitpbmxpbmUgc3RhdGljIGlu
dCBhZGp1c3RlZENsaW5ldFgoaW50IGlubmVyQ2xpZW50WCwgSFRNTElGcmFtZUVsZW1lbnQqIGlm
cmFtZSwgRnJhbWVWaWV3KiBmcmFtZVZpZXcpCit7CisgICAgcmV0dXJuIGlmcmFtZS0+b2Zmc2V0
TGVmdCgpIC0gZnJhbWVWaWV3LT5zY3JvbGxYKCkgKyBpbm5lckNsaWVudFg7Cit9CisKK2lubGlu
ZSBzdGF0aWMgaW50IGFkanVzdGVkQ2xpbmV0WShpbnQgaW5uZXJDbGllbnRZLCBIVE1MSUZyYW1l
RWxlbWVudCogaWZyYW1lLCBGcmFtZVZpZXcqIGZyYW1lVmlldykKK3sKKyAgICByZXR1cm4gaWZy
YW1lLT5vZmZzZXRUb3AoKSAtIGZyYW1lVmlldy0+c2Nyb2xsWSgpICsgaW5uZXJDbGllbnRZOwor
fQorCitQYXNzUmVmUHRyPEV2ZW50PiBNb3VzZUV2ZW50OjpjbG9uZUZvcihIVE1MSUZyYW1lRWxl
bWVudCogaWZyYW1lKSBjb25zdAoreworICAgIEFTU0VSVChpZnJhbWUpOworICAgIFJlZlB0cjxN
b3VzZUV2ZW50PiBjbG9uZWRNb3VzZUV2ZW50ID0gTW91c2VFdmVudDo6Y3JlYXRlKCk7CisgICAg
RnJhbWUqIGZyYW1lID0gaWZyYW1lLT5kb2N1bWVudCgpLT5mcmFtZSgpOworICAgIEZyYW1lVmll
dyogZnJhbWVWaWV3ID0gZnJhbWUgPyBmcmFtZS0+dmlldygpIDogMDsKKyAgICBjbG9uZWRNb3Vz
ZUV2ZW50LT5pbml0TW91c2VFdmVudCh0eXBlKCksIGJ1YmJsZXMoKSwgY2FuY2VsYWJsZSgpLAor
ICAgICAgICAgICAgaWZyYW1lLT5kb2N1bWVudCgpLT5kZWZhdWx0VmlldygpLAorICAgICAgICAg
ICAgZGV0YWlsKCksIHNjcmVlblgoKSwgc2NyZWVuWSgpLAorICAgICAgICAgICAgZnJhbWVWaWV3
ID8gYWRqdXN0ZWRDbGluZXRYKGNsaWVudFgoKSwgaWZyYW1lLCBmcmFtZVZpZXcpIDogMCwKKyAg
ICAgICAgICAgIGZyYW1lVmlldyA/IGFkanVzdGVkQ2xpbmV0WShjbGllbnRZKCksIGlmcmFtZSwg
ZnJhbWVWaWV3KSA6IDAsCisgICAgICAgICAgICBjdHJsS2V5KCksIGFsdEtleSgpLCBzaGlmdEtl
eSgpLCBtZXRhS2V5KCksCisgICAgICAgICAgICBidXR0b24oKSwKKyAgICAgICAgICAgIC8vIE51
bGxpZmllcyByZWxhdGVkVGFyZ2V0LgorICAgICAgICAgICAgMCk7CisgICAgcmV0dXJuIGNsb25l
ZE1vdXNlRXZlbnQucmVsZWFzZSgpOworfQorCiBQYXNzUmVmUHRyPFNpbXVsYXRlZE1vdXNlRXZl
bnQ+IFNpbXVsYXRlZE1vdXNlRXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50
VHlwZSwgUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIFBhc3NSZWZQdHI8RXZlbnQ+IHVu
ZGVybHlpbmdFdmVudCkKIHsKICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNpbXVsYXRlZE1vdXNl
RXZlbnQoZXZlbnRUeXBlLCB2aWV3LCB1bmRlcmx5aW5nRXZlbnQpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VF
dmVudC5oCmluZGV4IDA4NjM4OTNjZTcyY2QxOWVjMzU3OWQ5ODIxN2RlNGFjNWY1MjExZDUuLjU3
Yjg5NTg0OTIyMDVhZWE0ZWY5ZTFlZjAyODAyYWE4ZmU1ZDI3ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNl
RXZlbnQuaApAQCAtODMsNiArODMsOCBAQCBjbGFzcyBQbGF0Zm9ybU1vdXNlRXZlbnQ7CiAgICAg
ICAgIHZpcnR1YWwgYm9vbCBpc0RyYWdFdmVudCgpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGlu
dCB3aGljaCgpIGNvbnN0OwogCisgICAgICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxFdmVudD4gY2xv
bmVGb3IoSFRNTElGcmFtZUVsZW1lbnQqKSBjb25zdDsKKwogICAgIHByb3RlY3RlZDoKICAgICAg
ICAgTW91c2VFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBi
b29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiwKICAgICAgICAgICAgICAg
ICAgICBpbnQgZGV0YWlsLCBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBwYWdlWCwgaW50
IHBhZ2VZLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158683</attachid>
            <date>2012-08-15 18:36:19 -0700</date>
            <delta_ts>2012-08-21 18:42:13 -0700</delta_ts>
            <desc>sync</desc>
            <filename>bug-93678-20120816103545.patch</filename>
            <type>text/plain</type>
            <size>5364</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1NzI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTY3YWFkZmMwNmJlMzlh
ODc2MzI4MTMwNGJhYmYyMWQxNGY2MmI3ZS4uMTE5YjNlZjY1Nzg5Mjc4NTNlZGMzODI0ZjQ1MDZj
NWM3NTA0ZTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA4LTE0ICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBNYWtlIGFuIGV2ZW50IG9i
amVjdCBjbG9uYWJsZSB0byBzdXBwb3J0IGFuIGV2ZW50IHByb3BhZ2F0aW9uIGFjcm9zcyBzZWFt
bGVzcyBpZnJhbWVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTM2NzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBXZSBzaG91bGQgY2xvbmUgYW4gZXZlbnQgb2JqZWN0IHdoZW4gYSBldmVudCBwcm9wYWdh
dGVzIGFjcm9zcworICAgICAgICBzZWFtbGVzcyBpZnJhbWVzLiAgQ3VycmVudGx5IEV2ZW50IGFu
ZCBNb3VzZUV2ZW50IGFyZQorICAgICAgICBzdXBwb3J0ZWQuIFN1cHBvcnQgZm9yIG90aGVyIGtp
bmRzIG9mIGV2ZW50cyB3aWxsIGJlIGFkZHJlc3NlZAorICAgICAgICBsYXRlci4KKworICAgICAg
ICBUaGlzIGlzIG9uZSBvZiB0aGUgcHJlLXJlcXVpcmVtZW50cyB0byBzdXBwb3J0IGFuIGV2ZW50
CisgICAgICAgIHByb3BhZ2F0aW9uIGFjcm9zcyBzZWFtbGVzcyBpZnJhbWVzLgorCisgICAgICAg
IE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogZG9tL0V2ZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50OjpjbG9uZUZvcik6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKiBkb20vRXZlbnQuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoRXZlbnQpOgorICAgICAgICAqIGRvbS9Nb3VzZUV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmFkanVzdGVkQ2xpbmV0WCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNv
cmU6OmFkanVzdGVkQ2xpbmV0WSk6CisgICAgICAgIChXZWJDb3JlOjpNb3VzZUV2ZW50OjpjbG9u
ZUZvcik6CisgICAgICAgICogZG9tL01vdXNlRXZlbnQuaDoKKyAgICAgICAgKE1vdXNlRXZlbnQp
OgorCiAyMDEyLTA4LTE1ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBBICdsb2FkJyBldmVudCBzaG91bGQgYmUgZmlyZWQgb24gdGhlIHNoYWRvdyBob3N0IGRp
cmVjdGx5LCBub3Qgb24gYW4gaW5uZXIgaW1hZ2UgZWxlbWVudCBvZiBzaGFkb3cgZG9tIHN1YnRy
ZWUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50LmNwcAppbmRleCAwOGU2NDRmZjZlNmJhZTFmOGVkMjRmNzk4M2UxNWM5
NGZmOWY4OWY0Li5mZDQ1ZTIzNjMyODc0YTM4MDU2YzIzYWFlMDZkMWYyZjMxODJiMGUzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudC5jcHAKQEAgLTE2NCw2ICsxNjQsMTEgQEAgdm9pZCBFdmVudDo6cmVwb3J0TWVt
b3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3VuZGVybHlpbmdFdmVudCk7CiB9CiAKK1Bhc3NS
ZWZQdHI8RXZlbnQ+IEV2ZW50OjpjbG9uZUZvcihIVE1MSUZyYW1lRWxlbWVudCopIGNvbnN0Cit7
CisgICAgcmV0dXJuIEV2ZW50OjpjcmVhdGUodHlwZSgpLCBidWJibGVzKCksIGNhbmNlbGFibGUo
KSk7Cit9CisKIHZvaWQgRXZlbnQ6OnNldFRhcmdldChQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0PiB0
YXJnZXQpCiB7CiAgICAgaWYgKG1fdGFyZ2V0ID09IHRhcmdldCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmgKaW5kZXgg
ZTcyMzQyMzE1Mzk4ZWYxNzIwODQyMDE4NDI3OGY3Y2VlZjZjOTM2MS4uNWM3ZDdjNzUzZDVhYjA0
OWQ5NGFkNDUxMTljNGUwM2U5MjZlY2VjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmgKQEAgLTMxLDkgKzMxLDEw
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIE1lbW9yeUluc3RydW1lbnRh
dGlvbjsKICAgICBjbGFzcyBFdmVudFRhcmdldDsKICAgICBjbGFzcyBFdmVudERpc3BhdGNoZXI7
CisgICAgY2xhc3MgSFRNTElGcmFtZUVsZW1lbnQ7CisgICAgY2xhc3MgTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uOwogCiAgICAgc3RydWN0IEV2ZW50SW5pdCB7CiAgICAgICAgIEV2ZW50SW5pdCgpOwpA
QCAtMTU1LDYgKzE1Niw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICB2aXJ0dWFs
IHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0OwogCisgICAg
ICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxFdmVudD4gY2xvbmVGb3IoSFRNTElGcmFtZUVsZW1lbnQq
KSBjb25zdDsKKwogICAgIHByb3RlY3RlZDoKICAgICAgICAgRXZlbnQoKTsKICAgICAgICAgRXZl
bnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxh
YmxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmNwcAppbmRleCA5ZWRkYTcxZWFiZTE0MjE5YTcy
YzE1ZmRhNTJiNmFkNTFiZTBkOTEwLi4yYjhmZjk5OTk1ZDk1OTk2MTExNWJhNTRkMzk1ZDY5NzUz
NTJhMmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAj
aW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJh
bWVWaWV3LmgiCisjaW5jbHVkZSAiSFRNTElGcmFtZUVsZW1lbnQuaCIKICNpbmNsdWRlICJQbGF0
Zm9ybU1vdXNlRXZlbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTQ3LDYgKzE0OCwz
NCBAQCBOb2RlKiBNb3VzZUV2ZW50Ojpmcm9tRWxlbWVudCgpIGNvbnN0CiAgICAgcmV0dXJuIHRh
cmdldCgpID8gdGFyZ2V0KCktPnRvTm9kZSgpIDogMDsKIH0KIAoraW5saW5lIHN0YXRpYyBpbnQg
YWRqdXN0ZWRDbGluZXRYKGludCBpbm5lckNsaWVudFgsIEhUTUxJRnJhbWVFbGVtZW50KiBpZnJh
bWUsIEZyYW1lVmlldyogZnJhbWVWaWV3KQoreworICAgIHJldHVybiBpZnJhbWUtPm9mZnNldExl
ZnQoKSAtIGZyYW1lVmlldy0+c2Nyb2xsWCgpICsgaW5uZXJDbGllbnRYOworfQorCitpbmxpbmUg
c3RhdGljIGludCBhZGp1c3RlZENsaW5ldFkoaW50IGlubmVyQ2xpZW50WSwgSFRNTElGcmFtZUVs
ZW1lbnQqIGlmcmFtZSwgRnJhbWVWaWV3KiBmcmFtZVZpZXcpCit7CisgICAgcmV0dXJuIGlmcmFt
ZS0+b2Zmc2V0VG9wKCkgLSBmcmFtZVZpZXctPnNjcm9sbFkoKSArIGlubmVyQ2xpZW50WTsKK30K
KworUGFzc1JlZlB0cjxFdmVudD4gTW91c2VFdmVudDo6Y2xvbmVGb3IoSFRNTElGcmFtZUVsZW1l
bnQqIGlmcmFtZSkgY29uc3QKK3sKKyAgICBBU1NFUlQoaWZyYW1lKTsKKyAgICBSZWZQdHI8TW91
c2VFdmVudD4gY2xvbmVkTW91c2VFdmVudCA9IE1vdXNlRXZlbnQ6OmNyZWF0ZSgpOworICAgIEZy
YW1lKiBmcmFtZSA9IGlmcmFtZS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKTsKKyAgICBGcmFtZVZpZXcq
IGZyYW1lVmlldyA9IGZyYW1lID8gZnJhbWUtPnZpZXcoKSA6IDA7CisgICAgY2xvbmVkTW91c2VF
dmVudC0+aW5pdE1vdXNlRXZlbnQodHlwZSgpLCBidWJibGVzKCksIGNhbmNlbGFibGUoKSwKKyAg
ICAgICAgICAgIGlmcmFtZS0+ZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwKKyAgICAgICAgICAg
IGRldGFpbCgpLCBzY3JlZW5YKCksIHNjcmVlblkoKSwKKyAgICAgICAgICAgIGZyYW1lVmlldyA/
IGFkanVzdGVkQ2xpbmV0WChjbGllbnRYKCksIGlmcmFtZSwgZnJhbWVWaWV3KSA6IDAsCisgICAg
ICAgICAgICBmcmFtZVZpZXcgPyBhZGp1c3RlZENsaW5ldFkoY2xpZW50WSgpLCBpZnJhbWUsIGZy
YW1lVmlldykgOiAwLAorICAgICAgICAgICAgY3RybEtleSgpLCBhbHRLZXkoKSwgc2hpZnRLZXko
KSwgbWV0YUtleSgpLAorICAgICAgICAgICAgYnV0dG9uKCksCisgICAgICAgICAgICAvLyBOdWxs
aWZpZXMgcmVsYXRlZFRhcmdldC4KKyAgICAgICAgICAgIDApOworICAgIHJldHVybiBjbG9uZWRN
b3VzZUV2ZW50LnJlbGVhc2UoKTsKK30KKwogUGFzc1JlZlB0cjxTaW11bGF0ZWRNb3VzZUV2ZW50
PiBTaW11bGF0ZWRNb3VzZUV2ZW50OjpjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5
cGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBQYXNzUmVmUHRyPEV2ZW50PiB1bmRl
cmx5aW5nRXZlbnQpCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTaW11bGF0ZWRNb3VzZUV2
ZW50KGV2ZW50VHlwZSwgdmlldywgdW5kZXJseWluZ0V2ZW50KSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZl
bnQuaAppbmRleCAwODYzODkzY2U3MmNkMTllYzM1NzlkOTgyMTdkZTRhYzVmNTIxMWQ1Li41N2I4
OTU4NDkyMjA1YWVhNGVmOWUxZWYwMjgwMmFhOGZlNWQyN2U2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTW91c2VFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2
ZW50LmgKQEAgLTgzLDYgKzgzLDggQEAgY2xhc3MgUGxhdGZvcm1Nb3VzZUV2ZW50OwogICAgICAg
ICB2aXJ0dWFsIGJvb2wgaXNEcmFnRXZlbnQoKSBjb25zdDsKICAgICAgICAgdmlydHVhbCBpbnQg
d2hpY2goKSBjb25zdDsKIAorICAgICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RXZlbnQ+IGNsb25l
Rm9yKEhUTUxJRnJhbWVFbGVtZW50KikgY29uc3Q7CisKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAg
IE1vdXNlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9v
bCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4sCiAgICAgICAgICAgICAgICAg
ICAgaW50IGRldGFpbCwgaW50IHNjcmVlblgsIGludCBzY3JlZW5ZLCBpbnQgcGFnZVgsIGludCBw
YWdlWSwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159838</attachid>
            <date>2012-08-21 18:42:16 -0700</date>
            <delta_ts>2012-08-21 20:11:30 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-93678-20120822104215.patch</filename>
            <type>text/plain</type>
            <size>5422</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2MDgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjBlYTNkMzNjYmU3ZjU0
OTc2Nzk3NzY5MzE5NTcyYzA5OGVhODlhYi4uMWFiYTJkMWVlOTZmMjY2MzZkYTc2NGViNDg2ZDY2
NTEwNTU4ZjE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA4LTE0ICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBNYWtlIGFuIGV2ZW50IG9i
amVjdCBjbG9uYWJsZSB0byBzdXBwb3J0IGFuIGV2ZW50IHByb3BhZ2F0aW9uIGFjcm9zcyBzZWFt
bGVzcyBpZnJhbWVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTM2NzgKKworICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCisKKyAg
ICAgICAgV2Ugc2hvdWxkIGNsb25lIGFuIGV2ZW50IG9iamVjdCB3aGVuIGEgZXZlbnQgcHJvcGFn
YXRlcyBhY3Jvc3MKKyAgICAgICAgc2VhbWxlc3MgaWZyYW1lcy4gIEN1cnJlbnRseSBFdmVudCBh
bmQgTW91c2VFdmVudCBhcmUKKyAgICAgICAgc3VwcG9ydGVkLiBTdXBwb3J0IGZvciBvdGhlciBr
aW5kcyBvZiBldmVudHMgd2lsbCBiZSBhZGRyZXNzZWQKKyAgICAgICAgbGF0ZXIuCisKKyAgICAg
ICAgVGhpcyBpcyBvbmUgb2YgdGhlIHByZS1yZXF1aXJlbWVudHMgdG8gc3VwcG9ydCBhbiBldmVu
dAorICAgICAgICBwcm9wYWdhdGlvbiBhY3Jvc3Mgc2VhbWxlc3MgaWZyYW1lcy4KKworICAgICAg
ICBObyBuZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIGRvbS9FdmVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudDo6Y2xvbmVGb3IpOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgICogZG9tL0V2ZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKEV2ZW50KToKKyAgICAgICAgKiBkb20vTW91c2VFdmVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjphZGp1c3RlZENsaW5ldFgpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJD
b3JlOjphZGp1c3RlZENsaW5ldFkpOgorICAgICAgICAoV2ViQ29yZTo6TW91c2VFdmVudDo6Y2xv
bmVGb3IpOgorICAgICAgICAqIGRvbS9Nb3VzZUV2ZW50Lmg6CisgICAgICAgIChNb3VzZUV2ZW50
KToKKwogMjAxMi0wOC0yMCAgQWRhbSBLbGVpbiAgPGFkYW1rQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBSZW1vdmUgcmVkdW5kYW50IFRPVUNIX0xJU1RFTkVSIGV2ZW50IHR5cGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnQuY3BwCmluZGV4IDA4ZTY0NGZmNmU2YmFlMWY4ZWQyNGY3OTgzZTE1Yzk0ZmY5Zjg5ZjQuLmZk
NDVlMjM2MzI4NzRhMzgwNTZjMjNhYWUwNmQxZjJmMzE4MmIwZTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmNw
cApAQCAtMTY0LDYgKzE2NCwxMSBAQCB2b2lkIEV2ZW50OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fdW5kZXJseWluZ0V2ZW50KTsKIH0KIAorUGFzc1JlZlB0cjxFdmVudD4g
RXZlbnQ6OmNsb25lRm9yKEhUTUxJRnJhbWVFbGVtZW50KikgY29uc3QKK3sKKyAgICByZXR1cm4g
RXZlbnQ6OmNyZWF0ZSh0eXBlKCksIGJ1YmJsZXMoKSwgY2FuY2VsYWJsZSgpKTsKK30KKwogdm9p
ZCBFdmVudDo6c2V0VGFyZ2V0KFBhc3NSZWZQdHI8RXZlbnRUYXJnZXQ+IHRhcmdldCkKIHsKICAg
ICBpZiAobV90YXJnZXQgPT0gdGFyZ2V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuaAppbmRleCBlNzIzNDIzMTUzOThl
ZjE3MjA4NDIwMTg0Mjc4ZjdjZWVmNmM5MzYxLi41YzdkN2M3NTNkNWFiMDQ5ZDk0YWQ0NTExOWM0
ZTAzZTkyNmVjZWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuaApAQCAtMzEsOSArMzEsMTAgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOwogICAgIGNs
YXNzIEV2ZW50VGFyZ2V0OwogICAgIGNsYXNzIEV2ZW50RGlzcGF0Y2hlcjsKKyAgICBjbGFzcyBI
VE1MSUZyYW1lRWxlbWVudDsKKyAgICBjbGFzcyBNZW1vcnlJbnN0cnVtZW50YXRpb247CiAKICAg
ICBzdHJ1Y3QgRXZlbnRJbml0IHsKICAgICAgICAgRXZlbnRJbml0KCk7CkBAIC0xNTUsNiArMTU2
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZpcnR1YWwgdm9pZCByZXBvcnRN
ZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CiAKKyAgICAgICAgdmlydHVhbCBQ
YXNzUmVmUHRyPEV2ZW50PiBjbG9uZUZvcihIVE1MSUZyYW1lRWxlbWVudCopIGNvbnN0OworCiAg
ICAgcHJvdGVjdGVkOgogICAgICAgICBFdmVudCgpOwogICAgICAgICBFdmVudChjb25zdCBBdG9t
aWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL01vdXNlRXZlbnQuY3BwCmluZGV4IDllZGRhNzFlYWJlMTQyMTlhNzJjMTVmZGE1MmI2YWQ1
MWJlMGQ5MTAuLjllOTJjMjcxMzZjY2Y5MGRiZTNiN2IyNjBiNWJiNjdhZWE0NDU2YWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTW91c2VFdmVudC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJFdmVu
dE5hbWVzLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKKyNp
bmNsdWRlICJIVE1MSUZyYW1lRWxlbWVudC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTW91c2VFdmVu
dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0xNDcsNiArMTQ4LDM2IEBAIE5vZGUqIE1v
dXNlRXZlbnQ6OmZyb21FbGVtZW50KCkgY29uc3QKICAgICByZXR1cm4gdGFyZ2V0KCkgPyB0YXJn
ZXQoKS0+dG9Ob2RlKCkgOiAwOwogfQogCisvLyBGSVhNRTogRml4IHBvc2l0aW9uaW5nLiBlLmcu
IFdlIG5lZWQgdG8gY29uc2lkZXIgYm9yZGVyL3BhZGRpbmcuCisvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTM2OTYKK2lubGluZSBzdGF0aWMgaW50IGFkanVzdGVk
Q2xpZW50WChpbnQgaW5uZXJDbGllbnRYLCBIVE1MSUZyYW1lRWxlbWVudCogaWZyYW1lLCBGcmFt
ZVZpZXcqIGZyYW1lVmlldykKK3sKKyAgICByZXR1cm4gaWZyYW1lLT5vZmZzZXRMZWZ0KCkgLSBm
cmFtZVZpZXctPnNjcm9sbFgoKSArIGlubmVyQ2xpZW50WDsKK30KKworaW5saW5lIHN0YXRpYyBp
bnQgYWRqdXN0ZWRDbGllbnRZKGludCBpbm5lckNsaWVudFksIEhUTUxJRnJhbWVFbGVtZW50KiBp
ZnJhbWUsIEZyYW1lVmlldyogZnJhbWVWaWV3KQoreworICAgIHJldHVybiBpZnJhbWUtPm9mZnNl
dFRvcCgpIC0gZnJhbWVWaWV3LT5zY3JvbGxZKCkgKyBpbm5lckNsaWVudFk7Cit9CisKK1Bhc3NS
ZWZQdHI8RXZlbnQ+IE1vdXNlRXZlbnQ6OmNsb25lRm9yKEhUTUxJRnJhbWVFbGVtZW50KiBpZnJh
bWUpIGNvbnN0Cit7CisgICAgQVNTRVJUKGlmcmFtZSk7CisgICAgUmVmUHRyPE1vdXNlRXZlbnQ+
IGNsb25lZE1vdXNlRXZlbnQgPSBNb3VzZUV2ZW50OjpjcmVhdGUoKTsKKyAgICBGcmFtZSogZnJh
bWUgPSBpZnJhbWUtPmRvY3VtZW50KCktPmZyYW1lKCk7CisgICAgRnJhbWVWaWV3KiBmcmFtZVZp
ZXcgPSBmcmFtZSA/IGZyYW1lLT52aWV3KCkgOiAwOworICAgIGNsb25lZE1vdXNlRXZlbnQtPmlu
aXRNb3VzZUV2ZW50KHR5cGUoKSwgYnViYmxlcygpLCBjYW5jZWxhYmxlKCksCisgICAgICAgICAg
ICBpZnJhbWUtPmRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCksCisgICAgICAgICAgICBkZXRhaWwo
KSwgc2NyZWVuWCgpLCBzY3JlZW5ZKCksCisgICAgICAgICAgICBmcmFtZVZpZXcgPyBhZGp1c3Rl
ZENsaWVudFgoY2xpZW50WCgpLCBpZnJhbWUsIGZyYW1lVmlldykgOiAwLAorICAgICAgICAgICAg
ZnJhbWVWaWV3ID8gYWRqdXN0ZWRDbGllbnRZKGNsaWVudFkoKSwgaWZyYW1lLCBmcmFtZVZpZXcp
IDogMCwKKyAgICAgICAgICAgIGN0cmxLZXkoKSwgYWx0S2V5KCksIHNoaWZ0S2V5KCksIG1ldGFL
ZXkoKSwKKyAgICAgICAgICAgIGJ1dHRvbigpLAorICAgICAgICAgICAgLy8gTnVsbGlmaWVzIHJl
bGF0ZWRUYXJnZXQuCisgICAgICAgICAgICAwKTsKKyAgICByZXR1cm4gY2xvbmVkTW91c2VFdmVu
dC5yZWxlYXNlKCk7Cit9CisKIFBhc3NSZWZQdHI8U2ltdWxhdGVkTW91c2VFdmVudD4gU2ltdWxh
dGVkTW91c2VFdmVudDo6Y3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNz
UmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgUGFzc1JlZlB0cjxFdmVudD4gdW5kZXJseWluZ0V2
ZW50KQogewogICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2ltdWxhdGVkTW91c2VFdmVudChldmVu
dFR5cGUsIHZpZXcsIHVuZGVybHlpbmdFdmVudCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL01vdXNlRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmgKaW5k
ZXggMDg2Mzg5M2NlNzJjZDE5ZWMzNTc5ZDk4MjE3ZGU0YWM1ZjUyMTFkNS4uYTFjNzkyMmI5Yzdk
NzRmMmI4ZDE2NGU4NDA4OWVjZDQ1N2E4Y2M1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL01vdXNlRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5oCkBA
IC04Myw2ICs4Myw4IEBAIGNsYXNzIFBsYXRmb3JtTW91c2VFdmVudDsKICAgICAgICAgdmlydHVh
bCBib29sIGlzRHJhZ0V2ZW50KCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgaW50IHdoaWNoKCkg
Y29uc3Q7CiAKKyAgICAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEV2ZW50PiBjbG9uZUZvcihIVE1M
SUZyYW1lRWxlbWVudCopIGNvbnN0IE9WRVJSSURFOworCiAgICAgcHJvdGVjdGVkOgogICAgICAg
ICBNb3VzZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJv
b2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+LAogICAgICAgICAgICAgICAg
ICAgIGludCBkZXRhaWwsIGludCBzY3JlZW5YLCBpbnQgc2NyZWVuWSwgaW50IHBhZ2VYLCBpbnQg
cGFnZVksCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>