| OLD | NEW | 
|---|
| 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 // A view that implements one download on the Download shelf. | 5 // A view that implements one download on the Download shelf. | 
| 6 // Each DownloadItemViewMd contains an application icon, a text label | 6 // Each DownloadItemViewMd contains an application icon, a text label | 
| 7 // indicating the download's file name, a text label indicating the | 7 // indicating the download's file name, a text label indicating the | 
| 8 // download's status (such as the number of bytes downloaded so far) | 8 // download's status (such as the number of bytes downloaded so far) | 
| 9 // and a button for canceling an in progress download, or opening | 9 // and a button for canceling an in progress download, or opening | 
| 10 // the completed download. | 10 // the completed download. | 
| (...skipping 17 matching lines...) Expand all  Loading... | 
| 28 #include "chrome/browser/download/download_item_model.h" | 28 #include "chrome/browser/download/download_item_model.h" | 
| 29 #include "chrome/browser/icon_manager.h" | 29 #include "chrome/browser/icon_manager.h" | 
| 30 #include "content/public/browser/download_item.h" | 30 #include "content/public/browser/download_item.h" | 
| 31 #include "content/public/browser/download_manager.h" | 31 #include "content/public/browser/download_manager.h" | 
| 32 #include "ui/gfx/animation/animation_delegate.h" | 32 #include "ui/gfx/animation/animation_delegate.h" | 
| 33 #include "ui/gfx/font_list.h" | 33 #include "ui/gfx/font_list.h" | 
| 34 #include "ui/views/context_menu_controller.h" | 34 #include "ui/views/context_menu_controller.h" | 
| 35 #include "ui/views/controls/button/button.h" | 35 #include "ui/views/controls/button/button.h" | 
| 36 #include "ui/views/view.h" | 36 #include "ui/views/view.h" | 
| 37 | 37 | 
|  | 38 class BarControlButton; | 
| 38 class DownloadShelfView; | 39 class DownloadShelfView; | 
| 39 class DownloadShelfContextMenuView; | 40 class DownloadShelfContextMenuView; | 
| 40 | 41 | 
| 41 namespace extensions { | 42 namespace extensions { | 
| 42 class ExperienceSamplingEvent; | 43 class ExperienceSamplingEvent; | 
| 43 } | 44 } | 
| 44 | 45 | 
| 45 namespace gfx { | 46 namespace gfx { | 
| 46 class Image; | 47 class Image; | 
| 47 class ImageSkia; | 48 class ImageSkia; | 
| 48 class SlideAnimation; | 49 class SlideAnimation; | 
| 49 } | 50 } | 
| 50 | 51 | 
|  | 52 namespace ui { | 
|  | 53 class ThemeProvider; | 
|  | 54 } | 
|  | 55 | 
| 51 namespace views { | 56 namespace views { | 
| 52 class ImageButton; | 57 class ImageButton; | 
| 53 class Label; | 58 class Label; | 
| 54 class LabelButton; | 59 class LabelButton; | 
| 55 } | 60 } | 
| 56 | 61 | 
| 57 // The DownloadItemView in MD style. This is copied from DownloadItemView, | 62 // The DownloadItemView in MD style. This is copied from DownloadItemView, | 
| 58 // which it should eventually replace. | 63 // which it should eventually replace. | 
| 59 class DownloadItemViewMd : public views::ButtonListener, | 64 class DownloadItemViewMd : public views::ButtonListener, | 
| 60                            public views::View, | 65                            public views::View, | 
| 61                            public views::ContextMenuController, | 66                            public views::ContextMenuController, | 
| 62                            public content::DownloadItem::Observer, | 67                            public content::DownloadItem::Observer, | 
| 63                            public gfx::AnimationDelegate { | 68                            public gfx::AnimationDelegate { | 
| 64  public: | 69  public: | 
| 65   DownloadItemViewMd(content::DownloadItem* download, | 70   DownloadItemViewMd(content::DownloadItem* download, | 
| 66                      DownloadShelfView* parent); | 71                      DownloadShelfView* parent); | 
| 67   ~DownloadItemViewMd() override; | 72   ~DownloadItemViewMd() override; | 
| 68 | 73 | 
| 69   // Timer callback for handling animations | 74   // Timer callback for handling animations | 
| 70   void UpdateDownloadProgress(); | 75   void UpdateDownloadProgress(); | 
| 71   void StartDownloadProgress(); | 76   void StartDownloadProgress(); | 
| 72   void StopDownloadProgress(); | 77   void StopDownloadProgress(); | 
| 73 | 78 | 
|  | 79   // Returns the base color for text on this download item, based on |theme|. | 
|  | 80   static SkColor GetTextColorForThemeProvider(ui::ThemeProvider* theme); | 
|  | 81 | 
| 74   // IconManager::Client interface. | 82   // IconManager::Client interface. | 
| 75   void OnExtractIconComplete(gfx::Image* icon); | 83   void OnExtractIconComplete(gfx::Image* icon); | 
| 76 | 84 | 
| 77   // Returns the DownloadItem model object belonging to this item. | 85   // Returns the DownloadItem model object belonging to this item. | 
| 78   content::DownloadItem* download() { return model_.download(); } | 86   content::DownloadItem* download() { return model_.download(); } | 
| 79 | 87 | 
| 80   // DownloadItem::Observer methods | 88   // DownloadItem::Observer methods | 
| 81   void OnDownloadUpdated(content::DownloadItem* download) override; | 89   void OnDownloadUpdated(content::DownloadItem* download) override; | 
| 82   void OnDownloadOpened(content::DownloadItem* download) override; | 90   void OnDownloadOpened(content::DownloadItem* download) override; | 
| 83   void OnDownloadDestroyed(content::DownloadItem* download) override; | 91   void OnDownloadDestroyed(content::DownloadItem* download) override; | 
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 198   // so that screenreaders can access the filename, status text, and | 206   // so that screenreaders can access the filename, status text, and | 
| 199   // dangerous download warning message (if any). | 207   // dangerous download warning message (if any). | 
| 200   void UpdateAccessibleName(); | 208   void UpdateAccessibleName(); | 
| 201 | 209 | 
| 202   // Show/Hide/Reset |animation| based on the state transition specified by | 210   // Show/Hide/Reset |animation| based on the state transition specified by | 
| 203   // |from| and |to|. | 211   // |from| and |to|. | 
| 204   void AnimateStateTransition(State from, | 212   void AnimateStateTransition(State from, | 
| 205                               State to, | 213                               State to, | 
| 206                               gfx::SlideAnimation* animation); | 214                               gfx::SlideAnimation* animation); | 
| 207 | 215 | 
|  | 216   // Returns the base text color. | 
|  | 217   SkColor GetTextColor(); | 
|  | 218 | 
|  | 219   // Returns a slightly dimmed version of the base text color. | 
|  | 220   SkColor GetDimmedTextColor(); | 
|  | 221 | 
| 208   // The download shelf that owns us. | 222   // The download shelf that owns us. | 
| 209   DownloadShelfView* shelf_; | 223   DownloadShelfView* shelf_; | 
| 210 | 224 | 
| 211   // Elements of our particular download | 225   // Elements of our particular download | 
| 212   base::string16 status_text_; | 226   base::string16 status_text_; | 
| 213 | 227 | 
| 214   // The font list used to print the file name and warning text. | 228   // The font list used to print the file name and warning text. | 
| 215   gfx::FontList font_list_; | 229   gfx::FontList font_list_; | 
| 216 | 230 | 
| 217   // The font list used to print the status text below the file name. | 231   // The font list used to print the status text below the file name. | 
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 257   scoped_ptr<gfx::SlideAnimation> complete_animation_; | 271   scoped_ptr<gfx::SlideAnimation> complete_animation_; | 
| 258 | 272 | 
| 259   // Progress animation | 273   // Progress animation | 
| 260   base::RepeatingTimer progress_timer_; | 274   base::RepeatingTimer progress_timer_; | 
| 261 | 275 | 
| 262   // Dangerous mode buttons. | 276   // Dangerous mode buttons. | 
| 263   views::LabelButton* save_button_; | 277   views::LabelButton* save_button_; | 
| 264   views::LabelButton* discard_button_; | 278   views::LabelButton* discard_button_; | 
| 265 | 279 | 
| 266   // The drop down button. | 280   // The drop down button. | 
| 267   views::ImageButton* dropdown_button_; | 281   BarControlButton* dropdown_button_; | 
| 268 | 282 | 
| 269   // Dangerous mode label. | 283   // Dangerous mode label. | 
| 270   views::Label* dangerous_download_label_; | 284   views::Label* dangerous_download_label_; | 
| 271 | 285 | 
| 272   // Whether the dangerous mode label has been sized yet. | 286   // Whether the dangerous mode label has been sized yet. | 
| 273   bool dangerous_download_label_sized_; | 287   bool dangerous_download_label_sized_; | 
| 274 | 288 | 
| 275   // The size of the buttons.  Cached so animation works when hidden. | 289   // The size of the buttons.  Cached so animation works when hidden. | 
| 276   mutable gfx::Size cached_button_size_; | 290   mutable gfx::Size cached_button_size_; | 
| 277 | 291 | 
| (...skipping 22 matching lines...) Expand all  Loading... | 
| 300   scoped_ptr<extensions::ExperienceSamplingEvent> sampling_event_; | 314   scoped_ptr<extensions::ExperienceSamplingEvent> sampling_event_; | 
| 301 | 315 | 
| 302   // Method factory used to delay reenabling of the item when opening the | 316   // Method factory used to delay reenabling of the item when opening the | 
| 303   // downloaded file. | 317   // downloaded file. | 
| 304   base::WeakPtrFactory<DownloadItemViewMd> weak_ptr_factory_; | 318   base::WeakPtrFactory<DownloadItemViewMd> weak_ptr_factory_; | 
| 305 | 319 | 
| 306   DISALLOW_COPY_AND_ASSIGN(DownloadItemViewMd); | 320   DISALLOW_COPY_AND_ASSIGN(DownloadItemViewMd); | 
| 307 }; | 321 }; | 
| 308 | 322 | 
| 309 #endif  // CHROME_BROWSER_UI_VIEWS_DOWNLOAD_DOWNLOAD_ITEM_VIEW_MD_H_ | 323 #endif  // CHROME_BROWSER_UI_VIEWS_DOWNLOAD_DOWNLOAD_ITEM_VIEW_MD_H_ | 
| OLD | NEW | 
|---|