Chromium Code Reviews| Index: content/renderer/browser_plugin/browser_plugin.cc |
| diff --git a/content/renderer/browser_plugin/browser_plugin.cc b/content/renderer/browser_plugin/browser_plugin.cc |
| index 573ff76bb1de82c478ea0952b5e622681b2d0175..9308f64803609c564f696350a503369a93277968 100644 |
| --- a/content/renderer/browser_plugin/browser_plugin.cc |
| +++ b/content/renderer/browser_plugin/browser_plugin.cc |
| @@ -855,8 +855,10 @@ void BrowserPlugin::PersistRequestObject( |
| return; |
| } |
| + v8::Isolate* isolate = v8::Isolate::GetCurrent(); |
|
jochen (gone - plz use gerrit)
2013/03/04 13:51:25
what's the plan to get the isolate to this place?
Sven Panne
2013/03/04 15:01:46
Personally, I have no plan :-), so I'll add a TODO
|
| v8::Persistent<v8::Value> weak_request = |
| - v8::Persistent<v8::Value>::New(WebKit::WebBindings::toV8Value(request)); |
| + v8::Persistent<v8::Value>::New(isolate, |
| + WebKit::WebBindings::toV8Value(request)); |
| AliveV8PermissionRequestItem* new_item = |
| new std::pair<int, base::WeakPtr<BrowserPlugin> >( |
| @@ -867,12 +869,12 @@ void BrowserPlugin::PersistRequestObject( |
| std::make_pair(id, new_item)); |
| CHECK(result.second); // Inserted in the map. |
| AliveV8PermissionRequestItem* request_item = result.first->second; |
| - weak_request.MakeWeak(request_item, WeakCallbackForPersistObject); |
| + weak_request.MakeWeak(isolate, request_item, WeakCallbackForPersistObject); |
| } |
| // static |
| void BrowserPlugin::WeakCallbackForPersistObject( |
| - v8::Persistent<v8::Value> object, void* param) { |
| + v8::Isolate* isolate, v8::Persistent<v8::Value> object, void* param) { |
| v8::Persistent<v8::Object> persistent_object = |
| v8::Persistent<v8::Object>::Cast(object); |
| @@ -882,7 +884,7 @@ void BrowserPlugin::WeakCallbackForPersistObject( |
| base::WeakPtr<BrowserPlugin> plugin = item_ptr->second; |
| delete item_ptr; |
| - persistent_object.Dispose(); |
| + persistent_object.Dispose(isolate); |
| persistent_object.Clear(); |
| if (plugin) { |