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 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 bool isContextInitialized() { return m_contextHolder; } | 73 bool isContextInitialized() { return m_contextHolder; } |
74 bool isGlobalInitialized() { return !m_global.isEmpty(); } | 74 bool isGlobalInitialized() { return !m_global.isEmpty(); } |
75 | 75 |
76 bool initializeIfNeeded(); | 76 bool initializeIfNeeded(); |
77 void updateDocumentWrapper(v8::Handle<v8::Object> wrapper); | 77 void updateDocumentWrapper(v8::Handle<v8::Object> wrapper); |
78 | 78 |
79 void clearForNavigation(); | 79 void clearForNavigation(); |
80 void clearForClose(bool destroyGlobal); | 80 void clearForClose(bool destroyGlobal); |
81 | 81 |
82 DOMWrapperWorld* world() { return m_world.get(); } | 82 DOMWrapperWorld* world() { return m_world.get(); } |
83 static bool contextHasCorrectPrototype(v8::Handle<v8::Context>); | 83 |
| 84 // FIXME: Remove this method (crbug.com/345014). |
| 85 static bool contextIsBeingInitialized(); |
84 | 86 |
85 private: | 87 private: |
86 V8WindowShell(LocalFrame*, PassRefPtr<DOMWrapperWorld>, v8::Isolate*); | 88 V8WindowShell(LocalFrame*, PassRefPtr<DOMWrapperWorld>, v8::Isolate*); |
87 bool initialize(); | 89 bool initialize(); |
88 | 90 |
89 enum GlobalDetachmentBehavior { | 91 enum GlobalDetachmentBehavior { |
90 DoNotDetachGlobal, | 92 DoNotDetachGlobal, |
91 DetachGlobal | 93 DetachGlobal |
92 }; | 94 }; |
93 void disposeContext(GlobalDetachmentBehavior); | 95 void disposeContext(GlobalDetachmentBehavior); |
(...skipping 19 matching lines...) Expand all Loading... |
113 OwnPtr<V8PerContextData> m_perContextData; | 115 OwnPtr<V8PerContextData> m_perContextData; |
114 | 116 |
115 OwnPtr<gin::ContextHolder> m_contextHolder; | 117 OwnPtr<gin::ContextHolder> m_contextHolder; |
116 ScopedPersistent<v8::Object> m_global; | 118 ScopedPersistent<v8::Object> m_global; |
117 ScopedPersistent<v8::Object> m_document; | 119 ScopedPersistent<v8::Object> m_document; |
118 }; | 120 }; |
119 | 121 |
120 } // namespace WebCore | 122 } // namespace WebCore |
121 | 123 |
122 #endif // V8WindowShell_h | 124 #endif // V8WindowShell_h |
OLD | NEW |