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

Unified Diff: chrome/browser/ui/app_list/app_list_view_delegate.h

Issue 492163002: Fix Profile* lifetime issues in Chrome's AppListViewDelegate (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: update unit test, cl format Created 6 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/app_list/app_list_view_delegate.h
diff --git a/chrome/browser/ui/app_list/app_list_view_delegate.h b/chrome/browser/ui/app_list/app_list_view_delegate.h
index ec67e7489a809580c637413c31ac2702db49a107..e2ae69edf0d70d7d541aa6dcd9d9d8a455057472 100644
--- a/chrome/browser/ui/app_list/app_list_view_delegate.h
+++ b/chrome/browser/ui/app_list/app_list_view_delegate.h
@@ -52,13 +52,23 @@ class AppListViewDelegate : public app_list::AppListViewDelegate,
public SigninManagerBase::Observer,
public SigninManagerFactory::Observer {
public:
- AppListViewDelegate(Profile* profile,
- AppListControllerDelegate* controller);
+ // Constructor. Does not take ownership of |controller_delegate|.
+ // TODO(tapted): It should.
+ explicit AppListViewDelegate(AppListControllerDelegate* controller_delegate);
Matt Giuca 2014/08/25 04:48:46 I don't see why you had to delete the Profile argu
tapted 2014/08/25 06:17:00 Done. I think splitting the constructor is still
Matt Giuca 2014/08/26 01:29:45 Fair enough. Can you put back your comment about t
tapted 2014/08/26 02:43:57 Done.
virtual ~AppListViewDelegate();
+ // Configure the AppList for the given |profile|.
+ void SetProfile(Profile* profile);
+
private:
- // Updates the app list's current profile and ProfileMenuItems.
- void OnProfileChanged();
+ // Updates the speech webview and start page for the current |profile_|.
+ void SetUpSearchUI();
+
+ // Updates the app list's ProfileMenuItems for the current |profile_|.
+ void SetUpProfileSwitcher();
+
+ // Updates the app list's custom launcher pages for the current |profile_|.
+ void SetUpCustomLauncherPages();
// Overridden from app_list::AppListViewDelegate:
virtual bool ForceNativeDesktop() const OVERRIDE;
@@ -130,7 +140,6 @@ class AppListViewDelegate : public app_list::AppListViewDelegate,
const base::FilePath& profile_path,
const base::string16& old_profile_name) OVERRIDE;
- scoped_ptr<app_list::SearchController> search_controller_;
// Unowned pointer to the controller.
AppListControllerDelegate* controller_;
// Unowned pointer to the associated profile. May change if SetProfileByPath
@@ -141,6 +150,7 @@ class AppListViewDelegate : public app_list::AppListViewDelegate,
app_list::AppListModel* model_;
scoped_ptr<app_list::SpeechUIModel> speech_ui_;
+ scoped_ptr<app_list::SearchController> search_controller_;
base::TimeDelta auto_launch_timeout_;

Powered by Google App Engine
This is Rietveld 408576698