<?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>122230</bug_id>
          
          <creation_ts>2013-10-02 13:07:30 -0700</creation_ts>
          <short_desc>Reduce duplicated code in WebPageProxy</short_desc>
          <delta_ts>2013-10-07 16:00:13 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gustavo Noronha (kov)">gustavo</reporter>
          <assigned_to name="Gustavo Noronha (kov)">gustavo</assigned_to>
          <cc>andersca</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>935505</commentid>
    <comment_count>0</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-10-02 13:07:30 -0700</bug_when>
    <thetext>Reduce duplicated code in WebPageProxy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935506</commentid>
    <comment_count>1</comment_count>
      <attachid>213188</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-10-02 13:09:40 -0700</bug_when>
    <thetext>Created attachment 213188
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935648</commentid>
    <comment_count>2</comment_count>
      <attachid>213188</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-02 20:53:56 -0700</bug_when>
    <thetext>Comment on attachment 213188
Patch

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

Patch seems like a good idea, but there is at least one small error, and a few questions.

Not sure that “reset state” is a great name for this new function, kind of vague, but I can’t quickly think of a better one.

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:-555
&gt; -    if (m_inspector) {

The code in resetState does not do this null check. What guarantees this won’t be null?

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:-562
&gt; -    if (m_fullScreenManager) {

The code in resetState does not do this null check. What guarantees this won’t be null?

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:-605
&gt; -    invalidateCallbackMap(m_imageCallbacks);

This line of code was lost. I don’t see it in resetState.

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:-618
&gt; -    Vector&lt;WebEditCommandProxy*&gt; editCommandVector;
&gt; -    copyToVector(m_editCommandSet, editCommandVector);
&gt; -    m_editCommandSet.clear();
&gt; -    for (size_t i = 0, size = editCommandVector.size(); i &lt; size; ++i)
&gt; -        editCommandVector[i]-&gt;invalidate();

The resetState function calls m_pageClient-&gt;clearAllEditCommands(), but this code did not. Why is that change in behavior OK?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935777</commentid>
    <comment_count>3</comment_count>
      <attachid>213247</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-10-03 08:17:53 -0700</bug_when>
    <thetext>Created attachment 213247
Patch

Thanks for the review! I&apos;m not too fond of the resetState name myself, but couldn&apos;t think of anything better. All of your other comments were mistakes on my part, all fixed with this update.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937259</commentid>
    <comment_count>4</comment_count>
      <attachid>213247</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-10-07 16:00:07 -0700</bug_when>
    <thetext>Comment on attachment 213247
Patch

Clearing flags on attachment: 213247

Committed r157064: &lt;http://trac.webkit.org/changeset/157064&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937260</commentid>
    <comment_count>5</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-10-07 16:00:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213188</attachid>
            <date>2013-10-02 13:09:40 -0700</date>
            <delta_ts>2013-10-03 08:17:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122230-20131002170938.patch</filename>
            <type>text/plain</type>
            <size>6008</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2Njg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZThmNzZiZjY3MjBiMTZi
YmFiYjVmYjZlNjNjYjFjZWVhN2U0Njg2OC4uZmYyYWNlNWJiNTkxZGMwZTMzZThlMzYzNTIwNTc5
YzliODE1YzNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTEwLTAyICBHdXN0
YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZvLm5vcm9uaGFAY29sbGFib3JhLmNvLnVrPgorCisg
ICAgICAgIFJlZHVjZSBkdXBsaWNhdGVkIGNvZGUgaW4gV2ViUGFnZVByb3h5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjIyMzAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNsb3NlKTogbW92ZSBk
dXBsaWNhdGUgY29kZSB0byByZXNldFN0YXRlIGFuZCBjYWxsIGl0LgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6OnJlc2V0U3RhdGUpOiBuZXcgcHJpdmF0ZSBtZXRob2QgZm9yIGNvZGUg
dGhhdCBpcyBzaGFyZWQgYmV0d2VlbgorICAgICAgICBjbG9zZSBhbmQgcmVzZXRTdGF0ZUFmdGVy
UHJvY2Vzc0V4aXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXNldFN0YXRl
QWZ0ZXJQcm9jZXNzRXhpdGVkKTogbW92ZSBkdXBsaWNhdGUgY29kZSB0byByZXNldFN0YXRlCisg
ICAgICAgIGFuZCBjYWxsIGl0LgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoK
KwogMjAxMy0wOS0zMCAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUmVtb3ZlIHRoZSBjb2RlIGd1YXJkZWQgYnkgU1RZTEVfU0NPUEVECmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGIwNjYyZWRkMjRiNDQwMmU3
YjExMWRjMTJjNTMwNGZiOGY2ZDRlNTIuLjgyMGE5MDY3NTFmZTUwZjU0Zjk4ZWJhYmU3YWU4N2Q3
NTc1ZjU4YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBA
IC01NDksNzcgKzU0OSw4IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpjbG9zZSgpCiAgICAgbV9wYWdl
Q2xpZW50LT5wYWdlQ2xvc2VkKCk7CiAKICAgICBtX3Byb2Nlc3MtPmRpc2Nvbm5lY3RGcmFtZXNG
cm9tUGFnZSh0aGlzKTsKLSAgICBtX21haW5GcmFtZSA9IDA7CiAKLSNpZiBFTkFCTEUoSU5TUEVD
VE9SKQotICAgIGlmIChtX2luc3BlY3RvcikgewotICAgICAgICBtX2luc3BlY3Rvci0+aW52YWxp
ZGF0ZSgpOwotICAgICAgICBtX2luc3BlY3RvciA9IDA7Ci0gICAgfQotI2VuZGlmCi0KLSNpZiBF
TkFCTEUoRlVMTFNDUkVFTl9BUEkpCi0gICAgaWYgKG1fZnVsbFNjcmVlbk1hbmFnZXIpIHsKLSAg
ICAgICAgbV9mdWxsU2NyZWVuTWFuYWdlci0+aW52YWxpZGF0ZSgpOwotICAgICAgICBtX2Z1bGxT
Y3JlZW5NYW5hZ2VyID0gMDsKLSAgICB9Ci0jZW5kaWYKLQotI2lmIEVOQUJMRShWSUJSQVRJT04p
Ci0gICAgbV92aWJyYXRpb24tPmludmFsaWRhdGUoKTsKLSNlbmRpZgotCi0gICAgaWYgKG1fb3Bl
blBhbmVsUmVzdWx0TGlzdGVuZXIpIHsKLSAgICAgICAgbV9vcGVuUGFuZWxSZXN1bHRMaXN0ZW5l
ci0+aW52YWxpZGF0ZSgpOwotICAgICAgICBtX29wZW5QYW5lbFJlc3VsdExpc3RlbmVyID0gMDsK
LSAgICB9Ci0KLSNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKLSAgICBpZiAobV9jb2xvclBp
Y2tlcikgewotICAgICAgICBtX2NvbG9yUGlja2VyLT5pbnZhbGlkYXRlKCk7Ci0gICAgICAgIG1f
Y29sb3JQaWNrZXIgPSBudWxscHRyOwotICAgIH0KLSNlbmRpZgotCi0jaWYgRU5BQkxFKEdFT0xP
Q0FUSU9OKQotICAgIG1fZ2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaW52YWxp
ZGF0ZVJlcXVlc3RzKCk7Ci0jZW5kaWYKLQotICAgIG1fbm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyLmludmFsaWRhdGVSZXF1ZXN0cygpOwotICAgIG1fcHJvY2Vzcy0+Y29udGV4
dCgpLT5zdXBwbGVtZW50PFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eT4oKS0+Y2xlYXJOb3Rp
ZmljYXRpb25zKHRoaXMpOwotCi0gICAgbV90b29sVGlwID0gU3RyaW5nKCk7Ci0KLSAgICBtX21h
aW5GcmFtZUhhc0hvcml6b250YWxTY3JvbGxiYXIgPSBmYWxzZTsKLSAgICBtX21haW5GcmFtZUhh
c1ZlcnRpY2FsU2Nyb2xsYmFyID0gZmFsc2U7Ci0KLSAgICBtX21haW5GcmFtZUlzUGlubmVkVG9M
ZWZ0U2lkZSA9IGZhbHNlOwotICAgIG1fbWFpbkZyYW1lSXNQaW5uZWRUb1JpZ2h0U2lkZSA9IGZh
bHNlOwotICAgIG1fbWFpbkZyYW1lSXNQaW5uZWRUb1RvcFNpZGUgPSBmYWxzZTsKLSAgICBtX21h
aW5GcmFtZUlzUGlubmVkVG9Cb3R0b21TaWRlID0gZmFsc2U7Ci0KLSAgICBtX3Zpc2libGVTY3Jv
bGxlclRodW1iUmVjdCA9IEludFJlY3QoKTsKLQotICAgIGludmFsaWRhdGVDYWxsYmFja01hcCht
X3ZvaWRDYWxsYmFja3MpOwotICAgIGludmFsaWRhdGVDYWxsYmFja01hcChtX2RhdGFDYWxsYmFj
a3MpOwotICAgIGludmFsaWRhdGVDYWxsYmFja01hcChtX2ltYWdlQ2FsbGJhY2tzKTsKLSAgICBp
bnZhbGlkYXRlQ2FsbGJhY2tNYXAobV9zdHJpbmdDYWxsYmFja3MpOwotICAgIG1fbG9hZERlcGVu
ZGVudFN0cmluZ0NhbGxiYWNrSURzLmNsZWFyKCk7Ci0gICAgaW52YWxpZGF0ZUNhbGxiYWNrTWFw
KG1fc2NyaXB0VmFsdWVDYWxsYmFja3MpOwotICAgIGludmFsaWRhdGVDYWxsYmFja01hcChtX2Nv
bXB1dGVkUGFnZXNDYWxsYmFja3MpOwotI2lmIFBMQVRGT1JNKEdUSykKLSAgICBpbnZhbGlkYXRl
Q2FsbGJhY2tNYXAobV9wcmludEZpbmlzaGVkQ2FsbGJhY2tzKTsKLSNlbmRpZgotCi0gICAgVmVj
dG9yPFdlYkVkaXRDb21tYW5kUHJveHkqPiBlZGl0Q29tbWFuZFZlY3RvcjsKLSAgICBjb3B5VG9W
ZWN0b3IobV9lZGl0Q29tbWFuZFNldCwgZWRpdENvbW1hbmRWZWN0b3IpOwotICAgIG1fZWRpdENv
bW1hbmRTZXQuY2xlYXIoKTsKLSAgICBmb3IgKHNpemVfdCBpID0gMCwgc2l6ZSA9IGVkaXRDb21t
YW5kVmVjdG9yLnNpemUoKTsgaSA8IHNpemU7ICsraSkKLSAgICAgICAgZWRpdENvbW1hbmRWZWN0
b3JbaV0tPmludmFsaWRhdGUoKTsKLQotICAgIG1fYWN0aXZlUG9wdXBNZW51ID0gMDsKLQotICAg
IG1fZXN0aW1hdGVkUHJvZ3Jlc3MgPSAwLjA7CisgICAgcmVzZXRTdGF0ZSgpOwogCiAgICAgbV9s
b2FkZXJDbGllbnQuaW5pdGlhbGl6ZSgwKTsKICAgICBtX3BvbGljeUNsaWVudC5pbml0aWFsaXpl
KDApOwpAQCAtNjM0LDggKzU2NSw2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpjbG9zZSgpCiAgICAg
bV9jb250ZXh0TWVudUNsaWVudC5pbml0aWFsaXplKDApOwogI2VuZGlmCiAKLSAgICBtX2RyYXdp
bmdBcmVhID0gbnVsbHB0cjsKLQogI2lmIFBMQVRGT1JNKE1BQykKICAgICBtX2V4cG9zZWRSZWN0
Q2hhbmdlZFRpbWVyLnN0b3AoKTsKICNlbmRpZgpAQCAtNjQ0LDYgKzU3Myw3IEBAIHZvaWQgV2Vi
UGFnZVByb3h5OjpjbG9zZSgpCiAgICAgbV9wcm9jZXNzLT5yZW1vdmVXZWJQYWdlKG1fcGFnZUlE
KTsKICAgICBtX3Byb2Nlc3MtPnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViUGFn
ZVByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fcGFnZUlEKTsKICAgICBtX3Byb2Nlc3Mt
PmNvbnRleHQoKS0+c3RvcmFnZU1hbmFnZXIoKS5kZXN0cm95U2Vzc2lvblN0b3JhZ2VOYW1lc3Bh
Y2UobV9wYWdlSUQpOworICAgIG1fcHJvY2Vzcy0+Y29udGV4dCgpLT5zdXBwbGVtZW50PFdlYk5v
dGlmaWNhdGlvbk1hbmFnZXJQcm94eT4oKS0+Y2xlYXJOb3RpZmljYXRpb25zKHRoaXMpOwogfQog
CiBib29sIFdlYlBhZ2VQcm94eTo6dHJ5Q2xvc2UoKQpAQCAtMzc4NiwyMyArMzcxNiw4IEBAIHZv
aWQgV2ViUGFnZVByb3h5Ojpwcm9jZXNzRGlkQ3Jhc2goKQogICAgIG1fbG9hZGVyQ2xpZW50LnBy
b2Nlc3NEaWRDcmFzaCh0aGlzKTsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OnJlc2V0U3RhdGVB
ZnRlclByb2Nlc3NFeGl0ZWQoKQordm9pZCBXZWJQYWdlUHJveHk6OnJlc2V0U3RhdGUoKQogewot
ICAgIGlmICghaXNWYWxpZCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBBU1NFUlQobV9wYWdl
Q2xpZW50KTsKLSAgICBtX3Byb2Nlc3MtPnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6
V2ViUGFnZVByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fcGFnZUlEKTsKLQotICAgIG1f
aXNWYWxpZCA9IGZhbHNlOwotICAgIG1faXNQYWdlU3VzcGVuZGVkID0gZmFsc2U7Ci0gICAgbV93
YWl0aW5nRm9yRGlkVXBkYXRlSW5XaW5kb3dTdGF0ZSA9IGZhbHNlOwotCi0gICAgaWYgKG1fbWFp
bkZyYW1lKSB7Ci0gICAgICAgIG1fdXJsQXRQcm9jZXNzRXhpdCA9IG1fbWFpbkZyYW1lLT51cmwo
KTsKLSAgICAgICAgbV9sb2FkU3RhdGVBdFByb2Nlc3NFeGl0ID0gbV9tYWluRnJhbWUtPmxvYWRT
dGF0ZSgpOwotICAgIH0KLQogICAgIG1fbWFpbkZyYW1lID0gbnVsbHB0cjsKICAgICBtX2RyYXdp
bmdBcmVhID0gbnVsbHB0cjsKIApAQCAtMzg3MSw2ICszNzg2LDI2IEBAIHZvaWQgV2ViUGFnZVBy
b3h5OjpyZXNldFN0YXRlQWZ0ZXJQcm9jZXNzRXhpdGVkKCkKICAgICBtX2FjdGl2ZVBvcHVwTWVu
dSA9IDA7CiAKICAgICBtX2VzdGltYXRlZFByb2dyZXNzID0gMC4wOworfQorCit2b2lkIFdlYlBh
Z2VQcm94eTo6cmVzZXRTdGF0ZUFmdGVyUHJvY2Vzc0V4aXRlZCgpCit7CisgICAgaWYgKCFpc1Zh
bGlkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIEFTU0VSVChtX3BhZ2VDbGllbnQpOworICAg
IG1fcHJvY2Vzcy0+cmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6
Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9wYWdlSUQpOworCisgICAgbV9pc1ZhbGlkID0gZmFs
c2U7CisgICAgbV9pc1BhZ2VTdXNwZW5kZWQgPSBmYWxzZTsKKyAgICBtX3dhaXRpbmdGb3JEaWRV
cGRhdGVJbldpbmRvd1N0YXRlID0gZmFsc2U7CisKKyAgICBpZiAobV9tYWluRnJhbWUpIHsKKyAg
ICAgICAgbV91cmxBdFByb2Nlc3NFeGl0ID0gbV9tYWluRnJhbWUtPnVybCgpOworICAgICAgICBt
X2xvYWRTdGF0ZUF0UHJvY2Vzc0V4aXQgPSBtX21haW5GcmFtZS0+bG9hZFN0YXRlKCk7CisgICAg
fQorCisgICAgcmVzZXRTdGF0ZSgpOwogCiAgICAgbV9wZW5kaW5nTGVhcm5Pcklnbm9yZVdvcmRN
ZXNzYWdlQ291bnQgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
aW5kZXggMzc5ZWFkYzlhNDljNzM1ZDM4ODQ5YzMyZjEyM2Q0NGE2OTRlMzU4ZC4uNjgwZjI2OWQz
ZTE1OGFjYTc1NzlkY2UxMDFkOTQyMjM5OWIwMzUwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaApAQCAtNzgxLDYgKzc4MSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAg
ICAgV2ViUGFnZVByb3h5KFBhZ2VDbGllbnQqLCBQYXNzUmVmUHRyPFdlYlByb2Nlc3NQcm94eT4s
IFdlYlBhZ2VHcm91cCosIHVpbnQ2NF90IHBhZ2VJRCk7CiAKKyAgICB2b2lkIHJlc2V0U3RhdGUo
KTsKICAgICB2b2lkIHJlc2V0U3RhdGVBZnRlclByb2Nlc3NFeGl0ZWQoKTsKIAogICAgIC8vIENv
cmVJUEM6Ok1lc3NhZ2VSZWNlaXZlcgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213247</attachid>
            <date>2013-10-03 08:17:53 -0700</date>
            <delta_ts>2013-10-07 16:00:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122230-20131003121751.patch</filename>
            <type>text/plain</type>
            <size>7178</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2ODMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggN2ZhODJiODE5NjFkMGVj
OGUxYjU1YWI0Njc4MDUzNDZhYmNlYzA4Mi4uNjYyNDRiMWY2NTU2ZDA3Y2RkOGUwMjk0MmY3MzYz
ZGE4ZTBlYzc5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTEwLTAzICBHdXN0
YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZvLm5vcm9uaGFAY29sbGFib3JhLmNvLnVrPgorCisg
ICAgICAgIFJlZHVjZSBkdXBsaWNhdGVkIGNvZGUgaW4gV2ViUGFnZVByb3h5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjIyMzAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNsb3NlKTogbW92ZSBk
dXBsaWNhdGUgY29kZSB0byByZXNldFN0YXRlIGFuZCBjYWxsIGl0LgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6OnJlc2V0U3RhdGUpOiBuZXcgcHJpdmF0ZSBtZXRob2QgZm9yIGNvZGUg
dGhhdCBpcyBzaGFyZWQgYmV0d2VlbgorICAgICAgICBjbG9zZSBhbmQgcmVzZXRTdGF0ZUFmdGVy
UHJvY2Vzc0V4aXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXNldFN0YXRl
QWZ0ZXJQcm9jZXNzRXhpdGVkKTogbW92ZSBkdXBsaWNhdGUgY29kZSB0byByZXNldFN0YXRlCisg
ICAgICAgIGFuZCBjYWxsIGl0LgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoK
KwogMjAxMy0xMC0wMyAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCBmaXggb2YgRHJhd2luZ0FyZWEgY3JlYXRpb24gb24gbm9uLU1hYyBw
bGF0Zm9ybXMgYWZ0ZXIgcjE1Njc5My4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKaW5kZXggYjA2NjJlZGQyNGI0NDAyZTdiMTExZGMxMmM1MzA0ZmI4ZjZkNGU1Mi4u
ZmUxYTJkNmUwNDc3NmRiYjU3NWRiZmQ2MTg1YTA3YmE2YmExZjU3NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTU0OSw3NyArNTQ5LDggQEAgdm9pZCBX
ZWJQYWdlUHJveHk6OmNsb3NlKCkKICAgICBtX3BhZ2VDbGllbnQtPnBhZ2VDbG9zZWQoKTsKIAog
ICAgIG1fcHJvY2Vzcy0+ZGlzY29ubmVjdEZyYW1lc0Zyb21QYWdlKHRoaXMpOwotICAgIG1fbWFp
bkZyYW1lID0gMDsKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0gICAgaWYgKG1faW5zcGVjdG9y
KSB7Ci0gICAgICAgIG1faW5zcGVjdG9yLT5pbnZhbGlkYXRlKCk7Ci0gICAgICAgIG1faW5zcGVj
dG9yID0gMDsKLSAgICB9Ci0jZW5kaWYKLQotI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKLSAg
ICBpZiAobV9mdWxsU2NyZWVuTWFuYWdlcikgewotICAgICAgICBtX2Z1bGxTY3JlZW5NYW5hZ2Vy
LT5pbnZhbGlkYXRlKCk7Ci0gICAgICAgIG1fZnVsbFNjcmVlbk1hbmFnZXIgPSAwOwotICAgIH0K
LSNlbmRpZgotCi0jaWYgRU5BQkxFKFZJQlJBVElPTikKLSAgICBtX3ZpYnJhdGlvbi0+aW52YWxp
ZGF0ZSgpOwotI2VuZGlmCi0KLSAgICBpZiAobV9vcGVuUGFuZWxSZXN1bHRMaXN0ZW5lcikgewot
ICAgICAgICBtX29wZW5QYW5lbFJlc3VsdExpc3RlbmVyLT5pbnZhbGlkYXRlKCk7Ci0gICAgICAg
IG1fb3BlblBhbmVsUmVzdWx0TGlzdGVuZXIgPSAwOwotICAgIH0KLQotI2lmIEVOQUJMRShJTlBV
VF9UWVBFX0NPTE9SKQotICAgIGlmIChtX2NvbG9yUGlja2VyKSB7Ci0gICAgICAgIG1fY29sb3JQ
aWNrZXItPmludmFsaWRhdGUoKTsKLSAgICAgICAgbV9jb2xvclBpY2tlciA9IG51bGxwdHI7Ci0g
ICAgfQotI2VuZGlmCi0KLSNpZiBFTkFCTEUoR0VPTE9DQVRJT04pCi0gICAgbV9nZW9sb2NhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5pbnZhbGlkYXRlUmVxdWVzdHMoKTsKLSNlbmRpZgot
Ci0gICAgbV9ub3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaW52YWxpZGF0ZVJl
cXVlc3RzKCk7Ci0gICAgbV9wcm9jZXNzLT5jb250ZXh0KCktPnN1cHBsZW1lbnQ8V2ViTm90aWZp
Y2F0aW9uTWFuYWdlclByb3h5PigpLT5jbGVhck5vdGlmaWNhdGlvbnModGhpcyk7Ci0KLSAgICBt
X3Rvb2xUaXAgPSBTdHJpbmcoKTsKLQotICAgIG1fbWFpbkZyYW1lSGFzSG9yaXpvbnRhbFNjcm9s
bGJhciA9IGZhbHNlOwotICAgIG1fbWFpbkZyYW1lSGFzVmVydGljYWxTY3JvbGxiYXIgPSBmYWxz
ZTsKLQotICAgIG1fbWFpbkZyYW1lSXNQaW5uZWRUb0xlZnRTaWRlID0gZmFsc2U7Ci0gICAgbV9t
YWluRnJhbWVJc1Bpbm5lZFRvUmlnaHRTaWRlID0gZmFsc2U7Ci0gICAgbV9tYWluRnJhbWVJc1Bp
bm5lZFRvVG9wU2lkZSA9IGZhbHNlOwotICAgIG1fbWFpbkZyYW1lSXNQaW5uZWRUb0JvdHRvbVNp
ZGUgPSBmYWxzZTsKLQotICAgIG1fdmlzaWJsZVNjcm9sbGVyVGh1bWJSZWN0ID0gSW50UmVjdCgp
OwotCi0gICAgaW52YWxpZGF0ZUNhbGxiYWNrTWFwKG1fdm9pZENhbGxiYWNrcyk7Ci0gICAgaW52
YWxpZGF0ZUNhbGxiYWNrTWFwKG1fZGF0YUNhbGxiYWNrcyk7Ci0gICAgaW52YWxpZGF0ZUNhbGxi
YWNrTWFwKG1faW1hZ2VDYWxsYmFja3MpOwotICAgIGludmFsaWRhdGVDYWxsYmFja01hcChtX3N0
cmluZ0NhbGxiYWNrcyk7Ci0gICAgbV9sb2FkRGVwZW5kZW50U3RyaW5nQ2FsbGJhY2tJRHMuY2xl
YXIoKTsKLSAgICBpbnZhbGlkYXRlQ2FsbGJhY2tNYXAobV9zY3JpcHRWYWx1ZUNhbGxiYWNrcyk7
Ci0gICAgaW52YWxpZGF0ZUNhbGxiYWNrTWFwKG1fY29tcHV0ZWRQYWdlc0NhbGxiYWNrcyk7Ci0j
aWYgUExBVEZPUk0oR1RLKQotICAgIGludmFsaWRhdGVDYWxsYmFja01hcChtX3ByaW50RmluaXNo
ZWRDYWxsYmFja3MpOwotI2VuZGlmCi0KLSAgICBWZWN0b3I8V2ViRWRpdENvbW1hbmRQcm94eSo+
IGVkaXRDb21tYW5kVmVjdG9yOwotICAgIGNvcHlUb1ZlY3RvcihtX2VkaXRDb21tYW5kU2V0LCBl
ZGl0Q29tbWFuZFZlY3Rvcik7Ci0gICAgbV9lZGl0Q29tbWFuZFNldC5jbGVhcigpOwotICAgIGZv
ciAoc2l6ZV90IGkgPSAwLCBzaXplID0gZWRpdENvbW1hbmRWZWN0b3Iuc2l6ZSgpOyBpIDwgc2l6
ZTsgKytpKQotICAgICAgICBlZGl0Q29tbWFuZFZlY3RvcltpXS0+aW52YWxpZGF0ZSgpOwotCi0g
ICAgbV9hY3RpdmVQb3B1cE1lbnUgPSAwOwotCi0gICAgbV9lc3RpbWF0ZWRQcm9ncmVzcyA9IDAu
MDsKKyAgICByZXNldFN0YXRlKCk7CiAKICAgICBtX2xvYWRlckNsaWVudC5pbml0aWFsaXplKDAp
OwogICAgIG1fcG9saWN5Q2xpZW50LmluaXRpYWxpemUoMCk7CkBAIC02MzQsOCArNTY1LDYgQEAg
dm9pZCBXZWJQYWdlUHJveHk6OmNsb3NlKCkKICAgICBtX2NvbnRleHRNZW51Q2xpZW50LmluaXRp
YWxpemUoMCk7CiAjZW5kaWYKIAotICAgIG1fZHJhd2luZ0FyZWEgPSBudWxscHRyOwotCiAjaWYg
UExBVEZPUk0oTUFDKQogICAgIG1fZXhwb3NlZFJlY3RDaGFuZ2VkVGltZXIuc3RvcCgpOwogI2Vu
ZGlmCkBAIC02NDQsNiArNTczLDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNsb3NlKCkKICAgICBt
X3Byb2Nlc3MtPnJlbW92ZVdlYlBhZ2UobV9wYWdlSUQpOwogICAgIG1fcHJvY2Vzcy0+cmVtb3Zl
TWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5h
bWUoKSwgbV9wYWdlSUQpOwogICAgIG1fcHJvY2Vzcy0+Y29udGV4dCgpLT5zdG9yYWdlTWFuYWdl
cigpLmRlc3Ryb3lTZXNzaW9uU3RvcmFnZU5hbWVzcGFjZShtX3BhZ2VJRCk7CisgICAgbV9wcm9j
ZXNzLT5jb250ZXh0KCktPnN1cHBsZW1lbnQ8V2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5Pigp
LT5jbGVhck5vdGlmaWNhdGlvbnModGhpcyk7CiB9CiAKIGJvb2wgV2ViUGFnZVByb3h5Ojp0cnlD
bG9zZSgpCkBAIC0zNzg2LDM0ICszNzE2LDIzIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpwcm9jZXNz
RGlkQ3Jhc2goKQogICAgIG1fbG9hZGVyQ2xpZW50LnByb2Nlc3NEaWRDcmFzaCh0aGlzKTsKIH0K
IAotdm9pZCBXZWJQYWdlUHJveHk6OnJlc2V0U3RhdGVBZnRlclByb2Nlc3NFeGl0ZWQoKQordm9p
ZCBXZWJQYWdlUHJveHk6OnJlc2V0U3RhdGUoKQogewotICAgIGlmICghaXNWYWxpZCgpKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBBU1NFUlQobV9wYWdlQ2xpZW50KTsKLSAgICBtX3Byb2Nlc3Mt
PnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViUGFnZVByb3h5OjptZXNzYWdlUmVj
ZWl2ZXJOYW1lKCksIG1fcGFnZUlEKTsKLQotICAgIG1faXNWYWxpZCA9IGZhbHNlOwotICAgIG1f
aXNQYWdlU3VzcGVuZGVkID0gZmFsc2U7Ci0gICAgbV93YWl0aW5nRm9yRGlkVXBkYXRlSW5XaW5k
b3dTdGF0ZSA9IGZhbHNlOwotCi0gICAgaWYgKG1fbWFpbkZyYW1lKSB7Ci0gICAgICAgIG1fdXJs
QXRQcm9jZXNzRXhpdCA9IG1fbWFpbkZyYW1lLT51cmwoKTsKLSAgICAgICAgbV9sb2FkU3RhdGVB
dFByb2Nlc3NFeGl0ID0gbV9tYWluRnJhbWUtPmxvYWRTdGF0ZSgpOwotICAgIH0KLQogICAgIG1f
bWFpbkZyYW1lID0gbnVsbHB0cjsKICAgICBtX2RyYXdpbmdBcmVhID0gbnVsbHB0cjsKIAogI2lm
IEVOQUJMRShJTlNQRUNUT1IpCi0gICAgbV9pbnNwZWN0b3ItPmludmFsaWRhdGUoKTsKLSAgICBt
X2luc3BlY3RvciA9IG51bGxwdHI7CisgICAgaWYgKG1faW5zcGVjdG9yKSB7CisgICAgICAgIG1f
aW5zcGVjdG9yLT5pbnZhbGlkYXRlKCk7CisgICAgICAgIG1faW5zcGVjdG9yID0gbnVsbHB0cjsK
KyAgICB9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKLSAgICBtX2Z1bGxT
Y3JlZW5NYW5hZ2VyLT5pbnZhbGlkYXRlKCk7Ci0gICAgbV9mdWxsU2NyZWVuTWFuYWdlciA9IG51
bGxwdHI7CisgICAgaWYgKG1fZnVsbFNjcmVlbk1hbmFnZXIpIHsKKyAgICAgICAgbV9mdWxsU2Ny
ZWVuTWFuYWdlci0+aW52YWxpZGF0ZSgpOworICAgICAgICBtX2Z1bGxTY3JlZW5NYW5hZ2VyID0g
bnVsbHB0cjsKKyAgICB9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShWSUJSQVRJT04pCkBAIC0zODUy
LDYgKzM3NzEsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVzZXRTdGF0ZUFmdGVyUHJvY2Vzc0V4
aXRlZCgpCiAKICAgICBpbnZhbGlkYXRlQ2FsbGJhY2tNYXAobV92b2lkQ2FsbGJhY2tzKTsKICAg
ICBpbnZhbGlkYXRlQ2FsbGJhY2tNYXAobV9kYXRhQ2FsbGJhY2tzKTsKKyAgICBpbnZhbGlkYXRl
Q2FsbGJhY2tNYXAobV9pbWFnZUNhbGxiYWNrcyk7CiAgICAgaW52YWxpZGF0ZUNhbGxiYWNrTWFw
KG1fc3RyaW5nQ2FsbGJhY2tzKTsKICAgICBtX2xvYWREZXBlbmRlbnRTdHJpbmdDYWxsYmFja0lE
cy5jbGVhcigpOwogICAgIGludmFsaWRhdGVDYWxsYmFja01hcChtX3NjcmlwdFZhbHVlQ2FsbGJh
Y2tzKTsKQEAgLTM4NjYsMTIgKzM3ODYsMzIgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJlc2V0U3Rh
dGVBZnRlclByb2Nlc3NFeGl0ZWQoKQogICAgIG1fZWRpdENvbW1hbmRTZXQuY2xlYXIoKTsKICAg
ICBmb3IgKHNpemVfdCBpID0gMCwgc2l6ZSA9IGVkaXRDb21tYW5kVmVjdG9yLnNpemUoKTsgaSA8
IHNpemU7ICsraSkKICAgICAgICAgZWRpdENvbW1hbmRWZWN0b3JbaV0tPmludmFsaWRhdGUoKTsK
LSAgICBtX3BhZ2VDbGllbnQtPmNsZWFyQWxsRWRpdENvbW1hbmRzKCk7CiAKICAgICBtX2FjdGl2
ZVBvcHVwTWVudSA9IDA7CiAKICAgICBtX2VzdGltYXRlZFByb2dyZXNzID0gMC4wOworfQorCit2
b2lkIFdlYlBhZ2VQcm94eTo6cmVzZXRTdGF0ZUFmdGVyUHJvY2Vzc0V4aXRlZCgpCit7CisgICAg
aWYgKCFpc1ZhbGlkKCkpCisgICAgICAgIHJldHVybjsKIAorICAgIEFTU0VSVChtX3BhZ2VDbGll
bnQpOworICAgIG1fcHJvY2Vzcy0+cmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJQ
YWdlUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9wYWdlSUQpOworCisgICAgbV9pc1Zh
bGlkID0gZmFsc2U7CisgICAgbV9pc1BhZ2VTdXNwZW5kZWQgPSBmYWxzZTsKKyAgICBtX3dhaXRp
bmdGb3JEaWRVcGRhdGVJbldpbmRvd1N0YXRlID0gZmFsc2U7CisKKyAgICBpZiAobV9tYWluRnJh
bWUpIHsKKyAgICAgICAgbV91cmxBdFByb2Nlc3NFeGl0ID0gbV9tYWluRnJhbWUtPnVybCgpOwor
ICAgICAgICBtX2xvYWRTdGF0ZUF0UHJvY2Vzc0V4aXQgPSBtX21haW5GcmFtZS0+bG9hZFN0YXRl
KCk7CisgICAgfQorCisgICAgcmVzZXRTdGF0ZSgpOworCisgICAgbV9wYWdlQ2xpZW50LT5jbGVh
ckFsbEVkaXRDb21tYW5kcygpOwogICAgIG1fcGVuZGluZ0xlYXJuT3JJZ25vcmVXb3JkTWVzc2Fn
ZUNvdW50ID0gMDsKIAogICAgIC8vIElmIHRoZSBjYWxsIG91dCB0byB0aGUgbG9hZGVyIGNsaWVu
dCBkaWRuJ3QgY2F1c2UgdGhlIHdlYiBwcm9jZXNzIHRvIGJlIHJlbGF1bmNoZWQsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggOTllMzRhZjNmNmRiNDViZDg2YWMw
MDY4NzJlYzRkOWEwNTIxNTAxZC4uNzI0NWNhYmE4ODhlMDgzMWJlY2NhYWZiODI3Mjg3ODczMDYy
NDRiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNzgxLDYg
Kzc4MSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgV2ViUGFnZVByb3h5KFBhZ2VDbGllbnQq
LCBQYXNzUmVmUHRyPFdlYlByb2Nlc3NQcm94eT4sIFdlYlBhZ2VHcm91cCosIHVpbnQ2NF90IHBh
Z2VJRCk7CiAKKyAgICB2b2lkIHJlc2V0U3RhdGUoKTsKICAgICB2b2lkIHJlc2V0U3RhdGVBZnRl
clByb2Nlc3NFeGl0ZWQoKTsKIAogICAgIC8vIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlcgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>