| Index: ios/web/public/navigation_item.h
|
| diff --git a/ios/web/public/navigation_item.h b/ios/web/public/navigation_item.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..59638f7ddf63183d1c30a47b56a9077f0ac6e868
|
| --- /dev/null
|
| +++ b/ios/web/public/navigation_item.h
|
| @@ -0,0 +1,45 @@
|
| +// 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_PUBLIC_NAVIGATION_ITEM_H_
|
| +#define IOS_WEB_PUBLIC_NAVIGATION_ITEM_H_
|
| +
|
| +#include "base/strings/string16.h"
|
| +#include "ui/base/page_transition_types.h"
|
| +
|
| +class GURL;
|
| +
|
| +namespace web {
|
| +
|
| +// A NavigationItem is a data structure that captures all the information
|
| +// required to recreate a browsing state. It represents one point in the
|
| +// chain of navigation managed by a NavigationManager.
|
| +class NavigationItem {
|
| + public:
|
| + virtual ~NavigationItem() {}
|
| +
|
| + // The actual URL of the page. For some about pages, this may be a scary
|
| + // data: URL or something like that. Use GetVirtualURL() below for showing to
|
| + // the user.
|
| + virtual const GURL& GetURL() const = 0;
|
| +
|
| + // The URL that should be shown to the user. In most cases this is the same
|
| + // as the URL above, but in some case the underlying URL might not be
|
| + // suitable for display to the user.
|
| + virtual const GURL& GetVirtualURL() const = 0;
|
| +
|
| + // The title as set by the page. This will be empty if there is no title set.
|
| + // The caller is responsible for detecting when there is no title and
|
| + // displaying the appropriate "Untitled" label if this is being displayed to
|
| + // the user.
|
| + virtual const base::string16& GetTitle() const = 0;
|
| +
|
| + // The transition type indicates what the user did to move to this page from
|
| + // the previous page.
|
| + virtual ui::PageTransition GetTransitionType() const = 0;
|
| +};
|
| +
|
| +} // namespace web
|
| +
|
| +#endif // IOS_WEB_PUBLIC_NAVIGATION_ITEM_H_
|
|
|