OLD | NEW |
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 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
170 } | 170 } |
171 | 171 |
172 } // namespace | 172 } // namespace |
173 | 173 |
174 WebViewGuest::WebViewGuest(int guest_instance_id, | 174 WebViewGuest::WebViewGuest(int guest_instance_id, |
175 WebContents* guest_web_contents, | 175 WebContents* guest_web_contents, |
176 const std::string& embedder_extension_id) | 176 const std::string& embedder_extension_id) |
177 : GuestView<WebViewGuest>(guest_instance_id, | 177 : GuestView<WebViewGuest>(guest_instance_id, |
178 guest_web_contents, | 178 guest_web_contents, |
179 embedder_extension_id), | 179 embedder_extension_id), |
180 WebContentsObserver(guest_web_contents), | |
181 script_executor_(new extensions::ScriptExecutor(guest_web_contents, | 180 script_executor_(new extensions::ScriptExecutor(guest_web_contents, |
182 &script_observers_)), | 181 &script_observers_)), |
183 pending_context_menu_request_id_(0), | 182 pending_context_menu_request_id_(0), |
184 next_permission_request_id_(0), | 183 next_permission_request_id_(0), |
185 is_overriding_user_agent_(false), | 184 is_overriding_user_agent_(false), |
186 pending_reload_on_attachment_(false), | 185 pending_reload_on_attachment_(false), |
187 main_frame_id_(0), | 186 main_frame_id_(0), |
188 chromevox_injected_(false), | 187 chromevox_injected_(false), |
189 find_helper_(this), | 188 find_helper_(this), |
190 javascript_dialog_helper_(this) { | 189 javascript_dialog_helper_(this) { |
(...skipping 685 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
876 } | 875 } |
877 | 876 |
878 void WebViewGuest::WebContentsDestroyed() { | 877 void WebViewGuest::WebContentsDestroyed() { |
879 // Clean up custom context menu items for this guest. | 878 // Clean up custom context menu items for this guest. |
880 extensions::MenuManager* menu_manager = extensions::MenuManager::Get( | 879 extensions::MenuManager* menu_manager = extensions::MenuManager::Get( |
881 Profile::FromBrowserContext(browser_context())); | 880 Profile::FromBrowserContext(browser_context())); |
882 menu_manager->RemoveAllContextItems(extensions::MenuItem::ExtensionKey( | 881 menu_manager->RemoveAllContextItems(extensions::MenuItem::ExtensionKey( |
883 embedder_extension_id(), view_instance_id())); | 882 embedder_extension_id(), view_instance_id())); |
884 | 883 |
885 RemoveWebViewFromExtensionRendererState(web_contents()); | 884 RemoveWebViewFromExtensionRendererState(web_contents()); |
| 885 GuestViewBase::WebContentsDestroyed(); |
886 } | 886 } |
887 | 887 |
888 void WebViewGuest::UserAgentOverrideSet(const std::string& user_agent) { | 888 void WebViewGuest::UserAgentOverrideSet(const std::string& user_agent) { |
889 content::NavigationController& controller = | 889 content::NavigationController& controller = |
890 guest_web_contents()->GetController(); | 890 guest_web_contents()->GetController(); |
891 content::NavigationEntry* entry = controller.GetVisibleEntry(); | 891 content::NavigationEntry* entry = controller.GetVisibleEntry(); |
892 if (!entry) | 892 if (!entry) |
893 return; | 893 return; |
894 entry->SetIsOverridingUserAgent(!user_agent.empty()); | 894 entry->SetIsOverridingUserAgent(!user_agent.empty()); |
895 if (!attached()) { | 895 if (!attached()) { |
(...skipping 513 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1409 bool allow, | 1409 bool allow, |
1410 const std::string& user_input) { | 1410 const std::string& user_input) { |
1411 WebViewGuest* guest = | 1411 WebViewGuest* guest = |
1412 WebViewGuest::From(embedder_render_process_id(), new_window_instance_id); | 1412 WebViewGuest::From(embedder_render_process_id(), new_window_instance_id); |
1413 if (!guest) | 1413 if (!guest) |
1414 return; | 1414 return; |
1415 | 1415 |
1416 if (!allow) | 1416 if (!allow) |
1417 guest->Destroy(); | 1417 guest->Destroy(); |
1418 } | 1418 } |
OLD | NEW |