diff options
author | stuartmorgan@chromium.org <stuartmorgan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-16 16:11:00 +0000 |
---|---|---|
committer | stuartmorgan@chromium.org <stuartmorgan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-16 16:11:00 +0000 |
commit | 23563dc1e18506fb1b9f53dd1762c2c69ab8a0df (patch) | |
tree | 1a70041b62c8aca241cb6809bb9d5f0232aaac26 | |
parent | 7a6c57265ffece7140905e582f3a0a8082263388 (diff) | |
download | chromium_src-23563dc1e18506fb1b9f53dd1762c2c69ab8a0df.zip chromium_src-23563dc1e18506fb1b9f53dd1762c2c69ab8a0df.tar.gz chromium_src-23563dc1e18506fb1b9f53dd1762c2c69ab8a0df.tar.bz2 |
Fix some issues with compiling Mac plugin code with deprecation defines set
Makes the code compile under NP_NO_QUICKDRAW and NP_NO_CARBON (modulo some gyp stuff that 64-bit builds will need to prevent compiling the shim library), and makes the tweaking of DYLD_INSERT_LIBRARIES 32-bit only.
Also removes a QuickDraw variable left over from an earlier version of the QuickDraw support.
BUG=none
TEST=none; supports future 64-bit compilation
Review URL: http://codereview.chromium.org/597053
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39096 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/plugin_process_host.cc | 2 | ||||
-rw-r--r-- | chrome/plugin/plugin_main.cc | 2 | ||||
-rw-r--r-- | chrome/plugin/plugin_main_mac.mm | 2 | ||||
-rw-r--r-- | third_party/npapi/bindings/npapi.h | 2 | ||||
-rw-r--r-- | webkit/glue/plugins/plugin_host.cc | 6 | ||||
-rw-r--r-- | webkit/glue/plugins/plugin_instance.cc | 12 | ||||
-rw-r--r-- | webkit/glue/plugins/webplugin_delegate_impl.h | 1 | ||||
-rw-r--r-- | webkit/glue/plugins/webplugin_delegate_impl_mac.mm | 13 |
8 files changed, 31 insertions, 9 deletions
diff --git a/chrome/browser/plugin_process_host.cc b/chrome/browser/plugin_process_host.cc index 5e1afe9..203e843 100644 --- a/chrome/browser/plugin_process_host.cc +++ b/chrome/browser/plugin_process_host.cc @@ -424,7 +424,7 @@ bool PluginProcessHost::Init(const WebPluginInfo& info, #if defined(OS_POSIX) base::environment_vector env; -#if defined(OS_MACOSX) +#if defined(OS_MACOSX) && !defined(__LP64__) // Add our interposing library for Carbon. This is stripped back out in // plugin_main.cc, so changes here should be reflected there. std::string interpose_list(plugin_interpose_strings::kInterposeLibraryPath); diff --git a/chrome/plugin/plugin_main.cc b/chrome/plugin/plugin_main.cc index 1e77325..06c05b1 100644 --- a/chrome/plugin/plugin_main.cc +++ b/chrome/plugin/plugin_main.cc @@ -53,7 +53,9 @@ int PluginMain(const MainFunctionParams& parameters) { // The main thread of the plugin services UI. #if defined(OS_MACOSX) +#if !defined(__LP64__) TrimInterposeEnvironment(); +#endif InitializeChromeApplication(); #endif MessageLoop main_message_loop(MessageLoop::TYPE_UI); diff --git a/chrome/plugin/plugin_main_mac.mm b/chrome/plugin/plugin_main_mac.mm index 1f729a4..56b7c95 100644 --- a/chrome/plugin/plugin_main_mac.mm +++ b/chrome/plugin/plugin_main_mac.mm @@ -7,6 +7,7 @@ #include "chrome/common/plugin_carbon_interpose_constants_mac.h" #include "chrome/plugin/plugin_interpose_util_mac.h" +#if !defined(__LP64__) void TrimInterposeEnvironment() { const char* interpose_list = getenv(plugin_interpose_strings::kDYLDInsertLibrariesKey); @@ -37,6 +38,7 @@ void TrimInterposeEnvironment() { NOTREACHED() << "Missing Carbon interposing library"; } } +#endif void InitializeChromeApplication() { [CrApplication sharedApplication]; diff --git a/third_party/npapi/bindings/npapi.h b/third_party/npapi/bindings/npapi.h index 4f08e45..0b335e6 100644 --- a/third_party/npapi/bindings/npapi.h +++ b/third_party/npapi/bindings/npapi.h @@ -722,6 +722,7 @@ typedef struct NP_Port * Non-standard event types that can be passed to HandleEvent */ /* BEGIN GOOGLE MODIFICATIONS */ +#ifndef NP_NO_CARBON enum NPEventType { NPEventType_GetFocusEvent = (osEvt + 16), NPEventType_LoseFocusEvent, @@ -737,6 +738,7 @@ enum NPEventType { #define loseFocusEvent (osEvt + 17) #define adjustCursorEvent (osEvt + 18) #endif +#endif /* NP_NO_CARBON */ /* END GOOGLE MODIFICATIONS */ #endif /* XP_MACOSX */ diff --git a/webkit/glue/plugins/plugin_host.cc b/webkit/glue/plugins/plugin_host.cc index c8c652d..0db965c 100644 --- a/webkit/glue/plugins/plugin_host.cc +++ b/webkit/glue/plugins/plugin_host.cc @@ -755,6 +755,7 @@ NPError NPN_GetValue(NPP id, NPNVariable variable, void* value) { rv = NPERR_NO_ERROR; break; } +#ifndef NP_NO_QUICKDRAW case NPNVsupportsQuickDrawBool: { // we do not admit to supporting the QuickDraw drawing model. NPBool* supports_qd = reinterpret_cast<NPBool*>(value); @@ -762,8 +763,11 @@ NPError NPN_GetValue(NPP id, NPNVariable variable, void* value) { rv = NPERR_NO_ERROR; break; } +#endif case NPNVsupportsCoreGraphicsBool: +#ifndef NP_NO_CARBON case NPNVsupportsCarbonBool: +#endif case NPNVsupportsCocoaBool: { // we do support these drawing and event models. NPBool* supports_model = reinterpret_cast<NPBool*>(value); @@ -849,7 +853,9 @@ NPError NPN_SetValue(NPP id, NPPVariable variable, void* value) { // we support Carbon and Cocoa event models int model = reinterpret_cast<int>(value); switch (model) { +#ifndef NP_NO_CARBON case NPEventModelCarbon: +#endif case NPEventModelCocoa: plugin->set_event_model(model); return NPERR_NO_ERROR; diff --git a/webkit/glue/plugins/plugin_instance.cc b/webkit/glue/plugins/plugin_instance.cc index 00ac91da..e179c06b 100644 --- a/webkit/glue/plugins/plugin_instance.cc +++ b/webkit/glue/plugins/plugin_instance.cc @@ -36,8 +36,16 @@ PluginInstance::PluginInstance(PluginLib *plugin, const std::string &mime_type) mime_type_(mime_type), use_mozilla_user_agent_(false), #if defined (OS_MACOSX) - drawing_model_(0), - event_model_(0), +#ifdef NP_NO_QUICKDRAW + drawing_model_(NPDrawingModelCoreGraphics), +#else + drawing_model_(NPDrawingModelQuickDraw), +#endif +#ifdef NP_NO_CARBON + event_model_(NPEventModelCocoa), +#else + event_model_(NPEventModelCarbon), +#endif currently_handled_event_(NULL), #endif message_loop_(MessageLoop::current()), diff --git a/webkit/glue/plugins/webplugin_delegate_impl.h b/webkit/glue/plugins/webplugin_delegate_impl.h index a11baa6..25f9fde 100644 --- a/webkit/glue/plugins/webplugin_delegate_impl.h +++ b/webkit/glue/plugins/webplugin_delegate_impl.h @@ -297,7 +297,6 @@ class WebPluginDelegateImpl : public webkit_glue::WebPluginDelegate { #endif #ifndef NP_NO_QUICKDRAW NP_Port qd_port_; - GWorldPtr qd_world_; #endif #endif gfx::Rect window_rect_; diff --git a/webkit/glue/plugins/webplugin_delegate_impl_mac.mm b/webkit/glue/plugins/webplugin_delegate_impl_mac.mm index 58e3b3d..42e38ae 100644 --- a/webkit/glue/plugins/webplugin_delegate_impl_mac.mm +++ b/webkit/glue/plugins/webplugin_delegate_impl_mac.mm @@ -232,8 +232,10 @@ void WebPluginDelegateImpl::PlatformInitialize() { Rect window_bounds = { 0, 0, window_rect_.height(), window_rect_.width() }; SetWindowBounds(reinterpret_cast<WindowRef>(cg_context_.window), kWindowContentRgn, &window_bounds); +#ifndef NP_NO_QUICKDRAW qd_port_.port = GetWindowPort(reinterpret_cast<WindowRef>(cg_context_.window)); +#endif } #endif @@ -271,8 +273,10 @@ void WebPluginDelegateImpl::PlatformInitialize() { } void WebPluginDelegateImpl::PlatformDestroyInstance() { +#ifndef NP_NO_CARBON if (instance()->event_model() == NPEventModelCarbon) CarbonIdleEventSource::SharedInstance()->UnregisterDelegate(this); +#endif } void WebPluginDelegateImpl::UpdateContext(CGContextRef context) { @@ -417,7 +421,7 @@ void WebPluginDelegateImpl::WindowlessPaint(gfx::NativeDrawingContext context, paint_event.data.draw.y = paint_rect.y(); paint_event.data.draw.width = paint_rect.width(); paint_event.data.draw.height = paint_rect.height(); - instance()->NPP_HandleEvent(reinterpret_cast<NPEvent*>(&paint_event)); + instance()->NPP_HandleEvent(&paint_event); break; } } @@ -491,7 +495,7 @@ void WebPluginDelegateImpl::FocusChanged(bool has_focus) { memset(&focus_event, 0, sizeof(focus_event)); focus_event.type = NPCocoaEventFocusChanged; focus_event.data.focus.hasFocus = have_focus_; - instance()->NPP_HandleEvent(reinterpret_cast<NPEvent*>(&focus_event)); + instance()->NPP_HandleEvent(&focus_event); break; } } @@ -535,7 +539,7 @@ void WebPluginDelegateImpl::SetWindowHasFocus(bool has_focus) { memset(&focus_event, 0, sizeof(focus_event)); focus_event.type = NPCocoaEventWindowFocusChanged; focus_event.data.focus.hasFocus = has_focus; - instance()->NPP_HandleEvent(reinterpret_cast<NPEvent*>(&focus_event)); + instance()->NPP_HandleEvent(&focus_event); } } } @@ -1002,8 +1006,7 @@ bool WebPluginDelegateImpl::PlatformHandleInputEvent( return false; } NPAPI::ScopedCurrentPluginEvent event_scope(instance(), &np_cocoa_event); - ret = instance()->NPP_HandleEvent( - reinterpret_cast<NPEvent*>(&np_cocoa_event)) != 0; + ret = instance()->NPP_HandleEvent(&np_cocoa_event) != 0; break; } } |