Chromium Code Reviews| Index: third_party/WebKit/Source/core/loader/HistoryItem.h |
| diff --git a/third_party/WebKit/Source/core/loader/HistoryItem.h b/third_party/WebKit/Source/core/loader/HistoryItem.h |
| index 4c5729c8ed32229d3eb78f877733ffbe24e79783..ac6633e9d32b5f78c9a947a6f0634b36b3e9f8b8 100644 |
| --- a/third_party/WebKit/Source/core/loader/HistoryItem.h |
| +++ b/third_party/WebKit/Source/core/loader/HistoryItem.h |
| @@ -59,20 +59,25 @@ class CORE_EXPORT HistoryItem final |
| EncodedFormData* FormData(); |
| const AtomicString& FormContentType() const; |
| - void SetDidSaveScrollOrScaleState(bool did_save_scroll_or_scale_state) { |
| - did_save_scroll_or_scale_state_ = did_save_scroll_or_scale_state; |
| + class ViewState { |
| + public: |
| + ViewState() : page_scale_factor_(0) {} |
| + ViewState(const ViewState&) = default; |
| + |
| + ScrollOffset visual_viewport_scroll_offset_; |
| + ScrollOffset scroll_offset_; |
| + float page_scale_factor_; |
| + }; |
| + |
| + ViewState* GetViewState() const { return view_state_.get(); } |
| + void ClearViewState() { view_state_.reset(); } |
| + void CopyViewStateFrom(HistoryItem* other) { |
| + if (other->view_state_) |
| + view_state_ = WTF::MakeUnique<ViewState>(*other->view_state_.get()); |
|
majidvp
2017/07/17 20:06:15
shouldn't we reset() in the nullptr case?
Nate Chapin
2017/07/17 20:38:43
That is closer to the old behavior, yes. Done.
|
| } |
| - bool DidSaveScrollOrScaleState() const { |
| - return did_save_scroll_or_scale_state_; |
| - } |
| - |
| - const ScrollOffset& VisualViewportScrollOffset() const; |
| void SetVisualViewportScrollOffset(const ScrollOffset&); |
| - const ScrollOffset& GetScrollOffset() const; |
| void SetScrollOffset(const ScrollOffset&); |
| - |
| - float PageScaleFactor() const; |
| void SetPageScaleFactor(float); |
| Vector<String> GetReferencedFilePaths(); |
| @@ -119,13 +124,11 @@ class CORE_EXPORT HistoryItem final |
| String url_string_; |
| Referrer referrer_; |
| - bool did_save_scroll_or_scale_state_; |
| - ScrollOffset visual_viewport_scroll_offset_; |
| - ScrollOffset scroll_offset_; |
| - float page_scale_factor_; |
| Vector<String> document_state_vector_; |
| Member<DocumentState> document_state_; |
| + std::unique_ptr<ViewState> view_state_; |
| + |
| // If two HistoryItems have the same item sequence number, then they are |
| // clones of one another. Traversing history from one such HistoryItem to |
| // another is a no-op. HistoryItem clones are created for parent and |