| 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 |