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

Side by Side Diff: chrome/app/chrome_watcher_command_line_win.h

Issue 1899083002: Convert //chrome from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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) 2014 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2014 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_APP_CHROME_WATCHER_COMMAND_LINE_WIN_H_ 5 #ifndef CHROME_APP_CHROME_WATCHER_COMMAND_LINE_WIN_H_
6 #define CHROME_APP_CHROME_WATCHER_COMMAND_LINE_WIN_H_ 6 #define CHROME_APP_CHROME_WATCHER_COMMAND_LINE_WIN_H_
7 7
8 #include <windows.h> 8 #include <windows.h>
9
10 #include <memory>
9 #include <vector> 11 #include <vector>
10 12
11 #include "base/command_line.h" 13 #include "base/command_line.h"
12 #include "base/files/file_path.h" 14 #include "base/files/file_path.h"
13 #include "base/memory/scoped_ptr.h"
14 #include "base/win/scoped_handle.h" 15 #include "base/win/scoped_handle.h"
15 16
16 // Class for configuring the Chrome watcher process via the command-line. This 17 // Class for configuring the Chrome watcher process via the command-line. This
17 // accepts configuration from the parent process and generates the required 18 // accepts configuration from the parent process and generates the required
18 // command-line. 19 // command-line.
19 // 20 //
20 // It provides functionality for the common task of sharing handles from a 21 // It provides functionality for the common task of sharing handles from a
21 // parent to a child process, automatically duplicating them with the 22 // parent to a child process, automatically duplicating them with the
22 // appropriate permissions. These handles are closed when the generator is 23 // appropriate permissions. These handles are closed when the generator is
23 // destroyed so the generator must outlive the process creation. 24 // destroyed so the generator must outlive the process creation.
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 class ChromeWatcherCommandLine { 69 class ChromeWatcherCommandLine {
69 public: 70 public:
70 // Causes the process to explode if any inherited handles weren't taken from 71 // Causes the process to explode if any inherited handles weren't taken from
71 // this object. 72 // this object.
72 ~ChromeWatcherCommandLine(); 73 ~ChromeWatcherCommandLine();
73 74
74 // Parses the provided command-line used to launch a Chrome Watcher process. 75 // Parses the provided command-line used to launch a Chrome Watcher process.
75 // If this fails any successfully opened handles will be closed prior to 76 // If this fails any successfully opened handles will be closed prior to
76 // return. Returns a ChromeWatcherCommandLine object on success, nullptr 77 // return. Returns a ChromeWatcherCommandLine object on success, nullptr
77 // otherwise. 78 // otherwise.
78 static scoped_ptr<ChromeWatcherCommandLine> InterpretCommandLine( 79 static std::unique_ptr<ChromeWatcherCommandLine> InterpretCommandLine(
79 const base::CommandLine& command_line); 80 const base::CommandLine& command_line);
80 81
81 // Accessors for handles. Any handles not taken from this object at the time 82 // Accessors for handles. Any handles not taken from this object at the time
82 // of its destruction will cause a terminal error. 83 // of its destruction will cause a terminal error.
83 base::win::ScopedHandle TakeOnInitializedEventHandle(); 84 base::win::ScopedHandle TakeOnInitializedEventHandle();
84 base::win::ScopedHandle TakeParentProcessHandle(); 85 base::win::ScopedHandle TakeParentProcessHandle();
85 86
86 // Returns the ID of the main thread in the parent process. 87 // Returns the ID of the main thread in the parent process.
87 DWORD main_thread_id() const { return main_thread_id_; } 88 DWORD main_thread_id() const { return main_thread_id_; }
88 89
(...skipping 28 matching lines...) Expand all
117 // before returning them. Returns true if all parameters are successfully parsed 118 // before returning them. Returns true if all parameters are successfully parsed
118 // and false otherwise. In case of partial failure, any successfully parsed 119 // and false otherwise. In case of partial failure, any successfully parsed
119 // HANDLEs will be closed. 120 // HANDLEs will be closed.
120 bool InterpretChromeWatcherCommandLine( 121 bool InterpretChromeWatcherCommandLine(
121 const base::CommandLine& command_line, 122 const base::CommandLine& command_line,
122 base::win::ScopedHandle* parent_process, 123 base::win::ScopedHandle* parent_process,
123 DWORD* main_thread_id, 124 DWORD* main_thread_id,
124 base::win::ScopedHandle* on_initialized_event); 125 base::win::ScopedHandle* on_initialized_event);
125 126
126 #endif // CHROME_APP_CHROME_WATCHER_COMMAND_LINE_WIN_H_ 127 #endif // CHROME_APP_CHROME_WATCHER_COMMAND_LINE_WIN_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698