Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011, 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2011, 2012 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 1674 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1685 FrameView* view = mainFrameImpl()->frameView(); | 1685 FrameView* view = mainFrameImpl()->frameView(); |
| 1686 if (!view) | 1686 if (!view) |
| 1687 return; | 1687 return; |
| 1688 | 1688 |
| 1689 WebSize oldSize = m_size; | 1689 WebSize oldSize = m_size; |
| 1690 float oldPageScaleFactor = pageScaleFactor(); | 1690 float oldPageScaleFactor = pageScaleFactor(); |
| 1691 int oldContentsWidth = contentsSize().width(); | 1691 int oldContentsWidth = contentsSize().width(); |
| 1692 | 1692 |
| 1693 m_size = newSize; | 1693 m_size = newSize; |
| 1694 | 1694 |
| 1695 bool shouldAnchorAndRescaleViewport = settings()->viewportEnabled() && oldSi ze.width && oldContentsWidth && newSize.width != oldSize.width; | 1695 bool shouldAnchorAndRescaleViewport = |
| 1696 settings()->viewportEnabled() && settings()->scaleViewportOnResize() | |
|
aelias_OOO_until_Jul13
2013/10/25 04:10:08
You can delete the settings()->viewportEnabled() n
bokan
2013/10/28 22:17:52
Done.
| |
| 1697 && oldSize.width && oldContentsWidth && newSize.width != oldSize.width; | |
| 1698 | |
| 1696 ViewportAnchor viewportAnchor(&mainFrameImpl()->frame()->eventHandler()); | 1699 ViewportAnchor viewportAnchor(&mainFrameImpl()->frame()->eventHandler()); |
| 1697 if (shouldAnchorAndRescaleViewport) { | 1700 if (shouldAnchorAndRescaleViewport) { |
| 1698 viewportAnchor.setAnchor(view->visibleContentRect(), | 1701 viewportAnchor.setAnchor(view->visibleContentRect(), |
| 1699 FloatSize(viewportAnchorXCoord, viewportAnchorY Coord)); | 1702 FloatSize(viewportAnchorXCoord, viewportAnchorY Coord)); |
| 1700 } | 1703 } |
| 1701 | 1704 |
| 1702 updatePageDefinedViewportConstraints(mainFrameImpl()->frame()->document()->v iewportDescription()); | 1705 updatePageDefinedViewportConstraints(mainFrameImpl()->frame()->document()->v iewportDescription()); |
| 1703 updateMainFrameLayoutSize(); | 1706 updateMainFrameLayoutSize(); |
| 1704 | 1707 |
| 1705 WebDevToolsAgentPrivate* agentPrivate = devToolsAgentPrivate(); | 1708 WebDevToolsAgentPrivate* agentPrivate = devToolsAgentPrivate(); |
| 1706 if (agentPrivate) | 1709 if (agentPrivate) |
| 1707 agentPrivate->webViewResized(newSize); | 1710 agentPrivate->webViewResized(newSize); |
| 1708 WebFrameImpl* webFrame = mainFrameImpl(); | 1711 WebFrameImpl* webFrame = mainFrameImpl(); |
| 1709 if (webFrame->frameView()) { | 1712 if (webFrame->frameView()) { |
| 1710 webFrame->frameView()->resize(m_size); | 1713 webFrame->frameView()->resize(m_size); |
| 1711 if (m_pinchViewports) | 1714 if (m_pinchViewports) |
| 1712 m_pinchViewports->setViewportSize(m_size); | 1715 m_pinchViewports->setViewportSize(m_size); |
| 1713 } | 1716 } |
| 1714 | 1717 |
| 1715 if (settings()->viewportEnabled() && !m_fixedLayoutSizeLock) { | 1718 if (settings()->viewportEnabled() && !m_fixedLayoutSizeLock) { |
| 1716 // Relayout immediately to recalculate the minimum scale limit. | 1719 // Relayout immediately to recalculate the minimum scale limit. |
| 1717 if (view->needsLayout()) | 1720 if (view->needsLayout()) |
| 1718 view->layout(); | 1721 view->layout(); |
|
aelias_OOO_until_Jul13
2013/10/25 04:10:08
Hmm, this should a no-op after the fixed layout ch
bokan
2013/10/25 17:19:38
Sorry, you did mention it in that review, but I re
aelias_OOO_until_Jul13
2013/10/25 23:15:02
OK, that's fine, my fault for not remembering that
| |
| 1719 | 1722 |
| 1720 if (shouldAnchorAndRescaleViewport) { | 1723 if (shouldAnchorAndRescaleViewport) { |
| 1721 float viewportWidthRatio = static_cast<float>(newSize.width) / oldSi ze.width; | 1724 float viewportWidthRatio = static_cast<float>(newSize.width) / oldSi ze.width; |
| 1722 float contentsWidthRatio = static_cast<float>(contentsSize().width() ) / oldContentsWidth; | 1725 float contentsWidthRatio = static_cast<float>(contentsSize().width() ) / oldContentsWidth; |
| 1723 float scaleMultiplier = viewportWidthRatio / contentsWidthRatio; | 1726 float scaleMultiplier = viewportWidthRatio / contentsWidthRatio; |
| 1724 | 1727 |
| 1725 IntSize viewportSize = view->visibleContentRect().size(); | 1728 IntSize viewportSize = view->visibleContentRect().size(); |
| 1726 if (scaleMultiplier != 1) { | 1729 if (scaleMultiplier != 1) { |
| 1727 float newPageScaleFactor = oldPageScaleFactor * scaleMultiplier; | 1730 float newPageScaleFactor = oldPageScaleFactor * scaleMultiplier; |
| 1728 viewportSize.scale(pageScaleFactor() / newPageScaleFactor); | 1731 viewportSize.scale(pageScaleFactor() / newPageScaleFactor); |
| (...skipping 2379 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4108 const PageScaleConstraints& constraints = m_pageScaleConstraintsSet.pageDefi nedConstraints(); | 4111 const PageScaleConstraints& constraints = m_pageScaleConstraintsSet.pageDefi nedConstraints(); |
| 4109 | 4112 |
| 4110 if (!mainFrameImpl() || !mainFrameImpl()->frameView()) | 4113 if (!mainFrameImpl() || !mainFrameImpl()->frameView()) |
| 4111 return false; | 4114 return false; |
| 4112 | 4115 |
| 4113 return mainFrameImpl()->frameView()->layoutSize().width() == m_size.width | 4116 return mainFrameImpl()->frameView()->layoutSize().width() == m_size.width |
| 4114 || (constraints.minimumScale == constraints.maximumScale && constraints. minimumScale != -1); | 4117 || (constraints.minimumScale == constraints.maximumScale && constraints. minimumScale != -1); |
| 4115 } | 4118 } |
| 4116 | 4119 |
| 4117 } // namespace WebKit | 4120 } // namespace WebKit |
| OLD | NEW |