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

Side by Side Diff: chrome/browser/views/download_item_view.cc

Issue 3023052: Merging r55430 to the M6 branch:... (Closed) Base URL: svn://svn.chromium.org/chrome/branches/472/src/
Patch Set: Created 10 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/views/download_item_view.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #include "chrome/browser/views/download_item_view.h" 5 #include "chrome/browser/views/download_item_view.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "app/l10n_util.h" 9 #include "app/l10n_util.h"
10 #include "app/resource_bundle.h" 10 #include "app/resource_bundle.h"
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 drop_down_pressed_(false), 125 drop_down_pressed_(false),
126 dragging_(false), 126 dragging_(false),
127 starting_drag_(false), 127 starting_drag_(false),
128 model_(model), 128 model_(model),
129 save_button_(NULL), 129 save_button_(NULL),
130 discard_button_(NULL), 130 discard_button_(NULL),
131 dangerous_download_label_(NULL), 131 dangerous_download_label_(NULL),
132 dangerous_download_label_sized_(false), 132 dangerous_download_label_sized_(false),
133 disabled_while_opening_(false), 133 disabled_while_opening_(false),
134 creation_time_(base::Time::Now()), 134 creation_time_(base::Time::Now()),
135 ALLOW_THIS_IN_INITIALIZER_LIST(reenable_method_factory_(this)) { 135 ALLOW_THIS_IN_INITIALIZER_LIST(reenable_method_factory_(this)),
136 deleted_(NULL) {
136 DCHECK(download_); 137 DCHECK(download_);
137 download_->AddObserver(this); 138 download_->AddObserver(this);
138 139
139 ResourceBundle &rb = ResourceBundle::GetSharedInstance(); 140 ResourceBundle &rb = ResourceBundle::GetSharedInstance();
140 141
141 BodyImageSet normal_body_image_set = { 142 BodyImageSet normal_body_image_set = {
142 rb.GetBitmapNamed(IDR_DOWNLOAD_BUTTON_LEFT_TOP), 143 rb.GetBitmapNamed(IDR_DOWNLOAD_BUTTON_LEFT_TOP),
143 rb.GetBitmapNamed(IDR_DOWNLOAD_BUTTON_LEFT_MIDDLE), 144 rb.GetBitmapNamed(IDR_DOWNLOAD_BUTTON_LEFT_MIDDLE),
144 rb.GetBitmapNamed(IDR_DOWNLOAD_BUTTON_LEFT_BOTTOM), 145 rb.GetBitmapNamed(IDR_DOWNLOAD_BUTTON_LEFT_BOTTOM),
145 rb.GetBitmapNamed(IDR_DOWNLOAD_BUTTON_CENTER_TOP), 146 rb.GetBitmapNamed(IDR_DOWNLOAD_BUTTON_CENTER_TOP),
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 StartDownloadProgress(); 305 StartDownloadProgress();
305 } 306 }
306 307
307 DownloadItemView::~DownloadItemView() { 308 DownloadItemView::~DownloadItemView() {
308 if (context_menu_.get()) { 309 if (context_menu_.get()) {
309 context_menu_->Stop(); 310 context_menu_->Stop();
310 } 311 }
311 icon_consumer_.CancelAllRequests(); 312 icon_consumer_.CancelAllRequests();
312 StopDownloadProgress(); 313 StopDownloadProgress();
313 download_->RemoveObserver(this); 314 download_->RemoveObserver(this);
315 if (deleted_)
316 *deleted_ = true;
314 } 317 }
315 318
316 // Progress animation handlers. 319 // Progress animation handlers.
317 320
318 void DownloadItemView::UpdateDownloadProgress() { 321 void DownloadItemView::UpdateDownloadProgress() {
319 progress_angle_ = (progress_angle_ + 322 progress_angle_ = (progress_angle_ +
320 download_util::kUnknownIncrementDegrees) % 323 download_util::kUnknownIncrementDegrees) %
321 download_util::kMaxDegrees; 324 download_util::kMaxDegrees;
322 SchedulePaint(); 325 SchedulePaint();
323 } 326 }
(...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after
812 point.set_y(height()); 815 point.set_y(height());
813 if (base::i18n::IsRTL()) 816 if (base::i18n::IsRTL())
814 point.set_x(drop_down_x_right_); 817 point.set_x(drop_down_x_right_);
815 else 818 else
816 point.set_x(drop_down_x_left_); 819 point.set_x(drop_down_x_left_);
817 820
818 views::View::ConvertPointToScreen(this, &point); 821 views::View::ConvertPointToScreen(this, &point);
819 822
820 if (!context_menu_.get()) 823 if (!context_menu_.get())
821 context_menu_.reset(new DownloadShelfContextMenuWin(model_.get())); 824 context_menu_.reset(new DownloadShelfContextMenuWin(model_.get()));
825 // When we call the Run method on the menu, it runs an inner message loop
826 // that might causes us to be deleted.
827 bool deleted = false;
828 deleted_ = &deleted;
822 context_menu_->Run(point); 829 context_menu_->Run(point);
830 if (deleted)
831 return true; // We have been deleted! Don't access 'this'.
832 deleted_ = NULL;
823 833
824 // If the menu action was to remove the download, this view will also be 834 // If the menu action was to remove the download, this view will also be
825 // invalid so we must not access 'this' in this case. 835 // invalid so we must not access 'this' in this case.
826 if (context_menu_->download()) { 836 if (context_menu_->download()) {
827 drop_down_pressed_ = false; 837 drop_down_pressed_ = false;
828 // Showing the menu blocks. Here we revert the state. 838 // Showing the menu blocks. Here we revert the state.
829 SetState(NORMAL, NORMAL); 839 SetState(NORMAL, NORMAL);
830 } 840 }
831 } 841 }
832 return true; 842 return true;
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
1007 void DownloadItemView::Reenable() { 1017 void DownloadItemView::Reenable() {
1008 disabled_while_opening_ = false; 1018 disabled_while_opening_ = false;
1009 SetEnabled(true); // Triggers a repaint. 1019 SetEnabled(true); // Triggers a repaint.
1010 } 1020 }
1011 1021
1012 bool DownloadItemView::InDropDownButtonXCoordinateRange(int x) { 1022 bool DownloadItemView::InDropDownButtonXCoordinateRange(int x) {
1013 if (x > drop_down_x_left_ && x < drop_down_x_right_) 1023 if (x > drop_down_x_left_ && x < drop_down_x_right_)
1014 return true; 1024 return true;
1015 return false; 1025 return false;
1016 } 1026 }
OLDNEW
« no previous file with comments | « chrome/browser/views/download_item_view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698