<?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>78765</bug_id>
          
          <creation_ts>2012-02-15 17:30:49 -0800</creation_ts>
          <short_desc>ShadowBlur.cpp&apos;s cached content matching needs to consider m_layerSize changes</short_desc>
          <delta_ts>2012-02-16 17:40: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>CSS</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Matthew Delaney">mdelaney7</reporter>
          <assigned_to name="Matthew Delaney">mdelaney7</assigned_to>
          <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>557768</commentid>
    <comment_count>0</comment_count>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2012-02-15 17:30:49 -0800</bug_when>
    <thetext>Sometimes shadows draw via ShadowBlur.cpp are corrupted, containing contents of old shadows. The checks in matchesLastShadow() don&apos;t consider when m_layerSize changes and thus some of the old content of the scratch buffer might be drawn. This patch is to store the last m_layerSize value and make sure that matches as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557769</commentid>
    <comment_count>1</comment_count>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2012-02-15 17:31:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/10670507&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558677</commentid>
    <comment_count>2</comment_count>
      <attachid>127467</attachid>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2012-02-16 16:49:31 -0800</bug_when>
    <thetext>Created attachment 127467
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558751</commentid>
    <comment_count>3</comment_count>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2012-02-16 17:40:39 -0800</bug_when>
    <thetext>Committed r108008: &lt;http://trac.webkit.org/changeset/108008&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127467</attachid>
            <date>2012-02-16 16:49:31 -0800</date>
            <delta_ts>2012-02-16 17:28:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78765-20120216164930.patch</filename>
            <type>text/plain</type>
            <size>10067</size>
            <attacher name="Matthew Delaney">mdelaney7</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNzk1NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDEyLTAyLTE2ICBNYXR0aGV3
IERlbGFuZXkgIDxtZGVsYW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgU2hhZG93Qmx1ci5jcHAn
cyBjYWNoZWQgY29udGVudCBtYXRjaGluZyBuZWVkcyB0byBjb25zaWRlciBtX2xheWVyU2l6ZSBj
aGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
ODc2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cyBkdWUgdG8gdGhlIGZsYWt5IG5hdHVyZSBvZiByZXByb2R1Y2luZyB0aGUgaXNz
dWUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcmF0Y2hCdWZmZXI6OmdldFNjcmF0Y2hCdWZmZXIpOiBNYWtlIHN1cmUg
dG8gY2FsbCBjbGVhclNjcmF0Y2hCdWZmZXIoKQorICAgICAgICB3aGVuIHdlIGNyZWF0ZSBhIG5l
dyBJbWFnZUJ1ZmZlciBpbiBvcmRlciB0byBpbnZhbGlkYXRlIGNhY2hlZCB2YWx1ZXMuCisgICAg
ICAgIChXZWJDb3JlOjpTY3JhdGNoQnVmZmVyOjpzZXRDYWNoZWRTaGFkb3dWYWx1ZXMpOiBSb2xs
IHRvZ2V0aGVyIG1hdGNoaW5nIGFuZCBzZXR0aW5nCisgICAgICAgIG9mIGNhY2hlZCB2YWx1ZXMg
aW50byBvbmUgbWV0aG9kIHRvIGVuZm9yY2UgdGhlbSBiZWluZyB0aGUgc2FtZS4KKyAgICAgICAg
KFdlYkNvcmU6OlNjcmF0Y2hCdWZmZXI6OnNldENhY2hlZEluc2V0U2hhZG93VmFsdWVzKTogRGl0
dG8uCisKKyAgICAgICAgUmVzdHJ1Y3R1cmUgdG8gdXNlIG5ldyBtZXRob2QgZGVzY3JpYmVkIGFi
b3ZlLgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Qmx1cjo6ZHJhd1JlY3RTaGFkb3dXaXRob3V0
VGlsaW5nKTogCisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dCbHVyOjpkcmF3SW5zZXRTaGFkb3dX
aXRob3V0VGlsaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd0JsdXI6OmRyYXdJbnNldFNo
YWRvd1dpdGhUaWxpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Qmx1cjo6ZHJhd1JlY3RT
aGFkb3dXaXRoVGlsaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd0JsdXI6OmJlZ2luU2hh
ZG93TGF5ZXIpOgorCiAyMDEyLTAyLTE2ICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4K
IAogICAgICAgICBSb2xsIG91dCByMTA3ODg3CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcAkocmV2aXNpb24gMTA3MzEyKQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTc5LDIyICs3OSwzMiBAQCBwdWJsaWM6CiAgICAgICAgIC8vIFJvdW5kIHRvIHRoZSBu
ZWFyZXN0IDMyIHBpeGVscyBzbyB3ZSBkbyBub3QgZ3JvdyB0aGUgYnVmZmVyIGZvciBzaW1pbGFy
IHNpemVkIHJlcXVlc3RzLgogICAgICAgICBJbnRTaXplIHJvdW5kZWRTaXplKHJvdW5kVXBUb011
bHRpcGxlT2YzMihzaXplLndpZHRoKCkpLCByb3VuZFVwVG9NdWx0aXBsZU9mMzIoc2l6ZS5oZWln
aHQoKSkpOwogCisgICAgICAgIGNsZWFyU2NyYXRjaEJ1ZmZlcigpOwogICAgICAgICBtX2ltYWdl
QnVmZmVyID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZShyb3VuZGVkU2l6ZSk7CiAgICAgICAgIHJldHVy
biBtX2ltYWdlQnVmZmVyLmdldCgpOwogICAgIH0KIAotICAgIHZvaWQgc2V0TGFzdFNoYWRvd1Zh
bHVlcyhjb25zdCBGbG9hdFNpemUmIHJhZGl1cywgY29uc3QgQ29sb3ImIGNvbG9yLCBDb2xvclNw
YWNlIGNvbG9yU3BhY2UsIGNvbnN0IEZsb2F0UmVjdCYgc2hhZG93UmVjdCwgY29uc3QgUm91bmRl
ZFJlY3Q6OlJhZGlpJiByYWRpaSkKKyAgICBib29sIHNldENhY2hlZFNoYWRvd1ZhbHVlcyhjb25z
dCBGbG9hdFNpemUmIHJhZGl1cywgY29uc3QgQ29sb3ImIGNvbG9yLCBDb2xvclNwYWNlIGNvbG9y
U3BhY2UsIGNvbnN0IEZsb2F0UmVjdCYgc2hhZG93UmVjdCwgY29uc3QgUm91bmRlZFJlY3Q6OlJh
ZGlpJiByYWRpaSwgY29uc3QgRmxvYXRTaXplJiBsYXllclNpemUpCiAgICAgeworICAgICAgICBp
ZiAoIW1fbGFzdFdhc0luc2V0ICYmIG1fbGFzdFJhZGl1cyA9PSByYWRpdXMgJiYgbV9sYXN0Q29s
b3IgPT0gY29sb3IgJiYgbV9sYXN0Q29sb3JTcGFjZSA9PSBjb2xvclNwYWNlICYmIG1fbGFzdFNo
YWRvd1JlY3QgPT0gc2hhZG93UmVjdCAmJiAgbV9sYXN0UmFkaWkgPT0gcmFkaWkgJiYgbV9sYXN0
TGF5ZXJTaXplID09IGxheWVyU2l6ZSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAg
ICAgICBtX2xhc3RXYXNJbnNldCA9IGZhbHNlOwogICAgICAgICBtX2xhc3RSYWRpdXMgPSByYWRp
dXM7CiAgICAgICAgIG1fbGFzdENvbG9yID0gY29sb3I7CiAgICAgICAgIG1fbGFzdENvbG9yU3Bh
Y2UgPSBjb2xvclNwYWNlOwogICAgICAgICBtX2xhc3RTaGFkb3dSZWN0ID0gc2hhZG93UmVjdDsK
ICAgICAgICAgbV9sYXN0UmFkaWkgPSByYWRpaTsKKyAgICAgICAgbV9sYXN0TGF5ZXJTaXplID0g
bGF5ZXJTaXplOworCisgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAotICAgIHZvaWQgc2V0
TGFzdEluc2V0U2hhZG93VmFsdWVzKGNvbnN0IEZsb2F0U2l6ZSYgcmFkaXVzLCBjb25zdCBDb2xv
ciYgY29sb3IsIENvbG9yU3BhY2UgY29sb3JTcGFjZSwgY29uc3QgRmxvYXRSZWN0JiBib3VuZHMs
IGNvbnN0IEZsb2F0UmVjdCYgc2hhZG93UmVjdCwgY29uc3QgUm91bmRlZFJlY3Q6OlJhZGlpJiBy
YWRpaSkKKyAgICBib29sIHNldENhY2hlZEluc2V0U2hhZG93VmFsdWVzKGNvbnN0IEZsb2F0U2l6
ZSYgcmFkaXVzLCBjb25zdCBDb2xvciYgY29sb3IsIENvbG9yU3BhY2UgY29sb3JTcGFjZSwgY29u
c3QgRmxvYXRSZWN0JiBib3VuZHMsIGNvbnN0IEZsb2F0UmVjdCYgc2hhZG93UmVjdCwgY29uc3Qg
Um91bmRlZFJlY3Q6OlJhZGlpJiByYWRpaSkKICAgICB7CisgICAgICAgIGlmIChtX2xhc3RXYXNJ
bnNldCAmJiBtX2xhc3RSYWRpdXMgPT0gcmFkaXVzICYmIG1fbGFzdENvbG9yID09IGNvbG9yICYm
IG1fbGFzdENvbG9yU3BhY2UgPT0gY29sb3JTcGFjZSAmJiBtX2xhc3RJbnNldEJvdW5kcyA9PSBi
b3VuZHMgJiYgc2hhZG93UmVjdCA9PSBtX2xhc3RTaGFkb3dSZWN0ICYmIHJhZGlpID09IG1fbGFz
dFJhZGlpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAgIG1fbGFzdFdhc0lu
c2V0ID0gdHJ1ZTsKICAgICAgICAgbV9sYXN0SW5zZXRCb3VuZHMgPSBib3VuZHM7CiAgICAgICAg
IG1fbGFzdFJhZGl1cyA9IHJhZGl1czsKQEAgLTEwMiwyMCArMTEyLDggQEAgcHVibGljOgogICAg
ICAgICBtX2xhc3RDb2xvclNwYWNlID0gY29sb3JTcGFjZTsKICAgICAgICAgbV9sYXN0U2hhZG93
UmVjdCA9IHNoYWRvd1JlY3Q7CiAgICAgICAgIG1fbGFzdFJhZGlpID0gcmFkaWk7Ci0gICAgfQot
ICAgIAotICAgIGJvb2wgbWF0Y2hlc0xhc3RTaGFkb3coY29uc3QgRmxvYXRTaXplJiByYWRpdXMs
IGNvbnN0IENvbG9yJiBjb2xvciwgQ29sb3JTcGFjZSBjb2xvclNwYWNlLCBjb25zdCBGbG9hdFJl
Y3QmIHNoYWRvd1JlY3QsIGNvbnN0IFJvdW5kZWRSZWN0OjpSYWRpaSYgcmFkaWkpIGNvbnN0Ci0g
ICAgewotICAgICAgICBpZiAobV9sYXN0V2FzSW5zZXQpCi0gICAgICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgICAgIHJldHVybiBtX2xhc3RSYWRpdXMgPT0gcmFkaXVzICYmIG1fbGFzdENvbG9y
ID09IGNvbG9yICYmIG1fbGFzdENvbG9yU3BhY2UgPT0gY29sb3JTcGFjZSAmJiBzaGFkb3dSZWN0
ID09IG1fbGFzdFNoYWRvd1JlY3QgJiYgcmFkaWkgPT0gbV9sYXN0UmFkaWk7Ci0gICAgfQogCi0g
ICAgYm9vbCBtYXRjaGVzTGFzdEluc2V0U2hhZG93KGNvbnN0IEZsb2F0U2l6ZSYgcmFkaXVzLCBj
b25zdCBDb2xvciYgY29sb3IsIENvbG9yU3BhY2UgY29sb3JTcGFjZSwgY29uc3QgRmxvYXRSZWN0
JiBib3VuZHMsIGNvbnN0IEZsb2F0UmVjdCYgc2hhZG93UmVjdCwgY29uc3QgUm91bmRlZFJlY3Q6
OlJhZGlpJiByYWRpaSkgY29uc3QKLSAgICB7Ci0gICAgICAgIGlmICghbV9sYXN0V2FzSW5zZXQp
Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJldHVybiBtX2xhc3RSYWRpdXMg
PT0gcmFkaXVzICYmIG1fbGFzdENvbG9yID09IGNvbG9yICYmIG1fbGFzdENvbG9yU3BhY2UgPT0g
Y29sb3JTcGFjZSAmJiBtX2xhc3RJbnNldEJvdW5kcyA9PSBib3VuZHMgJiYgc2hhZG93UmVjdCA9
PSBtX2xhc3RTaGFkb3dSZWN0ICYmIHJhZGlpID09IG1fbGFzdFJhZGlpOworICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICB9CiAKICAgICB2b2lkIHNjaGVkdWxlU2NyYXRjaEJ1ZmZlclB1cmdlKCkK
QEAgLTE1NCw2ICsxNTIsNyBAQCBwcml2YXRlOgogICAgIENvbG9yU3BhY2UgbV9sYXN0Q29sb3JT
cGFjZTsKICAgICBGbG9hdFNpemUgbV9sYXN0UmFkaXVzOwogICAgIGJvb2wgbV9sYXN0V2FzSW5z
ZXQ7CisgICAgRmxvYXRTaXplIG1fbGFzdExheWVyU2l6ZTsKICAgICAKICNpZiAhQVNTRVJUX0RJ
U0FCTEVECiAgICAgYm9vbCBtX2J1ZmZlckluVXNlOwpAQCAtNTQzLDcgKzU0MiwxMCBAQCB2b2lk
IFNoYWRvd0JsdXI6OmRyYXdSZWN0U2hhZG93V2l0aG91dFRpCiAKICAgICBGbG9hdFJlY3QgYnVm
ZmVyUmVsYXRpdmVTaGFkb3dlZFJlY3QgPSBzaGFkb3dlZFJlY3Q7CiAgICAgYnVmZmVyUmVsYXRp
dmVTaGFkb3dlZFJlY3QubW92ZShtX2xheWVyQ29udGV4dFRyYW5zbGF0aW9uKTsKLSAgICBpZiAo
IVNjcmF0Y2hCdWZmZXI6OnNoYXJlZCgpLm1hdGNoZXNMYXN0U2hhZG93KG1fYmx1clJhZGl1cywg
Q29sb3I6OmJsYWNrLCBDb2xvclNwYWNlRGV2aWNlUkdCLCBidWZmZXJSZWxhdGl2ZVNoYWRvd2Vk
UmVjdCwgcmFkaWkpKSB7CisKKyAgICAvLyBPbmx5IHJlZHJhdyBpbiB0aGUgc2NyYXRjaCBidWZm
ZXIgaWYgaXRzIGNhY2hlZCBjb250ZW50cyBkb24ndCBtYXRjaCBvdXIgbmVlZHMKKyAgICBib29s
IHJlZHJhd05lZWRlZCA9IFNjcmF0Y2hCdWZmZXI6OnNoYXJlZCgpLnNldENhY2hlZFNoYWRvd1Zh
bHVlcyhtX2JsdXJSYWRpdXMsIENvbG9yOjpibGFjaywgQ29sb3JTcGFjZURldmljZVJHQiwgYnVm
ZmVyUmVsYXRpdmVTaGFkb3dlZFJlY3QsIHJhZGlpLCBtX2xheWVyU2l6ZSk7CisgICAgaWYgKHJl
ZHJhd05lZWRlZCkgewogICAgICAgICBHcmFwaGljc0NvbnRleHQqIHNoYWRvd0NvbnRleHQgPSBt
X2xheWVySW1hZ2UtPmNvbnRleHQoKTsKICAgICAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZl
ciBzdGF0ZVNhdmVyKCpzaGFkb3dDb250ZXh0KTsKIApAQCAtNTYwLDggKzU2Miw2IEBAIHZvaWQg
U2hhZG93Qmx1cjo6ZHJhd1JlY3RTaGFkb3dXaXRob3V0VGkKICAgICAgICAgfQogCiAgICAgICAg
IGJsdXJTaGFkb3dCdWZmZXIoZXhwYW5kZWRJbnRTaXplKG1fbGF5ZXJTaXplKSk7Ci0gICAgICAg
IAotICAgICAgICBTY3JhdGNoQnVmZmVyOjpzaGFyZWQoKS5zZXRMYXN0U2hhZG93VmFsdWVzKG1f
Ymx1clJhZGl1cywgQ29sb3I6OmJsYWNrLCBDb2xvclNwYWNlRGV2aWNlUkdCLCBidWZmZXJSZWxh
dGl2ZVNoYWRvd2VkUmVjdCwgcmFkaWkpOwogICAgIH0KICAgICAKICAgICBkcmF3U2hhZG93QnVm
ZmVyKGdyYXBoaWNzQ29udGV4dCk7CkBAIC01ODEsNyArNTgxLDkgQEAgdm9pZCBTaGFkb3dCbHVy
OjpkcmF3SW5zZXRTaGFkb3dXaXRob3V0VAogICAgIEZsb2F0UmVjdCBidWZmZXJSZWxhdGl2ZUhv
bGVSZWN0ID0gaG9sZVJlY3Q7CiAgICAgYnVmZmVyUmVsYXRpdmVIb2xlUmVjdC5tb3ZlKG1fbGF5
ZXJDb250ZXh0VHJhbnNsYXRpb24pOwogCi0gICAgaWYgKCFTY3JhdGNoQnVmZmVyOjpzaGFyZWQo
KS5tYXRjaGVzTGFzdEluc2V0U2hhZG93KG1fYmx1clJhZGl1cywgQ29sb3I6OmJsYWNrLCBDb2xv
clNwYWNlRGV2aWNlUkdCLCBidWZmZXJSZWxhdGl2ZVJlY3QsIGJ1ZmZlclJlbGF0aXZlSG9sZVJl
Y3QsIGhvbGVSYWRpaSkpIHsKKyAgICAvLyBPbmx5IHJlZHJhdyBpbiB0aGUgc2NyYXRjaCBidWZm
ZXIgaWYgaXRzIGNhY2hlZCBjb250ZW50cyBkb24ndCBtYXRjaCBvdXIgbmVlZHMKKyAgICBib29s
IHJlZHJhd05lZWRlZCA9IFNjcmF0Y2hCdWZmZXI6OnNoYXJlZCgpLnNldENhY2hlZEluc2V0U2hh
ZG93VmFsdWVzKG1fYmx1clJhZGl1cywgQ29sb3I6OmJsYWNrLCBDb2xvclNwYWNlRGV2aWNlUkdC
LCBidWZmZXJSZWxhdGl2ZVJlY3QsIGJ1ZmZlclJlbGF0aXZlSG9sZVJlY3QsIGhvbGVSYWRpaSk7
CisgICAgaWYgKHJlZHJhd05lZWRlZCkgewogICAgICAgICBHcmFwaGljc0NvbnRleHQqIHNoYWRv
d0NvbnRleHQgPSBtX2xheWVySW1hZ2UtPmNvbnRleHQoKTsKICAgICAgICAgR3JhcGhpY3NDb250
ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKCpzaGFkb3dDb250ZXh0KTsKIApAQCAtNjAxLDggKzYw
Myw2IEBAIHZvaWQgU2hhZG93Qmx1cjo6ZHJhd0luc2V0U2hhZG93V2l0aG91dFQKICAgICAgICAg
c2hhZG93Q29udGV4dC0+ZmlsbFBhdGgocGF0aCk7CiAKICAgICAgICAgYmx1clNoYWRvd0J1ZmZl
cihleHBhbmRlZEludFNpemUobV9sYXllclNpemUpKTsKLQotICAgICAgICBTY3JhdGNoQnVmZmVy
OjpzaGFyZWQoKS5zZXRMYXN0SW5zZXRTaGFkb3dWYWx1ZXMobV9ibHVyUmFkaXVzLCBDb2xvcjo6
YmxhY2ssIENvbG9yU3BhY2VEZXZpY2VSR0IsIGJ1ZmZlclJlbGF0aXZlUmVjdCwgYnVmZmVyUmVs
YXRpdmVIb2xlUmVjdCwgaG9sZVJhZGlpKTsKICAgICB9CiAgICAgCiAgICAgZHJhd1NoYWRvd0J1
ZmZlcihncmFwaGljc0NvbnRleHQpOwpAQCAtNjUyLDcgKzY1Miw5IEBAIHZvaWQgU2hhZG93Qmx1
cjo6ZHJhd0luc2V0U2hhZG93V2l0aFRpbGkKICAgICBGbG9hdFJlY3QgdGVtcGxhdGVCb3VuZHMo
MCwgMCwgdGVtcGxhdGVTaXplLndpZHRoKCksIHRlbXBsYXRlU2l6ZS5oZWlnaHQoKSk7CiAgICAg
RmxvYXRSZWN0IHRlbXBsYXRlSG9sZSA9IEZsb2F0UmVjdChlZGdlU2l6ZS53aWR0aCgpLCBlZGdl
U2l6ZS5oZWlnaHQoKSwgdGVtcGxhdGVTaXplLndpZHRoKCkgLSAyICogZWRnZVNpemUud2lkdGgo
KSwgdGVtcGxhdGVTaXplLmhlaWdodCgpIC0gMiAqIGVkZ2VTaXplLmhlaWdodCgpKTsKIAotICAg
IGlmICghU2NyYXRjaEJ1ZmZlcjo6c2hhcmVkKCkubWF0Y2hlc0xhc3RJbnNldFNoYWRvdyhtX2Js
dXJSYWRpdXMsIG1fY29sb3IsIG1fY29sb3JTcGFjZSwgdGVtcGxhdGVCb3VuZHMsIHRlbXBsYXRl
SG9sZSwgcmFkaWkpKSB7CisgICAgLy8gT25seSByZWRyYXcgaW4gdGhlIHNjcmF0Y2ggYnVmZmVy
IGlmIGl0cyBjYWNoZWQgY29udGVudHMgZG9uJ3QgbWF0Y2ggb3VyIG5lZWRzCisgICAgYm9vbCBy
ZWRyYXdOZWVkZWQgPSBTY3JhdGNoQnVmZmVyOjpzaGFyZWQoKS5zZXRDYWNoZWRJbnNldFNoYWRv
d1ZhbHVlcyhtX2JsdXJSYWRpdXMsIG1fY29sb3IsIG1fY29sb3JTcGFjZSwgdGVtcGxhdGVCb3Vu
ZHMsIHRlbXBsYXRlSG9sZSwgcmFkaWkpOworICAgIGlmIChyZWRyYXdOZWVkZWQpIHsKICAgICAg
ICAgLy8gRHJhdyBzaGFkb3cgaW50byBhIG5ldyBJbWFnZUJ1ZmZlci4KICAgICAgICAgR3JhcGhp
Y3NDb250ZXh0KiBzaGFkb3dDb250ZXh0ID0gbV9sYXllckltYWdlLT5jb250ZXh0KCk7CiAgICAg
ICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc2hhZG93U3RhdGVTYXZlcigqc2hhZG93Q29u
dGV4dCk7CkBAIC02NzAsOCArNjcyLDYgQEAgdm9pZCBTaGFkb3dCbHVyOjpkcmF3SW5zZXRTaGFk
b3dXaXRoVGlsaQogICAgICAgICBzaGFkb3dDb250ZXh0LT5maWxsUGF0aChwYXRoKTsKIAogICAg
ICAgICBibHVyQW5kQ29sb3JTaGFkb3dCdWZmZXIodGVtcGxhdGVTaXplKTsKLSAgICAKLSAgICAg
ICAgU2NyYXRjaEJ1ZmZlcjo6c2hhcmVkKCkuc2V0TGFzdEluc2V0U2hhZG93VmFsdWVzKG1fYmx1
clJhZGl1cywgbV9jb2xvciwgbV9jb2xvclNwYWNlLCB0ZW1wbGF0ZUJvdW5kcywgdGVtcGxhdGVI
b2xlLCByYWRpaSk7CiAgICAgfQogCiAgICAgRmxvYXRSZWN0IGJvdW5kaW5nUmVjdCA9IHJlY3Q7
CkBAIC03MTAsNyArNzEwLDkgQEAgdm9pZCBTaGFkb3dCbHVyOjpkcmF3UmVjdFNoYWRvd1dpdGhU
aWxpbgogCiAgICAgRmxvYXRSZWN0IHRlbXBsYXRlU2hhZG93ID0gRmxvYXRSZWN0KGVkZ2VTaXpl
LndpZHRoKCksIGVkZ2VTaXplLmhlaWdodCgpLCB0ZW1wbGF0ZVNpemUud2lkdGgoKSAtIDIgKiBl
ZGdlU2l6ZS53aWR0aCgpLCB0ZW1wbGF0ZVNpemUuaGVpZ2h0KCkgLSAyICogZWRnZVNpemUuaGVp
Z2h0KCkpOwogCi0gICAgaWYgKCFTY3JhdGNoQnVmZmVyOjpzaGFyZWQoKS5tYXRjaGVzTGFzdFNo
YWRvdyhtX2JsdXJSYWRpdXMsIG1fY29sb3IsIG1fY29sb3JTcGFjZSwgdGVtcGxhdGVTaGFkb3cs
IHJhZGlpKSkgeworICAgIC8vIE9ubHkgcmVkcmF3IGluIHRoZSBzY3JhdGNoIGJ1ZmZlciBpZiBp
dHMgY2FjaGVkIGNvbnRlbnRzIGRvbid0IG1hdGNoIG91ciBuZWVkcworICAgIGJvb2wgcmVkcmF3
TmVlZGVkID0gU2NyYXRjaEJ1ZmZlcjo6c2hhcmVkKCkuc2V0Q2FjaGVkU2hhZG93VmFsdWVzKG1f
Ymx1clJhZGl1cywgbV9jb2xvciwgbV9jb2xvclNwYWNlLCB0ZW1wbGF0ZVNoYWRvdywgcmFkaWks
IG1fbGF5ZXJTaXplKTsKKyAgICBpZiAocmVkcmF3TmVlZGVkKSB7CiAgICAgICAgIC8vIERyYXcg
c2hhZG93IGludG8gdGhlIEltYWdlQnVmZmVyLgogICAgICAgICBHcmFwaGljc0NvbnRleHQqIHNo
YWRvd0NvbnRleHQgPSBtX2xheWVySW1hZ2UtPmNvbnRleHQoKTsKICAgICAgICAgR3JhcGhpY3ND
b250ZXh0U3RhdGVTYXZlciBzaGFkb3dTdGF0ZVNhdmVyKCpzaGFkb3dDb250ZXh0KTsKQEAgLTcy
Nyw4ICs3MjksNiBAQCB2b2lkIFNoYWRvd0JsdXI6OmRyYXdSZWN0U2hhZG93V2l0aFRpbGluCiAg
ICAgICAgIH0KIAogICAgICAgICBibHVyQW5kQ29sb3JTaGFkb3dCdWZmZXIodGVtcGxhdGVTaXpl
KTsKLQotICAgICAgICBTY3JhdGNoQnVmZmVyOjpzaGFyZWQoKS5zZXRMYXN0U2hhZG93VmFsdWVz
KG1fYmx1clJhZGl1cywgbV9jb2xvciwgbV9jb2xvclNwYWNlLCB0ZW1wbGF0ZVNoYWRvdywgcmFk
aWkpOwogICAgIH0KIAogICAgIEZsb2F0UmVjdCBzaGFkb3dCb3VuZHMgPSBzaGFkb3dlZFJlY3Q7
CkBAIC04NTQsNyArODU0LDcgQEAgR3JhcGhpY3NDb250ZXh0KiBTaGFkb3dCbHVyOjpiZWdpblNo
YWRvdwogCiAgICAgLy8gV2UgcmVzZXQgdGhlIHNjcmF0Y2ggYnVmZmVyIHZhbHVlcyBoZXJlLCBi
ZWNhdXNlIHRoZSBidWZmZXIgd2lsbCBubyBsb25nZXIgY29udGFpbgogICAgIC8vIGRhdGEgZnJv
bSBhbnkgcHJldmlvdXMgcmVjdGFuZ2xlIG9yIGluc2V0IHNoYWRvd3MgZHJhd24gdmlhIHRoZSB0
aWxpbmcgcGF0aC4KLSAgICBTY3JhdGNoQnVmZmVyOjpzaGFyZWQoKS5zZXRMYXN0U2hhZG93VmFs
dWVzKEZsb2F0U2l6ZSgpLCBDb2xvcjo6YmxhY2ssIENvbG9yU3BhY2VEZXZpY2VSR0IsIEludFJl
Y3QoKSwgUm91bmRlZFJlY3Q6OlJhZGlpKCkpOworICAgIFNjcmF0Y2hCdWZmZXI6OnNoYXJlZCgp
LnNldENhY2hlZFNoYWRvd1ZhbHVlcyhGbG9hdFNpemUoKSwgQ29sb3I6OmJsYWNrLCBDb2xvclNw
YWNlRGV2aWNlUkdCLCBJbnRSZWN0KCksIFJvdW5kZWRSZWN0OjpSYWRpaSgpLCBtX2xheWVyU2l6
ZSk7CiAgICAgbV9sYXllckltYWdlID0gU2NyYXRjaEJ1ZmZlcjo6c2hhcmVkKCkuZ2V0U2NyYXRj
aEJ1ZmZlcihsYXllclJlY3Quc2l6ZSgpKTsKIAogICAgIEdyYXBoaWNzQ29udGV4dCogc2hhZG93
Q29udGV4dCA9IG1fbGF5ZXJJbWFnZS0+Y29udGV4dCgpOwo=
</data>
<flag name="review"
          id="129607"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>