<?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>145328</bug_id>
          
          <creation_ts>2015-05-22 16:44:51 -0700</creation_ts>
          <short_desc>Document::ensurePlugInsInjectedScript() should evaluate the injected script on its own frame</short_desc>
          <delta_ts>2015-05-26 11:12:07 -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>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="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>jonlee</cc>
    
    <cc>kangil.han</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1096998</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-05-22 16:44:51 -0700</bug_when>
    <thetext>HTMLPlugInImageElement::didAddUserAgentShadowRoot() calls into the JSC VM to get the &quot;createOverlay&quot; function.  If an exception occurs in this call, it should handle that exception.  Currently, it does, and leaves a dangling exception in the VM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097018</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-05-22 18:01:38 -0700</bug_when>
    <thetext>The exception was because we couldn&apos;t find a createOverlay property in the global object, and we tried to convert the returned undefined to an object.  However, it turns out that createOverlay should never be undefined.

So, the real bug is why is the property coming back as undefined.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097030</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-05-22 19:22:41 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/184329 fixed HTMLPlugInImageElement::didAddUserAgentShadowRoot() to use the document&apos;s frame instead of the page&apos;s main frame.  However, Document::ensurePlugInsInjectedScript() is still evaluating the injected script on the main frame.

As a result, HTMLPlugInImageElement::didAddUserAgentShadowRoot()&apos;s attempt to get the createOverlay function from the document frame&apos;s global object will fail.  Fixing Document::ensurePlugInsInjectedScript() to evaluating the injected script on the document&apos;s frame fixes the issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097031</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-05-22 19:22:41 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/184329 fixed HTMLPlugInImageElement::didAddUserAgentShadowRoot() to use the document&apos;s frame instead of the page&apos;s main frame.  However, Document::ensurePlugInsInjectedScript() is still evaluating the injected script on the main frame.

As a result, HTMLPlugInImageElement::didAddUserAgentShadowRoot()&apos;s attempt to get the createOverlay function from the document frame&apos;s global object will fail.  Fixing Document::ensurePlugInsInjectedScript() to evaluating the injected script on the document&apos;s frame fixes the issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097032</commentid>
    <comment_count>4</comment_count>
      <attachid>253626</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-05-22 19:28:31 -0700</bug_when>
    <thetext>Created attachment 253626
the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097034</commentid>
    <comment_count>5</comment_count>
      <attachid>253626</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-05-22 19:55:32 -0700</bug_when>
    <thetext>Comment on attachment 253626
the patch.

Provisional r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097042</commentid>
    <comment_count>6</comment_count>
      <attachid>253626</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-05-22 20:53:18 -0700</bug_when>
    <thetext>Comment on attachment 253626
the patch.

Bots are all green.  Jon already r+&apos;ed.  Will land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097043</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-05-22 20:55:48 -0700</bug_when>
    <thetext>Thanks for the review.  Landed in r184816: &lt;http://trac.webkit.org/r184816&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097345</commentid>
    <comment_count>8</comment_count>
      <attachid>253626</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-05-26 11:12:07 -0700</bug_when>
    <thetext>Comment on attachment 253626
the patch.

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

&gt; Source/WebCore/ChangeLog:18
&gt; +        No new tests.

Why not?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253626</attachid>
            <date>2015-05-22 19:28:31 -0700</date>
            <delta_ts>2015-05-22 20:53:18 -0700</delta_ts>
            <desc>the patch.</desc>
            <filename>bug-145328.patch</filename>
            <type>text/plain</type>
            <size>1926</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NDgxNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE1LTA1LTIyICBNYXJrIExh
bSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBEb2N1bWVudDo6ZW5zdXJlUGx1Z0lu
c0luamVjdGVkU2NyaXB0KCkgc2hvdWxkIGV2YWx1YXRlIHRoZSBpbmplY3RlZCBzY3JpcHQgb24g
aXRzIG93biBmcmFtZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0NTMyOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIHRyYWMud2Via2l0Lm9yZy9yMTg0MzI5IGZpeGVkIEhUTUxQbHVnSW5JbWFnZUVsZW1l
bnQ6OmRpZEFkZFVzZXJBZ2VudFNoYWRvd1Jvb3QoKQorICAgICAgICB0byB1c2UgdGhlIGRvY3Vt
ZW50J3MgZnJhbWUgaW5zdGVhZCBvZiB0aGUgcGFnZSdzIG1haW4gZnJhbWUuICBIb3dldmVyLAor
ICAgICAgICBEb2N1bWVudDo6ZW5zdXJlUGx1Z0luc0luamVjdGVkU2NyaXB0KCkgaXMgc3RpbGwg
ZXZhbHVhdGluZyB0aGUgaW5qZWN0ZWQgc2NyaXB0IG9uCisgICAgICAgIHRoZSBtYWluIGZyYW1l
LgorCisgICAgICAgIEFzIGEgcmVzdWx0LCBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpkaWRBZGRV
c2VyQWdlbnRTaGFkb3dSb290KCkncyBhdHRlbXB0IHRvIGdldAorICAgICAgICB0aGUgaW5qZWN0
ZWQgY3JlYXRlT3ZlcmxheSBmdW5jdGlvbiBmcm9tIHRoZSBkb2N1bWVudCBmcmFtZSdzIGdsb2Jh
bCBvYmplY3Qgd2lsbAorICAgICAgICBmYWlsLiAgRml4aW5nIERvY3VtZW50OjplbnN1cmVQbHVn
SW5zSW5qZWN0ZWRTY3JpcHQoKSB0byBldmFsdWF0aW5nIHRoZSBpbmplY3RlZAorICAgICAgICBz
Y3JpcHQgb24gdGhlIGRvY3VtZW50J3MgZnJhbWUgZml4ZXMgdGhlIGlzc3VlLgorCisgICAgICAg
IE5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6ZW5zdXJlUGx1Z0luc0luamVjdGVkU2NyaXB0KToKKwogMjAxNS0w
NS0yMiAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBN
ZWRpYVBsYXllciBkb2Vzbid0IG5lZWQgaXNQbGF5aW5nVG9XaXJlbGVzc1BsYXliYWNrVGFyZ2V0
IGFuZCBpc0N1cnJlbnRQbGF5YmFja1RhcmdldFdpcmVsZXNzCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAJKHJldmlzaW9uIDE4NDc5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0OTAsNyArNjQ5MCw3IEBAIHZvaWQgRG9jdW1lbnQ6
OmVuc3VyZVBsdWdJbnNJbmplY3RlZFNjcmkKICAgICBpZiAoIWpzU3RyaW5nKQogICAgICAgICBq
c1N0cmluZyA9IFN0cmluZyhwbHVnSW5zSmF2YVNjcmlwdCwgc2l6ZW9mKHBsdWdJbnNKYXZhU2Ny
aXB0KSk7CiAKLSAgICBtX2ZyYW1lLT5tYWluRnJhbWUoKS5zY3JpcHQoKS5ldmFsdWF0ZUluV29y
bGQoU2NyaXB0U291cmNlQ29kZShqc1N0cmluZyksIHdvcmxkKTsKKyAgICBmcmFtZSgpLT5zY3Jp
cHQoKS5ldmFsdWF0ZUluV29ybGQoU2NyaXB0U291cmNlQ29kZShqc1N0cmluZyksIHdvcmxkKTsK
IAogICAgIG1faGFzSW5qZWN0ZWRQbHVnSW5zU2NyaXB0ID0gdHJ1ZTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>