Unreviewed, GTK inspector gardening.

* platform/gtk/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113163 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Speech JavaScript API: Plumbing for Chromium
https://bugs.webkit.org/show_bug.cgi?id=81667

Reviewed by Darin Fisher.

Source/WebCore:

SpeechGrammar::src() is called with a ScriptExecutionContext, because
the attribute setter needs it. Provide a src() method that doesn't
take a ScriptExecutionContext that can be used internally.

Rename SpeechRecognition::audioStartCallback(), etc. to use event style
names, i.e. didStartAudio(), etc.

Remove SpeechRecognitionClient::notifyVisibilityHidden(). The embedder
can keep track of the visibility.

Remove SpeechRecognitionClient::unregisterSpeechRecognition,
it is not needed.

No new tests, just minor tweaks.

* Modules/speech/SpeechGrammar.h:
(WebCore::SpeechGrammar::src):
* Modules/speech/SpeechRecognition.cpp:
(WebCore::SpeechRecognition::didStartAudio):
(WebCore::SpeechRecognition::didStartSound):
(WebCore::SpeechRecognition::didStartSpeech):
(WebCore::SpeechRecognition::didEndSpeech):
(WebCore::SpeechRecognition::didEndSound):
(WebCore):
(WebCore::SpeechRecognition::didEndAudio):
(WebCore::SpeechRecognition::didReceiveResult):
(WebCore::SpeechRecognition::didReceiveNoMatch):
(WebCore::SpeechRecognition::didDeleteResult):
(WebCore::SpeechRecognition::didReceiveError):
(WebCore::SpeechRecognition::didStart):
(WebCore::SpeechRecognition::didEnd):
* Modules/speech/SpeechRecognition.h:
(SpeechRecognition):
* Modules/speech/SpeechRecognitionClient.h:
(SpeechRecognitionClient):
* Modules/speech/SpeechRecognitionController.h:

Source/WebKit/chromium:

Add plumbing for speech recognition.

The implementer is expected to implement the WebSpeechRecognizer interface.
The start(), stop(), and abort() functions of that interface take a
WebSpeechRecognitionHandle argument, which identifies the object which has
requested the action, and a pointer to a WebSpeechRecognitionClient interface,
through which it should send back notifications on progress, errors, etc.

SpeechRecognitionClientProxy passes data between the WebCore and WebKit layers,
implementing the WebCore::SpeechRecognitionClient and WebKit::WebSpeechRecognizerClient
interfaces.

* WebKit.gyp:
* public/WebSpeechGrammar.h:
(WebCore):
(WebKit):
(WebSpeechGrammar):
(WebKit::WebSpeechGrammar::WebSpeechGrammar):
(WebKit::WebSpeechGrammar::~WebSpeechGrammar):
* public/WebSpeechRecognitionHandle.h: Added.
(WebCore):
(WebKit):
(WebSpeechRecognitionHandle):
(WebKit::WebSpeechRecognitionHandle::~WebSpeechRecognitionHandle):
(WebKit::WebSpeechRecognitionHandle::WebSpeechRecognitionHandle):
(WebKit::WebSpeechRecognitionHandle::operator=):
(WebKit::operator==):
(WebKit::operator!=):
(WebKit::operator<):
* public/WebSpeechRecognitionParams.h:
(WebKit):
(WebSpeechRecognitionParams):
(WebKit::WebSpeechRecognitionParams::grammars):
(WebKit::WebSpeechRecognitionParams::language):
(WebKit::WebSpeechRecognitionParams::continuous):
* public/WebSpeechRecognitionResult.h: Added.
(WebCore):
(WebKit):
(WebSpeechRecognitionResult):
(WebKit::WebSpeechRecognitionResult::WebSpeechRecognitionResult):
(WebKit::WebSpeechRecognitionResult::~WebSpeechRecognitionResult):
* public/WebSpeechRecognizer.h:
(WebKit):
(WebSpeechRecognizer):
(WebKit::WebSpeechRecognizer::start):
(WebKit::WebSpeechRecognizer::stop):
(WebKit::WebSpeechRecognizer::abort):
(WebKit::WebSpeechRecognizer::~WebSpeechRecognizer):
* public/WebSpeechRecognizerClient.h: Added.
(WebKit):
(WebSpeechRecognizerClient):
* public/WebViewClient.h:
(WebKit):
(WebViewClient):
(WebKit::WebViewClient::speechRecognizer):
* src/SpeechRecognitionClientProxy.cpp: Added.
(WebKit):
(WebKit::SpeechRecognitionClientProxy::~SpeechRecognitionClientProxy):
(WebKit::SpeechRecognitionClientProxy::create):
(WebKit::SpeechRecognitionClientProxy::start):
(WebKit::SpeechRecognitionClientProxy::stop):
(WebKit::SpeechRecognitionClientProxy::abort):
(WebKit::SpeechRecognitionClientProxy::didStartAudio):
(WebKit::SpeechRecognitionClientProxy::didStartSound):
(WebKit::SpeechRecognitionClientProxy::didStartSpeech):
(WebKit::SpeechRecognitionClientProxy::didEndSpeech):
(WebKit::SpeechRecognitionClientProxy::didEndSound):
(WebKit::SpeechRecognitionClientProxy::didEndAudio):
(WebKit::SpeechRecognitionClientProxy::didReceiveResult):
(WebKit::SpeechRecognitionClientProxy::didReceiveNoMatch):
(WebKit::SpeechRecognitionClientProxy::didDeleteResult):
(WebKit::SpeechRecognitionClientProxy::didReceiveError):
(WebKit::SpeechRecognitionClientProxy::didStart):
(WebKit::SpeechRecognitionClientProxy::didEnd):
(WebKit::SpeechRecognitionClientProxy::SpeechRecognitionClientProxy):
* src/SpeechRecognitionClientProxy.h: Added.
(WebKit):
(SpeechRecognitionClientProxy):
* src/WebSpeechGrammar.cpp: Added.
(WebKit):
(WebKit::WebSpeechGrammar::reset):
(WebKit::WebSpeechGrammar::WebSpeechGrammar):
(WebKit::WebSpeechGrammar::operator=):
(WebKit::WebSpeechGrammar::src):
(WebKit::WebSpeechGrammar::weight):
* src/WebSpeechRecognitionHandle.cpp: Added.
(WebKit):
(WebKit::WebSpeechRecognitionHandle::reset):
(WebKit::WebSpeechRecognitionHandle::assign):
(WebKit::WebSpeechRecognitionHandle::equals):
(WebKit::WebSpeechRecognitionHandle::lessThan):
(WebKit::WebSpeechRecognitionHandle::WebSpeechRecognitionHandle):
(WebKit::WebSpeechRecognitionHandle::operator=):
(WebKit::WebSpeechRecognitionHandle::operator PassRefPtr<SpeechRecognition>):
* src/WebSpeechRecognitionParams.cpp: Added.
(WebKit):
(WebKit::WebSpeechRecognitionParams::WebSpeechRecognitionParams):
* src/WebSpeechRecognitionResult.cpp: Added.
(WebKit):
(WebKit::WebSpeechRecognitionResult::assign):
(WebKit::WebSpeechRecognitionResult::reset):
(WebKit::WebSpeechRecognitionResult::operator PassRefPtr<WebCore::SpeechRecognitionResult>):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
* src/WebViewImpl.h:
(WebKit):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113164 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Improve the tap gesture recognizer
https://bugs.webkit.org/show_bug.cgi?id=83135

Reviewed by Simon Hausmann.

Clean up the code and make sure that the first single tap
event, as part of a double tap gesture, is ignored.

* UIProcess/qt/QtTapGestureRecognizer.cpp:
(WebKit::QtTapGestureRecognizer::withinDistance):
(WebKit):
(WebKit::QtTapGestureRecognizer::recognize):
(WebKit::QtTapGestureRecognizer::singleTapTimeout):
(WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
(WebKit::QtTapGestureRecognizer::reset):
* UIProcess/qt/QtTapGestureRecognizer.h:
(QtTapGestureRecognizer):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113165 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add localization functions for the calendar picker
https://bugs.webkit.org/show_bug.cgi?id=83129

Reviewed by Hajime Morita.

No behavior changes yet.

* WebCore.gypi: Add LocalizedCalendar.h and LocalizedCalendarICU.cpp.
* platform/LocalizedStrings.h: Add calendarTodayText() and calendarClearText().
* platform/text/LocalizedCalendar.h:
Added. This provides monthLabels(), weekDayShortLabels(), and firstDayOfWeek().
* platform/text/LocalizedCalendarICU.cpp: Added. ICU implementations of the above functions.
(WebCore::ScopedDateFormat): A wrapper for UDateFormat*.
(WebCore::ScopedDateFormat::ScopedDateFormat):
(WebCore::ScopedDateFormat::~ScopedDateFormat):
(WebCore::ScopedDateFormat::get):
(createFallbackMonthLabels): Creates fallback month labels in English.
(createLabelVector):
A helper for createMonthLabels() and createWeekDayShortLabels().
(createMonthLabels):
Creates month labels using createLabelVector() or createFallbackMonthLabels().
(WebCore::monthLabels):
(createFallbackWeekDayShortLabels): Creates fallback week labels in English.
(createWeekDayShortLabels):
Creates month labels using createLabelVector() or createFallbackWeekDayShortLabels().
(WebCore::weekDayShortLabels):
(getFirstDayOfWeek):
(WebCore::firstDayOfWeek):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113166 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: front-end should accept raw web socket address for the remote connection.
https://bugs.webkit.org/show_bug.cgi?id=83134

Reviewed by Yury Semikhatsky.

Migrated from the /devtools/page web socket schema to the generic one where remote target address
can be specified as index.html?ws=localhost:9222/page1. Left the old host/page way for backwards
compatibility.

* inspector/front-end/inspector.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113167 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Unreviewed gardening
https://bugs.webkit.org/show_bug.cgi?id=83057
New test flakey on Qt Linux Release introduced in r113086

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2012-04-04

* platform/qt/Skipped: fast/dom/inline-event-attributes-release.html

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113168 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r113156.
http://trac.webkit.org/changeset/113156
https://bugs.webkit.org/show_bug.cgi?id=83146

Breaks inspector layout tests (Requested by pfeldman on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-04-04

* inspector/front-end/MemoryStatistics.js:
(WebInspector.MemoryStatistics.prototype._refreshDividers):
* inspector/front-end/TimelineGrid.js:
(WebInspector.TimelineGrid.prototype.updateDividers):
(WebInspector.TimelineGrid.prototype.addEventDividers):
* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane.prototype._update):
(WebInspector.TimelineOverviewPane.prototype._reset):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._updateEventDividers):
(WebInspector.TimelinePanel.prototype._refresh):
(WebInspector.TimelinePanel.prototype._refreshRecords):
(WebInspector.TimelinePanel.prototype.get timelinePaddingLeft):
(WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
(WebInspector.TimelineRecordGraphRow.prototype.update):
(WebInspector.TimelineExpandableElement.prototype._update):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113169 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Unable to zoom to some areas.
https://bugs.webkit.org/show_bug.cgi?id=83144

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-04-04
Reviewed by Kenneth Rohde Christiansen.

Remember to convert touch-area to touch-point radius.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::findZoomableAreaForPoint):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113170 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(r113144): It made run-webkit-tests always fail
https://bugs.webkit.org/show_bug.cgi?id=83142

Unreviewed trivial fix after r113144.

* Scripts/run-webkit-tests:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113171 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt][WK2] Make the WebView a subclass of Flickable
https://bugs.webkit.org/show_bug.cgi?id=83033

Reviewed by Kenneth Rohde Christiansen.

Source/WebKit/qt:

Add needed dependency to quick-private for projects that include the WebView header.

* declarative/experimental/experimental.pri:
* declarative/public.pri:

Source/WebKit2:

Hitherto, the experiment of a QML WebView with an internal Flickable
instance showed that the approach of hiding the Flickable raises more
problems than it solves.

One set of problems arose because the internal Flickable was a separate
item which received and reacted on automatically synthesized mouse events
send by the canvas, this interfered with the gesture recognizers of the
WebView.

Other issues were related to orientation and the integration of the
WebView item with other QML items and components (like scroll indicators)
which require a larger set of the Flickable API or the Flickable object
itself (e.g. ScrollDecorator).

These disadvantages of an internal Flickable instance outweigh the
benefits of controlling the exposed API, therefore the experiment had
the conclusion that there is no way around the public inheritance from
QQuickFlickable.

This patch removes the QtFlickProvider class, inherits QQuickWebView
from QQuickFlickable and adjusts the viewport interaction engine and
the gesture recognizers to use the Flickable API of the WebView to
keep the same behaviour as before.

* Target.pri:
* UIProcess/API/qt/qquickwebpage.cpp:
(QQuickWebPage::QQuickWebPage):
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewFlickablePrivate::initialize):
(QQuickWebViewFlickablePrivate::pageItemPos):
(QQuickWebViewFlickablePrivate::updateContentsSize):
(QQuickWebViewFlickablePrivate::onComponentComplete):
(QQuickWebViewFlickablePrivate::updateViewportSize):
(QQuickWebViewExperimental::useDefaultContentItemSize):
(QQuickWebViewExperimental::setUseDefaultContentItemSize):
(QQuickWebView::QQuickWebView):
(QQuickWebView::inputMethodQuery):
(QQuickWebView::geometryChanged):
(QQuickWebView::componentComplete):
(QQuickWebView::event):
(QQuickWebView::contentPos):
(QQuickWebView::setContentPos):
(QQuickWebView::handlePress):
(QQuickWebView::handleMove):
(QQuickWebView::handleRelease):
* UIProcess/API/qt/qquickwebview_p.h:
(WebKit):
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
* UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
(tst_QQuickWebView::scrollRequest):
* UIProcess/API/qt/tests/tests.pri:
* UIProcess/qt/QtFlickProvider.cpp: Removed.
* UIProcess/qt/QtFlickProvider.h: Removed.
* UIProcess/qt/QtPanGestureRecognizer.cpp:
(WebKit::QtPanGestureRecognizer::recognize):
* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
(WebKit::QtViewportInteractionEngine::setItemRectVisible):
(WebKit::QtViewportInteractionEngine::flickableMoveStarted):
(WebKit::QtViewportInteractionEngine::flickableMoveEnded):
(WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
(WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
(WebKit::QtViewportInteractionEngine::wheelEvent):
(WebKit::QtViewportInteractionEngine::reset):
(WebKit::QtViewportInteractionEngine::scrollAnimationActive):
(WebKit::QtViewportInteractionEngine::panGestureActive):
(WebKit::QtViewportInteractionEngine::panGestureStarted):
(WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
(WebKit::QtViewportInteractionEngine::panGestureEnded):
(WebKit::QtViewportInteractionEngine::panGestureCancelled):
(WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
(WebKit::QtViewportInteractionEngine::pinchGestureStarted):
(WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
(WebKit::QtViewportInteractionEngine::pinchGestureEnded):
(WebKit::QtViewportInteractionEngine::scaleContent):
* UIProcess/qt/QtViewportInteractionEngine.h:
(QtViewportInteractionEngine):
* UIProcess/qt/QtWebPageEventHandler.cpp:
(QtWebPageEventHandler::doneWithTouchEvent):

Tools:

Remove workaround in MiniBrowser and the ScrollIndicator
now that the WebView is a Flickable.

* MiniBrowser/qt/MiniBrowser.pro:
* MiniBrowser/qt/qml/BrowserWindow.qml:
* MiniBrowser/qt/qml/ScrollIndicator.qml:
* WebKitTestRunner/Target.pri:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113172 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Change ewk_settings_icon_database_icon_object_add to proper API name.
https://bugs.webkit.org/show_bug.cgi?id=82438

Patch by Grzegorz Czajkowski <g.czajkowski@samsung.com> on 2012-04-04
Reviewed by Andreas Kling.

The purpose of ewk_settings_icon_database_icon_object_add is to get icon
for the given URL. This function doesn't add anything to database.
Documentation and API name are adjusted.

* ewk/ewk_settings.cpp:
(ewk_settings_icon_database_icon_object_get):
* ewk/ewk_settings.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113173 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[FileSystem] Forward declare File in FileCallback.h
https://bugs.webkit.org/show_bug.cgi?id=83128

Reviewed by Kentaro Hara.

No new tests. Covered by existing tests.

* Modules/filesystem/FileCallback.h: forward declare File class to make
#include of "File.h" redundant.
(WebCore):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113174 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Further improvements of the tap gesture recognizer
https://bugs.webkit.org/show_bug.cgi?id=83149

Reviewed by Zoltan Herczeg.

Ignore single tap while finger is still pressed.
Some renaming to make the states more clear.
A pan further than the maxPanDistance can now invalidate
double-taps as well.

* UIProcess/qt/QtTapGestureRecognizer.cpp:
(WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
(WebKit::QtTapGestureRecognizer::recognize):
(WebKit::QtTapGestureRecognizer::singleTapTimeout):
(WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
(WebKit::QtTapGestureRecognizer::reset):
* UIProcess/qt/QtTapGestureRecognizer.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113175 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebSpeechRecognizer.h: add missing forward declaration
https://bugs.webkit.org/show_bug.cgi?id=83150

Reviewed by Tony Gentilcore.

Add missing forward declaration of WebSpeechRecognitionParams.

* public/WebSpeechRecognizer.h:
(WebKit):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113176 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: make padding and client window width part of timeline calculator's state
https://bugs.webkit.org/show_bug.cgi?id=83122

Reviewed by Pavel Feldman.

Source/WebCore:

- preserve window width and padding within TimelineCalculator
- rely on calculator to add expansion arrow padding
- add TimelineCalculator::computePosition() for computing single position (not entire bar dimensions)

* inspector/front-end/MemoryStatistics.js:
(WebInspector.MemoryStatistics.prototype._refreshDividers):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView.prototype._updateDividersIfNeeded):
(WebInspector.NetworkLogView.prototype._reset):
(WebInspector.NetworkBaseCalculator.prototype.computePosition):
(WebInspector.NetworkBaseCalculator.prototype.formatTime):
(WebInspector.NetworkBaseCalculator.prototype.setDisplayWindow):
* inspector/front-end/TimelineGrid.js:
(WebInspector.TimelineGrid.prototype.updateDividers):
(WebInspector.TimelineGrid.prototype.addEventDividers):
* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane.prototype._update):
(WebInspector.TimelineOverviewPane.prototype._reset):
(WebInspector.TimelineOverviewCalculator.prototype.computePosition):
(WebInspector.TimelineOverviewCalculator.prototype.setDisplayWindow):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._updateEventDividers):
(WebInspector.TimelinePanel.prototype._refresh):
(WebInspector.TimelinePanel.prototype._refreshRecords):
(WebInspector.TimelineCalculator.prototype.computePosition):
(WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
(WebInspector.TimelineCalculator.prototype.setDisplayWindow):
(WebInspector.TimelineRecordGraphRow.prototype.update):
(WebInspector.TimelineExpandableElement.prototype._update):

LayoutTests:

- re-enable 4 injspector tests skipped after previous landing attempt.

* platform/gtk/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][DRT] FrameloaderClientEfl needs to handle media content correctly
https://bugs.webkit.org/show_bug.cgi?id=83020

Patch by Dominik Röttsches <dominik.rottsches@linux.intel.com> on 2012-04-04
Reviewed by Hajime Morita.

Source/WebKit/efl:

Implementing handling of media content type and media documents
in the respective FrameLoaderClientEfl callbacks.

* WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore::FrameLoaderClientEfl::committedLoad): Cancel loading for media documents.
(WebCore::FrameLoaderClientEfl::canShowMIMEType): Let media content types through.
(WebCore):
(WebCore::FrameLoaderClientEfl::pluginWillHandleLoadError): Returning appropriate error type.
(WebCore::FrameLoaderClientEfl::shouldFallBack): Falling back as well for media handled by media player.

LayoutTests:

* platform/efl/Skipped: Unskipping those MediaDocument related cases which now pass.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113178 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Best zoomable area does not balance intersection with target area.
https://bugs.webkit.org/show_bug.cgi?id=83148

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-04-04
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Change the two step sort to simply picking the best quotient of touch intersection with target area.

Test: touchadjustment/zoom-fatfinger.html

* page/TouchAdjustment.cpp:
(WebCore::TouchAdjustment::distanceSquaredToTargetCenterLine):
(TouchAdjustment):
(WebCore::TouchAdjustment::zoomableIntersectionQuotient):
(WebCore::TouchAdjustment::findNodeWithLowestDistanceMetric):
(WebCore::findBestClickableCandidate):
(WebCore::findBestZoomableArea):

LayoutTests:

* touchadjustment/zoom-fatfinger-expected.txt: Added.
* touchadjustment/zoom-fatfinger.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113179 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2] Add Page Visibility API support
https://bugs.webkit.org/show_bug.cgi?id=81154

Patch by Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> on 2012-04-04
Reviewed by Kenneth Rohde Christiansen.

Use WebPageProxy::viewStateDidChange to correctly define the page's
visibilityState and then set it to the WebProcess. The WebKit2's based
ports just need to implement the related PageClient functions in order
to get this API enabled and working properly.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::initializeWebPage):
(WebKit::WebPageProxy::viewStateDidChange):
* WebProcess/WebPage/WebPage.cpp:
(WebKit):
(WebKit::WebPage::setVisibilityState):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, GTK inspector gardening.

* platform/gtk/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113182 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt][WK2] QtWebKit2 should support Page Visibility API
https://bugs.webkit.org/show_bug.cgi?id=81164

Patch by Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> on 2012-04-04
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Implementing the last bits needed for getting the expected
behavior for Page Visibility API, according to its spec.
The only missing part in Qt was a way to check whether
the view was exposed or not.

* UIProcess/qt/QtPageClient.cpp:
(QtPageClient::isViewVisible):

Tools:

Enabling Page Visiblity API for Qt WebKit2.

* qmake/mkspecs/features/features.prf:

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