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

Unified Diff: content/renderer/browser_plugin/browser_plugin_bindings.cc

Issue 10829225: Browser Plugin: Add HTML5-like postMessage support (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge with ToT. Added subframe targeting + test. Created 8 years, 2 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
Index: content/renderer/browser_plugin/browser_plugin_bindings.cc
diff --git a/content/renderer/browser_plugin/browser_plugin_bindings.cc b/content/renderer/browser_plugin/browser_plugin_bindings.cc
index a9d5bb97b8666511ec7e5ba0ce2ff92c6d0f9437..8420e09662b65236fac8dfcaa6326afb2591b8ae 100644
--- a/content/renderer/browser_plugin/browser_plugin_bindings.cc
+++ b/content/renderer/browser_plugin/browser_plugin_bindings.cc
@@ -37,14 +37,15 @@ namespace content {
namespace {
-const char kAddEventListener[] = "addEventListener";
+const char kAddEventListener[] = "addCustomEventListener";
+const char kContentWindow[] = "contentWindow";
const char kBackMethod[] = "back";
const char kForwardMethod[] = "forward";
const char kGetProcessId[] = "getProcessId";
const char kGoMethod[] = "go";
const char kPartitionAttribute[] = "partition";
const char kReloadMethod[] = "reload";
-const char kRemoveEventListener[] = "removeEventListener";
+const char kRemoveEventListener[] = "removeCustomEventListener";
const char kSrcAttribute[] = "src";
const char kStopMethod[] = "stop";
@@ -65,6 +66,10 @@ bool IdentifierIsAddEventListener(NPIdentifier identifier) {
return WebBindings::getStringIdentifier(kAddEventListener) == identifier;
}
+bool IdentifierIsContentWindow(NPIdentifier identifier) {
+ return WebBindings::getStringIdentifier(kContentWindow) == identifier;
+}
+
bool IdentifierIsBackMethod(NPIdentifier identifier) {
return WebBindings::getStringIdentifier(kBackMethod) == identifier;
}
@@ -251,6 +256,7 @@ bool BrowserPluginBindingsInvokeDefault(NPObject* np_obj,
bool BrowserPluginBindingsHasProperty(NPObject* np_obj, NPIdentifier name) {
return IdentifierIsSrcAttribute(name) ||
+ IdentifierIsContentWindow(name) ||
IdentifierIsPartitionAttribute(name);
}
@@ -273,6 +279,14 @@ bool BrowserPluginBindingsGetProperty(NPObject* np_obj, NPIdentifier name,
return StringToNPVariant(src, result);
}
+ if (IdentifierIsContentWindow(name)) {
+ NPObject* obj = bindings->instance()->GetContentWindow();
+ result->type = NPVariantType_Object;
+ WebBindings::retainObject(obj);
nasko 2012/10/02 17:52:31 Do we need to have an extra explicit retainObject?
Fady Samuel 2012/10/02 22:04:08 Ooops, good catch fixed.
+ result->value.objectValue = WebBindings::retainObject(obj);
+ return true;
+ }
+
if (IdentifierIsPartitionAttribute(name)) {
std::string partition_id = bindings->instance()->GetPartitionAttribute();
return StringToNPVariant(partition_id, result);

Powered by Google App Engine
This is Rietveld 408576698