OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2015 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. | |
4 | |
5 #ifndef CONTENT_RENDERER_NAVIGATION_STATE_IMPL_H_ | |
6 #define CONTENT_RENDERER_NAVIGATION_STATE_IMPL_H_ | |
7 | |
8 #include <string> | |
9 | |
10 #include "content/common/navigation_params.h" | |
11 #include "content/public/renderer/navigation_state.h" | |
12 | |
13 namespace content { | |
14 | |
15 class CONTENT_EXPORT NavigationStateImpl : public NavigationState { | |
16 public: | |
17 ~NavigationStateImpl() override; | |
18 | |
19 static NavigationStateImpl* CreateBrowserInitiated( | |
20 const CommonNavigationParams& common_params, | |
21 const StartNavigationParams& start_params, | |
22 const HistoryNavigationParams& history_params); | |
23 | |
24 static NavigationStateImpl* CreateContentInitiated(); | |
25 | |
26 const CommonNavigationParams& common_params() const { return common_params_; } | |
27 const StartNavigationParams& start_params() const { return start_params_; } | |
28 const HistoryNavigationParams& history_params() const { | |
29 return history_params_; | |
30 } | |
31 bool request_committed() const { return request_committed_; } | |
32 void set_request_committed(bool value) { request_committed_ = value; } | |
33 void set_was_within_same_page(bool value) { was_within_same_page_ = value; } | |
34 | |
35 void SetTransitionType(ui::PageTransition transition) { | |
Charlie Reis
2015/03/17 16:29:06
nit: set_transition_type
(Since it's a one liner t
clamy
2015/03/17 17:19:55
Done.
| |
36 common_params_.transition = transition; | |
37 } | |
38 | |
39 // NavigationState implementation. | |
Charlie Reis
2015/03/17 16:29:06
nit: Move these overrides up between CreateContent
clamy
2015/03/17 17:19:54
Done.
| |
40 ui::PageTransition GetTransitionType() override; | |
41 bool WasWithinSamePage() override; | |
42 bool IsContentInitiated() override; | |
43 | |
44 private: | |
45 NavigationStateImpl(const CommonNavigationParams& common_params, | |
46 const StartNavigationParams& start_params, | |
47 const HistoryNavigationParams& history_params, | |
48 bool is_content_initiated); | |
49 | |
50 bool request_committed_; | |
51 bool was_within_same_page_; | |
52 | |
53 // True if this navigation was not initiated via WebFrame::LoadRequest. | |
54 const bool is_content_initiated_; | |
55 | |
56 CommonNavigationParams common_params_; | |
57 const StartNavigationParams start_params_; | |
58 | |
59 // Note: if is_content_initiated() is false, whether this navigation should | |
Charlie Reis
2015/03/17 16:29:06
nit: IsContentInitiated()
clamy
2015/03/17 17:19:55
Done.
| |
60 // replace the current entry in the back/forward history list is determined by | |
61 // the should_replace_current_entry field in |history_params|. Otherwise, use | |
62 // replacesCurrentHistoryItem() on the WebDataSource. | |
63 // | |
64 // TODO(davidben): It would be good to unify these and have only one source | |
65 // for the two cases. We can plumb this through WebFrame::loadRequest to set | |
66 // lockBackForwardList on the FrameLoadRequest. However, this breaks process | |
67 // swaps because FrameLoader::loadWithNavigationAction treats loads before a | |
68 // FrameLoader has committedFirstRealDocumentLoad as a replacement. (Added for | |
69 // http://crbug.com/178380). | |
70 const HistoryNavigationParams history_params_; | |
71 | |
72 DISALLOW_COPY_AND_ASSIGN(NavigationStateImpl); | |
73 }; | |
74 | |
75 } // namespace content | |
76 | |
77 #endif // CONTENT_RENDERER_NAVIGATION_STATE_IMPL_H_ | |
OLD | NEW |