[webkit-changes] [134289] trunk/Source

2012-11-12 Thread aelias
Title: [134289] trunk/Source








Revision 134289
Author ael...@chromium.org
Date 2012-11-12 13:02:11 -0800 (Mon, 12 Nov 2012)


Log Message
[chromium] Delete WebCompositor.h
https://bugs.webkit.org/show_bug.cgi?id=101137

Reviewed by James Robinson.

The implementation of this class is getting deleted and all
WebKit-side users are already going via WebCompositorSupport instead.

Source/Platform:

* Platform.gypi:
* chromium/public/WebCompositor.h: Removed.

Source/WebKit/chromium:

* tests/WebCompositorInputHandlerImplTest.cpp:

Modified Paths

trunk/Source/Platform/ChangeLog
trunk/Source/Platform/Platform.gypi
trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/tests/WebCompositorInputHandlerImplTest.cpp


Removed Paths

trunk/Source/Platform/chromium/public/WebCompositor.h




Diff

Modified: trunk/Source/Platform/ChangeLog (134288 => 134289)

--- trunk/Source/Platform/ChangeLog	2012-11-12 20:58:20 UTC (rev 134288)
+++ trunk/Source/Platform/ChangeLog	2012-11-12 21:02:11 UTC (rev 134289)
@@ -1,3 +1,16 @@
+2012-11-12  Alexandre Elias  
+
+[chromium] Delete WebCompositor.h
+https://bugs.webkit.org/show_bug.cgi?id=101137
+
+Reviewed by James Robinson.
+
+The implementation of this class is getting deleted and all
+WebKit-side users are already going via WebCompositorSupport instead.
+
+* Platform.gypi:
+* chromium/public/WebCompositor.h: Removed.
+
 2012-11-12  Tommy Widenflycht  
 
 MediaStream API: Schedule the RTCDataChannel events to be triggered at idle state


Modified: trunk/Source/Platform/Platform.gypi (134288 => 134289)

--- trunk/Source/Platform/Platform.gypi	2012-11-12 20:58:20 UTC (rev 134288)
+++ trunk/Source/Platform/Platform.gypi	2012-11-12 21:02:11 UTC (rev 134289)
@@ -44,7 +44,6 @@
 'chromium/public/WebClipboard.h',
 'chromium/public/WebColor.h',
 'chromium/public/WebCommon.h',
-'chromium/public/WebCompositor.h',
 'chromium/public/WebCompositorSupport.h',
 'chromium/public/WebCompositorSoftwareOutputDevice.h',
 'chromium/public/WebCompositorOutputSurface.h',


Deleted: trunk/Source/Platform/chromium/public/WebCompositor.h (134288 => 134289)

--- trunk/Source/Platform/chromium/public/WebCompositor.h	2012-11-12 20:58:20 UTC (rev 134288)
+++ trunk/Source/Platform/chromium/public/WebCompositor.h	2012-11-12 21:02:11 UTC (rev 134289)
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2011 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1.  Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2.  Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef WebCompositor_h
-#define WebCompositor_h
-
-#include "WebCommon.h"
-
-namespace WebKit {
-
-class WebThread;
-
-// This class contains global routines for interacting with the
-// compositor.
-//
-// All calls to the WebCompositor must be made from the main thread.
-class WebCompositor {
-public:
-// Initializes the compositor. Threaded compositing is enabled by passing in
-// a non-null WebThread. No compositor classes or methods should be used
-// prior to calling initialize.
-WEBKIT_EXPORT static void initialize(WebThread*);
-
-// Returns whether the compositor was initialized with threading enabled.
-WEBKIT_EXPORT static bool isThreadingEnabled();
-
-// Shuts down the compositor. This must be called when all compositor data
-// types have been deleted. No compositor classes or methods should be used
-// after shutdown.
-WEBKIT_EXPORT static void shutdown();
-
-// These may only be called before initialize.
-WEBKIT_EXPORT static void setPerTilePaintingEnabled(bool);
-WEBKIT_EXPORT static void setPartialSwapEnabled(bool);
-WEBKIT_EXPORT static void setAcceleratedAnimation

[webkit-changes] [135808] trunk/Source/WebKit/chromium

2012-11-26 Thread aelias
Title: [135808] trunk/Source/WebKit/chromium








Revision 135808
Author ael...@chromium.org
Date 2012-11-26 20:08:51 -0800 (Mon, 26 Nov 2012)


Log Message
[chromium] Touchscreen fling handling
https://bugs.webkit.org/show_bug.cgi?id=103278

Reviewed by James Robinson.

The fling logic for touchpad can fall through to bad
performance in several ways. This patch introduces an alternate
path for touchscreen fling that simplifies it as follows:

- Stop generating wheel events, to prevent unnecessary scrollBegin hit
tests and to avoid falling back to slow path if a wheel handler is
registered.

- Drop the event on ScrollStatusIgnored. There's no real reason to
send the event to the WebKit thread here.

- Don't call transferActiveWheelFlingAnimation. This type of
transition shouldn't be needed with touchscreen flings.

* src/WebCompositorInputHandlerImpl.cpp:
(WebKit::WebCompositorInputHandlerImpl::handleGestureFling):
(WebKit::WebCompositorInputHandlerImpl::animate):
(WebKit::WebCompositorInputHandlerImpl::cancelCurrentFling):
(WebKit::WebCompositorInputHandlerImpl::scrollBy):
* src/WebCompositorInputHandlerImpl.h:

Modified Paths

trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp
trunk/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.h
trunk/Source/WebKit/chromium/tests/WebCompositorInputHandlerImplTest.cpp




Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (135807 => 135808)

--- trunk/Source/WebKit/chromium/ChangeLog	2012-11-27 04:03:53 UTC (rev 135807)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-11-27 04:08:51 UTC (rev 135808)
@@ -1,3 +1,31 @@
+2012-11-26  Alexandre Elias  
+
+[chromium] Touchscreen fling handling
+https://bugs.webkit.org/show_bug.cgi?id=103278
+
+Reviewed by James Robinson.
+
+The fling logic for touchpad can fall through to bad
+performance in several ways. This patch introduces an alternate
+path for touchscreen fling that simplifies it as follows:
+
+- Stop generating wheel events, to prevent unnecessary scrollBegin hit
+tests and to avoid falling back to slow path if a wheel handler is
+registered.
+
+- Drop the event on ScrollStatusIgnored. There's no real reason to
+send the event to the WebKit thread here.
+
+- Don't call transferActiveWheelFlingAnimation. This type of
+transition shouldn't be needed with touchscreen flings.
+
+* src/WebCompositorInputHandlerImpl.cpp:
+(WebKit::WebCompositorInputHandlerImpl::handleGestureFling):
+(WebKit::WebCompositorInputHandlerImpl::animate):
+(WebKit::WebCompositorInputHandlerImpl::cancelCurrentFling):
+(WebKit::WebCompositorInputHandlerImpl::scrollBy):
+* src/WebCompositorInputHandlerImpl.h:
+
 2012-11-26  Kentaro Hara  
 
 [V8] Remove WorkerContextExecutionProxy.{h,cpp}


Modified: trunk/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp (135807 => 135808)

--- trunk/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp	2012-11-27 04:03:53 UTC (rev 135807)
+++ trunk/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp	2012-11-27 04:08:51 UTC (rev 135808)
@@ -118,7 +118,7 @@
 WebInputHandlerClient::ScrollStatus scrollStatus = m_inputHandlerClient->scrollBegin(WebPoint(wheelEvent.x, wheelEvent.y), WebInputHandlerClient::ScrollInputTypeWheel);
 switch (scrollStatus) {
 case WebInputHandlerClient::ScrollStatusStarted: {
-TRACE_EVENT_INSTANT2("cc", "WebCompositorInputHandlerImpl::handleInput wheel scroll", "deltaX", -wheelEvent.deltaX, "deltaY", -wheelEvent.deltaY);
+TRACE_EVENT_INSTANT2("webkit", "WebCompositorInputHandlerImpl::handleInput wheel scroll", "deltaX", -wheelEvent.deltaX, "deltaY", -wheelEvent.deltaY);
 bool didScroll = m_inputHandlerClient->scrollByIfPossible(WebPoint(wheelEvent.x, wheelEvent.y), IntSize(-wheelEvent.deltaX, -wheelEvent.deltaY));
 m_inputHandlerClient->scrollEnd();
 return didScroll ? DidHandle : DropEvent;
@@ -205,26 +205,30 @@
 WebInputHandlerClient::ScrollStatus scrollStatus = m_inputHandlerClient->scrollBegin(WebPoint(gestureEvent.x, gestureEvent.y), WebInputHandlerClient::ScrollInputTypeGesture);
 switch (scrollStatus) {
 case WebInputHandlerClient::ScrollStatusStarted: {
-m_inputHandlerClient->scrollEnd();
-m_wheelFlingCurve = adoptPtr(Platform::current()->createFlingAnimationCurve(gestureEvent.data.flingStart.sourceDevice, WebFloatPoint(gestureEvent.data.flingStart.velocityX, gestureEvent.data.flingStart.velocityY), WebSize()));
-TRACE_EVENT_ASYNC_BEGIN0("cc", "WebCompositorInputHandlerImpl::handleGestureFling::started", this);
-m_wheelFlingParameters.delta = WebFloatPoint(gestureEvent.data.flingStart.velocityX, gestureEvent.data.flingStart.velocityY);
-m_wheelFlingParameters.point = WebPoint(gestureEvent.x, gestureEv

[webkit-changes] [136029] trunk/Source/WebKit/chromium

2012-11-28 Thread aelias
Title: [136029] trunk/Source/WebKit/chromium








Revision 136029
Author ael...@chromium.org
Date 2012-11-28 11:11:15 -0800 (Wed, 28 Nov 2012)


Log Message
[chromium] Handle pinch correctly in slow-scrolling area
https://bugs.webkit.org/show_bug.cgi?id=102740

Reviewed by James Robinson.

With the nonmodal gesture event model, pinch zoom gestures involve
interleaved pinch and scroll events. This caused a bug on slow-scroll
areas: the scroll events were sent to the main thread and
the pinch events were handled in the impl thread.

This patch makes it so that scroll events are always handled in the impl
thread if a pinch is active.

* src/WebCompositorInputHandlerImpl.cpp:
(WebKit::WebCompositorInputHandlerImpl::WebCompositorInputHandlerImpl):
(WebKit::WebCompositorInputHandlerImpl::handleInputEventInternal):
* src/WebCompositorInputHandlerImpl.h:
* tests/WebCompositorInputHandlerImplTest.cpp:
(WebKit::TEST_F):
(WebKit):

Modified Paths

trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp
trunk/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.h
trunk/Source/WebKit/chromium/tests/WebCompositorInputHandlerImplTest.cpp




Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (136028 => 136029)

--- trunk/Source/WebKit/chromium/ChangeLog	2012-11-28 19:01:35 UTC (rev 136028)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-11-28 19:11:15 UTC (rev 136029)
@@ -1,3 +1,26 @@
+2012-11-28  Alexandre Elias  
+
+[chromium] Handle pinch correctly in slow-scrolling area
+https://bugs.webkit.org/show_bug.cgi?id=102740
+
+Reviewed by James Robinson.
+
+With the nonmodal gesture event model, pinch zoom gestures involve
+interleaved pinch and scroll events. This caused a bug on slow-scroll
+areas: the scroll events were sent to the main thread and
+the pinch events were handled in the impl thread.
+
+This patch makes it so that scroll events are always handled in the impl
+thread if a pinch is active.
+
+* src/WebCompositorInputHandlerImpl.cpp:
+(WebKit::WebCompositorInputHandlerImpl::WebCompositorInputHandlerImpl):
+(WebKit::WebCompositorInputHandlerImpl::handleInputEventInternal):
+* src/WebCompositorInputHandlerImpl.h:
+* tests/WebCompositorInputHandlerImplTest.cpp:
+(WebKit::TEST_F):
+(WebKit):
+
 2012-11-28  Sadrul Habib Chowdhury  
 
 [chromium] Allow plugins to opt-in to receive synthetic mouse events out of touch events.


Modified: trunk/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp (136028 => 136029)

--- trunk/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp	2012-11-28 19:01:35 UTC (rev 136028)
+++ trunk/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp	2012-11-28 19:11:15 UTC (rev 136029)
@@ -69,7 +69,8 @@
 , m_expectScrollUpdateEnd(false)
 , m_expectPinchUpdateEnd(false)
 #endif
-, m_gestureScrollStarted(false)
+, m_gestureScrollOnImplThread(false)
+, m_gesturePinchOnImplThread(false)
 {
 }
 
@@ -131,7 +132,7 @@
 return DidNotHandle;
 }
 } else if (event.type == WebInputEvent::GestureScrollBegin) {
-ASSERT(!m_gestureScrollStarted);
+ASSERT(!m_gestureScrollOnImplThread);
 ASSERT(!m_expectScrollUpdateEnd);
 #ifndef NDEBUG
 m_expectScrollUpdateEnd = true;
@@ -140,7 +141,7 @@
 WebInputHandlerClient::ScrollStatus scrollStatus = m_inputHandlerClient->scrollBegin(WebPoint(gestureEvent.x, gestureEvent.y), WebInputHandlerClient::ScrollInputTypeGesture);
 switch (scrollStatus) {
 case WebInputHandlerClient::ScrollStatusStarted:
-m_gestureScrollStarted = true;
+m_gestureScrollOnImplThread = true;
 return DidHandle;
 case WebInputHandlerClient::ScrollStatusOnMainThread:
 return DidNotHandle;
@@ -150,7 +151,7 @@
 } else if (event.type == WebInputEvent::GestureScrollUpdate) {
 ASSERT(m_expectScrollUpdateEnd);
 
-if (!m_gestureScrollStarted)
+if (!m_gestureScrollOnImplThread && !m_gesturePinchOnImplThread)
 return DidNotHandle;
 
 const WebGestureEvent& gestureEvent = *static_cast(&event);
@@ -162,11 +163,11 @@
 #ifndef NDEBUG
 m_expectScrollUpdateEnd = false;
 #endif
-if (!m_gestureScrollStarted)
+if (!m_gestureScrollOnImplThread)
 return DidNotHandle;
 
 m_inputHandlerClient->scrollEnd();
-m_gestureScrollStarted = false;
+m_gestureScrollOnImplThread = false;
 return DidHandle;
 } else if (event.type == WebInputEvent::GesturePinchBegin) {
 ASSERT(!m_expectPinchUpdateEnd);
@@ -174,12 +175,14 @@
 m_expectPinchUpdateEnd = true;
 #endif
 m_inputHandlerClient->pinchGestureBegin();
+m_gesturePinchOnImplThread = true;
 return DidHandle;
 } else if (event.type == WebInputEvent::Gesture

[webkit-changes] [143355] trunk/Source/WebKit/chromium

2013-02-19 Thread aelias
Title: [143355] trunk/Source/WebKit/chromium








Revision 143355
Author ael...@chromium.org
Date 2013-02-19 10:42:27 -0800 (Tue, 19 Feb 2013)


Log Message
[chromium] Fix races in double-tap zoom minimum scale policy
https://bugs.webkit.org/show_bug.cgi?id=110183

Reviewed by Adam Barth.

Double-tap zoom on Android is supposed to return to minimum scale
if no pinch zoom occurred since the last double-tap. Because both
pinch zoom and the result of double-tap zoom gets passed in from CC
via applyScrollAndScale, this logic was brittle and prone to races
depending on when the animation update was received. This patch
keeps track of what the target double-tap scale is to make it more
robust.

I also fixed double-tap zoom test mocking to exercise the entire
page scale animation flow (our previous way of testing was hiding the
raciness), and added a new test case in DivAutoZoomMultipleParamsTest.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::startPageScaleAnimation):
(WebKit):
(WebKit::WebViewImpl::enableFakeDoubleTapAnimationForTesting):
(WebKit::WebViewImpl::computeScaleAndScrollForHitRect):
(WebKit::WebViewImpl::animateZoomAroundPoint):
(WebKit::WebViewImpl::didCommitLoad):
(WebKit::WebViewImpl::applyScrollAndScale):
* src/WebViewImpl.h:
(WebViewImpl):
(WebKit::WebViewImpl::fakeDoubleTapAnimationPendingForTesting):
(WebKit::WebViewImpl::fakeDoubleTapTargetPositionForTesting):
(WebKit::WebViewImpl::fakeDoubleTapPageScaleFactorForTesting):
(WebKit::WebViewImpl::fakeDoubleTapUseAnchorForTesting):
* tests/WebFrameTest.cpp:

Modified Paths

trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/src/WebViewImpl.cpp
trunk/Source/WebKit/chromium/src/WebViewImpl.h
trunk/Source/WebKit/chromium/tests/WebFrameTest.cpp




Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (143354 => 143355)

--- trunk/Source/WebKit/chromium/ChangeLog	2013-02-19 18:40:03 UTC (rev 143354)
+++ trunk/Source/WebKit/chromium/ChangeLog	2013-02-19 18:42:27 UTC (rev 143355)
@@ -1,3 +1,39 @@
+2013-02-19  Alexandre Elias  
+
+[chromium] Fix races in double-tap zoom minimum scale policy
+https://bugs.webkit.org/show_bug.cgi?id=110183
+
+Reviewed by Adam Barth.
+
+Double-tap zoom on Android is supposed to return to minimum scale
+if no pinch zoom occurred since the last double-tap. Because both
+pinch zoom and the result of double-tap zoom gets passed in from CC
+via applyScrollAndScale, this logic was brittle and prone to races
+depending on when the animation update was received. This patch
+keeps track of what the target double-tap scale is to make it more
+robust.
+
+I also fixed double-tap zoom test mocking to exercise the entire
+page scale animation flow (our previous way of testing was hiding the
+raciness), and added a new test case in DivAutoZoomMultipleParamsTest.
+
+* src/WebViewImpl.cpp:
+(WebKit::WebViewImpl::WebViewImpl):
+(WebKit::WebViewImpl::startPageScaleAnimation):
+(WebKit):
+(WebKit::WebViewImpl::enableFakeDoubleTapAnimationForTesting):
+(WebKit::WebViewImpl::computeScaleAndScrollForHitRect):
+(WebKit::WebViewImpl::animateZoomAroundPoint):
+(WebKit::WebViewImpl::didCommitLoad):
+(WebKit::WebViewImpl::applyScrollAndScale):
+* src/WebViewImpl.h:
+(WebViewImpl):
+(WebKit::WebViewImpl::fakeDoubleTapAnimationPendingForTesting):
+(WebKit::WebViewImpl::fakeDoubleTapTargetPositionForTesting):
+(WebKit::WebViewImpl::fakeDoubleTapPageScaleFactorForTesting):
+(WebKit::WebViewImpl::fakeDoubleTapUseAnchorForTesting):
+* tests/WebFrameTest.cpp:
+
 2013-02-19  Joshua Bell  
 
 IndexedDB: additional checks on LevelDB decoding


Modified: trunk/Source/WebKit/chromium/src/WebViewImpl.cpp (143354 => 143355)

--- trunk/Source/WebKit/chromium/src/WebViewImpl.cpp	2013-02-19 18:40:03 UTC (rev 143354)
+++ trunk/Source/WebKit/chromium/src/WebViewImpl.cpp	2013-02-19 18:42:27 UTC (rev 143355)
@@ -399,8 +399,11 @@
 , m_ignoreViewportTagMaximumScale(false)
 , m_pageScaleFactorIsSet(false)
 , m_savedPageScaleFactor(0)
-, m_doubleTapZoomInEffect(false)
-, m_shouldUseDoubleTapTimeZero(false)
+, m_doubleTapZoomPageScaleFactor(0)
+, m_doubleTapZoomPending(false)
+, m_enableFakeDoubleTapAnimationForTesting(false)
+, m_fakeDoubleTapPageScaleFactor(0)
+, m_fakeDoubleTapUseAnchor(false)
 , m_contextMenuAllowed(false)
 , m_doingDragAndDrop(false)
 , m_ignoreInputEvents(false)
@@ -856,20 +859,35 @@
 scheduleAnimation();
 }
 
-void WebViewImpl::startPageScaleAnimation(const IntPoint& targetPosition, bool useAnchor, float newScale, double durationInSeconds)
+bool WebViewImpl::startPageScaleAnimation(const IntPoint& targetPosition, bool useAnchor, float newScale, double durationInSeconds)
 {
 WebPoint clampedPoint = targe

[webkit-changes] [143774] branches/chromium/1410/Source/WebKit/chromium

2013-02-22 Thread aelias
Title: [143774] branches/chromium/1410/Source/WebKit/chromium








Revision 143774
Author ael...@chromium.org
Date 2013-02-22 12:31:26 -0800 (Fri, 22 Feb 2013)


Log Message
Merge 142571
> [chromium] Apply page scale to all WebInputEvent types
> https://bugs.webkit.org/show_bug.cgi?id=109370
> 
> Reviewed by James Robinson.
> 
> Previously we only adjusted a few common input event types by page
> scale, but in fact almost every position and size in WebInputEvents
> requires it.
> 
> I also took the opportunity to change some WebGestureEvent members to
> floats (which I checked causes no warnings in Chromium-side code with
> GCC or Clang).
> 
> New WebInputEventConversionTest: InputEventsScaling
> 
> * public/WebInputEvent.h:
> (WebKit::WebGestureEvent::WebGestureEvent):
> * src/WebInputEventConversion.cpp:
> (WebKit::widgetScaleFactor):
> (WebKit):
> (WebKit::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
> (WebKit::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
> (WebKit::PlatformGestureEventBuilder::PlatformGestureEventBuilder):
> (WebKit::PlatformTouchPointBuilder::PlatformTouchPointBuilder):
> (WebKit::updateWebMouseEventFromWebCoreMouseEvent):
> (WebKit::WebMouseEventBuilder::WebMouseEventBuilder):
> (WebKit::addTouchPoints):
> (WebKit::WebTouchEventBuilder::WebTouchEventBuilder):
> (WebKit::WebGestureEventBuilder::WebGestureEventBuilder):
> * src/WebViewImpl.cpp:
> (WebKit::WebViewImpl::handleGestureEvent):
> (WebKit::WebViewImpl::hasTouchEventHandlersAt):
> (WebKit::WebViewImpl::handleInputEvent):
> * tests/WebInputEventConversionTest.cpp:
> (WebCore::TEST):
> (WebCore):
> 

TBR=ael...@chromium.org
Review URL: https://codereview.chromium.org/12319074

Modified Paths

branches/chromium/1410/Source/WebKit/chromium/ChangeLog
branches/chromium/1410/Source/WebKit/chromium/public/WebInputEvent.h
branches/chromium/1410/Source/WebKit/chromium/src/WebInputEventConversion.cpp
branches/chromium/1410/Source/WebKit/chromium/src/WebViewImpl.cpp
branches/chromium/1410/Source/WebKit/chromium/tests/WebInputEventConversionTest.cpp




Diff

Modified: branches/chromium/1410/Source/WebKit/chromium/ChangeLog (143773 => 143774)

--- branches/chromium/1410/Source/WebKit/chromium/ChangeLog	2013-02-22 20:30:58 UTC (rev 143773)
+++ branches/chromium/1410/Source/WebKit/chromium/ChangeLog	2013-02-22 20:31:26 UTC (rev 143774)
@@ -1,3 +1,192 @@
+2013-02-11  Alexandre Elias  
+
+[chromium] Apply page scale to all WebInputEvent types
+https://bugs.webkit.org/show_bug.cgi?id=109370
+
+Reviewed by James Robinson.
+
+Previously we only adjusted a few common input event types by page
+scale, but in fact almost every position and size in WebInputEvents
+requires it.
+
+I also took the opportunity to change some WebGestureEvent members to
+floats (which I checked causes no warnings in Chromium-side code with
+GCC or Clang).
+
+New WebInputEventConversionTest: InputEventsScaling
+
+* public/WebInputEvent.h:
+(WebKit::WebGestureEvent::WebGestureEvent):
+* src/WebInputEventConversion.cpp:
+(WebKit::widgetScaleFactor):
+(WebKit):
+(WebKit::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
+(WebKit::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
+(WebKit::PlatformGestureEventBuilder::PlatformGestureEventBuilder):
+(WebKit::PlatformTouchPointBuilder::PlatformTouchPointBuilder):
+(WebKit::updateWebMouseEventFromWebCoreMouseEvent):
+(WebKit::WebMouseEventBuilder::WebMouseEventBuilder):
+(WebKit::addTouchPoints):
+(WebKit::WebTouchEventBuilder::WebTouchEventBuilder):
+(WebKit::WebGestureEventBuilder::WebGestureEventBuilder):
+* src/WebViewImpl.cpp:
+(WebKit::WebViewImpl::handleGestureEvent):
+(WebKit::WebViewImpl::hasTouchEventHandlersAt):
+(WebKit::WebViewImpl::handleInputEvent):
+* tests/WebInputEventConversionTest.cpp:
+(WebCore::TEST):
+(WebCore):
+
+2013-02-11  Sheriff Bot  
+
+Unreviewed, rolling out r142568.
+http://trac.webkit.org/changeset/142568
+https://bugs.webkit.org/show_bug.cgi?id=109541
+
+Broke the build, won't compile. (Requested by alancutter on
+#webkit).
+
+* tests/GraphicsLayerChromiumTest.cpp:
+(WebKit::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):
+* tests/ScrollingCoordinatorChromiumTest.cpp:
+(WebKit::FakeWebViewClient::initializeLayerTreeView):
+
+2013-02-11  James Robinson  
+
+[chromium] Add WebUnitTestSupport::createLayerTreeViewForTesting for webkit_unit_tests
+https://bugs.webkit.org/show_bug.cgi?id=109403
+
+Reviewed by Adam Barth.
+
+* tests/GraphicsLayerChromiumTest.cpp:
+(WebKit::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):
+* tests/ScrollingCoordinatorChromiumTest.cpp:
+(WebKit::FakeWebView

[webkit-changes] [143775] branches/chromium/1410/Source/WebKit/chromium

2013-02-22 Thread aelias
Title: [143775] branches/chromium/1410/Source/WebKit/chromium








Revision 143775
Author ael...@chromium.org
Date 2013-02-22 12:33:03 -0800 (Fri, 22 Feb 2013)


Log Message
Merge 142913
> [chromium] Fix scaling in WebViewImpl::handleGestureEvent, second try
> https://bugs.webkit.org/show_bug.cgi?id=109671
> 
> Reviewed by James Robinson.
> 
> My patch 142571 broke a bunch of things in handleGestureEvent that
> assumed the event came in scaled, most notably tap highlight and
> double-tap zoom. Switch those to PlatformGestureEvent.
> 
> 142808 was an earlier version of this patch that was reverted
> due to fling events asserting they can't be converted to
> PlatformGestureEvent. This version moves fling earlier in the
> function to avoid that.
> 
> * src/WebViewImpl.cpp:
> (WebKit::WebViewImpl::handleGestureEvent):
> (WebKit::WebViewImpl::bestTapNode):
> (WebKit::WebViewImpl::enableTapHighlight):
> * src/WebViewImpl.h:
> (WebViewImpl):
> * tests/LinkHighlightTest.cpp:
> (WebCore::TEST):
> 

TBR=ael...@chromium.org
Review URL: https://codereview.chromium.org/12315056

Modified Paths

branches/chromium/1410/Source/WebKit/chromium/ChangeLog
branches/chromium/1410/Source/WebKit/chromium/src/WebViewImpl.cpp
branches/chromium/1410/Source/WebKit/chromium/src/WebViewImpl.h
branches/chromium/1410/Source/WebKit/chromium/tests/LinkHighlightTest.cpp




Diff

Modified: branches/chromium/1410/Source/WebKit/chromium/ChangeLog (143774 => 143775)

--- branches/chromium/1410/Source/WebKit/chromium/ChangeLog	2013-02-22 20:31:26 UTC (rev 143774)
+++ branches/chromium/1410/Source/WebKit/chromium/ChangeLog	2013-02-22 20:33:03 UTC (rev 143775)
@@ -1,3 +1,332 @@
+2013-02-14  Alexandre Elias  
+
+[chromium] Fix scaling in WebViewImpl::handleGestureEvent, second try
+https://bugs.webkit.org/show_bug.cgi?id=109671
+
+Reviewed by James Robinson.
+
+My patch 142571 broke a bunch of things in handleGestureEvent that
+assumed the event came in scaled, most notably tap highlight and
+double-tap zoom. Switch those to PlatformGestureEvent.
+
+142808 was an earlier version of this patch that was reverted
+due to fling events asserting they can't be converted to
+PlatformGestureEvent. This version moves fling earlier in the
+function to avoid that.
+
+* src/WebViewImpl.cpp:
+(WebKit::WebViewImpl::handleGestureEvent):
+(WebKit::WebViewImpl::bestTapNode):
+(WebKit::WebViewImpl::enableTapHighlight):
+* src/WebViewImpl.h:
+(WebViewImpl):
+* tests/LinkHighlightTest.cpp:
+(WebCore::TEST):
+
+2013-02-14  Dirk Pranke  
+
+Unreviewed, rolling out r142901.
+http://trac.webkit.org/changeset/142901
+
+r182258 introduces a dependency on chrome.gyp that breaks the win
+build. Rolling back to r182150 until I can work up a workaround.
+
+* DEPS:
+
+2013-02-14  Dirk Pranke  
+
+Unreviewed, chromium roll 182150 -> 182448
+
+* DEPS:
+
+2013-02-14  Mark Pilgrim  
+
+[Chromium] Move PlatformMessagePortChannel to WebCore
+https://bugs.webkit.org/show_bug.cgi?id=109845
+
+Reviewed by Adam Barth.
+
+Part of a larger refactoring series; see tracking bug 106829.
+
+* WebKit.gyp:
+* src/PlatformMessagePortChannel.cpp: Removed.
+* src/PlatformMessagePortChannel.h: Removed.
+* src/SharedWorkerRepository.cpp:
+* src/WebDOMMessageEvent.cpp:
+* src/WebFrameImpl.cpp:
+* src/WebSharedWorkerImpl.cpp:
+* src/WebWorkerClientImpl.cpp:
+
+2013-02-14  Min Qin  
+
+Passing alpha to DeferredImageDecoder once decoding completes
+https://bugs.webkit.org/show_bug.cgi?id=108892
+
+Reviewed by Stephen White.
+
+Add test to check that alpha value is passed from the decoder to ImageFrameGenerator.
+
+* tests/ImageFrameGeneratorTest.cpp:
+(WebCore::MockImageDecoderFactory::create):
+(WebCore::TEST_F):
+* tests/MockImageDecoder.h:
+(WebCore::MockImageDecoder::MockImageDecoder):
+(WebCore::MockImageDecoder::setFrameHasAlpha):
+(MockImageDecoder):
+(WebCore::MockImageDecoder::frameHasAlphaAtIndex):
+
+2013-02-08  Andrey Kosyakov  
+
+Web Inspector: expose did{Begin,Cancel}Frame() and {will,did}Composite() on WebDebToolsAgent
+https://bugs.webkit.org/show_bug.cgi?id=109192
+
+Reviewed by Pavel Feldman.
+
+- expose frame and compositing insturmentation methods on WebDevToolsAgent;
+- temporarily route them from WebViewImpl to WebDevToolsAgent;
+
+* public/WebDevToolsAgent.h:
+(WebDevToolsAgent):
+* src/WebDevToolsAgentImpl.cpp:
+(WebKit::WebDevToolsAgentImpl::didBeginFrame):
+(WebKit):
+(WebKit::WebDevToolsAgentImpl::didCancelFrame):
+(WebKit::WebDevToolsAgentImpl::willComposite):
+(WebKit::WebDevToolsAgen

[webkit-changes] [143776] branches/chromium/1410/Source/WebKit/chromium

2013-02-22 Thread aelias
Title: [143776] branches/chromium/1410/Source/WebKit/chromium








Revision 143776
Author ael...@chromium.org
Date 2013-02-22 12:34:40 -0800 (Fri, 22 Feb 2013)


Log Message
Merge 142927
> [chromium] No triggering autofill on unfocus
> https://bugs.webkit.org/show_bug.cgi?id=109735
> 
> Patch by David Trainor  on 2013-02-14
> Reviewed by James Robinson.
> 
> Need to notify the autofill client to not process text changes when we're setting
> focus to false and are trying to commit a composition.
> 
> * public/WebAutofillClient.h:
> (WebAutofillClient):
> (WebKit::WebAutofillClient::setIgnoreTextChanges):
> (WebKit::WebAutofillClient::~WebAutofillClient):
> * src/WebViewImpl.cpp:
> (WebKit::WebViewImpl::setFocus):
> * tests/WebViewTest.cpp:

TBR=commit-qu...@webkit.org
Review URL: https://codereview.chromium.org/12340032

Modified Paths

branches/chromium/1410/Source/WebKit/chromium/ChangeLog
branches/chromium/1410/Source/WebKit/chromium/public/WebAutofillClient.h
branches/chromium/1410/Source/WebKit/chromium/src/WebViewImpl.cpp
branches/chromium/1410/Source/WebKit/chromium/tests/WebViewTest.cpp




Diff

Modified: branches/chromium/1410/Source/WebKit/chromium/ChangeLog (143775 => 143776)

--- branches/chromium/1410/Source/WebKit/chromium/ChangeLog	2013-02-22 20:33:03 UTC (rev 143775)
+++ branches/chromium/1410/Source/WebKit/chromium/ChangeLog	2013-02-22 20:34:40 UTC (rev 143776)
@@ -1,3 +1,21 @@
+2013-02-14  David Trainor  
+
+[chromium] No triggering autofill on unfocus
+https://bugs.webkit.org/show_bug.cgi?id=109735
+
+Reviewed by James Robinson.
+
+Need to notify the autofill client to not process text changes when we're setting
+focus to false and are trying to commit a composition.
+
+* public/WebAutofillClient.h:
+(WebAutofillClient):
+(WebKit::WebAutofillClient::setIgnoreTextChanges):
+(WebKit::WebAutofillClient::~WebAutofillClient):
+* src/WebViewImpl.cpp:
+(WebKit::WebViewImpl::setFocus):
+* tests/WebViewTest.cpp:
+
 2013-02-14  Alexandre Elias  
 
 [chromium] Fix scaling in WebViewImpl::handleGestureEvent, second try


Modified: branches/chromium/1410/Source/WebKit/chromium/public/WebAutofillClient.h (143775 => 143776)

--- branches/chromium/1410/Source/WebKit/chromium/public/WebAutofillClient.h	2013-02-22 20:33:03 UTC (rev 143775)
+++ branches/chromium/1410/Source/WebKit/chromium/public/WebAutofillClient.h	2013-02-22 20:34:40 UTC (rev 143776)
@@ -90,8 +90,11 @@
 virtual void textFieldDidChange(const WebInputElement&) { }
 virtual void textFieldDidReceiveKeyDown(const WebInputElement&, const WebKeyboardEvent&) { }
 
+// Informs the client whether or not any subsequent text changes should be ignored.
+virtual void setIgnoreTextChanges(bool ignore) { }
+
 protected:
-~WebAutofillClient() { }
+virtual ~WebAutofillClient() { }
 };
 
 } // namespace WebKit


Modified: branches/chromium/1410/Source/WebKit/chromium/src/WebViewImpl.cpp (143775 => 143776)

--- branches/chromium/1410/Source/WebKit/chromium/src/WebViewImpl.cpp	2013-02-22 20:33:03 UTC (rev 143775)
+++ branches/chromium/1410/Source/WebKit/chromium/src/WebViewImpl.cpp	2013-02-22 20:34:40 UTC (rev 143776)
@@ -2151,8 +2151,15 @@
 if (focusedFrame) {
 // Finish an ongoing composition to delete the composition node.
 Editor* editor = focusedFrame->editor();
-if (editor && editor->hasComposition())
+if (editor && editor->hasComposition()) {
+if (m_autofillClient)
+m_autofillClient->setIgnoreTextChanges(true);
+
 editor->confirmComposition();
+
+if (m_autofillClient)
+m_autofillClient->setIgnoreTextChanges(false);
+}
 m_imeAcceptEvents = false;
 }
 }


Modified: branches/chromium/1410/Source/WebKit/chromium/tests/WebViewTest.cpp (143775 => 143776)

--- branches/chromium/1410/Source/WebKit/chromium/tests/WebViewTest.cpp	2013-02-22 20:33:03 UTC (rev 143775)
+++ branches/chromium/1410/Source/WebKit/chromium/tests/WebViewTest.cpp	2013-02-22 20:34:40 UTC (rev 143776)
@@ -37,6 +37,7 @@
 #include "FrameView.h"
 #include "HTMLDocument.h"
 #include "URLTestHelpers.h"
+#include "WebAutofillClient.h"
 #include "WebContentDetectionResult.h"
 #include "WebDocument.h"
 #include "WebElement.h"
@@ -720,4 +721,96 @@
 webView->close();
 }
 
+class MockAutofillClient : public WebAutofillClient {
+public:
+MockAutofillClient()
+: m_ignoreTextChanges(false)
+, m_textChangesWhileIgnored(0)
+, m_textChangesWhileNotIgnored(0) { }
+
+virtual ~MockAutofillClient() { }
+
+virtual void setIgnoreTextChanges(bool ignore) OVERRIDE { m_ignoreTextChanges = ignore; }
+virtual void textFieldDidChange(const WebInputElement&) OVERRIDE
+{
+if (m_ignoreTextChanges)
+++m_textChangesWhileIgnored;
+else
+   

[webkit-changes] [143777] branches/chromium/1410/Source/WebKit/chromium

2013-02-22 Thread aelias
Title: [143777] branches/chromium/1410/Source/WebKit/chromium








Revision 143777
Author ael...@chromium.org
Date 2013-02-22 12:35:40 -0800 (Fri, 22 Feb 2013)


Log Message
Merge 143032
> [chromium] WebInputEventBuilders should not reverse page scale
> https://bugs.webkit.org/show_bug.cgi?id=109901
> 
> Reviewed by James Robinson.
> 
> Though in theory logical that if WebInputEvent -> PlatformEvent
> conversions divide by page scale, then the reverse builders should
> multiply, in reality the only user of the reverse builders is
> plugins which expect the same coordinate space as WebCore.
> 
> * src/WebInputEventConversion.cpp:
> (WebKit::updateWebMouseEventFromWebCoreMouseEvent):
> (WebKit::WebMouseEventBuilder::WebMouseEventBuilder):
> (WebKit::addTouchPoints):
> (WebKit::WebGestureEventBuilder::WebGestureEventBuilder):
> * tests/WebInputEventConversionTest.cpp:
> (WebCore::TEST):
> 

TBR=ael...@chromium.org
Review URL: https://codereview.chromium.org/12330081

Modified Paths

branches/chromium/1410/Source/WebKit/chromium/ChangeLog
branches/chromium/1410/Source/WebKit/chromium/src/WebInputEventConversion.cpp
branches/chromium/1410/Source/WebKit/chromium/tests/WebInputEventConversionTest.cpp




Diff

Modified: branches/chromium/1410/Source/WebKit/chromium/ChangeLog (143776 => 143777)

--- branches/chromium/1410/Source/WebKit/chromium/ChangeLog	2013-02-22 20:34:40 UTC (rev 143776)
+++ branches/chromium/1410/Source/WebKit/chromium/ChangeLog	2013-02-22 20:35:40 UTC (rev 143777)
@@ -1,3 +1,104 @@
+2013-02-15  Alexandre Elias  
+
+[chromium] WebInputEventBuilders should not reverse page scale
+https://bugs.webkit.org/show_bug.cgi?id=109901
+
+Reviewed by James Robinson.
+
+Though in theory logical that if WebInputEvent -> PlatformEvent
+conversions divide by page scale, then the reverse builders should
+multiply, in reality the only user of the reverse builders is
+plugins which expect the same coordinate space as WebCore.
+
+* src/WebInputEventConversion.cpp:
+(WebKit::updateWebMouseEventFromWebCoreMouseEvent):
+(WebKit::WebMouseEventBuilder::WebMouseEventBuilder):
+(WebKit::addTouchPoints):
+(WebKit::WebGestureEventBuilder::WebGestureEventBuilder):
+* tests/WebInputEventConversionTest.cpp:
+(WebCore::TEST):
+
+2013-02-15  Anders Carlsson  
+
+Remove const from a bunch of StorageArea member functions
+https://bugs.webkit.org/show_bug.cgi?id=109957
+
+Reviewed by Beth Dakin.
+
+Update for WebCore changes.
+
+* src/StorageAreaProxy.cpp:
+(WebCore::StorageAreaProxy::length):
+(WebCore::StorageAreaProxy::key):
+(WebCore::StorageAreaProxy::getItem):
+(WebCore::StorageAreaProxy::contains):
+(WebCore::StorageAreaProxy::canAccessStorage):
+(WebCore::StorageAreaProxy::memoryBytesUsedByCache):
+* src/StorageAreaProxy.h:
+(StorageAreaProxy):
+
+2013-02-15  Keishi Hattori  
+
+PagePopupController.formatMonth should support short month format
+https://bugs.webkit.org/show_bug.cgi?id=109530
+
+Reviewed by Kent Tamura.
+
+* tests/LocaleMacTest.cpp:
+(LocaleMacTest::formatMonth):
+(TEST_F):
+
+2013-02-15  Keishi Hattori  
+
+Add setValue and closePopup methods to PagePopupController
+https://bugs.webkit.org/show_bug.cgi?id=109897
+
+Reviewed by Kent Tamura.
+
+* src/ColorChooserPopupUIController.cpp:
+(WebKit::ColorChooserPopupUIController::setValue):
+(WebKit):
+* src/ColorChooserPopupUIController.h:
+(ColorChooserPopupUIController):
+* src/DateTimeChooserImpl.cpp:
+(WebKit::DateTimeChooserImpl::setValueAndClosePopup): Use setValue and closePopup.
+(WebKit):
+(WebKit::DateTimeChooserImpl::setValue):
+(WebKit::DateTimeChooserImpl::closePopup):
+* src/DateTimeChooserImpl.h:
+(DateTimeChooserImpl):
+
+2013-02-15  Allan Sandfeld Jensen  
+
+Simplify hitTestResultAtPoint and nodesFromRect APIs
+https://bugs.webkit.org/show_bug.cgi?id=95720
+
+Reviewed by Julien Chaffraix.
+
+Update calls to new API.
+
+* src/ContextMenuClientImpl.cpp:
+(WebKit::selectMisspelledWord):
+* src/FrameLoaderClientImpl.cpp:
+(WebKit::FrameLoaderClientImpl::dispatchDecidePolicyForNavigationAction):
+* src/WebFrameImpl.cpp:
+(WebKit::WebFrameImpl::characterIndexForPoint):
+* src/WebPluginContainerImpl.cpp:
+(WebKit::WebPluginContainerImpl::isRectTopmost):
+* src/WebViewImpl.cpp:
+(WebKit::WebViewImpl::handleMouseDown):
+(WebKit::WebViewImpl::computeBlockBounds):
+(WebKit::WebViewImpl::bestTouchLinkNode):
+(WebKit::WebViewImpl::hitTestResultForWindowPos):
+
+2013-02-14  Vsevolod Vlasov  
+
+Unreviewed chromium test fix: incorrect fi

[webkit-changes] [143778] branches/chromium/1410/Source/WebKit/chromium

2013-02-22 Thread aelias
Title: [143778] branches/chromium/1410/Source/WebKit/chromium








Revision 143778
Author ael...@chromium.org
Date 2013-02-22 12:37:32 -0800 (Fri, 22 Feb 2013)


Log Message
Merge 143355
> [chromium] Fix races in double-tap zoom minimum scale policy
> https://bugs.webkit.org/show_bug.cgi?id=110183
> 
> Reviewed by Adam Barth.
> 
> Double-tap zoom on Android is supposed to return to minimum scale
> if no pinch zoom occurred since the last double-tap. Because both
> pinch zoom and the result of double-tap zoom gets passed in from CC
> via applyScrollAndScale, this logic was brittle and prone to races
> depending on when the animation update was received. This patch
> keeps track of what the target double-tap scale is to make it more
> robust.
> 
> I also fixed double-tap zoom test mocking to exercise the entire
> page scale animation flow (our previous way of testing was hiding the
> raciness), and added a new test case in DivAutoZoomMultipleParamsTest.
> 
> * src/WebViewImpl.cpp:
> (WebKit::WebViewImpl::WebViewImpl):
> (WebKit::WebViewImpl::startPageScaleAnimation):
> (WebKit):
> (WebKit::WebViewImpl::enableFakeDoubleTapAnimationForTesting):
> (WebKit::WebViewImpl::computeScaleAndScrollForHitRect):
> (WebKit::WebViewImpl::animateZoomAroundPoint):
> (WebKit::WebViewImpl::didCommitLoad):
> (WebKit::WebViewImpl::applyScrollAndScale):
> * src/WebViewImpl.h:
> (WebViewImpl):
> (WebKit::WebViewImpl::fakeDoubleTapAnimationPendingForTesting):
> (WebKit::WebViewImpl::fakeDoubleTapTargetPositionForTesting):
> (WebKit::WebViewImpl::fakeDoubleTapPageScaleFactorForTesting):
> (WebKit::WebViewImpl::fakeDoubleTapUseAnchorForTesting):
> * tests/WebFrameTest.cpp:
> 

TBR=ael...@chromium.org
Review URL: https://codereview.chromium.org/12330082

Modified Paths

branches/chromium/1410/Source/WebKit/chromium/ChangeLog
branches/chromium/1410/Source/WebKit/chromium/src/WebViewImpl.cpp
branches/chromium/1410/Source/WebKit/chromium/src/WebViewImpl.h
branches/chromium/1410/Source/WebKit/chromium/tests/WebFrameTest.cpp




Diff

Modified: branches/chromium/1410/Source/WebKit/chromium/ChangeLog (143777 => 143778)

--- branches/chromium/1410/Source/WebKit/chromium/ChangeLog	2013-02-22 20:35:40 UTC (rev 143777)
+++ branches/chromium/1410/Source/WebKit/chromium/ChangeLog	2013-02-22 20:37:32 UTC (rev 143778)
@@ -1,3 +1,147 @@
+2013-02-19  Alexandre Elias  
+
+[chromium] Fix races in double-tap zoom minimum scale policy
+https://bugs.webkit.org/show_bug.cgi?id=110183
+
+Reviewed by Adam Barth.
+
+Double-tap zoom on Android is supposed to return to minimum scale
+if no pinch zoom occurred since the last double-tap. Because both
+pinch zoom and the result of double-tap zoom gets passed in from CC
+via applyScrollAndScale, this logic was brittle and prone to races
+depending on when the animation update was received. This patch
+keeps track of what the target double-tap scale is to make it more
+robust.
+
+I also fixed double-tap zoom test mocking to exercise the entire
+page scale animation flow (our previous way of testing was hiding the
+raciness), and added a new test case in DivAutoZoomMultipleParamsTest.
+
+* src/WebViewImpl.cpp:
+(WebKit::WebViewImpl::WebViewImpl):
+(WebKit::WebViewImpl::startPageScaleAnimation):
+(WebKit):
+(WebKit::WebViewImpl::enableFakeDoubleTapAnimationForTesting):
+(WebKit::WebViewImpl::computeScaleAndScrollForHitRect):
+(WebKit::WebViewImpl::animateZoomAroundPoint):
+(WebKit::WebViewImpl::didCommitLoad):
+(WebKit::WebViewImpl::applyScrollAndScale):
+* src/WebViewImpl.h:
+(WebViewImpl):
+(WebKit::WebViewImpl::fakeDoubleTapAnimationPendingForTesting):
+(WebKit::WebViewImpl::fakeDoubleTapTargetPositionForTesting):
+(WebKit::WebViewImpl::fakeDoubleTapPageScaleFactorForTesting):
+(WebKit::WebViewImpl::fakeDoubleTapUseAnchorForTesting):
+* tests/WebFrameTest.cpp:
+
+2013-02-19  Joshua Bell  
+
+IndexedDB: additional checks on LevelDB decoding
+https://bugs.webkit.org/show_bug.cgi?id=109711
+
+Reviewed by Tony Chang.
+
+* tests/IDBLevelDBCodingTest.cpp: Update test with new method signatures.
+
+2013-02-19  Jochen Eisinger  
+
+[chromium] fix ScrollAnimatorNoneTest after r143295
+https://bugs.webkit.org/show_bug.cgi?id=110189
+
+Reviewed by Nico Weber.
+
+* tests/ScrollAnimatorNoneTest.cpp:
+(MockScrollableArea):
+
+2013-02-18  Simon Fraser  
+
+Clean up the boolean argument to visibleContentRect
+https://bugs.webkit.org/show_bug.cgi?id=110167
+
+Reviewed by Simon Fraser.
+
+Replace the boolean argument to visibleContentRect() with
+an enum.
+
+* src/ChromeClientImpl.cpp:
+(WebKit::ChromeClientImpl::popupOpened):
+
+2013-02-18  Sheriff Bot  
+
+Unreviewed

[webkit-changes] [144581] trunk

2013-03-03 Thread aelias
Title: [144581] trunk








Revision 144581
Author ael...@chromium.org
Date 2013-03-03 14:15:46 -0800 (Sun, 03 Mar 2013)


Log Message
[chromium] Remove WebLayerTreeView::setViewportSize call
https://bugs.webkit.org/show_bug.cgi?id=110727

Reviewed by James Robinson.

After https://codereview.chromium.org/12328080 lands,
setViewportSize is called from the Chromium side. The multiplication
by deviceScaleFactor here was prone to off-by-one errors.
The layoutSize() function was only used here so delete it as well.

DumpRenderTree WebViewHost must now call this method as well.

Source/WebKit/chromium:

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::updateLayerTreeViewport):
* src/WebViewImpl.h:
(WebViewImpl):

Tools:

* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::initializeLayerTreeView):
(WebViewHost::setWindowRect):
(WebViewHost::setDeviceScaleFactor):
(WebViewHost::updateViewportSize):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):

Modified Paths

trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/src/WebViewImpl.cpp
trunk/Source/WebKit/chromium/src/WebViewImpl.h
trunk/Tools/ChangeLog
trunk/Tools/DumpRenderTree/chromium/WebViewHost.cpp
trunk/Tools/DumpRenderTree/chromium/WebViewHost.h




Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (144580 => 144581)

--- trunk/Source/WebKit/chromium/ChangeLog	2013-03-03 22:15:00 UTC (rev 144580)
+++ trunk/Source/WebKit/chromium/ChangeLog	2013-03-03 22:15:46 UTC (rev 144581)
@@ -1,3 +1,22 @@
+2013-03-03  Alexandre Elias  
+
+[chromium] Remove WebLayerTreeView::setViewportSize call
+https://bugs.webkit.org/show_bug.cgi?id=110727
+
+Reviewed by James Robinson.
+
+After https://codereview.chromium.org/12328080 lands,
+setViewportSize is called from the Chromium side. The multiplication
+by deviceScaleFactor here was prone to off-by-one errors.
+The layoutSize() function was only used here so delete it as well.
+
+DumpRenderTree WebViewHost must now call this method as well.
+
+* src/WebViewImpl.cpp:
+(WebKit::WebViewImpl::updateLayerTreeViewport):
+* src/WebViewImpl.h:
+(WebViewImpl):
+
 2013-03-03  Sheriff Bot  
 
 Unreviewed, rolling out r144567.


Modified: trunk/Source/WebKit/chromium/src/WebViewImpl.cpp (144580 => 144581)

--- trunk/Source/WebKit/chromium/src/WebViewImpl.cpp	2013-03-03 22:15:00 UTC (rev 144580)
+++ trunk/Source/WebKit/chromium/src/WebViewImpl.cpp	2013-03-03 22:15:46 UTC (rev 144581)
@@ -3148,20 +3148,6 @@
 return root->documentRect().size();
 }
 
-IntSize WebViewImpl::layoutSize() const
-{
-if (!isFixedLayoutModeEnabled())
-return m_size;
-
-IntSize contentSize = contentsSize();
-
-if (fixedLayoutSize().width >= contentSize.width())
-return fixedLayoutSize();
-
-float aspectRatio = static_cast(m_size.height) / m_size.width;
-return IntSize(contentSize.width(), contentSize.width() * aspectRatio);
-}
-
 void WebViewImpl::computePageScaleFactorLimits()
 {
 if (!mainFrame() || !page() || !page()->mainFrame() || !page()->mainFrame()->view())
@@ -4292,15 +4278,7 @@
 return;
 
 FrameView* view = page()->mainFrame()->view();
-
-IntSize layoutViewportSize = layoutSize();
-IntSize deviceViewportSize = m_size;
-if (m_webSettings->applyDeviceScaleFactorInCompositor())
-deviceViewportSize.scale(deviceScaleFactor());
-
-m_nonCompositedContentHost->setViewport(deviceViewportSize, view->contentsSize(), view->scrollPosition(), view->scrollOrigin());
-
-m_layerTreeView->setViewportSize(layoutViewportSize, deviceViewportSize);
+m_nonCompositedContentHost->setViewport(m_size, view->contentsSize(), view->scrollPosition(), view->scrollOrigin());
 m_layerTreeView->setPageScaleFactorAndLimits(pageScaleFactor(), m_minimumPageScaleFactor, m_maximumPageScaleFactor);
 }
 


Modified: trunk/Source/WebKit/chromium/src/WebViewImpl.h (144580 => 144581)

--- trunk/Source/WebKit/chromium/src/WebViewImpl.h	2013-03-03 22:15:00 UTC (rev 144580)
+++ trunk/Source/WebKit/chromium/src/WebViewImpl.h	2013-03-03 22:15:46 UTC (rev 144581)
@@ -454,7 +454,6 @@
 }
 
 WebCore::IntSize dipSize() const;
-WebCore::IntSize layoutSize() const;
 WebCore::IntSize scaledSize(float) const;
 
 // Set the disposition for how this webview is to be initially shown.


Modified: trunk/Tools/ChangeLog (144580 => 144581)

--- trunk/Tools/ChangeLog	2013-03-03 22:15:00 UTC (rev 144580)
+++ trunk/Tools/ChangeLog	2013-03-03 22:15:46 UTC (rev 144581)
@@ -1,3 +1,25 @@
+2013-03-03  Alexandre Elias  
+
+[chromium] Remove WebLayerTreeView::setViewportSize call
+https://bugs.webkit.org/show_bug.cgi?id=110727
+
+Reviewed by James Robinson.
+
+After https://codereview.chromium.org/12328080 lands,
+setViewportSize is called from the Chromium side. The multiplication
+by deviceScaleFactor here was prone to off-by-one errors.
+

[webkit-changes] [144856] trunk/Source

2013-03-05 Thread aelias
tions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WebFloatSize_h
+#define WebFloatSize_h
+
+#include "WebCommon.h"
+
+#if WEBKIT_IMPLEMENTATION
+#include "FloatSize.h"
+#else
+#include 
+#include 
+#include 
+#endif
+
+namespace WebKit {
+
+struct WebFloatSize {
+float width;
+float height;
+
+bool isEmpty() const { return width <= 0 || height <= 0; }
+
+WebFloatSize()
+: width(0)
+, height(0)
+{
+}
+
+WebFloatSize(float width, float height)
+: width(width)
+, height(height)
+{
+}
+
+#if WEBKIT_IMPLEMENTATION
+WebFloatSize(const WebCore::FloatSize& s)
+: width(s.width())
+, height(s.height())
+{
+}
+
+WebFloatSize& operator=(const WebCore::FloatSize& s)
+{
+width = s.width();
+height = s.height();
+return *this;
+}
+
+operator WebCore::FloatSize() const
+{
+return WebCore::FloatSize(width, height);
+}
+#else
+WebFloatSize(const gfx::SizeF& s)
+: width(s.width())
+, height(s.height())
+{
+}
+
+WebFloatSize(const gfx::Vector2dF& v)
+: width(v.x())
+, height(v.y())
+{
+}
+
+WebFloatSize& operator=(const gfx::SizeF& s)
+{
+width = s.width();
+height = s.height();
+return *this;
+}
+
+WebFloatSize& operator=(const gfx::Vector2dF& v)
+{
+width = v.x();
+height = v.y();
+return *this;
+}
+
+operator gfx::SizeF() const
+{
+return gfx::SizeF(std::max(0.f, width), std::max(0.f, height));
+}
+
+operator gfx::Vector2dF() const
+{
+return gfx::Vector2dF(width, height);
+}
+#endif
+};
+
+inline bool operator==(const WebFloatSize& a, const WebFloatSize& b)
+{
+return a.width == b.width && a.height == b.height;
+}
+
+inline bool operator!=(const WebFloatSize& a, const WebFloatSize& b)
+{
+return !(a == b);
+}
+
+} // namespace WebKit
+
+#endif


Modified: trunk/Source/Platform/chromium/public/WebGestureCurveTarget.h (144855 => 144856)

--- trunk/Source/Platform/chromium/public/WebGestureCurveTarget.h	2013-03-06 01:19:20 UTC (rev 144855)
+++ trunk/Source/Platform/chromium/public/WebGestureCurveTarget.h	2013-03-06 01:29:55 UTC (rev 144856)
@@ -25,14 +25,18 @@
 #ifndef WebGestureCurveTarget_h
 #define WebGestureCurveTarget_h
 
+#include "WebFloatSize.h"
+#include "WebPoint.h"
+
 namespace WebKit {
 
-struct WebPoint;
-
 class WebGestureCurveTarget {
 public:
-virtual void scrollBy(const WebPoint&) = 0;
+virtual void scrollBy(const WebFloatSize& delta) { scrollBy(WebPoint(delta.width, delta.height)); }
 
+// TODO(aelias): Delete this after WebKit roll.
+virtual void scrollBy(const WebPoint& delta) { scrollBy(WebFloatSize(delta.x, delta.y)); }
+
 protected:
 virtual ~WebGestureCurveTarget() { }
 };


Modified: trunk/Source/Platform/chromium/public/WebInputHandlerClient.h (144855 => 144856)

--- trunk/Source/Platform/chromium/public/WebInputHandlerClient.h	2013-03-06 01:19:20 UTC (rev 144855)
+++ trunk/Source/Platform/chromium/public/WebInputHandlerClient.h	2013-03-06 01:29:55 UTC (rev 144856)
@@ -25,6 +25,7 @@
 #define WebInputHandlerClient_h
 
 #include "WebCommon.h"
+#include "WebFloatSize.h"
 #include "WebPoint.h"
 #include "WebSize.h"
 
@@ -55,8 +56,11 @@
 // ancestor layer that can be scrolled will be moved instead. If there is no
 // such layer to be moved, this 

[webkit-changes] [130455] trunk/Source/WebKit/chromium

2012-10-04 Thread aelias
Title: [130455] trunk/Source/WebKit/chromium








Revision 130455
Author ael...@chromium.org
Date 2012-10-04 21:14:41 -0700 (Thu, 04 Oct 2012)


Log Message
[chromium] Scale plugin container by frameScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=98468

Reviewed by Adam Barth.

Plugin containers (for invalid plugins) weren't taking into account
frameScaleFactor, looking cut off when that was non-1.

* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::paint):

Modified Paths

trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/src/WebPluginContainerImpl.cpp




Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (130454 => 130455)

--- trunk/Source/WebKit/chromium/ChangeLog	2012-10-05 03:56:17 UTC (rev 130454)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-10-05 04:14:41 UTC (rev 130455)
@@ -1,3 +1,16 @@
+2012-10-04  Alexandre Elias  
+
+[chromium] Scale plugin container by frameScaleFactor
+https://bugs.webkit.org/show_bug.cgi?id=98468
+
+Reviewed by Adam Barth.
+
+Plugin containers (for invalid plugins) weren't taking into account
+frameScaleFactor, looking cut off when that was non-1.
+
+* src/WebPluginContainerImpl.cpp:
+(WebKit::WebPluginContainerImpl::paint):
+
 2012-10-04  Alpha Lam  
 
 Unreviewd. Chromium DEPS roll. Update to r160281.


Modified: trunk/Source/WebKit/chromium/src/WebPluginContainerImpl.cpp (130454 => 130455)

--- trunk/Source/WebKit/chromium/src/WebPluginContainerImpl.cpp	2012-10-05 03:56:17 UTC (rev 130454)
+++ trunk/Source/WebKit/chromium/src/WebPluginContainerImpl.cpp	2012-10-05 04:14:41 UTC (rev 130455)
@@ -115,8 +115,13 @@
 if (!parent())
 return;
 
+FloatRect scaledDamageRect = damageRect;
+float frameScaleFactor = m_element->document()->page()->mainFrame()->frameScaleFactor();
+scaledDamageRect.scale(frameScaleFactor);
+scaledDamageRect.move(-frameRect().x() * (frameScaleFactor - 1), -frameRect().y() * (frameScaleFactor - 1));
+
 // Don't paint anything if the plugin doesn't intersect the damage rect.
-if (!frameRect().intersects(damageRect))
+if (!frameRect().intersects(enclosingIntRect(scaledDamageRect)))
 return;
 
 gc->save();
@@ -132,7 +137,7 @@
 WebCanvas* canvas = gc->platformContext()->canvas();
 
 IntRect windowRect =
-IntRect(view->contentsToWindow(damageRect.location()), damageRect.size());
+IntRect(view->contentsToWindow(enclosingIntRect(scaledDamageRect)));
 m_webPlugin->paint(canvas, windowRect);
 
 gc->restore();






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [130866] trunk/Source/WebCore

2012-10-10 Thread aelias
Title: [130866] trunk/Source/WebCore








Revision 130866
Author ael...@chromium.org
Date 2012-10-10 00:23:25 -0700 (Wed, 10 Oct 2012)


Log Message
Text Autosizing: Counteract funky window sizing on Android.
https://bugs.webkit.org/show_bug.cgi?id=98809

Reviewed by Adam Barth.

In Chrome for Android, the window sizes provided to WebCore are
currently in physical screen pixels instead of
device-scale-adjusted units. For example window width on a
Galaxy Nexus is 720 instead of 360.  Text autosizing expects
device-independent pixels.  When Chrome for Android cuts over to
the new coordinate space, it will be tied to the setting
applyPageScaleFactorInCompositor.

No new tests.

* rendering/TextAutosizer.cpp:
(WebCore::TextAutosizer::processSubtree):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/TextAutosizer.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (130865 => 130866)

--- trunk/Source/WebCore/ChangeLog	2012-10-10 07:03:35 UTC (rev 130865)
+++ trunk/Source/WebCore/ChangeLog	2012-10-10 07:23:25 UTC (rev 130866)
@@ -1,3 +1,23 @@
+2012-10-10  Alexandre Elias  
+
+Text Autosizing: Counteract funky window sizing on Android.
+https://bugs.webkit.org/show_bug.cgi?id=98809
+
+Reviewed by Adam Barth.
+
+In Chrome for Android, the window sizes provided to WebCore are
+currently in physical screen pixels instead of
+device-scale-adjusted units. For example window width on a
+Galaxy Nexus is 720 instead of 360.  Text autosizing expects
+device-independent pixels.  When Chrome for Android cuts over to
+the new coordinate space, it will be tied to the setting
+applyPageScaleFactorInCompositor.
+
+No new tests.
+
+* rendering/TextAutosizer.cpp:
+(WebCore::TextAutosizer::processSubtree):
+
 2012-10-09  Philip Rogers  
 
 Recursively detach SVGElementInstances


Modified: trunk/Source/WebCore/rendering/TextAutosizer.cpp (130865 => 130866)

--- trunk/Source/WebCore/rendering/TextAutosizer.cpp	2012-10-10 07:03:35 UTC (rev 130865)
+++ trunk/Source/WebCore/rendering/TextAutosizer.cpp	2012-10-10 07:23:25 UTC (rev 130866)
@@ -64,7 +64,9 @@
 windowInfo.windowSize = m_document->settings()->textAutosizingWindowSizeOverride();
 if (windowInfo.windowSize.isEmpty()) {
 bool includeScrollbars = !InspectorInstrumentation::shouldApplyScreenWidthOverride(mainFrame);
-windowInfo.windowSize = mainFrame->view()->visibleContentRect(includeScrollbars).size(); // FIXME: Check that this is always in logical (density-independent) pixels (see wkbug.com/87440).
+windowInfo.windowSize = mainFrame->view()->visibleContentRect(includeScrollbars).size();
+if (!m_document->settings()->applyPageScaleFactorInCompositor())
+windowInfo.windowSize.scale(1 / m_document->page()->deviceScaleFactor());
 }
 
 // Largest area of block that can be visible at once (assuming the main






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [131944] trunk

2012-10-19 Thread aelias
Title: [131944] trunk








Revision 131944
Author ael...@chromium.org
Date 2012-10-19 14:30:19 -0700 (Fri, 19 Oct 2012)


Log Message
[chromium] API to pass impl thread via WebLayerTreeView
https://bugs.webkit.org/show_bug.cgi?id=99863

Reviewed by James Robinson.

This adds an API to pass the compositor impl thread via WebView and
WebLayerTreeView. This is currently a no-op change, but in the future
this codepath will supercede WebCompositor. The goal is to avoid statics
in compositor initialization.

Source/Platform:

* chromium/public/WebCompositorSupport.h:
(WebKit::WebCompositorSupport::createLayerTreeView):
(WebCompositorSupport):
* chromium/public/WebLayerTreeView.h:
(WebKit):
(WebLayerTreeView):

Source/WebKit/chromium:

* public/WebView.h:
(WebKit):
(WebView):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::setCompositorImplThread):
(WebKit):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
* src/WebViewImpl.h:
(WebViewImpl):
* tests/GraphicsLayerChromiumTest.cpp:
(WebKit::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):

Tools:

* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::createNewWindow):

Modified Paths

trunk/Source/Platform/ChangeLog
trunk/Source/Platform/chromium/public/WebCompositorSupport.h
trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/public/WebView.h
trunk/Source/WebKit/chromium/src/WebViewImpl.cpp
trunk/Source/WebKit/chromium/src/WebViewImpl.h
trunk/Source/WebKit/chromium/tests/GraphicsLayerChromiumTest.cpp
trunk/Tools/ChangeLog
trunk/Tools/DumpRenderTree/chromium/TestShell.cpp




Diff

Modified: trunk/Source/Platform/ChangeLog (131943 => 131944)

--- trunk/Source/Platform/ChangeLog	2012-10-19 21:04:06 UTC (rev 131943)
+++ trunk/Source/Platform/ChangeLog	2012-10-19 21:30:19 UTC (rev 131944)
@@ -1,3 +1,22 @@
+2012-10-19  Alexandre Elias  
+
+[chromium] API to pass impl thread via WebLayerTreeView
+https://bugs.webkit.org/show_bug.cgi?id=99863
+
+Reviewed by James Robinson.
+
+This adds an API to pass the compositor impl thread via WebView and
+WebLayerTreeView. This is currently a no-op change, but in the future
+this codepath will supercede WebCompositor. The goal is to avoid statics
+in compositor initialization.
+
+* chromium/public/WebCompositorSupport.h:
+(WebKit::WebCompositorSupport::createLayerTreeView):
+(WebCompositorSupport):
+* chromium/public/WebLayerTreeView.h:
+(WebKit):
+(WebLayerTreeView):
+
 2012-10-18  Tommy Widenflycht  
 
 MediaStream API: Do some cleanup in the chromium WebKit API


Modified: trunk/Source/Platform/chromium/public/WebCompositorSupport.h (131943 => 131944)

--- trunk/Source/Platform/chromium/public/WebCompositorSupport.h	2012-10-19 21:04:06 UTC (rev 131943)
+++ trunk/Source/Platform/chromium/public/WebCompositorSupport.h	2012-10-19 21:30:19 UTC (rev 131944)
@@ -74,6 +74,8 @@
 virtual void setPageScalePinchZoomEnabled(bool) { }
 
 // May return 0 if initialization fails.
+virtual WebLayerTreeView* createLayerTreeView(WebLayerTreeViewClient* client, const WebLayer& root, const WebLayerTreeView::Settings& settings, WebThread* implThread) { return createLayerTreeView(client, root, settings); }
+// FIXME(aelias): Delete this version when the above is implemented.
 virtual WebLayerTreeView* createLayerTreeView(WebLayerTreeViewClient*, const WebLayer& root, const WebLayerTreeView::Settings&) { return 0; }
 
 


Modified: trunk/Source/WebKit/chromium/ChangeLog (131943 => 131944)

--- trunk/Source/WebKit/chromium/ChangeLog	2012-10-19 21:04:06 UTC (rev 131943)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-10-19 21:30:19 UTC (rev 131944)
@@ -1,3 +1,28 @@
+2012-10-19  Alexandre Elias  
+
+[chromium] API to pass impl thread via WebLayerTreeView
+https://bugs.webkit.org/show_bug.cgi?id=99863
+
+Reviewed by James Robinson.
+
+This adds an API to pass the compositor impl thread via WebView and
+WebLayerTreeView. This is currently a no-op change, but in the future
+this codepath will supercede WebCompositor. The goal is to avoid statics
+in compositor initialization.
+
+* public/WebView.h:
+(WebKit):
+(WebView):
+* src/WebViewImpl.cpp:
+(WebKit::WebViewImpl::WebViewImpl):
+(WebKit::WebViewImpl::setCompositorImplThread):
+(WebKit):
+(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
+* src/WebViewImpl.h:
+(WebViewImpl):
+* tests/GraphicsLayerChromiumTest.cpp:
+(WebKit::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):
+
 2012-10-19  Pavel Feldman  
 
 Web Inspector: merge "docked" state into the "dock side" enum.


Modified: trunk/Source/WebKit/chromium/public/WebView.h (131943 => 131944)

--- trunk/Source/WebKit/chromium/public/WebView.

[webkit-changes] [139022] trunk

2013-01-07 Thread aelias
Title: [139022] trunk








Revision 139022
Author ael...@chromium.org
Date 2013-01-07 17:39:04 -0800 (Mon, 07 Jan 2013)


Log Message
Divide gesture scroll delta by scale factor
https://bugs.webkit.org/show_bug.cgi?id=106263

Reviewed by Adam Barth.

Gesture scroll deltas were not being adjusted by the frame's scale
factors, resulting in overly fast main-thread scrolling when zoomed
in.

New test: fast/events/touch/gesture/touch-gesture-scroll-div-scaled.html

* page/EventHandler.cpp:
(WebCore::EventHandler::handleGestureScrollCore):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/EventHandler.cpp


Added Paths

trunk/LayoutTests/fast/events/touch/gesture/touch-gesture-scroll-div-scaled-expected.txt
trunk/LayoutTests/fast/events/touch/gesture/touch-gesture-scroll-div-scaled.html
trunk/LayoutTests/platform/chromium/fast/events/touch/gesture/touch-gesture-scroll-div-scaled-expected.txt




Diff

Added: trunk/LayoutTests/fast/events/touch/gesture/touch-gesture-scroll-div-scaled-expected.txt (0 => 139022)

--- trunk/LayoutTests/fast/events/touch/gesture/touch-gesture-scroll-div-scaled-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/events/touch/gesture/touch-gesture-scroll-div-scaled-expected.txt	2013-01-08 01:39:04 UTC (rev 139022)
@@ -0,0 +1,10 @@
+This tests gesture event scrolling of an overflow div with page scale.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+gesture events not implemented on this platform or gesture event scrolling of a document is broken
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/fast/events/touch/gesture/touch-gesture-scroll-div-scaled.html (0 => 139022)

--- trunk/LayoutTests/fast/events/touch/gesture/touch-gesture-scroll-div-scaled.html	(rev 0)
+++ trunk/LayoutTests/fast/events/touch/gesture/touch-gesture-scroll-div-scaled.html	2013-01-08 01:39:04 UTC (rev 139022)
@@ -0,0 +1,131 @@
+
+
+
+
+#touchtarget {
+  width: 100px;
+  height: 100px;
+  position: relative;
+  background: white;
+}
+
+::-webkit-scrollbar {
+width: 0px;
+height: 0px;
+}
+
+#movingbox {
+  width: 100%;
+  height: 100%;
+  position: absolute;
+  word-wrap: break-word;
+  overflow-y: scroll;
+  overflow-x: scroll;
+  display: block;
+}
+
+#greenbox {
+  width: 100px;
+  height: 100px;
+  background: green;
+  padding: 0px;
+  margin: 0px;
+}
+
+#redbox {
+  width: 100px;
+  height: 100px;
+  background: red;
+  padding: 0px;
+  margin: 0px;
+}
+
+td {
+  padding: 0px;
+}
+
+
+
+
+
+ + + + + + + + + +
+
+
+ +

+
+