Index: content/public/common/prefetch_argument_win.h |
diff --git a/content/public/common/prefetch_argument_win.h b/content/public/common/prefetch_argument_win.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..131d0d2ac36a2e7a98165ac1fa9aaf24280bbd72 |
--- /dev/null |
+++ b/content/public/common/prefetch_argument_win.h |
@@ -0,0 +1,44 @@ |
+// Copyright (c) 2016 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 CONTENT_PUBLIC_COMMON_PREFETCH_ARGUMENT_WIN_H_ |
jam
2016/01/20 23:17:36
this is is in content/public but it's not called f
fdoray
2016/01/21 01:39:51
This will be used outside of content [1]. I wanted
gab
2016/01/21 20:22:59
As much as I like smaller CLs I think it's better
|
+#define CONTENT_PUBLIC_COMMON_PREFETCH_ARGUMENT_WIN_H_ |
+ |
+#include "content/common/content_export.h" |
+ |
+namespace base { |
+class CommandLine; |
+} // namespace base |
+ |
+namespace content { |
+ |
+enum PrefetchId { |
+ PREFETCH_ID_BROWSER = 0, |
+ PREFETCH_ID_RENDERER, |
+ PREFETCH_ID_GPU, |
+ PREFETCH_ID_PPAPI, |
+ |
+ // Prefetch ids used by the embedder should start here. |
+ PREFETCH_ID_CONTENT_END, |
+ |
+ // Default prefetch id, shared by all process types that don't have their own. |
+ // It is likely that the prefetcher won't work for these process types as it |
+ // won't be able to observe consistent disk reads across launches. However, |
+ // having a valid prefetch argument for these process types prevents them to |
+ // prevent from interfering with the prefetch profile of the browser process. |
+ PREFETCH_ID_DEFAULT = 8, |
+}; |
+ |
+// Adds to |command_line| a /prefetch argument with id |prefetch_id|. It has |
+// been observed that when reads are consistent for 3 process launches with the |
+// same prefetch argument, the prefetcher starts issuing reads in batch at |
+// process launch. This is more efficient than reading a few pages at a time on- |
+// demand. Because reads depend on the process type, the prefetcher can't |
+// observe consistent reads if no /prefetch argument is used. |
+void CONTENT_EXPORT AddWindowsPrefetchArgument(int prefetch_id, |
+ base::CommandLine* command_line); |
+ |
+} // namespace content |
+ |
+#endif // CONTENT_PUBLIC_COMMON_PREFETCH_ARGUMENT_WIN_H_ |