Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / io_thread.h
index 40bee1b..e3c19f2 100644 (file)
@@ -14,6 +14,7 @@
 #include "base/memory/scoped_ptr.h"
 #include "base/memory/weak_ptr.h"
 #include "base/prefs/pref_member.h"
+#include "base/time/time.h"
 #include "chrome/browser/net/ssl_config_service_manager.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/browser_thread_delegate.h"
@@ -167,6 +168,7 @@ class IOThread : public content::BrowserThreadDelegate {
     Optional<bool> enable_quic;
     Optional<bool> enable_quic_https;
     Optional<bool> enable_quic_pacing;
+    Optional<bool> enable_quic_time_based_loss_detection;
     Optional<bool> enable_quic_persist_server_info;
     Optional<bool> enable_quic_port_selection;
     Optional<size_t> quic_max_packet_length;
@@ -213,6 +215,8 @@ class IOThread : public content::BrowserThreadDelegate {
 
   void InitializeNetworkSessionParams(net::HttpNetworkSession::Params* params);
 
+  base::TimeTicks creation_time() const;
+
  private:
   // Provide SystemURLRequestContextGetter with access to
   // InitSystemRequestContext().
@@ -289,6 +293,12 @@ class IOThread : public content::BrowserThreadDelegate {
   bool ShouldEnableQuicPacing(const base::CommandLine& command_line,
                               base::StringPiece quic_trial_group);
 
+  // Returns true if QUIC time-base loss detection should be negotiated during
+  // the QUIC handshake.
+  bool ShouldEnableQuicTimeBasedLossDetection(
+      const base::CommandLine& command_line,
+      base::StringPiece quic_trial_group);
+
   // Returns true if Chromium should persist QUIC server config information to
   // disk cache.
   bool ShouldEnableQuicPersistServerInfo(const base::CommandLine& command_line);
@@ -359,6 +369,8 @@ class IOThread : public content::BrowserThreadDelegate {
 
   base::WeakPtrFactory<IOThread> weak_factory_;
 
+  const base::TimeTicks creation_time_;
+
   DISALLOW_COPY_AND_ASSIGN(IOThread);
 };