Index: content/public/browser/navigation_ui_data.h |
diff --git a/content/public/browser/navigation_ui_data.h b/content/public/browser/navigation_ui_data.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c9863305ea3f56ecd1cf3c409d8dfed3a9702ef4 |
--- /dev/null |
+++ b/content/public/browser/navigation_ui_data.h |
@@ -0,0 +1,26 @@ |
+// Copyright 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_BROWSER_NAVIGATION_UI_DATA_H_ |
+#define CONTENT_PUBLIC_BROWSER_NAVIGATION_UI_DATA_H_ |
+ |
+#include <memory> |
+ |
+namespace content { |
+ |
+// PlzNavigate |
+// Copyable interface for embedders to pass opaque data to content/. It is |
+// expected to be created on the UI thread at the start of the navigation, and |
+// content/ will transfer it to the IO thread as a clone. |
+class NavigationUIData { |
+ public: |
+ virtual ~NavigationUIData(){}; |
+ |
+ // Creates a new NavigationData that is a deep copy of the original. |
+ virtual std::unique_ptr<NavigationUIData> Clone() const = 0; |
+}; |
+ |
+} // namespace content |
+ |
+#endif // CONTENT_PUBLIC_BROWSER_NAVIGATION_UI_DATA_H_ |