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

Side by Side Diff: chrome/browser/plugin_installer.cc

Issue 10665049: Make DownloadHistory observe manager, items (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/plugin_installer.h" 5 #include "chrome/browser/plugin_installer.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/process.h" 10 #include "base/process.h"
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 DCHECK_EQ(INSTALLER_STATE_DOWNLOADING, state_); 143 DCHECK_EQ(INSTALLER_STATE_DOWNLOADING, state_);
144 state_ = INSTALLER_STATE_IDLE; 144 state_ = INSTALLER_STATE_IDLE;
145 FOR_EACH_OBSERVER(PluginInstallerObserver, observers_, 145 FOR_EACH_OBSERVER(PluginInstallerObserver, observers_,
146 DownloadFinished()); 146 DownloadFinished());
147 break; 147 break;
148 } 148 }
149 case DownloadItem::CANCELLED: { 149 case DownloadItem::CANCELLED: {
150 DownloadCancelled(); 150 DownloadCancelled();
151 break; 151 break;
152 } 152 }
153 case DownloadItem::REMOVING: {
154 DCHECK_EQ(INSTALLER_STATE_DOWNLOADING, state_);
155 state_ = INSTALLER_STATE_IDLE;
156 break;
157 }
158 case DownloadItem::INTERRUPTED: { 153 case DownloadItem::INTERRUPTED: {
159 content::DownloadInterruptReason reason = download->GetLastReason(); 154 content::DownloadInterruptReason reason = download->GetLastReason();
160 DownloadError(content::InterruptReasonDebugString(reason)); 155 DownloadError(content::InterruptReasonDebugString(reason));
161 break; 156 break;
162 } 157 }
163 case DownloadItem::MAX_DOWNLOAD_STATE: { 158 case DownloadItem::MAX_DOWNLOAD_STATE: {
164 NOTREACHED(); 159 NOTREACHED();
165 return; 160 return;
166 } 161 }
167 } 162 }
168 download->RemoveObserver(this); 163 download->RemoveObserver(this);
169 } 164 }
170 165
171 void PluginInstaller::OnDownloadOpened(DownloadItem* download) { 166 void PluginInstaller::OnDownloadDestroyed(DownloadItem* download) {
167 DCHECK_EQ(INSTALLER_STATE_DOWNLOADING, state_);
168 state_ = INSTALLER_STATE_IDLE;
169 download->RemoveObserver(this);
172 } 170 }
173 171
174 void PluginInstaller::AddObserver(PluginInstallerObserver* observer) { 172 void PluginInstaller::AddObserver(PluginInstallerObserver* observer) {
175 observers_.AddObserver(observer); 173 observers_.AddObserver(observer);
176 } 174 }
177 175
178 void PluginInstaller::RemoveObserver(PluginInstallerObserver* observer) { 176 void PluginInstaller::RemoveObserver(PluginInstallerObserver* observer) {
179 observers_.RemoveObserver(observer); 177 observers_.RemoveObserver(observer);
180 if (observers_.size() == weak_observers_.size()) { 178 if (observers_.size() == weak_observers_.size()) {
181 FOR_EACH_OBSERVER(WeakPluginInstallerObserver, weak_observers_, 179 FOR_EACH_OBSERVER(WeakPluginInstallerObserver, weak_observers_,
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 DCHECK_EQ(INSTALLER_STATE_DOWNLOADING, state_); 243 DCHECK_EQ(INSTALLER_STATE_DOWNLOADING, state_);
246 state_ = INSTALLER_STATE_IDLE; 244 state_ = INSTALLER_STATE_IDLE;
247 FOR_EACH_OBSERVER(PluginInstallerObserver, observers_, DownloadError(msg)); 245 FOR_EACH_OBSERVER(PluginInstallerObserver, observers_, DownloadError(msg));
248 } 246 }
249 247
250 void PluginInstaller::DownloadCancelled() { 248 void PluginInstaller::DownloadCancelled() {
251 DCHECK_EQ(INSTALLER_STATE_DOWNLOADING, state_); 249 DCHECK_EQ(INSTALLER_STATE_DOWNLOADING, state_);
252 state_ = INSTALLER_STATE_IDLE; 250 state_ = INSTALLER_STATE_IDLE;
253 FOR_EACH_OBSERVER(PluginInstallerObserver, observers_, DownloadCancelled()); 251 FOR_EACH_OBSERVER(PluginInstallerObserver, observers_, DownloadCancelled());
254 } 252 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698