| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "config.h" | 5 #include "config.h" |
| 6 #include "web/DevToolsEmulator.h" | 6 #include "web/DevToolsEmulator.h" |
| 7 | 7 |
| 8 #include "core/frame/FrameView.h" | 8 #include "core/frame/FrameView.h" |
| 9 #include "core/frame/Settings.h" | 9 #include "core/frame/Settings.h" |
| 10 #include "core/page/Page.h" | 10 #include "core/page/Page.h" |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 257 if (gestureEvent.type() == PlatformEvent::GesturePinchBegin) { | 257 if (gestureEvent.type() == PlatformEvent::GesturePinchBegin) { |
| 258 m_lastPinchAnchorCss = adoptPtr(new IntPoint(frameView->scrollPositi
on() + gestureEvent.position())); | 258 m_lastPinchAnchorCss = adoptPtr(new IntPoint(frameView->scrollPositi
on() + gestureEvent.position())); |
| 259 m_lastPinchAnchorDip = adoptPtr(new IntPoint(gestureEvent.position()
)); | 259 m_lastPinchAnchorDip = adoptPtr(new IntPoint(gestureEvent.position()
)); |
| 260 m_lastPinchAnchorDip->scale(pageScaleFactor, pageScaleFactor); | 260 m_lastPinchAnchorDip->scale(pageScaleFactor, pageScaleFactor); |
| 261 } | 261 } |
| 262 if (gestureEvent.type() == PlatformEvent::GesturePinchUpdate && m_lastPi
nchAnchorCss) { | 262 if (gestureEvent.type() == PlatformEvent::GesturePinchUpdate && m_lastPi
nchAnchorCss) { |
| 263 float newPageScaleFactor = pageScaleFactor * gestureEvent.scale(); | 263 float newPageScaleFactor = pageScaleFactor * gestureEvent.scale(); |
| 264 IntPoint anchorCss(*m_lastPinchAnchorDip.get()); | 264 IntPoint anchorCss(*m_lastPinchAnchorDip.get()); |
| 265 anchorCss.scale(1.f / newPageScaleFactor, 1.f / newPageScaleFactor); | 265 anchorCss.scale(1.f / newPageScaleFactor, 1.f / newPageScaleFactor); |
| 266 m_webViewImpl->setPageScaleFactor(newPageScaleFactor); | 266 m_webViewImpl->setPageScaleFactor(newPageScaleFactor); |
| 267 m_webViewImpl->setMainFrameScrollOffset(*m_lastPinchAnchorCss.get()
- toIntSize(anchorCss)); | 267 m_webViewImpl->mainFrame()->setScrollOffset(toIntSize(*m_lastPinchAn
chorCss.get() - toIntSize(anchorCss))); |
| 268 } | 268 } |
| 269 if (gestureEvent.type() == PlatformEvent::GesturePinchEnd) { | 269 if (gestureEvent.type() == PlatformEvent::GesturePinchEnd) { |
| 270 m_lastPinchAnchorCss.clear(); | 270 m_lastPinchAnchorCss.clear(); |
| 271 m_lastPinchAnchorDip.clear(); | 271 m_lastPinchAnchorDip.clear(); |
| 272 } | 272 } |
| 273 return true; | 273 return true; |
| 274 } | 274 } |
| 275 | 275 |
| 276 return false; | 276 return false; |
| 277 } | 277 } |
| 278 | 278 |
| 279 } // namespace blink | 279 } // namespace blink |
| OLD | NEW |