<?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>126947</bug_id>
          
          <creation_ts>2014-01-13 16:30:15 -0800</creation_ts>
          <short_desc>[WebGL] Crash due to forceLostContext</short_desc>
          <delta_ts>2014-01-13 16:57:01 -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>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>104733</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>roger_fong</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>967532</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-01-13 16:30:15 -0800</bug_when>
    <thetext>When a frame containing a WebGL context is detached, the WebGL context receives a call to stopActiveDOMObjects, which results in the WebGLRenderingContext::stop() method being called.

This causes the underlying OpenGL context to be destroyed.

If this destruction takes place as part of the replacement of a node with new HTML, this &quot;in-destruction&quot; node can be asked to adjust its style as part of layout. This causes RenderLayerBacking::updateGraphicsLayerConfiguration() to attempt to use the underlying OpenGL context, causing a crash.

The simplest resolution would be the following change:

Index: html/canvas/WebGLRenderingContext.cpp
===================================================================
--- html/canvas/WebGLRenderingContext.cpp	(revision 161907)
+++ html/canvas/WebGLRenderingContext.cpp	(working copy)
@@ -4733,7 +4733,7 @@
 #if USE(ACCELERATED_COMPOSITING)
 PlatformLayer* WebGLRenderingContext::platformLayer() const
 {
-    return m_context-&gt;platformLayer();
+    return (m_context) ? m_context-&gt;platformLayer() : 0;
 }
 #endif

However, this additional null check for every &quot;platformLayer()&quot; access might be too expensive.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967546</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-01-13 16:43:34 -0800</bug_when>
    <thetext>Test coverage in webgl/conformance/textures/origin-clean-conformance.html.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967547</commentid>
    <comment_count>2</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-01-13 16:43:45 -0800</bug_when>
    <thetext>&lt;rdar://problem/8622625&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967550</commentid>
    <comment_count>3</comment_count>
      <attachid>221089</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-01-13 16:46:03 -0800</bug_when>
    <thetext>Created attachment 221089
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967557</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-01-13 16:57:01 -0800</bug_when>
    <thetext>Committed r161924: &lt;http://trac.webkit.org/changeset/161924&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221089</attachid>
            <date>2014-01-13 16:46:03 -0800</date>
            <delta_ts>2014-01-13 16:47:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-126947-20140113164602.patch</filename>
            <type>text/plain</type>
            <size>2607</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MTkyMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE0LTAxLTEzICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHTF0gQ3Jhc2ggZHVl
IHRvIGZvcmNlTG9zdENvbnRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyNjk0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIENvdmVyZWQgYnkgd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2lu
LWNsZWFuLWNvbmZvcm1hbmNlLmh0bWwuCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250
ZXh0Ojppc0NvbnRleHRMb3N0KTogTWFrZSBjb25zdC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdM
UmVuZGVyaW5nQ29udGV4dDo6cGxhdGZvcm1MYXllcik6IERvbid0IGF0dGVtcHQgdG8gdXNlCisg
ICAgICAgIGEgbG9zdCBjb250ZXh0LgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dC5oOiBpc0NvbnRleHRMb3N0IHNob3VsZCBiZSBjb25zdC4KKwogMjAxNC0wMS0x
MyAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dU
S11bQ01ha2VdIFdlYkNvcmVQbGF0Zm9ybSBidWlsZCBjYW4gc29tZXRpbWVzIGZhaWwgZHVlIHRv
IG1pc3NpbmcgZ2VuZXJhdGVkIGhlYWRlcnMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAkocmV2aXNpb24gMTYxOTA3
KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzI4NSw3ICszMjg1LDcgQEAgR0MzRGJvb2xlYW4gV2ViR0xS
ZW5kZXJpbmdDb250ZXh0Ojppc0J1ZgogICAgIHJldHVybiBtX2NvbnRleHQtPmlzQnVmZmVyKGJ1
ZmZlci0+b2JqZWN0KCkpOwogfQogCi1ib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6aXNDb250
ZXh0TG9zdCgpCitib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6aXNDb250ZXh0TG9zdCgpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIG1fY29udGV4dExvc3Q7CiB9CkBAIC00NzMzLDcgKzQ3MzMsNyBA
QCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Zm9yY2VSZXN0b3JlCiAjaWYgVVNFKEFDQ0VM
RVJBVEVEX0NPTVBPU0lUSU5HKQogUGxhdGZvcm1MYXllciogV2ViR0xSZW5kZXJpbmdDb250ZXh0
OjpwbGF0Zm9ybUxheWVyKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9jb250ZXh0LT5wbGF0Zm9y
bUxheWVyKCk7CisgICAgcmV0dXJuICghaXNDb250ZXh0TG9zdCgpKSA/IG1fY29udGV4dC0+cGxh
dGZvcm1MYXllcigpIDogMDsKIH0KICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaAkocmV2aXNpb24gMTYxOTA2
KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwg
MjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTE4Nyw3ICsxODcsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGhpbnQo
R0MzRGVudW0gdGFyZ2V0LCBHQzNEZW51bSBtb2RlKTsKICAgICBHQzNEYm9vbGVhbiBpc0J1ZmZl
cihXZWJHTEJ1ZmZlciopOwotICAgIGJvb2wgaXNDb250ZXh0TG9zdCgpOworICAgIGJvb2wgaXND
b250ZXh0TG9zdCgpIGNvbnN0OwogICAgIEdDM0Rib29sZWFuIGlzRW5hYmxlZChHQzNEZW51bSBj
YXApOwogICAgIEdDM0Rib29sZWFuIGlzRnJhbWVidWZmZXIoV2ViR0xGcmFtZWJ1ZmZlciopOwog
ICAgIEdDM0Rib29sZWFuIGlzUHJvZ3JhbShXZWJHTFByb2dyYW0qKTsK
</data>
<flag name="review"
          id="244935"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>