Chromium Code Reviews| Index: third_party/WebKit/Source/bindings/core/v8/V8BindingDesign.md |
| diff --git a/third_party/WebKit/Source/bindings/core/v8/V8BindingDesign.md b/third_party/WebKit/Source/bindings/core/v8/V8BindingDesign.md |
| index e02e97c4aca8514e8e819092258940db56f2fa28..f5bb0ce6651eb113933102be85ac4f999924ec89 100644 |
| --- a/third_party/WebKit/Source/bindings/core/v8/V8BindingDesign.md |
| +++ b/third_party/WebKit/Source/bindings/core/v8/V8BindingDesign.md |
| @@ -8,8 +8,9 @@ See [V8GCController.md](V8GCController.md) to learn the lifetime management. |
| ## Isolate |
| -An isolate is a concept of a thread in V8. |
| -Isolates and threads are in 1:1 relationship. |
| +An isolate is a concept of a heap in V8. |
|
jochen (gone - plz use gerrit)
2016/01/08 14:09:20
What about an isolate is an instance of V8
haraken
2016/01/08 14:26:49
Done.
|
| +In Blink, isolates and threads are in 1:1 relationship |
| +(except compositor workers which map multiple worker threads on one isolate). |
|
jochen (gone - plz use gerrit)
2016/01/08 14:09:20
hum, I don't think that's correct, they all share
haraken
2016/01/08 14:26:49
That's just a wording issue. I meant a user-level
|
| One isolate is associated with the main thread. |
| One isolate is associated with one worker thread. |
| @@ -106,9 +107,9 @@ and the control returns back to V8 binding, V8 binding pops the context |
| from the stack. Given that the control between V8 binding and V8 can be nested |
| (i.e., V8 binding invokes JavaScript, which calls into V8 binding, |
| which invokes another JavaScript etc), these contexts form a stack. |
| -The pushing and popping are done by calling v8::Context::Enter() and |
| -v8::Context::Exit() (or v8::Context::Scope). We call the most recently entered |
| -context an entered context. |
| +The pushing and popping are done by any V8 API that takes a context argument |
| +or by explicitly calling v8::Context::Enter() and v8::Context::Exit(). |
| +We call the most recently entered context an entered context. |
| In the above example, at the point when func() is running, |
| the entered context is the context of the main frame |
| @@ -124,6 +125,10 @@ In summary, the entered context is a context from which the current JavaScript |
| execution was started. The current context is a context of |
| the JavaScript function that is currently running. |
| +There is another special context called a debugger context. |
| +If a debugger is active, the debugger context may be inserted to |
| +the context stack. |
| + |
| ## World |
| A world is a concept to sandbox DOM wrappers among content scripts of |
| @@ -193,9 +198,8 @@ The current context of the worker thread never changes. |
| ## DOM wrappers and worlds |
| -For compatibility reasons (although this is not speced), |
| -we need to make sure that the same DOM wrapper is returned to JavaScript |
| -as long as the underlying C++ DOM object is alive. |
| +For compatibility reasons, we need to make sure that the same DOM wrapper |
| +is returned to JavaScript as long as the underlying C++ DOM object is alive. |
| We should not return different DOM wrappers for the same C++ DOM object. |
| Here is an example: |