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

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

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
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 #ifndef CHROME_BROWSER_BANNERS_APP_BANNER_MANAGER_H_ 5 #ifndef CHROME_BROWSER_BANNERS_APP_BANNER_MANAGER_H_
6 #define CHROME_BROWSER_BANNERS_APP_BANNER_MANAGER_H_ 6 #define CHROME_BROWSER_BANNERS_APP_BANNER_MANAGER_H_
7 7
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/memory/weak_ptr.h" 10 #include "base/memory/weak_ptr.h"
(...skipping 20 matching lines...) Expand all
31 public AppBannerDataFetcher::Delegate { 31 public AppBannerDataFetcher::Delegate {
32 public: 32 public:
33 static void DisableSecureSchemeCheckForTesting(); 33 static void DisableSecureSchemeCheckForTesting();
34 34
35 static void SetEngagementWeights(double direct_engagement, 35 static void SetEngagementWeights(double direct_engagement,
36 double indirect_engagement); 36 double indirect_engagement);
37 37
38 // Returns whether or not the URLs match for everything except for the ref. 38 // Returns whether or not the URLs match for everything except for the ref.
39 static bool URLsAreForTheSamePage(const GURL& first, const GURL& second); 39 static bool URLsAreForTheSamePage(const GURL& first, const GURL& second);
40 40
41 explicit AppBannerManager(int icon_size); 41 explicit AppBannerManager(int ideal_icon_size_in_dp);
42 ~AppBannerManager() override; 42 ~AppBannerManager() override;
43 43
44 // WebContentsObserver overrides. 44 // WebContentsObserver overrides.
45 void DidCommitProvisionalLoadForFrame( 45 void DidCommitProvisionalLoadForFrame(
46 content::RenderFrameHost* render_frame_host, 46 content::RenderFrameHost* render_frame_host,
47 const GURL& url, 47 const GURL& url,
48 ui::PageTransition transition_type) override; 48 ui::PageTransition transition_type) override;
49 49
50 void DidFinishLoad(content::RenderFrameHost* render_frame_host, 50 void DidFinishLoad(content::RenderFrameHost* render_frame_host,
51 const GURL& validated_url) override; 51 const GURL& validated_url) override;
52 52
53 protected: 53 protected:
54 AppBannerManager(content::WebContents* web_contents, int icon_size); 54 AppBannerManager(content::WebContents* web_contents,
55 int ideal_icon_size_in_dp);
55 56
56 void ReplaceWebContents(content::WebContents* web_contents); 57 void ReplaceWebContents(content::WebContents* web_contents);
57 58
58 // Creates an AppBannerDataFetcher, which constructs an app banner. 59 // Creates an AppBannerDataFetcher, which constructs an app banner.
59 virtual AppBannerDataFetcher* CreateAppBannerDataFetcher( 60 virtual AppBannerDataFetcher* CreateAppBannerDataFetcher(
60 base::WeakPtr<AppBannerDataFetcher::Delegate> weak_delegate, 61 base::WeakPtr<AppBannerDataFetcher::Delegate> weak_delegate,
61 const int ideal_icon_size) = 0; 62 const int ideal_icon_size_in_dp) = 0;
62 63
63 // Return whether the AppBannerDataFetcher is active. 64 // Return whether the AppBannerDataFetcher is active.
64 bool IsFetcherActive(); 65 bool IsFetcherActive();
65 66
66 scoped_refptr<AppBannerDataFetcher> data_fetcher() { return data_fetcher_; } 67 scoped_refptr<AppBannerDataFetcher> data_fetcher() { return data_fetcher_; }
67 int ideal_icon_size() { return ideal_icon_size_; } 68 int ideal_icon_size_in_dp() const { return ideal_icon_size_in_dp_; }
68 69
69 private: 70 private:
70 // AppBannerDataFetcher::Delegate overrides. 71 // AppBannerDataFetcher::Delegate overrides.
71 bool HandleNonWebApp(const std::string& platform, 72 bool HandleNonWebApp(const std::string& platform,
72 const GURL& url, 73 const GURL& url,
73 const std::string& id) override; 74 const std::string& id) override;
74 75
75 // Called after the manager sends a message to the renderer regarding its 76 // Called after the manager sends a message to the renderer regarding its
76 // intention to show a prompt. The renderer will send a message back with the 77 // intention to show a prompt. The renderer will send a message back with the
77 // opportunity to cancel. 78 // opportunity to cancel.
78 void OnBannerPromptReply(content::RenderFrameHost* render_frame_host, 79 void OnBannerPromptReply(content::RenderFrameHost* render_frame_host,
79 int request_id, 80 int request_id,
80 blink::WebAppBannerPromptReply reply); 81 blink::WebAppBannerPromptReply reply);
81 82
82 // Cancels an active DataFetcher, stopping its banners from appearing. 83 // Cancels an active DataFetcher, stopping its banners from appearing.
83 void CancelActiveFetcher(); 84 void CancelActiveFetcher();
84 85
85 // Ideal icon size to use. 86 // Ideal icon size to use.
86 const int ideal_icon_size_; 87 const int ideal_icon_size_in_dp_;
87 88
88 // The type of navigation made to the page 89 // The type of navigation made to the page
89 ui::PageTransition last_transition_type_; 90 ui::PageTransition last_transition_type_;
90 91
91 // Fetches the data required to display a banner for the current page. 92 // Fetches the data required to display a banner for the current page.
92 scoped_refptr<AppBannerDataFetcher> data_fetcher_; 93 scoped_refptr<AppBannerDataFetcher> data_fetcher_;
93 94
94 // A weak pointer is used as the lifetime of the ServiceWorkerContext is 95 // A weak pointer is used as the lifetime of the ServiceWorkerContext is
95 // longer than the lifetime of this banner manager. The banner manager 96 // longer than the lifetime of this banner manager. The banner manager
96 // might be gone when calls sent to the ServiceWorkerContext are completed. 97 // might be gone when calls sent to the ServiceWorkerContext are completed.
97 base::WeakPtrFactory<AppBannerManager> weak_factory_; 98 base::WeakPtrFactory<AppBannerManager> weak_factory_;
98 99
99 DISALLOW_COPY_AND_ASSIGN(AppBannerManager); 100 DISALLOW_COPY_AND_ASSIGN(AppBannerManager);
100 }; // class AppBannerManager 101 }; // class AppBannerManager
101 102
102 } // namespace banners 103 } // namespace banners
103 104
104 #endif // CHROME_BROWSER_BANNERS_APP_BANNER_MANAGER_H_ 105 #endif // CHROME_BROWSER_BANNERS_APP_BANNER_MANAGER_H_
OLDNEW
« no previous file with comments | « chrome/browser/banners/app_banner_data_fetcher.cc ('k') | chrome/browser/banners/app_banner_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698