OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "content/renderer/devtools/devtools_agent.h" | 5 #include "content/renderer/devtools/devtools_agent.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 | 8 |
9 #include "base/debug/trace_event.h" | 9 #include "base/debug/trace_event.h" |
10 #include "base/lazy_instance.h" | 10 #include "base/lazy_instance.h" |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 } | 133 } |
134 | 134 |
135 void DevToolsAgent::clearBrowserCache() { | 135 void DevToolsAgent::clearBrowserCache() { |
136 Send(new DevToolsHostMsg_ClearBrowserCache(routing_id())); | 136 Send(new DevToolsHostMsg_ClearBrowserCache(routing_id())); |
137 } | 137 } |
138 | 138 |
139 void DevToolsAgent::clearBrowserCookies() { | 139 void DevToolsAgent::clearBrowserCookies() { |
140 Send(new DevToolsHostMsg_ClearBrowserCookies(routing_id())); | 140 Send(new DevToolsHostMsg_ClearBrowserCookies(routing_id())); |
141 } | 141 } |
142 | 142 |
143 void DevToolsAgent::setTraceEventCallback(TraceEventCallback cb) { | 143 void DevToolsAgent::unsetTraceEventCallback() |
| 144 { |
| 145 TraceLog::GetInstance()->SetEventCallbackDisabled(); |
| 146 base::subtle::NoBarrier_Store(&event_callback_, 0); |
| 147 } |
| 148 |
| 149 void DevToolsAgent::setTraceEventCallback(const WebString& category_filter, |
| 150 TraceEventCallback cb) { |
144 TraceLog* trace_log = TraceLog::GetInstance(); | 151 TraceLog* trace_log = TraceLog::GetInstance(); |
145 base::subtle::NoBarrier_Store(&event_callback_, | 152 base::subtle::NoBarrier_Store(&event_callback_, |
146 reinterpret_cast<base::subtle::AtomicWord>(cb)); | 153 reinterpret_cast<base::subtle::AtomicWord>(cb)); |
147 if (!!cb) { | 154 if (!!cb) { |
148 trace_log->SetEventCallbackEnabled(base::debug::CategoryFilter( | 155 trace_log->SetEventCallbackEnabled(base::debug::CategoryFilter( |
149 base::debug::CategoryFilter::kDefaultCategoryFilterString), | 156 category_filter.utf8()), TraceEventCallbackWrapper); |
150 TraceEventCallbackWrapper); | |
151 } else { | 157 } else { |
152 trace_log->SetEventCallbackDisabled(); | 158 trace_log->SetEventCallbackDisabled(); |
153 } | 159 } |
154 } | 160 } |
155 | 161 |
| 162 void DevToolsAgent::setTraceEventCallback(TraceEventCallback cb) { |
| 163 WebString category_filter = WebString::fromUTF8( |
| 164 base::debug::CategoryFilter::kDefaultCategoryFilterString); |
| 165 setTraceEventCallback(category_filter, cb); |
| 166 } |
| 167 |
156 // static | 168 // static |
157 void DevToolsAgent::TraceEventCallbackWrapper( | 169 void DevToolsAgent::TraceEventCallbackWrapper( |
158 base::TimeTicks timestamp, | 170 base::TimeTicks timestamp, |
159 char phase, | 171 char phase, |
160 const unsigned char* category_group_enabled, | 172 const unsigned char* category_group_enabled, |
161 const char* name, | 173 const char* name, |
162 unsigned long long id, | 174 unsigned long long id, |
163 int num_args, | 175 int num_args, |
164 const char* const arg_names[], | 176 const char* const arg_names[], |
165 const unsigned char arg_types[], | 177 const unsigned char arg_types[], |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
339 if (!web_view) | 351 if (!web_view) |
340 return NULL; | 352 return NULL; |
341 return web_view->devToolsAgent(); | 353 return web_view->devToolsAgent(); |
342 } | 354 } |
343 | 355 |
344 bool DevToolsAgent::IsAttached() { | 356 bool DevToolsAgent::IsAttached() { |
345 return is_attached_; | 357 return is_attached_; |
346 } | 358 } |
347 | 359 |
348 } // namespace content | 360 } // namespace content |
OLD | NEW |