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

Side by Side Diff: chrome/browser/guest_view/web_view/web_view_guest.cc

Issue 333313004: Fix the bug that webview guest cannot load script of a SharedWorker. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/guest_view/web_view/web_view_guest.h" 5 #include "chrome/browser/guest_view/web_view/web_view_guest.h"
6 6
7 #include "base/message_loop/message_loop.h" 7 #include "base/message_loop/message_loop.h"
8 #include "base/strings/stringprintf.h" 8 #include "base/strings/stringprintf.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "chrome/browser/chrome_notification_types.h" 10 #include "chrome/browser/chrome_notification_types.h"
(...skipping 1106 matching lines...) Expand 10 before | Expand all | Expand 10 after
1117 webview_info.embedder_extension_id = embedder_extension_id(); 1117 webview_info.embedder_extension_id = embedder_extension_id();
1118 1118
1119 content::BrowserThread::PostTask( 1119 content::BrowserThread::PostTask(
1120 content::BrowserThread::IO, FROM_HERE, 1120 content::BrowserThread::IO, FROM_HERE,
1121 base::Bind( 1121 base::Bind(
1122 &ExtensionRendererState::AddWebView, 1122 &ExtensionRendererState::AddWebView,
1123 base::Unretained(ExtensionRendererState::GetInstance()), 1123 base::Unretained(ExtensionRendererState::GetInstance()),
1124 guest_web_contents()->GetRenderProcessHost()->GetID(), 1124 guest_web_contents()->GetRenderProcessHost()->GetID(),
1125 guest_web_contents()->GetRoutingID(), 1125 guest_web_contents()->GetRoutingID(),
1126 webview_info)); 1126 webview_info));
1127
1128 content::BrowserThread::PostTask(
1129 content::BrowserThread::IO,
1130 FROM_HERE,
1131 base::Bind(&ExtensionRendererState::AddWebViewPartitionID,
Fady Samuel 2014/06/16 21:01:56 Now that I think about it, you porbably don't need
Xi Han 2014/06/16 21:53:55 Done.
1132 base::Unretained(ExtensionRendererState::GetInstance()),
1133 guest_web_contents()->GetRenderProcessHost()->GetID(),
1134 partition_id));
1127 } 1135 }
1128 1136
1129 // static 1137 // static
1130 void WebViewGuest::RemoveWebViewFromExtensionRendererState( 1138 void WebViewGuest::RemoveWebViewFromExtensionRendererState(
1131 WebContents* web_contents) { 1139 WebContents* web_contents) {
1132 content::BrowserThread::PostTask( 1140 content::BrowserThread::PostTask(
1133 content::BrowserThread::IO, FROM_HERE, 1141 content::BrowserThread::IO, FROM_HERE,
1134 base::Bind( 1142 base::Bind(
1135 &ExtensionRendererState::RemoveWebView, 1143 &ExtensionRendererState::RemoveWebView,
1136 base::Unretained(ExtensionRendererState::GetInstance()), 1144 base::Unretained(ExtensionRendererState::GetInstance()),
1137 web_contents->GetRenderProcessHost()->GetID(), 1145 web_contents->GetRenderProcessHost()->GetID(),
1138 web_contents->GetRoutingID())); 1146 web_contents->GetRoutingID()));
1147
1148 content::BrowserThread::PostTask(
Fady Samuel 2014/06/16 21:01:56 See the comment above.
Xi Han 2014/06/16 21:53:55 Done.
1149 content::BrowserThread::IO,
1150 FROM_HERE,
1151 base::Bind(&ExtensionRendererState::RemoveWebViewPartitionID,
1152 base::Unretained(ExtensionRendererState::GetInstance()),
1153 web_contents->GetRenderProcessHost()->GetID()));
1139 } 1154 }
1140 1155
1141 void WebViewGuest::SizeChanged(const gfx::Size& old_size, 1156 void WebViewGuest::SizeChanged(const gfx::Size& old_size,
1142 const gfx::Size& new_size) { 1157 const gfx::Size& new_size) {
1143 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 1158 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
1144 args->SetInteger(webview::kOldHeight, old_size.height()); 1159 args->SetInteger(webview::kOldHeight, old_size.height());
1145 args->SetInteger(webview::kOldWidth, old_size.width()); 1160 args->SetInteger(webview::kOldWidth, old_size.width());
1146 args->SetInteger(webview::kNewHeight, new_size.height()); 1161 args->SetInteger(webview::kNewHeight, new_size.height());
1147 args->SetInteger(webview::kNewWidth, new_size.width()); 1162 args->SetInteger(webview::kNewWidth, new_size.width());
1148 DispatchEvent( 1163 DispatchEvent(
(...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after
1591 bool allow, 1606 bool allow,
1592 const std::string& user_input) { 1607 const std::string& user_input) {
1593 WebViewGuest* guest = 1608 WebViewGuest* guest =
1594 WebViewGuest::From(embedder_render_process_id(), new_window_instance_id); 1609 WebViewGuest::From(embedder_render_process_id(), new_window_instance_id);
1595 if (!guest) 1610 if (!guest)
1596 return; 1611 return;
1597 1612
1598 if (!allow) 1613 if (!allow)
1599 guest->Destroy(); 1614 guest->Destroy();
1600 } 1615 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698