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

Side by Side Diff: Source/core/dom/ViewportArguments.h

Issue 22549002: Recompute percentage based @viewport on resize. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fixed Mac compile issues. Created 7 years, 3 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 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2001 Dirk Mueller (mueller@kde.org) 4 * (C) 2001 Dirk Mueller (mueller@kde.org)
5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org)
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
7 * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/) 7 * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/)
8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
9 * Copyright (C) 2012-2013 Intel Corporation. All rights reserved. 9 * Copyright (C) 2012-2013 Intel Corporation. All rights reserved.
10 * 10 *
(...skipping 11 matching lines...) Expand all
22 * along with this library; see the file COPYING.LIB. If not, write to 22 * along with this library; see the file COPYING.LIB. If not, write to
23 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 23 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
24 * Boston, MA 02110-1301, USA. 24 * Boston, MA 02110-1301, USA.
25 * 25 *
26 */ 26 */
27 27
28 #ifndef ViewportArguments_h 28 #ifndef ViewportArguments_h
29 #define ViewportArguments_h 29 #define ViewportArguments_h
30 30
31 #include "core/page/PageScaleConstraints.h" 31 #include "core/page/PageScaleConstraints.h"
32 #include "core/platform/Length.h"
32 #include "core/platform/graphics/FloatSize.h" 33 #include "core/platform/graphics/FloatSize.h"
33 #include "wtf/Forward.h" 34 #include "wtf/Forward.h"
34 35
35 namespace WebCore { 36 namespace WebCore {
36 37
37 class Document; 38 class Document;
38 39
39 enum ViewportErrorCode { 40 enum ViewportErrorCode {
40 InvalidKeyValuePairSeparatorError, 41 InvalidKeyValuePairSeparatorError,
41 UnrecognizedViewportArgumentKeyError, 42 UnrecognizedViewportArgumentKeyError,
(...skipping 25 matching lines...) Expand all
67 ValueDeviceDPI = -6, 68 ValueDeviceDPI = -6,
68 ValueLowDPI = -7, 69 ValueLowDPI = -7,
69 ValueMediumDPI = -8, 70 ValueMediumDPI = -8,
70 ValueHighDPI = -9, 71 ValueHighDPI = -9,
71 ValueExtendToZoom = -10 72 ValueExtendToZoom = -10
72 }; 73 };
73 74
74 ViewportArguments(Type type = Implicit) 75 ViewportArguments(Type type = Implicit)
75 : type(type) 76 : type(type)
76 , width(ValueAuto) 77 , width(ValueAuto)
77 , minWidth(ValueAuto)
78 , maxWidth(ValueAuto)
79 , height(ValueAuto) 78 , height(ValueAuto)
80 , minHeight(ValueAuto)
81 , maxHeight(ValueAuto)
82 , zoom(ValueAuto) 79 , zoom(ValueAuto)
83 , minZoom(ValueAuto) 80 , minZoom(ValueAuto)
84 , maxZoom(ValueAuto) 81 , maxZoom(ValueAuto)
85 , userZoom(ValueAuto) 82 , userZoom(ValueAuto)
86 , orientation(ValueAuto) 83 , orientation(ValueAuto)
87 , deprecatedTargetDensityDPI(ValueAuto) 84 , deprecatedTargetDensityDPI(ValueAuto)
88 { 85 {
89 } 86 }
90 87
91 // All arguments are in CSS units. 88 // All arguments are in CSS units.
92 PageScaleConstraints resolve(const FloatSize& initialViewportSize, int defau ltWidth) const; 89 PageScaleConstraints resolve(const FloatSize& initialViewportSize, int defau ltWidth) const;
93 90
94 float width; 91 float width;
95 float minWidth; 92 Length minWidth;
96 float maxWidth; 93 Length maxWidth;
97 float height; 94 float height;
98 float minHeight; 95 Length minHeight;
99 float maxHeight; 96 Length maxHeight;
100 float zoom; 97 float zoom;
101 float minZoom; 98 float minZoom;
102 float maxZoom; 99 float maxZoom;
103 float userZoom; 100 float userZoom;
104 float orientation; 101 float orientation;
105 float deprecatedTargetDensityDPI; // Only used for Android WebView 102 float deprecatedTargetDensityDPI; // Only used for Android WebView
106 103
107 bool operator==(const ViewportArguments& other) const 104 bool operator==(const ViewportArguments& other) const
108 { 105 {
109 // Used for figuring out whether to reset the viewport or not, 106 // Used for figuring out whether to reset the viewport or not,
110 // thus we are not taking type into account. 107 // thus we are not taking type into account.
111 return width == other.width 108 return width == other.width
112 && minWidth == other.minWidth 109 && minWidth == other.minWidth
113 && maxWidth == other.maxWidth 110 && maxWidth == other.maxWidth
114 && height == other.height 111 && height == other.height
115 && minHeight == other.minHeight 112 && minHeight == other.minHeight
116 && maxHeight == other.maxHeight 113 && maxHeight == other.maxHeight
117 && zoom == other.zoom 114 && zoom == other.zoom
118 && minZoom == other.minZoom 115 && minZoom == other.minZoom
119 && maxZoom == other.maxZoom 116 && maxZoom == other.maxZoom
120 && userZoom == other.userZoom 117 && userZoom == other.userZoom
121 && orientation == other.orientation 118 && orientation == other.orientation
122 && deprecatedTargetDensityDPI == other.deprecatedTargetDensityDPI; 119 && deprecatedTargetDensityDPI == other.deprecatedTargetDensityDPI;
123 } 120 }
124 121
125 bool operator!=(const ViewportArguments& other) const 122 bool operator!=(const ViewportArguments& other) const
126 { 123 {
127 return !(*this == other); 124 return !(*this == other);
128 } 125 }
126
127 private:
128 enum Direction { Horizontal, Vertical };
129 static float resolveViewportLength(const Length&, const FloatSize& initialVi ewportSize, Direction);
129 }; 130 };
130 131
131 void setViewportFeature(const String& keyString, const String& valueString, Docu ment*, void* data); 132 void setViewportFeature(const String& keyString, const String& valueString, Docu ment*, void* data);
132 void reportViewportWarning(Document*, ViewportErrorCode, const String& replaceme nt1, const String& replacement2); 133 void reportViewportWarning(Document*, ViewportErrorCode, const String& replaceme nt1, const String& replacement2);
133 134
134 } // namespace WebCore 135 } // namespace WebCore
135 136
136 #endif // ViewportArguments_h 137 #endif // ViewportArguments_h
OLDNEW
« no previous file with comments | « Source/core/css/resolver/ViewportStyleResolver.cpp ('k') | Source/core/dom/ViewportArguments.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698