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

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: Addressed comments 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..fb45155e49f708daf0267479b9c4df81fd23dac0 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;
Charlie Reis 2013/03/26 17:02:32 I don't understand this line. We currently set it
Fady Samuel 2013/03/26 17:15:40 Possibly but I'm not sure what's a good name for i
Charlie Reis 2013/03/26 17:49:30 If that's the use case, then you could flip it aro
instance_id_ = instance_id;
browser_plugin_manager()->AddBrowserPlugin(instance_id, this);
@@ -451,6 +453,20 @@ 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 ? browser_plugin::kPersistPrefix : "") +
+ 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 +1241,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