<?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>104396</bug_id>
          
          <creation_ts>2012-12-07 13:47:33 -0800</creation_ts>
          <short_desc>[chromium] Support GraphicsLayer::setContentsToSolidColor</short_desc>
          <delta_ts>2013-03-25 16:37:05 -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>Layout and Rendering</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="Noam Rosenthal">noam</reporter>
          <assigned_to name="James Robinson">jamesr</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>danakj</cc>
    
    <cc>dglazkov</cc>
    
    <cc>enne</cc>
    
    <cc>jamesr</cc>
    
    <cc>reveman</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>786107</commentid>
    <comment_count>0</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-12-07 13:47:33 -0800</bug_when>
    <thetext>After https://bugs.webkit.org/show_bug.cgi?id=103786, background colors are directly composited in WebKit.
Chromium compositor still doesn&apos;t have support for that. Adding background colors to chromium compositor can help with memory footprint and texture-uploads for certain content.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786133</commentid>
    <comment_count>1</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-12-07 14:09:33 -0800</bug_when>
    <thetext>This should be an easy thing to add for whoever&apos;s interested - just have to call setBackgroundColor(), make sure the draws content flags are all set up correctly, and test it.

No&apos;am - where are the layout tests for this feature?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786155</commentid>
    <comment_count>2</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-12-07 14:21:59 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; This should be an easy thing to add for whoever&apos;s interested - just have to call setBackgroundColor(), make sure the draws content flags are all set up correctly, and test it.
&gt; 
&gt; No&apos;am - where are the layout tests for this feature?

Ref tests, compositing/background-color.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800693</commentid>
    <comment_count>3</comment_count>
      <attachid>181396</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-01-04 15:37:31 -0800</bug_when>
    <thetext>Created attachment 181396
wip, does not work fully</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844607</commentid>
    <comment_count>4</comment_count>
      <attachid>190837</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-02-28 16:28:26 -0800</bug_when>
    <thetext>Created attachment 190837
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844608</commentid>
    <comment_count>5</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-02-28 16:30:47 -0800</bug_when>
    <thetext>This patch works fine except:

1.) Edge AA isn&apos;t enabled for these layers, so the solid color layers are jaggier than their painted equivalents.  Will be fixed soon by https://code.google.com/p/chromium/issues/detail?id=166570

2.) 170-odd tests will need text rebaselines due to layers not having (drawsContent 1) any more</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844662</commentid>
    <comment_count>6</comment_count>
      <attachid>190837</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-28 17:41:19 -0800</bug_when>
    <thetext>Comment on attachment 190837
Patch

Attachment 190837 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/16819512

New failing tests:
compositing/geometry/clip.html
compositing/contents-opaque/contents-opaque-background-color.html
compositing/geometry/limit-layer-bounds-positioned.html
compositing/geometry/bounds-ignores-hidden-composited-descendant.html
http/tests/cache/subresource-failover-to-network.html
compositing/contents-opaque/contents-opaque-layer-transform.html
compositing/geometry/layer-due-to-layer-children-deep.html
compositing/geometry/fixed-position-composited-switch.html
compositing/geometry/limit-layer-bounds-transformed-overflow.html
compositing/iframes/become-overlapped-iframe.html
compositing/filters/sw-shadow-overlaps-hw-layer.html
compositing/geometry/preserve-3d-switching.html
compositing/geometry/limit-layer-bounds-overflow-root.html
compositing/filters/sw-layer-overlaps-hw-shadow.html
compositing/geometry/limit-layer-bounds-fixed-positioned.html
compositing/geometry/layer-due-to-layer-children-deep-switch.html
compositing/geometry/ancestor-overflow-change.html
compositing/geometry/limit-layer-bounds-positioned-transition.html
compositing/geometry/clip-inside.html
compositing/geometry/bounds-ignores-hidden-dynamic-negzindex.html
compositing/columns/composited-in-paginated.html
compositing/iframes/become-composited-nested-iframes.html
compositing/contents-opaque/contents-opaque-layer-opacity.html
compositing/geometry/limit-layer-bounds-transformed.html
compositing/iframes/composited-parent-iframe.html
compositing/geometry/flipped-writing-mode.html
compositing/overflow-trumps-transform-style.html
compositing/backing/no-backing-for-clip.html
compositing/backing/no-backing-for-clip-overlap.html
compositing/backing/no-backing-for-perspective.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855580</commentid>
    <comment_count>7</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-14 17:01:27 -0700</bug_when>
    <thetext>Support for AA for these sorts of layers had landed: https://code.google.com/p/chromium/issues/detail?id=166570.  I can sort out how to deal with the text rebaselines if someone reviews this - Enne?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856046</commentid>
    <comment_count>8</comment_count>
      <attachid>190837</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2013-03-15 09:37:06 -0700</bug_when>
    <thetext>Comment on attachment 190837
Patch

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

&gt; Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp:528
&gt; +    if (color.isValid()) {

When can this happen? Is removing the layer entirely the logical equivalent of what happens in the normal path if you have a layer that is nothing but a background-color with an invalid color?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857582</commentid>
    <comment_count>9</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-18 14:45:52 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 190837 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=190837&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp:528
&gt; &gt; +    if (color.isValid()) {
&gt; 
&gt; When can this happen? Is removing the layer entirely the logical equivalent of what happens in the normal path if you have a layer that is nothing but a background-color with an invalid color?

RenderLayerBacking.cpp has this:

    Color backgroundColor;
    if (isSimpleContainer)
        backgroundColor = rendererBackgroundColor();

    // An unset (invalid) color will remove the solid color.
    m_graphicsLayer-&gt;setContentsToSolidColor(backgroundColor);

so basically passing a non-valid color is a way to remove the solid color layer and go back to the normal path.  If isSimpleContainer is true, we&apos;ll always get a valid Color here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858399</commentid>
    <comment_count>10</comment_count>
      <attachid>190837</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2013-03-19 10:06:22 -0700</bug_when>
    <thetext>Comment on attachment 190837
Patch

R=me.  Thanks for the explanation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858459</commentid>
    <comment_count>11</comment_count>
    <who name="David Reveman">reveman</who>
    <bug_when>2013-03-19 10:48:47 -0700</bug_when>
    <thetext>Fyi, we probably want to hold off on this until crbug.com/218873 has been solved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858494</commentid>
    <comment_count>12</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-19 11:07:12 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Fyi, we probably want to hold off on this until crbug.com/218873 has been solved.

Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863158</commentid>
    <comment_count>13</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-25 16:37:05 -0700</bug_when>
    <thetext>Committed r146826: &lt;http://trac.webkit.org/changeset/146826&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181396</attachid>
            <date>2013-01-04 15:37:31 -0800</date>
            <delta_ts>2013-02-28 16:28:24 -0800</delta_ts>
            <desc>wip, does not work fully</desc>
            <filename>bug-104396-20130104153453.patch</filename>
            <type>text/plain</type>
            <size>10968</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4Mjk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmNjNGVmYmU2M2Y5Mjdi
MGM2NGMwMTNkZGM1MTczNTQzNmU0YzYzZi4uYjMwMjM1NDk4ZmRjYzgyMjRiNjgwMTY4OTNkNmUy
OTEyODIzOTFlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAxLTA0ICBKYW1l
cyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBT
dXBwb3J0IEdyYXBoaWNzTGF5ZXI6OnNldENvbnRlbnRzVG9Tb2xpZENvbG9yCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQzOTYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMh
KS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OnN1cHBvcnRzQmFja2dyb3VuZENvbG9yQ29udGVu
dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNo
cm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6c2V0
QmFja2dyb3VuZENvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDaHJvbWl1
bTo6c2V0Q29udGVudHNUb1NvbGlkQ29sb3IpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2hyb21pdW06OnNldENvbnRlbnRzVG8pOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5oOgor
ICAgICAgICAoR3JhcGhpY3NMYXllckNocm9taXVtKToKKwogMjAxMi0xMi0yMCAgRXJpayBBcnZp
ZHNzb24gIDxhcnZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENvZGVHZW46IE1ha2UgW1JlZmxl
Y3RdIHVzZSBnZXRJZEF0dHJpYnV0ZSBhbmQgZ2V0TmFtZUF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IDEyZjA1YzY0
Zjk4YTFlY2YxNmQ2OGU2OTg1YTIzOTU1MGE0MGUyZjMuLmNkNWVlODE3MzkzNzcyMTJiNWJhMjFh
Zjg3MDMyOTlkYTM0YjFjODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc0xheWVyLmgKQEAgLTQyMSw3ICs0MjEsNyBAQCBwdWJsaWM6CiAKICAgICBz
dGF0aWMgYm9vbCBzdXBwb3J0c0JhY2tncm91bmRDb2xvckNvbnRlbnQoKQogICAgIHsKLSNpZiBV
U0UoQ0EpIHx8IFVTRShURVhUVVJFX01BUFBFUikKKyNpZiBVU0UoQ0EpIHx8IFVTRShURVhUVVJF
X01BUFBFUikgfHwgUExBVEZPUk0oQ0hST01JVU0pCiAgICAgICAgIHJldHVybiB0cnVlOwogI2Vs
c2UKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1
bS5jcHAKaW5kZXggNTQ5YWZiNTc2M2U2MWFiNzYwNDE3OWNiM2MwNTY3MTRiNmMyOWVlNC4uOTI1
Y2RjZjJiYzYzZWI1ZGMxZDE3MjMxZTIzZmNkMjIxMTJjYmJiZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVt
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFw
aGljc0xheWVyQ2hyb21pdW0uY3BwCkBAIC0yODQsMTEgKzI4NCwxMSBAQCB2b2lkIEdyYXBoaWNz
TGF5ZXJDaHJvbWl1bTo6c2V0Q29udGVudHNWaXNpYmxlKGJvb2wgY29udGVudHNWaXNpYmxlKQog
CiB2b2lkIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6c2V0QmFja2dyb3VuZENvbG9yKGNvbnN0IENv
bG9yJiBjb2xvcikKIHsKLSAgICBpZiAoY29sb3IgPT0gbV9iYWNrZ3JvdW5kQ29sb3IpCisgICAg
aWYgKG1fYmFja2dyb3VuZENvbG9yID09IGNvbG9yKQogICAgICAgICByZXR1cm47CiAKICAgICBH
cmFwaGljc0xheWVyOjpzZXRCYWNrZ3JvdW5kQ29sb3IoY29sb3IpOwotICAgIHVwZGF0ZUxheWVy
QmFja2dyb3VuZENvbG9yKCk7CisgICAgbV9sYXllci0+bGF5ZXIoKS0+c2V0QmFja2dyb3VuZENv
bG9yKG1fYmFja2dyb3VuZENvbG9yLnJnYigpKTsKIH0KIAogdm9pZCBHcmFwaGljc0xheWVyQ2hy
b21pdW06OnNldENvbnRlbnRzT3BhcXVlKGJvb2wgb3BhcXVlKQpAQCAtNTE1LDYgKzUxNSwyMSBA
QCB2b2lkIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6c2V0Q29udGVudHNUb0ltYWdlKEltYWdlKiBp
bWFnZSkKICAgICAgICAgdXBkYXRlQ2hpbGRMaXN0KCk7CiB9CiAKK3ZvaWQgR3JhcGhpY3NMYXll
ckNocm9taXVtOjpzZXRDb250ZW50c1RvU29saWRDb2xvcihjb25zdCBDb2xvciYgY29sb3IpCit7
CisgICAgaWYgKGNvbG9yICE9IENvbG9yOjp0cmFuc3BhcmVudCkgeworICAgICAgICBpZiAoIW1f
Y29sb3JMYXllcikgeworICAgICAgICAgICAgbV9jb2xvckxheWVyID0gYWRvcHRQdHIoUGxhdGZv
cm06OmN1cnJlbnQoKS0+Y29tcG9zaXRvclN1cHBvcnQoKS0+Y3JlYXRlU29saWRDb2xvckxheWVy
KCkpOworICAgICAgICAgICAgcmVnaXN0ZXJDb250ZW50c0xheWVyKG1fY29sb3JMYXllci0+bGF5
ZXIoKSk7CisgICAgICAgIH0KKyAgICAgICAgbV9jb2xvckxheWVyLT5zZXRCYWNrZ3JvdW5kQ29s
b3IoY29sb3IucmdiKCkpOworICAgIH0gZWxzZSBpZiAobV9jb2xvckxheWVyKSB7CisgICAgICAg
IHVucmVnaXN0ZXJDb250ZW50c0xheWVyKG1fY29sb3JMYXllci0+bGF5ZXIoKSk7CisgICAgICAg
IG1fY29sb3JMYXllci5jbGVhcigpOworICAgIH0KKyAgICBzZXRDb250ZW50c1RvKENvbnRlbnRz
TGF5ZXJGb3JTb2xpZENvbG9yLCBtX2NvbG9yTGF5ZXIgPyBtX2NvbG9yTGF5ZXItPmxheWVyKCkg
OiAwKTsKK30KKwogc3RhdGljIEhhc2hTZXQ8aW50Piogc19yZWdpc3RlcmVkTGF5ZXJTZXQ7CiAK
IHZvaWQgR3JhcGhpY3NMYXllckNocm9taXVtOjpyZWdpc3RlckNvbnRlbnRzTGF5ZXIoV2ViTGF5
ZXIqIGxheWVyKQpAQCAtNTc4LDYgKzU5Myw3IEBAIHZvaWQgR3JhcGhpY3NMYXllckNocm9taXVt
OjpzZXRDb250ZW50c1RvKENvbnRlbnRzTGF5ZXJQdXJwb3NlIHB1cnBvc2UsIFdlYkxheWVyCiAK
ICAgICAgICAgICAgIC8vIFRoZSBvbGQgY29udGVudHMgbGF5ZXIgd2lsbCBiZSByZW1vdmVkIHZp
YSB1cGRhdGVDaGlsZExpc3QuCiAgICAgICAgICAgICBtX2NvbnRlbnRzTGF5ZXIgPSAwOworICAg
ICAgICAgICAgbV9jb250ZW50c0xheWVyUHVycG9zZSA9IE5vQ29udGVudHNMYXllcjsKICAgICAg
ICAgfQogICAgIH0KIApAQCAtNzkzLDE2ICs4MDksNiBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDaHJv
bWl1bTo6dXBkYXRlTGF5ZXJJc0RyYXdhYmxlKCkKICAgICB9CiB9CiAKLXZvaWQgR3JhcGhpY3NM
YXllckNocm9taXVtOjp1cGRhdGVMYXllckJhY2tncm91bmRDb2xvcigpCi17Ci0gICAgbV9sYXll
ci0+bGF5ZXIoKS0+c2V0QmFja2dyb3VuZENvbG9yKG1fYmFja2dyb3VuZENvbG9yLnJnYigpKTsK
LX0KLQotdm9pZCBHcmFwaGljc0xheWVyQ2hyb21pdW06OnVwZGF0ZUNvbnRlbnRzVmlkZW8oKQot
ewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQKLX0KLQogdm9pZCBHcmFwaGljc0xheWVyQ2hyb21p
dW06OnVwZGF0ZUNvbnRlbnRzUmVjdCgpCiB7CiAgICAgV2ViTGF5ZXIqIGNvbnRlbnRzTGF5ZXIg
PSBjb250ZW50c0xheWVySWZSZWdpc3RlcmVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJv
bWl1bS5oCmluZGV4IDZhYTVhNjNiZjJlNjljYTMzZjVmZjAxZmU3M2FmZjQ1ZjI0NzkyZjQuLjVh
Mzc5ZDAxNDA0ODBmM2MzZTZkYjQ1ZjhhNmY0M2Y0Y2MxMTZhZTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1
bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBo
aWNzTGF5ZXJDaHJvbWl1bS5oCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSA8cHVibGljL1dl
YkltYWdlTGF5ZXIuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViTGF5ZXIuaD4KICNpbmNsdWRlIDxw
dWJsaWMvV2ViTGF5ZXJTY3JvbGxDbGllbnQuaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViU29saWRD
b2xvckxheWVyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtNjYsNjkgKzY3LDcwIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCB3aWxs
QmVEZXN0cm95ZWQoKSBPVkVSUklERTsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXROYW1lKGNvbnN0
IFN0cmluZyYpOworICAgIHZpcnR1YWwgdm9pZCBzZXROYW1lKGNvbnN0IFN0cmluZyYpIE9WRVJS
SURFOwogCi0gICAgdmlydHVhbCBib29sIHNldENoaWxkcmVuKGNvbnN0IFZlY3RvcjxHcmFwaGlj
c0xheWVyKj4mKTsKLSAgICB2aXJ0dWFsIHZvaWQgYWRkQ2hpbGQoR3JhcGhpY3NMYXllciopOwot
ICAgIHZpcnR1YWwgdm9pZCBhZGRDaGlsZEF0SW5kZXgoR3JhcGhpY3NMYXllciosIGludCBpbmRl
eCk7Ci0gICAgdmlydHVhbCB2b2lkIGFkZENoaWxkQWJvdmUoR3JhcGhpY3NMYXllciosIEdyYXBo
aWNzTGF5ZXIqIHNpYmxpbmcpOwotICAgIHZpcnR1YWwgdm9pZCBhZGRDaGlsZEJlbG93KEdyYXBo
aWNzTGF5ZXIqLCBHcmFwaGljc0xheWVyKiBzaWJsaW5nKTsKLSAgICB2aXJ0dWFsIGJvb2wgcmVw
bGFjZUNoaWxkKEdyYXBoaWNzTGF5ZXIqIG9sZENoaWxkLCBHcmFwaGljc0xheWVyKiBuZXdDaGls
ZCk7CisgICAgdmlydHVhbCBib29sIHNldENoaWxkcmVuKGNvbnN0IFZlY3RvcjxHcmFwaGljc0xh
eWVyKj4mKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkQ2hpbGQoR3JhcGhpY3NMYXll
ciopIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBhZGRDaGlsZEF0SW5kZXgoR3JhcGhpY3NM
YXllciosIGludCBpbmRleCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGFkZENoaWxkQWJv
dmUoR3JhcGhpY3NMYXllciosIEdyYXBoaWNzTGF5ZXIqIHNpYmxpbmcpIE9WRVJSSURFOworICAg
IHZpcnR1YWwgdm9pZCBhZGRDaGlsZEJlbG93KEdyYXBoaWNzTGF5ZXIqLCBHcmFwaGljc0xheWVy
KiBzaWJsaW5nKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgcmVwbGFjZUNoaWxkKEdyYXBo
aWNzTGF5ZXIqIG9sZENoaWxkLCBHcmFwaGljc0xheWVyKiBuZXdDaGlsZCkgT1ZFUlJJREU7CiAK
LSAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlRnJvbVBhcmVudCgpOworICAgIHZpcnR1YWwgdm9pZCBy
ZW1vdmVGcm9tUGFyZW50KCkgT1ZFUlJJREU7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc2V0UG9zaXRp
b24oY29uc3QgRmxvYXRQb2ludCYpOwotICAgIHZpcnR1YWwgdm9pZCBzZXRBbmNob3JQb2ludChj
b25zdCBGbG9hdFBvaW50M0QmKTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0U2l6ZShjb25zdCBGbG9h
dFNpemUmKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0UG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYp
IE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBzZXRBbmNob3JQb2ludChjb25zdCBGbG9hdFBv
aW50M0QmKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2l6ZShjb25zdCBGbG9hdFNp
emUmKSBPVkVSUklERTsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXRUcmFuc2Zvcm0oY29uc3QgVHJh
bnNmb3JtYXRpb25NYXRyaXgmKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0VHJhbnNmb3JtKGNvbnN0
IFRyYW5zZm9ybWF0aW9uTWF0cml4JikgT1ZFUlJJREU7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc2V0
Q2hpbGRyZW5UcmFuc2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmKTsKKyAgICB2aXJ0
dWFsIHZvaWQgc2V0Q2hpbGRyZW5UcmFuc2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgm
KSBPVkVSUklERTsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXRQcmVzZXJ2ZXMzRChib29sKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgc2V0TWFza3NUb0JvdW5kcyhib29sKTsKLSAgICB2aXJ0dWFsIHZvaWQg
c2V0RHJhd3NDb250ZW50KGJvb2wpOwotICAgIHZpcnR1YWwgdm9pZCBzZXRDb250ZW50c1Zpc2li
bGUoYm9vbCk7Ci0gICAgdmlydHVhbCB2b2lkIHNldE1hc2tMYXllcihHcmFwaGljc0xheWVyKik7
CisgICAgdmlydHVhbCB2b2lkIHNldFByZXNlcnZlczNEKGJvb2wpIE9WRVJSSURFOworICAgIHZp
cnR1YWwgdm9pZCBzZXRNYXNrc1RvQm91bmRzKGJvb2wpIE9WRVJSSURFOworICAgIHZpcnR1YWwg
dm9pZCBzZXREcmF3c0NvbnRlbnQoYm9vbCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHNl
dENvbnRlbnRzVmlzaWJsZShib29sKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0TWFz
a0xheWVyKEdyYXBoaWNzTGF5ZXIqKSBPVkVSUklERTsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXRC
YWNrZ3JvdW5kQ29sb3IoY29uc3QgQ29sb3ImKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0QmFja2dy
b3VuZENvbG9yKGNvbnN0IENvbG9yJikgT1ZFUlJJREU7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc2V0
Q29udGVudHNPcGFxdWUoYm9vbCk7Ci0gICAgdmlydHVhbCB2b2lkIHNldEJhY2tmYWNlVmlzaWJp
bGl0eShib29sKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udGVudHNPcGFxdWUoYm9vbCkgT1ZF
UlJJREU7CisgICAgdmlydHVhbCB2b2lkIHNldEJhY2tmYWNlVmlzaWJpbGl0eShib29sKSBPVkVS
UklERTsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXRSZXBsaWNhdGVkQnlMYXllcihHcmFwaGljc0xh
eWVyKik7CisgICAgdmlydHVhbCB2b2lkIHNldFJlcGxpY2F0ZWRCeUxheWVyKEdyYXBoaWNzTGF5
ZXIqKSBPVkVSUklERTsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXRPcGFjaXR5KGZsb2F0KTsKKyAg
ICB2aXJ0dWFsIHZvaWQgc2V0T3BhY2l0eShmbG9hdCkgT1ZFUlJJREU7CiAKICAgICAvLyBSZXR1
cm5zIHRydWUgaWYgZmlsdGVyIGNhbiBiZSByZW5kZXJlZCBieSB0aGUgY29tcG9zaXRvcgotICAg
IHZpcnR1YWwgYm9vbCBzZXRGaWx0ZXJzKGNvbnN0IEZpbHRlck9wZXJhdGlvbnMmKTsKKyAgICB2
aXJ0dWFsIGJvb2wgc2V0RmlsdGVycyhjb25zdCBGaWx0ZXJPcGVyYXRpb25zJikgT1ZFUlJJREU7
CiAgICAgdm9pZCBzZXRCYWNrZ3JvdW5kRmlsdGVycyhjb25zdCBGaWx0ZXJPcGVyYXRpb25zJik7
CiAKLSAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNEaXNwbGF5KCk7Ci0gICAgdmlydHVhbCB2b2lk
IHNldE5lZWRzRGlzcGxheUluUmVjdChjb25zdCBGbG9hdFJlY3QmKTsKLSAgICB2aXJ0dWFsIHZv
aWQgc2V0Q29udGVudHNOZWVkc0Rpc3BsYXkoKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNE
aXNwbGF5KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzRGlzcGxheUluUmVj
dChjb25zdCBGbG9hdFJlY3QmKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udGVu
dHNOZWVkc0Rpc3BsYXkoKSBPVkVSUklERTsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXRDb250ZW50
c1JlY3QoY29uc3QgSW50UmVjdCYpOworICAgIHZpcnR1YWwgdm9pZCBzZXRDb250ZW50c1JlY3Qo
Y29uc3QgSW50UmVjdCYpIE9WRVJSSURFOwogCiAgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJDb250
ZW50c0xheWVyKFdlYktpdDo6V2ViTGF5ZXIqKTsKICAgICBzdGF0aWMgdm9pZCB1bnJlZ2lzdGVy
Q29udGVudHNMYXllcihXZWJLaXQ6OldlYkxheWVyKik7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc2V0
Q29udGVudHNUb0ltYWdlKEltYWdlKik7Ci0gICAgdmlydHVhbCB2b2lkIHNldENvbnRlbnRzVG9N
ZWRpYShQbGF0Zm9ybUxheWVyKik7Ci0gICAgdmlydHVhbCB2b2lkIHNldENvbnRlbnRzVG9DYW52
YXMoUGxhdGZvcm1MYXllciopOwotICAgIHZpcnR1YWwgYm9vbCBoYXNDb250ZW50c0xheWVyKCkg
Y29uc3QgeyByZXR1cm4gbV9jb250ZW50c0xheWVyOyB9CisgICAgdmlydHVhbCB2b2lkIHNldENv
bnRlbnRzVG9JbWFnZShJbWFnZSopIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBzZXRDb250
ZW50c1RvTWVkaWEoUGxhdGZvcm1MYXllciopIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBz
ZXRDb250ZW50c1RvU29saWRDb2xvcihjb25zdCBDb2xvciYpIE9WRVJSSURFOworICAgIHZpcnR1
YWwgdm9pZCBzZXRDb250ZW50c1RvQ2FudmFzKFBsYXRmb3JtTGF5ZXIqKSBPVkVSUklERTsKKyAg
ICB2aXJ0dWFsIGJvb2wgaGFzQ29udGVudHNMYXllcigpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJu
IG1fY29udGVudHNMYXllcjsgfQogCi0gICAgdmlydHVhbCBib29sIGFkZEFuaW1hdGlvbihjb25z
dCBLZXlmcmFtZVZhbHVlTGlzdCYsIGNvbnN0IEludFNpemUmIGJveFNpemUsIGNvbnN0IEFuaW1h
dGlvbiosIGNvbnN0IFN0cmluZyYsIGRvdWJsZSB0aW1lT2Zmc2V0KTsKLSAgICB2aXJ0dWFsIHZv
aWQgcGF1c2VBbmltYXRpb24oY29uc3QgU3RyaW5nJiBhbmltYXRpb25OYW1lLCBkb3VibGUgdGlt
ZU9mZnNldCk7Ci0gICAgdmlydHVhbCB2b2lkIHJlbW92ZUFuaW1hdGlvbihjb25zdCBTdHJpbmcm
IGFuaW1hdGlvbk5hbWUpOwotICAgIHZpcnR1YWwgdm9pZCBzdXNwZW5kQW5pbWF0aW9ucyhkb3Vi
bGUgd2FsbENsb2NrVGltZSk7Ci0gICAgdmlydHVhbCB2b2lkIHJlc3VtZUFuaW1hdGlvbnMoKTsK
KyAgICB2aXJ0dWFsIGJvb2wgYWRkQW5pbWF0aW9uKGNvbnN0IEtleWZyYW1lVmFsdWVMaXN0Jiwg
Y29uc3QgSW50U2l6ZSYgYm94U2l6ZSwgY29uc3QgQW5pbWF0aW9uKiwgY29uc3QgU3RyaW5nJiwg
ZG91YmxlIHRpbWVPZmZzZXQpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBwYXVzZUFuaW1h
dGlvbihjb25zdCBTdHJpbmcmIGFuaW1hdGlvbk5hbWUsIGRvdWJsZSB0aW1lT2Zmc2V0KSBPVkVS
UklERTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlQW5pbWF0aW9uKGNvbnN0IFN0cmluZyYgYW5p
bWF0aW9uTmFtZSkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHN1c3BlbmRBbmltYXRpb25z
KGRvdWJsZSB3YWxsQ2xvY2tUaW1lKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVzdW1l
QW5pbWF0aW9ucygpIE9WRVJSSURFOwogCiAgICAgdm9pZCBzZXRMaW5rSGlnaGxpZ2h0KExpbmtI
aWdobGlnaHRDbGllbnQqKTsKICAgICAvLyBOZXh0IGZ1bmN0aW9uIGZvciB0ZXN0aW5nIHB1cnBv
c2VzLgogICAgIExpbmtIaWdobGlnaHRDbGllbnQqIGxpbmtIaWdobGlnaHQoKSB7IHJldHVybiBt
X2xpbmtIaWdobGlnaHQ7IH0KIAotICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJMYXllciogcGxhdGZv
cm1MYXllcigpIGNvbnN0OworICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJMYXllciogcGxhdGZvcm1M
YXllcigpIGNvbnN0IE9WRVJSSURFOwogCiAgICAgdmlydHVhbCB2b2lkIHNldEFwcGxpZXNQYWdl
U2NhbGUoYm9vbCBhcHBsaWVzU2NhbGUpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBhcHBs
aWVzUGFnZVNjYWxlKCkgY29uc3QgT1ZFUlJJREU7CkBAIC0xNjQsMTAgKzE2Niw3IEBAIHByaXZh
dGU6CiAgICAgdm9pZCB1cGRhdGVNYXNrc1RvQm91bmRzKCk7CiAgICAgdm9pZCB1cGRhdGVMYXll
clByZXNlcnZlczNEKCk7CiAgICAgdm9pZCB1cGRhdGVMYXllcklzRHJhd2FibGUoKTsKLSAgICB2
b2lkIHVwZGF0ZUxheWVyQmFja2dyb3VuZENvbG9yKCk7CiAKLSAgICB2b2lkIHVwZGF0ZUNvbnRl
bnRzSW1hZ2UoKTsKLSAgICB2b2lkIHVwZGF0ZUNvbnRlbnRzVmlkZW8oKTsKICAgICB2b2lkIHVw
ZGF0ZUNvbnRlbnRzUmVjdCgpOwogCiAgICAgZW51bSBDb250ZW50c0xheWVyUHVycG9zZSB7CkBA
IC0xNzUsNiArMTc0LDcgQEAgcHJpdmF0ZToKICAgICAgICAgQ29udGVudHNMYXllckZvckltYWdl
LAogICAgICAgICBDb250ZW50c0xheWVyRm9yVmlkZW8sCiAgICAgICAgIENvbnRlbnRzTGF5ZXJG
b3JDYW52YXMsCisgICAgICAgIENvbnRlbnRzTGF5ZXJGb3JTb2xpZENvbG9yLAogICAgIH07CiAK
ICAgICB2b2lkIHNldENvbnRlbnRzVG8oQ29udGVudHNMYXllclB1cnBvc2UsIFdlYktpdDo6V2Vi
TGF5ZXIqKTsKQEAgLTE4Nyw2ICsxODcsNyBAQCBwcml2YXRlOgogICAgIE93blB0cjxXZWJLaXQ6
OldlYkNvbnRlbnRMYXllcj4gbV9sYXllcjsKICAgICBPd25QdHI8V2ViS2l0OjpXZWJMYXllcj4g
bV90cmFuc2Zvcm1MYXllcjsKICAgICBPd25QdHI8V2ViS2l0OjpXZWJJbWFnZUxheWVyPiBtX2lt
YWdlTGF5ZXI7CisgICAgT3duUHRyPFdlYktpdDo6V2ViU29saWRDb2xvckxheWVyPiBtX2NvbG9y
TGF5ZXI7CiAgICAgV2ViS2l0OjpXZWJMYXllciogbV9jb250ZW50c0xheWVyOwogICAgIC8vIFdl
IGRvbid0IGhhdmUgb3duZXJzaGlwIG9mIG1fY29udGVudHNMYXllciwgYnV0IHdlIGRvIHdhbnQg
dG8ga25vdyBpZiBhIGdpdmVuIGxheWVyIGlzIHRoZQogICAgIC8vIHNhbWUgYXMgb3VyIGN1cnJl
bnQgbGF5ZXIgaW4gc2V0Q29udGVudHNUbygpLiBTaW5jZSBtX2NvbnRlbnRzTGF5ZXIgbWF5IGJl
IGRlbGV0ZWQgYXQgdGhpcyBwb2ludCwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190837</attachid>
            <date>2013-02-28 16:28:26 -0800</date>
            <delta_ts>2013-03-19 10:06:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104396-20130228162438.patch</filename>
            <type>text/plain</type>
            <size>7997</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0MzY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTVjNzFjMDZmN2VmZDI4
YzBmNDExZTczZmQ4ZWMyYzk4MzFkMGEwZC4uYzRjMzJhMDA3ZGRlNjk4Nzc5NTg2MzI2MTRjNmU1
OWQ0ZjZkMjQyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAyLTI4ICBKYW1l
cyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBT
dXBwb3J0IEdyYXBoaWNzTGF5ZXI6OnNldENvbnRlbnRzVG9Tb2xpZENvbG9yCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQzOTYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGVuYWJsZXMgYW5kIGlt
cGxlbWVudHMgdGhlIEdyYXBoaWNzTGF5ZXI6OnNldENvbnRlbnRzVG9Tb2xpZENvbG9yCisgICAg
ICAgIHBhdGggZm9yIENocm9taXVtLgorCisgICAgICAgIFRlc3RlZCBieSByZWZ0ZXN0cyBpbiBj
b21wb3NpdGluZy9iYWNrZ3JvdW5kLWNvbG9yLyBhbmQgc2V2ZXJhbCBvdGhlcgorICAgICAgICBj
b21wb3NpdGluZy8gdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0xheWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpzdXBwb3J0c0JhY2tn
cm91bmRDb2xvckNvbnRlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xh
eWVyQ2hyb21pdW06OnNldENvbnRlbnRzVG9Tb2xpZENvbG9yKToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJv
bWl1bS5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXJDaHJvbWl1
bSk6CisKIDIwMTMtMDItMjggIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmV2ZXJ0IGFuIGVycm9uZW91cyBjaGFuZ2UgaW4gcjE0NDMzNi4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKaW5kZXggNDZlN2NlYWRlOTk2MTZkMmI3Yjk4NzkwZjg4YWFjOTg3ODEzNmZl
ZC4uM2RmOTg3ODJmYjAxYWZhZjkyZDc3ZDgwNGU2MWQ3NGM4YzlmNTk2YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMy0wMi0yOCAgSmFtZXMgUm9iaW5z
b24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gU3VwcG9ydCBH
cmFwaGljc0xheWVyOjpzZXRDb250ZW50c1RvU29saWRDb2xvcgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0Mzk2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlcyBzb21lIHVuaXQgdGVzdHMgZm9y
IGJldHRlciBpbmNsdWRlIGRpc2NpcGxpbmUuCisKKyAgICAgICAgKiB0ZXN0cy9HcmFwaGljc0xh
eWVyQ2hyb21pdW1UZXN0LmNwcDoKKyAgICAgICAgKiB0ZXN0cy9JbWFnZUxheWVyQ2hyb21pdW1U
ZXN0LmNwcDoKKwogMjAxMy0wMi0yOCAgVmFydW4gSmFpbiAgPHZhcnVuamFpbkBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgQWRkIG5ldyB3ZWJraXQgQVBJIHRvIGludm9rZSBhIGNvbnRleHQgbWVu
dS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
TGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIu
aAppbmRleCA0MmQ2YzkxMGQxMmVhYWRmM2FiYWMzNWNiYjE2MTg1NGQwNmRjZWU5Li4xYTVlNTA4
MzBlOWFiYzc1ZWExMzg3ZjM3YmQ2YzMwZjcyOTZjMGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCkBAIC00MjQsNyArNDI0LDcgQEAg
cHVibGljOgogCiAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNCYWNrZ3JvdW5kQ29sb3JDb250ZW50
KCkKICAgICB7Ci0jaWYgVVNFKENBKSB8fCBVU0UoVEVYVFVSRV9NQVBQRVIpCisjaWYgVVNFKENB
KSB8fCBVU0UoVEVYVFVSRV9NQVBQRVIpIHx8IFBMQVRGT1JNKENIUk9NSVVNKQogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICNlbHNlCiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJv
bWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFw
aGljc0xheWVyQ2hyb21pdW0uY3BwCmluZGV4IGY1OTJjODVlMDUwOWI2MTZmZjk0ZTI1N2Y4MDg0
OWY3MjA1ZjM2MDUuLjA4NzhjOWU3ZWI0OGMyMzVmZDkzMjJhYWY5ODEwYTYyZGRjZjA4NTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBo
aWNzTGF5ZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcApAQCAtNjIsMTIgKzYyLDE1IEBA
CiAjaW5jbHVkZSA8cHVibGljL1BsYXRmb3JtLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYkFuaW1h
dGlvbi5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJDb21wb3NpdG9yU3VwcG9ydC5oPgorI2luY2x1
ZGUgPHB1YmxpYy9XZWJDb250ZW50TGF5ZXIuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViRmlsdGVy
T3BlcmF0aW9uLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYkZpbHRlck9wZXJhdGlvbnMuaD4KICNp
bmNsdWRlIDxwdWJsaWMvV2ViRmxvYXRQb2ludC5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJGbG9h
dFJlY3QuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViSW1hZ2VMYXllci5oPgorI2luY2x1ZGUgPHB1
YmxpYy9XZWJMYXllci5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJTaXplLmg+CisjaW5jbHVkZSA8
cHVibGljL1dlYlNvbGlkQ29sb3JMYXllci5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJUcmFuc2Zv
cm1hdGlvbk1hdHJpeC5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoU2V0Lmg+CkBAIC01MTMsNiArNTE2LDQwIEBAIHZvaWQgR3JhcGhpY3NMYXllckNo
cm9taXVtOjpzZXRDb250ZW50c1RvSW1hZ2UoSW1hZ2UqIGltYWdlKQogICAgICAgICB1cGRhdGVD
aGlsZExpc3QoKTsKIH0KIAordm9pZCBHcmFwaGljc0xheWVyQ2hyb21pdW06OnNldENvbnRlbnRz
VG9Tb2xpZENvbG9yKGNvbnN0IENvbG9yJiBjb2xvcikKK3sKKyAgICBpZiAoY29sb3IgPT0gbV9j
b250ZW50c1NvbGlkQ29sb3IpCisgICAgICAgIHJldHVybjsKKworICAgIGJvb2wgY2hpbGRyZW5D
aGFuZ2VkID0gZmFsc2U7CisKKyAgICBtX2NvbnRlbnRzU29saWRDb2xvciA9IGNvbG9yOworCisg
ICAgaWYgKGNvbG9yLmlzVmFsaWQoKSkgeworICAgICAgICBpZiAoIW1fY29udGVudHNTb2xpZENv
bG9yTGF5ZXIpIHsKKyAgICAgICAgICAgIG1fY29udGVudHNTb2xpZENvbG9yTGF5ZXIgPSBhZG9w
dFB0cihQbGF0Zm9ybTo6Y3VycmVudCgpLT5jb21wb3NpdG9yU3VwcG9ydCgpLT5jcmVhdGVTb2xp
ZENvbG9yTGF5ZXIoKSk7CisgICAgICAgICAgICByZWdpc3RlckNvbnRlbnRzTGF5ZXIobV9jb250
ZW50c1NvbGlkQ29sb3JMYXllci0+bGF5ZXIoKSk7CisKKyAgICAgICAgICAgIHNldHVwQ29udGVu
dHNMYXllcihtX2NvbnRlbnRzU29saWRDb2xvckxheWVyLT5sYXllcigpKTsKKyAgICAgICAgICAg
IGNoaWxkcmVuQ2hhbmdlZCA9IHRydWU7CisgICAgICAgIH0KKworICAgICAgICBtX2NvbnRlbnRz
U29saWRDb2xvckxheWVyLT5zZXRCYWNrZ3JvdW5kQ29sb3IoY29sb3IucmdiKCkpOworICAgICAg
ICB1cGRhdGVDb250ZW50c1JlY3QoKTsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAobV9jb250
ZW50c1NvbGlkQ29sb3JMYXllcikgeworICAgICAgICAgICAgY2hpbGRyZW5DaGFuZ2VkID0gdHJ1
ZTsKKyAgICAgICAgICAgIHVucmVnaXN0ZXJDb250ZW50c0xheWVyKG1fY29udGVudHNTb2xpZENv
bG9yTGF5ZXItPmxheWVyKCkpOworICAgICAgICAgICAgbV9jb250ZW50c1NvbGlkQ29sb3JMYXll
ci5jbGVhcigpOworICAgICAgICB9CisgICAgICAgIG1fY29udGVudHNMYXllciA9IDA7CisgICAg
fQorCisgICAgaWYgKGNoaWxkcmVuQ2hhbmdlZCkKKyAgICAgICAgdXBkYXRlQ2hpbGRMaXN0KCk7
CisKK30KKwogc3RhdGljIEhhc2hTZXQ8aW50Piogc19yZWdpc3RlcmVkTGF5ZXJTZXQ7CiAKIHZv
aWQgR3JhcGhpY3NMYXllckNocm9taXVtOjpyZWdpc3RlckNvbnRlbnRzTGF5ZXIoV2ViTGF5ZXIq
IGxheWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uaAppbmRleCA2YWE1YTYzYmYy
ZTY5Y2EzM2Y1ZmYwMWZlNzNhZmY0NWYyNDc5MmY0Li4wZDFiZTI2NDQ1Njk3MjQxNTNlZGUwMGI2
OTFhN2Y5M2JiZDRjY2M2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uaApAQCAt
MzgsMTIgKzM4LDE2IEBACiAjaW5jbHVkZSAiT3BhcXVlUmVjdFRyYWNraW5nQ29udGVudExheWVy
RGVsZWdhdGUuaCIKIAogI2luY2x1ZGUgPHB1YmxpYy9XZWJBbmltYXRpb25EZWxlZ2F0ZS5oPgot
I2luY2x1ZGUgPHB1YmxpYy9XZWJDb250ZW50TGF5ZXIuaD4KLSNpbmNsdWRlIDxwdWJsaWMvV2Vi
SW1hZ2VMYXllci5oPgotI2luY2x1ZGUgPHB1YmxpYy9XZWJMYXllci5oPgogI2luY2x1ZGUgPHB1
YmxpYy9XZWJMYXllclNjcm9sbENsaWVudC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAK
K25hbWVzcGFjZSBXZWJLaXQgeworY2xhc3MgV2ViQ29udGVudExheWVyOworY2xhc3MgV2ViSW1h
Z2VMYXllcjsKK2NsYXNzIFdlYlNvbGlkQ29sb3JMYXllcjsKK2NsYXNzIFdlYkxheWVyOworfQor
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBhdGg7CkBAIC0xMTMsOSArMTE3LDEwIEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCByZWdpc3RlckNvbnRlbnRzTGF5ZXIoV2ViS2l0OjpX
ZWJMYXllciopOwogICAgIHN0YXRpYyB2b2lkIHVucmVnaXN0ZXJDb250ZW50c0xheWVyKFdlYktp
dDo6V2ViTGF5ZXIqKTsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXRDb250ZW50c1RvSW1hZ2UoSW1h
Z2UqKTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udGVudHNUb01lZGlhKFBsYXRmb3JtTGF5ZXIq
KTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udGVudHNUb0NhbnZhcyhQbGF0Zm9ybUxheWVyKik7
CisgICAgdmlydHVhbCB2b2lkIHNldENvbnRlbnRzVG9JbWFnZShJbWFnZSopIE9WRVJSSURFOwor
ICAgIHZpcnR1YWwgdm9pZCBzZXRDb250ZW50c1RvTWVkaWEoUGxhdGZvcm1MYXllciopIE9WRVJS
SURFOworICAgIHZpcnR1YWwgdm9pZCBzZXRDb250ZW50c1RvQ2FudmFzKFBsYXRmb3JtTGF5ZXIq
KSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udGVudHNUb1NvbGlkQ29sb3IoY29u
c3QgQ29sb3ImKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaGFzQ29udGVudHNMYXllcigp
IGNvbnN0IHsgcmV0dXJuIG1fY29udGVudHNMYXllcjsgfQogCiAgICAgdmlydHVhbCBib29sIGFk
ZEFuaW1hdGlvbihjb25zdCBLZXlmcmFtZVZhbHVlTGlzdCYsIGNvbnN0IEludFNpemUmIGJveFNp
emUsIGNvbnN0IEFuaW1hdGlvbiosIGNvbnN0IFN0cmluZyYsIGRvdWJsZSB0aW1lT2Zmc2V0KTsK
QEAgLTE4NCw5ICsxODksMTIgQEAgcHJpdmF0ZToKIAogICAgIFN0cmluZyBtX25hbWVCYXNlOwog
CisgICAgQ29sb3IgbV9jb250ZW50c1NvbGlkQ29sb3I7CisKICAgICBPd25QdHI8V2ViS2l0OjpX
ZWJDb250ZW50TGF5ZXI+IG1fbGF5ZXI7CiAgICAgT3duUHRyPFdlYktpdDo6V2ViTGF5ZXI+IG1f
dHJhbnNmb3JtTGF5ZXI7CiAgICAgT3duUHRyPFdlYktpdDo6V2ViSW1hZ2VMYXllcj4gbV9pbWFn
ZUxheWVyOworICAgIE93blB0cjxXZWJLaXQ6OldlYlNvbGlkQ29sb3JMYXllcj4gbV9jb250ZW50
c1NvbGlkQ29sb3JMYXllcjsKICAgICBXZWJLaXQ6OldlYkxheWVyKiBtX2NvbnRlbnRzTGF5ZXI7
CiAgICAgLy8gV2UgZG9uJ3QgaGF2ZSBvd25lcnNoaXAgb2YgbV9jb250ZW50c0xheWVyLCBidXQg
d2UgZG8gd2FudCB0byBrbm93IGlmIGEgZ2l2ZW4gbGF5ZXIgaXMgdGhlCiAgICAgLy8gc2FtZSBh
cyBvdXIgY3VycmVudCBsYXllciBpbiBzZXRDb250ZW50c1RvKCkuIFNpbmNlIG1fY29udGVudHNM
YXllciBtYXkgYmUgZGVsZXRlZCBhdCB0aGlzIHBvaW50LApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS90ZXN0cy9HcmFwaGljc0xheWVyQ2hyb21pdW1UZXN0LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvR3JhcGhpY3NMYXllckNocm9taXVtVGVzdC5jcHAKaW5k
ZXggMjY0MTJhNTc3MzlkNWYwZDA0ZjU2ODEwNmMyZThjZTAyZWY5Yzk1Ni4uZjY0OWZjYTU2MDc0
OWQwNWJmNTg4NDdlZmEyNzhjZDlkNTdmYmM3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS90ZXN0cy9HcmFwaGljc0xheWVyQ2hyb21pdW1UZXN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bVRlc3QuY3BwCkBAIC0z
Nyw2ICszNyw3IEBACiAjaW5jbHVkZSA8cHVibGljL1BsYXRmb3JtLmg+CiAjaW5jbHVkZSA8cHVi
bGljL1dlYkZsb2F0QW5pbWF0aW9uQ3VydmUuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViR3JhcGhp
Y3NDb250ZXh0M0QuaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViTGF5ZXIuaD4KICNpbmNsdWRlIDxw
dWJsaWMvV2ViTGF5ZXJUcmVlVmlldy5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJUcmFuc2Zvcm1h
dGlvbk1hdHJpeC5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJVbml0VGVzdFN1cHBvcnQuaD4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvSW1hZ2VMYXllckNocm9taXVt
VGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0ltYWdlTGF5ZXJDaHJvbWl1
bVRlc3QuY3BwCmluZGV4IGI5YzI4MTAxYWFiMzBlODE4ZTA3MTIxMWViM2VmYWU0ODZiNmFhNzMu
LjRkYjQyOGM2MjgzOTRlZDhiYjA4MWE0MjE5OGU3ZjEyODA1OTVhMWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvSW1hZ2VMYXllckNocm9taXVtVGVzdC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JbWFnZUxheWVyQ2hyb21pdW1UZXN0LmNw
cApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkltYWdlLmgiCiAjaW5jbHVkZSAiTmF0aXZl
SW1hZ2VTa2lhLmgiCiAjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKyNpbmNsdWRlIDxwdWJsaWMv
V2ViSW1hZ2VMYXllci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwo=
</data>
<flag name="review"
          id="211637"
          type_id="1"
          status="+"
          setter="enne"
    />
    <flag name="commit-queue"
          id="211656"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>