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

Side by Side Diff: win8/delegate_execute/delegate_execute_operation.cc

Issue 10914160: Manually merging remaining Win8 changes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 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 | 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 "win8/delegate_execute/delegate_execute_operation.h" 5 #include "win8/delegate_execute/delegate_execute_operation.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/string_number_conversions.h"
9 #include "base/string_split.h"
8 #include "chrome/common/chrome_switches.h" 10 #include "chrome/common/chrome_switches.h"
9 11
10 namespace delegate_execute { 12 namespace delegate_execute {
11 13
12 DelegateExecuteOperation::DelegateExecuteOperation() 14 DelegateExecuteOperation::DelegateExecuteOperation()
13 : operation_type_(EXE_MODULE) { 15 : operation_type_(DELEGATE_EXECUTE),
16 relaunch_flags_("") {
14 } 17 }
15 18
16 DelegateExecuteOperation::~DelegateExecuteOperation() { 19 DelegateExecuteOperation::~DelegateExecuteOperation() {
17 Clear();
18 } 20 }
19 21
20 void DelegateExecuteOperation::Initialize(const CommandLine* command_line) { 22 bool DelegateExecuteOperation::Init(const CommandLine* cmd_line) {
21 Clear(); 23 FilePath shortcut(cmd_line->GetSwitchValuePath(switches::kRelaunchShortcut));
24 if (shortcut.empty()) {
25 operation_type_ = DELEGATE_EXECUTE;
26 return true;
27 }
28 relaunch_shortcut_ = shortcut;
29 mutex_ = cmd_line->GetSwitchValueNative(switches::kWaitForMutex);
30 if (mutex_.empty())
31 return false;
32 // Add the mode forcing flags, if any.
33 if (cmd_line->HasSwitch(switches::kForceDesktop))
34 relaunch_flags_ = switches::kForceDesktop;
35 else if (cmd_line->HasSwitch(switches::kForceImmersive))
36 relaunch_flags_ = switches::kForceImmersive;
22 37
23 // --relaunch-shortcut=PathToShortcut triggers the relaunch Chrome operation. 38 operation_type_ = RELAUNCH_CHROME;
24 FilePath shortcut( 39 return true;
25 command_line->GetSwitchValuePath(switches::kRelaunchShortcut));
26 if (!shortcut.empty()) {
27 relaunch_shortcut_ = shortcut;
28 operation_type_ = RELAUNCH_CHROME;
29 }
30 } 40 }
31 41
32 void DelegateExecuteOperation::Clear() { 42 DWORD DelegateExecuteOperation::GetParentPid() const {
33 operation_type_ = EXE_MODULE; 43 std::vector<string16> parts;
34 relaunch_shortcut_.clear(); 44 base::SplitString(mutex_, L'.', &parts);
45 if (parts.size() != 3)
46 return 0;
47 DWORD pid;
48 if (!base::StringToUint(parts[2], reinterpret_cast<uint32*>(&pid)))
49 return 0;
50 return pid;
35 } 51 }
36 52
37 } // namespace delegate_execute 53 } // namespace delegate_execute
OLDNEW
« no previous file with comments | « win8/delegate_execute/delegate_execute_operation.h ('k') | win8/metro_driver/chrome_app_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698