<?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>127261</bug_id>
          
          <creation_ts>2014-01-19 21:39:24 -0800</creation_ts>
          <short_desc>[EFL][WK2] Move isEwkViewEvasObject back to ewk_view.cpp</short_desc>
          <delta_ts>2014-01-20 21:22:27 -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>WebKit EFL</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>1</everconfirmed>
          <reporter name="Ryuan Choi">ryuan.choi</reporter>
          <assigned_to name="Ryuan Choi">ryuan.choi</assigned_to>
          <cc>bunhere</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>969688</commentid>
    <comment_count>0</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-01-19 21:39:24 -0800</bug_when>
    <thetext>isEwkViewEvasObject is general check routine of EFL and mainly used in ewk_view.cpp but it was in EwkView.cpp since separated EwkView.cpp from ewk_view.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969692</commentid>
    <comment_count>1</comment_count>
      <attachid>221610</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-01-19 21:46:39 -0800</bug_when>
    <thetext>Created attachment 221610
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969699</commentid>
    <comment_count>2</comment_count>
      <attachid>221610</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-01-19 22:01:51 -0800</bug_when>
    <thetext>Comment on attachment 221610
Patch

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

&gt; Source/WebKit2/ChangeLog:9
&gt; +        ewk_view.cpp but it was in EwkView.cpp since separated EwkView.cpp from ewk_view.cpp

Isn&apos;t any possibility used by other ewk files ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969702</commentid>
    <comment_count>3</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-01-19 22:12:21 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 221610 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=221610&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:9
&gt; &gt; +        ewk_view.cpp but it was in EwkView.cpp since separated EwkView.cpp from ewk_view.cpp
&gt; 
&gt; Isn&apos;t any possibility used by other ewk files ?

Sure, I believe that internal files must use the object correctly and they should not call it directly (except EwkView.cpp).

The major purpose of this function is for public APIs which we can not guarantee the argument.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969742</commentid>
    <comment_count>4</comment_count>
      <attachid>221610</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-01-20 00:07:39 -0800</bug_when>
    <thetext>Comment on attachment 221610
Patch

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

&gt;&gt;&gt; Source/WebKit2/ChangeLog:9
&gt;&gt;&gt; +        ewk_view.cpp but it was in EwkView.cpp since separated EwkView.cpp from ewk_view.cpp
&gt;&gt; 
&gt;&gt; Isn&apos;t any possibility used by other ewk files ?
&gt; 
&gt; Sure, I believe that internal files must use the object correctly and they should not call it directly (except EwkView.cpp).
&gt; 
&gt; The major purpose of this function is for public APIs which we can not guarantee the argument.

I don&apos;t have a big opinion to move it to ewk_view.cpp. However, I don&apos;t see what is benefit when we move it from EwkView.cpp to ewk_view.cpp. 

Rather, we need to add additional a member function as below,
 static const char smartClassName[];

Is there any benefit ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969744</commentid>
    <comment_count>5</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-01-20 00:15:04 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 221610 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=221610&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebKit2/ChangeLog:9
&gt; &gt;&gt;&gt; +        ewk_view.cpp but it was in EwkView.cpp since separated EwkView.cpp from ewk_view.cpp
&gt; &gt;&gt; 
&gt; &gt;&gt; Isn&apos;t any possibility used by other ewk files ?
&gt; &gt; 
&gt; &gt; Sure, I believe that internal files must use the object correctly and they should not call it directly (except EwkView.cpp).
&gt; &gt; 
&gt; &gt; The major purpose of this function is for public APIs which we can not guarantee the argument.
&gt; 
&gt; I don&apos;t have a big opinion to move it to ewk_view.cpp. However, I don&apos;t see what is benefit when we move it from EwkView.cpp to ewk_view.cpp. 
&gt; 
&gt; Rather, we need to add additional a member function as below,
&gt;  static const char smartClassName[];
&gt; 
&gt; Is there any benefit ?

Now, every API should call it to check validity.
After moved, it will be inlined.

Although it is not big advantage, I think that it should be better and logically right.

smartClassName is exposed but it&apos;s only static and it is already defined in code.
So, I think that it&apos;s fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969748</commentid>
    <comment_count>6</comment_count>
      <attachid>221610</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-01-20 00:38:39 -0800</bug_when>
    <thetext>Comment on attachment 221610
Patch

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

&gt; Source/WebKit2/UIProcess/API/efl/EwkView.cpp:-126
&gt; -    ASSERT(isEwkViewEvasObject(evasObject));

Are you sure we don&apos;t need to check this one here ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969766</commentid>
    <comment_count>7</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-01-20 01:24:38 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 221610 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=221610&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/EwkView.cpp:-126
&gt; &gt; -    ASSERT(isEwkViewEvasObject(evasObject));
&gt; 
&gt; Are you sure we don&apos;t need to check this one here ?

I briefly checked and I think that its call path is too simple to doubt the type of evasObject.

Callers only called using m_evasObject in EwkView.cpp locally.

Anyway,
We may want to use isEwkViewEvasObject for assertion in EwkView.cpp (There are only few cases like above) while we must use it for verification in ewk_view.cpp.

If we should consider the assertions, I can move it to EwkView.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970109</commentid>
    <comment_count>8</comment_count>
      <attachid>221610</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-01-20 18:47:56 -0800</bug_when>
    <thetext>Comment on attachment 221610
Patch

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

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/EwkView.cpp:-126
&gt;&gt;&gt; -    ASSERT(isEwkViewEvasObject(evasObject));
&gt;&gt; 
&gt;&gt; Are you sure we don&apos;t need to check this one here ?
&gt; 
&gt; I briefly checked and I think that its call path is too simple to doubt the type of evasObject.
&gt; 
&gt; Callers only called using m_evasObject in EwkView.cpp locally.
&gt; 
&gt; Anyway,
&gt; We may want to use isEwkViewEvasObject for assertion in EwkView.cpp (There are only few cases like above) while we must use it for verification in ewk_view.cpp.
&gt; 
&gt; If we should consider the assertions, I can move it to EwkView.h.

I think it is safer to keep this assertion on debug. Please keep it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970142</commentid>
    <comment_count>9</comment_count>
      <attachid>221714</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-01-20 19:45:33 -0800</bug_when>
    <thetext>Created attachment 221714
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970144</commentid>
    <comment_count>10</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-01-20 19:46:29 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 221610 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=221610&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/EwkView.cpp:-126
&gt; &gt;&gt;&gt; -    ASSERT(isEwkViewEvasObject(evasObject));
&gt; &gt;&gt; 
&gt; &gt;&gt; Are you sure we don&apos;t need to check this one here ?
&gt; &gt; 
&gt; &gt; I briefly checked and I think that its call path is too simple to doubt the type of evasObject.
&gt; &gt; 
&gt; &gt; Callers only called using m_evasObject in EwkView.cpp locally.
&gt; &gt; 
&gt; &gt; Anyway,
&gt; &gt; We may want to use isEwkViewEvasObject for assertion in EwkView.cpp (There are only few cases like above) while we must use it for verification in ewk_view.cpp.
&gt; &gt; 
&gt; &gt; If we should consider the assertions, I can move it to EwkView.h.
&gt; 
&gt; I think it is safer to keep this assertion on debug. Please keep it.

OK, I moved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970162</commentid>
    <comment_count>11</comment_count>
      <attachid>221714</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-01-20 20:52:44 -0800</bug_when>
    <thetext>Comment on attachment 221714
Patch

Though I don&apos;t this this patch has a big benefit, it looks there is no critical problem. rs=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970163</commentid>
    <comment_count>12</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-01-20 20:53:36 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 221714 [details])
&gt; Though I don&apos;t this this patch has a big benefit, it looks there is no critical problem. rs=me.

s/don&apos;t this/don&apos;t think/g</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970166</commentid>
    <comment_count>13</comment_count>
      <attachid>221714</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-20 21:22:23 -0800</bug_when>
    <thetext>Comment on attachment 221714
Patch

Clearing flags on attachment: 221714

Committed r162426: &lt;http://trac.webkit.org/changeset/162426&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970167</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-20 21:22:27 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221610</attachid>
            <date>2014-01-19 21:46:39 -0800</date>
            <delta_ts>2014-01-20 19:45:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127261-20140120144638.patch</filename>
            <type>text/plain</type>
            <size>8068</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyMzAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODU0NWI4YTYzNWNlOWYw
MjE4NTJmMDkwZmVjZWI3NGFlMGIyM2Y5OC4uODNmYjhmNGE0YzVlYTFlM2E2M2FkMWU5YjJiOWJl
YzhhNjRmNzYxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTAxLTE5ICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIE1v
dmUgaXNFd2tWaWV3RXZhc09iamVjdCBiYWNrIHRvIGV3a192aWV3LmNwcAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3MjYxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaXNFd2tWaWV3RXZhc09iamVjdCBp
cyBnZW5lcmFsIGNoZWNrIHJvdXRpbmUgb2YgRUZMIGFuZCBtYWlubHkgdXNlZCBpbgorICAgICAg
ICBld2tfdmlldy5jcHAgYnV0IGl0IHdhcyBpbiBFd2tWaWV3LmNwcCBzaW5jZSBzZXBhcmF0ZWQg
RXdrVmlldy5jcHAgZnJvbSBld2tfdmlldy5jcHAKKworICAgICAgICBUaGlzIHBhdGNoIG1vdmVz
IGl0IHRvIGV3a192aWV3LmNwcCBieSBzbWFsbCByZWZhY3RvcmluZy4KKyAgICAgICAgSW4gYWRk
aXRpb24sIHRoaXMgYWRkZWQgRUlOQV9VTkxJS0VMWSBrZXl3b3JkIGluIGNvbGQgcGF0aHMuCisK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcDoKKyAgICAgICAgKGRlZmF1
bHRTbWFydENsYXNzSW5zdGFuY2UpOgorICAgICAgICAodG9TbWFydERhdGEpOgorICAgICAgICBS
ZW1vdmVkIEFTU0VSVCBmb3IgaXNFd2tWaWV3RXZhc09iamVjdCBiZWNhdXNlIGl0IHNob3VsZCBi
ZSBhcHBhcmVudGx5IGV3a192aWV3LgorICAgICAgICAodG9Fd2tWaWV3KTogTW92ZWQgaXQgZnJv
bSBib3R0b20gbm90IHRvIGV4cG9zZSBpdCB0byBoZWFkZXIgZmlsZS4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2VmbC9Fd2tWaWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3ZpZXcuY3BwOgorICAgICAgICAoaXNFd2tWaWV3RXZhc09iamVjdCk6CisgICAgICAgICh0b0V3
a1ZpZXdDaGVja2VkKToKKwogMjAxNC0wMS0xOSAgSmlud29vIFNvbmcgIDxqaW53b283LnNvbmdA
c2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF1bV0syXSBidWlsZCBmaXggYWZ0ZXIgcjE2MjI3
NgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAppbmRleCBh
YzI5ZmVkMzE5YjU0N2JmZDIxZTI3NzdkM2I5NjgwOTVmYzdmN2QyLi5mNjRjNmIyNTJiNjQzYWQ4
YzI5MTEyNjUyYWE3YjE3YzAzM2JkZWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9Fd2tWaWV3LmNwcApAQCAtNjIsNyArNjIsNiBAQAogI2luY2x1ZGUgImV3a19wcml2
YXRlLmgiCiAjaW5jbHVkZSAiZXdrX3NlY3VyaXR5X29yaWdpbl9wcml2YXRlLmgiCiAjaW5jbHVk
ZSAiZXdrX3NldHRpbmdzX3ByaXZhdGUuaCIKLSNpbmNsdWRlICJld2tfdmlldy5oIgogI2luY2x1
ZGUgImV3a193aW5kb3dfZmVhdHVyZXNfcHJpdmF0ZS5oIgogI2luY2x1ZGUgPEVjb3JlX0V2YXMu
aD4KICNpbmNsdWRlIDxFY29yZV9YLmg+CkBAIC05MSwxMSArOTAsMTIgQEAgdXNpbmcgbmFtZXNw
YWNlIEV3a1ZpZXdDYWxsYmFja3M7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIHVzaW5nIG5h
bWVzcGFjZSBXZWJLaXQ7CiAKLXN0YXRpYyBjb25zdCBjaGFyIHNtYXJ0Q2xhc3NOYW1lW10gPSAi
RVdLMl9WaWV3IjsKIHN0YXRpYyBjb25zdCBpbnQgZGVmYXVsdEN1cnNvclNpemUgPSAxNjsKIAog
Ly8gQXV4aWxpYXJ5IGZ1bmN0aW9ucy4KIAorY29uc3QgY2hhciBFd2tWaWV3OjpzbWFydENsYXNz
TmFtZVtdID0gIkVXSzJfVmlldyI7CisKIHN0YXRpYyBpbmxpbmUgdm9pZCBzbWFydERhdGFDaGFu
Z2VkKEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0YSkKIHsKICAgICBBU1NFUlQoc21hcnRE
YXRhKTsKQEAgLTEwOSw3ICsxMDksNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgc21hcnREYXRhQ2hh
bmdlZChFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEpCiAKIHN0YXRpYyBFdmFzX1NtYXJ0
KiBkZWZhdWx0U21hcnRDbGFzc0luc3RhbmNlKCkKIHsKLSAgICBzdGF0aWMgRXdrX1ZpZXdfU21h
cnRfQ2xhc3MgYXBpID0gRVdLX1ZJRVdfU01BUlRfQ0xBU1NfSU5JVF9OQU1FX1ZFUlNJT04oc21h
cnRDbGFzc05hbWUpOworICAgIHN0YXRpYyBFd2tfVmlld19TbWFydF9DbGFzcyBhcGkgPSBFV0tf
VklFV19TTUFSVF9DTEFTU19JTklUX05BTUVfVkVSU0lPTihFd2tWaWV3OjpzbWFydENsYXNzTmFt
ZSk7CiAgICAgc3RhdGljIEV2YXNfU21hcnQqIHNtYXJ0ID0gMDsKIAogICAgIGlmICghc21hcnQp
IHsKQEAgLTEyMyw3ICsxMjMsNiBAQCBzdGF0aWMgRXZhc19TbWFydCogZGVmYXVsdFNtYXJ0Q2xh
c3NJbnN0YW5jZSgpCiBzdGF0aWMgaW5saW5lIEV3a19WaWV3X1NtYXJ0X0RhdGEqIHRvU21hcnRE
YXRhKEV2YXNfT2JqZWN0KiBldmFzT2JqZWN0KQogewogICAgIEFTU0VSVChldmFzT2JqZWN0KTsK
LSAgICBBU1NFUlQoaXNFd2tWaWV3RXZhc09iamVjdChldmFzT2JqZWN0KSk7CiAKICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8RXdrX1ZpZXdfU21hcnRfRGF0YSo+KGV2YXNfb2JqZWN0X3NtYXJ0X2Rh
dGFfZ2V0KGV2YXNPYmplY3QpKTsKIH0KQEAgLTEzNiw2ICsxMzUsMTQgQEAgc3RhdGljIGlubGlu
ZSBFd2tWaWV3KiB0b0V3a1ZpZXcoY29uc3QgRXdrX1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRh
KQogICAgIHJldHVybiBzbWFydERhdGEtPnByaXY7CiB9CiAKK3N0YXRpYyBpbmxpbmUgRXdrVmll
dyogdG9Fd2tWaWV3KGNvbnN0IEV2YXNfT2JqZWN0KiBldmFzT2JqZWN0KQoreworICAgIEFTU0VS
VChldmFzT2JqZWN0KTsKKyAgICBBU1NFUlQoaXNFd2tWaWV3RXZhc09iamVjdChldmFzT2JqZWN0
KSk7CisKKyAgICByZXR1cm4gdG9Fd2tWaWV3KHN0YXRpY19jYXN0PEV3a19WaWV3X1NtYXJ0X0Rh
dGEqPihldmFzX29iamVjdF9zbWFydF9kYXRhX2dldChldmFzT2JqZWN0KSkpOworfQorCiBzdGF0
aWMgaW5saW5lIHZvaWQgc2hvd0V2YXNPYmplY3RzSWZOZWVkZWQoY29uc3QgRXdrX1ZpZXdfU21h
cnRfRGF0YSogc21hcnREYXRhKQogewogICAgIEFTU0VSVChzbWFydERhdGEpOwpAQCAtMTQzMSwz
OCArMTQzOCwzIEBAIGJvb2wgRXdrVmlldzo6c2Nyb2xsQnkoY29uc3QgSW50U2l6ZSYgb2Zmc2V0
KQogCiBFdmFzX1NtYXJ0X0NsYXNzIEV3a1ZpZXc6OnBhcmVudFNtYXJ0Q2xhc3MgPSBFVkFTX1NN
QVJUX0NMQVNTX0lOSVRfTlVMTDsKIAotLy8gRnJlZSBFd2sgVmlldyBmdW5jdGlvbnMuCi0KLUV3
a1ZpZXcqIHRvRXdrVmlldyhjb25zdCBFdmFzX09iamVjdCogZXZhc09iamVjdCkKLXsKLSAgICBB
U1NFUlQoZXZhc09iamVjdCk7Ci0gICAgQVNTRVJUKGlzRXdrVmlld0V2YXNPYmplY3QoZXZhc09i
amVjdCkpOwotCi0gICAgcmV0dXJuIHRvRXdrVmlldyhzdGF0aWNfY2FzdDxFd2tfVmlld19TbWFy
dF9EYXRhKj4oZXZhc19vYmplY3Rfc21hcnRfZGF0YV9nZXQoZXZhc09iamVjdCkpKTsKLX0KLQot
Ym9vbCBpc0V3a1ZpZXdFdmFzT2JqZWN0KGNvbnN0IEV2YXNfT2JqZWN0KiBldmFzT2JqZWN0KQot
ewotICAgIEFTU0VSVChldmFzT2JqZWN0KTsKLQotICAgIGNvbnN0IGNoYXIqIGV2YXNPYmplY3RU
eXBlID0gZXZhc19vYmplY3RfdHlwZV9nZXQoZXZhc09iamVjdCk7Ci0gICAgY29uc3QgRXZhc19T
bWFydCogZXZhc1NtYXJ0ID0gZXZhc19vYmplY3Rfc21hcnRfc21hcnRfZ2V0KGV2YXNPYmplY3Qp
OwotICAgIGlmICghZXZhc1NtYXJ0KSB7Ci0gICAgICAgIEVJTkFfTE9HX0NSSVQoIiVwICglcykg
aXMgbm90IGEgc21hcnQgb2JqZWN0ISIsIGV2YXNPYmplY3QsIGV2YXNPYmplY3RUeXBlID8gZXZh
c09iamVjdFR5cGUgOiAiKG51bGwpIik7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0K
LSAgICBjb25zdCBFdmFzX1NtYXJ0X0NsYXNzKiBzbWFydENsYXNzID0gZXZhc19zbWFydF9jbGFz
c19nZXQoZXZhc1NtYXJ0KTsKLSAgICBpZiAoIXNtYXJ0Q2xhc3MpIHsKLSAgICAgICAgRUlOQV9M
T0dfQ1JJVCgiJXAgKCVzKSBpcyBub3QgYSBzbWFydCBjbGFzcyBvYmplY3QhIiwgZXZhc09iamVj
dCwgZXZhc09iamVjdFR5cGUgPyBldmFzT2JqZWN0VHlwZSA6ICIobnVsbCkiKTsKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIGlmIChzbWFydENsYXNzLT5kYXRhICE9IHNtYXJ0
Q2xhc3NOYW1lKSB7Ci0gICAgICAgIEVJTkFfTE9HX0NSSVQoIiVwICglcykgaXMgbm90IG9mIGFu
IGV3a192aWV3IChuZWVkICVwLCBnb3QgJXApISIsIGV2YXNPYmplY3QsIGV2YXNPYmplY3RUeXBl
ID8gZXZhc09iamVjdFR5cGUgOiAiKG51bGwpIiwKLSAgICAgICAgICAgIHNtYXJ0Q2xhc3NOYW1l
LCBzbWFydENsYXNzLT5kYXRhKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAg
IHJldHVybiB0cnVlOwotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvRXdrVmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmll
dy5oCmluZGV4IGM2YjIyMDk3NWFiMDlkMjg3NGUwYmEzYjhhZmY5ZjliYTY4OTgyOTguLmJhMTgx
NGFiMzVmNDA2ZjM5Y2JjMWY4NGVjNDQ4MmEwZWM5YmQyNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmgKQEAgLTIwNiw2ICsyMDYsOCBAQCBwdWJsaWM6CiAK
ICAgICB2b2lkIGRpZEZpbmRab29tYWJsZUFyZWEoY29uc3QgV0tQb2ludCYsIGNvbnN0IFdLUmVj
dCYpOwogCisgICAgc3RhdGljIGNvbnN0IGNoYXIgc21hcnRDbGFzc05hbWVbXTsKKwogcHJpdmF0
ZToKICAgICBFd2tWaWV3KFdLVmlld1JlZiwgRXZhc19PYmplY3QqKTsKICAgICB+RXdrVmlldygp
OwpAQCAtMzAyLDggKzMwNCw0IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIEV2YXNfU21hcnRfQ2xh
c3MgcGFyZW50U21hcnRDbGFzczsKIH07CiAKLUV3a1ZpZXcqIHRvRXdrVmlldyhjb25zdCBFdmFz
X09iamVjdCopOwotCi1ib29sIGlzRXdrVmlld0V2YXNPYmplY3QoY29uc3QgRXZhc19PYmplY3Qq
KTsKLQogI2VuZGlmIC8vIEV3a1ZpZXdfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3ZpZXcuY3BwCmluZGV4IGYzOTc3ODAyYmE2YTY5YmQ2ODBkMTc4NjcyM2UwNzgw
Mzc4NzNiZmEuLjM4N2ZkNzY3OWE4ODFiZTA1MjRlM2M5MDEzZTZlZTFmYjBkYjFkNWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKQEAgLTYwLDEw
ICs2MCwzOCBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCitzdGF0aWMgaW5saW5lIGJv
b2wgaXNFd2tWaWV3RXZhc09iamVjdChjb25zdCBFdmFzX09iamVjdCogZXZhc09iamVjdCkKK3sK
KyAgICBBU1NFUlQoZXZhc09iamVjdCk7CisKKyAgICBjb25zdCBFdmFzX1NtYXJ0KiBldmFzU21h
cnQgPSBldmFzX29iamVjdF9zbWFydF9zbWFydF9nZXQoZXZhc09iamVjdCk7CisgICAgaWYgKEVJ
TkFfVU5MSUtFTFkoIWV2YXNTbWFydCkpIHsKKyAgICAgICAgY29uc3QgY2hhciogZXZhc09iamVj
dFR5cGUgPSBldmFzX29iamVjdF90eXBlX2dldChldmFzT2JqZWN0KTsKKyAgICAgICAgRUlOQV9M
T0dfQ1JJVCgiJXAgKCVzKSBpcyBub3QgYSBzbWFydCBvYmplY3QhIiwgZXZhc09iamVjdCwgZXZh
c09iamVjdFR5cGUgPyBldmFzT2JqZWN0VHlwZSA6ICIobnVsbCkiKTsKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIH0KKworICAgIGNvbnN0IEV2YXNfU21hcnRfQ2xhc3MqIHNtYXJ0Q2xhc3Mg
PSBldmFzX3NtYXJ0X2NsYXNzX2dldChldmFzU21hcnQpOworICAgIGlmIChFSU5BX1VOTElLRUxZ
KCFzbWFydENsYXNzKSkgeworICAgICAgICBjb25zdCBjaGFyKiBldmFzT2JqZWN0VHlwZSA9IGV2
YXNfb2JqZWN0X3R5cGVfZ2V0KGV2YXNPYmplY3QpOworICAgICAgICBFSU5BX0xPR19DUklUKCIl
cCAoJXMpIGlzIG5vdCBhIHNtYXJ0IGNsYXNzIG9iamVjdCEiLCBldmFzT2JqZWN0LCBldmFzT2Jq
ZWN0VHlwZSA/IGV2YXNPYmplY3RUeXBlIDogIihudWxsKSIpOworICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgfQorCisgICAgaWYgKEVJTkFfVU5MSUtFTFkoc21hcnRDbGFzcy0+ZGF0YSAhPSBF
d2tWaWV3OjpzbWFydENsYXNzTmFtZSkpIHsKKyAgICAgICAgY29uc3QgY2hhciogZXZhc09iamVj
dFR5cGUgPSBldmFzX29iamVjdF90eXBlX2dldChldmFzT2JqZWN0KTsKKyAgICAgICAgRUlOQV9M
T0dfQ1JJVCgiJXAgKCVzKSBpcyBub3Qgb2YgYW4gZXdrX3ZpZXcgKG5lZWQgJXAsIGdvdCAlcCkh
IiwgZXZhc09iamVjdCwgZXZhc09iamVjdFR5cGUgPyBldmFzT2JqZWN0VHlwZSA6ICIobnVsbCki
LAorICAgICAgICAgICAgRXdrVmlldzo6c21hcnRDbGFzc05hbWUsIHNtYXJ0Q2xhc3MtPmRhdGEp
OworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgcmV0dXJuIHRydWU7Cit9CisK
IHN0YXRpYyBpbmxpbmUgRXdrVmlldyogdG9Fd2tWaWV3Q2hlY2tlZChjb25zdCBFdmFzX09iamVj
dCogZXZhc09iamVjdCkKIHsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoZXZh
c09iamVjdCwgbnVsbHB0cik7Ci0gICAgaWYgKCFpc0V3a1ZpZXdFdmFzT2JqZWN0KGV2YXNPYmpl
Y3QpKQorICAgIGlmIChFSU5BX1VOTElLRUxZKCFpc0V3a1ZpZXdFdmFzT2JqZWN0KGV2YXNPYmpl
Y3QpKSkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBFd2tfVmlld19TbWFydF9EYXRhKiBzbWFy
dERhdGEgPSBzdGF0aWNfY2FzdDxFd2tfVmlld19TbWFydF9EYXRhKj4oZXZhc19vYmplY3Rfc21h
cnRfZGF0YV9nZXQoZXZhc09iamVjdCkpOwpAQCAtNzUsNyArMTAzLDcgQEAgc3RhdGljIGlubGlu
ZSBFd2tWaWV3KiB0b0V3a1ZpZXdDaGVja2VkKGNvbnN0IEV2YXNfT2JqZWN0KiBldmFzT2JqZWN0
KQogI2RlZmluZSBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgaW1wbCwgLi4u
KSAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBFd2tWaWV3KiBpbXBsID0gdG9Fd2tWaWV3
Q2hlY2tlZChld2tWaWV3KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAg
ZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgICAgICBpZiAoIWltcGwpIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgaWYg
KEVJTkFfVU5MSUtFTFkoIWltcGwpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCiAgICAgICAgICAgICBFSU5BX0xPR19DUklUKCJubyBwcml2YXRlIGRhdGEg
Zm9yIG9iamVjdCAlcCIsIGV3a1ZpZXcpOyAgICAgICAgICAgXAogICAgICAgICAgICAgcmV0dXJu
IF9fVkFfQVJHU19fOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221714</attachid>
            <date>2014-01-20 19:45:33 -0800</date>
            <delta_ts>2014-01-20 21:22:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127261-20140121124531.patch</filename>
            <type>text/plain</type>
            <size>7741</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyNDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMmRjOWViZGYxYWZiZDFi
MDhlZGVkNWQ5YTJjYjgyMzg1ZmI1OWJlZi4uMjUxMmRmYjdkMDIwN2UxMWQ3OGE2YzJiZTlkYWQ3
MGE5ZTg1OWQyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE0LTAxLTIwICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIE1v
dmUgaXNFd2tWaWV3RXZhc09iamVjdCBiYWNrIHRvIGV3a192aWV3LmNwcAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3MjYxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaXNFd2tWaWV3RXZhc09iamVjdCBp
cyBnZW5lcmFsIGNoZWNrIHJvdXRpbmUgb2YgRUZMIGFuZCBtYWlubHkgdXNlZCBpbgorICAgICAg
ICBld2tfdmlldy5jcHAgYnV0IGl0IHdhcyBpbiBFd2tWaWV3LmNwcCBzaW5jZSBzZXBhcmF0ZWQg
RXdrVmlldy5jcHAgZnJvbSBld2tfdmlldy5jcHAKKworICAgICAgICBUaGlzIHBhdGNoIG1vdmVz
IGl0IHRvIEV3a1ZpZXcuaCBhcyBpbmxpbmUgZnVuY3Rpb24gd2l0aCBzbWFsbCByZWZhY3Rvcmlu
Zy4KKyAgICAgICAgSW4gYWRkaXRpb24sIHRoaXMgcGF0Y2ggYWRkZWQgRUlOQV9VTkxJS0VMWSBr
ZXl3b3JkIGluIGNvbGQgcGF0aHMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tW
aWV3LmNwcDoKKyAgICAgICAgKGRlZmF1bHRTbWFydENsYXNzSW5zdGFuY2UpOgorICAgICAgICAo
dG9TbWFydERhdGEpOgorICAgICAgICAodG9Fd2tWaWV3KTogTW92ZWQgaXQgZnJvbSBib3R0b20g
bm90IHRvIGV4cG9zZSBpdCB0byBoZWFkZXIgZmlsZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2VmbC9Fd2tWaWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3Bw
OgorICAgICAgICAoaXNFd2tWaWV3RXZhc09iamVjdCk6CisgICAgICAgICh0b0V3a1ZpZXdDaGVj
a2VkKToKKwogMjAxNC0wMS0yMCAgRXVubWkgTGVlICA8ZXVubWkxNS5sZWVAc2Ftc3VuZy5jb20+
CiAKICAgICAgICAgW0VGTF1bV0syXSBBbW91bnQgb2Ygc2Nyb2xsaW5nIGlzIGRpZmZlcmVudCBm
cm9tIG1vdmVtZW50IG9mIHRvdWNoIHdoZW4gZGV2aWNlIHBpeGVsIHJhdGlvIGlzIG5vdCAxLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAppbmRleCA3NDgy
MDYwNzJlZTM1Zjk4Y2I3YjA4MGI0NGNlMThmZWNjYWEyMjUzLi4wZDk1YTI2YWE3MDRmZDBmYTE0
M2ZhNDc0MjNlZDNhYzFmOWJhYjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9Fd2tWaWV3LmNwcApAQCAtNjIsNyArNjIsNiBAQAogI2luY2x1ZGUgImV3a19wcml2YXRl
LmgiCiAjaW5jbHVkZSAiZXdrX3NlY3VyaXR5X29yaWdpbl9wcml2YXRlLmgiCiAjaW5jbHVkZSAi
ZXdrX3NldHRpbmdzX3ByaXZhdGUuaCIKLSNpbmNsdWRlICJld2tfdmlldy5oIgogI2luY2x1ZGUg
ImV3a193aW5kb3dfZmVhdHVyZXNfcHJpdmF0ZS5oIgogI2luY2x1ZGUgPEVjb3JlX0V2YXMuaD4K
ICNpbmNsdWRlIDxFY29yZV9YLmg+CkBAIC05MSwxMSArOTAsMTIgQEAgdXNpbmcgbmFtZXNwYWNl
IEV3a1ZpZXdDYWxsYmFja3M7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIHVzaW5nIG5hbWVz
cGFjZSBXZWJLaXQ7CiAKLXN0YXRpYyBjb25zdCBjaGFyIHNtYXJ0Q2xhc3NOYW1lW10gPSAiRVdL
Ml9WaWV3IjsKIHN0YXRpYyBjb25zdCBpbnQgZGVmYXVsdEN1cnNvclNpemUgPSAxNjsKIAogLy8g
QXV4aWxpYXJ5IGZ1bmN0aW9ucy4KIAorY29uc3QgY2hhciBFd2tWaWV3OjpzbWFydENsYXNzTmFt
ZVtdID0gIkVXSzJfVmlldyI7CisKIHN0YXRpYyBpbmxpbmUgdm9pZCBzbWFydERhdGFDaGFuZ2Vk
KEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0YSkKIHsKICAgICBBU1NFUlQoc21hcnREYXRh
KTsKQEAgLTEwOSw3ICsxMDksNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgc21hcnREYXRhQ2hhbmdl
ZChFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEpCiAKIHN0YXRpYyBFdmFzX1NtYXJ0KiBk
ZWZhdWx0U21hcnRDbGFzc0luc3RhbmNlKCkKIHsKLSAgICBzdGF0aWMgRXdrX1ZpZXdfU21hcnRf
Q2xhc3MgYXBpID0gRVdLX1ZJRVdfU01BUlRfQ0xBU1NfSU5JVF9OQU1FX1ZFUlNJT04oc21hcnRD
bGFzc05hbWUpOworICAgIHN0YXRpYyBFd2tfVmlld19TbWFydF9DbGFzcyBhcGkgPSBFV0tfVklF
V19TTUFSVF9DTEFTU19JTklUX05BTUVfVkVSU0lPTihFd2tWaWV3OjpzbWFydENsYXNzTmFtZSk7
CiAgICAgc3RhdGljIEV2YXNfU21hcnQqIHNtYXJ0ID0gMDsKIAogICAgIGlmICghc21hcnQpIHsK
QEAgLTEzNiw2ICsxMzYsMTQgQEAgc3RhdGljIGlubGluZSBFd2tWaWV3KiB0b0V3a1ZpZXcoY29u
c3QgRXdrX1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhKQogICAgIHJldHVybiBzbWFydERhdGEt
PnByaXY7CiB9CiAKK3N0YXRpYyBpbmxpbmUgRXdrVmlldyogdG9Fd2tWaWV3KGNvbnN0IEV2YXNf
T2JqZWN0KiBldmFzT2JqZWN0KQoreworICAgIEFTU0VSVChldmFzT2JqZWN0KTsKKyAgICBBU1NF
UlQoaXNFd2tWaWV3RXZhc09iamVjdChldmFzT2JqZWN0KSk7CisKKyAgICByZXR1cm4gdG9Fd2tW
aWV3KHN0YXRpY19jYXN0PEV3a19WaWV3X1NtYXJ0X0RhdGEqPihldmFzX29iamVjdF9zbWFydF9k
YXRhX2dldChldmFzT2JqZWN0KSkpOworfQorCiBzdGF0aWMgaW5saW5lIHZvaWQgc2hvd0V2YXNP
YmplY3RzSWZOZWVkZWQoY29uc3QgRXdrX1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhKQogewog
ICAgIEFTU0VSVChzbWFydERhdGEpOwpAQCAtMTQzMiwzOCArMTQ0MCwzIEBAIGJvb2wgRXdrVmll
dzo6c2Nyb2xsQnkoY29uc3QgSW50U2l6ZSYgb2Zmc2V0KQogCiBFdmFzX1NtYXJ0X0NsYXNzIEV3
a1ZpZXc6OnBhcmVudFNtYXJ0Q2xhc3MgPSBFVkFTX1NNQVJUX0NMQVNTX0lOSVRfTlVMTDsKIAot
Ly8gRnJlZSBFd2sgVmlldyBmdW5jdGlvbnMuCi0KLUV3a1ZpZXcqIHRvRXdrVmlldyhjb25zdCBF
dmFzX09iamVjdCogZXZhc09iamVjdCkKLXsKLSAgICBBU1NFUlQoZXZhc09iamVjdCk7Ci0gICAg
QVNTRVJUKGlzRXdrVmlld0V2YXNPYmplY3QoZXZhc09iamVjdCkpOwotCi0gICAgcmV0dXJuIHRv
RXdrVmlldyhzdGF0aWNfY2FzdDxFd2tfVmlld19TbWFydF9EYXRhKj4oZXZhc19vYmplY3Rfc21h
cnRfZGF0YV9nZXQoZXZhc09iamVjdCkpKTsKLX0KLQotYm9vbCBpc0V3a1ZpZXdFdmFzT2JqZWN0
KGNvbnN0IEV2YXNfT2JqZWN0KiBldmFzT2JqZWN0KQotewotICAgIEFTU0VSVChldmFzT2JqZWN0
KTsKLQotICAgIGNvbnN0IGNoYXIqIGV2YXNPYmplY3RUeXBlID0gZXZhc19vYmplY3RfdHlwZV9n
ZXQoZXZhc09iamVjdCk7Ci0gICAgY29uc3QgRXZhc19TbWFydCogZXZhc1NtYXJ0ID0gZXZhc19v
YmplY3Rfc21hcnRfc21hcnRfZ2V0KGV2YXNPYmplY3QpOwotICAgIGlmICghZXZhc1NtYXJ0KSB7
Ci0gICAgICAgIEVJTkFfTE9HX0NSSVQoIiVwICglcykgaXMgbm90IGEgc21hcnQgb2JqZWN0ISIs
IGV2YXNPYmplY3QsIGV2YXNPYmplY3RUeXBlID8gZXZhc09iamVjdFR5cGUgOiAiKG51bGwpIik7
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICBjb25zdCBFdmFzX1NtYXJ0X0Ns
YXNzKiBzbWFydENsYXNzID0gZXZhc19zbWFydF9jbGFzc19nZXQoZXZhc1NtYXJ0KTsKLSAgICBp
ZiAoIXNtYXJ0Q2xhc3MpIHsKLSAgICAgICAgRUlOQV9MT0dfQ1JJVCgiJXAgKCVzKSBpcyBub3Qg
YSBzbWFydCBjbGFzcyBvYmplY3QhIiwgZXZhc09iamVjdCwgZXZhc09iamVjdFR5cGUgPyBldmFz
T2JqZWN0VHlwZSA6ICIobnVsbCkiKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQot
ICAgIGlmIChzbWFydENsYXNzLT5kYXRhICE9IHNtYXJ0Q2xhc3NOYW1lKSB7Ci0gICAgICAgIEVJ
TkFfTE9HX0NSSVQoIiVwICglcykgaXMgbm90IG9mIGFuIGV3a192aWV3IChuZWVkICVwLCBnb3Qg
JXApISIsIGV2YXNPYmplY3QsIGV2YXNPYmplY3RUeXBlID8gZXZhc09iamVjdFR5cGUgOiAiKG51
bGwpIiwKLSAgICAgICAgICAgIHNtYXJ0Q2xhc3NOYW1lLCBzbWFydENsYXNzLT5kYXRhKTsKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIHJldHVybiB0cnVlOwotfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCmluZGV4IGM2YjIyMDk3NWFiMDlk
Mjg3NGUwYmEzYjhhZmY5ZjliYTY4OTgyOTguLmM1M2NjYmIwYmYyZjM2MmFiY2UyYTE1ZTcwOTli
YjBmM2JkYzRkY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L0V3a1ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3
LmgKQEAgLTIwNiw2ICsyMDYsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRpZEZpbmRab29tYWJs
ZUFyZWEoY29uc3QgV0tQb2ludCYsIGNvbnN0IFdLUmVjdCYpOwogCisgICAgc3RhdGljIGNvbnN0
IGNoYXIgc21hcnRDbGFzc05hbWVbXTsKKwogcHJpdmF0ZToKICAgICBFd2tWaWV3KFdLVmlld1Jl
ZiwgRXZhc19PYmplY3QqKTsKICAgICB+RXdrVmlldygpOwpAQCAtMzAyLDggKzMwNCwzMiBAQCBw
cml2YXRlOgogICAgIHN0YXRpYyBFdmFzX1NtYXJ0X0NsYXNzIHBhcmVudFNtYXJ0Q2xhc3M7CiB9
OwogCi1Fd2tWaWV3KiB0b0V3a1ZpZXcoY29uc3QgRXZhc19PYmplY3QqKTsKK2lubGluZSBib29s
IGlzRXdrVmlld0V2YXNPYmplY3QoY29uc3QgRXZhc19PYmplY3QqIGV2YXNPYmplY3QpCit7Cisg
ICAgQVNTRVJUKGV2YXNPYmplY3QpOworCisgICAgY29uc3QgRXZhc19TbWFydCogZXZhc1NtYXJ0
ID0gZXZhc19vYmplY3Rfc21hcnRfc21hcnRfZ2V0KGV2YXNPYmplY3QpOworICAgIGlmIChFSU5B
X1VOTElLRUxZKCFldmFzU21hcnQpKSB7CisgICAgICAgIGNvbnN0IGNoYXIqIGV2YXNPYmplY3RU
eXBlID0gZXZhc19vYmplY3RfdHlwZV9nZXQoZXZhc09iamVjdCk7CisgICAgICAgIEVJTkFfTE9H
X0NSSVQoIiVwICglcykgaXMgbm90IGEgc21hcnQgb2JqZWN0ISIsIGV2YXNPYmplY3QsIGV2YXNP
YmplY3RUeXBlID8gZXZhc09iamVjdFR5cGUgOiAiKG51bGwpIik7CisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICB9CisKKyAgICBjb25zdCBFdmFzX1NtYXJ0X0NsYXNzKiBzbWFydENsYXNzID0g
ZXZhc19zbWFydF9jbGFzc19nZXQoZXZhc1NtYXJ0KTsKKyAgICBpZiAoRUlOQV9VTkxJS0VMWSgh
c21hcnRDbGFzcykpIHsKKyAgICAgICAgY29uc3QgY2hhciogZXZhc09iamVjdFR5cGUgPSBldmFz
X29iamVjdF90eXBlX2dldChldmFzT2JqZWN0KTsKKyAgICAgICAgRUlOQV9MT0dfQ1JJVCgiJXAg
KCVzKSBpcyBub3QgYSBzbWFydCBjbGFzcyBvYmplY3QhIiwgZXZhc09iamVjdCwgZXZhc09iamVj
dFR5cGUgPyBldmFzT2JqZWN0VHlwZSA6ICIobnVsbCkiKTsKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIH0KKworICAgIGlmIChFSU5BX1VOTElLRUxZKHNtYXJ0Q2xhc3MtPmRhdGEgIT0gRXdr
Vmlldzo6c21hcnRDbGFzc05hbWUpKSB7CisgICAgICAgIGNvbnN0IGNoYXIqIGV2YXNPYmplY3RU
eXBlID0gZXZhc19vYmplY3RfdHlwZV9nZXQoZXZhc09iamVjdCk7CisgICAgICAgIEVJTkFfTE9H
X0NSSVQoIiVwICglcykgaXMgbm90IG9mIGFuIGV3a192aWV3IChuZWVkICVwLCBnb3QgJXApISIs
IGV2YXNPYmplY3QsIGV2YXNPYmplY3RUeXBlID8gZXZhc09iamVjdFR5cGUgOiAiKG51bGwpIiwK
KyAgICAgICAgICAgIEV3a1ZpZXc6OnNtYXJ0Q2xhc3NOYW1lLCBzbWFydENsYXNzLT5kYXRhKTsK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KIAotYm9vbCBpc0V3a1ZpZXdFdmFzT2JqZWN0
KGNvbnN0IEV2YXNfT2JqZWN0Kik7CisgICAgcmV0dXJuIHRydWU7Cit9CiAKICNlbmRpZiAvLyBF
d2tWaWV3X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a192aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNw
cAppbmRleCBmMzk3NzgwMmJhNmE2OWJkNjgwZDE3ODY3MjNlMDc4MDM3ODczYmZhLi5hODNmNDQx
YmM0MWI1OTMzYWU3ZTBkOGU2NjZjNjQzZDBlMTJlNzZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCkBAIC02Myw3ICs2Myw3IEBAIHVzaW5nIG5h
bWVzcGFjZSBXZWJLaXQ7CiBzdGF0aWMgaW5saW5lIEV3a1ZpZXcqIHRvRXdrVmlld0NoZWNrZWQo
Y29uc3QgRXZhc19PYmplY3QqIGV2YXNPYmplY3QpCiB7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVM
TF9SRVRVUk5fVkFMKGV2YXNPYmplY3QsIG51bGxwdHIpOwotICAgIGlmICghaXNFd2tWaWV3RXZh
c09iamVjdChldmFzT2JqZWN0KSkKKyAgICBpZiAoRUlOQV9VTkxJS0VMWSghaXNFd2tWaWV3RXZh
c09iamVjdChldmFzT2JqZWN0KSkpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgRXdrX1ZpZXdf
U21hcnRfRGF0YSogc21hcnREYXRhID0gc3RhdGljX2Nhc3Q8RXdrX1ZpZXdfU21hcnRfRGF0YSo+
KGV2YXNfb2JqZWN0X3NtYXJ0X2RhdGFfZ2V0KGV2YXNPYmplY3QpKTsKQEAgLTc1LDcgKzc1LDcg
QEAgc3RhdGljIGlubGluZSBFd2tWaWV3KiB0b0V3a1ZpZXdDaGVja2VkKGNvbnN0IEV2YXNfT2Jq
ZWN0KiBldmFzT2JqZWN0KQogI2RlZmluZSBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oZXdr
VmlldywgaW1wbCwgLi4uKSAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBFd2tWaWV3KiBp
bXBsID0gdG9Fd2tWaWV3Q2hlY2tlZChld2tWaWV3KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCiAgICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBpZiAoIWltcGwpIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICAgICAgaWYgKEVJTkFfVU5MSUtFTFkoIWltcGwpKSB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICBFSU5BX0xPR19DUklUKCJu
byBwcml2YXRlIGRhdGEgZm9yIG9iamVjdCAlcCIsIGV3a1ZpZXcpOyAgICAgICAgICAgXAogICAg
ICAgICAgICAgcmV0dXJuIF9fVkFfQVJHU19fOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>