<?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>86255</bug_id>
          
          <creation_ts>2012-05-11 14:58:28 -0700</creation_ts>
          <short_desc>[chromium] Plumb --show-paint-rects to accelerated compositor</short_desc>
          <delta_ts>2012-05-11 19:20:11 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Shawn Singh">shawnsingh</reporter>
          <assigned_to name="Shawn Singh">shawnsingh</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>nduca</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>621995</commentid>
    <comment_count>0</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-05-11 14:58:28 -0700</bug_when>
    <thetext>There are three patches (for now) to add useful support for visualizing debug rects:

(1) this bug, adds webkit-side plumbing through WebSettingsImpl so that the command-line flag will work

(2) chromium-side bug, will use the webkit-side plumbing to fully connect --show-paint-rects command switch to webkit.

(3) hook the web inspector &quot;paint rects&quot; checkbox to this setting.
 - before this, it might be necessary to slightly refactor compositor settings, separating them into (a) settings that remain fixed for the lifetime of the LTH, and (b) settings that can change dynamically on the fly, with at most a simple &quot;updateDynamicSettings()&quot; or &quot;setXXX()&quot; call on the LTH.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622011</commentid>
    <comment_count>1</comment_count>
      <attachid>141506</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-05-11 15:16:06 -0700</bug_when>
    <thetext>Created attachment 141506
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622017</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-11 15:21:08 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622022</commentid>
    <comment_count>3</comment_count>
      <attachid>141506</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-11 15:28:39 -0700</bug_when>
    <thetext>Comment on attachment 141506
Patch

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

R=me - one question for you to consider before setting CQ.

&gt; Source/WebKit/chromium/public/WebSettings.h:111
&gt; +    virtual bool showPaintRects() const = 0;

do we need this getter? most other settings don&apos;t have one and i have an allergy to unused getters (feels too much like writing a java bean or something)

WebViewImpl can access its m_webSettings to talk to a WebSettingsImpl interface</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622030</commentid>
    <comment_count>4</comment_count>
      <attachid>141506</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-05-11 15:31:25 -0700</bug_when>
    <thetext>Comment on attachment 141506
Patch


Good question, I&apos;ll make sure we don&apos;t need it before landing the fixed version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622095</commentid>
    <comment_count>5</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-05-11 16:22:03 -0700</bug_when>
    <thetext>James, I think the same situation applies to showFPSCounter and showPlatformLayerTree.

Looking at the WebViewImpl::settings() accessor, I worry that using m_settings directly, may have some null pointer problems.  The accessor actually creates the WebSettingsImpl if it did not already exist.


One possible solution: when we want to access the showFPSCounter / showPlatformLayerTree / showPaintRect bools, do it like this:

  dynamic_cast&lt;WebSettingsImpl*&gt;( settings().get())-&gt;showFPSCounter

That way we can still remove those virtual accessors. What do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622102</commentid>
    <comment_count>6</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-11 16:30:21 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; James, I think the same situation applies to showFPSCounter and showPlatformLayerTree.
&gt; 
&gt; Looking at the WebViewImpl::settings() accessor, I worry that using m_settings directly, may have some null pointer problems.  The accessor actually creates the WebSettingsImpl if it did not already exist.
&gt; 
&gt; 
&gt; One possible solution: when we want to access the showFPSCounter / showPlatformLayerTree / showPaintRect bools, do it like this:
&gt; 
&gt;   dynamic_cast&lt;WebSettingsImpl*&gt;( settings().get())-&gt;showFPSCounter
&gt; 
&gt; That way we can still remove those virtual accessors. What do you think?

Woah, that sounds like a bad idea.  You could wrap the lazy creation of m_webSettings in another helper if you want and have code in WebViewImpl use that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622103</commentid>
    <comment_count>7</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-05-11 16:31:37 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; James, I think the same situation applies to showFPSCounter and showPlatformLayerTree.
&gt; &gt; 
&gt; &gt; Looking at the WebViewImpl::settings() accessor, I worry that using m_settings directly, may have some null pointer problems.  The accessor actually creates the WebSettingsImpl if it did not already exist.
&gt; &gt; 
&gt; &gt; 
&gt; &gt; One possible solution: when we want to access the showFPSCounter / showPlatformLayerTree / showPaintRect bools, do it like this:
&gt; &gt; 
&gt; &gt;   dynamic_cast&lt;WebSettingsImpl*&gt;( settings().get())-&gt;showFPSCounter
&gt; &gt; 
&gt; &gt; That way we can still remove those virtual accessors. What do you think?
&gt; 
&gt; Woah, that sounds like a bad idea.  You could wrap the lazy creation of m_webSettings in another helper if you want and have code in WebViewImpl use that.

yeah, I should&apos;ve thought of that =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622127</commentid>
    <comment_count>8</comment_count>
      <attachid>141530</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-05-11 17:04:29 -0700</bug_when>
    <thetext>Created attachment 141530
Needs review again

The change was just significant enough that this needs another review. Sorry for the inconvenience =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622132</commentid>
    <comment_count>9</comment_count>
      <attachid>141530</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-11 17:10:38 -0700</bug_when>
    <thetext>Comment on attachment 141530
Needs review again

R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622137</commentid>
    <comment_count>10</comment_count>
      <attachid>141530</attachid>
    <who name="Nat Duca">nduca</who>
    <bug_when>2012-05-11 17:22:17 -0700</bug_when>
    <thetext>Comment on attachment 141530
Needs review again

Why aren&apos;t we connecting the Debug paint rects flag to this? I&apos;m skeptical of this change until I understand the answer to that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622143</commentid>
    <comment_count>11</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-11 17:29:59 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 141530 [details])
&gt; Why aren&apos;t we connecting the Debug paint rects flag to this? I&apos;m skeptical of this change until I understand the answer to that.

Which flag are you referring to?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622145</commentid>
    <comment_count>12</comment_count>
    <who name="Nat Duca">nduca</who>
    <bug_when>2012-05-11 17:36:22 -0700</bug_when>
    <thetext>I thought there was a page/Settings flag for this, since we have one for eg repaint counter. Guess we dont, on closer inspection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622152</commentid>
    <comment_count>13</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-05-11 17:43:43 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; I thought there was a page/Settings flag for this, since we have one for eg repaint counter. Guess we dont, on closer inspection.

Just discussed with Nat offline, I&apos;d still like to land this even though it turned out to be not the direction we wanted to go.

We thought this would be a good first-step towards hooking up this visualization to the inspector, but it turned out not to be =)

Its still useful to have plumbed it through to the command line as well, though, no harm done IMHO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622153</commentid>
    <comment_count>14</comment_count>
    <who name="Nat Duca">nduca</who>
    <bug_when>2012-05-11 17:44:31 -0700</bug_when>
    <thetext>+1 and sorry for the churn. I read this wrong at first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622200</commentid>
    <comment_count>15</comment_count>
      <attachid>141530</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-11 19:20:06 -0700</bug_when>
    <thetext>Comment on attachment 141530
Needs review again

Clearing flags on attachment: 141530

Committed r116835: &lt;http://trac.webkit.org/changeset/116835&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622201</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-11 19:20:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141506</attachid>
            <date>2012-05-11 15:16:06 -0700</date>
            <delta_ts>2012-05-11 17:04:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86255-20120511151605.patch</filename>
            <type>text/plain</type>
            <size>7119</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2NzgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCA2MjdjN2UwZmY3MWM1
ZTVmMTdhMzk0NTU0NzNkYjNkY2E1NDcxMTA4Li5jZTRiZGU3MmEyZjNmOGUwZjcxYjA5NWIxYzI4
YzM3Y2I0YWY4Y2M2IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0wNS0xMSAg
U2hhd24gU2luZ2ggIDxzaGF3bnNpbmdoQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21p
dW1dIFBsdW1iIC0tc2hvdy1wYWludC1yZWN0cyB0byBhY2NlbGVyYXRlZCBjb21wb3NpdG9yCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjI1NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogY2hyb21pdW0v
cHVibGljL1dlYkxheWVyVHJlZVZpZXcuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViTGF5ZXJUcmVl
Vmlldzo6U2V0dGluZ3M6OlNldHRpbmdzKToKKyAgICAgICAgKFNldHRpbmdzKToKKwogMjAxMi0w
NS0xMCAgTWFyayBQaWxncmltICA8cGlsZ3JpbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0No
cm9taXVtXSBSZW1vdmUgV0VCS0lUX1VTSU5HX1NLSUEgaWZkZWZzIHRoYXQgYXJlIGFsd2F5cyB0
cnVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDQ1NjQ4NWI2YzljMTk0MmU1M2IwM2Iz
ZjkyNTQzNTVmNjU5ZTVmZjguLmRhZTA1MDA1NzNiMTU2MzFkYTZjYjhhYzczMmIyODBhYjZiYzNl
ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMDUt
MTEgIFNoYXduIFNpbmdoICA8c2hhd25zaW5naEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2No
cm9taXVtXSBQbHVtYiAtLXNob3ctcGFpbnQtcmVjdHMgdG8gYWNjZWxlcmF0ZWQgY29tcG9zaXRv
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODYyNTUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHB1Ymxp
Yy9XZWJTZXR0aW5ncy5oOgorICAgICAgICAqIHNyYy9XZWJMYXllclRyZWVWaWV3LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViTGF5ZXJUcmVlVmlldzo6U2V0dGluZ3M6Om9wZXJhdG9yIENDU2V0
dGluZ3MpOgorICAgICAgICAqIHNyYy9XZWJTZXR0aW5nc0ltcGwuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJTZXR0aW5nc0ltcGw6OldlYlNldHRpbmdzSW1wbCk6CisgICAgICAgIChXZWJLaXQ6
OldlYlNldHRpbmdzSW1wbDo6c2V0U2hvd1BhaW50UmVjdHMpOgorICAgICAgICAoV2ViS2l0KToK
KyAgICAgICAgKiBzcmMvV2ViU2V0dGluZ3NJbXBsLmg6CisgICAgICAgIChXZWJTZXR0aW5nc0lt
cGwpOgorICAgICAgICAoV2ViS2l0OjpXZWJTZXR0aW5nc0ltcGw6OnNob3dQYWludFJlY3RzKToK
KyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3
SW1wbDo6c2V0SXNBY2NlbGVyYXRlZENvbXBvc2l0aW5nQWN0aXZlKToKKwogMjAxMi0wNS0xMSAg
RGF2aWQgUmV2ZW1hbiAgPHJldmVtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1
bV0gTW92ZSBpbnN0YW50aWF0aW9uIG9mIHRleHR1cmUgdXBsb2FkZXIgdG8gTGF5ZXJSZW5kZXJl
ckNocm9taXVtLgpkaWZmIC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9X
ZWJMYXllclRyZWVWaWV3LmggYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkxh
eWVyVHJlZVZpZXcuaAppbmRleCBjMGY3OWNhZWIzNDg1OTBmY2VkOGU4MGMyN2RhZmZlYWMxYzE5
MDNlLi4zNmJkYTEzMmQzODg2YjI2ZTI1NzI2MDc2NzgzNTQzOWIyNDY3MmQwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkxheWVyVHJlZVZpZXcuaAorKysg
Yi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkxheWVyVHJlZVZpZXcuaApAQCAt
NTIsNiArNTIsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICA6IGFjY2VsZXJhdGVQYWludGluZyhm
YWxzZSkKICAgICAgICAgICAgICwgc2hvd0ZQU0NvdW50ZXIoZmFsc2UpCiAgICAgICAgICAgICAs
IHNob3dQbGF0Zm9ybUxheWVyVHJlZShmYWxzZSkKKyAgICAgICAgICAgICwgc2hvd1BhaW50UmVj
dHMoZmFsc2UpCiAgICAgICAgICAgICAsIHJlZnJlc2hSYXRlKDApCiAgICAgICAgICAgICAsIHBl
clRpbGVQYWludGluZyhmYWxzZSkKICAgICAgICAgICAgICwgcGFydGlhbFN3YXBFbmFibGVkKGZh
bHNlKQpAQCAtNjIsNiArNjMsNyBAQCBwdWJsaWM6CiAgICAgICAgIGJvb2wgYWNjZWxlcmF0ZVBh
aW50aW5nOwogICAgICAgICBib29sIHNob3dGUFNDb3VudGVyOwogICAgICAgICBib29sIHNob3dQ
bGF0Zm9ybUxheWVyVHJlZTsKKyAgICAgICAgYm9vbCBzaG93UGFpbnRSZWN0czsKICAgICAgICAg
ZG91YmxlIHJlZnJlc2hSYXRlOwogICAgICAgICBib29sIHBlclRpbGVQYWludGluZzsKICAgICAg
ICAgYm9vbCBwYXJ0aWFsU3dhcEVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViU2V0dGluZ3MuaAppbmRleCBlYzdkMDM3ODU2M2ZlNDgyMTZmNmI4YjZhNGZmNmRkOGZj
MDVlNjk0Li5hYWNkM2RjZjY2ZWM3NjE2OGUxZjY1N2Q3ZjFjMjBhMDM1MzUwZmM1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNldHRpbmdzLmgKQEAgLTEwNyw2ICsxMDcs
OCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHNob3dGUFNDb3VudGVyKCkgY29uc3QgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBzZXRTaG93UGxhdGZvcm1MYXllclRyZWUoYm9vbCkgPSAwOwog
ICAgIHZpcnR1YWwgYm9vbCBzaG93UGxhdGZvcm1MYXllclRyZWUoKSBjb25zdCA9IDA7CisgICAg
dmlydHVhbCB2b2lkIHNldFNob3dQYWludFJlY3RzKGJvb2wpID0gMDsKKyAgICB2aXJ0dWFsIGJv
b2wgc2hvd1BhaW50UmVjdHMoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldEVkaXRp
bmdCZWhhdmlvcihFZGl0aW5nQmVoYXZpb3IpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0QWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBz
ZXRGb3JjZUNvbXBvc2l0aW5nTW9kZShib29sKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJMYXllclRyZWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYkxheWVyVHJlZVZpZXcuY3BwCmluZGV4IDZjMThmNjc0MjhmYjliM2I5MDdh
YmM0MDA0ZTMxYzU0NzE0NGMwMTkuLmIzNmE2MTIwZTE5YzdmMDA3YTIwNzNhOTYwNDkyNzg4ZDIy
MmI1MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkxheWVyVHJl
ZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkxheWVyVHJlZVZp
ZXcuY3BwCkBAIC00Myw2ICs0Myw3IEBAIFdlYkxheWVyVHJlZVZpZXc6OlNldHRpbmdzOjpvcGVy
YXRvciBDQ1NldHRpbmdzKCkgY29uc3QKICAgICBzZXR0aW5ncy5hY2NlbGVyYXRlUGFpbnRpbmcg
PSBhY2NlbGVyYXRlUGFpbnRpbmc7CiAgICAgc2V0dGluZ3Muc2hvd0ZQU0NvdW50ZXIgPSBzaG93
RlBTQ291bnRlcjsKICAgICBzZXR0aW5ncy5zaG93UGxhdGZvcm1MYXllclRyZWUgPSBzaG93UGxh
dGZvcm1MYXllclRyZWU7CisgICAgc2V0dGluZ3Muc2hvd1BhaW50UmVjdHMgPSBzaG93UGFpbnRS
ZWN0czsKICAgICBzZXR0aW5ncy5yZWZyZXNoUmF0ZSA9IHJlZnJlc2hSYXRlOwogICAgIHNldHRp
bmdzLnBlclRpbGVQYWludGluZyA9IHBlclRpbGVQYWludGluZzsKICAgICBzZXR0aW5ncy5wYXJ0
aWFsU3dhcEVuYWJsZWQgPSBwYXJ0aWFsU3dhcEVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNwcAppbmRleCAxOTA5ODE5ODg0MTY2NWYwZWY5
ZDhkZTRmOWMwOGVjMzNlMjJlZmE0Li4yYTI0NjJhMmMxM2UwNWQzMmYzMzU5MmYyZDk3N2E3ZGFj
ZGZhOGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5n
c0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1w
bC5jcHAKQEAgLTQ5LDYgKzQ5LDcgQEAgV2ViU2V0dGluZ3NJbXBsOjpXZWJTZXR0aW5nc0ltcGwo
U2V0dGluZ3MqIHNldHRpbmdzKQogICAgIDogbV9zZXR0aW5ncyhzZXR0aW5ncykKICAgICAsIG1f
c2hvd0ZQU0NvdW50ZXIoZmFsc2UpCiAgICAgLCBtX3Nob3dQbGF0Zm9ybUxheWVyVHJlZShmYWxz
ZSkKKyAgICAsIG1fc2hvd1BhaW50UmVjdHMoZmFsc2UpCiAgICAgLCBtX3ZpZXdwb3J0RW5hYmxl
ZChmYWxzZSkKIHsKICAgICBBU1NFUlQoc2V0dGluZ3MpOwpAQCAtMzMzLDYgKzMzNCwxMSBAQCB2
b2lkIFdlYlNldHRpbmdzSW1wbDo6c2V0U2hvd1BsYXRmb3JtTGF5ZXJUcmVlKGJvb2wgc2hvdykK
ICAgICBtX3Nob3dQbGF0Zm9ybUxheWVyVHJlZSA9IHNob3c7CiB9CiAKK3ZvaWQgV2ViU2V0dGlu
Z3NJbXBsOjpzZXRTaG93UGFpbnRSZWN0cyhib29sIHNob3cpCit7CisgICAgbV9zaG93UGFpbnRS
ZWN0cyA9IHNob3c7Cit9CisKIHZvaWQgV2ViU2V0dGluZ3NJbXBsOjpzZXRFZGl0aW5nQmVoYXZp
b3IoRWRpdGluZ0JlaGF2aW9yIGJlaGF2aW9yKQogewogICAgIG1fc2V0dGluZ3MtPnNldEVkaXRp
bmdCZWhhdmlvclR5cGUoc3RhdGljX2Nhc3Q8V2ViQ29yZTo6RWRpdGluZ0JlaGF2aW9yVHlwZT4o
YmVoYXZpb3IpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNl
dHRpbmdzSW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBs
LmgKaW5kZXggM2VhOWRjZTM4ZWNiN2ZkNGQ2YjJlYTc1YTZlNmUzYWVhMjE1NjQ3YS4uODk2ZTMw
ZjZkOGMzMGQ0NmJkMDhhNzFhZWUzMDNjZDhlZmFjMWIxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgKQEAgLTk5LDYgKzk5LDggQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgYm9vbCBzaG93RlBTQ291bnRlcigpIGNvbnN0IHsgcmV0dXJuIG1fc2hvd0ZQ
U0NvdW50ZXI7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvd1BsYXRmb3JtTGF5ZXJUcmVlKGJv
b2wpOwogICAgIHZpcnR1YWwgYm9vbCBzaG93UGxhdGZvcm1MYXllclRyZWUoKSBjb25zdCB7IHJl
dHVybiBtX3Nob3dQbGF0Zm9ybUxheWVyVHJlZTsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXRTaG93
UGFpbnRSZWN0cyhib29sKTsKKyAgICB2aXJ0dWFsIGJvb2wgc2hvd1BhaW50UmVjdHMoKSBjb25z
dCB7IHJldHVybiBtX3Nob3dQYWludFJlY3RzOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldEVkaXRp
bmdCZWhhdmlvcihFZGl0aW5nQmVoYXZpb3IpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRBY2NlbGVy
YXRlZENvbXBvc2l0aW5nRW5hYmxlZChib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Rm9yY2VD
b21wb3NpdGluZ01vZGUoYm9vbCk7CkBAIC0xNDYsNiArMTQ4LDcgQEAgcHJpdmF0ZToKICAgICBX
ZWJDb3JlOjpTZXR0aW5ncyogbV9zZXR0aW5nczsKICAgICBib29sIG1fc2hvd0ZQU0NvdW50ZXI7
CiAgICAgYm9vbCBtX3Nob3dQbGF0Zm9ybUxheWVyVHJlZTsKKyAgICBib29sIG1fc2hvd1BhaW50
UmVjdHM7CiAgICAgYm9vbCBtX3ZpZXdwb3J0RW5hYmxlZDsKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCA2MjZkYThhMjFjZjRhZWNhODgyMzFl
YTZmMjUxNGQ4NzZhZDU1YzIxLi5mNzcwNjBiNzg4NjAxYzg0YjYwODI5NWExODU0ZjAzNzA2NTIw
NmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0z
MzA4LDYgKzMzMDgsNyBAQCB2b2lkIFdlYlZpZXdJbXBsOjpzZXRJc0FjY2VsZXJhdGVkQ29tcG9z
aXRpbmdBY3RpdmUoYm9vbCBhY3RpdmUpCiAgICAgICAgIGxheWVyVHJlZVZpZXdTZXR0aW5ncy5h
Y2NlbGVyYXRlUGFpbnRpbmcgPSBwYWdlKCktPnNldHRpbmdzKCktPmFjY2VsZXJhdGVkRHJhd2lu
Z0VuYWJsZWQoKTsKICAgICAgICAgbGF5ZXJUcmVlVmlld1NldHRpbmdzLnNob3dGUFNDb3VudGVy
ID0gc2V0dGluZ3MoKS0+c2hvd0ZQU0NvdW50ZXIoKTsKICAgICAgICAgbGF5ZXJUcmVlVmlld1Nl
dHRpbmdzLnNob3dQbGF0Zm9ybUxheWVyVHJlZSA9IHNldHRpbmdzKCktPnNob3dQbGF0Zm9ybUxh
eWVyVHJlZSgpOworICAgICAgICBsYXllclRyZWVWaWV3U2V0dGluZ3Muc2hvd1BhaW50UmVjdHMg
PSBzZXR0aW5ncygpLT5zaG93UGFpbnRSZWN0cygpOwogCiAgICAgICAgIGxheWVyVHJlZVZpZXdT
ZXR0aW5ncy5wZXJUaWxlUGFpbnRpbmcgPSBwYWdlKCktPnNldHRpbmdzKCktPnBlclRpbGVEcmF3
aW5nRW5hYmxlZCgpOwogICAgICAgICBsYXllclRyZWVWaWV3U2V0dGluZ3MucGFydGlhbFN3YXBF
bmFibGVkID0gcGFnZSgpLT5zZXR0aW5ncygpLT5wYXJ0aWFsU3dhcEVuYWJsZWQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141530</attachid>
            <date>2012-05-11 17:04:29 -0700</date>
            <delta_ts>2012-05-11 19:20:06 -0700</delta_ts>
            <desc>Needs review again</desc>
            <filename>bug-86255-20120511170428.patch</filename>
            <type>text/plain</type>
            <size>9293</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2ODE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBjYThhYWFiMTYyYzZh
NDU4MDRhYjgzMWY0MmU4ZjgzYTE1NDI3ZmZkLi40Y2I0MjFhZWViMGEyYjY4ZTZlY2Y4ZjJmZTAw
ZmJiMmVlNWU5NThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0wNS0xMSAg
U2hhd24gU2luZ2ggIDxzaGF3bnNpbmdoQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21p
dW1dIFBsdW1iIC0tc2hvdy1wYWludC1yZWN0cyB0byBhY2NlbGVyYXRlZCBjb21wb3NpdG9yCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjI1NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogY2hyb21pdW0v
cHVibGljL1dlYkxheWVyVHJlZVZpZXcuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViTGF5ZXJUcmVl
Vmlldzo6U2V0dGluZ3M6OlNldHRpbmdzKToKKyAgICAgICAgKFNldHRpbmdzKToKKwogMjAxMi0w
NS0xMSAgTWFyayBQaWxncmltICA8cGlsZ3JpbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0No
cm9taXVtXSBNb3ZlIGNyZWF0ZUxvY2FsU3RvcmFnZU5hbWVzcGFjZSB0byBQbGF0Zm9ybS5oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDExNWQyMWZlZWY4ZDI2YjdkODc1ZDgxMmEyMjgy
NGQ3NDIyNGY0ZmMuLjg3NzQzYTU4ZWJkMDFiYzEzN2NlNGYzNzg0YTRjZmU4MTA0MjFjZGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTItMDUtMTEgIFNo
YXduIFNpbmdoICA8c2hhd25zaW5naEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVt
XSBQbHVtYiAtLXNob3ctcGFpbnQtcmVjdHMgdG8gYWNjZWxlcmF0ZWQgY29tcG9zaXRvcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODYyNTUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHB1YmxpYy9XZWJT
ZXR0aW5ncy5oOgorICAgICAgICAqIHNyYy9XZWJMYXllclRyZWVWaWV3LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViTGF5ZXJUcmVlVmlldzo6U2V0dGluZ3M6Om9wZXJhdG9yIENDU2V0dGluZ3Mp
OgorICAgICAgICAqIHNyYy9XZWJTZXR0aW5nc0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJTZXR0aW5nc0ltcGw6OldlYlNldHRpbmdzSW1wbCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNl
dHRpbmdzSW1wbDo6c2V0U2hvd1BhaW50UmVjdHMpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAg
ICAgKiBzcmMvV2ViU2V0dGluZ3NJbXBsLmg6CisgICAgICAgIChXZWJTZXR0aW5nc0ltcGwpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJTZXR0aW5nc0ltcGw6OnNob3dGUFNDb3VudGVyKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViU2V0dGluZ3NJbXBsOjpzaG93UGxhdGZvcm1MYXllclRyZWUpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJTZXR0aW5nc0ltcGw6OnNob3dQYWludFJlY3RzKToKKyAgICAgICAg
KiBzcmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2V0
dGluZ3NJbXBsKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnNldHRpbmdzKToKKyAg
ICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpzZXRJc0FjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdBY3RpdmUpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5oOgor
CiAyMDEyLTA1LTExICBNYXJrIFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBbQ2hyb21pdW1dIE1vdmUgY3JlYXRlTG9jYWxTdG9yYWdlTmFtZXNwYWNlIHRvIFBsYXRm
b3JtLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTGF5
ZXJUcmVlVmlldy5oIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJMYXllclRy
ZWVWaWV3LmgKaW5kZXggYzBmNzljYWViMzQ4NTkwZmNlZDhlODBjMjdkYWZmZWFjMWMxOTAzZS4u
MzZiZGExMzJkMzg4NmIyNmUyNTcyNjA3Njc4MzU0MzliMjQ2NzJkMCAxMDA2NDQKLS0tIGEvU291
cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJMYXllclRyZWVWaWV3LmgKKysrIGIvU291
cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJMYXllclRyZWVWaWV3LmgKQEAgLTUyLDYg
KzUyLDcgQEAgcHVibGljOgogICAgICAgICAgICAgOiBhY2NlbGVyYXRlUGFpbnRpbmcoZmFsc2Up
CiAgICAgICAgICAgICAsIHNob3dGUFNDb3VudGVyKGZhbHNlKQogICAgICAgICAgICAgLCBzaG93
UGxhdGZvcm1MYXllclRyZWUoZmFsc2UpCisgICAgICAgICAgICAsIHNob3dQYWludFJlY3RzKGZh
bHNlKQogICAgICAgICAgICAgLCByZWZyZXNoUmF0ZSgwKQogICAgICAgICAgICAgLCBwZXJUaWxl
UGFpbnRpbmcoZmFsc2UpCiAgICAgICAgICAgICAsIHBhcnRpYWxTd2FwRW5hYmxlZChmYWxzZSkK
QEAgLTYyLDYgKzYzLDcgQEAgcHVibGljOgogICAgICAgICBib29sIGFjY2VsZXJhdGVQYWludGlu
ZzsKICAgICAgICAgYm9vbCBzaG93RlBTQ291bnRlcjsKICAgICAgICAgYm9vbCBzaG93UGxhdGZv
cm1MYXllclRyZWU7CisgICAgICAgIGJvb2wgc2hvd1BhaW50UmVjdHM7CiAgICAgICAgIGRvdWJs
ZSByZWZyZXNoUmF0ZTsKICAgICAgICAgYm9vbCBwZXJUaWxlUGFpbnRpbmc7CiAgICAgICAgIGJv
b2wgcGFydGlhbFN3YXBFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YlNldHRpbmdzLmgKaW5kZXggZWM3ZDAzNzg1NjNmZTQ4MjE2ZjZiOGI2YTRmZjZkZDhmYzA1ZTY5
NC4uYWFkMWI5ZGQ1MGYxZTRkYTJjNTg2ZDZjZmYyZWNjMjNlYmZlZTk0YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oCkBAIC0xMDQsOSArMTA0LDggQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQo
Ym9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRTaG93RGVidWdCb3JkZXJzKGJvb2wpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvd0ZQU0NvdW50ZXIoYm9vbCkgPSAwOwotICAgIHZp
cnR1YWwgYm9vbCBzaG93RlBTQ291bnRlcigpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQg
c2V0U2hvd1BsYXRmb3JtTGF5ZXJUcmVlKGJvb2wpID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgc2hv
d1BsYXRmb3JtTGF5ZXJUcmVlKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRTaG93
UGFpbnRSZWN0cyhib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldEVkaXRpbmdCZWhhdmlv
cihFZGl0aW5nQmVoYXZpb3IpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0QWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0VuYWJsZWQoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRGb3JjZUNv
bXBvc2l0aW5nTW9kZShib29sKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJMYXllclRyZWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkxheWVyVHJlZVZpZXcuY3BwCmluZGV4IDZjMThmNjc0MjhmYjliM2I5MDdhYmM0MDA0ZTMx
YzU0NzE0NGMwMTkuLmIzNmE2MTIwZTE5YzdmMDA3YTIwNzNhOTYwNDkyNzg4ZDIyMmI1MzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkxheWVyVHJlZVZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkxheWVyVHJlZVZpZXcuY3BwCkBA
IC00Myw2ICs0Myw3IEBAIFdlYkxheWVyVHJlZVZpZXc6OlNldHRpbmdzOjpvcGVyYXRvciBDQ1Nl
dHRpbmdzKCkgY29uc3QKICAgICBzZXR0aW5ncy5hY2NlbGVyYXRlUGFpbnRpbmcgPSBhY2NlbGVy
YXRlUGFpbnRpbmc7CiAgICAgc2V0dGluZ3Muc2hvd0ZQU0NvdW50ZXIgPSBzaG93RlBTQ291bnRl
cjsKICAgICBzZXR0aW5ncy5zaG93UGxhdGZvcm1MYXllclRyZWUgPSBzaG93UGxhdGZvcm1MYXll
clRyZWU7CisgICAgc2V0dGluZ3Muc2hvd1BhaW50UmVjdHMgPSBzaG93UGFpbnRSZWN0czsKICAg
ICBzZXR0aW5ncy5yZWZyZXNoUmF0ZSA9IHJlZnJlc2hSYXRlOwogICAgIHNldHRpbmdzLnBlclRp
bGVQYWludGluZyA9IHBlclRpbGVQYWludGluZzsKICAgICBzZXR0aW5ncy5wYXJ0aWFsU3dhcEVu
YWJsZWQgPSBwYXJ0aWFsU3dhcEVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViU2V0dGluZ3NJbXBsLmNwcAppbmRleCAxOTA5ODE5ODg0MTY2NWYwZWY5ZDhkZTRmOWMw
OGVjMzNlMjJlZmE0Li4yYTI0NjJhMmMxM2UwNWQzMmYzMzU5MmYyZDk3N2E3ZGFjZGZhOGE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5jcHAKQEAg
LTQ5LDYgKzQ5LDcgQEAgV2ViU2V0dGluZ3NJbXBsOjpXZWJTZXR0aW5nc0ltcGwoU2V0dGluZ3Mq
IHNldHRpbmdzKQogICAgIDogbV9zZXR0aW5ncyhzZXR0aW5ncykKICAgICAsIG1fc2hvd0ZQU0Nv
dW50ZXIoZmFsc2UpCiAgICAgLCBtX3Nob3dQbGF0Zm9ybUxheWVyVHJlZShmYWxzZSkKKyAgICAs
IG1fc2hvd1BhaW50UmVjdHMoZmFsc2UpCiAgICAgLCBtX3ZpZXdwb3J0RW5hYmxlZChmYWxzZSkK
IHsKICAgICBBU1NFUlQoc2V0dGluZ3MpOwpAQCAtMzMzLDYgKzMzNCwxMSBAQCB2b2lkIFdlYlNl
dHRpbmdzSW1wbDo6c2V0U2hvd1BsYXRmb3JtTGF5ZXJUcmVlKGJvb2wgc2hvdykKICAgICBtX3No
b3dQbGF0Zm9ybUxheWVyVHJlZSA9IHNob3c7CiB9CiAKK3ZvaWQgV2ViU2V0dGluZ3NJbXBsOjpz
ZXRTaG93UGFpbnRSZWN0cyhib29sIHNob3cpCit7CisgICAgbV9zaG93UGFpbnRSZWN0cyA9IHNo
b3c7Cit9CisKIHZvaWQgV2ViU2V0dGluZ3NJbXBsOjpzZXRFZGl0aW5nQmVoYXZpb3IoRWRpdGlu
Z0JlaGF2aW9yIGJlaGF2aW9yKQogewogICAgIG1fc2V0dGluZ3MtPnNldEVkaXRpbmdCZWhhdmlv
clR5cGUoc3RhdGljX2Nhc3Q8V2ViQ29yZTo6RWRpdGluZ0JlaGF2aW9yVHlwZT4oYmVoYXZpb3Ip
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1w
bC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgKaW5kZXgg
M2VhOWRjZTM4ZWNiN2ZkNGQ2YjJlYTc1YTZlNmUzYWVhMjE1NjQ3YS4uZTE1OTIxNDYzOGQwYmRj
ZmIwMDlkZWZiY2Y5Y2ExZjkzZjM3MWQzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViU2V0dGluZ3NJbXBsLmgKQEAgLTk2LDkgKzk2LDggQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBzZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoYm9vbCk7CiAgICAgdmlydHVh
bCB2b2lkIHNldFNob3dEZWJ1Z0JvcmRlcnMoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldFNo
b3dGUFNDb3VudGVyKGJvb2wpOwotICAgIHZpcnR1YWwgYm9vbCBzaG93RlBTQ291bnRlcigpIGNv
bnN0IHsgcmV0dXJuIG1fc2hvd0ZQU0NvdW50ZXI7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0U2hv
d1BsYXRmb3JtTGF5ZXJUcmVlKGJvb2wpOwotICAgIHZpcnR1YWwgYm9vbCBzaG93UGxhdGZvcm1M
YXllclRyZWUoKSBjb25zdCB7IHJldHVybiBtX3Nob3dQbGF0Zm9ybUxheWVyVHJlZTsgfQorICAg
IHZpcnR1YWwgdm9pZCBzZXRTaG93UGFpbnRSZWN0cyhib29sKTsKICAgICB2aXJ0dWFsIHZvaWQg
c2V0RWRpdGluZ0JlaGF2aW9yKEVkaXRpbmdCZWhhdmlvcik7CiAgICAgdmlydHVhbCB2b2lkIHNl
dEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBz
ZXRGb3JjZUNvbXBvc2l0aW5nTW9kZShib29sKTsKQEAgLTE0MiwxMCArMTQxLDE1IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0Vmlld3BvcnRFbmFibGVkKGJvb2wpOwogICAgIHZpcnR1
YWwgYm9vbCB2aWV3cG9ydEVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3ZpZXdwb3J0RW5hYmxl
ZDsgfQogCisgICAgYm9vbCBzaG93RlBTQ291bnRlcigpIGNvbnN0IHsgcmV0dXJuIG1fc2hvd0ZQ
U0NvdW50ZXI7IH0KKyAgICBib29sIHNob3dQbGF0Zm9ybUxheWVyVHJlZSgpIGNvbnN0IHsgcmV0
dXJuIG1fc2hvd1BsYXRmb3JtTGF5ZXJUcmVlOyB9CisgICAgYm9vbCBzaG93UGFpbnRSZWN0cygp
IGNvbnN0IHsgcmV0dXJuIG1fc2hvd1BhaW50UmVjdHM7IH0KKwogcHJpdmF0ZToKICAgICBXZWJD
b3JlOjpTZXR0aW5ncyogbV9zZXR0aW5nczsKICAgICBib29sIG1fc2hvd0ZQU0NvdW50ZXI7CiAg
ICAgYm9vbCBtX3Nob3dQbGF0Zm9ybUxheWVyVHJlZTsKKyAgICBib29sIG1fc2hvd1BhaW50UmVj
dHM7CiAgICAgYm9vbCBtX3ZpZXdwb3J0RW5hYmxlZDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCBiMjIyOTQzOWRjMDVhNDY1NGRlOTdiOWU5
YTZhMzRmYzIyMTBjY2ZlLi4yOWMzYzA0OWEwYjhhNmNkNWVlZjJmNWY0MDA0NjQ2NTQwMDY3OTRk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0yMDYw
LDcgKzIwNjAsNyBAQCB2b2lkIFdlYlZpZXdJbXBsOjpkaWRDaGFuZ2VXaW5kb3dSZXNpemVyUmVj
dCgpCiAKIC8vIFdlYlZpZXcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotV2ViU2V0dGluZ3MqIFdlYlZpZXdJbXBs
OjpzZXR0aW5ncygpCitXZWJTZXR0aW5nc0ltcGwqIFdlYlZpZXdJbXBsOjpzZXR0aW5nc0ltcGwo
KQogewogICAgIGlmICghbV93ZWJTZXR0aW5ncykKICAgICAgICAgbV93ZWJTZXR0aW5ncyA9IGFk
b3B0UHRyKG5ldyBXZWJTZXR0aW5nc0ltcGwobV9wYWdlLT5zZXR0aW5ncygpKSk7CkBAIC0yMDY4
LDYgKzIwNjgsMTEgQEAgV2ViU2V0dGluZ3MqIFdlYlZpZXdJbXBsOjpzZXR0aW5ncygpCiAgICAg
cmV0dXJuIG1fd2ViU2V0dGluZ3MuZ2V0KCk7CiB9CiAKK1dlYlNldHRpbmdzKiBXZWJWaWV3SW1w
bDo6c2V0dGluZ3MoKQoreworICAgIHJldHVybiBzZXR0aW5nc0ltcGwoKTsKK30KKwogV2ViU3Ry
aW5nIFdlYlZpZXdJbXBsOjpwYWdlRW5jb2RpbmcoKSBjb25zdAogewogICAgIGlmICghbV9wYWdl
KQpAQCAtMzMwOCw4ICszMzEzLDkgQEAgdm9pZCBXZWJWaWV3SW1wbDo6c2V0SXNBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nQWN0aXZlKGJvb2wgYWN0aXZlKQogCiAgICAgICAgIFdlYkxheWVyVHJlZVZp
ZXc6OlNldHRpbmdzIGxheWVyVHJlZVZpZXdTZXR0aW5nczsKICAgICAgICAgbGF5ZXJUcmVlVmll
d1NldHRpbmdzLmFjY2VsZXJhdGVQYWludGluZyA9IHBhZ2UoKS0+c2V0dGluZ3MoKS0+YWNjZWxl
cmF0ZWREcmF3aW5nRW5hYmxlZCgpOwotICAgICAgICBsYXllclRyZWVWaWV3U2V0dGluZ3Muc2hv
d0ZQU0NvdW50ZXIgPSBzZXR0aW5ncygpLT5zaG93RlBTQ291bnRlcigpOwotICAgICAgICBsYXll
clRyZWVWaWV3U2V0dGluZ3Muc2hvd1BsYXRmb3JtTGF5ZXJUcmVlID0gc2V0dGluZ3MoKS0+c2hv
d1BsYXRmb3JtTGF5ZXJUcmVlKCk7CisgICAgICAgIGxheWVyVHJlZVZpZXdTZXR0aW5ncy5zaG93
RlBTQ291bnRlciA9IHNldHRpbmdzSW1wbCgpLT5zaG93RlBTQ291bnRlcigpOworICAgICAgICBs
YXllclRyZWVWaWV3U2V0dGluZ3Muc2hvd1BsYXRmb3JtTGF5ZXJUcmVlID0gc2V0dGluZ3NJbXBs
KCktPnNob3dQbGF0Zm9ybUxheWVyVHJlZSgpOworICAgICAgICBsYXllclRyZWVWaWV3U2V0dGlu
Z3Muc2hvd1BhaW50UmVjdHMgPSBzZXR0aW5nc0ltcGwoKS0+c2hvd1BhaW50UmVjdHMoKTsKIAog
ICAgICAgICBsYXllclRyZWVWaWV3U2V0dGluZ3MucGVyVGlsZVBhaW50aW5nID0gcGFnZSgpLT5z
ZXR0aW5ncygpLT5wZXJUaWxlRHJhd2luZ0VuYWJsZWQoKTsKICAgICAgICAgbGF5ZXJUcmVlVmll
d1NldHRpbmdzLnBhcnRpYWxTd2FwRW5hYmxlZCA9IHBhZ2UoKS0+c2V0dGluZ3MoKS0+cGFydGlh
bFN3YXBFbmFibGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaApp
bmRleCA5YjQ0ZmI2OGQzYmQwZTdlZjM0MTgzM2U5ZWRhNDdlNGZkY2EzOWY1Li5jOTZkYTRjNmU5
NzFjYjU4NGYzMWI0OGE5N2JiOWYyN2M4YjQ0NzllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlZpZXdJbXBsLmgKQEAgLTYxNSw2ICs2MTUsOCBAQCBwcml2YXRlOgogICAgIHZpcnR1
YWwgYm9vbCBoYW5kbGVLZXlFdmVudChjb25zdCBXZWJLZXlib2FyZEV2ZW50JikgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCBib29sIGhhbmRsZUNoYXJFdmVudChjb25zdCBXZWJLZXlib2FyZEV2ZW50
JikgT1ZFUlJJREU7CiAKKyAgICBXZWJTZXR0aW5nc0ltcGwqIHNldHRpbmdzSW1wbCgpOworCiAg
ICAgV2ViVmlld0NsaWVudCogbV9jbGllbnQ7CiAgICAgV2ViQXV0b2ZpbGxDbGllbnQqIG1fYXV0
b2ZpbGxDbGllbnQ7CiAgICAgV2ViUGVybWlzc2lvbkNsaWVudCogbV9wZXJtaXNzaW9uQ2xpZW50
Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>