OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |