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

Side by Side Diff: extensions/browser/process_manager.h

Issue 1549643002: Switch to standard integer types in extensions/browser/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@clean
Patch Set: Created 4 years, 12 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
« no previous file with comments | « extensions/browser/null_app_sorting.h ('k') | extensions/browser/process_manager.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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 EXTENSIONS_BROWSER_PROCESS_MANAGER_H_ 5 #ifndef EXTENSIONS_BROWSER_PROCESS_MANAGER_H_
6 #define EXTENSIONS_BROWSER_PROCESS_MANAGER_H_ 6 #define EXTENSIONS_BROWSER_PROCESS_MANAGER_H_
7 7
8 #include <stdint.h>
9
8 #include <map> 10 #include <map>
9 #include <set> 11 #include <set>
10 #include <string> 12 #include <string>
11 13
12 #include "base/callback.h" 14 #include "base/callback.h"
13 #include "base/compiler_specific.h" 15 #include "base/compiler_specific.h"
16 #include "base/macros.h"
14 #include "base/memory/ref_counted.h" 17 #include "base/memory/ref_counted.h"
15 #include "base/memory/weak_ptr.h" 18 #include "base/memory/weak_ptr.h"
16 #include "base/observer_list.h" 19 #include "base/observer_list.h"
17 #include "components/keyed_service/core/keyed_service.h" 20 #include "components/keyed_service/core/keyed_service.h"
18 #include "content/public/browser/notification_observer.h" 21 #include "content/public/browser/notification_observer.h"
19 #include "content/public/browser/notification_registrar.h" 22 #include "content/public/browser/notification_registrar.h"
20 #include "extensions/browser/event_page_tracker.h" 23 #include "extensions/browser/event_page_tracker.h"
21 #include "extensions/browser/extension_registry_observer.h" 24 #include "extensions/browser/extension_registry_observer.h"
22 #include "extensions/common/extension.h" 25 #include "extensions/common/extension.h"
23 #include "extensions/common/view_type.h" 26 #include "extensions/common/view_type.h"
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 // called regularly. 124 // called regularly.
122 void KeepaliveImpulse(const Extension* extension); 125 void KeepaliveImpulse(const Extension* extension);
123 126
124 // Triggers a keepalive impulse for a plugin (e.g NaCl). 127 // Triggers a keepalive impulse for a plugin (e.g NaCl).
125 static void OnKeepaliveFromPlugin(int render_process_id, 128 static void OnKeepaliveFromPlugin(int render_process_id,
126 int render_frame_id, 129 int render_frame_id,
127 const std::string& extension_id); 130 const std::string& extension_id);
128 131
129 // Handles a response to the ShouldSuspend message, used for lazy background 132 // Handles a response to the ShouldSuspend message, used for lazy background
130 // pages. 133 // pages.
131 void OnShouldSuspendAck(const std::string& extension_id, uint64 sequence_id); 134 void OnShouldSuspendAck(const std::string& extension_id,
135 uint64_t sequence_id);
132 136
133 // Same as above, for the Suspend message. 137 // Same as above, for the Suspend message.
134 void OnSuspendAck(const std::string& extension_id); 138 void OnSuspendAck(const std::string& extension_id);
135 139
136 // Tracks network requests for a given RenderFrameHost, used to know 140 // Tracks network requests for a given RenderFrameHost, used to know
137 // when network activity is idle for lazy background pages. 141 // when network activity is idle for lazy background pages.
138 void OnNetworkRequestStarted(content::RenderFrameHost* render_frame_host, 142 void OnNetworkRequestStarted(content::RenderFrameHost* render_frame_host,
139 uint64 request_id); 143 uint64_t request_id);
140 void OnNetworkRequestDone(content::RenderFrameHost* render_frame_host, 144 void OnNetworkRequestDone(content::RenderFrameHost* render_frame_host,
141 uint64 request_id); 145 uint64_t request_id);
142 146
143 // Prevents |extension|'s background page from being closed and sends the 147 // Prevents |extension|'s background page from being closed and sends the
144 // onSuspendCanceled() event to it. 148 // onSuspendCanceled() event to it.
145 void CancelSuspend(const Extension* extension); 149 void CancelSuspend(const Extension* extension);
146 150
147 // Called on shutdown to close our extension hosts. 151 // Called on shutdown to close our extension hosts.
148 void CloseBackgroundHosts(); 152 void CloseBackgroundHosts();
149 153
150 // Sets callbacks for testing keepalive impulse behavior. 154 // Sets callbacks for testing keepalive impulse behavior.
151 using ImpulseCallbackForTesting = 155 using ImpulseCallbackForTesting =
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
251 // Internal implementation of DecrementLazyKeepaliveCount with an 255 // Internal implementation of DecrementLazyKeepaliveCount with an
252 // |extension_id| known to have a lazy background page. 256 // |extension_id| known to have a lazy background page.
253 void DecrementLazyKeepaliveCount(const std::string& extension_id); 257 void DecrementLazyKeepaliveCount(const std::string& extension_id);
254 258
255 // Checks if keepalive impulses have occured, and adjusts keep alive count. 259 // Checks if keepalive impulses have occured, and adjusts keep alive count.
256 void OnKeepaliveImpulseCheck(); 260 void OnKeepaliveImpulseCheck();
257 261
258 // These are called when the extension transitions between idle and active. 262 // These are called when the extension transitions between idle and active.
259 // They control the process of closing the background page when idle. 263 // They control the process of closing the background page when idle.
260 void OnLazyBackgroundPageIdle(const std::string& extension_id, 264 void OnLazyBackgroundPageIdle(const std::string& extension_id,
261 uint64 sequence_id); 265 uint64_t sequence_id);
262 void OnLazyBackgroundPageActive(const std::string& extension_id); 266 void OnLazyBackgroundPageActive(const std::string& extension_id);
263 void CloseLazyBackgroundPageNow(const std::string& extension_id, 267 void CloseLazyBackgroundPageNow(const std::string& extension_id,
264 uint64 sequence_id); 268 uint64_t sequence_id);
265 269
266 void OnDevToolsStateChanged(content::DevToolsAgentHost*, bool attached); 270 void OnDevToolsStateChanged(content::DevToolsAgentHost*, bool attached);
267 271
268 // Unregister RenderFrameHosts and clear background page data for an extension 272 // Unregister RenderFrameHosts and clear background page data for an extension
269 // which has been unloaded. 273 // which has been unloaded.
270 void UnregisterExtension(const std::string& extension_id); 274 void UnregisterExtension(const std::string& extension_id);
271 275
272 // Clears background page data for this extension. 276 // Clears background page data for this extension.
273 void ClearBackgroundPageData(const std::string& extension_id); 277 void ClearBackgroundPageData(const std::string& extension_id);
274 278
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 // lazy background process. 312 // lazy background process.
309 // 313 //
310 // Any interruption obtains a new ID by incrementing 314 // Any interruption obtains a new ID by incrementing
311 // last_background_close_sequence_id_ and storing it in background_page_data_ 315 // last_background_close_sequence_id_ and storing it in background_page_data_
312 // for a particular extension. Callbacks and round-trip IPC messages store the 316 // for a particular extension. Callbacks and round-trip IPC messages store the
313 // value of the extension's close_sequence_id at the beginning of the process. 317 // value of the extension's close_sequence_id at the beginning of the process.
314 // Thus comparisons can be done to halt when IDs no longer match. 318 // Thus comparisons can be done to halt when IDs no longer match.
315 // 319 //
316 // This counter provides unique IDs even when BackgroundPageData objects are 320 // This counter provides unique IDs even when BackgroundPageData objects are
317 // reset. 321 // reset.
318 uint64 last_background_close_sequence_id_; 322 uint64_t last_background_close_sequence_id_;
319 323
320 // Tracks pending network requests by opaque ID. This is used to ensure proper 324 // Tracks pending network requests by opaque ID. This is used to ensure proper
321 // keepalive counting in response to request status updates; e.g., if an 325 // keepalive counting in response to request status updates; e.g., if an
322 // extension URLRequest is constructed and then destroyed without ever 326 // extension URLRequest is constructed and then destroyed without ever
323 // starting, we can receive a completion notification without a corresponding 327 // starting, we can receive a completion notification without a corresponding
324 // start notification. In that case we want to avoid decrementing keepalive. 328 // start notification. In that case we want to avoid decrementing keepalive.
325 std::set<int> pending_network_requests_; 329 std::set<int> pending_network_requests_;
326 330
327 // Must be last member, see doc on WeakPtrFactory. 331 // Must be last member, see doc on WeakPtrFactory.
328 base::WeakPtrFactory<ProcessManager> weak_ptr_factory_; 332 base::WeakPtrFactory<ProcessManager> weak_ptr_factory_;
329 333
330 DISALLOW_COPY_AND_ASSIGN(ProcessManager); 334 DISALLOW_COPY_AND_ASSIGN(ProcessManager);
331 }; 335 };
332 336
333 } // namespace extensions 337 } // namespace extensions
334 338
335 #endif // EXTENSIONS_BROWSER_PROCESS_MANAGER_H_ 339 #endif // EXTENSIONS_BROWSER_PROCESS_MANAGER_H_
OLDNEW
« no previous file with comments | « extensions/browser/null_app_sorting.h ('k') | extensions/browser/process_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698