| OLD | NEW |
| 1 #include <AdblockPlus/JsEngine.h> | 1 #include <AdblockPlus/JsEngine.h> |
| 2 #include <AdblockPlus/JsValue.h> | 2 #include <AdblockPlus/JsValue.h> |
| 3 #include <AdblockPlus/ErrorCallback.h> | 3 #include <AdblockPlus/ErrorCallback.h> |
| 4 #include <sstream> | 4 #include <sstream> |
| 5 | 5 |
| 6 #include "ConsoleJsObject.h" | 6 #include "ConsoleJsObject.h" |
| 7 | 7 |
| 8 namespace | 8 namespace |
| 9 { | 9 { |
| 10 v8::Handle<v8::Value> ErrorCallback(const v8::Arguments& arguments) | 10 v8::Handle<v8::Value> ErrorCallback(const v8::Arguments& arguments) |
| 11 { | 11 { |
| 12 AdblockPlus::JsEngine& jsEngine = AdblockPlus::JsEngine::FromArguments(argum
ents); | 12 AdblockPlus::JsEngine& jsEngine = AdblockPlus::JsEngine::FromArguments(argum
ents); |
| 13 const AdblockPlus::JsEngine::Context context(jsEngine); | 13 const AdblockPlus::JsEngine::Context context(jsEngine); |
| 14 AdblockPlus::JsValueList converted = jsEngine.ConvertArguments(arguments); | 14 AdblockPlus::JsValueList converted = jsEngine.ConvertArguments(arguments); |
| 15 | 15 |
| 16 std::stringstream message; | 16 std::stringstream message; |
| 17 for (size_t i = 0; i < converted.size(); i++) | 17 for (size_t i = 0; i < converted.size(); i++) |
| 18 message << converted[i]->AsString(); | 18 message << converted[i]->AsString(); |
| 19 | 19 |
| 20 (jsEngine.GetErrorCallback())(message.str()); | 20 (jsEngine.GetErrorCallback())(message.str()); |
| 21 return v8::Undefined(); | 21 return v8::Undefined(); |
| 22 } | 22 } |
| 23 | 23 |
| 24 v8::Handle<v8::Value> TraceCallback(const v8::Arguments& arguments) | 24 v8::Handle<v8::Value> TraceCallback(const v8::Arguments& arguments) |
| 25 { | 25 { |
| 26 return v8::Undefined(); | 26 return v8::Undefined(); |
| 27 } | 27 } |
| 28 } | 28 } |
| 29 | 29 |
| 30 v8::Handle<v8::ObjectTemplate> AdblockPlus::ConsoleJsObject::Create( | 30 AdblockPlus::JsValuePtr AdblockPlus::ConsoleJsObject::Setup( |
| 31 AdblockPlus::JsEngine& jsEngine) | 31 AdblockPlus::JsEngine& jsEngine, AdblockPlus::JsValuePtr obj) |
| 32 { | 32 { |
| 33 v8::HandleScope handleScope; | 33 obj->SetProperty("error", jsEngine.NewCallback(::ErrorCallback)); |
| 34 const v8::Handle<v8::ObjectTemplate> console = v8::ObjectTemplate::New(); | 34 obj->SetProperty("trace", jsEngine.NewCallback(::TraceCallback)); |
| 35 const v8::Handle<v8::FunctionTemplate> errorFunction = | 35 return obj; |
| 36 v8::FunctionTemplate::New(::ErrorCallback, | |
| 37 v8::External::New(&jsEngine)); | |
| 38 console->Set(v8::String::New("error"), errorFunction); | |
| 39 const v8::Handle<v8::FunctionTemplate> traceFunction = | |
| 40 v8::FunctionTemplate::New(TraceCallback); | |
| 41 console->Set(v8::String::New("trace"), traceFunction); | |
| 42 return handleScope.Close(console); | |
| 43 } | 36 } |
| OLD | NEW |