Changeset 269023 in webkit for trunk/Source/JavaScriptCore/debugger
- Timestamp:
- Oct 26, 2020, 11:39:08 PM (5 years ago)
- Location:
- trunk/Source/JavaScriptCore/debugger
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/debugger/Debugger.cpp
r266534 r269023 238 238 } 239 239 240 void Debugger::setClient(Client* client) 241 { 242 ASSERT(!!m_client != !!client); 243 m_client = client; 244 } 245 240 246 void Debugger::addObserver(Observer& observer) 241 247 { … … 610 616 NakedPtr<Exception> exception; 611 617 DebuggerCallFrame& debuggerCallFrame = currentDebuggerCallFrame(); 612 JSObject* scopeExtensionObject = nullptr;618 JSObject* scopeExtensionObject = m_client ? m_client->scopeExtensionObject(*this, globalObject, debuggerCallFrame) : nullptr; 613 619 JSValue result = debuggerCallFrame.evaluateWithScopeExtension(condition, scopeExtensionObject, exception); 614 620 … … 644 650 case Breakpoint::Action::Type::Evaluate: { 645 651 NakedPtr<Exception> exception; 646 JSObject* scopeExtensionObject = nullptr;652 JSObject* scopeExtensionObject = m_client ? m_client->scopeExtensionObject(*this, globalObject, debuggerCallFrame) : nullptr; 647 653 debuggerCallFrame.evaluateWithScopeExtension(action.data, scopeExtensionObject, exception); 648 654 if (exception) … … 659 665 case Breakpoint::Action::Type::Probe: { 660 666 NakedPtr<Exception> exception; 661 JSObject* scopeExtensionObject = nullptr;667 JSObject* scopeExtensionObject = m_client ? m_client->scopeExtensionObject(*this, globalObject, debuggerCallFrame) : nullptr; 662 668 JSValue result = debuggerCallFrame.evaluateWithScopeExtension(action.data, scopeExtensionObject, exception); 663 669 JSC::JSGlobalObject* debuggerGlobalObject = debuggerCallFrame.globalObject(); -
trunk/Source/JavaScriptCore/debugger/Debugger.h
r266534 r269023 141 141 void registerCodeBlock(CodeBlock*); 142 142 143 class Client { 144 public: 145 virtual ~Client() = default; 146 147 virtual JSObject* scopeExtensionObject(Debugger&, JSGlobalObject*, DebuggerCallFrame&) { return nullptr; } 148 }; 149 150 void setClient(Client*); 151 143 152 // FIXME: <https://webkit.org/b/162773> Web Inspector: Simplify Debugger::Script to use SourceProvider 144 153 struct Script { … … 326 335 bool m_dispatchingFunctionToObservers { false }; 327 336 337 Client* m_client { nullptr }; 328 338 ProfilingClient* m_profilingClient { nullptr }; 329 339
Note:
See TracChangeset
for help on using the changeset viewer.