| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 161 // WorkerWorld should be disposed of before the dtor. | 161 // WorkerWorld should be disposed of before the dtor. |
| 162 if (!isWorkerWorld()) | 162 if (!isWorkerWorld()) |
| 163 dispose(); | 163 dispose(); |
| 164 DCHECK(!worldMap().contains(m_worldId)); | 164 DCHECK(!worldMap().contains(m_worldId)); |
| 165 } | 165 } |
| 166 | 166 |
| 167 void DOMWrapperWorld::dispose() { | 167 void DOMWrapperWorld::dispose() { |
| 168 m_domObjectHolders.clear(); | 168 m_domObjectHolders.clear(); |
| 169 m_domDataStore.reset(); | 169 m_domDataStore.reset(); |
| 170 DCHECK(worldMap().contains(m_worldId)); | 170 DCHECK(worldMap().contains(m_worldId)); |
| 171 worldMap().remove(m_worldId); | 171 worldMap().erase(m_worldId); |
| 172 } | 172 } |
| 173 | 173 |
| 174 PassRefPtr<DOMWrapperWorld> DOMWrapperWorld::ensureIsolatedWorld( | 174 PassRefPtr<DOMWrapperWorld> DOMWrapperWorld::ensureIsolatedWorld( |
| 175 v8::Isolate* isolate, | 175 v8::Isolate* isolate, |
| 176 int worldId) { | 176 int worldId) { |
| 177 ASSERT(isIsolatedWorldId(worldId)); | 177 ASSERT(isIsolatedWorldId(worldId)); |
| 178 | 178 |
| 179 WorldMap& map = worldMap(); | 179 WorldMap& map = worldMap(); |
| 180 auto it = map.find(worldId); | 180 auto it = map.find(worldId); |
| 181 if (it != map.end()) { | 181 if (it != map.end()) { |
| (...skipping 20 matching lines...) Expand all Loading... |
| 202 return it == origins.end() ? 0 : it->value.get(); | 202 return it == origins.end() ? 0 : it->value.get(); |
| 203 } | 203 } |
| 204 | 204 |
| 205 void DOMWrapperWorld::setIsolatedWorldSecurityOrigin( | 205 void DOMWrapperWorld::setIsolatedWorldSecurityOrigin( |
| 206 int worldId, | 206 int worldId, |
| 207 PassRefPtr<SecurityOrigin> securityOrigin) { | 207 PassRefPtr<SecurityOrigin> securityOrigin) { |
| 208 ASSERT(isIsolatedWorldId(worldId)); | 208 ASSERT(isIsolatedWorldId(worldId)); |
| 209 if (securityOrigin) | 209 if (securityOrigin) |
| 210 isolatedWorldSecurityOrigins().set(worldId, std::move(securityOrigin)); | 210 isolatedWorldSecurityOrigins().set(worldId, std::move(securityOrigin)); |
| 211 else | 211 else |
| 212 isolatedWorldSecurityOrigins().remove(worldId); | 212 isolatedWorldSecurityOrigins().erase(worldId); |
| 213 } | 213 } |
| 214 | 214 |
| 215 typedef HashMap<int, String> IsolatedWorldHumanReadableNameMap; | 215 typedef HashMap<int, String> IsolatedWorldHumanReadableNameMap; |
| 216 static IsolatedWorldHumanReadableNameMap& isolatedWorldHumanReadableNames() { | 216 static IsolatedWorldHumanReadableNameMap& isolatedWorldHumanReadableNames() { |
| 217 ASSERT(isMainThread()); | 217 ASSERT(isMainThread()); |
| 218 DEFINE_STATIC_LOCAL(IsolatedWorldHumanReadableNameMap, map, ()); | 218 DEFINE_STATIC_LOCAL(IsolatedWorldHumanReadableNameMap, map, ()); |
| 219 return map; | 219 return map; |
| 220 } | 220 } |
| 221 | 221 |
| 222 String DOMWrapperWorld::isolatedWorldHumanReadableName() { | 222 String DOMWrapperWorld::isolatedWorldHumanReadableName() { |
| (...skipping 24 matching lines...) Expand all Loading... |
| 247 return it == policies.end() ? false : it->value; | 247 return it == policies.end() ? false : it->value; |
| 248 } | 248 } |
| 249 | 249 |
| 250 void DOMWrapperWorld::setIsolatedWorldContentSecurityPolicy( | 250 void DOMWrapperWorld::setIsolatedWorldContentSecurityPolicy( |
| 251 int worldId, | 251 int worldId, |
| 252 const String& policy) { | 252 const String& policy) { |
| 253 ASSERT(isIsolatedWorldId(worldId)); | 253 ASSERT(isIsolatedWorldId(worldId)); |
| 254 if (!policy.isEmpty()) | 254 if (!policy.isEmpty()) |
| 255 isolatedWorldContentSecurityPolicies().set(worldId, true); | 255 isolatedWorldContentSecurityPolicies().set(worldId, true); |
| 256 else | 256 else |
| 257 isolatedWorldContentSecurityPolicies().remove(worldId); | 257 isolatedWorldContentSecurityPolicies().erase(worldId); |
| 258 } | 258 } |
| 259 | 259 |
| 260 template <typename T> | 260 template <typename T> |
| 261 void DOMWrapperWorld::registerDOMObjectHolder(v8::Isolate* isolate, | 261 void DOMWrapperWorld::registerDOMObjectHolder(v8::Isolate* isolate, |
| 262 T* object, | 262 T* object, |
| 263 v8::Local<v8::Value> wrapper) { | 263 v8::Local<v8::Value> wrapper) { |
| 264 registerDOMObjectHolderInternal( | 264 registerDOMObjectHolderInternal( |
| 265 DOMObjectHolder<T>::create(isolate, object, wrapper)); | 265 DOMObjectHolder<T>::create(isolate, object, wrapper)); |
| 266 } | 266 } |
| 267 | 267 |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 309 int worldId = *s_nextWorldId; | 309 int worldId = *s_nextWorldId; |
| 310 CHECK_GE(worldId, WorldId::UnspecifiedWorldIdStart); | 310 CHECK_GE(worldId, WorldId::UnspecifiedWorldIdStart); |
| 311 *s_nextWorldId = worldId + 1; | 311 *s_nextWorldId = worldId + 1; |
| 312 return worldId; | 312 return worldId; |
| 313 } | 313 } |
| 314 NOTREACHED(); | 314 NOTREACHED(); |
| 315 return InvalidWorldId; | 315 return InvalidWorldId; |
| 316 } | 316 } |
| 317 | 317 |
| 318 } // namespace blink | 318 } // namespace blink |
| OLD | NEW |