Merge r173964 - [Gtk] build.sh needs a -- before make options when the build command is cmake --build
https://bugs.webkit.org/show_bug.cgi?id=136377

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2014-09-25
Reviewed by Philippe Normand.

.:

* Source/cmake/OptionsGTK.cmake: Only create the build.sh script
for CMake versions less than 3.

Tools:

* Scripts/webkitdirs.pm:
(buildCMakeGeneratedProject): Only use the build.sh script if it exists.

git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.6@174159 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge r174104 - [GTK] The remote web inspector shows the HTML content as plain text
https://bugs.webkit.org/show_bug.cgi?id=137250

Reviewed by Gustavo Noronha Silva.

Use GResource API directly to get the resource data, instead of
using the GFile API, and use g_content_type_guess() to get the
MIME Type.

* UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
(WebKit::WebInspectorServer::platformResourceForPath):

git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.6@174210 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge r174008 - [GTK] Don't include full path names in WebKitEnumTypes.h
https://bugs.webkit.org/show_bug.cgi?id=137148

Reviewed by Carlos Garcia Campos.

Replace @filename@ with @basename@ in the template, since we don't
want to include the full path name in the generated header.

* UIProcess/API/gtk/WebKitEnumTypes.h.template:

git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.6@174211 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge r174099 - Updated Telugu Translation for WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=137027

Patch by Krishnababu Krothapalli <kkrothap@redhat.com> on 2014-09-30
Reviewed by Philippe Normand.

* te.po:

git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.6@174212 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge r174100 - Hindi translation updated
https://bugs.webkit.org/show_bug.cgi?id=137021

Patch by Rajesh Ranjan <rajeshkajha@yahoo.com> on 2014-09-30
Reviewed by Philippe Normand.

* hi.po:

git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.6@174213 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge r173952 - Unreviewed. Add more free icons for the Web Inspector in GTK+.

Patch by Andres Gomez <agomez@igalia.com> on 2014-09-25

* UserInterface/Images/gtk/AUTHORS:
* UserInterface/Images/gtk/ApplicationCacheManifest.png: Added.
* UserInterface/Images/gtk/ApplicationCacheManifest@2x.png: Added.
* UserInterface/Images/gtk/COPYING:
* UserInterface/Images/gtk/COPYING_LGPL2: Added.
* UserInterface/Images/gtk/Cookie.png: Added.
* UserInterface/Images/gtk/Cookie@2x.png: Added.
* UserInterface/Images/gtk/HoverMenuButton.png: Added.
* UserInterface/Images/gtk/HoverMenuButton@2x.png: Added.
* UserInterface/Images/gtk/InstructionPointer.png: Added.
* UserInterface/Images/gtk/InstructionPointer@2x.png: Added.
* UserInterface/Images/gtk/Log.png: Added.
* UserInterface/Images/gtk/Log@2x.png: Added.
* UserInterface/Images/gtk/Profile.png: Added.
* UserInterface/Images/gtk/Profile@2x.png: Added.
* UserInterface/Images/gtk/Recording.png: Added.
* UserInterface/Images/gtk/Recording@2x.png: Added.
* UserInterface/Images/gtk/RecordingHovered.png: Added.
* UserInterface/Images/gtk/RecordingHovered@2x.png: Added.
* UserInterface/Images/gtk/RecordingStopped.png: Added.
* UserInterface/Images/gtk/RecordingStopped@2x.png: Added.
* UserInterface/Images/gtk/Script.png: Added.
* UserInterface/Images/gtk/Script@2x.png: Added.
* UserInterface/Images/gtk/ScriptLarge.png: Added.
* UserInterface/Images/gtk/ScriptLarge@2x.png: Added.
* UserInterface/Images/gtk/SliderThumb.png: Added.
* UserInterface/Images/gtk/SliderThumb@2x.png: Added.
* UserInterface/Images/gtk/SliderThumbPressed.png: Added.
* UserInterface/Images/gtk/SliderThumbPressed@2x.png: Added.
* UserInterface/Images/gtk/Stopwatch.png: Added.
* UserInterface/Images/gtk/Stopwatch@2x.png: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.6@174214 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge r174054 - REGRESSION(r172919): WebKitPluginProcess fails to scan GTK+2 plugins after r172919.
https://bugs.webkit.org/show_bug.cgi?id=137191

Reviewed by Philippe Normand.

In r172919 I moved the GTK+ symbols mix check earlier, before the
plugin is loaded and initialized. That made impossible to use the
GTK3 plugin process to scan gtk2 plugins, because we need to load
the plugin to get its metadata. But we don't need to initialize
the plugin to check if it requires GTK2, so we can do that check
in the UI process to decide which plugin process to use.

* Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
(WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
Remove the requires GTK2 check.
(WebKit::NetscapePluginModule::scanPlugin): Don't write
requires-gtk2 to stdout.
* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::pluginRequiresGtk2): Helper function to check if the
given plugin path requires GTK2.
(WebKit::PluginProcessProxy::scanPlugin): Check if the plugin path
requires GTK2 and use WebKitPluginProcess2 in such case, or return
early if GTK2 plugins are not enabled. Log error messages when
something fails scanning the plugin to make it easiert to debug
problems in the future.

git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.6@174215 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge r174207 - Web Inspector: [GTK] Missing icons and enhancing the proportion and visibility of some icons
https://bugs.webkit.org/show_bug.cgi?id=137248

Reviewed by Carlos Garcia Campos.

Add more free icons and removed some unused ones for the Web
Inspector in GTK+.
Also, enhanced the visibility and/or proportion of several of the
icons.

* UserInterface/Images/gtk/AUTHORS:
* UserInterface/Images/gtk/COPYING:
* UserInterface/Images/gtk/Checkers.svg: Added.
* UserInterface/Images/gtk/Circle.svg: Added.
* UserInterface/Images/gtk/CloseLarge.svg: Added.
* UserInterface/Images/gtk/CloseTimeline.png: Removed.
* UserInterface/Images/gtk/CloseTimeline@2x.png: Removed.
* UserInterface/Images/gtk/Crosshair.svg:
* UserInterface/Images/gtk/DOMCharacterData.svg:
* UserInterface/Images/gtk/DOMComment.svg:
* UserInterface/Images/gtk/DOMDocument.svg:
* UserInterface/Images/gtk/DOMDocumentType.svg:
* UserInterface/Images/gtk/DOMElement.svg:
* UserInterface/Images/gtk/DOMNode.svg:
* UserInterface/Images/gtk/DOMTextNode.svg:
* UserInterface/Images/gtk/DOMTree.svg:
* UserInterface/Images/gtk/EventListener.svg:
* UserInterface/Images/gtk/Exception.svg:
* UserInterface/Images/gtk/Function.svg:
* UserInterface/Images/gtk/GradientStop.png: Added.
* UserInterface/Images/gtk/GradientStop@2x.png: Added.
* UserInterface/Images/gtk/GradientStopSelected.png: Added.
* UserInterface/Images/gtk/GradientStopSelected@2x.png: Added.
* UserInterface/Images/gtk/Issues.svg:
* UserInterface/Images/gtk/IssuesEnabled.svg:
* UserInterface/Images/gtk/LessColumns.svg: Removed.
* UserInterface/Images/gtk/Logs.svg:
* UserInterface/Images/gtk/Memory.svg: Removed.
* UserInterface/Images/gtk/MoreColumns.svg: Removed.
* UserInterface/Images/gtk/Native.svg:
* UserInterface/Images/gtk/NavigationItemAngleBrackets.svg:
* UserInterface/Images/gtk/NavigationItemBrushAndRuler.svg:
* UserInterface/Images/gtk/NavigationItemBug.svg:
* UserInterface/Images/gtk/NavigationItemFile.svg:
* UserInterface/Images/gtk/NavigationItemLayers.svg:
* UserInterface/Images/gtk/NavigationItemMagnifyingGlass.svg: Removed.
* UserInterface/Images/gtk/NavigationItemProbes.pdf: Added.
* UserInterface/Images/gtk/NavigationItemStopwatch.svg:
* UserInterface/Images/gtk/NavigationItemTypes.svg: Added.
* UserInterface/Images/gtk/PaintFlashing.svg: Added.
* UserInterface/Images/gtk/PseudoElement.svg:
* UserInterface/Images/gtk/Record.svg: Added.
* UserInterface/Images/gtk/Recording.png: Removed.
* UserInterface/Images/gtk/Recording@2x.png: Removed.
* UserInterface/Images/gtk/RecordingHovered.png: Removed.
* UserInterface/Images/gtk/RecordingHovered@2x.png: Removed.
* UserInterface/Images/gtk/RecordingStopped.png: Removed.
* UserInterface/Images/gtk/RecordingStopped@2x.png: Removed.
* UserInterface/Images/gtk/Reflection.svg:
* UserInterface/Images/gtk/ReplayPauseButton.svg: Added.
* UserInterface/Images/gtk/ReplayPlayButton.svg: Added.
* UserInterface/Images/gtk/ReplayRecordingButton.svg: Added.
* UserInterface/Images/gtk/Request.svg:
* UserInterface/Images/gtk/Resources.svg:
* UserInterface/Images/gtk/Response.svg:
* UserInterface/Images/gtk/ResultLine.svg:
* UserInterface/Images/gtk/SourceCode.svg:
* UserInterface/Images/gtk/Stop.svg: Added.
* UserInterface/Images/gtk/StyleRuleAuthor.svg:
* UserInterface/Images/gtk/StyleRuleInherited.svg:
* UserInterface/Images/gtk/StyleRuleInheritedElement.svg:
* UserInterface/Images/gtk/StyleRuleInspector.svg:
* UserInterface/Images/gtk/StyleRuleUser.svg:
* UserInterface/Images/gtk/StyleRuleUserAgent.svg:
* UserInterface/Images/gtk/Time.svg:
* UserInterface/Images/gtk/TimelineRecordAnimation.svg:
* UserInterface/Images/gtk/TimelineRecordConsoleProfile.svg: Added.
* UserInterface/Images/gtk/TimelineRecordEvent.svg:
* UserInterface/Images/gtk/TimelineRecordLayout.svg:
* UserInterface/Images/gtk/TimelineRecordPaint.svg:
* UserInterface/Images/gtk/TimelineRecordProbeSampled.svg: Added.
* UserInterface/Images/gtk/TimelineRecordScriptEvaluated.svg:
* UserInterface/Images/gtk/TimelineRecordStyle.svg:
* UserInterface/Images/gtk/TimelineRecordTimer.svg:
* UserInterface/Images/gtk/Weight.svg:

git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.6@174390 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge r174002 - [GTK] Fix support for the initial-letter CSS property to first-letter
https://bugs.webkit.org/show_bug.cgi?id=137108

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-09-26
Reviewed by Alejandro G. Castro.

Source/WebCore:

Add support for cap-height to the font system.

* platform/graphics/freetype/SimpleFontDataFreeType.cpp:
(WebCore::SimpleFontData::platformInit):

LayoutTests:

Add missing GTK test expectation files after http://webkit.org/b/136484

* platform/gtk/fast/css-generated-content/initial-letter-basic-expected.txt: Added.
* platform/gtk/fast/css-generated-content/initial-letter-border-padding-expected.txt: Added.
* platform/gtk/fast/css-generated-content/initial-letter-clearance-expected.txt: Added.
* platform/gtk/fast/css-generated-content/initial-letter-descender-expected.txt: Added.
* platform/gtk/fast/css-generated-content/initial-letter-raised-expected.txt: Added.
* platform/gtk/fast/css-generated-content/initial-letter-sunken-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.6@174391 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge r173776 - Multithreaded WebGL is a bad idea - remove it
https://bugs.webkit.org/show_bug.cgi?id=136964
<rdar://problem/18399858>

Reviewed by Brent Fulgham.

Source/WebCore:

We should not allow multithreaded GL access. Remove the
feature.

* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::create):
* page/Settings.in:
* platform/graphics/GraphicsContext3D.h:
(WebCore::GraphicsContext3D::Attributes::Attributes):
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::GraphicsContext3D):

Source/WebKit/mac:

Remove the setting to allow multithreaded WebGL.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences multithreadedWebGLEnabled]): Deleted.
(-[WebPreferences setMultithreadedWebGLEnabled:]): Deleted.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2:

Remove the setting to allow multithreaded WebGL.

* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetMultithreadedWebGLEnabled): Deleted.
(WKPreferencesGetMultithreadedWebGLEnabled): Deleted.
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.6@174392 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge r174394 - [SOUP] TLS errors should take precedence over HTTP authentication
https://bugs.webkit.org/show_bug.cgi?id=137300

Reviewed by Sergio Villar Senin.

Source/WebCore:

Handle TLS errors in got-headers callback to make sure it happens
before starting the authentication process.

* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::handleUnignoredTLSErrors): Refactored to receive the
soup message.
(WebCore::gotHeadersCallback): Return early and cancel the request in case of TLS errors.
(WebCore::sendRequestCallback): Do not handle TLS errors here, the request should have already been
cancelled at this point in case of TLS errors.

Tools:

Add a test case to check that authenticate signal is not emitted
in case of TLS errors, and the load fails instead.

* TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp:
(webViewAuthenticationCallback):
(testTLSErrorsHTTPAuth):
(httpsServerCallback):
(beforeAll):

git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.6@174420 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge r174093 - [GTK] [EFL] Install TestNetscapePlugin apart from the other libs.
https://bugs.webkit.org/show_bug.cgi?id=137212

This moves TestNetscapePlugin to a new folder (lib/plugins).
We should not use the same directory for TestNetscapePlugin and
the other libraries, because we end up scanning all the .so in the
lib dir for every test.

Reviewed by Carlos Garcia Campos.

* DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt: Set LIBRARY_OUTPUT_DIRECTORY to lib/plugins.
* Scripts/webkitpy/port/efl.py:
(EflPort.setup_environ_for_server): Update plugin path.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server): Update plugin path.
* TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt: Update plugin path.

git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.6@174421 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge r174316 - Unreviewed. Add missing inspector files to compilation.

* PlatformGTK.cmake: Add javascript sources in
WebInspectorUI/UserInterface/External/Esprima to the list of
inspector files.

git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.6@174424 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge r174327 - [GTK] The new web inspector can't be docked again once undocked
https://bugs.webkit.org/show_bug.cgi?id=121544

Reviewed by Martin Robinson.

Use a GtkHeaderBar for the inspector window to add dock buttons
when building with GTK+ >= 3.10.

* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::WebInspectorProxy):
* UIProcess/WebInspectorProxy.h:
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::dockButtonClicked):
(WebKit::WebInspectorProxy::createInspectorWindow):
(WebKit::WebInspectorProxy::updateInspectorWindowTitle):
(WebKit::WebInspectorProxy::platformInspectedURLChanged):
(WebKit::WebInspectorProxy::platformAttachAvailabilityChanged):

git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.6@174425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge r174309 - [GTK] generate-gtkdoc crashes when generating HTML due to encoding issues
https://bugs.webkit.org/show_bug.cgi?id=135502

Reviewed by Martin Robinson.

When writing to stdout/stderr fails due to a UnicodeDecodeError
exception, try again without encoding the output.

* gtk/gtkdoc.py:
(GTKDoc._run_command):

git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.6@174426 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge r173769 - Add a size check for CSSSelector
https://bugs.webkit.org/show_bug.cgi?id=136882

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-09-19
Reviewed by Christophe Dumez.

* css/CSSSelector.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.6@174427 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge r173783 - Minimize virtual function calls in MarkupAccumulator
https://bugs.webkit.org/show_bug.cgi?id=136957

Reviewed by Benjamin Poulain.

This patch minimizes the number of virtual function calls in
MarkupAccumulator by:
- De-virtualizing MarkupAccumulator::appendString(), which is never
  overridden
- Having MarkupAccumulator::appendEndTag() virtual function take an
  Element in argument instead of a Node, as it only applies to Element.
  Also add a non-virtual overload that takes a Node in argument and
  that does the isElementNode() check so that we don't need to explicitly
  do the check at each call site.

No new tests, no behavior change.

* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendEndTag):
(WebCore::MarkupAccumulator::shouldSelfClose):
(WebCore::MarkupAccumulator::appendEndMarkup):
* editing/MarkupAccumulator.h:
(WebCore::MarkupAccumulator::appendEndTag):
* page/PageSerializer.cpp:
(WebCore::SerializerMarkupAccumulator::appendEndTag):

git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.6@174428 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge r173766 - Provide a default argument for the most commonly used HitTestRequest variant
https://bugs.webkit.org/show_bug.cgi?id=136653

Reviewed by Darin Adler.

Make the default HitTestRequest flags be ReadOnly | Active | DisallowShadowContent
and change call sites using the default flags to use a HitTestRequest temporary.

Source/WebCore:

* dom/TreeScope.cpp:
(WebCore::nodeFromPoint):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::contains):
* page/DragController.cpp:
(WebCore::elementUnderMouse):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseDraggedEvent):
(WebCore::EventHandler::handleMousePressEvent):
* rendering/HitTestRequest.h:
(WebCore::HitTestRequest::HitTestRequest):

Source/WebKit2:

* WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
(WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::dynamicViewportSizeUpdate):

git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.6@174429 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge r173784 - Latching in iframes is not working as expected
https://bugs.webkit.org/show_bug.cgi?id=136729
<rdar://problem/18370549>

Reviewed by Simon Fraser.

Source/WebCore:

Test: platform/mac/fast/scrolling/scrolling-iframe-100pct.html

Correct latching behavior by moving the concept of latching from the event handler to the main frame.
The event handlers are per-document, and can improperly latch to the iframe element (rather than the
scrollable content of the iframe) resulting in incorrect behavior.

Also move the wheel event delta tracking to the main frame, as this is similarly "top-level" in nature.

* WebCore.vcxproj/WebCore.vcxproj: Add new LatchedState class.
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler): Update constructor after moving some members to the new
LatchedState object.
(WebCore::EventHandler::clear): Call 'clear' on the LatchedState class.
(WebCore::EventHandler::platformRecordWheelEvent):  Update for new LatchedState class.
(WebCore::EventHandler::handleWheelEvent): Ditto.
(WebCore::EventHandler::clearLatchedState): Ditto.
(WebCore::EventHandler::defaultWheelEventHandler): Ditto.
* page/EventHandler.h:
* page/LatchedState.cpp: Added.
(WebCore::LatchedState::LatchedState):
(WebCore::LatchedState::~LatchedState):
(WebCore::LatchedState::clear):
(WebCore::LatchedState::setWheelEventElement):
(WebCore::LatchedState::setWidgetIsLatched):
(WebCore::LatchedState::setPreviousWheelScrolledElement):
(WebCore::LatchedState::setScrollableContainer):
* page/LatchedState.h: Added.
(WebCore::LatchedState::wheelEventElement):
(WebCore::LatchedState::frame):
(WebCore::LatchedState::setFrame):
(WebCore::LatchedState::widgetIsLatched):
(WebCore::LatchedState::previousWheelScrolledElement):
(WebCore::LatchedState::scrollableContainer):
(WebCore::LatchedState::startedGestureAtScrollLimit):
(WebCore::LatchedState::setStartedGestureAtScrollLimit):
* page/MainFrame.cpp:
(WebCore::MainFrame::MainFrame): Update for new members (LatchedState and WheelEventDeltaTracker)
* page/MainFrame.h:
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::platformPrepareForWheelEvents): Use mainFrame-located latching information.
(WebCore::EventHandler::platformRecordWheelEvent): Use mainFrame-located wheel event delta tracking.
(WebCore::EventHandler::platformCompleteWheelEvent): Make sure to use the latched frame as well as
the latched element so that events get routed properly.
(WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent): Update for new mainFrame
location for latched state information.

LayoutTests:

* platform/mac/fast/scrolling/scroll-iframe-webkit1-latching-bug-expected.txt: Added.
* platform/mac/fast/scrolling/scroll-iframe-webkit1-latching-bug.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.6@174430 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge r173865 - Ensure that layout is up-to-date before hit-testing via RenderView
https://bugs.webkit.org/show_bug.cgi?id=136651

Reviewed by David Hyatt.

Ensure that layout is up-to-date before we do hit-testing via the RenderView.
Previously, RenderLayer::hitTest() called updateLayout(), but it's better
to push that responsibility onto RenderView before entering the RenderLayer
tree.

Make callers a little more consistent in getting the RenderView via
Frame::contentRenderer(), though perhaps we should remove that and just
call Document::renderView() everywhere.

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::press): Hit test via the RenderView, rather
than doing so on the RenderView's layer, to ensure that we updateLayout().
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::accessibilityHitTest): This code calls
hitTest() on arbitrary layers, so needs to explicitly update layout.
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::contains):
* page/EventHandler.cpp:
(WebCore::EventHandler::eventMayStartDrag):
(WebCore::EventHandler::updateSelectionForMouseDrag):
(WebCore::EventHandler::hitTestResultAtPoint): The explicit updateLayout() is
no longer needed.
(WebCore::EventHandler::updateCursor):
(WebCore::EventHandler::handleWheelEvent):
(WebCore::EventHandler::hoverTimerFired):
(WebCore::hitTestResultInFrame):
* page/Frame.cpp:
(WebCore::Frame::contentRenderer):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTest):
* rendering/RenderView.cpp:
(WebCore::RenderView::hitTest): Here's where we ensure that layout is up-to-date.

git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.6@174431 268f45cc-cd09-0410-ab3c-d52691b4dbfc