OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010-2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2010-2011 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
193 webagent->dispatchOnInspectorBackend(m_descriptor->message()); | 193 webagent->dispatchOnInspectorBackend(m_descriptor->message()); |
194 } | 194 } |
195 | 195 |
196 private: | 196 private: |
197 OwnPtr<WebDevToolsAgent::MessageDescriptor> m_descriptor; | 197 OwnPtr<WebDevToolsAgent::MessageDescriptor> m_descriptor; |
198 }; | 198 }; |
199 | 199 |
200 WebDevToolsAgentImpl::WebDevToolsAgentImpl( | 200 WebDevToolsAgentImpl::WebDevToolsAgentImpl( |
201 WebViewImpl* webViewImpl, | 201 WebViewImpl* webViewImpl, |
202 WebDevToolsAgentClient* client) | 202 WebDevToolsAgentClient* client) |
203 : m_hostId(client->hostIdentifier()) | 203 : m_debuggerId(client->debuggerId()) |
204 , m_layerTreeId(0) | 204 , m_layerTreeId(0) |
205 , m_client(client) | 205 , m_client(client) |
206 , m_webViewImpl(webViewImpl) | 206 , m_webViewImpl(webViewImpl) |
207 , m_attached(false) | 207 , m_attached(false) |
208 , m_generatingEvent(false) | 208 , m_generatingEvent(false) |
209 , m_deviceMetricsEnabled(false) | 209 , m_deviceMetricsEnabled(false) |
210 , m_emulateViewportEnabled(false) | 210 , m_emulateViewportEnabled(false) |
211 , m_originalViewportEnabled(false) | 211 , m_originalViewportEnabled(false) |
212 , m_isOverlayScrollbarsEnabled(false) | 212 , m_isOverlayScrollbarsEnabled(false) |
213 , m_originalMinimumPageScaleFactor(0) | 213 , m_originalMinimumPageScaleFactor(0) |
214 , m_originalMaximumPageScaleFactor(0) | 214 , m_originalMaximumPageScaleFactor(0) |
215 , m_pageScaleLimitsOverriden(false) | 215 , m_pageScaleLimitsOverriden(false) |
216 , m_touchEventEmulationEnabled(false) | 216 , m_touchEventEmulationEnabled(false) |
217 { | 217 { |
218 ASSERT(m_hostId > 0); | 218 ASSERT(m_debuggerId > 0); |
219 ClientMessageLoopAdapter::ensureClientMessageLoopCreated(m_client); | 219 ClientMessageLoopAdapter::ensureClientMessageLoopCreated(m_client); |
220 } | 220 } |
221 | 221 |
222 WebDevToolsAgentImpl::~WebDevToolsAgentImpl() | 222 WebDevToolsAgentImpl::~WebDevToolsAgentImpl() |
223 { | 223 { |
224 ClientMessageLoopAdapter::inspectedViewClosed(m_webViewImpl); | 224 ClientMessageLoopAdapter::inspectedViewClosed(m_webViewImpl); |
225 if (m_attached) | 225 if (m_attached) |
226 blink::Platform::current()->currentThread()->removeTaskObserver(this); | 226 blink::Platform::current()->currentThread()->removeTaskObserver(this); |
227 } | 227 } |
228 | 228 |
229 void WebDevToolsAgentImpl::attach() | 229 void WebDevToolsAgentImpl::attach() |
230 { | 230 { |
| 231 attach(""); |
| 232 } |
| 233 |
| 234 void WebDevToolsAgentImpl::reattach(const WebString& savedState) |
| 235 { |
| 236 reattach("", savedState); |
| 237 } |
| 238 |
| 239 void WebDevToolsAgentImpl::attach(const WebString& hostId) |
| 240 { |
231 if (m_attached) | 241 if (m_attached) |
232 return; | 242 return; |
233 | 243 |
234 inspectorController()->connectFrontend(this); | 244 inspectorController()->connectFrontend(hostId, this); |
235 blink::Platform::current()->currentThread()->addTaskObserver(this); | 245 blink::Platform::current()->currentThread()->addTaskObserver(this); |
236 m_attached = true; | 246 m_attached = true; |
237 } | 247 } |
238 | 248 |
239 void WebDevToolsAgentImpl::reattach(const WebString& savedState) | 249 void WebDevToolsAgentImpl::reattach(const WebString& hostId, const WebString& sa
vedState) |
240 { | 250 { |
241 if (m_attached) | 251 if (m_attached) |
242 return; | 252 return; |
243 | 253 |
244 inspectorController()->reuseFrontend(this, savedState); | 254 inspectorController()->reuseFrontend(hostId, this, savedState); |
245 blink::Platform::current()->currentThread()->addTaskObserver(this); | 255 blink::Platform::current()->currentThread()->addTaskObserver(this); |
246 m_attached = true; | 256 m_attached = true; |
247 } | 257 } |
248 | 258 |
249 void WebDevToolsAgentImpl::detach() | 259 void WebDevToolsAgentImpl::detach() |
250 { | 260 { |
251 blink::Platform::current()->currentThread()->removeTaskObserver(this); | 261 blink::Platform::current()->currentThread()->removeTaskObserver(this); |
252 | 262 |
253 // Prevent controller from sending messages to the frontend. | 263 // Prevent controller from sending messages to the frontend. |
254 InspectorController* ic = inspectorController(); | 264 InspectorController* ic = inspectorController(); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
287 if (InspectorController* ic = inspectorController()) | 297 if (InspectorController* ic = inspectorController()) |
288 ic->didComposite(); | 298 ic->didComposite(); |
289 } | 299 } |
290 | 300 |
291 void WebDevToolsAgentImpl::didCreateScriptContext(WebLocalFrameImpl* webframe, i
nt worldId) | 301 void WebDevToolsAgentImpl::didCreateScriptContext(WebLocalFrameImpl* webframe, i
nt worldId) |
292 { | 302 { |
293 // Skip non main world contexts. | 303 // Skip non main world contexts. |
294 if (worldId) | 304 if (worldId) |
295 return; | 305 return; |
296 if (WebCore::LocalFrame* frame = webframe->frame()) | 306 if (WebCore::LocalFrame* frame = webframe->frame()) |
297 frame->script().setContextDebugId(m_hostId); | 307 frame->script().setContextDebugId(m_debuggerId); |
298 } | 308 } |
299 | 309 |
300 bool WebDevToolsAgentImpl::handleInputEvent(WebCore::Page* page, const WebInputE
vent& inputEvent) | 310 bool WebDevToolsAgentImpl::handleInputEvent(WebCore::Page* page, const WebInputE
vent& inputEvent) |
301 { | 311 { |
302 if (!m_attached && !m_generatingEvent) | 312 if (!m_attached && !m_generatingEvent) |
303 return false; | 313 return false; |
304 | 314 |
305 // FIXME: This workaround is required for touch emulation on Mac, where | 315 // FIXME: This workaround is required for touch emulation on Mac, where |
306 // compositor-side pinch handling is not enabled. See http://crbug.com/13800
3. | 316 // compositor-side pinch handling is not enabled. See http://crbug.com/13800
3. |
307 bool isPinch = inputEvent.type == WebInputEvent::GesturePinchBegin || inputE
vent.type == WebInputEvent::GesturePinchUpdate || inputEvent.type == WebInputEve
nt::GesturePinchEnd; | 317 bool isPinch = inputEvent.type == WebInputEvent::GesturePinchBegin || inputE
vent.type == WebInputEvent::GesturePinchUpdate || inputEvent.type == WebInputEve
nt::GesturePinchEnd; |
(...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
721 || commandName == InspectorBackendDispatcher::commandName(InspectorBacke
ndDispatcher::kDebugger_removeBreakpointCmd) | 731 || commandName == InspectorBackendDispatcher::commandName(InspectorBacke
ndDispatcher::kDebugger_removeBreakpointCmd) |
722 || commandName == InspectorBackendDispatcher::commandName(InspectorBacke
ndDispatcher::kDebugger_setBreakpointsActiveCmd); | 732 || commandName == InspectorBackendDispatcher::commandName(InspectorBacke
ndDispatcher::kDebugger_setBreakpointsActiveCmd); |
723 } | 733 } |
724 | 734 |
725 void WebDevToolsAgent::processPendingMessages() | 735 void WebDevToolsAgent::processPendingMessages() |
726 { | 736 { |
727 PageScriptDebugServer::shared().runPendingTasks(); | 737 PageScriptDebugServer::shared().runPendingTasks(); |
728 } | 738 } |
729 | 739 |
730 } // namespace blink | 740 } // namespace blink |
OLD | NEW |