Index: chrome/browser/banners/app_banner_manager.cc |
diff --git a/chrome/browser/banners/app_banner_manager.cc b/chrome/browser/banners/app_banner_manager.cc |
index dd3615d7c47fe25355a4d3a6ddfa439acaf7fdce..62484f40996facc01bb3340214c58db40ac6ec0b 100644 |
--- a/chrome/browser/banners/app_banner_manager.cc |
+++ b/chrome/browser/banners/app_banner_manager.cc |
@@ -49,21 +49,8 @@ AppBannerManager::~AppBannerManager() { |
void AppBannerManager::DidFinishLoad( |
content::RenderFrameHost* render_frame_host, |
const GURL& validated_url) { |
- if (render_frame_host->GetParent()) |
- return; |
- |
- if (data_fetcher_.get() && data_fetcher_->is_active() && |
- URLsAreForTheSamePage(data_fetcher_->validated_url(), validated_url)) { |
+ if (!ValidateFrameHostAndOrigin(render_frame_host, validated_url)) |
benwells
2015/06/11 01:54:24
What is this change for?
dominickn (DO NOT USE)
2015/06/11 03:32:12
It was due to the former implementation of this fe
|
return; |
- } |
- |
- // A secure origin is required to show banners, so exit early if we see the |
- // URL is invalid. |
- if (!content::IsOriginSecure(validated_url) && |
- !gDisableSecureCheckForTesting) { |
- OutputDeveloperNotShownMessage(web_contents(), kNotServedFromSecureOrigin); |
- return; |
- } |
// Kick off the data retrieval pipeline. |
data_fetcher_ = CreateAppBannerDataFetcher(weak_factory_.GetWeakPtr(), |
@@ -77,6 +64,27 @@ bool AppBannerManager::HandleNonWebApp(const std::string& platform, |
return false; |
} |
+bool AppBannerManager::ValidateFrameHostAndOrigin( |
+ content::RenderFrameHost* render_frame_host, |
+ const GURL& validated_url) { |
+ if (render_frame_host->GetParent()) |
+ return false; |
+ |
+ if (data_fetcher_.get() && data_fetcher_->is_active() && |
+ URLsAreForTheSamePage(data_fetcher_->validated_url(), validated_url)) { |
+ return false; |
+ } |
+ |
+ // A secure origin is required to show banners, so exit early if we see the |
+ // URL is invalid. |
+ if (!content::IsOriginSecure(validated_url) && |
+ !gDisableSecureCheckForTesting) { |
+ OutputDeveloperNotShownMessage(web_contents(), kNotServedFromSecureOrigin); |
+ return false; |
+ } |
+ return true; |
+} |
+ |
void AppBannerManager::ReplaceWebContents(content::WebContents* web_contents) { |
Observe(web_contents); |
if (data_fetcher_.get()) |