<?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>47848</bug_id>
          
          <creation_ts>2010-10-18 14:18:45 -0700</creation_ts>
          <short_desc>[chromium] Check getGraphicsResetStatusARB and reinitialize the renderer in an error is returned.</short_desc>
          <delta_ts>2010-10-26 11:19:03 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</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="Alexey Marinichev">amarinichev</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>enne</cc>
    
    <cc>kbr</cc>
    
    <cc>vangelis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>295745</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Marinichev">amarinichev</who>
    <bug_when>2010-10-18 14:18:45 -0700</bug_when>
    <thetext>This is a step towards proper handling of lost context events.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295750</commentid>
    <comment_count>1</comment_count>
      <attachid>71082</attachid>
    <who name="Alexey Marinichev">amarinichev</who>
    <bug_when>2010-10-18 14:23:59 -0700</bug_when>
    <thetext>Created attachment 71082
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295833</commentid>
    <comment_count>2</comment_count>
      <attachid>71082</attachid>
    <who name="Vangelis Kokkevis">vangelis</who>
    <bug_when>2010-10-18 16:33:06 -0700</bug_when>
    <thetext>Comment on attachment 71082
Patch

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

&gt; WebKit/chromium/src/WebViewImpl.cpp:2484
&gt; +void WebViewImpl::reallocateRenderer(void)

I don&apos;t believe that (void) is common in WebKit for methods that take no arguments.

&gt; WebKit/chromium/src/WebViewImpl.cpp:2487
&gt; +    RefPtr&lt;GraphicsContext3D&gt; newContext = GraphicsContext3D::create(context-&gt;getContextAttributes(), m_page-&gt;chrome(), GraphicsContext3D::RenderDirectlyToHostWindow);

It&apos;s not guaranteed that either the newContext or the layerRenderer will be non-null. We need to check against failures.  There&apos;s some logic to keep track of failed creation attempts in WebViewImpl::setIsAcceleratedCompositingActive() that we&apos;ll need to use here as well.
If the context is lost, what are the chances we&apos;ll be able to re-create it right away?  If we fail to create a context should we give up after the first attempt?  We&apos;ll need to figure out what happens in a real context lost event on windows.

&gt; WebKit/chromium/src/WebViewImpl.cpp:2494
&gt; +    m_layerRenderer-&gt;rootLayer()-&gt;setNeedsDisplayRecursive();

I think that instead of calling setNeedsDisplayRecursive, you can modify LayerChromium::setLayerRenderer to call setNeedsDisplay() after calling cleanupResources(). That way, even layers that are currently not connected to layer hierarchy for some reason will be marked dirty before trying to render.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297185</commentid>
    <comment_count>3</comment_count>
      <attachid>71376</attachid>
    <who name="Alexey Marinichev">amarinichev</who>
    <bug_when>2010-10-20 18:07:16 -0700</bug_when>
    <thetext>Created attachment 71376
addressed comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299244</commentid>
    <comment_count>4</comment_count>
      <attachid>71376</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-10-25 19:37:31 -0700</bug_when>
    <thetext>Comment on attachment 71376
addressed comments

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

This looks good. Couple of tiny comments, not necessary to address (marking cq+).

&gt; WebCore/ChangeLog:6
&gt; +        renderer in an error is returned.

in -&gt; if

&gt; WebKit/chromium/ChangeLog:6
&gt; +        renderer in an error is returned.

in -&gt; if

&gt; WebKit/chromium/src/WebViewImpl.cpp:2489
&gt; +    RefPtr&lt;LayerRendererChromium&gt; layerRenderer = LayerRendererChromium::create(newContext);

Strictly speaking this should probably be newContext.release().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299623</commentid>
    <comment_count>5</comment_count>
      <attachid>71376</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-26 11:18:58 -0700</bug_when>
    <thetext>Comment on attachment 71376
addressed comments

Clearing flags on attachment: 71376

Committed r70543: &lt;http://trac.webkit.org/changeset/70543&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299624</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-26 11:19:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71082</attachid>
            <date>2010-10-18 14:23:59 -0700</date>
            <delta_ts>2010-10-20 18:07:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47848-20101018142357.patch</filename>
            <type>text/plain</type>
            <size>5866</size>
            <attacher name="Alexey Marinichev">amarinichev</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NWZhNTc0Zjc1ZmRmOGU2NTc5ZGQwNzBlYmNjMWM2MjUzMTgxYWU3OC4uYjQ5ZWZmMzI0NThkMWU5
MzU0OWM3YjA0NWJhMzI5YzI3YThjMDk4NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0xMC0xOCAgQWxl
eGV5IE1hcmluaWNoZXYgIDxhbWFyaW5pY2hldkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW2Nocm9taXVtXSBDaGVjayBnZXRH
cmFwaGljc1Jlc2V0U3RhdHVzQVJCIGFuZCByZWluaXRpYWxpemUgdGhlCisgICAgICAgIHJlbmRl
cmVyIGluIGFuIGVycm9yIGlzIHJldHVybmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc4NDgKKworICAgICAgICBUZXN0ZWQgYnkgZmFpbHVyZSBp
bmplY3Rpb24gKHN0b3BwaW5nIGluIHRoZSBkZWJ1Z2dlciBhbmQgaXNzdWluZyBhCisgICAgICAg
IGp1bXAgYXMgaWYgYW4gZXJyb3IgaGFzIG9jY3VycmVkKS4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGF5ZXJDaHJvbWl1bTo6c2V0TmVlZHNEaXNwbGF5UmVjdXJzaXZlKTogYWRkZWQKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmg6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmg6CisgICAg
ICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OnRyYW5zZmVyUm9vdExheWVyKTog
YWRkZWQKKwogMjAxMC0xMC0xNSAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5j
b20+CiAKICAgICAgICAgQnVpbGQgZml4IGZvciBHVEsrLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmNwcCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5jcHAKaW5kZXggYTFmNzYxMTVi
MmU0OTJmZDZhZWM2MjVhMjFiY2IyOWFlZGI5MTE5OS4uNTBkOWEyYzdhZjEwNzYzOTM4ZjQzMTA3
NTI3ZTFjMzViNTJlNGMxNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9MYXllckNocm9taXVtLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0xheWVyQ2hyb21pdW0uY3BwCkBAIC0zNzAsNiArMzcwLDE0IEBAIHZvaWQgTGF5
ZXJDaHJvbWl1bTo6c2V0TmVlZHNEaXNwbGF5KCkKICAgICBtX2NvbnRlbnRzRGlydHkgPSB0cnVl
OwogfQogCit2b2lkIExheWVyQ2hyb21pdW06OnNldE5lZWRzRGlzcGxheVJlY3Vyc2l2ZSgpCit7
CisgICAgc2V0TmVlZHNEaXNwbGF5KCk7CisgICAgY29uc3QgVmVjdG9yPFJlZlB0cjxMYXllckNo
cm9taXVtPiA+JiBzdWJsYXllcnMgPSBnZXRTdWJsYXllcnMoKTsKKyAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IHN1YmxheWVycy5zaXplKCk7IGkrKykKKyAgICAgICAgc3VibGF5ZXJzW2ldLmdl
dCgpLT5zZXROZWVkc0Rpc3BsYXlSZWN1cnNpdmUoKTsKK30KKwogdm9pZCBMYXllckNocm9taXVt
OjpyZXNldE5lZWRzRGlzcGxheSgpCiB7CiAgICAgbV9kaXJ0eVJlY3QgPSBGbG9hdFJlY3QoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJv
bWl1bS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVt
LmgKaW5kZXggNzMyNTE4OTgzMGJmZDhkNmU3M2MwOTQ0YTBhNGEwNjE3YzI5YzliNi4uNDNlZDdm
ZTBjNjRlNmViY2I4MDY5ZDAxM2U4ZGVhNzliOWJhYjQ4MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmgKQEAgLTExMiw2ICsxMTIs
NyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldE5lZWRzRGlzcGxheShjb25zdCBGbG9hdFJlY3Qm
IGRpcnR5UmVjdCk7CiAgICAgdm9pZCBzZXROZWVkc0Rpc3BsYXkoKTsKKyAgICB2b2lkIHNldE5l
ZWRzRGlzcGxheVJlY3Vyc2l2ZSgpOwogICAgIGNvbnN0IEZsb2F0UmVjdCYgZGlydHlSZWN0KCkg
Y29uc3QgeyByZXR1cm4gbV9kaXJ0eVJlY3Q7IH0KICAgICB2b2lkIHJlc2V0TmVlZHNEaXNwbGF5
KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5
ZXJSZW5kZXJlckNocm9taXVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCmluZGV4IDM2NDk3MWMxY2Q0ZGQ2NTUyOWI2MmY2ZGFj
ZTIyZjhjNGI4NzUwNDAuLmNhNTAxZmU0ZDVjMjlkZTM1YWJmNDY0NzVmMjk0YWQxZDdkMjBjYmQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5k
ZXJlckNocm9taXVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllclJlbmRlcmVyQ2hyb21pdW0uaApAQCAtODIsNiArODIsNyBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIHNldFJvb3RMYXllcihQYXNzUmVmUHRyPExheWVyQ2hyb21pdW0+IGxheWVyKSB7IG1fcm9v
dExheWVyID0gbGF5ZXI7IH0KICAgICBMYXllckNocm9taXVtKiByb290TGF5ZXIoKSB7IHJldHVy
biBtX3Jvb3RMYXllci5nZXQoKTsgfQorICAgIHZvaWQgdHJhbnNmZXJSb290TGF5ZXIoTGF5ZXJS
ZW5kZXJlckNocm9taXVtKiBvdGhlcikgeyBvdGhlci0+bV9yb290TGF5ZXIgPSBtX3Jvb3RMYXll
ci5yZWxlYXNlKCk7IH0KIAogICAgIGJvb2wgaGFyZHdhcmVDb21wb3NpdGluZygpIGNvbnN0IHsg
cmV0dXJuIG1faGFyZHdhcmVDb21wb3NpdGluZzsgfQogCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA2ZmVlNmEz
ZWFkMjk3NzAzMmIwMzAzYWRhZTc0ZjUyNDFiNjA3MzYwLi44ZTAxNDI3NWM3NDcwYzgwODNhMWVk
Zjg2ODE2MTYzNTFiMGM1MjY3IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0x
MC0xOCAgQWxleGV5IE1hcmluaWNoZXYgIDxhbWFyaW5pY2hldkBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW2Nocm9taXVtXSBD
aGVjayBnZXRHcmFwaGljc1Jlc2V0U3RhdHVzQVJCIGFuZCByZWluaXRpYWxpemUgdGhlCisgICAg
ICAgIHJlbmRlcmVyIGluIGFuIGVycm9yIGlzIHJldHVybmVkLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc4NDgKKworICAgICAgICAqIHNyYy9XZWJW
aWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpjb21wb3NpdGUpOiBh
ZGRlZCBnZXRHcmFwaGljc1Jlc2V0U3RhdHVzQVJCIGNoZWNrCisgICAgICAgIChXZWJLaXQ6Oldl
YlZpZXdJbXBsOjpyZWFsbG9jYXRlUmVuZGVyZXIpOiBhZGRlZAorICAgICAgICAqIHNyYy9XZWJW
aWV3SW1wbC5oOgorCiAyMDEwLTEwLTE1ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCmRpZmYgLS1naXQgYS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuY3BwCmluZGV4IDBlYWFhYzE1YzA1ODgzNzFlNTg5MTFiYWY4MjVlZDg4NjVkYjVmNWUu
LmYwZGJiN2M3MDdmMDg4NTU2YjZjNjdmZTNlYTJlMDZmM2VlMmM2MzQgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViVmlld0ltcGwuY3BwCkBAIC0xMDM5LDYgKzEwMzksMTAgQEAgdm9pZCBXZWJWaWV3SW1w
bDo6Y29tcG9zaXRlKGJvb2wgZmluaXNoKQogCiAgICAgLy8gUHV0IHJlc3VsdCBvbnNjcmVlbi4K
ICAgICBtX2xheWVyUmVuZGVyZXItPnByZXNlbnQoKTsKKworICAgIEdyYXBoaWNzQ29udGV4dDNE
KiBjb250ZXh0ID0gbV9sYXllclJlbmRlcmVyLT5jb250ZXh0KCk7CisgICAgaWYgKGNvbnRleHQt
PmdldEdyYXBoaWNzUmVzZXRTdGF0dXNBUkIoKSAhPSBHcmFwaGljc0NvbnRleHQzRDo6Tk9fRVJS
T1IpCisgICAgICAgIHJlYWxsb2NhdGVSZW5kZXJlcigpOwogI2VuZGlmCiB9CiAKQEAgLTI0NzYs
NiArMjQ4MCwyMSBAQCB2b2lkIFdlYlZpZXdJbXBsOjpkb0NvbXBvc2l0ZSgpCiAgICAgLy8gRHJh
dyB0aGUgYWN0dWFsIGxheWVycy4uLgogICAgIG1fbGF5ZXJSZW5kZXJlci0+ZHJhd0xheWVycyh2
aXNpYmxlUmVjdCwgY29udGVudFJlY3QpOwogfQorCit2b2lkIFdlYlZpZXdJbXBsOjpyZWFsbG9j
YXRlUmVuZGVyZXIodm9pZCkKK3sKKyAgICBHcmFwaGljc0NvbnRleHQzRCogY29udGV4dCA9IG1f
bGF5ZXJSZW5kZXJlci0+Y29udGV4dCgpOworICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4g
bmV3Q29udGV4dCA9IEdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGUoY29udGV4dC0+Z2V0Q29udGV4
dEF0dHJpYnV0ZXMoKSwgbV9wYWdlLT5jaHJvbWUoKSwgR3JhcGhpY3NDb250ZXh0M0Q6OlJlbmRl
ckRpcmVjdGx5VG9Ib3N0V2luZG93KTsKKyAgICBSZWZQdHI8TGF5ZXJSZW5kZXJlckNocm9taXVt
PiBsYXllclJlbmRlcmVyID0gTGF5ZXJSZW5kZXJlckNocm9taXVtOjpjcmVhdGUobmV3Q29udGV4
dCk7CisKKyAgICAvLyBSZWF0dGFjaCB0aGUgcm9vdCBsYXllci4gIENoaWxkIGxheWVycyB3aWxs
IGdldCByZWF0dGFjaGVkIGFzIGEgc2lkZSBlZmZlY3Qgb2YgdXBkYXRlTGF5ZXJzUmVjdXJzaXZl
LgorICAgIG1fbGF5ZXJSZW5kZXJlci0+dHJhbnNmZXJSb290TGF5ZXIobGF5ZXJSZW5kZXJlci5n
ZXQoKSk7CisgICAgbV9sYXllclJlbmRlcmVyID0gbGF5ZXJSZW5kZXJlcjsKKworICAgIG1fbGF5
ZXJSZW5kZXJlci0+cm9vdExheWVyKCktPnNldE5lZWRzRGlzcGxheVJlY3Vyc2l2ZSgpOworICAg
IFdlYlJlY3QgcmVjdCgwLCAwLCBtX3NpemUud2lkdGgsIG1fc2l6ZS5oZWlnaHQpOworICAgIGlu
dmFsaWRhdGVSb290TGF5ZXJSZWN0KHJlY3QpOworfQogI2VuZGlmCiAKIApkaWZmIC0tZ2l0IGEv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJWaWV3SW1wbC5oCmluZGV4IDA1MGI1ZTE2YWE1MmYyMzBjOTg0OWVkODQ4MjM5NjBjYzk2YTgw
NjMuLjVmYmE4NDU2NGNhNjQ2M2NhZjcxYTI1NjZjNGY5NzdlZWVlZjkwMTIgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlZpZXdJbXBsLmgKQEAgLTQwNiw2ICs0MDYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQg
dXBkYXRlUm9vdExheWVyQ29udGVudHMoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOwogICAgIHZv
aWQgZG9Db21wb3NpdGUoKTsKICAgICB2b2lkIGRvUGl4ZWxSZWFkYmFja1RvQ2FudmFzKFdlYkNh
bnZhcyosIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKKyAgICB2b2lkIHJlYWxsb2NhdGVSZW5k
ZXJlcih2b2lkKTsKICNlbmRpZgogCiAgICAgV2ViVmlld0NsaWVudCogbV9jbGllbnQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71376</attachid>
            <date>2010-10-20 18:07:16 -0700</date>
            <delta_ts>2010-10-26 11:18:58 -0700</delta_ts>
            <desc>addressed comments</desc>
            <filename>bug-47848-20101020180715.patch</filename>
            <type>text/plain</type>
            <size>5365</size>
            <attacher name="Alexey Marinichev">amarinichev</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NWZhNTc0Zjc1ZmRmOGU2NTc5ZGQwNzBlYmNjMWM2MjUzMTgxYWU3OC4uNTY5MDY2NGRkZmViMzQ4
YzhhMGIxOWI1MTgzZTBlMTNlYzYzMWY3MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0xMC0yMCAgQWxl
eGV5IE1hcmluaWNoZXYgIDxhbWFyaW5pY2hldkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW2Nocm9taXVtXSBDaGVjayBnZXRH
cmFwaGljc1Jlc2V0U3RhdHVzQVJCIGFuZCByZWluaXRpYWxpemUgdGhlCisgICAgICAgIHJlbmRl
cmVyIGluIGFuIGVycm9yIGlzIHJldHVybmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc4NDgKKworICAgICAgICBUZXN0ZWQgYnkgZmFpbHVyZSBp
bmplY3Rpb24gKHN0b3BwaW5nIGluIHRoZSBkZWJ1Z2dlciBhbmQgaXNzdWluZyBhCisgICAgICAg
IGp1bXAgYXMgaWYgYW4gZXJyb3IgaGFzIG9jY3VycmVkKS4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGF5ZXJDaHJvbWl1bTo6c2V0TGF5ZXJSZW5kZXJlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmg6CisgICAgICAgIChXZWJDb3Jl
OjpMYXllclJlbmRlcmVyQ2hyb21pdW06OnRyYW5zZmVyUm9vdExheWVyKTogYWRkZWQKKwogMjAx
MC0xMC0xNSAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgQnVpbGQgZml4IGZvciBHVEsrLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5jcHAKaW5kZXggYTFmNzYxMTViMmU0OTJmZDZhZWM2
MjVhMjFiY2IyOWFlZGI5MTE5OS4uN2Q3YmJkYjEzYjQxZjM5MGI4NTZlOGNjNzg4YzhjN2UyMTk4
MmUwYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXll
ckNocm9taXVtLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyQ2hyb21pdW0uY3BwCkBAIC0xNzYsOCArMTc2LDEwIEBAIHZvaWQgTGF5ZXJDaHJvbWl1bTo6
c2V0TGF5ZXJSZW5kZXJlcihMYXllclJlbmRlcmVyQ2hyb21pdW0qIHJlbmRlcmVyKQogewogICAg
IC8vIElmIHdlJ3JlIGNoYW5naW5nIGxheWVyIHJlbmRlcmVycyB0aGVuIHdlIG5lZWQgdG8gZnJl
ZSB1cCBhbnkgcmVzb3VyY2VzCiAgICAgLy8gYWxsb2NhdGVkIGJ5IHRoZSBvbGQgcmVuZGVyZXIu
Ci0gICAgaWYgKGxheWVyUmVuZGVyZXIoKSAmJiBsYXllclJlbmRlcmVyKCkgIT0gcmVuZGVyZXIp
CisgICAgaWYgKGxheWVyUmVuZGVyZXIoKSAmJiBsYXllclJlbmRlcmVyKCkgIT0gcmVuZGVyZXIp
IHsKICAgICAgICAgY2xlYW51cFJlc291cmNlcygpOworICAgICAgICBzZXROZWVkc0Rpc3BsYXko
KTsKKyAgICB9CiAKICAgICBtX2xheWVyUmVuZGVyZXIgPSByZW5kZXJlcjsKIH0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9t
aXVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJD
aHJvbWl1bS5oCmluZGV4IDM2NDk3MWMxY2Q0ZGQ2NTUyOWI2MmY2ZGFjZTIyZjhjNGI4NzUwNDAu
LmNhNTAxZmU0ZDVjMjlkZTM1YWJmNDY0NzVmMjk0YWQxZDdkMjBjYmQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hy
b21pdW0uaApAQCAtODIsNiArODIsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldFJvb3RMYXll
cihQYXNzUmVmUHRyPExheWVyQ2hyb21pdW0+IGxheWVyKSB7IG1fcm9vdExheWVyID0gbGF5ZXI7
IH0KICAgICBMYXllckNocm9taXVtKiByb290TGF5ZXIoKSB7IHJldHVybiBtX3Jvb3RMYXllci5n
ZXQoKTsgfQorICAgIHZvaWQgdHJhbnNmZXJSb290TGF5ZXIoTGF5ZXJSZW5kZXJlckNocm9taXVt
KiBvdGhlcikgeyBvdGhlci0+bV9yb290TGF5ZXIgPSBtX3Jvb3RMYXllci5yZWxlYXNlKCk7IH0K
IAogICAgIGJvb2wgaGFyZHdhcmVDb21wb3NpdGluZygpIGNvbnN0IHsgcmV0dXJuIG1faGFyZHdh
cmVDb21wb3NpdGluZzsgfQogCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
IGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA2ZmVlNmEzZWFkMjk3NzAzMmIwMzAz
YWRhZTc0ZjUyNDFiNjA3MzYwLi4wY2YyYThjNDAzNDE1YTM4MTdhMGMzYmFmZTViNzMwYWExZmU3
NGEzIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0xMC0yMCAgQWxleGV5IE1h
cmluaWNoZXYgIDxhbWFyaW5pY2hldkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW2Nocm9taXVtXSBDaGVjayBnZXRHcmFwaGlj
c1Jlc2V0U3RhdHVzQVJCIGFuZCByZWluaXRpYWxpemUgdGhlCisgICAgICAgIHJlbmRlcmVyIGlu
IGFuIGVycm9yIGlzIHJldHVybmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDc4NDgKKworICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpjb21wb3NpdGUpOiBhZGRlZCBnZXRHcmFwaGlj
c1Jlc2V0U3RhdHVzQVJCIGNoZWNrCisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpyZWFs
bG9jYXRlUmVuZGVyZXIpOiBhZGRlZAorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5oOgorCiAy
MDEwLTEwLTE1ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgS2VudCBUYW11cmEuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4
IDBlYWFhYzE1YzA1ODgzNzFlNTg5MTFiYWY4MjVlZDg4NjVkYjVmNWUuLjExMmZlMjdjY2NiMmIz
MzUyZmE1MDQyNDNiZDQ2ZGNlMDkxZjVmOWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViVmlld0ltcGwuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwu
Y3BwCkBAIC0xMDM5LDYgKzEwMzksMTAgQEAgdm9pZCBXZWJWaWV3SW1wbDo6Y29tcG9zaXRlKGJv
b2wgZmluaXNoKQogCiAgICAgLy8gUHV0IHJlc3VsdCBvbnNjcmVlbi4KICAgICBtX2xheWVyUmVu
ZGVyZXItPnByZXNlbnQoKTsKKworICAgIEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0ID0gbV9s
YXllclJlbmRlcmVyLT5jb250ZXh0KCk7CisgICAgaWYgKGNvbnRleHQtPmdldEdyYXBoaWNzUmVz
ZXRTdGF0dXNBUkIoKSAhPSBHcmFwaGljc0NvbnRleHQzRDo6Tk9fRVJST1IpCisgICAgICAgIHJl
YWxsb2NhdGVSZW5kZXJlcigpOwogI2VuZGlmCiB9CiAKQEAgLTI0NzYsNiArMjQ4MCwyMiBAQCB2
b2lkIFdlYlZpZXdJbXBsOjpkb0NvbXBvc2l0ZSgpCiAgICAgLy8gRHJhdyB0aGUgYWN0dWFsIGxh
eWVycy4uLgogICAgIG1fbGF5ZXJSZW5kZXJlci0+ZHJhd0xheWVycyh2aXNpYmxlUmVjdCwgY29u
dGVudFJlY3QpOwogfQorCit2b2lkIFdlYlZpZXdJbXBsOjpyZWFsbG9jYXRlUmVuZGVyZXIoKQor
eworICAgIEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0ID0gbV9sYXllclJlbmRlcmVyLT5jb250
ZXh0KCk7CisgICAgUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBuZXdDb250ZXh0ID0gR3JhcGhp
Y3NDb250ZXh0M0Q6OmNyZWF0ZShjb250ZXh0LT5nZXRDb250ZXh0QXR0cmlidXRlcygpLCBtX3Bh
Z2UtPmNocm9tZSgpLCBHcmFwaGljc0NvbnRleHQzRDo6UmVuZGVyRGlyZWN0bHlUb0hvc3RXaW5k
b3cpOworICAgIC8vIEdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGUgbWlnaHQgZmFpbCBhbmQgcmV0
dXJuIDAsIGluIHRoYXQgY2FzZSBMYXllclJlbmRlcmVyQ2hyb21pdW06OmNyZWF0ZSB3aWxsIGFs
c28gcmV0dXJuIDAuCisgICAgUmVmUHRyPExheWVyUmVuZGVyZXJDaHJvbWl1bT4gbGF5ZXJSZW5k
ZXJlciA9IExheWVyUmVuZGVyZXJDaHJvbWl1bTo6Y3JlYXRlKG5ld0NvbnRleHQpOworCisgICAg
Ly8gUmVhdHRhY2ggdGhlIHJvb3QgbGF5ZXIuICBDaGlsZCBsYXllcnMgd2lsbCBnZXQgcmVhdHRh
Y2hlZCBhcyBhIHNpZGUgZWZmZWN0IG9mIHVwZGF0ZUxheWVyc1JlY3Vyc2l2ZS4KKyAgICBpZiAo
bGF5ZXJSZW5kZXJlcikKKyAgICAgICAgbV9sYXllclJlbmRlcmVyLT50cmFuc2ZlclJvb3RMYXll
cihsYXllclJlbmRlcmVyLmdldCgpKTsKKyAgICBtX2xheWVyUmVuZGVyZXIgPSBsYXllclJlbmRl
cmVyOworCisgICAgLy8gRW5hYmxlIG9yIGRpc2FibGUgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcg
YW5kIHJlcXVlc3QgYSByZWZyZXNoLgorICAgIHNldFJvb3RHcmFwaGljc0xheWVyKG1fbGF5ZXJS
ZW5kZXJlciA/IG1fbGF5ZXJSZW5kZXJlci0+cm9vdExheWVyKCkgOiAwKTsKK30KICNlbmRpZgog
CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAppbmRleCAwNTBiNWUxNmFhNTJmMjMwYzk4NDll
ZDg0ODIzOTYwY2M5NmE4MDYzLi40YTM4NDg3MjFjZmY0MjJhZDNhMGEyNjVjNWI4YTllNmM2ODM4
MjEzIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKKysrIGIv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC00MDYsNiArNDA2LDcgQEAgcHJp
dmF0ZToKICAgICB2b2lkIHVwZGF0ZVJvb3RMYXllckNvbnRlbnRzKGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmKTsKICAgICB2b2lkIGRvQ29tcG9zaXRlKCk7CiAgICAgdm9pZCBkb1BpeGVsUmVhZGJh
Y2tUb0NhbnZhcyhXZWJDYW52YXMqLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7CisgICAgdm9p
ZCByZWFsbG9jYXRlUmVuZGVyZXIoKTsKICNlbmRpZgogCiAgICAgV2ViVmlld0NsaWVudCogbV9j
bGllbnQ7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>