<?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>43044</bug_id>
          
          <creation_ts>2010-07-27 06:58:21 -0700</creation_ts>
          <short_desc>WebAccessibilityObject should provide access to computedStyle</short_desc>
          <delta_ts>2010-09-03 00:00:16 -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>Windows Vista</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>0</everconfirmed>
          <reporter name="Dominic Mazzoni">dmazzoni</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ctguil</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>256552</commentid>
    <comment_count>0</comment_count>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2010-07-27 06:58:21 -0700</bug_when>
    <thetext>Windows screenreaders want to know if an AccessibilityObject is block or inline in order to determine how content should be read or navigated.

For chromium, WebAccessibilityObject now has access to its corresponding WebNode. All that&apos;s needed now is for WebNode to provide access to the computed style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256555</commentid>
    <comment_count>1</comment_count>
      <attachid>62687</attachid>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2010-07-27 07:12:18 -0700</bug_when>
    <thetext>Created attachment 62687
Implementation of proposed functionality.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256561</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-27 07:14:23 -0700</bug_when>
    <thetext>Attachment 62687 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit/chromium/src/WebRenderStyle.cpp:35:  Alphabetical sorting problem.  [build/include_order] [4]
WebKit/chromium/src/WebRenderStyle.cpp:39:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 2 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256597</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-07-27 08:01:31 -0700</bug_when>
    <thetext>+fishd for WebKit API review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256767</commentid>
    <comment_count>4</comment_count>
      <attachid>62687</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-07-27 12:48:26 -0700</bug_when>
    <thetext>Comment on attachment 62687
Implementation of proposed functionality.

can you fix the style issue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256789</commentid>
    <comment_count>5</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-07-27 13:29:08 -0700</bug_when>
    <thetext>I doubt the lifetime of the WebRenderStyle is what the caller will expect.  In particular this RenderStyle pointer will be deleted if styles on the node are re-resolved, which will be invisible to users of this API.  They&apos;ll just all of a sudden have a WebRenderStyle that points to deleted memory.

WebCore::RenderStyles have very complex lifetimes and are shared between multiple nodes.  I think it makes much more sense to let the caller query specific properties directly from the node and to copy these values out rather than exposing pointers to RenderStyle objects.  In particular, for this case I think all you need is to add these two functions to WebNode:

bool hasComputedStyle();
WebString computedStyleDisplay();

If you end up needing to grab all sorts of different properties off of a node this will get cumbersome, but we should address that when we have a compelling need.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256796</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-07-27 13:37:29 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; In particular, for this case I think all you need is to add these two functions 
&gt; to WebNode:
&gt; 
&gt; bool hasComputedStyle();
&gt; WebString computedStyleDisplay();
&gt; 
&gt; If you end up needing to grab all sorts of different properties off of a node 
&gt; this will get cumbersome, but we should address that when we have a compelling 
&gt; need.

This just doesn&apos;t seem like something that should be a property of a DOM node (WebNode).  Maybe it could be a property of a DOM element (WebElement).  I think we should assume that we&apos;ll have more properties in the future, and so returning a WebComputedStyle object seems better to me (given past experience with the way the WebKit API has grown).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256809</commentid>
    <comment_count>7</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-07-27 13:51:02 -0700</bug_when>
    <thetext>In that case it should do a fully copy of the RenderStyle underneath the hood and not attempt to point to the node&apos;s RenderStyle.  However even in that case I think pretty much all users of WebComputedStyle will be incorrect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256839</commentid>
    <comment_count>8</comment_count>
      <attachid>62746</attachid>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2010-07-27 14:30:03 -0700</bug_when>
    <thetext>Created attachment 62746
Return computedStyleDisplay directly from WebNode.

Here&apos;s a patch that returns computedStyleDisplay directly from WebNode. Maybe we can go with this for now and revisit if/when we end up needing more style attributes from a WebNode later?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256846</commentid>
    <comment_count>9</comment_count>
      <attachid>62748</attachid>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2010-07-27 14:37:12 -0700</bug_when>
    <thetext>Created attachment 62748
Get rid of reference to WebRenderStyle from previous patch

Sorry, uploaded too soon...fixed and tested.

Here&apos;s a patch that returns computedStyleDisplay directly from WebNode. Maybe we can go with this for now and revisit if/when we end up needing more style attributes from a WebNode later?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256854</commentid>
    <comment_count>10</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-07-27 14:41:58 -0700</bug_when>
    <thetext>This feels safer (although the value you get out depends on the style resolution state, which AFAIK is not actually exposed through the API, and so it may be arbitrarily stale).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256856</commentid>
    <comment_count>11</comment_count>
      <attachid>62748</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-07-27 14:45:18 -0700</bug_when>
    <thetext>Comment on attachment 62748
Get rid of reference to WebRenderStyle from previous patch

WebKit/chromium/public/WebNode.h:104
 +      WEBKIT_API bool hasComputedStyle() const;
what about my suggestion to move these methods to WebElement?
does it make sense for there to be computed style on other
types of nodes?

it is possible to call WebFrame::layout() before calling
computedStyleDisplay().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256859</commentid>
    <comment_count>12</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-07-27 14:49:12 -0700</bug_when>
    <thetext>In WebCore the computed style on a Node that&apos;s not an Element is just its parents computed style.  Not sure if that makes sense here.

Forcing layout is more heavyweight than just forcing style resolution, but that would produce correct results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256870</commentid>
    <comment_count>13</comment_count>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2010-07-27 15:02:01 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; In WebCore the computed style on a Node that&apos;s not an Element is just its parents computed style.  Not sure if that makes sense here.
&gt; 
&gt; Forcing layout is more heavyweight than just forcing style resolution, but that would produce correct results.

Note that to produce the initial accessibility tree for Chromium, we need to walk the entire tree and call this method for every node. Does it make sense to call WebFrame::layout() every single time? Or would it be better to just add a comment here that the caller should call WebFrame::layout first?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256872</commentid>
    <comment_count>14</comment_count>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2010-07-27 15:04:58 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; what about my suggestion to move these methods to WebElement?
&gt; does it make sense for there to be computed style on other
&gt; types of nodes?

I just thought that since WebCore::Node provides getComputedStyle, why not expose that and keep it simpler for the calling function? If it&apos;s better to use Element::getComputedStyle, why does Node::getComputedStyle exist?

But I&apos;m happy either way, I&apos;ll move it to WebElement instead if you want.

Just let me know if you really want me to call layout() when I know this is going to be used in an inner loop...it seems inefficient.

- Dominic</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257147</commentid>
    <comment_count>15</comment_count>
      <attachid>62820</attachid>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2010-07-28 07:57:26 -0700</bug_when>
    <thetext>Created attachment 62820
Moved to WebElement, now calls document-&gt;updateStyleAsNeeded to make sure the style is not stale.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257180</commentid>
    <comment_count>16</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-07-28 08:54:06 -0700</bug_when>
    <thetext>I really don&apos;t like such a low-level hook into WebCore. Is there any way we could move the accessibility tree traversal logic into WebCore? In other words, move the stuff that deals with WebCore objects into WebCore and leave only shipping/exchange API in the WebKit API?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257189</commentid>
    <comment_count>17</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-07-28 09:12:56 -0700</bug_when>
    <thetext>Per IM conversation with Dominic, to limit the number of possible uses of this API (because I don&apos;t really want Chromium folks to assume that this is a free accessor, because it&apos;s actually rather expensive anb side-effectey), can we move it to WebAccessibilityObject?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257209</commentid>
    <comment_count>18</comment_count>
      <attachid>62836</attachid>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2010-07-28 09:47:14 -0700</bug_when>
    <thetext>Created attachment 62836
Moved to WebAccessibilityObject</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257229</commentid>
    <comment_count>19</comment_count>
      <attachid>62836</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-07-28 10:05:59 -0700</bug_when>
    <thetext>Comment on attachment 62836
Moved to WebAccessibilityObject

ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257526</commentid>
    <comment_count>20</comment_count>
      <attachid>62836</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-28 20:12:25 -0700</bug_when>
    <thetext>Comment on attachment 62836
Moved to WebAccessibilityObject

Clearing flags on attachment: 62836

Committed r64260: &lt;http://trac.webkit.org/changeset/64260&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257527</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-28 20:12:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62687</attachid>
            <date>2010-07-27 07:12:18 -0700</date>
            <delta_ts>2010-07-27 14:30:03 -0700</delta_ts>
            <desc>Implementation of proposed functionality.</desc>
            <filename>webkit5-1</filename>
            <type>text/plain</type>
            <size>9618</size>
            <attacher name="Dominic Mazzoni">dmazzoni</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gNjQxMjUpCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTAtMDctMjcgIERvbWlu
aWMgTWF6em9uaSAgPGRtYXp6b25pQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGFjY2VzcyB0byBjb21wdXRlZCBzdHlsZSBm
cm9tIGEgV2ViTm9kZS4gV2ViUmVuZGVyU3R5bGUgb25seQorICAgICAgICBwcm92aWRlcyBhY2Nl
c3MgdG8gZGlzcGxheSgpIGZvciBub3csIGFzIHRoYXQncyBhbGwgdGhhdCdzIG5lZWRlZC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzMDQ0CisKKyAg
ICAgICAgKiBXZWJLaXQuZ3lwOgorICAgICAgICAqIHB1YmxpYy9XZWJOb2RlLmg6CisgICAgICAg
ICogcHVibGljL1dlYlJlbmRlclN0eWxlLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJS
ZW5kZXJTdHlsZTo6fldlYlJlbmRlclN0eWxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVuZGVy
U3R5bGU6OldlYlJlbmRlclN0eWxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVuZGVyU3R5bGU6
Om9wZXJhdG9yPSk6CisgICAgICAgICogc3JjL1dlYk5vZGUuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJOb2RlOjpoYXNDb21wdXRlZFN0eWxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViTm9kZTo6
Y29tcHV0ZWRTdHlsZSk6CisgICAgICAgICogc3JjL1dlYlJlbmRlclN0eWxlLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJLaXQ6OldlYlJlbmRlclN0eWxlOjpyZXNldCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlJlbmRlclN0eWxlOjphc3NpZ24pOgorICAgICAgICAoV2ViS2l0OjpXZWJSZW5kZXJT
dHlsZTo6V2ViUmVuZGVyU3R5bGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJSZW5kZXJTdHlsZTo6
ZGlzcGxheSk6CisKIDIwMTAtMDctMjcgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCkluZGV4OiBXZWJL
aXQvY2hyb21pdW0vV2ViS2l0Lmd5cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vV2Vi
S2l0Lmd5cAkocmV2aXNpb24gNjQxMjQpCisrKyBXZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAko
d29ya2luZyBjb3B5KQpAQCAtMjE4LDYgKzIxOCw3IEBACiAgICAgICAgICAgICAgICAgJ3B1Ymxp
Yy9XZWJQcml2YXRlUHRyLmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViUmFuZ2UuaCcs
CiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJSZWN0LmgnLAorICAgICAgICAgICAgICAgICdw
dWJsaWMvV2ViUmVuZGVyU3R5bGUuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJSZWd1
bGFyRXhwcmVzc2lvbi5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYlJ1bnRpbWVGZWF0
dXJlcy5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYlNjcm9sbGJhci5oJywKQEAgLTQ1
Miw2ICs0NTMsNyBAQAogICAgICAgICAgICAgICAgICdzcmMvV2ViUG9wdXBNZW51SW1wbC5oJywK
ICAgICAgICAgICAgICAgICAnc3JjL1dlYlJhbmdlLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3Ny
Yy9XZWJSZWd1bGFyRXhwcmVzc2lvbi5jcHAnLAorICAgICAgICAgICAgICAgICdzcmMvV2ViUmVu
ZGVyU3R5bGUuY3BwJywKICAgICAgICAgICAgICAgICAnc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5j
cHAnLAogICAgICAgICAgICAgICAgICdzcmMvV2ViU2NyaXB0Q29udHJvbGxlci5jcHAnLAogICAg
ICAgICAgICAgICAgICdzcmMvV2ViU2Nyb2xsYmFySW1wbC5jcHAnLApJbmRleDogV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJOb2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJOb2RlLmgJKHJldmlzaW9uIDY0MTI0KQorKysgV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJOb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDcgQEAgY2xhc3MgV2ViRXZl
bnRMaXN0ZW5lcjsKIGNsYXNzIFdlYkV2ZW50TGlzdGVuZXJQcml2YXRlOwogY2xhc3MgV2ViRnJh
bWU7CiBjbGFzcyBXZWJOb2RlTGlzdDsKK2NsYXNzIFdlYlJlbmRlclN0eWxlOwogCiAvLyBQcm92
aWRlcyBhY2Nlc3MgdG8gc29tZSBwcm9wZXJ0aWVzIG9mIGEgRE9NIG5vZGUuCiBjbGFzcyBXZWJO
b2RlIHsKQEAgLTEwMSw2ICsxMDIsOCBAQCBwdWJsaWM6CiAgICAgV0VCS0lUX0FQSSB2b2lkIHJl
bW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgV2ViU3RyaW5nJiBldmVudFR5cGUsIFdlYkV2ZW50TGlz
dGVuZXIqIGxpc3RlbmVyLCBib29sIHVzZUNhcHR1cmUpOwogICAgIFdFQktJVF9BUEkgdm9pZCBz
aW11bGF0ZUNsaWNrKCk7CiAgICAgV0VCS0lUX0FQSSBXZWJOb2RlTGlzdCBnZXRFbGVtZW50c0J5
VGFnTmFtZShjb25zdCBXZWJTdHJpbmcmKSBjb25zdDsKKyAgICBXRUJLSVRfQVBJIGJvb2wgaGFz
Q29tcHV0ZWRTdHlsZSgpIGNvbnN0OworICAgIFdFQktJVF9BUEkgV2ViUmVuZGVyU3R5bGUgY29t
cHV0ZWRTdHlsZSgpIGNvbnN0OwogCiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBub2RlIGhh
cyBhIG5vbi1lbXB0eSBib3VuZGluZyBib3ggaW4gbGF5b3V0LgogICAgIC8vIFRoaXMgZG9lcyBu
b3QgMTAwJSBndWFyYW50ZWUgdGhlIHVzZXIgY2FuIHNlZSBpdCwgYnV0IGlzIHByZXR0eSBjbG9z
ZS4KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUmVuZGVyU3R5bGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJlbmRlclN0eWxlLmgJKHJldmlzaW9u
IDApCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJlbmRlclN0eWxlLmgJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsNzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYlJlbmRlclN0eWxlX2gKKyNkZWZpbmUgV2Vi
UmVuZGVyU3R5bGVfaAorCisjaW5jbHVkZSAiV2ViQ29tbW9uLmgiCisjaW5jbHVkZSAiV2ViUHJp
dmF0ZVB0ci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7IGNsYXNzIFJlbmRlclN0eWxlOyB9Cisj
aWYgV0VCS0lUX0lNUExFTUVOVEFUSU9OCituYW1lc3BhY2UgV1RGIHsgdGVtcGxhdGUgPHR5cGVu
YW1lIFQ+IGNsYXNzIFBhc3NSZWZQdHI7IH0KKyNlbmRpZgorCituYW1lc3BhY2UgV2ViS2l0IHsK
K2NsYXNzIFdlYlN0cmluZzsKKworLy8gUHJvdmlkZXMgcmVhZG9ubHkgYWNjZXNzIHRvIHNvbWUg
cHJvcGVydGllcyBvZiBhIERPTSBub2RlJ3Mgc3R5bGUuCitjbGFzcyBXZWJSZW5kZXJTdHlsZSB7
CitwdWJsaWM6CisgICAgfldlYlJlbmRlclN0eWxlKCkgeyByZXNldCgpOyB9CisKKyAgICBXZWJS
ZW5kZXJTdHlsZSgpIHsgfQorICAgIFdlYlJlbmRlclN0eWxlKGNvbnN0IFdlYlJlbmRlclN0eWxl
JiBuKSB7IGFzc2lnbihuKTsgfQorICAgIFdlYlJlbmRlclN0eWxlJiBvcGVyYXRvcj0oY29uc3Qg
V2ViUmVuZGVyU3R5bGUmIG4pCisgICAgeworICAgICAgICBhc3NpZ24obik7CisgICAgICAgIHJl
dHVybiAqdGhpczsKKyAgICB9CisKKyAgICBXRUJLSVRfQVBJIHZvaWQgcmVzZXQoKTsKKyAgICBX
RUJLSVRfQVBJIHZvaWQgYXNzaWduKGNvbnN0IFdlYlJlbmRlclN0eWxlJik7CisKKyAgICBXRUJL
SVRfQVBJIFdlYlN0cmluZyBkaXNwbGF5KCkgY29uc3Q7CisKKyNpZiBXRUJLSVRfSU1QTEVNRU5U
QVRJT04KKyAgICBXZWJSZW5kZXJTdHlsZShjb25zdCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6
UmVuZGVyU3R5bGU+Jik7CisjZW5kaWYKKworcHJpdmF0ZToKKyAgICBXZWJQcml2YXRlUHRyPFdl
YkNvcmU6OlJlbmRlclN0eWxlPiBtX3ByaXZhdGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKKworI2VuZGlmCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYlJlbmRlclN0eWxlLmgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQogICArIExG
CgpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJOb2RlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYk5vZGUuY3BwCShyZXZpc2lvbiA2NDEyNCkKKysrIFdlYktp
dC9jaHJvbWl1bS9zcmMvV2ViTm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDcg
QEAKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudEltcGwuaCIKICNpbmNsdWRlICJOb2RlLmgi
CiAjaW5jbHVkZSAiTm9kZUxpc3QuaCIKKyNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgogCiAjaW5j
bHVkZSAiRXZlbnRMaXN0ZW5lcldyYXBwZXIuaCIKICNpbmNsdWRlICJXZWJEb2N1bWVudC5oIgpA
QCAtNDMsNiArNDQsNyBAQAogI2luY2x1ZGUgIldlYkV2ZW50TGlzdGVuZXIuaCIKICNpbmNsdWRl
ICJXZWJGcmFtZUltcGwuaCIKICNpbmNsdWRlICJXZWJOb2RlTGlzdC5oIgorI2luY2x1ZGUgIldl
YlJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiV2ViU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViVmVj
dG9yLmgiCiAKQEAgLTE3OCw2ICsxODAsMTYgQEAgV2ViTm9kZUxpc3QgV2ViTm9kZTo6Z2V0RWxl
bWVudHNCeVRhZ05hbQogICAgIHJldHVybiBXZWJOb2RlTGlzdChtX3ByaXZhdGUtPmdldEVsZW1l
bnRzQnlUYWdOYW1lKHRhZykpOwogfQogCitib29sIFdlYk5vZGU6Omhhc0NvbXB1dGVkU3R5bGUo
KSBjb25zdAoreworICAgIHJldHVybiBtX3ByaXZhdGUtPmNvbXB1dGVkU3R5bGUoKTsKK30KKwor
V2ViUmVuZGVyU3R5bGUgV2ViTm9kZTo6Y29tcHV0ZWRTdHlsZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIFdlYlJlbmRlclN0eWxlKG1fcHJpdmF0ZS0+Y29tcHV0ZWRTdHlsZSgpKTsKK30KKwogYm9v
bCBXZWJOb2RlOjpoYXNOb25FbXB0eUJvdW5kaW5nQm94KCkgY29uc3QKIHsKICAgICByZXR1cm4g
bV9wcml2YXRlLT5oYXNOb25FbXB0eUJvdW5kaW5nQm94KCk7CkluZGV4OiBXZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlJlbmRlclN0eWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlJlbmRlclN0eWxlLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYktpdC9jaHJvbWl1bS9z
cmMvV2ViUmVuZGVyU3R5bGUuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDY1IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRp
c3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlJlbmRlclN0eWxlLmgiCisKKyNpbmNsdWRlICJS
ZW5kZXJTdHlsZUNvbnN0YW50cy5oIgorI2luY2x1ZGUgIkNTU1ByaW1pdGl2ZVZhbHVlTWFwcGlu
Z3MuaCIKKyNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CisKKyNpbmNsdWRlICJXZWJTdHJpbmcuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit2b2lkIFdlYlJlbmRlclN0eWxlOjpyZXNldCgpCit7
CisgICAgbV9wcml2YXRlLnJlc2V0KCk7Cit9CisKK3ZvaWQgV2ViUmVuZGVyU3R5bGU6OmFzc2ln
bihjb25zdCBXZWJSZW5kZXJTdHlsZSYgb3RoZXIpCit7CisgICAgbV9wcml2YXRlID0gb3RoZXIu
bV9wcml2YXRlOworfQorCitXZWJSZW5kZXJTdHlsZTo6V2ViUmVuZGVyU3R5bGUoY29uc3QgUGFz
c1JlZlB0cjxSZW5kZXJTdHlsZT4mIG90aGVyKQorICAgIDogbV9wcml2YXRlKG90aGVyKQorewor
fQorCitXZWJTdHJpbmcgV2ViUmVuZGVyU3R5bGU6OmRpc3BsYXkoKSBjb25zdAoreworICAgIHJl
dHVybiBXZWJTdHJpbmcoQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShtX3ByaXZhdGUtPmRpc3Bs
YXkoKSktPmdldFN0cmluZ1ZhbHVlKCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKClBy
b3BlcnR5IGNoYW5nZXMgb246IFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViUmVuZGVyU3R5bGUuY3Bw
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKICAgKyBMRgoK
</data>
<flag name="review"
          id="50913"
          type_id="1"
          status="-"
          setter="cfleizach"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62746</attachid>
            <date>2010-07-27 14:30:03 -0700</date>
            <delta_ts>2010-07-27 14:37:12 -0700</delta_ts>
            <desc>Return computedStyleDisplay directly from WebNode.</desc>
            <filename>webkit5-2</filename>
            <type>text/plain</type>
            <size>3846</size>
            <attacher name="Dominic Mazzoni">dmazzoni</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NDE1NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMTAtMDctMjcgIERvbWluaWMgTWF6em9uaSAgPGRtYXp6b25pQGdv
b2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIGEgbWlzc2luZyBkZXBlbmRlbmN5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDMwNDQKKworICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVW
YWx1ZU1hcHBpbmdzLmg6CisKIDIwMTAtMDctMjcgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2Nh
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpJbmRleDogV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAkocmV2aXNpb24gNjQxNTIpCisrKyBX
ZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJGb250U21vb3RoaW5nTW9kZS5oIgogI2luY2x1ZGUg
IkdyYXBoaWNzVHlwZXMuaCIKICNpbmNsdWRlICJQYXRoLmgiCisjaW5jbHVkZSAiUmVuZGVyU3R5
bGVDb25zdGFudHMuaCIKICNpbmNsdWRlICJTVkdSZW5kZXJTdHlsZURlZnMuaCIKICNpbmNsdWRl
ICJUZXh0RGlyZWN0aW9uLmgiCiAjaW5jbHVkZSAiVGV4dFJlbmRlcmluZ01vZGUuaCIKSW5kZXg6
IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwkocmV2aXNpb24gNjQxNTUpCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDctMjcgIERvbWluaWMgTWF6
em9uaSAgPGRtYXp6b25pQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIGFjY2VzcyB0byBjb21wdXRlZCBzdHlsZSBkaXNwbGF5
IGZyb20gYSBXZWJOb2RlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDMwNDQKKworICAgICAgICAqIHB1YmxpYy9XZWJOb2RlLmg6CisgICAgICAgICog
c3JjL1dlYk5vZGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJOb2RlOjpoYXNDb21wdXRlZFN0
eWxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViTm9kZTo6Y29tcHV0ZWRTdHlsZURpc3BsYXkpOgor
CiAyMDEwLTA3LTI3ICBEdW1pdHJ1IERhbmlsaXVjICA8ZHVtaUBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2aW4uCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYk5vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk5v
ZGUuaAkocmV2aXNpb24gNjQxNTIpCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk5vZGUu
aAkod29ya2luZyBjb3B5KQpAQCAtNDMsNiArNDMsNyBAQCBjbGFzcyBXZWJFdmVudExpc3RlbmVy
OwogY2xhc3MgV2ViRXZlbnRMaXN0ZW5lclByaXZhdGU7CiBjbGFzcyBXZWJGcmFtZTsKIGNsYXNz
IFdlYk5vZGVMaXN0OworY2xhc3MgV2ViUmVuZGVyU3R5bGU7CiAKIC8vIFByb3ZpZGVzIGFjY2Vz
cyB0byBzb21lIHByb3BlcnRpZXMgb2YgYSBET00gbm9kZS4KIGNsYXNzIFdlYk5vZGUgewpAQCAt
MTAxLDYgKzEwMiw4IEBAIHB1YmxpYzoKICAgICBXRUJLSVRfQVBJIHZvaWQgcmVtb3ZlRXZlbnRM
aXN0ZW5lcihjb25zdCBXZWJTdHJpbmcmIGV2ZW50VHlwZSwgV2ViRXZlbnRMaXN0ZW5lciogbGlz
dGVuZXIsIGJvb2wgdXNlQ2FwdHVyZSk7CiAgICAgV0VCS0lUX0FQSSB2b2lkIHNpbXVsYXRlQ2xp
Y2soKTsKICAgICBXRUJLSVRfQVBJIFdlYk5vZGVMaXN0IGdldEVsZW1lbnRzQnlUYWdOYW1lKGNv
bnN0IFdlYlN0cmluZyYpIGNvbnN0OworICAgIFdFQktJVF9BUEkgYm9vbCBoYXNDb21wdXRlZFN0
eWxlKCkgY29uc3Q7CisgICAgV0VCS0lUX0FQSSBXZWJTdHJpbmcgY29tcHV0ZWRTdHlsZURpc3Bs
YXkoKSBjb25zdDsKIAogICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgbm9kZSBoYXMgYSBub24t
ZW1wdHkgYm91bmRpbmcgYm94IGluIGxheW91dC4KICAgICAvLyBUaGlzIGRvZXMgbm90IDEwMCUg
Z3VhcmFudGVlIHRoZSB1c2VyIGNhbiBzZWUgaXQsIGJ1dCBpcyBwcmV0dHkgY2xvc2UuCkluZGV4
OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYk5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9j
aHJvbWl1bS9zcmMvV2ViTm9kZS5jcHAJKHJldmlzaW9uIDY0MTUyKQorKysgV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJOb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsMTEgKzMxLDEzIEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViTm9kZS5oIgogCisjaW5jbHVkZSAiQ1NT
UHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVk
ZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudEltcGwuaCIKICNpbmNsdWRl
ICJOb2RlLmgiCiAjaW5jbHVkZSAiTm9kZUxpc3QuaCIKKyNpbmNsdWRlICJSZW5kZXJTdHlsZS5o
IgogCiAjaW5jbHVkZSAiRXZlbnRMaXN0ZW5lcldyYXBwZXIuaCIKICNpbmNsdWRlICJXZWJEb2N1
bWVudC5oIgpAQCAtNDMsNiArNDUsNyBAQAogI2luY2x1ZGUgIldlYkV2ZW50TGlzdGVuZXIuaCIK
ICNpbmNsdWRlICJXZWJGcmFtZUltcGwuaCIKICNpbmNsdWRlICJXZWJOb2RlTGlzdC5oIgorI2lu
Y2x1ZGUgIldlYlJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiV2ViU3RyaW5nLmgiCiAjaW5jbHVk
ZSAiV2ViVmVjdG9yLmgiCiAKQEAgLTE3OCw2ICsxODEsMjAgQEAgV2ViTm9kZUxpc3QgV2ViTm9k
ZTo6Z2V0RWxlbWVudHNCeVRhZ05hbQogICAgIHJldHVybiBXZWJOb2RlTGlzdChtX3ByaXZhdGUt
PmdldEVsZW1lbnRzQnlUYWdOYW1lKHRhZykpOwogfQogCitib29sIFdlYk5vZGU6Omhhc0NvbXB1
dGVkU3R5bGUoKSBjb25zdAoreworICAgIHJldHVybiBtX3ByaXZhdGUtPmNvbXB1dGVkU3R5bGUo
KTsKK30KKworV2ViU3RyaW5nIFdlYk5vZGU6OmNvbXB1dGVkU3R5bGVEaXNwbGF5KCkgY29uc3QK
K3sKKyAgICBSZW5kZXJTdHlsZSogcmVuZGVyU3R5bGUgPSBtX3ByaXZhdGUtPmNvbXB1dGVkU3R5
bGUoKTsKKyAgICBpZiAoIXJlbmRlclN0eWxlKQorICAgICAgICByZXR1cm4gV2ViU3RyaW5nKCk7
CisKKyAgICByZXR1cm4gV2ViU3RyaW5nKENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUocmVuZGVy
U3R5bGUtPmRpc3BsYXkoKSktPmdldFN0cmluZ1ZhbHVlKCkpOworfQorCiBib29sIFdlYk5vZGU6
Omhhc05vbkVtcHR5Qm91bmRpbmdCb3goKSBjb25zdAogewogICAgIHJldHVybiBtX3ByaXZhdGUt
Pmhhc05vbkVtcHR5Qm91bmRpbmdCb3goKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62748</attachid>
            <date>2010-07-27 14:37:12 -0700</date>
            <delta_ts>2010-07-28 07:57:26 -0700</delta_ts>
            <desc>Get rid of reference to WebRenderStyle from previous patch</desc>
            <filename>webkit5-3</filename>
            <type>text/plain</type>
            <size>3458</size>
            <attacher name="Dominic Mazzoni">dmazzoni</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NDE1NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMTAtMDctMjcgIERvbWluaWMgTWF6em9uaSAgPGRtYXp6b25pQGdv
b2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIGEgbWlzc2luZyBkZXBlbmRlbmN5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDMwNDQKKworICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVW
YWx1ZU1hcHBpbmdzLmg6CisKIDIwMTAtMDctMjcgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2Nh
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpJbmRleDogV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAkocmV2aXNpb24gNjQxNTIpCisrKyBX
ZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJGb250U21vb3RoaW5nTW9kZS5oIgogI2luY2x1ZGUg
IkdyYXBoaWNzVHlwZXMuaCIKICNpbmNsdWRlICJQYXRoLmgiCisjaW5jbHVkZSAiUmVuZGVyU3R5
bGVDb25zdGFudHMuaCIKICNpbmNsdWRlICJTVkdSZW5kZXJTdHlsZURlZnMuaCIKICNpbmNsdWRl
ICJUZXh0RGlyZWN0aW9uLmgiCiAjaW5jbHVkZSAiVGV4dFJlbmRlcmluZ01vZGUuaCIKSW5kZXg6
IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwkocmV2aXNpb24gNjQxNTUpCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDctMjcgIERvbWluaWMgTWF6
em9uaSAgPGRtYXp6b25pQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIGFjY2VzcyB0byBjb21wdXRlZCBzdHlsZSBkaXNwbGF5
IGZyb20gYSBXZWJOb2RlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDMwNDQKKworICAgICAgICAqIHB1YmxpYy9XZWJOb2RlLmg6CisgICAgICAgICog
c3JjL1dlYk5vZGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJOb2RlOjpoYXNDb21wdXRlZFN0
eWxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViTm9kZTo6Y29tcHV0ZWRTdHlsZURpc3BsYXkpOgor
CiAyMDEwLTA3LTI3ICBEdW1pdHJ1IERhbmlsaXVjICA8ZHVtaUBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2aW4uCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYk5vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk5v
ZGUuaAkocmV2aXNpb24gNjQxNTIpCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk5vZGUu
aAkod29ya2luZyBjb3B5KQpAQCAtMTAxLDYgKzEwMSw4IEBAIHB1YmxpYzoKICAgICBXRUJLSVRf
QVBJIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBXZWJTdHJpbmcmIGV2ZW50VHlwZSwg
V2ViRXZlbnRMaXN0ZW5lciogbGlzdGVuZXIsIGJvb2wgdXNlQ2FwdHVyZSk7CiAgICAgV0VCS0lU
X0FQSSB2b2lkIHNpbXVsYXRlQ2xpY2soKTsKICAgICBXRUJLSVRfQVBJIFdlYk5vZGVMaXN0IGdl
dEVsZW1lbnRzQnlUYWdOYW1lKGNvbnN0IFdlYlN0cmluZyYpIGNvbnN0OworICAgIFdFQktJVF9B
UEkgYm9vbCBoYXNDb21wdXRlZFN0eWxlKCkgY29uc3Q7CisgICAgV0VCS0lUX0FQSSBXZWJTdHJp
bmcgY29tcHV0ZWRTdHlsZURpc3BsYXkoKSBjb25zdDsKIAogICAgIC8vIFJldHVybnMgdHJ1ZSBp
ZiB0aGUgbm9kZSBoYXMgYSBub24tZW1wdHkgYm91bmRpbmcgYm94IGluIGxheW91dC4KICAgICAv
LyBUaGlzIGRvZXMgbm90IDEwMCUgZ3VhcmFudGVlIHRoZSB1c2VyIGNhbiBzZWUgaXQsIGJ1dCBp
cyBwcmV0dHkgY2xvc2UuCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYk5vZGUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViTm9kZS5jcHAJKHJldmlzaW9uIDY0
MTUyKQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJOb2RlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzEsMTEgKzMxLDEzIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViTm9k
ZS5oIgogCisjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIgogI2luY2x1ZGUg
IkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlckNs
aWVudEltcGwuaCIKICNpbmNsdWRlICJOb2RlLmgiCiAjaW5jbHVkZSAiTm9kZUxpc3QuaCIKKyNp
bmNsdWRlICJSZW5kZXJTdHlsZS5oIgogCiAjaW5jbHVkZSAiRXZlbnRMaXN0ZW5lcldyYXBwZXIu
aCIKICNpbmNsdWRlICJXZWJEb2N1bWVudC5oIgpAQCAtMTc4LDYgKzE4MCwyMCBAQCBXZWJOb2Rl
TGlzdCBXZWJOb2RlOjpnZXRFbGVtZW50c0J5VGFnTmFtCiAgICAgcmV0dXJuIFdlYk5vZGVMaXN0
KG1fcHJpdmF0ZS0+Z2V0RWxlbWVudHNCeVRhZ05hbWUodGFnKSk7CiB9CiAKK2Jvb2wgV2ViTm9k
ZTo6aGFzQ29tcHV0ZWRTdHlsZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+Y29t
cHV0ZWRTdHlsZSgpOworfQorCitXZWJTdHJpbmcgV2ViTm9kZTo6Y29tcHV0ZWRTdHlsZURpc3Bs
YXkoKSBjb25zdAoreworICAgIFJlbmRlclN0eWxlKiByZW5kZXJTdHlsZSA9IG1fcHJpdmF0ZS0+
Y29tcHV0ZWRTdHlsZSgpOworICAgIGlmICghcmVuZGVyU3R5bGUpCisgICAgICAgIHJldHVybiBX
ZWJTdHJpbmcoKTsKKworICAgIHJldHVybiBXZWJTdHJpbmcoQ1NTUHJpbWl0aXZlVmFsdWU6OmNy
ZWF0ZShyZW5kZXJTdHlsZS0+ZGlzcGxheSgpKS0+Z2V0U3RyaW5nVmFsdWUoKSk7Cit9CisKIGJv
b2wgV2ViTm9kZTo6aGFzTm9uRW1wdHlCb3VuZGluZ0JveCgpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IG1fcHJpdmF0ZS0+aGFzTm9uRW1wdHlCb3VuZGluZ0JveCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62820</attachid>
            <date>2010-07-28 07:57:26 -0700</date>
            <delta_ts>2010-07-28 09:47:14 -0700</delta_ts>
            <desc>Moved to WebElement, now calls document-&gt;updateStyleAsNeeded to make sure the style is not stale.</desc>
            <filename>webkit5-4</filename>
            <type>text/plain</type>
            <size>3613</size>
            <attacher name="Dominic Mazzoni">dmazzoni</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NDIwMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMTAtMDctMjggIERvbWluaWMgTWF6em9uaSAgPGRtYXp6b25pQGdv
b2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIGEgbWlzc2luZyBkZXBlbmRlbmN5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDMwNDQKKworICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVW
YWx1ZU1hcHBpbmdzLmg6CisKIDIwMTAtMDctMjggIEFuZHJlYXMgS2xpbmcgIDxhbmRyZWFzLmts
aW5nQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlz
dGlhbnNlbi4KSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgJKHJl
dmlzaW9uIDY0MjAyKQorKysgV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiRm9udFNtb290aGlu
Z01vZGUuaCIKICNpbmNsdWRlICJHcmFwaGljc1R5cGVzLmgiCiAjaW5jbHVkZSAiUGF0aC5oIgor
I2luY2x1ZGUgIlJlbmRlclN0eWxlQ29uc3RhbnRzLmgiCiAjaW5jbHVkZSAiU1ZHUmVuZGVyU3R5
bGVEZWZzLmgiCiAjaW5jbHVkZSAiVGV4dERpcmVjdGlvbi5oIgogI2luY2x1ZGUgIlRleHRSZW5k
ZXJpbmdNb2RlLmgiCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY0MjAyKQorKysgV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEw
LTA3LTI4ICBEb21pbmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhY2Nlc3MgdG8gdGhl
IGNvbXB1dGVkIHN0eWxlIGRpc3BsYXkgdG8gV2ViRWxlbWVudC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzMDQ0CisKKyAgICAgICAgKiBwdWJsaWMv
V2ViRWxlbWVudC5oOgorICAgICAgICAqIHNyYy9XZWJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViRWxlbWVudDo6aGFzQ29tcHV0ZWRTdHlsZSk6CisgICAgICAgIChXZWJLaXQ6Oldl
YkVsZW1lbnQ6OmNvbXB1dGVkU3R5bGVEaXNwbGF5KToKKwogMjAxMC0wNy0yNyAgS2ludWtvIFlh
c3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2phbiBW
YWZhaS4KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRWxlbWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRWxlbWVudC5oCShyZXZpc2lvbiA2NDIw
MikKKysrIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRWxlbWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC01Nyw2ICs1Nyw4IEBAIGNsYXNzIFdlYk5hbWVkTm9kZU1hcDsKICAgICAgICAgV0VCS0lU
X0FQSSBib29sIHNldEF0dHJpYnV0ZShjb25zdCBXZWJTdHJpbmcmIG5hbWUsIGNvbnN0IFdlYlN0
cmluZyYgdmFsdWUpOwogICAgICAgICBXRUJLSVRfQVBJIFdlYk5hbWVkTm9kZU1hcCBhdHRyaWJ1
dGVzKCkgY29uc3Q7CiAgICAgICAgIFdFQktJVF9BUEkgV2ViU3RyaW5nIGlubmVyVGV4dCgpIGNv
bnN0OworICAgICAgICBXRUJLSVRfQVBJIGJvb2wgaGFzQ29tcHV0ZWRTdHlsZSgpIGNvbnN0Owor
ICAgICAgICBXRUJLSVRfQVBJIFdlYlN0cmluZyBjb21wdXRlZFN0eWxlRGlzcGxheSgpIGNvbnN0
OwogCiAjaWYgV0VCS0lUX0lNUExFTUVOVEFUSU9OCiAgICAgICAgIFdlYkVsZW1lbnQoY29uc3Qg
V1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OkVsZW1lbnQ+Jik7CkluZGV4OiBXZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMv
V2ViRWxlbWVudC5jcHAJKHJldmlzaW9uIDY0MjAyKQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsOSArMzEsMTIgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJFbGVtZW50LmgiCiAKKyNpbmNsdWRlICJDU1NQcmlt
aXRpdmVWYWx1ZU1hcHBpbmdzLmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJF
bGVtZW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyQm94TW9kZWxPYmplY3QuaCIKICNpbmNsdWRlICJS
ZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CiAKICNpbmNsdWRlICJXZWJOYW1lZE5vZGVNYXAuaCIKQEAgLTg1LDYgKzg4
LDI4IEBAIFdlYlN0cmluZyBXZWJFbGVtZW50Ojppbm5lclRleHQoKSBjb25zdAogICAgIHJldHVy
biBjb25zdFVud3JhcDxFbGVtZW50PigpLT5pbm5lclRleHQoKTsKIH0KIAorYm9vbCBXZWJFbGVt
ZW50OjpoYXNDb21wdXRlZFN0eWxlKCkgY29uc3QKK3sKKyAgICBEb2N1bWVudCogZG9jdW1lbnQg
PSBtX3ByaXZhdGUtPmRvY3VtZW50KCk7CisgICAgaWYgKGRvY3VtZW50KQorICAgICAgICBkb2N1
bWVudC0+dXBkYXRlU3R5bGVJZk5lZWRlZCgpOworCisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+Y29t
cHV0ZWRTdHlsZSgpOworfQorCitXZWJTdHJpbmcgV2ViRWxlbWVudDo6Y29tcHV0ZWRTdHlsZURp
c3BsYXkoKSBjb25zdAoreworICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG1fcHJpdmF0ZS0+ZG9j
dW1lbnQoKTsKKyAgICBpZiAoZG9jdW1lbnQpCisgICAgICAgIGRvY3VtZW50LT51cGRhdGVTdHls
ZUlmTmVlZGVkKCk7CisKKyAgICBSZW5kZXJTdHlsZSogcmVuZGVyU3R5bGUgPSBtX3ByaXZhdGUt
PmNvbXB1dGVkU3R5bGUoKTsKKyAgICBpZiAoIXJlbmRlclN0eWxlKQorICAgICAgICByZXR1cm4g
V2ViU3RyaW5nKCk7CisKKyAgICByZXR1cm4gV2ViU3RyaW5nKENTU1ByaW1pdGl2ZVZhbHVlOjpj
cmVhdGUocmVuZGVyU3R5bGUtPmRpc3BsYXkoKSktPmdldFN0cmluZ1ZhbHVlKCkpOworfQorCiBX
ZWJFbGVtZW50OjpXZWJFbGVtZW50KGNvbnN0IFBhc3NSZWZQdHI8RWxlbWVudD4mIGVsZW0pCiAg
ICAgOiBXZWJOb2RlKGVsZW0pCiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62836</attachid>
            <date>2010-07-28 09:47:14 -0700</date>
            <delta_ts>2010-07-28 20:12:24 -0700</delta_ts>
            <desc>Moved to WebAccessibilityObject</desc>
            <filename>webkit5-5</filename>
            <type>text/plain</type>
            <size>3960</size>
            <attacher name="Dominic Mazzoni">dmazzoni</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NDIwOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMTAtMDctMjggIERvbWluaWMgTWF6em9uaSAgPGRtYXp6b25pQGdv
b2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIGEgbWlzc2luZyBkZXBlbmRlbmN5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDMwNDQKKworICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVW
YWx1ZU1hcHBpbmdzLmg6CisKIDIwMTAtMDctMjYgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bn
b29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEplcmVteSBPcmxvdy4KSW5kZXg6IFdl
YkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgJKHJldmlzaW9uIDY0MjA4KQorKysg
V2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiRm9udFNtb290aGluZ01vZGUuaCIKICNpbmNsdWRl
ICJHcmFwaGljc1R5cGVzLmgiCiAjaW5jbHVkZSAiUGF0aC5oIgorI2luY2x1ZGUgIlJlbmRlclN0
eWxlQ29uc3RhbnRzLmgiCiAjaW5jbHVkZSAiU1ZHUmVuZGVyU3R5bGVEZWZzLmgiCiAjaW5jbHVk
ZSAiVGV4dERpcmVjdGlvbi5oIgogI2luY2x1ZGUgIlRleHRSZW5kZXJpbmdNb2RlLmgiCkluZGV4
OiBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY0MjA4KQorKysgV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEwLTA3LTI4ICBEb21pbmljIE1h
enpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhY2Nlc3MgdG8gdGhlIGNvbXB1dGVkIHN0eWxlIGRp
c3BsYXkgdG8gV2ViQWNjZXNzaWJpbGl0eU9iamVjdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzMDQ0CisKKyAgICAgICAgKiBwdWJsaWMvV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdC5oOgorICAgICAgICAqIHNyYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdDo6aGFzQ29tcHV0
ZWRTdHlsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OmNvbXB1
dGVkU3R5bGVEaXNwbGF5KToKKwogMjAxMC0wNy0yNiAgU3RldmUgQmxvY2sgIDxzdGV2ZWJsb2Nr
QGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmVyZW15IE9ybG93LgpJbmRleDog
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHJl
dmlzaW9uIDY0MjA4KQorKysgV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNyw2ICsxMDcsOCBAQCBwdWJsaWM6CiAKICAg
ICBXRUJLSVRfQVBJIFdlYk5vZGUgbm9kZSgpIGNvbnN0OwogICAgIFdFQktJVF9BUEkgV2ViRG9j
dW1lbnQgZG9jdW1lbnQoKSBjb25zdDsKKyAgICBXRUJLSVRfQVBJIGJvb2wgaGFzQ29tcHV0ZWRT
dHlsZSgpIGNvbnN0OworICAgIFdFQktJVF9BUEkgV2ViU3RyaW5nIGNvbXB1dGVkU3R5bGVEaXNw
bGF5KCkgY29uc3Q7CiAKICNpZiBXRUJLSVRfSU1QTEVNRU5UQVRJT04KICAgICBXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0KGNvbnN0IFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
T2JqZWN0PiYpOwpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJBY2Nlc3NpYmlsaXR5T2Jq
ZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYkFjY2Vzc2liaWxp
dHlPYmplY3QuY3BwCShyZXZpc2lvbiA2NDIwOCkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDExICszMiwxMyBA
QAogI2luY2x1ZGUgIldlYkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKIAogI2luY2x1ZGUgIkFjY2Vz
c2liaWxpdHlPYmplY3QuaCIKKyNpbmNsdWRlICJDU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgi
CiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudEhhbmRsZXIuaCIKICNpbmNs
dWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJOb2RlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1L
ZXlib2FyZEV2ZW50LmgiCisjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJXZWJE
b2N1bWVudC5oIgogI2luY2x1ZGUgIldlYk5vZGUuaCIKICNpbmNsdWRlICJXZWJQb2ludC5oIgpA
QCAtNDM0LDYgKzQzNiwzNiBAQCBXZWJEb2N1bWVudCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0Ojpk
b2N1CiAgICAgcmV0dXJuIFdlYkRvY3VtZW50KGRvY3VtZW50KTsKIH0KIAorYm9vbCBXZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0OjpoYXNDb21wdXRlZFN0eWxlKCkgY29uc3QKK3sKKyAgICBEb2N1bWVu
dCogZG9jdW1lbnQgPSBtX3ByaXZhdGUtPmRvY3VtZW50KCk7CisgICAgaWYgKGRvY3VtZW50KQor
ICAgICAgICBkb2N1bWVudC0+dXBkYXRlU3R5bGVJZk5lZWRlZCgpOworCisgICAgTm9kZSogbm9k
ZSA9IG1fcHJpdmF0ZS0+bm9kZSgpOworICAgIGlmICghbm9kZSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgcmV0dXJuIG5vZGUtPmNvbXB1dGVkU3R5bGUoKTsKK30KKworV2ViU3RyaW5n
IFdlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OmNvbXB1dGVkU3R5bGVEaXNwbGF5KCkgY29uc3QKK3sK
KyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBtX3ByaXZhdGUtPmRvY3VtZW50KCk7CisgICAgaWYg
KGRvY3VtZW50KQorICAgICAgICBkb2N1bWVudC0+dXBkYXRlU3R5bGVJZk5lZWRlZCgpOworCisg
ICAgTm9kZSogbm9kZSA9IG1fcHJpdmF0ZS0+bm9kZSgpOworICAgIGlmICghbm9kZSkKKyAgICAg
ICAgcmV0dXJuIFdlYlN0cmluZygpOworCisgICAgUmVuZGVyU3R5bGUqIHJlbmRlclN0eWxlID0g
bm9kZS0+Y29tcHV0ZWRTdHlsZSgpOworICAgIGlmICghcmVuZGVyU3R5bGUpCisgICAgICAgIHJl
dHVybiBXZWJTdHJpbmcoKTsKKworICAgIHJldHVybiBXZWJTdHJpbmcoQ1NTUHJpbWl0aXZlVmFs
dWU6OmNyZWF0ZShyZW5kZXJTdHlsZS0+ZGlzcGxheSgpKS0+Z2V0U3RyaW5nVmFsdWUoKSk7Cit9
CisKIFdlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OldlYkFjY2Vzc2liaWxpdHlPYmplY3QoY29uc3Qg
V1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q+JiBvYmplY3QpCiAg
ICAgOiBtX3ByaXZhdGUoc3RhdGljX2Nhc3Q8V2ViQWNjZXNzaWJpbGl0eU9iamVjdFByaXZhdGUq
PihvYmplY3QucmVsZWFzZVJlZigpKSkKIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>