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

Side by Side Diff: chrome/browser/google/google_update_win.h

Issue 10698106: Switch about box to web ui on Windows. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Adapted to install_util API change. Created 8 years, 5 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/google/google_update.cc ('k') | chrome/browser/google/google_update_win.cc » ('j') | 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) 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 #ifndef CHROME_BROWSER_GOOGLE_GOOGLE_UPDATE_H_ 5 #ifndef CHROME_BROWSER_GOOGLE_GOOGLE_UPDATE_WIN_H_
6 #define CHROME_BROWSER_GOOGLE_GOOGLE_UPDATE_H_ 6 #define CHROME_BROWSER_GOOGLE_GOOGLE_UPDATE_WIN_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/string16.h" 10 #include "base/string16.h"
11 #if defined(OS_WIN)
12 #include "google_update/google_update_idl.h" 11 #include "google_update/google_update_idl.h"
13 #endif
14 12
15 class MessageLoop; 13 class MessageLoop;
16 namespace views { 14 namespace views {
17 class Widget; 15 class Widget;
18 } 16 }
19 17
20 // The status of the upgrade. UPGRADE_STARTED and UPGRADE_CHECK_STARTED are 18 // The status of the upgrade. UPGRADE_STARTED and UPGRADE_CHECK_STARTED are
21 // internal states and will not be reported as results to the listener. 19 // internal states and will not be reported as results to the listener.
22 enum GoogleUpdateUpgradeResult { 20 enum GoogleUpdateUpgradeResult {
23 // The upgrade has started. 21 // The upgrade has started.
24 UPGRADE_STARTED = 0, 22 UPGRADE_STARTED = 0,
25 // A check for upgrade has been initiated. 23 // A check for upgrade has been initiated.
26 UPGRADE_CHECK_STARTED, 24 UPGRADE_CHECK_STARTED,
27 // An update is available. 25 // An update is available.
28 UPGRADE_IS_AVAILABLE, 26 UPGRADE_IS_AVAILABLE,
29 // The upgrade happened successfully. 27 // The upgrade happened successfully.
30 UPGRADE_SUCCESSFUL, 28 UPGRADE_SUCCESSFUL,
31 // No need to upgrade, we are up to date. 29 // No need to upgrade, Chrome is up to date.
32 UPGRADE_ALREADY_UP_TO_DATE, 30 UPGRADE_ALREADY_UP_TO_DATE,
33 // An error occurred. 31 // An error occurred.
34 UPGRADE_ERROR, 32 UPGRADE_ERROR,
35 }; 33 };
36 34
37 enum GoogleUpdateErrorCode { 35 enum GoogleUpdateErrorCode {
38 // The upgrade completed successfully (or hasn't been started yet). 36 // The upgrade completed successfully (or hasn't been started yet).
39 GOOGLE_UPDATE_NO_ERROR = 0, 37 GOOGLE_UPDATE_NO_ERROR = 0,
40 // Google Update only supports upgrading if Chrome is installed in the default 38 // Google Update only supports upgrading if Chrome is installed in the default
41 // location. This error will appear for developer builds and with 39 // location. This error will appear for developer builds and with
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 class GoogleUpdate : public base::RefCountedThreadSafe<GoogleUpdate> { 85 class GoogleUpdate : public base::RefCountedThreadSafe<GoogleUpdate> {
88 public: 86 public:
89 GoogleUpdate(); 87 GoogleUpdate();
90 88
91 // Ask Google Update to see if a new version is available. If the parameter 89 // Ask Google Update to see if a new version is available. If the parameter
92 // |install_if_newer| is true then Google Update will also install that new 90 // |install_if_newer| is true then Google Update will also install that new
93 // version. 91 // version.
94 // |window| should point to a foreground window. This is needed to ensure 92 // |window| should point to a foreground window. This is needed to ensure
95 // that Vista/Windows 7 UAC prompts show up in the foreground. It may also 93 // that Vista/Windows 7 UAC prompts show up in the foreground. It may also
96 // be null. 94 // be null.
97 void CheckForUpdate(bool install_if_newer, views::Widget* window); 95 void CheckForUpdate(bool install_if_newer, HWND window);
98 96
99 // Pass NULL to clear the listener 97 // Pass NULL to clear the listener
100 void set_status_listener(GoogleUpdateStatusListener* listener) { 98 void set_status_listener(GoogleUpdateStatusListener* listener) {
101 listener_ = listener; 99 listener_ = listener;
102 } 100 }
103 101
104 private: 102 private:
105 friend class base::RefCountedThreadSafe<GoogleUpdate>; 103 friend class base::RefCountedThreadSafe<GoogleUpdate>;
106 104
107 virtual ~GoogleUpdate(); 105 virtual ~GoogleUpdate();
108 106
109 // The chromeos implementation is in browser/chromeos/google_update.cpp
110
111 #if defined(OS_WIN)
112
113 // This function reports failure from the Google Update operation to the 107 // This function reports failure from the Google Update operation to the
114 // listener. 108 // listener.
115 // Note, after this function completes, this object will have deleted itself. 109 // Note, after this function completes, this object will have deleted itself.
116 bool ReportFailure(HRESULT hr, GoogleUpdateErrorCode error_code, 110 bool ReportFailure(HRESULT hr, GoogleUpdateErrorCode error_code,
117 const string16& error_message, MessageLoop* main_loop); 111 const string16& error_message, MessageLoop* main_loop);
118 112
119 #endif 113 // The update check needs to run on another thread than the main thread, and
120
121 // We need to run the update check on another thread than the main thread, and
122 // therefore CheckForUpdate will delegate to this function. |main_loop| points 114 // therefore CheckForUpdate will delegate to this function. |main_loop| points
123 // to the message loop that we want the response to come from. 115 // to the message loop that the response must come from.
124 // |window| should point to a foreground window. This is needed to ensure that 116 // |window| should point to a foreground window. This is needed to ensure that
125 // Vista/Windows 7 UAC prompts show up in the foreground. It may also be null. 117 // Vista/Windows 7 UAC prompts show up in the foreground. It may also be null.
126 void InitiateGoogleUpdateCheck(bool install_if_newer, views::Widget* window, 118 void InitiateGoogleUpdateCheck(bool install_if_newer, HWND window,
127 MessageLoop* main_loop); 119 MessageLoop* main_loop);
128 120
129 // This function reports the results of the GoogleUpdate operation to the 121 // This function reports the results of the GoogleUpdate operation to the
130 // listener. If results indicates an error, the |error_code| and 122 // listener. If results indicates an error, the |error_code| and
131 // |error_message| will indicate which error occurred. 123 // |error_message| will indicate which error occurred.
132 // Note, after this function completes, this object will have deleted itself. 124 // Note, after this function completes, this object will have deleted itself.
133 void ReportResults(GoogleUpdateUpgradeResult results, 125 void ReportResults(GoogleUpdateUpgradeResult results,
134 GoogleUpdateErrorCode error_code, 126 GoogleUpdateErrorCode error_code,
135 const string16& error_message); 127 const string16& error_message);
136 128
137 // Which version string Google Update found (if a new one was available). 129 // Which version string Google Update found (if a new one was available).
138 // Otherwise, this will be blank. 130 // Otherwise, this will be blank.
139 string16 version_available_; 131 string16 version_available_;
140 132
141 // The listener who is interested in finding out the result of the operation. 133 // The listener who is interested in finding out the result of the operation.
142 GoogleUpdateStatusListener* listener_; 134 GoogleUpdateStatusListener* listener_;
143 135
144 DISALLOW_COPY_AND_ASSIGN(GoogleUpdate); 136 DISALLOW_COPY_AND_ASSIGN(GoogleUpdate);
145 }; 137 };
146 138
147 #endif // CHROME_BROWSER_GOOGLE_GOOGLE_UPDATE_H_ 139 #endif // CHROME_BROWSER_GOOGLE_GOOGLE_UPDATE_WIN_H_
OLDNEW
« no previous file with comments | « chrome/browser/google/google_update.cc ('k') | chrome/browser/google/google_update_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698