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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/product_registry_impl/ProductRegistryImpl.js

Issue 2879943003: DevTools: render product badges behind the setting. (Closed)
Patch Set: removed module from the list. Created 3 years, 7 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 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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 /** 5 /**
6 * @implements {ProductRegistry.Registry} 6 * @implements {ProductRegistry.Registry}
7 */ 7 */
8 ProductRegistryImpl.Registry = class { 8 ProductRegistryImpl.Registry = class {
9 constructor() { 9 constructor() {
10 } 10 }
11 11
12 /** 12 /**
13 * @override 13 * @override
14 * @param {!Common.ParsedURL} parsedUrl 14 * @param {!Common.ParsedURL} parsedUrl
15 * @return {?string} 15 * @return {?string}
16 */ 16 */
17 nameForUrl(parsedUrl) { 17 nameForUrl(parsedUrl) {
18 var entry = this.entryForUrl(parsedUrl); 18 var entry = this.entryForUrl(parsedUrl);
19 if (entry) 19 if (entry)
20 return entry.name; 20 return entry.name;
21 return null; 21 return null;
22 } 22 }
23 23
24 /** 24 /**
25 * @override 25 * @override
26 * @param {!Common.ParsedURL} parsedUrl 26 * @param {!Common.ParsedURL} parsedUrl
27 * @return {?ProductRegistry.Registry.ProductEntry} 27 * @return {?ProductRegistry.Registry.ProductEntry}
28 */ 28 */
29 entryForUrl(parsedUrl) { 29 entryForUrl(parsedUrl) {
30 if (parsedUrl.isDataURL()) 30 if (parsedUrl.isDataURL() || !parsedUrl.isValid)
31 return null; 31 return null;
32 // TODO(allada) This should be expanded to allow paths as as well as domain to find a product. 32 // TODO(allada) This should be expanded to allow paths as as well as domain to find a product.
33 var productsByDomainHash = ProductRegistryImpl._productsByDomainHash; 33 var productsByDomainHash = ProductRegistryImpl._productsByDomainHash;
34 // Remove leading www. if it is the only subdomain. 34 // Remove leading www. if it is the only subdomain.
35 var domain = parsedUrl.domain().replace(/^www\.(?=[^.]+\.[^.]+$)/, ''); 35 var domain = parsedUrl.domain().replace(/^www\.(?=[^.]+\.[^.]+$)/, '');
36 36
37 var previousIndex = -1; 37 var previousIndex = -1;
38 var index = -1; 38 var index = -1;
39 // Ensure we loop with full domain first, but do not loop over last part (ie : ".com"). 39 // Ensure we loop with full domain first, but do not loop over last part (ie : ".com").
40 for (var nextIndex = domain.indexOf('.'); nextIndex !== -1; nextIndex = doma in.indexOf('.', nextIndex + 1)) { 40 for (var nextIndex = domain.indexOf('.'); nextIndex !== -1; nextIndex = doma in.indexOf('.', nextIndex + 1)) {
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 var prefixEntry = entry.prefixes[prefix]; 95 var prefixEntry = entry.prefixes[prefix];
96 var type = prefixEntry.type !== undefined ? prefixEntry.type : null; 96 var type = prefixEntry.type !== undefined ? prefixEntry.type : null;
97 prefixes[prefix] = {name: productNames[prefixEntry.product], type: type}; 97 prefixes[prefix] = {name: productNames[prefixEntry.product], type: type};
98 } 98 }
99 ProductRegistryImpl._productsByDomainHash.set(entry.hash, prefixes); 99 ProductRegistryImpl._productsByDomainHash.set(entry.hash, prefixes);
100 } 100 }
101 }; 101 };
102 102
103 /** @type {!Map<string, !Object<string, !ProductRegistry.Registry.ProductEntry>> }} */ 103 /** @type {!Map<string, !Object<string, !ProductRegistry.Registry.ProductEntry>> }} */
104 ProductRegistryImpl._productsByDomainHash = new Map(); 104 ProductRegistryImpl._productsByDomainHash = new Map();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698