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 3913 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3924 m_client->didDeactivateCompositor(); | 3924 m_client->didDeactivateCompositor(); |
3925 m_compositorCreationFailed = true; | 3925 m_compositorCreationFailed = true; |
3926 } | 3926 } |
3927 } | 3927 } |
3928 if (page()) | 3928 if (page()) |
3929 page()->mainFrame()->view()->setClipsRepaints(!m_isAcceleratedCompositin
gActive); | 3929 page()->mainFrame()->view()->setClipsRepaints(!m_isAcceleratedCompositin
gActive); |
3930 } | 3930 } |
3931 | 3931 |
3932 void WebViewImpl::updateMainFrameScrollPosition(const IntPoint& scrollPosition,
bool programmaticScroll) | 3932 void WebViewImpl::updateMainFrameScrollPosition(const IntPoint& scrollPosition,
bool programmaticScroll) |
3933 { | 3933 { |
| 3934 TRACE_EVENT1("impl-scroll", |
| 3935 "WebViewImpl::updateMainFrameScrollPosition", |
| 3936 "programmatic", programmaticScroll); |
| 3937 |
3934 FrameView* frameView = page()->mainFrame()->view(); | 3938 FrameView* frameView = page()->mainFrame()->view(); |
3935 if (!frameView) | 3939 if (!frameView) |
3936 return; | 3940 return; |
3937 | 3941 |
3938 if (frameView->scrollPosition() == scrollPosition) | 3942 if (frameView->scrollPosition() == scrollPosition) |
3939 return; | 3943 return; |
3940 | 3944 |
3941 bool oldProgrammaticScroll = frameView->inProgrammaticScroll(); | 3945 bool oldProgrammaticScroll = frameView->inProgrammaticScroll(); |
3942 frameView->setInProgrammaticScroll(programmaticScroll); | 3946 frameView->setInProgrammaticScroll(programmaticScroll); |
3943 frameView->notifyScrollPositionChanged(scrollPosition); | 3947 frameView->notifyScrollPositionChanged(scrollPosition); |
3944 frameView->setInProgrammaticScroll(oldProgrammaticScroll); | 3948 frameView->setInProgrammaticScroll(oldProgrammaticScroll); |
3945 } | 3949 } |
3946 | 3950 |
3947 void WebViewImpl::applyScrollAndScale(const WebSize& scrollDelta, float pageScal
eDelta) | 3951 void WebViewImpl::applyScrollAndScale(const WebSize& scrollDelta, float pageScal
eDelta) |
3948 { | 3952 { |
3949 if (!mainFrameImpl() || !mainFrameImpl()->frameView()) | 3953 if (!mainFrameImpl() || !mainFrameImpl()->frameView()) |
3950 return; | 3954 return; |
3951 | 3955 |
3952 if (pageScaleDelta == 1) { | 3956 if (pageScaleDelta == 1) { |
3953 TRACE_EVENT_INSTANT2("webkit", "WebViewImpl::applyScrollAndScale::scroll
By", "x", scrollDelta.width, "y", scrollDelta.height); | 3957 TRACE_EVENT_INSTANT2("webkit,impl-scroll", "WebViewImpl::applyScrollAndS
cale::scrollBy", "x", scrollDelta.width, "y", scrollDelta.height); |
3954 WebSize webScrollOffset = mainFrame()->scrollOffset(); | 3958 WebSize webScrollOffset = mainFrame()->scrollOffset(); |
3955 IntPoint scrollOffset(webScrollOffset.width + scrollDelta.width, webScro
llOffset.height + scrollDelta.height); | 3959 IntPoint scrollOffset(webScrollOffset.width + scrollDelta.width, webScro
llOffset.height + scrollDelta.height); |
3956 updateMainFrameScrollPosition(scrollOffset, false); | 3960 updateMainFrameScrollPosition(scrollOffset, false); |
3957 } else { | 3961 } else { |
3958 // The page scale changed, so apply a scale and scroll in a single | 3962 // The page scale changed, so apply a scale and scroll in a single |
3959 // operation. | 3963 // operation. |
3960 WebSize scrollOffset = mainFrame()->scrollOffset(); | 3964 WebSize scrollOffset = mainFrame()->scrollOffset(); |
3961 scrollOffset.width += scrollDelta.width; | 3965 scrollOffset.width += scrollDelta.width; |
3962 scrollOffset.height += scrollDelta.height; | 3966 scrollOffset.height += scrollDelta.height; |
3963 | 3967 |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4085 } | 4089 } |
4086 | 4090 |
4087 bool WebViewImpl::shouldDisableDesktopWorkarounds() | 4091 bool WebViewImpl::shouldDisableDesktopWorkarounds() |
4088 { | 4092 { |
4089 ViewportArguments arguments = mainFrameImpl()->frame()->document()->viewport
Arguments(); | 4093 ViewportArguments arguments = mainFrameImpl()->frame()->document()->viewport
Arguments(); |
4090 return arguments.width == ViewportArguments::ValueDeviceWidth || !arguments.
userZoom | 4094 return arguments.width == ViewportArguments::ValueDeviceWidth || !arguments.
userZoom |
4091 || (arguments.minZoom == arguments.maxZoom && arguments.minZoom != Viewp
ortArguments::ValueAuto); | 4095 || (arguments.minZoom == arguments.maxZoom && arguments.minZoom != Viewp
ortArguments::ValueAuto); |
4092 } | 4096 } |
4093 | 4097 |
4094 } // namespace WebKit | 4098 } // namespace WebKit |
OLD | NEW |