Chromium Code Reviews| Index: samples/process.cc |
| =================================================================== |
| --- samples/process.cc (revision 5878) |
| +++ samples/process.cc (working copy) |
| @@ -152,18 +152,16 @@ |
| Handle<ObjectTemplate> global = ObjectTemplate::New(); |
| global->Set(String::New("log"), FunctionTemplate::New(LogCallback)); |
| - // Each processor gets its own context so different processors |
| - // don't affect each other (ignore the first three lines). |
| - Handle<Context> context = Context::New(NULL, global); |
| + // Each processor gets its own context so different processors don't |
| + // affect each other (ignore the first three lines). Context::New |
| + // returns a persistent handle which is what we need for the |
|
Rico
2010/11/24 09:18:43
what does "ignore the first three lines" mean here
Mads Ager (chromium)
2010/11/24 09:20:19
Good point. I honestly don't know. I'll remove the
|
| + // reference to remain after we return from this method. That |
| + // persistent handle has to be disposed in the destructor. |
| + context_ = Context::New(NULL, global); |
| - // Store the context in the processor object in a persistent handle, |
| - // since we want the reference to remain after we return from this |
| - // method. |
| - context_ = Persistent<Context>::New(context); |
| - |
| // Enter the new context so all the following operations take place |
| // within it. |
| - Context::Scope context_scope(context); |
| + Context::Scope context_scope(context_); |
| // Make the options mapping available within the context |
| if (!InstallMaps(opts, output)) |
| @@ -176,7 +174,7 @@ |
| // The script compiled and ran correctly. Now we fetch out the |
| // Process function from the global object. |
| Handle<String> process_name = String::New("Process"); |
| - Handle<Value> process_val = context->Global()->Get(process_name); |
| + Handle<Value> process_val = context_->Global()->Get(process_name); |
| // If there is no Process function, or if it is not a function, |
| // bail out |