<?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>188574</bug_id>
          
          <creation_ts>2018-08-14 13:17:56 -0700</creation_ts>
          <short_desc>MotionMark fails to display the &quot;run benchmark&quot; button in some situations</short_desc>
          <delta_ts>2022-09-03 20:03:04 -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 Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Fabrice Desré">fabrice</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>ahmad.saleem792</cc>
    
    <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>dewei_zhu</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jonlee</cc>
    
    <cc>lforschler</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>rniwa</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1450076</commentid>
    <comment_count>0</comment_count>
    <who name="Fabrice Desré">fabrice</who>
    <bug_when>2018-08-14 13:17:56 -0700</bug_when>
    <thetext>If window.orientation exists, addOrientationListenerIfNecessary() in animometer.js calls _orientationChanged().
Here it ends up looking for an element: document.querySelector(&quot;.start-benchmark p&quot;) which is not in the DOM so the classList.XXX fails and benchmarkController.updateStartButtonState() is never called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1450388</commentid>
    <comment_count>1</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2018-08-15 12:11:11 -0700</bug_when>
    <thetext>The release runner page (index.html and motionmark.js) has the following elements and css:

.portrait-orientation-check {
    display: none;
}

@media screen and (max-device-width: 1025px) and (orientation: portrait) {
    .portrait-orientation-check {
        display: block;
    }
}

@media screen and (max-device-width: 1025px) and (orientation: portrait) {
    .landscape-orientation-check {
        /* This keeps the button color animation in sync with page, while display: none does not. */
        visibility: hidden;
    }
}

&lt;p class=&quot;portrait-orientation-check&quot;&gt;&lt;b&gt;Please rotate your device.&lt;/b&gt;&lt;/p&gt;
&lt;button class=&quot;landscape-orientation-check&quot; onclick=&quot;benchmarkController.startBenchmark()&quot;&gt;Run Benchmark&lt;/button&gt;

-- The &lt;p&gt; element will be hidden by default but will be shown if screen width &lt;= 1025px and the device in portrait mode.
-- The &lt;button&gt; element will be shown by default but will be hidden if screen width &lt;= 1025px and the device in portrait mode.

The release runner page (developer.html and motionmark.js) has the following elements and code:

&lt;div class=&quot;start-benchmark&quot;&gt;
    &lt;p class=&quot;hidden&quot;&gt;Please rotate the device to orientation before starting.&lt;/p&gt;
    &lt;button id=&quot;run-benchmark&quot; onclick=&quot;benchmarkController.startBenchmark()&quot;&gt;Run benchmark&lt;/button&gt;
&lt;/div&gt;

&lt;script&gt;
    _orientationChanged: function(match)
    {
        benchmarkController.isInLandscapeOrientation = match.matches;
        if (match.matches)
            document.querySelector(&quot;.start-benchmark p&quot;).classList.add(&quot;hidden&quot;);
        else
            document.querySelector(&quot;.start-benchmark p&quot;).classList.remove(&quot;hidden&quot;);
        benchmarkController.updateStartButtonState();
    },
    updateStartButtonState: function()
    {
        document.getElementById(&quot;run-benchmark&quot;).disabled = !this.isInLandscapeOrientation;
    },
&lt;/script&gt;

So the &lt;p&gt; element &quot;.start-benchmark p&quot; and the &lt;button&gt; &quot;#&quot;run-benchmark&quot; are made hidden or visible based on the result of window.matchMedia(&quot;(orientation: landscape).

The problem is resources/runner/motionmark.js is shared between the debug and the release runners and both of them make calls to benchmarkController.addOrientationListenerIfNecessary() in their benchmarkController.initialize() function.

I think the fix is to make both the debug and the release runners rely on the media query to show or hide the &lt;p&gt; and the &lt;button&gt; element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1450395</commentid>
    <comment_count>2</comment_count>
      <attachid>347194</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2018-08-15 12:37:43 -0700</bug_when>
    <thetext>Created attachment 347194
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1450425</commentid>
    <comment_count>3</comment_count>
      <attachid>347194</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2018-08-15 13:24:14 -0700</bug_when>
    <thetext>Comment on attachment 347194
Patch

It seems ok, but can we do a spot check on Windows, Android, and other browsers?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1896009</commentid>
    <comment_count>4</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-09-03 04:14:24 -0700</bug_when>
    <thetext>This r+ patch landed or needed anymore?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>347194</attachid>
            <date>2018-08-15 12:37:43 -0700</date>
            <delta_ts>2018-08-15 13:24:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188574-20180815123742.patch</filename>
            <type>text/plain</type>
            <size>4879</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1h
bmNlVGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzQ4OTQpCisrKyBQZXJmb3JtYW5jZVRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE4LTA4LTE1ICBT
YWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgTW90
aW9uTWFyayBmYWlscyB0byBkaXNwbGF5IHRoZSAicnVuIGJlbmNobWFyayIgYnV0dG9uIGluIHNv
bWUgc2l0dWF0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTg4NTc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVXNlIHRoZSBtZWRpYSBxdWVyaWVzIHRvIGNvbnRyb2wgdGhlIHZpc2liaWxpdHkgb2Yg
dGhlICJydW4gYmVuY2htYXJrIgorICAgICAgICBidXR0b24gaW4gTW90aW9uTWFyayBkZXZlbG9w
ZXIgcGFnZS4KKworICAgICAgICAqIE1vdGlvbk1hcmsvZGV2ZWxvcGVyLmh0bWw6CisgICAgICAg
ICogTW90aW9uTWFyay9yZXNvdXJjZXMvZGVidWctcnVubmVyL21vdGlvbm1hcmsuanM6CisgICAg
ICAgICogTW90aW9uTWFyay9yZXNvdXJjZXMvcnVubmVyL21vdGlvbm1hcmsuanM6CisgICAgICAg
ICh3aW5kb3cuYmVuY2htYXJrQ29udHJvbGxlci5pbml0aWFsaXplKToKKyAgICAgICAgKHdpbmRv
dy5iZW5jaG1hcmtDb250cm9sbGVyLmFkZE9yaWVudGF0aW9uTGlzdGVuZXJJZk5lY2Vzc2FyeSk6
IERlbGV0ZWQuCisgICAgICAgICh3aW5kb3cuYmVuY2htYXJrQ29udHJvbGxlci5fb3JpZW50YXRp
b25DaGFuZ2VkKTogRGVsZXRlZC4KKyAgICAgICAgKHdpbmRvdy5iZW5jaG1hcmtDb250cm9sbGVy
LnVwZGF0ZVN0YXJ0QnV0dG9uU3RhdGUpOiBEZWxldGVkLgorCiAyMDE4LTA4LTEzICBKb24gTGVl
ICA8am9ubGVlQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgTW90aW9uTWFyayB2ZXJzaW9u
IG51bWJlcgpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9Nb3Rpb25NYXJrL2RldmVsb3Blci5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFyay9kZXZlbG9wZXIuaHRt
bAkocmV2aXNpb24gMjM0ODkzKQorKysgUGVyZm9ybWFuY2VUZXN0cy9Nb3Rpb25NYXJrL2RldmVs
b3Blci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMTMsOCArMTEzLDggQEAKICAgICAgICAgICAg
ICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICA8cD5Gb3IgYWNjdXJhdGUgcmVzdWx0cywgcGxl
YXNlIHRha2UgdGhlIGJyb3dzZXIgd2luZG93IGZ1bGwgc2NyZWVuLCBvciByb3RhdGUgdGhlIGRl
dmljZSB0byBsYW5kc2NhcGUgb3JpZW50YXRpb24uPC9wPgogICAgICAgICAgICAgICAgIDxkaXYg
Y2xhc3M9InN0YXJ0LWJlbmNobWFyayI+Ci0gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJo
aWRkZW4iPlBsZWFzZSByb3RhdGUgdGhlIGRldmljZSB0byBvcmllbnRhdGlvbiBiZWZvcmUgc3Rh
cnRpbmcuPC9wPgotICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkPSJydW4tYmVuY2htYXJr
IiBvbmNsaWNrPSJiZW5jaG1hcmtDb250cm9sbGVyLnN0YXJ0QmVuY2htYXJrKCkiPlJ1biBiZW5j
aG1hcms8L2J1dHRvbj4KKyAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InBvcnRyYWl0LW9y
aWVudGF0aW9uLWNoZWNrIj48Yj5QbGVhc2Ugcm90YXRlIHlvdXIgZGV2aWNlLjwvYj48L3A+Cisg
ICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImxhbmRzY2FwZS1vcmllbnRhdGlvbi1j
aGVjayIgb25jbGljaz0iYmVuY2htYXJrQ29udHJvbGxlci5zdGFydEJlbmNobWFyaygpIj5SdW4g
QmVuY2htYXJrPC9idXR0b24+CiAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICA8
L2Rpdj4KICAgICAgICAgPC9zZWN0aW9uPgpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9Nb3Rpb25N
YXJrL3Jlc291cmNlcy9kZWJ1Zy1ydW5uZXIvbW90aW9ubWFyay5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQ
ZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvcmVzb3VyY2VzL2RlYnVnLXJ1bm5lci9tb3Rpb25t
YXJrLmpzCShyZXZpc2lvbiAyMzQ4OTMpCisrKyBQZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsv
cmVzb3VyY2VzL2RlYnVnLXJ1bm5lci9tb3Rpb25tYXJrLmpzCSh3b3JraW5nIGNvcHkpCkBAIC01
NDgsNyArNTQ4LDYgQEAgVXRpbGl0aWVzLmV4dGVuZE9iamVjdCh3aW5kb3cuYmVuY2htYXJrQwog
ICAgICAgICBpZiAoYmVuY2htYXJrQ29udHJvbGxlci5zdGFydEJlbmNobWFya0ltbWVkaWF0ZWx5
SWZFbmNvZGVkKCkpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgYmVuY2htYXJrQ29u
dHJvbGxlci5hZGRPcmllbnRhdGlvbkxpc3RlbmVySWZOZWNlc3NhcnkoKTsKICAgICAgICAgc3Vp
dGVzTWFuYWdlci5jcmVhdGVFbGVtZW50cygpOwogICAgICAgICBzdWl0ZXNNYW5hZ2VyLnVwZGF0
ZVVJRnJvbUxvY2FsU3RvcmFnZSgpOwogICAgICAgICBzdWl0ZXNNYW5hZ2VyLnVwZGF0ZUVkaXRz
RWxlbWVudHNTdGF0ZSgpOwpAQCAtNTg5LDExICs1ODgsNiBAQCBVdGlsaXRpZXMuZXh0ZW5kT2Jq
ZWN0KHdpbmRvdy5iZW5jaG1hcmtDCiAKICAgICB1cGRhdGVTdGFydEJ1dHRvblN0YXRlOiBmdW5j
dGlvbigpCiAgICAgewotICAgICAgICB2YXIgc3RhcnRCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicnVuLWJlbmNobWFyayIpOwotICAgICAgICBpZiAoImlzSW5MYW5kc2NhcGVPcmll
bnRhdGlvbiIgaW4gdGhpcyAmJiAhdGhpcy5pc0luTGFuZHNjYXBlT3JpZW50YXRpb24pIHsKLSAg
ICAgICAgICAgIHN0YXJ0QnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsKLSAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgfQogICAgICAgICBzdGFydEJ1dHRvbi5kaXNhYmxlZCA9ICFzdWl0ZXNNYW5h
Z2VyLmlzQXRMZWFzdE9uZVRlc3RTZWxlY3RlZCgpOwogICAgIH0sCiAKSW5kZXg6IFBlcmZvcm1h
bmNlVGVzdHMvTW90aW9uTWFyay9yZXNvdXJjZXMvcnVubmVyL21vdGlvbm1hcmsuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9Nb3Rpb25NYXJrL3Jlc291cmNlcy9ydW5uZXIvbW90
aW9ubWFyay5qcwkocmV2aXNpb24gMjM0ODkzKQorKysgUGVyZm9ybWFuY2VUZXN0cy9Nb3Rpb25N
YXJrL3Jlc291cmNlcy9ydW5uZXIvbW90aW9ubWFyay5qcwkod29ya2luZyBjb3B5KQpAQCAtNDYz
LDcgKzQ2Myw2IEBAIHdpbmRvdy5iZW5jaG1hcmtDb250cm9sbGVyID0gewogICAgICAgICBkb2N1
bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIudmVyc2lvbiIpLmZvckVhY2goZnVuY3Rpb24oZSkgewog
ICAgICAgICAgICAgZS50ZXh0Q29udGVudCA9IFN0cmluZ3MudmVyc2lvbjsKICAgICAgICAgfSk7
Ci0gICAgICAgIGJlbmNobWFya0NvbnRyb2xsZXIuYWRkT3JpZW50YXRpb25MaXN0ZW5lcklmTmVj
ZXNzYXJ5KCk7CiAgICAgfSwKIAogICAgIGRldGVybWluZUNhbnZhc1NpemU6IGZ1bmN0aW9uKCkg
ewpAQCAtNDg4LDMwICs0ODcsNiBAQCB3aW5kb3cuYmVuY2htYXJrQ29udHJvbGxlciA9IHsKICAg
ICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCJsYXJnZSIpOwogICAgIH0sCiAKLSAg
ICBhZGRPcmllbnRhdGlvbkxpc3RlbmVySWZOZWNlc3Nhcnk6IGZ1bmN0aW9uKCkgewotICAgICAg
ICBpZiAoISgib3JpZW50YXRpb24iIGluIHdpbmRvdykpCi0gICAgICAgICAgICByZXR1cm47Ci0K
LSAgICAgICAgdGhpcy5vcmllbnRhdGlvblF1ZXJ5ID0gd2luZG93Lm1hdGNoTWVkaWEoIihvcmll
bnRhdGlvbjogbGFuZHNjYXBlKSIpOwotICAgICAgICB0aGlzLl9vcmllbnRhdGlvbkNoYW5nZWQo
dGhpcy5vcmllbnRhdGlvblF1ZXJ5KTsKLSAgICAgICAgdGhpcy5vcmllbnRhdGlvblF1ZXJ5LmFk
ZExpc3RlbmVyKHRoaXMuX29yaWVudGF0aW9uQ2hhbmdlZCk7Ci0gICAgfSwKLQotICAgIF9vcmll
bnRhdGlvbkNoYW5nZWQ6IGZ1bmN0aW9uKG1hdGNoKQotICAgIHsKLSAgICAgICAgYmVuY2htYXJr
Q29udHJvbGxlci5pc0luTGFuZHNjYXBlT3JpZW50YXRpb24gPSBtYXRjaC5tYXRjaGVzOwotICAg
ICAgICBpZiAobWF0Y2gubWF0Y2hlcykKLSAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3IoIi5zdGFydC1iZW5jaG1hcmsgcCIpLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpOwotICAgICAg
ICBlbHNlCi0gICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc3RhcnQtYmVuY2ht
YXJrIHAiKS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKTsKLSAgICAgICAgYmVuY2htYXJrQ29u
dHJvbGxlci51cGRhdGVTdGFydEJ1dHRvblN0YXRlKCk7Ci0gICAgfSwKLQotICAgIHVwZGF0ZVN0
YXJ0QnV0dG9uU3RhdGU6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJydW4tYmVuY2htYXJrIikuZGlzYWJsZWQgPSAhdGhpcy5pc0luTGFuZHNjYXBl
T3JpZW50YXRpb247Ci0gICAgfSwKLQogICAgIF9zdGFydEJlbmNobWFyazogZnVuY3Rpb24oc3Vp
dGVzLCBvcHRpb25zLCBmcmFtZUNvbnRhaW5lcklEKQogICAgIHsKICAgICAgICAgYmVuY2htYXJr
Q29udHJvbGxlci5kZXRlcm1pbmVDYW52YXNTaXplKCk7Cg==
</data>
<flag name="review"
          id="364999"
          type_id="1"
          status="+"
          setter="jonlee"
    />
          </attachment>
      

    </bug>

</bugzilla>