<?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>133770</bug_id>
          
          <creation_ts>2014-06-11 14:56:52 -0700</creation_ts>
          <short_desc>WTR cleanup: push per-test viewport configuration into TestController, where platforms can customize it</short_desc>
          <delta_ts>2014-06-11 15:09:51 -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>New Bugs</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1014938</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-06-11 14:56:52 -0700</bug_when>
    <thetext>WTR cleanup: push per-test viewport configuration into TestController, where platforms can customize it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1014939</commentid>
    <comment_count>1</comment_count>
      <attachid>232910</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-06-11 14:57:56 -0700</bug_when>
    <thetext>Created attachment 232910
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1014940</commentid>
    <comment_count>2</comment_count>
      <attachid>232910</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-06-11 14:59:39 -0700</bug_when>
    <thetext>Comment on attachment 232910
Patch

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

&gt; Tools/WebKitTestRunner/ios/TestControllerIOS.mm:72
&gt; +    if (shouldMakeViewportFlexible(test.pathOrURL())) {

Early return?

&gt; Tools/WebKitTestRunner/mac/TestControllerMac.mm:89
&gt; +    WKRetainPtr&lt;WKMutableDictionaryRef&gt; viewOptions = adoptWK(WKMutableDictionaryCreate());
&gt; +    WKRetainPtr&lt;WKStringRef&gt; useThreadedScrollingKey = adoptWK(WKStringCreateWithUTF8CString(&quot;ThreadedScrolling&quot;));
&gt; +    WKRetainPtr&lt;WKBooleanRef&gt; useThreadedScrollingValue = adoptWK(WKBooleanCreate(shouldUseThreadedScrolling(test.pathOrURL())));
&gt; +    WKDictionarySetItem(viewOptions.get(), useThreadedScrollingKey.get(), useThreadedScrollingValue.get());
&gt; +
&gt; +    WKRetainPtr&lt;WKStringRef&gt; useRemoteLayerTreeKey = adoptWK(WKStringCreateWithUTF8CString(&quot;RemoteLayerTree&quot;));
&gt; +    WKRetainPtr&lt;WKBooleanRef&gt; useRemoteLayerTreeValue = adoptWK(WKBooleanCreate(shouldUseRemoteLayerTree()));

These can all be auto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1014942</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-06-11 15:09:51 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/169845</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232910</attachid>
            <date>2014-06-11 14:57:56 -0700</date>
            <delta_ts>2014-06-11 14:59:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133770-20140611145732.patch</filename>
            <type>text/plain</type>
            <size>13816</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5ODE0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYWJjZGY4MzNmZGE1NGI4MDhmNTBmODViZDEzMzU0MDVi
ZWVhNjA2My4uZWZjMzU1ZTViNzg0OGI4MWJkZTllZWY2MmZjOGNlNzk1MGJkYjYzOSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5
IEBACisyMDE0LTA2LTExICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIFdUUiBjbGVhbnVwOiBwdXNoIHBlci10ZXN0IHZpZXdwb3J0IGNvbmZpZ3VyYXRp
b24gaW50byBUZXN0Q29udHJvbGxlciwgd2hlcmUgcGxhdGZvcm1zIGNhbiBjdXN0b21pemUgaXQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzc3MAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAg
UHVzaCB0aGUgcGVyLXRlc3QgdmlldyBjb25maWd1cmF0aW9uIHVwIHRvIFRlc3RDb250cm9sbGVy
LCBzbyB0aGF0IHBsYXRmb3JtcworICAgICAgICBjYW4gbW9kaWZ5IHRoZSBiZWhhdmlvci4gVGhp
cyBhbHNvIGFsbG93cyBwbGF0Zm9ybS1zcGVjaWZpYyBjaGFuZ2VzIChlLmcuCisgICAgICAgIGZv
ciB0aHJlYWRlZCBzY3JvbGxpbmcpIHRvIG1hZGUgd2l0aG91dCAjaWZlZnMuCisKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVz
dENvbnRyb2xsZXI6OnVwZGF0ZVdlYlZpZXdTaXplRm9yVGVzdCk6CisgICAgICAgIChXVFI6OlRl
c3RDb250cm9sbGVyOjp1cGRhdGVXaW5kb3dTY2FsZUZvclRlc3QpOgorICAgICAgICAoV1RSOjpz
aG91bGRVc2VGaXhlZExheW91dCk6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjp1cGRh
dGVMYXlvdXRUeXBlRm9yVGVzdCk6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0
Zm9ybUNvbmZpZ3VyZVZpZXdGb3JUZXN0KToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6
OmNvbmZpZ3VyZVZpZXdGb3JUZXN0KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5j
cHA6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9uOjppbnZva2UpOgorICAgICAgICAoV1RS
OjpzaXplV2ViVmlld0ZvckN1cnJlbnRUZXN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdUUjo6Y2hh
bmdlV2luZG93U2NhbGVJZk5lZWRlZCk6IERlbGV0ZWQuCisgICAgICAgIChXVFI6OnNob3VsZFVz
ZVRocmVhZGVkU2Nyb2xsaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdUUjo6dXBkYXRlVGhyZWFk
ZWRTY3JvbGxpbmdGb3JDdXJyZW50VGVzdCk6IERlbGV0ZWQuCisgICAgICAgIChXVFI6OnNob3Vs
ZFVzZUZpeGVkTGF5b3V0KTogRGVsZXRlZC4KKyAgICAgICAgKFdUUjo6dXBkYXRlTGF5b3V0VHlw
ZSk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5o
OgorICAgICAgICAoV1RSOjpUZXN0SW52b2NhdGlvbjo6cGF0aE9yVVJMKToKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbToKKyAgICAgICAgKFdUUjo6
c2hvdWxkTWFrZVZpZXdwb3J0RmxleGlibGUpOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxl
cjo6cGxhdGZvcm1Db25maWd1cmVWaWV3Rm9yVGVzdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9tYWMvVGVzdENvbnRyb2xsZXJNYWMubW06CisgICAgICAgIChXVFI6OnNob3VsZFVzZVRo
cmVhZGVkU2Nyb2xsaW5nKToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnBsYXRmb3Jt
Q29uZmlndXJlVmlld0ZvclRlc3QpOgorCiAyMDE0LTA2LTExICBHeXV5b3VuZyBLaW0gIDxneXV5
b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0gRHJvcCB0byBtYWludGFpbiBF
RkwgMzJiaXQgcmVsZWFzZSBib3QKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
VGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5jcHAKaW5kZXggOGU0MWZlMjU5MDJlOGZlNzlhYjBjYjQwMjM3YWRmZjRhZWNhMmMzNS4uMGZi
NTQ4MzIzZWY0ZWJhNGU2YmRiY2ExZWU4MDI3NzhmZDZlZWVjNiAxMDA2NDQKLS0tIGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKQEAgLTY2OCw2ICs2NjgsNzAgQEAgYm9vbCBUZXN0
Q29udHJvbGxlcjo6cmVzZXRTdGF0ZVRvQ29uc2lzdGVudFZhbHVlcygpCiAgICAgcmV0dXJuIG1f
ZG9uZVJlc2V0dGluZzsKIH0KIAorCit2b2lkIFRlc3RDb250cm9sbGVyOjp1cGRhdGVXZWJWaWV3
U2l6ZUZvclRlc3QoY29uc3QgVGVzdEludm9jYXRpb24mIHRlc3QpCit7CisgICAgYm9vbCBpc1NW
R1czQ1Rlc3QgPSBzdHJzdHIodGVzdC5wYXRoT3JVUkwoKSwgInN2Zy9XM0MtU1ZHLTEuMSIpIHx8
IHN0cnN0cih0ZXN0LnBhdGhPclVSTCgpLCAic3ZnXFxXM0MtU1ZHLTEuMSIpOworCisgICAgdW5z
aWduZWQgd2lkdGggPSB2aWV3V2lkdGg7CisgICAgdW5zaWduZWQgaGVpZ2h0ID0gdmlld0hlaWdo
dDsKKyAgICBpZiAoaXNTVkdXM0NUZXN0KSB7CisgICAgICAgIHdpZHRoID0gdzNjU1ZHVmlld1dp
ZHRoOworICAgICAgICBoZWlnaHQgPSB3M2NTVkdWaWV3SGVpZ2h0OworICAgIH0KKworICAgIG1h
aW5XZWJWaWV3KCktPnJlc2l6ZVRvKHdpZHRoLCBoZWlnaHQpOworfQorCit2b2lkIFRlc3RDb250
cm9sbGVyOjp1cGRhdGVXaW5kb3dTY2FsZUZvclRlc3QoY29uc3QgVGVzdEludm9jYXRpb24mIHRl
c3QpCit7CisgICAgV1RGOjpTdHJpbmcgbG9jYWxQYXRoT3JVcmwgPSBTdHJpbmcodGVzdC5wYXRo
T3JVUkwoKSk7CisgICAgYm9vbCBuZWVkc0hpZ2hEUElXaW5kb3cgPSBsb2NhbFBhdGhPclVybC5m
aW5kSWdub3JpbmdDYXNlKCJoaWRwaS0iKSAhPSBub3RGb3VuZDsKKyAgICBtYWluV2ViVmlldygp
LT5jaGFuZ2VXaW5kb3dTY2FsZUlmTmVlZGVkKG5lZWRzSGlnaERQSVdpbmRvdyA/IDIgOiAxKTsK
K30KKworLy8gRklYTUU6IG1vdmUgaW50byByZWxldmFudCBwbGF0Zm9ybUNvbmZpZ3VyZVZpZXdG
b3JUZXN0KCk/CitzdGF0aWMgYm9vbCBzaG91bGRVc2VGaXhlZExheW91dChjb25zdCBjaGFyKiBw
YXRoT3JVUkwpCit7CisjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKKyAgICBpZiAo
c3Ryc3RyKHBhdGhPclVSTCwgImRldmljZS1hZGFwdC8iKSB8fCBzdHJzdHIocGF0aE9yVVJMLCAi
ZGV2aWNlLWFkYXB0XFwiKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisjZW5kaWYKKworI2lmIFVT
RShUSUxFRF9CQUNLSU5HX1NUT1JFKSAmJiBQTEFURk9STShFRkwpCisgICAgaWYgKHN0cnN0cihw
YXRoT3JVUkwsICJzdGlja3kvIikgfHwgc3Ryc3RyKHBhdGhPclVSTCwgInN0aWNreVxcIikpCisg
ICAgICAgIHJldHVybiB0cnVlOworI2VuZGlmCisgICAgcmV0dXJuIGZhbHNlOworCisgICAgVU5V
U0VEX1BBUkFNKHBhdGhPclVSTCk7Cit9CisKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnVwZGF0ZUxh
eW91dFR5cGVGb3JUZXN0KGNvbnN0IFRlc3RJbnZvY2F0aW9uJiB0ZXN0KQoreworICAgIFdLUmV0
YWluUHRyPFdLTXV0YWJsZURpY3Rpb25hcnlSZWY+IHZpZXdPcHRpb25zID0gYWRvcHRXSyhXS011
dGFibGVEaWN0aW9uYXJ5Q3JlYXRlKCkpOworICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiB1
c2VGaXhlZExheW91dEtleSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmco
IlVzZUZpeGVkTGF5b3V0IikpOworICAgIFdLUmV0YWluUHRyPFdLQm9vbGVhblJlZj4gdXNlRml4
ZWRMYXlvdXRWYWx1ZSA9IGFkb3B0V0soV0tCb29sZWFuQ3JlYXRlKHNob3VsZFVzZUZpeGVkTGF5
b3V0KHRlc3QucGF0aE9yVVJMKCkpKSk7CisgICAgV0tEaWN0aW9uYXJ5U2V0SXRlbSh2aWV3T3B0
aW9ucy5nZXQoKSwgdXNlRml4ZWRMYXlvdXRLZXkuZ2V0KCksIHVzZUZpeGVkTGF5b3V0VmFsdWUu
Z2V0KCkpOworCisgICAgZW5zdXJlVmlld1N1cHBvcnRzT3B0aW9ucyh2aWV3T3B0aW9ucy5nZXQo
KSk7Cit9CisKKyNpZiAhUExBVEZPUk0oQ09DT0EpCit2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0
Zm9ybUNvbmZpZ3VyZVZpZXdGb3JUZXN0KGNvbnN0IFRlc3RJbnZvY2F0aW9uJikKK3sKK30KKyNl
bmRpZgorCit2b2lkIFRlc3RDb250cm9sbGVyOjpjb25maWd1cmVWaWV3Rm9yVGVzdChjb25zdCBU
ZXN0SW52b2NhdGlvbiYgdGVzdCkKK3sKKyAgICB1cGRhdGVXZWJWaWV3U2l6ZUZvclRlc3QodGVz
dCk7CisgICAgdXBkYXRlV2luZG93U2NhbGVGb3JUZXN0KHRlc3QpOworICAgIHVwZGF0ZUxheW91
dFR5cGVGb3JUZXN0KHRlc3QpOworCisgICAgcGxhdGZvcm1Db25maWd1cmVWaWV3Rm9yVGVzdCh0
ZXN0KTsKK30KKwogc3RydWN0IFRlc3RDb21tYW5kIHsKICAgICBUZXN0Q29tbWFuZCgpIDogc2hv
dWxkRHVtcFBpeGVscyhmYWxzZSksIHRpbWVvdXQoMCkgeyB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuaAppbmRleCA2OGE5OWIyMGY3YjQ3MjZhMjg3ODQ2YmYzYjg4OWY4
N2MwZGMzNTAwLi4wZWNhNDExOTIwMWY1NWUyMzAxYzdmYzlhNDVmYjllZmQ1NjA1Mjg2IDEwMDY0
NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCkBAIC03Miw2ICs3Miw4IEBAIHB1
YmxpYzoKICAgICBib29sIHVzZVdhaXRUb0R1bXBXYXRjaGRvZ1RpbWVyKCkgeyByZXR1cm4gbV91
c2VXYWl0VG9EdW1wV2F0Y2hkb2dUaW1lcjsgfQogICAgIHZvaWQgcnVuVW50aWwoYm9vbCYgZG9u
ZSwgVGltZW91dER1cmF0aW9uKTsKICAgICB2b2lkIG5vdGlmeURvbmUoKTsKKyAgICAKKyAgICB2
b2lkIGNvbmZpZ3VyZVZpZXdGb3JUZXN0KGNvbnN0IFRlc3RJbnZvY2F0aW9uJik7CiAKICAgICBp
bnQgZ2V0Q3VzdG9tVGltZW91dCgpOwogICAgIApAQCAtMTE2LDEyICsxMTgsMTcgQEAgcHJpdmF0
ZToKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwogICAgIHZvaWQgcGxhdGZvcm1EZXN0
cm95KCk7CiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemVDb250ZXh0KCk7CisgICAgdm9pZCBw
bGF0Zm9ybUNvbmZpZ3VyZVZpZXdGb3JUZXN0KGNvbnN0IFRlc3RJbnZvY2F0aW9uJik7CiAgICAg
dm9pZCBwbGF0Zm9ybVdpbGxSdW5UZXN0KGNvbnN0IFRlc3RJbnZvY2F0aW9uJik7CiAgICAgdm9p
ZCBwbGF0Zm9ybVJ1blVudGlsKGJvb2wmIGRvbmUsIGRvdWJsZSB0aW1lb3V0KTsKICAgICB2b2lk
IHBsYXRmb3JtRGlkQ29tbWl0TG9hZEZvckZyYW1lKFdLUGFnZVJlZiwgV0tGcmFtZVJlZik7CiAg
ICAgdm9pZCBpbml0aWFsaXplSW5qZWN0ZWRCdW5kbGVQYXRoKCk7CiAgICAgdm9pZCBpbml0aWFs
aXplVGVzdFBsdWdpbkRpcmVjdG9yeSgpOwogCisgICAgdm9pZCB1cGRhdGVXZWJWaWV3U2l6ZUZv
clRlc3QoY29uc3QgVGVzdEludm9jYXRpb24mKTsKKyAgICB2b2lkIHVwZGF0ZVdpbmRvd1NjYWxl
Rm9yVGVzdChjb25zdCBUZXN0SW52b2NhdGlvbiYpOworICAgIHZvaWQgdXBkYXRlTGF5b3V0VHlw
ZUZvclRlc3QoY29uc3QgVGVzdEludm9jYXRpb24mKTsKKwogICAgIHZvaWQgZGVjaWRlUG9saWN5
Rm9yR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdElmUG9zc2libGUoKTsKIAogICAgIC8vIFdL
Q29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdElu
dm9jYXRpb24uY3BwCmluZGV4IGU0YTQ5ZGM3MzBlNTI1MGYzZTg4OTg3NzY0YTAzOTI4MDNhOGQz
ZGIuLjg5YjJiZDMxYTQ4ZThhYzU5YTcxMTVhZmE1NThmMTAyZTE4NmJkY2IgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCkBAIC0xMjIsOTEgKzEyMiwxOSBAQCB2
b2lkIFRlc3RJbnZvY2F0aW9uOjpzZXRDdXN0b21UaW1lb3V0KGludCB0aW1lb3V0KQogICAgIG1f
dGltZW91dCA9IHRpbWVvdXQ7CiB9CiAKLXN0YXRpYyB2b2lkIHNpemVXZWJWaWV3Rm9yQ3VycmVu
dFRlc3QoY29uc3QgY2hhciogcGF0aE9yVVJMKQotewotICAgIGJvb2wgaXNTVkdXM0NUZXN0ID0g
c3Ryc3RyKHBhdGhPclVSTCwgInN2Zy9XM0MtU1ZHLTEuMSIpIHx8IHN0cnN0cihwYXRoT3JVUkws
ICJzdmdcXFczQy1TVkctMS4xIik7Ci0KLSAgICBpZiAoaXNTVkdXM0NUZXN0KQotICAgICAgICBU
ZXN0Q29udHJvbGxlcjo6c2hhcmVkKCkubWFpbldlYlZpZXcoKS0+cmVzaXplVG8oVGVzdENvbnRy
b2xsZXI6OnczY1NWR1ZpZXdXaWR0aCwgVGVzdENvbnRyb2xsZXI6OnczY1NWR1ZpZXdIZWlnaHQp
OwotICAgIGVsc2UKLSAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNoYXJlZCgpLm1haW5XZWJWaWV3
KCktPnJlc2l6ZVRvKFRlc3RDb250cm9sbGVyOjp2aWV3V2lkdGgsIFRlc3RDb250cm9sbGVyOjp2
aWV3SGVpZ2h0KTsKLX0KLQotc3RhdGljIHZvaWQgY2hhbmdlV2luZG93U2NhbGVJZk5lZWRlZChj
b25zdCBjaGFyKiBwYXRoT3JVUkwpCi17Ci0gICAgV1RGOjpTdHJpbmcgbG9jYWxQYXRoT3JVcmwg
PSBTdHJpbmcocGF0aE9yVVJMKTsKLSAgICBib29sIG5lZWRzSGlnaERQSVdpbmRvdyA9IGxvY2Fs
UGF0aE9yVXJsLmZpbmRJZ25vcmluZ0Nhc2UoImhpZHBpLSIpICE9IG5vdEZvdW5kOwotICAgIFRl
c3RDb250cm9sbGVyOjpzaGFyZWQoKS5tYWluV2ViVmlldygpLT5jaGFuZ2VXaW5kb3dTY2FsZUlm
TmVlZGVkKG5lZWRzSGlnaERQSVdpbmRvdyA/IDIgOiAxKTsKLX0KLQogc3RhdGljIGJvb2wgc2hv
dWxkTG9nRnJhbWVMb2FkRGVsZWdhdGVzKGNvbnN0IGNoYXIqIHBhdGhPclVSTCkKIHsKICAgICBy
ZXR1cm4gc3Ryc3RyKHBhdGhPclVSTCwgImxvYWRpbmcvIik7CiB9CiAKLSNpZiBQTEFURk9STShD
T0NPQSkKLXN0YXRpYyBib29sIHNob3VsZFVzZVRocmVhZGVkU2Nyb2xsaW5nKGNvbnN0IGNoYXIq
IHBhdGhPclVSTCkKLXsKLSAgICByZXR1cm4gc3Ryc3RyKHBhdGhPclVSTCwgInRpbGVkLWRyYXdp
bmcvIik7Ci19Ci0jZW5kaWYKLQogc3RhdGljIGJvb2wgc2hvdWxkTG9nSGlzdG9yeUNsaWVudENh
bGxiYWNrcyhjb25zdCBjaGFyKiBwYXRoT3JVUkwpCiB7CiAgICAgcmV0dXJuIHN0cnN0cihwYXRo
T3JVUkwsICJnbG9iYWxoaXN0b3J5LyIpOwogfQogCi1zdGF0aWMgdm9pZCB1cGRhdGVUaHJlYWRl
ZFNjcm9sbGluZ0ZvckN1cnJlbnRUZXN0KGNvbnN0IGNoYXIqIHBhdGhPclVSTCkKLXsKLSNpZiBQ
TEFURk9STShDT0NPQSkKLSAgICBXS1JldGFpblB0cjxXS011dGFibGVEaWN0aW9uYXJ5UmVmPiB2
aWV3T3B0aW9ucyA9IGFkb3B0V0soV0tNdXRhYmxlRGljdGlvbmFyeUNyZWF0ZSgpKTsKLSAgICBX
S1JldGFpblB0cjxXS1N0cmluZ1JlZj4gdXNlVGhyZWFkZWRTY3JvbGxpbmdLZXkgPSBhZG9wdFdL
KFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJUaHJlYWRlZFNjcm9sbGluZyIpKTsKLSAg
ICBXS1JldGFpblB0cjxXS0Jvb2xlYW5SZWY+IHVzZVRocmVhZGVkU2Nyb2xsaW5nVmFsdWUgPSBh
ZG9wdFdLKFdLQm9vbGVhbkNyZWF0ZShzaG91bGRVc2VUaHJlYWRlZFNjcm9sbGluZyhwYXRoT3JV
UkwpKSk7Ci0gICAgV0tEaWN0aW9uYXJ5U2V0SXRlbSh2aWV3T3B0aW9ucy5nZXQoKSwgdXNlVGhy
ZWFkZWRTY3JvbGxpbmdLZXkuZ2V0KCksIHVzZVRocmVhZGVkU2Nyb2xsaW5nVmFsdWUuZ2V0KCkp
OwotCi0gICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHVzZVJlbW90ZUxheWVyVHJlZUtleSA9
IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlJlbW90ZUxheWVyVHJlZSIp
KTsKLSAgICBXS1JldGFpblB0cjxXS0Jvb2xlYW5SZWY+IHVzZVJlbW90ZUxheWVyVHJlZVZhbHVl
ID0gYWRvcHRXSyhXS0Jvb2xlYW5DcmVhdGUoVGVzdENvbnRyb2xsZXI6OnNoYXJlZCgpLnNob3Vs
ZFVzZVJlbW90ZUxheWVyVHJlZSgpKSk7Ci0gICAgV0tEaWN0aW9uYXJ5U2V0SXRlbSh2aWV3T3B0
aW9ucy5nZXQoKSwgdXNlUmVtb3RlTGF5ZXJUcmVlS2V5LmdldCgpLCB1c2VSZW1vdGVMYXllclRy
ZWVWYWx1ZS5nZXQoKSk7Ci0KLSAgICBUZXN0Q29udHJvbGxlcjo6c2hhcmVkKCkuZW5zdXJlVmll
d1N1cHBvcnRzT3B0aW9ucyh2aWV3T3B0aW9ucy5nZXQoKSk7Ci0jZWxzZQotICAgIFVOVVNFRF9Q
QVJBTShwYXRoT3JVUkwpOwotI2VuZGlmCi19Ci0KLXN0YXRpYyBib29sIHNob3VsZFVzZUZpeGVk
TGF5b3V0KGNvbnN0IGNoYXIqIHBhdGhPclVSTCkKLXsKLSNpZiBFTkFCTEUoQ1NTX0RFVklDRV9B
REFQVEFUSU9OKQotICAgIGlmIChzdHJzdHIocGF0aE9yVVJMLCAiZGV2aWNlLWFkYXB0LyIpIHx8
IHN0cnN0cihwYXRoT3JVUkwsICJkZXZpY2UtYWRhcHRcXCIpKQotICAgICAgICByZXR1cm4gdHJ1
ZTsKLSNlbmRpZgotCi0jaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpICYmIFBMQVRGT1JNKEVG
TCkKLSAgICBpZiAoc3Ryc3RyKHBhdGhPclVSTCwgInN0aWNreS8iKSB8fCBzdHJzdHIocGF0aE9y
VVJMLCAic3RpY2t5XFwiKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0jZW5kaWYKLSAgICByZXR1
cm4gZmFsc2U7Ci0KLSAgICBVTlVTRURfUEFSQU0ocGF0aE9yVVJMKTsKLX0KLQotc3RhdGljIHZv
aWQgdXBkYXRlTGF5b3V0VHlwZShjb25zdCBjaGFyKiBwYXRoT3JVUkwpCi17Ci0gICAgV0tSZXRh
aW5QdHI8V0tNdXRhYmxlRGljdGlvbmFyeVJlZj4gdmlld09wdGlvbnMgPSBhZG9wdFdLKFdLTXV0
YWJsZURpY3Rpb25hcnlDcmVhdGUoKSk7Ci0gICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHVz
ZUZpeGVkTGF5b3V0S2V5ID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygi
VXNlRml4ZWRMYXlvdXQiKSk7Ci0gICAgV0tSZXRhaW5QdHI8V0tCb29sZWFuUmVmPiB1c2VGaXhl
ZExheW91dFZhbHVlID0gYWRvcHRXSyhXS0Jvb2xlYW5DcmVhdGUoc2hvdWxkVXNlRml4ZWRMYXlv
dXQocGF0aE9yVVJMKSkpOwotICAgIFdLRGljdGlvbmFyeVNldEl0ZW0odmlld09wdGlvbnMuZ2V0
KCksIHVzZUZpeGVkTGF5b3V0S2V5LmdldCgpLCB1c2VGaXhlZExheW91dFZhbHVlLmdldCgpKTsK
LQotICAgIFRlc3RDb250cm9sbGVyOjpzaGFyZWQoKS5lbnN1cmVWaWV3U3VwcG9ydHNPcHRpb25z
KHZpZXdPcHRpb25zLmdldCgpKTsKLX0KLQogdm9pZCBUZXN0SW52b2NhdGlvbjo6aW52b2tlKCkK
IHsKLSAgICBUZXN0Q29udHJvbGxlcjo6VGltZW91dER1cmF0aW9uIHRpbWVvdXRUb1VzZSA9IFRl
c3RDb250cm9sbGVyOjpMb25nVGltZW91dDsKLSAgICBjaGFuZ2VXaW5kb3dTY2FsZUlmTmVlZGVk
KG1fcGF0aE9yVVJMLmNfc3RyKCkpOwotICAgIHNpemVXZWJWaWV3Rm9yQ3VycmVudFRlc3QobV9w
YXRoT3JVUkwuY19zdHIoKSk7Ci0gICAgdXBkYXRlTGF5b3V0VHlwZShtX3BhdGhPclVSTC5jX3N0
cigpKTsKLSAgICB1cGRhdGVUaHJlYWRlZFNjcm9sbGluZ0ZvckN1cnJlbnRUZXN0KG1fcGF0aE9y
VVJMLmNfc3RyKCkpOworICAgIFRlc3RDb250cm9sbGVyOjpzaGFyZWQoKS5jb25maWd1cmVWaWV3
Rm9yVGVzdCgqdGhpcyk7CiAKICAgICBXS1BhZ2VTZXRBZGRzVmlzaXRlZExpbmtzKFRlc3RDb250
cm9sbGVyOjpzaGFyZWQoKS5tYWluV2ViVmlldygpLT5wYWdlKCksIGZhbHNlKTsKIApAQCAtMjM1
LDYgKzE2Myw4IEBAIHZvaWQgVGVzdEludm9jYXRpb246Omludm9rZSgpCiAKICAgICBXS0NvbnRl
eHRQb3N0TWVzc2FnZVRvSW5qZWN0ZWRCdW5kbGUoVGVzdENvbnRyb2xsZXI6OnNoYXJlZCgpLmNv
bnRleHQoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIGJlZ2luVGVzdE1lc3NhZ2VCb2R5LmdldCgpKTsK
IAorICAgIFRlc3RDb250cm9sbGVyOjpUaW1lb3V0RHVyYXRpb24gdGltZW91dFRvVXNlID0gVGVz
dENvbnRyb2xsZXI6OkxvbmdUaW1lb3V0OworCiAgICAgVGVzdENvbnRyb2xsZXI6OnNoYXJlZCgp
LnJ1blVudGlsKG1fZ290SW5pdGlhbFJlc3BvbnNlLCBUZXN0Q29udHJvbGxlcjo6U2hvcnRUaW1l
b3V0KTsKICAgICBpZiAoIW1fZ290SW5pdGlhbFJlc3BvbnNlKSB7CiAgICAgICAgIG1fZXJyb3JN
ZXNzYWdlID0gIlRpbWVkIG91dCB3YWl0aW5nIGZvciBpbml0aWFsIHJlc3BvbnNlIGZyb20gd2Vi
IHByb2Nlc3NcbiI7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZv
Y2F0aW9uLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKaW5kZXgg
MWQ4MTBjMmNmZmIzZThhYjY2YjQ4MmQ3ZTdkYmZlZDQ4MmIwOWU5Mi4uNmNhY2MzOTBlZmVmZWRj
N2YxNTVhNWE2NjgxNDAzZDJkMGU2NmI4YSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0SW52b2NhdGlvbi5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdElu
dm9jYXRpb24uaApAQCAtNDAsNiArNDAsNyBAQCBwdWJsaWM6CiAgICAgflRlc3RJbnZvY2F0aW9u
KCk7CiAKICAgICBXS1VSTFJlZiB1cmwoKSBjb25zdDsKKyAgICBjb25zdCBjaGFyKiBwYXRoT3JV
UkwoKSBjb25zdCB7IHJldHVybiBtX3BhdGhPclVSTC5jX3N0cigpOyB9CiAKICAgICB2b2lkIHNl
dElzUGl4ZWxUZXN0KGNvbnN0IHN0ZDo6c3RyaW5nJiBleHBlY3RlZFBpeGVsSGFzaCk7CiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1Rlc3RDb250cm9sbGVySU9TLm1t
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW0KaW5kZXgg
NmY5ZDMzZjljZTFhNzg4ZWM4ZWFiZDMxNTJhNjhlODRjMzgzZTgzOS4uNDI2M2E0YmNlMTdjMDRm
MzgxZDQ2YmE5Mzg3MGNiODk0MmVlY2Y0YSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW0KQEAgLTYyLDYgKzYyLDIyIEBAIHZvaWQgVGVzdENv
bnRyb2xsZXI6OnBsYXRmb3JtV2lsbFJ1blRlc3QoY29uc3QgVGVzdEludm9jYXRpb24mIHRlc3RJ
bnZvY2F0aW9uKQogICAgIHNldENyYXNoUmVwb3J0QXBwbGljYXRpb25TcGVjaWZpY0luZm9ybWF0
aW9uVG9VUkwodGVzdEludm9jYXRpb24udXJsKCkpOwogfQogCitzdGF0aWMgYm9vbCBzaG91bGRN
YWtlVmlld3BvcnRGbGV4aWJsZShjb25zdCBjaGFyKiBwYXRoT3JVUkwpCit7CisgICAgcmV0dXJu
IHN0cnN0cihwYXRoT3JVUkwsICJ2aWV3cG9ydC8iKTsKK30KKwordm9pZCBUZXN0Q29udHJvbGxl
cjo6cGxhdGZvcm1Db25maWd1cmVWaWV3Rm9yVGVzdChjb25zdCBUZXN0SW52b2NhdGlvbiYgdGVz
dCkKK3sKKyAgICBpZiAoc2hvdWxkTWFrZVZpZXdwb3J0RmxleGlibGUodGVzdC5wYXRoT3JVUkwo
KSkpIHsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgcGhvbmVWaWV3SGVpZ2h0ID0gNDgwOworICAg
ICAgICBjb25zdCB1bnNpZ25lZCBwaG9uZVZpZXdXaWR0aCA9IDMyMDsKKworICAgICAgICBtYWlu
V2ViVmlldygpLT5yZXNpemVUbyhwaG9uZVZpZXdXaWR0aCwgcGhvbmVWaWV3SGVpZ2h0KTsKKyAg
ICAgICAgLy8gRklYTUU6IG1vcmUgdmlld3BvcnQgY29uZmlnIHRvIGRvIGhlcmUuCisgICAgfQor
fQorCiB2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybVJ1blVudGlsKGJvb2wmIGRvbmUsIGRv
dWJsZSB0aW1lb3V0KQogewogICAgIE5TRGF0ZSAqZW5kRGF0ZSA9ICh0aW1lb3V0ID4gMCkgPyBb
TlNEYXRlIGRhdGVXaXRoVGltZUludGVydmFsU2luY2VOb3c6dGltZW91dF0gOiBbTlNEYXRlIGRp
c3RhbnRGdXR1cmVdOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvVGVz
dENvbnRyb2xsZXJNYWMubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJv
bGxlck1hYy5tbQppbmRleCBlOTQyNGQ2YTYzYTZhZjgyNDIzNGRiNWMxYWNlZWE3MmFjMDUyYTRi
Li43MmY4MmEyMjI3MjU5YjljYmM3OWYxMzU0MWVhYTExYWEzOWU4NTRjIDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJvbGxlck1hYy5tbQorKysgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJvbGxlck1hYy5tbQpAQCAtNzMsNiArNzMs
MjUgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1XaWxsUnVuVGVzdChjb25zdCBUZXN0
SW52b2NhdGlvbiYgdGVzdEludm9jYXRpb24pCiAgICAgc2V0Q3Jhc2hSZXBvcnRBcHBsaWNhdGlv
blNwZWNpZmljSW5mb3JtYXRpb25Ub1VSTCh0ZXN0SW52b2NhdGlvbi51cmwoKSk7CiB9CiAKK3N0
YXRpYyBib29sIHNob3VsZFVzZVRocmVhZGVkU2Nyb2xsaW5nKGNvbnN0IGNoYXIqIHBhdGhPclVS
TCkKK3sKKyAgICByZXR1cm4gc3Ryc3RyKHBhdGhPclVSTCwgInRpbGVkLWRyYXdpbmcvIik7Cit9
CisKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtQ29uZmlndXJlVmlld0ZvclRlc3QoY29u
c3QgVGVzdEludm9jYXRpb24mIHRlc3QpCit7CisgICAgV0tSZXRhaW5QdHI8V0tNdXRhYmxlRGlj
dGlvbmFyeVJlZj4gdmlld09wdGlvbnMgPSBhZG9wdFdLKFdLTXV0YWJsZURpY3Rpb25hcnlDcmVh
dGUoKSk7CisgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHVzZVRocmVhZGVkU2Nyb2xsaW5n
S2V5ID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVGhyZWFkZWRTY3Jv
bGxpbmciKSk7CisgICAgV0tSZXRhaW5QdHI8V0tCb29sZWFuUmVmPiB1c2VUaHJlYWRlZFNjcm9s
bGluZ1ZhbHVlID0gYWRvcHRXSyhXS0Jvb2xlYW5DcmVhdGUoc2hvdWxkVXNlVGhyZWFkZWRTY3Jv
bGxpbmcodGVzdC5wYXRoT3JVUkwoKSkpKTsKKyAgICBXS0RpY3Rpb25hcnlTZXRJdGVtKHZpZXdP
cHRpb25zLmdldCgpLCB1c2VUaHJlYWRlZFNjcm9sbGluZ0tleS5nZXQoKSwgdXNlVGhyZWFkZWRT
Y3JvbGxpbmdWYWx1ZS5nZXQoKSk7CisKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gdXNl
UmVtb3RlTGF5ZXJUcmVlS2V5ID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmlu
ZygiUmVtb3RlTGF5ZXJUcmVlIikpOworICAgIFdLUmV0YWluUHRyPFdLQm9vbGVhblJlZj4gdXNl
UmVtb3RlTGF5ZXJUcmVlVmFsdWUgPSBhZG9wdFdLKFdLQm9vbGVhbkNyZWF0ZShzaG91bGRVc2VS
ZW1vdGVMYXllclRyZWUoKSkpOworICAgIFdLRGljdGlvbmFyeVNldEl0ZW0odmlld09wdGlvbnMu
Z2V0KCksIHVzZVJlbW90ZUxheWVyVHJlZUtleS5nZXQoKSwgdXNlUmVtb3RlTGF5ZXJUcmVlVmFs
dWUuZ2V0KCkpOworCisgICAgZW5zdXJlVmlld1N1cHBvcnRzT3B0aW9ucyh2aWV3T3B0aW9ucy5n
ZXQoKSk7Cit9CisKIHZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtUnVuVW50aWwoYm9vbCYg
ZG9uZSwgZG91YmxlIHRpbWVvdXQpCiB7CiAgICAgTlNEYXRlICplbmREYXRlID0gKHRpbWVvdXQg
PiAwKSA/IFtOU0RhdGUgZGF0ZVdpdGhUaW1lSW50ZXJ2YWxTaW5jZU5vdzp0aW1lb3V0XSA6IFtO
U0RhdGUgZGlzdGFudEZ1dHVyZV07Cg==
</data>
<flag name="review"
          id="257405"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>