diff options
25 files changed, 449 insertions, 264 deletions
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi index d13050a..060c8c9 100644 --- a/chrome/chrome_browser.gypi +++ b/chrome/chrome_browser.gypi @@ -2322,6 +2322,9 @@ '../ui/web_dialogs/web_dialogs.gyp:web_dialogs', '../v8/tools/gyp/v8.gyp:v8', '../webkit/support/webkit_support.gyp:glue', + '../webkit/support/webkit_support.gyp:glue_common', + '../webkit/support/webkit_support.gyp:plugins', + '../webkit/support/webkit_support.gyp:plugins_common', '../webkit/support/webkit_support.gyp:webkit_resources', '../webkit/support/webkit_support.gyp:webkit_storage', ], diff --git a/chrome/chrome_renderer.gypi b/chrome/chrome_renderer.gypi index 8e3ca82..391e9c9 100644 --- a/chrome/chrome_renderer.gypi +++ b/chrome/chrome_renderer.gypi @@ -28,6 +28,8 @@ '../third_party/widevine/cdm/widevine_cdm.gyp:widevine_cdm_version_h', '../ui/surface/surface.gyp:surface', '../webkit/support/webkit_support.gyp:glue', + '../webkit/support/webkit_support.gyp:glue_common', + '../webkit/support/webkit_support.gyp:plugins', '../webkit/support/webkit_support.gyp:webkit_media', '../webkit/support/webkit_support.gyp:webkit_resources', ], diff --git a/content/content_plugin.gypi b/content/content_plugin.gypi index be59c1f2..6ff0057 100644 --- a/content/content_plugin.gypi +++ b/content/content_plugin.gypi @@ -9,6 +9,8 @@ '../skia/skia.gyp:skia', '../third_party/npapi/npapi.gyp:npapi', '../webkit/support/webkit_support.gyp:glue', + '../webkit/support/webkit_support.gyp:plugins', + '../webkit/support/webkit_support.gyp:plugins_common', ], 'include_dirs': [ '<(INTERMEDIATE_DIR)', diff --git a/content/content_renderer.gypi b/content/content_renderer.gypi index 9917106..8024ab9 100644 --- a/content/content_renderer.gypi +++ b/content/content_renderer.gypi @@ -20,6 +20,9 @@ '../webkit/renderer/compositor_bindings/compositor_bindings.gyp:webkit_compositor_support', '../webkit/gpu/webkit_gpu.gyp:webkit_gpu', '../webkit/support/webkit_support.gyp:glue', + '../webkit/support/webkit_support.gyp:glue_common', + '../webkit/support/webkit_support.gyp:plugins', + '../webkit/support/webkit_support.gyp:plugins_common', '../webkit/support/webkit_support.gyp:webkit_media', ], 'include_dirs': [ diff --git a/content/content_tests.gypi b/content/content_tests.gypi index 0dd4952..c1dabc7 100644 --- a/content/content_tests.gypi +++ b/content/content_tests.gypi @@ -573,6 +573,9 @@ '../ui/gl/gl.gyp:gl', '../v8/tools/gyp/v8.gyp:v8', '../webkit/support/webkit_support.gyp:glue', + '../webkit/support/webkit_support.gyp:glue_common', + '../webkit/support/webkit_support.gyp:plugins', + '../webkit/support/webkit_support.gyp:plugins_common', '../webkit/support/webkit_support.gyp:webkit_base', '../webkit/support/webkit_support.gyp:webkit_media', '../webkit/support/webkit_support.gyp:webkit_storage', diff --git a/content/plugin/plugin_thread.cc b/content/plugin/plugin_thread.cc index 8256ef6..27e3f55 100644 --- a/content/plugin/plugin_thread.cc +++ b/content/plugin/plugin_thread.cc @@ -29,6 +29,7 @@ #include "webkit/glue/webkit_glue.h" #include "webkit/plugins/npapi/plugin_lib.h" #include "webkit/plugins/npapi/plugin_list.h" +#include "webkit/plugins/npapi/plugin_utils.h" #include "webkit/plugins/npapi/webplugin_delegate_impl.h" #if defined(TOOLKIT_GTK) @@ -147,7 +148,7 @@ void PluginThread::Shutdown() { NPChannelBase::CleanupChannels(); webkit::npapi::PluginLib::UnloadAllPlugins(); - if (webkit_glue::ShouldForcefullyTerminatePluginProcess()) + if (webkit::npapi::ShouldForcefullyTerminatePluginProcess()) base::KillProcess(base::GetCurrentProcessHandle(), 0, /* wait= */ false); lazy_tls.Pointer()->Set(NULL); diff --git a/webkit/glue/multipart_response_delegate.h b/webkit/glue/multipart_response_delegate.h index e0282b0..00be3c1 100644 --- a/webkit/glue/multipart_response_delegate.h +++ b/webkit/glue/multipart_response_delegate.h @@ -65,7 +65,7 @@ namespace webkit_glue { // Used by unit tests to access private members. class MultipartResponseDelegateTester; -class WEBKIT_GLUE_EXPORT MultipartResponseDelegate { +class MultipartResponseDelegate { public: MultipartResponseDelegate(WebKit::WebURLLoaderClient* client, WebKit::WebURLLoader* loader, diff --git a/webkit/glue/webcursor.h b/webkit/glue/webcursor.h index 7cf7aad..7b4764e 100644 --- a/webkit/glue/webcursor.h +++ b/webkit/glue/webcursor.h @@ -9,7 +9,6 @@ #include "ui/gfx/native_widget_types.h" #include "ui/gfx/point.h" #include "ui/gfx/size.h" -#include "webkit/glue/webkit_glue_export.h" #include <vector> @@ -39,7 +38,7 @@ struct WebCursorInfo; // specific methods are provided to translate the cross-platform cursor into a // platform specific cursor. It is also possible to serialize / de-serialize a // WebCursor. -class WEBKIT_GLUE_EXPORT WebCursor { +class WebCursor { public: WebCursor(); explicit WebCursor(const WebKit::WebCursorInfo& cursor_info); diff --git a/webkit/glue/webkit_glue.cc b/webkit/glue/webkit_glue.cc index 59c5d8f..c8796cb 100644 --- a/webkit/glue/webkit_glue.cc +++ b/webkit/glue/webkit_glue.cc @@ -84,9 +84,6 @@ static const char kFileTestPrefix[] = "(file test):"; namespace webkit_glue { -// Global variable used by the plugin quirk "die after unload". -bool g_forcefully_terminate_plugin_process = false; - void SetJavaScriptFlags(const std::string& str) { v8::V8::SetFlagsFromString(str.data(), static_cast<int>(str.size())); } @@ -160,14 +157,6 @@ void PlatformFileInfoToWebFileInfo( web_file_info->type = WebKit::WebFileInfo::TypeFile; } -void SetForcefullyTerminatePluginProcess(bool value) { - g_forcefully_terminate_plugin_process = value; -} - -bool ShouldForcefullyTerminatePluginProcess() { - return g_forcefully_terminate_plugin_process; -} - WebCanvas* ToWebCanvas(skia::PlatformCanvas* canvas) { return canvas; } diff --git a/webkit/glue/webkit_glue.gypi b/webkit/glue/webkit_glue.gypi index 7ec5341..183ba55 100644 --- a/webkit/glue/webkit_glue.gypi +++ b/webkit/glue/webkit_glue.gypi @@ -54,6 +54,103 @@ ], 'includes': [ '../../build/grit_target.gypi' ], }, + + { + 'target_name': 'glue_common', + 'type': 'static_library', + 'variables': { 'enable_wexit_time_destructors': 1, }, + 'defines': [ + 'WEBKIT_EXTENSIONS_IMPLEMENTATION', + 'WEBKIT_GLUE_IMPLEMENTATION', + ], + 'dependencies': [ + '<(DEPTH)/base/base.gyp:base_i18n', + '<(DEPTH)/base/base.gyp:base_static', + '<(DEPTH)/base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', + '<(DEPTH)/build/temp_gyp/googleurl.gyp:googleurl', + '<(DEPTH)/skia/skia.gyp:skia', + '<(DEPTH)/third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:webkit', + '<(DEPTH)/ui/ui.gyp:ui_resources', + ], + 'include_dirs': [ + '<(INTERMEDIATE_DIR)', + '<(SHARED_INTERMEDIATE_DIR)/webkit', + '<(SHARED_INTERMEDIATE_DIR)/ui', + ], + + 'sources': [ + 'multipart_response_delegate.cc', + 'multipart_response_delegate.h', + 'webcursor.cc', + 'webcursor.h', + 'webcursor_android.cc', + 'webcursor_aura.cc', + 'webcursor_aurawin.cc', + 'webcursor_aurax11.cc', + 'webcursor_null.cc', + 'webcursor_gtk.cc', + 'webcursor_gtk_data.h', + 'webcursor_mac.mm', + 'webcursor_win.cc', + 'weburlrequest_extradata_impl.cc', + 'weburlrequest_extradata_impl.h', + 'weburlresponse_extradata_impl.cc', + 'weburlresponse_extradata_impl.h', + ], + + 'conditions': [ + ['toolkit_uses_gtk == 1', { + 'dependencies': [ + '<(DEPTH)/build/linux/system.gyp:gtk', + ], + 'sources/': [['exclude', '_x11\\.cc$']], + 'conditions': [ + ['linux_use_tcmalloc == 1', { + 'dependencies': [ + # This is needed by ../extensions/v8/heap_profiler_extension.cc + '<(DEPTH)/base/allocator/allocator.gyp:allocator', + ], + }], + ], + }], + ['use_aura==1', { + 'sources!': [ + 'webcursor_mac.mm', + 'webcursor_win.cc', + ], + }], + ['use_aura==1 and use_x11==1', { + 'link_settings': { + 'libraries': [ '-lXcursor', ], + }, + }], + ['use_ozone==0', { + 'sources!': [ + 'webcursor_null.cc', + ], + }], + ['OS!="mac"', { + 'sources/': [['exclude', '_mac\\.(cc|mm)$']], + }, { # else: OS=="mac" + 'link_settings': { + 'libraries': [ + '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework', + ], + }, + }], + ['OS!="win"', { + 'sources/': [['exclude', '_win\\.cc$']], + }, { # else: OS=="win" + # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. + 'msvs_disabled_warnings': [ 4800, 4267 ], + 'sources/': [['exclude', '_posix\\.cc$']], + 'include_dirs': [ + '<(DEPTH)/third_party/wtl/include', + ], + }], + ], + }, + { 'target_name': 'glue', 'type': '<(component)', @@ -61,7 +158,6 @@ 'defines': [ 'WEBKIT_EXTENSIONS_IMPLEMENTATION', 'WEBKIT_GLUE_IMPLEMENTATION', - 'WEBKIT_PLUGINS_IMPLEMENTATION', ], 'dependencies': [ '<(DEPTH)/base/base.gyp:base_i18n', @@ -70,11 +166,7 @@ '<(DEPTH)/build/temp_gyp/googleurl.gyp:googleurl', '<(DEPTH)/gpu/gpu.gyp:gles2_c_lib', '<(DEPTH)/gpu/gpu.gyp:gles2_implementation', - '<(DEPTH)/media/media.gyp:media', - '<(DEPTH)/media/media.gyp:shared_memory_support', '<(DEPTH)/net/net.gyp:net', - '<(DEPTH)/ppapi/ppapi.gyp:ppapi_c', - '<(DEPTH)/ppapi/ppapi_internal.gyp:ppapi_shared', '<(DEPTH)/printing/printing.gyp:printing', '<(DEPTH)/skia/skia.gyp:skia', '<(DEPTH)/third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:webkit', @@ -87,6 +179,9 @@ '<(DEPTH)/ui/ui.gyp:ui_resources', '<(DEPTH)/v8/tools/gyp/v8.gyp:v8', '<(DEPTH)/webkit/renderer/compositor_bindings/compositor_bindings.gyp:webkit_compositor_support', + 'glue_common', + 'plugins_common', + 'plugins', 'user_agent', 'webkit_base', 'webkit_media', @@ -100,155 +195,6 @@ '<(SHARED_INTERMEDIATE_DIR)/ui', ], 'sources': [ - # This list contains all .h, .cc, and .mm files in glue except for - # those in the test subdirectory and those with unittest in in their - # names. - '../plugins/npapi/gtk_plugin_container.cc', - '../plugins/npapi/gtk_plugin_container.h', - '../plugins/npapi/gtk_plugin_container_manager.cc', - '../plugins/npapi/gtk_plugin_container_manager.h', - '../plugins/npapi/plugin_constants_win.cc', - '../plugins/npapi/plugin_constants_win.h', - '../plugins/npapi/plugin_host.cc', - '../plugins/npapi/plugin_host.h', - '../plugins/npapi/plugin_instance.cc', - '../plugins/npapi/plugin_instance.h', - '../plugins/npapi/plugin_instance_mac.mm', - '../plugins/npapi/plugin_lib.cc', - '../plugins/npapi/plugin_lib.h', - '../plugins/npapi/plugin_lib_mac.mm', - '../plugins/npapi/plugin_lib_posix.cc', - '../plugins/npapi/plugin_lib_win.cc', - '../plugins/npapi/plugin_list.cc', - '../plugins/npapi/plugin_list.h', - '../plugins/npapi/plugin_list_mac.mm', - '../plugins/npapi/plugin_list_posix.cc', - '../plugins/npapi/plugin_list_win.cc', - '../plugins/npapi/plugin_stream.cc', - '../plugins/npapi/plugin_stream.h', - '../plugins/npapi/plugin_stream_posix.cc', - '../plugins/npapi/plugin_stream_url.cc', - '../plugins/npapi/plugin_stream_url.h', - '../plugins/npapi/plugin_stream_win.cc', - '../plugins/npapi/plugin_string_stream.cc', - '../plugins/npapi/plugin_string_stream.h', - '../plugins/npapi/plugin_utils.cc', - '../plugins/npapi/plugin_utils.h', - '../plugins/npapi/plugin_web_event_converter_mac.h', - '../plugins/npapi/plugin_web_event_converter_mac.mm', - '../plugins/npapi/webplugin.cc', - '../plugins/npapi/webplugin.h', - '../plugins/npapi/webplugin_accelerated_surface_mac.h', - '../plugins/npapi/webplugin_delegate.h', - '../plugins/npapi/webplugin_delegate_impl.cc', - '../plugins/npapi/webplugin_delegate_impl.h', - '../plugins/npapi/webplugin_delegate_impl_android.cc', - '../plugins/npapi/webplugin_delegate_impl_aura.cc', - '../plugins/npapi/webplugin_delegate_impl_gtk.cc', - '../plugins/npapi/webplugin_delegate_impl_mac.mm', - '../plugins/npapi/webplugin_delegate_impl_win.cc', - '../plugins/npapi/webplugin_ime_win.cc', - '../plugins/npapi/webplugin_ime_win.h', - '../plugins/npapi/webplugin_impl.cc', - '../plugins/npapi/webplugin_impl.h', - '../plugins/plugin_constants.cc', - '../plugins/plugin_constants.h', - '../plugins/plugin_switches.cc', - '../plugins/plugin_switches.h', - '../plugins/ppapi/audio_helper.cc', - '../plugins/ppapi/audio_helper.h', - '../plugins/ppapi/common.h', - '../plugins/ppapi/content_decryptor_delegate.cc', - '../plugins/ppapi/content_decryptor_delegate.h', - '../plugins/ppapi/event_conversion.cc', - '../plugins/ppapi/event_conversion.h', - '../plugins/ppapi/file_callbacks.cc', - '../plugins/ppapi/file_callbacks.h', - '../plugins/ppapi/fullscreen_container.h', - '../plugins/ppapi/gfx_conversion.h', - '../plugins/ppapi/host_array_buffer_var.cc', - '../plugins/ppapi/host_array_buffer_var.h', - '../plugins/ppapi/host_globals.cc', - '../plugins/ppapi/host_globals.h', - '../plugins/ppapi/host_var_tracker.cc', - '../plugins/ppapi/host_var_tracker.h', - '../plugins/ppapi/message_channel.cc', - '../plugins/ppapi/message_channel.h', - '../plugins/ppapi/npapi_glue.cc', - '../plugins/ppapi/npapi_glue.h', - '../plugins/ppapi/npobject_var.cc', - '../plugins/ppapi/npobject_var.h', - '../plugins/ppapi/plugin_delegate.h', - '../plugins/ppapi/plugin_module.cc', - '../plugins/ppapi/plugin_module.h', - '../plugins/ppapi/plugin_object.cc', - '../plugins/ppapi/plugin_object.h', - '../plugins/ppapi/ppapi_interface_factory.cc', - '../plugins/ppapi/ppapi_interface_factory.h', - '../plugins/ppapi/ppapi_plugin_instance.cc', - '../plugins/ppapi/ppapi_plugin_instance.h', - '../plugins/ppapi/ppapi_webplugin_impl.cc', - '../plugins/ppapi/ppapi_webplugin_impl.h', - '../plugins/ppapi/ppb_audio_impl.cc', - '../plugins/ppapi/ppb_audio_impl.h', - '../plugins/ppapi/ppb_broker_impl.cc', - '../plugins/ppapi/ppb_broker_impl.h', - '../plugins/ppapi/ppb_buffer_impl.cc', - '../plugins/ppapi/ppb_buffer_impl.h', - '../plugins/ppapi/ppb_file_ref_impl.cc', - '../plugins/ppapi/ppb_file_ref_impl.h', - '../plugins/ppapi/ppb_flash_message_loop_impl.cc', - '../plugins/ppapi/ppb_flash_message_loop_impl.h', - '../plugins/ppapi/ppb_gpu_blacklist_private_impl.cc', - '../plugins/ppapi/ppb_gpu_blacklist_private_impl.h', - '../plugins/ppapi/ppb_graphics_3d_impl.cc', - '../plugins/ppapi/ppb_graphics_3d_impl.h', - '../plugins/ppapi/ppb_image_data_impl.cc', - '../plugins/ppapi/ppb_image_data_impl.h', - '../plugins/ppapi/ppb_network_monitor_private_impl.cc', - '../plugins/ppapi/ppb_network_monitor_private_impl.h', - '../plugins/ppapi/ppb_proxy_impl.cc', - '../plugins/ppapi/ppb_proxy_impl.h', - '../plugins/ppapi/ppb_scrollbar_impl.cc', - '../plugins/ppapi/ppb_scrollbar_impl.h', - '../plugins/ppapi/ppb_tcp_server_socket_private_impl.cc', - '../plugins/ppapi/ppb_tcp_server_socket_private_impl.h', - '../plugins/ppapi/ppb_tcp_socket_private_impl.cc', - '../plugins/ppapi/ppb_tcp_socket_private_impl.h', - '../plugins/ppapi/ppb_uma_private_impl.cc', - '../plugins/ppapi/ppb_uma_private_impl.h', - '../plugins/ppapi/ppb_url_loader_impl.cc', - '../plugins/ppapi/ppb_url_loader_impl.h', - '../plugins/ppapi/ppb_var_deprecated_impl.cc', - '../plugins/ppapi/ppb_var_deprecated_impl.h', - '../plugins/ppapi/ppb_video_decoder_impl.cc', - '../plugins/ppapi/ppb_video_decoder_impl.h', - '../plugins/ppapi/ppb_widget_impl.cc', - '../plugins/ppapi/ppb_widget_impl.h', - '../plugins/ppapi/ppb_x509_certificate_private_impl.cc', - '../plugins/ppapi/ppb_x509_certificate_private_impl.h', - '../plugins/ppapi/quota_file_io.cc', - '../plugins/ppapi/quota_file_io.h', - '../plugins/ppapi/resource_creation_impl.cc', - '../plugins/ppapi/resource_creation_impl.h', - '../plugins/ppapi/resource_helper.cc', - '../plugins/ppapi/resource_helper.h', - '../plugins/ppapi/string.cc', - '../plugins/ppapi/string.h', - '../plugins/ppapi/url_response_info_util.cc', - '../plugins/ppapi/url_response_info_util.h', - '../plugins/ppapi/url_request_info_util.cc', - '../plugins/ppapi/url_request_info_util.h', - '../plugins/ppapi/usb_key_code_conversion.h', - '../plugins/ppapi/usb_key_code_conversion.cc', - '../plugins/ppapi/usb_key_code_conversion_linux.cc', - '../plugins/ppapi/usb_key_code_conversion_mac.cc', - '../plugins/ppapi/usb_key_code_conversion_win.cc', - '../plugins/sad_plugin.cc', - '../plugins/sad_plugin.h', - '../plugins/webkit_plugins_export.h', - '../plugins/webplugininfo.cc', - '../plugins/webplugininfo.h', 'cpp_bound_class.cc', 'cpp_bound_class.h', 'cpp_variant.cc', @@ -263,8 +209,6 @@ 'glue_serialize.h', 'image_decoder.cc', 'image_decoder.h', - 'multipart_response_delegate.cc', - 'multipart_response_delegate.h', 'network_list_observer.h', 'npruntime_util.cc', 'npruntime_util.h', @@ -286,17 +230,6 @@ 'webclipboard_impl.h', 'webcookie.cc', 'webcookie.h', - 'webcursor.cc', - 'webcursor.h', - 'webcursor_android.cc', - 'webcursor_aura.cc', - 'webcursor_aurawin.cc', - 'webcursor_aurax11.cc', - 'webcursor_null.cc', - 'webcursor_gtk.cc', - 'webcursor_gtk_data.h', - 'webcursor_mac.mm', - 'webcursor_win.cc', 'webdropdata.cc', 'webdropdata_win.cc', 'webdropdata.h', @@ -329,10 +262,6 @@ 'webthread_impl.cc', 'weburlloader_impl.cc', 'weburlloader_impl.h', - 'weburlrequest_extradata_impl.cc', - 'weburlrequest_extradata_impl.h', - 'weburlresponse_extradata_impl.cc', - 'weburlresponse_extradata_impl.h', 'web_io_operators.cc', 'web_io_operators.h', 'worker_task_runner.cc', @@ -359,34 +288,12 @@ '<(DEPTH)/build/linux/system.gyp:gtk', ], 'sources/': [['exclude', '_x11\\.cc$']], - 'sources!': [ - 'plugins/plugin_stubs.cc', - ], - }], - ['use_aura==1', { - 'sources/': [ - ['exclude', '^\\.\\./plugins/npapi/webplugin_delegate_impl_mac.mm'], - ], - 'sources!': [ - 'webcursor_mac.mm', - 'webcursor_win.cc', - ], }], ['use_aura==1 and use_x11==1', { 'link_settings': { 'libraries': [ '-lXcursor', ], }, }], - ['use_ozone==0', { - 'sources!': [ - 'webcursor_null.cc', - ], - }], - ['use_aura==1 and OS=="win"', { - 'sources/': [ - ['exclude', '^\\.\\./plugins/npapi/webplugin_delegate_impl_aura'], - ], - }], ['OS!="mac"', { 'sources/': [['exclude', '_mac\\.(cc|mm)$']], 'sources!': [ @@ -400,13 +307,6 @@ ], }, }], - ['enable_gpu!=1', { - 'sources!': [ - '../plugins/ppapi/ppb_graphics_3d_impl.cc', - '../plugins/ppapi/ppb_graphics_3d_impl.h', - '../plugins/ppapi/ppb_open_gl_es_impl.cc', - ], - }], ['OS!="win"', { 'sources/': [['exclude', '_win\\.cc$']], 'sources!': [ @@ -417,9 +317,6 @@ 'include_dirs': [ '<(DEPTH)/third_party/wtl/include', ], - 'sources!': [ - 'plugins/plugin_stubs.cc', - ], # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 'msvs_disabled_warnings': [ 4800, 4267 ], 'conditions': [ diff --git a/webkit/glue/webkit_glue.h b/webkit/glue/webkit_glue.h index df9c867..53fe977 100644 --- a/webkit/glue/webkit_glue.h +++ b/webkit/glue/webkit_glue.h @@ -62,14 +62,6 @@ WEBKIT_GLUE_EXPORT void CheckForLeaks(); WEBKIT_GLUE_EXPORT bool DecodeImage(const std::string& image_data, SkBitmap* image); -// Tells the plugin thread to terminate the process forcefully instead of -// exiting cleanly. -void SetForcefullyTerminatePluginProcess(bool value); - -// Returns true if the plugin thread should terminate the process forcefully -// instead of exiting cleanly. -WEBKIT_GLUE_EXPORT bool ShouldForcefullyTerminatePluginProcess(); - // File info conversion WEBKIT_GLUE_EXPORT void PlatformFileInfoToWebFileInfo( const base::PlatformFileInfo& file_info, diff --git a/webkit/glue/weburlrequest_extradata_impl.h b/webkit/glue/weburlrequest_extradata_impl.h index 8e78d45..35af1f0 100644 --- a/webkit/glue/weburlrequest_extradata_impl.h +++ b/webkit/glue/weburlrequest_extradata_impl.h @@ -9,14 +9,12 @@ #include "third_party/WebKit/Source/Platform/chromium/public/WebReferrerPolicy.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebString.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebURLRequest.h" -#include "webkit/glue/webkit_glue_export.h" namespace webkit_glue { // Base class for Chrome's implementation of the "extra data" stored in each // ResourceRequest. -class WEBKIT_GLUE_EXPORT WebURLRequestExtraDataImpl : - NON_EXPORTED_BASE(public WebKit::WebURLRequest::ExtraData) { +class WebURLRequestExtraDataImpl : public WebKit::WebURLRequest::ExtraData { public: // |custom_user_agent| is used to communicate an overriding custom user agent // to |RenderViewImpl::willSendRequest()|; set to a null string to indicate no diff --git a/webkit/glue/weburlresponse_extradata_impl.h b/webkit/glue/weburlresponse_extradata_impl.h index 73d2ee7..7cdb305 100644 --- a/webkit/glue/weburlresponse_extradata_impl.h +++ b/webkit/glue/weburlresponse_extradata_impl.h @@ -10,13 +10,11 @@ #include "base/basictypes.h" #include "base/compiler_specific.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebURLResponse.h" -#include "webkit/glue/webkit_glue_export.h" namespace webkit_glue { // Base class for Chrome's implementation of the "extra data". -class WEBKIT_GLUE_EXPORT WebURLResponseExtraDataImpl - : NON_EXPORTED_BASE(public WebKit::WebURLResponse::ExtraData) { +class WebURLResponseExtraDataImpl : public WebKit::WebURLResponse::ExtraData { public: explicit WebURLResponseExtraDataImpl( const std::string& npn_negotiated_protocol); diff --git a/webkit/plugins/npapi/plugin_constants_win.h b/webkit/plugins/npapi/plugin_constants_win.h index 0bdecf6..da2cace 100644 --- a/webkit/plugins/npapi/plugin_constants_win.h +++ b/webkit/plugins/npapi/plugin_constants_win.h @@ -6,7 +6,6 @@ #define WEBKIT_PLUGINS_NPAPI_PLUGIN_CONSTANTS_WIN_H_ #include "base/string16.h" -#include "webkit/plugins/webkit_plugins_export.h" #if !defined(OS_WIN) #error "Windows-only header" @@ -21,17 +20,17 @@ extern const char16 kNativeWindowClassName[]; // The name of the window class name for the wrapper HWND around the actual // plugin window that's used when running in multi-process mode. This window // is created on the browser UI thread. -WEBKIT_PLUGINS_EXPORT extern const char16 kWrapperNativeWindowClassName[]; +extern const char16 kWrapperNativeWindowClassName[]; // The name of the custom window message that the browser uses to tell the // plugin process to paint a window. -WEBKIT_PLUGINS_EXPORT extern const char16 kPaintMessageName[]; +extern const char16 kPaintMessageName[]; // The name of the registry key which NPAPI plugins update on installation. -WEBKIT_PLUGINS_EXPORT extern const char16 kRegistryMozillaPlugins[]; +extern const char16 kRegistryMozillaPlugins[]; extern const char16 kMozillaActiveXPlugin[]; -WEBKIT_PLUGINS_EXPORT extern const char16 kNewWMPPlugin[]; +extern const char16 kNewWMPPlugin[]; extern const char16 kOldWMPPlugin[]; extern const char16 kYahooApplicationStatePlugin[]; extern const char16 kWanWangProtocolHandlerPlugin[]; diff --git a/webkit/plugins/npapi/plugin_utils.cc b/webkit/plugins/npapi/plugin_utils.cc index df6efa6..e08f818 100644 --- a/webkit/plugins/npapi/plugin_utils.cc +++ b/webkit/plugins/npapi/plugin_utils.cc @@ -13,6 +13,9 @@ namespace webkit { namespace npapi { +// Global variable used by the plugin quirk "die after unload". +bool g_forcefully_terminate_plugin_process = false; + void CreateVersionFromString(const base::string16& version_string, Version* parsed_version) { // Remove spaces and ')' from the version string, @@ -52,5 +55,13 @@ bool NPAPIPluginsSupported() { #endif } +void SetForcefullyTerminatePluginProcess(bool value) { + g_forcefully_terminate_plugin_process = value; +} + +bool ShouldForcefullyTerminatePluginProcess() { + return g_forcefully_terminate_plugin_process; +} + } // namespace npapi } // namespace webkit diff --git a/webkit/plugins/npapi/plugin_utils.h b/webkit/plugins/npapi/plugin_utils.h index 8fe1b13..ba0c2e8 100644 --- a/webkit/plugins/npapi/plugin_utils.h +++ b/webkit/plugins/npapi/plugin_utils.h @@ -6,7 +6,6 @@ #define WEBKIT_PLUGINS_NPAPI_PLUGIN_UTILS_H_ #include "base/string16.h" -#include "webkit/plugins/webkit_plugins_export.h" namespace base { class Version; @@ -17,12 +16,22 @@ namespace npapi { // Parse a version string as used by a plug-in. This method is more lenient // in accepting weird version strings than base::Version::GetFromString() -WEBKIT_PLUGINS_EXPORT void CreateVersionFromString( +void CreateVersionFromString( const base::string16& version_string, base::Version* parsed_version); // Returns true iff NPAPI plugins are supported on the current platform. -WEBKIT_PLUGINS_EXPORT bool NPAPIPluginsSupported(); +bool NPAPIPluginsSupported(); + +// Tells the plugin thread to terminate the process forcefully instead of +// exiting cleanly. +void SetForcefullyTerminatePluginProcess(bool value); + +// Returns true if the plugin thread should terminate the process forcefully +// instead of exiting cleanly. +bool ShouldForcefullyTerminatePluginProcess(); + + } // namespace npapi } // namespace webkit diff --git a/webkit/plugins/npapi/webplugin_delegate_impl.cc b/webkit/plugins/npapi/webplugin_delegate_impl.cc index e1540ee..a27fc9f 100644 --- a/webkit/plugins/npapi/webplugin_delegate_impl.cc +++ b/webkit/plugins/npapi/webplugin_delegate_impl.cc @@ -16,6 +16,7 @@ #include "webkit/plugins/npapi/plugin_instance.h" #include "webkit/plugins/npapi/plugin_lib.h" #include "webkit/plugins/npapi/plugin_stream_url.h" +#include "webkit/plugins/npapi/plugin_utils.h" using WebKit::WebCursorInfo; using WebKit::WebInputEvent; @@ -63,7 +64,7 @@ bool WebPluginDelegateImpl::Initialize( } if (quirks_ & PLUGIN_QUIRK_DIE_AFTER_UNLOAD) - webkit_glue::SetForcefullyTerminatePluginProcess(true); + webkit::npapi::SetForcefullyTerminatePluginProcess(true); int argc = 0; scoped_ptr<char*[]> argn(new char*[arg_names.size()]); diff --git a/webkit/plugins/plugin_constants.h b/webkit/plugins/plugin_constants.h index 643d282..6792fb3 100644 --- a/webkit/plugins/plugin_constants.h +++ b/webkit/plugins/plugin_constants.h @@ -6,20 +6,19 @@ #define WEBKIT_PLUGINS_PLUGIN_CONSTANTS_H_ #include "base/basictypes.h" -#include "webkit/plugins/webkit_plugins_export.h" -WEBKIT_PLUGINS_EXPORT extern const char kFlashPluginName[]; -WEBKIT_PLUGINS_EXPORT extern const char kFlashPluginSwfMimeType[]; -WEBKIT_PLUGINS_EXPORT extern const char kFlashPluginSwfExtension[]; -WEBKIT_PLUGINS_EXPORT extern const char kFlashPluginSwfDescription[]; -WEBKIT_PLUGINS_EXPORT extern const char kFlashPluginSplMimeType[]; -WEBKIT_PLUGINS_EXPORT extern const char kFlashPluginSplExtension[]; -WEBKIT_PLUGINS_EXPORT extern const char kFlashPluginSplDescription[]; +extern const char kFlashPluginName[]; +extern const char kFlashPluginSwfMimeType[]; +extern const char kFlashPluginSwfExtension[]; +extern const char kFlashPluginSwfDescription[]; +extern const char kFlashPluginSplMimeType[]; +extern const char kFlashPluginSplExtension[]; +extern const char kFlashPluginSplDescription[]; // The maximum plugin width and height. -WEBKIT_PLUGINS_EXPORT extern const uint16 kMaxPluginSideLength; +extern const uint16 kMaxPluginSideLength; // The maximum plugin size, defined as the number of pixels occupied by the // plugin. -WEBKIT_PLUGINS_EXPORT extern const uint32 kMaxPluginSize; +extern const uint32 kMaxPluginSize; #endif // WEBKIT_PLUGINS_PLUGIN_CONSTANTS_H_ diff --git a/webkit/plugins/plugin_switches.h b/webkit/plugins/plugin_switches.h index 08ed5ae..cba11ae 100644 --- a/webkit/plugins/plugin_switches.h +++ b/webkit/plugins/plugin_switches.h @@ -6,16 +6,15 @@ #define WEBKIT_PLUGINS_PLUGIN_SWITCHES_H_ #include "build/build_config.h" -#include "webkit/plugins/webkit_plugins_export.h" namespace switches { -WEBKIT_PLUGINS_EXPORT extern const char kDebugPluginLoading[]; -WEBKIT_PLUGINS_EXPORT extern const char kDisablePepper3d[]; -WEBKIT_PLUGINS_EXPORT extern const char kPpapiFlashArgs[]; +extern const char kDebugPluginLoading[]; +extern const char kDisablePepper3d[]; +extern const char kPpapiFlashArgs[]; #if defined(OS_WIN) -WEBKIT_PLUGINS_EXPORT extern const char kUseOldWMPPlugin[]; +extern const char kUseOldWMPPlugin[]; #endif } // namespace switches diff --git a/webkit/plugins/ppapi/ppb_file_ref_impl.h b/webkit/plugins/ppapi/ppb_file_ref_impl.h index 5604eab7..272b4a4 100644 --- a/webkit/plugins/ppapi/ppb_file_ref_impl.h +++ b/webkit/plugins/ppapi/ppb_file_ref_impl.h @@ -16,8 +16,8 @@ #include "ppapi/shared_impl/ppb_file_ref_shared.h" #include "ppapi/shared_impl/scoped_pp_resource.h" #include "ppapi/shared_impl/var.h" -#include "webkit/glue/webkit_glue_export.h" #include "webkit/plugins/ppapi/file_callbacks.h" +#include "webkit/plugins/webkit_plugins_export.h" namespace webkit { namespace ppapi { @@ -26,7 +26,7 @@ using ::ppapi::StringVar; class PPB_FileSystem_Impl; -class WEBKIT_GLUE_EXPORT PPB_FileRef_Impl +class WEBKIT_PLUGINS_EXPORT PPB_FileRef_Impl : public ::ppapi::PPB_FileRef_Shared { public: PPB_FileRef_Impl(const ::ppapi::PPB_FileRef_CreateInfo& info, diff --git a/webkit/plugins/ppapi/ppb_scrollbar_impl.cc b/webkit/plugins/ppapi/ppb_scrollbar_impl.cc index 50fe5c9..56f3fcc 100644 --- a/webkit/plugins/ppapi/ppb_scrollbar_impl.cc +++ b/webkit/plugins/ppapi/ppb_scrollbar_impl.cc @@ -10,6 +10,7 @@ #include "ppapi/c/dev/ppp_scrollbar_dev.h" #include "ppapi/thunk/thunk.h" #include "skia/ext/platform_canvas.h" +#include "third_party/WebKit/Source/Platform/chromium/public/WebCanvas.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebRect.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebVector.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebInputEvent.h" @@ -139,7 +140,7 @@ PP_Bool PPB_Scrollbar_Impl::PaintInternal(const gfx::Rect& rect, return PP_FALSE; canvas->save(); canvas->scale(scale(), scale()); - scrollbar_->paint(webkit_glue::ToWebCanvas(canvas), rect); + scrollbar_->paint(canvas, rect); canvas->restore(); #if defined(OS_WIN) diff --git a/webkit/plugins/webkit_plugins.gypi b/webkit/plugins/webkit_plugins.gypi new file mode 100644 index 0000000..69a52b7 --- /dev/null +++ b/webkit/plugins/webkit_plugins.gypi @@ -0,0 +1,276 @@ +# Copyright (c) 2013 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +{ + 'targets': [ + { + 'target_name': 'plugins_common', + 'type': 'static_library', + 'defines': [ + 'WEBKIT_PLUGINS_IMPLEMENTATION', + ], + 'include_dirs': [ + '<(INTERMEDIATE_DIR)', + '<(SHARED_INTERMEDIATE_DIR)/ui', + ], + 'dependencies': [ + '<(DEPTH)/base/base.gyp:base_i18n', + '<(DEPTH)/base/base.gyp:base_static', + ], + 'sources': [ + '../plugins/webplugininfo.cc', + '../plugins/webplugininfo.h', + '../plugins/plugin_constants.cc', + '../plugins/plugin_constants.h', + '../plugins/npapi/plugin_constants_win.cc', + '../plugins/npapi/plugin_constants_win.h', + '../plugins/plugin_switches.cc', + '../plugins/plugin_switches.h', + '../plugins/npapi/plugin_utils.cc', + '../plugins/npapi/plugin_utils.h', + ], + # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. + 'msvs_disabled_warnings': [ 4267 ], + }, + + { + 'target_name': 'plugins', + 'type': '<(component)', + 'defines': [ + 'WEBKIT_PLUGINS_IMPLEMENTATION', + ], + 'include_dirs': [ + '<(INTERMEDIATE_DIR)', + '<(SHARED_INTERMEDIATE_DIR)/webkit', + '<(SHARED_INTERMEDIATE_DIR)/ui', + ], + 'dependencies': [ + '<(DEPTH)/base/base.gyp:base', + '<(DEPTH)/base/base.gyp:base_i18n', + '<(DEPTH)/base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', + '<(DEPTH)/build/temp_gyp/googleurl.gyp:googleurl', + '<(DEPTH)/gpu/gpu.gyp:gles2_c_lib', + '<(DEPTH)/gpu/gpu.gyp:gles2_implementation', + '<(DEPTH)/media/media.gyp:media', + '<(DEPTH)/media/media.gyp:shared_memory_support', + '<(DEPTH)/net/net.gyp:net', + '<(DEPTH)/ppapi/ppapi.gyp:ppapi_c', + '<(DEPTH)/ppapi/ppapi_internal.gyp:ppapi_shared', + '<(DEPTH)/printing/printing.gyp:printing', + '<(DEPTH)/skia/skia.gyp:skia', + '<(DEPTH)/ui/gl/gl.gyp:gl', + '<(DEPTH)/ui/ui.gyp:ui', + '<(DEPTH)/ui/ui.gyp:ui_resources', + '<(DEPTH)/v8/tools/gyp/v8.gyp:v8', + '<(DEPTH)/webkit/renderer/compositor_bindings/compositor_bindings.gyp:webkit_compositor_support', + '<(DEPTH)/third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:webkit', + 'glue_common', + 'plugins_common', + 'user_agent', + 'webkit_base', + 'webkit_storage', + ], + 'sources': [ + # This list contains all .h, .cc, and .mm files in glue except for + # those in the test subdirectory and those with unittest in in their + # names. + '../plugins/npapi/gtk_plugin_container.cc', + '../plugins/npapi/gtk_plugin_container.h', + '../plugins/npapi/gtk_plugin_container_manager.cc', + '../plugins/npapi/gtk_plugin_container_manager.h', + '../plugins/npapi/plugin_host.cc', + '../plugins/npapi/plugin_host.h', + '../plugins/npapi/plugin_instance.cc', + '../plugins/npapi/plugin_instance.h', + '../plugins/npapi/plugin_instance_mac.mm', + '../plugins/npapi/plugin_lib.cc', + '../plugins/npapi/plugin_lib.h', + '../plugins/npapi/plugin_lib_mac.mm', + '../plugins/npapi/plugin_lib_posix.cc', + '../plugins/npapi/plugin_lib_win.cc', + '../plugins/npapi/plugin_list.cc', + '../plugins/npapi/plugin_list.h', + '../plugins/npapi/plugin_list_mac.mm', + '../plugins/npapi/plugin_list_posix.cc', + '../plugins/npapi/plugin_list_win.cc', + '../plugins/npapi/plugin_stream.cc', + '../plugins/npapi/plugin_stream.h', + '../plugins/npapi/plugin_stream_posix.cc', + '../plugins/npapi/plugin_stream_url.cc', + '../plugins/npapi/plugin_stream_url.h', + '../plugins/npapi/plugin_stream_win.cc', + '../plugins/npapi/plugin_string_stream.cc', + '../plugins/npapi/plugin_string_stream.h', + '../plugins/npapi/plugin_web_event_converter_mac.h', + '../plugins/npapi/plugin_web_event_converter_mac.mm', + '../plugins/npapi/webplugin.cc', + '../plugins/npapi/webplugin.h', + '../plugins/npapi/webplugin_accelerated_surface_mac.h', + '../plugins/npapi/webplugin_delegate.h', + '../plugins/npapi/webplugin_delegate_impl.cc', + '../plugins/npapi/webplugin_delegate_impl.h', + '../plugins/npapi/webplugin_delegate_impl_android.cc', + '../plugins/npapi/webplugin_delegate_impl_aura.cc', + '../plugins/npapi/webplugin_delegate_impl_gtk.cc', + '../plugins/npapi/webplugin_delegate_impl_mac.mm', + '../plugins/npapi/webplugin_delegate_impl_win.cc', + '../plugins/npapi/webplugin_ime_win.cc', + '../plugins/npapi/webplugin_ime_win.h', + '../plugins/npapi/webplugin_impl.cc', + '../plugins/npapi/webplugin_impl.h', + '../plugins/ppapi/audio_helper.cc', + '../plugins/ppapi/audio_helper.h', + '../plugins/ppapi/common.h', + '../plugins/ppapi/content_decryptor_delegate.cc', + '../plugins/ppapi/content_decryptor_delegate.h', + '../plugins/ppapi/event_conversion.cc', + '../plugins/ppapi/event_conversion.h', + '../plugins/ppapi/file_callbacks.cc', + '../plugins/ppapi/file_callbacks.h', + '../plugins/ppapi/fullscreen_container.h', + '../plugins/ppapi/gfx_conversion.h', + '../plugins/ppapi/host_array_buffer_var.cc', + '../plugins/ppapi/host_array_buffer_var.h', + '../plugins/ppapi/host_globals.cc', + '../plugins/ppapi/host_globals.h', + '../plugins/ppapi/host_var_tracker.cc', + '../plugins/ppapi/host_var_tracker.h', + '../plugins/ppapi/message_channel.cc', + '../plugins/ppapi/message_channel.h', + '../plugins/ppapi/npapi_glue.cc', + '../plugins/ppapi/npapi_glue.h', + '../plugins/ppapi/npobject_var.cc', + '../plugins/ppapi/npobject_var.h', + '../plugins/ppapi/plugin_delegate.h', + '../plugins/ppapi/plugin_module.cc', + '../plugins/ppapi/plugin_module.h', + '../plugins/ppapi/plugin_object.cc', + '../plugins/ppapi/plugin_object.h', + '../plugins/ppapi/ppapi_interface_factory.cc', + '../plugins/ppapi/ppapi_interface_factory.h', + '../plugins/ppapi/ppapi_plugin_instance.cc', + '../plugins/ppapi/ppapi_plugin_instance.h', + '../plugins/ppapi/ppapi_webplugin_impl.cc', + '../plugins/ppapi/ppapi_webplugin_impl.h', + '../plugins/ppapi/ppb_audio_impl.cc', + '../plugins/ppapi/ppb_audio_impl.h', + '../plugins/ppapi/ppb_broker_impl.cc', + '../plugins/ppapi/ppb_broker_impl.h', + '../plugins/ppapi/ppb_buffer_impl.cc', + '../plugins/ppapi/ppb_buffer_impl.h', + '../plugins/ppapi/ppb_file_ref_impl.cc', + '../plugins/ppapi/ppb_file_ref_impl.h', + '../plugins/ppapi/ppb_flash_message_loop_impl.cc', + '../plugins/ppapi/ppb_flash_message_loop_impl.h', + '../plugins/ppapi/ppb_gpu_blacklist_private_impl.cc', + '../plugins/ppapi/ppb_gpu_blacklist_private_impl.h', + '../plugins/ppapi/ppb_graphics_3d_impl.cc', + '../plugins/ppapi/ppb_graphics_3d_impl.h', + '../plugins/ppapi/ppb_image_data_impl.cc', + '../plugins/ppapi/ppb_image_data_impl.h', + '../plugins/ppapi/ppb_network_monitor_private_impl.cc', + '../plugins/ppapi/ppb_network_monitor_private_impl.h', + '../plugins/ppapi/ppb_proxy_impl.cc', + '../plugins/ppapi/ppb_proxy_impl.h', + '../plugins/ppapi/ppb_scrollbar_impl.cc', + '../plugins/ppapi/ppb_scrollbar_impl.h', + '../plugins/ppapi/ppb_tcp_server_socket_private_impl.cc', + '../plugins/ppapi/ppb_tcp_server_socket_private_impl.h', + '../plugins/ppapi/ppb_tcp_socket_private_impl.cc', + '../plugins/ppapi/ppb_tcp_socket_private_impl.h', + '../plugins/ppapi/ppb_uma_private_impl.cc', + '../plugins/ppapi/ppb_uma_private_impl.h', + '../plugins/ppapi/ppb_url_loader_impl.cc', + '../plugins/ppapi/ppb_url_loader_impl.h', + '../plugins/ppapi/ppb_var_deprecated_impl.cc', + '../plugins/ppapi/ppb_var_deprecated_impl.h', + '../plugins/ppapi/ppb_video_decoder_impl.cc', + '../plugins/ppapi/ppb_video_decoder_impl.h', + '../plugins/ppapi/ppb_widget_impl.cc', + '../plugins/ppapi/ppb_widget_impl.h', + '../plugins/ppapi/ppb_x509_certificate_private_impl.cc', + '../plugins/ppapi/ppb_x509_certificate_private_impl.h', + '../plugins/ppapi/quota_file_io.cc', + '../plugins/ppapi/quota_file_io.h', + '../plugins/ppapi/resource_creation_impl.cc', + '../plugins/ppapi/resource_creation_impl.h', + '../plugins/ppapi/resource_helper.cc', + '../plugins/ppapi/resource_helper.h', + '../plugins/ppapi/string.cc', + '../plugins/ppapi/string.h', + '../plugins/ppapi/url_response_info_util.cc', + '../plugins/ppapi/url_response_info_util.h', + '../plugins/ppapi/url_request_info_util.cc', + '../plugins/ppapi/url_request_info_util.h', + '../plugins/ppapi/usb_key_code_conversion.h', + '../plugins/ppapi/usb_key_code_conversion.cc', + '../plugins/ppapi/usb_key_code_conversion_linux.cc', + '../plugins/ppapi/usb_key_code_conversion_mac.cc', + '../plugins/ppapi/usb_key_code_conversion_win.cc', + '../plugins/sad_plugin.cc', + '../plugins/sad_plugin.h', + '../plugins/webkit_plugins_export.h', + ], + 'conditions': [ + ['toolkit_uses_gtk == 1', { + 'dependencies': [ + '<(DEPTH)/build/linux/system.gyp:gtk', + ], + 'sources/': [['exclude', '_x11\\.cc$']], + 'sources!': [ + 'plugins/plugin_stubs.cc', + ], + 'conditions': [ + ['linux_use_tcmalloc == 1', { + 'dependencies': [ + # This is needed by ../extensions/v8/heap_profiler_extension.cc + '<(DEPTH)/base/allocator/allocator.gyp:allocator', + ], + }], + ], + }], + ['use_aura==1', { + 'sources/': [ + ['exclude', '^\\.\\./plugins/npapi/webplugin_delegate_impl_mac.mm'], + ], + }], + ['use_aura==1 and OS=="win"', { + 'sources/': [ + ['exclude', '^\\.\\./plugins/npapi/webplugin_delegate_impl_aura'], + ], + }], + ['OS!="mac"', { + 'sources/': [['exclude', '_mac\\.(cc|mm)$']], + }, { # else: OS=="mac" + 'sources/': [['exclude', 'plugin_(lib|list)_posix\\.cc$']], + 'link_settings': { + 'libraries': [ + '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework', + ], + }, + }], + ['enable_gpu!=1', { + 'sources!': [ + '../plugins/ppapi/ppb_graphics_3d_impl.cc', + '../plugins/ppapi/ppb_graphics_3d_impl.h', + '../plugins/ppapi/ppb_open_gl_es_impl.cc', + ], + }], + ['OS!="win"', { + 'sources/': [['exclude', '_win\\.cc$']], + }, { # else: OS=="win" + # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. + 'msvs_disabled_warnings': [ 4800, 4267 ], + 'sources/': [['exclude', '_posix\\.cc$']], + 'include_dirs': [ + '<(DEPTH)/third_party/wtl/include', + ], + 'sources!': [ + 'plugins/plugin_stubs.cc', + ], + }], + ], + } + ], +} diff --git a/webkit/plugins/webplugininfo.h b/webkit/plugins/webplugininfo.h index 10ada2c..9b80fae 100644 --- a/webkit/plugins/webplugininfo.h +++ b/webkit/plugins/webplugininfo.h @@ -10,11 +10,10 @@ #include "base/basictypes.h" #include "base/files/file_path.h" -#include "webkit/plugins/webkit_plugins_export.h" namespace webkit { -struct WEBKIT_PLUGINS_EXPORT WebPluginMimeType { +struct WebPluginMimeType { WebPluginMimeType(); // A constructor for the common case of a single file extension and an ASCII // description. @@ -38,7 +37,7 @@ struct WEBKIT_PLUGINS_EXPORT WebPluginMimeType { }; // Describes an available NPAPI or Pepper plugin. -struct WEBKIT_PLUGINS_EXPORT WebPluginInfo { +struct WebPluginInfo { enum PluginType { PLUGIN_TYPE_NPAPI, PLUGIN_TYPE_PEPPER_IN_PROCESS, @@ -80,9 +79,9 @@ struct WEBKIT_PLUGINS_EXPORT WebPluginInfo { }; // Checks whether a plugin is a Pepper plugin, enabled or disabled. -WEBKIT_PLUGINS_EXPORT bool IsPepperPlugin(const WebPluginInfo& plugin); +bool IsPepperPlugin(const WebPluginInfo& plugin); -WEBKIT_PLUGINS_EXPORT bool IsOutOfProcessPlugin(const WebPluginInfo& plugin); +bool IsOutOfProcessPlugin(const WebPluginInfo& plugin); } // namespace webkit diff --git a/webkit/support/webkit_support.gyp b/webkit/support/webkit_support.gyp index ad22dce..713c06e 100644 --- a/webkit/support/webkit_support.gyp +++ b/webkit/support/webkit_support.gyp @@ -18,6 +18,7 @@ '../database/webkit_database.gypi', '../glue/webkit_glue.gypi', '../media/webkit_media.gypi', + '../plugins/webkit_plugins.gypi', '../quota/webkit_quota.gypi', '../storage/webkit_storage.gypi', 'webkit_support.gypi', diff --git a/webkit/support/webkit_support.gypi b/webkit/support/webkit_support.gypi index a444656..b08a025 100644 --- a/webkit/support/webkit_support.gypi +++ b/webkit/support/webkit_support.gypi @@ -28,6 +28,9 @@ '<(DEPTH)/webkit/renderer/compositor_bindings/compositor_bindings.gyp:webkit_compositor_bindings', '<(DEPTH)/webkit/renderer/compositor_bindings/compositor_bindings.gyp:webkit_compositor_support', 'glue', + 'glue_common', + 'plugins', + 'plugins_common', 'user_agent', 'webkit_base', 'webkit_media', |