Changeset 221609 in webkit


Ignore:
Timestamp:
Sep 5, 2017 12:16:51 AM (7 years ago)
Author:
Carlos Garcia Campos
Message:

[GTK] Wrong use of PLUGIN_ARCHITECTURE(X11) in several places
https://bugs.webkit.org/show_bug.cgi?id=176329

Reviewed by Michael Catanzaro.

.:

Only define MOZ_X11 if X11 target is enabled and always define XP_UNIX if NETSCAPE_PLUGIN_API is enabled.

  • Source/cmake/OptionsGTK.cmake:

Source/WebKit:

We are using PLUGIN_ARCHITECTURE(X11) in several places where we should actually be using PLATFORM(X11). This is
confusing because PLUGIN_ARCHITECTURE(X11) is no longer specific to X11, it will be renamed as UNIX in a follow
up patch. Because of this we only support plugins in Wayland when building with both X11 and Wayland targets
enabled.

  • PluginProcess/PluginControllerProxy.cpp:
  • PluginProcess/PluginControllerProxy.h:
  • PluginProcess/unix/PluginProcessMainUnix.cpp:
  • Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:

(WebKit::NetscapePluginModule::determineQuirks):

  • Shared/Plugins/PluginQuirks.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/gtk/WebPageProxyGtk.cpp:
  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:

(WebKit::NPN_GetValue):

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::shouldLoadSrcURL):
(WebKit::NetscapePlugin::initialize):

  • WebProcess/Plugins/Netscape/unix/NetscapePluginUnix.cpp:

(WebKit::NetscapePlugin::platformHandleMouseEvent):

  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.h:
  • WebProcess/Plugins/PluginController.h:
  • WebProcess/Plugins/PluginProxy.cpp:
  • WebProcess/Plugins/PluginProxy.h:
  • WebProcess/Plugins/PluginProxy.messages.in:
  • WebProcess/Plugins/PluginView.cpp:
  • WebProcess/Plugins/PluginView.h:

Tools:

  • CMakeLists.txt: Build TestNetscapePlugIn when NETSCAPE_PLUGIN_API is enabled and only link to X11 libraries

when building the X11 target.

  • DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
  • DumpRenderTree/TestNetscapePlugIn/Tests/unix/CallInvalidateRectWithNullNPPArgument.cpp: Renamed from Tools/DumpRenderTree/TestNetscapePlugIn/Tests/x11/CallInvalidateRectWithNullNPPArgument.cpp.
  • DumpRenderTree/TestNetscapePlugIn/main.cpp:

(NP_Initialize):
(NPP_HandleEvent):
(NPP_GetValue):

Location:
trunk
Files:
1 added
1 deleted
26 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r221547 r221609  
     12017-09-05  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        [GTK] Wrong use of PLUGIN_ARCHITECTURE(X11) in several places
     4        https://bugs.webkit.org/show_bug.cgi?id=176329
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        Only define MOZ_X11 if X11 target is enabled and always define XP_UNIX if NETSCAPE_PLUGIN_API is enabled.
     9
     10        * Source/cmake/OptionsGTK.cmake:
     11
    1122017-09-03  Sam Weinig  <sam@webkit.org>
    213
  • trunk/Source/WebKit/ChangeLog

    r221595 r221609  
     12017-09-05  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        [GTK] Wrong use of PLUGIN_ARCHITECTURE(X11) in several places
     4        https://bugs.webkit.org/show_bug.cgi?id=176329
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        We are using PLUGIN_ARCHITECTURE(X11) in several places where we should actually be using PLATFORM(X11). This is
     9        confusing because PLUGIN_ARCHITECTURE(X11) is no longer specific to X11, it will be renamed as UNIX in a follow
     10        up patch. Because of this we only support plugins in Wayland when building with both X11 and Wayland targets
     11        enabled.
     12
     13        * PluginProcess/PluginControllerProxy.cpp:
     14        * PluginProcess/PluginControllerProxy.h:
     15        * PluginProcess/unix/PluginProcessMainUnix.cpp:
     16        * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
     17        (WebKit::NetscapePluginModule::determineQuirks):
     18        * Shared/Plugins/PluginQuirks.h:
     19        * UIProcess/WebPageProxy.h:
     20        * UIProcess/WebPageProxy.messages.in:
     21        * UIProcess/gtk/WebPageProxyGtk.cpp:
     22        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
     23        (WebKit::NPN_GetValue):
     24        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
     25        (WebKit::NetscapePlugin::shouldLoadSrcURL):
     26        (WebKit::NetscapePlugin::initialize):
     27        * WebProcess/Plugins/Netscape/unix/NetscapePluginUnix.cpp:
     28        (WebKit::NetscapePlugin::platformHandleMouseEvent):
     29        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
     30        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.h:
     31        * WebProcess/Plugins/PluginController.h:
     32        * WebProcess/Plugins/PluginProxy.cpp:
     33        * WebProcess/Plugins/PluginProxy.h:
     34        * WebProcess/Plugins/PluginProxy.messages.in:
     35        * WebProcess/Plugins/PluginView.cpp:
     36        * WebProcess/Plugins/PluginView.h:
     37
    1382017-09-04  Wenson Hsieh  <wenson_hsieh@apple.com>
    239
  • trunk/Source/WebKit/PluginProcess/PluginControllerProxy.cpp

    r216448 r221609  
    647647}
    648648
    649 #if PLUGIN_ARCHITECTURE(X11)
     649#if PLATFORM(X11)
    650650uint64_t PluginControllerProxy::createPluginContainer()
    651651{
  • trunk/Source/WebKit/PluginProcess/PluginControllerProxy.h

    r216448 r221609  
    115115    void protectPluginFromDestruction() override;
    116116    void unprotectPluginFromDestruction() override;
    117 #if PLUGIN_ARCHITECTURE(X11)
     117#if PLATFORM(X11)
    118118    uint64_t createPluginContainer() override;
    119119    void windowedPluginGeometryDidChange(const WebCore::IntRect& frameRect, const WebCore::IntRect& clipRect, uint64_t windowID) override;
  • trunk/Source/WebKit/PluginProcess/unix/PluginProcessMainUnix.cpp

    r212557 r221609  
    4242#endif
    4343
    44 #if defined(XP_UNIX)
     44#if PLATFORM(X11)
    4545#include <WebCore/PlatformDisplayX11.h>
    4646#include <WebCore/XErrorTrapper.h>
     
    4949namespace WebKit {
    5050
    51 #if defined(XP_UNIX)
     51#if PLATFORM(X11)
    5252static std::unique_ptr<WebCore::XErrorTrapper> xErrorTrapper;
    53 #endif // XP_UNIX
     53#endif
    5454
    5555class PluginProcessMain final: public ChildProcessMainBase {
     
    7777#endif
    7878
    79 #if defined(XP_UNIX)
     79#if PLATFORM(X11)
    8080        if (WebCore::PlatformDisplay::sharedDisplay().type() == WebCore::PlatformDisplay::Type::X11) {
    8181            auto* display = downcast<WebCore::PlatformDisplayX11>(WebCore::PlatformDisplay::sharedDisplay()).native();
  • trunk/Source/WebKit/Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp

    r212557 r221609  
    182182    Vector<MimeClassInfo> mimeTypes;
    183183    parseMIMEDescription(metaData.mimeDescription, mimeTypes);
     184
     185#if PLATFORM(X11)
    184186    for (size_t i = 0; i < mimeTypes.size(); ++i) {
    185187        if (mimeTypes[i].type == "application/x-shockwave-flash") {
     
    191193        }
    192194    }
     195#endif // PLATFORM(X11)
    193196}
    194197
  • trunk/Source/WebKit/Shared/Plugins/PluginQuirks.h

    r179175 r221609  
    8080
    8181        // X11 specific quirks:
    82 #elif PLUGIN_ARCHITECTURE(X11)
     82#elif PLATFORM(X11)
    8383        // Flash and npwrapper ask the browser about which GTK version does it use
    8484        // and refuse to load and work if it is not GTK 2 so we need to fake it in
  • trunk/Source/WebKit/UIProcess/WebPageProxy.h

    r221503 r221609  
    15581558    void setRenderTreeSize(uint64_t treeSize) { m_renderTreeSize = treeSize; }
    15591559
    1560 #if PLUGIN_ARCHITECTURE(X11)
     1560#if PLATFORM(X11)
    15611561    void createPluginContainer(uint64_t& windowID);
    15621562    void windowedPluginGeometryDidChange(const WebCore::IntRect& frameRect, const WebCore::IntRect& clipRect, uint64_t windowID);
  • trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in

    r221503 r221609  
    374374#endif
    375375
    376 #if PLUGIN_ARCHITECTURE(X11)
     376#if PLATFORM(X11)
    377377    # X11 windowed plugin messages
    378378    CreatePluginContainer() -> (uint64_t windowID)
  • trunk/Source/WebKit/UIProcess/gtk/WebPageProxyGtk.cpp

    r218740 r221609  
    9292}
    9393
    94 #if PLUGIN_ARCHITECTURE(X11)
     94#if PLATFORM(X11)
    9595typedef HashMap<uint64_t, GtkWidget* > PluginWindowMap;
    9696static PluginWindowMap& pluginWindowMap()
     
    145145        gtk_widget_hide(plugin);
    146146}
    147 #endif // PLUGIN_ARCHITECTURE(X11)
     147#endif // PLATFORM(X11)
    148148
    149149void WebPageProxy::setInputMethodState(bool enabled)
  • trunk/Source/WebKit/WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp

    r209399 r221609  
    4646#endif
    4747
    48 #if PLUGIN_ARCHITECTURE(X11)
     48#if PLATFORM(X11)
    4949#include <WebCore/PlatformDisplayX11.h>
    5050#endif
     
    508508            break;
    509509#endif
    510 #elif PLUGIN_ARCHITECTURE(X11)
     510#elif PLATFORM(X11)
    511511        case NPNVxDisplay: {
    512512            if (!npp)
  • trunk/Source/WebKit/WebProcess/Plugins/Netscape/NetscapePlugin.cpp

    r221068 r221609  
    547547bool NetscapePlugin::shouldLoadSrcURL()
    548548{
    549 #if PLUGIN_ARCHITECTURE(X11)
     549#if PLATFORM(X11)
    550550    // Flash crashes when NPP_GetValue is called for NPPVpluginCancelSrcStream in windowed mode.
    551551    if (m_isWindowed && m_pluginModule->pluginQuirks().contains(PluginQuirks::DoNotCancelSrcStreamInWindowedMode))
     
    645645    }
    646646
    647 #if PLUGIN_ARCHITECTURE(X11)
     647#if PLATFORM(X11)
    648648    if (equalLettersIgnoringASCIICase(parameters.mimeType, "application/x-shockwave-flash")) {
    649649        size_t wmodeIndex = parameters.names.find("wmode");
  • trunk/Source/WebKit/WebProcess/Plugins/Netscape/unix/NetscapePluginUnix.cpp

    r201921 r221609  
    2525
    2626#include "config.h"
    27 #include "NetscapePlugin.h"
     27#include "NetscapePluginUnix.h"
    2828
    2929#if PLUGIN_ARCHITECTURE(X11) && ENABLE(NETSCAPE_PLUGIN_API)
    3030
    31 #include "NetscapePluginX11.h"
     31#include "NetscapePlugin.h"
    3232#include "WebEvent.h"
    3333#include <WebCore/NotImplemented.h>
    3434#include <WebCore/PlatformDisplay.h>
     35
     36#if PLATFORM(X11)
     37#include "NetscapePluginX11.h"
     38#endif
    3539
    3640using namespace WebCore;
     
    107111        return false;
    108112
     113#if PLATFORM(X11)
    109114    if ((event.type() == WebEvent::MouseDown || event.type() == WebEvent::MouseUp)
    110115        && event.button() == WebMouseEvent::RightButton
    111116        && quirks().contains(PluginQuirks::IgnoreRightClickInWindowlessMode))
    112117        return false;
     118#endif
    113119
    114120    return m_impl->handleMouseEvent(event);
  • trunk/Source/WebKit/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp

    r214412 r221609  
    2828#include "NetscapePluginX11.h"
    2929
    30 #if PLUGIN_ARCHITECTURE(X11) && ENABLE(NETSCAPE_PLUGIN_API)
     30#if PLATFORM(X11) && ENABLE(NETSCAPE_PLUGIN_API)
    3131
    3232#include "NetscapePlugin.h"
     
    541541} // namespace WebKit
    542542
    543 #endif // PLUGIN_ARCHITECTURE(X11) && ENABLE(NETSCAPE_PLUGIN_API)
     543#endif // PLATFORM(X11) && ENABLE(NETSCAPE_PLUGIN_API)
  • trunk/Source/WebKit/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.h

    r214412 r221609  
    2828#define NetscapePluginX11_h
    2929
    30 #if PLUGIN_ARCHITECTURE(X11) && ENABLE(NETSCAPE_PLUGIN_API)
     30#if PLATFORM(X11) && ENABLE(NETSCAPE_PLUGIN_API)
    3131
    3232#include "NetscapePluginUnix.h"
     
    7171} // namespace WebKit
    7272
    73 #endif // PLUGIN_ARCHITECTURE(X11) && ENABLE(NETSCAPE_PLUGIN_API)
     73#endif // PLATFORM(X11) && ENABLE(NETSCAPE_PLUGIN_API)
    7474
    7575#endif // NetscapePluginX11_h
  • trunk/Source/WebKit/WebProcess/Plugins/PluginController.h

    r196505 r221609  
    144144    virtual void unprotectPluginFromDestruction() = 0;
    145145
    146 #if PLUGIN_ARCHITECTURE(X11)
     146#if PLATFORM(X11)
    147147    // Create a plugin container for windowed plugins
    148148    virtual uint64_t createPluginContainer() = 0;
  • trunk/Source/WebKit/WebProcess/Plugins/PluginProxy.cpp

    r221068 r221609  
    696696}
    697697
    698 #if PLUGIN_ARCHITECTURE(X11)
     698#if PLATFORM(X11)
    699699void PluginProxy::createPluginContainer(uint64_t& windowID)
    700700{
  • trunk/Source/WebKit/WebProcess/Plugins/PluginProxy.h

    r208329 r221609  
    175175    void setLayerHostingContextID(uint32_t);
    176176#endif
    177 #if PLUGIN_ARCHITECTURE(X11)
     177#if PLATFORM(X11)
    178178    void createPluginContainer(uint64_t& windowID);
    179179    void windowedPluginGeometryDidChange(const WebCore::IntRect& frameRect, const WebCore::IntRect& clipRect, uint64_t windowID);
  • trunk/Source/WebKit/WebProcess/Plugins/PluginProxy.messages.in

    r187886 r221609  
    7171#endif
    7272
    73 #if PLUGIN_ARCHITECTURE(X11)
     73#if PLATFORM(X11)
    7474    # Create the plugin container for windowed plugins
    7575    CreatePluginContainer() -> (uint64_t windowID)
  • trunk/Source/WebKit/WebProcess/Plugins/PluginView.cpp

    r219743 r221609  
    7373#include <wtf/text/StringBuilder.h>
    7474
    75 #if PLUGIN_ARCHITECTURE(X11)
     75#if PLATFORM(X11)
    7676#include <WebCore/PlatformDisplay.h>
    7777#endif
     
    16811681}
    16821682
    1683 #if PLUGIN_ARCHITECTURE(X11)
     1683#if PLATFORM(X11)
    16841684uint64_t PluginView::createPluginContainer()
    16851685{
  • trunk/Source/WebKit/WebProcess/Plugins/PluginView.h

    r219743 r221609  
    225225    void protectPluginFromDestruction() override;
    226226    void unprotectPluginFromDestruction() override;
    227 #if PLUGIN_ARCHITECTURE(X11)
     227#if PLATFORM(X11)
    228228    uint64_t createPluginContainer() override;
    229229    void windowedPluginGeometryDidChange(const WebCore::IntRect& frameRect, const WebCore::IntRect& clipRect, uint64_t windowID) override;
  • trunk/Source/cmake/OptionsGTK.cmake

    r221372 r221609  
    179179SET_AND_EXPOSE_TO_BUILD(WTF_PLATFORM_WAYLAND ${ENABLE_WAYLAND_TARGET})
    180180
    181 # MOZ_X11 and XP_UNIX are required by npapi.h. Their value is not checked;
    182 # only their definedness is. They should only be defined in the true case.
    183 if (${ENABLE_X11_TARGET})
    184     SET_AND_EXPOSE_TO_BUILD(MOZ_X11 1)
     181if (ENABLE_NETSCAPE_PLUGIN_API)
     182    # MOZ_X11 and XP_UNIX are required by npapi.h. Their value is not checked;
     183    # only their definedness is. They should only be defined in the true case.
     184    if (ENABLE_X11_TARGET)
     185        SET_AND_EXPOSE_TO_BUILD(MOZ_X11 1)
     186    endif ()
    185187    SET_AND_EXPOSE_TO_BUILD(XP_UNIX 1)
    186188endif ()
  • trunk/Tools/CMakeLists.txt

    r219865 r221609  
    88          add_subdirectory(TestWebKitAPI/glib)
    99      endif ()
    10       if (ENABLE_X11_TARGET)
     10      if (ENABLE_NETSCAPE_PLUGIN_API)
    1111          add_subdirectory(DumpRenderTree/TestNetscapePlugIn)
    1212      endif ()
  • trunk/Tools/ChangeLog

    r221606 r221609  
     12017-09-05  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        [GTK] Wrong use of PLUGIN_ARCHITECTURE(X11) in several places
     4        https://bugs.webkit.org/show_bug.cgi?id=176329
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        * CMakeLists.txt: Build TestNetscapePlugIn when NETSCAPE_PLUGIN_API is enabled and only link to X11 libraries
     9        when building the X11 target.
     10        * DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
     11        * DumpRenderTree/TestNetscapePlugIn/Tests/unix/CallInvalidateRectWithNullNPPArgument.cpp: Renamed from Tools/DumpRenderTree/TestNetscapePlugIn/Tests/x11/CallInvalidateRectWithNullNPPArgument.cpp.
     12        * DumpRenderTree/TestNetscapePlugIn/main.cpp:
     13        (NP_Initialize):
     14        (NPP_HandleEvent):
     15        (NPP_GetValue):
     16
    1172017-09-04  Eric Carlson  <eric.carlson@apple.com>
    218
  • trunk/Tools/DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt

    r220403 r221609  
    2828    ${WEBKIT_TESTNETSCAPEPLUGIN_DIR}/Tests/ToStringAndValueOfObject.cpp
    2929    ${WEBKIT_TESTNETSCAPEPLUGIN_DIR}/Tests/URLRedirect.cpp
    30     ${WEBKIT_TESTNETSCAPEPLUGIN_DIR}/Tests/x11/CallInvalidateRectWithNullNPPArgument.cpp
    3130)
    3231
     
    3837)
    3938
    40 set(WebKitTestNetscapePlugIn_SYSTEM_INCLUDE_DIRECTORIES
    41     ${X11_INCLUDE_DIR}
    42 )
     39if (MOZ_X11)
     40    set(WebKitTestNetscapePlugIn_SYSTEM_INCLUDE_DIRECTORIES
     41        ${X11_INCLUDE_DIR}
     42    )
     43
     44    set(WebKitTestNetscapePlugIn_LIBRARIES
     45        ${X11_LIBRARIES}
     46    )
     47
     48    add_definitions(-DMOZ_X11)
     49endif ()
     50
     51if (XP_UNIX)
     52    list(APPEND WebKitTestNetscapePlugIn_SOURCES
     53        ${WEBKIT_TESTNETSCAPEPLUGIN_DIR}/Tests/unix/CallInvalidateRectWithNullNPPArgument.cpp
     54    )
     55
     56    add_definitions(-DXP_UNIX)
     57endif ()
    4358
    4459include_directories(${WebKitTestNetscapePlugIn_INCLUDE_DIRECTORIES})
    4560include_directories(SYSTEM ${WebKitTestNetscapePlugIn_SYSTEM_INCLUDE_DIRECTORIES})
    46 
    47 set(WebKitTestNetscapePlugIn_LIBRARIES
    48     ${X11_LIBRARIES}
    49 )
    50 
    51 if (WTF_OS_UNIX)
    52     add_definitions(-DXP_UNIX)
    53 endif ()
    5461
    5562add_library(TestNetscapePlugIn SHARED ${WebKitTestNetscapePlugIn_SOURCES})
  • trunk/Tools/DumpRenderTree/TestNetscapePlugIn/main.cpp

    r217847 r221609  
    3131#include <string>
    3232
    33 #ifdef XP_UNIX
     33#if defined(MOZ_X11)
    3434#include <X11/Xlib.h>
    3535#include <X11/Xutil.h>
     
    6464extern "C"
    6565NPError STDCALL NP_Initialize(NPNetscapeFuncs *browserFuncs
    66 #ifdef XP_UNIX
     66#if defined(XP_UNIX)
    6767                              , NPPluginFuncs *pluginFuncs
    6868#endif
     
    7979    browser = browserFuncs;
    8080
    81 #ifdef XP_UNIX
     81#if defined(XP_UNIX)
    8282    return NP_GetEntryPoints(pluginFuncs);
    8383#else
     
    642642#endif // XP_MACOSX
    643643
    644 #ifdef XP_UNIX
    645 
     644#if defined(MOZ_X11)
    646645static char keyEventToChar(XKeyEvent* event)
    647646{
     
    708707    return 0;
    709708}
    710 #endif // XP_UNIX
     709#endif // MOZ_X11
    711710
    712711#ifdef XP_WIN
     
    777776    assert(obj->eventModel == NPEventModelCocoa);
    778777    return handleEventCocoa(instance, obj, static_cast<NPCocoaEvent*>(event));
    779 #elif defined(XP_UNIX)
     778#elif defined(MOZ_X11)
    780779    return handleEventX11(instance, obj, static_cast<XEvent*>(event));
    781780#elif defined(XP_WIN)
     
    807806NPError NPP_GetValue(NPP instance, NPPVariable variable, void *value)
    808807{
    809 #ifdef XP_UNIX
     808#if defined(XP_UNIX)
    810809    if (variable == NPPVpluginNameString) {
    811810        *((char **)value) = const_cast<char*>("WebKit Test PlugIn");
     
    816815        return NPERR_NO_ERROR;
    817816    }
     817#endif
     818
     819#if defined(MOZ_X11)
    818820    if (variable == NPPVpluginNeedsXEmbed) {
    819821        *((NPBool *)value) = TRUE;
     
    858860}
    859861
    860 #ifdef XP_UNIX
     862#if defined(XP_UNIX)
    861863extern "C"
    862864const char* NP_GetMIMEDescription(void)
Note: See TracChangeset for help on using the changeset viewer.