Changeset 173736 in webkit
- Timestamp:
- Sep 18, 2014, 3:06:26 PM (11 years ago)
- Location:
- trunk/Source
- Files:
-
- 22 edited
-
JavaScriptCore/ChangeLog (modified) (1 diff)
-
JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp (modified) (3 diffs)
-
JavaScriptCore/inspector/JSGlobalObjectInspectorController.h (modified) (3 diffs)
-
JavaScriptCore/inspector/remote/RemoteInspector.h (modified) (4 diffs)
-
JavaScriptCore/inspector/remote/RemoteInspector.mm (modified) (13 diffs)
-
JavaScriptCore/inspector/remote/RemoteInspectorConstants.h (modified) (3 diffs)
-
JavaScriptCore/inspector/remote/RemoteInspectorDebuggable.cpp (modified) (3 diffs)
-
JavaScriptCore/inspector/remote/RemoteInspectorDebuggable.h (modified) (1 diff)
-
JavaScriptCore/inspector/remote/RemoteInspectorDebuggableConnection.h (modified) (1 diff)
-
JavaScriptCore/inspector/remote/RemoteInspectorDebuggableConnection.mm (modified) (2 diffs)
-
JavaScriptCore/runtime/JSGlobalObjectDebuggable.cpp (modified) (3 diffs)
-
JavaScriptCore/runtime/JSGlobalObjectDebuggable.h (modified) (1 diff)
-
WTF/ChangeLog (modified) (1 diff)
-
WTF/wtf/Assertions.cpp (modified) (2 diffs)
-
WTF/wtf/Assertions.h (modified) (2 diffs)
-
WebCore/ChangeLog (modified) (1 diff)
-
WebCore/WebCore.exp.in (modified) (1 diff)
-
WebCore/inspector/InspectorController.cpp (modified) (2 diffs)
-
WebCore/inspector/InspectorController.h (modified) (1 diff)
-
WebCore/page/PageDebuggable.cpp (modified) (2 diffs)
-
WebCore/page/PageDebuggable.h (modified) (1 diff)
-
WebCore/testing/Internals.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r173731 r173736 1 2014-09-18 Joseph Pecoraro <pecoraro@apple.com> 2 3 Unreviewed rollout r173731. Broke multiple builds. 4 5 * inspector/JSGlobalObjectInspectorController.cpp: 6 (Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController): 7 (Inspector::JSGlobalObjectInspectorController::connectFrontend): 8 * inspector/JSGlobalObjectInspectorController.h: 9 * inspector/remote/RemoteInspector.h: 10 * inspector/remote/RemoteInspector.mm: 11 (Inspector::RemoteInspector::RemoteInspector): 12 (Inspector::RemoteInspector::setupFailed): 13 (Inspector::RemoteInspector::start): 14 (Inspector::RemoteInspector::stopInternal): 15 (Inspector::RemoteInspector::setupXPCConnectionIfNeeded): 16 (Inspector::RemoteInspector::xpcConnectionReceivedMessage): 17 (Inspector::RemoteInspector::xpcConnectionFailed): 18 (Inspector::RemoteInspector::receivedSetupMessage): 19 (Inspector::globalAutomaticInspectionState): Deleted. 20 (Inspector::RemoteInspector::updateDebuggableAutomaticInspectCandidate): Deleted. 21 (Inspector::RemoteInspector::sendAutomaticInspectionCandidateMessage): Deleted. 22 (Inspector::RemoteInspector::setupSucceeded): Deleted. 23 (Inspector::RemoteInspector::waitingForAutomaticInspection): Deleted. 24 (Inspector::RemoteInspector::receivedAutomaticInspectionConfigurationMessage): Deleted. 25 (Inspector::RemoteInspector::receivedAutomaticInspectionRejectMessage): Deleted. 26 * inspector/remote/RemoteInspectorConstants.h: 27 * inspector/remote/RemoteInspectorDebuggable.cpp: 28 (Inspector::RemoteInspectorDebuggable::setRemoteDebuggingAllowed): 29 (Inspector::RemoteInspectorDebuggable::pauseWaitingForAutomaticInspection): Deleted. 30 * inspector/remote/RemoteInspectorDebuggable.h: 31 * inspector/remote/RemoteInspectorDebuggableConnection.h: 32 * inspector/remote/RemoteInspectorDebuggableConnection.mm: 33 (Inspector::RemoteInspectorDebuggableConnection::setup): 34 * runtime/JSGlobalObjectDebuggable.cpp: 35 (JSC::JSGlobalObjectDebuggable::connect): 36 (JSC::JSGlobalObjectDebuggable::pauseWaitingForAutomaticInspection): Deleted. 37 * runtime/JSGlobalObjectDebuggable.h: 38 1 39 2014-09-18 Joseph Pecoraro <pecoraro@apple.com> 2 40 -
trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp
r173731 r173736 62 62 auto debuggerAgent = std::make_unique<JSGlobalObjectDebuggerAgent>(m_injectedScriptManager.get(), m_globalObject, consoleAgent.get()); 63 63 64 m_debuggerAgent = debuggerAgent.get();65 64 m_consoleAgent = consoleAgent.get(); 66 65 m_consoleClient = std::make_unique<JSGlobalObjectConsoleClient>(m_consoleAgent); … … 86 85 } 87 86 88 void JSGlobalObjectInspectorController::connectFrontend(InspectorFrontendChannel* frontendChannel , bool isAutomaticInspection)87 void JSGlobalObjectInspectorController::connectFrontend(InspectorFrontendChannel* frontendChannel) 89 88 { 90 89 ASSERT(!m_inspectorFrontendChannel); … … 95 94 96 95 m_agents.didCreateFrontendAndBackend(frontendChannel, m_inspectorBackendDispatcher.get()); 97 98 if (isAutomaticInspection) {99 // FIXME: We should not always pause for automatic inspection.100 // Currently if we don't automatically pause, then we may miss a breakpoint, since breakpoints101 // come from the frontend and might be received after some evaluateScript message. We should102 // have the frontend signal the backend when its setup messages are complete.103 m_debuggerAgent->enable(nullptr);104 m_debuggerAgent->pause(nullptr);105 }106 96 } 107 97 -
trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.h
r173731 r173736 48 48 class InspectorBackendDispatcher; 49 49 class InspectorConsoleAgent; 50 class InspectorDebuggerAgent;51 50 class InspectorFrontendChannel; 52 51 class JSGlobalObjectConsoleClient; … … 60 59 ~JSGlobalObjectInspectorController(); 61 60 62 void connectFrontend(InspectorFrontendChannel* , bool isAutomaticInspection);61 void connectFrontend(InspectorFrontendChannel*); 63 62 void disconnectFrontend(InspectorDisconnectReason reason); 64 63 void dispatchMessageFromFrontend(const String&); … … 87 86 std::unique_ptr<JSGlobalObjectConsoleClient> m_consoleClient; 88 87 InspectorConsoleAgent* m_consoleAgent; 89 InspectorDebuggerAgent* m_debuggerAgent;90 88 InspectorAgentRegistry m_agents; 91 89 InspectorFrontendChannel* m_inspectorFrontendChannel; -
trunk/Source/JavaScriptCore/inspector/remote/RemoteInspector.h
r173731 r173736 53 53 void unregisterDebuggable(RemoteInspectorDebuggable*); 54 54 void updateDebuggable(RemoteInspectorDebuggable*); 55 void updateDebuggableAutomaticInspectCandidate(RemoteInspectorDebuggable*);56 55 void sendMessageToRemoteFrontend(unsigned identifier, const String& message); 57 56 void setupFailed(unsigned identifier); 58 void setupSucceeded(unsigned identifier);59 bool waitingForAutomaticInspection(unsigned identifier);60 57 61 58 bool enabled() const { return m_enabled; } … … 87 84 void updateHasActiveDebugSession(); 88 85 89 void sendAutomaticInspectionCandidateMessage();90 91 86 virtual void xpcConnectionReceivedMessage(RemoteInspectorXPCConnection*, NSString *messageName, NSDictionary *userInfo) override; 92 87 virtual void xpcConnectionFailed(RemoteInspectorXPCConnection*) override; … … 100 95 void receivedProxyApplicationSetupMessage(NSDictionary *userInfo); 101 96 void receivedConnectionDiedMessage(NSDictionary *userInfo); 102 void receivedAutomaticInspectionConfigurationMessage(NSDictionary *userInfo);103 void receivedAutomaticInspectionRejectMessage(NSDictionary *userInfo);104 97 105 98 static bool startEnabled; … … 125 118 RetainPtr<CFDataRef> m_parentProcessAuditData; 126 119 bool m_shouldSendParentProcessInformation; 127 bool m_automaticInspectionEnabled;128 bool m_automaticInspectionPaused;129 unsigned m_automaticInspectionCandidateIdentifier;130 120 }; 131 121 -
trunk/Source/JavaScriptCore/inspector/remote/RemoteInspector.mm
r173731 r173736 1 1 /* 2 * Copyright (C) 2013 , 2014Apple Inc. All Rights Reserved.2 * Copyright (C) 2013 Apple Inc. All Rights Reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 69 69 } 70 70 71 static bool globalAutomaticInspectionState()72 {73 int token = 0;74 if (notify_register_check(WIRAutomaticInspectionEnabledState, &token) != NOTIFY_STATUS_OK)75 return false;76 77 uint64_t automaticInspectionEnabled = 0;78 notify_get_state(token, &automaticInspectionEnabled);79 return automaticInspectionEnabled == 1;80 }81 82 71 static void dispatchAsyncOnQueueSafeForAnyDebuggable(void (^block)()) 83 72 { … … 124 113 , m_parentProcessIdentifier(0) 125 114 , m_shouldSendParentProcessInformation(false) 126 , m_automaticInspectionEnabled(false)127 , m_automaticInspectionPaused(false)128 , m_automaticInspectionCandidateIdentifier(0)129 115 { 130 116 } … … 185 171 } 186 172 187 void RemoteInspector::updateDebuggableAutomaticInspectCandidate(RemoteInspectorDebuggable* debuggable)188 {189 {190 std::lock_guard<std::mutex> lock(m_mutex);191 192 unsigned identifier = debuggable->identifier();193 if (!identifier)194 return;195 196 auto result = m_debuggableMap.set(identifier, std::make_pair(debuggable, debuggable->info()));197 ASSERT_UNUSED(result, !result.isNewEntry);198 199 // Don't allow automatic inspection unless there is a debugger or we are stopped.200 if (!WTFIsDebuggerAttached() || !m_automaticInspectionEnabled || !m_enabled) {201 pushListingSoon();202 return;203 }204 205 // FIXME: We should handle multiple debuggables trying to pause at the same time on different threads.206 // To make this work we will need to change m_automaticInspectionCandidateIdentifier to be a per-thread value.207 // Multiple attempts on the same thread should not be possible because our nested run loop is in a special RWI mode.208 if (m_automaticInspectionPaused) {209 LOG_ERROR("Skipping Automatic Inspection Candidate with pageId(%u) because we are already paused waiting for pageId(%u)", identifier, m_automaticInspectionCandidateIdentifier);210 pushListingSoon();211 return;212 }213 214 m_automaticInspectionPaused = true;215 m_automaticInspectionCandidateIdentifier = identifier;216 217 // If we are pausing before we have connected to webinspectord the candidate message will be sent as soon as the connection is established.218 if (m_xpcConnection) {219 pushListingNow();220 sendAutomaticInspectionCandidateMessage();221 }222 223 // In case debuggers fail to respond, or we cannot connect to webinspectord, automatically continue after a short period of time.224 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.3 * NSEC_PER_SEC), dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{225 std::lock_guard<std::mutex> lock(m_mutex);226 if (m_automaticInspectionCandidateIdentifier == identifier) {227 LOG_ERROR("Skipping Automatic Inspection Candidate with pageId(%u) because we failed to receive a response in time.", m_automaticInspectionCandidateIdentifier);228 m_automaticInspectionPaused = false;229 }230 });231 }232 233 debuggable->pauseWaitingForAutomaticInspection();234 235 {236 std::lock_guard<std::mutex> lock(m_mutex);237 238 ASSERT(m_automaticInspectionCandidateIdentifier);239 m_automaticInspectionCandidateIdentifier = 0;240 }241 }242 243 void RemoteInspector::sendAutomaticInspectionCandidateMessage()244 {245 ASSERT(m_enabled);246 ASSERT(m_automaticInspectionEnabled);247 ASSERT(m_automaticInspectionPaused);248 ASSERT(m_automaticInspectionCandidateIdentifier);249 ASSERT(m_xpcConnection);250 251 NSDictionary *details = @{WIRPageIdentifierKey: @(m_automaticInspectionCandidateIdentifier)};252 m_xpcConnection->sendMessage(WIRAutomaticInspectionCandidateMessage, details);253 }254 255 173 void RemoteInspector::sendMessageToRemoteFrontend(unsigned identifier, const String& message) 256 174 { … … 281 199 updateHasActiveDebugSession(); 282 200 283 if (identifier == m_automaticInspectionCandidateIdentifier)284 m_automaticInspectionPaused = false;285 286 201 pushListingSoon(); 287 202 } 288 203 289 void RemoteInspector::setupSucceeded(unsigned identifier)290 {291 std::lock_guard<std::mutex> lock(m_mutex);292 293 if (identifier == m_automaticInspectionCandidateIdentifier)294 m_automaticInspectionPaused = false;295 }296 297 bool RemoteInspector::waitingForAutomaticInspection(unsigned)298 {299 // We don't take the lock to check this because we assume it will be checked repeatedly.300 return m_automaticInspectionPaused;301 }302 303 204 void RemoteInspector::start() 304 205 { … … 309 210 310 211 m_enabled = true; 311 312 // Load the initial automatic inspection state when first started, so we know it before we have even connected to webinspectord.313 static dispatch_once_t once;314 dispatch_once(&once, ^{315 m_automaticInspectionEnabled = globalAutomaticInspectionState();316 });317 212 318 213 notify_register_dispatch(WIRServiceAvailableNotification, &m_notifyToken, m_xpcQueue, ^(int) { … … 344 239 345 240 updateHasActiveDebugSession(); 346 347 m_automaticInspectionPaused = false;348 241 349 242 if (m_xpcConnection) { … … 378 271 xpc_release(connection); 379 272 380 if (m_automaticInspectionCandidateIdentifier) { 381 // We already have a debuggable waiting to be automatically inspected. 382 pushListingNow(); 383 sendAutomaticInspectionCandidateMessage(); 384 } else 385 pushListingSoon(); 273 pushListingSoon(); 386 274 } 387 275 … … 427 315 else if ([messageName isEqualToString:WIRConnectionDiedMessage]) 428 316 receivedConnectionDiedMessage(userInfo); 429 else if ([messageName isEqualToString:WIRAutomaticInspectionConfigurationMessage])430 receivedAutomaticInspectionConfigurationMessage(userInfo);431 else if ([messageName isEqualToString:WIRAutomaticInspectionRejectMessage])432 receivedAutomaticInspectionRejectMessage(userInfo);433 317 else 434 318 NSLog(@"Unrecognized RemoteInspector XPC Message: %@", messageName); … … 450 334 451 335 updateHasActiveDebugSession(); 452 453 m_automaticInspectionPaused = false;454 336 455 337 // The connection will close itself. … … 552 434 } 553 435 554 555 436 #pragma mark - Received XPC Messages 556 437 … … 581 462 RemoteInspectorDebuggableInfo debuggableInfo = it->value.second; 582 463 RefPtr<RemoteInspectorDebuggableConnection> connection = adoptRef(new RemoteInspectorDebuggableConnection(debuggable, connectionIdentifier, sender, debuggableInfo.type)); 583 bool isAutomaticInspection = m_automaticInspectionCandidateIdentifier == debuggable->identifier(); 584 if (!connection->setup(isAutomaticInspection)) { 464 if (!connection->setup()) { 585 465 connection->close(); 586 466 return; … … 714 594 } 715 595 716 void RemoteInspector::receivedAutomaticInspectionConfigurationMessage(NSDictionary *userInfo)717 {718 m_automaticInspectionEnabled = [[userInfo objectForKey:WIRAutomaticInspectionEnabledKey] boolValue];719 720 if (!m_automaticInspectionEnabled && m_automaticInspectionPaused)721 m_automaticInspectionPaused = false;722 }723 724 void RemoteInspector::receivedAutomaticInspectionRejectMessage(NSDictionary *userInfo)725 {726 unsigned rejectionIdentifier = [[userInfo objectForKey:WIRPageIdentifierKey] unsignedIntValue];727 728 ASSERT(rejectionIdentifier == m_automaticInspectionCandidateIdentifier);729 if (rejectionIdentifier == m_automaticInspectionCandidateIdentifier)730 m_automaticInspectionPaused = false;731 }732 733 596 } // namespace Inspector 734 597 -
trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorConstants.h
r173731 r173736 38 38 #define WIRServiceEnabledNotification "com.apple.webinspectord.enabled" 39 39 #define WIRServiceDisabledNotification "com.apple.webinspectord.disabled" 40 #define WIRAutomaticInspectionEnabledState "com.apple.webinspectord.automatic_inspection_enabled"41 40 42 41 … … 45 44 #define WIRApplicationNameKey @"WIRApplicationNameKey" 46 45 #define WIRIsApplicationProxyKey @"WIRIsApplicationProxyKey" 47 #define WIRIsApplicationActiveKey @"WIRIsApplicationActiveKey"48 46 #define WIRHostApplicationIdentifierKey @"WIRHostApplicationIdentifierKey" 49 47 #define WIRHostApplicationNameKey @"WIRHostApplicationNameKey" … … 74 72 #define WIRTypeWeb @"WIRTypeWeb" 75 73 76 #define WIRAutomaticInspectionEnabledKey @"WIRAutomaticInspectionEnabledKey"77 #define WIRAutomaticInspectionSessionIdentifierKey @"WIRAutomaticInspectionSessionIdentifierKey"78 #define WIRAutomaticInspectionConfigurationMessage @"WIRAutomaticInspectionConfigurationMessage"79 #define WIRAutomaticInspectionRejectMessage @"WIRAutomaticInspectionRejectMessage"80 #define WIRAutomaticInspectionCandidateMessage @"WIRAutomaticInspectionCandidateMessage"81 82 74 // These definitions are shared with a Simulator webinspectord and 83 75 // OS X process communicating with it. -
trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorDebuggable.cpp
r173731 r173736 29 29 #if ENABLE(REMOTE_INSPECTOR) 30 30 31 #include "EventLoop.h"32 31 #include "InspectorFrontendChannel.h" 33 32 #include "RemoteInspector.h" … … 63 62 m_allowed = allowed; 64 63 65 if (m_allowed && automaticInspectionAllowed()) 66 RemoteInspector::shared().updateDebuggableAutomaticInspectCandidate(this); 67 else 68 RemoteInspector::shared().updateDebuggable(this); 64 update(); 69 65 } 70 66 … … 81 77 } 82 78 83 void RemoteInspectorDebuggable::pauseWaitingForAutomaticInspection()84 {85 ASSERT(m_identifier);86 ASSERT(m_allowed);87 ASSERT(automaticInspectionAllowed());88 89 EventLoop loop;90 while (RemoteInspector::shared().waitingForAutomaticInspection(identifier()) && !loop.ended())91 loop.cycle();92 }93 94 79 } // namespace Inspector 95 80 -
trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorDebuggable.h
r173731 r173736 63 63 virtual bool hasLocalDebugger() const = 0; 64 64 65 virtual void connect(InspectorFrontendChannel* , bool isAutomaticInspection) = 0;65 virtual void connect(InspectorFrontendChannel*) = 0; 66 66 virtual void disconnect() = 0; 67 67 virtual void dispatchMessageFromRemoteFrontend(const String& message) = 0; 68 68 virtual void setIndicating(bool) { } // Default is to do nothing. 69 70 virtual bool automaticInspectionAllowed() const { return false; }71 virtual void pauseWaitingForAutomaticInspection();72 69 73 70 private: -
trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorDebuggableConnection.h
r173731 r173736 85 85 unsigned identifier() const { return m_identifier; } 86 86 87 bool setup( bool isAutomaticInspection);87 bool setup(); 88 88 89 89 void close(); -
trunk/Source/JavaScriptCore/inspector/remote/RemoteInspectorDebuggableConnection.mm
r173731 r173736 150 150 } 151 151 152 bool RemoteInspectorDebuggableConnection::setup( bool isAutomaticInspection)152 bool RemoteInspectorDebuggableConnection::setup() 153 153 { 154 154 std::lock_guard<std::mutex> lock(m_debuggableMutex); … … 165 165 m_debuggable = nullptr; 166 166 } else { 167 m_debuggable->connect(this , isAutomaticInspection);167 m_debuggable->connect(this); 168 168 m_connected = true; 169 RemoteInspector::shared().setupSucceeded(identifier());170 169 } 171 170 } -
trunk/Source/JavaScriptCore/runtime/JSGlobalObjectDebuggable.cpp
r173731 r173736 29 29 #if ENABLE(REMOTE_INSPECTOR) 30 30 31 #include "JSLock.h"32 31 #include "InspectorAgentBase.h" 33 32 #include "InspectorFrontendChannel.h" … … 50 49 } 51 50 52 void JSGlobalObjectDebuggable::connect(InspectorFrontendChannel* frontendChannel , bool automaticInspection)51 void JSGlobalObjectDebuggable::connect(InspectorFrontendChannel* frontendChannel) 53 52 { 54 53 JSLockHolder locker(&m_globalObject.vm()); 55 54 56 m_globalObject.inspectorController().connectFrontend(frontendChannel , automaticInspection);55 m_globalObject.inspectorController().connectFrontend(frontendChannel); 57 56 } 58 57 … … 71 70 } 72 71 73 void JSGlobalObjectDebuggable::pauseWaitingForAutomaticInspection()74 {75 JSC::JSLock::DropAllLocks dropAllLocks(&m_globalObject.vm());76 RemoteInspectorDebuggable::pauseWaitingForAutomaticInspection();77 }78 79 72 } // namespace JSC 80 73 -
trunk/Source/JavaScriptCore/runtime/JSGlobalObjectDebuggable.h
r173731 r173736 52 52 virtual bool hasLocalDebugger() const override { return false; } 53 53 54 virtual void connect(Inspector::InspectorFrontendChannel* , bool automaticInspection) override;54 virtual void connect(Inspector::InspectorFrontendChannel*) override; 55 55 virtual void disconnect() override; 56 56 virtual void dispatchMessageFromRemoteFrontend(const String& message) override; 57 58 virtual bool automaticInspectionAllowed() const override { return true; }59 virtual void pauseWaitingForAutomaticInspection() override;60 57 61 58 private: -
trunk/Source/WTF/ChangeLog
r173731 r173736 1 2014-09-18 Joseph Pecoraro <pecoraro@apple.com> 2 3 Unreviewed rollout r173731. Broke multiple builds. 4 5 * wtf/Assertions.cpp: 6 * wtf/Assertions.h: 7 1 8 2014-09-18 Joseph Pecoraro <pecoraro@apple.com> 2 9 -
trunk/Source/WTF/wtf/Assertions.cpp
r173731 r173736 64 64 #endif 65 65 66 #if OS(DARWIN)67 #include <sys/sysctl.h>68 #include <unistd.h>69 #endif70 71 66 #if OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__)) 72 67 #include <cxxabi.h> … … 391 386 } 392 387 393 bool WTFIsDebuggerAttached()394 {395 #if OS(DARWIN)396 struct kinfo_proc info;397 int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid() };398 size_t size = sizeof(info);399 if (sysctl(mib, sizeof(mib) / sizeof(mib[0]), &info, &size, nullptr, 0) != 0)400 return false;401 return (info.kp_proc.p_flag & P_TRACED) != 0;402 #else403 return false;404 #endif405 }406 407 388 void WTFReportFatalError(const char* file, int line, const char* function, const char* format, ...) 408 389 { -
trunk/Source/WTF/wtf/Assertions.h
r173731 r173736 39 39 #include <inttypes.h> 40 40 #include <stdarg.h> 41 #include <stdbool.h>42 41 #include <stddef.h> 43 42 … … 146 145 WTF_EXPORT_PRIVATE void WTFSetCrashHook(WTFCrashHookFunction); 147 146 WTF_EXPORT_PRIVATE void WTFInstallReportBacktraceOnCrashHook(); 148 149 WTF_EXPORT_PRIVATE bool WTFIsDebuggerAttached();150 147 151 148 #ifdef __cplusplus -
trunk/Source/WebCore/ChangeLog
r173734 r173736 1 2014-09-18 Joseph Pecoraro <pecoraro@apple.com> 2 3 Unreviewed rollout r173731. Broke multiple builds. 4 5 * WebCore.exp.in: 6 * inspector/InspectorController.cpp: 7 (WebCore::InspectorController::connectFrontend): 8 (WebCore::InspectorController::show): 9 * inspector/InspectorController.h: 10 * page/PageDebuggable.cpp: 11 (WebCore::PageDebuggable::connect): 12 * page/PageDebuggable.h: 13 * testing/Internals.cpp: 14 (WebCore::Internals::openDummyInspectorFrontend): 15 1 16 2014-09-18 Beth Dakin <bdakin@apple.com> 2 17 -
trunk/Source/WebCore/WebCore.exp.in
r173731 r173736 3124 3124 __ZN7WebCore14SchemeRegistry27shouldTreatURLSchemeAsLocalERKN3WTF6StringE 3125 3125 __ZN7WebCore15InspectorClient31doDispatchMessageOnFrontendPageEPNS_4PageERKN3WTF6StringE 3126 __ZN7WebCore19InspectorController15connectFrontendEPN9Inspector24InspectorFrontendChannelE b3126 __ZN7WebCore19InspectorController15connectFrontendEPN9Inspector24InspectorFrontendChannelE 3127 3127 __ZN7WebCore19InspectorController18disconnectFrontendEN9Inspector25InspectorDisconnectReasonE 3128 3128 __ZN7WebCore19InspectorController18setProfilerEnabledEb -
trunk/Source/WebCore/inspector/InspectorController.cpp
r173731 r173736 231 231 } 232 232 233 void InspectorController::connectFrontend(InspectorFrontendChannel* frontendChannel , bool)233 void InspectorController::connectFrontend(InspectorFrontendChannel* frontendChannel) 234 234 { 235 235 ASSERT(frontendChannel); … … 286 286 InspectorFrontendChannel* frontendChannel = m_inspectorClient->openInspectorFrontend(this); 287 287 if (frontendChannel) 288 connectFrontend(frontendChannel , false);288 connectFrontend(frontendChannel); 289 289 } 290 290 } -
trunk/Source/WebCore/inspector/InspectorController.h
r173731 r173736 94 94 bool hasRemoteFrontend() const; 95 95 96 WEBCORE_EXPORT void connectFrontend(Inspector::InspectorFrontendChannel* , bool isAutomaticInspection);96 WEBCORE_EXPORT void connectFrontend(Inspector::InspectorFrontendChannel*); 97 97 WEBCORE_EXPORT void disconnectFrontend(Inspector::InspectorDisconnectReason); 98 98 void setProcessId(long); -
trunk/Source/WebCore/page/PageDebuggable.cpp
r173731 r173736 69 69 } 70 70 71 void PageDebuggable::connect(Inspector::InspectorFrontendChannel* channel , bool isAutomaticInspection)71 void PageDebuggable::connect(Inspector::InspectorFrontendChannel* channel) 72 72 { 73 73 if (!m_page.settings().developerExtrasEnabled()) { … … 79 79 InspectorController& inspectorController = m_page.inspectorController(); 80 80 inspectorController.setHasRemoteFrontend(true); 81 inspectorController.connectFrontend(reinterpret_cast<WebCore::InspectorFrontendChannel*>(channel) , isAutomaticInspection);81 inspectorController.connectFrontend(reinterpret_cast<WebCore::InspectorFrontendChannel*>(channel)); 82 82 } 83 83 -
trunk/Source/WebCore/page/PageDebuggable.h
r173731 r173736 48 48 virtual bool hasLocalDebugger() const override; 49 49 50 virtual void connect(Inspector::InspectorFrontendChannel* , bool isAutomaticInspection) override;50 virtual void connect(Inspector::InspectorFrontendChannel*) override; 51 51 virtual void disconnect() override; 52 52 virtual void dispatchMessageFromRemoteFrontend(const String& message) override; -
trunk/Source/WebCore/testing/Internals.cpp
r173731 r173736 1478 1478 m_frontendChannel = adoptPtr(new InspectorFrontendChannelDummy(frontendPage)); 1479 1479 1480 bool isAutomaticInspection = false; 1481 page->inspectorController().connectFrontend(m_frontendChannel.get(), isAutomaticInspection); 1480 page->inspectorController().connectFrontend(m_frontendChannel.get()); 1482 1481 1483 1482 return m_frontendWindow;
Note:
See TracChangeset
for help on using the changeset viewer.