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 "extensions/browser/guest_view/web_view/web_view_guest.h" | 5 #include "extensions/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 "content/public/browser/browser_context.h" | 10 #include "content/public/browser/browser_context.h" |
(...skipping 843 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
854 // suspended resource loads so that the WebRequest API will catch resource | 854 // suspended resource loads so that the WebRequest API will catch resource |
855 // requests. | 855 // requests. |
856 PushWebViewStateToIOThread(); | 856 PushWebViewStateToIOThread(); |
857 } | 857 } |
858 | 858 |
859 content::JavaScriptDialogManager* WebViewGuest::GetJavaScriptDialogManager( | 859 content::JavaScriptDialogManager* WebViewGuest::GetJavaScriptDialogManager( |
860 WebContents* source) { | 860 WebContents* source) { |
861 return &javascript_dialog_helper_; | 861 return &javascript_dialog_helper_; |
862 } | 862 } |
863 | 863 |
864 content::ColorChooser* WebViewGuest::OpenColorChooser( | |
865 WebContents* web_contents, | |
866 SkColor color, | |
867 const std::vector<content::ColorSuggestion>& suggestions) { | |
868 if (!attached() || !embedder_web_contents()->GetDelegate()) | |
869 return nullptr; | |
870 return embedder_web_contents()->GetDelegate()->OpenColorChooser( | |
871 web_contents, color, suggestions); | |
872 } | |
873 | |
874 void WebViewGuest::NavigateGuest(const std::string& src, | 864 void WebViewGuest::NavigateGuest(const std::string& src, |
875 bool force_navigation) { | 865 bool force_navigation) { |
876 if (src.empty()) | 866 if (src.empty()) |
877 return; | 867 return; |
878 | 868 |
879 GURL url = ResolveURL(src); | 869 GURL url = ResolveURL(src); |
880 | 870 |
881 // Do not allow navigating a guest to schemes other than known safe schemes. | 871 // Do not allow navigating a guest to schemes other than known safe schemes. |
882 // This will block the embedder trying to load unwanted schemes, e.g. | 872 // This will block the embedder trying to load unwanted schemes, e.g. |
883 // chrome://settings. | 873 // chrome://settings. |
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1223 WebViewGuest::From(owner_web_contents()->GetRenderProcessHost()->GetID(), | 1213 WebViewGuest::From(owner_web_contents()->GetRenderProcessHost()->GetID(), |
1224 new_window_instance_id); | 1214 new_window_instance_id); |
1225 if (!guest) | 1215 if (!guest) |
1226 return; | 1216 return; |
1227 | 1217 |
1228 if (!allow) | 1218 if (!allow) |
1229 guest->Destroy(); | 1219 guest->Destroy(); |
1230 } | 1220 } |
1231 | 1221 |
1232 } // namespace extensions | 1222 } // namespace extensions |
OLD | NEW |