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

Side by Side Diff: win8/metro_driver/toast_notification_handler.cc

Issue 23258005: Give SxS distribution its own registration GUIDs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Move typedef Created 7 years, 3 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
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 <string> 5 #include <string>
6 6
7 #include "win8/metro_driver/stdafx.h" 7 #include "win8/metro_driver/stdafx.h"
8 #include "win8/metro_driver/toast_notification_handler.h" 8 #include "win8/metro_driver/toast_notification_handler.h"
9 9
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
11 #include "base/logging.h" 11 #include "base/logging.h"
12 #include "base/path_service.h" 12 #include "base/path_service.h"
13 #include "base/strings/utf_string_conversions.h" 13 #include "base/strings/utf_string_conversions.h"
14 // TODO(ananta) 14 #include "chrome/installer/util/browser_distribution.h"
15 // Refactor the chrome_util and shell_util code from chrome into a common lib 15 #include "chrome/installer/util/install_util.h"
16 #include "win8/delegate_execute/chrome_util.h" 16 #include "chrome/installer/util/shell_util.h"
17
17 #include "win8/metro_driver/winrt_utils.h" 18 #include "win8/metro_driver/winrt_utils.h"
18 19
19 typedef winfoundtn::ITypedEventHandler< 20 typedef winfoundtn::ITypedEventHandler<
20 winui::Notifications::ToastNotification*, IInspectable*> 21 winui::Notifications::ToastNotification*, IInspectable*>
21 ToastActivationHandler; 22 ToastActivationHandler;
22 23
23 typedef winfoundtn::ITypedEventHandler< 24 typedef winfoundtn::ITypedEventHandler<
24 winui::Notifications::ToastNotification*, 25 winui::Notifications::ToastNotification*,
25 winui::Notifications::ToastDismissedEventArgs*> ToastDismissedHandler; 26 winui::Notifications::ToastDismissedEventArgs*> ToastDismissedHandler;
26 27
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 195
195 hr = toast_notification_factory->CreateToastNotification( 196 hr = toast_notification_factory->CreateToastNotification(
196 toast_xml.Get(), &notification_); 197 toast_xml.Get(), &notification_);
197 CheckHR(hr); 198 CheckHR(hr);
198 199
199 base::FilePath chrome_path; 200 base::FilePath chrome_path;
200 if (!PathService::Get(base::FILE_EXE, &chrome_path)) { 201 if (!PathService::Get(base::FILE_EXE, &chrome_path)) {
201 NOTREACHED() << "Failed to get chrome exe path"; 202 NOTREACHED() << "Failed to get chrome exe path";
202 return; 203 return;
203 } 204 }
204 string16 appid = delegate_execute::GetAppId(chrome_path); 205
206 BrowserDistribution* dist = BrowserDistribution::GetDistribution();
207 bool is_per_user_install = InstallUtil::IsPerUserInstall(
208 chrome_path.value().c_str());
209 string16 appid = ShellUtil::GetBrowserModelId(dist, is_per_user_install);
205 DVLOG(1) << "Chrome Appid is " << appid.c_str(); 210 DVLOG(1) << "Chrome Appid is " << appid.c_str();
206 211
207 // TODO(ananta)
208 // We should probably use BrowserDistribution here to get the product name.
209 mswrw::HString app_user_model_id; 212 mswrw::HString app_user_model_id;
210 app_user_model_id.Attach(MakeHString(appid)); 213 app_user_model_id.Attach(MakeHString(appid));
211 214
212 hr = toast_manager->CreateToastNotifierWithId(app_user_model_id.Get(), 215 hr = toast_manager->CreateToastNotifierWithId(app_user_model_id.Get(),
213 &notifier_); 216 &notifier_);
214 CheckHR(hr); 217 CheckHR(hr);
215 218
216 hr = notification_->add_Activated( 219 hr = notification_->add_Activated(
217 mswr::Callback<ToastActivationHandler>( 220 mswr::Callback<ToastActivationHandler>(
218 this, &ToastNotificationHandler::OnActivate).Get(), 221 this, &ToastNotificationHandler::OnActivate).Get(),
(...skipping 21 matching lines...) Expand all
240 // etc to ChromeAppView which would enable it to ensure that the 243 // etc to ChromeAppView which would enable it to ensure that the
241 // correct tab in chrome is activated. 244 // correct tab in chrome is activated.
242 DVLOG(1) << __FUNCTION__; 245 DVLOG(1) << __FUNCTION__;
243 246
244 if (notification_info_.notification_handler) { 247 if (notification_info_.notification_handler) {
245 notification_info_.notification_handler( 248 notification_info_.notification_handler(
246 notification_info_.notification_context.c_str()); 249 notification_info_.notification_context.c_str());
247 } 250 }
248 return S_OK; 251 return S_OK;
249 } 252 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698