| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * | 10 * |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 : m_requestId(requestId) | 75 : m_requestId(requestId) |
| 76 , m_loaderId(loaderId) | 76 , m_loaderId(loaderId) |
| 77 , m_base64Encoded(false) | 77 , m_base64Encoded(false) |
| 78 , m_isContentEvicted(false) | 78 , m_isContentEvicted(false) |
| 79 , m_type(InspectorPageAgent::OtherResource) | 79 , m_type(InspectorPageAgent::OtherResource) |
| 80 , m_httpStatusCode(0) | 80 , m_httpStatusCode(0) |
| 81 , m_cachedResource(nullptr) | 81 , m_cachedResource(nullptr) |
| 82 { | 82 { |
| 83 } | 83 } |
| 84 | 84 |
| 85 DEFINE_TRACE(NetworkResourcesData::ResourceData) |
| 86 { |
| 87 visitor->trace(m_xhrReplayData); |
| 88 visitor->trace(m_cachedResource); |
| 89 } |
| 90 |
| 85 void NetworkResourcesData::ResourceData::setContent(const String& content, bool
base64Encoded) | 91 void NetworkResourcesData::ResourceData::setContent(const String& content, bool
base64Encoded) |
| 86 { | 92 { |
| 87 ASSERT(!hasData()); | 93 ASSERT(!hasData()); |
| 88 ASSERT(!hasContent()); | 94 ASSERT(!hasContent()); |
| 89 m_content = content; | 95 m_content = content; |
| 90 m_base64Encoded = base64Encoded; | 96 m_base64Encoded = base64Encoded; |
| 91 } | 97 } |
| 92 | 98 |
| 93 static size_t contentSizeInBytes(const String& content) | 99 static size_t contentSizeInBytes(const String& content) |
| 94 { | 100 { |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 145 // NetworkResourcesData | 151 // NetworkResourcesData |
| 146 NetworkResourcesData::NetworkResourcesData() | 152 NetworkResourcesData::NetworkResourcesData() |
| 147 : m_contentSize(0) | 153 : m_contentSize(0) |
| 148 , m_maximumResourcesContentSize(maximumResourcesContentSize) | 154 , m_maximumResourcesContentSize(maximumResourcesContentSize) |
| 149 , m_maximumSingleResourceContentSize(maximumSingleResourceContentSize) | 155 , m_maximumSingleResourceContentSize(maximumSingleResourceContentSize) |
| 150 { | 156 { |
| 151 } | 157 } |
| 152 | 158 |
| 153 NetworkResourcesData::~NetworkResourcesData() | 159 NetworkResourcesData::~NetworkResourcesData() |
| 154 { | 160 { |
| 161 #if !ENABLE(OILPAN) |
| 155 clear(); | 162 clear(); |
| 163 #endif |
| 164 } |
| 165 |
| 166 DEFINE_TRACE(NetworkResourcesData) |
| 167 { |
| 168 #if ENABLE(OILPAN) |
| 169 visitor->trace(m_requestIdToResourceDataMap); |
| 170 #endif |
| 156 } | 171 } |
| 157 | 172 |
| 158 void NetworkResourcesData::resourceCreated(const String& requestId, const String
& loaderId) | 173 void NetworkResourcesData::resourceCreated(const String& requestId, const String
& loaderId) |
| 159 { | 174 { |
| 160 ensureNoDataForRequestId(requestId); | 175 ensureNoDataForRequestId(requestId); |
| 161 m_requestIdToResourceDataMap.set(requestId, new ResourceData(requestId, load
erId)); | 176 m_requestIdToResourceDataMap.set(requestId, new ResourceData(requestId, load
erId)); |
| 162 } | 177 } |
| 163 | 178 |
| 164 void NetworkResourcesData::responseReceived(const String& requestId, const Strin
g& frameId, const ResourceResponse& response) | 179 void NetworkResourcesData::responseReceived(const String& requestId, const Strin
g& frameId, const ResourceResponse& response) |
| 165 { | 180 { |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 for (auto& request : m_reusedXHRReplayDataRequestIds) { | 303 for (auto& request : m_reusedXHRReplayDataRequestIds) { |
| 289 if (request.value == requestId) | 304 if (request.value == requestId) |
| 290 setXHRReplayData(request.key, xhrReplayData); | 305 setXHRReplayData(request.key, xhrReplayData); |
| 291 } | 306 } |
| 292 return; | 307 return; |
| 293 } | 308 } |
| 294 | 309 |
| 295 resourceData->setXHRReplayData(xhrReplayData); | 310 resourceData->setXHRReplayData(xhrReplayData); |
| 296 } | 311 } |
| 297 | 312 |
| 298 Vector<NetworkResourcesData::ResourceData*> NetworkResourcesData::resources() | 313 WillBeHeapVector<RawPtrWillBeMember<NetworkResourcesData::ResourceData>> Network
ResourcesData::resources() |
| 299 { | 314 { |
| 300 Vector<ResourceData*> result; | 315 WillBeHeapVector<RawPtrWillBeMember<ResourceData>> result; |
| 301 for (auto& request : m_requestIdToResourceDataMap) | 316 for (auto& request : m_requestIdToResourceDataMap) |
| 302 result.append(request.value); | 317 result.append(request.value); |
| 303 return result; | 318 return result; |
| 304 } | 319 } |
| 305 | 320 |
| 306 Vector<String> NetworkResourcesData::removeResource(Resource* cachedResource) | 321 Vector<String> NetworkResourcesData::removeResource(Resource* cachedResource) |
| 307 { | 322 { |
| 308 Vector<String> result; | 323 Vector<String> result; |
| 309 for (auto& request : m_requestIdToResourceDataMap) { | 324 for (auto& request : m_requestIdToResourceDataMap) { |
| 310 ResourceData* resourceData = request.value; | 325 ResourceData* resourceData = request.value; |
| (...skipping 10 matching lines...) Expand all Loading... |
| 321 { | 336 { |
| 322 m_requestIdsDeque.clear(); | 337 m_requestIdsDeque.clear(); |
| 323 m_contentSize = 0; | 338 m_contentSize = 0; |
| 324 | 339 |
| 325 ResourceDataMap preservedMap; | 340 ResourceDataMap preservedMap; |
| 326 | 341 |
| 327 for (auto& resource : m_requestIdToResourceDataMap) { | 342 for (auto& resource : m_requestIdToResourceDataMap) { |
| 328 ResourceData* resourceData = resource.value; | 343 ResourceData* resourceData = resource.value; |
| 329 if (!preservedLoaderId.isNull() && resourceData->loaderId() == preserved
LoaderId) | 344 if (!preservedLoaderId.isNull() && resourceData->loaderId() == preserved
LoaderId) |
| 330 preservedMap.set(resource.key, resource.value); | 345 preservedMap.set(resource.key, resource.value); |
| 346 #if !ENABLE(OILPAN) |
| 331 else | 347 else |
| 332 delete resourceData; | 348 delete resourceData; |
| 349 #endif |
| 333 } | 350 } |
| 334 m_requestIdToResourceDataMap.swap(preservedMap); | 351 m_requestIdToResourceDataMap.swap(preservedMap); |
| 335 | 352 |
| 336 m_reusedXHRReplayDataRequestIds.clear(); | 353 m_reusedXHRReplayDataRequestIds.clear(); |
| 337 m_maximumResourcesContentSize = maximumResourcesContentSize; | 354 m_maximumResourcesContentSize = maximumResourcesContentSize; |
| 338 m_maximumSingleResourceContentSize = maximumSingleResourceContentSize; | 355 m_maximumSingleResourceContentSize = maximumSingleResourceContentSize; |
| 339 } | 356 } |
| 340 | 357 |
| 341 void NetworkResourcesData::setResourcesDataSizeLimits(size_t resourcesContentSiz
e, size_t singleResourceContentSize) | 358 void NetworkResourcesData::setResourcesDataSizeLimits(size_t resourcesContentSiz
e, size_t singleResourceContentSize) |
| 342 { | 359 { |
| 343 clear(); | 360 clear(); |
| 344 m_maximumResourcesContentSize = resourcesContentSize; | 361 m_maximumResourcesContentSize = resourcesContentSize; |
| 345 m_maximumSingleResourceContentSize = singleResourceContentSize; | 362 m_maximumSingleResourceContentSize = singleResourceContentSize; |
| 346 } | 363 } |
| 347 | 364 |
| 348 NetworkResourcesData::ResourceData* NetworkResourcesData::resourceDataForRequest
Id(const String& requestId) | 365 NetworkResourcesData::ResourceData* NetworkResourcesData::resourceDataForRequest
Id(const String& requestId) |
| 349 { | 366 { |
| 350 if (requestId.isNull()) | 367 if (requestId.isNull()) |
| 351 return 0; | 368 return 0; |
| 352 return m_requestIdToResourceDataMap.get(requestId); | 369 return m_requestIdToResourceDataMap.get(requestId); |
| 353 } | 370 } |
| 354 | 371 |
| 355 void NetworkResourcesData::ensureNoDataForRequestId(const String& requestId) | 372 void NetworkResourcesData::ensureNoDataForRequestId(const String& requestId) |
| 356 { | 373 { |
| 357 ResourceData* resourceData = resourceDataForRequestId(requestId); | 374 ResourceData* resourceData = resourceDataForRequestId(requestId); |
| 358 if (!resourceData) | 375 if (!resourceData) |
| 359 return; | 376 return; |
| 360 if (resourceData->hasContent() || resourceData->hasData()) | 377 if (resourceData->hasContent() || resourceData->hasData()) |
| 361 m_contentSize -= resourceData->evictContent(); | 378 m_contentSize -= resourceData->evictContent(); |
| 379 #if !ENABLE(OILPAN) |
| 362 delete resourceData; | 380 delete resourceData; |
| 381 #endif |
| 363 m_requestIdToResourceDataMap.remove(requestId); | 382 m_requestIdToResourceDataMap.remove(requestId); |
| 364 } | 383 } |
| 365 | 384 |
| 366 bool NetworkResourcesData::ensureFreeSpace(size_t size) | 385 bool NetworkResourcesData::ensureFreeSpace(size_t size) |
| 367 { | 386 { |
| 368 if (size > m_maximumResourcesContentSize) | 387 if (size > m_maximumResourcesContentSize) |
| 369 return false; | 388 return false; |
| 370 | 389 |
| 371 while (size > m_maximumResourcesContentSize - m_contentSize) { | 390 while (size > m_maximumResourcesContentSize - m_contentSize) { |
| 372 String requestId = m_requestIdsDeque.takeFirst(); | 391 String requestId = m_requestIdsDeque.takeFirst(); |
| 373 ResourceData* resourceData = resourceDataForRequestId(requestId); | 392 ResourceData* resourceData = resourceDataForRequestId(requestId); |
| 374 if (resourceData) | 393 if (resourceData) |
| 375 m_contentSize -= resourceData->evictContent(); | 394 m_contentSize -= resourceData->evictContent(); |
| 376 } | 395 } |
| 377 return true; | 396 return true; |
| 378 } | 397 } |
| 379 | 398 |
| 380 } // namespace blink | 399 } // namespace blink |
| 381 | |
| OLD | NEW |