| 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 49 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   60     if (isMainWorld()) |   60     if (isMainWorld()) | 
|   61         m_domDataStore = adoptPtr(new DOMDataStore(MainWorld)); |   61         m_domDataStore = adoptPtr(new DOMDataStore(MainWorld)); | 
|   62     else if (isIsolatedWorld()) |   62     else if (isIsolatedWorld()) | 
|   63         m_domDataStore = adoptPtr(new DOMDataStore(IsolatedWorld)); |   63         m_domDataStore = adoptPtr(new DOMDataStore(IsolatedWorld)); | 
|   64     else if (isWorkerWorld()) |   64     else if (isWorkerWorld()) | 
|   65         m_domDataStore = adoptPtr(new DOMDataStore(WorkerWorld)); |   65         m_domDataStore = adoptPtr(new DOMDataStore(WorkerWorld)); | 
|   66 } |   66 } | 
|   67  |   67  | 
|   68 DOMWrapperWorld* DOMWrapperWorld::current(v8::Isolate* isolate) |   68 DOMWrapperWorld* DOMWrapperWorld::current(v8::Isolate* isolate) | 
|   69 { |   69 { | 
|   70     ASSERT(isolate->InContext()); |  | 
|   71     v8::Handle<v8::Context> context = isolate->GetCurrentContext(); |   70     v8::Handle<v8::Context> context = isolate->GetCurrentContext(); | 
|   72     if (!toDOMWindow(context)) |   71     if (context.IsEmpty() || !contextHasCorrectPrototype(context)) | 
|   73         return 0; |   72         return 0; | 
|   74     ASSERT(isMainThread()); |  | 
|   75     if (DOMWrapperWorld* world = isolatedWorld(context)) |   73     if (DOMWrapperWorld* world = isolatedWorld(context)) | 
|   76         return world; |   74         return world; | 
|   77     return mainWorld(); |   75     return mainWorld(); | 
|   78 } |   76 } | 
|   79  |   77  | 
|   80 DOMWrapperWorld* DOMWrapperWorld::mainWorld() |   78 DOMWrapperWorld* DOMWrapperWorld::mainWorld() | 
|   81 { |   79 { | 
|   82     ASSERT(isMainThread()); |   80     ASSERT(isMainThread()); | 
|   83     DEFINE_STATIC_REF(DOMWrapperWorld, cachedMainWorld, (DOMWrapperWorld::create
     (MainWorldId, mainWorldExtensionGroup))); |   81     DEFINE_STATIC_REF(DOMWrapperWorld, cachedMainWorld, (DOMWrapperWorld::create
     (MainWorldId, mainWorldExtensionGroup))); | 
|   84     return cachedMainWorld; |   82     return cachedMainWorld; | 
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  228     DOMActivityLoggerMap::iterator it = loggers.find(worldId); |  226     DOMActivityLoggerMap::iterator it = loggers.find(worldId); | 
|  229     return it == loggers.end() ? 0 : it->value.get(); |  227     return it == loggers.end() ? 0 : it->value.get(); | 
|  230 } |  228 } | 
|  231  |  229  | 
|  232 bool DOMWrapperWorld::contextHasCorrectPrototype(v8::Handle<v8::Context> context
     ) |  230 bool DOMWrapperWorld::contextHasCorrectPrototype(v8::Handle<v8::Context> context
     ) | 
|  233 { |  231 { | 
|  234     return V8WindowShell::contextHasCorrectPrototype(context); |  232     return V8WindowShell::contextHasCorrectPrototype(context); | 
|  235 } |  233 } | 
|  236  |  234  | 
|  237 } // namespace WebCore |  235 } // namespace WebCore | 
| OLD | NEW |