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

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

Issue 23742003: Use css-device-adapt constraining for legacy viewport tags. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Review issue: one assignent per line/statement 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
« no previous file with comments | « Source/core/dom/Document.cpp ('k') | Source/core/dom/ViewportArguments.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 UnrecognizedViewportArgumentValueError, 43 UnrecognizedViewportArgumentValueError,
44 TruncatedViewportArgumentValueError, 44 TruncatedViewportArgumentValueError,
45 MaximumScaleTooLargeError, 45 MaximumScaleTooLargeError,
46 TargetDensityDpiUnsupported 46 TargetDensityDpiUnsupported
47 }; 47 };
48 48
49 struct ViewportArguments { 49 struct ViewportArguments {
50 50
51 enum Type { 51 enum Type {
52 // These are ordered in increasing importance. 52 // These are ordered in increasing importance.
53 Implicit, 53 UserAgentStyleSheet,
54 XHTMLMobileProfile,
55 HandheldFriendlyMeta, 54 HandheldFriendlyMeta,
56 MobileOptimizedMeta, 55 MobileOptimizedMeta,
57 ViewportMeta, 56 ViewportMeta,
58 ViewportMetaLayoutSizeQuirk, 57 AuthorStyleSheet
59 CSSDeviceAdaptation
60 } type; 58 } type;
61 59
62 enum { 60 enum {
63 ValueAuto = -1, 61 ValueAuto = -1,
64 ValueDeviceWidth = -2, 62 ValueDeviceWidth = -2,
65 ValueDeviceHeight = -3, 63 ValueDeviceHeight = -3,
66 ValuePortrait = -4, 64 ValuePortrait = -4,
67 ValueLandscape = -5, 65 ValueLandscape = -5,
68 ValueDeviceDPI = -6, 66 ValueDeviceDPI = -6,
69 ValueLowDPI = -7, 67 ValueLowDPI = -7,
70 ValueMediumDPI = -8, 68 ValueMediumDPI = -8,
71 ValueHighDPI = -9, 69 ValueHighDPI = -9,
72 ValueExtendToZoom = -10 70 ValueExtendToZoom = -10
73 }; 71 };
74 72
75 ViewportArguments(Type type = Implicit) 73 ViewportArguments(Type type = UserAgentStyleSheet)
76 : type(type) 74 : type(type)
77 , width(ValueAuto)
78 , height(ValueAuto)
79 , zoom(ValueAuto) 75 , zoom(ValueAuto)
80 , minZoom(ValueAuto) 76 , minZoom(ValueAuto)
81 , maxZoom(ValueAuto) 77 , maxZoom(ValueAuto)
82 , userZoom(ValueAuto) 78 , userZoom(ValueAuto)
83 , orientation(ValueAuto) 79 , orientation(ValueAuto)
84 , deprecatedTargetDensityDPI(ValueAuto) 80 , deprecatedTargetDensityDPI(ValueAuto)
85 { 81 {
86 } 82 }
87 83
88 // All arguments are in CSS units. 84 // All arguments are in CSS units.
89 PageScaleConstraints resolve(const FloatSize& initialViewportSize, int defau ltWidth) const; 85 PageScaleConstraints resolve(const FloatSize& initialViewportSize) const;
90 86
91 float width;
92 Length minWidth; 87 Length minWidth;
93 Length maxWidth; 88 Length maxWidth;
94 float height;
95 Length minHeight; 89 Length minHeight;
96 Length maxHeight; 90 Length maxHeight;
97 float zoom; 91 float zoom;
98 float minZoom; 92 float minZoom;
99 float maxZoom; 93 float maxZoom;
100 float userZoom; 94 float userZoom;
101 float orientation; 95 float orientation;
102 float deprecatedTargetDensityDPI; // Only used for Android WebView 96 float deprecatedTargetDensityDPI; // Only used for Android WebView
103 97
104 bool operator==(const ViewportArguments& other) const 98 bool operator==(const ViewportArguments& other) const
105 { 99 {
106 // Used for figuring out whether to reset the viewport or not, 100 // Used for figuring out whether to reset the viewport or not,
107 // thus we are not taking type into account. 101 // thus we are not taking type into account.
108 return width == other.width 102 return minWidth == other.minWidth
109 && minWidth == other.minWidth
110 && maxWidth == other.maxWidth 103 && maxWidth == other.maxWidth
111 && height == other.height
112 && minHeight == other.minHeight 104 && minHeight == other.minHeight
113 && maxHeight == other.maxHeight 105 && maxHeight == other.maxHeight
114 && zoom == other.zoom 106 && zoom == other.zoom
115 && minZoom == other.minZoom 107 && minZoom == other.minZoom
116 && maxZoom == other.maxZoom 108 && maxZoom == other.maxZoom
117 && userZoom == other.userZoom 109 && userZoom == other.userZoom
118 && orientation == other.orientation 110 && orientation == other.orientation
119 && deprecatedTargetDensityDPI == other.deprecatedTargetDensityDPI; 111 && deprecatedTargetDensityDPI == other.deprecatedTargetDensityDPI;
120 } 112 }
121 113
122 bool operator!=(const ViewportArguments& other) const 114 bool operator!=(const ViewportArguments& other) const
123 { 115 {
124 return !(*this == other); 116 return !(*this == other);
125 } 117 }
126 118
119 bool isLegacyViewportType() const { return type >= HandheldFriendlyMeta && t ype <= ViewportMeta; }
120
127 private: 121 private:
128 enum Direction { Horizontal, Vertical }; 122 enum Direction { Horizontal, Vertical };
129 static float resolveViewportLength(const Length&, const FloatSize& initialVi ewportSize, Direction); 123 static float resolveViewportLength(const Length&, const FloatSize& initialVi ewportSize, Direction);
130 }; 124 };
131 125
132 void setViewportFeature(const String& keyString, const String& valueString, Docu ment*, void* data); 126 void setViewportFeature(const String& keyString, const String& valueString, Docu ment*, void* data);
133 void reportViewportWarning(Document*, ViewportErrorCode, const String& replaceme nt1, const String& replacement2); 127 void reportViewportWarning(Document*, ViewportErrorCode, const String& replaceme nt1, const String& replacement2);
134 128
135 } // namespace WebCore 129 } // namespace WebCore
136 130
137 #endif // ViewportArguments_h 131 #endif // ViewportArguments_h
OLDNEW
« no previous file with comments | « Source/core/dom/Document.cpp ('k') | Source/core/dom/ViewportArguments.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698