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

Unified Diff: include/AdblockPlus/JsEngine.h

Issue 9846017: Make JavaScript sources compile into the library; convert JavaScript files on the fly (Closed)
Patch Set: Created March 14, 2013, 10:02 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« convert_js.py ('K') | « convert_js.py ('k') | lib/adblockplus.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: include/AdblockPlus/JsEngine.h
===================================================================
--- a/include/AdblockPlus/JsEngine.h
+++ b/include/AdblockPlus/JsEngine.h
@@ -16,20 +16,29 @@ namespace AdblockPlus
JsError(const v8::Handle<v8::Value> exception);
};
class JsEngine
{
public:
JsEngine(const FileReader* const fileReader,
ErrorCallback* const errorCallback);
- void Evaluate(const std::string& source);
+ void Evaluate(const char* source, const char* filename = NULL);
Felix Dahlke 2013/03/15 15:18:36 Have you considered having just one Evaluate funct
Wladimir Palant 2013/03/15 16:00:41 I would rather use char* for the main function - w
Felix Dahlke 2013/03/15 17:10:47 It's up to you. std::string is obviously more C++-
+ void Evaluate(const std::string& source)
Felix Dahlke 2013/03/15 15:18:36 I prefer to have all implementations in the .cpp f
Wladimir Palant 2013/03/15 16:00:41 Yes, I tend to be a bit sloppy about that - fair p
+ {
+ Evaluate(source.c_str());
+ }
+ void Evaluate(const std::string& source, const std::string& filename)
+ {
+ Evaluate(filename.c_str(), source.c_str());
+ }
void Load(const std::string& scriptPath);
std::string Call(const std::string& functionName);
void Gc();
private:
const FileReader* const fileReader;
v8::Persistent<v8::Context> context;
+ inline v8::Handle<v8::Script> CompileScript(const char* source, const char* filename);
Felix Dahlke 2013/03/15 15:18:36 You probably don't want to declare this inline. It
};
}
#endif
« convert_js.py ('K') | « convert_js.py ('k') | lib/adblockplus.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld