<?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>115498</bug_id>
          
          <creation_ts>2013-05-01 16:24:12 -0700</creation_ts>
          <short_desc>Null check plugInClient earlier in snapshotting path</short_desc>
          <delta_ts>2013-05-01 17:43:25 -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>Plug-ins</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="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>883584</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-05-01 16:24:12 -0700</bug_when>
    <thetext>If autostartOriginPlugInSnapshottingEnabled is enabled and there is no pluginClient snapshotting crashes. Add a null check to avoid a crash. Later on in the function there is a null check for this pluginClient as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883587</commentid>
    <comment_count>1</comment_count>
      <attachid>200252</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-05-01 16:27:25 -0700</bug_when>
    <thetext>Created attachment 200252
[PATCH] Proposed Fix

I&apos;m not very familiar with this path, but this crash certainly seems possible (a port that doesn&apos;t set a plugin in client but has snapshotting enabled because the Setting is enabled by default). We should be resilient in such cases and not crash. Maybe it makes sense to ASSERT at some other point that a plugin client is set.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883608</commentid>
    <comment_count>2</comment_count>
      <attachid>200252</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-05-01 17:10:31 -0700</bug_when>
    <thetext>Comment on attachment 200252
[PATCH] Proposed Fix

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

&gt; Source/WebCore/html/HTMLPlugInImageElement.cpp:648
&gt; -    if (document()-&gt;page()-&gt;settings()-&gt;autostartOriginPlugInSnapshottingEnabled() &amp;&amp; document()-&gt;page()-&gt;plugInClient()-&gt;shouldAutoStartFromOrigin(document()-&gt;page()-&gt;mainFrame()-&gt;document()-&gt;baseURL().host(), url.host(), loadedMimeType())) {
&gt; +    if (document()-&gt;page()-&gt;settings()-&gt;autostartOriginPlugInSnapshottingEnabled() &amp;&amp; document()-&gt;page()-&gt;plugInClient() &amp;&amp; document()-&gt;page()-&gt;plugInClient()-&gt;shouldAutoStartFromOrigin(document()-&gt;page()-&gt;mainFrame()-&gt;document()-&gt;baseURL().host(), url.host(), loadedMimeType())) {

I think this would be way better with some local variables. One for document()-&gt;page() and another for document()-&gt;page()-&gt;plugInClient().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883683</commentid>
    <comment_count>3</comment_count>
      <attachid>200252</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-01 17:39:26 -0700</bug_when>
    <thetext>Comment on attachment 200252
[PATCH] Proposed Fix

Clearing flags on attachment: 200252

Committed r149469: &lt;http://trac.webkit.org/changeset/149469&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883684</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-01 17:39:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>200252</attachid>
            <date>2013-05-01 16:27:25 -0700</date>
            <delta_ts>2013-05-01 17:39:26 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>proposed-fix-snapshot-1.patch</filename>
            <type>text/plain</type>
            <size>1749</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBjMGU1YzMzLi5kOWJkYmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTMtMDUtMDEgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKwor
ICAgICAgICBOdWxsIGNoZWNrIHBsdWdJbkNsaWVudCBlYXJsaWVyIGluIHNuYXBzaG90dGluZyBw
YXRoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTU0
OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0
bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1
Z0luSW1hZ2VFbGVtZW50OjpzdWJmcmFtZUxvYWRlcldpbGxDcmVhdGVQbHVnSW4pOgorCiAyMDEz
LTA0LTMwICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIENsb3Nl
ZCBjYXB0aW9uIGxpbmVzIG92ZXJsYXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVn
SW5JbWFnZUVsZW1lbnQuY3BwCmluZGV4IDMwZTQ2YmYuLjhlOTkzMmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcApAQCAtNjQ1LDcgKzY0NSw3
IEBAIHZvaWQgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6c3ViZnJhbWVMb2FkZXJXaWxsQ3JlYXRl
UGx1Z0luKGNvbnN0IEtVUkwmIHVybCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlm
IChkb2N1bWVudCgpLT5wYWdlKCktPnNldHRpbmdzKCktPmF1dG9zdGFydE9yaWdpblBsdWdJblNu
YXBzaG90dGluZ0VuYWJsZWQoKSAmJiBkb2N1bWVudCgpLT5wYWdlKCktPnBsdWdJbkNsaWVudCgp
LT5zaG91bGRBdXRvU3RhcnRGcm9tT3JpZ2luKGRvY3VtZW50KCktPnBhZ2UoKS0+bWFpbkZyYW1l
KCktPmRvY3VtZW50KCktPmJhc2VVUkwoKS5ob3N0KCksIHVybC5ob3N0KCksIGxvYWRlZE1pbWVU
eXBlKCkpKSB7CisgICAgaWYgKGRvY3VtZW50KCktPnBhZ2UoKS0+c2V0dGluZ3MoKS0+YXV0b3N0
YXJ0T3JpZ2luUGx1Z0luU25hcHNob3R0aW5nRW5hYmxlZCgpICYmIGRvY3VtZW50KCktPnBhZ2Uo
KS0+cGx1Z0luQ2xpZW50KCkgJiYgZG9jdW1lbnQoKS0+cGFnZSgpLT5wbHVnSW5DbGllbnQoKS0+
c2hvdWxkQXV0b1N0YXJ0RnJvbU9yaWdpbihkb2N1bWVudCgpLT5wYWdlKCktPm1haW5GcmFtZSgp
LT5kb2N1bWVudCgpLT5iYXNlVVJMKCkuaG9zdCgpLCB1cmwuaG9zdCgpLCBsb2FkZWRNaW1lVHlw
ZSgpKSkgewogICAgICAgICBMT0coUGx1Z2lucywgIiVwIFBsdWctaW4gZnJvbSAoJXMsICVzKSBp
cyBtYXJrZWQgdG8gYXV0by1zdGFydCwgc2V0IHRvIHBsYXkiLCB0aGlzLCBkb2N1bWVudCgpLT5w
YWdlKCktPm1haW5GcmFtZSgpLT5kb2N1bWVudCgpLT5iYXNlVVJMKCkuaG9zdCgpLnV0ZjgoKS5k
YXRhKCksIHVybC5ob3N0KCkudXRmOCgpLmRhdGEoKSk7CiAgICAgICAgIG1fc25hcHNob3REZWNp
c2lvbiA9IE5ldmVyU25hcHNob3Q7CiAgICAgICAgIHJldHVybjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>