Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1207)

Side by Side Diff: ios/web/public/web_state/page_display_state.h

Issue 2664113003: Moved serialization out of CRWSessionEntry. (Closed)
Patch Set: BuildSerialization => BuildStorage, entries => itemStorages Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef IOS_WEB_PUBLIC_WEB_STATE_PAGE_DISPLAY_STATE_H_ 5 #ifndef IOS_WEB_PUBLIC_WEB_STATE_PAGE_DISPLAY_STATE_H_
6 #define IOS_WEB_PUBLIC_WEB_STATE_PAGE_DISPLAY_STATE_H_ 6 #define IOS_WEB_PUBLIC_WEB_STATE_PAGE_DISPLAY_STATE_H_
7 7
8 #import <Foundation/Foundation.h>
Eugene But (OOO till 7-30) 2017/02/03 01:52:34 This changes the header to Objective-C, so please
kkhorimoto 2017/02/03 02:47:23 Done.
9
8 namespace web { 10 namespace web {
9 11
10 // Class used to represent the scrolling offset of a webview. 12 // Class used to represent the scrolling offset of a webview.
11 class PageScrollState { 13 class PageScrollState {
12 public: 14 public:
13 // Default constructor. Initializes scroll offsets to NAN. 15 // Default constructor. Initializes scroll offsets to NAN.
14 PageScrollState(); 16 PageScrollState();
15 // Constructor with initial values. 17 // Constructor with initial values.
16 PageScrollState(double offset_x, double offset_y); 18 PageScrollState(double offset_x, double offset_y);
17 ~PageScrollState(); 19 ~PageScrollState();
18 20
19 // The scroll offset is valid if its x and y values are both non-NAN. 21 // The scroll offset is valid if its x and y values are both non-NAN.
20 bool IsValid() const; 22 bool IsValid() const;
21 23
22 // Accessors for scroll offsets and zoom scale. 24 // Accessors for scroll offsets and zoom scale.
23 double offset_x() const { return offset_x_; } 25 double offset_x() const { return offset_x_; }
24 void set_offset_x(double offset_x) { offset_x_ = offset_x; } 26 void set_offset_x(double offset_x) { offset_x_ = offset_x; }
25 double offset_y() const { return offset_y_; } 27 double offset_y() const { return offset_y_; }
26 void set_offset_y(double offset_y) { offset_y_ = offset_y; } 28 void set_offset_y(double offset_y) { offset_y_ = offset_y; }
27 29
28 // Comparator operators. 30 // Comparator operators.
29 bool operator==(const PageScrollState& other) const; 31 bool operator==(const PageScrollState& other) const;
30 bool operator!=(const PageScrollState& other) const; 32 bool operator!=(const PageScrollState& other) const;
31 33
34 // Serialization keys.
35 static NSString* XOffsetKey();
Eugene But (OOO till 7-30) 2017/02/03 01:52:34 Should these keys be constants, like all other key
kkhorimoto 2017/02/03 02:47:23 Done.
36 static NSString* YOffsetKey();
37
32 private: 38 private:
33 // The x value of the page's UIScrollView contentOffset. 39 // The x value of the page's UIScrollView contentOffset.
34 double offset_x_; 40 double offset_x_;
35 // The y value of the page's UIScrollView contentOffset. 41 // The y value of the page's UIScrollView contentOffset.
36 double offset_y_; 42 double offset_y_;
37 }; 43 };
38 44
39 // Class used to represent the scrolling offset and the zoom scale of a webview. 45 // Class used to represent the scrolling offset and the zoom scale of a webview.
40 class PageZoomState { 46 class PageZoomState {
41 public: 47 public:
(...skipping 25 matching lines...) Expand all
67 void set_maximum_zoom_scale(double maximum_zoom_scale) { 73 void set_maximum_zoom_scale(double maximum_zoom_scale) {
68 maximum_zoom_scale_ = maximum_zoom_scale; 74 maximum_zoom_scale_ = maximum_zoom_scale;
69 } 75 }
70 double zoom_scale() const { return zoom_scale_; } 76 double zoom_scale() const { return zoom_scale_; }
71 void set_zoom_scale(double zoom_scale) { zoom_scale_ = zoom_scale; } 77 void set_zoom_scale(double zoom_scale) { zoom_scale_ = zoom_scale; }
72 78
73 // Comparator operators. 79 // Comparator operators.
74 bool operator==(const PageZoomState& other) const; 80 bool operator==(const PageZoomState& other) const;
75 bool operator!=(const PageZoomState& other) const; 81 bool operator!=(const PageZoomState& other) const;
76 82
83 // Serialization keys.
84 static NSString* MinZoomKey();
85 static NSString* MaxZoomKey();
86 static NSString* ZoomKey();
87
77 private: 88 private:
78 // The minimumZoomScale value of the page's UIScrollView. 89 // The minimumZoomScale value of the page's UIScrollView.
79 double minimum_zoom_scale_; 90 double minimum_zoom_scale_;
80 // The maximumZoomScale value of the page's UIScrollView. 91 // The maximumZoomScale value of the page's UIScrollView.
81 double maximum_zoom_scale_; 92 double maximum_zoom_scale_;
82 // The zoomScale value of the page's UIScrollView. 93 // The zoomScale value of the page's UIScrollView.
83 double zoom_scale_; 94 double zoom_scale_;
84 }; 95 };
85 96
86 // Class used to represent the scroll offset and zoom scale of a webview. 97 // Class used to represent the scroll offset and zoom scale of a webview.
87 class PageDisplayState { 98 class PageDisplayState {
88 public: 99 public:
89 // Default constructor. Initializes scroll offsets and zoom scales to NAN. 100 // Default constructor. Initializes scroll offsets and zoom scales to NAN.
90 PageDisplayState(); 101 PageDisplayState();
91 // Constructor with initial values. 102 // Constructor with initial values.
92 PageDisplayState(const PageScrollState& scroll_state, 103 PageDisplayState(const PageScrollState& scroll_state,
93 const PageZoomState& zoom_state); 104 const PageZoomState& zoom_state);
94 PageDisplayState(double offset_x, 105 PageDisplayState(double offset_x,
95 double offset_y, 106 double offset_y,
96 double minimum_zoom_scale, 107 double minimum_zoom_scale,
97 double maximum_zoom_scale, 108 double maximum_zoom_scale,
98 double zoom_scale); 109 double zoom_scale);
110 PageDisplayState(NSDictionary* serialization);
99 ~PageDisplayState(); 111 ~PageDisplayState();
100 112
101 // PageScrollStates cannot be applied until the scroll offset and zoom scale 113 // PageScrollStates cannot be applied until the scroll offset and zoom scale
102 // are both valid. 114 // are both valid.
103 bool IsValid() const; 115 bool IsValid() const;
104 116
105 // Accessors. 117 // Accessors.
106 const PageScrollState& scroll_state() const { return scroll_state_; } 118 const PageScrollState& scroll_state() const { return scroll_state_; }
107 PageScrollState& scroll_state() { return scroll_state_; } 119 PageScrollState& scroll_state() { return scroll_state_; }
108 void set_scroll_state(const PageScrollState& scroll_state) { 120 void set_scroll_state(const PageScrollState& scroll_state) {
109 scroll_state_ = scroll_state; 121 scroll_state_ = scroll_state;
110 } 122 }
111 const PageZoomState& zoom_state() const { return zoom_state_; } 123 const PageZoomState& zoom_state() const { return zoom_state_; }
112 PageZoomState& zoom_state() { return zoom_state_; } 124 PageZoomState& zoom_state() { return zoom_state_; }
113 void set_zoom_state(const PageZoomState& zoom_state) { 125 void set_zoom_state(const PageZoomState& zoom_state) {
114 zoom_state_ = zoom_state; 126 zoom_state_ = zoom_state;
115 } 127 }
116 128
117 // Comparator operators. 129 // Comparator operators.
118 bool operator==(const PageDisplayState& other) const; 130 bool operator==(const PageDisplayState& other) const;
119 bool operator!=(const PageDisplayState& other) const; 131 bool operator!=(const PageDisplayState& other) const;
120 132
133 // Returns a serialized representation of the PageDisplayState.
134 NSDictionary* GetSerialization() const;
Eugene But (OOO till 7-30) 2017/02/03 01:52:34 Could you please add tests for these new functions
kkhorimoto 2017/02/03 02:47:23 Done.
135
136 // Returns a description string for the PageDisplayState.
137 NSString* GetDescription() const;
138
121 private: 139 private:
122 // The scroll state for the page's UIScrollView. 140 // The scroll state for the page's UIScrollView.
123 PageScrollState scroll_state_; 141 PageScrollState scroll_state_;
124 // The zoom state for the page's UIScrollView. 142 // The zoom state for the page's UIScrollView.
125 PageZoomState zoom_state_; 143 PageZoomState zoom_state_;
126 }; 144 };
127 145
128 } // namespace web 146 } // namespace web
129 147
130 #endif // IOS_WEB_PUBLIC_WEB_STATE_PAGE_DISPLAY_STATE_H_ 148 #endif // IOS_WEB_PUBLIC_WEB_STATE_PAGE_DISPLAY_STATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698