[GTK] youtube HTML5 videos in fullscreen, after <Esc>, can't go fullscreen again
https://bugs.webkit.org/show_bug.cgi?id=127064

When pressing <Esc> or <f> at full screen, the WebView shall emit the
event webkitfullscreenchange, but wk2gtk does not emit it. This is
because the WebView manages directly the exit of the full screen.

With this patch the WebView calls requestExitFullScreen to the full
screen manager, instead of managing directly the exit of the full
screen, and the event webkitfullscreenchange will be dispatched
correctly.

Reviewed by Martin Robinson.

No tests are included because there is a bug in WKTR that prevents the
execution of a test for this patch. See
https://bugs.webkit.org/show_bug.cgi?id=127348

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseKeyPressEvent): Call
webkitWebViewBaseRequestExitFullScreen.
(webkitWebViewBaseRequestExitFullScreen): Added.
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Ditto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162724 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix 32-bit build.

* WebCore.exp.in:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162725 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[New Multicolumn] Don't destroy all the renderers when a multi-column block stops being multi-column (and vice versa)
https://bugs.webkit.org/show_bug.cgi?id=127584

Make the logic for when you need columns and when you don't shared between the
old multi-column code and the new multi-column code. Make sure that the flow thread
and sets get created lazily and destroyed on-demand when whether or not we should
have multiple columns changes.

Reviewed by Beth Dakin.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateLogicalWidthAndColumnWidth):
No longer virtual. The new column code now uses this function too.

(WebCore::RenderBlock::availableLogicalWidth):
Renamed desiredColumnWidth() to computedColumnWidth().

(WebCore::RenderBlock::computeColumnCountAndWidth):
Renamed calcColumnWidth to computeColumnCountAndWidth.

(WebCore::RenderBlock::setComputedColumnCountAndWidth):
Rename setDesiredColumnCountAndWidth to computed.

(WebCore::RenderBlock::computedColumnWidth):
(WebCore::RenderBlock::computedColumnCount):
Renamed desiredColumnWidth/Count to computedColumnWidth/Count and made them virtual.

(WebCore::RenderBlock::updateFirstLetterStyle):
desired -> computed rename.

* rendering/RenderBlock.h:
Renames and made a few functions virtual so that RenderBlockFlow can override.

* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::RenderBlockFlow):
Don't create the flow thread at construction time any longer.

(WebCore::RenderBlockFlow::createMultiColumnFlowThread):
(WebCore::RenderBlockFlow::destroyMultiColumnFlowThread):
The methods to create and destroy flow threads. These work at any time now and will
fix up the render tree accordingly.

(WebCore::RenderBlockFlow::setComputedColumnCountAndWidth):
Virtual override that creates/destroys the new multi-column information as needed.

(WebCore::RenderBlockFlow::computedColumnWidth):
(WebCore::RenderBlockFlow::computedColumnCount):
Overrides to return the cached column width and count from the flow thread.

* rendering/RenderBlockFlow.h:
Has overrides of the virtual functions needed to turn multi-column state on/off and
to hand back computed count/width information.

* rendering/RenderMultiColumnFlowThread.cpp:
* rendering/RenderMultiColumnFlowThread.h:
Removed the algorithm to compute column count and width, since this has been combined
with the old multi-column layout code.

* rendering/RenderView.cpp:
(WebCore::RenderView::computeColumnCountAndWidth):
Renamed desired -> computed.

* rendering/RenderView.h:
Renamed desired -> computed.

* style/StyleResolveTree.cpp:
(WebCore::Style::determineChange):
(WebCore::Style::resolveLocal):
(WebCore::Style::resolveTree):
* style/StyleResolveTree.h:
The Settings argument is no longer needed now that we don't destroy and re-create
the renderer for a block flow if it stops being (or becomes) multi-column.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162726 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IDB: Support createIndex/deleteIndex
<rdar://problem/15779642> and https://bugs.webkit.org/show_bug.cgi?id=127585

Reviewed by Tim Horton.

* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::createIndex):
(WebKit::UniqueIDBDatabase::deleteIndex):
(WebKit::UniqueIDBDatabase::createIndexInBackingStore):
(WebKit::UniqueIDBDatabase::deleteIndexInBackingStore):

* DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore): Also drop all associated indexes.
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteIndex):
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162727 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Get rid of WebLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=127587

Reviewed by Andreas Kling.

Move WebLoaderClient into WKPage.cpp.

* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageLoaderClient):
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController setLoadDelegate:]):
* UIProcess/WebLoaderClient.cpp: Removed.
* UIProcess/WebLoaderClient.h: Removed.
* UIProcess/WebPageProxy.h:
* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162728 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make WebKitTestRunner work with iOS
https://bugs.webkit.org/show_bug.cgi?id=127448

Reviewed by Simon Fraser.

Combined patch from Simon below with some additional xcconfig cleanups,
rebasing and stubbing out a couple of new functions that popped up
since then.

2013-12-03  Simon Fraser  <simon.fraser@apple.com>

        <rdar://problem/15515469> Get WebKitTestRunner working on iOS

        Get WebKitTestRunner limping on iOS. Main parts:
        - Stub out lots of accessibility-related functions.
        - Stub out EventSender
        - Create target to make a bundled app that runs in the simulator,
          and copy the injected bundle library into it.
        - Make a UIWindow and WKView to load tests in

        It runs, load tests, and dumps results to output. More work will be
        required once we can execute it via the webkitpy scripts.

* WebKitTestRunner/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/InjectedBundle.xcconfig:
* WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm: Added.
(WTR::AccessibilityController::addNotificationListener):
(WTR::AccessibilityController::removeNotificationListener):
(WTR::AccessibilityController::platformName):
(WTR::AccessibilityController::logAccessibilityEvents):
(WTR::AccessibilityController::resetToConsistentState):
(WTR::findAccessibleObjectById):
(WTR::AccessibilityController::accessibleElementById):
* WebKitTestRunner/InjectedBundle/ios/AccessibilityNotificationHandler.h: Added.
* WebKitTestRunner/InjectedBundle/ios/AccessibilityTextMarkerIOS.mm: Copied from Tools/WebKitTestRunner/WebKitTestRunnerPrefix.h.
(WTR::AccessibilityTextMarker::isEqual):
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm: Added.
(WTR::AccessibilityUIElement::AccessibilityUIElement):
(WTR::AccessibilityUIElement::~AccessibilityUIElement):
(WTR::AccessibilityUIElement::isEqual):
(WTR::AccessibilityUIElement::getLinkedUIElements):
(WTR::AccessibilityUIElement::getDocumentLinks):
(WTR::AccessibilityUIElement::getChildren):
(WTR::AccessibilityUIElement::getChildrenWithRange):
(WTR::AccessibilityUIElement::childrenCount):
(WTR::AccessibilityUIElement::elementAtPoint):
(WTR::AccessibilityUIElement::indexOfChild):
(WTR::AccessibilityUIElement::childAtIndex):
(WTR::AccessibilityUIElement::linkedUIElementAtIndex):
(WTR::AccessibilityUIElement::ariaOwnsElementAtIndex):
(WTR::AccessibilityUIElement::ariaFlowToElementAtIndex):
(WTR::AccessibilityUIElement::disclosedRowAtIndex):
(WTR::AccessibilityUIElement::rowAtIndex):
(WTR::AccessibilityUIElement::selectedChildAtIndex):
(WTR::AccessibilityUIElement::selectedChildrenCount):
(WTR::AccessibilityUIElement::selectedRowAtIndex):
(WTR::AccessibilityUIElement::titleUIElement):
(WTR::AccessibilityUIElement::parentElement):
(WTR::AccessibilityUIElement::disclosedByRow):
(WTR::AccessibilityUIElement::attributesOfLinkedUIElements):
(WTR::AccessibilityUIElement::attributesOfDocumentLinks):
(WTR::AccessibilityUIElement::attributesOfChildren):
(WTR::AccessibilityUIElement::allAttributes):
(WTR::AccessibilityUIElement::stringAttributeValue):
(WTR::AccessibilityUIElement::numberAttributeValue):
(WTR::AccessibilityUIElement::uiElementArrayAttributeValue):
(WTR::AccessibilityUIElement::uiElementAttributeValue):
(WTR::AccessibilityUIElement::boolAttributeValue):
(WTR::AccessibilityUIElement::isAttributeSettable):
(WTR::AccessibilityUIElement::isAttributeSupported):
(WTR::AccessibilityUIElement::parameterizedAttributeNames):
(WTR::AccessibilityUIElement::role):
(WTR::AccessibilityUIElement::subrole):
(WTR::AccessibilityUIElement::roleDescription):
(WTR::AccessibilityUIElement::title):
(WTR::AccessibilityUIElement::description):
(WTR::AccessibilityUIElement::orientation):
(WTR::AccessibilityUIElement::stringValue):
(WTR::AccessibilityUIElement::language):
(WTR::AccessibilityUIElement::helpText):
(WTR::AccessibilityUIElement::x):
(WTR::AccessibilityUIElement::y):
(WTR::AccessibilityUIElement::width):
(WTR::AccessibilityUIElement::height):
(WTR::AccessibilityUIElement::clickPointX):
(WTR::AccessibilityUIElement::clickPointY):
(WTR::AccessibilityUIElement::intValue):
(WTR::AccessibilityUIElement::minValue):
(WTR::AccessibilityUIElement::maxValue):
(WTR::AccessibilityUIElement::valueDescription):
(WTR::AccessibilityUIElement::insertionPointLineNumber):
(WTR::AccessibilityUIElement::isPressActionSupported):
(WTR::AccessibilityUIElement::isIncrementActionSupported):
(WTR::AccessibilityUIElement::isDecrementActionSupported):
(WTR::AccessibilityUIElement::isEnabled):
(WTR::AccessibilityUIElement::isRequired):
(WTR::AccessibilityUIElement::isFocused):
(WTR::AccessibilityUIElement::isSelected):
(WTR::AccessibilityUIElement::isSelectedOptionActive):
(WTR::AccessibilityUIElement::isIndeterminate):
(WTR::AccessibilityUIElement::isExpanded):
(WTR::AccessibilityUIElement::isChecked):
(WTR::AccessibilityUIElement::hierarchicalLevel):
(WTR::AccessibilityUIElement::classList):
(WTR::AccessibilityUIElement::speak):
(WTR::AccessibilityUIElement::ariaIsGrabbed):
(WTR::AccessibilityUIElement::ariaDropEffects):
(WTR::AccessibilityUIElement::lineForIndex):
(WTR::AccessibilityUIElement::rangeForLine):
(WTR::AccessibilityUIElement::rangeForPosition):
(WTR::AccessibilityUIElement::boundsForRange):
(WTR::AccessibilityUIElement::stringForRange):
(WTR::AccessibilityUIElement::attributedStringForRange):
(WTR::AccessibilityUIElement::attributedStringRangeIsMisspelled):
(WTR::uiElementCountForSearchPredicate):
(WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):
(WTR::AccessibilityUIElement::attributesOfColumnHeaders):
(WTR::AccessibilityUIElement::attributesOfRowHeaders):
(WTR::AccessibilityUIElement::attributesOfColumns):
(WTR::AccessibilityUIElement::attributesOfRows):
(WTR::AccessibilityUIElement::attributesOfVisibleCells):
(WTR::AccessibilityUIElement::attributesOfHeader):
(WTR::AccessibilityUIElement::rowCount):
(WTR::AccessibilityUIElement::columnCount):
(WTR::AccessibilityUIElement::indexInTable):
(WTR::AccessibilityUIElement::rowIndexRange):
(WTR::AccessibilityUIElement::columnIndexRange):
(WTR::AccessibilityUIElement::cellForColumnAndRow):
(WTR::AccessibilityUIElement::horizontalScrollbar):
(WTR::AccessibilityUIElement::verticalScrollbar):
(WTR::AccessibilityUIElement::scrollToMakeVisible):
(WTR::AccessibilityUIElement::selectedTextRange):
(WTR::AccessibilityUIElement::setSelectedTextRange):
(WTR::AccessibilityUIElement::increment):
(WTR::AccessibilityUIElement::decrement):
(WTR::AccessibilityUIElement::showMenu):
(WTR::AccessibilityUIElement::press):
(WTR::AccessibilityUIElement::setSelectedChild):
(WTR::AccessibilityUIElement::accessibilityValue):
(WTR::AccessibilityUIElement::documentEncoding):
(WTR::AccessibilityUIElement::documentURI):
(WTR::AccessibilityUIElement::url):
(WTR::AccessibilityUIElement::addNotificationListener):
(WTR::AccessibilityUIElement::removeNotificationListener):
(WTR::AccessibilityUIElement::isFocusable):
(WTR::AccessibilityUIElement::isSelectable):
(WTR::AccessibilityUIElement::isMultiSelectable):
(WTR::AccessibilityUIElement::isVisible):
(WTR::AccessibilityUIElement::isOffScreen):
(WTR::AccessibilityUIElement::isCollapsed):
(WTR::AccessibilityUIElement::isIgnored):
(WTR::AccessibilityUIElement::hasPopup):
(WTR::AccessibilityUIElement::takeFocus):
(WTR::AccessibilityUIElement::takeSelection):
(WTR::AccessibilityUIElement::addSelection):
(WTR::AccessibilityUIElement::removeSelection):
(WTR::AccessibilityUIElement::textMarkerRangeForElement):
(WTR::AccessibilityUIElement::textMarkerRangeLength):
(WTR::AccessibilityUIElement::previousTextMarker):
(WTR::AccessibilityUIElement::nextTextMarker):
(WTR::AccessibilityUIElement::stringForTextMarkerRange):
(WTR::AccessibilityUIElement::textMarkerRangeForMarkers):
(WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::endTextMarkerForBounds):
(WTR::AccessibilityUIElement::startTextMarkerForBounds):
(WTR::AccessibilityUIElement::textMarkerForPoint):
(WTR::AccessibilityUIElement::accessibilityElementForTextMarker):
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeContainsAttribute):
(WTR::AccessibilityUIElement::indexForTextMarker):
(WTR::AccessibilityUIElement::isTextMarkerValid):
(WTR::AccessibilityUIElement::textMarkerForIndex):
(WTR::AccessibilityUIElement::startTextMarker):
(WTR::AccessibilityUIElement::endTextMarker):
(WTR::AccessibilityUIElement::mathPostscriptsDescription):
(WTR::AccessibilityUIElement::mathPrescriptsDescription):
(WTR::AccessibilityUIElement::pathDescription):
(WTR::AccessibilityUIElement::supportedActions):
* WebKitTestRunner/InjectedBundle/ios/ActivateFontsIOS.mm: Copied from Tools/WebKitTestRunner/WebKitTestRunnerPrefix.h.
(WTR::activateFonts):
* WebKitTestRunner/InjectedBundle/ios/EventSenderProxyIOS.mm: Added.
(WTR::EventSenderProxy::EventSenderProxy):
(WTR::EventSenderProxy::~EventSenderProxy):
(WTR::EventSenderProxy::updateClickCountForButton):
(WTR::EventSenderProxy::mouseDown):
(WTR::EventSenderProxy::mouseUp):
(WTR::EventSenderProxy::mouseMoveTo):
(WTR::EventSenderProxy::leapForward):
(WTR::EventSenderProxy::keyDown):
(WTR::EventSenderProxy::mouseScrollBy):
(WTR::EventSenderProxy::continuousMouseScrollBy):
(WTR::EventSenderProxy::addTouchPoint):
(WTR::EventSenderProxy::updateTouchPoint):
(WTR::EventSenderProxy::setTouchModifier):
(WTR::EventSenderProxy::setTouchPointRadius):
(WTR::EventSenderProxy::touchStart):
(WTR::EventSenderProxy::touchMove):
(WTR::EventSenderProxy::touchEnd):
(WTR::EventSenderProxy::touchCancel):
(WTR::EventSenderProxy::clearTouchPoints):
(WTR::EventSenderProxy::releaseTouchPoint):
(WTR::EventSenderProxy::cancelTouchPoint):
* WebKitTestRunner/InjectedBundle/ios/InjectedBundleIOS.mm: Copied from Tools/WebKitTestRunner/WebKitTestRunnerPrefix.h.
(WTR::InjectedBundle::platformInitialize):
* WebKitTestRunner/InjectedBundle/ios/InjectedBundlePageIOS.mm: Copied from Tools/WebKitTestRunner/WebKitTestRunnerPrefix.h.
(WTR::InjectedBundlePage::platformDidStartProvisionalLoadForFrame):
* WebKitTestRunner/Makefile:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::invoke):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/WebKitTestRunnerApp/AppDelegate.h: Added.
* WebKitTestRunner/WebKitTestRunnerApp/AppDelegate.m: Added.
(-[AppDelegate application:didFinishLaunchingWithOptions:]):
(-[AppDelegate applicationWillResignActive:]):
(-[AppDelegate applicationDidEnterBackground:]):
(-[AppDelegate applicationWillEnterForeground:]):
(-[AppDelegate applicationDidBecomeActive:]):
(-[AppDelegate applicationWillTerminate:]):
* WebKitTestRunner/WebKitTestRunnerApp/Images.xcassets/AppIcon.appiconset/Contents.json: Added.
* WebKitTestRunner/WebKitTestRunnerApp/Images.xcassets/LaunchImage.launchimage/Contents.json: Added.
* WebKitTestRunner/WebKitTestRunnerApp/WebKitTestRunnerApp-Info.plist: Added.
* WebKitTestRunner/WebKitTestRunnerApp/WebKitTestRunnerApp-Prefix.pch: Added.
* WebKitTestRunner/WebKitTestRunnerApp/en.lproj/InfoPlist.strings: Added.
* WebKitTestRunner/WebKitTestRunnerApp/main.m: Added.
(main):
* WebKitTestRunner/WebKitTestRunnerAppTests-Info.plist: Added.
* WebKitTestRunner/WebKitTestRunnerAppTests/WebKitTestRunnerAppTests-Info.plist: Added.
* WebKitTestRunner/WebKitTestRunnerAppTests/WebKitTestRunnerAppTests.m: Added.
(-[WebKitTestRunnerAppTests setUp]):
(-[WebKitTestRunnerAppTests tearDown]):
(-[WebKitTestRunnerAppTests testExample]):
* WebKitTestRunner/WebKitTestRunnerAppTests/en.lproj/InfoPlist.strings: Added.
* WebKitTestRunner/WebKitTestRunnerPrefix.h:
* WebKitTestRunner/cg/TestInvocationCG.cpp:
* WebKitTestRunner/iOS.xcconfig: Added.
* WebKitTestRunner/ios/PlatformWebViewIOS.mm: Added.
(-[TestRunnerWKView initWithFrame:contextRef:pageGroupRef:relatedToPage:useTiledDrawing:]):
(-[TestRunnerWKView _shouldUseTiledDrawingArea]):
(-[WebKitTestRunnerWindow isKeyWindow]):
(-[WebKitTestRunnerWindow setFrameOrigin:]):
(-[WebKitTestRunnerWindow setFrame:]):
(-[WebKitTestRunnerWindow frameRespectingFakeOrigin]):
(-[WebKitTestRunnerWindow backingScaleFactor]):
(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::resizeTo):
(WTR::PlatformWebView::~PlatformWebView):
(WTR::PlatformWebView::page):
(WTR::PlatformWebView::focus):
(WTR::PlatformWebView::windowFrame):
(WTR::PlatformWebView::setWindowFrame):
(WTR::PlatformWebView::didInitializeClients):
(WTR::PlatformWebView::addChromeInputField):
(WTR::PlatformWebView::removeChromeInputField):
(WTR::PlatformWebView::makeWebViewFirstResponder):
(WTR::PlatformWebView::windowSnapshotImage):
(WTR::PlatformWebView::viewSupportsOptions):
* WebKitTestRunner/ios/TestControllerIOS.mm: Added.
(WTR::TestController::notifyDone):
(WTR::TestController::platformInitialize):
(WTR::TestController::platformDestroy):
(WTR::TestController::initializeInjectedBundlePath):
(WTR::TestController::initializeTestPluginDirectory):
(WTR::TestController::platformRunUntil):
(WTR::TestController::platformInitializeContext):
(WTR::TestController::runModal):
(WTR::TestController::platformLibraryPathForTesting):
* WebKitTestRunner/ios/WebArchiveDumpSupportIOS.mm: Copied from Tools/WebKitTestRunner/WebKitTestRunnerPrefix.h.
(createCFURLResponseFromResponseData):
(supportedNonImageMIMETypes):
* WebKitTestRunner/ios/mainIOS.mm: Copied from Tools/WebKitTestRunner/WebKitTestRunnerPrefix.h.
(-[WebKitTestRunnerApp _runTestController]):
(-[WebKitTestRunnerApp applicationDidFinishLaunching:]):
(main):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162729 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Push a custom fixed position rect down to the WebProcess in iOS WK2
https://bugs.webkit.org/show_bug.cgi?id=127573

Reviewed by Tim Horton.

Make it possible for WKContentView to specify a custom rect
used to layout fixed position elements on iOS.

This is computed in WKContentView, and pushed down
through the RemoteLayerTreeDrawingArea, and eventually
pushed onto FrameView.

* UIProcess/API/ios/WKContentView.mm:
(-[WKContentView fixedPositionRectFromExposedRect:scale:]):
(-[WKContentView _updateFixedPositionRect]):
(-[WKContentView didFinishScrollTo:]):
(-[WKContentView didZoomToScale:]):
* UIProcess/DrawingAreaProxy.cpp:
(WebKit::DrawingAreaProxy::setCustomFixedPositionRect):
* UIProcess/DrawingAreaProxy.h:
* WebProcess/WebPage/DrawingArea.h:
* WebProcess/WebPage/DrawingArea.messages.in:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::setCustomFixedPositionRect):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162730 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=127583

Reviewed by Tim Horton.

handleWheelEventPhase() doesn't make any sense for iOS, which
has no wheel events.

Source/WebCore:

* page/scrolling/ScrollingTree.h:
* page/scrolling/ThreadedScrollingTree.cpp:
* page/scrolling/ThreadedScrollingTree.h:
* page/scrolling/ios/ScrollingTreeIOS.h:

Source/WebKit2:

* UIProcess/Scrolling/RemoteScrollingTree.cpp:
* UIProcess/Scrolling/RemoteScrollingTree.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162731 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Subpixel rendering: Make PaintInfo layout unit aware.
https://bugs.webkit.org/show_bug.cgi?id=127562

Reviewed by Simon Fraser.

Replace PaintInfo's IntRect with LayoutRect to be able to render to
subpixel positions.

No functional changes.

* platform/graphics/LayoutRect.h:
* rendering/PaintInfo.h:
(WebCore::PaintInfo::PaintInfo):
(WebCore::PaintInfo::applyTransform):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paint):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/RenderLayer.cpp:
(WebCore::cornerRect):
(WebCore::RenderLayer::scrollCornerRect):
(WebCore::resizerCornerRect):
(WebCore::RenderLayer::scrollCornerAndResizerRect):
(WebCore::RenderLayer::horizontalScrollbarStart):
(WebCore::RenderLayer::drawPlatformResizerImage):
(WebCore::RenderLayer::paintResizer):
(WebCore::RenderLayer::hitTestOverflowControls):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintContents):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::paintScrollbar):
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paintContents):
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::fillWithExtensionGlyph):
* rendering/svg/SVGRenderingContext.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162732 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Add Philip Jägenstedt to watch and contributor lists.

* Scripts/webkitpy/common/config/contributors.json:
* Scripts/webkitpy/common/config/watchlist:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162733 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ASSERT(!m_markedSpace.m_currentDelayedReleaseScope) reloading page in inspector.
<https://webkit.org/b/127582>

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore: 

1. We should not enter a HeapIterationScope when we iterate the CodeBlocks.
   Apparently, iterating the CodeBlocks does not count as heap iteration.

2. If we're detaching the debugger due to the JSGlobalObject destructing,
   then we don't need to clear the debugger requests in the associated
   CodeBlocks. The JSGlobalObject destructing would mean that those
   CodeBlocks would be destructing too, and it may not be safe to access
   them anyway at this point.

The assertion failure is because we had entered a HeapIterationScope
while the JSGlobalObject is destructing, which in turn means that GC
sweeping is in progress. It's not legal to iterate the heap while the GC
is sweeping. Once we fixed the above 2 issues, we will no longer have
the conditions that manifests this assertion failure.

* debugger/Debugger.cpp:
(JSC::Debugger::detach):
(JSC::Debugger::setSteppingMode):
(JSC::Debugger::toggleBreakpoint):
(JSC::Debugger::clearBreakpoints):
(JSC::Debugger::clearDebuggerRequests):
* debugger/Debugger.h:
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::~JSGlobalObject):

Source/WebCore: 

No new tests.

* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::attachDebugger):
* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::detachDebugger):
- Adding reasons for detaching a globalObject from the debugger.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162735 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Prepare scrolling tree to handle > 1 scrolling node
https://bugs.webkit.org/show_bug.cgi?id=127590

Source/WebCore:

Reviewed by Tim Horton.

Clean up the code path called after the ScrollingTree has scrolled a node,
to prepare for multiple scrolling nodes.

Change "updateMainFrameScrollPosition" terminology to "updateScrollPositionAfterAsyncScroll",
and pass along the ScrollingNodeID that scrolled.

Move updateMainFrameScrollPosition-related code from ScrollingCoordinator to
AsyncScrollingCoordinator, since this sync-up is only necessary when doing
async scrolling.

* WebCore.exp.in:
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
(WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
(WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):
(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScrollTimerFired):
(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
* page/scrolling/AsyncScrollingCoordinator.h:
(WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::ScheduledScrollUpdate):
(WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::matchesUpdateType):
Package up the data related to a scheduled scroll into a ScheduledScrollUpdate struct,
for easier comparison and cleaner code.
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::ScrollingCoordinator):
* page/scrolling/ScrollingCoordinator.h:
* page/scrolling/ScrollingTree.h:
* page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
* page/scrolling/ThreadedScrollingTree.h:
* page/scrolling/ios/ScrollingTreeIOS.cpp:
(WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll):
* page/scrolling/ios/ScrollingTreeIOS.h:
* page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
(WebCore::ScrollingTreeScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):

Source/WebKit2:

Reviewed by Tim Horton.

Clean up the code path called after the ScrollingTree has scrolled a node,
to prepare for multiple scrolling nodes.

Change "updateMainFrameScrollPosition" terminology to "updateScrollPositionAfterAsyncScroll",
and pass along the ScrollingNodeID that scrolled.

* UIProcess/Scrolling/RemoteScrollingTree.cpp:
(WebKit::RemoteScrollingTree::scrollingTreeNodeDidScroll):
* UIProcess/Scrolling/RemoteScrollingTree.h:
* WebProcess/Scrolling/RemoteScrollingCoordinator.mm:
(WebKit::RemoteScrollingCoordinator::scrollPositionChangedForNode):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162736 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Replace LayoutUnit() calls to a more descriptive LayoutUnit::fromPixel(int).
https://bugs.webkit.org/show_bug.cgi?id=127580

Reviewed by Simon Fraser.

LayoutUnit(1) statement is ambiguous. While it is intended to set one (CSS) pixel, it
could be interpreted as 1 layout unit (1/64th of a CSS pixel atm).

No change in behavior.

* inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForRegionHighlight):
* rendering/FloatingObjects.cpp:
(WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatTypeValue>::heightRemaining):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutShapeInsideInfo):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::collapseMargins):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::mainAxisContentExtent):
(WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
(WebCore::RenderFlexibleBox::alignChildren):
* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::addForcedRegionBreak):
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
(WebCore::RenderMultiColumnSet::calculateBalancedHeight):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162737 268f45cc-cd09-0410-ab3c-d52691b4dbfc