Index: ios/web/navigation/navigation_item_facade_delegate.h |
diff --git a/ios/web/navigation/navigation_item_facade_delegate.h b/ios/web/navigation/navigation_item_facade_delegate.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8ccd6c0ac12d214c67183904deef8063db34b089 |
--- /dev/null |
+++ b/ios/web/navigation/navigation_item_facade_delegate.h |
@@ -0,0 +1,31 @@ |
+// 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 IOS_WEB_NAVIGATION_NAVIGATION_ITEM_FACADE_DELEGATE_H_ |
+#define IOS_WEB_NAVIGATION_NAVIGATION_ITEM_FACADE_DELEGATE_H_ |
+ |
+namespace content { |
+class NavigationEntry; |
+} |
+ |
+namespace web { |
+ |
+class NavigationItemImpl; |
+ |
+// Interface used by NavigationItems to interact with their NavigationEntry |
+// facades. This pushes references to NavigationEntry out of the web-layer. |
+// Note that since communication is one-directional, this interface is primarily |
+// to add hooks for creation/deletion of facades. |
+class NavigationItemFacadeDelegate { |
+ public: |
+ NavigationItemFacadeDelegate() {} |
+ virtual ~NavigationItemFacadeDelegate() {} |
+ |
+ // Returns the facade object being driven by this delegate. |
+ virtual content::NavigationEntry* GetNavigationEntryFacade() = 0; |
+}; |
+ |
+} // namespace web |
+ |
+#endif // IOS_WEB_NAVIGATION_NAVIGATION_ITEM_FACADE_DELEGATE_H_ |