Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: src/JsEngine.cpp

Issue 29734562: Issue 6526 - update usage of V8 API (Closed) Base URL: https://github.com/adblockplus/libadblockplus@18cc8b26874862bdc75c1cce28bd7b490066c659
Patch Set: Created March 27, 2018, 11:37 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/FileSystemJsObject.cpp ('k') | src/JsValue.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * This file is part of Adblock Plus <https://adblockplus.org/>, 2 * This file is part of Adblock Plus <https://adblockplus.org/>,
3 * Copyright (C) 2006-present eyeo GmbH 3 * Copyright (C) 2006-present eyeo GmbH
4 * 4 *
5 * Adblock Plus is free software: you can redistribute it and/or modify 5 * Adblock Plus is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 3 as 6 * it under the terms of the GNU General Public License version 3 as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
8 * 8 *
9 * Adblock Plus is distributed in the hope that it will be useful, 9 * Adblock Plus is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 AdblockPlus::JsValue AdblockPlus::JsEngine::GetGlobalObject() 183 AdblockPlus::JsValue AdblockPlus::JsEngine::GetGlobalObject()
184 { 184 {
185 JsContext context(*this); 185 JsContext context(*this);
186 return JsValue(shared_from_this(), context.GetV8Context()->Global()); 186 return JsValue(shared_from_this(), context.GetV8Context()->Global());
187 } 187 }
188 188
189 AdblockPlus::JsValue AdblockPlus::JsEngine::Evaluate(const std::string& source, 189 AdblockPlus::JsValue AdblockPlus::JsEngine::Evaluate(const std::string& source,
190 const std::string& filename) 190 const std::string& filename)
191 { 191 {
192 const JsContext context(*this); 192 const JsContext context(*this);
193 const v8::TryCatch tryCatch; 193 const v8::TryCatch tryCatch(GetIsolate());
194 const v8::Handle<v8::Script> script = CompileScript(GetIsolate(), source, 194 const v8::Handle<v8::Script> script = CompileScript(GetIsolate(), source,
195 filename); 195 filename);
196 CheckTryCatch(tryCatch); 196 CheckTryCatch(tryCatch);
197 v8::Local<v8::Value> result = script->Run(); 197 v8::Local<v8::Value> result = script->Run();
198 CheckTryCatch(tryCatch); 198 CheckTryCatch(tryCatch);
199 return JsValue(shared_from_this(), result); 199 return JsValue(shared_from_this(), result);
200 } 200 }
201 201
202 void AdblockPlus::JsEngine::SetEventCallback(const std::string& eventName, 202 void AdblockPlus::JsEngine::SetEventCallback(const std::string& eventName,
203 const AdblockPlus::JsEngine::EventCallback& callback) 203 const AdblockPlus::JsEngine::EventCallback& callback)
(...skipping 21 matching lines...) Expand all
225 auto it = eventCallbacks.find(eventName); 225 auto it = eventCallbacks.find(eventName);
226 if (it == eventCallbacks.end()) 226 if (it == eventCallbacks.end())
227 return; 227 return;
228 callback = it->second; 228 callback = it->second;
229 } 229 }
230 callback(move(params)); 230 callback(move(params));
231 } 231 }
232 232
233 void AdblockPlus::JsEngine::Gc() 233 void AdblockPlus::JsEngine::Gc()
234 { 234 {
235 while (!GetIsolate()->IdleNotification(1000)); 235 while (!GetIsolate()->IdleNotificationDeadline(1000));
236 } 236 }
237 237
238 AdblockPlus::JsValue AdblockPlus::JsEngine::NewValue(const std::string& val) 238 AdblockPlus::JsValue AdblockPlus::JsEngine::NewValue(const std::string& val)
239 { 239 {
240 const JsContext context(*this); 240 const JsContext context(*this);
241 return JsValue(shared_from_this(), Utils::ToV8String(GetIsolate(), val)); 241 return JsValue(shared_from_this(), Utils::ToV8String(GetIsolate(), val));
242 } 242 }
243 243
244 AdblockPlus::JsValue AdblockPlus::JsEngine::NewValue(int64_t val) 244 AdblockPlus::JsValue AdblockPlus::JsEngine::NewValue(int64_t val)
245 { 245 {
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
340 list.push_back(JsValue(shared_from_this(), arguments[i])); 340 list.push_back(JsValue(shared_from_this(), arguments[i]));
341 return list; 341 return list;
342 } 342 }
343 343
344 void AdblockPlus::JsEngine::SetGlobalProperty(const std::string& name, 344 void AdblockPlus::JsEngine::SetGlobalProperty(const std::string& name,
345 const AdblockPlus::JsValue& value) 345 const AdblockPlus::JsValue& value)
346 { 346 {
347 auto global = GetGlobalObject(); 347 auto global = GetGlobalObject();
348 global.SetProperty(name, value); 348 global.SetProperty(name, value);
349 } 349 }
OLDNEW
« no previous file with comments | « src/FileSystemJsObject.cpp ('k') | src/JsValue.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld