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

Side by Side Diff: chrome/browser/banners/app_banner_manager.cc

Issue 1310223002: webapps: initial addition of splash screen icon downloading (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@webapps-database-exp
Patch Set: Fix compile Created 5 years, 3 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/browser/banners/app_banner_manager.h ('k') | chrome/test/data/banners/image-512px.png » ('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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/browser/banners/app_banner_manager.h" 5 #include "chrome/browser/banners/app_banner_manager.h"
6 6
7 #include "chrome/browser/banners/app_banner_data_fetcher.h" 7 #include "chrome/browser/banners/app_banner_data_fetcher.h"
8 #include "chrome/browser/banners/app_banner_debug_log.h" 8 #include "chrome/browser/banners/app_banner_debug_log.h"
9 #include "chrome/browser/banners/app_banner_settings_helper.h" 9 #include "chrome/browser/banners/app_banner_settings_helper.h"
10 #include "content/public/browser/navigation_details.h" 10 #include "content/public/browser/navigation_details.h"
11 #include "content/public/browser/render_frame_host.h" 11 #include "content/public/browser/render_frame_host.h"
12 #include "content/public/browser/web_contents.h" 12 #include "content/public/browser/web_contents.h"
13 #include "content/public/common/frame_navigate_params.h" 13 #include "content/public/common/frame_navigate_params.h"
14 #include "content/public/common/origin_util.h" 14 #include "content/public/common/origin_util.h"
15 #include "net/base/load_flags.h" 15 #include "net/base/load_flags.h"
16 #include "ui/gfx/screen.h" 16 #include "ui/gfx/screen.h"
17 17
18 namespace { 18 namespace {
19 bool gDisableSecureCheckForTesting = false; 19 bool gDisableSecureCheckForTesting = false;
20 } // anonymous namespace 20 } // anonymous namespace
21 21
22 namespace banners { 22 namespace banners {
23 23
24 bool AppBannerManager::URLsAreForTheSamePage(const GURL& first, 24 bool AppBannerManager::URLsAreForTheSamePage(const GURL& first,
25 const GURL& second) { 25 const GURL& second) {
26 return first.GetWithEmptyPath() == second.GetWithEmptyPath() && 26 return first.GetWithEmptyPath() == second.GetWithEmptyPath() &&
27 first.path() == second.path() && first.query() == second.query(); 27 first.path() == second.path() && first.query() == second.query();
28 } 28 }
29 29
30 AppBannerManager::AppBannerManager(int icon_size) 30 AppBannerManager::AppBannerManager(int ideal_icon_size_in_dp)
31 : ideal_icon_size_(icon_size), 31 : ideal_icon_size_in_dp_(ideal_icon_size_in_dp),
32 data_fetcher_(nullptr), 32 data_fetcher_(nullptr),
33 weak_factory_(this) { 33 weak_factory_(this) {
34 AppBannerSettingsHelper::UpdateFromFieldTrial(); 34 AppBannerSettingsHelper::UpdateFromFieldTrial();
35 } 35 }
36 36
37 AppBannerManager::AppBannerManager(content::WebContents* web_contents, 37 AppBannerManager::AppBannerManager(content::WebContents* web_contents,
38 int icon_size) 38 int ideal_icon_size_in_dp)
39 : content::WebContentsObserver(web_contents), 39 : content::WebContentsObserver(web_contents),
40 ideal_icon_size_(icon_size), 40 ideal_icon_size_in_dp_(ideal_icon_size_in_dp),
41 data_fetcher_(nullptr), 41 data_fetcher_(nullptr),
42 weak_factory_(this) { 42 weak_factory_(this) {
43 AppBannerSettingsHelper::UpdateFromFieldTrial(); 43 AppBannerSettingsHelper::UpdateFromFieldTrial();
44 } 44 }
45 45
46 AppBannerManager::~AppBannerManager() { 46 AppBannerManager::~AppBannerManager() {
47 CancelActiveFetcher(); 47 CancelActiveFetcher();
48 } 48 }
49 49
50 void AppBannerManager::DidCommitProvisionalLoadForFrame( 50 void AppBannerManager::DidCommitProvisionalLoadForFrame(
(...skipping 17 matching lines...) Expand all
68 // A secure origin is required to show banners, so exit early if we see the 68 // A secure origin is required to show banners, so exit early if we see the
69 // URL is invalid. 69 // URL is invalid.
70 if (!content::IsOriginSecure(validated_url) && 70 if (!content::IsOriginSecure(validated_url) &&
71 !gDisableSecureCheckForTesting) { 71 !gDisableSecureCheckForTesting) {
72 OutputDeveloperNotShownMessage(web_contents(), kNotServedFromSecureOrigin); 72 OutputDeveloperNotShownMessage(web_contents(), kNotServedFromSecureOrigin);
73 return; 73 return;
74 } 74 }
75 75
76 // Kick off the data retrieval pipeline. 76 // Kick off the data retrieval pipeline.
77 data_fetcher_ = CreateAppBannerDataFetcher(weak_factory_.GetWeakPtr(), 77 data_fetcher_ = CreateAppBannerDataFetcher(weak_factory_.GetWeakPtr(),
78 ideal_icon_size_); 78 ideal_icon_size_in_dp_);
79 data_fetcher_->Start(validated_url, last_transition_type_); 79 data_fetcher_->Start(validated_url, last_transition_type_);
80 } 80 }
81 81
82 bool AppBannerManager::HandleNonWebApp(const std::string& platform, 82 bool AppBannerManager::HandleNonWebApp(const std::string& platform,
83 const GURL& url, 83 const GURL& url,
84 const std::string& id) { 84 const std::string& id) {
85 return false; 85 return false;
86 } 86 }
87 87
88 void AppBannerManager::ReplaceWebContents(content::WebContents* web_contents) { 88 void AppBannerManager::ReplaceWebContents(content::WebContents* web_contents) {
(...skipping 17 matching lines...) Expand all
106 gDisableSecureCheckForTesting = true; 106 gDisableSecureCheckForTesting = true;
107 } 107 }
108 108
109 void AppBannerManager::SetEngagementWeights(double direct_engagement, 109 void AppBannerManager::SetEngagementWeights(double direct_engagement,
110 double indirect_engagement) { 110 double indirect_engagement) {
111 AppBannerSettingsHelper::SetEngagementWeights(direct_engagement, 111 AppBannerSettingsHelper::SetEngagementWeights(direct_engagement,
112 indirect_engagement); 112 indirect_engagement);
113 } 113 }
114 114
115 } // namespace banners 115 } // namespace banners
OLDNEW
« no previous file with comments | « chrome/browser/banners/app_banner_manager.h ('k') | chrome/test/data/banners/image-512px.png » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698