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

Side by Side Diff: extensions/browser/guest_view/app_view/app_view_guest.cc

Issue 1909773002: Convert //extensions/browser from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 8 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 "extensions/browser/guest_view/app_view/app_view_guest.h" 5 #include "extensions/browser/guest_view/app_view/app_view_guest.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/memory/ptr_util.h"
10 #include "components/guest_view/browser/guest_view_manager.h" 11 #include "components/guest_view/browser/guest_view_manager.h"
11 #include "content/public/browser/render_process_host.h" 12 #include "content/public/browser/render_process_host.h"
12 #include "content/public/common/renderer_preferences.h" 13 #include "content/public/common/renderer_preferences.h"
13 #include "extensions/browser/api/app_runtime/app_runtime_api.h" 14 #include "extensions/browser/api/app_runtime/app_runtime_api.h"
14 #include "extensions/browser/api/extensions_api_client.h" 15 #include "extensions/browser/api/extensions_api_client.h"
15 #include "extensions/browser/app_window/app_delegate.h" 16 #include "extensions/browser/app_window/app_delegate.h"
16 #include "extensions/browser/bad_message.h" 17 #include "extensions/browser/bad_message.h"
17 #include "extensions/browser/event_router.h" 18 #include "extensions/browser/event_router.h"
18 #include "extensions/browser/extension_host.h" 19 #include "extensions/browser/extension_host.h"
19 #include "extensions/browser/extension_registry.h" 20 #include "extensions/browser/extension_registry.h"
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 pending_response_map.Get().insert( 194 pending_response_map.Get().insert(
194 std::make_pair(guest_instance_id(), 195 std::make_pair(guest_instance_id(),
195 make_linked_ptr(new ResponseInfo( 196 make_linked_ptr(new ResponseInfo(
196 guest_extension, 197 guest_extension,
197 weak_ptr_factory_.GetWeakPtr(), 198 weak_ptr_factory_.GetWeakPtr(),
198 callback)))); 199 callback))));
199 200
200 LazyBackgroundTaskQueue* queue = 201 LazyBackgroundTaskQueue* queue =
201 LazyBackgroundTaskQueue::Get(browser_context()); 202 LazyBackgroundTaskQueue::Get(browser_context());
202 if (queue->ShouldEnqueueTask(browser_context(), guest_extension)) { 203 if (queue->ShouldEnqueueTask(browser_context(), guest_extension)) {
203 queue->AddPendingTask(browser_context(), 204 queue->AddPendingTask(
204 guest_extension->id(), 205 browser_context(), guest_extension->id(),
205 base::Bind( 206 base::Bind(&AppViewGuest::LaunchAppAndFireEvent,
206 &AppViewGuest::LaunchAppAndFireEvent, 207 weak_ptr_factory_.GetWeakPtr(),
207 weak_ptr_factory_.GetWeakPtr(), 208 base::Passed(base::WrapUnique(data->DeepCopy())), callback));
208 base::Passed(make_scoped_ptr(data->DeepCopy())),
209 callback));
210 return; 209 return;
211 } 210 }
212 211
213 ProcessManager* process_manager = ProcessManager::Get(browser_context()); 212 ProcessManager* process_manager = ProcessManager::Get(browser_context());
214 ExtensionHost* host = 213 ExtensionHost* host =
215 process_manager->GetBackgroundHostForExtension(guest_extension->id()); 214 process_manager->GetBackgroundHostForExtension(guest_extension->id());
216 DCHECK(host); 215 DCHECK(host);
217 LaunchAppAndFireEvent(make_scoped_ptr(data->DeepCopy()), callback, host); 216 LaunchAppAndFireEvent(base::WrapUnique(data->DeepCopy()), callback, host);
218 } 217 }
219 218
220 void AppViewGuest::DidInitialize(const base::DictionaryValue& create_params) { 219 void AppViewGuest::DidInitialize(const base::DictionaryValue& create_params) {
221 ExtensionsAPIClient::Get()->AttachWebContentsHelpers(web_contents()); 220 ExtensionsAPIClient::Get()->AttachWebContentsHelpers(web_contents());
222 221
223 if (!url_.is_valid()) 222 if (!url_.is_valid())
224 return; 223 return;
225 224
226 web_contents()->GetController().LoadURL( 225 web_contents()->GetController().LoadURL(
227 url_, content::Referrer(), ui::PAGE_TRANSITION_LINK, std::string()); 226 url_, content::Referrer(), ui::PAGE_TRANSITION_LINK, std::string());
(...skipping 20 matching lines...) Expand all
248 247
249 WebContents::CreateParams params( 248 WebContents::CreateParams params(
250 browser_context(), 249 browser_context(),
251 content::SiteInstance::CreateForURL(browser_context(), 250 content::SiteInstance::CreateForURL(browser_context(),
252 guest_extension->url())); 251 guest_extension->url()));
253 params.guest_delegate = this; 252 params.guest_delegate = this;
254 callback.Run(WebContents::Create(params)); 253 callback.Run(WebContents::Create(params));
255 } 254 }
256 255
257 void AppViewGuest::LaunchAppAndFireEvent( 256 void AppViewGuest::LaunchAppAndFireEvent(
258 scoped_ptr<base::DictionaryValue> data, 257 std::unique_ptr<base::DictionaryValue> data,
259 const WebContentsCreatedCallback& callback, 258 const WebContentsCreatedCallback& callback,
260 ExtensionHost* extension_host) { 259 ExtensionHost* extension_host) {
261 bool has_event_listener = EventRouter::Get(browser_context()) 260 bool has_event_listener = EventRouter::Get(browser_context())
262 ->ExtensionHasEventListener( 261 ->ExtensionHasEventListener(
263 extension_host->extension()->id(), 262 extension_host->extension()->id(),
264 app_runtime::OnEmbedRequested::kEventName); 263 app_runtime::OnEmbedRequested::kEventName);
265 if (!has_event_listener) { 264 if (!has_event_listener) {
266 callback.Run(nullptr); 265 callback.Run(nullptr);
267 return; 266 return;
268 } 267 }
269 268
270 scoped_ptr<base::DictionaryValue> embed_request(new base::DictionaryValue()); 269 std::unique_ptr<base::DictionaryValue> embed_request(
270 new base::DictionaryValue());
271 embed_request->SetInteger(appview::kGuestInstanceID, guest_instance_id()); 271 embed_request->SetInteger(appview::kGuestInstanceID, guest_instance_id());
272 embed_request->SetString(appview::kEmbedderID, owner_host()); 272 embed_request->SetString(appview::kEmbedderID, owner_host());
273 embed_request->Set(appview::kData, data.release()); 273 embed_request->Set(appview::kData, data.release());
274 AppRuntimeEventRouter::DispatchOnEmbedRequestedEvent( 274 AppRuntimeEventRouter::DispatchOnEmbedRequestedEvent(
275 browser_context(), std::move(embed_request), extension_host->extension()); 275 browser_context(), std::move(embed_request), extension_host->extension());
276 } 276 }
277 277
278 void AppViewGuest::SetAppDelegateForTest(AppDelegate* delegate) { 278 void AppViewGuest::SetAppDelegateForTest(AppDelegate* delegate) {
279 app_delegate_.reset(delegate); 279 app_delegate_.reset(delegate);
280 } 280 }
281 281
282 std::vector<int> AppViewGuest::GetAllRegisteredInstanceIdsForTesting() { 282 std::vector<int> AppViewGuest::GetAllRegisteredInstanceIdsForTesting() {
283 std::vector<int> instances; 283 std::vector<int> instances;
284 for (const auto& key_value : pending_response_map.Get()) { 284 for (const auto& key_value : pending_response_map.Get()) {
285 instances.push_back(key_value.first); 285 instances.push_back(key_value.first);
286 } 286 }
287 return instances; 287 return instances;
288 } 288 }
289 289
290 } // namespace extensions 290 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698