diff options
author | amanda@chromium.org <amanda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-11 06:55:53 +0000 |
---|---|---|
committer | amanda@chromium.org <amanda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-11 06:55:53 +0000 |
commit | 017882554c41b6030a12d50b4044449e3c2409ac (patch) | |
tree | 5cb159fea9feafceb5260e7446cddf380799b182 | |
parent | 3335d879a364867309a93749cc9e4805bd92d114 (diff) | |
download | chromium_src-017882554c41b6030a12d50b4044449e3c2409ac.zip chromium_src-017882554c41b6030a12d50b4044449e3c2409ac.tar.gz chromium_src-017882554c41b6030a12d50b4044449e3c2409ac.tar.bz2 |
Checkpoint of plugin support code for Mac. Does not work yet; being checked
in to help stay in sync with linux plugin mods and ensure that it doesn't
break Windows plugins.
Review URL: http://codereview.chromium.org/21095
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9558 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | webkit/glue/plugins/plugin_host.cc | 43 | ||||
-rw-r--r-- | webkit/glue/plugins/webplugin_delegate_impl.h | 39 | ||||
-rw-r--r-- | webkit/glue/webplugin_delegate.h | 19 | ||||
-rw-r--r-- | webkit/glue/webplugin_impl.cc | 16 | ||||
-rw-r--r-- | webkit/tools/test_shell/mac/TestShell.xcodeproj/project.pbxproj | 2 | ||||
-rw-r--r-- | webkit/tools/test_shell/mac/test_webview_delegate.mm | 22 | ||||
-rw-r--r-- | webkit/tools/test_shell/test_webview_delegate.cc | 2 | ||||
-rw-r--r-- | webkit/webkit.xcodeproj/project.pbxproj | 10 |
8 files changed, 97 insertions, 56 deletions
diff --git a/webkit/glue/plugins/plugin_host.cc b/webkit/glue/plugins/plugin_host.cc index 8afa505..087abf8 100644 --- a/webkit/glue/plugins/plugin_host.cc +++ b/webkit/glue/plugins/plugin_host.cc @@ -589,7 +589,15 @@ const char* NPN_UserAgent(NPP id) { return webkit_glue::GetUserAgent(GURL()).c_str(); } +#if defined(OS_WIN) + static const char *UA = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20061103 Firefox/2.0a1"; +#elif defined(OS_MACOSX) + // TODO(port): this is probably wrong... + static const char *UA = "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; en-us) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1"; +#else + // TODO(port): set appropriately for other platforms static const char *UA = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20061103 Firefox/2.0a1"; +#endif return UA; } @@ -601,7 +609,6 @@ void NPN_Status(NPP id, const char* message) { } void NPN_InvalidateRect(NPP id, NPRect *invalidRect) { -#if defined(OS_WIN) // Invalidates specified drawing area prior to repainting or refreshing a // windowless plugin @@ -619,12 +626,18 @@ void NPN_InvalidateRect(NPP id, NPRect *invalidRect) { if (plugin.get() && plugin->webplugin()) { if (invalidRect) { if (!plugin->windowless()) { +#if defined(OS_WIN) RECT rect = {0}; rect.left = invalidRect->left; rect.right = invalidRect->right; rect.top = invalidRect->top; rect.bottom = invalidRect->bottom; ::InvalidateRect(plugin->window_handle(), &rect, FALSE); +#elif defined(OS_MACOSX) + NOTIMPLEMENTED(); +#else + NOTIMPLEMENTED(); +#endif return; } @@ -637,9 +650,6 @@ void NPN_InvalidateRect(NPP id, NPRect *invalidRect) { plugin->webplugin()->Invalidate(); } } -#else - NOTIMPLEMENTED(); -#endif } void NPN_InvalidateRegion(NPP id, NPRegion invalidRegion) { @@ -792,6 +802,24 @@ NPError NPN_GetValue(NPP id, NPNVariable variable, void *value) { } break; } +#if defined(OS_MACOSX) + case NPNVsupportsQuickDrawBool: + { + // we do not support the QuickDraw drawing model + NPBool* supports_qd = reinterpret_cast<NPBool*>(value); + *supports_qd = FALSE; + rv = NPERR_NO_ERROR; + break; + } + case NPNVsupportsCoreGraphicsBool: + { + // we do support (and in fact require) the CoreGraphics drawing model + NPBool* supports_cg = reinterpret_cast<NPBool*>(value); + *supports_cg = TRUE; + rv = NPERR_NO_ERROR; + break; + } +#endif default: { // TODO: implement me @@ -842,6 +870,13 @@ NPError NPN_SetValue(NPP id, NPPVariable variable, void *value) { // TODO: implement me DLOG(INFO) << "NPN_SetValue(NPPVpluginKeepLibraryInMemory) is not implemented."; return NPERR_GENERIC_ERROR; +#if defined(OS_MACOSX) + case NPNVpluginDrawingModel: + // we only support the CoreGraphics drawing model + if (reinterpret_cast<int>(value) == NPDrawingModelCoreGraphics) + return NPERR_NO_ERROR; + return NPERR_GENERIC_ERROR; +#endif default: // TODO: implement me DLOG(INFO) << "NPN_SetValue(" << variable << ") is not implemented."; diff --git a/webkit/glue/plugins/webplugin_delegate_impl.h b/webkit/glue/plugins/webplugin_delegate_impl.h index 929f30d..48672bd9 100644 --- a/webkit/glue/plugins/webplugin_delegate_impl.h +++ b/webkit/glue/plugins/webplugin_delegate_impl.h @@ -29,14 +29,13 @@ class WebPluginDelegateImpl : public WebPluginDelegate { static WebPluginDelegateImpl* Create(const FilePath& filename, const std::string& mime_type, gfx::NativeView containing_view); -#if defined(OS_WIN) - static bool IsPluginDelegateWindow(HWND window); - static bool GetPluginNameFromWindow(HWND window, std::wstring *plugin_name); + static bool IsPluginDelegateWindow(gfx::NativeWindow window); + static bool GetPluginNameFromWindow(gfx::NativeWindow window, + std::wstring *plugin_name); // Returns true if the window handle passed in is that of the dummy // activation window for windowless plugins. - static bool IsDummyActivationWindow(HWND window); -#endif // OS_WIN) + static bool IsDummyActivationWindow(gfx::NativeWindow window); // WebPluginDelegate implementation virtual void PluginDestroyed(); @@ -48,14 +47,9 @@ class WebPluginDelegateImpl : public WebPluginDelegate { bool load_manually); virtual void UpdateGeometry(const gfx::Rect& window_rect, const gfx::Rect& clip_rect); -#if defined(OS_WIN) - virtual void Paint(HDC hdc, const gfx::Rect& rect); - virtual void Print(HDC hdc); -#else - // TODO(port): temporary workaround. - virtual void Paint(void* dc, const gfx::Rect& rect); - virtual void Print(void* dc); -#endif + virtual void Paint(gfx::NativeDrawingContext context, const gfx::Rect& rect); + virtual void Print(gfx::NativeDrawingContext context); + virtual void SetFocus(); // only called when windowless // only called when windowless virtual bool HandleEvent(NPEvent* event, @@ -157,12 +151,7 @@ class WebPluginDelegateImpl : public WebPluginDelegate { // used for windowless plugins void WindowlessUpdateGeometry(const gfx::Rect& window_rect, const gfx::Rect& clip_rect); -#if defined(OS_WIN) - void WindowlessPaint(HDC hdc, const gfx::Rect& rect); -#else - // TODO(port): implement. - void WindowlessPaint(void* dc, const gfx::Rect& rect); -#endif + void WindowlessPaint(gfx::NativeDrawingContext hdc, const gfx::Rect& rect); // Tells the plugin about the current state of the window. // See NPAPI NPP_SetWindow for more information. @@ -184,13 +173,11 @@ class WebPluginDelegateImpl : public WebPluginDelegate { gfx::Rect windowed_last_pos_; #endif -#if defined(OS_WIN) // this is an optimization to avoid calling SetWindow to the plugin // when it is not necessary. Initially, we need to call SetWindow, // and after that we only need to call it when the geometry changes. // use this flag to indicate whether we really need it or not. bool windowless_needs_set_window_; -#endif // used by windowed and windowless plugins bool windowless_; @@ -209,6 +196,9 @@ class WebPluginDelegateImpl : public WebPluginDelegate { gfx::NativeView parent_; NPWindow window_; +#if defined(OS_MACOSX) + NP_CGContext cg_context_; +#endif gfx::Rect window_rect_; gfx::Rect clip_rect_; std::vector<gfx::Rect> cutout_rects_; @@ -225,6 +215,7 @@ class WebPluginDelegateImpl : public WebPluginDelegate { // To fix a majority of these activation issues we create a dummy visible // child window to which we set focus whenever the windowless plugin // receives a WM_LBUTTONDOWN/WM_RBUTTONDOWN message via NPP_HandleEvent. + HWND dummy_window_for_activation_; bool CreateDummyWindowForActivation(); @@ -252,10 +243,13 @@ class WebPluginDelegateImpl : public WebPluginDelegate { #if defined(OS_WIN) // Handle to the message filter hook HHOOK handle_event_message_filter_hook_; +#endif // Event which is set when the plugin enters a modal loop in the course // of a NPP_HandleEvent call. +#if defined(OS_WIN) HANDLE handle_event_pump_messages_event_; +#endif // Holds the depth of the HandleEvent callstack. int handle_event_depth_; @@ -267,6 +261,7 @@ class WebPluginDelegateImpl : public WebPluginDelegate { // asynchronously. ScopedRunnableMethodFactory<WebPluginDelegateImpl> user_gesture_msg_factory_; +#if defined(OS_WIN) // The plugin module handle. HMODULE plugin_module_handle_; @@ -278,10 +273,10 @@ class WebPluginDelegateImpl : public WebPluginDelegate { // SetCursor interceptor for windowless plugins. static HCURSOR WINAPI SetCursorPatch(HCURSOR cursor); +#endif // Holds the current cursor set by the windowless plugin. WebCursor current_windowless_cursor_; -#endif DISALLOW_EVIL_CONSTRUCTORS(WebPluginDelegateImpl); }; diff --git a/webkit/glue/webplugin_delegate.h b/webkit/glue/webplugin_delegate.h index 4581a829..122503f0 100644 --- a/webkit/glue/webplugin_delegate.h +++ b/webkit/glue/webplugin_delegate.h @@ -55,24 +55,13 @@ class WebPluginDelegate { virtual void UpdateGeometry(const gfx::Rect& window_rect, const gfx::Rect& clip_rect) = 0; -#if defined(OS_WIN) - // Tells the plugin to paint the damaged rect. The HDC is only used for + // Tells the plugin to paint the damaged rect. |context| is only used for // windowless plugins. - virtual void Paint(HDC hdc, const gfx::Rect& rect) = 0; + virtual void Paint(gfx::NativeDrawingContext context, + const gfx::Rect& rect) = 0; // Tells the plugin to print itself. - virtual void Print(HDC hdc) = 0; -#else - // TODO(port): these are not intended to be implementable for now, - // and will have the prototypes fixed once they are implemented. - - // Tells the plugin to paint the damaged rect. The HDC is only used for - // windowless plugins. - virtual void Paint(void* dc, const gfx::Rect& rect) = 0; - - // Tells the plugin to print itself. - virtual void Print(void* dc) = 0; -#endif + virtual void Print(gfx::NativeDrawingContext hdc) = 0; // Informs the plugin that it now has focus. virtual void SetFocus() = 0; diff --git a/webkit/glue/webplugin_impl.cc b/webkit/glue/webplugin_impl.cc index 8c7b199..fef6f75e 100644 --- a/webkit/glue/webplugin_impl.cc +++ b/webkit/glue/webplugin_impl.cc @@ -56,7 +56,7 @@ MSVC_POP_WARNING(); #include "webkit/glue/webkit_glue.h" #include "webkit/glue/webplugin_impl.h" #include "webkit/glue/plugins/plugin_host.h" -#if defined(OS_WIN) +#if !defined(OS_LINUX) #include "webkit/glue/plugins/plugin_instance.h" #endif #include "webkit/glue/stacking_order_iterator.h" @@ -702,18 +702,21 @@ void WebPluginImpl::paint(WebCore::GraphicsContext* gc, static_cast<float>(origin.y())); #if defined(OS_WIN) - // Note that HDC is only used when in windowless mode. - HDC dc = gc->platformContext()->canvas()->beginPlatformPaint(); + // Note that |context| is only used when in windowless mode. + gfx::NativeDrawingContext context = + gc->platformContext()->canvas()->beginPlatformPaint(); +#elif defined (OS_MACOSX) + gfx::NativeDrawingContext context = gc->platformContext(); #else // TODO(port): the equivalent of the above. - void* dc = NULL; // Temporary, to reduce ifdefs. + void* context = NULL; // Temporary, to reduce ifdefs. #endif WebCore::IntRect window_rect = WebCore::IntRect(view->contentsToWindow(damage_rect.location()), damage_rect.size()); - delegate_->Paint(dc, webkit_glue::FromIntRect(window_rect)); + delegate_->Paint(context, webkit_glue::FromIntRect(window_rect)); #if defined(OS_WIN) gc->platformContext()->canvas()->endPlatformPaint(); @@ -730,7 +733,8 @@ void WebPluginImpl::print(WebCore::GraphicsContext* gc) { gc->save(); #if defined(OS_WIN) - HDC hdc = gc->platformContext()->canvas()->beginPlatformPaint(); + gfx::NativeDrawingContext hdc = + gc->platformContext()->canvas()->beginPlatformPaint(); delegate_->Print(hdc); gc->platformContext()->canvas()->endPlatformPaint(); #else diff --git a/webkit/tools/test_shell/mac/TestShell.xcodeproj/project.pbxproj b/webkit/tools/test_shell/mac/TestShell.xcodeproj/project.pbxproj index 048559f..40d450c 100644 --- a/webkit/tools/test_shell/mac/TestShell.xcodeproj/project.pbxproj +++ b/webkit/tools/test_shell/mac/TestShell.xcodeproj/project.pbxproj @@ -2199,7 +2199,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = 7B8200960E76FDA1008F45CF /* debug.xcconfig */; buildSettings = { - FEATURE_DEFINES = "ENABLE_DATABASE=1 ENABLE_DASHBOARD_SUPPORT=0 ENABLE_JAVASCRIPT_DEBUGGER=0 ENABLE_JSC_MULTIPLE_THREADS=0 ENABLE_ICONDATABASE=0 ENABLE_XSLT=1 ENABLE_XPATH=1 ENABLE_SVG=1 ENABLE_SVG_ANIMATION=1 ENABLE_SVG_AS_IMAGE=1 ENABLE_SVG_USE=1 ENABLE_SVG_FOREIGN_OBJECT=1 ENABLE_SVG_FONTS=1 ENABLE_VIDEO=0 WEBCORE_NAVIGATOR_PLATFORM_=\"FixMeAndRemoveTrailingUnderscore\" USE_GOOGLE_URL_LIBRARY USE_SYSTEM_MALLOC=1"; + FEATURE_DEFINES = "ENABLE_DATABASE=1 ENABLE_DASHBOARD_SUPPORT=0 ENABLE_JAVASCRIPT_DEBUGGER=0 ENABLE_JSC_MULTIPLE_THREADS=0 ENABLE_ICONDATABASE=0 ENABLE_XSLT=1 ENABLE_XPATH=1 ENABLE_SVG=1 ENABLE_SVG_ANIMATION=1 ENABLE_SVG_AS_IMAGE=1 ENABLE_SVG_USE=1 ENABLE_SVG_FOREIGN_OBJECT=1 ENABLE_SVG_FONTS=1 ENABLE_VIDEO=0 WEBCORE_NAVIGATOR_PLATFORM_=\"FixMeAndRemoveTrailingUnderscore\" USE_GOOGLE_URL_LIBRARY USE_SYSTEM_MALLOC=1 XP_MACOSX=1"; GCC_PREPROCESSOR_DEFINITIONS = ( "$(GCC_PREPROCESSOR_DEFINITIONS)", "$(FEATURE_DEFINES)", diff --git a/webkit/tools/test_shell/mac/test_webview_delegate.mm b/webkit/tools/test_shell/mac/test_webview_delegate.mm index 6a269ef123..a355ef3 100644 --- a/webkit/tools/test_shell/mac/test_webview_delegate.mm +++ b/webkit/tools/test_shell/mac/test_webview_delegate.mm @@ -8,6 +8,8 @@ #include "base/string_util.h" #include "webkit/glue/webcursor.h" #include "webkit/glue/webview.h" +#include "webkit/glue/plugins/plugin_list.h" +#include "webkit/glue/plugins/webplugin_delegate_impl.h" #include "webkit/tools/test_shell/test_shell.h" @@ -22,10 +24,22 @@ WebPluginDelegate* TestWebViewDelegate::CreatePluginDelegate( const std::string& mime_type, const std::string& clsid, std::string* actual_mime_type) { - // TODO(awalker): once Mac plugins are working, enable this code to - // connect up the web plugin delegate for a plugin. - NOTIMPLEMENTED(); - return NULL; + WebWidgetHost *host = GetHostForWidget(webview); + if (!host) + return NULL; + gfx::NativeView view = host->view_handle(); + + bool allow_wildcard = true; + WebPluginInfo info; + if (!NPAPI::PluginList::Singleton()->GetPluginInfo(url, mime_type, clsid, + allow_wildcard, &info, + actual_mime_type)) + return NULL; + + if (actual_mime_type && !actual_mime_type->empty()) + return WebPluginDelegateImpl::Create(info.path, *actual_mime_type, view); + else + return WebPluginDelegateImpl::Create(info.path, mime_type, view); } void TestWebViewDelegate::ShowJavaScriptAlert(const std::wstring& message) { diff --git a/webkit/tools/test_shell/test_webview_delegate.cc b/webkit/tools/test_shell/test_webview_delegate.cc index 5f52911..d7bd9d7 100644 --- a/webkit/tools/test_shell/test_webview_delegate.cc +++ b/webkit/tools/test_shell/test_webview_delegate.cc @@ -24,6 +24,7 @@ #include "webkit/glue/webkit_glue.h" #include "webkit/glue/webview.h" #include "webkit/glue/plugins/plugin_list.h" +#include "webkit/glue/plugins/webplugin_delegate_impl.h" #include "webkit/glue/window_open_disposition.h" #include "webkit/tools/test_shell/test_navigation_controller.h" #include "webkit/tools/test_shell/test_shell.h" @@ -31,7 +32,6 @@ #if defined(OS_WIN) // TODO(port): make these files work everywhere. #include "base/gfx/gdi_util.h" -#include "webkit/glue/plugins/webplugin_delegate_impl.h" #include "webkit/tools/test_shell/drag_delegate.h" #include "webkit/tools/test_shell/drop_delegate.h" #endif diff --git a/webkit/webkit.xcodeproj/project.pbxproj b/webkit/webkit.xcodeproj/project.pbxproj index a9f857e..f4c967d 100644 --- a/webkit/webkit.xcodeproj/project.pbxproj +++ b/webkit/webkit.xcodeproj/project.pbxproj @@ -1299,6 +1299,7 @@ AA3147AA7951CBFF1512D731 /* RenderBoxModelObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B85EBAF470DCB5F664CB69B1 /* RenderBoxModelObject.cpp */; }; AB9552760F37AA2E0015C8FB /* webplugin_impl.cc in Sources */ = {isa = PBXBuildFile; fileRef = AB9552750F37AA2E0015C8FB /* webplugin_impl.cc */; }; AB9552AE0F37AC0B0015C8FB /* stacking_order_iterator.cc in Sources */ = {isa = PBXBuildFile; fileRef = AB9552AD0F37AC0B0015C8FB /* stacking_order_iterator.cc */; }; + ABF923090F3A388C009B64EC /* webplugin_delegate_impl_mac.cc in Sources */ = {isa = PBXBuildFile; fileRef = 825405ED0D92E3FF0006B936 /* webplugin_delegate_impl_mac.cc */; }; B52EC24C0F2FE04A0051A2C4 /* FormControlElementWithState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B52EC24B0F2FE04A0051A2C4 /* FormControlElementWithState.cpp */; }; B52EC2550F2FE07B0051A2C4 /* CachedFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B52EC2530F2FE07B0051A2C4 /* CachedFrame.cpp */; }; B58DCCE90F27DF0100BF697A /* InputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B58DCCE80F27DF0100BF697A /* InputElement.cpp */; }; @@ -4045,7 +4046,7 @@ 825405EA0D92E3FF0006B936 /* plugin_stream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = plugin_stream.h; sourceTree = "<group>"; }; 825405EB0D92E3FF0006B936 /* plugin_string_stream.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = plugin_string_stream.cc; sourceTree = "<group>"; }; 825405EC0D92E3FF0006B936 /* plugin_string_stream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = plugin_string_stream.h; sourceTree = "<group>"; }; - 825405ED0D92E3FF0006B936 /* webplugin_delegate_impl.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = webplugin_delegate_impl.cc; sourceTree = "<group>"; }; + 825405ED0D92E3FF0006B936 /* webplugin_delegate_impl_mac.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = webplugin_delegate_impl_mac.cc; sourceTree = "<group>"; }; 825405EE0D92E3FF0006B936 /* webplugin_delegate_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = webplugin_delegate_impl.h; sourceTree = "<group>"; }; 8255CEDF0F16972C00E53C11 /* plugin_stream_posix.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = plugin_stream_posix.cc; sourceTree = "<group>"; }; 82761F810E3FAC700030D324 /* AccessibilityObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibilityObject.cpp; sourceTree = "<group>"; }; @@ -4302,6 +4303,7 @@ ABBD24D80EB7C29F00BEC658 /* FontMacCoreText.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FontMacCoreText.cpp; sourceTree = "<group>"; }; ABBD24EC0EB7C3C800BEC658 /* AccessibilityList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibilityList.cpp; sourceTree = "<group>"; }; ABBD24ED0EB7C3C800BEC658 /* AccessibilityList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityList.h; sourceTree = "<group>"; }; + ABF923210F3A527D009B64EC /* plugin_impl_mac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = plugin_impl_mac.h; path = default_plugin/plugin_impl_mac.h; sourceTree = "<group>"; }; B4A7678BDF04FB2B50664148 /* WorkerThreadableLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WorkerThreadableLoader.cpp; sourceTree = "<group>"; }; B4B7717F57DD81751BCEF85E /* V8WebKitCSSMatrix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = V8WebKitCSSMatrix.h; sourceTree = "<group>"; }; B507F54D0E9BECC300D16D77 /* HTMLPlugInImageElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTMLPlugInImageElement.cpp; sourceTree = "<group>"; }; @@ -4707,6 +4709,7 @@ 7B5E77540D7F22D8001ECF42 = { isa = PBXGroup; children = ( + ABF923210F3A527D009B64EC /* plugin_impl_mac.h */, 7BF8842B0E71C100000BAF8A /* Configuration */, 7BF889C10E71CEA6000BAF8A /* generated */, 825404E50D92E3BB0006B936 /* glue */, @@ -7708,7 +7711,7 @@ 825405E80D92E3FF0006B936 /* plugin_stream_url.h */, 825405EB0D92E3FF0006B936 /* plugin_string_stream.cc */, 825405EC0D92E3FF0006B936 /* plugin_string_stream.h */, - 825405ED0D92E3FF0006B936 /* webplugin_delegate_impl.cc */, + 825405ED0D92E3FF0006B936 /* webplugin_delegate_impl_mac.cc */, 825405EE0D92E3FF0006B936 /* webplugin_delegate_impl.h */, ); path = plugins; @@ -9563,6 +9566,7 @@ E45627020E268F03005E4685 /* weburlrequest_impl.cc in Sources */, E45626F40E268F03005E4685 /* webview_impl.cc in Sources */, E45626F30E268F03005E4685 /* webwidget_impl.cc in Sources */, + ABF923090F3A388C009B64EC /* webplugin_delegate_impl_mac.cc in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -9747,7 +9751,7 @@ DIR_V8 = "$(XCODEPROJ_DEPTH)/v8"; DIR_WEBCORE = "$(DIR_WEBKIT)/WebCore"; DIR_WEBKIT = "$(DIR_THIRD_PARTY)/WebKit"; - FEATURE_DEFINES = "ENABLE_DATABASE=1 ENABLE_DASHBOARD_SUPPORT=0 ENABLE_JAVASCRIPT_DEBUGGER=0 ENABLE_JSC_MULTIPLE_THREADS=0 ENABLE_ICONDATABASE=0 ENABLE_XSLT=1 ENABLE_XPATH=1 ENABLE_SVG=1 ENABLE_SVG_ANIMATION=1 ENABLE_SVG_AS_IMAGE=1 ENABLE_SVG_USE=1 ENABLE_SVG_FOREIGN_OBJECT=1 ENABLE_SVG_FONTS=1 ENABLE_VIDEO=0 WEBCORE_NAVIGATOR_PLATFORM_=\"FixMeAndRemoveTrailingUnderscore\" USE_GOOGLE_URL_LIBRARY USE_SYSTEM_MALLOC=1"; + FEATURE_DEFINES = "ENABLE_DATABASE=1 ENABLE_DASHBOARD_SUPPORT=0 ENABLE_JAVASCRIPT_DEBUGGER=0 ENABLE_JSC_MULTIPLE_THREADS=0 ENABLE_ICONDATABASE=0 ENABLE_XSLT=1 ENABLE_XPATH=1 ENABLE_SVG=1 ENABLE_SVG_ANIMATION=1 ENABLE_SVG_AS_IMAGE=1 ENABLE_SVG_USE=1 ENABLE_SVG_FOREIGN_OBJECT=1 ENABLE_SVG_FONTS=1 ENABLE_VIDEO=0 WEBCORE_NAVIGATOR_PLATFORM_=\"FixMeAndRemoveTrailingUnderscore\" USE_GOOGLE_URL_LIBRARY USE_SYSTEM_MALLOC=1 XP_MACOSX=1"; FRAMEWORK_SEARCH_PATHS = ( "$(FRAMEWORK_SEARCH_PATHS)", "$(SYSTEM_LIBRARY_DIR)/Frameworks/ApplicationServices.framework/Frameworks", |