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

Side by Side Diff: chrome/browser/ui/cocoa/extensions/extension_installed_bubble_controller_unittest.mm

Issue 1739183003: Make extensions::DictionaryBuilder and extensions::ListValue unmovable. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #import <Cocoa/Cocoa.h> 5 #import <Cocoa/Cocoa.h>
6 #include <stddef.h> 6 #include <stddef.h>
7 7
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/files/file_util.h" 10 #include "base/files/file_util.h"
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 // optionally with an associated keybinding. 72 // optionally with an associated keybinding.
73 void CreateExtension(ExtensionType type, 73 void CreateExtension(ExtensionType type,
74 bool has_keybinding, 74 bool has_keybinding,
75 extensions::Manifest::Location location) { 75 extensions::Manifest::Location location) {
76 DictionaryBuilder manifest; 76 DictionaryBuilder manifest;
77 manifest.Set("version", "1.0"); 77 manifest.Set("version", "1.0");
78 manifest.Set("name", "extension"); 78 manifest.Set("name", "extension");
79 manifest.Set("manifest_version", 2); 79 manifest.Set("manifest_version", 2);
80 switch (type) { 80 switch (type) {
81 case PAGE_ACTION: 81 case PAGE_ACTION:
82 manifest.Set("page_action", DictionaryBuilder()); 82 manifest.Set("page_action", DictionaryBuilder().Build());
83 break; 83 break;
84 case BROWSER_ACTION: 84 case BROWSER_ACTION:
85 manifest.Set("browser_action", DictionaryBuilder()); 85 manifest.Set("browser_action", DictionaryBuilder().Build());
86 break; 86 break;
87 case APP: 87 case APP:
88 manifest.Set("app", 88 manifest.Set(
89 std::move(DictionaryBuilder().Set( 89 "app",
90 "launch", std::move(DictionaryBuilder().Set( 90 DictionaryBuilder()
91 "web_url", "http://www.example.com"))))); 91 .Set("launch", DictionaryBuilder()
92 .Set("web_url", "http://www.example.com")
93 .Build())
94 .Build());
92 break; 95 break;
93 } 96 }
94 97
95 if (has_keybinding) { 98 if (has_keybinding) {
96 DictionaryBuilder command; 99 DictionaryBuilder command;
97 command.Set(type == PAGE_ACTION ? "_execute_page_action" 100 command.Set(type == PAGE_ACTION ? "_execute_page_action"
98 : "_execute_browser_action", 101 : "_execute_browser_action",
99 std::move(DictionaryBuilder().Set( 102 DictionaryBuilder()
100 "suggested_key", 103 .Set("suggested_key", DictionaryBuilder()
101 std::move(DictionaryBuilder() 104 .Set("mac", "MacCtrl+Shift+E")
102 .Set("mac", "MacCtrl+Shift+E") 105 .Set("default", "Ctrl+Shift+E")
103 .Set("default", "Ctrl+Shift+E"))))); 106 .Build())
104 manifest.Set("commands", std::move(command)); 107 .Build());
108 manifest.Set("commands", command.Build());
105 } 109 }
106 110
107 extension_ = extensions::ExtensionBuilder() 111 extension_ = extensions::ExtensionBuilder()
108 .SetManifest(std::move(manifest)) 112 .SetManifest(manifest.Build())
109 .SetID(crx_file::id_util::GenerateId("foo")) 113 .SetID(crx_file::id_util::GenerateId("foo"))
110 .SetLocation(location) 114 .SetLocation(location)
111 .Build(); 115 .Build();
112 extensionService_->AddExtension(extension_.get()); 116 extensionService_->AddExtension(extension_.get());
113 if (has_keybinding) { 117 if (has_keybinding) {
114 // Slight hack: manually notify the command service of the extension since 118 // Slight hack: manually notify the command service of the extension since
115 // it doesn't go through the normal installation flow. 119 // it doesn't go through the normal installation flow.
116 extensions::CommandService::Get(profile())->UpdateKeybindingsForTest( 120 extensions::CommandService::Get(profile())->UpdateKeybindingsForTest(
117 extension_.get()); 121 extension_.get());
118 } 122 }
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 // Make sure there is always enough room for the icon and margin. 370 // Make sure there is always enough room for the icon and margin.
367 int minHeight = extension_installed_bubble::kIconSize + 371 int minHeight = extension_installed_bubble::kIconSize +
368 (2 * extension_installed_bubble::kOuterVerticalMargin); 372 (2 * extension_installed_bubble::kOuterVerticalMargin);
369 EXPECT_GT(height, minHeight); 373 EXPECT_GT(height, minHeight);
370 374
371 // Make sure the "show me" link is visible. 375 // Make sure the "show me" link is visible.
372 EXPECT_FALSE([[controller appInstalledShortcutLink] isHidden]); 376 EXPECT_FALSE([[controller appInstalledShortcutLink] isHidden]);
373 377
374 [controller close]; 378 [controller close];
375 } 379 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698