<?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>72343</bug_id>
          
          <creation_ts>2011-11-14 18:11:01 -0800</creation_ts>
          <short_desc>[Chromium] Page/layer flashes after GPU-accelerated CSS transition</short_desc>
          <delta_ts>2011-11-16 13:55:13 -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>New Bugs</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>
          <dependson>72448</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="John Bates">jbates</reporter>
          <assigned_to name="John Bates">jbates</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>darin</cc>
    
    <cc>jamesr</cc>
    
    <cc>pkasting</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>502563</commentid>
    <comment_count>0</comment_count>
    <who name="John Bates">jbates</who>
    <bug_when>2011-11-14 18:11:01 -0800</bug_when>
    <thetext>Page/layer flashes after GPU-accelerated CSS transition</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502568</commentid>
    <comment_count>1</comment_count>
      <attachid>115080</attachid>
    <who name="John Bates">jbates</who>
    <bug_when>2011-11-14 18:15:51 -0800</bug_when>
    <thetext>Created attachment 115080
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502571</commentid>
    <comment_count>2</comment_count>
      <attachid>115080</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-11-14 18:23:15 -0800</bug_when>
    <thetext>Comment on attachment 115080
Patch

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

This needs testing directions at least, even if they are manual. Some other comments inline

&gt; Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:285
&gt; +    if (m_context)

you don&apos;t need this check any more, since the only caller is drawLayersInternal() which can&apos;t be reached if context is null

&gt; Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:286
&gt; +        m_context-&gt;reshape(std::max(1, viewportWidth()), std::max(1, viewportHeight()));

the style was wrong here before, but this is a good time to fix it - we don&apos;t do calls like this with &quot;std::max()&quot; in WebKit, we put a using namespace std; declaration at the top of the .cpp and then just call &apos;max()&apos;. This file already has the using declaration so just remove the std:: from these callers

looking more closely if we do it this way then we shouldn&apos;t need the max() at all - the only callsite is guarded by an if (viewportSize().isEmpty()) check, so we should never get here if width or height &lt;= 0

&gt; Source/WebCore/platform/graphics/chromium/LayerRendererChromium.h:194
&gt; +    void doViewportChanged();

what an ugly function name - i hate all the doXXX() functions.  Do you even need a function here?  there&apos;s only one caller, why not just do it there?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503104</commentid>
    <comment_count>3</comment_count>
      <attachid>115210</attachid>
    <who name="John Bates">jbates</who>
    <bug_when>2011-11-15 11:38:46 -0800</bug_when>
    <thetext>Created attachment 115210
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503105</commentid>
    <comment_count>4</comment_count>
      <attachid>115080</attachid>
    <who name="John Bates">jbates</who>
    <bug_when>2011-11-15 11:40:58 -0800</bug_when>
    <thetext>Comment on attachment 115080
Patch

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

Added a unit test to verify that reshape doesn&apos;t happen until drawLayers.

&gt;&gt; Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:285
&gt;&gt; +    if (m_context)
&gt; 
&gt; you don&apos;t need this check any more, since the only caller is drawLayersInternal() which can&apos;t be reached if context is null

Done.

&gt;&gt; Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:286
&gt;&gt; +        m_context-&gt;reshape(std::max(1, viewportWidth()), std::max(1, viewportHeight()));
&gt; 
&gt; the style was wrong here before, but this is a good time to fix it - we don&apos;t do calls like this with &quot;std::max()&quot; in WebKit, we put a using namespace std; declaration at the top of the .cpp and then just call &apos;max()&apos;. This file already has the using declaration so just remove the std:: from these callers
&gt; 
&gt; looking more closely if we do it this way then we shouldn&apos;t need the max() at all - the only callsite is guarded by an if (viewportSize().isEmpty()) check, so we should never get here if width or height &lt;= 0

Done.

&gt;&gt; Source/WebCore/platform/graphics/chromium/LayerRendererChromium.h:194
&gt;&gt; +    void doViewportChanged();
&gt; 
&gt; what an ugly function name - i hate all the doXXX() functions.  Do you even need a function here?  there&apos;s only one caller, why not just do it there?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503245</commentid>
    <comment_count>5</comment_count>
      <attachid>115210</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-11-15 14:06:38 -0800</bug_when>
    <thetext>Comment on attachment 115210
Patch

R=me, cool test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503328</commentid>
    <comment_count>6</comment_count>
      <attachid>115210</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-15 15:08:03 -0800</bug_when>
    <thetext>Comment on attachment 115210
Patch

Clearing flags on attachment: 115210

Committed r100340: &lt;http://trac.webkit.org/changeset/100340&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503329</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-15 15:08:07 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503482</commentid>
    <comment_count>8</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2011-11-15 18:04:16 -0800</bug_when>
    <thetext>The new test here is suffering an assertion failure on the Win dbg (1) canary, see e.g.: http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Win%20%28dbg%29%281%29/builds/8094/steps/webkit_unit_tests/logs/stdio

Per jbates I&apos;ll roll this out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504031</commentid>
    <comment_count>9</comment_count>
      <attachid>115405</attachid>
    <who name="John Bates">jbates</who>
    <bug_when>2011-11-16 10:34:29 -0800</bug_when>
    <thetext>Created attachment 115405
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504033</commentid>
    <comment_count>10</comment_count>
      <attachid>115405</attachid>
    <who name="John Bates">jbates</who>
    <bug_when>2011-11-16 10:36:29 -0800</bug_when>
    <thetext>Comment on attachment 115405
Patch

CCLayerImpl::draw is a NOTREACHED, so this test needed a fake CCLayerImpl that is drawable. The debug build no longer asserts with this change. PTAL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504223</commentid>
    <comment_count>11</comment_count>
      <attachid>115405</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-16 13:55:09 -0800</bug_when>
    <thetext>Comment on attachment 115405
Patch

Clearing flags on attachment: 115405

Committed r100500: &lt;http://trac.webkit.org/changeset/100500&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504224</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-16 13:55:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115080</attachid>
            <date>2011-11-14 18:15:51 -0800</date>
            <delta_ts>2011-11-15 11:40:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72343-20111114181550.patch</filename>
            <type>text/plain</type>
            <size>3678</size>
            <attacher name="John Bates">jbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwMTM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWYzYzQ2MzQ1NjlmZmIx
MWEyZjdlZDA1NmViZTNiYmI1YWVlODhiMC4uNDc5ODVlMmFjNTg4MmVkOTJkMzliNWY1NTA4ZDJh
OTQyZTJkMGIzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDExLTExLTE0ICBKb2hu
IEJhdGVzICA8amJhdGVzQGdvb2dsZS5jb20+CisKKyAgICAgICAgUGFnZS9sYXllciBmbGFzaGVz
IGFmdGVyIEdQVS1hY2NlbGVyYXRlZCBDU1MgdHJhbnNpdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNDMKKworICAgICAgICBMYXllclJlbmRl
cmVyQ2hyb21pdW0gd2FzIHJlc2l6aW5nIHRoZSB3aW5kb3cgdG8gMXgxIGF0IGluaXRpYWxpemF0
aW9uLgorICAgICAgICBJbiBzb21lIGNhc2VzLCB0aGVyZSBpcyBubyBkcmF3TGF5ZXJzIGJlZm9y
ZSBzd2l0Y2hpbmcgYmFjayB0bworICAgICAgICBzb2Z0d2FyZSByZW5kZXJpbmcuIFRoaXMgbGVm
dCB0aGUgd2luZG93IHJlc2l6ZWQgdG8gMXgxIGFuZCB0aGUKKyAgICAgICAgZm9sbG93aW5nIHNv
ZnR3YXJlIHBhaW50cyB3b3VsZCB0aGVyZWZvcmUgbm90IGJlIHZpc2libGUuIFRoaXMgY2hhbmdl
CisgICAgICAgIG1vdmVzIHRoZSByZXNoYXBlIGNhbGwgaW50byBkcmF3TGF5ZXJzIHNvIHRoYXQg
aXQgd2lsbCBvbmx5IGJlIGNhbGxlZAorICAgICAgICBpZiByZW5kZXJpbmcgd2lsbCBvY2N1ci4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OnZpZXdwb3J0Q2hhbmdlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OmRvVmlld3BvcnRDaGFuZ2VkKToK
KyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0xheWVyc0ludGVy
bmFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVy
Q2hyb21pdW0uaDoKKwogMjAxMS0xMS0xNCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2ds
ZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogY29uc29sZSdzIHByb3RvY29sIHBheWxv
YWQgZG9lcyBub3QgaGF2ZSB1cmwgYW5kIGxpbmUgcHJvcGVydGllcy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJv
bWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXll
clJlbmRlcmVyQ2hyb21pdW0uY3BwCmluZGV4IGMxNTBlMzdiYWYwYjIwYWNjMzI2YjBlMWJkZTgy
YjcwMjZjYTE2MDAuLmEyOWVkNDQ1NTU3MzE3ZjM0NjE2Njk3MzlkY2U5MTQyYjUzY2MwZjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
UmVuZGVyZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcApAQCAtMjcyLDE0ICsyNzIsMjAg
QEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OnJlbGVhc2VSZW5kZXJTdXJmYWNlVGV4dHVy
ZXMoKQogCiB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6dmlld3BvcnRDaGFuZ2VkKCkKIHsK
LSAgICBpZiAobV9jb250ZXh0KQotICAgICAgICBtX2NvbnRleHQtPnJlc2hhcGUoc3RkOjptYXgo
MSwgdmlld3BvcnRXaWR0aCgpKSwgc3RkOjptYXgoMSwgdmlld3BvcnRIZWlnaHQoKSkpOworICAg
IG1faXNWaWV3cG9ydENoYW5nZWQgPSB0cnVlOwogCiAgICAgLy8gUmVzZXQgdGhlIGN1cnJlbnQg
cmVuZGVyIHN1cmZhY2UgdG8gZm9yY2UgYW4gdXBkYXRlIG9mIHRoZSB2aWV3cG9ydCBhbmQKICAg
ICAvLyBwcm9qZWN0aW9uIG1hdHJpeCBuZXh0IHRpbWUgdXNlUmVuZGVyU3VyZmFjZSBpcyBjYWxs
ZWQuCiAgICAgbV9jdXJyZW50UmVuZGVyU3VyZmFjZSA9IDA7CiB9CiAKK3ZvaWQgTGF5ZXJSZW5k
ZXJlckNocm9taXVtOjpkb1ZpZXdwb3J0Q2hhbmdlZCgpCit7CisgICAgbV9pc1ZpZXdwb3J0Q2hh
bmdlZCA9IGZhbHNlOworICAgIGlmIChtX2NvbnRleHQpCisgICAgICAgIG1fY29udGV4dC0+cmVz
aGFwZShzdGQ6Om1heCgxLCB2aWV3cG9ydFdpZHRoKCkpLCBzdGQ6Om1heCgxLCB2aWV3cG9ydEhl
aWdodCgpKSk7Cit9CisKIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3TGF5ZXJzKCkK
IHsKICAgICAvLyBGSVhNRTogdXNlIHRoZSBmcmFtZSBiZWdpbiB0aW1lIGZyb20gdGhlIG92ZXJh
bGwgY29tcG9zaXRvciBzY2hlZHVsZXIuCkBAIC0zNDksNiArMzU1LDkgQEAgdm9pZCBMYXllclJl
bmRlcmVyQ2hyb21pdW06OmRyYXdMYXllcnNJbnRlcm5hbCgpCiAgICAgICAgIHJldHVybjsKIAog
ICAgIFRSQUNFX0VWRU5UKCJMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdMYXllcnMiLCB0aGlz
LCAwKTsKKyAgICBpZiAobV9pc1ZpZXdwb3J0Q2hhbmdlZCkKKyAgICAgICAgZG9WaWV3cG9ydENo
YW5nZWQoKTsKKwogICAgIENDTGF5ZXJJbXBsKiByb290RHJhd0xheWVyID0gcm9vdExheWVyKCk7
CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9t
aXVtLmgKaW5kZXggMDI4ZTY2NGQzY2I5ZTVmNWIwNmU2YmVmOWZjNzdiMGZlYzUxMmRhYy4uNDEw
ZmEzY2Q3YTY3ZjhlZDczZTViMTBlODRlYjNjMWIyYWI0YzQ5NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVt
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJS
ZW5kZXJlckNocm9taXVtLmgKQEAgLTE5MSw2ICsxOTEsOCBAQCBwcml2YXRlOgogICAgIGZyaWVu
ZCBjbGFzcyBMYXllclJlbmRlcmVyU3dhcEJ1ZmZlcnNDb21wbGV0ZUNhbGxiYWNrQWRhcHRlcjsK
ICAgICB2b2lkIG9uU3dhcEJ1ZmZlcnNDb21wbGV0ZSgpOwogCisgICAgdm9pZCBkb1ZpZXdwb3J0
Q2hhbmdlZCgpOworCiAgICAgQ0NMYXllclRyZWVIb3N0SW1wbCogbV9vd25lcjsKIAogICAgIExh
eWVyUmVuZGVyZXJDYXBhYmlsaXRpZXMgbV9jYXBhYmlsaXRpZXM7CkBAIC0yMzcsNiArMjM5LDgg
QEAgcHJpdmF0ZToKICAgICBDQ0xheWVyU29ydGVyIG1fbGF5ZXJTb3J0ZXI7CiAKICAgICBGbG9h
dFF1YWQgbV9zaGFyZWRHZW9tZXRyeVF1YWQ7CisKKyAgICBib29sIG1faXNWaWV3cG9ydENoYW5n
ZWQ7CiB9OwogCiAvLyBTZXR0aW5nIERFQlVHX0dMX0NBTExTIHRvIDEgd2lsbCBjYWxsIGdsR2V0
RXJyb3IoKSBhZnRlciBhbG1vc3QgZXZlcnkgR0wK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115210</attachid>
            <date>2011-11-15 11:38:46 -0800</date>
            <delta_ts>2011-11-16 10:34:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72343-20111115113845.patch</filename>
            <type>text/plain</type>
            <size>5712</size>
            <attacher name="John Bates">jbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwMTM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWYzYzQ2MzQ1NjlmZmIx
MWEyZjdlZDA1NmViZTNiYmI1YWVlODhiMC4uMDc0ZDYwNjczNmMxYWY3MTljNDJiYzk2YWFhNGM0
YmE3YzE1YTllMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDExLTExLTE0ICBKb2hu
IEJhdGVzICA8amJhdGVzQGdvb2dsZS5jb20+CisKKyAgICAgICAgUGFnZS9sYXllciBmbGFzaGVz
IGFmdGVyIEdQVS1hY2NlbGVyYXRlZCBDU1MgdHJhbnNpdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNDMKKworICAgICAgICBMYXllclJlbmRl
cmVyQ2hyb21pdW0gd2FzIHJlc2l6aW5nIHRoZSB3aW5kb3cgdG8gMXgxIGF0IGluaXRpYWxpemF0
aW9uLgorICAgICAgICBJbiBzb21lIGNhc2VzLCB0aGVyZSBpcyBubyBkcmF3TGF5ZXJzIGJlZm9y
ZSBzd2l0Y2hpbmcgYmFjayB0bworICAgICAgICBzb2Z0d2FyZSByZW5kZXJpbmcuIFRoaXMgbGVm
dCB0aGUgd2luZG93IHJlc2l6ZWQgdG8gMXgxIGFuZCB0aGUKKyAgICAgICAgZm9sbG93aW5nIHNv
ZnR3YXJlIHBhaW50cyB3b3VsZCB0aGVyZWZvcmUgbm90IGJlIHZpc2libGUuIFRoaXMgY2hhbmdl
CisgICAgICAgIG1vdmVzIHRoZSByZXNoYXBlIGNhbGwgaW50byBkcmF3TGF5ZXJzIHNvIHRoYXQg
aXQgd2lsbCBvbmx5IGJlIGNhbGxlZAorICAgICAgICBpZiByZW5kZXJpbmcgd2lsbCBvY2N1ci4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcgdGVz
dDogQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QucmVzaGFwZU5vdENhbGxlZFVudGlsRHJhdy4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OnZpZXdwb3J0
Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OmRvVmll
d3BvcnRDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6
ZHJhd0xheWVyc0ludGVybmFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaDoKKwogMjAxMS0xMS0xNCAgUGF2ZWwgRmVsZG1hbiAg
PHBmZWxkbWFuQGdvb2dsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogY29uc29sZSdz
IHByb3RvY29sIHBheWxvYWQgZG9lcyBub3QgaGF2ZSB1cmwgYW5kIGxpbmUgcHJvcGVydGllcy4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCmluZGV4IGMxNTBlMzdiYWYwYjIw
YWNjMzI2YjBlMWJkZTgyYjcwMjZjYTE2MDAuLmI2NzRmZmFjYjEzZTVlZGMwNTI4OTQzNTM2MWYw
YmY1OGI1MGI4OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcApAQCAt
MTc1LDYgKzE3NSw3IEBAIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6TGF5ZXJSZW5kZXJlckNocm9t
aXVtKENDTGF5ZXJUcmVlSG9zdEltcGwqIG93bmVyLAogICAgICwgbV9jb250ZXh0KGNvbnRleHQp
CiAgICAgLCBtX2RlZmF1bHRSZW5kZXJTdXJmYWNlKDApCiAgICAgLCBtX3NoYXJlZEdlb21ldHJ5
UXVhZChGbG9hdFJlY3QoLTAuNWYsIC0wLjVmLCAxLjBmLCAxLjBmKSkKKyAgICAsIG1faXNWaWV3
cG9ydENoYW5nZWQoZmFsc2UpCiB7CiB9CiAKQEAgLTI3Miw4ICsyNzMsNyBAQCB2b2lkIExheWVy
UmVuZGVyZXJDaHJvbWl1bTo6cmVsZWFzZVJlbmRlclN1cmZhY2VUZXh0dXJlcygpCiAKIHZvaWQg
TGF5ZXJSZW5kZXJlckNocm9taXVtOjp2aWV3cG9ydENoYW5nZWQoKQogewotICAgIGlmIChtX2Nv
bnRleHQpCi0gICAgICAgIG1fY29udGV4dC0+cmVzaGFwZShzdGQ6Om1heCgxLCB2aWV3cG9ydFdp
ZHRoKCkpLCBzdGQ6Om1heCgxLCB2aWV3cG9ydEhlaWdodCgpKSk7CisgICAgbV9pc1ZpZXdwb3J0
Q2hhbmdlZCA9IHRydWU7CiAKICAgICAvLyBSZXNldCB0aGUgY3VycmVudCByZW5kZXIgc3VyZmFj
ZSB0byBmb3JjZSBhbiB1cGRhdGUgb2YgdGhlIHZpZXdwb3J0IGFuZAogICAgIC8vIHByb2plY3Rp
b24gbWF0cml4IG5leHQgdGltZSB1c2VSZW5kZXJTdXJmYWNlIGlzIGNhbGxlZC4KQEAgLTM0OSw2
ICszNDksMTQgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdMYXllcnNJbnRlcm5h
bCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIFRSQUNFX0VWRU5UKCJMYXllclJlbmRlcmVyQ2hy
b21pdW06OmRyYXdMYXllcnMiLCB0aGlzLCAwKTsKKyAgICBpZiAobV9pc1ZpZXdwb3J0Q2hhbmdl
ZCkgeworICAgICAgICAvLyBPbmx5IHJlc2hhcGUgd2hlbiB3ZSBrbm93IHdlIGFyZSBnb2luZyB0
byBkcmF3LiBPdGhlcndpc2UsIHRoZSByZXNoYXBlCisgICAgICAgIC8vIGNhbiBsZWF2ZSB0aGUg
d2luZG93IGF0IHRoZSB3cm9uZyBzaXplIGlmIHdlIG5ldmVyIGRyYXcgYW5kIHRoZSBwcm9wZXIK
KyAgICAgICAgLy8gdmlld3BvcnQgc2l6ZSBpcyBuZXZlciBzZXQuCisgICAgICAgIG1faXNWaWV3
cG9ydENoYW5nZWQgPSBmYWxzZTsKKyAgICAgICAgbV9jb250ZXh0LT5yZXNoYXBlKHZpZXdwb3J0
V2lkdGgoKSwgdmlld3BvcnRIZWlnaHQoKSk7CisgICAgfQorCiAgICAgQ0NMYXllckltcGwqIHJv
b3REcmF3TGF5ZXIgPSByb290TGF5ZXIoKTsKICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5
ZXJSZW5kZXJlckNocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAppbmRleCAwMjhlNjY0ZDNjYjllNWY1YjA2
ZTZiZWY5ZmM3N2IwZmVjNTEyZGFjLi4xODU3YTc1NmEwOTljNzI4MzIwZjRmZThlYTE4ZTYzZThk
MmU0OTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaApAQCAtMjM3LDYgKzIz
Nyw4IEBAIHByaXZhdGU6CiAgICAgQ0NMYXllclNvcnRlciBtX2xheWVyU29ydGVyOwogCiAgICAg
RmxvYXRRdWFkIG1fc2hhcmVkR2VvbWV0cnlRdWFkOworCisgICAgYm9vbCBtX2lzVmlld3BvcnRD
aGFuZ2VkOwogfTsKIAogLy8gU2V0dGluZyBERUJVR19HTF9DQUxMUyB0byAxIHdpbGwgY2FsbCBn
bEdldEVycm9yKCkgYWZ0ZXIgYWxtb3N0IGV2ZXJ5IEdMCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3BwCmluZGV4IGY3
ODc4NGRlNDg2OTE0NmEzZjczOTRjNTBhNmUzOTkxOWM0NWNiNzkuLjU4NWM0NWUxNTAxYmUxMzA2
YjcxMWQzZTU2MTA0ZmQwYTMxMjBmZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3BwCkBAIC0yOTEsNSArMjkx
LDQ1IEBAIFRFU1RfRihDQ0xheWVyVHJlZUhvc3RJbXBsVGVzdCwgYmxlbmRpbmdPZmZXaGVuRHJh
d2luZ09wYXF1ZUxheWVycykKICAgICBFWFBFQ1RfVFJVRShsYXllcjItPmRyYXduKCkpOwogfQog
CitjbGFzcyBSZXNoYXBlVHJhY2tlckNvbnRleHQ6IHB1YmxpYyBNb2NrV2ViR3JhcGhpY3NDb250
ZXh0M0QgeworcHVibGljOgorICAgIFJlc2hhcGVUcmFja2VyQ29udGV4dCgpIDogbV9yZXNoYXBl
Q2FsbGVkKGZhbHNlKSB7IH0KKworICAgIHZpcnR1YWwgYm9vbCBpbml0aWFsaXplKEF0dHJpYnV0
ZXMsIFdlYlZpZXcqLCBib29sIHJlbmRlckRpcmVjdGx5VG9XZWJWaWV3KSB7IHJldHVybiB0cnVl
OyB9CisKKyAgICB2aXJ0dWFsIHZvaWQgcmVzaGFwZShpbnQgd2lkdGgsIGludCBoZWlnaHQpCisg
ICAgeworICAgICAgICBtX3Jlc2hhcGVDYWxsZWQgPSB0cnVlOworICAgIH0KKworICAgIGJvb2wg
cmVzaGFwZUNhbGxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzaGFwZUNhbGxlZDsgfQorCitwcml2
YXRlOgorICAgIGJvb2wgbV9yZXNoYXBlQ2FsbGVkOworfTsKKworLy8gT25seSByZXNoYXBlIHdo
ZW4gd2Uga25vdyB3ZSBhcmUgZ29pbmcgdG8gZHJhdy4gT3RoZXJ3aXNlLCB0aGUgcmVzaGFwZQor
Ly8gY2FuIGxlYXZlIHRoZSB3aW5kb3cgYXQgdGhlIHdyb25nIHNpemUgaWYgd2UgbmV2ZXIgZHJh
dyBhbmQgdGhlIHByb3BlcgorLy8gdmlld3BvcnQgc2l6ZSBpcyBuZXZlciBzZXQuCitURVNUX0Yo
Q0NMYXllclRyZWVIb3N0SW1wbFRlc3QsIHJlc2hhcGVOb3RDYWxsZWRVbnRpbERyYXcpCit7Cisg
ICAgR3JhcGhpY3NDb250ZXh0M0Q6OkF0dHJpYnV0ZXMgYXR0cnM7CisgICAgUmVzaGFwZVRyYWNr
ZXJDb250ZXh0KiByZXNoYXBlVHJhY2tlciA9IG5ldyBSZXNoYXBlVHJhY2tlckNvbnRleHQoKTsK
KyAgICBSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IGNvbnRleHQgPSBHcmFwaGljc0NvbnRleHQz
RFByaXZhdGU6OmNyZWF0ZUdyYXBoaWNzQ29udGV4dEZyb21XZWJDb250ZXh0KGFkb3B0UHRyKHJl
c2hhcGVUcmFja2VyKSwgYXR0cnMsIDAsIEdyYXBoaWNzQ29udGV4dDNEOjpSZW5kZXJEaXJlY3Rs
eVRvSG9zdFdpbmRvdywgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpGb3JVc2VPblRoaXNUaHJl
YWQpOworICAgIG1faG9zdEltcGwtPmluaXRpYWxpemVMYXllclJlbmRlcmVyKGNvbnRleHQpOwor
ICAgIG1faG9zdEltcGwtPnNldFZpZXdwb3J0KEludFNpemUoMTAsIDEwKSk7CisKKyAgICBSZWZQ
dHI8Q0NMYXllckltcGw+IHJvb3QgPSBDQ0xheWVySW1wbDo6Y3JlYXRlKDApOworICAgIHJvb3Qt
PnNldEFuY2hvclBvaW50KEZsb2F0UG9pbnQoMCwgMCkpOworICAgIHJvb3QtPnNldEJvdW5kcyhJ
bnRTaXplKDEwLCAxMCkpOworICAgIHJvb3QtPnNldERyYXdzQ29udGVudCh0cnVlKTsKKyAgICBy
b290LT5zZXRCYWNrZ3JvdW5kQ29sb3IoQ29sb3IoMSwgMSwgMSwgMSkpOworICAgIG1faG9zdElt
cGwtPnNldFJvb3RMYXllcihyb290KTsKKyAgICBFWFBFQ1RfRkFMU0UocmVzaGFwZVRyYWNrZXIt
PnJlc2hhcGVDYWxsZWQoKSk7CisKKyAgICBtX2hvc3RJbXBsLT5kcmF3TGF5ZXJzKCk7CisgICAg
RVhQRUNUX1RSVUUocmVzaGFwZVRyYWNrZXItPnJlc2hhcGVDYWxsZWQoKSk7Cit9CisKIAogfSAv
LyBuYW1lc3BhY2UK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115405</attachid>
            <date>2011-11-16 10:34:29 -0800</date>
            <delta_ts>2011-11-16 13:55:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72343-20111116103428.patch</filename>
            <type>text/plain</type>
            <size>5859</size>
            <attacher name="John Bates">jbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwMTM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWYzYzQ2MzQ1NjlmZmIx
MWEyZjdlZDA1NmViZTNiYmI1YWVlODhiMC4uMDc0ZDYwNjczNmMxYWY3MTljNDJiYzk2YWFhNGM0
YmE3YzE1YTllMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDExLTExLTE0ICBKb2hu
IEJhdGVzICA8amJhdGVzQGdvb2dsZS5jb20+CisKKyAgICAgICAgUGFnZS9sYXllciBmbGFzaGVz
IGFmdGVyIEdQVS1hY2NlbGVyYXRlZCBDU1MgdHJhbnNpdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNDMKKworICAgICAgICBMYXllclJlbmRl
cmVyQ2hyb21pdW0gd2FzIHJlc2l6aW5nIHRoZSB3aW5kb3cgdG8gMXgxIGF0IGluaXRpYWxpemF0
aW9uLgorICAgICAgICBJbiBzb21lIGNhc2VzLCB0aGVyZSBpcyBubyBkcmF3TGF5ZXJzIGJlZm9y
ZSBzd2l0Y2hpbmcgYmFjayB0bworICAgICAgICBzb2Z0d2FyZSByZW5kZXJpbmcuIFRoaXMgbGVm
dCB0aGUgd2luZG93IHJlc2l6ZWQgdG8gMXgxIGFuZCB0aGUKKyAgICAgICAgZm9sbG93aW5nIHNv
ZnR3YXJlIHBhaW50cyB3b3VsZCB0aGVyZWZvcmUgbm90IGJlIHZpc2libGUuIFRoaXMgY2hhbmdl
CisgICAgICAgIG1vdmVzIHRoZSByZXNoYXBlIGNhbGwgaW50byBkcmF3TGF5ZXJzIHNvIHRoYXQg
aXQgd2lsbCBvbmx5IGJlIGNhbGxlZAorICAgICAgICBpZiByZW5kZXJpbmcgd2lsbCBvY2N1ci4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcgdGVz
dDogQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QucmVzaGFwZU5vdENhbGxlZFVudGlsRHJhdy4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OnZpZXdwb3J0
Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OmRvVmll
d3BvcnRDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6
ZHJhd0xheWVyc0ludGVybmFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaDoKKwogMjAxMS0xMS0xNCAgUGF2ZWwgRmVsZG1hbiAg
PHBmZWxkbWFuQGdvb2dsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogY29uc29sZSdz
IHByb3RvY29sIHBheWxvYWQgZG9lcyBub3QgaGF2ZSB1cmwgYW5kIGxpbmUgcHJvcGVydGllcy4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCmluZGV4IGMxNTBlMzdiYWYwYjIw
YWNjMzI2YjBlMWJkZTgyYjcwMjZjYTE2MDAuLmI2NzRmZmFjYjEzZTVlZGMwNTI4OTQzNTM2MWYw
YmY1OGI1MGI4OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcApAQCAt
MTc1LDYgKzE3NSw3IEBAIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6TGF5ZXJSZW5kZXJlckNocm9t
aXVtKENDTGF5ZXJUcmVlSG9zdEltcGwqIG93bmVyLAogICAgICwgbV9jb250ZXh0KGNvbnRleHQp
CiAgICAgLCBtX2RlZmF1bHRSZW5kZXJTdXJmYWNlKDApCiAgICAgLCBtX3NoYXJlZEdlb21ldHJ5
UXVhZChGbG9hdFJlY3QoLTAuNWYsIC0wLjVmLCAxLjBmLCAxLjBmKSkKKyAgICAsIG1faXNWaWV3
cG9ydENoYW5nZWQoZmFsc2UpCiB7CiB9CiAKQEAgLTI3Miw4ICsyNzMsNyBAQCB2b2lkIExheWVy
UmVuZGVyZXJDaHJvbWl1bTo6cmVsZWFzZVJlbmRlclN1cmZhY2VUZXh0dXJlcygpCiAKIHZvaWQg
TGF5ZXJSZW5kZXJlckNocm9taXVtOjp2aWV3cG9ydENoYW5nZWQoKQogewotICAgIGlmIChtX2Nv
bnRleHQpCi0gICAgICAgIG1fY29udGV4dC0+cmVzaGFwZShzdGQ6Om1heCgxLCB2aWV3cG9ydFdp
ZHRoKCkpLCBzdGQ6Om1heCgxLCB2aWV3cG9ydEhlaWdodCgpKSk7CisgICAgbV9pc1ZpZXdwb3J0
Q2hhbmdlZCA9IHRydWU7CiAKICAgICAvLyBSZXNldCB0aGUgY3VycmVudCByZW5kZXIgc3VyZmFj
ZSB0byBmb3JjZSBhbiB1cGRhdGUgb2YgdGhlIHZpZXdwb3J0IGFuZAogICAgIC8vIHByb2plY3Rp
b24gbWF0cml4IG5leHQgdGltZSB1c2VSZW5kZXJTdXJmYWNlIGlzIGNhbGxlZC4KQEAgLTM0OSw2
ICszNDksMTQgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdMYXllcnNJbnRlcm5h
bCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIFRSQUNFX0VWRU5UKCJMYXllclJlbmRlcmVyQ2hy
b21pdW06OmRyYXdMYXllcnMiLCB0aGlzLCAwKTsKKyAgICBpZiAobV9pc1ZpZXdwb3J0Q2hhbmdl
ZCkgeworICAgICAgICAvLyBPbmx5IHJlc2hhcGUgd2hlbiB3ZSBrbm93IHdlIGFyZSBnb2luZyB0
byBkcmF3LiBPdGhlcndpc2UsIHRoZSByZXNoYXBlCisgICAgICAgIC8vIGNhbiBsZWF2ZSB0aGUg
d2luZG93IGF0IHRoZSB3cm9uZyBzaXplIGlmIHdlIG5ldmVyIGRyYXcgYW5kIHRoZSBwcm9wZXIK
KyAgICAgICAgLy8gdmlld3BvcnQgc2l6ZSBpcyBuZXZlciBzZXQuCisgICAgICAgIG1faXNWaWV3
cG9ydENoYW5nZWQgPSBmYWxzZTsKKyAgICAgICAgbV9jb250ZXh0LT5yZXNoYXBlKHZpZXdwb3J0
V2lkdGgoKSwgdmlld3BvcnRIZWlnaHQoKSk7CisgICAgfQorCiAgICAgQ0NMYXllckltcGwqIHJv
b3REcmF3TGF5ZXIgPSByb290TGF5ZXIoKTsKICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5
ZXJSZW5kZXJlckNocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAppbmRleCAwMjhlNjY0ZDNjYjllNWY1YjA2
ZTZiZWY5ZmM3N2IwZmVjNTEyZGFjLi4xODU3YTc1NmEwOTljNzI4MzIwZjRmZThlYTE4ZTYzZThk
MmU0OTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaApAQCAtMjM3LDYgKzIz
Nyw4IEBAIHByaXZhdGU6CiAgICAgQ0NMYXllclNvcnRlciBtX2xheWVyU29ydGVyOwogCiAgICAg
RmxvYXRRdWFkIG1fc2hhcmVkR2VvbWV0cnlRdWFkOworCisgICAgYm9vbCBtX2lzVmlld3BvcnRD
aGFuZ2VkOwogfTsKIAogLy8gU2V0dGluZyBERUJVR19HTF9DQUxMUyB0byAxIHdpbGwgY2FsbCBn
bEdldEVycm9yKCkgYWZ0ZXIgYWxtb3N0IGV2ZXJ5IEdMCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3BwCmluZGV4IGY3
ODc4NGRlNDg2OTE0NmEzZjczOTRjNTBhNmUzOTkxOWM0NWNiNzkuLjk5YzhjMzE0NjRmZmQ2YmRm
NTU2NmE0Yzg3YzA5Njc3MmJhZWYyZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3BwCkBAIC0yOTEsNSArMjkx
LDUwIEBAIFRFU1RfRihDQ0xheWVyVHJlZUhvc3RJbXBsVGVzdCwgYmxlbmRpbmdPZmZXaGVuRHJh
d2luZ09wYXF1ZUxheWVycykKICAgICBFWFBFQ1RfVFJVRShsYXllcjItPmRyYXduKCkpOwogfQog
CitjbGFzcyBSZXNoYXBlVHJhY2tlckNvbnRleHQ6IHB1YmxpYyBNb2NrV2ViR3JhcGhpY3NDb250
ZXh0M0QgeworcHVibGljOgorICAgIFJlc2hhcGVUcmFja2VyQ29udGV4dCgpIDogbV9yZXNoYXBl
Q2FsbGVkKGZhbHNlKSB7IH0KKworICAgIHZpcnR1YWwgYm9vbCBpbml0aWFsaXplKEF0dHJpYnV0
ZXMsIFdlYlZpZXcqLCBib29sIHJlbmRlckRpcmVjdGx5VG9XZWJWaWV3KSB7IHJldHVybiB0cnVl
OyB9CisKKyAgICB2aXJ0dWFsIHZvaWQgcmVzaGFwZShpbnQgd2lkdGgsIGludCBoZWlnaHQpCisg
ICAgeworICAgICAgICBtX3Jlc2hhcGVDYWxsZWQgPSB0cnVlOworICAgIH0KKworICAgIGJvb2wg
cmVzaGFwZUNhbGxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzaGFwZUNhbGxlZDsgfQorCitwcml2
YXRlOgorICAgIGJvb2wgbV9yZXNoYXBlQ2FsbGVkOworfTsKKworY2xhc3MgRmFrZURyYXdhYmxl
Q0NMYXllckltcGw6IHB1YmxpYyBDQ0xheWVySW1wbCB7CitwdWJsaWM6CisgICAgRmFrZURyYXdh
YmxlQ0NMYXllckltcGwoKSA6IENDTGF5ZXJJbXBsKDApIHsgfQorICAgIHZpcnR1YWwgdm9pZCBk
cmF3KExheWVyUmVuZGVyZXJDaHJvbWl1bSogcmVuZGVyZXIpIHsgfQorfTsKKworLy8gT25seSBy
ZXNoYXBlIHdoZW4gd2Uga25vdyB3ZSBhcmUgZ29pbmcgdG8gZHJhdy4gT3RoZXJ3aXNlLCB0aGUg
cmVzaGFwZQorLy8gY2FuIGxlYXZlIHRoZSB3aW5kb3cgYXQgdGhlIHdyb25nIHNpemUgaWYgd2Ug
bmV2ZXIgZHJhdyBhbmQgdGhlIHByb3BlcgorLy8gdmlld3BvcnQgc2l6ZSBpcyBuZXZlciBzZXQu
CitURVNUX0YoQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QsIHJlc2hhcGVOb3RDYWxsZWRVbnRpbERy
YXcpCit7CisgICAgR3JhcGhpY3NDb250ZXh0M0Q6OkF0dHJpYnV0ZXMgYXR0cnM7CisgICAgUmVz
aGFwZVRyYWNrZXJDb250ZXh0KiByZXNoYXBlVHJhY2tlciA9IG5ldyBSZXNoYXBlVHJhY2tlckNv
bnRleHQoKTsKKyAgICBSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IGNvbnRleHQgPSBHcmFwaGlj
c0NvbnRleHQzRFByaXZhdGU6OmNyZWF0ZUdyYXBoaWNzQ29udGV4dEZyb21XZWJDb250ZXh0KGFk
b3B0UHRyKHJlc2hhcGVUcmFja2VyKSwgYXR0cnMsIDAsIEdyYXBoaWNzQ29udGV4dDNEOjpSZW5k
ZXJEaXJlY3RseVRvSG9zdFdpbmRvdywgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpGb3JVc2VP
blRoaXNUaHJlYWQpOworICAgIG1faG9zdEltcGwtPmluaXRpYWxpemVMYXllclJlbmRlcmVyKGNv
bnRleHQpOworICAgIG1faG9zdEltcGwtPnNldFZpZXdwb3J0KEludFNpemUoMTAsIDEwKSk7CisK
KyAgICBSZWZQdHI8Q0NMYXllckltcGw+IHJvb3QgPSBhZG9wdFJlZihuZXcgRmFrZURyYXdhYmxl
Q0NMYXllckltcGwoKSk7CisgICAgcm9vdC0+c2V0QW5jaG9yUG9pbnQoRmxvYXRQb2ludCgwLCAw
KSk7CisgICAgcm9vdC0+c2V0Qm91bmRzKEludFNpemUoMTAsIDEwKSk7CisgICAgcm9vdC0+c2V0
RHJhd3NDb250ZW50KHRydWUpOworICAgIG1faG9zdEltcGwtPnNldFJvb3RMYXllcihyb290KTsK
KyAgICBFWFBFQ1RfRkFMU0UocmVzaGFwZVRyYWNrZXItPnJlc2hhcGVDYWxsZWQoKSk7CisKKyAg
ICBtX2hvc3RJbXBsLT5kcmF3TGF5ZXJzKCk7CisgICAgRVhQRUNUX1RSVUUocmVzaGFwZVRyYWNr
ZXItPnJlc2hhcGVDYWxsZWQoKSk7Cit9CisKIAogfSAvLyBuYW1lc3BhY2UK
</data>

          </attachment>
      

    </bug>

</bugzilla>