OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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_COCOA_LOCATION_BAR_VIEW_MAC_H_ | 5 #ifndef CHROME_BROWSER_COCOA_LOCATION_BAR_VIEW_MAC_H_ |
6 #define CHROME_BROWSER_COCOA_LOCATION_BAR_VIEW_MAC_H_ | 6 #define CHROME_BROWSER_COCOA_LOCATION_BAR_VIEW_MAC_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <map> | 9 #include <map> |
10 #include <vector> | 10 #include <vector> |
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
234 // When a new page action is created, all the icons are destroyed and | 234 // When a new page action is created, all the icons are destroyed and |
235 // recreated; at this point we need to calculate sizes to lay out the | 235 // recreated; at this point we need to calculate sizes to lay out the |
236 // icons even though no images are available yet. For this case, we return | 236 // icons even though no images are available yet. For this case, we return |
237 // the default image size for a page icon. | 237 // the default image size for a page icon. |
238 virtual NSSize GetPreferredImageSize(); | 238 virtual NSSize GetPreferredImageSize(); |
239 | 239 |
240 // Either notify listeners or show a popup depending on the Page Action. | 240 // Either notify listeners or show a popup depending on the Page Action. |
241 virtual void OnMousePressed(NSRect bounds); | 241 virtual void OnMousePressed(NSRect bounds); |
242 | 242 |
243 // Overridden from ImageLoadingTracker. | 243 // Overridden from ImageLoadingTracker. |
244 virtual void OnImageLoaded(SkBitmap* image, size_t index); | 244 virtual void OnImageLoaded( |
| 245 SkBitmap* image, ExtensionResource resource, int index); |
245 | 246 |
246 // Called to notify the Page Action that it should determine whether to be | 247 // Called to notify the Page Action that it should determine whether to be |
247 // visible or hidden. |contents| is the TabContents that is active, |url| | 248 // visible or hidden. |contents| is the TabContents that is active, |url| |
248 // is the current page URL. | 249 // is the current page URL. |
249 void UpdateVisibility(TabContents* contents, const GURL& url); | 250 void UpdateVisibility(TabContents* contents, const GURL& url); |
250 | 251 |
251 // Sets the tooltip for this Page Action image. | 252 // Sets the tooltip for this Page Action image. |
252 void SetToolTip(NSString* tooltip); | 253 void SetToolTip(NSString* tooltip); |
253 void SetToolTip(std::string tooltip); | 254 void SetToolTip(std::string tooltip); |
254 | 255 |
255 // Returns the tooltip for this Page Action image or |nil| if there is none. | 256 // Returns the tooltip for this Page Action image or |nil| if there is none. |
256 virtual const NSString* GetToolTip(); | 257 virtual const NSString* GetToolTip(); |
257 | 258 |
258 // Overridden to return a menu. | 259 // Overridden to return a menu. |
259 virtual NSMenu* GetMenu(); | 260 virtual NSMenu* GetMenu(); |
260 | 261 |
261 protected: | 262 protected: |
262 // For unit testing only. | 263 // For unit testing only. |
263 PageActionImageView() : owner_(NULL), | 264 PageActionImageView() : owner_(NULL), |
264 profile_(NULL), | 265 profile_(NULL), |
265 page_action_(NULL), | 266 page_action_(NULL), |
266 tracker_(NULL), | 267 tracker_(this), |
267 current_tab_id_(-1), | 268 current_tab_id_(-1), |
268 preview_enabled_(false) {} | 269 preview_enabled_(false) {} |
269 | 270 |
270 private: | 271 private: |
271 // Overridden from NotificationObserver: | 272 // Overridden from NotificationObserver: |
272 virtual void Observe(NotificationType type, | 273 virtual void Observe(NotificationType type, |
273 const NotificationSource& source, | 274 const NotificationSource& source, |
274 const NotificationDetails& details); | 275 const NotificationDetails& details); |
275 | 276 |
276 // The location bar view that owns us. | 277 // The location bar view that owns us. |
277 LocationBarViewMac* owner_; | 278 LocationBarViewMac* owner_; |
278 | 279 |
279 // The current profile (not owned by us). | 280 // The current profile (not owned by us). |
280 Profile* profile_; | 281 Profile* profile_; |
281 | 282 |
282 // The Page Action that this view represents. The Page Action is not owned | 283 // The Page Action that this view represents. The Page Action is not owned |
283 // by us, it resides in the extension of this particular profile. | 284 // by us, it resides in the extension of this particular profile. |
284 ExtensionAction* page_action_; | 285 ExtensionAction* page_action_; |
285 | 286 |
286 // A cache of images the Page Actions might need to show, mapped by path. | 287 // A cache of images the Page Actions might need to show, mapped by path. |
287 typedef std::map<std::string, SkBitmap> PageActionMap; | 288 typedef std::map<std::string, SkBitmap> PageActionMap; |
288 PageActionMap page_action_icons_; | 289 PageActionMap page_action_icons_; |
289 | 290 |
290 // The object that is waiting for the image loading to complete | 291 // The object that is waiting for the image loading to complete |
291 // asynchronously. | 292 // asynchronously. |
292 ImageLoadingTracker* tracker_; | 293 ImageLoadingTracker tracker_; |
293 | 294 |
294 // The tab id we are currently showing the icon for. | 295 // The tab id we are currently showing the icon for. |
295 int current_tab_id_; | 296 int current_tab_id_; |
296 | 297 |
297 // The URL we are currently showing the icon for. | 298 // The URL we are currently showing the icon for. |
298 GURL current_url_; | 299 GURL current_url_; |
299 | 300 |
300 // The string to show for a tooltip. | 301 // The string to show for a tooltip. |
301 scoped_nsobject<NSString> tooltip_; | 302 scoped_nsobject<NSString> tooltip_; |
302 | 303 |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
428 // The transition type to use for the navigation. | 429 // The transition type to use for the navigation. |
429 PageTransition::Type transition_; | 430 PageTransition::Type transition_; |
430 | 431 |
431 // Used to register for notifications received by NotificationObserver. | 432 // Used to register for notifications received by NotificationObserver. |
432 NotificationRegistrar registrar_; | 433 NotificationRegistrar registrar_; |
433 | 434 |
434 DISALLOW_COPY_AND_ASSIGN(LocationBarViewMac); | 435 DISALLOW_COPY_AND_ASSIGN(LocationBarViewMac); |
435 }; | 436 }; |
436 | 437 |
437 #endif // CHROME_BROWSER_COCOA_LOCATION_BAR_VIEW_MAC_H_ | 438 #endif // CHROME_BROWSER_COCOA_LOCATION_BAR_VIEW_MAC_H_ |
OLD | NEW |