Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(511)

Unified Diff: third_party/WebKit/Source/platform/v8_inspector/V8DebuggerAgentImpl.cpp

Issue 2087953004: Switch v8 inspector to stl collections (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/platform/v8_inspector/V8DebuggerAgentImpl.cpp
diff --git a/third_party/WebKit/Source/platform/v8_inspector/V8DebuggerAgentImpl.cpp b/third_party/WebKit/Source/platform/v8_inspector/V8DebuggerAgentImpl.cpp
index 33eebe954b4fc31847e8ec4bcc40f6779c107371..c8949430c90d506a61a85d19f41bc1428a597c29 100644
--- a/third_party/WebKit/Source/platform/v8_inspector/V8DebuggerAgentImpl.cpp
+++ b/third_party/WebKit/Source/platform/v8_inspector/V8DebuggerAgentImpl.cpp
@@ -190,7 +190,7 @@ void V8DebuggerAgentImpl::enable()
m_state->setBoolean(DebuggerAgentState::debuggerEnabled, true);
debugger().debuggerAgentEnabled();
- protocol::Vector<V8DebuggerParsedScript> compiledScripts;
+ std::vector<V8DebuggerParsedScript> compiledScripts;
debugger().getCompiledScripts(m_session->contextGroupId(), compiledScripts);
for (size_t i = 0; i < compiledScripts.size(); i++)
didParseSource(compiledScripts[i]);
@@ -358,8 +358,8 @@ void V8DebuggerAgentImpl::setBreakpointByUrl(ErrorString* errorString,
breakpointsCookie->setObject(breakpointId, buildObjectForBreakpointCookie(url, lineNumber, columnNumber, condition, isRegex));
ScriptBreakpoint breakpoint(lineNumber, columnNumber, condition);
- for (auto& script : m_scripts) {
- if (!matches(m_debugger, script.second->sourceURL(), url, isRegex))
+ for (const auto& script : m_scripts) {
+ if (!matches(m_debugger, script.second.sourceURL(), url, isRegex))
continue;
std::unique_ptr<protocol::Debugger::Location> location = resolveBreakpoint(breakpointId, script.first, breakpoint, UserBreakpointSource);
if (location)
@@ -393,7 +393,7 @@ void V8DebuggerAgentImpl::setBreakpoint(ErrorString* errorString,
String16 condition = optionalCondition.fromMaybe("");
String16 breakpointId = generateBreakpointId(scriptId, lineNumber, columnNumber, UserBreakpointSource);
- if (m_breakpointIdToDebuggerBreakpointIds.contains(breakpointId)) {
+ if (m_breakpointIdToDebuggerBreakpointIds.find(breakpointId) != m_breakpointIdToDebuggerBreakpointIds.end()) {
*errorString = "Breakpoint at specified location already exists.";
return;
}
@@ -421,14 +421,14 @@ void V8DebuggerAgentImpl::removeBreakpoint(const String16& breakpointId)
BreakpointIdToDebuggerBreakpointIdsMap::iterator debuggerBreakpointIdsIterator = m_breakpointIdToDebuggerBreakpointIds.find(breakpointId);
if (debuggerBreakpointIdsIterator == m_breakpointIdToDebuggerBreakpointIds.end())
return;
- protocol::Vector<String16>* ids = debuggerBreakpointIdsIterator->second;
- for (size_t i = 0; i < ids->size(); ++i) {
- const String16& debuggerBreakpointId = ids->at(i);
+ const std::vector<String16>& ids = debuggerBreakpointIdsIterator->second;
+ for (size_t i = 0; i < ids.size(); ++i) {
+ const String16& debuggerBreakpointId = ids[i];
debugger().removeBreakpoint(debuggerBreakpointId);
- m_serverBreakpoints.remove(debuggerBreakpointId);
+ m_serverBreakpoints.erase(debuggerBreakpointId);
}
- m_breakpointIdToDebuggerBreakpointIds.remove(breakpointId);
+ m_breakpointIdToDebuggerBreakpointIds.erase(breakpointId);
}
void V8DebuggerAgentImpl::continueToLocation(ErrorString* errorString,
@@ -458,7 +458,8 @@ void V8DebuggerAgentImpl::getBacktrace(ErrorString* errorString, std::unique_ptr
{
if (!assertPaused(errorString))
return;
- m_pausedCallFrames.swap(debugger().currentCallFrames());
+ JavaScriptCallFrames frames = debugger().currentCallFrames();
+ m_pausedCallFrames.swap(frames);
*callFrames = currentCallFrames(errorString);
if (!*callFrames)
return;
@@ -470,7 +471,7 @@ bool V8DebuggerAgentImpl::isCurrentCallStackEmptyOrBlackboxed()
DCHECK(enabled());
JavaScriptCallFrames callFrames = debugger().currentCallFrames();
for (size_t index = 0; index < callFrames.size(); ++index) {
- if (!isCallFrameWithUnknownScriptOrBlackboxed(callFrames[index]))
+ if (!isCallFrameWithUnknownScriptOrBlackboxed(callFrames[index].get()))
return false;
}
return true;
@@ -479,7 +480,8 @@ bool V8DebuggerAgentImpl::isCurrentCallStackEmptyOrBlackboxed()
bool V8DebuggerAgentImpl::isTopPausedCallFrameBlackboxed()
{
DCHECK(enabled());
- return isCallFrameWithUnknownScriptOrBlackboxed(m_pausedCallFrames.size() ? m_pausedCallFrames[0] : nullptr);
+ JavaScriptCallFrame* frame = m_pausedCallFrames.size() ? m_pausedCallFrames[0].get() : nullptr;
+ return isCallFrameWithUnknownScriptOrBlackboxed(frame);
}
bool V8DebuggerAgentImpl::isCallFrameWithUnknownScriptOrBlackboxed(JavaScriptCallFrame* frame)
@@ -492,7 +494,7 @@ bool V8DebuggerAgentImpl::isCallFrameWithUnknownScriptOrBlackboxed(JavaScriptCal
return true;
}
if (m_blackboxPattern) {
- String16 scriptSourceURL = it->second->sourceURL();
+ const String16& scriptSourceURL = it->second.sourceURL();
if (!scriptSourceURL.isEmpty() && m_blackboxPattern->match(scriptSourceURL) != -1)
return true;
}
@@ -500,11 +502,12 @@ bool V8DebuggerAgentImpl::isCallFrameWithUnknownScriptOrBlackboxed(JavaScriptCal
if (itBlackboxedPositions == m_blackboxedPositions.end())
return false;
- protocol::Vector<std::pair<int, int>>* ranges = itBlackboxedPositions->second;
- auto itRange = std::lower_bound(ranges->begin(), ranges->end(), std::make_pair(frame->line(), frame->column()), positionComparator);
+ const std::vector<std::pair<int, int>>& ranges = itBlackboxedPositions->second;
+ auto itRange = std::lower_bound(ranges.cbegin(), ranges.cend(),
+ std::make_pair(frame->line(), frame->column()), positionComparator);
// Ranges array contains positions in script where blackbox state is changed.
// [(0,0) ... ranges[0]) isn't blackboxed, [ranges[0] ... ranges[1]) is blackboxed...
- return std::distance(ranges->begin(), itRange) % 2;
+ return std::distance(ranges.begin(), itRange) % 2;
}
V8DebuggerAgentImpl::SkipPauseRequest V8DebuggerAgentImpl::shouldSkipExceptionPause(JavaScriptCallFrame* topCallFrame)
@@ -549,8 +552,8 @@ std::unique_ptr<protocol::Debugger::Location> V8DebuggerAgentImpl::resolveBreakp
ScriptsMap::iterator scriptIterator = m_scripts.find(scriptId);
if (scriptIterator == m_scripts.end())
return nullptr;
- V8DebuggerScript* script = scriptIterator->second;
- if (breakpoint.lineNumber < script->startLine() || script->endLine() < breakpoint.lineNumber)
+ const V8DebuggerScript& script = scriptIterator->second;
+ if (breakpoint.lineNumber < script.startLine() || script.endLine() < breakpoint.lineNumber)
return nullptr;
int actualLineNumber;
@@ -559,14 +562,10 @@ std::unique_ptr<protocol::Debugger::Location> V8DebuggerAgentImpl::resolveBreakp
if (debuggerBreakpointId.isEmpty())
return nullptr;
- m_serverBreakpoints.set(debuggerBreakpointId, std::make_pair(breakpointId, source));
+ m_serverBreakpoints[debuggerBreakpointId] = std::make_pair(breakpointId, source);
CHECK(!breakpointId.isEmpty());
- if (!m_breakpointIdToDebuggerBreakpointIds.contains(breakpointId))
- m_breakpointIdToDebuggerBreakpointIds.set(breakpointId, protocol::Vector<String16>());
-
- BreakpointIdToDebuggerBreakpointIdsMap::iterator debuggerBreakpointIdsIterator = m_breakpointIdToDebuggerBreakpointIds.find(breakpointId);
- debuggerBreakpointIdsIterator->second->append(debuggerBreakpointId);
+ m_breakpointIdToDebuggerBreakpointIds[breakpointId].push_back(debuggerBreakpointId);
return buildProtocolLocation(scriptId, actualLineNumber, actualColumnNumber);
}
@@ -577,7 +576,7 @@ void V8DebuggerAgentImpl::searchInContent(ErrorString* error, const String16& sc
{
ScriptsMap::iterator it = m_scripts.find(scriptId);
if (it != m_scripts.end())
- *results = V8ContentSearchUtil::searchInTextByLines(m_session, it->second->source(), query, optionalCaseSensitive.fromMaybe(false), optionalIsRegex.fromMaybe(false));
+ *results = V8ContentSearchUtil::searchInTextByLines(m_session, it->second.source(), query, optionalCaseSensitive.fromMaybe(false), optionalIsRegex.fromMaybe(false));
else
*error = String16("No script for id: " + scriptId);
}
@@ -605,7 +604,7 @@ void V8DebuggerAgentImpl::setScriptSource(ErrorString* errorString,
ScriptsMap::iterator it = m_scripts.find(scriptId);
if (it == m_scripts.end())
return;
- it->second->setSource(newContent);
+ it->second.setSource(newContent);
}
void V8DebuggerAgentImpl::restartFrame(ErrorString* errorString,
@@ -629,7 +628,8 @@ void V8DebuggerAgentImpl::restartFrame(ErrorString* errorString,
*errorString = "Internal error";
return;
}
- m_pausedCallFrames.swap(debugger().currentCallFrames());
+ JavaScriptCallFrames frames = debugger().currentCallFrames();
+ m_pausedCallFrames.swap(frames);
*newCallFrames = currentCallFrames(errorString);
if (!*newCallFrames)
@@ -646,7 +646,7 @@ void V8DebuggerAgentImpl::getScriptSource(ErrorString* error, const String16& sc
*error = "No script for id: " + scriptId;
return;
}
- *scriptSource = it->second->source();
+ *scriptSource = it->second.source();
}
void V8DebuggerAgentImpl::getFunctionDetails(ErrorString* errorString, const String16& functionId, std::unique_ptr<FunctionDetails>* details)
@@ -809,7 +809,7 @@ void V8DebuggerAgentImpl::stepOver(ErrorString* errorString)
if (!assertPaused(errorString))
return;
// StepOver at function return point should fallback to StepInto.
- JavaScriptCallFrame* frame = m_pausedCallFrames.size() ? m_pausedCallFrames[0] : nullptr;
+ JavaScriptCallFrame* frame = !m_pausedCallFrames.empty() ? m_pausedCallFrames[0].get() : nullptr;
if (frame && frame->isAtReturn()) {
stepInto(errorString);
return;
@@ -979,20 +979,22 @@ bool V8DebuggerAgentImpl::setBlackboxPattern(ErrorString* errorString, const Str
return true;
}
-void V8DebuggerAgentImpl::setBlackboxedRanges(ErrorString* error, const String16& scriptId, std::unique_ptr<protocol::Array<protocol::Debugger::ScriptPosition>> inPositions)
+void V8DebuggerAgentImpl::setBlackboxedRanges(ErrorString* error, const String16& scriptId,
+ std::unique_ptr<protocol::Array<protocol::Debugger::ScriptPosition>> inPositions)
{
- if (!m_scripts.contains(scriptId)) {
+ if (m_scripts.find(scriptId) == m_scripts.end()) {
*error = "No script with passed id.";
return;
}
if (!inPositions->length()) {
- m_blackboxedPositions.remove(scriptId);
+ m_blackboxedPositions.erase(scriptId);
return;
}
- protocol::Vector<std::pair<int, int>> positions(inPositions->length());
- for (size_t i = 0; i < positions.size(); ++i) {
+ std::vector<std::pair<int, int>> positions;
+ positions.reserve(inPositions->length());
+ for (size_t i = 0; i < inPositions->length(); ++i) {
protocol::Debugger::ScriptPosition* position = inPositions->get(i);
if (position->getLine() < 0) {
*error = "Position missing 'line' or 'line' < 0.";
@@ -1002,7 +1004,7 @@ void V8DebuggerAgentImpl::setBlackboxedRanges(ErrorString* error, const String16
*error = "Position missing 'column' or 'column' < 0.";
return;
}
- positions[i] = std::make_pair(position->getLine(), position->getColumn());
+ positions.push_back(std::make_pair(position->getLine(), position->getColumn()));
}
for (size_t i = 1; i < positions.size(); ++i) {
@@ -1014,7 +1016,7 @@ void V8DebuggerAgentImpl::setBlackboxedRanges(ErrorString* error, const String16
return;
}
- m_blackboxedPositions.set(scriptId, positions);
+ m_blackboxedPositions[scriptId] = positions;
}
void V8DebuggerAgentImpl::willExecuteScript(int scriptId)
@@ -1024,7 +1026,7 @@ void V8DebuggerAgentImpl::willExecuteScript(int scriptId)
if (m_scheduledDebuggerStep != StepInto)
return;
// Skip unknown scripts (e.g. InjectedScript).
- if (!m_scripts.contains(String16::number(scriptId)))
+ if (m_scripts.find(String16::number(scriptId)) == m_scripts.end())
return;
schedulePauseOnNextStatementIfSteppingInto();
}
@@ -1084,7 +1086,7 @@ std::unique_ptr<Array<CallFrame>> V8DebuggerAgentImpl::currentCallFrames(ErrorSt
v8::Local<v8::Array> objects = v8::Array::New(m_isolate);
for (size_t frameOrdinal = 0; frameOrdinal < m_pausedCallFrames.size(); ++frameOrdinal) {
- JavaScriptCallFrame* currentCallFrame = m_pausedCallFrames[frameOrdinal];
+ const std::unique_ptr<JavaScriptCallFrame>& currentCallFrame = m_pausedCallFrames[frameOrdinal];
v8::Local<v8::Object> details = currentCallFrame->details();
if (hasInternalError(errorString, details.IsEmpty()))
@@ -1171,7 +1173,7 @@ void V8DebuggerAgentImpl::didParseSource(const V8DebuggerParsedScript& parsedScr
else
m_frontend.scriptFailedToParse(parsedScript.scriptId, scriptURL, script.startLine(), script.startColumn(), script.endLine(), script.endColumn(), executionContextId, script.hash(), isContentScriptParam, isInternalScriptParam, sourceMapURLParam, hasSourceURLParam, deprecatedCommentWasUsedParam);
- m_scripts.set(parsedScript.scriptId, script);
+ m_scripts[parsedScript.scriptId] = script;
if (scriptURL.isEmpty() || !parsedScript.success)
return;
@@ -1199,15 +1201,15 @@ void V8DebuggerAgentImpl::didParseSource(const V8DebuggerParsedScript& parsedScr
}
}
-V8DebuggerAgentImpl::SkipPauseRequest V8DebuggerAgentImpl::didPause(v8::Local<v8::Context> context, v8::Local<v8::Value> exception, const protocol::Vector<String16>& hitBreakpoints, bool isPromiseRejection)
+V8DebuggerAgentImpl::SkipPauseRequest V8DebuggerAgentImpl::didPause(v8::Local<v8::Context> context, v8::Local<v8::Value> exception, const std::vector<String16>& hitBreakpoints, bool isPromiseRejection)
{
JavaScriptCallFrames callFrames = debugger().currentCallFrames(1);
- JavaScriptCallFrame* topCallFrame = callFrames.size() > 0 ? callFrames[0] : nullptr;
+ JavaScriptCallFrame* topCallFrame = !callFrames.empty() ? callFrames.begin()->get() : nullptr;
V8DebuggerAgentImpl::SkipPauseRequest result;
if (m_skipAllPauses)
result = RequestContinue;
- else if (!hitBreakpoints.isEmpty())
+ else if (!hitBreakpoints.empty())
result = RequestNoSkip; // Don't skip explicit breakpoints even if set in frameworks.
else if (!exception.IsEmpty())
result = shouldSkipExceptionPause(topCallFrame);
@@ -1224,7 +1226,8 @@ V8DebuggerAgentImpl::SkipPauseRequest V8DebuggerAgentImpl::didPause(v8::Local<v8
return RequestContinue;
DCHECK(m_pausedContext.IsEmpty());
- m_pausedCallFrames.swap(debugger().currentCallFrames());
+ JavaScriptCallFrames frames = debugger().currentCallFrames();
+ m_pausedCallFrames.swap(frames);
m_pausedContext.Reset(m_isolate, context);
v8::HandleScope handles(m_isolate);
@@ -1245,10 +1248,10 @@ V8DebuggerAgentImpl::SkipPauseRequest V8DebuggerAgentImpl::didPause(v8::Local<v8
for (const auto& point : hitBreakpoints) {
DebugServerBreakpointToBreakpointIdAndSourceMap::iterator breakpointIterator = m_serverBreakpoints.find(point);
if (breakpointIterator != m_serverBreakpoints.end()) {
- const String16& localId = breakpointIterator->second->first;
+ const String16& localId = breakpointIterator->second.first;
hitBreakpointIds->addItem(localId);
- BreakpointSource source = breakpointIterator->second->second;
+ BreakpointSource source = breakpointIterator->second.second;
if (m_breakReason == protocol::Debugger::Paused::ReasonEnum::Other && source == DebugCommandBreakpointSource)
m_breakReason = protocol::Debugger::Paused::ReasonEnum::DebugCommand;
}

Powered by Google App Engine
This is Rietveld 408576698