| Index: src/inspector/v8-debugger-agent-impl.cc
 | 
| diff --git a/src/inspector/v8-debugger-agent-impl.cc b/src/inspector/v8-debugger-agent-impl.cc
 | 
| index b287d1c082d880cd5c7c53e37f686b4dc3e21147..09c7b5842be7cc5b9ce57929f8603e6f46c30f3e 100644
 | 
| --- a/src/inspector/v8-debugger-agent-impl.cc
 | 
| +++ b/src/inspector/v8-debugger-agent-impl.cc
 | 
| @@ -1124,13 +1124,15 @@ void V8DebuggerAgentImpl::didParseSource(
 | 
|  V8DebuggerAgentImpl::SkipPauseRequest V8DebuggerAgentImpl::didPause(
 | 
|      v8::Local<v8::Context> context, v8::Local<v8::Value> exception,
 | 
|      const std::vector<String16>& hitBreakpoints, bool isPromiseRejection,
 | 
| -    bool isUncaught) {
 | 
| +    bool isUncaught, bool isOOMBreak) {
 | 
|    JavaScriptCallFrames callFrames = m_debugger->currentCallFrames(1);
 | 
|    JavaScriptCallFrame* topCallFrame =
 | 
|        !callFrames.empty() ? callFrames.begin()->get() : nullptr;
 | 
|  
 | 
|    V8DebuggerAgentImpl::SkipPauseRequest result;
 | 
| -  if (m_skipAllPauses)
 | 
| +  if (isOOMBreak)
 | 
| +    result = RequestNoSkip;
 | 
| +  else if (m_skipAllPauses)
 | 
|      result = RequestContinue;
 | 
|    else if (!hitBreakpoints.empty())
 | 
|      result = RequestNoSkip;  // Don't skip explicit breakpoints even if set in
 | 
| @@ -1154,7 +1156,10 @@ V8DebuggerAgentImpl::SkipPauseRequest V8DebuggerAgentImpl::didPause(
 | 
|    m_pausedContext.Reset(m_isolate, context);
 | 
|    v8::HandleScope handles(m_isolate);
 | 
|  
 | 
| -  if (!exception.IsEmpty()) {
 | 
| +  if (isOOMBreak) {
 | 
| +    m_breakReason = protocol::Debugger::Paused::ReasonEnum::OOM;
 | 
| +    m_breakAuxData = nullptr;
 | 
| +  } else if (!exception.IsEmpty()) {
 | 
|      InjectedScript* injectedScript = nullptr;
 | 
|      m_session->findInjectedScript(InspectedContext::contextId(context),
 | 
|                                    injectedScript);
 | 
| 
 |