<?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>101590</bug_id>
          
          <creation_ts>2012-11-08 04:48:15 -0800</creation_ts>
          <short_desc>HitTestResult should not be a HitTestLocation</short_desc>
          <delta_ts>2012-11-26 05:55:07 -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>Layout and Rendering</component>
          <version>420+</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>
          <dependson>98139</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Allan Sandfeld Jensen">allan.jensen</reporter>
          <assigned_to name="Allan Sandfeld Jensen">allan.jensen</assigned_to>
          <cc>eric</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>761659</commentid>
    <comment_count>0</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-11-08 04:48:15 -0800</bug_when>
    <thetext>Currently HitTestResult inherits from HitTestLocation because the two classes used to be one. Conceptually the HitTestResult is not a HitTestLocation though since it representation as a point is merely where the hit test was original started.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772708</commentid>
    <comment_count>1</comment_count>
      <attachid>175394</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-11-21 02:46:17 -0800</bug_when>
    <thetext>Created attachment 175394
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772981</commentid>
    <comment_count>2</comment_count>
      <attachid>175449</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-11-21 08:02:50 -0800</bug_when>
    <thetext>Created attachment 175449
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>773009</commentid>
    <comment_count>3</comment_count>
      <attachid>175449</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-11-21 09:09:04 -0800</bug_when>
    <thetext>Comment on attachment 175449
Patch

I don&apos;t see the problem with HitTestResult being a HitTestLocation. Is there an eventual goal here that making this change enables?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>773024</commentid>
    <comment_count>4</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-11-21 09:25:12 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 175449 [details])
&gt; I don&apos;t see the problem with HitTestResult being a HitTestLocation. Is there an eventual goal here that making this change enables?

The goal of this patch is only to clean up the code, but for the patch for bug #95204, it will greatly help to be able to be able to change how HitTestResult tracks point data, and which location data it stores.

Note HitTestLocation and HitTestResult are already used for very different things.
The only reason HitTestResult was kept as a HitTestLocation is because a few hit-test APIs still only take a HitTestResult as an input, and therefore needs to extract the HitTestLocation to begin at from HitTestResult. They can still do that after this change though, in fact they remain unchanged and still use the HitTestResult::hitTestLocation() method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775394</commentid>
    <comment_count>5</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-11-26 05:55:07 -0800</bug_when>
    <thetext>Committed r135710: &lt;http://trac.webkit.org/changeset/135710&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175394</attachid>
            <date>2012-11-21 02:46:17 -0800</date>
            <delta_ts>2012-11-21 08:02:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101590-20121121114338.patch</filename>
            <type>text/plain</type>
            <size>7014</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1MzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWMwMzYyOTRmNzU3YTE4
MjcxYWE2Y2JlNGI4ZTVmNWZmZDAyN2M5Yi4uZDQyNmQyYmM5ZDk1YTk0YzBmYTk0M2ZhMzM2Yzdi
NTg5YTkxODFhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTExLTIxICBBbGxh
biBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgorCisgICAgICAgIEhp
dFRlc3RSZXN1bHQgc2hvdWxkIG5vdCBiZSBhIEhpdFRlc3RMb2NhdGlvbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxNTkwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIEhpdFRlc3RSZXN1bHQg
ZnJvbSBiZWluZyBhIEhpdFRlc3RMb2NhdGlvbiB0byBoYXZpbmcgYSBIaXRUZXN0TG9jYXRpb24u
IAorICAgICAgICBBIHJlc3VsdCBvZiBhIHRlc3Qgc2hvdWxkIG5vdCBiZSBhIHNwZWNpYWwgY2Fz
ZSBvZiB0aGUgbG9jYXRpb24gb2YgdGhlIHRlc3QuCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGZ1
bmN0aW9uYWxpdHkuIE5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0
UmVzdWx0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OkhpdFRlc3RSZXN1
bHQpOgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6b3BlcmF0b3I9KToKKyAgICAg
ICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OmlzU2VsZWN0ZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6SGl0VGVzdFJlc3VsdDo6c3BlbGxpbmdUb29sVGlwKToKKyAgICAgICAgKFdlYkNvcmU6Okhp
dFRlc3RSZXN1bHQ6OnJlcGxhY2VkU3RyaW5nKToKKyAgICAgICAgKiByZW5kZXJpbmcvSGl0VGVz
dFJlc3VsdC5oOgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6aXNSZWN0QmFzZWRU
ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OnBvaW50SW5Jbm5lck5vZGVG
cmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpIaXRUZXN0UmVzdWx0OjpoaXRUZXN0TG9jYXRpb24p
OgorICAgICAgICAoSGl0VGVzdFJlc3VsdCk6CisKIDIwMTItMTEtMTIgIEFsbGFuIFNhbmRmZWxk
IEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CiAKICAgICAgICAgRGlzYW1iaWd1YXRl
IGlubmVyTm9kZUZyYW1lUG9pbnQgYW5kIG1haW5GcmFtZVBvaW50CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKaW5kZXggNjVmZmRmZmRiMDk3MWViY2IwOTYyNWQw
MDdmMGJiNGVkN2I2YjA4Mi4uNTRiOGYxOTQ5YjY4ZGNmY2Y4ZmJhY2VlMGU2N2VlNzY4Zjc0MmJl
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcApAQCAtMTky
LDMzICsxOTIsMzQgQEAgSW50UmVjdCBIaXRUZXN0TG9jYXRpb246OnJlY3RGb3JQb2ludChjb25z
dCBMYXlvdXRQb2ludCYgcG9pbnQsIHVuc2lnbmVkIHRvcFBhZGQKICAgICByZXR1cm4gSW50UmVj
dChhY3R1YWxQb2ludCwgYWN0dWFsUGFkZGluZyk7CiB9CiAKLUhpdFRlc3RSZXN1bHQ6OkhpdFRl
c3RSZXN1bHQoKSA6IEhpdFRlc3RMb2NhdGlvbigpCi0gICAgLCBtX2lzT3ZlcldpZGdldChmYWxz
ZSkKK0hpdFRlc3RSZXN1bHQ6OkhpdFRlc3RSZXN1bHQoKQorICAgIDogbV9pc092ZXJXaWRnZXQo
ZmFsc2UpCiB7CiB9CiAKLUhpdFRlc3RSZXN1bHQ6OkhpdFRlc3RSZXN1bHQoY29uc3QgTGF5b3V0
UG9pbnQmIHBvaW50KSA6IEhpdFRlc3RMb2NhdGlvbihwb2ludCkKK0hpdFRlc3RSZXN1bHQ6Okhp
dFRlc3RSZXN1bHQoY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50KQorICAgIDogbV9oaXRUZXN0TG9j
YXRpb24ocG9pbnQpCiAgICAgLCBtX3BvaW50SW5NYWluRnJhbWUocG9pbnQpCiAgICAgLCBtX2lz
T3ZlcldpZGdldChmYWxzZSkKIHsKIH0KIAogSGl0VGVzdFJlc3VsdDo6SGl0VGVzdFJlc3VsdChj
b25zdCBMYXlvdXRQb2ludCYgY2VudGVyUG9pbnQsIHVuc2lnbmVkIHRvcFBhZGRpbmcsIHVuc2ln
bmVkIHJpZ2h0UGFkZGluZywgdW5zaWduZWQgYm90dG9tUGFkZGluZywgdW5zaWduZWQgbGVmdFBh
ZGRpbmcpCi0gICAgOiBIaXRUZXN0TG9jYXRpb24oY2VudGVyUG9pbnQsIHRvcFBhZGRpbmcsIHJp
Z2h0UGFkZGluZywgYm90dG9tUGFkZGluZywgbGVmdFBhZGRpbmcpCisgICAgOiBtX2hpdFRlc3RM
b2NhdGlvbihjZW50ZXJQb2ludCwgdG9wUGFkZGluZywgcmlnaHRQYWRkaW5nLCBib3R0b21QYWRk
aW5nLCBsZWZ0UGFkZGluZykKICAgICAsIG1fcG9pbnRJbk1haW5GcmFtZShjZW50ZXJQb2ludCkK
ICAgICAsIG1faXNPdmVyV2lkZ2V0KGZhbHNlKQogewogfQogCiBIaXRUZXN0UmVzdWx0OjpIaXRU
ZXN0UmVzdWx0KGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYgb3RoZXIpCi0gICAgOiBIaXRUZXN0TG9j
YXRpb24ob3RoZXIpCi0gICAgLCBtX3BvaW50SW5NYWluRnJhbWUocG9pbnQoKSkKKyAgICA6IG1f
aGl0VGVzdExvY2F0aW9uKG90aGVyKQorICAgICwgbV9wb2ludEluTWFpbkZyYW1lKG1faGl0VGVz
dExvY2F0aW9uLnBvaW50KCkpCiAgICAgLCBtX2lzT3ZlcldpZGdldChmYWxzZSkKIHsKIH0KIAog
SGl0VGVzdFJlc3VsdDo6SGl0VGVzdFJlc3VsdChjb25zdCBIaXRUZXN0UmVzdWx0JiBvdGhlcikK
LSAgICA6IEhpdFRlc3RMb2NhdGlvbihvdGhlcikKKyAgICA6IG1faGl0VGVzdExvY2F0aW9uKG90
aGVyLm1faGl0VGVzdExvY2F0aW9uKQogICAgICwgbV9pbm5lck5vZGUob3RoZXIuaW5uZXJOb2Rl
KCkpCiAgICAgLCBtX2lubmVyTm9uU2hhcmVkTm9kZShvdGhlci5pbm5lck5vblNoYXJlZE5vZGUo
KSkKICAgICAsIG1fcG9pbnRJbk1haW5GcmFtZShvdGhlci5tX3BvaW50SW5NYWluRnJhbWUpCkBA
IC0yMzcsNyArMjM4LDcgQEAgSGl0VGVzdFJlc3VsdDo6fkhpdFRlc3RSZXN1bHQoKQogCiBIaXRU
ZXN0UmVzdWx0JiBIaXRUZXN0UmVzdWx0OjpvcGVyYXRvcj0oY29uc3QgSGl0VGVzdFJlc3VsdCYg
b3RoZXIpCiB7Ci0gICAgSGl0VGVzdExvY2F0aW9uOjpvcGVyYXRvcj0ob3RoZXIpOworICAgIG1f
aGl0VGVzdExvY2F0aW9uID0gb3RoZXIubV9oaXRUZXN0TG9jYXRpb247CiAgICAgbV9pbm5lck5v
ZGUgPSBvdGhlci5pbm5lck5vZGUoKTsKICAgICBtX2lubmVyTm9uU2hhcmVkTm9kZSA9IG90aGVy
LmlubmVyTm9uU2hhcmVkTm9kZSgpOwogICAgIG1fcG9pbnRJbk1haW5GcmFtZSA9IG90aGVyLm1f
cG9pbnRJbk1haW5GcmFtZTsKQEAgLTMxNCw3ICszMTUsNyBAQCBib29sIEhpdFRlc3RSZXN1bHQ6
OmlzU2VsZWN0ZWQoKSBjb25zdAogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAotICAgIHJldHVybiBmcmFtZS0+c2VsZWN0aW9uKCktPmNvbnRhaW5zKHBvaW50KCkpOwor
ICAgIHJldHVybiBmcmFtZS0+c2VsZWN0aW9uKCktPmNvbnRhaW5zKG1faGl0VGVzdExvY2F0aW9u
LnBvaW50KCkpOwogfQogCiBTdHJpbmcgSGl0VGVzdFJlc3VsdDo6c3BlbGxpbmdUb29sVGlwKFRl
eHREaXJlY3Rpb24mIGRpcikgY29uc3QKQEAgLTMyNSw3ICszMjYsNyBAQCBTdHJpbmcgSGl0VGVz
dFJlc3VsdDo6c3BlbGxpbmdUb29sVGlwKFRleHREaXJlY3Rpb24mIGRpcikgY29uc3QKICAgICBp
ZiAoIW1faW5uZXJOb25TaGFyZWROb2RlKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAg
Ci0gICAgRG9jdW1lbnRNYXJrZXIqIG1hcmtlciA9IG1faW5uZXJOb25TaGFyZWROb2RlLT5kb2N1
bWVudCgpLT5tYXJrZXJzKCktPm1hcmtlckNvbnRhaW5pbmdQb2ludChwb2ludCgpLCBEb2N1bWVu
dE1hcmtlcjo6R3JhbW1hcik7CisgICAgRG9jdW1lbnRNYXJrZXIqIG1hcmtlciA9IG1faW5uZXJO
b25TaGFyZWROb2RlLT5kb2N1bWVudCgpLT5tYXJrZXJzKCktPm1hcmtlckNvbnRhaW5pbmdQb2lu
dChtX2hpdFRlc3RMb2NhdGlvbi5wb2ludCgpLCBEb2N1bWVudE1hcmtlcjo6R3JhbW1hcik7CiAg
ICAgaWYgKCFtYXJrZXIpCiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKIApAQCAtMzQxLDcgKzM0
Miw3IEBAIFN0cmluZyBIaXRUZXN0UmVzdWx0OjpyZXBsYWNlZFN0cmluZygpIGNvbnN0CiAgICAg
aWYgKCFtX2lubmVyTm9uU2hhcmVkTm9kZSkKICAgICAgICAgcmV0dXJuIFN0cmluZygpOwogICAg
IAotICAgIERvY3VtZW50TWFya2VyKiBtYXJrZXIgPSBtX2lubmVyTm9uU2hhcmVkTm9kZS0+ZG9j
dW1lbnQoKS0+bWFya2VycygpLT5tYXJrZXJDb250YWluaW5nUG9pbnQocG9pbnQoKSwgRG9jdW1l
bnRNYXJrZXI6OlJlcGxhY2VtZW50KTsKKyAgICBEb2N1bWVudE1hcmtlciogbWFya2VyID0gbV9p
bm5lck5vblNoYXJlZE5vZGUtPmRvY3VtZW50KCktPm1hcmtlcnMoKS0+bWFya2VyQ29udGFpbmlu
Z1BvaW50KG1faGl0VGVzdExvY2F0aW9uLnBvaW50KCksIERvY3VtZW50TWFya2VyOjpSZXBsYWNl
bWVudCk7CiAgICAgaWYgKCFtYXJrZXIpCiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKICAgICAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCmluZGV4IGIyMTlhOTdkY2Zk
ZjRlMjc1MTBhODQzZjRmNzNkYzkxYTA5MTJjOWQuLmVjYzdlM2IyYWFkZmIwYTRjOTE4NGJkZThk
NTA1YWI1ZDI0YmNhZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRU
ZXN0UmVzdWx0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQu
aApAQCAtNDUsNiArNDUsNyBAQCBjbGFzcyBOb2RlOwogY2xhc3MgUmVuZGVyUmVnaW9uOwogY2xh
c3MgU2Nyb2xsYmFyOwogCisvLyBGSVhNRTogSGl0VGVzdExvY2F0aW9uIHNob3VsZCBiZSBtb3Zl
ZCB0byBhIHNlcGFyYXRlIGZpbGUuCiBjbGFzcyBIaXRUZXN0TG9jYXRpb24gewogcHVibGljOgog
CkBAIC0xMDAsOCArMTAxLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNSZWN0aWxpbmVhcjsK
IH07CiAKLS8vIEZJWE1FOiBIaXRUZXN0UmVzdWx0IHNob3VsZCBub3QgYmUgYSBIaXRUZXN0TG9j
YXRpb24sIGJ1dCBpbnN0ZWFkIGhhdmUgYSBIaXRUZXN0TG9jYXRpb24uIFNlZSBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxNTkwCi1jbGFzcyBIaXRUZXN0UmVzdWx0
IDogcHJvdGVjdGVkIEhpdFRlc3RMb2NhdGlvbiB7CitjbGFzcyBIaXRUZXN0UmVzdWx0IHsKIHB1
YmxpYzoKICAgICB0eXBlZGVmIExpc3RIYXNoU2V0PFJlZlB0cjxOb2RlPiA+IE5vZGVTZXQ7CiAK
QEAgLTEyMSw3ICsxMjEsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc092ZXJXaWRnZXQoKSBjb25z
dCB7IHJldHVybiBtX2lzT3ZlcldpZGdldDsgfQogCiAgICAgLy8gRm9yd2FyZGVkIGZyb20gSGl0
VGVzdExvY2F0aW9uCi0gICAgYm9vbCBpc1JlY3RCYXNlZFRlc3QoKSBjb25zdCB7IHJldHVybiBI
aXRUZXN0TG9jYXRpb246OmlzUmVjdEJhc2VkVGVzdCgpOyB9CisgICAgYm9vbCBpc1JlY3RCYXNl
ZFRlc3QoKSBjb25zdCB7IHJldHVybiBtX2hpdFRlc3RMb2NhdGlvbi5pc1JlY3RCYXNlZFRlc3Qo
KTsgfQogCiAgICAgLy8gVGhlIGhpdC10ZXN0ZWQgcG9pbnQgaW4gdGhlIGNvb3JkaW5hdGVzIG9m
IHRoZSBtYWluIGZyYW1lLgogICAgIGNvbnN0IExheW91dFBvaW50JiBwb2ludEluTWFpbkZyYW1l
KCkgY29uc3QgeyByZXR1cm4gbV9wb2ludEluTWFpbkZyYW1lOyB9CkBAIC0xMjksNyArMTI5LDcg
QEAgcHVibGljOgogICAgIHZvaWQgc2V0UG9pbnRJbk1haW5GcmFtZShjb25zdCBMYXlvdXRQb2lu
dCYgcCkgeyBtX3BvaW50SW5NYWluRnJhbWUgPSBwOyB9CiAKICAgICAvLyBUaGUgaGl0LXRlc3Rl
ZCBwb2ludCBpbiB0aGUgY29vcmRpbmF0ZXMgb2YgdGhlIGlubmVyTm9kZSBmcmFtZSwgdGhlIGZy
YW1lIGNvbnRhaW5pbmcgaW5uZXJOb2RlLgotICAgIGNvbnN0IExheW91dFBvaW50JiBwb2ludElu
SW5uZXJOb2RlRnJhbWUoKSBjb25zdCB7IHJldHVybiBIaXRUZXN0TG9jYXRpb246OnBvaW50KCk7
IH0KKyAgICBjb25zdCBMYXlvdXRQb2ludCYgcG9pbnRJbklubmVyTm9kZUZyYW1lKCkgY29uc3Qg
eyByZXR1cm4gbV9oaXRUZXN0TG9jYXRpb24ucG9pbnQoKTsgfQogICAgIEludFBvaW50IHJvdW5k
ZWRQb2ludEluSW5uZXJOb2RlRnJhbWUoKSBjb25zdCB7IHJldHVybiByb3VuZGVkSW50UG9pbnQo
cG9pbnRJbklubmVyTm9kZUZyYW1lKCkpOyB9CiAgICAgRnJhbWUqIGlubmVyTm9kZUZyYW1lKCkg
Y29uc3Q7CiAKQEAgLTEzOSw3ICsxMzksNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldFRvTm9u
U2hhZG93QW5jZXN0b3IoKTsKIAotICAgIGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYgaGl0VGVzdExv
Y2F0aW9uKCkgY29uc3QgeyByZXR1cm4gKnRoaXM7IH0KKyAgICBjb25zdCBIaXRUZXN0TG9jYXRp
b24mIGhpdFRlc3RMb2NhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1faGl0VGVzdExvY2F0aW9uOyB9
CiAKICAgICB2b2lkIHNldElubmVyTm9kZShOb2RlKik7CiAgICAgdm9pZCBzZXRJbm5lck5vblNo
YXJlZE5vZGUoTm9kZSopOwpAQCAtMTk4LDYgKzE5OCw3IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxF
KFZJREVPKQogICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCgpIGNvbnN0OwogI2Vu
ZGlmCisgICAgSGl0VGVzdExvY2F0aW9uIG1faGl0VGVzdExvY2F0aW9uOwogCiAgICAgUmVmUHRy
PE5vZGU+IG1faW5uZXJOb2RlOwogICAgIFJlZlB0cjxOb2RlPiBtX2lubmVyTm9uU2hhcmVkTm9k
ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175449</attachid>
            <date>2012-11-21 08:02:50 -0800</date>
            <delta_ts>2012-11-24 18:37:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101590-20121121170011.patch</filename>
            <type>text/plain</type>
            <size>7020</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NDA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2E2YjI2NDMyMzA5MGU5
YzJiYWI0Y2MxZTQ2NzVjZjE5OTk0YjQ4ZS4uOTkyZDAxNzg4MjVmNjEyYzM0ZWNiYjA2MjkwZGVh
Y2UwODNiOTYxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI5IEBACiAyMDEyLTExLTIxICBBbGxh
biBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgogCisgICAgICAgIEhp
dFRlc3RSZXN1bHQgc2hvdWxkIG5vdCBiZSBhIEhpdFRlc3RMb2NhdGlvbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxNTkwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIEhpdFRlc3RSZXN1bHQg
ZnJvbSBiZWluZyBhIEhpdFRlc3RMb2NhdGlvbiB0byBoYXZpbmcgYSBIaXRUZXN0TG9jYXRpb24u
IAorICAgICAgICBBIHJlc3VsdCBvZiBhIHRlc3Qgc2hvdWxkIG5vdCBiZSBhIHNwZWNpYWwgY2Fz
ZSBvZiB0aGUgbG9jYXRpb24gb2YgdGhlIHRlc3QuCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGZ1
bmN0aW9uYWxpdHkuIE5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0
UmVzdWx0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OkhpdFRlc3RSZXN1
bHQpOgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6b3BlcmF0b3I9KToKKyAgICAg
ICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OmlzU2VsZWN0ZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6SGl0VGVzdFJlc3VsdDo6c3BlbGxpbmdUb29sVGlwKToKKyAgICAgICAgKFdlYkNvcmU6Okhp
dFRlc3RSZXN1bHQ6OnJlcGxhY2VkU3RyaW5nKToKKyAgICAgICAgKiByZW5kZXJpbmcvSGl0VGVz
dFJlc3VsdC5oOgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6aXNSZWN0QmFzZWRU
ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OnBvaW50SW5Jbm5lck5vZGVG
cmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpIaXRUZXN0UmVzdWx0OjpoaXRUZXN0TG9jYXRpb24p
OgorICAgICAgICAoSGl0VGVzdFJlc3VsdCk6CisKKzIwMTItMTEtMjEgIEFsbGFuIFNhbmRmZWxk
IEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CisKICAgICAgICAgRGlzYW1iaWd1YXRl
IGlubmVyTm9kZUZyYW1lUG9pbnQgYW5kIG1haW5GcmFtZVBvaW50CiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODEzOQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKaW5kZXggODU1M2Q2ZjVkMThiNTYzMWE1NWFkZGU0
YzRhZmJiZmU1MTIzYzNlYi4uNTRiOGYxOTQ5YjY4ZGNmY2Y4ZmJhY2VlMGU2N2VlNzY4Zjc0MmJl
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcApAQCAtMTky
LDM0ICsxOTIsMzQgQEAgSW50UmVjdCBIaXRUZXN0TG9jYXRpb246OnJlY3RGb3JQb2ludChjb25z
dCBMYXlvdXRQb2ludCYgcG9pbnQsIHVuc2lnbmVkIHRvcFBhZGQKICAgICByZXR1cm4gSW50UmVj
dChhY3R1YWxQb2ludCwgYWN0dWFsUGFkZGluZyk7CiB9CiAKLUhpdFRlc3RSZXN1bHQ6OkhpdFRl
c3RSZXN1bHQoKSA6IEhpdFRlc3RMb2NhdGlvbigpCi0gICAgLCBtX2lzT3ZlcldpZGdldChmYWxz
ZSkKK0hpdFRlc3RSZXN1bHQ6OkhpdFRlc3RSZXN1bHQoKQorICAgIDogbV9pc092ZXJXaWRnZXQo
ZmFsc2UpCiB7CiB9CiAKIEhpdFRlc3RSZXN1bHQ6OkhpdFRlc3RSZXN1bHQoY29uc3QgTGF5b3V0
UG9pbnQmIHBvaW50KQotICAgIDogSGl0VGVzdExvY2F0aW9uKHBvaW50KQorICAgIDogbV9oaXRU
ZXN0TG9jYXRpb24ocG9pbnQpCiAgICAgLCBtX3BvaW50SW5NYWluRnJhbWUocG9pbnQpCiAgICAg
LCBtX2lzT3ZlcldpZGdldChmYWxzZSkKIHsKIH0KIAogSGl0VGVzdFJlc3VsdDo6SGl0VGVzdFJl
c3VsdChjb25zdCBMYXlvdXRQb2ludCYgY2VudGVyUG9pbnQsIHVuc2lnbmVkIHRvcFBhZGRpbmcs
IHVuc2lnbmVkIHJpZ2h0UGFkZGluZywgdW5zaWduZWQgYm90dG9tUGFkZGluZywgdW5zaWduZWQg
bGVmdFBhZGRpbmcpCi0gICAgOiBIaXRUZXN0TG9jYXRpb24oY2VudGVyUG9pbnQsIHRvcFBhZGRp
bmcsIHJpZ2h0UGFkZGluZywgYm90dG9tUGFkZGluZywgbGVmdFBhZGRpbmcpCisgICAgOiBtX2hp
dFRlc3RMb2NhdGlvbihjZW50ZXJQb2ludCwgdG9wUGFkZGluZywgcmlnaHRQYWRkaW5nLCBib3R0
b21QYWRkaW5nLCBsZWZ0UGFkZGluZykKICAgICAsIG1fcG9pbnRJbk1haW5GcmFtZShjZW50ZXJQ
b2ludCkKICAgICAsIG1faXNPdmVyV2lkZ2V0KGZhbHNlKQogewogfQogCiBIaXRUZXN0UmVzdWx0
OjpIaXRUZXN0UmVzdWx0KGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYgb3RoZXIpCi0gICAgOiBIaXRU
ZXN0TG9jYXRpb24ob3RoZXIpCi0gICAgLCBtX3BvaW50SW5NYWluRnJhbWUocG9pbnQoKSkKKyAg
ICA6IG1faGl0VGVzdExvY2F0aW9uKG90aGVyKQorICAgICwgbV9wb2ludEluTWFpbkZyYW1lKG1f
aGl0VGVzdExvY2F0aW9uLnBvaW50KCkpCiAgICAgLCBtX2lzT3ZlcldpZGdldChmYWxzZSkKIHsK
IH0KIAogSGl0VGVzdFJlc3VsdDo6SGl0VGVzdFJlc3VsdChjb25zdCBIaXRUZXN0UmVzdWx0JiBv
dGhlcikKLSAgICA6IEhpdFRlc3RMb2NhdGlvbihvdGhlcikKKyAgICA6IG1faGl0VGVzdExvY2F0
aW9uKG90aGVyLm1faGl0VGVzdExvY2F0aW9uKQogICAgICwgbV9pbm5lck5vZGUob3RoZXIuaW5u
ZXJOb2RlKCkpCiAgICAgLCBtX2lubmVyTm9uU2hhcmVkTm9kZShvdGhlci5pbm5lck5vblNoYXJl
ZE5vZGUoKSkKICAgICAsIG1fcG9pbnRJbk1haW5GcmFtZShvdGhlci5tX3BvaW50SW5NYWluRnJh
bWUpCkBAIC0yMzgsNyArMjM4LDcgQEAgSGl0VGVzdFJlc3VsdDo6fkhpdFRlc3RSZXN1bHQoKQog
CiBIaXRUZXN0UmVzdWx0JiBIaXRUZXN0UmVzdWx0OjpvcGVyYXRvcj0oY29uc3QgSGl0VGVzdFJl
c3VsdCYgb3RoZXIpCiB7Ci0gICAgSGl0VGVzdExvY2F0aW9uOjpvcGVyYXRvcj0ob3RoZXIpOwor
ICAgIG1faGl0VGVzdExvY2F0aW9uID0gb3RoZXIubV9oaXRUZXN0TG9jYXRpb247CiAgICAgbV9p
bm5lck5vZGUgPSBvdGhlci5pbm5lck5vZGUoKTsKICAgICBtX2lubmVyTm9uU2hhcmVkTm9kZSA9
IG90aGVyLmlubmVyTm9uU2hhcmVkTm9kZSgpOwogICAgIG1fcG9pbnRJbk1haW5GcmFtZSA9IG90
aGVyLm1fcG9pbnRJbk1haW5GcmFtZTsKQEAgLTMxNSw3ICszMTUsNyBAQCBib29sIEhpdFRlc3RS
ZXN1bHQ6OmlzU2VsZWN0ZWQoKSBjb25zdAogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAotICAgIHJldHVybiBmcmFtZS0+c2VsZWN0aW9uKCktPmNvbnRhaW5zKHBvaW50
KCkpOworICAgIHJldHVybiBmcmFtZS0+c2VsZWN0aW9uKCktPmNvbnRhaW5zKG1faGl0VGVzdExv
Y2F0aW9uLnBvaW50KCkpOwogfQogCiBTdHJpbmcgSGl0VGVzdFJlc3VsdDo6c3BlbGxpbmdUb29s
VGlwKFRleHREaXJlY3Rpb24mIGRpcikgY29uc3QKQEAgLTMyNiw3ICszMjYsNyBAQCBTdHJpbmcg
SGl0VGVzdFJlc3VsdDo6c3BlbGxpbmdUb29sVGlwKFRleHREaXJlY3Rpb24mIGRpcikgY29uc3QK
ICAgICBpZiAoIW1faW5uZXJOb25TaGFyZWROb2RlKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7
CiAgICAgCi0gICAgRG9jdW1lbnRNYXJrZXIqIG1hcmtlciA9IG1faW5uZXJOb25TaGFyZWROb2Rl
LT5kb2N1bWVudCgpLT5tYXJrZXJzKCktPm1hcmtlckNvbnRhaW5pbmdQb2ludChwb2ludCgpLCBE
b2N1bWVudE1hcmtlcjo6R3JhbW1hcik7CisgICAgRG9jdW1lbnRNYXJrZXIqIG1hcmtlciA9IG1f
aW5uZXJOb25TaGFyZWROb2RlLT5kb2N1bWVudCgpLT5tYXJrZXJzKCktPm1hcmtlckNvbnRhaW5p
bmdQb2ludChtX2hpdFRlc3RMb2NhdGlvbi5wb2ludCgpLCBEb2N1bWVudE1hcmtlcjo6R3JhbW1h
cik7CiAgICAgaWYgKCFtYXJrZXIpCiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKIApAQCAtMzQy
LDcgKzM0Miw3IEBAIFN0cmluZyBIaXRUZXN0UmVzdWx0OjpyZXBsYWNlZFN0cmluZygpIGNvbnN0
CiAgICAgaWYgKCFtX2lubmVyTm9uU2hhcmVkTm9kZSkKICAgICAgICAgcmV0dXJuIFN0cmluZygp
OwogICAgIAotICAgIERvY3VtZW50TWFya2VyKiBtYXJrZXIgPSBtX2lubmVyTm9uU2hhcmVkTm9k
ZS0+ZG9jdW1lbnQoKS0+bWFya2VycygpLT5tYXJrZXJDb250YWluaW5nUG9pbnQocG9pbnQoKSwg
RG9jdW1lbnRNYXJrZXI6OlJlcGxhY2VtZW50KTsKKyAgICBEb2N1bWVudE1hcmtlciogbWFya2Vy
ID0gbV9pbm5lck5vblNoYXJlZE5vZGUtPmRvY3VtZW50KCktPm1hcmtlcnMoKS0+bWFya2VyQ29u
dGFpbmluZ1BvaW50KG1faGl0VGVzdExvY2F0aW9uLnBvaW50KCksIERvY3VtZW50TWFya2VyOjpS
ZXBsYWNlbWVudCk7CiAgICAgaWYgKCFtYXJrZXIpCiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsK
ICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCmluZGV4IGIyMTlh
OTdkY2ZkZjRlMjc1MTBhODQzZjRmNzNkYzkxYTA5MTJjOWQuLmVjYzdlM2IyYWFkZmIwYTRjOTE4
NGJkZThkNTA1YWI1ZDI0YmNhZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9IaXRUZXN0UmVzdWx0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RS
ZXN1bHQuaApAQCAtNDUsNiArNDUsNyBAQCBjbGFzcyBOb2RlOwogY2xhc3MgUmVuZGVyUmVnaW9u
OwogY2xhc3MgU2Nyb2xsYmFyOwogCisvLyBGSVhNRTogSGl0VGVzdExvY2F0aW9uIHNob3VsZCBi
ZSBtb3ZlZCB0byBhIHNlcGFyYXRlIGZpbGUuCiBjbGFzcyBIaXRUZXN0TG9jYXRpb24gewogcHVi
bGljOgogCkBAIC0xMDAsOCArMTAxLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNSZWN0aWxp
bmVhcjsKIH07CiAKLS8vIEZJWE1FOiBIaXRUZXN0UmVzdWx0IHNob3VsZCBub3QgYmUgYSBIaXRU
ZXN0TG9jYXRpb24sIGJ1dCBpbnN0ZWFkIGhhdmUgYSBIaXRUZXN0TG9jYXRpb24uIFNlZSBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxNTkwCi1jbGFzcyBIaXRUZXN0
UmVzdWx0IDogcHJvdGVjdGVkIEhpdFRlc3RMb2NhdGlvbiB7CitjbGFzcyBIaXRUZXN0UmVzdWx0
IHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIExpc3RIYXNoU2V0PFJlZlB0cjxOb2RlPiA+IE5vZGVT
ZXQ7CiAKQEAgLTEyMSw3ICsxMjEsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc092ZXJXaWRnZXQo
KSBjb25zdCB7IHJldHVybiBtX2lzT3ZlcldpZGdldDsgfQogCiAgICAgLy8gRm9yd2FyZGVkIGZy
b20gSGl0VGVzdExvY2F0aW9uCi0gICAgYm9vbCBpc1JlY3RCYXNlZFRlc3QoKSBjb25zdCB7IHJl
dHVybiBIaXRUZXN0TG9jYXRpb246OmlzUmVjdEJhc2VkVGVzdCgpOyB9CisgICAgYm9vbCBpc1Jl
Y3RCYXNlZFRlc3QoKSBjb25zdCB7IHJldHVybiBtX2hpdFRlc3RMb2NhdGlvbi5pc1JlY3RCYXNl
ZFRlc3QoKTsgfQogCiAgICAgLy8gVGhlIGhpdC10ZXN0ZWQgcG9pbnQgaW4gdGhlIGNvb3JkaW5h
dGVzIG9mIHRoZSBtYWluIGZyYW1lLgogICAgIGNvbnN0IExheW91dFBvaW50JiBwb2ludEluTWFp
bkZyYW1lKCkgY29uc3QgeyByZXR1cm4gbV9wb2ludEluTWFpbkZyYW1lOyB9CkBAIC0xMjksNyAr
MTI5LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0UG9pbnRJbk1haW5GcmFtZShjb25zdCBMYXlv
dXRQb2ludCYgcCkgeyBtX3BvaW50SW5NYWluRnJhbWUgPSBwOyB9CiAKICAgICAvLyBUaGUgaGl0
LXRlc3RlZCBwb2ludCBpbiB0aGUgY29vcmRpbmF0ZXMgb2YgdGhlIGlubmVyTm9kZSBmcmFtZSwg
dGhlIGZyYW1lIGNvbnRhaW5pbmcgaW5uZXJOb2RlLgotICAgIGNvbnN0IExheW91dFBvaW50JiBw
b2ludEluSW5uZXJOb2RlRnJhbWUoKSBjb25zdCB7IHJldHVybiBIaXRUZXN0TG9jYXRpb246OnBv
aW50KCk7IH0KKyAgICBjb25zdCBMYXlvdXRQb2ludCYgcG9pbnRJbklubmVyTm9kZUZyYW1lKCkg
Y29uc3QgeyByZXR1cm4gbV9oaXRUZXN0TG9jYXRpb24ucG9pbnQoKTsgfQogICAgIEludFBvaW50
IHJvdW5kZWRQb2ludEluSW5uZXJOb2RlRnJhbWUoKSBjb25zdCB7IHJldHVybiByb3VuZGVkSW50
UG9pbnQocG9pbnRJbklubmVyTm9kZUZyYW1lKCkpOyB9CiAgICAgRnJhbWUqIGlubmVyTm9kZUZy
YW1lKCkgY29uc3Q7CiAKQEAgLTEzOSw3ICsxMzksNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNl
dFRvTm9uU2hhZG93QW5jZXN0b3IoKTsKIAotICAgIGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYgaGl0
VGVzdExvY2F0aW9uKCkgY29uc3QgeyByZXR1cm4gKnRoaXM7IH0KKyAgICBjb25zdCBIaXRUZXN0
TG9jYXRpb24mIGhpdFRlc3RMb2NhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1faGl0VGVzdExvY2F0
aW9uOyB9CiAKICAgICB2b2lkIHNldElubmVyTm9kZShOb2RlKik7CiAgICAgdm9pZCBzZXRJbm5l
ck5vblNoYXJlZE5vZGUoTm9kZSopOwpAQCAtMTk4LDYgKzE5OCw3IEBAIHByaXZhdGU6CiAjaWYg
RU5BQkxFKFZJREVPKQogICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCgpIGNvbnN0
OwogI2VuZGlmCisgICAgSGl0VGVzdExvY2F0aW9uIG1faGl0VGVzdExvY2F0aW9uOwogCiAgICAg
UmVmUHRyPE5vZGU+IG1faW5uZXJOb2RlOwogICAgIFJlZlB0cjxOb2RlPiBtX2lubmVyTm9uU2hh
cmVkTm9kZTsK
</data>
<flag name="review"
          id="190899"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>