<?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>198555</bug_id>
          
          <creation_ts>2019-06-04 21:55:51 -0700</creation_ts>
          <short_desc>[WinCairo][MediaFoundation] MediaPlayerPrivateMediaFoundation::naturalSize is going to return larger and larger sizes gradually in high DPI</short_desc>
          <delta_ts>2019-06-05 00:39:17 -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>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=172908</see_also>
          <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="Fujii Hironori">fujii</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>annulen</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1541888</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-06-04 21:55:51 -0700</bug_when>
    <thetext>[WinCairo][MediaFoundation] MediaPlayerPrivateMediaFoundation::naturalSize is going to return larger and larger sizes gradually

1. Start WebKitBuild\Debug\bin64\MiniBrowser.exe --wk1 
2. Open LayoutTests/media/video-controls.html
3. The video element is quickly getting very large size</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541889</commentid>
    <comment_count>1</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-06-04 21:56:06 -0700</bug_when>
    <thetext>I applied a following logging patch to MediaPlayerPrivateMediaFoundation::naturalSize.

&gt; diff --git a/Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp b/Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp
&gt; index 00b0d0884fc..790ec6b4a43 100644
&gt; --- a/Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp
&gt; +++ b/Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp
&gt; @@ -45,6 +45,8 @@
&gt;  #include &lt;wtf/MainThread.h&gt;
&gt;  #include &lt;wtf/NeverDestroyed.h&gt;
&gt;  
&gt; +#include &quot;Logging.h&quot;
&gt; +
&gt;  SOFT_LINK_LIBRARY(Mf);
&gt;  SOFT_LINK_OPTIONAL(Mf, MFCreateSourceResolver, HRESULT, STDAPICALLTYPE, (IMFSourceResolver**));
&gt;  SOFT_LINK_OPTIONAL(Mf, MFCreateMediaSession, HRESULT, STDAPICALLTYPE, (IMFAttributes*, IMFMediaSession**));
&gt; @@ -208,6 +210,7 @@ bool MediaPlayerPrivateMediaFoundation::supportsFullscreen() const
&gt;  FloatSize MediaPlayerPrivateMediaFoundation::naturalSize() const
&gt;  {
&gt;      LockHolder locker(m_cachedNaturalSizeLock);
&gt; +    LOG(Media, &quot;MediaPlayerPrivateMediaFoundation::naturalSize %fx%f&quot;, m_cachedNaturalSize.width(), m_cachedNaturalSize.height());
&gt;      return m_cachedNaturalSize;
&gt;  }
&gt;  

Here is the result:

&gt; MediaPlayerPrivateMediaFoundation::naturalSize 450.000000x225.000000
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 450.000000x225.000000
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 450.000000x225.000000
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 450.000000x225.000000
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 450.000000x225.000000
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 450.000000x225.000000
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 675.000000x337.000000
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 675.000000x337.000000
&gt; The thread 0x3e04 has exited with code 0 (0x0).
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 1012.000000x505.000000
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 1012.000000x505.000000
&gt; The thread 0x3c04 has exited with code 0 (0x0).
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 1518.000000x757.000000
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 1518.000000x757.000000
&gt; The thread 0x2f54 has exited with code 0 (0x0).
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 2277.000000x1135.000000
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 2277.000000x1135.000000
&gt; The thread 0x1d88 has exited with code 0 (0x0).
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 3415.000000x1702.000000
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 3415.000000x1702.000000
&gt; The thread 0x33a4 has exited with code 0 (0x0).
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 5122.000000x2553.000000
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 5122.000000x2553.000000
&gt; The thread 0x3aa8 has exited with code 0 (0x0).
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 7683.000000x3829.000000
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 7683.000000x3829.000000
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 7683.000000x3829.000000
&gt; The thread 0xa40 has exited with code 0 (0x0).
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 11524.000000x5743.000000
&gt; The thread 0x478c has exited with code 0 (0x0).
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 11524.000000x4366.000000
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 11524.000000x4366.000000
&gt; The thread 0x3678 has exited with code 0 (0x0).
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 11524.000000x4366.000000
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 11524.000000x4366.000000
&gt; MediaPlayerPrivateMediaFoundation::naturalSize 11524.000000x4366.000000
(...)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541898</commentid>
    <comment_count>2</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-06-04 22:36:26 -0700</bug_when>
    <thetext>I confirmed otter-browser-win64-1.0.81-weekly272-setup.exe also has the same issue.

https://shapeshed.com/examples/HTML5-video-element/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541900</commentid>
    <comment_count>3</comment_count>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2019-06-04 22:44:52 -0700</bug_when>
    <thetext>Could you please add m_size to log?

BTW, I believe that to make video larger something needs to invoke  MediaPlayerPrivateMediaFoundation::setSize(). Could you put a breakpoint there and show backtrace?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541903</commentid>
    <comment_count>4</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-06-04 23:11:19 -0700</bug_when>
    <thetext>Sure. https://gist.github.com/fujii/42c9bf9d01069b2c51f409b68d1ad0c9</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541905</commentid>
    <comment_count>5</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-06-04 23:20:51 -0700</bug_when>
    <thetext>I put a breakpoint at setNaturalSize, and got a interasting backtrace.

setSize → renegotiateMediaType → setNaturalSize

&gt; WebKit.dll!WebCore::MediaPlayerPrivateMediaFoundation::setNaturalSize(const WebCore::FloatSize &amp; size) Line 747	C++
&gt; WebKit.dll!WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::setMediaType(IMFMediaType * mediaType) Line 1642	C++
&gt; WebKit.dll!WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::renegotiateMediaType() Line 1691	C++
&gt; WebKit.dll!WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::SetVideoPosition(const MFVideoNormalizedRect * pnrcSource, tagRECT * const prcDest) Line 1426	C++
&gt; WebKit.dll!WebCore::MediaPlayerPrivateMediaFoundation::setSize(const WebCore::IntSize &amp; size) Line 392	C++
&gt; WebKit.dll!WebCore::MediaPlayer::setSize(const WebCore::IntSize &amp; size) Line 875	C++
&gt; WebKit.dll!WebCore::RenderVideo::updatePlayer() Line 259	C++
&gt; WebKit.dll!WebCore::RenderVideo::layout() Line 223	C++
&gt; WebKit.dll!WebCore::RenderElement::layoutIfNeeded() Line 122	C++
&gt; WebKit.dll!WebCore::RenderBlockFlow::layoutLineBoxes(bool relayoutChildren, WebCore::LayoutUnit &amp; repaintLogicalTop, WebCore::LayoutUnit &amp; repaintLogicalBottom) Line 1709	C++
&gt; WebKit.dll!WebCore::RenderBlockFlow::layoutInlineChildren(bool relayoutChildren, WebCore::LayoutUnit &amp; repaintLogicalTop, WebCore::LayoutUnit &amp; repaintLogicalBottom) Line 678	C++
&gt; WebKit.dll!WebCore::RenderBlockFlow::layoutBlock(bool relayoutChildren, WebCore::LayoutUnit pageLogicalHeight) Line 508	C++
&gt; WebKit.dll!WebCore::RenderBlock::layout() Line 603	C++
&gt; WebKit.dll!WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox &amp; child, WebCore::RenderBlockFlow::MarginInfo &amp; marginInfo, WebCore::LayoutUnit &amp; previousFloatLogicalBottom, WebCore::LayoutUnit &amp; maxFloatLogicalBottom) Line 738	C++
&gt; WebKit.dll!WebCore::RenderBlockFlow::layoutBlockChildren(bool relayoutChildren, WebCore::LayoutUnit &amp; maxFloatLogicalBottom) Line 637	C++
&gt; WebKit.dll!WebCore::RenderBlockFlow::layoutBlock(bool relayoutChildren, WebCore::LayoutUnit pageLogicalHeight) Line 511	C++
&gt; WebKit.dll!WebCore::RenderBlock::layout() Line 603	C++
&gt; WebKit.dll!WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox &amp; child, WebCore::RenderBlockFlow::MarginInfo &amp; marginInfo, WebCore::LayoutUnit &amp; previousFloatLogicalBottom, WebCore::LayoutUnit &amp; maxFloatLogicalBottom) Line 738	C++
&gt; WebKit.dll!WebCore::RenderBlockFlow::layoutBlockChildren(bool relayoutChildren, WebCore::LayoutUnit &amp; maxFloatLogicalBottom) Line 637	C++
&gt; WebKit.dll!WebCore::RenderBlockFlow::layoutBlock(bool relayoutChildren, WebCore::LayoutUnit pageLogicalHeight) Line 511	C++
&gt; WebKit.dll!WebCore::RenderBlock::layout() Line 603	C++
&gt; WebKit.dll!WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox &amp; child, WebCore::RenderBlockFlow::MarginInfo &amp; marginInfo, WebCore::LayoutUnit &amp; previousFloatLogicalBottom, WebCore::LayoutUnit &amp; maxFloatLogicalBottom) Line 738	C++
&gt; WebKit.dll!WebCore::RenderBlockFlow::layoutBlockChildren(bool relayoutChildren, WebCore::LayoutUnit &amp; maxFloatLogicalBottom) Line 637	C++
&gt; WebKit.dll!WebCore::RenderBlockFlow::layoutBlock(bool relayoutChildren, WebCore::LayoutUnit pageLogicalHeight) Line 511	C++
&gt; WebKit.dll!WebCore::RenderBlock::layout() Line 603	C++
&gt; WebKit.dll!WebCore::RenderView::layout() Line 186	C++
&gt; WebKit.dll!WebCore::FrameViewLayoutContext::layout() Line 212	C++
&gt; WebKit.dll!WebCore::Document::updateLayout() Line 2079	C++
&gt; WebKit.dll!WebCore::Document::updateLayoutIgnorePendingStylesheets(WebCore::Document::RunPostLayoutTasks runPostLayoutTasks) Line 2094	C++
&gt; WebKit.dll!WebCore::Element::boundingClientRect() Line 1464	C++
&gt; WebKit.dll!WebCore::Element::getBoundingClientRect() Line 1476	C++
&gt; WebKit.dll!WebCore::jsElementPrototypeFunctionGetBoundingClientRectBody(JSC::ExecState * state, WebCore::JSElement * castedThis, JSC::ThrowScope &amp; throwScope) Line 3923	C++
&gt; WebKit.dll!WebCore::IDLOperation&lt;WebCore::JSElement&gt;::call&lt;&amp;WebCore::jsElementPrototypeFunctionGetBoundingClientRectBody,WebCore::CastedThisErrorBehavior::Throw&gt;(JSC::ExecState &amp; state, const char * operationName) Line 53	C++
&gt; WebKit.dll!WebCore::jsElementPrototypeFunctionGetBoundingClientRect(JSC::ExecState * state) Line 3928	C++
&gt; [External Code]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541906</commentid>
    <comment_count>6</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-06-04 23:41:20 -0700</bug_when>
    <thetext>Oh, I forgot to mention the important information I&apos;m using 150% scale factor high DPI display.

&gt; MediaPlayerPrivateMediaFoundation::naturalSize m_size=450x225 m_cachedNaturalSize=675.0x337.0

(/ 675.0 450)
→ 1.5

(/ 337.0 225)
→ 1.4977777777777779

Surprisingly, it still happens after I changed display scale factor to 100% manually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541907</commentid>
    <comment_count>7</comment_count>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2019-06-04 23:47:17 -0700</bug_when>
    <thetext>It seems this is happening because naturalSize is larger than size, see m_size=300x150 m_cachedNaturalSize=450.0x225.0 in the beginning. It cause relayout to adjust size of &lt;video&gt;, which makes video frame larger and naturalSize grows futher, and so on</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541908</commentid>
    <comment_count>8</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-06-05 00:07:13 -0700</bug_when>
    <thetext>Yup.
My &apos;deviceScaleFactor&apos; is 1.5 in MediaPlayerPrivateMediaFoundation::setSize.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541909</commentid>
    <comment_count>9</comment_count>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2019-06-05 00:10:33 -0700</bug_when>
    <thetext>So, it seems that we need to scale naturalSize down by deviceScaleFactor. Could you prepare the patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541910</commentid>
    <comment_count>10</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-06-05 00:13:26 -0700</bug_when>
    <thetext>I think so. I will try.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541912</commentid>
    <comment_count>11</comment_count>
      <attachid>371379</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-06-05 00:39:17 -0700</bug_when>
    <thetext>Created attachment 371379
WIP patch

* Scale naturalSize down by deviceScaleFactor.

This patch actually fixes the video size bloating issue, but the video size is too small. 🤔</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>371379</attachid>
            <date>2019-06-05 00:39:17 -0700</date>
            <delta_ts>2019-06-05 00:39:17 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>wip.patch</filename>
            <type>text/plain</type>
            <size>3341</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBs
YXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbi5jcHAKaW5kZXgg
MDBiMGQwODg0ZmMuLjgzOTA5ZTU5ZDY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFGb3VuZGF0aW9uLmNwcApAQCAtOTgsNiArOTgsOSBAQCBNZWRpYVBsYXllclByaXZh
dGVNZWRpYUZvdW5kYXRpb246Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbihNZWRp
YVBsYXllcgogewogICAgIGNyZWF0ZVNlc3Npb24oKTsKICAgICBjcmVhdGVWaWRlb1dpbmRvdygp
OworCisgICAgaWYgKG1fcGxheWVyICYmIG1fcGxheWVyLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigp
ICYmIG1fcGxheWVyLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5kb2N1bWVudCgpKQorICAgICAg
ICBtX2RldmljZVNjYWxlRmFjdG9yID0gbV9wbGF5ZXItPmNhY2hlZFJlc291cmNlTG9hZGVyKCkt
PmRvY3VtZW50KCktPmRldmljZVNjYWxlRmFjdG9yKCk7CiB9CiAKIE1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhRm91bmRhdGlvbjo6fk1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbigpCkBA
IC0zNTQsNiArMzU3LDcgQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246
OmRpZExvYWRpbmdQcm9ncmVzcygpIGNvbnN0CiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
Rm91bmRhdGlvbjo6c2V0U2l6ZShjb25zdCBJbnRTaXplJiBzaXplKQogewogICAgIG1fc2l6ZSA9
IHNpemU7CisgICAgbV9zaXplLnNjYWxlKG1fZGV2aWNlU2NhbGVGYWN0b3IpOwogCiAgICAgYXV0
byB2aWRlb0Rpc3BsYXkgPSB0aGlzLT52aWRlb0Rpc3BsYXkoKTsKICAgICBpZiAoIXZpZGVvRGlz
cGxheSkKQEAgLTM2MiwxMSArMzY2LDggQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZv
dW5kYXRpb246OnNldFNpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSkKICAgICBJbnRQb2ludCBwb3Np
dGlvbkluV2luZG93KG1fbGFzdFBhaW50UmVjdC5sb2NhdGlvbigpKTsKIAogICAgIEZyYW1lVmll
dyogdmlldyA9IG51bGxwdHI7Ci0gICAgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IgPSAxLjBmOwot
ICAgIGlmIChtX3BsYXllciAmJiBtX3BsYXllci0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKSAmJiBt
X3BsYXllci0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+ZG9jdW1lbnQoKSkgeworICAgIGlmICht
X3BsYXllciAmJiBtX3BsYXllci0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKSAmJiBtX3BsYXllci0+
Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+ZG9jdW1lbnQoKSkKICAgICAgICAgdmlldyA9IG1fcGxh
eWVyLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5kb2N1bWVudCgpLT52aWV3KCk7Ci0gICAgICAg
IGRldmljZVNjYWxlRmFjdG9yID0gbV9wbGF5ZXItPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPmRv
Y3VtZW50KCktPmRldmljZVNjYWxlRmFjdG9yKCk7Ci0gICAgfQogCiAgICAgTGF5b3V0UG9pbnQg
c2Nyb2xsUG9zaXRpb247CiAgICAgaWYgKHZpZXcpIHsKQEAgLTM3NiwxMCArMzc3LDEwIEBAIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpzZXRTaXplKGNvbnN0IEludFNp
emUmIHNpemUpCiAKICAgICBwb3NpdGlvbkluV2luZG93Lm1vdmUoLXNjcm9sbFBvc2l0aW9uLngo
KS50b0ludCgpLCAtc2Nyb2xsUG9zaXRpb24ueSgpLnRvSW50KCkpOwogCi0gICAgaW50IHggPSBw
b3NpdGlvbkluV2luZG93LngoKSAqIGRldmljZVNjYWxlRmFjdG9yOwotICAgIGludCB5ID0gcG9z
aXRpb25JbldpbmRvdy55KCkgKiBkZXZpY2VTY2FsZUZhY3RvcjsKLSAgICBpbnQgdyA9IG1fc2l6
ZS53aWR0aCgpICogZGV2aWNlU2NhbGVGYWN0b3I7Ci0gICAgaW50IGggPSBtX3NpemUuaGVpZ2h0
KCkgKiBkZXZpY2VTY2FsZUZhY3RvcjsKKyAgICBpbnQgeCA9IHBvc2l0aW9uSW5XaW5kb3cueCgp
OworICAgIGludCB5ID0gcG9zaXRpb25JbldpbmRvdy55KCk7CisgICAgaW50IHcgPSBtX3NpemUu
d2lkdGgoKTsKKyAgICBpbnQgaCA9IG1fc2l6ZS5oZWlnaHQoKTsKIAogICAgIGlmIChtX2h3bmRW
aWRlbykKICAgICAgICAgOjpNb3ZlV2luZG93KG1faHduZFZpZGVvLCB4LCB5LCB3LCBoLCBGQUxT
RSk7CkBAIC03NDMsNiArNzQ0LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5k
YXRpb246OnNldE5hdHVyYWxTaXplKGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSkKIHsKICAgICBMb2Nr
SG9sZGVyIGxvY2tlcihtX2NhY2hlZE5hdHVyYWxTaXplTG9jayk7CiAgICAgbV9jYWNoZWROYXR1
cmFsU2l6ZSA9IHNpemU7CisgICAgbV9jYWNoZWROYXR1cmFsU2l6ZS5zY2FsZSgxIC8gbV9kZXZp
Y2VTY2FsZUZhY3Rvcik7CiB9CiAKIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0
aW9uOjpjcmVhdGVPdXRwdXROb2RlKENPTVB0cjxJTUZTdHJlYW1EZXNjcmlwdG9yPiBzb3VyY2VT
RCwgQ09NUHRyPElNRlRvcG9sb2d5Tm9kZT4mIG5vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFGb3VuZGF0aW9uLmgKaW5kZXggZDg1ZjE3NTkwMjAuLmIzNWRmMzYyZDdlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbi5oCkBAIC0xMTQs
NiArMTE0LDcgQEAgcHJpdmF0ZToKICAgICBNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlIG1fbmV0
d29ya1N0YXRlOwogICAgIE1lZGlhUGxheWVyOjpSZWFkeVN0YXRlIG1fcmVhZHlTdGF0ZTsKICAg
ICBGbG9hdFJlY3QgbV9sYXN0UGFpbnRSZWN0OworICAgIGZsb2F0IG1fZGV2aWNlU2NhbGVGYWN0
b3IgeyAxIH07CiAKICAgICBjbGFzcyBNZWRpYVBsYXllckxpc3RlbmVyOwogICAgIEhhc2hTZXQ8
TWVkaWFQbGF5ZXJMaXN0ZW5lcio+IG1fbGlzdGVuZXJzOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>