Unreviewed Chromium expectations update

Adding more files to software compositing exclusions. Sometimes they
do not crash but instead generater incorrect images.

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129905 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2][GTK] Implement new Favicons API
https://bugs.webkit.org/show_bug.cgi?id=96476

Reviewed by Carlos Garcia Campos.

New object wrapping the internal IconDatabase from WebCore,
providing a simple asynchronous API to retrieve the favicon
associated to a page URL, and two more functions to simple query
the internal database for the URI of the icon associated to a
page, if any, and to clear the state of the internal database.

* UIProcess/API/gtk/WebKitFaviconDatabase.cpp: Added.
(_WebKitFaviconDatabasePrivate):
(webkit_favicon_database_init):
(webkitFaviconDatabaseFinalize):
(webkit_favicon_database_class_init):
(GetFaviconSurfaceAsyncData): New structure used to pass data
across the asynchronous implementation of get_favicon().
(GetFaviconSurfaceAsyncData::~GetFaviconSurfaceAsyncData):
Disconnects the cancellable if needed.
(getIconSurfaceSynchronously): Synchronously returns a pointer to
the cairo_surface with the icon's data, if available.
(deletePendingIconRequests): Removes the full list of
icon requests for a page URL.
(processPendingIconsForURI): Process any icon request that
might be still pending.
(iconDataReadyForPageURLCallback): Called from WebIconDatabase
when new data is ready for a favicon.
(webkitFaviconDatabaseCreate): Create the WebKitFaviconDatabase
object and initializes the API client for WKIconDatabaseClient.
(getOrCreatePendingIconRequests): Returns (if available) or
creates a new icon request, to be appended to the list of requests
for the same page URL.
(getIconSurfaceCancelled): Handle the case of a request being
cancelled. Must happen on the main thread.
(getIconSurfaceCancelledCallback): Callback used with
g_cancellable_connect(), which ensure getIconSurfaceCancelled() is
called from the main thread.
(setErrorForAsyncResult): Helper to set errors in the result.
(webkit_favicon_database_error_quark): New function, providint the
new error domain for errors of type WebKitFaviconDatabaseError.
(webkit_favicon_database_get_favicon): New API function, providing
an asynchronous mechanism to query the favicon for a page URL.
(webkit_favicon_database_get_favicon_finish): New API function to
finish the asyncrhonous request started with get_favicon().
(webkit_favicon_database_get_favicon_uri): New API function
to easily retrieve, if available, the URI of a favicon.
(webkit_favicon_database_clear): New API function to clear the
state of the internal icon database.
* UIProcess/API/gtk/WebKitFaviconDatabase.h: Added.
(_WebKitFaviconDatabase):
(_WebKitFaviconDatabaseClass):
* UIProcess/API/gtk/WebKitFaviconDatabasePrivate.h: Added to
internally expose webkitFaviconDatabaseCreate() to WebKitWebContext.
* UIProcess/API/gtk/WebKitPrivate.h: Import WebKit2/WKIconDatabase.h.
* GNUmakefile.list.am: Added new files.

Add a new getter in WebIconDatabase for m_urlImportCompleted.

* UIProcess/WebIconDatabase.cpp:
(WebKit::WebIconDatabase::isUrlImportCompleted): Added this simple
getter to allow knowing from WebKitFaviconDatabase whether the
initial import has finished, needed for making some decisions.
(WebKit):
* UIProcess/WebIconDatabase.h:
(WebIconDatabase):

New API in WebKitWebContext to allow obtaining a valid instance of
WebKitFaviconDatabase and to set/get the local path to be used.

* UIProcess/API/gtk/WebKitWebContext.cpp:
(_WebKitWebContextPrivate):
(webkit_web_context_set_favicon_database_path): New API to allow
setting a path for the icon database, other than the default one.
(webkit_web_context_get_favicon_database_path): New API to
retrieve the path for the icon database currently in use.
(webkit_web_context_get_favicon_database): New API to get a valid
and properly initialized instance of WebKitFaviconDatabase.
* UIProcess/API/gtk/WebKitWebContext.h:

Make sure we have a default path set for the icon database.

* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::platformDefaultIconDatabasePath): Return the
default path to be used for the icon database.

Add unit tests for checking this new API.

* UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp: Added.
(serverCallback): Callback for the test server.
(testSetDirectory): New unit test, checks the ability to set and
get a specific directory path for the icon database.
(testClearDatabase): New unit test, checks the ability to clear
the data in the icon database.
(testGetFavicon): New unit test, checks the ability to get a
favicon from the icon database in different situations.
(testGetFaviconURI): New unit test, checks the ability to retrieve
the URI for the favicon, if any, associated to a web page.
(deleteDatabaseFiles): Helper function to remove temporary files.
(beforeAll): Initialize the test server and add the unit tests.
(afterAll): Delete the test server and clean up.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129906 268f45cc-cd09-0410-ab3c-d52691b4dbfc
471kB below StyleSheetContents::parserAppendRule() on Membuster3.
<http://webkit.org/b/97916>

Reviewed by Anders Carlsson.

Shrink-to-fit the StyleSheetContents rule vectors at the end of CSSParser::parseSheet().
~100kB progression on Membuster3.

* css/StyleSheetContents.h:
* css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::shrinkToFit):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseSheet):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129907 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement the GetStats interface on PeerConnection
https://bugs.webkit.org/show_bug.cgi?id=95193

Source/Platform:

Patch by Harald Tveit Alvestrand <harald@alvestrand.no> on 2012-09-28
Reviewed by Adam Barth.

* chromium/public/WebRTCPeerConnectionHandler.h:
(WebKit):
(WebRTCPeerConnectionHandler):
(WebKit::WebRTCPeerConnectionHandler::getStats):
* chromium/public/WebRTCStatsRequest.h: added.
(WebCore):
(WebKit):
(WebRTCStatsRequest):
(WebKit::WebRTCStatsRequest::WebRTCStatsRequest):
(WebKit::WebRTCStatsRequest::~WebRTCStatsRequest):
(WebKit::WebRTCStatsRequest::operator=):

Source/WebCore:

Specification:
http://dev.w3.org/2011/webrtc/editor/webrtc-20120920.html

Patch by Harald Tveit Alvestrand <harald@alvestrand.no> on 2012-09-28
Reviewed by Adam Barth.

The implementation consists of a pure virtual platform object
(RTCStatsRequest) that is implemented in WebCore, and stores
its information in a straightforward data hierarchy.
This patch adds the call path and the storage structures.
It does not add filling in data.

Test: fast/mediastream/RTCPeerConnection-stats.html

* CMakeLists.txt:
* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::getStats):
(WebCore):
* Modules/mediastream/RTCPeerConnection.h:
(WebCore):
(RTCPeerConnection):
* Modules/mediastream/RTCPeerConnection.idl:
* Modules/mediastream/RTCStatsCallback.h: Added.
(WebCore):
(RTCStatsCallback):
(WebCore::RTCStatsCallback::~RTCStatsCallback):
* Modules/mediastream/RTCStatsCallback.idl: Added.
* Modules/mediastream/RTCStatsElement.cpp: Added.
(WebCore):
(WebCore::RTCStatsElement::create):
(WebCore::RTCStatsElement::RTCStatsElement):
(WebCore::RTCStatsElement::stat):
* Modules/mediastream/RTCStatsElement.h: Added.
(WebCore):
(RTCStatsElement):
* Modules/mediastream/RTCStatsElement.idl: Added.
* Modules/mediastream/RTCStatsReport.cpp: Added.
(WebCore):
(WebCore::RTCStatsReport::create):
(WebCore::RTCStatsReport::RTCStatsReport):
* Modules/mediastream/RTCStatsReport.h: Added.
(WebCore):
(RTCStatsReport):
(WebCore::RTCStatsReport::local):
(WebCore::RTCStatsReport::remote):
* Modules/mediastream/RTCStatsReport.idl: Added.
* Modules/mediastream/RTCStatsRequestImpl.cpp: Added.
(WebCore):
(WebCore::RTCStatsRequestImpl::create):
(WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
(WebCore::RTCStatsRequestImpl::~RTCStatsRequestImpl):
(WebCore::RTCStatsRequestImpl::requestSucceeded):
(WebCore::RTCStatsRequestImpl::stop):
(WebCore::RTCStatsRequestImpl::clear):
* Modules/mediastream/RTCStatsRequestImpl.h: Added.
(WebCore):
(RTCStatsRequestImpl):
* Modules/mediastream/RTCStatsResponse.cpp: Added.
(WebCore):
(WebCore::RTCStatsResponse::create):
(WebCore::RTCStatsResponse::RTCStatsResponse):
* Modules/mediastream/RTCStatsResponse.h: Added.
(WebCore):
(RTCStatsResponse):
(WebCore::RTCStatsResponse::result):
* Modules/mediastream/RTCStatsResponse.idl: Added.
* WebCore.gypi:
* platform/chromium/support/WebRTCStatsRequest.cpp: Copied from Source/Platform/chromium/public/WebRTCPeerConnectionHandler.h.
(WebKit):
(WebKit::WebRTCStatsRequest::WebRTCStatsRequest):
(WebKit::WebRTCStatsRequest::assign):
(WebKit::WebRTCStatsRequest::reset):
(WebKit::WebRTCStatsRequest::requestSucceeded):
* platform/mediastream/RTCPeerConnectionHandler.h:
(WebCore):
(RTCPeerConnectionHandler):
* platform/mediastream/RTCStatsRequest.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h.
(WebCore):
(RTCStatsRequest):
(WebCore::RTCStatsRequest::~RTCStatsRequest):
(WebCore::RTCStatsRequest::RTCStatsRequest):
* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
(WebCore::RTCPeerConnectionHandlerChromium::getStats):
(WebCore):
* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
(RTCPeerConnectionHandlerChromium):

Tools:

Patch by Harald Tveit Alvestrand <harald@alvestrand.no> on 2012-09-28
Reviewed by Adam Barth.

* DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:
(RTCStatsRequestSucceededTask):
(RTCStatsRequestSucceededTask::RTCStatsRequestSucceededTask):
(MockWebRTCPeerConnectionHandler::getStats):
* DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h:
(MockWebRTCPeerConnectionHandler):

LayoutTests:

Patch by Harald Tveit Alvestrand <harald@alvestrand.no> on 2012-09-28
Reviewed by Adam Barth.

* fast/mediastream/RTCPeerConnection-stats-expected.txt: Added.
* fast/mediastream/RTCPeerConnection-stats.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129908 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Exiting fullscreen does not set the correct scroll position
https://bugs.webkit.org/show_bug.cgi?id=97917
PR #212920

Reviewed by Yong Li.
Patch by Antonio Gomes <agomes@rim.com>
Internally reviewed by Jacky Jiang.

Restore the zoom level and scroll position at the time when know
the fullscreen exit routine has ended (i.e. in ::setViewportSize
instead of ::exitFullScreenForElement).

Also patch caches now the scroll position instead of only the
"x scroll position.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::setViewportSize):
(BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
(BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):
* Api/WebPage_p.h:
(WebPagePrivate):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129909 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Fix the find-in-page implementation for detaching frames.
https://bugs.webkit.org/show_bug.cgi?id=97807

Reviewed by Adam Barth.

Follow-up of 97688. Introduces proper test coverage for the find-in-page
feature in detaching/detached frame situations, fixing a few crashes and
ensuring that a final reply is always sent.

* public/WebNode.h:
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::find):
(WebKit::WebFrameImpl::scopeStringMatches):
(WebKit::WebFrameImpl::flushCurrentScopingEffort):
(WebKit):
(WebKit::WebFrameImpl::finishCurrentScopingEffort):
(WebKit::WebFrameImpl::cancelPendingScopingEffort):
(WebKit::WebFrameImpl::WebFrameImpl):
(WebKit::WebFrameImpl::setWebCoreFrame):
(WebKit::WebFrameImpl::initializeAsMainFrame):
(WebKit::WebFrameImpl::createChildFrame):
(WebKit::WebFrameImpl::shouldScopeMatches):
(WebKit::WebFrameImpl::willDetachPage):
* src/WebFrameImpl.h:
(WebFrameImpl):
* src/WebNode.cpp:
(WebKit::WebNode::remove):
(WebKit):
* tests/WebFrameTest.cpp:
* tests/data/find_in_page.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129910 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Run multiple tasks per transaction tick
https://bugs.webkit.org/show_bug.cgi?id=97738

Reviewed by Tony Chang.

Process multiple tasks from the pending queue(s) when the timer fires. The
task may initiate new tasks that change which queue is active (e.g. indexing
operations) so the loop must re-check each tick which queue to use.

In DumpRenderTree, time to make 20k puts/20k gets dropped from 3.2s to 2.0s (-37%);
in Chromium's content_shell, the time dropped from 8.1s to 4.6s (-42%).

No new tests - just perf improvements, covered by (nearly) all existing IDB tests.

* Modules/indexeddb/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::abort): Use takeFirst() to clean up code.
(WebCore::IDBTransactionBackendImpl::taskTimerFired): Process as many tasks as are available.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129911 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add parseDateTime, formatDateTime, and dateFormatText to Localizer
https://bugs.webkit.org/show_bug.cgi?id=97885

Reviewed by Kentaro Hara.

Source/WebCore:

This is a preparation to remove LocalizedData.h.

Add the following pure virtual member functions to Localizer.
  parseDateTime
  formatDateTime
  dateFormatText.

We rename existing parse/format functions for type=date in Locale*
classes, and extend their functionality so that they support other
date/time types. They override the new functions of Localizer.

No new tests. This should not change any behavior.

* platform/text/Localizer.h:
(Localizer): Add parseDateTime, formatDateTime, and dateFormatText.

* platform/text/LocaleICU.h:
(LocaleICU):
- Rename parseLocalizedDate to parseDateTime
- Add type argument to parseDateTime
- Rename formatLocalizedDate to formatDateTime
- Rename localizedDateFormatText to dateFormatText
- Make parseDateTime/formatDateTime/dateFormatText virtual.
* platform/text/LocaleICU.cpp:
(WebCore::LocaleICU::parseDateTime):
Renamed. Reject non-date types.
(WebCore::LocaleICU::formatDateTime): ditto.
(WebCore::LocaleICU::dateFormatText): Renamed.
* platform/text/LocalizedDateICU.cpp: Moved some code to LocaleICU.cpp.
(WebCore::parseLocalizedDate):
(WebCore::formatLocalizedDate):

* platform/text/LocaleNone.cpp:
Add empty implementations of parseDateTime, formatDateTime, and
dateFormatText.
(LocaleNone):
(WebCore::LocaleNone::parseDateTime):
(WebCore::LocaleNone::formatDateTime):
(WebCore::LocaleNone::dateFormatText):

* platform/text/LocaleWin.h:
(LocaleWin):
- Rename parseDate to parseDateTime
- Add type argument to parseDateTime
- Rename formatDate to formatDateTime
- Make parseDateTime/formatDateTime/dateFormatText virtual.
* platform/text/LocaleWin.cpp:
(WebCore::LocaleWin::parseDateTime):
Renamed. Reject non-date types.
(WebCore::LocaleWin::formatDateTime): ditto.
* platform/text/LocalizedDateWin.cpp: Moved some code to LocaleWin.cpp.
(WebCore::parseLocalizedDate):
(WebCore::formatLocalizedDate):

* platform/text/mac/LocaleMac.h:
(LocaleMac):
- Rename parseDate to parseDateTime
- Add type argument to parseDateTime
- Rename formatDate to formatDateTime
- Make parseDateTime/formatDateTime/dateFormatText virtual.
* platform/text/mac/LocaleMac.mm:
(WebCore::LocaleMac::parseDateTime):
Renamed. Reject non-date types.
(WebCore::LocaleMac::formatDateTime): ditto.
* platform/text/mac/LocalizedDateMac.cpp: Moved some code to LocaleMac.mm.
(WebCore::parseLocalizedDate):
(WebCore::formatLocalizedDate):

Source/WebKit/chromium:

* tests/LocaleMacTest.cpp: Follow renaming of LocaleMac functions.
(LocaleMacTest::formatDate):
(LocaleMacTest::parseDate):
* tests/LocaleWinTest.cpp: Follow renaming of LocaleWin functions.
(LocaleWinTest::formatDate):
(LocaleWinTest::parseDate):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129912 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r129751.
http://trac.webkit.org/changeset/129751
https://bugs.webkit.org/show_bug.cgi?id=97921

Causes crashes on mac and win (Requested by vsevik on
#webkit).

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

* bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::getContext):
* bindings/js/JSMainThreadExecState.h:
(WebCore::JSMainThreadExecState::instrumentFunctionCall):
* bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::create):
* bindings/js/ScriptCallStackFactory.cpp:
(WebCore::createScriptCallStackForInspector):
* bindings/js/ScriptCallStackFactory.h:
(WebCore):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateCallWith):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateCallWith):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
(WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter):
(WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackCallback):
* bindings/v8/ScriptCallStackFactory.cpp:
(WebCore::createScriptCallStackForInspector):
* bindings/v8/ScriptCallStackFactory.h:
(WebCore):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::callFunctionWithInstrumentation):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::setIsolatedWorldSecurityOrigin):
* bindings/v8/V8WorkerContextEventListener.cpp:
(WebCore::V8WorkerContextEventListener::callListenerFunction):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::WindowSetTimeoutImpl):
* bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
(WebCore::V8HTMLCanvasElement::getContextCallback):
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::SetTimeoutOrInterval):
* inspector/Inspector.json:
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
(WebCore::InspectorConsoleAgent::enable):
(WebCore::InspectorConsoleAgent::disable):
(WebCore::InspectorConsoleAgent::clearMessages):
(WebCore::InspectorConsoleAgent::clearFrontend):
(WebCore::InspectorConsoleAgent::addConsoleMessage):
* inspector/InspectorConsoleAgent.h:
(InspectorConsoleAgent):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
* inspector/InspectorRuntimeAgent.cpp:
(WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
* inspector/InspectorRuntimeAgent.h:
(InspectorRuntimeAgent):
* inspector/PageRuntimeAgent.cpp:
(PageRuntimeAgentState):
(WebCore::PageRuntimeAgent::clearFrontend):
(WebCore::PageRuntimeAgent::restore):
(WebCore::PageRuntimeAgent::setReportExecutionContextCreation):
(WebCore::PageRuntimeAgent::didClearWindowObject):
(WebCore::PageRuntimeAgent::didCreateIsolatedContext):
* inspector/PageRuntimeAgent.h:
(PageRuntimeAgent):
* inspector/WorkerRuntimeAgent.cpp:
(WebCore::WorkerRuntimeAgent::setReportExecutionContextCreation):
(WebCore):
* inspector/WorkerRuntimeAgent.h:
(WorkerRuntimeAgent):
* inspector/front-end/RuntimeModel.js:
(WebInspector.RuntimeModel.prototype._didLoadCachedResources):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::postMessage):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129913 268f45cc-cd09-0410-ab3c-d52691b4dbfc
flexbox assert fails with auto-sized item with padding
https://bugs.webkit.org/show_bug.cgi?id=97606

Reviewed by Ojan Vafai.

Source/WebCore:

Depending on the denominator of FractionalLayoutUnit, we can lose precision when
converting to a float.  This would cause a rounding error in flex-shrink to trigger an ASSERT.
To avoid this problem in the future, switch to using doubles for flex-shrink and flex-grow
at layout time.  The CSS values themselves are still floats.

Test: css3/flexbox/negative-flex-rounding-assert.html

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutFlexItems): Use doubles for local variables.
(WebCore::RenderFlexibleBox::computeNextFlexLine): Pass in doubles.
(WebCore::RenderFlexibleBox::freezeViolations): Pass in doubles.
(WebCore::RenderFlexibleBox::resolveFlexibleLengths): Pass in doubles.
* rendering/RenderFlexibleBox.h:

LayoutTests:

Add a test that hits an ASSERT when FractionalLayoutUnit denominator is 60.

* css3/flexbox/negative-flex-rounding-assert-expected.txt: Added.
* css3/flexbox/negative-flex-rounding-assert.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129914 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Extend composited  in-region scrolling to iframes/frames
https://bugs.webkit.org/show_bug.cgi?id=97922
PR #197093

Reviewed by Yong Li.
Patch by Antonio Gomes <agomes@rim.com>
Internaly reviewed by Arvid Nilsson.

Add support for composited scrolling in a inner frame level:

1) When creating an InRegionScrollableArea, for a inner scrollable frame,
cache and camouflag the appropriated scroll layer (i.e. RenderLayerCompositor::scrollLayer);

2) Differentiate what type of scroll target we are at: BlockElement or
InnerFrame;

3) Change the signature of the public methods to support and newly passed
in ScrollTarget parameter;
As a side note, this parameter is needed in order to know what class to static_cast
the GraphicsLayer::client to: in the case of a composited scrollable inner frame, the client
is a RenderLayerCompositor; in case of a composited scrollable block element, the client
is a RenderLayerBacking.

* Api/InRegionScroller.cpp:
(BlackBerry::WebKit::InRegionScroller::setScrollPositionWebKitThread):
(BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionWebKitThread):
* Api/InRegionScroller.h:
* Api/InRegionScroller_p.h:
(InRegionScrollerPrivate):
* WebCoreSupport/ChromeClientBlackBerry.h:
(WebCore::ChromeClientBlackBerry::allowedCompositingTriggers):
* WebKitSupport/InRegionScrollableArea.cpp:
(BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129916 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Allow ports to override text track rendering style
<rdar://problem/12044964>

Reviewed by Jessie Berlin.

Update WKSI libraries.

* libWebKitSystemInterfaceLion.a:
* libWebKitSystemInterfaceMountainLion.a:
* libWebKitSystemInterfaceSnowLeopard.a:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129917 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed Chromium expectations update

Adding more files to software compositing exclusions. The end?

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129918 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Removing tests from TestExpectations on Mac platform.

Bugs 86137 and 86139 have been fixed. Remove a couple ietestcenter tests from TestExpectations.

* platform/mac/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129919 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Hard to tap on x to clear a text field
https://bugs.webkit.org/show_bug.cgi?id=97923

Reviewed by Antonio Gomes.

PR97923

Allow the shadow element for 'X' to be clickable and do not prefer
shadow content-editable div's over the 'X'.

* WebKitSupport/FatFingers.cpp:
(BlackBerry::WebKit::FatFingers::isElementClickable):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129920 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Mac] Removing tests from TestExpectations

Expected failures now pass. Also see these tests have been unskipped on Chromium
(see bugs 84764, 84767, 84768, 84769, 84775, 84776).

* platform/mac/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129921 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] {Vibration,Battery,NetworkInfo}Provider should contain WKContextRef instead of proxy.
https://bugs.webkit.org/show_bug.cgi?id=97839

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-09-28
Reviewed by Kenneth Rohde Christiansen.

VibrationProvider has WKRetainPtr<WKVibrationRef> m_wkVibrationRef
which has reference for object WebVibrationProxy.
The WebVibrationProxy instance is a member of WebContext who has it
as RefPtr<WebVibrationProxy>.

A member of one class is shared with another class, but there is no
relation between the two classes.

This can become a problem when WebContext is deleted before the
VibrationProvider, WebVibrationProxy will be alive without WebContext,
because VibrationProvider also has the reference for WebVibrationProxy.

This is a problem because WebVibrationProxy should be a member of
WebContext.

To prevent this, I changed the VibrationProvider to have
WKRetainPtr<WKContextRef> instead of WKRetainPtr<WKVibrationRef>.
Same for BatteryProvider and NetworkInfoProvider.

* UIProcess/API/efl/BatteryProvider.cpp:
(BatteryProvider::create):
(BatteryProvider::BatteryProvider):
(BatteryProvider::didChangeBatteryStatus):
* UIProcess/API/efl/BatteryProvider.h:
(BatteryProvider):
* UIProcess/API/efl/NetworkInfoProvider.cpp:
(NetworkInfoProvider::create):
(NetworkInfoProvider::NetworkInfoProvider):
* UIProcess/API/efl/NetworkInfoProvider.h:
(NetworkInfoProvider):
* UIProcess/API/efl/VibrationProvider.cpp:
(VibrationProvider::create):
(VibrationProvider::VibrationProvider):
* UIProcess/API/efl/VibrationProvider.h:
(VibrationProvider):
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context::_Ewk_Context):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129922 268f45cc-cd09-0410-ab3c-d52691b4dbfc
The virtual path for this test is incorrect. It appears to be
causing archiving problems on the Chromium Windows bots.
Skip it for now until the run-webkit-tests bug is fixed.
* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129923 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Code inside FrameLoaderClient::canShowMIMEType() implementations can be shared among different WK ports
https://bugs.webkit.org/show_bug.cgi?id=97547

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-09-28
Reviewed by Adam Barth.

Source/WebCore:

Added MIMETypeRegistry::canShowMIMEType() function which should to be used
to detect whether a given MIME type can be shown in a page.

No new tests. No new functionality.

* WebCore.exp.in: Added MIMETypeRegistry::canShowMIMEType(). Removed MIMETypeRegistry functions that no longer need to be exported.
* platform/MIMETypeRegistry.cpp:
(WebCore::MIMETypeRegistry::canShowMIMEType):
(WebCore):
* platform/MIMETypeRegistry.h:
(MIMETypeRegistry):

Source/WebKit/blackberry:

Newly added WebCore::MIMETypeRegistry::canShowMIMEType() function is used
inside WebCore::FrameLoaderClientBlackBerry::canShowMIMEType().

* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::canShowMIMEType):

Source/WebKit/efl:

Newly added WebCore::MIMETypeRegistry::canShowMIMEType() function is used
inside WebCore::FrameLoaderClientEfl::canShowMIMEType().

* WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore::FrameLoaderClientEfl::canShowMIMEType):

Source/WebKit/gtk:

Newly added WebCore::MIMETypeRegistry::canShowMIMEType() function is used
inside WebKit::FrameLoaderClient::canShowMIMEType().

* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::FrameLoaderClient::canShowMIMEType):

Source/WebKit/qt:

Newly added WebCore::MIMETypeRegistry::canShowMIMEType() function is used
inside WebCore::FrameLoaderClientQt::canShowMIMEType().

* WebCoreSupport/FrameLoaderClientQt.cpp:
(WebCore::FrameLoaderClientQt::canShowMIMEType):

Source/WebKit/wince:

Newly added WebCore::MIMETypeRegistry::canShowMIMEType() function is used
inside WebKit::FrameLoaderClientWinCE::canShowMIMEType().

* WebCoreSupport/FrameLoaderClientWinCE.cpp:
(WebKit::FrameLoaderClientWinCE::canShowMIMEType):

Source/WebKit2:

Newly added WebCore::MIMETypeRegistry::canShowMIMEType() function is used
inside WebKit::WebPageProxy::canShowMIMEType() and WKBundlePageCanShowMIMEType().

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::canShowMIMEType):
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageCanShowMIMEType):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129924 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Update the value of window.devicePixelRation when it is set programmatically
https://bugs.webkit.org/show_bug.cgi?id=97512

Reviewed by Rob Buis.

RIM PR 213984
Set the deviceScaleFactor of the page explicity when the
devicePixelRatio is changed.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
(BlackBerry::WebKit::WebPagePrivate::didChangeSettings):


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