Changeset 51759 in webkit


Ignore:
Timestamp:
Dec 7, 2009 5:44:35 AM (14 years ago)
Author:
Girish Ramakrishnan
Message:

[Qt] Plugins: Force windowless mode when there is no native window handle

Reviewed by Simon Hausmann.

Inject wmode=opaque while instantiating the plugin for the case when the
webpage is not backed by a native window handle.

https://bugs.webkit.org/show_bug.cgi?id=32059

Location:
trunk/WebKit/qt
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKit/qt/ChangeLog

    r51702 r51759  
     12009-12-07  Girish Ramakrishnan  <girish@forwardbias.in>
     2
     3        Reviewed by Simon Hausmann.
     4
     5        [Qt] Plugins: Force windowless mode when there is no native window handle
     6       
     7        Inject wmode=opaque while instantiating the plugin for the case when the
     8        webpage is not backed by a native window handle.
     9       
     10        https://bugs.webkit.org/show_bug.cgi?id=32059
     11
     12        * WebCoreSupport/FrameLoaderClientQt.cpp:
     13        (WebCore::FrameLoaderClientQt::createPlugin):
     14
    1152009-12-04  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
    216
  • trunk/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp

    r51644 r51759  
    55 * Copyright (C) 2008 Collabora Ltd. All rights reserved.
    66 * Coypright (C) 2008 Holger Hans Peter Freyther
     7 * Coypright (C) 2009 Girish Ramakrishnan <girish@forwardbias.in>
    78 *
    89 * All rights reserved.
     
    13011302            delete object;
    13021303    } else { // NPAPI Plugins
     1304        Vector<String> params = paramNames;
     1305        Vector<String> values = paramValues;
     1306        if (mimeType == "application/x-shockwave-flash") {
     1307            QWebPageClient* client = m_webFrame->page()->d->client;
     1308            if (!client || !qobject_cast<QWidget*>(client->pluginParent())) {
     1309                // inject wmode=opaque when there is no client or the client is not a QWebView
     1310                size_t wmodeIndex = params.find("wmode");
     1311                if (wmodeIndex == -1) {
     1312                    params.append("wmode");
     1313                    values.append("opaque");
     1314                } else
     1315                    values[wmodeIndex] = "opaque";
     1316            }
     1317        }
     1318
    13031319        RefPtr<PluginView> pluginView = PluginView::create(m_frame, pluginSize, element, url,
    1304             paramNames, paramValues, mimeType, loadManually);
     1320            params, values, mimeType, loadManually);
    13051321        return pluginView;
    13061322    }
Note: See TracChangeset for help on using the changeset viewer.