<?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>123106</bug_id>
          
          <creation_ts>2013-10-21 11:12:18 -0700</creation_ts>
          <short_desc>Remote Layer Tree: Backing store should take contentsScale into account</short_desc>
          <delta_ts>2013-10-21 13:15:12 -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>WebKit2</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="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>941909</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-10-21 11:12:18 -0700</bug_when>
    <thetext>We should scale up our backing store (and repaints, etc.) to match the layer&apos;s contentsScale.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941940</commentid>
    <comment_count>1</comment_count>
      <attachid>214759</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-10-21 11:44:21 -0700</bug_when>
    <thetext>Created attachment 214759
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941946</commentid>
    <comment_count>2</comment_count>
      <attachid>214759</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-10-21 11:53:47 -0700</bug_when>
    <thetext>Comment on attachment 214759
patch

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

&gt; Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerBackingStore.h:59
&gt; +    WebCore::IntRect flipRectForCoordinateSystem(const WebCore::IntRect) const;

&quot;for coördinate system&quot; sounds a bit weird. Maybe &quot;mapToContentCoordinates&quot; or something?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941994</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-10-21 13:15:12 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/157728</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214759</attachid>
            <date>2013-10-21 11:44:21 -0700</date>
            <delta_ts>2013-10-21 11:53:46 -0700</delta_ts>
            <desc>patch</desc>
            <filename>scale.diff</filename>
            <type>text/plain</type>
            <size>10152</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiMDkwYjllLi4yMDJkOTc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTMtMTAtMjEgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgUmVtb3RlIExheWVyIFRyZWU6IEJhY2tpbmcgc3RvcmUgc2hvdWxkIHRha2UgY29u
dGVudHNTY2FsZSBpbnRvIGFjY291bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyMzEwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgIEV4cG9ydCBGbG9hdFJl
Y3Q6OnNjYWxlLgorCiAyMDEzLTEwLTIxICBNaWhhaSBNYWVyZWFuICA8bW1hZXJlYW5AYWRvYmUu
Y29tPgogCiAgICAgICAgIFtDU1MgUmVnaW9uc10gRml4IFdISVRFU1BBQ0UgaXNzdWVzIGluIHRo
ZSBDU1MgZ3JhbW1hci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggZDQ3YmEwOC4uZmIxMzUxMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTEyMDEsNiArMTIwMSw3IEBAIF9fWk43V2ViQ29yZTh0
b1VJbnQ2NEVQTjNKU0M5RXhlY1N0YXRlRU5TMF83SlNWYWx1ZUVOU18zMEludGVnZXJDb252ZXJz
aW9uQ29uZmlnCiBfX1pON1dlYkNvcmU5Q2xpcGJvYXJkRDFFdgogX19aTjdXZWJDb3JlOURPTVdp
bmRvdzMwZGlzcGF0Y2hBbGxQZW5kaW5nVW5sb2FkRXZlbnRzRXYKIF9fWk43V2ViQ29yZTlET01X
aW5kb3czNmRpc3BhdGNoQWxsUGVuZGluZ0JlZm9yZVVubG9hZEV2ZW50c0V2CitfX1pON1dlYkNv
cmU5RmxvYXRSZWN0NXNjYWxlRWZmCiBfX1pON1dlYkNvcmU5RmxvYXRSZWN0QzFFUks2Q0dSZWN0
CiBfX1pON1dlYkNvcmU5RmxvYXRSZWN0QzFFUktOU183SW50UmVjdEUKIF9fWk43V2ViQ29yZTlG
bG9hdFNpemVDMUVSSzZDR1NpemUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA3YjUxOTlhLi5hNWRkM2M0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTMtMTAtMjEgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3RlIExheWVyIFRyZWU6IEJhY2tpbmcg
c3RvcmUgc2hvdWxkIHRha2UgY29udGVudHNTY2FsZSBpbnRvIGFjY291bnQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzEwNgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGUuY3BwOgorICAgICAgICAoUGxhdGZvcm1DQUxheWVy
UmVtb3RlOjplbnN1cmVCYWNraW5nU3RvcmUpOgorICAgICAgICAoUGxhdGZvcm1DQUxheWVyUmVt
b3RlOjpzZXROZWVkc0Rpc3BsYXkpOgorICAgICAgICAoUGxhdGZvcm1DQUxheWVyUmVtb3RlOjpz
ZXRDb250ZW50c1NjYWxlKToKKyAgICAgICAgSW5mb3JtIHRoZSBiYWNraW5nIHN0b3JlIG9mIHRo
ZSBjb250ZW50c1NjYWxlLCBhbmQgd2hlbiBpdCBjaGFuZ2VzLgorCisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oOgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6c2NhbGUpOiBBZGRlZC4KKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OmZsaXBSZWN0Rm9yQ29vcmRpbmF0ZVN5c3Rl
bSk6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJC
YWNraW5nU3RvcmUubW06CisgICAgICAgIChSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6UmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmUpOgorICAgICAgICAoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OmVu
Y29kZSk6CisgICAgICAgIChSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6ZGVjb2RlKToKKyAgICAg
ICAgKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpmbGlwUmVjdEZvckNvb3JkaW5hdGVTeXN0ZW0p
OgorICAgICAgICBGYWN0b3Igb3V0IGZsaXBwaW5nIHNvIHdlIGNhbiB1c2UgaXQgZm9yIHJlcGFp
bnRzIGluIG11bHRpcGxlIHBsYWNlcy4KKworICAgICAgICAoUmVtb3RlTGF5ZXJCYWNraW5nU3Rv
cmU6OnNldE5lZWRzRGlzcGxheSk6CisgICAgICAgIChSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6
ZGlzcGxheSk6CisgICAgICAgIENyZWF0ZSBhIGJ1ZmZlciBzY2FsZWQgdXAgYnkgY29udGVudHNT
Y2FsZSwgdGFrZSB0aGUgc2NhbGUgaW50byBhY2NvdW50CisgICAgICAgIHdoZW4gY29weWluZyBj
bGVhbiBiaXRzIGZyb20gdGhlIGZyb250IGJ1ZmZlciwgYW5kIGFwcGx5IHRoZSBzY2FsZSBiZWZv
cmUKKyAgICAgICAgcGFpbnRpbmcgaW50byB0aGUgYmFjayBidWZmZXIuCisKIDIwMTMtMTAtMjEg
IEdlcmdvIEJhbG9naCAgPGdlcnl4eXpAaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAgIFJlbW92
ZSBxdCBmcm9tIGdlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGUu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9QbGF0Zm9ybUNBTGF5
ZXJSZW1vdGUuY3BwCmluZGV4IDVmMTEwNTIuLjNhZmJkNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUGxhdGZvcm1DQUxheWVyUmVtb3RlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1BsYXRmb3JtQ0FMYXll
clJlbW90ZS5jcHAKQEAgLTEwMSwyMSArMTAxLDI0IEBAIHZvaWQgUGxhdGZvcm1DQUxheWVyUmVt
b3RlOjphbmltYXRpb25TdGFydGVkKENGVGltZUludGVydmFsIGJlZ2luVGltZSkKIHZvaWQgUGxh
dGZvcm1DQUxheWVyUmVtb3RlOjplbnN1cmVCYWNraW5nU3RvcmUoKQogewogICAgIGlmIChtX3By
b3BlcnRpZXMuYmFja2luZ1N0b3JlLmxheWVyKCkgPT0gdGhpcwotICAgICAgICAmJiBtX3Byb3Bl
cnRpZXMuYmFja2luZ1N0b3JlLnNpemUoKSA9PSBtX3Byb3BlcnRpZXMuc2l6ZSkKKyAgICAgICAg
JiYgbV9wcm9wZXJ0aWVzLmJhY2tpbmdTdG9yZS5zaXplKCkgPT0gbV9wcm9wZXJ0aWVzLnNpemUK
KyAgICAgICAgJiYgbV9wcm9wZXJ0aWVzLmJhY2tpbmdTdG9yZS5zY2FsZSgpID09IG1fcHJvcGVy
dGllcy5jb250ZW50c1NjYWxlKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3Byb3BlcnRpZXMu
YmFja2luZ1N0b3JlID0gUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUodGhpcywgZXhwYW5kZWRJbnRT
aXplKG1fcHJvcGVydGllcy5zaXplKSk7CisgICAgbV9wcm9wZXJ0aWVzLmJhY2tpbmdTdG9yZSA9
IFJlbW90ZUxheWVyQmFja2luZ1N0b3JlKHRoaXMsIGV4cGFuZGVkSW50U2l6ZShtX3Byb3BlcnRp
ZXMuc2l6ZSksIG1fcHJvcGVydGllcy5jb250ZW50c1NjYWxlKTsKIH0KIAotdm9pZCBQbGF0Zm9y
bUNBTGF5ZXJSZW1vdGU6OnNldE5lZWRzRGlzcGxheShjb25zdCBGbG9hdFJlY3QqIGRpcnR5UmVj
dCkKK3ZvaWQgUGxhdGZvcm1DQUxheWVyUmVtb3RlOjpzZXROZWVkc0Rpc3BsYXkoY29uc3QgRmxv
YXRSZWN0KiByZWN0KQogewogICAgIGVuc3VyZUJhY2tpbmdTdG9yZSgpOwogCi0gICAgLy8gRklY
TUU6IE5lZWQgdG8gbWFwIHRoaXMgdGhyb3VnaCBjb250ZW50c1JlY3QvY29udGVudHNTY2FsZS9l
dGMuCi0gICAgaWYgKGRpcnR5UmVjdCkKLSAgICAgICAgbV9wcm9wZXJ0aWVzLmJhY2tpbmdTdG9y
ZS5zZXROZWVkc0Rpc3BsYXkoZW5jbG9zaW5nSW50UmVjdCgqZGlydHlSZWN0KSk7Ci0gICAgZWxz
ZQorICAgIGlmICghcmVjdCkgewogICAgICAgICBtX3Byb3BlcnRpZXMuYmFja2luZ1N0b3JlLnNl
dE5lZWRzRGlzcGxheSgpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gRklYTUU6
IE5lZWQgdG8gbWFwIHRoaXMgdGhyb3VnaCBjb250ZW50c1JlY3QvZXRjLgorICAgIG1fcHJvcGVy
dGllcy5iYWNraW5nU3RvcmUuc2V0TmVlZHNEaXNwbGF5KGVuY2xvc2luZ0ludFJlY3QoKnJlY3Qp
KTsKIH0KIAogdm9pZCBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU6OnNldENvbnRlbnRzQ2hhbmdlZCgp
CkBAIC00MTEsNiArNDE0LDggQEAgdm9pZCBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU6OnNldENvbnRl
bnRzU2NhbGUoZmxvYXQgdmFsdWUpCiB7CiAgICAgbV9wcm9wZXJ0aWVzLmNvbnRlbnRzU2NhbGUg
PSB2YWx1ZTsKICAgICBtX3Byb3BlcnRpZXMubm90ZVByb3BlcnRpZXNDaGFuZ2VkKFJlbW90ZUxh
eWVyVHJlZVRyYW5zYWN0aW9uOjpDb250ZW50c1NjYWxlQ2hhbmdlZCk7CisKKyAgICBlbnN1cmVC
YWNraW5nU3RvcmUoKTsKIH0KIAogVGlsZWRCYWNraW5nKiBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU6
OnRpbGVkQmFja2luZygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmgKaW5kZXggODA0NDRj
NC4uZTkwMzZkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaApAQCAtMzksMTUgKzM5
LDE2IEBAIGNsYXNzIFBsYXRmb3JtQ0FMYXllclJlbW90ZTsKIGNsYXNzIFJlbW90ZUxheWVyQmFj
a2luZ1N0b3JlIHsKIHB1YmxpYzoKICAgICBSZW1vdGVMYXllckJhY2tpbmdTdG9yZSgpOwotICAg
IFJlbW90ZUxheWVyQmFja2luZ1N0b3JlKFBsYXRmb3JtQ0FMYXllclJlbW90ZSosIFdlYkNvcmU6
OkludFNpemUpOworICAgIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlKFBsYXRmb3JtQ0FMYXllclJl
bW90ZSosIFdlYkNvcmU6OkludFNpemUsIGZsb2F0IHNjYWxlKTsKIAotICAgIHZvaWQgc2V0TmVl
ZHNEaXNwbGF5KFdlYkNvcmU6OkludFJlY3QpOworICAgIHZvaWQgc2V0TmVlZHNEaXNwbGF5KGNv
bnN0IFdlYkNvcmU6OkludFJlY3QpOwogICAgIHZvaWQgc2V0TmVlZHNEaXNwbGF5KCk7CiAKICAg
ICBib29sIGRpc3BsYXkoKTsKIAogICAgIFNoYXJlYWJsZUJpdG1hcCogYml0bWFwKCkgY29uc3Qg
eyByZXR1cm4gbV9mcm9udEJ1ZmZlci5nZXQoKTsgfQogICAgIFdlYkNvcmU6OkludFNpemUgc2l6
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQorICAgIGZsb2F0IHNjYWxlKCkgY29uc3QgeyBy
ZXR1cm4gbV9zY2FsZTsgfQogCiAgICAgUGxhdGZvcm1DQUxheWVyUmVtb3RlKiBsYXllcigpIGNv
bnN0IHsgcmV0dXJuIG1fbGF5ZXI7IH0KIApAQCAtNTUsOSArNTYsMTIgQEAgcHVibGljOgogICAg
IHN0YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImLCBSZW1vdGVMYXll
ckJhY2tpbmdTdG9yZSYpOwogCiBwcml2YXRlOgorICAgIFdlYkNvcmU6OkludFJlY3QgZmxpcFJl
Y3RGb3JDb29yZGluYXRlU3lzdGVtKGNvbnN0IFdlYkNvcmU6OkludFJlY3QpIGNvbnN0OworCiAg
ICAgUGxhdGZvcm1DQUxheWVyUmVtb3RlKiBtX2xheWVyOwogCiAgICAgV2ViQ29yZTo6SW50U2l6
ZSBtX3NpemU7CisgICAgZmxvYXQgbV9zY2FsZTsKIAogICAgIFdlYkNvcmU6OlJlZ2lvbiBtX2Rp
cnR5UmVnaW9uOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQppbmRleCBjYjVkN2Vk
Li5lZWY3NmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0KQEAgLTM3LDkgKzM3
LDEwIEBACiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7
CiAKLVJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZShQbGF0
Zm9ybUNBTGF5ZXJSZW1vdGUqIGxheWVyLCBJbnRTaXplIHNpemUpCitSZW1vdGVMYXllckJhY2tp
bmdTdG9yZTo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUoUGxhdGZvcm1DQUxheWVyUmVtb3RlKiBs
YXllciwgSW50U2l6ZSBzaXplLCBmbG9hdCBzY2FsZSkKICAgICA6IG1fbGF5ZXIobGF5ZXIpCiAg
ICAgLCBtX3NpemUoc2l6ZSkKKyAgICAsIG1fc2NhbGUoc2NhbGUpCiB7CiAgICAgQVNTRVJUKGxh
eWVyKTsKIH0KQEAgLTU2LDYgKzU3LDcgQEAgdm9pZCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6
ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIAogICAgIGVu
Y29kZXIgPDwgaGFuZGxlOwogICAgIGVuY29kZXIgPDwgbV9zaXplOworICAgIGVuY29kZXIgPDwg
bV9zY2FsZTsKIH0KIAogYm9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6ZGVjb2RlKENvcmVJ
UEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmIHJl
c3VsdCkKQEAgLTY4LDEyICs3MCwyNCBAQCBib29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpk
ZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBSZW1vdGVMYQogICAgIGlm
ICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm1fc2l6ZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAorICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm1fc2NhbGUpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBSZW1vdGVMYXllckJhY2tp
bmdTdG9yZTo6c2V0TmVlZHNEaXNwbGF5KEludFJlY3QgcmVjdCkKK0ludFJlY3QgUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmU6OmZsaXBSZWN0Rm9yQ29vcmRpbmF0ZVN5c3RlbShjb25zdCBJbnRSZWN0
IHJlY3QpIGNvbnN0Cit7CisgICAgSW50UmVjdCBmbGlwcGVkUmVjdCA9IHJlY3Q7CisgICAgaWYg
KG1fbGF5ZXItPm93bmVyKCktPnBsYXRmb3JtQ0FMYXllckNvbnRlbnRzT3JpZW50YXRpb24oKSA9
PSBHcmFwaGljc0xheWVyOjpDb21wb3NpdGluZ0Nvb3JkaW5hdGVzQm90dG9tVXApCisgICAgICAg
IGZsaXBwZWRSZWN0LnNldFkobV9zaXplLmhlaWdodCgpIC0gcmVjdC55KCkgLSByZWN0LmhlaWdo
dCgpKTsKKyAgICByZXR1cm4gZmxpcHBlZFJlY3Q7Cit9CisKK3ZvaWQgUmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmU6OnNldE5lZWRzRGlzcGxheShjb25zdCBJbnRSZWN0IHJlY3QpCiB7Ci0gICAgbV9k
aXJ0eVJlZ2lvbi51bml0ZShyZWN0KTsKKyAgICBJbnRSZWN0IGZsaXBwZWRSZWN0ID0gZmxpcFJl
Y3RGb3JDb29yZGluYXRlU3lzdGVtKHJlY3QpOworICAgIG1fZGlydHlSZWdpb24udW5pdGUoZmxp
cHBlZFJlY3QpOwogfQogCiB2b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpzZXROZWVkc0Rp
c3BsYXkoKQpAQCAtOTQsMTcgKzEwOCwxNyBAQCBib29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
OjpkaXNwbGF5KCkKICAgICBpZiAobV9kaXJ0eVJlZ2lvbi5pc0VtcHR5KCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAotICAgIG1fYmFja0J1ZmZlciA9IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRl
U2hhcmVhYmxlKG1fc2l6ZSwgU2hhcmVhYmxlQml0bWFwOjpTdXBwb3J0c0FscGhhKTsKLSAgICBp
ZiAoIW1fZnJvbnRCdWZmZXIpCi0gICAgICAgIG1fZGlydHlSZWdpb24udW5pdGUoSW50UmVjdChJ
bnRQb2ludCgpLCBtX3NpemUpKTsKKyAgICBGbG9hdFNpemUgc2NhbGVkU2l6ZSA9IG1fc2l6ZTsK
KyAgICBzY2FsZWRTaXplLnNjYWxlKG1fc2NhbGUpOwogCiAgICAgSW50UmVjdCBsYXllckJvdW5k
cyhJbnRQb2ludCgpLCBtX3NpemUpOwogCi0gICAgaWYgKG1fbGF5ZXItPm93bmVyKCktPnBsYXRm
b3JtQ0FMYXllclNob3dSZXBhaW50Q291bnRlcihtX2xheWVyKSkgewotICAgICAgICBJbnRSZWN0
IGluZGljYXRvclJlY3QgPSBJbnRSZWN0KDAsIDAsIDUyLCAyNyk7Ci0gICAgICAgIGlmIChtX2xh
eWVyLT5vd25lcigpLT5wbGF0Zm9ybUNBTGF5ZXJDb250ZW50c09yaWVudGF0aW9uKCkgPT0gV2Vi
Q29yZTo6R3JhcGhpY3NMYXllcjo6Q29tcG9zaXRpbmdDb29yZGluYXRlc0JvdHRvbVVwKQotICAg
ICAgICAgICAgaW5kaWNhdG9yUmVjdC5zZXRZKGxheWVyQm91bmRzLmhlaWdodCgpIC0gaW5kaWNh
dG9yUmVjdC55KCkgLSBpbmRpY2F0b3JSZWN0LmhlaWdodCgpKTsKKyAgICBtX2JhY2tCdWZmZXIg
PSBTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZVNoYXJlYWJsZShleHBhbmRlZEludFNpemUoc2NhbGVk
U2l6ZSksIFNoYXJlYWJsZUJpdG1hcDo6U3VwcG9ydHNBbHBoYSk7CisgICAgaWYgKCFtX2Zyb250
QnVmZmVyKQorICAgICAgICBtX2RpcnR5UmVnaW9uLnVuaXRlKGxheWVyQm91bmRzKTsKIAorICAg
IGlmIChtX2xheWVyLT5vd25lcigpLT5wbGF0Zm9ybUNBTGF5ZXJTaG93UmVwYWludENvdW50ZXIo
bV9sYXllcikpIHsKKyAgICAgICAgSW50UmVjdCBpbmRpY2F0b3JSZWN0ID0gZmxpcFJlY3RGb3JD
b29yZGluYXRlU3lzdGVtKEludFJlY3QoMCwgMCwgNTIsIDI3KSk7CiAgICAgICAgIG1fZGlydHlS
ZWdpb24udW5pdGUoaW5kaWNhdG9yUmVjdCk7CiAgICAgfQogCkBAIC0xMjMsMTUgKzEzNywxOSBA
QCBib29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpkaXNwbGF5KCkKIAogICAgICAgICAgICAg
UmV0YWluUHRyPENHSW1hZ2VSZWY+IGZyb250SW1hZ2UgPSBtX2Zyb250QnVmZmVyLT5tYWtlQ0dJ
bWFnZSgpOwogCi0gICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHJlY3QgOiBjbGVhblJlZ2lv
bi5yZWN0cygpKQotICAgICAgICAgICAgICAgIGNvbnRleHQtPmRyYXdOYXRpdmVJbWFnZShmcm9u
dEltYWdlLmdldCgpLCBtX2Zyb250QnVmZmVyLT5zaXplKCksIENvbG9yU3BhY2VEZXZpY2VSR0Is
IHJlY3QsIHJlY3QpOworICAgICAgICAgICAgZm9yIChjb25zdCBhdXRvJiByZWN0IDogY2xlYW5S
ZWdpb24ucmVjdHMoKSkgeworICAgICAgICAgICAgICAgIEZsb2F0UmVjdCBzY2FsZWRSZWN0ID0g
cmVjdDsKKyAgICAgICAgICAgICAgICBzY2FsZWRSZWN0LnNjYWxlKG1fc2NhbGUpOworICAgICAg
ICAgICAgICAgIGNvbnRleHQtPmRyYXdOYXRpdmVJbWFnZShmcm9udEltYWdlLmdldCgpLCBtX2Zy
b250QnVmZmVyLT5zaXplKCksIENvbG9yU3BhY2VEZXZpY2VSR0IsIHNjYWxlZFJlY3QsIHNjYWxl
ZFJlY3QpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAKICAgICAgICAgZm9yIChjb25zdCBh
dXRvJiByZWN0IDogZGlydHlSZWN0cykKICAgICAgICAgICAgIHJlY3RzVG9QYWludC5hcHBlbmQo
cmVjdCk7CiAgICAgfQogCi0gICAgZHJhd0xheWVyQ29udGVudHMoY29udGV4dC0+cGxhdGZvcm1D
b250ZXh0KCksIG1fbGF5ZXIsIGxheWVyQm91bmRzLCByZWN0c1RvUGFpbnQsIGZhbHNlKTsKKyAg
ICBjb250ZXh0LT5zY2FsZShGbG9hdFNpemUobV9zY2FsZSwgbV9zY2FsZSkpOworICAgIGRyYXdM
YXllckNvbnRlbnRzKGNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLCBtX2xheWVyLCBGbG9hdFJl
Y3QoRmxvYXRQb2ludCgpLCBzY2FsZWRTaXplKSwgcmVjdHNUb1BhaW50LCBmYWxzZSk7CiAgICAg
bV9kaXJ0eVJlZ2lvbiA9IFJlZ2lvbigpOwogCiAgICAgbV9mcm9udEJ1ZmZlciA9IG1fYmFja0J1
ZmZlcjsK
</data>
<flag name="review"
          id="237346"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>