Changeset 74359 in webkit


Ignore:
Timestamp:
Dec 20, 2010 12:59:44 PM (13 years ago)
Author:
andersca@apple.com
Message:

2010-12-20 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Flash plug-in does not work on YouTube video page when accelerated compositing is disabled
https://bugs.webkit.org/show_bug.cgi?id=51348
<rdar://problem/8787667>

  • Platform/CoreIPC/HandleMessage.h: (CoreIPC::callMemberFunction): Add new overload.
  • PluginProcess/PluginControllerProxy.cpp: (WebKit::PluginControllerProxy::create): (WebKit::PluginControllerProxy::PluginControllerProxy): These now take an additional isAcceleratedCompositingEnabled parameter.

(WebKit::PluginControllerProxy::isAcceleratedCompositingEnabled):
Return m_isAcceleratedCompositingEnabled.

  • PluginProcess/PluginControllerProxy.h:
  • PluginProcess/WebProcessConnection.cpp: (WebKit::WebProcessConnection::createPlugin): This now takes an additional isAcceleratedCompositingEnabled parameter.
  • PluginProcess/WebProcessConnection.messages.in: Add isAcceleratedCompositingEnabled parameter to the CreatePlugin message.
  • WebProcess/Plugins/PluginProxy.cpp: (WebKit::PluginProxy::initialize): Pass isAcceleratedCompositingEnabled when sending the CreatePlugin message.
Location:
trunk/WebKit2
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKit2/ChangeLog

    r74355 r74359  
     12010-12-20  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        Flash plug-in does not work on YouTube video page when accelerated compositing is disabled
     6        https://bugs.webkit.org/show_bug.cgi?id=51348
     7        <rdar://problem/8787667>
     8
     9        * Platform/CoreIPC/HandleMessage.h:
     10        (CoreIPC::callMemberFunction):
     11        Add new overload.
     12
     13        * PluginProcess/PluginControllerProxy.cpp:
     14        (WebKit::PluginControllerProxy::create):
     15        (WebKit::PluginControllerProxy::PluginControllerProxy):
     16        These now take an additional isAcceleratedCompositingEnabled parameter.
     17
     18        (WebKit::PluginControllerProxy::isAcceleratedCompositingEnabled):
     19        Return m_isAcceleratedCompositingEnabled.
     20
     21        * PluginProcess/PluginControllerProxy.h:
     22        * PluginProcess/WebProcessConnection.cpp:
     23        (WebKit::WebProcessConnection::createPlugin):
     24        This now takes an additional isAcceleratedCompositingEnabled parameter.
     25
     26        * PluginProcess/WebProcessConnection.messages.in:
     27        Add isAcceleratedCompositingEnabled parameter to the CreatePlugin message.
     28
     29        * WebProcess/Plugins/PluginProxy.cpp:
     30        (WebKit::PluginProxy::initialize):
     31        Pass isAcceleratedCompositingEnabled when sending the CreatePlugin message.
     32
    1332010-12-20  Anders Carlsson  <andersca@apple.com>
    234
  • trunk/WebKit2/Platform/CoreIPC/HandleMessage.h

    r73796 r74359  
    152152}
    153153
     154template<typename C, typename MF, typename P1, typename P2, typename P3, typename P4, typename P5, typename R1, typename R2>
     155void callMemberFunction(const Arguments5<P1, P2, P3, P4, P5>& args, Arguments2<R1, R2>& replyArgs, C* object, MF function)
     156{
     157    (object->*function)(args.argument1, args.argument2, args.argument3, args.argument4, args.argument5, replyArgs.argument1, replyArgs.argument2);
     158}
     159
     160   
    154161template<typename C, typename MF, typename P1, typename P2, typename P3, typename P4, typename R1, typename R2, typename R3>
    155162void callMemberFunction(const Arguments4<P1, P2, P3, P4>& args, Arguments3<R1, R2, R3>& replyArgs, C* object, MF function)
  • trunk/WebKit2/PluginProcess/PluginControllerProxy.cpp

    r74144 r74359  
    4646namespace WebKit {
    4747
    48 PassOwnPtr<PluginControllerProxy> PluginControllerProxy::create(WebProcessConnection* connection, uint64_t pluginInstanceID, const String& userAgent, bool isPrivateBrowsingEnabled)
    49 {
    50     return adoptPtr(new PluginControllerProxy(connection, pluginInstanceID, userAgent, isPrivateBrowsingEnabled));
    51 }
    52 
    53 PluginControllerProxy::PluginControllerProxy(WebProcessConnection* connection, uint64_t pluginInstanceID, const String& userAgent, bool isPrivateBrowsingEnabled)
     48PassOwnPtr<PluginControllerProxy> PluginControllerProxy::create(WebProcessConnection* connection, uint64_t pluginInstanceID, const String& userAgent, bool isPrivateBrowsingEnabled, bool isAcceleratedCompositingEnabled)
     49{
     50    return adoptPtr(new PluginControllerProxy(connection, pluginInstanceID, userAgent, isPrivateBrowsingEnabled, isAcceleratedCompositingEnabled));
     51}
     52
     53PluginControllerProxy::PluginControllerProxy(WebProcessConnection* connection, uint64_t pluginInstanceID, const String& userAgent, bool isPrivateBrowsingEnabled, bool isAcceleratedCompositingEnabled)
    5454    : m_connection(connection)
    5555    , m_pluginInstanceID(pluginInstanceID)
    5656    , m_userAgent(userAgent)
    5757    , m_isPrivateBrowsingEnabled(isPrivateBrowsingEnabled)
     58    , m_isAcceleratedCompositingEnabled(isAcceleratedCompositingEnabled)
    5859    , m_paintTimer(RunLoop::main(), this, &PluginControllerProxy::paint)
    5960    , m_waitingForDidUpdate(false)
     
    230231bool PluginControllerProxy::isAcceleratedCompositingEnabled()
    231232{
    232     return PluginProcess::shared().compositingRenderServerPort();
     233    return m_isAcceleratedCompositingEnabled;
    233234}
    234235
  • trunk/WebKit2/PluginProcess/PluginControllerProxy.h

    r74144 r74359  
    5555
    5656public:
    57     static PassOwnPtr<PluginControllerProxy> create(WebProcessConnection* connection, uint64_t pluginInstanceID, const String& userAgent, bool isPrivateBrowsingEnabled);
     57    static PassOwnPtr<PluginControllerProxy> create(WebProcessConnection* connection, uint64_t pluginInstanceID, const String& userAgent, bool isPrivateBrowsingEnabled, bool isAcceleratedCompositingEnabled);
    5858    ~PluginControllerProxy();
    5959
     
    7171
    7272private:
    73     PluginControllerProxy(WebProcessConnection* connection, uint64_t pluginInstanceID, const String& userAgent, bool isPrivateBrowsingEnabled);
     73    PluginControllerProxy(WebProcessConnection* connection, uint64_t pluginInstanceID, const String& userAgent, bool isPrivateBrowsingEnabled, bool isAcceleratedCompositingEnabled);
    7474
    7575    void startPaintTimer();
     
    139139    String m_userAgent;
    140140    bool m_isPrivateBrowsingEnabled;
     141    bool m_isAcceleratedCompositingEnabled;
    141142
    142143    RefPtr<Plugin> m_plugin;
  • trunk/WebKit2/PluginProcess/WebProcessConnection.cpp

    r71270 r74359  
    146146}
    147147
    148 void WebProcessConnection::createPlugin(uint64_t pluginInstanceID, const Plugin::Parameters& parameters, const String& userAgent, bool isPrivateBrowsingEnabled, bool& result, uint32_t& remoteLayerClientID)
     148void WebProcessConnection::createPlugin(uint64_t pluginInstanceID, const Plugin::Parameters& parameters, const String& userAgent, bool isPrivateBrowsingEnabled, bool isAcceleratedCompositingEnabled, bool& result, uint32_t& remoteLayerClientID)
    149149{
    150     OwnPtr<PluginControllerProxy> pluginControllerProxy = PluginControllerProxy::create(this, pluginInstanceID, userAgent, isPrivateBrowsingEnabled);
     150    OwnPtr<PluginControllerProxy> pluginControllerProxy = PluginControllerProxy::create(this, pluginInstanceID, userAgent, isPrivateBrowsingEnabled, isAcceleratedCompositingEnabled);
    151151
    152152    PluginControllerProxy* pluginControllerProxyPtr = pluginControllerProxy.get();
  • trunk/WebKit2/PluginProcess/WebProcessConnection.h

    r71270 r74359  
    6565    // Message handlers.
    6666    CoreIPC::SyncReplyMode didReceiveSyncWebProcessConnectionMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, CoreIPC::ArgumentEncoder*);
    67     void createPlugin(uint64_t pluginInstanceID, const Plugin::Parameters&, const String& userAgent, bool isPrivateBrowsingEnabled, bool& result, uint32_t& remoteLayerClientID);
     67    void createPlugin(uint64_t pluginInstanceID, const Plugin::Parameters&, const String& userAgent, bool isPrivateBrowsingEnabled, bool isAcceleratedCompositingEnabled, bool& result, uint32_t& remoteLayerClientID);
    6868    void destroyPlugin(uint64_t pluginInstanceID);
    6969
  • trunk/WebKit2/PluginProcess/WebProcessConnection.messages.in

    r74224 r74359  
    2525messages -> WebProcessConnection {
    2626    # Creates a plug-in instance with the given instance ID.
    27     CreatePlugin(uint64_t pluginInstanceID, WebKit::Plugin::Parameters parameters, WTF::String userAgent, bool isPrivateBrowsingEnabled) -> (bool result, uint32_t remoteLayerClientID)
     27    CreatePlugin(uint64_t pluginInstanceID, WebKit::Plugin::Parameters parameters, WTF::String userAgent, bool isPrivateBrowsingEnabled, bool isAcceleratedCompositingEnabled) -> (bool result, uint32_t remoteLayerClientID)
    2828
    2929    # Destroys the plug-in instance with the given instance ID.
  • trunk/WebKit2/WebProcess/Plugins/PluginProxy.cpp

    r74209 r74359  
    9999
    100100    uint32_t remoteLayerClientID = 0;
    101     if (!m_connection->connection()->sendSync(Messages::WebProcessConnection::CreatePlugin(m_pluginInstanceID, parameters, pluginController->userAgent(), pluginController->isPrivateBrowsingEnabled()), Messages::WebProcessConnection::CreatePlugin::Reply(result, remoteLayerClientID), 0) || !result) {
     101    if (!m_connection->connection()->sendSync(Messages::WebProcessConnection::CreatePlugin(m_pluginInstanceID, parameters, pluginController->userAgent(), pluginController->isPrivateBrowsingEnabled(), pluginController->isAcceleratedCompositingEnabled()), Messages::WebProcessConnection::CreatePlugin::Reply(result, remoteLayerClientID), 0) || !result) {
    102102        m_connection->removePluginProxy(this);
    103103        return false;
Note: See TracChangeset for help on using the changeset viewer.