<?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>22790</bug_id>
          
          <creation_ts>2008-12-10 10:56:14 -0800</creation_ts>
          <short_desc>[Transforms] MediaPlayer::setRect() makes no sense with transforms</short_desc>
          <delta_ts>2009-03-06 11:26:39 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</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>15670</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>102123</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-12-10 10:56:14 -0800</bug_when>
    <thetext>MediaPlayer has a setRect() method. However, this implies that the video is not rotated, so it makes no sense if there is a transform on the video, or an ancestor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112618</commentid>
    <comment_count>1</comment_count>
      <attachid>28366</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2009-03-06 10:28:14 -0800</bug_when>
    <thetext>Created attachment 28366
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112622</commentid>
    <comment_count>2</comment_count>
      <attachid>28366</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-03-06 10:37:03 -0800</bug_when>
    <thetext>Comment on attachment 28366
proposed patch

&gt; Index: WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp
&gt; ===================================================================

&gt; -    //TODO: m_rect vs rect?
&gt; +    //TODO: m_size vs rect?

Is the TODO still applicable?

&gt; Index: WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.h
&gt; ===================================================================

&gt; +    IntRect m_rect;

I have a minor preference for just storing a size in the member var,
and constructing a (0,0,size) rect where you need one.

&gt; Index: WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm

&gt; +    , m_rect(IntRect())

No need to initialize. IntRect has a ctor.

&gt; +    	if (m_player-&gt;inMediaDocument() &amp;&amp; r != m_rect) {
&gt; +			// the QTMovieView needs to be placed in the proper location for document mode
&gt; +        	m_rect = r;
&gt; +			[view setFrame:m_rect];

Tabs here?

r=me with those comments addressed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112625</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2009-03-06 10:52:12 -0800</bug_when>
    <thetext>&gt;&gt; Index: WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp
&gt;&gt; ===================================================================
&gt;&gt;
&gt;&gt; -    //TODO: m_rect vs rect?
&gt;&gt; +    //TODO: m_size vs rect?
&gt;
&gt; Is the TODO still applicable?

I don&apos;t know if it is still applicable so I left the comment.

&gt;&gt; Index: WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.h
&gt;&gt; ===================================================================
&gt;&gt;
&gt;&gt; +    IntRect m_rect;
&gt;
&gt;I have a minor preference for just storing a size in the member var,
&gt;and constructing a (0,0,size) rect where you need one.

It make sense to store the Rect passed to  paint() when we are in a media
document so I think I will leave the member var as a rect</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112628</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2009-03-06 11:10:12 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/41486</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28366</attachid>
            <date>2009-03-06 10:28:14 -0800</date>
            <delta_ts>2009-03-06 10:37:03 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>14224</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MTQ2NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDcgQEAKKzIwMDktMDMtMDYgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBh
cHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzkwCisgICAgICAg
IEJ1ZyAyMjc5MDogW1RyYW5zZm9ybXNdIE1lZGlhUGxheWVyOjpzZXRSZWN0KCkgbWFrZXMgbm8g
c2Vuc2Ugd2l0aCB0cmFuc2Zvcm1zCisgICAgICAgIFJlcGxhY2UgbWVkaWEgZW5naW5lIHNldFJl
Y3Qgd2l0aCBzZXRTaXplIHNpbmNlIHRoZXkgZG9uJ3QgdXNlIGFib3V0IHRoZSAKKyAgICAgICAg
cG9zaXRpb24gYW55d2F5LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TnVsbE1lZGlhUGxheWVyUHJpdmF0ZTo6c2V0U2l6
ZSk6IENoYW5nZWQgZnJvbSBzZXRSZWN0LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6
OnNldFNpemUpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
ci5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OnNpemUpOiBDaGFuZ2VkIGZyb20g
cmVjdCgpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRl
Lmg6IENoYW5nZWQgc2V0UmVjdCB0byBzZXRTaXplLgorCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vTWVkaWFQbGF5ZXJQcml2YXRlQ2hyb21pdW0uaDogRGl0dG8uCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
LmNwcDogCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGU6Ok1lZGlhUGxheWVy
UHJpdmF0ZSk6IEluaXRpYWxpemUgbV9zaXplIGluc3RlYWQgb2YgbV9yZWN0CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGU6OnNldFNpemUpOiBDaGFuZ2VkIGZyb20gc2V0UmVj
dAorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlOjpwYWludCk6IHVwZGF0ZSBj
b21tZW50CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lci5oOiBtX3JlY3QgLT4gbV9zaXplLgorCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lmg6ICBtX3JlY3QKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW06CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGU6Ok1lZGlhUGxheWVyUHJpdmF0ZSk6IEluaXRp
YWxpemUgbV9yZWN0LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlOjpjcmVh
dGVRVE1vdmllVmlldyk6IHNldFJlY3QtPiBzZXRTaXplLgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFQbGF5ZXJQcml2YXRlOjpzZXRTaXplKTogQ2hhbmdlZCBmcm9tIHNldFJlY3QKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZTo6cGFpbnQpOiBDYWxsIHZpZXc6c2V0RnJhbWU6
IHdoZW4gaW4gYSBtZWRpYSBkb2N1bWVudCBzbyAKKyAgICAgICAgdGhlIG1vdmllIGlzIGRyYXdu
IGluIHRoZSBjb3JyZWN0IGxvY2F0aW9uLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvTWVkaWFQbGF5ZXJQcml2YXRlUGhvbm9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZTo6c2V0U2l6ZSk6ICBDaGFuZ2VkIGZyb20gc2V0UmVjdAorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL3F0L01lZGlhUGxheWVyUHJpdmF0ZVBob25vbi5oOgorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1aWNrVGltZVdp
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGU6OnNldFNpemUpOiAg
Q2hhbmdlZCBmcm9tIHNldFJlY3QKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVk
aWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lV2luLmg6CisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVmlkZW8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlkZW86OnVwZGF0ZVBsYXll
cik6IENhbGwgc2V0U2l6ZSBpbnN0ZWFkIG9mIHNldFJlY3QuCisKIDIwMDktMDMtMDUgIEp1c3Rp
biBHYXJjaWEgIDxqdXN0aW4uZ2FyY2lhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBEYXJpbiBBZGxlci4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuY3BwCShyZXZpc2lvbiA0MTQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Myw3ICs5Myw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHVuc2lnbmVkIHRvdGFsQnl0ZXMoKSBjb25zdCB7IHJldHVybiAwOyB9CiAgICAg
dmlydHVhbCB1bnNpZ25lZCBieXRlc0xvYWRlZCgpIGNvbnN0IHsgcmV0dXJuIDA7IH0KIAotICAg
IHZpcnR1YWwgdm9pZCBzZXRSZWN0KGNvbnN0IEludFJlY3QmKSB7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgc2V0U2l6ZShjb25zdCBJbnRTaXplJikgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnQo
R3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYpIHsgfQogCkBAIC0zNTcsMTAgKzM1Nywx
MCBAQCB1bnNpZ25lZCBNZWRpYVBsYXllcjo6dG90YWxCeXRlcygpCiAgICAgcmV0dXJuIG1fcHJp
dmF0ZS0+dG90YWxCeXRlcygpOwogfQogCi12b2lkIE1lZGlhUGxheWVyOjpzZXRSZWN0KGNvbnN0
IEludFJlY3QmIHIpIAordm9pZCBNZWRpYVBsYXllcjo6c2V0U2l6ZShjb25zdCBJbnRTaXplJiBz
aXplKQogeyAKLSAgICBtX3JlY3QgPSByOwotICAgIG1fcHJpdmF0ZS0+c2V0UmVjdChyKTsKKyAg
ICBtX3NpemUgPSBzaXplOworICAgIG1fcHJpdmF0ZS0+c2V0U2l6ZShzaXplKTsKIH0KIAogYm9v
bCBNZWRpYVBsYXllcjo6dmlzaWJsZSgpIGNvbnN0CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVBsYXllci5oCShyZXZpc2lvbiA0MTQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNzcsMTEgKzc3LDggQEAg
cHVibGljOgogICAgIEZyYW1lVmlldyogZnJhbWVWaWV3KCkgeyByZXR1cm4gbV9mcmFtZVZpZXc7
IH0KICAgICBib29sIGluTWVkaWFEb2N1bWVudCgpOwogICAgIAotICAgIC8vIEZJWE1FOiBpdCB3
b3VsZCBiZSBiZXR0ZXIgdG8ganVzdCBoYXZlIGEgZ2V0dGVyIGFuZCBzZXR0ZXIgZm9yIHNpemUu
Ci0gICAgLy8gVGhpcyBpcyBjdXJyZW50bHkgYW4gYWJzb2x1dGUgcmVjdCwgd2hpY2ggaXMgbm90
IGFwcHJvcHJpYXRlIGZvcgotICAgIC8vIGNvbnRlbnQgd2l0aCB0cmFuc2Zvcm1zCi0gICAgSW50
UmVjdCByZWN0KCkgY29uc3QgeyByZXR1cm4gbV9yZWN0OyB9Ci0gICAgdm9pZCBzZXRSZWN0KGNv
bnN0IEludFJlY3QmIHIpOworICAgIEludFNpemUgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6
ZTsgfQorICAgIHZvaWQgc2V0U2l6ZShjb25zdCBJbnRTaXplJiBzaXplKTsKICAgICAKICAgICB2
b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlw
ZSk7CiAgICAgdm9pZCBjYW5jZWxMb2FkKCk7CkBAIC0xNDYsNyArMTQzLDcgQEAgcHJpdmF0ZToK
ICAgICBPd25QdHI8TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKj4gbV9wcml2YXRlOwogICAg
IHZvaWQqIG1fY3VycmVudE1lZGlhRW5naW5lOwogICAgIEZyYW1lVmlldyogbV9mcmFtZVZpZXc7
Ci0gICAgSW50UmVjdCBtX3JlY3Q7CisgICAgSW50U2l6ZSBtX3NpemU7CiAgICAgYm9vbCBtX3Zp
c2libGU7CiAgICAgZmxvYXQgbV9yYXRlOwogICAgIGZsb2F0IG1fdm9sdW1lOwpJbmRleDogV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCShyZXZpc2lv
biA0MTQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTc3LDcgKzc3LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
dW5zaWduZWQgdG90YWxCeXRlcygpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHVuc2lnbmVkIGJ5
dGVzTG9hZGVkKCkgY29uc3QgPSAwOwogCi0gICAgdmlydHVhbCB2b2lkIHNldFJlY3QoY29uc3Qg
SW50UmVjdCYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2l6ZShjb25zdCBJbnRTaXplJikg
PSAwOwogCiAgICAgdmlydHVhbCB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IElu
dFJlY3QmKSA9IDAgOwogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L01lZGlhUGxheWVyUHJpdmF0ZUNocm9taXVtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9NZWRpYVBsYXllclByaXZhdGVDaHJvbWl1bS5oCShyZXZp
c2lvbiA0MTQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTWVkaWFQ
bGF5ZXJQcml2YXRlQ2hyb21pdW0uaAkod29ya2luZyBjb3B5KQpAQCAtNzQsNyArNzQsNyBAQCBw
dWJsaWM6CiAgICAgdW5zaWduZWQgdG90YWxCeXRlcygpIGNvbnN0OwogCiAgICAgdm9pZCBzZXRW
aXNpYmxlKGJvb2wpOwotICAgIHZvaWQgc2V0UmVjdChjb25zdCBJbnRSZWN0Jik7CisgICAgdm9p
ZCB2b2lkIHNldFNpemUoY29uc3QgSW50U2l6ZSYpOwogCiAgICAgdm9pZCBwYWludChHcmFwaGlj
c0NvbnRleHQqLCBjb25zdCBJbnRSZWN0Jik7CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3RrL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
LmNwcAkocmV2aXNpb24gNDE0NjcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjUsNyAr
MTI1LDcgQEAgTWVkaWFQbGF5ZXJQcml2YXRlOjpNZWRpYVBsYXllclByaXZhdGUoTQogICAgICwg
bV9yZWFkeVN0YXRlKE1lZGlhUGxheWVyOjpEYXRhVW5hdmFpbGFibGUpCiAgICAgLCBtX3N0YXJ0
ZWRQbGF5aW5nKGZhbHNlKQogICAgICwgbV9pc1N0cmVhbWluZyhmYWxzZSkKLSAgICAsIG1fcmVj
dChJbnRSZWN0KCkpCisgICAgLCBtX3NpemUoSW50U2l6ZSgpKQogICAgICwgbV92aXNpYmxlKHRy
dWUpCiB7CiAKQEAgLTU2MSw5ICs1NjEsOSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6bG9h
ZGluZ0ZhaWxlZCgpCiAgICAgfQogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6c2V0UmVj
dChjb25zdCBJbnRSZWN0JiByZWN0KQordm9pZCBNZWRpYVBsYXllclByaXZhdGU6OnNldFNpemUo
Y29uc3QgSW50U2l6ZSYgc2l6ZSkKIHsKLSAgICBtX3JlY3QgPSByZWN0OworICAgIG1fc2l6ZSA9
IHNpemU7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpzZXRWaXNpYmxlKGJvb2wgdmlz
aWJsZSkKQEAgLTU4NCw3ICs1ODQsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6cGFpbnQo
R3JhcGhpY3NDCiAgICAgaWYgKCFtX3Zpc2libGUpCiAgICAgICAgIHJldHVybjsKIAotICAgIC8v
VE9ETzogbV9yZWN0IHZzIHJlY3Q/CisgICAgLy9UT0RPOiBtX3NpemUgdnMgcmVjdD8KICAgICBj
YWlyb190KiBjciA9IGNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpOwogCiAgICAgY2Fpcm9fc2F2
ZShjcik7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2d0ay9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAkocmV2aXNpb24gNDE0NjcpCisrKyBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIu
aAkod29ya2luZyBjb3B5KQpAQCAtODgsNyArODgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIHVuc2lnbmVkIHRvdGFsQnl0ZXMoKSBjb25zdDsKIAogICAgICAgICB2b2lkIHNldFZp
c2libGUoYm9vbCk7Ci0gICAgICAgIHZvaWQgc2V0UmVjdChjb25zdCBJbnRSZWN0Jik7CisgICAg
ICAgIHZvaWQgc2V0U2l6ZShjb25zdCBJbnRTaXplJik7CiAKICAgICAgICAgdm9pZCBsb2FkU3Rh
dGVDaGFuZ2VkKCk7CiAgICAgICAgIHZvaWQgcmF0ZUNoYW5nZWQoKTsKQEAgLTEzMSw3ICsxMzEs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIE1lZGlhUGxheWVyOjpSZWFkeVN0YXRl
IG1fcmVhZHlTdGF0ZTsKICAgICAgICAgYm9vbCBtX3N0YXJ0ZWRQbGF5aW5nOwogICAgICAgICBt
dXRhYmxlIGJvb2wgbV9pc1N0cmVhbWluZzsKLSAgICAgICAgSW50UmVjdCBtX3JlY3Q7CisgICAg
ICAgIEludFNpemUgbV9zaXplOwogICAgICAgICBib29sIG1fdmlzaWJsZTsKICAgICAgICAgY2Fp
cm9fc3VyZmFjZV90KiBtX3N1cmZhY2U7CiAgICAgfTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaAkocmV2
aXNpb24gNDE0NjcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXll
clByaXZhdGVRVEtpdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYsNyArMTA2LDcgQEAgcHJpdmF0
ZToKICAgICB1bnNpZ25lZCB0b3RhbEJ5dGVzKCkgY29uc3Q7CiAgICAgCiAgICAgdm9pZCBzZXRW
aXNpYmxlKGJvb2wpOwotICAgIHZvaWQgc2V0UmVjdChjb25zdCBJbnRSZWN0JiByKTsKKyAgICB2
b2lkIHNldFNpemUoY29uc3QgSW50U2l6ZSYpOwogICAgIAogICAgIHZvaWQgcGFpbnQoR3JhcGhp
Y3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYpOwogCkBAIC0xNDQsNiArMTQ0LDcgQEAgcHJpdmF0
ZToKICAgICBib29sIG1fc3RhcnRlZFBsYXlpbmc7CiAgICAgYm9vbCBtX2lzU3RyZWFtaW5nOwog
ICAgIGJvb2wgbV92aXNpYmxlOworICAgIEludFJlY3QgbV9yZWN0OwogI2lmIERSQVdfRlJBTUVf
UkFURQogICAgIGludCAgbV9mcmFtZUNvdW50V2hpbGVQbGF5aW5nOwogICAgIGRvdWJsZSBtX3Rp
bWVTdGFydGVkUGxheWluZzsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01l
ZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCShyZXZpc2lvbiA0MTQ2NykK
KysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xODcsNiArMTg3LDcgQEAgTWVkaWFQbGF5ZXJQcml2YXRl
OjpNZWRpYVBsYXllclByaXZhdGUoTQogICAgICwgbV9zdGFydGVkUGxheWluZyhmYWxzZSkKICAg
ICAsIG1faXNTdHJlYW1pbmcoZmFsc2UpCiAgICAgLCBtX3Zpc2libGUoZmFsc2UpCisgICAgLCBt
X3JlY3QoSW50UmVjdCgpKQogI2lmIERSQVdfRlJBTUVfUkFURQogICAgICwgbV9mcmFtZUNvdW50
V2hpbGVQbGF5aW5nKDApCiAgICAgLCBtX3RpbWVTdGFydGVkUGxheWluZygwKQpAQCAtMjk2LDcg
KzI5Nyw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpjcmVhdGVRVE1vdmllVmkKICAgICB9
CiAKICAgICBtX3F0TW92aWVWaWV3LmFkb3B0TlMoW1tRVE1vdmllVmlldyBhbGxvY10gaW5pdF0p
OwotICAgIHNldFJlY3QobV9wbGF5ZXItPnJlY3QoKSk7CisgICAgc2V0U2l6ZShtX3BsYXllci0+
c2l6ZSgpKTsKICAgICBOU1ZpZXcqIHBhcmVudFZpZXcgPSBtX3BsYXllci0+ZnJhbWVWaWV3KCkt
PmRvY3VtZW50VmlldygpOwogICAgIFtwYXJlbnRWaWV3IGFkZFN1YnZpZXc6bV9xdE1vdmllVmll
dy5nZXQoKV07CiAjaWZkZWYgQlVJTERJTkdfT05fVElHRVIKQEAgLTczMiwxOCArNzMzLDE5IEBA
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpkaWRFbmQoKQogICAgIG1fcGxheWVyLT50aW1lQ2hh
bmdlZCgpOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6c2V0UmVjdChjb25zdCBJbnRS
ZWN0JiByKSAKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpzZXRTaXplKGNvbnN0IEludFNpemUm
IHNpemUpIAogeyAKICAgICBpZiAoIW1fcXRNb3ZpZVZpZXcpIAogICAgICAgICByZXR1cm47CiAK
KwltX3JlY3Quc2V0U2l6ZShzaXplKTsKICAgICBpZiAobV9wbGF5ZXItPmluTWVkaWFEb2N1bWVu
dCgpKQogICAgICAgICAvLyBXZSBuZWVkIHRoZSBRVE1vdmllVmlldyB0byBiZSBwbGFjZWQgaW4g
dGhlIHByb3BlciBsb2NhdGlvbiBmb3IgZG9jdW1lbnQgbW9kZS4KLSAgICAgICAgW21fcXRNb3Zp
ZVZpZXcuZ2V0KCkgc2V0RnJhbWU6cl07CisgICAgICAgIFttX3F0TW92aWVWaWV3LmdldCgpIHNl
dEZyYW1lOm1fcmVjdF07CiAgICAgZWxzZSB7CiAgICAgICAgIC8vIFdlIGRvbid0IHJlYWxseSBu
ZWVkIHRoZSBRVE1vdmllVmlldyBpbiBhbnkgc3BlY2lmaWMgbG9jYXRpb24gc28gbGV0J3MganVz
dCBnZXQgaXQgb3V0IG9mIHRoZSB3YXkKICAgICAgICAgLy8gd2hlcmUgaXQgd29uJ3QgaW50ZXJj
ZXB0IGV2ZW50cyBvciB0cnkgdG8gYnJpbmcgdXAgdGhlIGNvbnRleHQgbWVudS4KLSAgICAgICAg
SW50UmVjdCBmYXJBd2F5QnV0Q29ycmVjdFNpemUocik7CisgICAgICAgIEludFJlY3QgZmFyQXdh
eUJ1dENvcnJlY3RTaXplKG1fcmVjdCk7CiAgICAgICAgIGZhckF3YXlCdXRDb3JyZWN0U2l6ZS5t
b3ZlKC0xMDAwMDAwLCAtMTAwMDAwMCk7CiAgICAgICAgIFttX3F0TW92aWVWaWV3LmdldCgpIHNl
dEZyYW1lOmZhckF3YXlCdXRDb3JyZWN0U2l6ZV07CiAgICAgfSAgIApAQCAtODAzLDggKzgwNSwx
NCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6cGFpbnQoR3JhcGhpY3NDCiAgICAgICAgIFtO
U0dyYXBoaWNzQ29udGV4dCBzZXRDdXJyZW50Q29udGV4dDpuZXdDb250ZXh0XTsKICAgICAgICAg
WyhpZDxXZWJLaXRWaWRlb1JlbmRlcmluZ0RldGFpbHM+KXF0VmlkZW9SZW5kZXJlciBkcmF3SW5S
ZWN0OnBhaW50UmVjdF07CiAgICAgICAgIFtOU0dyYXBoaWNzQ29udGV4dCByZXN0b3JlR3JhcGhp
Y3NTdGF0ZV07Ci0gICAgfSBlbHNlCisgICAgfSBlbHNlIHsKKyAgICAJaWYgKG1fcGxheWVyLT5p
bk1lZGlhRG9jdW1lbnQoKSAmJiByICE9IG1fcmVjdCkgeworCQkJLy8gdGhlIFFUTW92aWVWaWV3
IG5lZWRzIHRvIGJlIHBsYWNlZCBpbiB0aGUgcHJvcGVyIGxvY2F0aW9uIGZvciBkb2N1bWVudCBt
b2RlCisgICAgICAgIAltX3JlY3QgPSByOworCQkJW3ZpZXcgc2V0RnJhbWU6bV9yZWN0XTsKKyAg
ICAgICAgfQogICAgICAgICBbdmlldyBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTpwYWludFJl
Y3QgaW5Db250ZXh0Om5ld0NvbnRleHRdOworICAgIH0KIAogI2lmIERSQVdfRlJBTUVfUkFURQog
ICAgIC8vIERyYXcgdGhlIGZyYW1lIHJhdGUgb25seSBhZnRlciBoYXZpbmcgcGxheWVkIG1vcmUg
dGhhbiAxMCBmcmFtZXMuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L01lZGlh
UGxheWVyUHJpdmF0ZVBob25vbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9xdC9NZWRpYVBsYXllclByaXZhdGVQaG9ub24uY3BwCShyZXZpc2lvbiA0MTQ2NykK
KysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5ZXJQcml2YXRlUGhvbm9u
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzc3LDE5ICszNzcsMTggQEAgdm9pZCBNZWRpYVBsYXll
clByaXZhdGU6OnNldFZpc2libGUoYm9vbAogICAgIG1fdmlkZW9XaWRnZXQtPnNldFZpc2libGUo
bV9pc1Zpc2libGUpOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6c2V0UmVjdChjb25z
dCBJbnRSZWN0JiBuZXdSZWN0KQordm9pZCBNZWRpYVBsYXllclByaXZhdGU6OnNldFNpemUoY29u
c3QgSW50U2l6ZSYgbmV3U2l6ZSkKIHsKICAgICBpZiAoIW1fdmlkZW9XaWRnZXQpCiAgICAgICAg
IHJldHVybjsKIAotICAgIExPRyhNZWRpYSwgIk1lZGlhUGxheWVyUHJpdmF0ZVBob25vbjo6c2V0
UmVjdCglZCwlZCAlZHglZCkiLAotICAgICAgICAgICAgICAgIG5ld1JlY3QueCgpLCBuZXdSZWN0
LnkoKSwKLSAgICAgICAgICAgICAgICBuZXdSZWN0LndpZHRoKCksIG5ld1JlY3QuaGVpZ2h0KCkp
OworICAgIExPRyhNZWRpYSwgIk1lZGlhUGxheWVyUHJpdmF0ZVBob25vbjo6c2V0U2l6ZSglZCwl
ZCkiLAorICAgICAgICAgICAgICAgIG5ld1NpemUud2lkdGgoKSwgbmV3U2l6ZS5oZWlnaHQoKSk7
CiAKICAgICBRUmVjdCBjdXJyZW50UmVjdCA9IG1fdmlkZW9XaWRnZXQtPnJlY3QoKTsKIAotICAg
IGlmIChuZXdSZWN0LndpZHRoKCkgIT0gY3VycmVudFJlY3Qud2lkdGgoKSB8fCBuZXdSZWN0Lmhl
aWdodCgpICE9IGN1cnJlbnRSZWN0LmhlaWdodCgpKQotICAgICAgICBtX3ZpZGVvV2lkZ2V0LT5y
ZXNpemUobmV3UmVjdC53aWR0aCgpLCBuZXdSZWN0LmhlaWdodCgpKTsKKyAgICBpZiAobmV3U2l6
ZS53aWR0aCgpICE9IGN1cnJlbnRSZWN0LndpZHRoKCkgfHwgbmV3U2l6ZS5oZWlnaHQoKSAhPSBj
dXJyZW50UmVjdC5oZWlnaHQoKSkKKyAgICAgICAgbV92aWRlb1dpZGdldC0+cmVzaXplKG5ld1Np
emUud2lkdGgoKSwgbmV3U2l6ZS5oZWlnaHQoKSk7CiB9CiAKIEludFNpemUgTWVkaWFQbGF5ZXJQ
cml2YXRlOjpuYXR1cmFsU2l6ZSgpIGNvbnN0CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3F0L01lZGlhUGxheWVyUHJpdmF0ZVBob25vbi5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvTWVkaWFQbGF5ZXJQcml2YXRlUGhvbm9uLmgJKHJldmlzaW9u
IDQxNDY3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9NZWRpYVBsYXllclByaXZh
dGVQaG9ub24uaAkod29ya2luZyBjb3B5KQpAQCAtMTA5LDcgKzEwOSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgdW5zaWduZWQgdG90YWxCeXRlcygpIGNvbnN0OwogCiAgICAgICAg
IHZvaWQgc2V0VmlzaWJsZShib29sKTsKLSAgICAgICAgdm9pZCBzZXRSZWN0KGNvbnN0IEludFJl
Y3QmKTsKKyAgICAgICAgdm9pZCBzZXRTaXplKGNvbnN0IEludFNpemUmKTsKIAogICAgICAgICB2
b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmKTsKIApJbmRleDogV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lV2lu
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBs
YXllclByaXZhdGVRdWlja1RpbWVXaW4uY3BwCShyZXZpc2lvbiA0MTQ2NykKKysrIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1aWNrVGltZVdpbi5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTM5NCwxMCArMzk0LDEwIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlOjpkaWRFbmQoKQogICAgIG1fcGxheWVyLT50aW1lQ2hhbmdlZCgpOwogfQogCi12b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZTo6c2V0UmVjdChjb25zdCBJbnRSZWN0JiByKSAKK3ZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlOjpzZXRTaXplKGNvbnN0IEludFNpemUmIHNpemUpIAogeyAKICAgICBpZiAo
bV9xdE1vdmllKQotICAgICAgICBtX3F0TW92aWUtPnNldFNpemUoci53aWR0aCgpLCByLmhlaWdo
dCgpKTsKKyAgICAgICAgbV9xdE1vdmllLT5zZXRTaXplKHNpemUud2lkdGgoKSwgc2l6ZS5oZWln
aHQoKSk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpzZXRWaXNpYmxlKGJvb2wgYikK
SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1
aWNrVGltZVdpbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L01lZGlhUGxheWVyUHJpdmF0ZVF1aWNrVGltZVdpbi5oCShyZXZpc2lvbiA0MTQ2NykKKysrIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZVF1aWNrVGltZVdp
bi5oCSh3b3JraW5nIGNvcHkpCkBAIC04Miw3ICs4Miw3IEBAIHB1YmxpYzoKICAgICB1bnNpZ25l
ZCB0b3RhbEJ5dGVzKCkgY29uc3Q7CiAgICAgCiAgICAgdm9pZCBzZXRWaXNpYmxlKGJvb2wpOwot
ICAgIHZvaWQgc2V0UmVjdChjb25zdCBJbnRSZWN0Jik7CisgICAgdm9pZCBzZXRTaXplKGNvbnN0
IEludFNpemUmKTsKICAgICAKICAgICB2b2lkIGxvYWRTdGF0ZUNoYW5nZWQoKTsKICAgICB2b2lk
IGRpZEVuZCgpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAkocmV2aXNpb24gNDE0
NjcpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEyNSwxMiArMTI1LDkgQEAgdm9pZCBSZW5kZXJWaWRlbzo6dXBkYXRlUGxheWVyKCkKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKLSAgICAvLyBGSVhNRTogVGhpcyBkb2Vzbid0IHdv
cmsgY29ycmVjdGx5IHdpdGggdHJhbnNmb3Jtcy4KLSAgICBGbG9hdFBvaW50IGFic1BvcyA9IGxv
Y2FsVG9BYnNvbHV0ZSgpOwogICAgIEludFJlY3QgdmlkZW9Cb3VuZHMgPSB2aWRlb0JveCgpOyAK
LSAgICB2aWRlb0JvdW5kcy5tb3ZlKGFic1Bvcy54KCksIGFic1Bvcy55KCkpOwogICAgIG1lZGlh
UGxheWVyLT5zZXRGcmFtZVZpZXcoZG9jdW1lbnQoKS0+dmlldygpKTsKLSAgICBtZWRpYVBsYXll
ci0+c2V0UmVjdCh2aWRlb0JvdW5kcyk7CisgICAgbWVkaWFQbGF5ZXItPnNldFNpemUoSW50U2l6
ZSh2aWRlb0JvdW5kcy53aWR0aCgpLCB2aWRlb0JvdW5kcy5oZWlnaHQoKSkpOwogICAgIG1lZGlh
UGxheWVyLT5zZXRWaXNpYmxlKHRydWUpOwogfQogCg==
</data>
<flag name="review"
          id="13893"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>