| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "net/http/http_cache.h" | 5 #include "net/http/http_cache.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
| (...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 527 net::WebSocketHandshakeStreamBase* CreateSpdyStream( | 527 net::WebSocketHandshakeStreamBase* CreateSpdyStream( |
| 528 const base::WeakPtr<net::SpdySession>& session, | 528 const base::WeakPtr<net::SpdySession>& session, |
| 529 bool use_relative_url) override { | 529 bool use_relative_url) override { |
| 530 return NULL; | 530 return NULL; |
| 531 } | 531 } |
| 532 }; | 532 }; |
| 533 | 533 |
| 534 // Returns true if |entry| is not one of the log types paid attention to in this | 534 // Returns true if |entry| is not one of the log types paid attention to in this |
| 535 // test. Note that TYPE_HTTP_CACHE_WRITE_INFO and TYPE_HTTP_CACHE_*_DATA are | 535 // test. Note that TYPE_HTTP_CACHE_WRITE_INFO and TYPE_HTTP_CACHE_*_DATA are |
| 536 // ignored. | 536 // ignored. |
| 537 bool ShouldIgnoreLogEntry(const net::CapturingNetLog::CapturedEntry& entry) { | 537 bool ShouldIgnoreLogEntry(const net::TestNetLog::CapturedEntry& entry) { |
| 538 switch (entry.type) { | 538 switch (entry.type) { |
| 539 case net::NetLog::TYPE_HTTP_CACHE_GET_BACKEND: | 539 case net::NetLog::TYPE_HTTP_CACHE_GET_BACKEND: |
| 540 case net::NetLog::TYPE_HTTP_CACHE_OPEN_ENTRY: | 540 case net::NetLog::TYPE_HTTP_CACHE_OPEN_ENTRY: |
| 541 case net::NetLog::TYPE_HTTP_CACHE_CREATE_ENTRY: | 541 case net::NetLog::TYPE_HTTP_CACHE_CREATE_ENTRY: |
| 542 case net::NetLog::TYPE_HTTP_CACHE_ADD_TO_ENTRY: | 542 case net::NetLog::TYPE_HTTP_CACHE_ADD_TO_ENTRY: |
| 543 case net::NetLog::TYPE_HTTP_CACHE_DOOM_ENTRY: | 543 case net::NetLog::TYPE_HTTP_CACHE_DOOM_ENTRY: |
| 544 case net::NetLog::TYPE_HTTP_CACHE_READ_INFO: | 544 case net::NetLog::TYPE_HTTP_CACHE_READ_INFO: |
| 545 return false; | 545 return false; |
| 546 default: | 546 default: |
| 547 return true; | 547 return true; |
| 548 } | 548 } |
| 549 } | 549 } |
| 550 | 550 |
| 551 // Modifies |entries| to only include log entries created by the cache layer and | 551 // Modifies |entries| to only include log entries created by the cache layer and |
| 552 // asserted on in these tests. | 552 // asserted on in these tests. |
| 553 void FilterLogEntries(net::CapturingNetLog::CapturedEntryList* entries) { | 553 void FilterLogEntries(net::TestNetLog::CapturedEntryList* entries) { |
| 554 entries->erase(std::remove_if(entries->begin(), entries->end(), | 554 entries->erase(std::remove_if(entries->begin(), entries->end(), |
| 555 &ShouldIgnoreLogEntry), | 555 &ShouldIgnoreLogEntry), |
| 556 entries->end()); | 556 entries->end()); |
| 557 } | 557 } |
| 558 | 558 |
| 559 bool LogContainsEventType(const net::CapturingBoundNetLog& log, | 559 bool LogContainsEventType(const net::CapturingBoundNetLog& log, |
| 560 net::NetLog::EventType expected) { | 560 net::NetLog::EventType expected) { |
| 561 net::CapturingNetLog::CapturedEntryList entries; | 561 net::TestNetLog::CapturedEntryList entries; |
| 562 log.GetEntries(&entries); | 562 log.GetEntries(&entries); |
| 563 for (size_t i = 0; i < entries.size(); i++) { | 563 for (size_t i = 0; i < entries.size(); i++) { |
| 564 if (entries[i].type == expected) | 564 if (entries[i].type == expected) |
| 565 return true; | 565 return true; |
| 566 } | 566 } |
| 567 return false; | 567 return false; |
| 568 } | 568 } |
| 569 | 569 |
| 570 } // namespace | 570 } // namespace |
| 571 | 571 |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 613 | 613 |
| 614 net::CapturingBoundNetLog log; | 614 net::CapturingBoundNetLog log; |
| 615 net::LoadTimingInfo load_timing_info; | 615 net::LoadTimingInfo load_timing_info; |
| 616 | 616 |
| 617 // Read from the network, and don't use the cache. | 617 // Read from the network, and don't use the cache. |
| 618 RunTransactionTestAndGetTiming(cache.http_cache(), kSimpleGET_Transaction, | 618 RunTransactionTestAndGetTiming(cache.http_cache(), kSimpleGET_Transaction, |
| 619 log.bound(), &load_timing_info); | 619 log.bound(), &load_timing_info); |
| 620 | 620 |
| 621 // Check that the NetLog was filled as expected. | 621 // Check that the NetLog was filled as expected. |
| 622 // (We attempted to both Open and Create entries, but both failed). | 622 // (We attempted to both Open and Create entries, but both failed). |
| 623 net::CapturingNetLog::CapturedEntryList entries; | 623 net::TestNetLog::CapturedEntryList entries; |
| 624 log.GetEntries(&entries); | 624 log.GetEntries(&entries); |
| 625 FilterLogEntries(&entries); | 625 FilterLogEntries(&entries); |
| 626 | 626 |
| 627 EXPECT_EQ(6u, entries.size()); | 627 EXPECT_EQ(6u, entries.size()); |
| 628 EXPECT_TRUE(net::LogContainsBeginEvent( | 628 EXPECT_TRUE(net::LogContainsBeginEvent( |
| 629 entries, 0, net::NetLog::TYPE_HTTP_CACHE_GET_BACKEND)); | 629 entries, 0, net::NetLog::TYPE_HTTP_CACHE_GET_BACKEND)); |
| 630 EXPECT_TRUE(net::LogContainsEndEvent( | 630 EXPECT_TRUE(net::LogContainsEndEvent( |
| 631 entries, 1, net::NetLog::TYPE_HTTP_CACHE_GET_BACKEND)); | 631 entries, 1, net::NetLog::TYPE_HTTP_CACHE_GET_BACKEND)); |
| 632 EXPECT_TRUE(net::LogContainsBeginEvent( | 632 EXPECT_TRUE(net::LogContainsBeginEvent( |
| 633 entries, 2, net::NetLog::TYPE_HTTP_CACHE_OPEN_ENTRY)); | 633 entries, 2, net::NetLog::TYPE_HTTP_CACHE_OPEN_ENTRY)); |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 778 MockHttpCache cache; | 778 MockHttpCache cache; |
| 779 | 779 |
| 780 net::CapturingBoundNetLog log; | 780 net::CapturingBoundNetLog log; |
| 781 net::LoadTimingInfo load_timing_info; | 781 net::LoadTimingInfo load_timing_info; |
| 782 | 782 |
| 783 // Write to the cache. | 783 // Write to the cache. |
| 784 RunTransactionTestAndGetTiming(cache.http_cache(), kSimpleGET_Transaction, | 784 RunTransactionTestAndGetTiming(cache.http_cache(), kSimpleGET_Transaction, |
| 785 log.bound(), &load_timing_info); | 785 log.bound(), &load_timing_info); |
| 786 | 786 |
| 787 // Check that the NetLog was filled as expected. | 787 // Check that the NetLog was filled as expected. |
| 788 net::CapturingNetLog::CapturedEntryList entries; | 788 net::TestNetLog::CapturedEntryList entries; |
| 789 log.GetEntries(&entries); | 789 log.GetEntries(&entries); |
| 790 FilterLogEntries(&entries); | 790 FilterLogEntries(&entries); |
| 791 | 791 |
| 792 EXPECT_EQ(8u, entries.size()); | 792 EXPECT_EQ(8u, entries.size()); |
| 793 EXPECT_TRUE(net::LogContainsBeginEvent( | 793 EXPECT_TRUE(net::LogContainsBeginEvent( |
| 794 entries, 0, net::NetLog::TYPE_HTTP_CACHE_GET_BACKEND)); | 794 entries, 0, net::NetLog::TYPE_HTTP_CACHE_GET_BACKEND)); |
| 795 EXPECT_TRUE(net::LogContainsEndEvent( | 795 EXPECT_TRUE(net::LogContainsEndEvent( |
| 796 entries, 1, net::NetLog::TYPE_HTTP_CACHE_GET_BACKEND)); | 796 entries, 1, net::NetLog::TYPE_HTTP_CACHE_GET_BACKEND)); |
| 797 EXPECT_TRUE(net::LogContainsBeginEvent( | 797 EXPECT_TRUE(net::LogContainsBeginEvent( |
| 798 entries, 2, net::NetLog::TYPE_HTTP_CACHE_OPEN_ENTRY)); | 798 entries, 2, net::NetLog::TYPE_HTTP_CACHE_OPEN_ENTRY)); |
| (...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1136 transaction.load_flags |= net::LOAD_BYPASS_CACHE; | 1136 transaction.load_flags |= net::LOAD_BYPASS_CACHE; |
| 1137 | 1137 |
| 1138 net::CapturingBoundNetLog log; | 1138 net::CapturingBoundNetLog log; |
| 1139 net::LoadTimingInfo load_timing_info; | 1139 net::LoadTimingInfo load_timing_info; |
| 1140 | 1140 |
| 1141 // Write to the cache. | 1141 // Write to the cache. |
| 1142 RunTransactionTestAndGetTiming(cache.http_cache(), transaction, log.bound(), | 1142 RunTransactionTestAndGetTiming(cache.http_cache(), transaction, log.bound(), |
| 1143 &load_timing_info); | 1143 &load_timing_info); |
| 1144 | 1144 |
| 1145 // Check that the NetLog was filled as expected. | 1145 // Check that the NetLog was filled as expected. |
| 1146 net::CapturingNetLog::CapturedEntryList entries; | 1146 net::TestNetLog::CapturedEntryList entries; |
| 1147 log.GetEntries(&entries); | 1147 log.GetEntries(&entries); |
| 1148 FilterLogEntries(&entries); | 1148 FilterLogEntries(&entries); |
| 1149 | 1149 |
| 1150 EXPECT_EQ(8u, entries.size()); | 1150 EXPECT_EQ(8u, entries.size()); |
| 1151 EXPECT_TRUE(net::LogContainsBeginEvent( | 1151 EXPECT_TRUE(net::LogContainsBeginEvent( |
| 1152 entries, 0, net::NetLog::TYPE_HTTP_CACHE_GET_BACKEND)); | 1152 entries, 0, net::NetLog::TYPE_HTTP_CACHE_GET_BACKEND)); |
| 1153 EXPECT_TRUE(net::LogContainsEndEvent( | 1153 EXPECT_TRUE(net::LogContainsEndEvent( |
| 1154 entries, 1, net::NetLog::TYPE_HTTP_CACHE_GET_BACKEND)); | 1154 entries, 1, net::NetLog::TYPE_HTTP_CACHE_GET_BACKEND)); |
| 1155 EXPECT_TRUE(net::LogContainsBeginEvent( | 1155 EXPECT_TRUE(net::LogContainsBeginEvent( |
| 1156 entries, 2, net::NetLog::TYPE_HTTP_CACHE_DOOM_ENTRY)); | 1156 entries, 2, net::NetLog::TYPE_HTTP_CACHE_DOOM_ENTRY)); |
| (...skipping 6760 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7917 | 7917 |
| 7918 // Here the second transaction proceeds without reading the first body. | 7918 // Here the second transaction proceeds without reading the first body. |
| 7919 EXPECT_EQ(net::LOAD_STATE_WAITING_FOR_CACHE, second->trans->GetLoadState()); | 7919 EXPECT_EQ(net::LOAD_STATE_WAITING_FOR_CACHE, second->trans->GetLoadState()); |
| 7920 base::MessageLoop::current()->RunUntilIdle(); | 7920 base::MessageLoop::current()->RunUntilIdle(); |
| 7921 EXPECT_EQ(net::LOAD_STATE_IDLE, second->trans->GetLoadState()); | 7921 EXPECT_EQ(net::LOAD_STATE_IDLE, second->trans->GetLoadState()); |
| 7922 ASSERT_TRUE(second->trans->GetResponseInfo()); | 7922 ASSERT_TRUE(second->trans->GetResponseInfo()); |
| 7923 EXPECT_TRUE(second->trans->GetResponseInfo()->headers->HasHeaderValue( | 7923 EXPECT_TRUE(second->trans->GetResponseInfo()->headers->HasHeaderValue( |
| 7924 "Cache-Control", "no-store")); | 7924 "Cache-Control", "no-store")); |
| 7925 ReadAndVerifyTransaction(second->trans.get(), kSimpleGET_Transaction); | 7925 ReadAndVerifyTransaction(second->trans.get(), kSimpleGET_Transaction); |
| 7926 } | 7926 } |
| OLD | NEW |