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

Side by Side Diff: chrome/renderer/content_settings_observer.cc

Issue 1182183003: Move EndsWith to base namespace. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 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 #include "chrome/renderer/content_settings_observer.h" 5 #include "chrome/renderer/content_settings_observer.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/metrics/histogram.h" 8 #include "base/metrics/histogram.h"
9 #include "components/content_settings/content/common/content_settings_messages.h " 9 #include "components/content_settings/content/common/content_settings_messages.h "
10 #include "content/public/common/url_constants.h" 10 #include "content/public/common/url_constants.h"
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 static const char kGoogleIntlPathPrefix[] = "/intl/"; 100 static const char kGoogleIntlPathPrefix[] = "/intl/";
101 static const char kDotJS[] = ".js"; 101 static const char kDotJS[] = ".js";
102 static const char kDotCSS[] = ".css"; 102 static const char kDotCSS[] = ".css";
103 static const char kDotSWF[] = ".swf"; 103 static const char kDotSWF[] = ".swf";
104 static const char kDotHTML[] = ".html"; 104 static const char kDotHTML[] = ".html";
105 105
106 // Constants for mixed-content blocking. 106 // Constants for mixed-content blocking.
107 static const char kGoogleDotCom[] = "google.com"; 107 static const char kGoogleDotCom[] = "google.com";
108 108
109 static bool IsHostInDomain(const std::string& host, const std::string& domain) { 109 static bool IsHostInDomain(const std::string& host, const std::string& domain) {
110 return (EndsWith(host, domain, false) && 110 return (base::EndsWith(host, domain, false) &&
111 (host.length() == domain.length() || 111 (host.length() == domain.length() ||
112 (host.length() > domain.length() && 112 (host.length() > domain.length() &&
113 host[host.length() - domain.length() - 1] == '.'))); 113 host[host.length() - domain.length() - 1] == '.')));
114 } 114 }
115 115
116 GURL GetOriginOrURL(const WebFrame* frame) { 116 GURL GetOriginOrURL(const WebFrame* frame) {
117 WebString top_origin = frame->top()->securityOrigin().toString(); 117 WebString top_origin = frame->top()->securityOrigin().toString();
118 // The |top_origin| is unique ("null") e.g., for file:// URLs. Use the 118 // The |top_origin| is unique ("null") e.g., for file:// URLs. Use the
119 // document URL as the primary URL in those cases. 119 // document URL as the primary URL in those cases.
120 // TODO(alexmos): This is broken for --site-per-process, since top() can be a 120 // TODO(alexmos): This is broken for --site-per-process, since top() can be a
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after
502 SendInsecureContentSignal(INSECURE_CONTENT_DISPLAY_HOST_CODE_GOOGLE); 502 SendInsecureContentSignal(INSECURE_CONTENT_DISPLAY_HOST_CODE_GOOGLE);
503 } else if (origin_host == kGroupsDotGoogleDotCom) { 503 } else if (origin_host == kGroupsDotGoogleDotCom) {
504 SendInsecureContentSignal(INSECURE_CONTENT_DISPLAY_HOST_GROUPS_GOOGLE); 504 SendInsecureContentSignal(INSECURE_CONTENT_DISPLAY_HOST_GROUPS_GOOGLE);
505 } else if (origin_host == kMapsDotGoogleDotCom) { 505 } else if (origin_host == kMapsDotGoogleDotCom) {
506 SendInsecureContentSignal(INSECURE_CONTENT_DISPLAY_HOST_MAPS_GOOGLE); 506 SendInsecureContentSignal(INSECURE_CONTENT_DISPLAY_HOST_MAPS_GOOGLE);
507 } else if (origin_host == kWWWDotYoutubeDotCom) { 507 } else if (origin_host == kWWWDotYoutubeDotCom) {
508 SendInsecureContentSignal(INSECURE_CONTENT_DISPLAY_HOST_YOUTUBE); 508 SendInsecureContentSignal(INSECURE_CONTENT_DISPLAY_HOST_YOUTUBE);
509 } 509 }
510 510
511 GURL resource_gurl(resource_url); 511 GURL resource_gurl(resource_url);
512 if (EndsWith(resource_gurl.path(), kDotHTML, false)) 512 if (base::EndsWith(resource_gurl.path(), kDotHTML, false))
513 SendInsecureContentSignal(INSECURE_CONTENT_DISPLAY_HTML); 513 SendInsecureContentSignal(INSECURE_CONTENT_DISPLAY_HTML);
514 514
515 if (allowed_per_settings || allow_displaying_insecure_content_) 515 if (allowed_per_settings || allow_displaying_insecure_content_)
516 return true; 516 return true;
517 517
518 Send(new ChromeViewHostMsg_DidBlockDisplayingInsecureContent(routing_id())); 518 Send(new ChromeViewHostMsg_DidBlockDisplayingInsecureContent(routing_id()));
519 519
520 return false; 520 return false;
521 } 521 }
522 522
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
557 } else if (origin_host == kPicasawebDotGoogleDotCom) { 557 } else if (origin_host == kPicasawebDotGoogleDotCom) {
558 SendInsecureContentSignal(INSECURE_CONTENT_RUN_HOST_PICASAWEB_GOOGLE); 558 SendInsecureContentSignal(INSECURE_CONTENT_RUN_HOST_PICASAWEB_GOOGLE);
559 } else if (origin_host == kCodeDotGoogleDotCom) { 559 } else if (origin_host == kCodeDotGoogleDotCom) {
560 SendInsecureContentSignal(INSECURE_CONTENT_RUN_HOST_CODE_GOOGLE); 560 SendInsecureContentSignal(INSECURE_CONTENT_RUN_HOST_CODE_GOOGLE);
561 } else if (origin_host == kGroupsDotGoogleDotCom) { 561 } else if (origin_host == kGroupsDotGoogleDotCom) {
562 SendInsecureContentSignal(INSECURE_CONTENT_RUN_HOST_GROUPS_GOOGLE); 562 SendInsecureContentSignal(INSECURE_CONTENT_RUN_HOST_GROUPS_GOOGLE);
563 } else if (origin_host == kMapsDotGoogleDotCom) { 563 } else if (origin_host == kMapsDotGoogleDotCom) {
564 SendInsecureContentSignal(INSECURE_CONTENT_RUN_HOST_MAPS_GOOGLE); 564 SendInsecureContentSignal(INSECURE_CONTENT_RUN_HOST_MAPS_GOOGLE);
565 } else if (origin_host == kWWWDotYoutubeDotCom) { 565 } else if (origin_host == kWWWDotYoutubeDotCom) {
566 SendInsecureContentSignal(INSECURE_CONTENT_RUN_HOST_YOUTUBE); 566 SendInsecureContentSignal(INSECURE_CONTENT_RUN_HOST_YOUTUBE);
567 } else if (EndsWith(origin_host, kDotGoogleUserContentDotCom, false)) { 567 } else if (base::EndsWith(origin_host, kDotGoogleUserContentDotCom, false)) {
568 SendInsecureContentSignal(INSECURE_CONTENT_RUN_HOST_GOOGLEUSERCONTENT); 568 SendInsecureContentSignal(INSECURE_CONTENT_RUN_HOST_GOOGLEUSERCONTENT);
569 } 569 }
570 570
571 GURL resource_gurl(resource_url); 571 GURL resource_gurl(resource_url);
572 if (resource_gurl.host() == kWWWDotYoutubeDotCom) 572 if (resource_gurl.host() == kWWWDotYoutubeDotCom)
573 SendInsecureContentSignal(INSECURE_CONTENT_RUN_TARGET_YOUTUBE); 573 SendInsecureContentSignal(INSECURE_CONTENT_RUN_TARGET_YOUTUBE);
574 574
575 if (EndsWith(resource_gurl.path(), kDotJS, false)) 575 if (base::EndsWith(resource_gurl.path(), kDotJS, false))
576 SendInsecureContentSignal(INSECURE_CONTENT_RUN_JS); 576 SendInsecureContentSignal(INSECURE_CONTENT_RUN_JS);
577 else if (EndsWith(resource_gurl.path(), kDotCSS, false)) 577 else if (base::EndsWith(resource_gurl.path(), kDotCSS, false))
578 SendInsecureContentSignal(INSECURE_CONTENT_RUN_CSS); 578 SendInsecureContentSignal(INSECURE_CONTENT_RUN_CSS);
579 else if (EndsWith(resource_gurl.path(), kDotSWF, false)) 579 else if (base::EndsWith(resource_gurl.path(), kDotSWF, false))
580 SendInsecureContentSignal(INSECURE_CONTENT_RUN_SWF); 580 SendInsecureContentSignal(INSECURE_CONTENT_RUN_SWF);
581 581
582 if (!allow_running_insecure_content_ && !allowed_per_settings) { 582 if (!allow_running_insecure_content_ && !allowed_per_settings) {
583 DidBlockContentType(CONTENT_SETTINGS_TYPE_MIXEDSCRIPT, origin.host()); 583 DidBlockContentType(CONTENT_SETTINGS_TYPE_MIXEDSCRIPT, origin.host());
584 return false; 584 return false;
585 } 585 }
586 586
587 return true; 587 return true;
588 } 588 }
589 589
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
717 717
718 // If the scheme is file:, an empty file name indicates a directory listing, 718 // If the scheme is file:, an empty file name indicates a directory listing,
719 // which requires JavaScript to function properly. 719 // which requires JavaScript to function properly.
720 if (base::EqualsASCII(origin.protocol(), url::kFileScheme)) { 720 if (base::EqualsASCII(origin.protocol(), url::kFileScheme)) {
721 return document_url.SchemeIs(url::kFileScheme) && 721 return document_url.SchemeIs(url::kFileScheme) &&
722 document_url.ExtractFileName().empty(); 722 document_url.ExtractFileName().empty();
723 } 723 }
724 724
725 return false; 725 return false;
726 } 726 }
OLDNEW
« no previous file with comments | « chrome/renderer/chrome_content_renderer_client.cc ('k') | components/devtools_http_handler/devtools_http_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698