IndexedDBFactory now ForceCloses databases.
[chromium-blink-merge.git] / content / browser / frame_host / navigator_impl.h
blobde6583046155e3e8cd571f3ee06bda931f05cd33
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CONTENT_BROWSER_FRAME_HOST_NAVIGATOR_IMPL_H_
6 #define CONTENT_BROWSER_FRAME_HOST_NAVIGATOR_IMPL_H_
8 #include "base/memory/ref_counted.h"
9 #include "content/browser/frame_host/navigator.h"
10 #include "content/common/content_export.h"
12 namespace content {
14 class NavigationControllerImpl;
15 class NavigatorDelegate;
17 // This class is an implementation of Navigator, responsible for managing
18 // navigations in regular browser tabs.
19 class CONTENT_EXPORT NavigatorImpl : public Navigator {
20 public:
21 NavigatorImpl(NavigationControllerImpl* navigation_controller,
22 NavigatorDelegate* delegate);
24 // Navigator implementation.
25 virtual void DidStartProvisionalLoad(RenderFrameHostImpl* render_frame_host,
26 int64 frame_id,
27 int64 parent_frame_id,
28 bool main_frame,
29 const GURL& url) OVERRIDE;
30 virtual void DidFailProvisionalLoadWithError(
31 RenderFrameHostImpl* render_frame_host,
32 const FrameHostMsg_DidFailProvisionalLoadWithError_Params& params)
33 OVERRIDE;
35 private:
36 virtual ~NavigatorImpl() {}
38 // The NavigationController that will keep track of session history for all
39 // RenderFrameHost objects using this NavigatorImpl.
40 // TODO(nasko): Move ownership of the NavigationController from
41 // WebContentsImpl to this class.
42 NavigationControllerImpl* controller_;
44 // Used to notify the object embedding this Navigator about navigation
45 // events. Can be NULL in tests.
46 NavigatorDelegate* delegate_;
48 DISALLOW_COPY_AND_ASSIGN(NavigatorImpl);
51 } // namespace content
53 #endif // CONTENT_BROWSER_FRAME_HOST_NAVIGATOR_IMPL_H_