summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dom/performance/PerformanceMainThread.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/dom/performance/PerformanceMainThread.cpp b/dom/performance/PerformanceMainThread.cpp
index 86d42c5f8..fa03408c6 100644
--- a/dom/performance/PerformanceMainThread.cpp
+++ b/dom/performance/PerformanceMainThread.cpp
@@ -6,6 +6,7 @@
#include "PerformanceMainThread.h"
#include "PerformanceNavigation.h"
+#include "nsICacheInfoChannel.h"
namespace mozilla {
namespace dom {
@@ -165,6 +166,17 @@ PerformanceMainThread::AddEntry(nsIHttpChannel* channel,
nsAutoCString protocol;
channel->GetProtocolVersion(protocol);
+
+ // If this is a local fetch, nextHopProtocol should be set to empty string.
+ nsCOMPtr<nsICacheInfoChannel> cachedChannel = do_QueryInterface(channel);
+ if (cachedChannel) {
+ bool isFromCache;
+ if (NS_SUCCEEDED(cachedChannel->IsFromCache(&isFromCache))
+ && isFromCache) {
+ protocol.Truncate();
+ }
+ }
+
performanceEntry->SetNextHopProtocol(NS_ConvertUTF8toUTF16(protocol));
uint64_t encodedBodySize = 0;