Fix missing HandleScope to prevent local handles to DOMWindow leaking.

R=erik.corry@gmail.com
BUG=102895
TEST=none

Review URL: http://codereview.chromium.org/8528024

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 330cd220
...@@ -2473,6 +2473,7 @@ void V8HeapExplorer::TagGlobalObjects() { ...@@ -2473,6 +2473,7 @@ void V8HeapExplorer::TagGlobalObjects() {
Isolate* isolate = Isolate::Current(); Isolate* isolate = Isolate::Current();
GlobalObjectsEnumerator enumerator; GlobalObjectsEnumerator enumerator;
isolate->global_handles()->IterateAllRoots(&enumerator); isolate->global_handles()->IterateAllRoots(&enumerator);
HandleScope scope;
Handle<String> document_string = Handle<String> document_string =
isolate->factory()->NewStringFromAscii(CStrVector("document")); isolate->factory()->NewStringFromAscii(CStrVector("document"));
Handle<String> url_string = Handle<String> url_string =
...@@ -2480,6 +2481,7 @@ void V8HeapExplorer::TagGlobalObjects() { ...@@ -2480,6 +2481,7 @@ void V8HeapExplorer::TagGlobalObjects() {
const char** urls = NewArray<const char*>(enumerator.count()); const char** urls = NewArray<const char*>(enumerator.count());
for (int i = 0, l = enumerator.count(); i < l; ++i) { for (int i = 0, l = enumerator.count(); i < l; ++i) {
urls[i] = NULL; urls[i] = NULL;
HandleScope scope;
Handle<JSGlobalObject> global_obj = enumerator.at(i); Handle<JSGlobalObject> global_obj = enumerator.at(i);
Object* obj_document; Object* obj_document;
if (global_obj->GetProperty(*document_string)->ToObject(&obj_document) && if (global_obj->GetProperty(*document_string)->ToObject(&obj_document) &&
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment