<?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>61492</bug_id>
          
          <creation_ts>2011-05-25 17:41:19 -0700</creation_ts>
          <short_desc>Safari&apos;s AXFocusedUIElement attribute returns WebArea object with AXSelectedTextMarkerRange of nil</short_desc>
          <delta_ts>2011-06-01 15:02:15 -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>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="chris fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>410064</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-05-25 17:41:19 -0700</bug_when>
    <thetext>In WK2, the element returned as the AXFocusedUIElement from the WebProcess doesn&apos;t know which WKView it&apos;s being asked for.

So, we iterate the WebPage&apos;s to try to find which is focused. This method was only checking

m_page-&gt;focusController()-&gt;isActive();

However, that would return page&apos;s that were hidden or not foreground.

Changing that to 

return m_windowIsVisible &amp;&amp; m_page-&gt;focusController()-&gt;isFocused() &amp;&amp; m_page-&gt;focusController()-&gt;isActive();

Gives much better results</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410075</commentid>
    <comment_count>1</comment_count>
      <attachid>94893</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-05-25 17:48:49 -0700</bug_when>
    <thetext>Created attachment 94893
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410105</commentid>
    <comment_count>2</comment_count>
      <attachid>94893</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-05-25 18:29:13 -0700</bug_when>
    <thetext>Comment on attachment 94893
patch

Attachment 94893 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/8735246</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410111</commentid>
    <comment_count>3</comment_count>
      <attachid>94899</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-05-25 18:35:50 -0700</bug_when>
    <thetext>Created attachment 94899
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410683</commentid>
    <comment_count>4</comment_count>
      <attachid>94899</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-05-26 11:52:06 -0700</bug_when>
    <thetext>Comment on attachment 94899
patch

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

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:1969
&gt; +    bool windowIsVisible = true;
&gt; +#if PLATFORM(MAC)
&gt; +    windowIsVisible = m_windowIsVisible;
&gt; +#endif
&gt;      
&gt; +    return windowIsVisible &amp;&amp; m_page-&gt;focusController()-&gt;isFocused() &amp;&amp; m_page-&gt;focusController()-&gt;isActive();

This could be done much cleaner:

    #if PLATFORM(MAC)
        if (!m_windowIsVisible)
            return false;
    #endif
        return m_page-&gt;focusController()-&gt;isFocused() &amp;&amp; m_page-&gt;focusController()-&gt;isActive();

I’m also a bit surprised that we need to check isActive.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410692</commentid>
    <comment_count>5</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-05-26 11:54:02 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 94899 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=94899&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:1969
&gt; &gt; +    bool windowIsVisible = true;
&gt; &gt; +#if PLATFORM(MAC)
&gt; &gt; +    windowIsVisible = m_windowIsVisible;
&gt; &gt; +#endif
&gt; &gt;      
&gt; &gt; +    return windowIsVisible &amp;&amp; m_page-&gt;focusController()-&gt;isFocused() &amp;&amp; m_page-&gt;focusController()-&gt;isActive();
&gt; 
&gt; This could be done much cleaner:
&gt; 
&gt;     #if PLATFORM(MAC)
&gt;         if (!m_windowIsVisible)
&gt;             return false;
&gt;     #endif
&gt;         return m_page-&gt;focusController()-&gt;isFocused() &amp;&amp; m_page-&gt;focusController()-&gt;isActive();
&gt; 
&gt; I’m also a bit surprised that we need to check isActive.

Will double check if isActive() is necessary. Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410972</commentid>
    <comment_count>6</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-05-26 16:23:19 -0700</bug_when>
    <thetext>it looks like isActive is needed, otherwise we choose the wrong tab</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413696</commentid>
    <comment_count>7</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-06-01 15:02:15 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/87458</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94893</attachid>
            <date>2011-05-25 17:48:49 -0700</date>
            <delta_ts>2011-05-25 18:35:50 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>1468</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDg3MzQwKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDUtMjUgIENocmlzIEZs
ZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBTYWZhcmkncyBBWEZvY3VzZWRVSUVsZW1lbnQgYXR0cmli
dXRlIHJldHVybnMgV2ViQXJlYSBvYmplY3Qgd2l0aCBBWFNlbGVjdGVkVGV4dE1hcmtlclJhbmdl
IG9mIG5pbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjE0OTIKKworICAgICAgICBUaGUgbWV0aG9kIGZvciBkZXRlcm1pbmluZyB3aGljaCBXZWJQYWdl
IGlzIGFjdHVhbGx5IGZvY3VzZWQgYW5kIGZvcmVncm91bmQgd2FzIGZhdWx0eS4gTW9yZQorICAg
ICAgICBleHRlbnNpdmUgY2hlY2tzIGFyZSByZXF1aXJlZCB0byBjaGVjayB3aGljaCBXZWJQYWdl
IHNob3VsZCBiZSByZXR1cm5lZCBhcyB0aGUgZm9jdXNhYmxlIG9uZS4KKworICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6
d2luZG93SXNGb2N1c2VkKToKKwogMjAxMS0wNS0yNSAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiA4NzMwNikK
KysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTk2MSw3ICsxOTYxLDcgQEAKICAgICAKIGJvb2wgV2ViUGFnZTo6d2luZG93
SXNGb2N1c2VkKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9wYWdlLT5mb2N1c0NvbnRyb2xsZXIo
KS0+aXNBY3RpdmUoKTsKKyAgICByZXR1cm4gbV93aW5kb3dJc1Zpc2libGUgJiYgbV9wYWdlLT5m
b2N1c0NvbnRyb2xsZXIoKS0+aXNGb2N1c2VkKCkgJiYgbV9wYWdlLT5mb2N1c0NvbnRyb2xsZXIo
KS0+aXNBY3RpdmUoKTsKIH0KICAgICAKIHZvaWQgV2ViUGFnZTo6ZGlkUmVjZWl2ZU1lc3NhZ2Uo
Q29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29yZUlQQzo6TWVzc2FnZUlEIG1lc3Nh
Z2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBhcmd1bWVudHMpCg==
</data>
<flag name="commit-queue"
          id="88291"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94899</attachid>
            <date>2011-05-25 18:35:50 -0700</date>
            <delta_ts>2011-05-26 11:52:06 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>1673</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDg3MzQwKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDUtMjUgIENocmlzIEZs
ZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBTYWZhcmkncyBBWEZvY3VzZWRVSUVsZW1lbnQgYXR0cmli
dXRlIHJldHVybnMgV2ViQXJlYSBvYmplY3Qgd2l0aCBBWFNlbGVjdGVkVGV4dE1hcmtlclJhbmdl
IG9mIG5pbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjE0OTIKKworICAgICAgICBUaGUgbWV0aG9kIGZvciBkZXRlcm1pbmluZyB3aGljaCBXZWJQYWdl
IGlzIGFjdHVhbGx5IGZvY3VzZWQgYW5kIGZvcmVncm91bmQgd2FzIGZhdWx0eS4gTW9yZQorICAg
ICAgICBleHRlbnNpdmUgY2hlY2tzIGFyZSByZXF1aXJlZCB0byBjaGVjayB3aGljaCBXZWJQYWdl
IHNob3VsZCBiZSByZXR1cm5lZCBhcyB0aGUgZm9jdXNhYmxlIG9uZS4KKworICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6
d2luZG93SXNGb2N1c2VkKToKKwogMjAxMS0wNS0yNSAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiA4NzMwNikK
KysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTk1OCwxMiArMTk1OCwxOSBAQAogfQogCiAjZW5kaWYKLSAgICAKKwogYm9v
bCBXZWJQYWdlOjp3aW5kb3dJc0ZvY3VzZWQoKSBjb25zdAogewotICAgIHJldHVybiBtX3BhZ2Ut
PmZvY3VzQ29udHJvbGxlcigpLT5pc0FjdGl2ZSgpOwotfQorICAgIGJvb2wgd2luZG93SXNWaXNp
YmxlID0gdHJ1ZTsKKyNpZiBQTEFURk9STShNQUMpCisgICAgd2luZG93SXNWaXNpYmxlID0gbV93
aW5kb3dJc1Zpc2libGU7CisjZW5kaWYKICAgICAKKyAgICByZXR1cm4gd2luZG93SXNWaXNpYmxl
ICYmIG1fcGFnZS0+Zm9jdXNDb250cm9sbGVyKCktPmlzRm9jdXNlZCgpICYmIG1fcGFnZS0+Zm9j
dXNDb250cm9sbGVyKCktPmlzQWN0aXZlKCk7Cit9ICAgIAorCisgICAgCisKIHZvaWQgV2ViUGFn
ZTo6ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29y
ZUlQQzo6TWVzc2FnZUlEIG1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBhcmd1
bWVudHMpCiB7CiAgICAgaWYgKG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNzYWdlQ2xhc3NEcmF3
aW5nQXJlYUxlZ2FjeT4oKSkgewo=
</data>
<flag name="review"
          id="88294"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>