Index: chrome/browser/ui/touch/tabs/touch_tab_strip_controller.h |
diff --git a/chrome/browser/ui/touch/tabs/touch_tab_strip_controller.h b/chrome/browser/ui/touch/tabs/touch_tab_strip_controller.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..22adf9809d82791f09bff4c09aa14b4112a945c6 |
--- /dev/null |
+++ b/chrome/browser/ui/touch/tabs/touch_tab_strip_controller.h |
@@ -0,0 +1,50 @@ |
+// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CHROME_BROWSER_UI_TOUCH_TABS_TOUCH_TAB_STRIP_CONTROLLER_H_ |
+#define CHROME_BROWSER_UI_TOUCH_TABS_TOUCH_TAB_STRIP_CONTROLLER_H_ |
+#pragma once |
+ |
+#include <map> |
+ |
+#include "chrome/browser/favicon/favicon_service.h" |
+#include "chrome/browser/history/history.h" |
+#include "chrome/browser/ui/views/tabs/browser_tab_strip_controller.h" |
+ |
+class Profile; |
+ |
+// Subclassing BrowserTabStripController to provide touch specific behavior. |
+class TouchTabStripController: public BrowserTabStripController { |
+ public: |
+ TouchTabStripController(Browser* browser, TabStripModel* model); |
+ virtual ~TouchTabStripController(); |
+ |
+ virtual void TabChangedAt(TabContentsWrapper* contents, int model_index, |
sky
2011/06/09 16:53:00
nit: if you have to wrap, then put each param on i
Emmanuel Saint-loubert-Bié
2011/06/10 02:21:45
Done.
|
+ TabChangeType change_type) OVERRIDE; |
+ |
+ void OnTouchIconAvailable(FaviconService::Handle h, |
sky
2011/06/09 16:53:00
make this private.
Emmanuel Saint-loubert-Bié
2011/06/10 02:21:45
Done.
|
+ history::FaviconData favicon); |
+ |
+ protected: |
+ virtual void SetTabRendererDataFromModel(TabContents* contents, |
+ int model_index, TabRendererData* data) OVERRIDE; |
+ |
+ private: |
+ |
sky
2011/06/09 16:53:00
nit: no newline here.
Emmanuel Saint-loubert-Bié
2011/06/10 02:21:45
Done.
|
+ // Profile obtained from Browser object in constructor. |
+ Profile* profile_; |
sky
2011/06/09 16:53:00
Remove this and make profile() in BrowserTabStripC
Emmanuel Saint-loubert-Bié
2011/06/10 02:21:45
Cool and done.
|
+ |
+ // Mapping of model index to URLS and URLs to Touch Icons |
+ typedef std::map<int, GURL> ModelIndexMap; |
sky
2011/06/09 16:53:00
If you cache by model index it means you have to t
Emmanuel Saint-loubert-Bié
2011/06/10 02:21:45
You are right of course using the model that way i
|
+ ModelIndexMap model_index_map_; |
+ typedef std::map<GURL, SkBitmap> TouchIconMap; |
+ TouchIconMap touch_icon_map_; |
+ |
+ // Our consumer for touch icon requests (takes the model_index as data) |
+ CancelableRequestConsumerT<int, 0> consumer_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(TouchTabStripController); |
+}; |
+ |
+#endif // CHROME_BROWSER_UI_TOUCH_TABS_TOUCH_TAB_STRIP_CONTROLLER_H_ |