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

Side by Side Diff: extensions/browser/extension_protocols.cc

Issue 2626923002: Make ExtensionIconSet::ContainsPath use StringPiece. (Closed)
Patch Set: Created 3 years, 11 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
« no previous file with comments | « chrome/test/BUILD.gn ('k') | extensions/browser/url_request_util.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "extensions/browser/extension_protocols.h" 5 #include "extensions/browser/extension_protocols.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after
386 return false; 386 return false;
387 } 387 }
388 388
389 // Returns true if the given URL references an icon in the given extension. 389 // Returns true if the given URL references an icon in the given extension.
390 bool URLIsForExtensionIcon(const GURL& url, const Extension* extension) { 390 bool URLIsForExtensionIcon(const GURL& url, const Extension* extension) {
391 DCHECK(url.SchemeIs(extensions::kExtensionScheme)); 391 DCHECK(url.SchemeIs(extensions::kExtensionScheme));
392 392
393 if (!extension) 393 if (!extension)
394 return false; 394 return false;
395 395
396 std::string path = url.path();
397 DCHECK_EQ(url.host(), extension->id()); 396 DCHECK_EQ(url.host(), extension->id());
397 base::StringPiece path = url.path_piece();
398 DCHECK(path.length() > 0 && path[0] == '/'); 398 DCHECK(path.length() > 0 && path[0] == '/');
399 path = path.substr(1); 399 base::StringPiece path_without_slash = path.substr(1);
400 return extensions::IconsInfo::GetIcons(extension).ContainsPath(path); 400 return extensions::IconsInfo::GetIcons(extension).ContainsPath(
401 path_without_slash);
401 } 402 }
402 403
403 class ExtensionProtocolHandler 404 class ExtensionProtocolHandler
404 : public net::URLRequestJobFactory::ProtocolHandler { 405 : public net::URLRequestJobFactory::ProtocolHandler {
405 public: 406 public:
406 ExtensionProtocolHandler(bool is_incognito, 407 ExtensionProtocolHandler(bool is_incognito,
407 extensions::InfoMap* extension_info_map) 408 extensions::InfoMap* extension_info_map)
408 : is_incognito_(is_incognito), extension_info_map_(extension_info_map) {} 409 : is_incognito_(is_incognito), extension_info_map_(extension_info_map) {}
409 410
410 ~ExtensionProtocolHandler() override {} 411 ~ExtensionProtocolHandler() override {}
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
597 extensions::InfoMap* extension_info_map) { 598 extensions::InfoMap* extension_info_map) {
598 return base::MakeUnique<ExtensionProtocolHandler>(is_incognito, 599 return base::MakeUnique<ExtensionProtocolHandler>(is_incognito,
599 extension_info_map); 600 extension_info_map);
600 } 601 }
601 602
602 void SetExtensionProtocolTestHandler(ExtensionProtocolTestHandler* handler) { 603 void SetExtensionProtocolTestHandler(ExtensionProtocolTestHandler* handler) {
603 g_test_handler = handler; 604 g_test_handler = handler;
604 } 605 }
605 606
606 } // namespace extensions 607 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/test/BUILD.gn ('k') | extensions/browser/url_request_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698