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

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

Issue 11693009: Browser Plugin: Implement ExecuteScript (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years 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_impl.cc
diff --git a/content/renderer/browser_plugin/browser_plugin_impl.cc b/content/renderer/browser_plugin/browser_plugin_impl.cc
index 132aaba069c4da212fa2ef518b35357e0053f244..11cb2f69f34160d58ce16c9c58cd7dd033dbdd1c 100644
--- a/content/renderer/browser_plugin/browser_plugin_impl.cc
+++ b/content/renderer/browser_plugin/browser_plugin_impl.cc
@@ -660,43 +660,6 @@ float BrowserPluginImpl::GetDeviceScaleFactor() const {
return render_view_->GetWebView()->deviceScaleFactor();
}
-void BrowserPluginImpl::TriggerEvent(
- const std::string& event_name,
- std::map<std::string, base::Value*>* props) {
- if (!container() || !container()->element().document().frame())
- return;
- v8::HandleScope handle_scope;
- std::string json_string;
- if (props) {
- base::DictionaryValue dict;
- for (std::map<std::string, base::Value*>::iterator iter = props->begin(),
- end = props->end(); iter != end; ++iter) {
- dict.Set(iter->first, iter->second);
- }
-
- JSONStringValueSerializer serializer(&json_string);
- if (!serializer.Serialize(dict))
- return;
- }
-
- WebKit::WebFrame* frame = container()->element().document().frame();
- WebKit::WebDOMEvent dom_event = frame->document().createEvent("CustomEvent");
- WebKit::WebDOMCustomEvent event = dom_event.to<WebKit::WebDOMCustomEvent>();
-
- // The events triggered directly from the plugin <object> are internal events
- // whose implementation details can (and likely will) change over time. The
- // wrapper/shim (e.g. <webview> tag) should receive these events, and expose a
- // more appropriate (and stable) event to the consumers as part of the API.
- std::string internal_name = base::StringPrintf("-internal-%s",
- event_name.c_str());
- event.initCustomEvent(
- WebKit::WebString::fromUTF8(internal_name.c_str()),
- false, false,
- WebKit::WebSerializedScriptValue::serialize(
- v8::String::New(json_string.c_str(), json_string.size())));
- container()->element().dispatchEvent(event);
-}
-
void BrowserPluginImpl::Back() {
if (!navigate_src_sent_)
return;
@@ -875,6 +838,51 @@ void BrowserPluginImpl::RequestMessage(uint32 message_id) {
browser_plugin_manager()->RequestMessage(message_id);
}
+RenderView* BrowserPluginImpl::GetRenderView() const {
+ return render_view_;
+}
+
+WebKit::WebPluginContainer* BrowserPluginImpl::GetContainer() const {
+ return container();
+}
+
+void BrowserPluginImpl::TriggerEvent(
+ const std::string& event_name,
+ std::map<std::string, base::Value*>* props) {
+ if (!container() || !container()->element().document().frame())
+ return;
+ v8::HandleScope handle_scope;
+ std::string json_string;
+ if (props) {
+ base::DictionaryValue dict;
+ for (std::map<std::string, base::Value*>::iterator iter = props->begin(),
+ end = props->end(); iter != end; ++iter) {
+ dict.Set(iter->first, iter->second);
+ }
+
+ JSONStringValueSerializer serializer(&json_string);
+ if (!serializer.Serialize(dict))
+ return;
+ }
+
+ WebKit::WebFrame* frame = container()->element().document().frame();
+ WebKit::WebDOMEvent dom_event = frame->document().createEvent("CustomEvent");
+ WebKit::WebDOMCustomEvent event = dom_event.to<WebKit::WebDOMCustomEvent>();
+
+ // The events triggered directly from the plugin <object> are internal events
+ // whose implementation details can (and likely will) change over time. The
+ // wrapper/shim (e.g. <webview> tag) should receive these events, and expose a
+ // more appropriate (and stable) event to the consumers as part of the API.
+ std::string internal_name = base::StringPrintf("-internal-%s",
+ event_name.c_str());
+ event.initCustomEvent(
+ WebKit::WebString::fromUTF8(internal_name.c_str()),
+ false, false,
+ WebKit::WebSerializedScriptValue::serialize(
+ v8::String::New(json_string.c_str(), json_string.size())));
+ container()->element().dispatchEvent(event);
+}
+
gfx::Point BrowserPluginImpl::ToLocalCoordinates(
const gfx::Point& point) const {
if (container_)
« no previous file with comments | « content/renderer/browser_plugin/browser_plugin_impl.h ('k') | content/renderer/browser_plugin/browser_plugin_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698