<?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>25411</bug_id>
          
          <creation_ts>2009-04-26 14:21:56 -0700</creation_ts>
          <short_desc>[GTK] ATK accessible ancestry broken</short_desc>
          <delta_ts>2009-10-20 17:21:11 -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>PC</rep_platform>
          <op_sys>Linux</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>
          
          <blocked>25531</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Joanmarie Diggs">jdiggs</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>apinheiro</cc>
    
    <cc>commit-queue</cc>
    
    <cc>walker.willie</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>118924</commentid>
    <comment_count>0</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-04-26 14:21:56 -0700</bug_when>
    <thetext>Steps to reproduce:

1. In WebKit Gtk or Epiphany, view http://google.com

2. In Accerciser&apos;s tree of accessibles, locate the app chosen in step 1, and select the scroll pane.

3. In Accerciser&apos;s iPython console, type:

   acc[0].parent == acc

4. In Accerciser&apos;s tree of accessibles, locate the accessible of role panel which is the first child of the document frame.

5. Repeat step 3.

Expected results: Steps 3 and 5 would cause True to be returned.

Actual results: Steps 3 and 5 cause False to be returned. For some reason asking for the parent of the document frame returns None rather than the scroll pane which is its parent. Asking for the parent of the text object named &quot;Web&quot; returns an accessible of role unknown which isn&apos;t visible in the tree of accessibles.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125213</commentid>
    <comment_count>1</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-06-10 14:19:34 -0700</bug_when>
    <thetext>Xan: As icky as this one might be, what do you think about giving this one a go next(ish)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126617</commentid>
    <comment_count>2</comment_count>
      <attachid>31476</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-06-17 17:30:28 -0700</bug_when>
    <thetext>Created attachment 31476
dogtail test script to help illustrate the problem

Xan: I got to this sooner than I thought I would. :-)

This simple dogtail script descends the hierarchy from the scroll pane (parent of the document frame), looking at the first child at each level in the hierarchy. It then reverses direction and ascends the ancestry. The end results should be the same; they are not, which is what this bug is about. :-) Examples:

~~~
$ ./bug-25411.py http://google.com

====================
TOP DOWN/HIERARCHY
====================
scroll pane
document frame
panel
text

====================
BOTTOM UP/ANCESTRY
====================
document frame
panel
panel
panel
unknown
unknown
text

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

$ ./bug-25411.py http://yahoo.com

====================
TOP DOWN/HIERARCHY
====================
scroll pane
document frame
list
link
text

====================
BOTTOM UP/ANCESTRY
====================
document frame
panel
panel
panel
panel
panel
panel
panel
list
list item
link
unknown
text

~~~
Note that the top-down should match what is seen in Accerciser&apos;s tree of accessibles.

Dogtail does assume a11y has been enabled. Session-wide I believe. I didn&apos;t investigate if that could be avoided. Sorry!

Hope this is of some use.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155450</commentid>
    <comment_count>3</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-10-17 22:50:34 -0700</bug_when>
    <thetext>I just spun off part of this bug as newly-filed bug 30489. This bug will deal with the brokenness *within* web content (i.e. step 5; not step 3 from the opening report).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155459</commentid>
    <comment_count>4</comment_count>
      <attachid>41372</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-10-17 23:29:09 -0700</bug_when>
    <thetext>Created attachment 41372
proposed patch - take 1

If you set the parent in webkit_accessible_ref_child, the AtkObject will know who its parent is. This seems (to me) to eliminate the need for WebKit&apos;s implementation of atk_object_get_parent. More importantly, once webkit_accessible_get_parent is removed, AND the parent has been set, I suddenly start seeing the correct, expected ancestry.

So.... Is there any reason WebKit should continue to implement atk_object_get_parent? If there is, it will need smarts to distinguish real parents from fake ones which seems (to me) to be more hassle than it is worth. But if there is, let me know and I will give it a go.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155480</commentid>
    <comment_count>5</comment_count>
      <attachid>41372</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-10-18 08:49:49 -0700</bug_when>
    <thetext>Comment on attachment 41372
proposed patch - take 1

Looking at the history indicates that it should be fine to use set_parent here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155484</commentid>
    <comment_count>6</comment_count>
      <attachid>41372</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-10-18 08:55:51 -0700</bug_when>
    <thetext>Comment on attachment 41372
proposed patch - take 1

So, my only concern is that it seems to me with this patch you basically need to always have called ref_child for get_parent to work. Is this OK?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155501</commentid>
    <comment_count>7</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-10-18 09:40:43 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 41372 [details])
&gt; So, my only concern is that it seems to me with this patch you basically need
&gt; to always have called ref_child for get_parent to work. Is this OK?

Heck, I was hoping you knew. ;-) I&apos;m still finding my way around the code, so to be honest, I&apos;m not sure.

What happens when a document is loaded in WebKit? If the process is that a document loads and an accessible version of the document is rendered from the top down, I think this would be OK. If instead, nothing gets rendered until the user interacts with it, then, no, it wouldn&apos;t be OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155510</commentid>
    <comment_count>8</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-10-18 11:11:30 -0700</bug_when>
    <thetext>I&apos;m working on the label relationship stuff at the moment, but a little voice inside my head is suggesting that it would be safer to leave the WebKit implementation of atk_object_get_parent in place, but give it some smarts.... I&apos;ll tackle that next. Sorry for the noise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155514</commentid>
    <comment_count>9</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-10-18 11:45:27 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (From update of attachment 41372 [details] [details])
&gt; &gt; So, my only concern is that it seems to me with this patch you basically need
&gt; &gt; to always have called ref_child for get_parent to work. Is this OK?
&gt; 
&gt; Heck, I was hoping you knew. ;-) I&apos;m still finding my way around the code, so
&gt; to be honest, I&apos;m not sure.
&gt; 
&gt; What happens when a document is loaded in WebKit? If the process is that a
&gt; document loads and an accessible version of the document is rendered from the
&gt; top down, I think this would be OK. If instead, nothing gets rendered until the
&gt; user interacts with it, then, no, it wouldn&apos;t be OK.

So, what I really meant is how applications like Orca use the ATK APIs. If there&apos;s any chance than get_parent would be called before ref_child then the patch is wrong, as get_parent would return NULL. AFAIK WebKit constructs the DOM tree when the page is loaded, and the a11y tree is constructed on-demand when the a11y APIs are called.

But since you think the patch is wrong anyway we&apos;ll clear the queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155515</commentid>
    <comment_count>10</comment_count>
      <attachid>41372</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-10-18 11:45:48 -0700</bug_when>
    <thetext>Comment on attachment 41372
proposed patch - take 1

Clear the flags.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155666</commentid>
    <comment_count>11</comment_count>
      <attachid>41413</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-10-19 05:53:59 -0700</bug_when>
    <thetext>Created attachment 41413
More conservative approach

This is a more conservative version of the previous patch:

* Still sets the parent when we ref the child

* Still tries to have the Atk child identify its parent

BUT

* Keeps WebKit&apos;s existing implementation of get_parent in place, falling back to it when the child cannot identify its parent

Doing so seems to solve the bulk of the issues because more often than not, the user is reading a page and we&apos;re descending the accessible hierarchy as a result. The case it doesn&apos;t solve (in theory) is this:

* Some object the user has not interacted with suddenly starts emitting events on its own, AND

* We have a need for the ancestry to perfectly match the hierarchy

In which case, having fallen back on the old logic, we are no more broken than we were before. ;-) Rather than try to find such a case in the wild now, I&apos;d rather focus on the immediate (GNOME 2.30/3.0) needs (i.e. all of the other a11y bugs we have open). As soon as we find that special case, we can open a new bug for it.

Thoughts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156289</commentid>
    <comment_count>12</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-10-20 13:56:20 -0700</bug_when>
    <thetext>Xan: Ping. :-)

Since you reviewed the Table Interface patch which I intentionally didn&apos;t ask for a review on, I figured you must have missed this one. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156293</commentid>
    <comment_count>13</comment_count>
      <attachid>41413</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-10-20 14:07:38 -0700</bug_when>
    <thetext>Comment on attachment 41413
More conservative approach

This looks like we might be covering some serious issue, but I guess it&apos;s OK for now as a workaround.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156299</commentid>
    <comment_count>14</comment_count>
      <attachid>41413</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-20 14:20:57 -0700</bug_when>
    <thetext>Comment on attachment 41413
More conservative approach

Clearing flags on attachment: 41413

Committed r49885: &lt;http://trac.webkit.org/changeset/49885&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156300</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-20 14:21:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156353</commentid>
    <comment_count>16</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-10-20 17:21:11 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 41413 [details])
&gt; This looks like we might be covering some serious issue,

Yes ... and no. :-)

I agree that there is a serious underlying issue which needs to be identified and properly fixed. I also agree that what I&apos;ve done here is merely a bandaid -- one which gets something that is already in place (WebKit&apos;s implementation of atk_object_get_parent) to work as expected from the AT client perspective. That said:

* atk_object_get_index_in_parent (not yet implemented) is impacted by this same issue

* The accessible hierarchy for tables is completely borked. I was hoping that it would magically unbork itself once we started getting the accessible table interface implemented. No such luck, based on what I&apos;m seeing in my sandbox.

In other words, we have at least two opportunities to identify and properly fix the serious underlying hierarchy/ancestry issue(s). I plan to start digging into this underlying issue before too long. And I&apos;ll likely be coming to you for assistance/advice once I&apos;ve dug into it because I suspect it might not be trivial.

All a long way of saying that the issue you&apos;re referring to is still very much on my radar and will not (arguably cannot) be forgotten. :-)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>31476</attachid>
            <date>2009-06-17 17:30:28 -0700</date>
            <delta_ts>2009-06-17 17:30:28 -0700</delta_ts>
            <desc>dogtail test script to help illustrate the problem</desc>
            <filename>bug-25411.py</filename>
            <type>text/plain</type>
            <size>1129</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">IyEvdXNyL2Jpbi9weXRob24KIyBEb2d0YWlsIHRlc3Qgc2NyaXB0IGZvciBXZWJLaXQgYnVnICMy
NTQxMQojIFVzYWdlOiAuL2J1Zy0yNTQxMS5weSA8dXJsPgojCmltcG9ydCBzeXMKCmZyb20gZG9n
dGFpbC51dGlscyBpbXBvcnQgKgpmcm9tIGRvZ3RhaWwgaW1wb3J0IHRyZWUKZnJvbSBkb2d0YWls
IGltcG9ydCBwcmVkaWNhdGUKCnJ1bignZXBpcGhhbnkgJXMnICUgc3lzLmFyZ3ZbMV0pCmFwcCA9
IHRyZWUucm9vdC5hcHBsaWNhdGlvbignZXBpcGhhbnknKQpkb0RlbGF5KDMpCgp0YXJnZXQgPSBO
b25lCiMgRGVzY2VuZCB0aGUgaGllcmFyY2h5LCBzdGFydGluZyBmcm9tIHRoZSBzY3JvbGwgcGFu
ZSBhbmQgY2hvb3NpbmcgdGhlCiMgZmlyc3QgY2hpbGQgYXQgdGhlIGN1cnJlbnQgbGV2ZWwgdW50
aWwgdGhlcmUgYXJlIG5vIG1vcmUgY2hpbGRyZW4uCiMKaGllcmFyY2h5ID0gW10Kb2JqID0gYXBw
LmNoaWxkKHJvbGVOYW1lID0gJ3Njcm9sbCBwYW5lJykKd2hpbGUgb2JqOgogICAgaGllcmFyY2h5
LmFwcGVuZChvYmoucm9sZU5hbWUpCiAgICBpZiBub3Qgb2JqLmNoaWxkcmVuOgogICAgICAgIHRh
cmdldCA9IG9iagogICAgICAgIGJyZWFrCiAgICBvYmogPSBvYmouY2hpbGRyZW5bMF0KCiMgR2V0
IHRoZSBhbmNlc3RyeSBieSBhc2NlbmRpbmcgdGhlIHRyZWUuIEF0IHRoZSBtb21lbnQsIHRoYXQg
d2lsbCBzdG9wCiMgYXQgdGhlIGRvY3VtZW50IGZyYW1lIGR1ZSB0byB0aGUgZG9jdW1lbnQgZnJh
bWUgaW5jb3JyZWN0bHkgY2xhaW1pbmcgdG8KIyBoYXZlIG5vIHBhcmVudC4KIwphbmNlc3RyeSA9
IFtdCndoaWxlIHRhcmdldDoKICAgIGFuY2VzdHJ5LmFwcGVuZCh0YXJnZXQucm9sZU5hbWUpICAK
ICAgIHRhcmdldCA9IHRhcmdldC5wYXJlbnQKYW5jZXN0cnkucmV2ZXJzZSgpCgpwcmludCAiXG49
PT09PT09PT09PT09PT09PT09PSIKcHJpbnQgIlRPUCBET1dOL0hJRVJBUkNIWSIKcHJpbnQgIj09
PT09PT09PT09PT09PT09PT09IgpwcmludCAiXG4iLmpvaW4oaGllcmFyY2h5KQpwcmludCAiXG49
PT09PT09PT09PT09PT09PT09PSIKcHJpbnQgIkJPVFRPTSBVUC9BTkNFU1RSWSIKcHJpbnQgIj09
PT09PT09PT09PT09PT09PT09IgpwcmludCAiXG4iLmpvaW4oYW5jZXN0cnkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41372</attachid>
            <date>2009-10-17 23:29:09 -0700</date>
            <delta_ts>2009-10-19 05:53:59 -0700</delta_ts>
            <desc>proposed patch - take 1</desc>
            <filename>25411-1.patch</filename>
            <type>text/plain</type>
            <size>3595</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSBmMTBlZTI4ZTI3ZmEwYWJmMzM5ZjI1ZTU3OGUyNzgzMWU1Y2YwNWFmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpvYW5tYXJpZS5kaWdnc0BnbWFp
bC5jb20+CkRhdGU6IFN1biwgMTggT2N0IDIwMDkgMDI6MTY6NDEgLTA0MDAKU3ViamVjdDogW1BB
VENIXSBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCmh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yNTQxMQpbR1RLXSBBVEsgYWNjZXNzaWJsZSBhbmNlc3RyeSBicm9r
ZW4KCkNhbGxzIGF0a19vYmplY3Rfc2V0X3BhcmVudCgpIGluIHdlYmtpdF9hY2Nlc3NpYmxlX3Jl
Zl9jaGlsZC4gT25jZSB0aGUKcGFyZW50IGhhcyBiZWVuIHNldCwgdGhlIEF0a09iamVjdCBjaGls
ZCBjYW4gZmluZCBpdCwgc28gdGhlcmUgZG9lc24ndApzZWVtIHRvIGJlIGEgbmVlZCBmb3IgV2Vi
S2l0IHRvIGltcGxlbWVudCBhdGtfb2JqZWN0X2dldF9wYXJlbnQoKS4gTW9yZQppbXBvcnRhbnRs
eSwgcmVtb3ZpbmcgdGhlIFdlYktpdCBpbXBsZW1lbnRhdGlvbiBzdG9wcyBBdGtPYmplY3RzIGZy
b20KY2xhaW1pbmcgYSBib2d1cyBsaW5lYWdlLgoKKiBhY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHA6Cih3ZWJraXRfYWNjZXNzaWJsZV9nZXRfcGFyZW50
KToKKHdlYmtpdF9hY2Nlc3NpYmxlX3JlZl9jaGlsZCk6Cih3ZWJraXRfYWNjZXNzaWJsZV9jbGFz
c19pbml0KToKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAgMTggKysrKysrKysrKysrKysrKysrCiAuLi4vZ3RrL0FjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyQXRrLmNwcCAgICAgICAgICB8ICAgMTQgKy0tLS0tLS0tLS0tLS0KIDIgZmls
ZXMgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1ODkwNzAxLi4x
MmVhNDZkIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDA5LTEwLTE4ICBKb2FubWFyaWUgRGlnZ3MgIDxqb2Fu
bWFyaWUuZGlnZ3NAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
NTQxMQorICAgICAgICBbR1RLXSBBVEsgYWNjZXNzaWJsZSBhbmNlc3RyeSBicm9rZW4KKworICAg
ICAgICBDYWxscyBhdGtfb2JqZWN0X3NldF9wYXJlbnQoKSBpbiB3ZWJraXRfYWNjZXNzaWJsZV9y
ZWZfY2hpbGQuIE9uY2UgdGhlCisgICAgICAgIHBhcmVudCBoYXMgYmVlbiBzZXQsIHRoZSBBdGtP
YmplY3QgY2hpbGQgY2FuIGZpbmQgaXQsIHNvIHRoZXJlIGRvZXNuJ3QKKyAgICAgICAgc2VlbSB0
byBiZSBhIG5lZWQgZm9yIFdlYktpdCB0byBpbXBsZW1lbnQgYXRrX29iamVjdF9nZXRfcGFyZW50
KCkuIE1vcmUKKyAgICAgICAgaW1wb3J0YW50bHksIHJlbW92aW5nIHRoZSBXZWJLaXQgaW1wbGVt
ZW50YXRpb24gc3RvcHMgQXRrT2JqZWN0cyBmcm9tCisgICAgICAgIGNsYWltaW5nIGEgYm9ndXMg
bGluZWFnZS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyQXRrLmNwcDoKKyAgICAgICAgKHdlYmtpdF9hY2Nlc3NpYmxlX2dldF9wYXJlbnQp
OgorICAgICAgICAod2Via2l0X2FjY2Vzc2libGVfcmVmX2NoaWxkKToKKyAgICAgICAgKHdlYmtp
dF9hY2Nlc3NpYmxlX2NsYXNzX2luaXQpOgorCiAyMDA5LTEwLTE3ICBOaWtvbGFzIFppbW1lcm1h
bm4gIDxuemltbWVybWFubkByaW0uY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEdlb3JnZSBT
dGFpa29zLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlckF0ay5jcHAgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcAppbmRleCAwZWMwNzNiLi5iZTFmYmMwIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyQXRrLmNwcAorKysgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyQXRrLmNwcApAQCAtMTMyLDE2ICsxMzIsNiBAQCBzdGF0aWMgY29uc3QgZ2No
YXIqIHdlYmtpdF9hY2Nlc3NpYmxlX2dldF9kZXNjcmlwdGlvbihBdGtPYmplY3QqIG9iamVjdCkK
ICAgICByZXR1cm4gcmV0dXJuU3RyaW5nKGNvcmUob2JqZWN0KS0+YWNjZXNzaWJpbGl0eURlc2Ny
aXB0aW9uKCkpOwogfQogCi1zdGF0aWMgQXRrT2JqZWN0KiB3ZWJraXRfYWNjZXNzaWJsZV9nZXRf
cGFyZW50KEF0a09iamVjdCogb2JqZWN0KQotewotICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIGNv
cmVQYXJlbnQgPSBjb3JlKG9iamVjdCktPnBhcmVudE9iamVjdCgpOwotCi0gICAgaWYgKCFjb3Jl
UGFyZW50KQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIHJldHVybiBjb3JlUGFyZW50LT53
cmFwcGVyKCk7Ci19Ci0KIHN0YXRpYyBnaW50IHdlYmtpdF9hY2Nlc3NpYmxlX2dldF9uX2NoaWxk
cmVuKEF0a09iamVjdCogb2JqZWN0KQogewogICAgIHJldHVybiBjb3JlKG9iamVjdCktPmNoaWxk
cmVuKCkuc2l6ZSgpOwpAQCAtMTYwLDggKzE1MCw3IEBAIHN0YXRpYyBBdGtPYmplY3QqIHdlYmtp
dF9hY2Nlc3NpYmxlX3JlZl9jaGlsZChBdGtPYmplY3QqIG9iamVjdCwgZ2ludCBpbmRleCkKICAg
ICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBBdGtPYmplY3QqIGNoaWxkID0gY29yZUNoaWxkLT53
cmFwcGVyKCk7Ci0gICAgLy8gVE9ETzogU2hvdWxkIHdlIGNhbGwgYXRrX29iamVjdF9zZXRfcGFy
ZW50KCkgaGVyZT8KLSAgICAvL2F0a19vYmplY3Rfc2V0X3BhcmVudChjaGlsZCwgb2JqZWN0KTsK
KyAgICBhdGtfb2JqZWN0X3NldF9wYXJlbnQoY2hpbGQsIG9iamVjdCk7CiAgICAgZ19vYmplY3Rf
cmVmKGNoaWxkKTsKIAogICAgIHJldHVybiBjaGlsZDsKQEAgLTQyNCw3ICs0MTMsNiBAQCBzdGF0
aWMgdm9pZCB3ZWJraXRfYWNjZXNzaWJsZV9jbGFzc19pbml0KEF0a09iamVjdENsYXNzKiBrbGFz
cykKICAgICBrbGFzcy0+aW5pdGlhbGl6ZSA9IHdlYmtpdF9hY2Nlc3NpYmxlX2luaXQ7CiAgICAg
a2xhc3MtPmdldF9uYW1lID0gd2Via2l0X2FjY2Vzc2libGVfZ2V0X25hbWU7CiAgICAga2xhc3Mt
PmdldF9kZXNjcmlwdGlvbiA9IHdlYmtpdF9hY2Nlc3NpYmxlX2dldF9kZXNjcmlwdGlvbjsKLSAg
ICBrbGFzcy0+Z2V0X3BhcmVudCA9IHdlYmtpdF9hY2Nlc3NpYmxlX2dldF9wYXJlbnQ7CiAgICAg
a2xhc3MtPmdldF9uX2NoaWxkcmVuID0gd2Via2l0X2FjY2Vzc2libGVfZ2V0X25fY2hpbGRyZW47
CiAgICAga2xhc3MtPnJlZl9jaGlsZCA9IHdlYmtpdF9hY2Nlc3NpYmxlX3JlZl9jaGlsZDsKICAg
ICBrbGFzcy0+Z2V0X3JvbGUgPSB3ZWJraXRfYWNjZXNzaWJsZV9nZXRfcm9sZTsKLS0gCjEuNi4z
LjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41413</attachid>
            <date>2009-10-19 05:53:59 -0700</date>
            <delta_ts>2009-10-20 14:20:57 -0700</delta_ts>
            <desc>More conservative approach</desc>
            <filename>25411-2.patch</filename>
            <type>text/plain</type>
            <size>3613</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSBhM2FlNzAxYjIzZTlmOWRhNzk1MjFjZjAwMjI5OWM4OWQwODZkYWY1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpvYW5tYXJpZS5kaWdnc0BnbWFp
bC5jb20+CkRhdGU6IE1vbiwgMTkgT2N0IDIwMDkgMDg6Mzg6MzEgLTA0MDAKU3ViamVjdDogW1BB
VENIXSBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCmh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yNTQxMQpbR1RLXSBBVEsgYWNjZXNzaWJsZSBhbmNlc3RyeSBicm9r
ZW4KCldvcmsgYXJvdW5kIGZvciB0aGUgcHJvYmxlbSBvZiBib2d1cyBhZGRpdGlvbmFsIG9iamVj
dHMgaW4gdGhlIGFuY2VzdHJ5LgpXZSBub3cgc2V0IHRoZSBwYXJlbnQgd2hlbiB3ZSByZWYgdGhl
IGNoaWxkLCB0aGVuIGFzayB0aGUgQXRrIGNoaWxkIGlmCml0IGtub3dzIGl0cyBwYXJlbnQuIFRo
aXMgc29sdmVzIHRoZSBidWxrIG9mIHRoZSBjYXNlcy4gRm9yIHRob3NlIGl0CmRvZXNuJ3QsIGZh
bGwgYmFjayB0byB0aGUgZXhpc3RpbmcgbG9naWMuCgoqIGFjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcDoKKHdlYmtpdF9hY2Nlc3NpYmxlX2dldF9wYXJl
bnQpOgood2Via2l0X2FjY2Vzc2libGVfcmVmX2NoaWxkKToKLS0tCiBXZWJDb3JlL0NoYW5nZUxv
ZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTYgKysrKysrKysrKysrKysr
KwogLi4uL2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAgICAgICAgICAgfCAg
IDEzICsrKysrKysrKy0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgNCBk
ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDU1YmMxODAuLjQ4ZTgwODcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjEgQEAKIDIwMDktMTAtMTkg
IEpvYW5tYXJpZSBEaWdncyAgPGpvYW5tYXJpZS5kaWdnc0BnbWFpbC5jb20+CiAKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NDExCisgICAgICAgIFtHVEtdIEFUSyBhY2Nlc3NpYmxl
IGFuY2VzdHJ5IGJyb2tlbgorCisgICAgICAgIFdvcmsgYXJvdW5kIGZvciB0aGUgcHJvYmxlbSBv
ZiBib2d1cyBhZGRpdGlvbmFsIG9iamVjdHMgaW4gdGhlIGFuY2VzdHJ5LgorICAgICAgICBXZSBu
b3cgc2V0IHRoZSBwYXJlbnQgd2hlbiB3ZSByZWYgdGhlIGNoaWxkLCB0aGVuIGFzayB0aGUgQXRr
IGNoaWxkIGlmCisgICAgICAgIGl0IGtub3dzIGl0cyBwYXJlbnQuIFRoaXMgc29sdmVzIHRoZSBi
dWxrIG9mIHRoZSBjYXNlcy4gRm9yIHRob3NlIGl0CisgICAgICAgIGRvZXNuJ3QsIGZhbGwgYmFj
ayB0byB0aGUgZXhpc3RpbmcgbG9naWMuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9B
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHA6CisgICAgICAgICh3ZWJraXRfYWNjZXNz
aWJsZV9nZXRfcGFyZW50KToKKyAgICAgICAgKHdlYmtpdF9hY2Nlc3NpYmxlX3JlZl9jaGlsZCk6
CisKKzIwMDktMTAtMTkgIEpvYW5tYXJpZSBEaWdncyAgPGpvYW5tYXJpZS5kaWdnc0BnbWFpbC5j
b20+CisKICAgICAgICAgUmV2aWV3ZWQgYnkgWGFuIExvcGV6LgogCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDQ4OQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAgYi9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNw
cAppbmRleCBjMzNlMzc1Li40ZGZiMWM1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcAorKysgYi9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcApAQCAtMTMy
LDggKzEzMiwxNiBAQCBzdGF0aWMgY29uc3QgZ2NoYXIqIHdlYmtpdF9hY2Nlc3NpYmxlX2dldF9k
ZXNjcmlwdGlvbihBdGtPYmplY3QqIG9iamVjdCkKICAgICByZXR1cm4gcmV0dXJuU3RyaW5nKGNv
cmUob2JqZWN0KS0+YWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uKCkpOwogfQogCitzdGF0aWMgZ3Bv
aW50ZXIgd2Via2l0X2FjY2Vzc2libGVfcGFyZW50X2NsYXNzID0gTlVMTDsKKwogc3RhdGljIEF0
a09iamVjdCogd2Via2l0X2FjY2Vzc2libGVfZ2V0X3BhcmVudChBdGtPYmplY3QqIG9iamVjdCkK
IHsKKyAgICAvLyBUbyB3b3JrIGFyb3VuZCBib2d1cyBhZGRpdGlvbmFsIG9iamVjdHMgaW4gdGhl
IGFuY2VzdHJ5LCB3ZSBzZXQgdGhlCisgICAgLy8gcGFyZW50IHdoZW4gd2UgcmVmIHRoZSBjaGls
ZC4gSWYgdGhlIGNoaWxkIGtub3dzIGl0cyBwYXJlbnQsIHVzZSB0aGF0LgorICAgIEF0a09iamVj
dCogcGFyZW50ID0gQVRLX09CSkVDVF9DTEFTUyh3ZWJraXRfYWNjZXNzaWJsZV9wYXJlbnRfY2xh
c3MpLT5nZXRfcGFyZW50KG9iamVjdCk7CisgICAgaWYgKHBhcmVudCkKKyAgICAgICAgcmV0dXJu
IHBhcmVudDsKKwogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIGNvcmVQYXJlbnQgPSBjb3JlKG9i
amVjdCktPnBhcmVudE9iamVjdCgpOwogCiAgICAgLy8gVGhlIHRvcCBsZXZlbCB3ZWIgdmlldyBj
bGFpbXMgdG8gbm90IGhhdmUgYSBwYXJlbnQuIFRoaXMgbWFrZXMgaXQKQEAgLTE3NSw4ICsxODMs
NyBAQCBzdGF0aWMgQXRrT2JqZWN0KiB3ZWJraXRfYWNjZXNzaWJsZV9yZWZfY2hpbGQoQXRrT2Jq
ZWN0KiBvYmplY3QsIGdpbnQgaW5kZXgpCiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgQXRr
T2JqZWN0KiBjaGlsZCA9IGNvcmVDaGlsZC0+d3JhcHBlcigpOwotICAgIC8vIFRPRE86IFNob3Vs
ZCB3ZSBjYWxsIGF0a19vYmplY3Rfc2V0X3BhcmVudCgpIGhlcmU/Ci0gICAgLy9hdGtfb2JqZWN0
X3NldF9wYXJlbnQoY2hpbGQsIG9iamVjdCk7CisgICAgYXRrX29iamVjdF9zZXRfcGFyZW50KGNo
aWxkLCBvYmplY3QpOwogICAgIGdfb2JqZWN0X3JlZihjaGlsZCk7CiAKICAgICByZXR1cm4gY2hp
bGQ7CkBAIC0zOTksOCArNDA2LDYgQEAgc3RhdGljIHZvaWQgc2V0QXRrU3RhdGVTZXRGcm9tQ29y
ZU9iamVjdChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JlT2JqZWN0LCBBdGtTdGEKICAgICAgICAg
YXRrX3N0YXRlX3NldF9hZGRfc3RhdGUoc3RhdGVTZXQsIEFUS19TVEFURV9WSVNJVEVEKTsKIH0K
IAotc3RhdGljIGdwb2ludGVyIHdlYmtpdF9hY2Nlc3NpYmxlX3BhcmVudF9jbGFzcyA9IE5VTEw7
Ci0KIHN0YXRpYyBBdGtTdGF0ZVNldCogd2Via2l0X2FjY2Vzc2libGVfcmVmX3N0YXRlX3NldChB
dGtPYmplY3QqIG9iamVjdCkKIHsKICAgICBBdGtTdGF0ZVNldCogc3RhdGVTZXQgPSBBVEtfT0JK
RUNUX0NMQVNTKHdlYmtpdF9hY2Nlc3NpYmxlX3BhcmVudF9jbGFzcyktPnJlZl9zdGF0ZV9zZXQo
b2JqZWN0KTsKLS0gCjEuNi4zLjMKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>