Index: third_party/WebKit/Source/core/inspector/InspectorResourceAgent.cpp |
diff --git a/third_party/WebKit/Source/core/inspector/InspectorResourceAgent.cpp b/third_party/WebKit/Source/core/inspector/InspectorResourceAgent.cpp |
index e5e64e6934c590a08b5062ed940cb67954766ad9..bf2cc3575ed7460bbdb9c7fd61005d1f81799c2a 100644 |
--- a/third_party/WebKit/Source/core/inspector/InspectorResourceAgent.cpp |
+++ b/third_party/WebKit/Source/core/inspector/InspectorResourceAgent.cpp |
@@ -86,6 +86,16 @@ |
static const char userAgentOverride[] = "userAgentOverride"; |
static const char monitoringXHR[] = "monitoringXHR"; |
static const char blockedURLs[] = "blockedURLs"; |
+static const char totalBufferSize[] = "totalBufferSize"; |
+static const char resourceBufferSize[] = "resourceBufferSize"; |
+} |
+ |
+namespace { |
+// 100MB |
+static size_t maximumTotalBufferSize = 100 * 1000 * 1000; |
+ |
+// 10MB |
+static size_t maximumResourceBufferSize = 10 * 1000 * 1000; |
} |
namespace { |
@@ -247,8 +257,11 @@ |
void InspectorResourceAgent::restore() |
{ |
- if (m_state->booleanProperty(ResourceAgentState::resourceAgentEnabled, false)) |
- enable(); |
+ if (m_state->booleanProperty(ResourceAgentState::resourceAgentEnabled, false)) { |
+ enable( |
+ m_state->numberProperty(ResourceAgentState::totalBufferSize, maximumTotalBufferSize), |
+ m_state->numberProperty(ResourceAgentState::resourceBufferSize, maximumResourceBufferSize)); |
+ } |
} |
static PassOwnPtr<protocol::Network::ResourceTiming> buildObjectForTiming(const ResourceLoadTiming& timing) |
@@ -870,16 +883,19 @@ |
frontend()->webSocketFrameError(IdentifiersFactory::requestId(identifier), monotonicallyIncreasingTime(), errorMessage); |
} |
-void InspectorResourceAgent::enable(ErrorString*) |
-{ |
- enable(); |
-} |
- |
-void InspectorResourceAgent::enable() |
+void InspectorResourceAgent::enable(ErrorString*, const Maybe<int>& totalBufferSize, const Maybe<int>& resourceBufferSize) |
+{ |
+ enable(totalBufferSize.fromMaybe(maximumTotalBufferSize), resourceBufferSize.fromMaybe(maximumResourceBufferSize)); |
+} |
+ |
+void InspectorResourceAgent::enable(int totalBufferSize, int resourceBufferSize) |
{ |
if (!frontend()) |
return; |
+ m_resourcesData->setResourcesDataSizeLimits(totalBufferSize, resourceBufferSize); |
m_state->setBoolean(ResourceAgentState::resourceAgentEnabled, true); |
+ m_state->setNumber(ResourceAgentState::totalBufferSize, totalBufferSize); |
+ m_state->setNumber(ResourceAgentState::resourceBufferSize, resourceBufferSize); |
m_instrumentingAgents->setInspectorResourceAgent(this); |
} |
@@ -1105,7 +1121,7 @@ |
InspectorResourceAgent::InspectorResourceAgent(InspectedFrames* inspectedFrames) |
: InspectorBaseAgent<InspectorResourceAgent, protocol::Frontend::Network>("Network") |
, m_inspectedFrames(inspectedFrames) |
- , m_resourcesData(NetworkResourcesData::create()) |
+ , m_resourcesData(NetworkResourcesData::create(maximumTotalBufferSize, maximumResourceBufferSize)) |
, m_pendingRequest(nullptr) |
, m_isRecalculatingStyle(false) |
, m_removeFinishedReplayXHRTimer(this, &InspectorResourceAgent::removeFinishedReplayXHRFired) |