<?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>149595</bug_id>
          
          <creation_ts>2015-09-28 06:39:28 -0700</creation_ts>
          <short_desc>[WTR] Pixel tests generate the snapshots twice in Web and UI processes</short_desc>
          <delta_ts>2015-09-28 23:51:55 -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>Tools / Tests</component>
          <version>WebKit Local 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>
          
          <blocked>108507</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1129004</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-09-28 06:39:28 -0700</bug_when>
    <thetext>And the snapshot generated in the web process is actually ignored. This is true for all ports except IOS that only creates the snapshots in the web process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129005</commentid>
    <comment_count>1</comment_count>
      <attachid>262008</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-09-28 06:53:15 -0700</bug_when>
    <thetext>Created attachment 262008
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129031</commentid>
    <comment_count>2</comment_count>
      <attachid>262008</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-09-28 10:56:39 -0700</bug_when>
    <thetext>Comment on attachment 262008
Patch

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

&gt; Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:896
&gt; +        // Only IOS needs to generate the snapshot in the web process, all other ports generate

iOS *shouldn&apos;t*, we just haven&apos;t implemented UI process snapshotting for iOS yet.

&gt; Tools/WebKitTestRunner/TestInvocation.cpp:293
&gt; +            dumpPixelsAndCompareWithExpected(m_pixelResult.get(), m_repaintRects.get(), TestInvocation::SnapshotResultType::WebContents);

no curly braces

&gt; Tools/WebKitTestRunner/TestInvocation.cpp:377
&gt; +        if (!m_needsPixelResult) {

This reads pretty weird. &quot;If I don&apos;t need a pixel result, extract the pixel result image&quot;. Maybe &quot;needs&quot; should be &quot;pending&quot; or some variation of that, since that&apos;s what it seems to be (we set it to false when we get a snapshot).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129152</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-09-28 22:53:07 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 262008 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=262008&amp;action=review
&gt; 
&gt; &gt; Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:896
&gt; &gt; +        // Only IOS needs to generate the snapshot in the web process, all other ports generate
&gt; 
&gt; iOS *shouldn&apos;t*, we just haven&apos;t implemented UI process snapshotting for iOS
&gt; yet.

Ok, I&apos;ll reword it to clarify that.

&gt; &gt; Tools/WebKitTestRunner/TestInvocation.cpp:293
&gt; &gt; +            dumpPixelsAndCompareWithExpected(m_pixelResult.get(), m_repaintRects.get(), TestInvocation::SnapshotResultType::WebContents);
&gt; 
&gt; no curly braces

Ok.

&gt; &gt; Tools/WebKitTestRunner/TestInvocation.cpp:377
&gt; &gt; +        if (!m_needsPixelResult) {
&gt; 
&gt; This reads pretty weird. &quot;If I don&apos;t need a pixel result, extract the pixel
&gt; result image&quot;. Maybe &quot;needs&quot; should be &quot;pending&quot; or some variation of that,
&gt; since that&apos;s what it seems to be (we set it to false when we get a snapshot).

Agree, pending sounds better. Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129159</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-09-28 23:51:55 -0700</bug_when>
    <thetext>Committed r190304: &lt;http://trac.webkit.org/changeset/190304&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262008</attachid>
            <date>2015-09-28 06:53:15 -0700</date>
            <delta_ts>2015-09-28 10:56:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wtr-pixel-tests.diff</filename>
            <type>text/plain</type>
            <size>13566</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBmZGE5
OGI4Li5kMGNlMjdhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMTUtMDktMjggIENhcmxvcyBHYXJjaWEgQ2FtcG9z
ICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtXVFJdIFBpeGVsIHRlc3RzIGdlbmVy
YXRlIHRoZSBzbmFwc2hvdHMgdHdpY2UgaW4gV2ViIGFuZCBVSSBwcm9jZXNzZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTU5NQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsbCBwb3J0cyBleGNlcHQg
SU9TIGltcGxlbWVudAorICAgICAgICBQbGF0Zm9ybVdlYlZpZXc6OndpbmRvd1NuYXBzaG90SW1h
Z2UoKSB0byBnZW5lcmF0ZSB0aGUgc25hcHNob3QKKyAgICAgICAgZm9yIHRoZSBwaXhlbCB0ZXN0
cyBpbiB0aGUgVUkgcHJvY2Vzcy4gQnV0IHdlIGFyZSBzdGlsbCBnZW5lcmF0aW5nCisgICAgICAg
IGEgc25hcHNob3QgZm9yIHBpeGVsIHRlc3RzIGluIHRoZSBXZWIgcHJvY2VzcyB0b28sIHRoYXQg
aXMgcGFzc2VkCisgICAgICAgIHRvIHRoZSBVSSBwcm9jZXNzIGJ1dCBpZ25vcmVkLgorICAgICAg
ICBXaGV0aGVyIGEgcGl4ZWwgcmVzdWx0IGlzIG5lZWRlZCBvciBub3QsIGlzIG9ubHkga25vd24g
YnkgdGhlIHdlYgorICAgICAgICBwcm9jZXNzIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSB0ZXN0
IGNhbGxlZCBkdW1wQXNUZXh0IHdpdGgKKyAgICAgICAgZHVtcFBpeGVscyA9PSB0cnVlIG9yIG5v
dC4gU2luY2UgdGhlIHBpeGVscyBhcmUgbm93IGR1bXAgaW4gdGhlIFVJCisgICAgICAgIHByb2Nl
c3MsIHdlIG5lZWQgdG8gcGFzcyB0aGF0IGluZm9ybWF0aW9uIHRvIHRoZSBVSSBwcm9jZXNzIHdo
ZW4KKyAgICAgICAgdGhlIHRlc3QgaXMgZG9uZS4gRm9yIHRoYXQgd2Ugc2V0IGEgTmVlZHNQaXhl
bFJlc3VsdCBib29sCisgICAgICAgIHBhcmFtZXRlciB0byB0aGUgRG9uZSBtZXNzYWdlLCBhbmQg
d2Ugb25seSBhZGQgdGhlIFBpeGVsUmVzdWx0CisgICAgICAgIHdoZW4gVUkgcHJvY2VzcyBkb2Vz
bid0IG5lZWQgdG8gZ2VuZXJhdGUgdGhlIHBpeGVscyBkdW1wLgorCisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHA6CisgICAgICAgIChX
VFI6OkluamVjdGVkQnVuZGxlOjpkaWRSZWNlaXZlTWVzc2FnZVRvUGFnZSk6IFNldAorICAgICAg
ICBtX25lZWRzUGl4ZWxSZXN1bHQgdG8gZmFsc2Ugb24gcmVzZXQuCisgICAgICAgIChXVFI6Oklu
amVjdGVkQnVuZGxlOjpkb25lKTogQWRkIE5lZWRzUGl4ZWxSZXN1bHQgcGFyYW1ldGVyIHRvIHRo
ZQorICAgICAgICBEb25lIG1lc3NhZ2UsIGFuZCBzZXQgdGhlIFBpeGVsUmVzdWx0IG1fbmVlZHNQ
aXhlbFJlc3VsdCBpcyBmYWxzZS4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlLmg6CisgICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlOjpz
ZXRQaXhlbFJlc3VsdCk6IFNldCBtX25lZWRzUGl4ZWxSZXN1bHQgdG8gZmFsc2UuCisgICAgICAg
IChXVFI6OkluamVjdGVkQnVuZGxlOjpzZXROZWVkc1BpeGVsUmVzdWx0KTogU2V0IG1fbmVlZHNQ
aXhlbFJlc3VsdC4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlUGFnZS5jcHA6CisgICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlUGFnZTo6
ZHVtcCk6IE9ubHkgY3JlYXRlIGEgc25hcHNob3QgZm9yIElPUworICAgICAgICBwb3J0LgorICAg
ICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwOgorICAgICAgICAoV1RS
OjpUZXN0SW52b2NhdGlvbjo6ZHVtcFJlc3VsdHMpOiBVc2UgZWl0aGVyIHRoZSBwaXhlbCByZXN1
bHQKKyAgICAgICAgZnJvbSB0aGUgd2ViIHByb2Nlc3Mgb3IgZ2VuZXJhdGUgYSBwaXhlbCByZXN1
bHQgZnJvbSB0aGUgd2ViIHZpZXcKKyAgICAgICAgaWYgbmVlZCBpdC4KKyAgICAgICAgKFdUUjo6
VGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKToKKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmg6IEFkZCBTbmFwc2hvdFJl
c3VsdFR5cGUgZW51bQorICAgICAgICBwYXJhbWV0ZXIgdG8gZHVtcFBpeGVsc0FuZENvbXBhcmVX
aXRoRXhwZWN0ZWQsIHNpbmNlIHRoZSBzbmFwc2hvdAorICAgICAgICBpcyBjcmVhdGVkIGJ5IHRo
ZSBjYWxsZXIgbm93LCBidXQgdGhlIENHIGltcGxlbWVudGF0aW9uIG5lZWRzIHRvCisgICAgICAg
IGtub3cgaWYgaXQncyBhIFdlYiBvciBVSSBwcm9jZXNzIHNuYXBzaG90LgorICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvY2Fpcm8vVGVzdEludm9jYXRpb25DYWlyby5jcHA6CisgICAgICAgIChX
VFI6OlRlc3RJbnZvY2F0aW9uOjpkdW1wUGl4ZWxzQW5kQ29tcGFyZVdpdGhFeHBlY3RlZCk6IENy
ZWF0ZSBhCisgICAgICAgIGNhaXJvIHN1cmZhY2UgZm9yIHRoZSBnaXZlbiBpbWFnZS4KKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL2NnL1Rlc3RJbnZvY2F0aW9uQ0cuY3BwOgorICAgICAgICAo
V1RSOjpUZXN0SW52b2NhdGlvbjo6ZHVtcFBpeGVsc0FuZENvbXBhcmVXaXRoRXhwZWN0ZWQpOiBD
cmVhdGUgYQorICAgICAgICBDR0NvbnRleHQgZm9yIHRoZSBnaXZlbiBpbWFnZS4KKwogMjAxNS0w
OS0yNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZC4gR2FyZGVuaW5nOiBza2lwIG1lZGlhIHN0cmVhbSB0ZXN0cyBmYWlsaW5n
IGFmdGVyIHIxOTAyNjIuCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCmluZGV4IDk4YmEyNDcuLjBmMjRlYjIgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGUuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGUuY3BwCkBAIC0xODYsNiArMTg2LDcgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6
ZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVm
IG0KIAogICAgICAgICBtX3N0YXRlID0gSWRsZTsKICAgICAgICAgbV9kdW1wUGl4ZWxzID0gZmFs
c2U7CisgICAgICAgIG1fbmVlZHNQaXhlbFJlc3VsdCA9IGZhbHNlOwogCiAgICAgICAgIHJlc2V0
TG9jYWxTZXR0aW5ncygpOwogICAgICAgICBtX3Rlc3RSdW5uZXItPnJlbW92ZUFsbFdlYk5vdGlm
aWNhdGlvblBlcm1pc3Npb25zKCk7CkBAIC0zMzgsOCArMzM5LDE0IEBAIHZvaWQgSW5qZWN0ZWRC
dW5kbGU6OmRvbmUoKQogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBkb25lTWVzc2FnZU5h
bWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkRvbmUiKSk7CiAgICAg
V0tSZXRhaW5QdHI8V0tNdXRhYmxlRGljdGlvbmFyeVJlZj4gZG9uZU1lc3NhZ2VCb2R5KEFkb3B0
V0ssIFdLTXV0YWJsZURpY3Rpb25hcnlDcmVhdGUoKSk7CiAKLSAgICBXS1JldGFpblB0cjxXS1N0
cmluZ1JlZj4gcGl4ZWxSZXN1bHRLZXkgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKCJQaXhlbFJlc3VsdCIpKTsKLSAgICBXS0RpY3Rpb25hcnlTZXRJdGVtKGRvbmVNZXNz
YWdlQm9keS5nZXQoKSwgcGl4ZWxSZXN1bHRLZXkuZ2V0KCksIG1fcGl4ZWxSZXN1bHQuZ2V0KCkp
OworICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBuZWVkc1BpeGVsUmVzdWx0S2V5ID0gYWRv
cHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiTmVlZHNQaXhlbFJlc3VsdCIpKTsK
KyAgICBXS1JldGFpblB0cjxXS0Jvb2xlYW5SZWY+IG5lZWRzUGl4ZWxSZXN1bHQoQWRvcHRXSywg
V0tCb29sZWFuQ3JlYXRlKG1fbmVlZHNQaXhlbFJlc3VsdCkpOworICAgIFdLRGljdGlvbmFyeVNl
dEl0ZW0oZG9uZU1lc3NhZ2VCb2R5LmdldCgpLCBuZWVkc1BpeGVsUmVzdWx0S2V5LmdldCgpLCBu
ZWVkc1BpeGVsUmVzdWx0LmdldCgpKTsKKworICAgIGlmICghbV9uZWVkc1BpeGVsUmVzdWx0KSB7
CisgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBwaXhlbFJlc3VsdEtleSA9IGFkb3B0
V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlBpeGVsUmVzdWx0IikpOworICAgICAg
ICBXS0RpY3Rpb25hcnlTZXRJdGVtKGRvbmVNZXNzYWdlQm9keS5nZXQoKSwgcGl4ZWxSZXN1bHRL
ZXkuZ2V0KCksIG1fcGl4ZWxSZXN1bHQuZ2V0KCkpOworICAgIH0KIAogICAgIFdLUmV0YWluUHRy
PFdLU3RyaW5nUmVmPiByZXBhaW50UmVjdHNLZXkgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0
aFVURjhDU3RyaW5nKCJSZXBhaW50UmVjdHMiKSk7CiAgICAgV0tEaWN0aW9uYXJ5U2V0SXRlbShk
b25lTWVzc2FnZUJvZHkuZ2V0KCksIHJlcGFpbnRSZWN0c0tleS5nZXQoKSwgbV9yZXBhaW50UmVj
dHMuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZS5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZS5oCmluZGV4IGEyM2Y2NGEuLmMwNjY3MTggMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
LmgKQEAgLTY2LDcgKzY2LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBkb25lKCk7CiAgICAgdm9p
ZCBzZXRBdWRpb1Jlc3VsdChXS0RhdGFSZWYgYXVkaW9EYXRhKSB7IG1fYXVkaW9SZXN1bHQgPSBh
dWRpb0RhdGE7IH0KLSAgICB2b2lkIHNldFBpeGVsUmVzdWx0KFdLSW1hZ2VSZWYgaW1hZ2UpIHsg
bV9waXhlbFJlc3VsdCA9IGltYWdlOyB9CisgICAgdm9pZCBzZXRQaXhlbFJlc3VsdChXS0ltYWdl
UmVmIGltYWdlKSB7IG1fcGl4ZWxSZXN1bHQgPSBpbWFnZTsgbV9uZWVkc1BpeGVsUmVzdWx0ID0g
ZmFsc2U7IH0KKyAgICB2b2lkIHNldE5lZWRzUGl4ZWxSZXN1bHQoYm9vbCBuZWVkc1BpeGVsUmVz
dWx0KSB7IG1fbmVlZHNQaXhlbFJlc3VsdCA9IG5lZWRzUGl4ZWxSZXN1bHQ7IH0KICAgICB2b2lk
IHNldFJlcGFpbnRSZWN0cyhXS0FycmF5UmVmIHJlY3RzKSB7IG1fcmVwYWludFJlY3RzID0gcmVj
dHM7IH0KIAogICAgIGJvb2wgaXNUZXN0UnVubmluZygpIHsgcmV0dXJuIG1fc3RhdGUgPT0gVGVz
dGluZzsgfQpAQCAtMTY0LDYgKzE2NSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3VzZVdhaXRU
b0R1bXBXYXRjaGRvZ1RpbWVyOwogICAgIGJvb2wgbV91c2VXb3JrUXVldWU7CiAgICAgaW50IG1f
dGltZW91dDsKKyAgICBib29sIG1fbmVlZHNQaXhlbFJlc3VsdCB7IGZhbHNlIH07CiAKICAgICBX
S1JldGFpblB0cjxXS0RhdGFSZWY+IG1fYXVkaW9SZXN1bHQ7CiAgICAgV0tSZXRhaW5QdHI8V0tJ
bWFnZVJlZj4gbV9waXhlbFJlc3VsdDsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcCBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcAppbmRleCA3Y2Iy
MTMyLi5lM2Q5ZTMzIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2UuY3BwCkBAIC04OTIsMTEgKzg5Miwx
NyBAQCB2b2lkIEluamVjdGVkQnVuZGxlUGFnZTo6ZHVtcCgpCiAgICAgICAgIGluamVjdGVkQnVu
ZGxlLmR1bXBCYWNrRm9yd2FyZExpc3RzRm9yQWxsUGFnZXMoc3RyaW5nQnVpbGRlcik7CiAKICAg
ICBpZiAoaW5qZWN0ZWRCdW5kbGUuc2hvdWxkRHVtcFBpeGVscygpICYmIGluamVjdGVkQnVuZGxl
LnRlc3RSdW5uZXIoKS0+c2hvdWxkRHVtcFBpeGVscygpKSB7CisjaWYgUExBVEZPUk0oSU9TKQor
ICAgICAgICAvLyBPbmx5IElPUyBuZWVkcyB0byBnZW5lcmF0ZSB0aGUgc25hcHNob3QgaW4gdGhl
IHdlYiBwcm9jZXNzLCBhbGwgb3RoZXIgcG9ydHMgZ2VuZXJhdGUKKyAgICAgICAgLy8gYSBzbmFw
c2hvdCBmcm9tIHRoZSB3ZWIgdmlldyBjb250ZW50cyBpbiB0aGUgVUkgcHJvY2Vzcy4KICAgICAg
ICAgV0tTbmFwc2hvdE9wdGlvbnMgb3B0aW9ucyA9IGtXS1NuYXBzaG90T3B0aW9uc1NoYXJlYWJs
ZSB8IGtXS1NuYXBzaG90T3B0aW9uc0luVmlld0Nvb3JkaW5hdGVzOwogICAgICAgICBpZiAoaW5q
ZWN0ZWRCdW5kbGUudGVzdFJ1bm5lcigpLT5zaG91bGREdW1wU2VsZWN0aW9uUmVjdCgpKQogICAg
ICAgICAgICAgb3B0aW9ucyB8PSBrV0tTbmFwc2hvdE9wdGlvbnNQYWludFNlbGVjdGlvblJlY3Rh
bmdsZTsKIAogICAgICAgICBpbmplY3RlZEJ1bmRsZS5zZXRQaXhlbFJlc3VsdChhZG9wdFdLKFdL
QnVuZGxlUGFnZUNyZWF0ZVNuYXBzaG90V2l0aE9wdGlvbnMobV9wYWdlLCBXS0J1bmRsZUZyYW1l
R2V0VmlzaWJsZUNvbnRlbnRCb3VuZHMoV0tCdW5kbGVQYWdlR2V0TWFpbkZyYW1lKG1fcGFnZSkp
LCBvcHRpb25zKSkuZ2V0KCkpOworI2Vsc2UKKyAgICAgICAgaW5qZWN0ZWRCdW5kbGUuc2V0TmVl
ZHNQaXhlbFJlc3VsdCh0cnVlKTsKKyNlbmRpZgogICAgICAgICBpZiAoV0tCdW5kbGVQYWdlSXNU
cmFja2luZ1JlcGFpbnRzKG1fcGFnZSkpCiAgICAgICAgICAgICBpbmplY3RlZEJ1bmRsZS5zZXRS
ZXBhaW50UmVjdHMoYWRvcHRXSyhXS0J1bmRsZVBhZ2VDb3B5VHJhY2tlZFJlcGFpbnRSZWN0cyht
X3BhZ2UpKS5nZXQoKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0SW52b2NhdGlvbi5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0
aW9uLmNwcAppbmRleCBjMzE3MzgzLi43NGQ4NTc2IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L1Rlc3RJbnZvY2F0aW9uLmNwcApAQCAtMjg4LDE2ICsyODgsMjIgQEAgdm9pZCBUZXN0SW52b2Nh
dGlvbjo6ZHVtcFJlc3VsdHMoKQogICAgIGVsc2UKICAgICAgICAgZHVtcEF1ZGlvKG1fYXVkaW9S
ZXN1bHQuZ2V0KCkpOwogCi0gICAgaWYgKG1fZHVtcFBpeGVscyAmJiBtX3BpeGVsUmVzdWx0KSB7
Ci0gICAgICAgIG1fZ290UmVwYWludCA9IGZhbHNlOwotICAgICAgICBXS1BhZ2VGb3JjZVJlcGFp
bnQoVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLm1haW5XZWJWaWV3KCktPnBhZ2UoKSwgdGhp
cywgVGVzdEludm9jYXRpb246OmZvcmNlUmVwYWludERvbmVDYWxsYmFjayk7Ci0gICAgICAgIFRl
c3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5ydW5VbnRpbChtX2dvdFJlcGFpbnQsIFRlc3RDb250
cm9sbGVyOjpzaG9ydFRpbWVvdXQpOwotICAgICAgICBpZiAoIW1fZ290UmVwYWludCkgewotICAg
ICAgICAgICAgbV9lcnJvck1lc3NhZ2UgPSAiVGltZWQgb3V0IHdhaXRpbmcgZm9yIHByZS1waXhl
bCBkdW1wIHJlcGFpbnRcbiI7Ci0gICAgICAgICAgICBtX3dlYlByb2Nlc3NJc1VucmVzcG9uc2l2
ZSA9IHRydWU7Ci0gICAgICAgICAgICByZXR1cm47CisgICAgaWYgKG1fZHVtcFBpeGVscykgewor
ICAgICAgICBpZiAobV9waXhlbFJlc3VsdCkgeworICAgICAgICAgICAgZHVtcFBpeGVsc0FuZENv
bXBhcmVXaXRoRXhwZWN0ZWQobV9waXhlbFJlc3VsdC5nZXQoKSwgbV9yZXBhaW50UmVjdHMuZ2V0
KCksIFRlc3RJbnZvY2F0aW9uOjpTbmFwc2hvdFJlc3VsdFR5cGU6OldlYkNvbnRlbnRzKTsKKyAg
ICAgICAgfSBlbHNlIGlmIChtX25lZWRzUGl4ZWxSZXN1bHQpIHsKKyAgICAgICAgICAgIG1fZ290
UmVwYWludCA9IGZhbHNlOworICAgICAgICAgICAgV0tQYWdlRm9yY2VSZXBhaW50KFRlc3RDb250
cm9sbGVyOjpzaW5nbGV0b24oKS5tYWluV2ViVmlldygpLT5wYWdlKCksIHRoaXMsIFRlc3RJbnZv
Y2F0aW9uOjpmb3JjZVJlcGFpbnREb25lQ2FsbGJhY2spOworICAgICAgICAgICAgVGVzdENvbnRy
b2xsZXI6OnNpbmdsZXRvbigpLnJ1blVudGlsKG1fZ290UmVwYWludCwgVGVzdENvbnRyb2xsZXI6
OnNob3J0VGltZW91dCk7CisgICAgICAgICAgICBpZiAoIW1fZ290UmVwYWludCkgeworICAgICAg
ICAgICAgICAgIG1fZXJyb3JNZXNzYWdlID0gIlRpbWVkIG91dCB3YWl0aW5nIGZvciBwcmUtcGl4
ZWwgZHVtcCByZXBhaW50XG4iOworICAgICAgICAgICAgICAgIG1fd2ViUHJvY2Vzc0lzVW5yZXNw
b25zaXZlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICBXS1JldGFpblB0cjxXS0ltYWdlUmVmPiB3aW5kb3dTbmFwc2hvdCA9IFRlc3RD
b250cm9sbGVyOjpzaW5nbGV0b24oKS5tYWluV2ViVmlldygpLT53aW5kb3dTbmFwc2hvdEltYWdl
KCk7CisgICAgICAgICAgICBBU1NFUlQod2luZG93U25hcHNob3QpOworICAgICAgICAgICAgZHVt
cFBpeGVsc0FuZENvbXBhcmVXaXRoRXhwZWN0ZWQod2luZG93U25hcHNob3QuZ2V0KCksIG1fcmVw
YWludFJlY3RzLmdldCgpLCBUZXN0SW52b2NhdGlvbjo6U25hcHNob3RSZXN1bHRUeXBlOjpXZWJW
aWV3KTsKICAgICAgICAgfQotICAgICAgICBkdW1wUGl4ZWxzQW5kQ29tcGFyZVdpdGhFeHBlY3Rl
ZChtX3BpeGVsUmVzdWx0LmdldCgpLCBtX3JlcGFpbnRSZWN0cy5nZXQoKSk7CiAgICAgfQogCiAg
ICAgZnB1dHMoIiNFT0ZcbiIsIHN0ZG91dCk7CkBAIC0zNjQsOSArMzcwLDE1IEBAIHZvaWQgVGVz
dEludm9jYXRpb246OmRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKFdLU3RyaW5n
UmVmIG1lc3NhZ2VOYW1lCiAgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkg
PT0gV0tEaWN0aW9uYXJ5R2V0VHlwZUlEKCkpOwogICAgICAgICBXS0RpY3Rpb25hcnlSZWYgbWVz
c2FnZUJvZHlEaWN0aW9uYXJ5ID0gc3RhdGljX2Nhc3Q8V0tEaWN0aW9uYXJ5UmVmPihtZXNzYWdl
Qm9keSk7CiAKLSAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHBpeGVsUmVzdWx0S2V5
ID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiUGl4ZWxSZXN1bHQiKSk7
Ci0gICAgICAgIG1fcGl4ZWxSZXN1bHQgPSBzdGF0aWNfY2FzdDxXS0ltYWdlUmVmPihXS0RpY3Rp
b25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwgcGl4ZWxSZXN1bHRLZXku
Z2V0KCkpKTsKLSAgICAgICAgQVNTRVJUKCFtX3BpeGVsUmVzdWx0IHx8IG1fZHVtcFBpeGVscyk7
CisgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBuZWVkc1BpeGVsUmVzdWx0S2V5ID0g
YWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiTmVlZHNQaXhlbFJlc3VsdCIp
KTsKKyAgICAgICAgV0tCb29sZWFuUmVmIG5lZWRzUGl4ZWxSZXN1bHQgPSBzdGF0aWNfY2FzdDxX
S0Jvb2xlYW5SZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9u
YXJ5LCBuZWVkc1BpeGVsUmVzdWx0S2V5LmdldCgpKSk7CisgICAgICAgIG1fbmVlZHNQaXhlbFJl
c3VsdCA9IFdLQm9vbGVhbkdldFZhbHVlKG5lZWRzUGl4ZWxSZXN1bHQpOworCisgICAgICAgIGlm
ICghbV9uZWVkc1BpeGVsUmVzdWx0KSB7CisgICAgICAgICAgICBXS1JldGFpblB0cjxXS1N0cmlu
Z1JlZj4gcGl4ZWxSZXN1bHRLZXkgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3Ry
aW5nKCJQaXhlbFJlc3VsdCIpKTsKKyAgICAgICAgICAgIG1fcGl4ZWxSZXN1bHQgPSBzdGF0aWNf
Y2FzdDxXS0ltYWdlUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGlj
dGlvbmFyeSwgcGl4ZWxSZXN1bHRLZXkuZ2V0KCkpKTsKKyAgICAgICAgICAgIEFTU0VSVCghbV9w
aXhlbFJlc3VsdCB8fCBtX2R1bXBQaXhlbHMpOworICAgICAgICB9CiAKICAgICAgICAgV0tSZXRh
aW5QdHI8V0tTdHJpbmdSZWY+IHJlcGFpbnRSZWN0c0tleSA9IGFkb3B0V0soV0tTdHJpbmdDcmVh
dGVXaXRoVVRGOENTdHJpbmcoIlJlcGFpbnRSZWN0cyIpKTsKICAgICAgICAgbV9yZXBhaW50UmVj
dHMgPSBzdGF0aWNfY2FzdDxXS0FycmF5UmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KG1l
c3NhZ2VCb2R5RGljdGlvbmFyeSwgcmVwYWludFJlY3RzS2V5LmdldCgpKSk7CmRpZmYgLS1naXQg
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmggYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKaW5kZXggNGZiMzAzMi4uYjYwNWZlOSAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaApAQCAtNjksNyArNjksOCBAQCBwdWJs
aWM6CiBwcml2YXRlOgogICAgIHZvaWQgZHVtcFJlc3VsdHMoKTsKICAgICBzdGF0aWMgdm9pZCBk
dW1wKGNvbnN0IGNoYXIqIHRleHRUb1N0ZG91dCwgY29uc3QgY2hhciogdGV4dFRvU3RkZXJyID0g
MCwgYm9vbCBzZWVuRXJyb3IgPSBmYWxzZSk7Ci0gICAgdm9pZCBkdW1wUGl4ZWxzQW5kQ29tcGFy
ZVdpdGhFeHBlY3RlZChXS0ltYWdlUmVmLCBXS0FycmF5UmVmIHJlcGFpbnRSZWN0cyk7CisgICAg
ZW51bSBjbGFzcyBTbmFwc2hvdFJlc3VsdFR5cGUgeyBXZWJWaWV3LCBXZWJDb250ZW50cyB9Owor
ICAgIHZvaWQgZHVtcFBpeGVsc0FuZENvbXBhcmVXaXRoRXhwZWN0ZWQoV0tJbWFnZVJlZiwgV0tB
cnJheVJlZiByZXBhaW50UmVjdHMsIFNuYXBzaG90UmVzdWx0VHlwZSk7CiAgICAgdm9pZCBkdW1w
QXVkaW8oV0tEYXRhUmVmKTsKICAgICBib29sIGNvbXBhcmVBY3R1YWxIYXNoVG9FeHBlY3RlZEFu
ZER1bXBSZXN1bHRzKGNvbnN0IGNoYXJbMzNdKTsKIApAQCAtOTMsNiArOTQsNyBAQCBwcml2YXRl
OgogICAgIFdURjo6U3RyaW5nIG1fdXJsU3RyaW5nOwogCiAgICAgYm9vbCBtX2R1bXBQaXhlbHM7
CisgICAgYm9vbCBtX25lZWRzUGl4ZWxSZXN1bHQgeyBmYWxzZSB9OwogICAgIHN0ZDo6c3RyaW5n
IG1fZXhwZWN0ZWRQaXhlbEhhc2g7CiAKICAgICBpbnQgbV90aW1lb3V0OwpkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jYWlyby9UZXN0SW52b2NhdGlvbkNhaXJvLmNwcCBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvY2Fpcm8vVGVzdEludm9jYXRpb25DYWlyby5jcHAKaW5kZXgg
NGZhZmIxOC4uMzc2ZjMxOSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jYWly
by9UZXN0SW52b2NhdGlvbkNhaXJvLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2Nh
aXJvL1Rlc3RJbnZvY2F0aW9uQ2Fpcm8uY3BwCkBAIC0xMDYsOSArMTA2LDkgQEAgc3RhdGljIHZv
aWQgcGFpbnRSZXBhaW50UmVjdE92ZXJsYXkoY2Fpcm9fc3VyZmFjZV90KiBzdXJmYWNlLCBXS0Fy
cmF5UmVmIHJlcGFpbnQKICAgICBjYWlyb19kZXN0cm95KGNvbnRleHQpOwogfQogCi12b2lkIFRl
c3RJbnZvY2F0aW9uOjpkdW1wUGl4ZWxzQW5kQ29tcGFyZVdpdGhFeHBlY3RlZChXS0ltYWdlUmVm
LCBXS0FycmF5UmVmIHJlcGFpbnRSZWN0cykKK3ZvaWQgVGVzdEludm9jYXRpb246OmR1bXBQaXhl
bHNBbmRDb21wYXJlV2l0aEV4cGVjdGVkKFdLSW1hZ2VSZWYgaW1hZ2UsIFdLQXJyYXlSZWYgcmVw
YWludFJlY3RzLCBTbmFwc2hvdFJlc3VsdFR5cGUpCiB7Ci0gICAgY2Fpcm9fc3VyZmFjZV90KiBz
dXJmYWNlID0gV0tJbWFnZUNyZWF0ZUNhaXJvU3VyZmFjZShUZXN0Q29udHJvbGxlcjo6c2luZ2xl
dG9uKCkubWFpbldlYlZpZXcoKS0+d2luZG93U25hcHNob3RJbWFnZSgpLmdldCgpKTsKKyAgICBj
YWlyb19zdXJmYWNlX3QqIHN1cmZhY2UgPSBXS0ltYWdlQ3JlYXRlQ2Fpcm9TdXJmYWNlKGltYWdl
KTsKIAogICAgIGlmIChyZXBhaW50UmVjdHMpCiAgICAgICAgIHBhaW50UmVwYWludFJlY3RPdmVy
bGF5KHN1cmZhY2UsIHJlcGFpbnRSZWN0cyk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL2NnL1Rlc3RJbnZvY2F0aW9uQ0cuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9j
Zy9UZXN0SW52b2NhdGlvbkNHLmNwcAppbmRleCBlYzgzOTJhLi43ZjNmMmI4IDEwMDY0NAotLS0g
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NnL1Rlc3RJbnZvY2F0aW9uQ0cuY3BwCisrKyBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvY2cvVGVzdEludm9jYXRpb25DRy5jcHAKQEAgLTE1NCwxNiAr
MTU0LDkgQEAgc3RhdGljIHZvaWQgcGFpbnRSZXBhaW50UmVjdE92ZXJsYXkoQ0dDb250ZXh0UmVm
IGNvbnRleHQsIFdLSW1hZ2VSZWYgaW1hZ2UsIFdLQXIKICAgICBDR0NvbnRleHRSZXN0b3JlR1N0
YXRlKGNvbnRleHQpOwogfQogCi12b2lkIFRlc3RJbnZvY2F0aW9uOjpkdW1wUGl4ZWxzQW5kQ29t
cGFyZVdpdGhFeHBlY3RlZChXS0ltYWdlUmVmIGltYWdlLCBXS0FycmF5UmVmIHJlcGFpbnRSZWN0
cykKK3ZvaWQgVGVzdEludm9jYXRpb246OmR1bXBQaXhlbHNBbmRDb21wYXJlV2l0aEV4cGVjdGVk
KFdLSW1hZ2VSZWYgaW1hZ2UsIFdLQXJyYXlSZWYgcmVwYWludFJlY3RzLCBTbmFwc2hvdFJlc3Vs
dFR5cGUgc25hcHNob3RUeXBlKQogewotICAgIFBsYXRmb3JtV2ViVmlldyogd2ViVmlldyA9IFRl
c3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5tYWluV2ViVmlldygpOwotICAgIFdLUmV0YWluUHRy
PFdLSW1hZ2VSZWY+IHdpbmRvd1NuYXBzaG90ID0gd2ViVmlldy0+d2luZG93U25hcHNob3RJbWFn
ZSgpOwotCi0gICAgUmV0YWluUHRyPENHQ29udGV4dFJlZj4gY29udGV4dDsKLSAgICBpZiAod2lu
ZG93U25hcHNob3QpCi0gICAgICAgIGNvbnRleHQgPSBhZG9wdENGKGNyZWF0ZUNHQ29udGV4dEZy
b21JbWFnZSh3aW5kb3dTbmFwc2hvdC5nZXQoKSwgRG9udEZsaXBHcmFwaGljc0NvbnRleHQpKTsK
LSAgICBlbHNlCi0gICAgICAgIGNvbnRleHQgPSBhZG9wdENGKGNyZWF0ZUNHQ29udGV4dEZyb21J
bWFnZShpbWFnZSkpOworICAgIFJldGFpblB0cjxDR0NvbnRleHRSZWY+IGNvbnRleHQgPSBhZG9w
dENGKGNyZWF0ZUNHQ29udGV4dEZyb21JbWFnZShpbWFnZSwgc25hcHNob3RUeXBlID09IFNuYXBz
aG90UmVzdWx0VHlwZTo6V2ViVmlldyA/IERvbnRGbGlwR3JhcGhpY3NDb250ZXh0IDogRmxpcEdy
YXBoaWNzQ29udGV4dCkpOwogCiAgICAgLy8gQSBub24tbnVsbCByZXBhaW50UmVjdHMgYXJyYXkg
bWVhbnMgd2UncmUgZG9pbmcgYSByZXBhaW50IHRlc3QuCiAgICAgaWYgKHJlcGFpbnRSZWN0cykK
</data>
<flag name="review"
          id="287186"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>