Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(101)

Side by Side Diff: webkit/glue/webdevtoolsclient_impl.cc

Issue 113100: DevTools: Activate inspector window on break / exception. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « webkit/glue/webdevtoolsclient_impl.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "config.h" 5 #include "config.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "Document.h" 9 #include "Document.h"
10 #include "DOMWindow.h" 10 #include "DOMWindow.h"
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 return; 92 return;
93 } 93 }
94 v8::HandleScope scope; 94 v8::HandleScope scope;
95 v8::Local<v8::FunctionTemplate> local_template = 95 v8::Local<v8::FunctionTemplate> local_template =
96 v8::FunctionTemplate::New(V8Proxy::CheckNewLegal); 96 v8::FunctionTemplate::New(V8Proxy::CheckNewLegal);
97 host_template_ = v8::Persistent<v8::FunctionTemplate>::New(local_template); 97 host_template_ = v8::Persistent<v8::FunctionTemplate>::New(local_template);
98 98
99 v8::Local<v8::Signature> default_signature = 99 v8::Local<v8::Signature> default_signature =
100 v8::Signature::New(host_template_); 100 v8::Signature::New(host_template_);
101 v8::Local<v8::ObjectTemplate> proto = host_template_->PrototypeTemplate(); 101 v8::Local<v8::ObjectTemplate> proto = host_template_->PrototypeTemplate();
102 proto->Set( 102 InitProtoFunction(proto,
103 v8::String::New("addSourceToFrame"), 103 "addSourceToFrame",
104 v8::FunctionTemplate::New( 104 WebDevToolsClientImpl::JsAddSourceToFrame,
105 WebDevToolsClientImpl::JsAddSourceToFrame, 105 default_signature);
106 v8::Handle<v8::Value>(), 106 InitProtoFunction(proto,
107 default_signature), 107 "loaded",
108 static_cast<v8::PropertyAttribute>(v8::DontDelete)); 108 WebDevToolsClientImpl::JsLoaded,
109 proto->Set( 109 default_signature);
110 v8::String::New("loaded"), 110 InitProtoFunction(proto,
111 v8::FunctionTemplate::New( 111 "search",
112 WebDevToolsClientImpl::JsLoaded, 112 WebCore::V8Custom::v8InspectorControllerSearchCallback,
113 v8::Handle<v8::Value>(), 113 default_signature);
114 default_signature), 114 InitProtoFunction(proto,
115 static_cast<v8::PropertyAttribute>(v8::DontDelete)); 115 "activateWindow",
116 proto->Set( 116 WebDevToolsClientImpl::JsActivateWindow,
117 v8::String::New("search"), 117 default_signature);
118 v8::FunctionTemplate::New(
119 WebDevToolsClientImpl::JsSearch,
120 v8::Handle<v8::Value>(),
121 default_signature),
122 static_cast<v8::PropertyAttribute>(v8::DontDelete));
123 host_template_->SetClassName(v8::String::New("DevToolsHost")); 118 host_template_->SetClassName(v8::String::New("DevToolsHost"));
124 } 119 }
125 120
126 // static 121 // static
122 void WebDevToolsClientImpl::InitProtoFunction(
123 v8::Handle<v8::ObjectTemplate> proto,
124 const char* name,
125 v8::InvocationCallback callback,
126 v8::Handle<v8::Signature> signature) {
127 proto->Set(
128 v8::String::New(name),
129 v8::FunctionTemplate::New(
130 callback,
131 v8::Handle<v8::Value>(),
132 signature),
133 static_cast<v8::PropertyAttribute>(v8::DontDelete));
134 }
135
136 // static
127 WebDevToolsClient* WebDevToolsClient::Create( 137 WebDevToolsClient* WebDevToolsClient::Create(
128 WebView* view, 138 WebView* view,
129 WebDevToolsClientDelegate* delegate) { 139 WebDevToolsClientDelegate* delegate) {
130 return new WebDevToolsClientImpl(static_cast<WebViewImpl*>(view), delegate); 140 return new WebDevToolsClientImpl(static_cast<WebViewImpl*>(view), delegate);
131 } 141 }
132 142
133 WebDevToolsClientImpl::WebDevToolsClientImpl( 143 WebDevToolsClientImpl::WebDevToolsClientImpl(
134 WebViewImpl* web_view_impl, 144 WebViewImpl* web_view_impl,
135 WebDevToolsClientDelegate* delegate) 145 WebDevToolsClientDelegate* delegate)
136 : web_view_impl_(web_view_impl), 146 : web_view_impl_(web_view_impl),
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 client->pending_incoming_messages_.begin(); 243 client->pending_incoming_messages_.begin();
234 it != client->pending_incoming_messages_.end(); 244 it != client->pending_incoming_messages_.end();
235 ++it) { 245 ++it) {
236 client->DispatchMessageFromAgent(*it); 246 client->DispatchMessageFromAgent(*it);
237 } 247 }
238 client->pending_incoming_messages_.clear(); 248 client->pending_incoming_messages_.clear();
239 return v8::Undefined(); 249 return v8::Undefined();
240 } 250 }
241 251
242 // static 252 // static
243 v8::Handle<v8::Value> WebDevToolsClientImpl::JsSearch( 253 v8::Handle<v8::Value> WebDevToolsClientImpl::JsActivateWindow(
244 const v8::Arguments& args) { 254 const v8::Arguments& args) {
245 return WebCore::V8Custom::v8InspectorControllerSearchCallback(args); 255 Page* page = V8Proxy::retrieveActiveFrame()->page();
256 WebDevToolsClientImpl* client = page_to_client_.get(page);
257 client->delegate_->ActivateWindow();
258 return v8::Undefined();
246 } 259 }
OLDNEW
« no previous file with comments | « webkit/glue/webdevtoolsclient_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698