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

Unified Diff: content/browser/browser_plugin/browser_plugin_guest.h

Issue 1404353004: Delay creation of BrowserPluginMsg_X messages until after attach. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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/browser/browser_plugin/browser_plugin_guest.h
diff --git a/content/browser/browser_plugin/browser_plugin_guest.h b/content/browser/browser_plugin/browser_plugin_guest.h
index f302c6d9d094de9462f4fe3bf2b4b534841ff3e6..3dcaaeedbb7b8bb1f35f5fdf86c316b1d873eab8 100644
--- a/content/browser/browser_plugin/browser_plugin_guest.h
+++ b/content/browser/browser_plugin/browser_plugin_guest.h
@@ -18,6 +18,7 @@
#ifndef CONTENT_BROWSER_BROWSER_PLUGIN_BROWSER_PLUGIN_GUEST_H_
#define CONTENT_BROWSER_BROWSER_PLUGIN_BROWSER_PLUGIN_GUEST_H_
+#include <functional>
#include <map>
#include <queue>
@@ -70,6 +71,9 @@ class RenderWidgetHostViewBase;
class SiteInstance;
struct DropData;
+typedef std::function<IPC::Message*(int browser_plugin_id)>
lazyboy 2015/10/16 00:15:48 Guess the mac bots didn't like it. Lucas and I cou
+ BrowserPluginMessageFunc;
+
// A browser plugin guest provides functionality for WebContents to operate in
// the guest role and implements guest-specific overrides for ViewHostMsg_*
// messages.
@@ -202,6 +206,7 @@ class CONTENT_EXPORT BrowserPluginGuest : public GuestHost,
// Helper to send messages to embedder. If this guest is not yet attached,
// then IPCs will be queued until attachment.
void SendMessageToEmbedder(IPC::Message* msg);
+ void SendMessageToEmbedder(BrowserPluginMessageFunc msg_func);
// Returns whether the guest is attached to an embedder.
bool attached() const { return attached_; }
@@ -460,6 +465,7 @@ class CONTENT_EXPORT BrowserPluginGuest : public GuestHost,
// This is a queue of messages that are destined to be sent to the embedder
// once the guest is attached to a particular embedder.
std::deque<linked_ptr<IPC::Message> > pending_messages_;
+ std::deque<BrowserPluginMessageFunc> pending_message_funcs_;
BrowserPluginGuestDelegate* const delegate_;

Powered by Google App Engine
This is Rietveld 408576698