summaryrefslogtreecommitdiffstats
path: root/content/renderer/browser_plugin/browser_plugin.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/renderer/browser_plugin/browser_plugin.cc')
-rw-r--r--content/renderer/browser_plugin/browser_plugin.cc25
1 files changed, 24 insertions, 1 deletions
diff --git a/content/renderer/browser_plugin/browser_plugin.cc b/content/renderer/browser_plugin/browser_plugin.cc
index eacc7f6..557d82f 100644
--- a/content/renderer/browser_plugin/browser_plugin.cc
+++ b/content/renderer/browser_plugin/browser_plugin.cc
@@ -60,6 +60,7 @@ const char kEventUnresponsive[] = "unresponsive";
// Parameters/properties on events.
const char kIsTopLevel[] = "isTopLevel";
+const char kName[] = "name";
const char kNewURL[] = "newUrl";
const char kNewHeight[] = "newHeight";
const char kNewWidth[] = "newWidth";
@@ -156,9 +157,10 @@ bool BrowserPlugin::OnMessageReceived(const IPC::Message& message) {
IPC_MESSAGE_HANDLER(BrowserPluginMsg_LoadRedirect, OnLoadRedirect)
IPC_MESSAGE_HANDLER(BrowserPluginMsg_LoadStart, OnLoadStart)
IPC_MESSAGE_HANDLER(BrowserPluginMsg_LoadStop, OnLoadStop)
+ IPC_MESSAGE_HANDLER(BrowserPluginMsg_SetCursor, OnSetCursor)
IPC_MESSAGE_HANDLER(BrowserPluginMsg_ShouldAcceptTouchEvents,
OnShouldAcceptTouchEvents)
- IPC_MESSAGE_HANDLER(BrowserPluginMsg_SetCursor, OnSetCursor)
+ IPC_MESSAGE_HANDLER(BrowserPluginMsg_UpdatedName, OnUpdatedName)
IPC_MESSAGE_HANDLER(BrowserPluginMsg_UpdateRect, OnUpdateRect)
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
@@ -186,6 +188,21 @@ void BrowserPlugin::UpdateDOMAttribute(
}
}
+void BrowserPlugin::SetNameAttribute(const std::string& name) {
+ if (name_ == name)
+ return;
+
+ name_ = name;
+ if (!navigate_src_sent_)
+ return;
+
+ browser_plugin_manager()->Send(
+ new BrowserPluginHostMsg_SetName(
+ render_view_routing_id_,
+ instance_id_,
+ name));
+}
+
bool BrowserPlugin::SetSrcAttribute(const std::string& src,
std::string* error_message) {
if (!valid_partition_id_) {
@@ -205,6 +222,7 @@ bool BrowserPlugin::SetSrcAttribute(const std::string& src,
create_guest_params.persist_storage = persist_storage_;
create_guest_params.focused = ShouldGuestBeFocused();
create_guest_params.visible = visible_;
+ create_guest_params.name = name_;
GetDamageBufferWithSizeParams(&create_guest_params.auto_size_params,
&create_guest_params.resize_guest_params);
browser_plugin_manager()->Send(
@@ -406,6 +424,11 @@ void BrowserPlugin::OnShouldAcceptTouchEvents(int instance_id, bool accept) {
}
}
+void BrowserPlugin::OnUpdatedName(int instance_id, const std::string& name) {
+ name_ = name;
+ UpdateDOMAttribute(kName, name);
+}
+
void BrowserPlugin::OnUpdateRect(
int instance_id,
const BrowserPluginMsg_UpdateRect_Params& params) {