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

Side by Side Diff: Source/web/PageScaleConstraintsSet.cpp

Issue 61593006: Zoom instead of autosizing for desktop sites. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Address review comments. Created 7 years, 1 month 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/web/PageScaleConstraintsSet.h ('k') | Source/web/WebViewImpl.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) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 21 matching lines...) Expand all
32 #include "PageScaleConstraintsSet.h" 32 #include "PageScaleConstraintsSet.h"
33 33
34 #include "wtf/Assertions.h" 34 #include "wtf/Assertions.h"
35 35
36 using namespace WebCore; 36 using namespace WebCore;
37 37
38 namespace WebKit { 38 namespace WebKit {
39 39
40 static const float defaultMinimumScale = 0.25f; 40 static const float defaultMinimumScale = 0.25f;
41 static const float defaultMaximumScale = 5.0f; 41 static const float defaultMaximumScale = 5.0f;
42 static const float minimumLayoutWidth = 980.0f;
aelias_OOO_until_Jul13 2013/11/07 22:02:50 ViewportDescription.minWidth.value() should always
skobes 2013/11/08 03:26:47 Done.
42 43
43 PageScaleConstraintsSet::PageScaleConstraintsSet() 44 PageScaleConstraintsSet::PageScaleConstraintsSet()
44 : m_lastContentsWidth(0) 45 : m_lastContentsWidth(0)
45 , m_needsReset(false) 46 , m_needsReset(false)
46 , m_constraintsDirty(false) 47 , m_constraintsDirty(false)
47 { 48 {
48 m_finalConstraints = defaultConstraints(); 49 m_finalConstraints = defaultConstraints();
49 } 50 }
50 51
51 PageScaleConstraints PageScaleConstraintsSet::defaultConstraints() const 52 PageScaleConstraints PageScaleConstraintsSet::defaultConstraints() const
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 } 176 }
176 177
177 if (adjustedLayoutSizeWidth != m_pageDefinedConstraints.layoutSize.width()) { 178 if (adjustedLayoutSizeWidth != m_pageDefinedConstraints.layoutSize.width()) {
178 ASSERT(m_pageDefinedConstraints.layoutSize.width() > 0); 179 ASSERT(m_pageDefinedConstraints.layoutSize.width() > 0);
179 float adjustedLayoutSizeHeight = (adjustedLayoutSizeWidth * m_pageDefine dConstraints.layoutSize.height()) / m_pageDefinedConstraints.layoutSize.width(); 180 float adjustedLayoutSizeHeight = (adjustedLayoutSizeWidth * m_pageDefine dConstraints.layoutSize.height()) / m_pageDefinedConstraints.layoutSize.width();
180 m_pageDefinedConstraints.layoutSize.setWidth(adjustedLayoutSizeWidth); 181 m_pageDefinedConstraints.layoutSize.setWidth(adjustedLayoutSizeWidth);
181 m_pageDefinedConstraints.layoutSize.setHeight(adjustedLayoutSizeHeight); 182 m_pageDefinedConstraints.layoutSize.setHeight(adjustedLayoutSizeHeight);
182 } 183 }
183 } 184 }
184 185
186 void PageScaleConstraintsSet::applyDeviceScaleAdjustment(const ViewportDescripti on& viewportDescription, float deviceScaleAdjustment)
187 {
188 // If possible, reduce the layout width instead of applying text autosizing.
189 // But don't reduce below the minimum fallback width and don't reduce if exp licitly specified by the page author.
190 float width = m_pageDefinedConstraints.layoutSize.width();
191 if (width > minimumLayoutWidth && !viewportDescription.isSpecifiedByAuthor() )
aelias_OOO_until_Jul13 2013/11/07 22:02:50 Please delete the condition "width > minimumLayout
skobes 2013/11/08 03:26:47 Done.
192 m_pageDefinedConstraints.layoutSize.setWidth(std::max(minimumLayoutWidth , width / deviceScaleAdjustment));
193 }
194
185 } // namespace WebCore 195 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/web/PageScaleConstraintsSet.h ('k') | Source/web/WebViewImpl.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698