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

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

Issue 376033002: Adding MimeHandlerView. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@pending-zork-patch2
Patch Set: sync @tott Created 6 years, 5 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 94ff36e60c5d50b1818deb046701f03da94e640f..33885c522e2c14c2f93d29a63ff05824c784b6b1 100644
--- a/content/renderer/browser_plugin/browser_plugin.cc
+++ b/content/renderer/browser_plugin/browser_plugin.cc
@@ -60,6 +60,8 @@ BrowserPlugin::BrowserPlugin(RenderViewImpl* render_view,
visible_(true),
auto_navigate_(auto_navigate),
mouse_locked_(false),
+ attach_called_(false),
+ seen_src_(false),
browser_plugin_manager_(render_view->GetBrowserPluginManager()),
embedder_frame_url_(frame->document().url()),
weak_ptr_factory_(this) {
@@ -265,6 +267,13 @@ void BrowserPlugin::UpdateGuestAutoSizeState(bool auto_size_enabled) {
resize_guest_params));
}
+void BrowserPlugin::AttachToPlugin(
+ int instance_id) {
+ attach_called_ = true;
+ pending_instance_id_ = instance_id;
+ MaybeAttach();
+}
+
void BrowserPlugin::Attach(int guest_instance_id,
scoped_ptr<base::DictionaryValue> extra_params) {
CHECK(guest_instance_id != browser_plugin::kInstanceIDNone);
@@ -861,9 +870,20 @@ void BrowserPlugin::didReceiveData(const char* data, int data_length) {
}
void BrowserPlugin::didFinishLoading() {
+ printf("html_string_: %s\n", html_string_.c_str());
if (auto_navigate_) {
- // TODO(lazyboy): Make |auto_navigate_| stuff work.
- UpdateDOMAttribute(content::browser_plugin::kAttributeSrc, html_string_);
+ seen_src_ = true;
+ MaybeAttach();
+ }
+}
+
+void BrowserPlugin::MaybeAttach() {
+ printf("MaybeAttach: seen_src_ = %d, attach_called_: %d, pending: %d\n",
+ seen_src_, attach_called_, pending_instance_id_);
+ if (seen_src_ && attach_called_) {
+ base::DictionaryValue* extra_params = new base::DictionaryValue();
+ extra_params->SetString("src", html_string_);
+ Attach(pending_instance_id_, make_scoped_ptr(extra_params));
}
}

Powered by Google App Engine
This is Rietveld 408576698