| 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 |