Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(673)

Unified Diff: webkit/glue/plugins/plugin_host.cc

Issue 19413: Linux plugins WIP. (Closed)
Patch Set: review comments Created 11 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webkit/glue/SConscript ('k') | webkit/glue/plugins/webplugin_delegate_impl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/glue/plugins/plugin_host.cc
diff --git a/webkit/glue/plugins/plugin_host.cc b/webkit/glue/plugins/plugin_host.cc
index c12ee5ce9f9c22c1b6c13af4b1400193a4817a25..8afa5059a4dcbbd47cced09d255819f83dee96c6 100644
--- a/webkit/glue/plugins/plugin_host.cc
+++ b/webkit/glue/plugins/plugin_host.cc
@@ -2,6 +2,17 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+// HACK: we need this #define in place before npapi.h is included for
+// plugins to work. However, all sorts of headers include npapi.h, so
+// the only way to be certain the define is in place is to put it
+// here. You might ask, "Why not set it in npapi.h directly, or in
+// this directory's SConscript, then?" but it turns out this define
+// makes npapi.h include Xlib.h, which in turn defines a ton of symbols
+// like None and Status, causing conflicts with the aforementioned
+// many headers that include npapi.h. Ugh.
+// See also webplugin_delegate_impl.cc.
+#define MOZ_X11 1
+
#include "config.h"
#include "webkit/glue/plugins/plugin_host.h"
@@ -743,6 +754,19 @@ NPError NPN_GetValue(NPP id, NPNVariable variable, void *value) {
rv = NPERR_NO_ERROR;
break;
}
+#if defined(OS_LINUX)
+ case NPNVToolkit:
+ // Tell them we are GTK2. (The alternative is GTK 1.2.)
+ *reinterpret_cast<int*>(value) = NPNVGtk2;
+ rv = NPERR_NO_ERROR;
+ break;
+
+ case NPNVSupportsXEmbedBool:
+ // Yes, we support XEmbed.
+ *reinterpret_cast<NPBool*>(value) = TRUE;
+ rv = NPERR_NO_ERROR;
+ break;
+#endif
case NPNVSupportsWindowless:
{
NPBool* supports_windowless = reinterpret_cast<NPBool*>(value);
« no previous file with comments | « webkit/glue/SConscript ('k') | webkit/glue/plugins/webplugin_delegate_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698