OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_EXTENSIONS_PROCESS_MAP_H_ | 5 #ifndef CHROME_BROWSER_EXTENSIONS_PROCESS_MAP_H_ |
6 #define CHROME_BROWSER_EXTENSIONS_PROCESS_MAP_H_ | 6 #define CHROME_BROWSER_EXTENSIONS_PROCESS_MAP_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 // hosted apps. See crbug.com/102533. | 46 // hosted apps. See crbug.com/102533. |
47 // | 47 // |
48 // 2. An extension can show up in multiple processes. That is why there is no | 48 // 2. An extension can show up in multiple processes. That is why there is no |
49 // GetExtensionProcess() method here. There are two cases: a) The extension | 49 // GetExtensionProcess() method here. There are two cases: a) The extension |
50 // is actually a hosted app, in which case this is normal, or b) there is an | 50 // is actually a hosted app, in which case this is normal, or b) there is an |
51 // incognito window open and the extension is "split mode". It is *not safe* | 51 // incognito window open and the extension is "split mode". It is *not safe* |
52 // to assume that there is one process per extension. If you only care about | 52 // to assume that there is one process per extension. If you only care about |
53 // extensions (not hosted apps), and you are on the UI thread, and you don't | 53 // extensions (not hosted apps), and you are on the UI thread, and you don't |
54 // care about incognito version of this extension (or vice versa if you're in | 54 // care about incognito version of this extension (or vice versa if you're in |
55 // an incognito profile) then use | 55 // an incognito profile) then use |
56 // ExtensionProcessManager::GetSiteInstanceForURL()->[Has|Get]Process(). | 56 // extensions::ProcessManager::GetSiteInstanceForURL()->[Has|Get]Process(). |
57 // | 57 // |
58 // 3. The process ids contained in this class are *not limited* to the Profile | 58 // 3. The process ids contained in this class are *not limited* to the Profile |
59 // you got this map from. They can also be associated with that profile's | 59 // you got this map from. They can also be associated with that profile's |
60 // incognito/normal twin. If you care about this, use | 60 // incognito/normal twin. If you care about this, use |
61 // RenderProcessHost::FromID() and check the profile of the resulting object. | 61 // RenderProcessHost::FromID() and check the profile of the resulting object. |
62 // | 62 // |
63 // TODO(aa): The above warnings suggest this class could use improvement :). | 63 // TODO(aa): The above warnings suggest this class could use improvement :). |
64 class ProcessMap { | 64 class ProcessMap { |
65 public: | 65 public: |
66 ProcessMap(); | 66 ProcessMap(); |
(...skipping 18 matching lines...) Expand all Loading... |
85 | 85 |
86 typedef std::set<Item> ItemSet; | 86 typedef std::set<Item> ItemSet; |
87 ItemSet items_; | 87 ItemSet items_; |
88 | 88 |
89 DISALLOW_COPY_AND_ASSIGN(ProcessMap); | 89 DISALLOW_COPY_AND_ASSIGN(ProcessMap); |
90 }; | 90 }; |
91 | 91 |
92 } // extensions | 92 } // extensions |
93 | 93 |
94 #endif // CHROME_BROWSER_EXTENSIONS_PROCESS_MAP_H_ | 94 #endif // CHROME_BROWSER_EXTENSIONS_PROCESS_MAP_H_ |
OLD | NEW |