|
1 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
2 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
4 |
|
5 #include "nsViewportInfo.h" |
|
6 #include "mozilla/Assertions.h" |
|
7 #include <algorithm> |
|
8 |
|
9 using namespace mozilla; |
|
10 |
|
11 void |
|
12 nsViewportInfo::SetDefaultZoom(const CSSToScreenScale& aDefaultZoom) |
|
13 { |
|
14 MOZ_ASSERT(aDefaultZoom.scale >= 0.0f); |
|
15 mDefaultZoom = aDefaultZoom; |
|
16 } |
|
17 |
|
18 void |
|
19 nsViewportInfo::ConstrainViewportValues() |
|
20 { |
|
21 // Constrain the min/max zoom as specified at: |
|
22 // dev.w3.org/csswg/css-device-adapt section 6.2 |
|
23 mMaxZoom = std::max(mMinZoom, mMaxZoom); |
|
24 |
|
25 mDefaultZoom = mDefaultZoom < mMaxZoom ? mDefaultZoom : mMaxZoom; |
|
26 mDefaultZoom = mDefaultZoom > mMinZoom ? mDefaultZoom : mMinZoom; |
|
27 } |