OLD | NEW |
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 #include "extensions/browser/process_map.h" | 5 #include "extensions/browser/process_map.h" |
6 | 6 |
| 7 #include "extensions/browser/process_map_factory.h" |
| 8 |
7 namespace extensions { | 9 namespace extensions { |
8 | 10 |
9 // Item | 11 // Item |
10 struct ProcessMap::Item { | 12 struct ProcessMap::Item { |
11 Item() : process_id(0), site_instance_id(0) { | 13 Item() : process_id(0), site_instance_id(0) { |
12 } | 14 } |
13 | 15 |
14 // Purposely implicit constructor needed on older gcc's. See: | 16 // Purposely implicit constructor needed on older gcc's. See: |
15 // http://codereview.chromium.org/8769022/ | 17 // http://codereview.chromium.org/8769022/ |
16 explicit Item(const ProcessMap::Item& other) | 18 explicit Item(const ProcessMap::Item& other) |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
53 }; | 55 }; |
54 | 56 |
55 | 57 |
56 // ProcessMap | 58 // ProcessMap |
57 ProcessMap::ProcessMap() { | 59 ProcessMap::ProcessMap() { |
58 } | 60 } |
59 | 61 |
60 ProcessMap::~ProcessMap() { | 62 ProcessMap::~ProcessMap() { |
61 } | 63 } |
62 | 64 |
| 65 // static |
| 66 ProcessMap* ProcessMap::Get(content::BrowserContext* browser_context) { |
| 67 return ProcessMapFactory::GetForBrowserContext(browser_context); |
| 68 } |
| 69 |
63 bool ProcessMap::Insert(const std::string& extension_id, int process_id, | 70 bool ProcessMap::Insert(const std::string& extension_id, int process_id, |
64 int site_instance_id) { | 71 int site_instance_id) { |
65 return items_.insert(Item(extension_id, process_id, site_instance_id)).second; | 72 return items_.insert(Item(extension_id, process_id, site_instance_id)).second; |
66 } | 73 } |
67 | 74 |
68 bool ProcessMap::Remove(const std::string& extension_id, int process_id, | 75 bool ProcessMap::Remove(const std::string& extension_id, int process_id, |
69 int site_instance_id) { | 76 int site_instance_id) { |
70 return items_.erase(Item(extension_id, process_id, site_instance_id)) > 0; | 77 return items_.erase(Item(extension_id, process_id, site_instance_id)) > 0; |
71 } | 78 } |
72 | 79 |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
105 std::set<std::string> ProcessMap::GetExtensionsInProcess(int process_id) const { | 112 std::set<std::string> ProcessMap::GetExtensionsInProcess(int process_id) const { |
106 std::set<std::string> result; | 113 std::set<std::string> result; |
107 for (ItemSet::const_iterator iter = items_.begin(); iter != items_.end(); | 114 for (ItemSet::const_iterator iter = items_.begin(); iter != items_.end(); |
108 ++iter) { | 115 ++iter) { |
109 if (iter->process_id == process_id) | 116 if (iter->process_id == process_id) |
110 result.insert(iter->extension_id); | 117 result.insert(iter->extension_id); |
111 } | 118 } |
112 return result; | 119 return result; |
113 } | 120 } |
114 | 121 |
115 } // extensions | 122 } // namespace extensions |
OLD | NEW |