LEFT | RIGHT |
1 #include <AdblockPlus.h> | 1 #include <AdblockPlus.h> |
2 #include <sstream> | 2 #include <sstream> |
3 | 3 |
4 #include "GlobalJsObject.h" | 4 #include "GlobalJsObject.h" |
5 #include "Utils.h" | 5 #include "Utils.h" |
6 | 6 |
7 namespace | 7 namespace |
8 { | 8 { |
9 v8::Handle<v8::Script> CompileScript(const std::string& source, const std::str
ing& filename) | 9 v8::Handle<v8::Script> CompileScript(const std::string& source, const std::str
ing& filename) |
10 { | 10 { |
(...skipping 28 matching lines...) Expand all Loading... |
39 return error.str(); | 39 return error.str(); |
40 } | 40 } |
41 } | 41 } |
42 | 42 |
43 AdblockPlus::JsError::JsError(const v8::Handle<v8::Value> exception, | 43 AdblockPlus::JsError::JsError(const v8::Handle<v8::Value> exception, |
44 const v8::Handle<v8::Message> message) | 44 const v8::Handle<v8::Message> message) |
45 : std::runtime_error(ExceptionToString(exception, message)) | 45 : std::runtime_error(ExceptionToString(exception, message)) |
46 { | 46 { |
47 } | 47 } |
48 | 48 |
49 AdblockPlus::JsEngine::JsEngine(FileSystem* const fileSystem, | 49 AdblockPlus::JsEngine::JsEngine(const AppInfo& appInfo, |
| 50 FileSystem* const fileSystem, |
50 WebRequest* const webRequest, | 51 WebRequest* const webRequest, |
51 ErrorCallback* const errorCallback) | 52 ErrorCallback* const errorCallback) |
52 : fileSystem(*fileSystem), webRequest(*webRequest), | 53 : fileSystem(*fileSystem), webRequest(*webRequest), |
53 errorCallback(*errorCallback), isolate(v8::Isolate::GetCurrent()) | 54 errorCallback(*errorCallback), isolate(v8::Isolate::GetCurrent()) |
54 { | 55 { |
55 const v8::Locker locker(isolate); | 56 const v8::Locker locker(isolate); |
56 const v8::HandleScope handleScope; | 57 const v8::HandleScope handleScope; |
57 | 58 |
58 context = v8::Context::New(); | 59 context = v8::Context::New(); |
59 AdblockPlus::GlobalJsObject::Setup(*this, | 60 AdblockPlus::GlobalJsObject::Setup(*this, appInfo, |
60 JsValuePtr(new JsValue(*this, context->Global()))); | 61 JsValuePtr(new JsValue(*this, context->Global()))); |
61 } | 62 } |
62 | 63 |
63 AdblockPlus::JsValuePtr AdblockPlus::JsEngine::Evaluate(const std::string& sourc
e, | 64 AdblockPlus::JsValuePtr AdblockPlus::JsEngine::Evaluate(const std::string& sourc
e, |
64 const std::string& filename) | 65 const std::string& filename) |
65 { | 66 { |
66 const Context context(*this); | 67 const Context context(*this); |
67 const v8::TryCatch tryCatch; | 68 const v8::TryCatch tryCatch; |
68 const v8::Handle<v8::Script> script = CompileScript(source, filename); | 69 const v8::Handle<v8::Script> script = CompileScript(source, filename); |
69 CheckTryCatch(tryCatch); | 70 CheckTryCatch(tryCatch); |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 for (int i = 0; i < arguments.Length(); i++) | 134 for (int i = 0; i < arguments.Length(); i++) |
134 list.push_back(JsValuePtr(new JsValue(*this, arguments[i]))); | 135 list.push_back(JsValuePtr(new JsValue(*this, arguments[i]))); |
135 return list; | 136 return list; |
136 } | 137 } |
137 | 138 |
138 AdblockPlus::JsEngine::Context::Context(const JsEngine& jsEngine) | 139 AdblockPlus::JsEngine::Context::Context(const JsEngine& jsEngine) |
139 : locker(jsEngine.isolate), handleScope(), | 140 : locker(jsEngine.isolate), handleScope(), |
140 contextScope(jsEngine.context) | 141 contextScope(jsEngine.context) |
141 { | 142 { |
142 } | 143 } |
LEFT | RIGHT |