<?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>157532</bug_id>
          
          <creation_ts>2016-05-10 13:31:51 -0700</creation_ts>
          <short_desc>Adjust &quot;main content&quot; video heuristic</short_desc>
          <delta_ts>2016-05-12 10:58:42 -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>Media</component>
          <version>WebKit 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="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>darin</cc>
    
    <cc>jer.noble</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1191624</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2016-05-10 13:31:51 -0700</bug_when>
    <thetext>Videos smaller than 400x300 are never considered &quot;main content&quot;. Adjust the heuristic so it doesn&apos;t depend on the area and aspect ratio rather than the absolute width and height.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192330</commentid>
    <comment_count>1</comment_count>
      <attachid>278734</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2016-05-12 08:36:21 -0700</bug_when>
    <thetext>Created attachment 278734
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192338</commentid>
    <comment_count>2</comment_count>
      <attachid>278734</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-05-12 08:48:14 -0700</bug_when>
    <thetext>Comment on attachment 278734
Proposed patch

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

&gt; Source/WebCore/html/MediaElementSession.cpp:555
&gt; +    RenderBox* renderer = downcast&lt;RenderBox&gt;(element.renderer());

This cast to RenderBox is not good. Since HTMLMediaElement guarantees the renderer is RenderMedia, that should be expressed by HTMLMediaElement itself. This would be done by overriding renderer in HTMLMediaElement to return a RenderMedia*, following the same pattern that ContainerNode uses to override renderer to return RenderElement. The inline function definition of HTMLMediaElement::renderer would go into RenderMedia.h, by analogy with how the ContainerNode::renderer inline function definition is in RenderElement.h.

The local variable here would then be:

    auto* renderer = element.renderer();

And the same in all the other places that call renderer on media elements.

&gt; Source/WebCore/html/MediaElementSession.cpp:571
&gt; +    if (width * height &lt; elementMainContentAreaMinimum)
&gt; +        return false;
&gt; +
&gt; +    double aspectRatio = width / height;
&gt; +    if (aspectRatio &lt; mimimumAspectRatio)
&gt; +        return false;
&gt; +
&gt; +    if (aspectRatio &gt; maximiumAspectRatio)
&gt; +        return false;
&gt; +
&gt; +    return true;

I like the idea of writing it like this instead:

    double area = width * height;
    double aspectRatio = width / height;
    return area &gt;= elementMainContentAreaMinimum &amp;&amp; aspectRatio &gt;= minimumAspectRatio &amp;&amp; aspectRatio &lt;= maximumAspectRatio;

What do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192339</commentid>
    <comment_count>3</comment_count>
      <attachid>278734</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-05-12 08:48:32 -0700</bug_when>
    <thetext>Comment on attachment 278734
Proposed patch

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

&gt; Source/WebCore/html/MediaElementSession.cpp:551
&gt; +    static const double maximiumAspectRatio = 1.8; // Slightly larger than 16:9.

maximum is misspelled here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192340</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-05-12 08:49:27 -0700</bug_when>
    <thetext>Besides the misspelling, none of my comments are mandatory changes; just ideas on how to do things a little better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192374</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2016-05-12 10:56:01 -0700</bug_when>
    <thetext>Thanks for the suggestions! I fixed the spellings and changed the area and aspect ratio test as per your suggestions. The &quot;renderer()&quot; change requires modifications to several other files, so I will make those changes in a follow-up patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192377</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2016-05-12 10:58:32 -0700</bug_when>
    <thetext>Committed r200778: https://trac.webkit.org/r200778</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278734</attachid>
            <date>2016-05-12 08:36:21 -0700</date>
            <delta_ts>2016-05-12 10:58:42 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>video_size_patch_3.txt</filename>
            <type>text/plain</type>
            <size>10019</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMDcxNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE2LTA1LTEyICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIEFkanVzdCAibWFpbiBj
b250ZW50IiB2aWRlbyBoZXVyaXN0aWMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1NzUzMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjU4NDA4NjE+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDog
bWVkaWEvdmlkZW8tbWFpbi1jb250ZW50LWF1dG9wbGF5Lmh0bWwsIHBsdXMgZXhpc3RpbmcgdGVz
dHMgdXBkYXRlZC4KKworICAgICAgICAqIGh0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpjYW5Db250cm9sQ29udHJvbHNN
YW5hZ2VyKTogVXNlIGlzRWxlbWVudExhcmdlRW5vdWdoRm9yTWFpbkNvbnRlbnQuCisgICAgICAg
IChXZWJDb3JlOjppc01haW5Db250ZW50KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjppc0Vs
ZW1lbnRMYXJnZUVub3VnaEZvck1haW5Db250ZW50KTogQ2hlY2sgdmlkZW8gYXJlYSBhbmQgYXNw
ZWN0IHJhdGlvLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6bWFpbkNv
bnRlbnRDaGVja1RpbWVyRmlyZWQpOiBDYWxsIHJlc3VsdC5zZXRUb05vblVzZXJBZ2VudFNoYWRv
d0FuY2VzdG9yIAorICAgICAgICAgIHNvIGl0IGRvZXNuJ3QgaGl0IHRlc3QgdGhlIHZpZGVvIGNv
bnRyb2xzIGluIHRoZSBzaGFkb3cgRE9NLgorCiAyMDE2LTA1LTExICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIGlPUyBjbGVhbiBidWlsZCBmaXggYWZ0ZXIgcjIw
MDcwMC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNw
cAkocmV2aXNpb24gMjAwNzE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQsMTEgKzU0LDEwIEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGludCBlbGVtZW50TWFpbkNvbnRlbnRNaW5pbXVt
V2lkdGggPSA0MDA7Ci1zdGF0aWMgY29uc3QgaW50IGVsZW1lbnRNYWluQ29udGVudE1pbmltdW1I
ZWlnaHQgPSAzMDA7CiBzdGF0aWMgY29uc3QgZG91YmxlIGVsZW1lbnRNYWluQ29udGVudENoZWNr
SW50ZXJ2YWwgPSAuMjUwOwogCiBzdGF0aWMgYm9vbCBpc01haW5Db250ZW50KGNvbnN0IEhUTUxN
ZWRpYUVsZW1lbnQmKTsKK3N0YXRpYyBib29sIGlzRWxlbWVudExhcmdlRW5vdWdoRm9yTWFpbkNv
bnRlbnQoY29uc3QgSFRNTE1lZGlhRWxlbWVudCYpOwogCiAjaWYgIUxPR19ESVNBQkxFRAogc3Rh
dGljIFN0cmluZyByZXN0cmljdGlvbk5hbWUoTWVkaWFFbGVtZW50U2Vzc2lvbjo6QmVoYXZpb3JS
ZXN0cmljdGlvbnMgcmVzdHJpY3Rpb24pCkBAIC0yMjQsOCArMjIzLDggQEAgYm9vbCBNZWRpYUVs
ZW1lbnRTZXNzaW9uOjpjYW5Db250cm9sQ29udAogICAgIGlmICghcmVuZGVyZXIpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAotICAgIGlmIChlbGVtZW50Lmhhc1ZpZGVvKCkgJiYgcmVuZGVyZXIt
PmNsaWVudFdpZHRoKCkgPj0gZWxlbWVudE1haW5Db250ZW50TWluaW11bVdpZHRoICYmIHJlbmRl
cmVyLT5jbGllbnRIZWlnaHQoKSA+PSBlbGVtZW50TWFpbkNvbnRlbnRNaW5pbXVtSGVpZ2h0KQot
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgaWYgKGlzRWxlbWVudExhcmdlRW5vdWdoRm9y
TWFpbkNvbnRlbnQoZWxlbWVudCkpCisgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgaWYgKFNj
cmlwdENvbnRyb2xsZXI6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZUZvck1lZGlhKCkpCiAgICAgICAg
IHJldHVybiB0cnVlOwpAQCAtNTA2LDggKzUwNSw3IEBAIHN0YXRpYyBib29sIGlzTWFpbkNvbnRl
bnQoY29uc3QgSFRNTE1lZGkKICAgICBpZiAoIXJlbmRlcmVyKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKLSAgICBpZiAocmVuZGVyZXItPmNsaWVudFdpZHRoKCkgPCBlbGVtZW50TWFpbkNvbnRl
bnRNaW5pbXVtV2lkdGgKLSAgICAgICAgfHwgcmVuZGVyZXItPmNsaWVudEhlaWdodCgpIDwgZWxl
bWVudE1haW5Db250ZW50TWluaW11bUhlaWdodCkKKyAgICBpZiAoIWlzRWxlbWVudExhcmdlRW5v
dWdoRm9yTWFpbkNvbnRlbnQoZWxlbWVudCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAg
IC8vIEVsZW1lbnRzIHdoaWNoIGFyZSBoaWRkZW4gYnkgc3R5bGUsIG9yIGhhdmUgYmVlbiBzY3Jv
bGxlZCBvdXQgb2YgdmlldywgY2Fubm90IGJlIG1haW4gY29udGVudC4KQEAgLTUzOSw2ICs1Mzcs
NyBAQCBzdGF0aWMgYm9vbCBpc01haW5Db250ZW50KGNvbnN0IEhUTUxNZWRpCiAKICAgICAvLyBF
bGVtZW50cyB3aGljaCBhcmUgb2JzY3VyZWQgYnkgb3RoZXIgZWxlbWVudHMgY2Fubm90IGJlIG1h
aW4gY29udGVudC4KICAgICBtYWluUmVuZGVyVmlldy5oaXRUZXN0KHJlcXVlc3QsIHJlc3VsdCk7
CisgICAgcmVzdWx0LnNldFRvTm9uVXNlckFnZW50U2hhZG93QW5jZXN0b3IoKTsKICAgICBFbGVt
ZW50KiBoaXRFbGVtZW50ID0gcmVzdWx0LmlubmVyRWxlbWVudCgpOwogICAgIGlmIChoaXRFbGVt
ZW50ICE9ICZlbGVtZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC01NDYsNiArNTQ1LDMy
IEBAIHN0YXRpYyBib29sIGlzTWFpbkNvbnRlbnQoY29uc3QgSFRNTE1lZGkKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAorc3RhdGljIGJvb2wgaXNFbGVtZW50TGFyZ2VFbm91Z2hGb3JNYWluQ29udGVu
dChjb25zdCBIVE1MTWVkaWFFbGVtZW50JiBlbGVtZW50KQoreworICAgIHN0YXRpYyBjb25zdCBk
b3VibGUgZWxlbWVudE1haW5Db250ZW50QXJlYU1pbmltdW0gPSA0MDAgKiAzMDA7CisgICAgc3Rh
dGljIGNvbnN0IGRvdWJsZSBtYXhpbWl1bUFzcGVjdFJhdGlvID0gMS44OyAvLyBTbGlnaHRseSBs
YXJnZXIgdGhhbiAxNjo5LgorICAgIHN0YXRpYyBjb25zdCBkb3VibGUgbWltaW11bUFzcGVjdFJh
dGlvID0gLjU7IC8vIFNsaWdodGx5IHNtYWxsZXIgdGhhbiAxNjo5LgorCisgICAgLy8gRWxlbWVu
dHMgd2hpY2ggaGF2ZSBub3QgeWV0IGJlZW4gbGFpZCBvdXQsIG9yIHdoaWNoIGFyZSBub3QgeWV0
IGluIHRoZSBET00sIGNhbm5vdCBiZSBtYWluIGNvbnRlbnQuCisgICAgUmVuZGVyQm94KiByZW5k
ZXJlciA9IGRvd25jYXN0PFJlbmRlckJveD4oZWxlbWVudC5yZW5kZXJlcigpKTsKKyAgICBpZiAo
IXJlbmRlcmVyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBkb3VibGUgd2lkdGggPSBy
ZW5kZXJlci0+Y2xpZW50V2lkdGgoKTsKKyAgICBkb3VibGUgaGVpZ2h0ID0gcmVuZGVyZXItPmNs
aWVudEhlaWdodCgpOworICAgIGlmICh3aWR0aCAqIGhlaWdodCA8IGVsZW1lbnRNYWluQ29udGVu
dEFyZWFNaW5pbXVtKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBkb3VibGUgYXNwZWN0
UmF0aW8gPSB3aWR0aCAvIGhlaWdodDsKKyAgICBpZiAoYXNwZWN0UmF0aW8gPCBtaW1pbXVtQXNw
ZWN0UmF0aW8pCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChhc3BlY3RSYXRpbyA+
IG1heGltaXVtQXNwZWN0UmF0aW8pCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVy
biB0cnVlOworfQorCiB2b2lkIE1lZGlhRWxlbWVudFNlc3Npb246Om1haW5Db250ZW50Q2hlY2tU
aW1lckZpcmVkKCkKIHsKICAgICBpZiAoIWhhc0JlaGF2aW9yUmVzdHJpY3Rpb24oT3ZlcnJpZGVV
c2VyR2VzdHVyZVJlcXVpcmVtZW50Rm9yTWFpbkNvbnRlbnQpKQpJbmRleDogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24g
MjAwNzcwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTYtMDUtMTIgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5j
b20+CisKKyAgICAgICAgQWRqdXN0ICJtYWluIGNvbnRlbnQiIHZpZGVvIGhldXJpc3RpYworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3NTMyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBtZWRpYS92aWRl
by1tYWluLWNvbnRlbnQtYWxsb3cuaHRtbDoKKyAgICAgICAgKiBtZWRpYS92aWRlby1tYWluLWNv
bnRlbnQtYXV0b3BsYXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS92aWRl
by1tYWluLWNvbnRlbnQtYXV0b3BsYXkuaHRtbDogQWRkZWQuCisgICAgICAgICogbWVkaWEvdmlk
ZW8tbWFpbi1jb250ZW50LWRlbnktdG9vLXNtYWxsLmh0bWw6CisKIDIwMTYtMDUtMTIgIEFudG9p
bmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBDb3JyZWN0bHkgaGFuZGxl
IHByZWZpeGVkIGFuZCB1bnByZWZpeGVkIHZhcmlhbnRzIGluIENTU1N0eWxlRGVjbGFyYXRpb24K
SW5kZXg6IExheW91dFRlc3RzL21lZGlhL3ZpZGVvLW1haW4tY29udGVudC1hbGxvdy5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLW1haW4tY29udGVudC1hbGxvdy5o
dG1sCShyZXZpc2lvbiAyMDA3MTYpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1tYWluLWNv
bnRlbnQtYWxsb3cuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjIsOCArMjIsOCBAQAogICAgIDwv
c2NyaXB0PgogICAgIDxzdHlsZT4KICAgICB2aWRlbyB7Ci0gICAgICAgIHdpZHRoOiA2MDBweDsK
LSAgICAgICAgaGVpZ2h0OiA0MDBweDsKKyAgICAgICAgd2lkdGg6IDI3MHB4OworICAgICAgICBo
ZWlnaHQ6IDQ4MHB4OwogICAgIH0KICAgICA8L3N0eWxlPgogPC9oZWFkPgpJbmRleDogTGF5b3V0
VGVzdHMvbWVkaWEvdmlkZW8tbWFpbi1jb250ZW50LWF1dG9wbGF5LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1tYWluLWNvbnRlbnQtYXV0b3BsYXkt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbWFp
bi1jb250ZW50LWF1dG9wbGF5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDEzIEBACitSVU4oc21hbGxWaWRlby5zZXRBdHRyaWJ1dGUoJ2NvbnRyb2xzJywnY29udHJvbHMn
KSkKK1JVTihzbWFsbFZpZGVvLnNldEF0dHJpYnV0ZSgnYXV0b3BsYXknLCdhdXRvcGxheScpKQor
UlVOKHNtYWxsVmlkZW8uc2V0QXR0cmlidXRlKCdpZCcsJ3NtYWxsJykpCitSVU4oZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChzbWFsbFZpZGVvKSkKKworUlVOKGxhcmdlVmlkZW8uc2V0QXR0cmli
dXRlKCdjb250cm9scycsJ2NvbnRyb2xzJykpCitSVU4obGFyZ2VWaWRlby5zZXRBdHRyaWJ1dGUo
J2F1dG9wbGF5JywnYXV0b3BsYXknKSkKK1JVTihsYXJnZVZpZGVvLnNldEF0dHJpYnV0ZSgnaWQn
LCdsYXJnZScpKQorUlVOKGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGFyZ2VWaWRlbykpCisK
K0xhcmdlIHZpZGVvIGF1dG8tcGxheWVkLCBzbWFsbCB2aWRlbyBkaWQgbm90LiBPSworRU5EIE9G
IFRFU1QKKwpJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbWFpbi1jb250ZW50LWF1dG9w
bGF5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbWFpbi1jb250
ZW50LWF1dG9wbGF5Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9tZWRpYS92aWRl
by1tYWluLWNvbnRlbnQtYXV0b3BsYXkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDc1
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8dGl0bGU+
dmlkZW8tbWFpbi1jb250ZW50LXNpemUtY2hlY2s8L3RpdGxlPgorICAgICAgICA8c2NyaXB0IHNy
Yz0idmlkZW8tdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSJtZWRpYS1m
aWxlLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHZhciBzbWFs
bFZpZGVvOworICAgICAgICAgICAgdmFyIGxhcmdlVmlkZW87CisgICAgICAgICAgICB2YXIgY291
bnRlciA9IDA7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIG1heWJlRW5kVGVzdCgpCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgaWYgKCsrY291bnRlciA8IDIpCisgICAgICAgICAgICAg
ICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgICAgIGxvZ1Jlc3VsdCh0cnVlLCAnTGFyZ2Ug
dmlkZW8gYXV0by1wbGF5ZWQsIHNtYWxsIHZpZGVvIGRpZCBub3QuJyk7CisgICAgICAgICAgICAg
ICAgZW5kVGVzdCgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBwbGF5
aW5nKGV2ZW50KSAKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAoZXZlbnQudGFy
Z2V0ID09IHNtYWxsVmlkZW8pCisgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCdTbWFsbCB2
aWRlbyBzaG91bGQgbm90IGF1dG9wbGF5LicpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICAgICAgbWF5YmVFbmRUZXN0KCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIGZ1bmN0aW9uIGNhblBsYXlUaHJvdWdoKGV2ZW50KSAKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICBpZiAoZXZlbnQudGFyZ2V0ID09IHNtYWxsVmlkZW8pCisgICAgICAgICAgICAg
ICAgICAgIHNldFRpbWVvdXQobWF5YmVFbmRUZXN0LCAxMDApOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBmdW5jdGlvbiBnbygpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
c21hbGxWaWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CisgICAgICAgICAg
ICAgICAgaW50ZXJuYWxzLnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyhzbWFsbFZpZGVvLCAi
UmVxdWlyZVVzZXJHZXN0dXJlRm9yVmlkZW9SYXRlQ2hhbmdlLE92ZXJyaWRlVXNlckdlc3R1cmVS
ZXF1aXJlbWVudEZvck1haW5Db250ZW50Iik7CisgICAgICAgICAgICAgICAgcnVuKCJzbWFsbFZp
ZGVvLnNldEF0dHJpYnV0ZSgnY29udHJvbHMnLCdjb250cm9scycpIik7CisgICAgICAgICAgICAg
ICAgcnVuKCJzbWFsbFZpZGVvLnNldEF0dHJpYnV0ZSgnYXV0b3BsYXknLCdhdXRvcGxheScpIik7
CisgICAgICAgICAgICAgICAgcnVuKCJzbWFsbFZpZGVvLnNldEF0dHJpYnV0ZSgnaWQnLCdzbWFs
bCcpIik7CisgICAgICAgICAgICAgICAgc21hbGxWaWRlby5hZGRFdmVudExpc3RlbmVyKCdjYW5w
bGF5dGhyb3VnaCcsIGNhblBsYXlUaHJvdWdoLCB0cnVlKTsKKyAgICAgICAgICAgICAgICBzbWFs
bFZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCBwbGF5aW5nLCB0cnVlKTsKKyAgICAg
ICAgICAgICAgICBydW4oImRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc21hbGxWaWRlbykiKTsK
KworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CisgICAgICAgICAgICAgICAgbGFy
Z2VWaWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CisgICAgICAgICAgICAg
ICAgaW50ZXJuYWxzLnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyhsYXJnZVZpZGVvLCAiUmVx
dWlyZVVzZXJHZXN0dXJlRm9yVmlkZW9SYXRlQ2hhbmdlLE92ZXJyaWRlVXNlckdlc3R1cmVSZXF1
aXJlbWVudEZvck1haW5Db250ZW50Iik7CisgICAgICAgICAgICAgICAgcnVuKCJsYXJnZVZpZGVv
LnNldEF0dHJpYnV0ZSgnY29udHJvbHMnLCdjb250cm9scycpIik7CisgICAgICAgICAgICAgICAg
cnVuKCJsYXJnZVZpZGVvLnNldEF0dHJpYnV0ZSgnYXV0b3BsYXknLCdhdXRvcGxheScpIik7Cisg
ICAgICAgICAgICAgICAgcnVuKCJsYXJnZVZpZGVvLnNldEF0dHJpYnV0ZSgnaWQnLCdsYXJnZScp
Iik7CisgICAgICAgICAgICAgICAgbGFyZ2VWaWRlby5hZGRFdmVudExpc3RlbmVyKCdjYW5wbGF5
dGhyb3VnaCcsIGNhblBsYXlUaHJvdWdoLCB0cnVlKTsKKyAgICAgICAgICAgICAgICBsYXJnZVZp
ZGVvLmFkZEV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCBwbGF5aW5nLCB0cnVlKTsKKyAgICAgICAg
ICAgICAgICBydW4oImRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGFyZ2VWaWRlbykiKTsKKwor
ICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CisgICAgICAgICAgICAgICAgc21hbGxW
aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxlKCd2aWRlbycsICdjb250ZW50L3Rlc3QnKTsKKyAgICAg
ICAgICAgICAgICBsYXJnZVZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoJ3ZpZGVvJywgJ2NvbnRl
bnQvdGVzdCcpOworICAgICAgICAgICAgfQorCisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICNsYXJnZSB7CisgICAgICAgICAgICB3aWR0aDogMjcwcHg7CisgICAg
ICAgICAgICBoZWlnaHQ6IDQ4MHB4OworICAgICAgICB9CisgICAgICAgICNzbWFsbCB7CisgICAg
ICAgICAgICB3aWR0aDogNDAwOworICAgICAgICAgICAgaGVpZ2h0OiAyNDA7CisgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJnbygpIj4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDog
TGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbWFpbi1jb250ZW50LWRlbnktdG9vLXNtYWxsLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbWFpbi1jb250ZW50LWRlbnkt
dG9vLXNtYWxsLmh0bWwJKHJldmlzaW9uIDIwMDcxNikKKysrIExheW91dFRlc3RzL21lZGlhL3Zp
ZGVvLW1haW4tY29udGVudC1kZW55LXRvby1zbWFsbC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC03
LDYgKzcsNyBAQAogICAgIDxzY3JpcHQ+CiAgICAgZnVuY3Rpb24gZ28oKSB7CiAgICAgICAgIHZp
ZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKTsKKyAgICAgICAgdmlkZW8uY29u
dHJvbHMgPSAiIgogICAgICAgICBydW4oJ2ludGVybmFscy5zZXRNZWRpYUVsZW1lbnRSZXN0cmlj
dGlvbnModmlkZW8sICJSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVDaGFuZ2UsT3ZlcnJp
ZGVVc2VyR2VzdHVyZVJlcXVpcmVtZW50Rm9yTWFpbkNvbnRlbnQiKScpOwogICAgICAgICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHZpZGVvKTsKIApAQCAtMjcsOCArMjgsOCBAQAogICAgIDwv
c2NyaXB0PgogICAgIDxzdHlsZT4KICAgICB2aWRlbyB7Ci0gICAgICAgIHdpZHRoOiAyMDBweDsK
LSAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgd2lkdGg6IDQwMHB4OworICAgICAgICBo
ZWlnaHQ6IDI5OXB4OwogICAgIH0KICAgICA8L3N0eWxlPgogPC9oZWFkPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>