static bool parseLocation(ErrorString& errorString, const InspectorObject& location, JSC::SourceID& sourceID, unsigned& lineNumber, unsigned& columnNumber) { String scriptIDStr; if (!location.getString(ASCIILiteral("scriptId"), scriptIDStr) || !location.getInteger(ASCIILiteral("lineNumber"), lineNumber)) { sourceID = JSC::noSourceID; errorString = ASCIILiteral("scriptId and lineNumber are required."); return false; } sourceID = scriptIDStr.toIntPtr(); columnNumber = 0; location.getInteger(ASCIILiteral("columnNumber"), columnNumber); return true; }
void InspectorReplayAgent::replayToPosition(ErrorString& errorString, const InspectorObject& positionObject, bool fastReplay) { ReplayPosition position; if (!positionObject.getInteger(ASCIILiteral("segmentOffset"), position.segmentOffset)) { errorString = ASCIILiteral("Couldn't decode ReplayPosition segment offset provided to ReplayAgent.replayToPosition."); return; } if (!positionObject.getInteger(ASCIILiteral("inputOffset"), position.inputOffset)) { errorString = ASCIILiteral("Couldn't decode ReplayPosition input offset provided to ReplayAgent.replayToPosition."); return; } if (sessionState() == WebCore::SessionState::Capturing) { errorString = ASCIILiteral("Can't start replay while capture is in progress."); return; } m_page.replayController().replayToPosition(position, (fastReplay) ? DispatchSpeed::FastForward : DispatchSpeed::RealTime); }