<?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>104688</bug_id>
          
          <creation_ts>2012-12-11 10:59:21 -0800</creation_ts>
          <short_desc>AX: accessibilityIsIgnored should avoid computing textUnderElement</short_desc>
          <delta_ts>2012-12-11 22:05:52 -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>Accessibility</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="Dominic Mazzoni">dmazzoni</reporter>
          <assigned_to name="Dominic Mazzoni">dmazzoni</assigned_to>
          <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>jdiggs</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>788605</commentid>
    <comment_count>0</comment_count>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2012-12-11 10:59:21 -0800</bug_when>
    <thetext>accessibilityIsIgnored is very hot, and while it&apos;s useful, it&apos;s just a heuristic in many cases - it&apos;s not a serious bug if a the accessibility tree contains a few extra elements that don&apos;t provide much value. In particular, there&apos;s no reason for it to call textUnderElement, which can be quite expensive, if we can achieve basically the same result without it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788611</commentid>
    <comment_count>1</comment_count>
      <attachid>178837</attachid>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2012-12-11 11:02:49 -0800</bug_when>
    <thetext>Created attachment 178837
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788706</commentid>
    <comment_count>2</comment_count>
      <attachid>178837</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-12-11 12:59:43 -0800</bug_when>
    <thetext>Comment on attachment 178837
Patch

i had some comments about this method in the other bug. maybe you can address them in this radar</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788793</commentid>
    <comment_count>3</comment_count>
      <attachid>178837</attachid>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2012-12-11 14:20:31 -0800</bug_when>
    <thetext>Comment on attachment 178837
Patch

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

&gt; Source/WebCore/accessibility/AccessibilityRenderObject.cpp:1272
&gt; +    if (!getAttribute(aria_helpAttr).isEmpty() || !getAttribute(aria_describedbyAttr).isEmpty() || !getAttribute(altAttr).isEmpty() || !getAttribute(titleAttr).isEmpty())

chris fleizach:
&gt; is this the exhaustive list of attributes that comprised those three checks (helpText, title, axDescription)?

This line just replaces helpText, but yeah, these new lines exhaustively check every attribute that was checked before.

The main differences are:
* We no longer worry about whether that attribute is allowed for that role or not; if an element has &quot;alt&quot; it won&apos;t be ignored, even if it isn&apos;t an image. This means it&apos;s possible we might have a few more elements in the accessibility tree that aren&apos;t needed, but they&apos;ll be harmless. I think it&apos;s worth it to make accessibilityIsIgnored fast (and safe to call while being destroyed).
* We no longer check inner text - see below

&gt; Source/WebCore/accessibility/AccessibilityRenderObject.cpp:1275
&gt; +    if (isGenericFocusableElement() &amp;&amp; roleValue() != SVGRootRole &amp;&amp; node-&gt;firstChild())

&gt; this line deserves a comment. why is the node-&gt;firstChild() important? what if the first child was aria-hidden or something

It&apos;s probably more clear to move the SVG root check into isGenericFocusableElement. SVG roots are focusable (why?) but usually aren&apos;t interactive, so if they don&apos;t have an ARIA role or something like that, I don&apos;t think we need to include them in the tree. (And that&apos;s what the previous logic did, too - just in a more roundabout way.)

So that seems to work 95% of the time, but there were a few weird cases where the render tree had a focusable element with no children and no role. One case was for an &lt;input type=&quot;text&quot;&gt;, I think it may be part of the shadow DOM for the input? This case was caught before by checking if textUnderElement was empty.

Again, this works basically the same for existing layout tests, and if it were to differ from current behavior, it would err on the side of not ignoring a node that was ignored before - but it should be harmless in that case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788808</commentid>
    <comment_count>4</comment_count>
      <attachid>178878</attachid>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2012-12-11 14:32:47 -0800</bug_when>
    <thetext>Created attachment 178878
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788933</commentid>
    <comment_count>5</comment_count>
      <attachid>178878</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-12-11 16:18:06 -0800</bug_when>
    <thetext>Comment on attachment 178878
Patch

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

&gt; Source/WebCore/accessibility/AccessibilityRenderObject.cpp:1275
&gt; +    if (isGenericFocusableElement() &amp;&amp; node-&gt;firstChild())

a comment here of the form
// Make sure that a focusable element has a child to focus onto

or something appropriate would be good</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789129</commentid>
    <comment_count>6</comment_count>
      <attachid>178949</attachid>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2012-12-11 19:42:10 -0800</bug_when>
    <thetext>Created attachment 178949
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789191</commentid>
    <comment_count>7</comment_count>
      <attachid>178949</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 22:05:18 -0800</bug_when>
    <thetext>Comment on attachment 178949
Patch for landing

Clearing flags on attachment: 178949

Committed r137416: &lt;http://trac.webkit.org/changeset/137416&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789193</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 22:05:52 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178837</attachid>
            <date>2012-12-11 11:02:49 -0800</date>
            <delta_ts>2012-12-11 14:32:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104688-20121211110010.patch</filename>
            <type>text/plain</type>
            <size>2533</size>
            <attacher name="Dominic Mazzoni">dmazzoni</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MzI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmU4MTg0NjFmNDc3OTAy
MDc0ODAxYTY0NDk2ZDg5YzAyZGY5YjUwYi4uZjVjMjdlYThlNTQ5YjQ1YmJhYjNjMWQ4YTUwMTdi
MGE5NWM2MzIzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTEyLTExICBEb21p
bmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAgIEFYOiBhY2Nlc3Np
YmlsaXR5SXNJZ25vcmVkIHNob3VsZCBhdm9pZCBjb21wdXRpbmcgdGV4dFVuZGVyRWxlbWVudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0Njg4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2ltcGxpZnkg
dGhlIGxvZ2ljIGluIGFjY2Vzc2liaWxpdHlJc0lnbm9yZWQgd2l0aG91dCBhZmZlY3RpbmcKKyAg
ICAgICAgdGhlIHJlc3VsdHMgb2YgYW55IHRlc3RzLiBJbiBwYXJ0aWN1bGFyLCBhdm9pZCBleHBl
bnNpdmUgY2FsbHMgdG8KKyAgICAgICAgdGV4dFVuZGVyRWxlbWVudC4KKworICAgICAgICBDb3Zl
cmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3Q6OmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQpOgorCiAyMDEyLTEyLTExICBDYXJs
b3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBJ
bnN0YWxsIEdPYmplY3QgRE9NIGJpbmRpbmdzIGhlYWRlcnMgaW4gaXRzIG93biBkaXJlY3RvcnkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IDhkNTE0OWEyMDI3NjRhOGQzMzE0Y2QyYWMzYjc3YWY4
M2M2NDU5ZDEuLmE3NjY5NGZmNWY1ODYxMDczYTc1N2ZhZmU5NDVjODA2N2Y1ZDQxYTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0LmNwcApAQCAtMTI2NSw4ICsxMjY1LDIzIEBAIGJvb2wgQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdDo6YWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0CiAgICAgLy8gY2hl
Y2sgaWYgdGhlcmUncyBzb21lIGtpbmQgb2YgYWNjZXNzaWJsZSBuYW1lIGZvciB0aGUgZWxlbWVu
dCkKICAgICAvLyB0byBkZWNpZGUgYW4gZWxlbWVudCdzIHZpc2liaWxpdHkgaXMgbm90IGFzIGRl
ZmluaXRpdmUgYXMKICAgICAvLyBwcmV2aW91cyBjaGVja3MsIHNvIHRoaXMgc2hvdWxkIHJlbWFp
biBhcyBvbmUgb2YgdGhlIGxhc3QuCi0gICAgaWYgKCFoZWxwVGV4dCgpLmlzRW1wdHkoKSB8fCAh
dGl0bGUoKS5pc0VtcHR5KCkgfHwgIWFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpLmlzRW1wdHko
KSkKKyAgICAvLworICAgIC8vIFRoZXNlIGNoZWNrcyBhcmUgc2ltcGxpZmllZCBpbiB0aGUgaW50
ZXJlc3Qgb2YgZXhlY3V0aW9uIHNwZWVkOworICAgIC8vIGZvciBleGFtcGxlLCBhbnkgZWxlbWVu
dCBoYXZpbmcgYW4gYWx0IGF0dHJpYnV0ZSB3aWxsIG1ha2UgaXQKKyAgICAvLyBub3QgaWdub3Jl
ZCwgcmF0aGVyIHRoYW4ganVzdCBpbWFnZXMuCisgICAgaWYgKCFnZXRBdHRyaWJ1dGUoYXJpYV9o
ZWxwQXR0cikuaXNFbXB0eSgpIHx8ICFnZXRBdHRyaWJ1dGUoYXJpYV9kZXNjcmliZWRieUF0dHIp
LmlzRW1wdHkoKSB8fCAhZ2V0QXR0cmlidXRlKGFsdEF0dHIpLmlzRW1wdHkoKSB8fCAhZ2V0QXR0
cmlidXRlKHRpdGxlQXR0cikuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBpZiAoaXNHZW5lcmljRm9jdXNhYmxlRWxlbWVudCgpICYmIHJvbGVWYWx1ZSgpICE9IFNWR1Jv
b3RSb2xlICYmIG5vZGUtPmZpcnN0Q2hpbGQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgaWYgKCFhcmlhQWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uKCkuaXNFbXB0eSgpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyNpZiBFTkFCTEUoTUFUSE1MKQorICAgIGlmICghZ2V0QXR0cmli
dXRlKE1hdGhNTE5hbWVzOjphbHR0ZXh0QXR0cikuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisjZW5kaWYKICAgICAKICAgICAvLyBCeSBkZWZhdWx0LCBvYmplY3RzIHNob3VsZCBi
ZSBpZ25vcmVkIHNvIHRoYXQgdGhlIEFYIGhpZXJhcmNoeSBpcyBub3QgCiAgICAgLy8gZmlsbGVk
IHdpdGggdW5uZWNlc3NhcnkgaXRlbXMuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178878</attachid>
            <date>2012-12-11 14:32:47 -0800</date>
            <delta_ts>2012-12-11 19:42:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104688-20121211143008.patch</filename>
            <type>text/plain</type>
            <size>3393</size>
            <attacher name="Dominic Mazzoni">dmazzoni</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MzI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmU4MTg0NjFmNDc3OTAy
MDc0ODAxYTY0NDk2ZDg5YzAyZGY5YjUwYi4uZjNmYzVjZTkyOGQyMzczMjI1ZmUwMTBhMmFiM2Mz
NTNmZjg3YmVhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEyLTExICBEb21p
bmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAgIEFYOiBhY2Nlc3Np
YmlsaXR5SXNJZ25vcmVkIHNob3VsZCBhdm9pZCBjb21wdXRpbmcgdGV4dFVuZGVyRWxlbWVudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0Njg4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2ltcGxpZnkg
dGhlIGxvZ2ljIGluIGFjY2Vzc2liaWxpdHlJc0lnbm9yZWQgd2l0aG91dCBhZmZlY3RpbmcKKyAg
ICAgICAgdGhlIHJlc3VsdHMgb2YgYW55IHRlc3RzLiBJbiBwYXJ0aWN1bGFyLCBhdm9pZCBleHBl
bnNpdmUgY2FsbHMgdG8KKyAgICAgICAgdGV4dFVuZGVyRWxlbWVudC4KKworICAgICAgICBDb3Zl
cmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5Tm9kZU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9k
ZU9iamVjdDo6aXNHZW5lcmljRm9jdXNhYmxlRWxlbWVudCk6CisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQpOgorCiAyMDEy
LTEyLTExICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbR1RLXSBJbnN0YWxsIEdPYmplY3QgRE9NIGJpbmRpbmdzIGhlYWRlcnMgaW4gaXRzIG93
biBkaXJlY3RvcnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKaW5kZXggMjJhOGZhYmYwMjk3NjJhMmZkMDRkYWRi
NDI1MzM5YmE5MDg4NTI4Mi4uNzFmMDM3NDhiZGFiMWViYmMwNGUwNDk1ZDViNWY2MmE5ODBlMTE1
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5Tm9kZU9iamVjdC5jcHAKQEAgLTEwMzMsNiArMTAzMywxMSBAQCBib29sIEFjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0Ojppc0dlbmVyaWNGb2N1c2FibGVFbGVtZW50KCkgY29uc3QKICAgICBp
ZiAobm9kZSgpICYmIG5vZGUoKS0+aGFzVGFnTmFtZShib2R5VGFnKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCisgICAgLy8gQW4gU1ZHIHJvb3QgaXMgZm9jdXNhYmxlIGJ5IGRlZmF1bHQsIGJ1
dCBpdCdzIHByb2JhYmx5IG5vdCBpbnRlcmFjdGl2ZSwgc28gZG9uJ3QKKyAgICAvLyBpbmNsdWRl
IGl0LiBJdCBjYW4gc3RpbGwgYmUgbWFkZSBhY2Nlc3NpYmxlIGJ5IGdpdmluZyBpdCBhbiBBUklB
IHJvbGUuCisgICAgaWYgKHJvbGVWYWx1ZSgpID09IFNWR1Jvb3RSb2xlKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKaW5k
ZXggOGQ1MTQ5YTIwMjc2NGE4ZDMzMTRjZDJhYzNiNzdhZjgzYzY0NTlkMS4uMjUyNzkwMTNlNTAx
N2RhMDliOTNjMDNhOWZjYzhkY2MwOGYyZGVkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCkBAIC0x
MjY1LDggKzEyNjUsMjMgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjphY2Nlc3Np
YmlsaXR5SXNJZ25vcmVkKCkgY29uc3QKICAgICAvLyBjaGVjayBpZiB0aGVyZSdzIHNvbWUga2lu
ZCBvZiBhY2Nlc3NpYmxlIG5hbWUgZm9yIHRoZSBlbGVtZW50KQogICAgIC8vIHRvIGRlY2lkZSBh
biBlbGVtZW50J3MgdmlzaWJpbGl0eSBpcyBub3QgYXMgZGVmaW5pdGl2ZSBhcwogICAgIC8vIHBy
ZXZpb3VzIGNoZWNrcywgc28gdGhpcyBzaG91bGQgcmVtYWluIGFzIG9uZSBvZiB0aGUgbGFzdC4K
LSAgICBpZiAoIWhlbHBUZXh0KCkuaXNFbXB0eSgpIHx8ICF0aXRsZSgpLmlzRW1wdHkoKSB8fCAh
YWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uKCkuaXNFbXB0eSgpKQorICAgIC8vCisgICAgLy8gVGhl
c2UgY2hlY2tzIGFyZSBzaW1wbGlmaWVkIGluIHRoZSBpbnRlcmVzdCBvZiBleGVjdXRpb24gc3Bl
ZWQ7CisgICAgLy8gZm9yIGV4YW1wbGUsIGFueSBlbGVtZW50IGhhdmluZyBhbiBhbHQgYXR0cmli
dXRlIHdpbGwgbWFrZSBpdAorICAgIC8vIG5vdCBpZ25vcmVkLCByYXRoZXIgdGhhbiBqdXN0IGlt
YWdlcy4KKyAgICBpZiAoIWdldEF0dHJpYnV0ZShhcmlhX2hlbHBBdHRyKS5pc0VtcHR5KCkgfHwg
IWdldEF0dHJpYnV0ZShhcmlhX2Rlc2NyaWJlZGJ5QXR0cikuaXNFbXB0eSgpIHx8ICFnZXRBdHRy
aWJ1dGUoYWx0QXR0cikuaXNFbXB0eSgpIHx8ICFnZXRBdHRyaWJ1dGUodGl0bGVBdHRyKS5pc0Vt
cHR5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChpc0dlbmVyaWNGb2N1c2Fi
bGVFbGVtZW50KCkgJiYgbm9kZS0+Zmlyc3RDaGlsZCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICBpZiAoIWFyaWFBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24oKS5pc0VtcHR5KCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworI2lmIEVOQUJMRShNQVRITUwpCisgICAgaWYgKCFnZXRB
dHRyaWJ1dGUoTWF0aE1MTmFtZXM6OmFsdHRleHRBdHRyKS5pc0VtcHR5KCkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyNlbmRpZgogICAgIAogICAgIC8vIEJ5IGRlZmF1bHQsIG9iamVjdHMgc2hv
dWxkIGJlIGlnbm9yZWQgc28gdGhhdCB0aGUgQVggaGllcmFyY2h5IGlzIG5vdCAKICAgICAvLyBm
aWxsZWQgd2l0aCB1bm5lY2Vzc2FyeSBpdGVtcy4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178949</attachid>
            <date>2012-12-11 19:42:10 -0800</date>
            <delta_ts>2012-12-11 22:05:18 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-104688-20121211193931.patch</filename>
            <type>text/plain</type>
            <size>3522</size>
            <attacher name="Dominic Mazzoni">dmazzoni</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MzI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmU4MTg0NjFmNDc3OTAy
MDc0ODAxYTY0NDk2ZDg5YzAyZGY5YjUwYi4uZjQ2MGQ3MTJiNzFkYmViOTRjYmIyMzVmNjUxOWEz
ZmExNmQ2NzVlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEyLTExICBEb21p
bmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAgIEFYOiBhY2Nlc3Np
YmlsaXR5SXNJZ25vcmVkIHNob3VsZCBhdm9pZCBjb21wdXRpbmcgdGV4dFVuZGVyRWxlbWVudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0Njg4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRmxlaXphY2guCisKKyAgICAgICAgU2ltcGxpZnkg
dGhlIGxvZ2ljIGluIGFjY2Vzc2liaWxpdHlJc0lnbm9yZWQgd2l0aG91dCBhZmZlY3RpbmcKKyAg
ICAgICAgdGhlIHJlc3VsdHMgb2YgYW55IHRlc3RzLiBJbiBwYXJ0aWN1bGFyLCBhdm9pZCBleHBl
bnNpdmUgY2FsbHMgdG8KKyAgICAgICAgdGV4dFVuZGVyRWxlbWVudC4KKworICAgICAgICBDb3Zl
cmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5Tm9kZU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9k
ZU9iamVjdDo6aXNHZW5lcmljRm9jdXNhYmxlRWxlbWVudCk6CisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQpOgorCiAyMDEy
LTEyLTExICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbR1RLXSBJbnN0YWxsIEdPYmplY3QgRE9NIGJpbmRpbmdzIGhlYWRlcnMgaW4gaXRzIG93
biBkaXJlY3RvcnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKaW5kZXggMjJhOGZhYmYwMjk3NjJhMmZkMDRkYWRi
NDI1MzM5YmE5MDg4NTI4Mi4uNzFmMDM3NDhiZGFiMWViYmMwNGUwNDk1ZDViNWY2MmE5ODBlMTE1
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5Tm9kZU9iamVjdC5jcHAKQEAgLTEwMzMsNiArMTAzMywxMSBAQCBib29sIEFjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0Ojppc0dlbmVyaWNGb2N1c2FibGVFbGVtZW50KCkgY29uc3QKICAgICBp
ZiAobm9kZSgpICYmIG5vZGUoKS0+aGFzVGFnTmFtZShib2R5VGFnKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCisgICAgLy8gQW4gU1ZHIHJvb3QgaXMgZm9jdXNhYmxlIGJ5IGRlZmF1bHQsIGJ1
dCBpdCdzIHByb2JhYmx5IG5vdCBpbnRlcmFjdGl2ZSwgc28gZG9uJ3QKKyAgICAvLyBpbmNsdWRl
IGl0LiBJdCBjYW4gc3RpbGwgYmUgbWFkZSBhY2Nlc3NpYmxlIGJ5IGdpdmluZyBpdCBhbiBBUklB
IHJvbGUuCisgICAgaWYgKHJvbGVWYWx1ZSgpID09IFNWR1Jvb3RSb2xlKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKaW5k
ZXggOGQ1MTQ5YTIwMjc2NGE4ZDMzMTRjZDJhYzNiNzdhZjgzYzY0NTlkMS4uNTk2ZDdhMDI4M2Ez
OTM4OGUyYmQ5YmVjNjNiYTY5MGE1MzIxNGJiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCkBAIC0x
MjY1LDggKzEyNjUsMjUgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjphY2Nlc3Np
YmlsaXR5SXNJZ25vcmVkKCkgY29uc3QKICAgICAvLyBjaGVjayBpZiB0aGVyZSdzIHNvbWUga2lu
ZCBvZiBhY2Nlc3NpYmxlIG5hbWUgZm9yIHRoZSBlbGVtZW50KQogICAgIC8vIHRvIGRlY2lkZSBh
biBlbGVtZW50J3MgdmlzaWJpbGl0eSBpcyBub3QgYXMgZGVmaW5pdGl2ZSBhcwogICAgIC8vIHBy
ZXZpb3VzIGNoZWNrcywgc28gdGhpcyBzaG91bGQgcmVtYWluIGFzIG9uZSBvZiB0aGUgbGFzdC4K
LSAgICBpZiAoIWhlbHBUZXh0KCkuaXNFbXB0eSgpIHx8ICF0aXRsZSgpLmlzRW1wdHkoKSB8fCAh
YWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uKCkuaXNFbXB0eSgpKQorICAgIC8vCisgICAgLy8gVGhl
c2UgY2hlY2tzIGFyZSBzaW1wbGlmaWVkIGluIHRoZSBpbnRlcmVzdCBvZiBleGVjdXRpb24gc3Bl
ZWQ7CisgICAgLy8gZm9yIGV4YW1wbGUsIGFueSBlbGVtZW50IGhhdmluZyBhbiBhbHQgYXR0cmli
dXRlIHdpbGwgbWFrZSBpdAorICAgIC8vIG5vdCBpZ25vcmVkLCByYXRoZXIgdGhhbiBqdXN0IGlt
YWdlcy4KKyAgICBpZiAoIWdldEF0dHJpYnV0ZShhcmlhX2hlbHBBdHRyKS5pc0VtcHR5KCkgfHwg
IWdldEF0dHJpYnV0ZShhcmlhX2Rlc2NyaWJlZGJ5QXR0cikuaXNFbXB0eSgpIHx8ICFnZXRBdHRy
aWJ1dGUoYWx0QXR0cikuaXNFbXB0eSgpIHx8ICFnZXRBdHRyaWJ1dGUodGl0bGVBdHRyKS5pc0Vt
cHR5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIERvbid0IGlnbm9yZSBnZW5l
cmljIGZvY3VzYWJsZSBlbGVtZW50cyBsaWtlIDxkaXYgdGFiaW5kZXg9MD4KKyAgICAvLyB1bmxl
c3MgdGhleSdyZSBjb21wbGV0ZWx5IGVtcHR5LCB3aXRoIG5vIGNoaWxkcmVuLgorICAgIGlmIChp
c0dlbmVyaWNGb2N1c2FibGVFbGVtZW50KCkgJiYgbm9kZS0+Zmlyc3RDaGlsZCgpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWFyaWFBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24o
KS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworI2lmIEVOQUJMRShNQVRITUwp
CisgICAgaWYgKCFnZXRBdHRyaWJ1dGUoTWF0aE1MTmFtZXM6OmFsdHRleHRBdHRyKS5pc0VtcHR5
KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgogICAgIAogICAgIC8vIEJ5IGRlZmF1
bHQsIG9iamVjdHMgc2hvdWxkIGJlIGlnbm9yZWQgc28gdGhhdCB0aGUgQVggaGllcmFyY2h5IGlz
IG5vdCAKICAgICAvLyBmaWxsZWQgd2l0aCB1bm5lY2Vzc2FyeSBpdGVtcy4K
</data>

          </attachment>
      

    </bug>

</bugzilla>