diff options
Diffstat (limited to 'content/renderer/browser_plugin/browser_plugin.cc')
-rw-r--r-- | content/renderer/browser_plugin/browser_plugin.cc | 25 |
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) { |