| OLD | NEW |
| 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 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 { | 62 { |
| 63 const Context context(*this); | 63 const Context context(*this); |
| 64 const v8::TryCatch tryCatch; | 64 const v8::TryCatch tryCatch; |
| 65 const v8::Handle<v8::Script> script = CompileScript(source, filename); | 65 const v8::Handle<v8::Script> script = CompileScript(source, filename); |
| 66 CheckTryCatch(tryCatch); | 66 CheckTryCatch(tryCatch); |
| 67 v8::Local<v8::Value> result = script->Run(); | 67 v8::Local<v8::Value> result = script->Run(); |
| 68 CheckTryCatch(tryCatch); | 68 CheckTryCatch(tryCatch); |
| 69 return JsValuePtr(new JsValue(*this, result)); | 69 return JsValuePtr(new JsValue(*this, result)); |
| 70 } | 70 } |
| 71 | 71 |
| 72 void AdblockPlus::JsEngine::Load(const std::string& scriptPath) | |
| 73 { | |
| 74 const std::tr1::shared_ptr<std::istream> file = GetFileSystem()->Read(scriptPa
th); | |
| 75 if (!file || !*file) | |
| 76 throw std::runtime_error("Unable to load script " + scriptPath); | |
| 77 Evaluate(Utils::Slurp(*file)); | |
| 78 } | |
| 79 | |
| 80 void AdblockPlus::JsEngine::Gc() | 72 void AdblockPlus::JsEngine::Gc() |
| 81 { | 73 { |
| 82 while (!v8::V8::IdleNotification()); | 74 while (!v8::V8::IdleNotification()); |
| 83 } | 75 } |
| 84 | 76 |
| 85 AdblockPlus::JsValuePtr AdblockPlus::JsEngine::NewValue(const std::string& val) | 77 AdblockPlus::JsValuePtr AdblockPlus::JsEngine::NewValue(const std::string& val) |
| 86 { | 78 { |
| 87 const Context context(*this); | 79 const Context context(*this); |
| 88 return JsValuePtr(new JsValue(*this, v8::String::New(val.c_str(), val.length()
))); | 80 return JsValuePtr(new JsValue(*this, v8::String::New(val.c_str(), val.length()
))); |
| 89 } | 81 } |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 166 void AdblockPlus::JsEngine::SetErrorCallback(AdblockPlus::ErrorCallbackPtr val) | 158 void AdblockPlus::JsEngine::SetErrorCallback(AdblockPlus::ErrorCallbackPtr val) |
| 167 { | 159 { |
| 168 errorCallback = val; | 160 errorCallback = val; |
| 169 } | 161 } |
| 170 | 162 |
| 171 AdblockPlus::JsEngine::Context::Context(const JsEngine& jsEngine) | 163 AdblockPlus::JsEngine::Context::Context(const JsEngine& jsEngine) |
| 172 : locker(jsEngine.isolate), handleScope(), | 164 : locker(jsEngine.isolate), handleScope(), |
| 173 contextScope(jsEngine.context) | 165 contextScope(jsEngine.context) |
| 174 { | 166 { |
| 175 } | 167 } |
| OLD | NEW |