OLD | NEW |
---|---|
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/extensions/api/webview/webview_api.h" | 5 #include "chrome/browser/extensions/api/webview/webview_api.h" |
6 | 6 |
7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
8 #include "chrome/browser/extensions/api/browsing_data/browsing_data_api.h" | 8 #include "chrome/browser/extensions/api/browsing_data/browsing_data_api.h" |
9 #include "chrome/browser/extensions/api/context_menus/context_menus_api.h" | 9 #include "chrome/browser/extensions/api/context_menus/context_menus_api.h" |
10 #include "chrome/browser/extensions/api/context_menus/context_menus_api_helpers. h" | 10 #include "chrome/browser/extensions/api/context_menus/context_menus_api_helpers. h" |
11 #include "chrome/browser/extensions/tab_helper.h" | 11 #include "chrome/browser/extensions/tab_helper.h" |
12 #include "chrome/browser/guest_view/guest_view_manager.h" | |
12 #include "chrome/browser/profiles/profile.h" | 13 #include "chrome/browser/profiles/profile.h" |
13 #include "chrome/common/extensions/api/webview.h" | 14 #include "chrome/common/extensions/api/webview.h" |
14 #include "content/public/browser/render_process_host.h" | 15 #include "content/public/browser/render_process_host.h" |
15 #include "content/public/browser/render_view_host.h" | 16 #include "content/public/browser/render_view_host.h" |
16 #include "content/public/browser/storage_partition.h" | 17 #include "content/public/browser/storage_partition.h" |
17 #include "content/public/browser/web_contents.h" | 18 #include "content/public/browser/web_contents.h" |
18 #include "content/public/common/stop_find_action.h" | 19 #include "content/public/common/stop_find_action.h" |
19 #include "extensions/common/error_utils.h" | 20 #include "extensions/common/error_utils.h" |
20 #include "third_party/WebKit/public/web/WebFindOptions.h" | 21 #include "third_party/WebKit/public/web/WebFindOptions.h" |
21 | 22 |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
82 params->create_properties, | 83 params->create_properties, |
83 Profile::FromBrowserContext(browser_context()), | 84 Profile::FromBrowserContext(browser_context()), |
84 GetExtension(), | 85 GetExtension(), |
85 id, | 86 id, |
86 &error_); | 87 &error_); |
87 | 88 |
88 SendResponse(success); | 89 SendResponse(success); |
89 return success; | 90 return success; |
90 } | 91 } |
91 | 92 |
93 WebviewAllocateInstanceIdFunction::WebviewAllocateInstanceIdFunction() { | |
94 printf("++++ %s\n", __PRETTY_FUNCTION__); | |
95 } | |
96 | |
97 bool WebviewAllocateInstanceIdFunction::RunAsync() { | |
98 printf("++++ %s\n", __PRETTY_FUNCTION__); | |
99 int instanceId = | |
100 GuestViewManager::FromBrowserContext( | |
101 browser_context())->GetNextInstanceID(); | |
Fady Samuel
2014/05/27 14:19:06
Let's make this a "GuestView" API, as this will ap
lazyboy
2014/05/27 20:43:00
Done.
| |
102 SetResult(base::Value::CreateIntegerValue(instanceId)); | |
103 SendResponse(true); | |
104 return true; | |
105 } | |
106 | |
107 bool WebviewNavigateFunction::RunAsyncSafe(WebViewGuest* guest) { | |
108 printf("++++ %s, guest = [%p]\n", __PRETTY_FUNCTION__, guest); | |
109 scoped_ptr<webview::Navigate::Params> params( | |
110 webview::Navigate::Params::Create(*args_)); | |
111 EXTENSION_FUNCTION_VALIDATE(params.get()); | |
112 std::string src = params->src; | |
113 printf("src was: %s\n", src.c_str()); | |
114 guest->NavigateGuest(src); | |
115 return true; | |
116 } | |
117 | |
92 bool WebviewContextMenusUpdateFunction::RunAsync() { | 118 bool WebviewContextMenusUpdateFunction::RunAsync() { |
93 scoped_ptr<webview::ContextMenusUpdate::Params> params( | 119 scoped_ptr<webview::ContextMenusUpdate::Params> params( |
94 webview::ContextMenusUpdate::Params::Create(*args_)); | 120 webview::ContextMenusUpdate::Params::Create(*args_)); |
95 EXTENSION_FUNCTION_VALIDATE(params.get()); | 121 EXTENSION_FUNCTION_VALIDATE(params.get()); |
96 | 122 |
97 Profile* profile = Profile::FromBrowserContext(browser_context()); | 123 Profile* profile = Profile::FromBrowserContext(browser_context()); |
98 MenuItem::Id item_id( | 124 MenuItem::Id item_id( |
99 profile->IsOffTheRecord(), | 125 profile->IsOffTheRecord(), |
100 MenuItem::ExtensionKey(extension_id(), params->instance_id)); | 126 MenuItem::ExtensionKey(extension_id(), params->instance_id)); |
101 | 127 |
(...skipping 471 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
573 | 599 |
574 WebviewTerminateFunction::~WebviewTerminateFunction() { | 600 WebviewTerminateFunction::~WebviewTerminateFunction() { |
575 } | 601 } |
576 | 602 |
577 bool WebviewTerminateFunction::RunAsyncSafe(WebViewGuest* guest) { | 603 bool WebviewTerminateFunction::RunAsyncSafe(WebViewGuest* guest) { |
578 guest->Terminate(); | 604 guest->Terminate(); |
579 return true; | 605 return true; |
580 } | 606 } |
581 | 607 |
582 } // namespace extensions | 608 } // namespace extensions |
OLD | NEW |