Chromium Code Reviews

Unified Diff: components/dns_prefetch/browser/net_message_filter.h

Issue 730833004: Adds simple browser-side implementation for DNS prefetching. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Index: components/dns_prefetch/browser/net_message_filter.h
diff --git a/components/dns_prefetch/browser/net_message_filter.h b/components/dns_prefetch/browser/net_message_filter.h
new file mode 100644
index 0000000000000000000000000000000000000000..023f5cbcc48609f597d393bd7aae56440182bd0b
--- /dev/null
+++ b/components/dns_prefetch/browser/net_message_filter.h
@@ -0,0 +1,39 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef COMPONENTS_DNS_PREFETCH_BROWSER_NET_MESSAGE_FILTER_H_
+#define COMPONENTS_DNS_PREFETCH_BROWSER_NET_MESSAGE_FILTER_H_
+
+#include "components/dns_prefetch/common/prefetch_common.h"
+#include "content/public/browser/browser_message_filter.h"
+
+namespace net {
+class HostResolver;
+}
+
+namespace dns_prefetch {
+
+// Simple browser-side handler for DNS prefetch requests.
+// Passes prefetch requests to the provided net::HostResolver.
+// Each renderer process requires its own filter.
+class NetMessageFilter : public content::BrowserMessageFilter {
+ public:
+ explicit NetMessageFilter(net::HostResolver* host_resolver);
+
+ // content::BrowserMessageFilter implementation:
+ virtual bool OnMessageReceived(const IPC::Message& message) override;
+
+ private:
+ virtual ~NetMessageFilter();
+
+ void OnDnsPrefetch(const LookupRequest& lookup_request);
+
+ net::HostResolver* host_resolver_;
+
+ DISALLOW_COPY_AND_ASSIGN(NetMessageFilter);
+};
+
+} // namespace dns_prefetch
+
+#endif // COMPONENTS_DNS_PREFETCH_BROWSER_NET_MESSAGE_FILTER_H_

Powered by Google App Engine