<?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>35184</bug_id>
          
          <creation_ts>2010-02-19 15:57:48 -0800</creation_ts>
          <short_desc>Fix chromium iframe shims</short_desc>
          <delta_ts>2010-03-01 14:51:39 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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="John Abd-El-Malek">jam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fishd</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tulrich</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>192086</commentid>
    <comment_count>0</comment_count>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2010-02-19 15:57:48 -0800</bug_when>
    <thetext>Add another test case to the iframes-shims test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192087</commentid>
    <comment_count>1</comment_count>
      <attachid>49108</attachid>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2010-02-19 16:01:20 -0800</bug_when>
    <thetext>Created attachment 49108
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192108</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-02-19 16:33:21 -0800</bug_when>
    <thetext>Will this testcase start to fail on Mac now? We can&apos;t take a change that makes a test start to fail; we&apos;ll have to make the patch at the same time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192114</commentid>
    <comment_count>3</comment_count>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2010-02-19 16:45:12 -0800</bug_when>
    <thetext>I haven&apos;t tested latest Safari or Chrome/Mac builds.  I don&apos;t think it should fail on Macs since there aren&apos;t windowed plugins there, but it&apos;s up to whoever fixes this to verify of course.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192574</commentid>
    <comment_count>4</comment_count>
      <attachid>49237</attachid>
    <who name="Thatcher Ulrich">tulrich</who>
    <bug_when>2010-02-22 13:01:05 -0800</bug_when>
    <thetext>Created attachment 49237
Ensure that Widget is notified (via setWidgetGeometry) during RenderWidget::updateWidgetPosition()

On Chrome, windows plugins need to watch for other iframes on the page in order to implement iframe-shim cutout behavior.  This patch fixes the bug by ensuring that an existing plugin is notified when a new iframe is added to the page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192581</commentid>
    <comment_count>5</comment_count>
      <attachid>49237</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-02-22 13:06:18 -0800</bug_when>
    <thetext>Comment on attachment 49237
Ensure that Widget is notified (via setWidgetGeometry) during RenderWidget::updateWidgetPosition()

It seems wrong that it is necessary to call setFrameRect() even when the frame has not changed. setFrameRect() should not have side effects. Whatever needs doing for windows plugins should be separated out into a method that is called at the appropriate times.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192588</commentid>
    <comment_count>6</comment_count>
    <who name="Thatcher Ulrich">tulrich</who>
    <bug_when>2010-02-22 13:18:38 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 49237 [details])
&gt; It seems wrong that it is necessary to call setFrameRect() even when the frame
&gt; has not changed. setFrameRect() should not have side effects. Whatever needs
&gt; doing for windows plugins should be separated out into a method that is called
&gt; at the appropriate times.

frameRectsChanged() is an existing call and would work here.  But I&apos;m not sure if that conflicts with the intended semantics of frameRectsChanged().  I can invent a new virtual function in Widget if you think that makes more sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192607</commentid>
    <comment_count>7</comment_count>
      <attachid>49241</attachid>
    <who name="Thatcher Ulrich">tulrich</who>
    <bug_when>2010-02-22 14:00:56 -0800</bug_when>
    <thetext>Created attachment 49241
Ensure that Widget is notified via a new method widgetPositionsUpdated() during RenderView::updateWidgetPositions()

A different approach using a new explicit Widget method, widgetPositionsUpdated()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192681</commentid>
    <comment_count>8</comment_count>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2010-02-22 16:10:09 -0800</bug_when>
    <thetext>btw, this also breaks video ads on Google.  i.e.

http://www.google.com/search?aq=f&amp;sourceid=chrome&amp;ie=UTF-8&amp;q=droid

If you click on the + for the video ad, you&apos;ll see a white screen until you resize.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193460</commentid>
    <comment_count>9</comment_count>
    <who name="Thatcher Ulrich">tulrich</who>
    <bug_when>2010-02-24 12:39:55 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; btw, this also breaks video ads on Google.  i.e.
&gt; 
&gt; http://www.google.com/search?aq=f&amp;sourceid=chrome&amp;ie=UTF-8&amp;q=droid
&gt; 
&gt; If you click on the + for the video ad, you&apos;ll see a white screen until you
&gt; resize.

Just to clarify -- the most recent patch I attached fixes this problem.

Simon -- have you had a chance to look at this yet?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193470</commentid>
    <comment_count>10</comment_count>
      <attachid>49241</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-02-24 13:06:13 -0800</bug_when>
    <thetext>Comment on attachment 49241
Ensure that Widget is notified via a new method widgetPositionsUpdated() during RenderView::updateWidgetPositions()

This change looks good to me.  I think this is a cleaner way of addressing the issue.
However, it needs a proper ChangeLog entry, and it would be good to include jam&apos;s
testcase in this patch.  That way they get committed together.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193566</commentid>
    <comment_count>11</comment_count>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2010-02-24 17:18:12 -0800</bug_when>
    <thetext>one small note: I tested latest webkit trunk with Safari on Windows.  The video ads are working.  The iframe shim stuff isn&apos;t, which is to be expected, since WebKit plugin implementation on Windows doesn&apos;t take care of the cutout rectangles.  So, the layout test I added above should be sufficient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193702</commentid>
    <comment_count>12</comment_count>
      <attachid>49484</attachid>
    <who name="Thatcher Ulrich">tulrich</who>
    <bug_when>2010-02-25 06:42:04 -0800</bug_when>
    <thetext>Created attachment 49484
Ensure that Widget is notified via a new method widgetPositionsUpdated() during RenderView::updateWidgetPositions()

added ChangeLog entries and combined with jam&apos;s test case patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193704</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-25 06:48:25 -0800</bug_when>
    <thetext>Attachment 49484 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/ChangeLog:5:  Line contains tab character.  [whitespace/tab] [5]
WebCore/ChangeLog:6:  Line contains tab character.  [whitespace/tab] [5]
WebCore/ChangeLog:7:  Line contains tab character.  [whitespace/tab] [5]
WebCore/ChangeLog:8:  Line contains tab character.  [whitespace/tab] [5]
WebCore/ChangeLog:9:  Line contains tab character.  [whitespace/tab] [5]
WebCore/ChangeLog:14:  Line contains tab character.  [whitespace/tab] [5]
WebCore/ChangeLog:15:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 7 in 7 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>193707</commentid>
    <comment_count>14</comment_count>
      <attachid>49485</attachid>
    <who name="Thatcher Ulrich">tulrich</who>
    <bug_when>2010-02-25 06:52:55 -0800</bug_when>
    <thetext>Created attachment 49485
Ensure that Widget is notified via a new method widgetPositionsUpdated() during RenderView::updateWidgetPositions()

Oops, fix tabs and include the WebKit/chromium changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193711</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-25 07:01:56 -0800</bug_when>
    <thetext>Attachment 49485 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKit/chromium/src/WebPluginContainerImpl.cpp:175:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebKit/chromium/src/WebPluginContainerImpl.cpp:176:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebKit/chromium/ChangeLog:5:  Line contains tab character.  [whitespace/tab] [5]
WebKit/chromium/ChangeLog:6:  Line contains tab character.  [whitespace/tab] [5]
WebKit/chromium/ChangeLog:7:  Line contains tab character.  [whitespace/tab] [5]
WebKit/chromium/ChangeLog:8:  Line contains tab character.  [whitespace/tab] [5]
WebKit/chromium/ChangeLog:9:  Line contains tab character.  [whitespace/tab] [5]
WebKit/chromium/ChangeLog:14:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 8 in 10 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>193718</commentid>
    <comment_count>16</comment_count>
      <attachid>49486</attachid>
    <who name="Thatcher Ulrich">tulrich</who>
    <bug_when>2010-02-25 07:14:27 -0800</bug_when>
    <thetext>Created attachment 49486
Ensure that Widget is notified via a new method widgetPositionsUpdated() during RenderView::updateWidgetPositions()

fix style booboos</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193755</commentid>
    <comment_count>17</comment_count>
      <attachid>49108</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-02-25 09:09:42 -0800</bug_when>
    <thetext>Comment on attachment 49108
Patch

You need to land the testcase change along with the patch. No need for this as a separate patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193756</commentid>
    <comment_count>18</comment_count>
      <attachid>49486</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-02-25 09:11:50 -0800</bug_when>
    <thetext>Comment on attachment 49486
Ensure that Widget is notified via a new method widgetPositionsUpdated() during RenderView::updateWidgetPositions()

&gt; Index: LayoutTests/ChangeLog
...
&gt; +2010-02-25  Thatcher Ulrich  &lt;tulrich@google.com&gt;
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +	Fix chromium iframe shims.  Add another test case to the
&gt; +	iframes-shims test.  After r53637, the plugin widget doesn&apos;t get
&gt; +	moved every paint.  This used to hide the bug that if an iframe
&gt; +	gets added, the plugin&apos;s cutout rectangles don&apos;t get updated until
&gt; +	a layout happens.

^^^ these tabs need to be replaced with spaces.

otherwise, R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193787</commentid>
    <comment_count>19</comment_count>
      <attachid>49505</attachid>
    <who name="Thatcher Ulrich">tulrich</who>
    <bug_when>2010-02-25 10:07:53 -0800</bug_when>
    <thetext>Created attachment 49505
fix tabs in ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193809</commentid>
    <comment_count>20</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-02-25 10:49:42 -0800</bug_when>
    <thetext>Please update the title of this bug to reflect the real issue, so I can find it in future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194036</commentid>
    <comment_count>21</comment_count>
      <attachid>49505</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-02-26 01:36:22 -0800</bug_when>
    <thetext>Comment on attachment 49505
fix tabs in ChangeLog

Rejecting patch 49505 from commit-queue.

Failed to run &quot;[&apos;WebKitTools/Scripts/run-webkit-tests&apos;, &apos;--no-launch-safari&apos;, &apos;--exit-after-n-failures=1&apos;, &apos;--quiet&apos;]&quot; exit_code: 1
Running build-dumprendertree
Compiling Java tests
make: Nothing to be done for `default&apos;.
Running tests from /Users/eseidel/Projects/CommitQueue/LayoutTests
Testing 12229 test cases.
plugins/iframe-shims.html -&gt; failed

Exiting early after 1 failures. 9143 tests run.
198.89s total testing time

9142 test cases (99%) succeeded
1 test case (&lt;1%) had incorrect layout
7 test cases (&lt;1%) had stderr output

Full output: http://webkit-commit-queue.appspot.com/results/313382</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194719</commentid>
    <comment_count>22</comment_count>
      <attachid>49728</attachid>
    <who name="Thatcher Ulrich">tulrich</who>
    <bug_when>2010-03-01 09:07:38 -0800</bug_when>
    <thetext>Created attachment 49728
fix test expected whitespace</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194833</commentid>
    <comment_count>23</comment_count>
      <attachid>49728</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-01 14:51:33 -0800</bug_when>
    <thetext>Comment on attachment 49728
fix test expected whitespace

Clearing flags on attachment: 49728

Committed r55381: &lt;http://trac.webkit.org/changeset/55381&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194834</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-01 14:51:39 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49108</attachid>
            <date>2010-02-19 16:01:20 -0800</date>
            <delta_ts>2010-02-25 09:09:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-35184-20100219160118.patch</filename>
            <type>text/plain</type>
            <size>4657</size>
            <attacher name="John Abd-El-Malek">jam</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDU1MDM2KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMDItMTkgIEpvaG4gQWJkLUVsLU1hbGVr
ICA8amFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgYW5vdGhlciB0ZXN0IGNhc2UgdG8gdGhlIGlmcmFtZXMtc2hpbXMg
dGVzdC4gIEFmdGVyIHI1MzYzNywgdGhlIHBsdWdpbiB3aWRnZXQKKyAgICAgICAgZG9lc24ndCBn
ZXQgbW92ZWQgZXZlcnkgcGFpbnQuICBUaGlzIHVzZWQgdG8gaGlkZSB0aGUgYnVnIHRoYXQgaWYg
YW4gaWZyYW1lIGdldHMKKyAgICAgICAgYWRkZWQsIHRoZSBwbHVnaW4ncyBjdXRvdXQgcmVjdGFu
Z2xlcyBkb24ndCBnZXQgdXBkYXRlZCB1bnRpbCBhIGxheW91dCBoYXBwZW5zLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzUxODQKKworICAgICAgICAq
IHBsdWdpbnMvaWZyYW1lLXNoaW1zLmh0bWw6CisKIDIwMTAtMDItMTkgIEFsZXhleSBQcm9za3Vy
eWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFuIEJlcm5zdGVp
bi4KSW5kZXg6IExheW91dFRlc3RzL3BsdWdpbnMvaWZyYW1lLXNoaW1zLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGx1Z2lucy9pZnJhbWUtc2hpbXMuaHRtbAkocmV2aXNpb24gNTUw
MjgpCisrKyBMYXlvdXRUZXN0cy9wbHVnaW5zL2lmcmFtZS1zaGltcy5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC00OCw2ICs0OCwzNSBAQAogICAgICAgICAgICAgJyk7IiB2YWx1ZT0iY2xpY2ttZSIg
c3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMDsgbGVmdDogMTA7IHdpZHRoOiA2MHB4
OyBoZWlnaHQ6IDYwcHg7Ii8+JzsKICAgICAgICAgcmV0dXJuIG87CiAgICAgfQorICAgIAorICAg
IGZ1bmN0aW9uIGFwcGVuZE92ZXJsYXkob3ZlcmxheURpdlpJZnJhbWUsIG92ZXJsYXlEaXZaT3Zl
cmxheSwgb3ZlcmxheUluc2lkZURpdiwgZXhwZWN0Q2xpY2thYmxlLCBjYXNlSWQpCisgICAgewor
ICAgICAgICB2YXIgaWQgPSBtYWtlSWZyYW1lRGl2KCk7CisgICAgICAgIHZhciByb290ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoY2FzZUlkKTsKKyAgICAgICAgaWYgKG92ZXJsYXlEaXZaSWZy
YW1lKQorICAgICAgICAgICAgaWQuc3R5bGUuekluZGV4ID0gb3ZlcmxheURpdlpJZnJhbWU7CisK
KyAgICAgICAgdmFyIG9kID0gbWFrZU92ZXJsYXlEaXYoZXhwZWN0Q2xpY2thYmxlID8gJ2dyZWVu
JyA6ICdyZWQnLCBjYXNlSWQpOworICAgICAgICBvZC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0
ZSc7CisgICAgICAgIGlmIChvdmVybGF5RGl2Wk92ZXJsYXkpCisgICAgICAgICAgICBvZC5zdHls
ZS56SW5kZXggPSBvdmVybGF5RGl2Wk92ZXJsYXk7CisKKyAgICAgICAgaWYgKG92ZXJsYXlJbnNp
ZGVEaXYpIHsKKyAgICAgICAgICAgIHZhciBwYXJlbnRkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKKyAgICAgICAgICAgIGlmIChvdmVybGF5RGl2Wk92ZXJsYXkpCisgICAgICAg
ICAgICAgICAgcGFyZW50ZGl2LnN0eWxlLnpJbmRleCA9IG92ZXJsYXlEaXZaT3ZlcmxheTsKKwor
ICAgICAgICAgICAgcGFyZW50ZGl2LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJzsKKyAgICAg
ICAgICAgIHBhcmVudGRpdi5zdHlsZS50b3AgPSAnMHB4JzsKKyAgICAgICAgICAgIHBhcmVudGRp
di5zdHlsZS5sZWZ0ID0gJzBweCc7CisgICAgICAgICAgICBwYXJlbnRkaXYuYXBwZW5kQ2hpbGQo
aWQpOworICAgICAgICAgICAgcGFyZW50ZGl2LmFwcGVuZENoaWxkKG9kKTsKKyAgICAgICAgICAg
IHJvb3QuYXBwZW5kQ2hpbGQocGFyZW50ZGl2KTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgIHJvb3QuYXBwZW5kQ2hpbGQoaWQpOworICAgICAgICAgICAgcm9vdC5hcHBlbmRDaGlsZChv
ZCk7CisgICAgICAgIH0KKyAgICB9OwogCiAgICAgZnVuY3Rpb24gYWRkQ2FzZSh4LCB5LCB0YWdz
KQogICAgIHsKQEAgLTYyLDYgKzkxLDcgQEAKICAgICAgICAgcm9vdC5zdHlsZS5wb3NpdGlvbiA9
ICdhYnNvbHV0ZSc7CiAgICAgICAgIHJvb3Quc3R5bGUubGVmdCA9IHggKiAod2lkdGggKyA0MCkg
KyAncHgnOwogICAgICAgICByb290LnN0eWxlLnRvcCA9IHkgKiAoaGVpZ2h0ICsgMjApICsgJ3B4
JzsKKyAgICAgICAgcm9vdC5pZCA9IGNhc2VJZDsKICAgICAgICAgY29udGFpbmVyLmFwcGVuZENo
aWxkKHJvb3QpOwogCiAgICAgICAgIHZhciBwbHVnaW5EaXZaOwpAQCAtMTAyLDQwICsxMzIsMTYg
QEAKICAgICAgICAgICAgIH0KICAgICAgICAgfTsKIAotICAgICAgICB2YXIgYXBwZW5kT3Zlcmxh
eSA9IGZ1bmN0aW9uKCkKLSAgICAgICAgewotICAgICAgICAgICAgdmFyIGlkID0gbWFrZUlmcmFt
ZURpdigpOwotICAgICAgICAgICAgaWYgKG92ZXJsYXlEaXZaSWZyYW1lKQotICAgICAgICAgICAg
ICAgIGlkLnN0eWxlLnpJbmRleCA9IG92ZXJsYXlEaXZaSWZyYW1lOwotCi0gICAgICAgICAgICB2
YXIgb2QgPSBtYWtlT3ZlcmxheURpdihleHBlY3RDbGlja2FibGUgPyAnZ3JlZW4nIDogJ3JlZCcs
IGNhc2VJZCk7Ci0gICAgICAgICAgICBvZC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7Ci0g
ICAgICAgICAgICBpZiAob3ZlcmxheURpdlpPdmVybGF5KQotICAgICAgICAgICAgICAgIG9kLnN0
eWxlLnpJbmRleCA9IG92ZXJsYXlEaXZaT3ZlcmxheTsKLQotICAgICAgICAgICAgaWYgKHRhZ3Mu
b3ZlcmxheUluc2lkZURpdikgewotICAgICAgICAgICAgICAgIHZhciBwYXJlbnRkaXYgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICAgICAgICAgICAgICBpZiAob3ZlcmxheURp
dlpPdmVybGF5KQotICAgICAgICAgICAgICAgICAgICBwYXJlbnRkaXYuc3R5bGUuekluZGV4ID0g
b3ZlcmxheURpdlpPdmVybGF5OwotCi0gICAgICAgICAgICAgICAgcGFyZW50ZGl2LnN0eWxlLnBv
c2l0aW9uID0gJ2Fic29sdXRlJzsKLSAgICAgICAgICAgICAgICBwYXJlbnRkaXYuc3R5bGUudG9w
ID0gJzBweCc7Ci0gICAgICAgICAgICAgICAgcGFyZW50ZGl2LnN0eWxlLmxlZnQgPSAnMHB4JzsK
LSAgICAgICAgICAgICAgICBwYXJlbnRkaXYuYXBwZW5kQ2hpbGQoaWQpOwotICAgICAgICAgICAg
ICAgIHBhcmVudGRpdi5hcHBlbmRDaGlsZChvZCk7Ci0gICAgICAgICAgICAgICAgcm9vdC5hcHBl
bmRDaGlsZChwYXJlbnRkaXYpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg
ICByb290LmFwcGVuZENoaWxkKGlkKTsKLSAgICAgICAgICAgICAgICByb290LmFwcGVuZENoaWxk
KG9kKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfTsKLQogICAgICAgICBpZiAodGFncy5vdmVy
bGF5RWFybGllcikgewotICAgICAgICAgICAgYXBwZW5kT3ZlcmxheSgpOworICAgICAgICAgICAg
YXBwZW5kT3ZlcmxheShvdmVybGF5RGl2WklmcmFtZSwgb3ZlcmxheURpdlpPdmVybGF5LCB0YWdz
Lm92ZXJsYXlJbnNpZGVEaXYsIGV4cGVjdENsaWNrYWJsZSwgY2FzZUlkKTsKICAgICAgICAgICAg
IGFwcGVuZFBsdWdpbigpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgYXBwZW5kUGx1
Z2luKCk7Ci0gICAgICAgICAgICBhcHBlbmRPdmVybGF5KCk7CisgICAgICAgICAgICBpZiAodGFn
cy5vdmVybGF5T25UaW1lb3V0KSB7CisgICAgICAgICAgICAgICAgc2V0VGltZW91dCgnYXBwZW5k
T3ZlcmxheSgnK292ZXJsYXlEaXZaSWZyYW1lKycsICcrb3ZlcmxheURpdlpPdmVybGF5ICsnLCAn
ICsgdGFncy5vdmVybGF5SW5zaWRlRGl2ICsgJywgJyArIGV4cGVjdENsaWNrYWJsZSArICcsICcg
KyBjYXNlSWQgKyAnKScsIDApOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAg
ICBhcHBlbmRPdmVybGF5KG92ZXJsYXlEaXZaSWZyYW1lLCBvdmVybGF5RGl2Wk92ZXJsYXksIHRh
Z3Mub3ZlcmxheUluc2lkZURpdiwgZXhwZWN0Q2xpY2thYmxlLCBjYXNlSWQpOworICAgICAgICAg
ICAgfQogICAgICAgICB9CiAgICAgIH0KIApAQCAtMTc3LDYgKzE4Myw3IEBACiAgICAgICAgIGFk
ZENhc2UoMCwgMywgeydwbHVnaW5Ob3JlbGF0aXZlJzoxLCBleHBlY3Q6J292ZXJsYXkgT1ZFUid9
KTsKICAgICAgICAgYWRkQ2FzZSgxLCAzLCB7J292ZXJsYXlFYXJsaWVyJzoxLCAncGx1Z2luTm9y
ZWxhdGl2ZSc6MSwgJ3BsdWdpbkluc2lkZURpdic6MSwgZXhwZWN0OidvdmVybGF5IE9WRVInfSk7
CiAgICAgICAgIGFkZENhc2UoMiwgMywgeydwbHVnaW5Ob3JlbGF0aXZlJzoxLCAncGx1Z2luSW5z
aWRlRGl2JzoxLCBleHBlY3Q6J292ZXJsYXkgT1ZFUid9KTsKKyAgICAgICAgYWRkQ2FzZSgzLCAz
LCB7J3BsdWdpbkxvd2Vyeic6MSwgJ292ZXJsYXlPblRpbWVvdXQnOjEsIGV4cGVjdDonb3Zlcmxh
eSBPVkVSJ30pOwogCiAgICAgICAgIHJ1blRlc3QoKTsKICAgICB9Cg==
</data>
<flag name="review"
          id="31886"
          type_id="1"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49237</attachid>
            <date>2010-02-22 13:01:05 -0800</date>
            <delta_ts>2010-02-22 14:00:56 -0800</delta_ts>
            <desc>Ensure that Widget is notified (via setWidgetGeometry) during RenderWidget::updateWidgetPosition()</desc>
            <filename>webkit_patch.txt</filename>
            <type>text/plain</type>
            <size>728</size>
            <attacher name="Thatcher Ulrich">tulrich</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldC5jcHANCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0t
LSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCShyZXZpc2lvbiA1NDk5NikNCisr
KyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAt
MTUxLDEzICsxNTEsMTQgQEANCiBib29sIFJlbmRlcldpZGdldDo6c2V0V2lkZ2V0R2VvbWV0cnko
Y29uc3QgSW50UmVjdCYgZnJhbWUpCiB7CiAgICAgQVNTRVJUKCF3aWRnZXRIaWVyYXJjaHlVcGRh
dGVTdXNwZW5kQ291bnQpOwotICAgIGlmICghbm9kZSgpIHx8IG1fd2lkZ2V0LT5mcmFtZVJlY3Qo
KSA9PSBmcmFtZSkKKyAgICBpZiAoIW5vZGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAg
ICAgUmVuZGVyV2lkZ2V0UHJvdGVjdG9yIHByb3RlY3Rvcih0aGlzKTsKICAgICBSZWZQdHI8Tm9k
ZT4gcHJvdGVjdGVkTm9kZShub2RlKCkpOworICAgIGJvb2wgY2hhbmdlZCA9IG1fd2lkZ2V0LT5m
cmFtZVJlY3QoKSAhPSBmcmFtZTsKICAgICBtX3dpZGdldC0+c2V0RnJhbWVSZWN0KGZyYW1lKTsK
LSAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gY2hhbmdlZDsKIH0KIAogdm9pZCBSZW5kZXJX
aWRnZXQ6OnNldFdpZGdldChQYXNzUmVmUHRyPFdpZGdldD4gd2lkZ2V0KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49241</attachid>
            <date>2010-02-22 14:00:56 -0800</date>
            <delta_ts>2010-02-25 06:42:04 -0800</delta_ts>
            <desc>Ensure that Widget is notified via a new method widgetPositionsUpdated() during RenderView::updateWidgetPositions()</desc>
            <filename>webkit_patch.txt</filename>
            <type>text/plain</type>
            <size>3033</size>
            <attacher name="Thatcher Ulrich">tulrich</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5jcHANCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0NCi0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwu
Y3BwCShyZXZpc2lvbiA1NDk5NikNCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNv
bnRhaW5lckltcGwuY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtMTcwLDYgKzE3MCwxMiBAQA0KICAg
ICByZXBvcnRHZW9tZXRyeSgpOwogfQogCit2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6Ondp
ZGdldFBvc2l0aW9uc1VwZGF0ZWQoKQoreworICAgV2lkZ2V0Ojp3aWRnZXRQb3NpdGlvbnNVcGRh
dGVkKCk7CisgICByZXBvcnRHZW9tZXRyeSgpOworfQorCiB2b2lkIFdlYlBsdWdpbkNvbnRhaW5l
ckltcGw6OnNldFBhcmVudFZpc2libGUoYm9vbCBwYXJlbnRWaXNpYmxlKQogewogICAgIC8vIFdl
IG92ZXJyaWRlIHRoaXMgZnVuY3Rpb24gdG8gbWFrZSBzdXJlIHRoYXQgZ2VvbWV0cnkgdXBkYXRl
cyBhcmUgc2VudApJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJ
bXBsLmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRh
aW5lckltcGwuaAkocmV2aXNpb24gNTQ5OTYpDQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQ
bHVnaW5Db250YWluZXJJbXBsLmgJKHdvcmtpbmcgY29weSkNCkBAIC03Myw2ICs3Myw3IEBADQog
ICAgIHZpcnR1YWwgdm9pZCBmcmFtZVJlY3RzQ2hhbmdlZCgpOwogICAgIHZpcnR1YWwgdm9pZCBz
ZXRQYXJlbnRWaXNpYmxlKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRQYXJlbnQoV2ViQ29y
ZTo6U2Nyb2xsVmlldyopOworICAgIHZpcnR1YWwgdm9pZCB3aWRnZXRQb3NpdGlvbnNVcGRhdGVk
KCk7CiAKICAgICAvLyBXZWJQbHVnaW5Db250YWluZXIgbWV0aG9kcwogICAgIHZpcnR1YWwgdm9p
ZCBpbnZhbGlkYXRlKCk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL1dpZGdldC5oDQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09DQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9XaWRnZXQuaAkocmV2aXNpb24gNTQ5OTYpDQorKysg
V2ViQ29yZS9wbGF0Zm9ybS9XaWRnZXQuaAkod29ya2luZyBjb3B5KQ0KQEAgLTE4Niw2ICsxODYs
OSBAQA0KIAogICAgIHZpcnR1YWwgdm9pZCBmcmFtZVJlY3RzQ2hhbmdlZCgpIHt9CiAKKyAgICAv
LyBOb3RpZmllcyB0aGlzIHdpZGdldCB0aGF0IG90aGVyIHdpZGdldHMgb24gdGhlIHBhZ2UgaGF2
ZSBiZWVuIHJlcG9zaXRpb25lZC4KKyAgICB2aXJ0dWFsIHZvaWQgd2lkZ2V0UG9zaXRpb25zVXBk
YXRlZCgpIHt9CisKICNpZiBQTEFURk9STShNQUMpCiAgICAgTlNWaWV3KiBnZXRPdXRlclZpZXco
KSBjb25zdDsKICAgICAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldC5oDQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09DQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmgJKHJldmlzaW9u
IDU0OTk2KQ0KKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldC5oCSh3b3JraW5nIGNv
cHkpDQpAQCAtMzksNiArMzksNyBAQA0KICAgICBzdGF0aWMgUmVuZGVyV2lkZ2V0KiBmaW5kKGNv
bnN0IFdpZGdldCopOwogCiAgICAgdm9pZCB1cGRhdGVXaWRnZXRQb3NpdGlvbigpOworICAgIHZv
aWQgd2lkZ2V0UG9zaXRpb25zVXBkYXRlZCgpOwogCiAgICAgdm9pZCBzaG93U3Vic3RpdHV0ZUlt
YWdlKFBhc3NSZWZQdHI8SW1hZ2U+KTsKIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
V2lkZ2V0LmNwcA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdl
dC5jcHAJKHJldmlzaW9uIDU0OTk2KQ0KKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdl
dC5jcHAJKHdvcmtpbmcgY29weSkNCkBAIC0zMjUsNiArMzI1LDEzIEBADQogICAgIH0KIH0KIAor
dm9pZCBSZW5kZXJXaWRnZXQ6OndpZGdldFBvc2l0aW9uc1VwZGF0ZWQoKQoreworICAgIGlmICgh
bV93aWRnZXQpCisgICAgICAgIHJldHVybjsKKyAgICBtX3dpZGdldC0+d2lkZ2V0UG9zaXRpb25z
VXBkYXRlZCgpOworfQorCiB2b2lkIFJlbmRlcldpZGdldDo6c2V0U2VsZWN0aW9uU3RhdGUoU2Vs
ZWN0aW9uU3RhdGUgc3RhdGUpCiB7CiAgICAgaWYgKHNlbGVjdGlvblN0YXRlKCkgIT0gc3RhdGUp
IHsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwDQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAJKHJldmlzaW9uIDU0OTk2KQ0KKysr
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtNTQx
LDYgKzU0MSw4IEBADQogICAgIFJlbmRlcldpZGdldFNldDo6aXRlcmF0b3IgZW5kID0gbV93aWRn
ZXRzLmVuZCgpOwogICAgIGZvciAoUmVuZGVyV2lkZ2V0U2V0OjppdGVyYXRvciBpdCA9IG1fd2lk
Z2V0cy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCiAgICAgICAgICgqaXQpLT51cGRhdGVXaWRn
ZXRQb3NpdGlvbigpOworICAgIGZvciAoUmVuZGVyV2lkZ2V0U2V0OjppdGVyYXRvciBpdCA9IG1f
d2lkZ2V0cy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgICgqaXQpLT53aWRnZXRQ
b3NpdGlvbnNVcGRhdGVkKCk7CiB9CiAKIHZvaWQgUmVuZGVyVmlldzo6YWRkV2lkZ2V0KFJlbmRl
cldpZGdldCogbykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49484</attachid>
            <date>2010-02-25 06:42:04 -0800</date>
            <delta_ts>2010-02-25 06:52:55 -0800</delta_ts>
            <desc>Ensure that Widget is notified via a new method widgetPositionsUpdated() during RenderView::updateWidgetPositions()</desc>
            <filename>webkit_patch.txt</filename>
            <type>text/plain</type>
            <size>7940</size>
            <attacher name="Thatcher Ulrich">tulrich</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViQ29yZS9DaGFuZ2VM
b2cJKHJldmlzaW9uIDU1MjMxKQ0KKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
DQpAQCAtMSwzICsxLDI0IEBADQorMjAxMC0wMi0yNSAgVGhhdGNoZXIgVWxyaWNoICA8dHVscmlj
aEBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisJ
Rml4IGNocm9taXVtIGlmcmFtZSBzaGltcy4gIEFkZCBhbm90aGVyIHRlc3QgY2FzZSB0byB0aGUK
KwlpZnJhbWVzLXNoaW1zIHRlc3QuICBBZnRlciByNTM2MzcsIHRoZSBwbHVnaW4gd2lkZ2V0IGRv
ZXNuJ3QgZ2V0CisJbW92ZWQgZXZlcnkgcGFpbnQuICBUaGlzIHVzZWQgdG8gaGlkZSB0aGUgYnVn
IHRoYXQgaWYgYW4gaWZyYW1lCisJZ2V0cyBhZGRlZCwgdGhlIHBsdWdpbidzIGN1dG91dCByZWN0
YW5nbGVzIGRvbid0IGdldCB1cGRhdGVkIHVudGlsCisJYSBsYXlvdXQgaGFwcGVucy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MTg0CisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9XaWRnZXQuaDoKKyAgICAgICAgKFdlYkNvcmU6OldpZGdldDo6d2lkZ2V0
UG9zaXRpb25zVXBkYXRlZCk6IG5ldyB2aXJ0dWFsIG1ldGhvZAorCSAgICB3aWRnZXRQb3NpdGlv
bnNVcGRhdGVkKCkgdG8gbm90aWZ5IHdpZGdldHMgd2hlbiBvdGhlciB3aWRnZXRzIG9uCisJICAg
IHRoZSBwYWdlIGhhdmUgYmVlbiByZXBvc2l0aW9uZWQuCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6dXBkYXRlV2lkZ2V0
UG9zaXRpb25zKTogY2FsbCB3aWRnZXRQb3NpdGlvbnNVcGRhdGVkKCkgb24gdGhlIHdpZGdldHMK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlcldpZGdldDo6d2lkZ2V0UG9zaXRpb25zVXBkYXRlZCk6IGNhbGwgd2lkZ2V0UG9zaXRp
b25zVXBkYXRlZCgpIG9uIHRoZSB3aWRnZXQKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyV2lk
Z2V0Lmg6CisKIDIwMTAtMDItMjUgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgpJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9XaWRnZXQuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vV2lk
Z2V0LmgJKHJldmlzaW9uIDU1MTYxKQ0KKysrIFdlYkNvcmUvcGxhdGZvcm0vV2lkZ2V0LmgJKHdv
cmtpbmcgY29weSkNCkBAIC0xODYsNiArMTg2LDkgQEANCiAKICAgICB2aXJ0dWFsIHZvaWQgZnJh
bWVSZWN0c0NoYW5nZWQoKSB7fQogCisgICAgLy8gTm90aWZpZXMgdGhpcyB3aWRnZXQgdGhhdCBv
dGhlciB3aWRnZXRzIG9uIHRoZSBwYWdlIGhhdmUgYmVlbiByZXBvc2l0aW9uZWQuCisgICAgdmly
dHVhbCB2b2lkIHdpZGdldFBvc2l0aW9uc1VwZGF0ZWQoKSB7fQorCiAjaWYgUExBVEZPUk0oTUFD
KQogICAgIE5TVmlldyogZ2V0T3V0ZXJWaWV3KCkgY29uc3Q7CiAgICAgCkluZGV4OiBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlcldpZGdldC5oCShyZXZpc2lvbiA1NTE2MSkNCisrKyBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJXaWRnZXQuaAkod29ya2luZyBjb3B5KQ0KQEAgLTM5LDYgKzM5LDcgQEANCiAgICAg
c3RhdGljIFJlbmRlcldpZGdldCogZmluZChjb25zdCBXaWRnZXQqKTsKIAogICAgIHZvaWQgdXBk
YXRlV2lkZ2V0UG9zaXRpb24oKTsKKyAgICB2b2lkIHdpZGdldFBvc2l0aW9uc1VwZGF0ZWQoKTsK
IAogICAgIHZvaWQgc2hvd1N1YnN0aXR1dGVJbWFnZShQYXNzUmVmUHRyPEltYWdlPik7CiAKSW5k
ZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldC5jcHANCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCShyZXZpc2lvbiA1NTE2MSkNCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtMzI1
LDYgKzMyNSwxMyBAQA0KICAgICB9CiB9CiAKK3ZvaWQgUmVuZGVyV2lkZ2V0Ojp3aWRnZXRQb3Np
dGlvbnNVcGRhdGVkKCkKK3sKKyAgICBpZiAoIW1fd2lkZ2V0KQorICAgICAgICByZXR1cm47Cisg
ICAgbV93aWRnZXQtPndpZGdldFBvc2l0aW9uc1VwZGF0ZWQoKTsKK30KKwogdm9pZCBSZW5kZXJX
aWRnZXQ6OnNldFNlbGVjdGlvblN0YXRlKFNlbGVjdGlvblN0YXRlIHN0YXRlKQogewogICAgIGlm
IChzZWxlY3Rpb25TdGF0ZSgpICE9IHN0YXRlKSB7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJWaWV3LmNwcA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZp
ZXcuY3BwCShyZXZpc2lvbiA1NTE2MSkNCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3
LmNwcAkod29ya2luZyBjb3B5KQ0KQEAgLTU0MSw2ICs1NDEsOCBAQA0KICAgICBSZW5kZXJXaWRn
ZXRTZXQ6Oml0ZXJhdG9yIGVuZCA9IG1fd2lkZ2V0cy5lbmQoKTsKICAgICBmb3IgKFJlbmRlcldp
ZGdldFNldDo6aXRlcmF0b3IgaXQgPSBtX3dpZGdldHMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0
KQogICAgICAgICAoKml0KS0+dXBkYXRlV2lkZ2V0UG9zaXRpb24oKTsKKyAgICBmb3IgKFJlbmRl
cldpZGdldFNldDo6aXRlcmF0b3IgaXQgPSBtX3dpZGdldHMuYmVnaW4oKTsgaXQgIT0gZW5kOyAr
K2l0KQorICAgICAgICAoKml0KS0+d2lkZ2V0UG9zaXRpb25zVXBkYXRlZCgpOwogfQogCiB2b2lk
IFJlbmRlclZpZXc6OmFkZFdpZGdldChSZW5kZXJXaWRnZXQqIG8pCkluZGV4OiBMYXlvdXRUZXN0
cy9wbHVnaW5zL2lmcmFtZS1zaGltcy5odG1sDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0VGVzdHMv
cGx1Z2lucy9pZnJhbWUtc2hpbXMuaHRtbAkocmV2aXNpb24gNTUxNjEpDQorKysgTGF5b3V0VGVz
dHMvcGx1Z2lucy9pZnJhbWUtc2hpbXMuaHRtbAkod29ya2luZyBjb3B5KQ0KQEAgLTQ4LDcgKzQ4
LDM2IEBADQogICAgICAgICAgICAgJyk7IiB2YWx1ZT0iY2xpY2ttZSIgc3R5bGU9InBvc2l0aW9u
OiBhYnNvbHV0ZTsgdG9wOiAxMDsgbGVmdDogMTA7IHdpZHRoOiA2MHB4OyBoZWlnaHQ6IDYwcHg7
Ii8+JzsKICAgICAgICAgcmV0dXJuIG87CiAgICAgfQorICAgIAorICAgIGZ1bmN0aW9uIGFwcGVu
ZE92ZXJsYXkob3ZlcmxheURpdlpJZnJhbWUsIG92ZXJsYXlEaXZaT3ZlcmxheSwgb3ZlcmxheUlu
c2lkZURpdiwgZXhwZWN0Q2xpY2thYmxlLCBjYXNlSWQpCisgICAgeworICAgICAgICB2YXIgaWQg
PSBtYWtlSWZyYW1lRGl2KCk7CisgICAgICAgIHZhciByb290ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoY2FzZUlkKTsKKyAgICAgICAgaWYgKG92ZXJsYXlEaXZaSWZyYW1lKQorICAgICAgICAg
ICAgaWQuc3R5bGUuekluZGV4ID0gb3ZlcmxheURpdlpJZnJhbWU7CiAKKyAgICAgICAgdmFyIG9k
ID0gbWFrZU92ZXJsYXlEaXYoZXhwZWN0Q2xpY2thYmxlID8gJ2dyZWVuJyA6ICdyZWQnLCBjYXNl
SWQpOworICAgICAgICBvZC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7CisgICAgICAgIGlm
IChvdmVybGF5RGl2Wk92ZXJsYXkpCisgICAgICAgICAgICBvZC5zdHlsZS56SW5kZXggPSBvdmVy
bGF5RGl2Wk92ZXJsYXk7CisKKyAgICAgICAgaWYgKG92ZXJsYXlJbnNpZGVEaXYpIHsKKyAgICAg
ICAgICAgIHZhciBwYXJlbnRkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAg
ICAgICAgICAgIGlmIChvdmVybGF5RGl2Wk92ZXJsYXkpCisgICAgICAgICAgICAgICAgcGFyZW50
ZGl2LnN0eWxlLnpJbmRleCA9IG92ZXJsYXlEaXZaT3ZlcmxheTsKKworICAgICAgICAgICAgcGFy
ZW50ZGl2LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJzsKKyAgICAgICAgICAgIHBhcmVudGRp
di5zdHlsZS50b3AgPSAnMHB4JzsKKyAgICAgICAgICAgIHBhcmVudGRpdi5zdHlsZS5sZWZ0ID0g
JzBweCc7CisgICAgICAgICAgICBwYXJlbnRkaXYuYXBwZW5kQ2hpbGQoaWQpOworICAgICAgICAg
ICAgcGFyZW50ZGl2LmFwcGVuZENoaWxkKG9kKTsKKyAgICAgICAgICAgIHJvb3QuYXBwZW5kQ2hp
bGQocGFyZW50ZGl2KTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJvb3QuYXBwZW5k
Q2hpbGQoaWQpOworICAgICAgICAgICAgcm9vdC5hcHBlbmRDaGlsZChvZCk7CisgICAgICAgIH0K
KyAgICB9OworCiAgICAgZnVuY3Rpb24gYWRkQ2FzZSh4LCB5LCB0YWdzKQogICAgIHsKICAgICAg
ICAgdmFyIGNhc2VJZCA9IGl0ZW1zOwpAQCAtNjIsNiArOTEsNyBAQA0KICAgICAgICAgcm9vdC5z
dHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7CiAgICAgICAgIHJvb3Quc3R5bGUubGVmdCA9IHgg
KiAod2lkdGggKyA0MCkgKyAncHgnOwogICAgICAgICByb290LnN0eWxlLnRvcCA9IHkgKiAoaGVp
Z2h0ICsgMjApICsgJ3B4JzsKKyAgICAgICAgcm9vdC5pZCA9IGNhc2VJZDsKICAgICAgICAgY29u
dGFpbmVyLmFwcGVuZENoaWxkKHJvb3QpOwogCiAgICAgICAgIHZhciBwbHVnaW5EaXZaOwpAQCAt
MTAyLDQwICsxMzIsMTYgQEANCiAgICAgICAgICAgICB9CiAgICAgICAgIH07CiAKLSAgICAgICAg
dmFyIGFwcGVuZE92ZXJsYXkgPSBmdW5jdGlvbigpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZh
ciBpZCA9IG1ha2VJZnJhbWVEaXYoKTsKLSAgICAgICAgICAgIGlmIChvdmVybGF5RGl2WklmcmFt
ZSkKLSAgICAgICAgICAgICAgICBpZC5zdHlsZS56SW5kZXggPSBvdmVybGF5RGl2WklmcmFtZTsK
LQotICAgICAgICAgICAgdmFyIG9kID0gbWFrZU92ZXJsYXlEaXYoZXhwZWN0Q2xpY2thYmxlID8g
J2dyZWVuJyA6ICdyZWQnLCBjYXNlSWQpOwotICAgICAgICAgICAgb2Quc3R5bGUucG9zaXRpb24g
PSAnYWJzb2x1dGUnOwotICAgICAgICAgICAgaWYgKG92ZXJsYXlEaXZaT3ZlcmxheSkKLSAgICAg
ICAgICAgICAgICBvZC5zdHlsZS56SW5kZXggPSBvdmVybGF5RGl2Wk92ZXJsYXk7Ci0KLSAgICAg
ICAgICAgIGlmICh0YWdzLm92ZXJsYXlJbnNpZGVEaXYpIHsKLSAgICAgICAgICAgICAgICB2YXIg
cGFyZW50ZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0gICAgICAgICAgICAg
ICAgaWYgKG92ZXJsYXlEaXZaT3ZlcmxheSkKLSAgICAgICAgICAgICAgICAgICAgcGFyZW50ZGl2
LnN0eWxlLnpJbmRleCA9IG92ZXJsYXlEaXZaT3ZlcmxheTsKLQotICAgICAgICAgICAgICAgIHBh
cmVudGRpdi5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7Ci0gICAgICAgICAgICAgICAgcGFy
ZW50ZGl2LnN0eWxlLnRvcCA9ICcwcHgnOwotICAgICAgICAgICAgICAgIHBhcmVudGRpdi5zdHls
ZS5sZWZ0ID0gJzBweCc7Ci0gICAgICAgICAgICAgICAgcGFyZW50ZGl2LmFwcGVuZENoaWxkKGlk
KTsKLSAgICAgICAgICAgICAgICBwYXJlbnRkaXYuYXBwZW5kQ2hpbGQob2QpOwotICAgICAgICAg
ICAgICAgIHJvb3QuYXBwZW5kQ2hpbGQocGFyZW50ZGl2KTsKLSAgICAgICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICAgICAgcm9vdC5hcHBlbmRDaGlsZChpZCk7Ci0gICAgICAgICAgICAgICAg
cm9vdC5hcHBlbmRDaGlsZChvZCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH07Ci0KICAgICAg
ICAgaWYgKHRhZ3Mub3ZlcmxheUVhcmxpZXIpIHsKLSAgICAgICAgICAgIGFwcGVuZE92ZXJsYXko
KTsKKyAgICAgICAgICAgIGFwcGVuZE92ZXJsYXkob3ZlcmxheURpdlpJZnJhbWUsIG92ZXJsYXlE
aXZaT3ZlcmxheSwgdGFncy5vdmVybGF5SW5zaWRlRGl2LCBleHBlY3RDbGlja2FibGUsIGNhc2VJ
ZCk7CiAgICAgICAgICAgICBhcHBlbmRQbHVnaW4oKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAg
ICAgICAgIGFwcGVuZFBsdWdpbigpOwotICAgICAgICAgICAgYXBwZW5kT3ZlcmxheSgpOworICAg
ICAgICAgICAgaWYgKHRhZ3Mub3ZlcmxheU9uVGltZW91dCkgeworICAgICAgICAgICAgICAgIHNl
dFRpbWVvdXQoJ2FwcGVuZE92ZXJsYXkoJytvdmVybGF5RGl2WklmcmFtZSsnLCAnK292ZXJsYXlE
aXZaT3ZlcmxheSArJywgJyArIHRhZ3Mub3ZlcmxheUluc2lkZURpdiArICcsICcgKyBleHBlY3RD
bGlja2FibGUgKyAnLCAnICsgY2FzZUlkICsgJyknLCAwKTsKKyAgICAgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICAgICAgYXBwZW5kT3ZlcmxheShvdmVybGF5RGl2WklmcmFtZSwgb3Zlcmxh
eURpdlpPdmVybGF5LCB0YWdzLm92ZXJsYXlJbnNpZGVEaXYsIGV4cGVjdENsaWNrYWJsZSwgY2Fz
ZUlkKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICB9CiAKQEAgLTE3Nyw2ICsxODMs
NyBAQA0KICAgICAgICAgYWRkQ2FzZSgwLCAzLCB7J3BsdWdpbk5vcmVsYXRpdmUnOjEsIGV4cGVj
dDonb3ZlcmxheSBPVkVSJ30pOwogICAgICAgICBhZGRDYXNlKDEsIDMsIHsnb3ZlcmxheUVhcmxp
ZXInOjEsICdwbHVnaW5Ob3JlbGF0aXZlJzoxLCAncGx1Z2luSW5zaWRlRGl2JzoxLCBleHBlY3Q6
J292ZXJsYXkgT1ZFUid9KTsKICAgICAgICAgYWRkQ2FzZSgyLCAzLCB7J3BsdWdpbk5vcmVsYXRp
dmUnOjEsICdwbHVnaW5JbnNpZGVEaXYnOjEsIGV4cGVjdDonb3ZlcmxheSBPVkVSJ30pOworICAg
ICAgICBhZGRDYXNlKDMsIDMsIHsncGx1Z2luTG93ZXJ6JzoxLCAnb3ZlcmxheU9uVGltZW91dCc6
MSwgZXhwZWN0OidvdmVybGF5IE9WRVInfSk7CiAKICAgICAgICAgcnVuVGVzdCgpOwogICAgIH0K
SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gNTUyMzIpDQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpDQpAQCAtMSwzICsxLDE2IEBADQorMjAxMC0wMi0yNSAgVGhhdGNoZXIgVWxy
aWNoICA8dHVscmljaEBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisJRml4IGNocm9taXVtIGlmcmFtZSBzaGltcy4gIEFkZCBhbm90aGVyIHRlc3Qg
Y2FzZSB0byB0aGUKKwlpZnJhbWVzLXNoaW1zIHRlc3QuICBBZnRlciByNTM2MzcsIHRoZSBwbHVn
aW4gd2lkZ2V0IGRvZXNuJ3QgZ2V0CisJbW92ZWQgZXZlcnkgcGFpbnQuICBUaGlzIHVzZWQgdG8g
aGlkZSB0aGUgYnVnIHRoYXQgaWYgYW4gaWZyYW1lCisJZ2V0cyBhZGRlZCwgdGhlIHBsdWdpbidz
IGN1dG91dCByZWN0YW5nbGVzIGRvbid0IGdldCB1cGRhdGVkIHVudGlsCisJYSBsYXlvdXQgaGFw
cGVucy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1
MTg0CisKKyAgICAgICAgKiBwbHVnaW5zL2lmcmFtZS1zaGltcy5odG1sOiB0ZXN0IGNhc2UgdGhh
dCBhZGRzIGFuIGlmcmFtZSBzaGltIGR5bmFtaWNhbGx5CisKIDIwMTAtMDItMjUgIEJlbiBNdXJk
b2NoICA8YmVubUBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9o
ZGUgQ2hyaXN0aWFuc2VuLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49485</attachid>
            <date>2010-02-25 06:52:55 -0800</date>
            <delta_ts>2010-02-25 07:14:27 -0800</delta_ts>
            <desc>Ensure that Widget is notified via a new method widgetPositionsUpdated() during RenderView::updateWidgetPositions()</desc>
            <filename>webkit_patch.txt</filename>
            <type>text/plain</type>
            <size>10097</size>
            <attacher name="Thatcher Ulrich">tulrich</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5jcHANCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0NCi0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwu
Y3BwCShyZXZpc2lvbiA1NTE2MSkNCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNv
bnRhaW5lckltcGwuY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtMTcwLDYgKzE3MCwxMiBAQA0KICAg
ICByZXBvcnRHZW9tZXRyeSgpOwogfQogCit2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6Ondp
ZGdldFBvc2l0aW9uc1VwZGF0ZWQoKQoreworICAgV2lkZ2V0Ojp3aWRnZXRQb3NpdGlvbnNVcGRh
dGVkKCk7CisgICByZXBvcnRHZW9tZXRyeSgpOworfQorCiB2b2lkIFdlYlBsdWdpbkNvbnRhaW5l
ckltcGw6OnNldFBhcmVudFZpc2libGUoYm9vbCBwYXJlbnRWaXNpYmxlKQogewogICAgIC8vIFdl
IG92ZXJyaWRlIHRoaXMgZnVuY3Rpb24gdG8gbWFrZSBzdXJlIHRoYXQgZ2VvbWV0cnkgdXBkYXRl
cyBhcmUgc2VudApJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJ
bXBsLmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRh
aW5lckltcGwuaAkocmV2aXNpb24gNTUxNjEpDQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQ
bHVnaW5Db250YWluZXJJbXBsLmgJKHdvcmtpbmcgY29weSkNCkBAIC03Myw2ICs3Myw3IEBADQog
ICAgIHZpcnR1YWwgdm9pZCBmcmFtZVJlY3RzQ2hhbmdlZCgpOwogICAgIHZpcnR1YWwgdm9pZCBz
ZXRQYXJlbnRWaXNpYmxlKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRQYXJlbnQoV2ViQ29y
ZTo6U2Nyb2xsVmlldyopOworICAgIHZpcnR1YWwgdm9pZCB3aWRnZXRQb3NpdGlvbnNVcGRhdGVk
KCk7CiAKICAgICAvLyBXZWJQbHVnaW5Db250YWluZXIgbWV0aG9kcwogICAgIHZpcnR1YWwgdm9p
ZCBpbnZhbGlkYXRlKCk7CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nDQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09DQotLS0gV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gNTUyMzIpDQorKysg
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQ0KQEAgLTEsMyArMSwxOSBA
QA0KKzIwMTAtMDItMjUgIFRoYXRjaGVyIFVscmljaCAgPHR1bHJpY2hAZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworCUZpeCBjaHJvbWl1bSBpZnJh
bWUgc2hpbXMuICBBZGQgYW5vdGhlciB0ZXN0IGNhc2UgdG8gdGhlCisJaWZyYW1lcy1zaGltcyB0
ZXN0LiAgQWZ0ZXIgcjUzNjM3LCB0aGUgcGx1Z2luIHdpZGdldCBkb2Vzbid0IGdldAorCW1vdmVk
IGV2ZXJ5IHBhaW50LiAgVGhpcyB1c2VkIHRvIGhpZGUgdGhlIGJ1ZyB0aGF0IGlmIGFuIGlmcmFt
ZQorCWdldHMgYWRkZWQsIHRoZSBwbHVnaW4ncyBjdXRvdXQgcmVjdGFuZ2xlcyBkb24ndCBnZXQg
dXBkYXRlZCB1bnRpbAorCWEgbGF5b3V0IGhhcHBlbnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTE4NAorCisgICAgICAgICogc3JjL1dlYlBsdWdp
bkNvbnRhaW5lckltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5Db250YWluZXJJ
bXBsOjp3aWRnZXRQb3NpdGlvbnNVcGRhdGVkKTogZG8gcmVwb3J0R2VvbWV0cnkoKSB0byBlbnN1
cmUgdGhhdAorCSAgICB0aGUgcGx1Z2luIGlzIGF3YXJlIG9mIHRoZSBwb3NpdGlvbnMgb2YgY3V0
b3V0cyBvbiB0aGUgcGFnZSAoZm9yIGlmcmFtZSBzaGltIGJlaGF2aW9yKS4KKyAgICAgICAgKiBz
cmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5oOgorCiAyMDEwLTAyLTI0ICBKYXkgQ2FtcGFuICA8
amNhbXBhbkBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmlkIExldmluLgpJ
bmRleDogV2ViQ29yZS9DaGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJDb3JlL0NoYW5nZUxv
ZwkocmV2aXNpb24gNTUyMzEpDQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkN
CkBAIC0xLDMgKzEsMjQgQEANCisyMDEwLTAyLTI1ICBUaGF0Y2hlciBVbHJpY2ggIDx0dWxyaWNo
QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRml4IGNocm9taXVtIGlmcmFtZSBzaGltcy4gIEFkZCBhbm90aGVyIHRlc3QgY2FzZSB0
byB0aGUKKyAgICAgICAgaWZyYW1lcy1zaGltcyB0ZXN0LiAgQWZ0ZXIgcjUzNjM3LCB0aGUgcGx1
Z2luIHdpZGdldCBkb2Vzbid0IGdldAorICAgICAgICBtb3ZlZCBldmVyeSBwYWludC4gIFRoaXMg
dXNlZCB0byBoaWRlIHRoZSBidWcgdGhhdCBpZiBhbiBpZnJhbWUKKyAgICAgICAgZ2V0cyBhZGRl
ZCwgdGhlIHBsdWdpbidzIGN1dG91dCByZWN0YW5nbGVzIGRvbid0IGdldCB1cGRhdGVkIHVudGls
CisgICAgICAgIGEgbGF5b3V0IGhhcHBlbnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zNTE4NAorCisgICAgICAgICogcGxhdGZvcm0vV2lkZ2V0Lmg6
CisgICAgICAgIChXZWJDb3JlOjpXaWRnZXQ6OndpZGdldFBvc2l0aW9uc1VwZGF0ZWQpOiBuZXcg
dmlydHVhbCBtZXRob2QKKyAgICAgICAgICAgIHdpZGdldFBvc2l0aW9uc1VwZGF0ZWQoKSB0byBu
b3RpZnkgd2lkZ2V0cyB3aGVuIG90aGVyIHdpZGdldHMgb24KKyAgICAgICAgICAgIHRoZSBwYWdl
IGhhdmUgYmVlbiByZXBvc2l0aW9uZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZXcu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6dXBkYXRlV2lkZ2V0UG9zaXRpb25z
KTogY2FsbCB3aWRnZXRQb3NpdGlvbnNVcGRhdGVkKCkgb24gdGhlIHdpZGdldHMKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcldp
ZGdldDo6d2lkZ2V0UG9zaXRpb25zVXBkYXRlZCk6IGNhbGwgd2lkZ2V0UG9zaXRpb25zVXBkYXRl
ZCgpIG9uIHRoZSB3aWRnZXQKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyV2lkZ2V0Lmg6CisK
IDIwMTAtMDItMjUgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgpJbmRleDogV2ViQ29yZS9wbGF0Zm9y
bS9XaWRnZXQuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vV2lkZ2V0LmgJKHJl
dmlzaW9uIDU1MTYxKQ0KKysrIFdlYkNvcmUvcGxhdGZvcm0vV2lkZ2V0LmgJKHdvcmtpbmcgY29w
eSkNCkBAIC0xODYsNiArMTg2LDkgQEANCiAKICAgICB2aXJ0dWFsIHZvaWQgZnJhbWVSZWN0c0No
YW5nZWQoKSB7fQogCisgICAgLy8gTm90aWZpZXMgdGhpcyB3aWRnZXQgdGhhdCBvdGhlciB3aWRn
ZXRzIG9uIHRoZSBwYWdlIGhhdmUgYmVlbiByZXBvc2l0aW9uZWQuCisgICAgdmlydHVhbCB2b2lk
IHdpZGdldFBvc2l0aW9uc1VwZGF0ZWQoKSB7fQorCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIE5T
VmlldyogZ2V0T3V0ZXJWaWV3KCkgY29uc3Q7CiAgICAgCkluZGV4OiBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJXaWRnZXQuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
cldpZGdldC5oCShyZXZpc2lvbiA1NTE2MSkNCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJX
aWRnZXQuaAkod29ya2luZyBjb3B5KQ0KQEAgLTM5LDYgKzM5LDcgQEANCiAgICAgc3RhdGljIFJl
bmRlcldpZGdldCogZmluZChjb25zdCBXaWRnZXQqKTsKIAogICAgIHZvaWQgdXBkYXRlV2lkZ2V0
UG9zaXRpb24oKTsKKyAgICB2b2lkIHdpZGdldFBvc2l0aW9uc1VwZGF0ZWQoKTsKIAogICAgIHZv
aWQgc2hvd1N1YnN0aXR1dGVJbWFnZShQYXNzUmVmUHRyPEltYWdlPik7CiAKSW5kZXg6IFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldC5jcHANCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCShyZXZpc2lvbiA1NTE2MSkNCisrKyBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtMzI1LDYgKzMyNSwx
MyBAQA0KICAgICB9CiB9CiAKK3ZvaWQgUmVuZGVyV2lkZ2V0Ojp3aWRnZXRQb3NpdGlvbnNVcGRh
dGVkKCkKK3sKKyAgICBpZiAoIW1fd2lkZ2V0KQorICAgICAgICByZXR1cm47CisgICAgbV93aWRn
ZXQtPndpZGdldFBvc2l0aW9uc1VwZGF0ZWQoKTsKK30KKwogdm9pZCBSZW5kZXJXaWRnZXQ6OnNl
dFNlbGVjdGlvblN0YXRlKFNlbGVjdGlvblN0YXRlIHN0YXRlKQogewogICAgIGlmIChzZWxlY3Rp
b25TdGF0ZSgpICE9IHN0YXRlKSB7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3
LmNwcA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQ0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCShy
ZXZpc2lvbiA1NTE2MSkNCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAkod29y
a2luZyBjb3B5KQ0KQEAgLTU0MSw2ICs1NDEsOCBAQA0KICAgICBSZW5kZXJXaWRnZXRTZXQ6Oml0
ZXJhdG9yIGVuZCA9IG1fd2lkZ2V0cy5lbmQoKTsKICAgICBmb3IgKFJlbmRlcldpZGdldFNldDo6
aXRlcmF0b3IgaXQgPSBtX3dpZGdldHMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQogICAgICAg
ICAoKml0KS0+dXBkYXRlV2lkZ2V0UG9zaXRpb24oKTsKKyAgICBmb3IgKFJlbmRlcldpZGdldFNl
dDo6aXRlcmF0b3IgaXQgPSBtX3dpZGdldHMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQorICAg
ICAgICAoKml0KS0+d2lkZ2V0UG9zaXRpb25zVXBkYXRlZCgpOwogfQogCiB2b2lkIFJlbmRlclZp
ZXc6OmFkZFdpZGdldChSZW5kZXJXaWRnZXQqIG8pCkluZGV4OiBMYXlvdXRUZXN0cy9wbHVnaW5z
L2lmcmFtZS1zaGltcy5odG1sDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0VGVzdHMvcGx1Z2lucy9p
ZnJhbWUtc2hpbXMuaHRtbAkocmV2aXNpb24gNTUxNjEpDQorKysgTGF5b3V0VGVzdHMvcGx1Z2lu
cy9pZnJhbWUtc2hpbXMuaHRtbAkod29ya2luZyBjb3B5KQ0KQEAgLTQ4LDcgKzQ4LDM2IEBADQog
ICAgICAgICAgICAgJyk7IiB2YWx1ZT0iY2xpY2ttZSIgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0
ZTsgdG9wOiAxMDsgbGVmdDogMTA7IHdpZHRoOiA2MHB4OyBoZWlnaHQ6IDYwcHg7Ii8+JzsKICAg
ICAgICAgcmV0dXJuIG87CiAgICAgfQorICAgIAorICAgIGZ1bmN0aW9uIGFwcGVuZE92ZXJsYXko
b3ZlcmxheURpdlpJZnJhbWUsIG92ZXJsYXlEaXZaT3ZlcmxheSwgb3ZlcmxheUluc2lkZURpdiwg
ZXhwZWN0Q2xpY2thYmxlLCBjYXNlSWQpCisgICAgeworICAgICAgICB2YXIgaWQgPSBtYWtlSWZy
YW1lRGl2KCk7CisgICAgICAgIHZhciByb290ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY2Fz
ZUlkKTsKKyAgICAgICAgaWYgKG92ZXJsYXlEaXZaSWZyYW1lKQorICAgICAgICAgICAgaWQuc3R5
bGUuekluZGV4ID0gb3ZlcmxheURpdlpJZnJhbWU7CiAKKyAgICAgICAgdmFyIG9kID0gbWFrZU92
ZXJsYXlEaXYoZXhwZWN0Q2xpY2thYmxlID8gJ2dyZWVuJyA6ICdyZWQnLCBjYXNlSWQpOworICAg
ICAgICBvZC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7CisgICAgICAgIGlmIChvdmVybGF5
RGl2Wk92ZXJsYXkpCisgICAgICAgICAgICBvZC5zdHlsZS56SW5kZXggPSBvdmVybGF5RGl2Wk92
ZXJsYXk7CisKKyAgICAgICAgaWYgKG92ZXJsYXlJbnNpZGVEaXYpIHsKKyAgICAgICAgICAgIHZh
ciBwYXJlbnRkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgICAg
IGlmIChvdmVybGF5RGl2Wk92ZXJsYXkpCisgICAgICAgICAgICAgICAgcGFyZW50ZGl2LnN0eWxl
LnpJbmRleCA9IG92ZXJsYXlEaXZaT3ZlcmxheTsKKworICAgICAgICAgICAgcGFyZW50ZGl2LnN0
eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJzsKKyAgICAgICAgICAgIHBhcmVudGRpdi5zdHlsZS50
b3AgPSAnMHB4JzsKKyAgICAgICAgICAgIHBhcmVudGRpdi5zdHlsZS5sZWZ0ID0gJzBweCc7Cisg
ICAgICAgICAgICBwYXJlbnRkaXYuYXBwZW5kQ2hpbGQoaWQpOworICAgICAgICAgICAgcGFyZW50
ZGl2LmFwcGVuZENoaWxkKG9kKTsKKyAgICAgICAgICAgIHJvb3QuYXBwZW5kQ2hpbGQocGFyZW50
ZGl2KTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJvb3QuYXBwZW5kQ2hpbGQoaWQp
OworICAgICAgICAgICAgcm9vdC5hcHBlbmRDaGlsZChvZCk7CisgICAgICAgIH0KKyAgICB9Owor
CiAgICAgZnVuY3Rpb24gYWRkQ2FzZSh4LCB5LCB0YWdzKQogICAgIHsKICAgICAgICAgdmFyIGNh
c2VJZCA9IGl0ZW1zOwpAQCAtNjIsNiArOTEsNyBAQA0KICAgICAgICAgcm9vdC5zdHlsZS5wb3Np
dGlvbiA9ICdhYnNvbHV0ZSc7CiAgICAgICAgIHJvb3Quc3R5bGUubGVmdCA9IHggKiAod2lkdGgg
KyA0MCkgKyAncHgnOwogICAgICAgICByb290LnN0eWxlLnRvcCA9IHkgKiAoaGVpZ2h0ICsgMjAp
ICsgJ3B4JzsKKyAgICAgICAgcm9vdC5pZCA9IGNhc2VJZDsKICAgICAgICAgY29udGFpbmVyLmFw
cGVuZENoaWxkKHJvb3QpOwogCiAgICAgICAgIHZhciBwbHVnaW5EaXZaOwpAQCAtMTAyLDQwICsx
MzIsMTYgQEANCiAgICAgICAgICAgICB9CiAgICAgICAgIH07CiAKLSAgICAgICAgdmFyIGFwcGVu
ZE92ZXJsYXkgPSBmdW5jdGlvbigpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciBpZCA9IG1h
a2VJZnJhbWVEaXYoKTsKLSAgICAgICAgICAgIGlmIChvdmVybGF5RGl2WklmcmFtZSkKLSAgICAg
ICAgICAgICAgICBpZC5zdHlsZS56SW5kZXggPSBvdmVybGF5RGl2WklmcmFtZTsKLQotICAgICAg
ICAgICAgdmFyIG9kID0gbWFrZU92ZXJsYXlEaXYoZXhwZWN0Q2xpY2thYmxlID8gJ2dyZWVuJyA6
ICdyZWQnLCBjYXNlSWQpOwotICAgICAgICAgICAgb2Quc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1
dGUnOwotICAgICAgICAgICAgaWYgKG92ZXJsYXlEaXZaT3ZlcmxheSkKLSAgICAgICAgICAgICAg
ICBvZC5zdHlsZS56SW5kZXggPSBvdmVybGF5RGl2Wk92ZXJsYXk7Ci0KLSAgICAgICAgICAgIGlm
ICh0YWdzLm92ZXJsYXlJbnNpZGVEaXYpIHsKLSAgICAgICAgICAgICAgICB2YXIgcGFyZW50ZGl2
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0gICAgICAgICAgICAgICAgaWYgKG92
ZXJsYXlEaXZaT3ZlcmxheSkKLSAgICAgICAgICAgICAgICAgICAgcGFyZW50ZGl2LnN0eWxlLnpJ
bmRleCA9IG92ZXJsYXlEaXZaT3ZlcmxheTsKLQotICAgICAgICAgICAgICAgIHBhcmVudGRpdi5z
dHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7Ci0gICAgICAgICAgICAgICAgcGFyZW50ZGl2LnN0
eWxlLnRvcCA9ICcwcHgnOwotICAgICAgICAgICAgICAgIHBhcmVudGRpdi5zdHlsZS5sZWZ0ID0g
JzBweCc7Ci0gICAgICAgICAgICAgICAgcGFyZW50ZGl2LmFwcGVuZENoaWxkKGlkKTsKLSAgICAg
ICAgICAgICAgICBwYXJlbnRkaXYuYXBwZW5kQ2hpbGQob2QpOwotICAgICAgICAgICAgICAgIHJv
b3QuYXBwZW5kQ2hpbGQocGFyZW50ZGl2KTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICAgICAgcm9vdC5hcHBlbmRDaGlsZChpZCk7Ci0gICAgICAgICAgICAgICAgcm9vdC5hcHBl
bmRDaGlsZChvZCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH07Ci0KICAgICAgICAgaWYgKHRh
Z3Mub3ZlcmxheUVhcmxpZXIpIHsKLSAgICAgICAgICAgIGFwcGVuZE92ZXJsYXkoKTsKKyAgICAg
ICAgICAgIGFwcGVuZE92ZXJsYXkob3ZlcmxheURpdlpJZnJhbWUsIG92ZXJsYXlEaXZaT3Zlcmxh
eSwgdGFncy5vdmVybGF5SW5zaWRlRGl2LCBleHBlY3RDbGlja2FibGUsIGNhc2VJZCk7CiAgICAg
ICAgICAgICBhcHBlbmRQbHVnaW4oKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGFw
cGVuZFBsdWdpbigpOwotICAgICAgICAgICAgYXBwZW5kT3ZlcmxheSgpOworICAgICAgICAgICAg
aWYgKHRhZ3Mub3ZlcmxheU9uVGltZW91dCkgeworICAgICAgICAgICAgICAgIHNldFRpbWVvdXQo
J2FwcGVuZE92ZXJsYXkoJytvdmVybGF5RGl2WklmcmFtZSsnLCAnK292ZXJsYXlEaXZaT3Zlcmxh
eSArJywgJyArIHRhZ3Mub3ZlcmxheUluc2lkZURpdiArICcsICcgKyBleHBlY3RDbGlja2FibGUg
KyAnLCAnICsgY2FzZUlkICsgJyknLCAwKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICAgICAgYXBwZW5kT3ZlcmxheShvdmVybGF5RGl2WklmcmFtZSwgb3ZlcmxheURpdlpPdmVy
bGF5LCB0YWdzLm92ZXJsYXlJbnNpZGVEaXYsIGV4cGVjdENsaWNrYWJsZSwgY2FzZUlkKTsKKyAg
ICAgICAgICAgIH0KICAgICAgICAgfQogICAgICB9CiAKQEAgLTE3Nyw2ICsxODMsNyBAQA0KICAg
ICAgICAgYWRkQ2FzZSgwLCAzLCB7J3BsdWdpbk5vcmVsYXRpdmUnOjEsIGV4cGVjdDonb3Zlcmxh
eSBPVkVSJ30pOwogICAgICAgICBhZGRDYXNlKDEsIDMsIHsnb3ZlcmxheUVhcmxpZXInOjEsICdw
bHVnaW5Ob3JlbGF0aXZlJzoxLCAncGx1Z2luSW5zaWRlRGl2JzoxLCBleHBlY3Q6J292ZXJsYXkg
T1ZFUid9KTsKICAgICAgICAgYWRkQ2FzZSgyLCAzLCB7J3BsdWdpbk5vcmVsYXRpdmUnOjEsICdw
bHVnaW5JbnNpZGVEaXYnOjEsIGV4cGVjdDonb3ZlcmxheSBPVkVSJ30pOworICAgICAgICBhZGRD
YXNlKDMsIDMsIHsncGx1Z2luTG93ZXJ6JzoxLCAnb3ZlcmxheU9uVGltZW91dCc6MSwgZXhwZWN0
OidvdmVybGF5IE9WRVInfSk7CiAKICAgICAgICAgcnVuVGVzdCgpOwogICAgIH0KSW5kZXg6IExh
eW91dFRlc3RzL0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gNTUyMzIpDQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpDQpAQCAtMSwzICsxLDE2IEBADQorMjAxMC0wMi0yNSAgVGhhdGNoZXIgVWxyaWNoICA8dHVs
cmljaEBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisJRml4IGNocm9taXVtIGlmcmFtZSBzaGltcy4gIEFkZCBhbm90aGVyIHRlc3QgY2FzZSB0byB0
aGUKKwlpZnJhbWVzLXNoaW1zIHRlc3QuICBBZnRlciByNTM2MzcsIHRoZSBwbHVnaW4gd2lkZ2V0
IGRvZXNuJ3QgZ2V0CisJbW92ZWQgZXZlcnkgcGFpbnQuICBUaGlzIHVzZWQgdG8gaGlkZSB0aGUg
YnVnIHRoYXQgaWYgYW4gaWZyYW1lCisJZ2V0cyBhZGRlZCwgdGhlIHBsdWdpbidzIGN1dG91dCBy
ZWN0YW5nbGVzIGRvbid0IGdldCB1cGRhdGVkIHVudGlsCisJYSBsYXlvdXQgaGFwcGVucy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MTg0CisKKyAg
ICAgICAgKiBwbHVnaW5zL2lmcmFtZS1zaGltcy5odG1sOiB0ZXN0IGNhc2UgdGhhdCBhZGRzIGFu
IGlmcmFtZSBzaGltIGR5bmFtaWNhbGx5CisKIDIwMTAtMDItMjUgIEJlbiBNdXJkb2NoICA8YmVu
bUBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0
aWFuc2VuLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49486</attachid>
            <date>2010-02-25 07:14:27 -0800</date>
            <delta_ts>2010-02-25 10:07:53 -0800</delta_ts>
            <desc>Ensure that Widget is notified via a new method widgetPositionsUpdated() during RenderView::updateWidgetPositions()</desc>
            <filename>webkit_patch.txt</filename>
            <type>text/plain</type>
            <size>10141</size>
            <attacher name="Thatcher Ulrich">tulrich</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5jcHANCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0NCi0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwu
Y3BwCShyZXZpc2lvbiA1NTE2MSkNCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNv
bnRhaW5lckltcGwuY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtMTcwLDYgKzE3MCwxMiBAQA0KICAg
ICByZXBvcnRHZW9tZXRyeSgpOwogfQogCit2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6Ondp
ZGdldFBvc2l0aW9uc1VwZGF0ZWQoKQoreworICAgIFdpZGdldDo6d2lkZ2V0UG9zaXRpb25zVXBk
YXRlZCgpOworICAgIHJlcG9ydEdlb21ldHJ5KCk7Cit9CisKIHZvaWQgV2ViUGx1Z2luQ29udGFp
bmVySW1wbDo6c2V0UGFyZW50VmlzaWJsZShib29sIHBhcmVudFZpc2libGUpCiB7CiAgICAgLy8g
V2Ugb3ZlcnJpZGUgdGhpcyBmdW5jdGlvbiB0byBtYWtlIHN1cmUgdGhhdCBnZW9tZXRyeSB1cGRh
dGVzIGFyZSBzZW50CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5l
ckltcGwuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29u
dGFpbmVySW1wbC5oCShyZXZpc2lvbiA1NTE2MSkNCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlBsdWdpbkNvbnRhaW5lckltcGwuaAkod29ya2luZyBjb3B5KQ0KQEAgLTczLDYgKzczLDcgQEAN
CiAgICAgdmlydHVhbCB2b2lkIGZyYW1lUmVjdHNDaGFuZ2VkKCk7CiAgICAgdmlydHVhbCB2b2lk
IHNldFBhcmVudFZpc2libGUoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldFBhcmVudChXZWJD
b3JlOjpTY3JvbGxWaWV3Kik7CisgICAgdmlydHVhbCB2b2lkIHdpZGdldFBvc2l0aW9uc1VwZGF0
ZWQoKTsKIAogICAgIC8vIFdlYlBsdWdpbkNvbnRhaW5lciBtZXRob2RzCiAgICAgdmlydHVhbCB2
b2lkIGludmFsaWRhdGUoKTsKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cNCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0NCi0tLSBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA1NTIzMikNCisr
KyBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpDQpAQCAtMSwzICsxLDE5
IEBADQorMjAxMC0wMi0yNSAgVGhhdGNoZXIgVWxyaWNoICA8dHVscmljaEBnb29nbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBjaHJv
bWl1bSBpZnJhbWUgc2hpbXMuICBBZGQgYW5vdGhlciB0ZXN0IGNhc2UgdG8gdGhlCisgICAgICAg
IGlmcmFtZXMtc2hpbXMgdGVzdC4gIEFmdGVyIHI1MzYzNywgdGhlIHBsdWdpbiB3aWRnZXQgZG9l
c24ndCBnZXQKKyAgICAgICAgbW92ZWQgZXZlcnkgcGFpbnQuICBUaGlzIHVzZWQgdG8gaGlkZSB0
aGUgYnVnIHRoYXQgaWYgYW4gaWZyYW1lCisgICAgICAgIGdldHMgYWRkZWQsIHRoZSBwbHVnaW4n
cyBjdXRvdXQgcmVjdGFuZ2xlcyBkb24ndCBnZXQgdXBkYXRlZCB1bnRpbAorICAgICAgICBhIGxh
eW91dCBoYXBwZW5zLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzUxODQKKworICAgICAgICAqIHNyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6d2lkZ2V0UG9zaXRpb25z
VXBkYXRlZCk6IGRvIHJlcG9ydEdlb21ldHJ5KCkgdG8gZW5zdXJlIHRoYXQKKyAgICAgICAgICAg
IHRoZSBwbHVnaW4gaXMgYXdhcmUgb2YgdGhlIHBvc2l0aW9ucyBvZiBjdXRvdXRzIG9uIHRoZSBw
YWdlIChmb3IgaWZyYW1lIHNoaW0gYmVoYXZpb3IpLgorICAgICAgICAqIHNyYy9XZWJQbHVnaW5D
b250YWluZXJJbXBsLmg6CisKIDIwMTAtMDItMjQgIEpheSBDYW1wYW4gIDxqY2FtcGFuQGdvb2ds
ZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2aW4uCkluZGV4OiBXZWJDb3Jl
L0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiA1
NTIzMSkNCisrKyBXZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQ0KQEAgLTEsMyArMSwy
NCBAQA0KKzIwMTAtMDItMjUgIFRoYXRjaGVyIFVscmljaCAgPHR1bHJpY2hAZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggY2hy
b21pdW0gaWZyYW1lIHNoaW1zLiAgQWRkIGFub3RoZXIgdGVzdCBjYXNlIHRvIHRoZQorICAgICAg
ICBpZnJhbWVzLXNoaW1zIHRlc3QuICBBZnRlciByNTM2MzcsIHRoZSBwbHVnaW4gd2lkZ2V0IGRv
ZXNuJ3QgZ2V0CisgICAgICAgIG1vdmVkIGV2ZXJ5IHBhaW50LiAgVGhpcyB1c2VkIHRvIGhpZGUg
dGhlIGJ1ZyB0aGF0IGlmIGFuIGlmcmFtZQorICAgICAgICBnZXRzIGFkZGVkLCB0aGUgcGx1Z2lu
J3MgY3V0b3V0IHJlY3RhbmdsZXMgZG9uJ3QgZ2V0IHVwZGF0ZWQgdW50aWwKKyAgICAgICAgYSBs
YXlvdXQgaGFwcGVucy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTM1MTg0CisKKyAgICAgICAgKiBwbGF0Zm9ybS9XaWRnZXQuaDoKKyAgICAgICAgKFdl
YkNvcmU6OldpZGdldDo6d2lkZ2V0UG9zaXRpb25zVXBkYXRlZCk6IG5ldyB2aXJ0dWFsIG1ldGhv
ZAorICAgICAgICAgICAgd2lkZ2V0UG9zaXRpb25zVXBkYXRlZCgpIHRvIG5vdGlmeSB3aWRnZXRz
IHdoZW4gb3RoZXIgd2lkZ2V0cyBvbgorICAgICAgICAgICAgdGhlIHBhZ2UgaGF2ZSBiZWVuIHJl
cG9zaXRpb25lZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJWaWV3Ojp1cGRhdGVXaWRnZXRQb3NpdGlvbnMpOiBjYWxsIHdpZGdl
dFBvc2l0aW9uc1VwZGF0ZWQoKSBvbiB0aGUgd2lkZ2V0cworICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJXaWRnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyV2lkZ2V0Ojp3aWRnZXRQ
b3NpdGlvbnNVcGRhdGVkKTogY2FsbCB3aWRnZXRQb3NpdGlvbnNVcGRhdGVkKCkgb24gdGhlIHdp
ZGdldAorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJXaWRnZXQuaDoKKwogMjAxMC0wMi0yNSAg
UGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBUaW1vdGh5IEhhdGNoZXIuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL1dpZGdldC5oDQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09DQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9XaWRnZXQuaAkocmV2aXNpb24gNTUxNjEp
DQorKysgV2ViQ29yZS9wbGF0Zm9ybS9XaWRnZXQuaAkod29ya2luZyBjb3B5KQ0KQEAgLTE4Niw2
ICsxODYsOSBAQA0KIAogICAgIHZpcnR1YWwgdm9pZCBmcmFtZVJlY3RzQ2hhbmdlZCgpIHt9CiAK
KyAgICAvLyBOb3RpZmllcyB0aGlzIHdpZGdldCB0aGF0IG90aGVyIHdpZGdldHMgb24gdGhlIHBh
Z2UgaGF2ZSBiZWVuIHJlcG9zaXRpb25lZC4KKyAgICB2aXJ0dWFsIHZvaWQgd2lkZ2V0UG9zaXRp
b25zVXBkYXRlZCgpIHt9CisKICNpZiBQTEFURk9STShNQUMpCiAgICAgTlNWaWV3KiBnZXRPdXRl
clZpZXcoKSBjb25zdDsKICAgICAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdl
dC5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09DQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmgJKHJl
dmlzaW9uIDU1MTYxKQ0KKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldC5oCSh3b3Jr
aW5nIGNvcHkpDQpAQCAtMzksNiArMzksNyBAQA0KICAgICBzdGF0aWMgUmVuZGVyV2lkZ2V0KiBm
aW5kKGNvbnN0IFdpZGdldCopOwogCiAgICAgdm9pZCB1cGRhdGVXaWRnZXRQb3NpdGlvbigpOwor
ICAgIHZvaWQgd2lkZ2V0UG9zaXRpb25zVXBkYXRlZCgpOwogCiAgICAgdm9pZCBzaG93U3Vic3Rp
dHV0ZUltYWdlKFBhc3NSZWZQdHI8SW1hZ2U+KTsKIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyV2lkZ2V0LmNwcA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
cldpZGdldC5jcHAJKHJldmlzaW9uIDU1MTYxKQ0KKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
cldpZGdldC5jcHAJKHdvcmtpbmcgY29weSkNCkBAIC0zMjUsNiArMzI1LDEzIEBADQogICAgIH0K
IH0KIAordm9pZCBSZW5kZXJXaWRnZXQ6OndpZGdldFBvc2l0aW9uc1VwZGF0ZWQoKQoreworICAg
IGlmICghbV93aWRnZXQpCisgICAgICAgIHJldHVybjsKKyAgICBtX3dpZGdldC0+d2lkZ2V0UG9z
aXRpb25zVXBkYXRlZCgpOworfQorCiB2b2lkIFJlbmRlcldpZGdldDo6c2V0U2VsZWN0aW9uU3Rh
dGUoU2VsZWN0aW9uU3RhdGUgc3RhdGUpCiB7CiAgICAgaWYgKHNlbGVjdGlvblN0YXRlKCkgIT0g
c3RhdGUpIHsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwDQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09DQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAJKHJldmlzaW9uIDU1MTYx
KQ0KKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCSh3b3JraW5nIGNvcHkpDQpA
QCAtNTQxLDYgKzU0MSw4IEBADQogICAgIFJlbmRlcldpZGdldFNldDo6aXRlcmF0b3IgZW5kID0g
bV93aWRnZXRzLmVuZCgpOwogICAgIGZvciAoUmVuZGVyV2lkZ2V0U2V0OjppdGVyYXRvciBpdCA9
IG1fd2lkZ2V0cy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCiAgICAgICAgICgqaXQpLT51cGRh
dGVXaWRnZXRQb3NpdGlvbigpOworICAgIGZvciAoUmVuZGVyV2lkZ2V0U2V0OjppdGVyYXRvciBp
dCA9IG1fd2lkZ2V0cy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgICgqaXQpLT53
aWRnZXRQb3NpdGlvbnNVcGRhdGVkKCk7CiB9CiAKIHZvaWQgUmVuZGVyVmlldzo6YWRkV2lkZ2V0
KFJlbmRlcldpZGdldCogbykKSW5kZXg6IExheW91dFRlc3RzL3BsdWdpbnMvaWZyYW1lLXNoaW1z
Lmh0bWwNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0NCi0tLSBMYXlvdXRUZXN0cy9wbHVnaW5zL2lmcmFtZS1zaGltcy5o
dG1sCShyZXZpc2lvbiA1NTE2MSkNCisrKyBMYXlvdXRUZXN0cy9wbHVnaW5zL2lmcmFtZS1zaGlt
cy5odG1sCSh3b3JraW5nIGNvcHkpDQpAQCAtNDgsNyArNDgsMzYgQEANCiAgICAgICAgICAgICAn
KTsiIHZhbHVlPSJjbGlja21lIiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwOyBs
ZWZ0OiAxMDsgd2lkdGg6IDYwcHg7IGhlaWdodDogNjBweDsiLz4nOwogICAgICAgICByZXR1cm4g
bzsKICAgICB9CisgICAgCisgICAgZnVuY3Rpb24gYXBwZW5kT3ZlcmxheShvdmVybGF5RGl2Wklm
cmFtZSwgb3ZlcmxheURpdlpPdmVybGF5LCBvdmVybGF5SW5zaWRlRGl2LCBleHBlY3RDbGlja2Fi
bGUsIGNhc2VJZCkKKyAgICB7CisgICAgICAgIHZhciBpZCA9IG1ha2VJZnJhbWVEaXYoKTsKKyAg
ICAgICAgdmFyIHJvb3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjYXNlSWQpOworICAgICAg
ICBpZiAob3ZlcmxheURpdlpJZnJhbWUpCisgICAgICAgICAgICBpZC5zdHlsZS56SW5kZXggPSBv
dmVybGF5RGl2WklmcmFtZTsKIAorICAgICAgICB2YXIgb2QgPSBtYWtlT3ZlcmxheURpdihleHBl
Y3RDbGlja2FibGUgPyAnZ3JlZW4nIDogJ3JlZCcsIGNhc2VJZCk7CisgICAgICAgIG9kLnN0eWxl
LnBvc2l0aW9uID0gJ2Fic29sdXRlJzsKKyAgICAgICAgaWYgKG92ZXJsYXlEaXZaT3ZlcmxheSkK
KyAgICAgICAgICAgIG9kLnN0eWxlLnpJbmRleCA9IG92ZXJsYXlEaXZaT3ZlcmxheTsKKworICAg
ICAgICBpZiAob3ZlcmxheUluc2lkZURpdikgeworICAgICAgICAgICAgdmFyIHBhcmVudGRpdiA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICAgICAgaWYgKG92ZXJsYXlE
aXZaT3ZlcmxheSkKKyAgICAgICAgICAgICAgICBwYXJlbnRkaXYuc3R5bGUuekluZGV4ID0gb3Zl
cmxheURpdlpPdmVybGF5OworCisgICAgICAgICAgICBwYXJlbnRkaXYuc3R5bGUucG9zaXRpb24g
PSAnYWJzb2x1dGUnOworICAgICAgICAgICAgcGFyZW50ZGl2LnN0eWxlLnRvcCA9ICcwcHgnOwor
ICAgICAgICAgICAgcGFyZW50ZGl2LnN0eWxlLmxlZnQgPSAnMHB4JzsKKyAgICAgICAgICAgIHBh
cmVudGRpdi5hcHBlbmRDaGlsZChpZCk7CisgICAgICAgICAgICBwYXJlbnRkaXYuYXBwZW5kQ2hp
bGQob2QpOworICAgICAgICAgICAgcm9vdC5hcHBlbmRDaGlsZChwYXJlbnRkaXYpOworICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgcm9vdC5hcHBlbmRDaGlsZChpZCk7CisgICAgICAgICAg
ICByb290LmFwcGVuZENoaWxkKG9kKTsKKyAgICAgICAgfQorICAgIH07CisKICAgICBmdW5jdGlv
biBhZGRDYXNlKHgsIHksIHRhZ3MpCiAgICAgewogICAgICAgICB2YXIgY2FzZUlkID0gaXRlbXM7
CkBAIC02Miw2ICs5MSw3IEBADQogICAgICAgICByb290LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29s
dXRlJzsKICAgICAgICAgcm9vdC5zdHlsZS5sZWZ0ID0geCAqICh3aWR0aCArIDQwKSArICdweCc7
CiAgICAgICAgIHJvb3Quc3R5bGUudG9wID0geSAqIChoZWlnaHQgKyAyMCkgKyAncHgnOworICAg
ICAgICByb290LmlkID0gY2FzZUlkOwogICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQocm9v
dCk7CiAKICAgICAgICAgdmFyIHBsdWdpbkRpdlo7CkBAIC0xMDIsNDAgKzEzMiwxNiBAQA0KICAg
ICAgICAgICAgIH0KICAgICAgICAgfTsKIAotICAgICAgICB2YXIgYXBwZW5kT3ZlcmxheSA9IGZ1
bmN0aW9uKCkKLSAgICAgICAgewotICAgICAgICAgICAgdmFyIGlkID0gbWFrZUlmcmFtZURpdigp
OwotICAgICAgICAgICAgaWYgKG92ZXJsYXlEaXZaSWZyYW1lKQotICAgICAgICAgICAgICAgIGlk
LnN0eWxlLnpJbmRleCA9IG92ZXJsYXlEaXZaSWZyYW1lOwotCi0gICAgICAgICAgICB2YXIgb2Qg
PSBtYWtlT3ZlcmxheURpdihleHBlY3RDbGlja2FibGUgPyAnZ3JlZW4nIDogJ3JlZCcsIGNhc2VJ
ZCk7Ci0gICAgICAgICAgICBvZC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7Ci0gICAgICAg
ICAgICBpZiAob3ZlcmxheURpdlpPdmVybGF5KQotICAgICAgICAgICAgICAgIG9kLnN0eWxlLnpJ
bmRleCA9IG92ZXJsYXlEaXZaT3ZlcmxheTsKLQotICAgICAgICAgICAgaWYgKHRhZ3Mub3Zlcmxh
eUluc2lkZURpdikgewotICAgICAgICAgICAgICAgIHZhciBwYXJlbnRkaXYgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICAgICAgICAgICAgICBpZiAob3ZlcmxheURpdlpPdmVy
bGF5KQotICAgICAgICAgICAgICAgICAgICBwYXJlbnRkaXYuc3R5bGUuekluZGV4ID0gb3Zlcmxh
eURpdlpPdmVybGF5OwotCi0gICAgICAgICAgICAgICAgcGFyZW50ZGl2LnN0eWxlLnBvc2l0aW9u
ID0gJ2Fic29sdXRlJzsKLSAgICAgICAgICAgICAgICBwYXJlbnRkaXYuc3R5bGUudG9wID0gJzBw
eCc7Ci0gICAgICAgICAgICAgICAgcGFyZW50ZGl2LnN0eWxlLmxlZnQgPSAnMHB4JzsKLSAgICAg
ICAgICAgICAgICBwYXJlbnRkaXYuYXBwZW5kQ2hpbGQoaWQpOwotICAgICAgICAgICAgICAgIHBh
cmVudGRpdi5hcHBlbmRDaGlsZChvZCk7Ci0gICAgICAgICAgICAgICAgcm9vdC5hcHBlbmRDaGls
ZChwYXJlbnRkaXYpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICByb290
LmFwcGVuZENoaWxkKGlkKTsKLSAgICAgICAgICAgICAgICByb290LmFwcGVuZENoaWxkKG9kKTsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgfTsKLQogICAgICAgICBpZiAodGFncy5vdmVybGF5RWFy
bGllcikgewotICAgICAgICAgICAgYXBwZW5kT3ZlcmxheSgpOworICAgICAgICAgICAgYXBwZW5k
T3ZlcmxheShvdmVybGF5RGl2WklmcmFtZSwgb3ZlcmxheURpdlpPdmVybGF5LCB0YWdzLm92ZXJs
YXlJbnNpZGVEaXYsIGV4cGVjdENsaWNrYWJsZSwgY2FzZUlkKTsKICAgICAgICAgICAgIGFwcGVu
ZFBsdWdpbigpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgYXBwZW5kUGx1Z2luKCk7
Ci0gICAgICAgICAgICBhcHBlbmRPdmVybGF5KCk7CisgICAgICAgICAgICBpZiAodGFncy5vdmVy
bGF5T25UaW1lb3V0KSB7CisgICAgICAgICAgICAgICAgc2V0VGltZW91dCgnYXBwZW5kT3Zlcmxh
eSgnK292ZXJsYXlEaXZaSWZyYW1lKycsICcrb3ZlcmxheURpdlpPdmVybGF5ICsnLCAnICsgdGFn
cy5vdmVybGF5SW5zaWRlRGl2ICsgJywgJyArIGV4cGVjdENsaWNrYWJsZSArICcsICcgKyBjYXNl
SWQgKyAnKScsIDApOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBhcHBl
bmRPdmVybGF5KG92ZXJsYXlEaXZaSWZyYW1lLCBvdmVybGF5RGl2Wk92ZXJsYXksIHRhZ3Mub3Zl
cmxheUluc2lkZURpdiwgZXhwZWN0Q2xpY2thYmxlLCBjYXNlSWQpOworICAgICAgICAgICAgfQog
ICAgICAgICB9CiAgICAgIH0KIApAQCAtMTc3LDYgKzE4Myw3IEBADQogICAgICAgICBhZGRDYXNl
KDAsIDMsIHsncGx1Z2luTm9yZWxhdGl2ZSc6MSwgZXhwZWN0OidvdmVybGF5IE9WRVInfSk7CiAg
ICAgICAgIGFkZENhc2UoMSwgMywgeydvdmVybGF5RWFybGllcic6MSwgJ3BsdWdpbk5vcmVsYXRp
dmUnOjEsICdwbHVnaW5JbnNpZGVEaXYnOjEsIGV4cGVjdDonb3ZlcmxheSBPVkVSJ30pOwogICAg
ICAgICBhZGRDYXNlKDIsIDMsIHsncGx1Z2luTm9yZWxhdGl2ZSc6MSwgJ3BsdWdpbkluc2lkZURp
dic6MSwgZXhwZWN0OidvdmVybGF5IE9WRVInfSk7CisgICAgICAgIGFkZENhc2UoMywgMywgeydw
bHVnaW5Mb3dlcnonOjEsICdvdmVybGF5T25UaW1lb3V0JzoxLCBleHBlY3Q6J292ZXJsYXkgT1ZF
Uid9KTsKIAogICAgICAgICBydW5UZXN0KCk7CiAgICAgfQpJbmRleDogTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1
NTIzMikNCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkNCkBAIC0xLDMg
KzEsMTYgQEANCisyMDEwLTAyLTI1ICBUaGF0Y2hlciBVbHJpY2ggIDx0dWxyaWNoQGdvb2dsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKwlGaXggY2hyb21p
dW0gaWZyYW1lIHNoaW1zLiAgQWRkIGFub3RoZXIgdGVzdCBjYXNlIHRvIHRoZQorCWlmcmFtZXMt
c2hpbXMgdGVzdC4gIEFmdGVyIHI1MzYzNywgdGhlIHBsdWdpbiB3aWRnZXQgZG9lc24ndCBnZXQK
Kwltb3ZlZCBldmVyeSBwYWludC4gIFRoaXMgdXNlZCB0byBoaWRlIHRoZSBidWcgdGhhdCBpZiBh
biBpZnJhbWUKKwlnZXRzIGFkZGVkLCB0aGUgcGx1Z2luJ3MgY3V0b3V0IHJlY3RhbmdsZXMgZG9u
J3QgZ2V0IHVwZGF0ZWQgdW50aWwKKwlhIGxheW91dCBoYXBwZW5zLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzUxODQKKworICAgICAgICAqIHBsdWdp
bnMvaWZyYW1lLXNoaW1zLmh0bWw6IHRlc3QgY2FzZSB0aGF0IGFkZHMgYW4gaWZyYW1lIHNoaW0g
ZHluYW1pY2FsbHkKKwogMjAxMC0wMi0yNSAgQmVuIE11cmRvY2ggIDxiZW5tQGdvb2dsZS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCg==
</data>
<flag name="review"
          id="32370"
          type_id="1"
          status="+"
          setter="fishd"
    />
    <flag name="commit-queue"
          id="32382"
          type_id="3"
          status="-"
          setter="fishd"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49505</attachid>
            <date>2010-02-25 10:07:53 -0800</date>
            <delta_ts>2010-03-01 09:07:38 -0800</delta_ts>
            <desc>fix tabs in ChangeLog</desc>
            <filename>webkit_patch.txt</filename>
            <type>text/plain</type>
            <size>10176</size>
            <attacher name="Thatcher Ulrich">tulrich</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5jcHANCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0NCi0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwu
Y3BwCShyZXZpc2lvbiA1NTE2MSkNCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNv
bnRhaW5lckltcGwuY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtMTcwLDYgKzE3MCwxMiBAQA0KICAg
ICByZXBvcnRHZW9tZXRyeSgpOwogfQogCit2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6Ondp
ZGdldFBvc2l0aW9uc1VwZGF0ZWQoKQoreworICAgIFdpZGdldDo6d2lkZ2V0UG9zaXRpb25zVXBk
YXRlZCgpOworICAgIHJlcG9ydEdlb21ldHJ5KCk7Cit9CisKIHZvaWQgV2ViUGx1Z2luQ29udGFp
bmVySW1wbDo6c2V0UGFyZW50VmlzaWJsZShib29sIHBhcmVudFZpc2libGUpCiB7CiAgICAgLy8g
V2Ugb3ZlcnJpZGUgdGhpcyBmdW5jdGlvbiB0byBtYWtlIHN1cmUgdGhhdCBnZW9tZXRyeSB1cGRh
dGVzIGFyZSBzZW50CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5l
ckltcGwuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29u
dGFpbmVySW1wbC5oCShyZXZpc2lvbiA1NTE2MSkNCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlBsdWdpbkNvbnRhaW5lckltcGwuaAkod29ya2luZyBjb3B5KQ0KQEAgLTczLDYgKzczLDcgQEAN
CiAgICAgdmlydHVhbCB2b2lkIGZyYW1lUmVjdHNDaGFuZ2VkKCk7CiAgICAgdmlydHVhbCB2b2lk
IHNldFBhcmVudFZpc2libGUoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldFBhcmVudChXZWJD
b3JlOjpTY3JvbGxWaWV3Kik7CisgICAgdmlydHVhbCB2b2lkIHdpZGdldFBvc2l0aW9uc1VwZGF0
ZWQoKTsKIAogICAgIC8vIFdlYlBsdWdpbkNvbnRhaW5lciBtZXRob2RzCiAgICAgdmlydHVhbCB2
b2lkIGludmFsaWRhdGUoKTsKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cNCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0NCi0tLSBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA1NTIzMikNCisr
KyBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpDQpAQCAtMSwzICsxLDE5
IEBADQorMjAxMC0wMi0yNSAgVGhhdGNoZXIgVWxyaWNoICA8dHVscmljaEBnb29nbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBjaHJv
bWl1bSBpZnJhbWUgc2hpbXMuICBBZGQgYW5vdGhlciB0ZXN0IGNhc2UgdG8gdGhlCisgICAgICAg
IGlmcmFtZXMtc2hpbXMgdGVzdC4gIEFmdGVyIHI1MzYzNywgdGhlIHBsdWdpbiB3aWRnZXQgZG9l
c24ndCBnZXQKKyAgICAgICAgbW92ZWQgZXZlcnkgcGFpbnQuICBUaGlzIHVzZWQgdG8gaGlkZSB0
aGUgYnVnIHRoYXQgaWYgYW4gaWZyYW1lCisgICAgICAgIGdldHMgYWRkZWQsIHRoZSBwbHVnaW4n
cyBjdXRvdXQgcmVjdGFuZ2xlcyBkb24ndCBnZXQgdXBkYXRlZCB1bnRpbAorICAgICAgICBhIGxh
eW91dCBoYXBwZW5zLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzUxODQKKworICAgICAgICAqIHNyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6d2lkZ2V0UG9zaXRpb25z
VXBkYXRlZCk6IGRvIHJlcG9ydEdlb21ldHJ5KCkgdG8gZW5zdXJlIHRoYXQKKyAgICAgICAgICAg
IHRoZSBwbHVnaW4gaXMgYXdhcmUgb2YgdGhlIHBvc2l0aW9ucyBvZiBjdXRvdXRzIG9uIHRoZSBw
YWdlIChmb3IgaWZyYW1lIHNoaW0gYmVoYXZpb3IpLgorICAgICAgICAqIHNyYy9XZWJQbHVnaW5D
b250YWluZXJJbXBsLmg6CisKIDIwMTAtMDItMjQgIEpheSBDYW1wYW4gIDxqY2FtcGFuQGdvb2ds
ZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2aW4uCkluZGV4OiBXZWJDb3Jl
L0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiA1
NTIzMSkNCisrKyBXZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQ0KQEAgLTEsMyArMSwy
NCBAQA0KKzIwMTAtMDItMjUgIFRoYXRjaGVyIFVscmljaCAgPHR1bHJpY2hAZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggY2hy
b21pdW0gaWZyYW1lIHNoaW1zLiAgQWRkIGFub3RoZXIgdGVzdCBjYXNlIHRvIHRoZQorICAgICAg
ICBpZnJhbWVzLXNoaW1zIHRlc3QuICBBZnRlciByNTM2MzcsIHRoZSBwbHVnaW4gd2lkZ2V0IGRv
ZXNuJ3QgZ2V0CisgICAgICAgIG1vdmVkIGV2ZXJ5IHBhaW50LiAgVGhpcyB1c2VkIHRvIGhpZGUg
dGhlIGJ1ZyB0aGF0IGlmIGFuIGlmcmFtZQorICAgICAgICBnZXRzIGFkZGVkLCB0aGUgcGx1Z2lu
J3MgY3V0b3V0IHJlY3RhbmdsZXMgZG9uJ3QgZ2V0IHVwZGF0ZWQgdW50aWwKKyAgICAgICAgYSBs
YXlvdXQgaGFwcGVucy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTM1MTg0CisKKyAgICAgICAgKiBwbGF0Zm9ybS9XaWRnZXQuaDoKKyAgICAgICAgKFdl
YkNvcmU6OldpZGdldDo6d2lkZ2V0UG9zaXRpb25zVXBkYXRlZCk6IG5ldyB2aXJ0dWFsIG1ldGhv
ZAorICAgICAgICAgICAgd2lkZ2V0UG9zaXRpb25zVXBkYXRlZCgpIHRvIG5vdGlmeSB3aWRnZXRz
IHdoZW4gb3RoZXIgd2lkZ2V0cyBvbgorICAgICAgICAgICAgdGhlIHBhZ2UgaGF2ZSBiZWVuIHJl
cG9zaXRpb25lZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJWaWV3Ojp1cGRhdGVXaWRnZXRQb3NpdGlvbnMpOiBjYWxsIHdpZGdl
dFBvc2l0aW9uc1VwZGF0ZWQoKSBvbiB0aGUgd2lkZ2V0cworICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJXaWRnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyV2lkZ2V0Ojp3aWRnZXRQ
b3NpdGlvbnNVcGRhdGVkKTogY2FsbCB3aWRnZXRQb3NpdGlvbnNVcGRhdGVkKCkgb24gdGhlIHdp
ZGdldAorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJXaWRnZXQuaDoKKwogMjAxMC0wMi0yNSAg
UGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBUaW1vdGh5IEhhdGNoZXIuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL1dpZGdldC5oDQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09DQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9XaWRnZXQuaAkocmV2aXNpb24gNTUxNjEp
DQorKysgV2ViQ29yZS9wbGF0Zm9ybS9XaWRnZXQuaAkod29ya2luZyBjb3B5KQ0KQEAgLTE4Niw2
ICsxODYsOSBAQA0KIAogICAgIHZpcnR1YWwgdm9pZCBmcmFtZVJlY3RzQ2hhbmdlZCgpIHt9CiAK
KyAgICAvLyBOb3RpZmllcyB0aGlzIHdpZGdldCB0aGF0IG90aGVyIHdpZGdldHMgb24gdGhlIHBh
Z2UgaGF2ZSBiZWVuIHJlcG9zaXRpb25lZC4KKyAgICB2aXJ0dWFsIHZvaWQgd2lkZ2V0UG9zaXRp
b25zVXBkYXRlZCgpIHt9CisKICNpZiBQTEFURk9STShNQUMpCiAgICAgTlNWaWV3KiBnZXRPdXRl
clZpZXcoKSBjb25zdDsKICAgICAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdl
dC5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09DQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmgJKHJl
dmlzaW9uIDU1MTYxKQ0KKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldC5oCSh3b3Jr
aW5nIGNvcHkpDQpAQCAtMzksNiArMzksNyBAQA0KICAgICBzdGF0aWMgUmVuZGVyV2lkZ2V0KiBm
aW5kKGNvbnN0IFdpZGdldCopOwogCiAgICAgdm9pZCB1cGRhdGVXaWRnZXRQb3NpdGlvbigpOwor
ICAgIHZvaWQgd2lkZ2V0UG9zaXRpb25zVXBkYXRlZCgpOwogCiAgICAgdm9pZCBzaG93U3Vic3Rp
dHV0ZUltYWdlKFBhc3NSZWZQdHI8SW1hZ2U+KTsKIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyV2lkZ2V0LmNwcA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
cldpZGdldC5jcHAJKHJldmlzaW9uIDU1MTYxKQ0KKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
cldpZGdldC5jcHAJKHdvcmtpbmcgY29weSkNCkBAIC0zMjUsNiArMzI1LDEzIEBADQogICAgIH0K
IH0KIAordm9pZCBSZW5kZXJXaWRnZXQ6OndpZGdldFBvc2l0aW9uc1VwZGF0ZWQoKQoreworICAg
IGlmICghbV93aWRnZXQpCisgICAgICAgIHJldHVybjsKKyAgICBtX3dpZGdldC0+d2lkZ2V0UG9z
aXRpb25zVXBkYXRlZCgpOworfQorCiB2b2lkIFJlbmRlcldpZGdldDo6c2V0U2VsZWN0aW9uU3Rh
dGUoU2VsZWN0aW9uU3RhdGUgc3RhdGUpCiB7CiAgICAgaWYgKHNlbGVjdGlvblN0YXRlKCkgIT0g
c3RhdGUpIHsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwDQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09DQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAJKHJldmlzaW9uIDU1MTYx
KQ0KKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCSh3b3JraW5nIGNvcHkpDQpA
QCAtNTQxLDYgKzU0MSw4IEBADQogICAgIFJlbmRlcldpZGdldFNldDo6aXRlcmF0b3IgZW5kID0g
bV93aWRnZXRzLmVuZCgpOwogICAgIGZvciAoUmVuZGVyV2lkZ2V0U2V0OjppdGVyYXRvciBpdCA9
IG1fd2lkZ2V0cy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCiAgICAgICAgICgqaXQpLT51cGRh
dGVXaWRnZXRQb3NpdGlvbigpOworICAgIGZvciAoUmVuZGVyV2lkZ2V0U2V0OjppdGVyYXRvciBp
dCA9IG1fd2lkZ2V0cy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgICgqaXQpLT53
aWRnZXRQb3NpdGlvbnNVcGRhdGVkKCk7CiB9CiAKIHZvaWQgUmVuZGVyVmlldzo6YWRkV2lkZ2V0
KFJlbmRlcldpZGdldCogbykKSW5kZXg6IExheW91dFRlc3RzL3BsdWdpbnMvaWZyYW1lLXNoaW1z
Lmh0bWwNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0NCi0tLSBMYXlvdXRUZXN0cy9wbHVnaW5zL2lmcmFtZS1zaGltcy5o
dG1sCShyZXZpc2lvbiA1NTE2MSkNCisrKyBMYXlvdXRUZXN0cy9wbHVnaW5zL2lmcmFtZS1zaGlt
cy5odG1sCSh3b3JraW5nIGNvcHkpDQpAQCAtNDgsNyArNDgsMzYgQEANCiAgICAgICAgICAgICAn
KTsiIHZhbHVlPSJjbGlja21lIiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwOyBs
ZWZ0OiAxMDsgd2lkdGg6IDYwcHg7IGhlaWdodDogNjBweDsiLz4nOwogICAgICAgICByZXR1cm4g
bzsKICAgICB9CisgICAgCisgICAgZnVuY3Rpb24gYXBwZW5kT3ZlcmxheShvdmVybGF5RGl2Wklm
cmFtZSwgb3ZlcmxheURpdlpPdmVybGF5LCBvdmVybGF5SW5zaWRlRGl2LCBleHBlY3RDbGlja2Fi
bGUsIGNhc2VJZCkKKyAgICB7CisgICAgICAgIHZhciBpZCA9IG1ha2VJZnJhbWVEaXYoKTsKKyAg
ICAgICAgdmFyIHJvb3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjYXNlSWQpOworICAgICAg
ICBpZiAob3ZlcmxheURpdlpJZnJhbWUpCisgICAgICAgICAgICBpZC5zdHlsZS56SW5kZXggPSBv
dmVybGF5RGl2WklmcmFtZTsKIAorICAgICAgICB2YXIgb2QgPSBtYWtlT3ZlcmxheURpdihleHBl
Y3RDbGlja2FibGUgPyAnZ3JlZW4nIDogJ3JlZCcsIGNhc2VJZCk7CisgICAgICAgIG9kLnN0eWxl
LnBvc2l0aW9uID0gJ2Fic29sdXRlJzsKKyAgICAgICAgaWYgKG92ZXJsYXlEaXZaT3ZlcmxheSkK
KyAgICAgICAgICAgIG9kLnN0eWxlLnpJbmRleCA9IG92ZXJsYXlEaXZaT3ZlcmxheTsKKworICAg
ICAgICBpZiAob3ZlcmxheUluc2lkZURpdikgeworICAgICAgICAgICAgdmFyIHBhcmVudGRpdiA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICAgICAgaWYgKG92ZXJsYXlE
aXZaT3ZlcmxheSkKKyAgICAgICAgICAgICAgICBwYXJlbnRkaXYuc3R5bGUuekluZGV4ID0gb3Zl
cmxheURpdlpPdmVybGF5OworCisgICAgICAgICAgICBwYXJlbnRkaXYuc3R5bGUucG9zaXRpb24g
PSAnYWJzb2x1dGUnOworICAgICAgICAgICAgcGFyZW50ZGl2LnN0eWxlLnRvcCA9ICcwcHgnOwor
ICAgICAgICAgICAgcGFyZW50ZGl2LnN0eWxlLmxlZnQgPSAnMHB4JzsKKyAgICAgICAgICAgIHBh
cmVudGRpdi5hcHBlbmRDaGlsZChpZCk7CisgICAgICAgICAgICBwYXJlbnRkaXYuYXBwZW5kQ2hp
bGQob2QpOworICAgICAgICAgICAgcm9vdC5hcHBlbmRDaGlsZChwYXJlbnRkaXYpOworICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgcm9vdC5hcHBlbmRDaGlsZChpZCk7CisgICAgICAgICAg
ICByb290LmFwcGVuZENoaWxkKG9kKTsKKyAgICAgICAgfQorICAgIH07CisKICAgICBmdW5jdGlv
biBhZGRDYXNlKHgsIHksIHRhZ3MpCiAgICAgewogICAgICAgICB2YXIgY2FzZUlkID0gaXRlbXM7
CkBAIC02Miw2ICs5MSw3IEBADQogICAgICAgICByb290LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29s
dXRlJzsKICAgICAgICAgcm9vdC5zdHlsZS5sZWZ0ID0geCAqICh3aWR0aCArIDQwKSArICdweCc7
CiAgICAgICAgIHJvb3Quc3R5bGUudG9wID0geSAqIChoZWlnaHQgKyAyMCkgKyAncHgnOworICAg
ICAgICByb290LmlkID0gY2FzZUlkOwogICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQocm9v
dCk7CiAKICAgICAgICAgdmFyIHBsdWdpbkRpdlo7CkBAIC0xMDIsNDAgKzEzMiwxNiBAQA0KICAg
ICAgICAgICAgIH0KICAgICAgICAgfTsKIAotICAgICAgICB2YXIgYXBwZW5kT3ZlcmxheSA9IGZ1
bmN0aW9uKCkKLSAgICAgICAgewotICAgICAgICAgICAgdmFyIGlkID0gbWFrZUlmcmFtZURpdigp
OwotICAgICAgICAgICAgaWYgKG92ZXJsYXlEaXZaSWZyYW1lKQotICAgICAgICAgICAgICAgIGlk
LnN0eWxlLnpJbmRleCA9IG92ZXJsYXlEaXZaSWZyYW1lOwotCi0gICAgICAgICAgICB2YXIgb2Qg
PSBtYWtlT3ZlcmxheURpdihleHBlY3RDbGlja2FibGUgPyAnZ3JlZW4nIDogJ3JlZCcsIGNhc2VJ
ZCk7Ci0gICAgICAgICAgICBvZC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7Ci0gICAgICAg
ICAgICBpZiAob3ZlcmxheURpdlpPdmVybGF5KQotICAgICAgICAgICAgICAgIG9kLnN0eWxlLnpJ
bmRleCA9IG92ZXJsYXlEaXZaT3ZlcmxheTsKLQotICAgICAgICAgICAgaWYgKHRhZ3Mub3Zlcmxh
eUluc2lkZURpdikgewotICAgICAgICAgICAgICAgIHZhciBwYXJlbnRkaXYgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICAgICAgICAgICAgICBpZiAob3ZlcmxheURpdlpPdmVy
bGF5KQotICAgICAgICAgICAgICAgICAgICBwYXJlbnRkaXYuc3R5bGUuekluZGV4ID0gb3Zlcmxh
eURpdlpPdmVybGF5OwotCi0gICAgICAgICAgICAgICAgcGFyZW50ZGl2LnN0eWxlLnBvc2l0aW9u
ID0gJ2Fic29sdXRlJzsKLSAgICAgICAgICAgICAgICBwYXJlbnRkaXYuc3R5bGUudG9wID0gJzBw
eCc7Ci0gICAgICAgICAgICAgICAgcGFyZW50ZGl2LnN0eWxlLmxlZnQgPSAnMHB4JzsKLSAgICAg
ICAgICAgICAgICBwYXJlbnRkaXYuYXBwZW5kQ2hpbGQoaWQpOwotICAgICAgICAgICAgICAgIHBh
cmVudGRpdi5hcHBlbmRDaGlsZChvZCk7Ci0gICAgICAgICAgICAgICAgcm9vdC5hcHBlbmRDaGls
ZChwYXJlbnRkaXYpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICByb290
LmFwcGVuZENoaWxkKGlkKTsKLSAgICAgICAgICAgICAgICByb290LmFwcGVuZENoaWxkKG9kKTsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgfTsKLQogICAgICAgICBpZiAodGFncy5vdmVybGF5RWFy
bGllcikgewotICAgICAgICAgICAgYXBwZW5kT3ZlcmxheSgpOworICAgICAgICAgICAgYXBwZW5k
T3ZlcmxheShvdmVybGF5RGl2WklmcmFtZSwgb3ZlcmxheURpdlpPdmVybGF5LCB0YWdzLm92ZXJs
YXlJbnNpZGVEaXYsIGV4cGVjdENsaWNrYWJsZSwgY2FzZUlkKTsKICAgICAgICAgICAgIGFwcGVu
ZFBsdWdpbigpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgYXBwZW5kUGx1Z2luKCk7
Ci0gICAgICAgICAgICBhcHBlbmRPdmVybGF5KCk7CisgICAgICAgICAgICBpZiAodGFncy5vdmVy
bGF5T25UaW1lb3V0KSB7CisgICAgICAgICAgICAgICAgc2V0VGltZW91dCgnYXBwZW5kT3Zlcmxh
eSgnK292ZXJsYXlEaXZaSWZyYW1lKycsICcrb3ZlcmxheURpdlpPdmVybGF5ICsnLCAnICsgdGFn
cy5vdmVybGF5SW5zaWRlRGl2ICsgJywgJyArIGV4cGVjdENsaWNrYWJsZSArICcsICcgKyBjYXNl
SWQgKyAnKScsIDApOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBhcHBl
bmRPdmVybGF5KG92ZXJsYXlEaXZaSWZyYW1lLCBvdmVybGF5RGl2Wk92ZXJsYXksIHRhZ3Mub3Zl
cmxheUluc2lkZURpdiwgZXhwZWN0Q2xpY2thYmxlLCBjYXNlSWQpOworICAgICAgICAgICAgfQog
ICAgICAgICB9CiAgICAgIH0KIApAQCAtMTc3LDYgKzE4Myw3IEBADQogICAgICAgICBhZGRDYXNl
KDAsIDMsIHsncGx1Z2luTm9yZWxhdGl2ZSc6MSwgZXhwZWN0OidvdmVybGF5IE9WRVInfSk7CiAg
ICAgICAgIGFkZENhc2UoMSwgMywgeydvdmVybGF5RWFybGllcic6MSwgJ3BsdWdpbk5vcmVsYXRp
dmUnOjEsICdwbHVnaW5JbnNpZGVEaXYnOjEsIGV4cGVjdDonb3ZlcmxheSBPVkVSJ30pOwogICAg
ICAgICBhZGRDYXNlKDIsIDMsIHsncGx1Z2luTm9yZWxhdGl2ZSc6MSwgJ3BsdWdpbkluc2lkZURp
dic6MSwgZXhwZWN0OidvdmVybGF5IE9WRVInfSk7CisgICAgICAgIGFkZENhc2UoMywgMywgeydw
bHVnaW5Mb3dlcnonOjEsICdvdmVybGF5T25UaW1lb3V0JzoxLCBleHBlY3Q6J292ZXJsYXkgT1ZF
Uid9KTsKIAogICAgICAgICBydW5UZXN0KCk7CiAgICAgfQpJbmRleDogTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1
NTIzMikNCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkNCkBAIC0xLDMg
KzEsMTYgQEANCisyMDEwLTAyLTI1ICBUaGF0Y2hlciBVbHJpY2ggIDx0dWxyaWNoQGdvb2dsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4
IGNocm9taXVtIGlmcmFtZSBzaGltcy4gIEFkZCBhbm90aGVyIHRlc3QgY2FzZSB0byB0aGUKKyAg
ICAgICAgaWZyYW1lcy1zaGltcyB0ZXN0LiAgQWZ0ZXIgcjUzNjM3LCB0aGUgcGx1Z2luIHdpZGdl
dCBkb2Vzbid0IGdldAorICAgICAgICBtb3ZlZCBldmVyeSBwYWludC4gIFRoaXMgdXNlZCB0byBo
aWRlIHRoZSBidWcgdGhhdCBpZiBhbiBpZnJhbWUKKyAgICAgICAgZ2V0cyBhZGRlZCwgdGhlIHBs
dWdpbidzIGN1dG91dCByZWN0YW5nbGVzIGRvbid0IGdldCB1cGRhdGVkIHVudGlsCisgICAgICAg
IGEgbGF5b3V0IGhhcHBlbnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zNTE4NAorCisgICAgICAgICogcGx1Z2lucy9pZnJhbWUtc2hpbXMuaHRtbDog
dGVzdCBjYXNlIHRoYXQgYWRkcyBhbiBpZnJhbWUgc2hpbSBkeW5hbWljYWxseQorCiAyMDEwLTAy
LTI1ICBCZW4gTXVyZG9jaCAgPGJlbm1AZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4K
</data>
<flag name="review"
          id="32396"
          type_id="1"
          status="+"
          setter="fishd"
    />
    <flag name="commit-queue"
          id="32397"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49728</attachid>
            <date>2010-03-01 09:07:38 -0800</date>
            <delta_ts>2010-03-01 14:51:33 -0800</delta_ts>
            <desc>fix test expected whitespace</desc>
            <filename>webkit_patch2.txt</filename>
            <type>text/plain</type>
            <size>10536</size>
            <attacher name="Thatcher Ulrich">tulrich</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTM2NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMTAtMDItMjUgIFRoYXRjaGVyIFVscmljaCAgPHR1bHJpY2hAZ29v
Z2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBGaXggY2hyb21pdW0gaWZyYW1lIHNoaW1zLiAgQWRkIGFub3RoZXIgdGVzdCBjYXNlIHRvIHRo
ZQorICAgICAgICBpZnJhbWVzLXNoaW1zIHRlc3QuICBBZnRlciByNTM2MzcsIHRoZSBwbHVnaW4g
d2lkZ2V0IGRvZXNuJ3QgZ2V0CisgICAgICAgIG1vdmVkIGV2ZXJ5IHBhaW50LiAgVGhpcyB1c2Vk
IHRvIGhpZGUgdGhlIGJ1ZyB0aGF0IGlmIGFuIGlmcmFtZQorICAgICAgICBnZXRzIGFkZGVkLCB0
aGUgcGx1Z2luJ3MgY3V0b3V0IHJlY3RhbmdsZXMgZG9uJ3QgZ2V0IHVwZGF0ZWQgdW50aWwKKyAg
ICAgICAgYSBsYXlvdXQgaGFwcGVucy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTM1MTg0CisKKyAgICAgICAgKiBwbGF0Zm9ybS9XaWRnZXQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OldpZGdldDo6d2lkZ2V0UG9zaXRpb25zVXBkYXRlZCk6IG5ldyB2aXJ0
dWFsIG1ldGhvZAorICAgICAgICAgICAgd2lkZ2V0UG9zaXRpb25zVXBkYXRlZCgpIHRvIG5vdGlm
eSB3aWRnZXRzIHdoZW4gb3RoZXIgd2lkZ2V0cyBvbgorICAgICAgICAgICAgdGhlIHBhZ2UgaGF2
ZSBiZWVuIHJlcG9zaXRpb25lZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3Ojp1cGRhdGVXaWRnZXRQb3NpdGlvbnMpOiBj
YWxsIHdpZGdldFBvc2l0aW9uc1VwZGF0ZWQoKSBvbiB0aGUgd2lkZ2V0cworICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyV2lkZ2V0
Ojp3aWRnZXRQb3NpdGlvbnNVcGRhdGVkKTogY2FsbCB3aWRnZXRQb3NpdGlvbnNVcGRhdGVkKCkg
b24gdGhlIHdpZGdldAorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJXaWRnZXQuaDoKKwogMjAx
MC0wMi0yNyAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBUaW1vdGh5IEhhdGNoZXIuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL1dp
ZGdldC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vV2lkZ2V0LmgJKHJldmlzaW9u
IDU1MzY2KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9XaWRnZXQuaAkod29ya2luZyBjb3B5KQpAQCAt
MTg2LDYgKzE4Niw5IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBmcmFtZVJlY3RzQ2hh
bmdlZCgpIHt9CiAKKyAgICAvLyBOb3RpZmllcyB0aGlzIHdpZGdldCB0aGF0IG90aGVyIHdpZGdl
dHMgb24gdGhlIHBhZ2UgaGF2ZSBiZWVuIHJlcG9zaXRpb25lZC4KKyAgICB2aXJ0dWFsIHZvaWQg
d2lkZ2V0UG9zaXRpb25zVXBkYXRlZCgpIHt9CisKICNpZiBQTEFURk9STShNQUMpCiAgICAgTlNW
aWV3KiBnZXRPdXRlclZpZXcoKSBjb25zdDsKICAgICAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZp
ZXcuY3BwCShyZXZpc2lvbiA1NTM2NikKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NDEsNiArNTQxLDggQEAgdm9pZCBSZW5kZXJWaWV3Ojp1
cGRhdGVXaWRnZXRQb3NpdGlvbnMoKQogICAgIFJlbmRlcldpZGdldFNldDo6aXRlcmF0b3IgZW5k
ID0gbV93aWRnZXRzLmVuZCgpOwogICAgIGZvciAoUmVuZGVyV2lkZ2V0U2V0OjppdGVyYXRvciBp
dCA9IG1fd2lkZ2V0cy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCiAgICAgICAgICgqaXQpLT51
cGRhdGVXaWRnZXRQb3NpdGlvbigpOworICAgIGZvciAoUmVuZGVyV2lkZ2V0U2V0OjppdGVyYXRv
ciBpdCA9IG1fd2lkZ2V0cy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgICgqaXQp
LT53aWRnZXRQb3NpdGlvbnNVcGRhdGVkKCk7CiB9CiAKIHZvaWQgUmVuZGVyVmlldzo6YWRkV2lk
Z2V0KFJlbmRlcldpZGdldCogbykKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdl
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmNwcAko
cmV2aXNpb24gNTUzNjYpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zMjUsNiArMzI1LDEzIEBAIHZvaWQgUmVuZGVyV2lkZ2V0Ojp1cGRh
dGVXaWRnZXRQb3NpdGlvbigKICAgICB9CiB9CiAKK3ZvaWQgUmVuZGVyV2lkZ2V0Ojp3aWRnZXRQ
b3NpdGlvbnNVcGRhdGVkKCkKK3sKKyAgICBpZiAoIW1fd2lkZ2V0KQorICAgICAgICByZXR1cm47
CisgICAgbV93aWRnZXQtPndpZGdldFBvc2l0aW9uc1VwZGF0ZWQoKTsKK30KKwogdm9pZCBSZW5k
ZXJXaWRnZXQ6OnNldFNlbGVjdGlvblN0YXRlKFNlbGVjdGlvblN0YXRlIHN0YXRlKQogewogICAg
IGlmIChzZWxlY3Rpb25TdGF0ZSgpICE9IHN0YXRlKSB7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJXaWRnZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJX
aWRnZXQuaAkocmV2aXNpb24gNTUzNjYpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRn
ZXQuaAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksNyBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IFJlbmRlcldpZGdldCogZmluZChjb25zdCBXaWRnZXQqKTsKIAogICAgIHZvaWQgdXBkYXRlV2lk
Z2V0UG9zaXRpb24oKTsKKyAgICB2b2lkIHdpZGdldFBvc2l0aW9uc1VwZGF0ZWQoKTsKIAogICAg
IHZvaWQgc2hvd1N1YnN0aXR1dGVJbWFnZShQYXNzUmVmUHRyPEltYWdlPik7CiAKSW5kZXg6IFdl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwkocmV2aXNpb24gNTUzNjYpCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDItMjUgIFRoYXRjaGVyIFVscmlj
aCAgPHR1bHJpY2hAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBGaXggY2hyb21pdW0gaWZyYW1lIHNoaW1zLiAgQWRkIGFub3RoZXIg
dGVzdCBjYXNlIHRvIHRoZQorICAgICAgICBpZnJhbWVzLXNoaW1zIHRlc3QuICBBZnRlciByNTM2
MzcsIHRoZSBwbHVnaW4gd2lkZ2V0IGRvZXNuJ3QgZ2V0CisgICAgICAgIG1vdmVkIGV2ZXJ5IHBh
aW50LiAgVGhpcyB1c2VkIHRvIGhpZGUgdGhlIGJ1ZyB0aGF0IGlmIGFuIGlmcmFtZQorICAgICAg
ICBnZXRzIGFkZGVkLCB0aGUgcGx1Z2luJ3MgY3V0b3V0IHJlY3RhbmdsZXMgZG9uJ3QgZ2V0IHVw
ZGF0ZWQgdW50aWwKKyAgICAgICAgYSBsYXlvdXQgaGFwcGVucy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MTg0CisKKyAgICAgICAgKiBzcmMvV2Vi
UGx1Z2luQ29udGFpbmVySW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdpbkNvbnRh
aW5lckltcGw6OndpZGdldFBvc2l0aW9uc1VwZGF0ZWQpOiBkbyByZXBvcnRHZW9tZXRyeSgpIHRv
IGVuc3VyZSB0aGF0CisgICAgICAgICAgICB0aGUgcGx1Z2luIGlzIGF3YXJlIG9mIHRoZSBwb3Np
dGlvbnMgb2YgY3V0b3V0cyBvbiB0aGUgcGFnZSAoZm9yIGlmcmFtZSBzaGltIGJlaGF2aW9yKS4K
KyAgICAgICAgKiBzcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5oOgorCiAyMDEwLTAyLTI3ICBQ
YXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IFRpbW90aHkgSGF0Y2hlci4KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2lu
Q29udGFpbmVySW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQ
bHVnaW5Db250YWluZXJJbXBsLmNwcAkocmV2aXNpb24gNTUzNjYpCisrKyBXZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzAs
NiArMTcwLDEyIEBAIHZvaWQgV2ViUGx1Z2luQ29udGFpbmVySW1wbDo6ZnJhbWVSZWN0c0MKICAg
ICByZXBvcnRHZW9tZXRyeSgpOwogfQogCit2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6Ondp
ZGdldFBvc2l0aW9uc1VwZGF0ZWQoKQoreworICAgIFdpZGdldDo6d2lkZ2V0UG9zaXRpb25zVXBk
YXRlZCgpOworICAgIHJlcG9ydEdlb21ldHJ5KCk7Cit9CisKIHZvaWQgV2ViUGx1Z2luQ29udGFp
bmVySW1wbDo6c2V0UGFyZW50VmlzaWJsZShib29sIHBhcmVudFZpc2libGUpCiB7CiAgICAgLy8g
V2Ugb3ZlcnJpZGUgdGhpcyBmdW5jdGlvbiB0byBtYWtlIHN1cmUgdGhhdCBnZW9tZXRyeSB1cGRh
dGVzIGFyZSBzZW50CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5l
ckltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRh
aW5lckltcGwuaAkocmV2aXNpb24gNTUzNjYpCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBs
dWdpbkNvbnRhaW5lckltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtNzMsNiArNzMsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIGZyYW1lUmVjdHNDaGFuZ2VkKCk7CiAgICAgdmlydHVhbCB2
b2lkIHNldFBhcmVudFZpc2libGUoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldFBhcmVudChX
ZWJDb3JlOjpTY3JvbGxWaWV3Kik7CisgICAgdmlydHVhbCB2b2lkIHdpZGdldFBvc2l0aW9uc1Vw
ZGF0ZWQoKTsKIAogICAgIC8vIFdlYlBsdWdpbkNvbnRhaW5lciBtZXRob2RzCiAgICAgdmlydHVh
bCB2b2lkIGludmFsaWRhdGUoKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDU1MzY2KQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDIt
MjUgIFRoYXRjaGVyIFVscmljaCAgPHR1bHJpY2hAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggY2hyb21pdW0gaWZyYW1lIHNo
aW1zLiAgQWRkIGFub3RoZXIgdGVzdCBjYXNlIHRvIHRoZQorICAgICAgICBpZnJhbWVzLXNoaW1z
IHRlc3QuICBBZnRlciByNTM2MzcsIHRoZSBwbHVnaW4gd2lkZ2V0IGRvZXNuJ3QgZ2V0CisgICAg
ICAgIG1vdmVkIGV2ZXJ5IHBhaW50LiAgVGhpcyB1c2VkIHRvIGhpZGUgdGhlIGJ1ZyB0aGF0IGlm
IGFuIGlmcmFtZQorICAgICAgICBnZXRzIGFkZGVkLCB0aGUgcGx1Z2luJ3MgY3V0b3V0IHJlY3Rh
bmdsZXMgZG9uJ3QgZ2V0IHVwZGF0ZWQgdW50aWwKKyAgICAgICAgYSBsYXlvdXQgaGFwcGVucy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MTg0CisK
KyAgICAgICAgKiBwbHVnaW5zL2lmcmFtZS1zaGltcy5odG1sOiB0ZXN0IGNhc2UgdGhhdCBhZGRz
IGFuIGlmcmFtZSBzaGltIGR5bmFtaWNhbGx5CisKIDIwMTAtMDItMjcgIElseWEgVGlraG9ub3Zz
a3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZl
bGRtYW4uCkluZGV4OiBMYXlvdXRUZXN0cy9wbHVnaW5zL2lmcmFtZS1zaGltcy1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGx1Z2lucy9pZnJhbWUtc2hpbXMtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA1NTM2NikKKysrIExheW91dFRlc3RzL3BsdWdpbnMvaWZyYW1lLXNo
aW1zLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjAsMyArMjAsNSBAQCBTVUNDRVNT
CiAKIAogCisKKwpJbmRleDogTGF5b3V0VGVzdHMvcGx1Z2lucy9pZnJhbWUtc2hpbXMuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbHVnaW5zL2lmcmFtZS1zaGltcy5odG1sCShyZXZp
c2lvbiA1NTM2NikKKysrIExheW91dFRlc3RzL3BsdWdpbnMvaWZyYW1lLXNoaW1zLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTQ4LDYgKzQ4LDM1IEBACiAgICAgICAgICAgICAnKTsiIHZhbHVlPSJj
bGlja21lIiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwOyBsZWZ0OiAxMDsgd2lk
dGg6IDYwcHg7IGhlaWdodDogNjBweDsiLz4nOwogICAgICAgICByZXR1cm4gbzsKICAgICB9Cisg
ICAgCisgICAgZnVuY3Rpb24gYXBwZW5kT3ZlcmxheShvdmVybGF5RGl2WklmcmFtZSwgb3Zlcmxh
eURpdlpPdmVybGF5LCBvdmVybGF5SW5zaWRlRGl2LCBleHBlY3RDbGlja2FibGUsIGNhc2VJZCkK
KyAgICB7CisgICAgICAgIHZhciBpZCA9IG1ha2VJZnJhbWVEaXYoKTsKKyAgICAgICAgdmFyIHJv
b3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjYXNlSWQpOworICAgICAgICBpZiAob3Zlcmxh
eURpdlpJZnJhbWUpCisgICAgICAgICAgICBpZC5zdHlsZS56SW5kZXggPSBvdmVybGF5RGl2Wklm
cmFtZTsKKworICAgICAgICB2YXIgb2QgPSBtYWtlT3ZlcmxheURpdihleHBlY3RDbGlja2FibGUg
PyAnZ3JlZW4nIDogJ3JlZCcsIGNhc2VJZCk7CisgICAgICAgIG9kLnN0eWxlLnBvc2l0aW9uID0g
J2Fic29sdXRlJzsKKyAgICAgICAgaWYgKG92ZXJsYXlEaXZaT3ZlcmxheSkKKyAgICAgICAgICAg
IG9kLnN0eWxlLnpJbmRleCA9IG92ZXJsYXlEaXZaT3ZlcmxheTsKKworICAgICAgICBpZiAob3Zl
cmxheUluc2lkZURpdikgeworICAgICAgICAgICAgdmFyIHBhcmVudGRpdiA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICAgICAgaWYgKG92ZXJsYXlEaXZaT3ZlcmxheSkK
KyAgICAgICAgICAgICAgICBwYXJlbnRkaXYuc3R5bGUuekluZGV4ID0gb3ZlcmxheURpdlpPdmVy
bGF5OworCisgICAgICAgICAgICBwYXJlbnRkaXYuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUn
OworICAgICAgICAgICAgcGFyZW50ZGl2LnN0eWxlLnRvcCA9ICcwcHgnOworICAgICAgICAgICAg
cGFyZW50ZGl2LnN0eWxlLmxlZnQgPSAnMHB4JzsKKyAgICAgICAgICAgIHBhcmVudGRpdi5hcHBl
bmRDaGlsZChpZCk7CisgICAgICAgICAgICBwYXJlbnRkaXYuYXBwZW5kQ2hpbGQob2QpOworICAg
ICAgICAgICAgcm9vdC5hcHBlbmRDaGlsZChwYXJlbnRkaXYpOworICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgcm9vdC5hcHBlbmRDaGlsZChpZCk7CisgICAgICAgICAgICByb290LmFwcGVu
ZENoaWxkKG9kKTsKKyAgICAgICAgfQorICAgIH07CiAKICAgICBmdW5jdGlvbiBhZGRDYXNlKHgs
IHksIHRhZ3MpCiAgICAgewpAQCAtNjIsNiArOTEsNyBAQAogICAgICAgICByb290LnN0eWxlLnBv
c2l0aW9uID0gJ2Fic29sdXRlJzsKICAgICAgICAgcm9vdC5zdHlsZS5sZWZ0ID0geCAqICh3aWR0
aCArIDQwKSArICdweCc7CiAgICAgICAgIHJvb3Quc3R5bGUudG9wID0geSAqIChoZWlnaHQgKyAy
MCkgKyAncHgnOworICAgICAgICByb290LmlkID0gY2FzZUlkOwogICAgICAgICBjb250YWluZXIu
YXBwZW5kQ2hpbGQocm9vdCk7CiAKICAgICAgICAgdmFyIHBsdWdpbkRpdlo7CkBAIC0xMDIsNDAg
KzEzMiwxNiBAQAogICAgICAgICAgICAgfQogICAgICAgICB9OwogCi0gICAgICAgIHZhciBhcHBl
bmRPdmVybGF5ID0gZnVuY3Rpb24oKQotICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgaWQgPSBt
YWtlSWZyYW1lRGl2KCk7Ci0gICAgICAgICAgICBpZiAob3ZlcmxheURpdlpJZnJhbWUpCi0gICAg
ICAgICAgICAgICAgaWQuc3R5bGUuekluZGV4ID0gb3ZlcmxheURpdlpJZnJhbWU7Ci0KLSAgICAg
ICAgICAgIHZhciBvZCA9IG1ha2VPdmVybGF5RGl2KGV4cGVjdENsaWNrYWJsZSA/ICdncmVlbicg
OiAncmVkJywgY2FzZUlkKTsKLSAgICAgICAgICAgIG9kLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29s
dXRlJzsKLSAgICAgICAgICAgIGlmIChvdmVybGF5RGl2Wk92ZXJsYXkpCi0gICAgICAgICAgICAg
ICAgb2Quc3R5bGUuekluZGV4ID0gb3ZlcmxheURpdlpPdmVybGF5OwotCi0gICAgICAgICAgICBp
ZiAodGFncy5vdmVybGF5SW5zaWRlRGl2KSB7Ci0gICAgICAgICAgICAgICAgdmFyIHBhcmVudGRp
diA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAgICAgICAgICAgICAgIGlmIChv
dmVybGF5RGl2Wk92ZXJsYXkpCi0gICAgICAgICAgICAgICAgICAgIHBhcmVudGRpdi5zdHlsZS56
SW5kZXggPSBvdmVybGF5RGl2Wk92ZXJsYXk7Ci0KLSAgICAgICAgICAgICAgICBwYXJlbnRkaXYu
c3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnOwotICAgICAgICAgICAgICAgIHBhcmVudGRpdi5z
dHlsZS50b3AgPSAnMHB4JzsKLSAgICAgICAgICAgICAgICBwYXJlbnRkaXYuc3R5bGUubGVmdCA9
ICcwcHgnOwotICAgICAgICAgICAgICAgIHBhcmVudGRpdi5hcHBlbmRDaGlsZChpZCk7Ci0gICAg
ICAgICAgICAgICAgcGFyZW50ZGl2LmFwcGVuZENoaWxkKG9kKTsKLSAgICAgICAgICAgICAgICBy
b290LmFwcGVuZENoaWxkKHBhcmVudGRpdik7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgICAgIHJvb3QuYXBwZW5kQ2hpbGQoaWQpOwotICAgICAgICAgICAgICAgIHJvb3QuYXBw
ZW5kQ2hpbGQob2QpOwotICAgICAgICAgICAgfQotICAgICAgICB9OwotCiAgICAgICAgIGlmICh0
YWdzLm92ZXJsYXlFYXJsaWVyKSB7Ci0gICAgICAgICAgICBhcHBlbmRPdmVybGF5KCk7CisgICAg
ICAgICAgICBhcHBlbmRPdmVybGF5KG92ZXJsYXlEaXZaSWZyYW1lLCBvdmVybGF5RGl2Wk92ZXJs
YXksIHRhZ3Mub3ZlcmxheUluc2lkZURpdiwgZXhwZWN0Q2xpY2thYmxlLCBjYXNlSWQpOwogICAg
ICAgICAgICAgYXBwZW5kUGx1Z2luKCk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBh
cHBlbmRQbHVnaW4oKTsKLSAgICAgICAgICAgIGFwcGVuZE92ZXJsYXkoKTsKKyAgICAgICAgICAg
IGlmICh0YWdzLm92ZXJsYXlPblRpbWVvdXQpIHsKKyAgICAgICAgICAgICAgICBzZXRUaW1lb3V0
KCdhcHBlbmRPdmVybGF5KCcrb3ZlcmxheURpdlpJZnJhbWUrJywgJytvdmVybGF5RGl2Wk92ZXJs
YXkgKycsICcgKyB0YWdzLm92ZXJsYXlJbnNpZGVEaXYgKyAnLCAnICsgZXhwZWN0Q2xpY2thYmxl
ICsgJywgJyArIGNhc2VJZCArICcpJywgMCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgICAgIGFwcGVuZE92ZXJsYXkob3ZlcmxheURpdlpJZnJhbWUsIG92ZXJsYXlEaXZaT3Zl
cmxheSwgdGFncy5vdmVybGF5SW5zaWRlRGl2LCBleHBlY3RDbGlja2FibGUsIGNhc2VJZCk7Cisg
ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgfQogCkBAIC0xNzcsNiArMTgzLDcgQEAKICAg
ICAgICAgYWRkQ2FzZSgwLCAzLCB7J3BsdWdpbk5vcmVsYXRpdmUnOjEsIGV4cGVjdDonb3Zlcmxh
eSBPVkVSJ30pOwogICAgICAgICBhZGRDYXNlKDEsIDMsIHsnb3ZlcmxheUVhcmxpZXInOjEsICdw
bHVnaW5Ob3JlbGF0aXZlJzoxLCAncGx1Z2luSW5zaWRlRGl2JzoxLCBleHBlY3Q6J292ZXJsYXkg
T1ZFUid9KTsKICAgICAgICAgYWRkQ2FzZSgyLCAzLCB7J3BsdWdpbk5vcmVsYXRpdmUnOjEsICdw
bHVnaW5JbnNpZGVEaXYnOjEsIGV4cGVjdDonb3ZlcmxheSBPVkVSJ30pOworICAgICAgICBhZGRD
YXNlKDMsIDMsIHsncGx1Z2luTG93ZXJ6JzoxLCAnb3ZlcmxheU9uVGltZW91dCc6MSwgZXhwZWN0
OidvdmVybGF5IE9WRVInfSk7CiAKICAgICAgICAgcnVuVGVzdCgpOwogICAgIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>