<?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>130182</bug_id>
          
          <creation_ts>2014-03-13 01:15:30 -0700</creation_ts>
          <short_desc>[EFL][WK2] Restore cursor when moving mouse into webview</short_desc>
          <delta_ts>2014-03-17 05:41:18 -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>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>jinwoo7.song</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-ews</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>989955</commentid>
    <comment_count>0</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-03-13 01:15:30 -0700</bug_when>
    <thetext>Now, ewebkit changed mouse cursor when the type of cursor is changed.

But ewebkit does not know whether other widgets such as elm_entry change the cursor.
So we should restore the cursor when mouser enters on webview not to show wrong cursor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989956</commentid>
    <comment_count>1</comment_count>
      <attachid>226581</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-03-13 01:23:00 -0700</bug_when>
    <thetext>Created attachment 226581
suggestion</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990272</commentid>
    <comment_count>2</comment_count>
      <attachid>226581</attachid>
    <who name="Jinwoo Song">jinwoo7.song</who>
    <bug_when>2014-03-13 20:17:45 -0700</bug_when>
    <thetext>Comment on attachment 226581
suggestion

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

&gt; Source/WebKit2/UIProcess/API/efl/EwkView.cpp:1165
&gt; +    EwkViewEventHandler&lt;EVAS_CALLBACK_MOUSE_IN&gt;::subscribe(evasObject);

Why don&apos;t you follow the alphabetic order?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991065</commentid>
    <comment_count>3</comment_count>
      <attachid>226871</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-03-16 19:23:41 -0700</bug_when>
    <thetext>Created attachment 226871
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991066</commentid>
    <comment_count>4</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-03-16 19:23:57 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 226581 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=226581&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/EwkView.cpp:1165
&gt; &gt; +    EwkViewEventHandler&lt;EVAS_CALLBACK_MOUSE_IN&gt;::subscribe(evasObject);
&gt; 
&gt; Why don&apos;t you follow the alphabetic order?

Fixed order.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991160</commentid>
    <comment_count>5</comment_count>
    <who name="Jinwoo Song">jinwoo7.song</who>
    <bug_when>2014-03-17 02:39:23 -0700</bug_when>
    <thetext>Looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991161</commentid>
    <comment_count>6</comment_count>
      <attachid>226871</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-03-17 02:53:33 -0700</bug_when>
    <thetext>Comment on attachment 226871
Patch

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

&gt; Source/WebKit2/UIProcess/API/efl/EwkView.cpp:498
&gt; +        m_useCustomCursor = true;

If possible, I prefer not to keep a member variable for boolean flag. Can&apos;t we pass this true/false to updateCursor() as an argument ?

&gt; Source/WebKit2/UIProcess/API/efl/EwkView.h:280
&gt; +    } m_cursorIdentifier; // This is an address, do not free it.

Hmm, is m_cursorIdentifier still an address ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991164</commentid>
    <comment_count>7</comment_count>
      <attachid>226899</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-03-17 03:12:46 -0700</bug_when>
    <thetext>Created attachment 226899
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991166</commentid>
    <comment_count>8</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-03-17 03:15:39 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 226871 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=226871&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/EwkView.cpp:498
&gt; &gt; +        m_useCustomCursor = true;
&gt; 
&gt; If possible, I prefer not to keep a member variable for boolean flag. Can&apos;t we pass this true/false to updateCursor() as an argument ?
&gt; 

Unfortunately, we should save the state of cursor for the MOUSE_IN callback.

&gt; &gt; Source/WebKit2/UIProcess/API/efl/EwkView.h:280
&gt; &gt; +    } m_cursorIdentifier; // This is an address, do not free it.
&gt; 
&gt; Hmm, is m_cursorIdentifier still an address ?

Right, I removed the comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991169</commentid>
    <comment_count>9</comment_count>
      <attachid>226871</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-03-17 03:18:40 -0700</bug_when>
    <thetext>Comment on attachment 226871
Patch

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

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/EwkView.cpp:498
&gt;&gt;&gt; +        m_useCustomCursor = true;
&gt;&gt; 
&gt;&gt; If possible, I prefer not to keep a member variable for boolean flag. Can&apos;t we pass this true/false to updateCursor() as an argument ?
&gt; 
&gt; Unfortunately, we should save the state of cursor for the MOUSE_IN callback.

It looks m_useCustomCursor is only used by updateCursor(). Could you let me know how is this used by the MOUSE_IN callback ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991174</commentid>
    <comment_count>10</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-03-17 03:41:41 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 226871 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=226871&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/EwkView.cpp:498
&gt; &gt;&gt;&gt; +        m_useCustomCursor = true;
&gt; &gt;&gt; 
&gt; &gt;&gt; If possible, I prefer not to keep a member variable for boolean flag. Can&apos;t we pass this true/false to updateCursor() as an argument ?
&gt; &gt; 
&gt; &gt; Unfortunately, we should save the state of cursor for the MOUSE_IN callback.
&gt; 
&gt; It looks m_useCustomCursor is only used by updateCursor(). Could you let me know how is this used by the MOUSE_IN callback ?

Yes and EwkViewEventHandler&lt;EVAS_CALLBACK_MOUSE_IN&gt;::handleEvent() and setCursor() call updateCursor().

Although we can pass the true/false to updateCursor(), we should keep the any member variable to know which type of cursor(group or image) we will restore in the MOUSE_IN callback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991175</commentid>
    <comment_count>11</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-03-17 04:08:42 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; (From update of attachment 226871 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=226871&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/EwkView.cpp:498
&gt; &gt; &gt;&gt;&gt; +        m_useCustomCursor = true;
&gt; &gt; &gt;&gt; 
&gt; &gt; &gt;&gt; If possible, I prefer not to keep a member variable for boolean flag. Can&apos;t we pass this true/false to updateCursor() as an argument ?
&gt; &gt; &gt; 
&gt; &gt; &gt; Unfortunately, we should save the state of cursor for the MOUSE_IN callback.
&gt; &gt; 
&gt; &gt; It looks m_useCustomCursor is only used by updateCursor(). Could you let me know how is this used by the MOUSE_IN callback ?
&gt; 
&gt; Yes and EwkViewEventHandler&lt;EVAS_CALLBACK_MOUSE_IN&gt;::handleEvent() and setCursor() call updateCursor().

I can&apos;t find &quot;EwkViewEventHandler&lt;EVAS_CALLBACK_MOUSE_IN&gt;::handleEvent()&quot; in EwkView.cpp. Is it supported by WebKit EFL trunk now ? Please let me know where it is implemented.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991179</commentid>
    <comment_count>12</comment_count>
      <attachid>226871</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-03-17 04:19:40 -0700</bug_when>
    <thetext>Comment on attachment 226871
Patch

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

&gt;&gt;&gt;&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/EwkView.cpp:498
&gt;&gt;&gt;&gt;&gt;&gt; +        m_useCustomCursor = true;
&gt;&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt;&gt; If possible, I prefer not to keep a member variable for boolean flag. Can&apos;t we pass this true/false to updateCursor() as an argument ?
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; Unfortunately, we should save the state of cursor for the MOUSE_IN callback.
&gt;&gt;&gt; 
&gt;&gt;&gt; It looks m_useCustomCursor is only used by updateCursor(). Could you let me know how is this used by the MOUSE_IN callback ?
&gt;&gt; 
&gt;&gt; Yes and EwkViewEventHandler&lt;EVAS_CALLBACK_MOUSE_IN&gt;::handleEvent() and setCursor() call updateCursor().
&gt;&gt; 
&gt;&gt; Although we can pass the true/false to updateCursor(), we should keep the any member variable to know which type of cursor(group or image) we will restore in the MOUSE_IN callback.
&gt; 
&gt; I can&apos;t find &quot;EwkViewEventHandler&lt;EVAS_CALLBACK_MOUSE_IN&gt;::handleEvent()&quot; in EwkView.cpp. Is it supported by WebKit EFL trunk now ? Please let me know where it is implemented.

I missed to see &quot;EwkViewEventHandler&lt;EVAS_CALLBACK_MOUSE_IN&gt;::handleEvent()&quot; in this patch. Sorry for noise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991180</commentid>
    <comment_count>13</comment_count>
      <attachid>226899</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-03-17 04:22:07 -0700</bug_when>
    <thetext>Comment on attachment 226899
Patch

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

LGTM now.

&gt; Source/WebKit2/UIProcess/API/efl/EwkView.cpp:492
&gt; +    if (cursor.image()) {

Trivial recommendation : How about using isNull() explicitly as below ?

!cursor.image()-&gt;isNull()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991182</commentid>
    <comment_count>14</comment_count>
      <attachid>226899</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-17 05:41:11 -0700</bug_when>
    <thetext>Comment on attachment 226899
Patch

Clearing flags on attachment: 226899

Committed r165730: &lt;http://trac.webkit.org/changeset/165730&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991183</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-17 05:41:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226581</attachid>
            <date>2014-03-13 01:23:00 -0700</date>
            <delta_ts>2014-03-16 19:23:33 -0700</delta_ts>
            <desc>suggestion</desc>
            <filename>bug-130182-20140313172236.patch</filename>
            <type>text/plain</type>
            <size>7431</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1NTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDk5OWVhMjYwNjdkNTRj
NDkxMmQ0YmE3NzhmNjAwYjJmZTFlNTI1OC4uYmM1YjQyMTM3Mzc1YzIyNDEwODkyOGY4MWE5YTJh
ZTlkZWIxODllZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTAzLTEzICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFJl
c3RvcmUgY3Vyc29yIHdoZW4gbW92aW5nIG1vdXNlIGludG8gd2VidmlldworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwMTgyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgY2hhbmdlZCBtb3VzZSBjdXJz
b3Igd2hlbiB0aGUgdHlwZSBvZiBjdXJzb3IgaXMgY2hhbmdlZC4KKyAgICAgICAgQnV0IG9uY2Ug
bW91c2UgaXMgbW92ZWQgb3V0IG9mIHdlYnZpZXcsIGV3ZWJraXQgd2lsbCBub3Qga25vdyB3aGV0
aGVyIGN1cnNvcgorICAgICAgICBpcyBjaGFuZ2VkIG9yIG5vdC4KKworICAgICAgICBTbywgdGhp
cyBwYXRjaCBhZGRlZCBhIGxvZ2ljIHRvIHJlc3RvcmUgdGhlIGxhc3QgYXBwbGllZCB0eXBlIG9m
IGN1cnNvciB3aGVuCisgICAgICAgIG1vdXNlIGlzIG1vdmVkIGludG8gd2VidmlldyBhZ2Fpbi4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwOgorICAgICAgICAoRXdr
Vmlld0V2ZW50SGFuZGxlcjxFVkFTX0NBTExCQUNLX01PVVNFX0lOPjo6aGFuZGxlRXZlbnQpOgor
ICAgICAgICBDYWxsIHVwZGF0ZUN1cnNvciB0byByZXN0b3JlIHRoZSBsYXN0IGFwcGxpZWQgdHlw
ZSBvZiBjdXJzb3IuCisgICAgICAgIChFd2tWaWV3OjpFd2tWaWV3KToKKyAgICAgICAgKEV3a1Zp
ZXc6OnVwZGF0ZUN1cnNvcik6IEV4dHJhY3RlZCBmcm9tIHNldEN1cnNvci4KKyAgICAgICAgKEV3
a1ZpZXc6OnNldEN1cnNvcik6CisgICAgICAgIChFd2tWaWV3OjpoYW5kbGVFdmFzT2JqZWN0QWRk
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3Lmg6CisKIDIwMTQtMDMtMTIg
IERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHTF0gV2ViS2l0
MSArIFdlYktpdDIgaU9TIGNsaWVudHMgc2hvdWxkIGNoZWNrIGxvYWQgcG9saWN5CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCmluZGV4IDI3N2Y2YWFiZDIx
YWNhZGMwOGI0YjA3MjVjMGU5MjY0NWM3ZTRiNmUuLmI0ODNkZWIyOGVmNDI3YzQ0MzIxNWY0ODRm
OWQwMmQ1OTgwY2MwNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL0V3a1ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3
a1ZpZXcuY3BwCkBAIC0yMTgsNiArMjE4LDE1IEBAIHZvaWQgRXdrVmlld0V2ZW50SGFuZGxlcjxF
VkFTX0NBTExCQUNLX01PVVNFX1dIRUVMPjo6aGFuZGxlRXZlbnQodm9pZCogZGF0YSwgRXZhCiB9
CiAKIHRlbXBsYXRlIDw+Cit2b2lkIEV3a1ZpZXdFdmVudEhhbmRsZXI8RVZBU19DQUxMQkFDS19N
T1VTRV9JTj46OmhhbmRsZUV2ZW50KHZvaWQqIGRhdGEsIEV2YXMqLCBFdmFzX09iamVjdCosIHZv
aWQqKQoreworICAgIEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0YSA9IHN0YXRpY19jYXN0
PEV3a19WaWV3X1NtYXJ0X0RhdGEqPihkYXRhKTsKKyAgICBFd2tWaWV3KiBzZWxmID0gdG9Fd2tW
aWV3KHNtYXJ0RGF0YSk7CisKKyAgICBzZWxmLT51cGRhdGVDdXJzb3IoKTsKK30KKwordGVtcGxh
dGUgPD4KIHZvaWQgRXdrVmlld0V2ZW50SGFuZGxlcjxFVkFTX0NBTExCQUNLX0tFWV9ET1dOPjo6
aGFuZGxlRXZlbnQodm9pZCogZGF0YSwgRXZhcyosIEV2YXNfT2JqZWN0Kiwgdm9pZCogZXZlbnRJ
bmZvKQogewogICAgIEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0YSA9IHN0YXRpY19jYXN0
PEV3a19WaWV3X1NtYXJ0X0RhdGEqPihkYXRhKTsKQEAgLTI3NCw3ICsyODMsNyBAQCBFd2tWaWV3
OjpFd2tWaWV3KFdLVmlld1JlZiB2aWV3LCBFdmFzX09iamVjdCogZXZhc09iamVjdCkKICNlbmRp
ZgogICAgICwgbV9iYWNrRm9yd2FyZExpc3Qoc3RkOjptYWtlX3VuaXF1ZTxFd2tCYWNrRm9yd2Fy
ZExpc3Q+KFdLUGFnZUdldEJhY2tGb3J3YXJkTGlzdCh3a1BhZ2UoKSkpKQogICAgICwgbV9zZXR0
aW5ncyhzdGQ6Om1ha2VfdW5pcXVlPEV3a1NldHRpbmdzPih0aGlzKSkKLSAgICAsIG1fY3Vyc29y
SWRlbnRpZmllcigwKQorICAgICwgbV91c2VDdXN0b21DdXJzb3IoZmFsc2UpCiAgICAgLCBtX3Vz
ZXJBZ2VudChXS0VpbmFTaGFyZWRTdHJpbmcoQWRvcHRXSywgV0tQYWdlQ29weVVzZXJBZ2VudCh3
a1BhZ2UoKSkpKQogICAgICwgbV9tb3VzZUV2ZW50c0VuYWJsZWQoZmFsc2UpCiAjaWYgRU5BQkxF
KFRPVUNIX0VWRU5UUykKQEAgLTQwOCw0MSArNDE3LDM3IEBAIFdLUGFnZVJlZiBFd2tWaWV3Ojp3
a1BhZ2UoKSBjb25zdAogICAgIHJldHVybiBXS1ZpZXdHZXRQYWdlKHdrVmlldygpKTsKIH0KIAot
dm9pZCBFd2tWaWV3OjpzZXRDdXJzb3IoY29uc3QgQ3Vyc29yJiBjdXJzb3IpCit2b2lkIEV3a1Zp
ZXc6OnVwZGF0ZUN1cnNvcigpCiB7Ci0gICAgaWYgKGN1cnNvci5pbWFnZSgpKSB7Ci0gICAgICAg
IC8vIEN1c3RvbSBjdXJzb3IuCi0gICAgICAgIGlmIChjdXJzb3IuaW1hZ2UoKSA9PSBtX2N1cnNv
cklkZW50aWZpZXIpCi0gICAgICAgICAgICByZXR1cm47CisgICAgRXdrX1ZpZXdfU21hcnRfRGF0
YSogc2QgPSBzbWFydERhdGEoKTsKIAotICAgICAgICBtX2N1cnNvcklkZW50aWZpZXIgPSBjdXJz
b3IuaW1hZ2UoKTsKKyAgICBpZiAobV91c2VDdXN0b21DdXJzb3IpIHsKKyAgICAgICAgSW1hZ2Uq
IGN1cnNvckltYWdlID0gc3RhdGljX2Nhc3Q8SW1hZ2UqPihtX2N1cnNvcklkZW50aWZpZXIuaW1h
Z2UpOworICAgICAgICBpZiAoIWN1cnNvckltYWdlKQorICAgICAgICAgICAgcmV0dXJuOwogCi0g
ICAgICAgIEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNkID0gc21hcnREYXRhKCk7Ci0gICAgICAgIFJl
ZlB0cjxFdmFzX09iamVjdD4gY3Vyc29yT2JqZWN0ID0gYWRvcHRSZWYoY3Vyc29yLmltYWdlKCkt
PmdldEV2YXNPYmplY3Qoc2QtPmJhc2UuZXZhcykpOworICAgICAgICBSZWZQdHI8RXZhc19PYmpl
Y3Q+IGN1cnNvck9iamVjdCA9IGFkb3B0UmVmKGN1cnNvckltYWdlLT5nZXRFdmFzT2JqZWN0KHNk
LT5iYXNlLmV2YXMpKTsKICAgICAgICAgaWYgKCFjdXJzb3JPYmplY3QpCiAgICAgICAgICAgICBy
ZXR1cm47CiAKKyAgICAgICAgSW50U2l6ZSBjdXJzb3JTaXplID0gY3Vyc29ySW1hZ2UtPnNpemUo
KTsKICAgICAgICAgLy8gUmVzaXplIGN1cnNvci4KLSAgICAgICAgZXZhc19vYmplY3RfcmVzaXpl
KGN1cnNvck9iamVjdC5nZXQoKSwgY3Vyc29yLmltYWdlKCktPnNpemUoKS53aWR0aCgpLCBjdXJz
b3IuaW1hZ2UoKS0+c2l6ZSgpLmhlaWdodCgpKTsKKyAgICAgICAgZXZhc19vYmplY3RfcmVzaXpl
KGN1cnNvck9iamVjdC5nZXQoKSwgY3Vyc29yU2l6ZS53aWR0aCgpLCBjdXJzb3JTaXplLmhlaWdo
dCgpKTsKIAogICAgICAgICAvLyBHZXQgY3Vyc29yIGhvdCBzcG90LgogICAgICAgICBJbnRQb2lu
dCBob3RTcG90OwotICAgICAgICBjdXJzb3IuaW1hZ2UoKS0+Z2V0SG90U3BvdChob3RTcG90KTsK
KyAgICAgICAgY3Vyc29ySW1hZ2UtPmdldEhvdFNwb3QoaG90U3BvdCk7CiAKICAgICAgICAgRWNv
cmVfRXZhcyogZWNvcmVFdmFzID0gZWNvcmVfZXZhc19lY29yZV9ldmFzX2dldChzZC0+YmFzZS5l
dmFzKTsKICAgICAgICAgLy8gZWNvcmVfZXZhcyB0YWtlcyBjYXJlIG9mIGZyZWVpbmcgdGhlIGN1
cnNvciBvYmplY3QuCiAgICAgICAgIGVjb3JlX2V2YXNfb2JqZWN0X2N1cnNvcl9zZXQoZWNvcmVF
dmFzLCBjdXJzb3JPYmplY3QucmVsZWFzZSgpLmxlYWtSZWYoKSwgRVZBU19MQVlFUl9NQVgsIGhv
dFNwb3QueCgpLCBob3RTcG90LnkoKSk7Ci0KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAg
IC8vIFN0YW5kYXJkIGN1cnNvci4KLSAgICBjb25zdCBjaGFyKiBncm91cCA9IGN1cnNvci5wbGF0
Zm9ybUN1cnNvcigpOwotICAgIGlmICghZ3JvdXAgfHwgZ3JvdXAgPT0gbV9jdXJzb3JJZGVudGlm
aWVyKQorICAgIGNvbnN0IGNoYXIqIGdyb3VwID0gc3RhdGljX2Nhc3Q8Y29uc3QgY2hhcio+KG1f
Y3Vyc29ySWRlbnRpZmllci5ncm91cCk7CisgICAgaWYgKCFncm91cCkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgbV9jdXJzb3JJZGVudGlmaWVyID0gZ3JvdXA7Ci0gICAgRXdrX1ZpZXdfU21hcnRf
RGF0YSogc2QgPSBzbWFydERhdGEoKTsKICAgICBSZWZQdHI8RXZhc19PYmplY3Q+IGN1cnNvck9i
amVjdCA9IGFkb3B0UmVmKGVkamVfb2JqZWN0X2FkZChzZC0+YmFzZS5ldmFzKSk7CiAKICAgICBF
Y29yZV9FdmFzKiBlY29yZUV2YXMgPSBlY29yZV9ldmFzX2Vjb3JlX2V2YXNfZ2V0KHNkLT5iYXNl
LmV2YXMpOwpAQCAtNDgyLDYgKzQ4NywyOCBAQCB2b2lkIEV3a1ZpZXc6OnNldEN1cnNvcihjb25z
dCBDdXJzb3ImIGN1cnNvcikKICAgICBlY29yZV9ldmFzX29iamVjdF9jdXJzb3Jfc2V0KGVjb3Jl
RXZhcywgY3Vyc29yT2JqZWN0LnJlbGVhc2UoKS5sZWFrUmVmKCksIEVWQVNfTEFZRVJfTUFYLCBo
b3RzcG90WCwgaG90c3BvdFkpOwogfQogCit2b2lkIEV3a1ZpZXc6OnNldEN1cnNvcihjb25zdCBD
dXJzb3ImIGN1cnNvcikKK3sKKyAgICBpZiAoY3Vyc29yLmltYWdlKCkpIHsKKyAgICAgICAgLy8g
Q3VzdG9tIGN1cnNvci4KKyAgICAgICAgaWYgKGN1cnNvci5pbWFnZSgpID09IG1fY3Vyc29ySWRl
bnRpZmllci5pbWFnZSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBtX2N1cnNvcklk
ZW50aWZpZXIuaW1hZ2UgPSBjdXJzb3IuaW1hZ2UoKTsKKyAgICAgICAgbV91c2VDdXN0b21DdXJz
b3IgPSB0cnVlOworICAgIH0gZWxzZSB7CisgICAgICAgIC8vIFN0YW5kYXJkIGN1cnNvci4KKyAg
ICAgICAgY29uc3QgY2hhciogZ3JvdXAgPSBjdXJzb3IucGxhdGZvcm1DdXJzb3IoKTsKKyAgICAg
ICAgaWYgKCFncm91cCB8fCBncm91cCA9PSBtX2N1cnNvcklkZW50aWZpZXIuZ3JvdXApCisgICAg
ICAgICAgICByZXR1cm47CisKKyAgICAgICAgbV9jdXJzb3JJZGVudGlmaWVyLmdyb3VwID0gZ3Jv
dXA7CisgICAgICAgIG1fdXNlQ3VzdG9tQ3Vyc29yID0gZmFsc2U7CisgICAgfQorCisgICAgdXBk
YXRlQ3Vyc29yKCk7Cit9CisKIHZvaWQgRXdrVmlldzo6c2V0RGV2aWNlU2NhbGVGYWN0b3IoZmxv
YXQgc2NhbGUpCiB7CiAgICAgY29uc3QgV0tTaXplJiBkZXZpY2VTaXplID0gV0tWaWV3R2V0U2l6
ZSh3a1ZpZXcoKSk7CkBAIC0xMTM1LDYgKzExNjIsNyBAQCB2b2lkIEV3a1ZpZXc6OmhhbmRsZUV2
YXNPYmplY3RBZGQoRXZhc19PYmplY3QqIGV2YXNPYmplY3QpCiAgICAgRXdrVmlld0V2ZW50SGFu
ZGxlcjxFVkFTX0NBTExCQUNLX0ZPQ1VTX0lOPjo6c3Vic2NyaWJlKGV2YXNPYmplY3QpOwogICAg
IEV3a1ZpZXdFdmVudEhhbmRsZXI8RVZBU19DQUxMQkFDS19GT0NVU19PVVQ+OjpzdWJzY3JpYmUo
ZXZhc09iamVjdCk7CiAgICAgRXdrVmlld0V2ZW50SGFuZGxlcjxFVkFTX0NBTExCQUNLX01PVVNF
X1dIRUVMPjo6c3Vic2NyaWJlKGV2YXNPYmplY3QpOworICAgIEV3a1ZpZXdFdmVudEhhbmRsZXI8
RVZBU19DQUxMQkFDS19NT1VTRV9JTj46OnN1YnNjcmliZShldmFzT2JqZWN0KTsKICAgICBFd2tW
aWV3RXZlbnRIYW5kbGVyPEVWQVNfQ0FMTEJBQ0tfS0VZX0RPV04+OjpzdWJzY3JpYmUoZXZhc09i
amVjdCk7CiAgICAgRXdrVmlld0V2ZW50SGFuZGxlcjxFVkFTX0NBTExCQUNLX0tFWV9VUD46OnN1
YnNjcmliZShldmFzT2JqZWN0KTsKICAgICBFd2tWaWV3RXZlbnRIYW5kbGVyPEVWQVNfQ0FMTEJB
Q0tfU0hPVz46OnN1YnNjcmliZShldmFzT2JqZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL0V3a1ZpZXcuaAppbmRleCA4MzdlNjllZGFlNzBiMjhjYWVlOGJhNDJjYWEwOTk5
ZjkwMGQ3MmM4Li4zYzgzNDFhZGI5NWNhYWFlMzZjMGZkNjc0YTNiZTc4NjQyMGI2YmFhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCkBAIC03Niw2ICs3Niw3
IEBAIGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIGNsYXNzIENvbG9yOwogY2xhc3MgQ29vcmRpbmF0
ZWRHcmFwaGljc1NjZW5lOwogY2xhc3MgQ3Vyc29yOworY2xhc3MgSW1hZ2U7CiBjbGFzcyBJbnRT
aXplOwogY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRyaXg7CiB9CkBAIC0xNDMsNiArMTQ0LDcgQEAg
cHVibGljOgogICAgIHZvaWQgZG9uZVdpdGhUb3VjaEV2ZW50KFdLVG91Y2hFdmVudFJlZiwgYm9v
bCk7CiAjZW5kaWYKIAorICAgIHZvaWQgdXBkYXRlQ3Vyc29yKCk7CiAgICAgdm9pZCBzZXRDdXJz
b3IoY29uc3QgV2ViQ29yZTo6Q3Vyc29yJiBjdXJzb3IpOwogCiAgICAgdm9pZCBzY2hlZHVsZVVw
ZGF0ZURpc3BsYXkoKTsKQEAgLTI2OCw3ICsyNzAsMTYgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8RXdrQmFja0ZvcndhcmRMaXN0PiBtX2JhY2tGb3J3YXJkTGlzdDsKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8RXdrU2V0dGluZ3M+IG1fc2V0dGluZ3M7CiAgICAgUmVmUHRyPEV3a1dpbmRv
d0ZlYXR1cmVzPiBtX3dpbmRvd0ZlYXR1cmVzOwotICAgIGNvbnN0IHZvaWQqIG1fY3Vyc29ySWRl
bnRpZmllcjsgLy8gVGhpcyBpcyBhbiBhZGRyZXNzLCBkbyBub3QgZnJlZSBpdC4KKyAgICB1bmlv
biBDdXJzb3JJZGVudGlmaWVyIHsKKyAgICAgICAgQ3Vyc29ySWRlbnRpZmllcigpCisgICAgICAg
ICAgICA6IGltYWdlKG51bGxwdHIpCisgICAgICAgIHsKKyAgICAgICAgfQorICAgICAgICBXZWJD
b3JlOjpJbWFnZSogaW1hZ2U7CisgICAgICAgIGNvbnN0IGNoYXIqIGdyb3VwOworICAgIH0gbV9j
dXJzb3JJZGVudGlmaWVyOyAvLyBUaGlzIGlzIGFuIGFkZHJlc3MsIGRvIG5vdCBmcmVlIGl0Lgor
ICAgIGJvb2wgbV91c2VDdXN0b21DdXJzb3I7CisKICAgICBXS0VpbmFTaGFyZWRTdHJpbmcgbV91
cmw7CiAgICAgbXV0YWJsZSBXS0VpbmFTaGFyZWRTdHJpbmcgbV90aXRsZTsKICAgICBXS0VpbmFT
aGFyZWRTdHJpbmcgbV90aGVtZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226871</attachid>
            <date>2014-03-16 19:23:41 -0700</date>
            <delta_ts>2014-03-17 04:19:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130182-20140317112319.patch</filename>
            <type>text/plain</type>
            <size>7348</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1NzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNWQ2YmNhMzQ4MTc3YTAz
MTc0OGY5NjhkNjI0NDVhM2ZkZTY2ZDdkZC4uODY1YTgxZTE3NTUyNTVmM2ExOWY2NDdhNDg4N2Qz
YmMyNDg5YTJhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTAzLTE2ICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFJl
c3RvcmUgY3Vyc29yIHdoZW4gbW92aW5nIG1vdXNlIGludG8gd2VidmlldworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwMTgyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgY2hhbmdlZCBtb3VzZSBjdXJz
b3Igd2hlbiB0aGUgdHlwZSBvZiBjdXJzb3IgaXMgY2hhbmdlZC4KKyAgICAgICAgQnV0IG9uY2Ug
bW91c2UgaXMgbW92ZWQgb3V0IG9mIHdlYnZpZXcsIGV3ZWJraXQgd2lsbCBub3Qga25vdyB3aGV0
aGVyIGN1cnNvcgorICAgICAgICBpcyBjaGFuZ2VkIG9yIG5vdC4KKworICAgICAgICBTbywgdGhp
cyBwYXRjaCBhZGRlZCBhIGxvZ2ljIHRvIHJlc3RvcmUgdGhlIGxhc3QgYXBwbGllZCB0eXBlIG9m
IGN1cnNvciB3aGVuCisgICAgICAgIG1vdXNlIGlzIG1vdmVkIGludG8gd2VidmlldyBhZ2Fpbi4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwOgorICAgICAgICAoRXdr
Vmlld0V2ZW50SGFuZGxlcjxFVkFTX0NBTExCQUNLX01PVVNFX0lOPjo6aGFuZGxlRXZlbnQpOgor
ICAgICAgICBDYWxsIHVwZGF0ZUN1cnNvciB0byByZXN0b3JlIHRoZSBsYXN0IGFwcGxpZWQgdHlw
ZSBvZiBjdXJzb3IuCisgICAgICAgIChFd2tWaWV3OjpFd2tWaWV3KToKKyAgICAgICAgKEV3a1Zp
ZXc6OnVwZGF0ZUN1cnNvcik6IEV4dHJhY3RlZCBmcm9tIHNldEN1cnNvci4KKyAgICAgICAgKEV3
a1ZpZXc6OnNldEN1cnNvcik6CisgICAgICAgIChFd2tWaWV3OjpoYW5kbGVFdmFzT2JqZWN0QWRk
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3Lmg6CisKIDIwMTQtMDMtMTYg
IFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAgIE1vdmUgR1RL
IFdlYktpdDIgY29kZSB0byBzdGQ6OnVuaXF1ZV9wdHIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKaW5kZXggMjc3ZjZhYWJkMjFhY2FkYzA4YjRiMDcyNWMw
ZTkyNjQ1YzdlNGI2ZS4uNDkyMjBiNGUwY2JkNzI5ZWE5NTUwODdhNzhjMzc2NTA3NWE0MTZhYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKQEAgLTIx
OCw2ICsyMTgsMTUgQEAgdm9pZCBFd2tWaWV3RXZlbnRIYW5kbGVyPEVWQVNfQ0FMTEJBQ0tfTU9V
U0VfV0hFRUw+OjpoYW5kbGVFdmVudCh2b2lkKiBkYXRhLCBFdmEKIH0KIAogdGVtcGxhdGUgPD4K
K3ZvaWQgRXdrVmlld0V2ZW50SGFuZGxlcjxFVkFTX0NBTExCQUNLX01PVVNFX0lOPjo6aGFuZGxl
RXZlbnQodm9pZCogZGF0YSwgRXZhcyosIEV2YXNfT2JqZWN0Kiwgdm9pZCopCit7CisgICAgRXdr
X1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhID0gc3RhdGljX2Nhc3Q8RXdrX1ZpZXdfU21hcnRf
RGF0YSo+KGRhdGEpOworICAgIEV3a1ZpZXcqIHNlbGYgPSB0b0V3a1ZpZXcoc21hcnREYXRhKTsK
KworICAgIHNlbGYtPnVwZGF0ZUN1cnNvcigpOworfQorCit0ZW1wbGF0ZSA8Pgogdm9pZCBFd2tW
aWV3RXZlbnRIYW5kbGVyPEVWQVNfQ0FMTEJBQ0tfS0VZX0RPV04+OjpoYW5kbGVFdmVudCh2b2lk
KiBkYXRhLCBFdmFzKiwgRXZhc19PYmplY3QqLCB2b2lkKiBldmVudEluZm8pCiB7CiAgICAgRXdr
X1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhID0gc3RhdGljX2Nhc3Q8RXdrX1ZpZXdfU21hcnRf
RGF0YSo+KGRhdGEpOwpAQCAtMjc0LDcgKzI4Myw3IEBAIEV3a1ZpZXc6OkV3a1ZpZXcoV0tWaWV3
UmVmIHZpZXcsIEV2YXNfT2JqZWN0KiBldmFzT2JqZWN0KQogI2VuZGlmCiAgICAgLCBtX2JhY2tG
b3J3YXJkTGlzdChzdGQ6Om1ha2VfdW5pcXVlPEV3a0JhY2tGb3J3YXJkTGlzdD4oV0tQYWdlR2V0
QmFja0ZvcndhcmRMaXN0KHdrUGFnZSgpKSkpCiAgICAgLCBtX3NldHRpbmdzKHN0ZDo6bWFrZV91
bmlxdWU8RXdrU2V0dGluZ3M+KHRoaXMpKQotICAgICwgbV9jdXJzb3JJZGVudGlmaWVyKDApCisg
ICAgLCBtX3VzZUN1c3RvbUN1cnNvcihmYWxzZSkKICAgICAsIG1fdXNlckFnZW50KFdLRWluYVNo
YXJlZFN0cmluZyhBZG9wdFdLLCBXS1BhZ2VDb3B5VXNlckFnZW50KHdrUGFnZSgpKSkpCiAgICAg
LCBtX21vdXNlRXZlbnRzRW5hYmxlZChmYWxzZSkKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQpA
QCAtNDA4LDQxICs0MTcsMzcgQEAgV0tQYWdlUmVmIEV3a1ZpZXc6OndrUGFnZSgpIGNvbnN0CiAg
ICAgcmV0dXJuIFdLVmlld0dldFBhZ2Uod2tWaWV3KCkpOwogfQogCi12b2lkIEV3a1ZpZXc6OnNl
dEN1cnNvcihjb25zdCBDdXJzb3ImIGN1cnNvcikKK3ZvaWQgRXdrVmlldzo6dXBkYXRlQ3Vyc29y
KCkKIHsKLSAgICBpZiAoY3Vyc29yLmltYWdlKCkpIHsKLSAgICAgICAgLy8gQ3VzdG9tIGN1cnNv
ci4KLSAgICAgICAgaWYgKGN1cnNvci5pbWFnZSgpID09IG1fY3Vyc29ySWRlbnRpZmllcikKLSAg
ICAgICAgICAgIHJldHVybjsKKyAgICBFd2tfVmlld19TbWFydF9EYXRhKiBzZCA9IHNtYXJ0RGF0
YSgpOwogCi0gICAgICAgIG1fY3Vyc29ySWRlbnRpZmllciA9IGN1cnNvci5pbWFnZSgpOworICAg
IGlmIChtX3VzZUN1c3RvbUN1cnNvcikgeworICAgICAgICBJbWFnZSogY3Vyc29ySW1hZ2UgPSBz
dGF0aWNfY2FzdDxJbWFnZSo+KG1fY3Vyc29ySWRlbnRpZmllci5pbWFnZSk7CisgICAgICAgIGlm
ICghY3Vyc29ySW1hZ2UpCisgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgRXdrX1ZpZXdf
U21hcnRfRGF0YSogc2QgPSBzbWFydERhdGEoKTsKLSAgICAgICAgUmVmUHRyPEV2YXNfT2JqZWN0
PiBjdXJzb3JPYmplY3QgPSBhZG9wdFJlZihjdXJzb3IuaW1hZ2UoKS0+Z2V0RXZhc09iamVjdChz
ZC0+YmFzZS5ldmFzKSk7CisgICAgICAgIFJlZlB0cjxFdmFzX09iamVjdD4gY3Vyc29yT2JqZWN0
ID0gYWRvcHRSZWYoY3Vyc29ySW1hZ2UtPmdldEV2YXNPYmplY3Qoc2QtPmJhc2UuZXZhcykpOwog
ICAgICAgICBpZiAoIWN1cnNvck9iamVjdCkKICAgICAgICAgICAgIHJldHVybjsKIAorICAgICAg
ICBJbnRTaXplIGN1cnNvclNpemUgPSBjdXJzb3JJbWFnZS0+c2l6ZSgpOwogICAgICAgICAvLyBS
ZXNpemUgY3Vyc29yLgotICAgICAgICBldmFzX29iamVjdF9yZXNpemUoY3Vyc29yT2JqZWN0Lmdl
dCgpLCBjdXJzb3IuaW1hZ2UoKS0+c2l6ZSgpLndpZHRoKCksIGN1cnNvci5pbWFnZSgpLT5zaXpl
KCkuaGVpZ2h0KCkpOworICAgICAgICBldmFzX29iamVjdF9yZXNpemUoY3Vyc29yT2JqZWN0Lmdl
dCgpLCBjdXJzb3JTaXplLndpZHRoKCksIGN1cnNvclNpemUuaGVpZ2h0KCkpOwogCiAgICAgICAg
IC8vIEdldCBjdXJzb3IgaG90IHNwb3QuCiAgICAgICAgIEludFBvaW50IGhvdFNwb3Q7Ci0gICAg
ICAgIGN1cnNvci5pbWFnZSgpLT5nZXRIb3RTcG90KGhvdFNwb3QpOworICAgICAgICBjdXJzb3JJ
bWFnZS0+Z2V0SG90U3BvdChob3RTcG90KTsKIAogICAgICAgICBFY29yZV9FdmFzKiBlY29yZUV2
YXMgPSBlY29yZV9ldmFzX2Vjb3JlX2V2YXNfZ2V0KHNkLT5iYXNlLmV2YXMpOwogICAgICAgICAv
LyBlY29yZV9ldmFzIHRha2VzIGNhcmUgb2YgZnJlZWluZyB0aGUgY3Vyc29yIG9iamVjdC4KICAg
ICAgICAgZWNvcmVfZXZhc19vYmplY3RfY3Vyc29yX3NldChlY29yZUV2YXMsIGN1cnNvck9iamVj
dC5yZWxlYXNlKCkubGVha1JlZigpLCBFVkFTX0xBWUVSX01BWCwgaG90U3BvdC54KCksIGhvdFNw
b3QueSgpKTsKLQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgLy8gU3RhbmRhcmQgY3Vy
c29yLgotICAgIGNvbnN0IGNoYXIqIGdyb3VwID0gY3Vyc29yLnBsYXRmb3JtQ3Vyc29yKCk7Ci0g
ICAgaWYgKCFncm91cCB8fCBncm91cCA9PSBtX2N1cnNvcklkZW50aWZpZXIpCisgICAgY29uc3Qg
Y2hhciogZ3JvdXAgPSBzdGF0aWNfY2FzdDxjb25zdCBjaGFyKj4obV9jdXJzb3JJZGVudGlmaWVy
Lmdyb3VwKTsKKyAgICBpZiAoIWdyb3VwKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2N1cnNv
cklkZW50aWZpZXIgPSBncm91cDsKLSAgICBFd2tfVmlld19TbWFydF9EYXRhKiBzZCA9IHNtYXJ0
RGF0YSgpOwogICAgIFJlZlB0cjxFdmFzX09iamVjdD4gY3Vyc29yT2JqZWN0ID0gYWRvcHRSZWYo
ZWRqZV9vYmplY3RfYWRkKHNkLT5iYXNlLmV2YXMpKTsKIAogICAgIEVjb3JlX0V2YXMqIGVjb3Jl
RXZhcyA9IGVjb3JlX2V2YXNfZWNvcmVfZXZhc19nZXQoc2QtPmJhc2UuZXZhcyk7CkBAIC00ODIs
NiArNDg3LDI4IEBAIHZvaWQgRXdrVmlldzo6c2V0Q3Vyc29yKGNvbnN0IEN1cnNvciYgY3Vyc29y
KQogICAgIGVjb3JlX2V2YXNfb2JqZWN0X2N1cnNvcl9zZXQoZWNvcmVFdmFzLCBjdXJzb3JPYmpl
Y3QucmVsZWFzZSgpLmxlYWtSZWYoKSwgRVZBU19MQVlFUl9NQVgsIGhvdHNwb3RYLCBob3RzcG90
WSk7CiB9CiAKK3ZvaWQgRXdrVmlldzo6c2V0Q3Vyc29yKGNvbnN0IEN1cnNvciYgY3Vyc29yKQor
eworICAgIGlmIChjdXJzb3IuaW1hZ2UoKSkgeworICAgICAgICAvLyBDdXN0b20gY3Vyc29yLgor
ICAgICAgICBpZiAoY3Vyc29yLmltYWdlKCkgPT0gbV9jdXJzb3JJZGVudGlmaWVyLmltYWdlKQor
ICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIG1fY3Vyc29ySWRlbnRpZmllci5pbWFnZSA9
IGN1cnNvci5pbWFnZSgpOworICAgICAgICBtX3VzZUN1c3RvbUN1cnNvciA9IHRydWU7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgLy8gU3RhbmRhcmQgY3Vyc29yLgorICAgICAgICBjb25zdCBjaGFy
KiBncm91cCA9IGN1cnNvci5wbGF0Zm9ybUN1cnNvcigpOworICAgICAgICBpZiAoIWdyb3VwIHx8
IGdyb3VwID09IG1fY3Vyc29ySWRlbnRpZmllci5ncm91cCkKKyAgICAgICAgICAgIHJldHVybjsK
KworICAgICAgICBtX2N1cnNvcklkZW50aWZpZXIuZ3JvdXAgPSBncm91cDsKKyAgICAgICAgbV91
c2VDdXN0b21DdXJzb3IgPSBmYWxzZTsKKyAgICB9CisKKyAgICB1cGRhdGVDdXJzb3IoKTsKK30K
Kwogdm9pZCBFd2tWaWV3OjpzZXREZXZpY2VTY2FsZUZhY3RvcihmbG9hdCBzY2FsZSkKIHsKICAg
ICBjb25zdCBXS1NpemUmIGRldmljZVNpemUgPSBXS1ZpZXdHZXRTaXplKHdrVmlldygpKTsKQEAg
LTExMzQsNiArMTE2MSw3IEBAIHZvaWQgRXdrVmlldzo6aGFuZGxlRXZhc09iamVjdEFkZChFdmFz
X09iamVjdCogZXZhc09iamVjdCkKIAogICAgIEV3a1ZpZXdFdmVudEhhbmRsZXI8RVZBU19DQUxM
QkFDS19GT0NVU19JTj46OnN1YnNjcmliZShldmFzT2JqZWN0KTsKICAgICBFd2tWaWV3RXZlbnRI
YW5kbGVyPEVWQVNfQ0FMTEJBQ0tfRk9DVVNfT1VUPjo6c3Vic2NyaWJlKGV2YXNPYmplY3QpOwor
ICAgIEV3a1ZpZXdFdmVudEhhbmRsZXI8RVZBU19DQUxMQkFDS19NT1VTRV9JTj46OnN1YnNjcmli
ZShldmFzT2JqZWN0KTsKICAgICBFd2tWaWV3RXZlbnRIYW5kbGVyPEVWQVNfQ0FMTEJBQ0tfTU9V
U0VfV0hFRUw+OjpzdWJzY3JpYmUoZXZhc09iamVjdCk7CiAgICAgRXdrVmlld0V2ZW50SGFuZGxl
cjxFVkFTX0NBTExCQUNLX0tFWV9ET1dOPjo6c3Vic2NyaWJlKGV2YXNPYmplY3QpOwogICAgIEV3
a1ZpZXdFdmVudEhhbmRsZXI8RVZBU19DQUxMQkFDS19LRVlfVVA+OjpzdWJzY3JpYmUoZXZhc09i
amVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tW
aWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmgKaW5kZXgg
ODM3ZTY5ZWRhZTcwYjI4Y2FlZThiYTQyY2FhMDk5OWY5MDBkNzJjOC4uM2M4MzQxYWRiOTVjYWFh
ZTM2YzBmZDY3NGEzYmU3ODY0MjBiNmJhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL0V3a1ZpZXcuaApAQCAtNzYsNiArNzYsNyBAQCBjbGFzcyBBZmZpbmVUcmFuc2Zvcm07
CiBjbGFzcyBDb2xvcjsKIGNsYXNzIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTsKIGNsYXNzIEN1
cnNvcjsKK2NsYXNzIEltYWdlOwogY2xhc3MgSW50U2l6ZTsKIGNsYXNzIFRyYW5zZm9ybWF0aW9u
TWF0cml4OwogfQpAQCAtMTQzLDYgKzE0NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRvbmVXaXRo
VG91Y2hFdmVudChXS1RvdWNoRXZlbnRSZWYsIGJvb2wpOwogI2VuZGlmCiAKKyAgICB2b2lkIHVw
ZGF0ZUN1cnNvcigpOwogICAgIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IFdlYkNvcmU6OkN1cnNvciYg
Y3Vyc29yKTsKIAogICAgIHZvaWQgc2NoZWR1bGVVcGRhdGVEaXNwbGF5KCk7CkBAIC0yNjgsNyAr
MjcwLDE2IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPEV3a0JhY2tGb3J3YXJkTGlz
dD4gbV9iYWNrRm9yd2FyZExpc3Q7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEV3a1NldHRpbmdzPiBt
X3NldHRpbmdzOwogICAgIFJlZlB0cjxFd2tXaW5kb3dGZWF0dXJlcz4gbV93aW5kb3dGZWF0dXJl
czsKLSAgICBjb25zdCB2b2lkKiBtX2N1cnNvcklkZW50aWZpZXI7IC8vIFRoaXMgaXMgYW4gYWRk
cmVzcywgZG8gbm90IGZyZWUgaXQuCisgICAgdW5pb24gQ3Vyc29ySWRlbnRpZmllciB7CisgICAg
ICAgIEN1cnNvcklkZW50aWZpZXIoKQorICAgICAgICAgICAgOiBpbWFnZShudWxscHRyKQorICAg
ICAgICB7CisgICAgICAgIH0KKyAgICAgICAgV2ViQ29yZTo6SW1hZ2UqIGltYWdlOworICAgICAg
ICBjb25zdCBjaGFyKiBncm91cDsKKyAgICB9IG1fY3Vyc29ySWRlbnRpZmllcjsgLy8gVGhpcyBp
cyBhbiBhZGRyZXNzLCBkbyBub3QgZnJlZSBpdC4KKyAgICBib29sIG1fdXNlQ3VzdG9tQ3Vyc29y
OworCiAgICAgV0tFaW5hU2hhcmVkU3RyaW5nIG1fdXJsOwogICAgIG11dGFibGUgV0tFaW5hU2hh
cmVkU3RyaW5nIG1fdGl0bGU7CiAgICAgV0tFaW5hU2hhcmVkU3RyaW5nIG1fdGhlbWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226899</attachid>
            <date>2014-03-17 03:12:46 -0700</date>
            <delta_ts>2014-03-17 05:41:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130182-20140317191223.patch</filename>
            <type>text/plain</type>
            <size>7318</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1NzI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggN2YzMjAxZTM5ODgwOTA0
OGVmOGJiNDA2M2JiODYxOTZjMzM3NzYwMC4uYWJkN2ZhYWI4ZDVmNTkyZTZmNTE0YzczMWNjNjcw
YTUwMzE5MGUyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTAzLTE3ICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFJl
c3RvcmUgY3Vyc29yIHdoZW4gbW92aW5nIG1vdXNlIGludG8gd2VidmlldworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwMTgyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgY2hhbmdlZCBtb3VzZSBjdXJz
b3Igd2hlbiB0aGUgdHlwZSBvZiBjdXJzb3IgaXMgY2hhbmdlZC4KKyAgICAgICAgQnV0IG9uY2Ug
bW91c2UgaXMgbW92ZWQgb3V0IG9mIHdlYnZpZXcsIGV3ZWJraXQgd2lsbCBub3Qga25vdyB3aGV0
aGVyIGN1cnNvcgorICAgICAgICBpcyBjaGFuZ2VkIG9yIG5vdC4KKworICAgICAgICBTbywgdGhp
cyBwYXRjaCBhZGRlZCBhIGxvZ2ljIHRvIHJlc3RvcmUgdGhlIGxhc3QgYXBwbGllZCB0eXBlIG9m
IGN1cnNvciB3aGVuCisgICAgICAgIG1vdXNlIGlzIG1vdmVkIGludG8gd2VidmlldyBhZ2Fpbi4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwOgorICAgICAgICAoRXdr
Vmlld0V2ZW50SGFuZGxlcjxFVkFTX0NBTExCQUNLX01PVVNFX0lOPjo6aGFuZGxlRXZlbnQpOgor
ICAgICAgICBDYWxsIHVwZGF0ZUN1cnNvciB0byByZXN0b3JlIHRoZSBsYXN0IGFwcGxpZWQgdHlw
ZSBvZiBjdXJzb3IuCisgICAgICAgIChFd2tWaWV3OjpFd2tWaWV3KToKKyAgICAgICAgKEV3a1Zp
ZXc6OnVwZGF0ZUN1cnNvcik6IEV4dHJhY3RlZCBmcm9tIHNldEN1cnNvci4KKyAgICAgICAgKEV3
a1ZpZXc6OnNldEN1cnNvcik6CisgICAgICAgIChFd2tWaWV3OjpoYW5kbGVFdmFzT2JqZWN0QWRk
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3Lmg6CisKIDIwMTQtMDMtMTYg
IFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdW1dL
Ml0gQWRkIGV3a19hcHBsaWNhdGlvbl9jYWNoZV9tYW5hZ2VyIEFQSXMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKaW5kZXggMjc3ZjZhYWJkMjFhY2FkYzA4
YjRiMDcyNWMwZTkyNjQ1YzdlNGI2ZS4uNDkyMjBiNGUwY2JkNzI5ZWE5NTUwODdhNzhjMzc2NTA3
NWE0MTZhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdr
Vmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5j
cHAKQEAgLTIxOCw2ICsyMTgsMTUgQEAgdm9pZCBFd2tWaWV3RXZlbnRIYW5kbGVyPEVWQVNfQ0FM
TEJBQ0tfTU9VU0VfV0hFRUw+OjpoYW5kbGVFdmVudCh2b2lkKiBkYXRhLCBFdmEKIH0KIAogdGVt
cGxhdGUgPD4KK3ZvaWQgRXdrVmlld0V2ZW50SGFuZGxlcjxFVkFTX0NBTExCQUNLX01PVVNFX0lO
Pjo6aGFuZGxlRXZlbnQodm9pZCogZGF0YSwgRXZhcyosIEV2YXNfT2JqZWN0Kiwgdm9pZCopCit7
CisgICAgRXdrX1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhID0gc3RhdGljX2Nhc3Q8RXdrX1Zp
ZXdfU21hcnRfRGF0YSo+KGRhdGEpOworICAgIEV3a1ZpZXcqIHNlbGYgPSB0b0V3a1ZpZXcoc21h
cnREYXRhKTsKKworICAgIHNlbGYtPnVwZGF0ZUN1cnNvcigpOworfQorCit0ZW1wbGF0ZSA8Pgog
dm9pZCBFd2tWaWV3RXZlbnRIYW5kbGVyPEVWQVNfQ0FMTEJBQ0tfS0VZX0RPV04+OjpoYW5kbGVF
dmVudCh2b2lkKiBkYXRhLCBFdmFzKiwgRXZhc19PYmplY3QqLCB2b2lkKiBldmVudEluZm8pCiB7
CiAgICAgRXdrX1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhID0gc3RhdGljX2Nhc3Q8RXdrX1Zp
ZXdfU21hcnRfRGF0YSo+KGRhdGEpOwpAQCAtMjc0LDcgKzI4Myw3IEBAIEV3a1ZpZXc6OkV3a1Zp
ZXcoV0tWaWV3UmVmIHZpZXcsIEV2YXNfT2JqZWN0KiBldmFzT2JqZWN0KQogI2VuZGlmCiAgICAg
LCBtX2JhY2tGb3J3YXJkTGlzdChzdGQ6Om1ha2VfdW5pcXVlPEV3a0JhY2tGb3J3YXJkTGlzdD4o
V0tQYWdlR2V0QmFja0ZvcndhcmRMaXN0KHdrUGFnZSgpKSkpCiAgICAgLCBtX3NldHRpbmdzKHN0
ZDo6bWFrZV91bmlxdWU8RXdrU2V0dGluZ3M+KHRoaXMpKQotICAgICwgbV9jdXJzb3JJZGVudGlm
aWVyKDApCisgICAgLCBtX3VzZUN1c3RvbUN1cnNvcihmYWxzZSkKICAgICAsIG1fdXNlckFnZW50
KFdLRWluYVNoYXJlZFN0cmluZyhBZG9wdFdLLCBXS1BhZ2VDb3B5VXNlckFnZW50KHdrUGFnZSgp
KSkpCiAgICAgLCBtX21vdXNlRXZlbnRzRW5hYmxlZChmYWxzZSkKICNpZiBFTkFCTEUoVE9VQ0hf
RVZFTlRTKQpAQCAtNDA4LDQxICs0MTcsMzcgQEAgV0tQYWdlUmVmIEV3a1ZpZXc6OndrUGFnZSgp
IGNvbnN0CiAgICAgcmV0dXJuIFdLVmlld0dldFBhZ2Uod2tWaWV3KCkpOwogfQogCi12b2lkIEV3
a1ZpZXc6OnNldEN1cnNvcihjb25zdCBDdXJzb3ImIGN1cnNvcikKK3ZvaWQgRXdrVmlldzo6dXBk
YXRlQ3Vyc29yKCkKIHsKLSAgICBpZiAoY3Vyc29yLmltYWdlKCkpIHsKLSAgICAgICAgLy8gQ3Vz
dG9tIGN1cnNvci4KLSAgICAgICAgaWYgKGN1cnNvci5pbWFnZSgpID09IG1fY3Vyc29ySWRlbnRp
ZmllcikKLSAgICAgICAgICAgIHJldHVybjsKKyAgICBFd2tfVmlld19TbWFydF9EYXRhKiBzZCA9
IHNtYXJ0RGF0YSgpOwogCi0gICAgICAgIG1fY3Vyc29ySWRlbnRpZmllciA9IGN1cnNvci5pbWFn
ZSgpOworICAgIGlmIChtX3VzZUN1c3RvbUN1cnNvcikgeworICAgICAgICBJbWFnZSogY3Vyc29y
SW1hZ2UgPSBzdGF0aWNfY2FzdDxJbWFnZSo+KG1fY3Vyc29ySWRlbnRpZmllci5pbWFnZSk7Cisg
ICAgICAgIGlmICghY3Vyc29ySW1hZ2UpCisgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAg
RXdrX1ZpZXdfU21hcnRfRGF0YSogc2QgPSBzbWFydERhdGEoKTsKLSAgICAgICAgUmVmUHRyPEV2
YXNfT2JqZWN0PiBjdXJzb3JPYmplY3QgPSBhZG9wdFJlZihjdXJzb3IuaW1hZ2UoKS0+Z2V0RXZh
c09iamVjdChzZC0+YmFzZS5ldmFzKSk7CisgICAgICAgIFJlZlB0cjxFdmFzX09iamVjdD4gY3Vy
c29yT2JqZWN0ID0gYWRvcHRSZWYoY3Vyc29ySW1hZ2UtPmdldEV2YXNPYmplY3Qoc2QtPmJhc2Uu
ZXZhcykpOwogICAgICAgICBpZiAoIWN1cnNvck9iamVjdCkKICAgICAgICAgICAgIHJldHVybjsK
IAorICAgICAgICBJbnRTaXplIGN1cnNvclNpemUgPSBjdXJzb3JJbWFnZS0+c2l6ZSgpOwogICAg
ICAgICAvLyBSZXNpemUgY3Vyc29yLgotICAgICAgICBldmFzX29iamVjdF9yZXNpemUoY3Vyc29y
T2JqZWN0LmdldCgpLCBjdXJzb3IuaW1hZ2UoKS0+c2l6ZSgpLndpZHRoKCksIGN1cnNvci5pbWFn
ZSgpLT5zaXplKCkuaGVpZ2h0KCkpOworICAgICAgICBldmFzX29iamVjdF9yZXNpemUoY3Vyc29y
T2JqZWN0LmdldCgpLCBjdXJzb3JTaXplLndpZHRoKCksIGN1cnNvclNpemUuaGVpZ2h0KCkpOwog
CiAgICAgICAgIC8vIEdldCBjdXJzb3IgaG90IHNwb3QuCiAgICAgICAgIEludFBvaW50IGhvdFNw
b3Q7Ci0gICAgICAgIGN1cnNvci5pbWFnZSgpLT5nZXRIb3RTcG90KGhvdFNwb3QpOworICAgICAg
ICBjdXJzb3JJbWFnZS0+Z2V0SG90U3BvdChob3RTcG90KTsKIAogICAgICAgICBFY29yZV9FdmFz
KiBlY29yZUV2YXMgPSBlY29yZV9ldmFzX2Vjb3JlX2V2YXNfZ2V0KHNkLT5iYXNlLmV2YXMpOwog
ICAgICAgICAvLyBlY29yZV9ldmFzIHRha2VzIGNhcmUgb2YgZnJlZWluZyB0aGUgY3Vyc29yIG9i
amVjdC4KICAgICAgICAgZWNvcmVfZXZhc19vYmplY3RfY3Vyc29yX3NldChlY29yZUV2YXMsIGN1
cnNvck9iamVjdC5yZWxlYXNlKCkubGVha1JlZigpLCBFVkFTX0xBWUVSX01BWCwgaG90U3BvdC54
KCksIGhvdFNwb3QueSgpKTsKLQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgLy8gU3Rh
bmRhcmQgY3Vyc29yLgotICAgIGNvbnN0IGNoYXIqIGdyb3VwID0gY3Vyc29yLnBsYXRmb3JtQ3Vy
c29yKCk7Ci0gICAgaWYgKCFncm91cCB8fCBncm91cCA9PSBtX2N1cnNvcklkZW50aWZpZXIpCisg
ICAgY29uc3QgY2hhciogZ3JvdXAgPSBzdGF0aWNfY2FzdDxjb25zdCBjaGFyKj4obV9jdXJzb3JJ
ZGVudGlmaWVyLmdyb3VwKTsKKyAgICBpZiAoIWdyb3VwKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBtX2N1cnNvcklkZW50aWZpZXIgPSBncm91cDsKLSAgICBFd2tfVmlld19TbWFydF9EYXRhKiBz
ZCA9IHNtYXJ0RGF0YSgpOwogICAgIFJlZlB0cjxFdmFzX09iamVjdD4gY3Vyc29yT2JqZWN0ID0g
YWRvcHRSZWYoZWRqZV9vYmplY3RfYWRkKHNkLT5iYXNlLmV2YXMpKTsKIAogICAgIEVjb3JlX0V2
YXMqIGVjb3JlRXZhcyA9IGVjb3JlX2V2YXNfZWNvcmVfZXZhc19nZXQoc2QtPmJhc2UuZXZhcyk7
CkBAIC00ODIsNiArNDg3LDI4IEBAIHZvaWQgRXdrVmlldzo6c2V0Q3Vyc29yKGNvbnN0IEN1cnNv
ciYgY3Vyc29yKQogICAgIGVjb3JlX2V2YXNfb2JqZWN0X2N1cnNvcl9zZXQoZWNvcmVFdmFzLCBj
dXJzb3JPYmplY3QucmVsZWFzZSgpLmxlYWtSZWYoKSwgRVZBU19MQVlFUl9NQVgsIGhvdHNwb3RY
LCBob3RzcG90WSk7CiB9CiAKK3ZvaWQgRXdrVmlldzo6c2V0Q3Vyc29yKGNvbnN0IEN1cnNvciYg
Y3Vyc29yKQoreworICAgIGlmIChjdXJzb3IuaW1hZ2UoKSkgeworICAgICAgICAvLyBDdXN0b20g
Y3Vyc29yLgorICAgICAgICBpZiAoY3Vyc29yLmltYWdlKCkgPT0gbV9jdXJzb3JJZGVudGlmaWVy
LmltYWdlKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIG1fY3Vyc29ySWRlbnRpZmll
ci5pbWFnZSA9IGN1cnNvci5pbWFnZSgpOworICAgICAgICBtX3VzZUN1c3RvbUN1cnNvciA9IHRy
dWU7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gU3RhbmRhcmQgY3Vyc29yLgorICAgICAgICBj
b25zdCBjaGFyKiBncm91cCA9IGN1cnNvci5wbGF0Zm9ybUN1cnNvcigpOworICAgICAgICBpZiAo
IWdyb3VwIHx8IGdyb3VwID09IG1fY3Vyc29ySWRlbnRpZmllci5ncm91cCkKKyAgICAgICAgICAg
IHJldHVybjsKKworICAgICAgICBtX2N1cnNvcklkZW50aWZpZXIuZ3JvdXAgPSBncm91cDsKKyAg
ICAgICAgbV91c2VDdXN0b21DdXJzb3IgPSBmYWxzZTsKKyAgICB9CisKKyAgICB1cGRhdGVDdXJz
b3IoKTsKK30KKwogdm9pZCBFd2tWaWV3OjpzZXREZXZpY2VTY2FsZUZhY3RvcihmbG9hdCBzY2Fs
ZSkKIHsKICAgICBjb25zdCBXS1NpemUmIGRldmljZVNpemUgPSBXS1ZpZXdHZXRTaXplKHdrVmll
dygpKTsKQEAgLTExMzQsNiArMTE2MSw3IEBAIHZvaWQgRXdrVmlldzo6aGFuZGxlRXZhc09iamVj
dEFkZChFdmFzX09iamVjdCogZXZhc09iamVjdCkKIAogICAgIEV3a1ZpZXdFdmVudEhhbmRsZXI8
RVZBU19DQUxMQkFDS19GT0NVU19JTj46OnN1YnNjcmliZShldmFzT2JqZWN0KTsKICAgICBFd2tW
aWV3RXZlbnRIYW5kbGVyPEVWQVNfQ0FMTEJBQ0tfRk9DVVNfT1VUPjo6c3Vic2NyaWJlKGV2YXNP
YmplY3QpOworICAgIEV3a1ZpZXdFdmVudEhhbmRsZXI8RVZBU19DQUxMQkFDS19NT1VTRV9JTj46
OnN1YnNjcmliZShldmFzT2JqZWN0KTsKICAgICBFd2tWaWV3RXZlbnRIYW5kbGVyPEVWQVNfQ0FM
TEJBQ0tfTU9VU0VfV0hFRUw+OjpzdWJzY3JpYmUoZXZhc09iamVjdCk7CiAgICAgRXdrVmlld0V2
ZW50SGFuZGxlcjxFVkFTX0NBTExCQUNLX0tFWV9ET1dOPjo6c3Vic2NyaWJlKGV2YXNPYmplY3Qp
OwogICAgIEV3a1ZpZXdFdmVudEhhbmRsZXI8RVZBU19DQUxMQkFDS19LRVlfVVA+OjpzdWJzY3Jp
YmUoZXZhc09iamVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9Fd2tWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3
LmgKaW5kZXggODM3ZTY5ZWRhZTcwYjI4Y2FlZThiYTQyY2FhMDk5OWY5MDBkNzJjOC4uMDkxZGNm
NjljNTZlMjAzNDJhMzM4NTliOWNhMDkwMDlkZTY2YWNkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaApAQCAtNzYsNiArNzYsNyBAQCBjbGFzcyBBZmZpbmVU
cmFuc2Zvcm07CiBjbGFzcyBDb2xvcjsKIGNsYXNzIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTsK
IGNsYXNzIEN1cnNvcjsKK2NsYXNzIEltYWdlOwogY2xhc3MgSW50U2l6ZTsKIGNsYXNzIFRyYW5z
Zm9ybWF0aW9uTWF0cml4OwogfQpAQCAtMTQzLDYgKzE0NCw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IGRvbmVXaXRoVG91Y2hFdmVudChXS1RvdWNoRXZlbnRSZWYsIGJvb2wpOwogI2VuZGlmCiAKKyAg
ICB2b2lkIHVwZGF0ZUN1cnNvcigpOwogICAgIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IFdlYkNvcmU6
OkN1cnNvciYgY3Vyc29yKTsKIAogICAgIHZvaWQgc2NoZWR1bGVVcGRhdGVEaXNwbGF5KCk7CkBA
IC0yNjgsNyArMjcwLDE2IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPEV3a0JhY2tG
b3J3YXJkTGlzdD4gbV9iYWNrRm9yd2FyZExpc3Q7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEV3a1Nl
dHRpbmdzPiBtX3NldHRpbmdzOwogICAgIFJlZlB0cjxFd2tXaW5kb3dGZWF0dXJlcz4gbV93aW5k
b3dGZWF0dXJlczsKLSAgICBjb25zdCB2b2lkKiBtX2N1cnNvcklkZW50aWZpZXI7IC8vIFRoaXMg
aXMgYW4gYWRkcmVzcywgZG8gbm90IGZyZWUgaXQuCisgICAgdW5pb24gQ3Vyc29ySWRlbnRpZmll
ciB7CisgICAgICAgIEN1cnNvcklkZW50aWZpZXIoKQorICAgICAgICAgICAgOiBpbWFnZShudWxs
cHRyKQorICAgICAgICB7CisgICAgICAgIH0KKyAgICAgICAgV2ViQ29yZTo6SW1hZ2UqIGltYWdl
OworICAgICAgICBjb25zdCBjaGFyKiBncm91cDsKKyAgICB9IG1fY3Vyc29ySWRlbnRpZmllcjsK
KyAgICBib29sIG1fdXNlQ3VzdG9tQ3Vyc29yOworCiAgICAgV0tFaW5hU2hhcmVkU3RyaW5nIG1f
dXJsOwogICAgIG11dGFibGUgV0tFaW5hU2hhcmVkU3RyaW5nIG1fdGl0bGU7CiAgICAgV0tFaW5h
U2hhcmVkU3RyaW5nIG1fdGhlbWU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>