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

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

Issue 13032003: Browser Plugin: <webview> should inherit partition attribute of opener on attachment. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 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.cc
diff --git a/content/renderer/browser_plugin/browser_plugin.cc b/content/renderer/browser_plugin/browser_plugin.cc
index b4921e56e69969b82d916bfc434f9efb14c576ee..47a730e76a8123adbd27460288a7e4866380dfbb 100644
--- a/content/renderer/browser_plugin/browser_plugin.cc
+++ b/content/renderer/browser_plugin/browser_plugin.cc
@@ -172,6 +172,7 @@ bool BrowserPlugin::OnMessageReceived(const IPC::Message& message) {
bool handled = true;
IPC_BEGIN_MESSAGE_MAP(BrowserPlugin, message)
IPC_MESSAGE_HANDLER(BrowserPluginMsg_AdvanceFocus, OnAdvanceFocus)
+ IPC_MESSAGE_HANDLER(BrowserPluginMsg_Attach_ACK, OnAttachACK)
IPC_MESSAGE_HANDLER(BrowserPluginMsg_BuffersSwapped, OnBuffersSwapped)
IPC_MESSAGE_HANDLER(BrowserPluginMsg_GuestContentWindowReady,
OnGuestContentWindowReady)
@@ -420,6 +421,7 @@ bool BrowserPlugin::UsesPendingDamageBuffer(
void BrowserPlugin::SetInstanceID(int instance_id, bool new_guest) {
CHECK(instance_id != browser_plugin::kInstanceIDNone);
+ allocate_instance_id_sent_ = true;
instance_id_ = instance_id;
browser_plugin_manager()->AddBrowserPlugin(instance_id, this);
@@ -451,6 +453,19 @@ void BrowserPlugin::OnAdvanceFocus(int instance_id, bool reverse) {
render_view_->GetWebView()->advanceFocus(reverse);
}
+void BrowserPlugin::OnAttachACK(
+ int instance_id,
+ const BrowserPluginMsg_Attach_ACK_Params& params) {
+ // Update BrowserPlugin attributes to match the state of the guest.
+ if (!params.name.empty())
+ OnUpdatedName(instance_id, params.name);
+ if (!params.storage_partition_id.empty()) {
+ std::string partition_name = (params.persist_storage ? "persist:" : "") +
lazyboy 2013/03/25 18:12:55 s/"persist"/browser_plugin::kPersistPrefix
Fady Samuel 2013/03/25 19:28:20 Done.
+ params.storage_partition_id;
+ UpdateDOMAttribute(browser_plugin::kAttributePartition, partition_name);
+ }
+}
+
void BrowserPlugin::OnBuffersSwapped(int instance_id,
const gfx::Size& size,
std::string mailbox_name,
@@ -1225,6 +1240,7 @@ bool BrowserPlugin::ShouldForwardToBrowserPlugin(
const IPC::Message& message) {
switch (message.type()) {
case BrowserPluginMsg_AdvanceFocus::ID:
+ case BrowserPluginMsg_Attach_ACK::ID:
case BrowserPluginMsg_BuffersSwapped::ID:
case BrowserPluginMsg_GuestContentWindowReady::ID:
case BrowserPluginMsg_GuestGone::ID:

Powered by Google App Engine
This is Rietveld 408576698