<?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>24042</bug_id>
          
          <creation_ts>2009-02-19 14:05:56 -0800</creation_ts>
          <short_desc>MediaPlayer should cache plug-in proxy</short_desc>
          <delta_ts>2009-02-20 13:13:58 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</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>0</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>110297</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2009-02-19 14:05:56 -0800</bug_when>
    <thetext>The changes in https://bugs.webkit.org/show_bug.cgi?id=23917 assume that HTMLMediaElement::finishParsingChildren is always called before the plug-in gets instantiated and calls HTMLMediaElement::setMediaPlayerProxy. This is not true on all platforms because of threading latency, so MediaPlayer.cpp should cache the plug-in proxy so it can pass it to the media engine at a later time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110329</commentid>
    <comment_count>1</comment_count>
      <attachid>27817</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2009-02-19 17:05:42 -0800</bug_when>
    <thetext>Created attachment 27817
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110420</commentid>
    <comment_count>2</comment_count>
      <attachid>27817</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-02-20 12:05:10 -0800</bug_when>
    <thetext>Comment on attachment 27817
proposed patch


&gt; Index: WebCore/platform/graphics/MediaPlayer.cpp
&gt; ===================================================================

&gt; +#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
&gt; +    virtual void setPoster(const String&amp;) { }

setPoster(const String&amp; /*url*/) would be slightly clearer.


&gt; Index: WebCore/platform/graphics/MediaPlayer.h
&gt; ===================================================================
&gt; --- WebCore/platform/graphics/MediaPlayer.h	(revision 41083)
&gt; +++ WebCore/platform/graphics/MediaPlayer.h	(working copy)
&gt; @@ -149,6 +149,9 @@ private:
&gt;      bool m_visible;
&gt;      float m_rate;
&gt;      float m_volume;
&gt; +#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
&gt; +    WebMediaPlayerProxy* m_playerProxy;
&gt; +#endif

Maybe add a comment to say that m_playerProxy is not owned and where
it comes from?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110427</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2009-02-20 13:13:58 -0800</bug_when>
    <thetext>Committed revision 41118.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27817</attachid>
            <date>2009-02-19 17:05:42 -0800</date>
            <delta_ts>2009-02-20 12:05:10 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>3610</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MTA4NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMDktMDItMTkgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBh
cHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0MDQyCisgICAgICAg
IEJ1ZyAyNDA0MjogTWVkaWFQbGF5ZXIgc2hvdWxkIGNhY2hlIHBsdWctaW4gcHJveHkKKyAgICAg
ICAgCisgICAgICAgIFRoZSBjaGFuZ2VzIGluIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzkxNyBhc3N1bWUgdGhhdAorICAgICAgICBNZWRpYVBsYXllciB3aWxsIGFs
d2F5cyBoYXZlIGNyZWF0ZWQgdGhlIHByaXZhdGUgbWVkaWEgcGxheWVyIG9iamVjdCBiZWZvcmUK
KyAgICAgICAgdGhlIHBsdWctaW4gaXMgaW5zdGFudGlhdGVkIGFuZCBjYWxscyBiYWNrIHdpdGgg
dGhlIHByb3h5IG9iamVjdC4gVGhpcyBpcyBub3QKKyAgICAgICAgdHJ1ZSBvbiBhbGwgcGxhdGZv
cm1zIGJlY2F1c2Ugb2YgdGhyZWFkaW5nIGxhdGVuY3ksIHNvIE1lZGlhUGxheWVyIHNob3VsZAor
ICAgICAgICBjYWNoZSB0aGUgcGx1Zy1pbiBwcm94eSBzbyBpdCBjYW4gcGFzcyBpdCB0byB0aGUg
bWVkaWEgZW5naW5lIGF0IGEgbGF0ZXIgdGltZS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok51bGxNZWRpYVBsYXllclBy
aXZhdGU6OnNldFBvc3Rlcik6IE51bGwgbWVkaWEgZW5naW5lIGltcGxlbWVudGF0aW9uIG9mIHBy
b3h5IG1ldGhvZHMuCisgICAgICAgIChXZWJDb3JlOjpOdWxsTWVkaWFQbGF5ZXJQcml2YXRlOjpk
ZWxpdmVyTm90aWZpY2F0aW9uKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpOdWxsTWVkaWFQ
bGF5ZXJQcml2YXRlOjpzZXRNZWRpYVBsYXllclByb3h5KTogRGl0dG8uCisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVBsYXllcjo6TWVkaWFQbGF5ZXIpOiBJbml0aWFsaXplIG1fcGxheWVyUHJveHku
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZCk6IFBhc3MgbV9wbGF5ZXJQcm94
eSB0byBuZXdseSBjcmVhdGVkIGVuZ2luZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVy
OjpzZXRNZWRpYVBsYXllclByb3h5KTogQ2FjaGUgbV9wbGF5ZXJQcm94eS4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oOiBEZWNsYXJlIG1fcGxheWVyUHJveHkuCisK
IDIwMDktMDItMTkgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCShyZXZpc2lvbiA0MTA4MykKKysrIFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NSw2ICs5
NSwxMiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldFJlY3QoY29uc3QgSW50UmVjdCYp
IHsgfQogCiAgICAgdmlydHVhbCB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IElu
dFJlY3QmKSB7IH0KKworI2lmIEVOQUJMRShQTFVHSU5fUFJPWFlfRk9SX1ZJREVPKQorICAgIHZp
cnR1YWwgdm9pZCBzZXRQb3N0ZXIoY29uc3QgU3RyaW5nJikgeyB9CisgICAgdmlydHVhbCB2b2lk
IGRlbGl2ZXJOb3RpZmljYXRpb24oTWVkaWFQbGF5ZXJQcm94eU5vdGlmaWNhdGlvblR5cGUpIHsg
fQorICAgIHZpcnR1YWwgdm9pZCBzZXRNZWRpYVBsYXllclByb3h5KFdlYk1lZGlhUGxheWVyUHJv
eHkqKSB7IH0KKyNlbmRpZgogfTsKIAogc3RhdGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFj
ZSogY3JlYXRlTnVsbE1lZGlhUGxheWVyKE1lZGlhUGxheWVyKiBwbGF5ZXIpIApAQCAtMTc2LDYg
KzE4Miw5IEBAIE1lZGlhUGxheWVyOjpNZWRpYVBsYXllcihNZWRpYVBsYXllckNsaWUKICAgICAs
IG1fdmlzaWJsZShmYWxzZSkKICAgICAsIG1fcmF0ZSgxLjBmKQogICAgICwgbV92b2x1bWUoMS4w
ZikKKyNpZiBFTkFCTEUoUExVR0lOX1BST1hZX0ZPUl9WSURFTykKKyAgICAsIG1fcGxheWVyUHJv
eHkoMCkKKyNlbmRpZgogewogfQogCkBAIC0yMDAsNiArMjA5LDEwIEBAIHZvaWQgTWVkaWFQbGF5
ZXI6OmxvYWQoY29uc3QgU3RyaW5nJiB1cmwKICAgICAgICAgbV9jdXJyZW50TWVkaWFFbmdpbmUg
PSBlbmdpbmU7CiAgICAgICAgIG1fcHJpdmF0ZS5jbGVhcigpOwogICAgICAgICBtX3ByaXZhdGUu
c2V0KGVuZ2luZS0+Y29uc3RydWN0b3IodGhpcykpOworI2lmIEVOQUJMRShQTFVHSU5fUFJPWFlf
Rk9SX1ZJREVPKQorICAgICAgICBtX3ByaXZhdGUtPnNldE1lZGlhUGxheWVyUHJveHkobV9wbGF5
ZXJQcm94eSk7CisjZW5kaWYKKwogICAgIH0KIAogICAgIGlmIChtX3ByaXZhdGUpCkBAIC0zOTQs
OSArNDA3LDEwIEBAIHZvaWQgTWVkaWFQbGF5ZXI6OmRlbGl2ZXJOb3RpZmljYXRpb24oTWUKICAg
ICBtX3ByaXZhdGUtPmRlbGl2ZXJOb3RpZmljYXRpb24obm90aWZpY2F0aW9uKTsKIH0KIAotdm9p
ZCBNZWRpYVBsYXllcjo6c2V0TWVkaWFQbGF5ZXJQcm94eShXZWJNZWRpYVBsYXllclByb3h5KiBo
ZWxwZXIpCit2b2lkIE1lZGlhUGxheWVyOjpzZXRNZWRpYVBsYXllclByb3h5KFdlYk1lZGlhUGxh
eWVyUHJveHkqIHByb3h5KQogewotICAgIG1fcHJpdmF0ZS0+c2V0TWVkaWFQbGF5ZXJQcm94eSho
ZWxwZXIpOworICAgIG1fcGxheWVyUHJveHkgPSBwcm94eTsKKyAgICBtX3ByaXZhdGUtPnNldE1l
ZGlhUGxheWVyUHJveHkocHJveHkpOwogfQogI2VuZGlmCiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmgJKHJldmlzaW9uIDQxMDgzKQorKysgV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDksNiArMTQ5
LDkgQEAgcHJpdmF0ZToKICAgICBib29sIG1fdmlzaWJsZTsKICAgICBmbG9hdCBtX3JhdGU7CiAg
ICAgZmxvYXQgbV92b2x1bWU7CisjaWYgRU5BQkxFKFBMVUdJTl9QUk9YWV9GT1JfVklERU8pCisg
ICAgV2ViTWVkaWFQbGF5ZXJQcm94eSogbV9wbGF5ZXJQcm94eTsKKyNlbmRpZgogfTsKIAogdHlw
ZWRlZiBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqICgqQ3JlYXRlTWVkaWFFbmdpbmVQbGF5
ZXIpKE1lZGlhUGxheWVyKik7Cg==
</data>
<flag name="review"
          id="13529"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>