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

Side by Side Diff: chrome/browser/ui/ash/system_tray_tray_cast_browsertest_chromeos.cc

Issue 1865213004: Convert //chrome/browser/ui from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "ash/shell.h" 5 #include "ash/shell.h"
6 #include "ash/system/cast/tray_cast.h" 6 #include "ash/system/cast/tray_cast.h"
7 #include "ash/system/tray/system_tray.h" 7 #include "ash/system/tray/system_tray.h"
8 #include "ash/system/tray/system_tray_delegate.h" 8 #include "ash/system/tray/system_tray_delegate.h"
9 #include "ash/system/tray/system_tray_item.h" 9 #include "ash/system/tray/system_tray_item.h"
10 #include "ash/test/tray_cast_test_api.h" 10 #include "ash/test/tray_cast_test_api.h"
11 #include "base/macros.h" 11 #include "base/macros.h"
12 #include "base/memory/ptr_util.h"
12 #include "chrome/browser/extensions/extension_browsertest.h" 13 #include "chrome/browser/extensions/extension_browsertest.h"
13 #include "chrome/browser/profiles/profile_manager.h" 14 #include "chrome/browser/profiles/profile_manager.h"
14 #include "chrome/browser/ui/tabs/tab_strip_model.h" 15 #include "chrome/browser/ui/tabs/tab_strip_model.h"
15 #include "content/public/browser/render_view_host.h" 16 #include "content/public/browser/render_view_host.h"
16 #include "content/public/test/test_utils.h" 17 #include "content/public/test/test_utils.h"
17 #include "extensions/browser/process_manager.h" 18 #include "extensions/browser/process_manager.h"
18 19
19 namespace { 20 namespace {
20 21
21 // Execute JavaScript within the context of the extension. Returns the result 22 // Execute JavaScript within the context of the extension. Returns the result
22 // of the execution. 23 // of the execution.
23 scoped_ptr<base::Value> ExecuteJavaScript( 24 std::unique_ptr<base::Value> ExecuteJavaScript(
24 const extensions::Extension* extension, 25 const extensions::Extension* extension,
25 const std::string& javascript) { 26 const std::string& javascript) {
26 extensions::ProcessManager* pm = 27 extensions::ProcessManager* pm =
27 extensions::ProcessManager::Get(ProfileManager::GetActiveUserProfile()); 28 extensions::ProcessManager::Get(ProfileManager::GetActiveUserProfile());
28 content::RenderViewHost* host = 29 content::RenderViewHost* host =
29 pm->GetBackgroundHostForExtension(extension->id())->render_view_host(); 30 pm->GetBackgroundHostForExtension(extension->id())->render_view_host();
30 return content::ExecuteScriptAndGetValue(host->GetMainFrame(), javascript); 31 return content::ExecuteScriptAndGetValue(host->GetMainFrame(), javascript);
31 } 32 }
32 33
33 // Returns the current value within a global JavaScript variable. 34 // Returns the current value within a global JavaScript variable.
34 scoped_ptr<base::Value> GetJavaScriptVariable( 35 std::unique_ptr<base::Value> GetJavaScriptVariable(
35 const extensions::Extension* extension, 36 const extensions::Extension* extension,
36 const std::string& variable) { 37 const std::string& variable) {
37 return ExecuteJavaScript(extension, 38 return ExecuteJavaScript(extension,
38 "(function() { return " + variable + "; })()"); 39 "(function() { return " + variable + "; })()");
39 } 40 }
40 41
41 bool GetJavaScriptStringVariable(const extensions::Extension* extension, 42 bool GetJavaScriptStringVariable(const extensions::Extension* extension,
42 const std::string& variable, 43 const std::string& variable,
43 std::string* result) { 44 std::string* result) {
44 scoped_ptr<base::Value> value = GetJavaScriptVariable(extension, variable); 45 std::unique_ptr<base::Value> value =
46 GetJavaScriptVariable(extension, variable);
45 return value->GetAsString(result); 47 return value->GetAsString(result);
46 } 48 }
47 49
48 bool GetJavaScriptBooleanVariable(const extensions::Extension* extension, 50 bool GetJavaScriptBooleanVariable(const extensions::Extension* extension,
49 const std::string& variable, 51 const std::string& variable,
50 bool* result) { 52 bool* result) {
51 scoped_ptr<base::Value> value = GetJavaScriptVariable(extension, variable); 53 std::unique_ptr<base::Value> value =
54 GetJavaScriptVariable(extension, variable);
52 return value->GetAsBoolean(result); 55 return value->GetAsBoolean(result);
53 } 56 }
54 57
55 // Ensures that all pending JavaScript execution callbacks are invoked. 58 // Ensures that all pending JavaScript execution callbacks are invoked.
56 void ExecutePendingJavaScript(const extensions::Extension* extension) { 59 void ExecutePendingJavaScript(const extensions::Extension* extension) {
57 ExecuteJavaScript(extension, std::string()); 60 ExecuteJavaScript(extension, std::string());
58 } 61 }
59 62
60 // Invokes tray->StartCast(id) and returns true if launchDesktopMirroring was 63 // Invokes tray->StartCast(id) and returns true if launchDesktopMirroring was
61 // called with the same id. This automatically creates/destroys the detail view 64 // called with the same id. This automatically creates/destroys the detail view
62 // and notifies the tray that Chrome has begun casting. 65 // and notifies the tray that Chrome has begun casting.
63 bool StartCastWithVerification(const extensions::Extension* extension, 66 bool StartCastWithVerification(const extensions::Extension* extension,
64 ash::TrayCast* tray, 67 ash::TrayCast* tray,
65 const std::string& receiver_id) { 68 const std::string& receiver_id) {
66 ash::SystemTrayItem* system_tray_item = tray; 69 ash::SystemTrayItem* system_tray_item = tray;
67 ash::TrayCastTestAPI test_tray(tray); 70 ash::TrayCastTestAPI test_tray(tray);
68 71
69 // We will simulate a button click in the detail view to begin the cast, so we 72 // We will simulate a button click in the detail view to begin the cast, so we
70 // need to make a detail view available. 73 // need to make a detail view available.
71 scoped_ptr<views::View> detailed_view = 74 std::unique_ptr<views::View> detailed_view =
72 make_scoped_ptr(system_tray_item->CreateDetailedView( 75 base::WrapUnique(system_tray_item->CreateDetailedView(
73 ash::user::LoginStatus::LOGGED_IN_USER)); 76 ash::user::LoginStatus::LOGGED_IN_USER));
74 77
75 // Clear out any old state and execute any pending JS calls created from the 78 // Clear out any old state and execute any pending JS calls created from the
76 // CreateDetailedView call. 79 // CreateDetailedView call.
77 ExecuteJavaScript(extension, "launchDesktopMirroringReceiverId = ''"); 80 ExecuteJavaScript(extension, "launchDesktopMirroringReceiverId = ''");
78 81
79 // Tell the tray item that Chrome has started casting. 82 // Tell the tray item that Chrome has started casting.
80 test_tray.StartCast(receiver_id); 83 test_tray.StartCast(receiver_id);
81 test_tray.OnCastingSessionStartedOrStopped(true); 84 test_tray.OnCastingSessionStartedOrStopped(true);
82 85
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 cast_config_delegate->LaunchCastOptions(); 279 cast_config_delegate->LaunchCastOptions();
277 280
278 const GURL url = 281 const GURL url =
279 browser()->tab_strip_model()->GetActiveWebContents()->GetURL(); 282 browser()->tab_strip_model()->GetActiveWebContents()->GetURL();
280 EXPECT_TRUE(base::StringPiece(url.GetContent()).ends_with("options.html")); 283 EXPECT_TRUE(base::StringPiece(url.GetContent()).ends_with("options.html"));
281 284
282 UninstallExtension(extension->id()); 285 UninstallExtension(extension->id());
283 } 286 }
284 287
285 } // namespace chromeos 288 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/ui/ash/system_tray_delegate_common.h ('k') | chrome/browser/ui/ash/volume_controller_browsertest_chromeos.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698