mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-09-21 07:58:04 +03:00
Put the other v8 extensions in the v8_extensions
namespace
This commit is contained in:
parent
76b8f42bb7
commit
a4a87917ba
@ -6,8 +6,8 @@
|
||||
|
||||
void AtomCefApp::OnWebKitInitialized() {
|
||||
new v8_extensions::Atom();
|
||||
new NativeHandler();
|
||||
new OnigRegexpExtension();
|
||||
new v8_extensions::Native();
|
||||
new v8_extensions::OnigRegExp();
|
||||
}
|
||||
|
||||
void AtomCefApp::OnContextCreated(CefRefPtr<CefBrowser> browser,
|
||||
|
@ -2,12 +2,13 @@
|
||||
#import "include/cef_base.h"
|
||||
#import "include/cef_v8.h"
|
||||
|
||||
class NativeHandler : public CefV8Handler {
|
||||
|
||||
namespace v8_extensions {
|
||||
|
||||
class Native : public CefV8Handler {
|
||||
public:
|
||||
NativeHandler();
|
||||
|
||||
CefRefPtr<CefV8Value> m_object;
|
||||
|
||||
Native();
|
||||
|
||||
virtual bool Execute(const CefString& name,
|
||||
CefRefPtr<CefV8Value> object,
|
||||
const CefV8ValueList& arguments,
|
||||
@ -15,5 +16,7 @@ public:
|
||||
CefString& exception) OVERRIDE;
|
||||
|
||||
// Provide the reference counting implementation for this class.
|
||||
IMPLEMENT_REFCOUNTING(NativeHandler);
|
||||
IMPLEMENT_REFCOUNTING(Native);
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -9,6 +9,8 @@
|
||||
|
||||
#import <iostream>
|
||||
|
||||
namespace v8_extensions {
|
||||
|
||||
NSString *stringFromCefV8Value(const CefRefPtr<CefV8Value>& value) {
|
||||
std::string cc_value = value->GetStringValue().ToString();
|
||||
return [NSString stringWithUTF8String:cc_value.c_str()];
|
||||
@ -24,13 +26,13 @@ void throwException(const CefRefPtr<CefV8Value>& global, CefRefPtr<CefV8Exceptio
|
||||
console->GetValue("error")->ExecuteFunction(console, arguments);
|
||||
}
|
||||
|
||||
NativeHandler::NativeHandler() : CefV8Handler() {
|
||||
Native::Native() : CefV8Handler() {
|
||||
NSString *filePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"v8_extensions/native.js"];
|
||||
NSString *extensionCode = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
|
||||
CefRegisterExtension("v8/native", [extensionCode UTF8String], this);
|
||||
}
|
||||
|
||||
bool NativeHandler::Execute(const CefString& name,
|
||||
bool Native::Execute(const CefString& name,
|
||||
CefRefPtr<CefV8Value> object,
|
||||
const CefV8ValueList& arguments,
|
||||
CefRefPtr<CefV8Value>& retval,
|
||||
@ -474,4 +476,6 @@ bool NativeHandler::Execute(const CefString& name,
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
};
|
||||
|
||||
} // namespace v8_extensions
|
@ -2,9 +2,11 @@
|
||||
#import "include/cef_base.h"
|
||||
#import "include/cef_v8.h"
|
||||
|
||||
class OnigRegexpExtension : public CefV8Handler {
|
||||
namespace v8_extensions {
|
||||
|
||||
class OnigRegExp : public CefV8Handler {
|
||||
public:
|
||||
OnigRegexpExtension();
|
||||
OnigRegExp();
|
||||
|
||||
virtual bool Execute(const CefString& name,
|
||||
CefRefPtr<CefV8Value> object,
|
||||
@ -13,5 +15,7 @@ public:
|
||||
CefString& exception) OVERRIDE;
|
||||
|
||||
// Provide the reference counting implementation for this class.
|
||||
IMPLEMENT_REFCOUNTING(OnigRegexpExtension);
|
||||
IMPLEMENT_REFCOUNTING(OnigRegExp);
|
||||
};
|
||||
|
||||
}
|
@ -5,16 +5,18 @@
|
||||
#import "include/cef_v8.h"
|
||||
#import "onig_reg_exp.h"
|
||||
|
||||
namespace v8_extensions {
|
||||
|
||||
extern NSString *stringFromCefV8Value(const CefRefPtr<CefV8Value>& value);
|
||||
|
||||
class OnigRegexpUserData : public CefBase {
|
||||
class OnigRegExpUserData : public CefBase {
|
||||
public:
|
||||
OnigRegexpUserData(CefRefPtr<CefV8Value> source) {
|
||||
OnigRegExpUserData(CefRefPtr<CefV8Value> source) {
|
||||
NSString *sourceString = [NSString stringWithUTF8String:source->GetStringValue().ToString().c_str()];
|
||||
m_regex = [[OnigRegexp compile:sourceString] retain];
|
||||
}
|
||||
|
||||
~OnigRegexpUserData() {
|
||||
~OnigRegExpUserData() {
|
||||
[m_regex release];
|
||||
}
|
||||
|
||||
@ -74,13 +76,13 @@ public:
|
||||
IMPLEMENT_REFCOUNTING(OnigRegexpUserData);
|
||||
};
|
||||
|
||||
OnigRegexpExtension::OnigRegexpExtension() : CefV8Handler() {
|
||||
OnigRegExp::OnigRegExp() : CefV8Handler() {
|
||||
NSString *filePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"v8_extensions/onig_reg_exp.js"];
|
||||
NSString *extensionCode = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
|
||||
CefRegisterExtension("v8/onig-reg-exp", [extensionCode UTF8String], this);
|
||||
}
|
||||
|
||||
bool OnigRegexpExtension::Execute(const CefString& name,
|
||||
bool OnigRegExp::Execute(const CefString& name,
|
||||
CefRefPtr<CefV8Value> object,
|
||||
const CefV8ValueList& arguments,
|
||||
CefRefPtr<CefV8Value>& retval,
|
||||
@ -89,32 +91,32 @@ bool OnigRegexpExtension::Execute(const CefString& name,
|
||||
if (name == "getCaptureIndices") {
|
||||
CefRefPtr<CefV8Value> string = arguments[0];
|
||||
CefRefPtr<CefV8Value> index = arguments.size() > 1 ? arguments[1] : CefV8Value::CreateInt(0);
|
||||
OnigRegexpUserData *userData = (OnigRegexpUserData *)object->GetUserData().get();
|
||||
OnigRegExpUserData *userData = (OnigRegExpUserData *)object->GetUserData().get();
|
||||
retval = userData->GetCaptureIndices(string, index);
|
||||
return true;
|
||||
}
|
||||
else if (name == "search") {
|
||||
CefRefPtr<CefV8Value> string = arguments[0];
|
||||
CefRefPtr<CefV8Value> index = arguments.size() > 1 ? arguments[1] : CefV8Value::CreateInt(0);
|
||||
OnigRegexpUserData *userData = (OnigRegexpUserData *)object->GetUserData().get();
|
||||
OnigRegExpUserData *userData = (OnigRegExpUserData *)object->GetUserData().get();
|
||||
retval = userData->Search(string, index);
|
||||
return true;
|
||||
}
|
||||
else if (name == "test") {
|
||||
CefRefPtr<CefV8Value> string = arguments[0];
|
||||
CefRefPtr<CefV8Value> index = arguments.size() > 1 ? arguments[1] : CefV8Value::CreateInt(0);
|
||||
OnigRegexpUserData *userData = (OnigRegexpUserData *)object->GetUserData().get();
|
||||
OnigRegExpUserData *userData = (OnigRegExpUserData *)object->GetUserData().get();
|
||||
retval = userData->Test(string, index);
|
||||
return true;
|
||||
}
|
||||
else if (name == "buildOnigRegExp") {
|
||||
CefRefPtr<CefBase> userData = new OnigRegexpUserData(arguments[0]);
|
||||
CefRefPtr<CefBase> userData = new OnigRegExpUserData(arguments[0]);
|
||||
retval = CefV8Value::CreateObject(NULL);
|
||||
retval->SetUserData(userData);
|
||||
return true;
|
||||
}
|
||||
else if (name == "getCaptureCount") {
|
||||
OnigRegexpUserData *userData = (OnigRegexpUserData *)object->GetUserData().get();
|
||||
OnigRegExpUserData *userData = (OnigRegExpUserData *)object->GetUserData().get();
|
||||
retval = userData->CaptureCount();
|
||||
return true;
|
||||
}
|
||||
@ -122,3 +124,4 @@ bool OnigRegexpExtension::Execute(const CefString& name,
|
||||
return false;
|
||||
}
|
||||
|
||||
} // namespace v8_extensions
|
Loading…
Reference in New Issue
Block a user