Make Wrappable a template class
This commit is contained in:
		
					parent
					
						
							
								a8f08e1fab
							
						
					
				
			
			
				commit
				
					
						2ae52d0ff4
					
				
			
		
					 52 changed files with 367 additions and 349 deletions
				
			
		| 
						 | 
				
			
			@ -54,8 +54,9 @@ class ScriptExecutionCallback : public blink::WebScriptExecutionCallback {
 | 
			
		|||
 | 
			
		||||
}  // namespace
 | 
			
		||||
 | 
			
		||||
WebFrame::WebFrame()
 | 
			
		||||
WebFrame::WebFrame(v8::Isolate* isolate)
 | 
			
		||||
    : web_frame_(blink::WebLocalFrame::frameForCurrentContext()) {
 | 
			
		||||
  Init(isolate);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
WebFrame::~WebFrame() {
 | 
			
		||||
| 
						 | 
				
			
			@ -67,7 +68,7 @@ void WebFrame::SetName(const std::string& name) {
 | 
			
		|||
 | 
			
		||||
double WebFrame::SetZoomLevel(double level) {
 | 
			
		||||
  double ret = web_frame_->view()->setZoomLevel(level);
 | 
			
		||||
  mate::EmitEvent(isolate(), GetWrapper(isolate()), "zoom-level-changed", ret);
 | 
			
		||||
  mate::EmitEvent(isolate(), GetWrapper(), "zoom-level-changed", ret);
 | 
			
		||||
  return ret;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -162,9 +163,15 @@ void WebFrame::ExecuteJavaScript(const base::string16& code,
 | 
			
		|||
      callback.release());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
mate::ObjectTemplateBuilder WebFrame::GetObjectTemplateBuilder(
 | 
			
		||||
    v8::Isolate* isolate) {
 | 
			
		||||
  return mate::ObjectTemplateBuilder(isolate)
 | 
			
		||||
// static
 | 
			
		||||
mate::Handle<WebFrame> WebFrame::Create(v8::Isolate* isolate) {
 | 
			
		||||
  return CreateHandle(isolate, new WebFrame(isolate));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// static
 | 
			
		||||
void WebFrame::BuildPrototype(
 | 
			
		||||
    v8::Isolate* isolate, v8::Local<v8::ObjectTemplate> prototype) {
 | 
			
		||||
  mate::ObjectTemplateBuilder(isolate, prototype)
 | 
			
		||||
      .SetMethod("setName", &WebFrame::SetName)
 | 
			
		||||
      .SetMethod("setZoomLevel", &WebFrame::SetZoomLevel)
 | 
			
		||||
      .SetMethod("getZoomLevel", &WebFrame::GetZoomLevel)
 | 
			
		||||
| 
						 | 
				
			
			@ -187,11 +194,6 @@ mate::ObjectTemplateBuilder WebFrame::GetObjectTemplateBuilder(
 | 
			
		|||
      .SetMethod("executeJavaScript", &WebFrame::ExecuteJavaScript);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// static
 | 
			
		||||
mate::Handle<WebFrame> WebFrame::Create(v8::Isolate* isolate) {
 | 
			
		||||
  return CreateHandle(isolate, new WebFrame);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
}  // namespace api
 | 
			
		||||
 | 
			
		||||
}  // namespace atom
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,13 +26,16 @@ namespace api {
 | 
			
		|||
 | 
			
		||||
class SpellCheckClient;
 | 
			
		||||
 | 
			
		||||
class WebFrame : public mate::Wrappable {
 | 
			
		||||
class WebFrame : public mate::Wrappable<WebFrame> {
 | 
			
		||||
 public:
 | 
			
		||||
  static mate::Handle<WebFrame> Create(v8::Isolate* isolate);
 | 
			
		||||
 | 
			
		||||
  static void BuildPrototype(v8::Isolate* isolate,
 | 
			
		||||
                             v8::Local<v8::ObjectTemplate> prototype);
 | 
			
		||||
 | 
			
		||||
 private:
 | 
			
		||||
  WebFrame();
 | 
			
		||||
  virtual ~WebFrame();
 | 
			
		||||
  explicit WebFrame(v8::Isolate* isolate);
 | 
			
		||||
  ~WebFrame() override;
 | 
			
		||||
 | 
			
		||||
  void SetName(const std::string& name);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -66,10 +69,6 @@ class WebFrame : public mate::Wrappable {
 | 
			
		|||
  // Excecuting scripts.
 | 
			
		||||
  void ExecuteJavaScript(const base::string16& code, mate::Arguments* args);
 | 
			
		||||
 | 
			
		||||
  // mate::Wrappable:
 | 
			
		||||
  virtual mate::ObjectTemplateBuilder GetObjectTemplateBuilder(
 | 
			
		||||
      v8::Isolate* isolate);
 | 
			
		||||
 | 
			
		||||
  scoped_ptr<SpellCheckClient> spell_check_client_;
 | 
			
		||||
 | 
			
		||||
  blink::WebLocalFrame* web_frame_;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue