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

Side by Side Diff: third_party/WebKit/Source/core/frame/BrowserControls.cpp

Issue 2730573003: Moved FrameHost::m_visualViewport to Page (Closed)
Patch Set: Fixed some compile errors on mac and android Created 3 years, 9 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 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/frame/BrowserControls.h" 5 #include "core/frame/BrowserControls.h"
6 6
7 #include <algorithm> // for std::min and std::max 7 #include <algorithm> // for std::min and std::max
8 8
9 #include "core/frame/FrameHost.h" 9 #include "core/frame/FrameHost.h"
10 #include "core/frame/VisualViewport.h" 10 #include "core/frame/VisualViewport.h"
(...skipping 24 matching lines...) Expand all
35 if ((m_permittedState == WebBrowserControlsShown && 35 if ((m_permittedState == WebBrowserControlsShown &&
36 pendingDelta.height() > 0) || 36 pendingDelta.height() > 0) ||
37 (m_permittedState == WebBrowserControlsHidden && 37 (m_permittedState == WebBrowserControlsHidden &&
38 pendingDelta.height() < 0)) 38 pendingDelta.height() < 0))
39 return pendingDelta; 39 return pendingDelta;
40 40
41 if (m_height == 0) 41 if (m_height == 0)
42 return pendingDelta; 42 return pendingDelta;
43 43
44 float oldOffset = contentOffset(); 44 float oldOffset = contentOffset();
45 float pageScale = m_page->frameHost().visualViewport().scale(); 45 float pageScale = m_page->visualViewport().scale();
46 46
47 // Update accumulated vertical scroll and apply it to browser controls 47 // Update accumulated vertical scroll and apply it to browser controls
48 // Compute scroll delta in viewport space by applying page scale 48 // Compute scroll delta in viewport space by applying page scale
49 m_accumulatedScrollDelta += pendingDelta.height() * pageScale; 49 m_accumulatedScrollDelta += pendingDelta.height() * pageScale;
50 50
51 float newContentOffset = m_baselineContentOffset - m_accumulatedScrollDelta; 51 float newContentOffset = m_baselineContentOffset - m_accumulatedScrollDelta;
52 52
53 setShownRatio(newContentOffset / m_height); 53 setShownRatio(newContentOffset / m_height);
54 54
55 // Reset baseline when controls are fully visible 55 // Reset baseline when controls are fully visible
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 void BrowserControls::setHeight(float height, bool shrinkViewport) { 122 void BrowserControls::setHeight(float height, bool shrinkViewport) {
123 if (m_height == height && m_shrinkViewport == shrinkViewport) 123 if (m_height == height && m_shrinkViewport == shrinkViewport)
124 return; 124 return;
125 125
126 m_height = height; 126 m_height = height;
127 m_shrinkViewport = shrinkViewport; 127 m_shrinkViewport = shrinkViewport;
128 m_page->chromeClient().didUpdateBrowserControls(); 128 m_page->chromeClient().didUpdateBrowserControls();
129 } 129 }
130 130
131 } // namespace blink 131 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/dom/ViewportDescription.cpp ('k') | third_party/WebKit/Source/core/frame/DOMVisualViewport.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698