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

Side by Side Diff: chrome/browser/extensions/extension_web_ui_unittest.cc

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 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 "base/command_line.h" 5 #include "base/command_line.h"
6 #include "base/message_loop/message_loop.h" 6 #include "base/message_loop/message_loop.h"
7 #include "build/build_config.h" 7 #include "build/build_config.h"
8 #include "chrome/browser/extensions/extension_service.h" 8 #include "chrome/browser/extensions/extension_service.h"
9 #include "chrome/browser/extensions/extension_web_ui.h" 9 #include "chrome/browser/extensions/extension_web_ui.h"
10 #include "chrome/browser/extensions/extension_web_ui_override_registrar.h" 10 #include "chrome/browser/extensions/extension_web_ui_override_registrar.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 70
71 // Test that component extension url overrides have lower priority than 71 // Test that component extension url overrides have lower priority than
72 // non-component extension url overrides. 72 // non-component extension url overrides.
73 TEST_F(ExtensionWebUITest, ExtensionURLOverride) { 73 TEST_F(ExtensionWebUITest, ExtensionURLOverride) {
74 const char kOverrideResource[] = "1.html"; 74 const char kOverrideResource[] = "1.html";
75 // Register a non-component extension. 75 // Register a non-component extension.
76 DictionaryBuilder manifest; 76 DictionaryBuilder manifest;
77 manifest.Set(manifest_keys::kName, "ext1") 77 manifest.Set(manifest_keys::kName, "ext1")
78 .Set(manifest_keys::kVersion, "0.1") 78 .Set(manifest_keys::kVersion, "0.1")
79 .Set(std::string(manifest_keys::kChromeURLOverrides), 79 .Set(std::string(manifest_keys::kChromeURLOverrides),
80 std::move(DictionaryBuilder().Set("bookmarks", kOverrideResource))); 80 DictionaryBuilder().Set("bookmarks", kOverrideResource).Build());
81 scoped_refptr<Extension> ext_unpacked( 81 scoped_refptr<Extension> ext_unpacked(
82 ExtensionBuilder() 82 ExtensionBuilder()
83 .SetManifest(std::move(manifest)) 83 .SetManifest(manifest.Build())
84 .SetLocation(Manifest::UNPACKED) 84 .SetLocation(Manifest::UNPACKED)
85 .SetID("abcdefghijabcdefghijabcdefghijaa") 85 .SetID("abcdefghijabcdefghijabcdefghijaa")
86 .Build()); 86 .Build());
87 extension_service_->AddExtension(ext_unpacked.get()); 87 extension_service_->AddExtension(ext_unpacked.get());
88 88
89 const GURL kExpectedUnpackedOverrideUrl = 89 const GURL kExpectedUnpackedOverrideUrl =
90 ext_unpacked->GetResourceURL(kOverrideResource); 90 ext_unpacked->GetResourceURL(kOverrideResource);
91 const GURL kBookmarksUrl("chrome://bookmarks"); 91 const GURL kBookmarksUrl("chrome://bookmarks");
92 GURL changed_url = kBookmarksUrl; 92 GURL changed_url = kBookmarksUrl;
93 EXPECT_TRUE( 93 EXPECT_TRUE(
(...skipping 11 matching lines...) Expand all
105 EXPECT_TRUE(ExtensionWebUI::HandleChromeURLOverrideReverse(&url_plus_fragment, 105 EXPECT_TRUE(ExtensionWebUI::HandleChromeURLOverrideReverse(&url_plus_fragment,
106 profile_.get())); 106 profile_.get()));
107 EXPECT_EQ(kBookmarksUrl.Resolve("#1"), url_plus_fragment); 107 EXPECT_EQ(kBookmarksUrl.Resolve("#1"), url_plus_fragment);
108 108
109 // Register a component extension 109 // Register a component extension
110 const char kOverrideResource2[] = "2.html"; 110 const char kOverrideResource2[] = "2.html";
111 DictionaryBuilder manifest2; 111 DictionaryBuilder manifest2;
112 manifest2.Set(manifest_keys::kName, "ext2") 112 manifest2.Set(manifest_keys::kName, "ext2")
113 .Set(manifest_keys::kVersion, "0.1") 113 .Set(manifest_keys::kVersion, "0.1")
114 .Set(std::string(manifest_keys::kChromeURLOverrides), 114 .Set(std::string(manifest_keys::kChromeURLOverrides),
115 std::move(DictionaryBuilder().Set("bookmarks", kOverrideResource2))); 115 DictionaryBuilder().Set("bookmarks", kOverrideResource2).Build());
116 scoped_refptr<Extension> ext_component( 116 scoped_refptr<Extension> ext_component(
117 ExtensionBuilder() 117 ExtensionBuilder()
118 .SetManifest(std::move(manifest2)) 118 .SetManifest(manifest2.Build())
119 .SetLocation(Manifest::COMPONENT) 119 .SetLocation(Manifest::COMPONENT)
120 .SetID("bbabcdefghijabcdefghijabcdefghij") 120 .SetID("bbabcdefghijabcdefghijabcdefghij")
121 .Build()); 121 .Build());
122 extension_service_->AddComponentExtension(ext_component.get()); 122 extension_service_->AddComponentExtension(ext_component.get());
123 123
124 // Despite being registered more recently, the component extension should 124 // Despite being registered more recently, the component extension should
125 // not take precedence over the non-component extension. 125 // not take precedence over the non-component extension.
126 changed_url = kBookmarksUrl; 126 changed_url = kBookmarksUrl;
127 EXPECT_TRUE( 127 EXPECT_TRUE(
128 ExtensionWebUI::HandleChromeURLOverride(&changed_url, profile_.get())); 128 ExtensionWebUI::HandleChromeURLOverride(&changed_url, profile_.get()));
(...skipping 23 matching lines...) Expand all
152 changed_url = kBookmarksUrl; 152 changed_url = kBookmarksUrl;
153 EXPECT_TRUE( 153 EXPECT_TRUE(
154 ExtensionWebUI::HandleChromeURLOverride(&changed_url, profile_.get())); 154 ExtensionWebUI::HandleChromeURLOverride(&changed_url, profile_.get()));
155 EXPECT_EQ(kExpectedUnpackedOverrideUrl, changed_url); 155 EXPECT_EQ(kExpectedUnpackedOverrideUrl, changed_url);
156 EXPECT_TRUE(ExtensionWebUI::HandleChromeURLOverrideReverse(&changed_url, 156 EXPECT_TRUE(ExtensionWebUI::HandleChromeURLOverrideReverse(&changed_url,
157 profile_.get())); 157 profile_.get()));
158 EXPECT_EQ(kBookmarksUrl, changed_url); 158 EXPECT_EQ(kBookmarksUrl, changed_url);
159 } 159 }
160 160
161 } // namespace extensions 161 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698