WebKit-https.git
8 years agoflexbox assert fails with auto-sized item with padding
tony@chromium.org [Fri, 28 Sep 2012 17:14:43 +0000 (17:14 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@129914 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, rolling out r129751.
commit-queue@webkit.org [Fri, 28 Sep 2012 16:51:22 +0000 (16:51 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@129913 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoAdd parseDateTime, formatDateTime, and dateFormatText to Localizer
tkent@chromium.org [Fri, 28 Sep 2012 16:46:05 +0000 (16:46 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@129912 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoIndexedDB: Run multiple tasks per transaction tick
jsbell@chromium.org [Fri, 28 Sep 2012 16:38:54 +0000 (16:38 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@129911 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Chromium] Fix the find-in-page implementation for detaching frames.
leandrogracia@chromium.org [Fri, 28 Sep 2012 16:38:08 +0000 (16:38 +0000)]
[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: https://svn.webkit.org/repository/webkit/trunk@129910 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[BlackBerry] Exiting fullscreen does not set the correct scroll position
tonikitoo@webkit.org [Fri, 28 Sep 2012 16:34:07 +0000 (16:34 +0000)]
[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: https://svn.webkit.org/repository/webkit/trunk@129909 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoImplement the GetStats interface on PeerConnection
commit-queue@webkit.org [Fri, 28 Sep 2012 16:25:45 +0000 (16:25 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@129908 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago471kB below StyleSheetContents::parserAppendRule() on Membuster3.
kling@webkit.org [Fri, 28 Sep 2012 16:14:32 +0000 (16:14 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@129907 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[WK2][GTK] Implement new Favicons API
mario@webkit.org [Fri, 28 Sep 2012 16:09:17 +0000 (16:09 +0000)]
[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: https://svn.webkit.org/repository/webkit/trunk@129906 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed Chromium expectations update
schenney@chromium.org [Fri, 28 Sep 2012 16:04:23 +0000 (16:04 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@129905 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[EFL] Update EFL baselines after r129874
commit-queue@webkit.org [Fri, 28 Sep 2012 15:56:11 +0000 (15:56 +0000)]
[EFL] Update EFL baselines after r129874
https://bugs.webkit.org/show_bug.cgi?id=97914

Unreviewed EFL gardening.

Update baselines for failing tests after r129874.

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-09-28

* platform/efl/fast/overflow/overflow_hidden-expected.txt:
* platform/efl/svg/hixie/cascade/002-expected.png:
* platform/efl/svg/hixie/cascade/002-expected.txt:

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

8 years agoClean up Localizer-related functions
tkent@chromium.org [Fri, 28 Sep 2012 15:51:52 +0000 (15:51 +0000)]
Clean up Localizer-related functions
https://bugs.webkit.org/show_bug.cgi?id=97899

Reviewed by Kentaro Hara.

Source/WebCore:

- Rename Document::getLocalizer to getCachedLocalizer
- Add default argument to getCachedLocalizer
- Add Element::localizer to reduce code size
- Rename DateTimeNumericFieldElement::localizer to localizerForOwner to
  avoid conflict with Element::localizer
- Add Localizer::createDefault to improve code readability

No new tests. This shouldn't make any behavior change.

* dom/Document.h:
(Document): Rename getLocalizer to getCachedLocalizer, and add default
argument.
* dom/Document.cpp:
(WebCore::Document::getCachedLocalizer): ditto.

* dom/Element.h:
(Element): Add localizer function.
* dom/Element.cpp:
(WebCore::Element::localizer): Added

* html/shadow/DateTimeNumericFieldElement.h:
(DateTimeNumericFieldElement): Rename localizer to localizerForOwner.
* html/shadow/DateTimeNumericFieldElement.cpp: ditto.
(WebCore::DateTimeNumericFieldElement::handleKeyboardEvent):
(WebCore::DateTimeNumericFieldElement::localizerForOwner):
(WebCore::DateTimeNumericFieldElement::value):

* platform/text/Localizer.h:
(Localizer): Add createDefault
(WebCore::Localizer::createDefault): Implemented.

* html/BaseMultipleFieldsDateAndTimeInputType.cpp:
(WebCore::BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue):
Use Element::localizer.
* html/NumberInputType.cpp:
(WebCore::NumberInputType::localizeValue): ditto.
(WebCore::NumberInputType::convertFromVisibleValue): ditto.

Source/WebKit/blackberry:

* WebCoreSupport/ColorPickerClient.cpp:
(WebCore::ColorPickerClient::localizer): Follow Document::getLocalizer renaming.
* WebCoreSupport/DatePickerClient.cpp:
(WebCore::SelectPopupClient::localizer): ditto.
* WebCoreSupport/SelectPopupClient.cpp:
(WebCore::SelectPopupClient::localizer): ditto.

Source/WebKit/chromium:

* src/ColorChooserUIController.cpp:
(WebKit::ColorChooserUIController::ColorChooserUIController):
Use Localizer::createDefault
* src/DateTimeChooserImpl.cpp:
(WebKit::DateTimeChooserImpl::DateTimeChooserImpl): ditto.

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

8 years agoAdding regression test to ensure that cached call uninitialized arguments
mark.lam@apple.com [Fri, 28 Sep 2012 15:51:16 +0000 (15:51 +0000)]
Adding regression test to ensure that cached call uninitialized arguments
correctly defaults to undefined.
https://bugs.webkit.org/show_bug.cgi?id=97836.

Reviewed by Geoffrey Garen.

* fast/js/cached-call-uninitialized-arguments-expected.txt: Added.
* fast/js/cached-call-uninitialized-arguments.html: Added.
* fast/js/script-tests/cached-call-uninitialized-arguments.js: Added.
(doForEach.callback.shouldBeUndefined):
(doForEach.callback):
(doForEach):
(callAfterRecursingForDepth):

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

8 years ago[BLACKBERRY] Add isVisible method to WebTapHighlight
commit-queue@webkit.org [Fri, 28 Sep 2012 15:45:20 +0000 (15:45 +0000)]
[BLACKBERRY] Add isVisible method to WebTapHighlight
https://bugs.webkit.org/show_bug.cgi?id=97915

Patch by Genevieve Mak <gmak@rim.com> on 2012-09-28
Reviewed by Rob Buis.

Reviewed Internally By Andrew Lo
The isVisible() method lets us avoid dispatching to the webkit thread
if the tap highlight isn't visible.
Always clear tap highlight on Touch up when converting Touch Events
to Mouse Events.

* Api/WebTapHighlight.h:
* WebKitSupport/DefaultTapHighlight.h:
(BlackBerry::WebKit::DefaultTapHighlight::isVisible):
* WebKitSupport/TouchEventHandler.cpp:
(BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):

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

8 years ago[EFL] Unreviewed test fixes after r129892.
rakuco@webkit.org [Fri, 28 Sep 2012 15:40:58 +0000 (15:40 +0000)]
[EFL] Unreviewed test fixes after r129892.

* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(TEST_F): Fix a copy&paste error that changed the test
expectations.
* UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
(TEST_F): Revert the change here since it was already in the right
format before.

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

8 years ago[Qt] Gardening. Cleanup some Qt specific expectation.
ossy@webkit.org [Fri, 28 Sep 2012 15:31:00 +0000 (15:31 +0000)]
[Qt] Gardening. Cleanup some Qt specific expectation.

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2012-09-28
Reviewed by Csaba Osztrogon√°c.

* platform/qt-5.0-wk2/TestExpectations: Skip not supported Qt plugin test.
* platform/qt-5.0-wk2/platform/qt/plugins/application-plugin-plugins-disabled-expected.png: Removed.
* platform/qt-5.0-wk2/platform/qt/plugins/application-plugin-plugins-disabled-expected.txt: Removed.
* platform/qt/TestExpectations: Skip failing test, ENABLE(MUTATION_OBSERVERS) is disabled.
* platform/qt/platform/qt/plugins/application-plugin-plugins-disabled-expected.txt: Rebase after r129844.
* platform/qt/plugins/application-plugin-plugins-disabled-expected.txt: Removed.
* platform/qt/plugins/qt-qwidget-plugin-expected.txt: Removed.

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

8 years agoWeb Inspector: define ChunkedReader interface for compilation
pfeldman@chromium.org [Fri, 28 Sep 2012 15:30:21 +0000 (15:30 +0000)]
Web Inspector: define ChunkedReader interface for compilation
https://bugs.webkit.org/show_bug.cgi?id=97904

Reviewed by Alexander Pavlov.

Otherwise, it is unclear what "source" is in the OutputStreamDelegate.

* inspector/front-end/FileUtils.js:
(WebInspector.OutputStreamDelegate.prototype.onTransferStarted):
(WebInspector.OutputStreamDelegate.prototype.onTransferFinished):
(WebInspector.OutputStreamDelegate.prototype.onChunkTransferred):
(WebInspector.OutputStreamDelegate.prototype.onError):
(WebInspector.ChunkedReader):
(WebInspector.ChunkedReader.prototype.fileSize):
(WebInspector.ChunkedReader.prototype.loadedSize):
(WebInspector.ChunkedReader.prototype.fileName):
(WebInspector.ChunkedReader.prototype.cancel):
(WebInspector.ChunkedFileReader.prototype.start):
(WebInspector.ChunkedFileReader.prototype._onChunkLoaded):
(WebInspector.ChunkedXHRReader.prototype.start):
(WebInspector.ChunkedXHRReader.prototype._onLoad):
* inspector/front-end/HeapSnapshotView.js:
(WebInspector.HeapSnapshotLoadFromFileDelegate.prototype.onTransferStarted):
(WebInspector.HeapSnapshotLoadFromFileDelegate.prototype.onChunkTransferred):
(WebInspector.HeapSnapshotLoadFromFileDelegate.prototype.onTransferFinished):
(WebInspector.HeapSnapshotLoadFromFileDelegate.prototype.onError):
* inspector/front-end/TimelineModel.js:
(WebInspector.TimelineModelLoadFromFileDelegate.prototype.onTransferStarted):

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

8 years ago[Chromium] Incorrect resampling of clipped/masked images.
fmalita@chromium.org [Fri, 28 Sep 2012 15:24:41 +0000 (15:24 +0000)]
[Chromium] Incorrect resampling of clipped/masked images.
https://bugs.webkit.org/show_bug.cgi?id=97409

Reviewed by Stephen White.

Source/WebCore:

Currently, high-quality resampling is used for translate/scale-only transforms, but when
the scale is negative the resampling subset ends up positioned incorrectly.
ImageSkia.cpp:drawResampledBitmap needs to account for negative scaling factors, and apply
only absolute values when calculating the resampling subregion in bitmap coordinates.

Thanks pdr@google.com for isolating the regression.

Test: svg/custom/clip-mask-negative-scale.svg

* platform/graphics/skia/ImageSkia.cpp:
(WebCore::drawResampledBitmap):

LayoutTests:

* platform/chromium-linux/svg/custom/clip-mask-negative-scale-expected.png: Added.
* platform/chromium-linux/svg/custom/clip-mask-negative-scale-expected.txt: Added.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* svg/custom/clip-mask-negative-scale.svg: Added.

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

8 years agoUnreviewed, rolling out r129882.
commit-queue@webkit.org [Fri, 28 Sep 2012 14:55:07 +0000 (14:55 +0000)]
Unreviewed, rolling out r129882.
http://trac.webkit.org/changeset/129882
https://bugs.webkit.org/show_bug.cgi?id=97913

Repaint is incorrect on many tests (Requested by schenney on
#webkit).

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

Source/WebCore:

* inspector/InspectorController.cpp:
* inspector/InspectorController.h:
(WebCore):
(InspectorController):
* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::paint):
(WebCore::InspectorOverlay::update):
(WebCore::buildObjectForPoint):
(WebCore::buildArrayForQuad):
(WebCore::buildObjectForHighlight):
(WebCore::InspectorOverlay::reset):
* inspector/InspectorOverlay.h:
(InspectorOverlay):
* inspector/InspectorOverlayPage.html:

Source/WebKit/chromium:

* src/WebDevToolsAgentImpl.cpp:
(OverlayZOrders):
(WebKit::DeviceMetricsSupport::DeviceMetricsSupport):
(WebKit::DeviceMetricsSupport::~DeviceMetricsSupport):
(WebKit::DeviceMetricsSupport::restore):
(WebKit::DeviceMetricsSupport::paintPageOverlay):
(DeviceMetricsSupport):
(WebKit::WebDevToolsAgentImpl::attach):
(WebKit::WebDevToolsAgentImpl::webViewResized):
(WebKit::WebDevToolsAgentImpl::overrideDeviceMetrics):
* src/WebDevToolsAgentImpl.h:
(WebDevToolsAgentImpl):
* src/WebDevToolsAgentPrivate.h:
(WebDevToolsAgentPrivate):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::resize):

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

8 years agoUnreviewed Chromium TestExpectation addition
schenney@chromium.org [Fri, 28 Sep 2012 14:32:49 +0000 (14:32 +0000)]
Unreviewed Chromium TestExpectation addition

Various software composituing tests are failing on Mac and Win.

* platform/chromium/TestExpectations:

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

8 years agoUnreviewed, rolling out r129825.
haraken@chromium.org [Fri, 28 Sep 2012 14:16:15 +0000 (14:16 +0000)]
Unreviewed, rolling out r129825.
http://trac.webkit.org/changeset/129825
https://bugs.webkit.org/show_bug.cgi?id=97474

DOMWindow.resizeTo() is broken. Asked by Mark Pilgrim.

Source/Platform:

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

Source/WebCore:

* WebCore.gypi:
* platform/Widget.h:
* platform/chromium/PageClientChromium.h: Removed.
* platform/chromium/PlatformScreenChromium.cpp:
(WebCore::screenHorizontalDPI):
(WebCore::screenVerticalDPI):
(WebCore::screenDepth):
(WebCore::screenDepthPerComponent):
(WebCore::screenIsMonochrome):
(WebCore::screenRect):
(WebCore::screenAvailableRect):
* platform/chromium/PlatformSupport.h:
(PlatformSupport):

Source/WebKit/chromium:

* public/WebScreenInfo.h:
(WebKit):
(WebScreenInfo):
(WebKit::WebScreenInfo::WebScreenInfo):
* src/ChromeClientImpl.cpp:
* src/ChromeClientImpl.h:
(WebKit):
(WebKit::ChromeClientImpl::platformPageClient):
(ChromeClientImpl):
* src/PlatformSupport.cpp:
(WebCore::toWebWidgetClient):
(WebCore):
(WebCore::PlatformSupport::screenHorizontalDPI):
(WebCore::PlatformSupport::screenVerticalDPI):
(WebCore::PlatformSupport::screenDepth):
(WebCore::PlatformSupport::screenDepthPerComponent):
(WebCore::PlatformSupport::screenIsMonochrome):
(WebCore::PlatformSupport::screenRect):
(WebCore::PlatformSupport::screenAvailableRect):

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

8 years agoDisable YARR_JIT for Windows 64 bit
commit-queue@webkit.org [Fri, 28 Sep 2012 14:12:48 +0000 (14:12 +0000)]
Disable YARR_JIT for Windows 64 bit
https://bugs.webkit.org/show_bug.cgi?id=97772

Patch by Kai Koehne <kai.koehne@digia.com> on 2012-09-28
Reviewed by Simon Hausmann.

Using YARR_JIT requires ASSEMBLER, which in turn enables the
executable fixed allocator, which is mmap based (not available on
Windows).

* wtf/Platform.h:

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

8 years ago[EFL][WK2] Some expected and actual parameters in unit tests are reversed
commit-queue@webkit.org [Fri, 28 Sep 2012 14:00:33 +0000 (14:00 +0000)]
[EFL][WK2] Some expected and actual parameters in unit tests are reversed
https://bugs.webkit.org/show_bug.cgi?id=97624

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2012-09-28
Reviewed by Laszlo Gombos.

According to the gtest guide, ASSERT_XXX, EXPECT_XXX(expected, actual) are recommended
but some unit tests do not follow this.(http://code.google.com/p/googletest/wiki/Primer)
Google Test's failure messages are optimized for this convention.

* UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(schemeRequestCallback):
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
(on_download_requested):
(on_download_finished):
* UIProcess/API/efl/tests/test_ewk2_intents.cpp:
(onIntentServiceRegistration):
(onIntentReceived):
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_refptr_evas_object.cpp:
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):
(onFormAboutToBeSubmitted):
(checkBasicPopupMenuItem):
(showPopupMenu):
(showColorPicker):

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

8 years ago[NRWT] XvfbDriver should choose the next free display
kkristof@inf.u-szeged.hu [Fri, 28 Sep 2012 13:57:53 +0000 (13:57 +0000)]
[NRWT] XvfbDriver should choose the next free display
https://bugs.webkit.org/show_bug.cgi?id=88414

Reviewed by Dirk Pranke.

This change how the XvfbDriver choose the next display. Before
this the choosing are based on the worker number but it caused
errors when several nrwt run on the same time. This add process
based free diplay search.

* Scripts/webkitpy/layout_tests/port/xvfbdriver.py:
(XvfbDriver.__init__):
(XvfbDriver._next_free_display):
(XvfbDriver._start):
(XvfbDriver.stop):
* Scripts/webkitpy/layout_tests/port/xvfbdriver_unittest.py:
(XvfbDriverTest.make_driver):
(XvfbDriverTest.test_start_no_pixel_tests):
(XvfbDriverTest.test_start_pixel_tests):
(XvfbDriverTest.test_start_arbitrary_worker_number):
(XvfbDriverTest.test_next_free_display):
(XvfbDriverTest):
(XvfbDriverTest.test_start_next_worker):

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

8 years ago[Qt] QRawWebView tests are broke after r129545
kbalazs@webkit.org [Fri, 28 Sep 2012 13:55:52 +0000 (13:55 +0000)]
[Qt] QRawWebView tests are broke after r129545
https://bugs.webkit.org/show_bug.cgi?id=97907

Reviewed by Noam Rosenthal.

The issue here is that we set up the page loader client before initializing the page
so the message we send in WebPageProxy::initializeLoaderClient will be lost since the
page does not exists at the web process side yet. The trivial fix would be to reorder
initialization. In this patch I also moved to the new model of observing layout changes
via WKPageDidLayoutCallback since the old one will be deprecated at some time.

* UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
(WebView::WebView):
(WebView::didLayout):

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

8 years ago[GTK] Enable CSS Shaders layout LayoutTests on GTK+
commit-queue@webkit.org [Fri, 28 Sep 2012 13:49:46 +0000 (13:49 +0000)]
[GTK] Enable CSS Shaders layout LayoutTests on GTK+
https://bugs.webkit.org/show_bug.cgi?id=97821

Patch by Huang Dongsung <luxtella@company100.net> on 2012-09-28
Reviewed by Martin Robinson.

Source/WebKit/gtk:

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
(DumpRenderTreeSupportGtk::setCSSCustomFilterEnabled): Pass through to Settings object.
* WebCoreSupport/DumpRenderTreeSupportGtk.h:
(DumpRenderTreeSupportGtk):

Tools:

This feature is disabled via Settings by default, but for testing,
we enable it using layoutTestController.overridePreferences. Add the
necessary plumbing for DRT.

WTR already works because support was added for Apple Mac earlier.

* DumpRenderTree/gtk/DumpRenderTree.cpp:
(resetDefaultsToConsistentValues): Feature is off by default.
* DumpRenderTree/gtk/TestRunnerGtk.cpp:
(TestRunner::overridePreference): Add handling of WebKitCSSCustomFilterEnabled.

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

8 years ago[Qt] Make NRWT use wk2/TestExpectations file
ossy@webkit.org [Fri, 28 Sep 2012 13:47:24 +0000 (13:47 +0000)]
[Qt] Make NRWT use wk2/TestExpectations file
https://bugs.webkit.org/show_bug.cgi?id=97894

Reviewed by Simon Hausmann.

* Scripts/webkitpy/layout_tests/port/qt.py: Remove unnecessary _skipped_file_search_paths function.
(QtPort.expectations_files): Add wk2 if --webkit-test-runner option added.
* Scripts/webkitpy/layout_tests/port/qt_unittest.py: Remove unnecessary test__skipped_file_search_paths function.
(QtPortTest._assert_search_path): Removed.
(QtPortTest.test_expectations_files): Add wk2 if --webkit-test-runner option added, and code cleanup.

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

8 years ago[WebDatabase] Error code should be CONSTRAINT_ERR if a statement fails due to a const...
commit-queue@webkit.org [Fri, 28 Sep 2012 13:44:43 +0000 (13:44 +0000)]
[WebDatabase] Error code should be CONSTRAINT_ERR if a statement fails due to a constraint failure
https://bugs.webkit.org/show_bug.cgi?id=97897

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-28
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Use CONSTRAINT_ERR error code instead of the generic DATABASE_ERR
when a statement fails due to a constraint failure. This is documented
in the W3C specification:
http://dev.w3.org/html5/webdatabase/#dom-sqlexception-code-constraint

Tests: storage/websql/sql-error-codes.html

* Modules/webdatabase/SQLStatement.cpp:
(WebCore::SQLStatement::execute):
* Modules/webdatabase/SQLStatementSync.cpp:
(WebCore::SQLStatementSync::execute):
* platform/sql/SQLiteDatabase.cpp:
(WebCore):
* platform/sql/SQLiteDatabase.h:
(WebCore):

LayoutTests:

Update storage/websql/sql-error-codes.html test case to check
that the CONSTRAINT_ERR error code is used when a statement
fails due to a constraint failure.

* platform/chromium/storage/websql/sql-error-codes-expected.txt:
* storage/websql/sql-error-codes-expected.txt:
* storage/websql/sql-error-codes.js:
(testConstraintFailure):
(runTest):

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

8 years ago[EFL][DRT] EFL's layoutTestController.keepWebHistory should enable visited links...
commit-queue@webkit.org [Fri, 28 Sep 2012 13:38:08 +0000 (13:38 +0000)]
[EFL][DRT] EFL's layoutTestController.keepWebHistory should enable visited links tracking
https://bugs.webkit.org/show_bug.cgi?id=97901

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-09-28
Reviewed by Kenneth Rohde Christiansen.

EFL's DRT testRunner.keepWebHistory should enable visited links tracking in order
to be consistent with WTR implementation and also several tests rely on that (fast/history).

* DumpRenderTree/efl/TestRunnerEfl.cpp:
(TestRunner::keepWebHistory):

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

8 years agoWeb Inspector: split ProgressBar.js into Progress.js and ProgressIndicator.js
pfeldman@chromium.org [Fri, 28 Sep 2012 13:29:59 +0000 (13:29 +0000)]
Web Inspector: split ProgressBar.js into Progress.js and ProgressIndicator.js
https://bugs.webkit.org/show_bug.cgi?id=97902

Reviewed by Alexander Pavlov.

One is model, the other is UI component.

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.py:
* inspector/front-end/Progress.js: Copied from Source/WebCore/inspector/front-end/ProgressBar.js.
* inspector/front-end/ProgressIndicator.js: Renamed from Source/WebCore/inspector/front-end/ProgressBar.js.
* inspector/front-end/UserAgentSupport.js:
* inspector/front-end/WebKit.qrc:
* inspector/front-end/externs.js:
* inspector/front-end/inspector.html:

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

8 years ago[BlackBerry] Should suspend page's scripted animations when WebPage is invisible
commit-queue@webkit.org [Fri, 28 Sep 2012 13:20:24 +0000 (13:20 +0000)]
[BlackBerry] Should suspend page's scripted animations when WebPage is invisible
https://bugs.webkit.org/show_bug.cgi?id=97856

Patch by Andrew Lo <anlo@rim.com> on 2012-09-28
Reviewed by Antonio Gomes.

Suspend page animations when setting WebPage invisible, resume when visible.
Internal PR212788.

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

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

8 years agoWeb Inspector: [Device Metrics] Remove the gutter overlay moving its functionality...
apavlov@chromium.org [Fri, 28 Sep 2012 13:08:50 +0000 (13:08 +0000)]
Web Inspector: [Device Metrics] Remove the gutter overlay moving its functionality into the InspectorOverlay
https://bugs.webkit.org/show_bug.cgi?id=97799

Reviewed by Pavel Feldman.

Source/WebCore:

In order to reduce the amount of port-specific code, the gutter overlay painted in the device metrics emulation mode
has been replaced by the respective functionality in the HTML-based InspectorOverlay in WebCore. The InspectorOverlay
now covers the entire WebView rather than the FrameView only.

* inspector/InspectorController.cpp:
(WebCore::InspectorController::webViewResized):
(WebCore):
* inspector/InspectorController.h:
(WebCore):
(InspectorController):
* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::InspectorOverlay):
(WebCore::InspectorOverlay::paint):
(WebCore::InspectorOverlay::resize):
(WebCore):
(WebCore::InspectorOverlay::update):
(WebCore::InspectorOverlay::drawGutter):
(WebCore::InspectorOverlay::reset):
* inspector/InspectorOverlay.h:
(InspectorOverlay):
* inspector/InspectorOverlayPage.html: Introduce the gutter painting functionality previously found in the Chromium's
DeviceMetricsSupport class, which used to implement WebPageOverlay.

Source/WebKit/chromium:

- Dispatch the webViewResized() event on InspectorController, which is necessary to update the InspectorOverlay.
- Remove the gutter overlay painting code.

* src/WebDevToolsAgentImpl.cpp:
(WebKit::DeviceMetricsSupport::DeviceMetricsSupport):
(WebKit::DeviceMetricsSupport::~DeviceMetricsSupport):
(WebKit::WebDevToolsAgentImpl::attach):
(WebKit::WebDevToolsAgentImpl::webViewResized):
(WebKit::WebDevToolsAgentImpl::overrideDeviceMetrics):
* src/WebDevToolsAgentImpl.h:
(WebDevToolsAgentImpl):
* src/WebDevToolsAgentPrivate.h:
(WebDevToolsAgentPrivate):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::resize):

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

8 years agoediting/pasteboard/paste-removing-iframe.html crashes on EFL bots
commit-queue@webkit.org [Fri, 28 Sep 2012 12:56:55 +0000 (12:56 +0000)]
editing/pasteboard/paste-removing-iframe.html crashes on EFL bots
https://bugs.webkit.org/show_bug.cgi?id=97892

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-09-28
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Added missing null check to avoid a crash if the document inside
iframe is removed during the editing operation.

Test: editing/pasteboard/paste-removing-iframe.html

* editing/Editor.cpp:
(WebCore::Editor::changeSelectionAfterCommand):

LayoutTests:

Unskip editing/pasteboard/paste-removing-iframe.html

* platform/efl/TestExpectations:

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

8 years agoWeb Inspector: [chromium] remove devtools_frontend.zip
pfeldman@chromium.org [Fri, 28 Sep 2012 12:48:25 +0000 (12:48 +0000)]
Web Inspector: [chromium] remove devtools_frontend.zip
https://bugs.webkit.org/show_bug.cgi?id=97650

Reviewed by Yury Semikhatsky.

This change removes the devtools_frontend zip generation and migrates to proper resource bundle for debug mode creation.

* WebKit.gyp:
* scripts/generate_devtools_zip.py: Removed.

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

8 years ago[BlackBerry] Destroy thread-specific data for Platform::Graphics::Buffer on the right...
anilsson@rim.com [Fri, 28 Sep 2012 12:37:00 +0000 (12:37 +0000)]
[BlackBerry] Destroy thread-specific data for Platform::Graphics::Buffer on the right thread
https://bugs.webkit.org/show_bug.cgi?id=97674

Reviewed by Rob Buis.

A new API was added to BlackBerry::Platform::Graphics for destroying
thread-specific data generated on the compositing thread when we blit
buffers. The buffers are otherwise created and destroyed on the WebKit
thread, which doesn't give platform any opportunity to destroy the
thread-specific data.

This patch adds calls to the new API to avoid leaking resources.

Reviewed internally by Jakob Petsovits and Filip Spacek.

PR 214644

Source/WebCore:

Verified using manual testing.

* plugins/blackberry/PluginViewPrivateBlackBerry.cpp:
(WebCore::PluginViewPrivate::createBuffers):
(WebCore::PluginViewPrivate::destroyBuffers):

Source/WebKit/blackberry:

* WebKitSupport/SurfacePool.cpp:
(BlackBerry::WebKit::SurfacePool::initialize):
(BlackBerry::WebKit::SurfacePool::createPlatformGraphicsContext):
(BlackBerry::WebKit::SurfacePool::lockTileRenderingSurface):
(BlackBerry::WebKit::SurfacePool::releaseTileRenderingSurface):
(BlackBerry::WebKit::SurfacePool::initializeVisibleTileBuffer):
(BlackBerry::WebKit::SurfacePool::createBuffers):
(BlackBerry::WebKit::SurfacePool::releaseBuffers):

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

8 years agoUnreviewed Chromium TestExpectation addition
schenney@chromium.org [Fri, 28 Sep 2012 12:36:45 +0000 (12:36 +0000)]
Unreviewed Chromium TestExpectation addition

Adding media/audio-repaint.html

* platform/chromium/TestExpectations:

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

8 years agoWeb Inspector: [Canvas] log property setters too along with function calls
commit-queue@webkit.org [Fri, 28 Sep 2012 12:09:12 +0000 (12:09 +0000)]
Web Inspector: [Canvas] log property setters too along with function calls
https://bugs.webkit.org/show_bug.cgi?id=97776

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-09-28
Reviewed by Pavel Feldman.

Trace logs should also contain property setter calls.

* inspector/InjectedScriptCanvasModuleSource.js:
(.):
* inspector/Inspector.json:
* inspector/front-end/CanvasProfileView.js:
(WebInspector.CanvasProfileView.prototype._showTraceLog):

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

8 years agoRemove LocalizedNumber*.*
tkent@chromium.org [Fri, 28 Sep 2012 12:02:32 +0000 (12:02 +0000)]
Remove LocalizedNumber*.*
https://bugs.webkit.org/show_bug.cgi?id=97876

Reviewed by Yuta Kitamura.

LocalizedNumber.h functions are replaced with Localizer class.

* CMakeLists.txt: Remove LocalizedNumberNone.*.
* GNUmakefile.list.am: ditto.
* Target.pri: ditto.
* WebCore.vcpproj/WebCore.vcproj: ditto.
* WebCore.gyp/WebCore.gyp: Remove LocalizedNumber*.*.
* WebCore.gypi: ditto.
* WebCore.xcodeproj/project.pbxproj: ditto.

* html/NumberInputType.cpp: Use Localizer for the element locale.
(WebCore::NumberInputType::localizeValue):
(WebCore::NumberInputType::convertFromVisibleValue):

* platform/text/Localizer.h: Move some comments from LocalizedNumber.h

* platform/text/LocalizedNumber.h: Removed.
* platform/text/LocalizedNumberICU.cpp: Removed.
* platform/text/LocalizedNumberNone.cpp: Removed.
* platform/text/mac/LocalizedNumberMac.mm: Removed.
* platform/text/win/LocalizedNumberWin.cpp: Removed.

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

8 years agoWeb Inspector: make HashSet memory instrumentation non-intrusive
yurys@chromium.org [Fri, 28 Sep 2012 11:21:38 +0000 (11:21 +0000)]
Web Inspector: make HashSet memory instrumentation non-intrusive
https://bugs.webkit.org/show_bug.cgi?id=97879

Reviewed by Vsevolod Vlasov.

Source/WebKit/chromium:

Update the test for HashSet memory instrumentation. We don't add
HashSet's private objects into the set of visited objects any more
and should update the expectation accordingly.

* tests/MemoryInstrumentationTest.cpp:
(WebCore::TEST):

Source/WTF:

Removed reportMemoryUsage declarations as a friend of HashSet and HashTable. Also
removed MemoryInstrumentationHashTable which is not needed if we don't have
access to HashSet's guts.

* GNUmakefile.list.am:
* WTF.gypi:
* WTF.pro:
* WTF.vcproj/WTF.vcproj:
* WTF.xcodeproj/project.pbxproj:
* wtf/HashSet.h:
(WTF):
(HashSet):
* wtf/HashTable.h:
(HashTable):
* wtf/MemoryInstrumentation.h:
(WTF::MemoryClassInfo::addPrivateBuffer):
* wtf/MemoryInstrumentationHashSet.h:
(WTF::reportMemoryUsage):
* wtf/MemoryInstrumentationHashTable.h: Removed.

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

8 years ago[EFL][DRT] EFL DRT should disable visited links tracking by default
commit-queue@webkit.org [Fri, 28 Sep 2012 11:15:01 +0000 (11:15 +0000)]
[EFL][DRT] EFL DRT should disable visited links tracking by default
https://bugs.webkit.org/show_bug.cgi?id=97881

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-09-28
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit/efl:

Added aux DumpRenderTreeSupportEfl::setShouldTrackVisitedLinks() function.

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
(DumpRenderTreeSupportEfl::setShouldTrackVisitedLinks):
* WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools:

Visited links tracking is disabled by default for each test.

* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(DumpRenderTreeChrome::resetDefaultsToConsistentValues):

LayoutTests:

Rebased fast/block/float/float-in-float-hit-testing.html and unskipped it for EFL WK2.

* platform/efl-wk2/TestExpectations:
* platform/efl/fast/block/float/float-in-float-hit-testing-expected.png:
* platform/efl/fast/block/float/float-in-float-hit-testing-expected.txt:

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

8 years ago[Forms] Add localized strings for multiple fields date/time input UI
yosin@chromium.org [Fri, 28 Sep 2012 10:59:32 +0000 (10:59 +0000)]
[Forms] Add localized strings for multiple fields date/time input UI
https://bugs.webkit.org/show_bug.cgi?id=97878

Reviewed by Kent Tamura.

This patch introduces following localized string identifier for
month, time and week pickers:
    - OtherMonthLabel - appeared at the last entry in suggestion list.
    - OtherTimeLabel - ditto
    - OtherWeekLabel - ditto
    - ThisMonthButtonLabel - used in month picker
    - ThisWeekButtonLabel - used in week picker

* chromium/public/WebLocalizedString.h: Added OtherMonthLabel, OtherTimeLabel, OtherWeekLabel, ThiMonthkButtonLabel, and ThisWeekButtonLabel.

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

8 years agoUnreviewed, rolling out r129863.
gyuyoung.kim@samsung.com [Fri, 28 Sep 2012 10:49:05 +0000 (10:49 +0000)]
Unreviewed, rolling out r129863.
http://trac.webkit.org/changeset/129863
https://bugs.webkit.org/show_bug.cgi?id=97173

Source/WebCore:

WK2 layout test on debug is broken by this patch.

* platform/efl/RunLoopEfl.cpp:
(WebCore::RunLoop::RunLoop):
(WebCore::RunLoop::~RunLoop):

Source/WebKit2:

Broken debug WK2 layout test

* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context::_Ewk_Context):
(_Ewk_Context::~_Ewk_Context):
* UIProcess/API/efl/ewk_main.cpp:
(ewk_init):
(ewk_shutdown):
* UIProcess/API/efl/ewk_main.h: Added.
* UIProcess/API/efl/ewk_main_private.h: Removed.
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::EWK2UnitTestBase::SetUp):
(EWK2UnitTest::EWK2UnitTestBase::TearDown):
* WebProcess/efl/WebProcessMainEfl.cpp:
(WebKit::WebProcessMainEfl):

Tools:

Broken debug WK2 layout test

* MiniBrowser/efl/main.c:
(quit):
(main):
* WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
(WTR::initEcoreEvas):
(WTR::PlatformWebView::~PlatformWebView):
* WebKitTestRunner/efl/main.cpp:
(main):

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

8 years ago[EFL][WK2] exceededDatabaseQuota event is not handled
commit-queue@webkit.org [Fri, 28 Sep 2012 10:39:53 +0000 (10:39 +0000)]
[EFL][WK2] exceededDatabaseQuota event is not handled
https://bugs.webkit.org/show_bug.cgi?id=97882

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-28
Reviewed by Kenneth Rohde Christiansen.

Handle exceededDatabaseQuota callback from WKPageUIClient so
that we let the browser a chance to decide what to do when
the database quota is reached. If the browser does not handle
this, then we return a realistic default quota (5MB as
recommended by the spec).

* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_database_quota_exceeded):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/API/efl/ewk_view_ui_client.cpp:
(exceededDatabaseQuota):
(ewk_view_ui_client_attach):

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

8 years agoSource/WebKit2: [Qt] Use qInstallMessageHandler()
commit-queue@webkit.org [Fri, 28 Sep 2012 10:35:11 +0000 (10:35 +0000)]
Source/WebKit2: [Qt] Use qInstallMessageHandler()
https://bugs.webkit.org/show_bug.cgi?id=96648

Patch by Kai Koehne <kai.koehne@digia.com> on 2012-09-28
Reviewed by Jocelyn Turcotte.

qInstallMsgHandler() got deprecated in Qt 5.

* PluginProcess/qt/PluginProcessMainQt.cpp:
(WebKit::messageHandler):
(WebKit::PluginProcessMain):
* UIProcess/API/qt/tests/util.cpp:
(messageHandler):
(suppressDebugOutput):
* qt/MainQt.cpp:
(messageHandler):
(main):

Tools: [Qt] Use qInstallMessageHandler()
https://bugs.webkit.org/show_bug.cgi?id=96648

Patch by Kai Koehne <kai.koehne@digia.com> on 2012-09-28
Reviewed by Jocelyn Turcotte.

qInstallMsgHandler() got deprecated in Qt 5.

* DumpRenderTree/qt/DumpRenderTreeMain.cpp:
(messageHandler):
(main):
* WebKitTestRunner/qt/main.cpp:
(messageHandler):
(main):

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

8 years agoWeb Inspector: Formatting on load is broken
vsevik@chromium.org [Fri, 28 Sep 2012 10:24:46 +0000 (10:24 +0000)]
Web Inspector: Formatting on load is broken
https://bugs.webkit.org/show_bug.cgi?id=97880

Reviewed by Alexander Pavlov.

Bound formatted callback on UISourceCode and fixed callback call.

* inspector/front-end/UISourceCode.js:
(WebInspector.UISourceCode.prototype._fireContentAvailable.formattedCallback):
(WebInspector.UISourceCode.prototype._fireContentAvailable):

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Fri, 28 Sep 2012 10:17:05 +0000 (10:17 +0000)]
Unreviewed GTK gardening.

Removing failure expectations for two perftests' harness tests, the
regression was swiftly fixed in r129858.

* platform/gtk/TestExpectations:

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

8 years ago[Forms] Multiple fields month input UI
yosin@chromium.org [Fri, 28 Sep 2012 09:40:39 +0000 (09:40 +0000)]
[Forms] Multiple fields month input UI
https://bugs.webkit.org/show_bug.cgi?id=97299

Reviewed by Kent Tamura.

Source/WebCore:

This patch introduces multiple fields "month" input UI in DRT. We'll
enable this feature once we add tests.

Note: This patch affects ports which enable both ENABLE_INPUT_TYPE_MONTH
and ENABLE_INPUT_MULTIPLE_FIELDS_UI.

No new tests. To reduce size of this patch, other patches add tests
for multiple fields month input UI.

Note: Actual outputs of two tests
    - fast/forms/month/month-input-visible-string.html
    - fast/forms/month/month-stepup-stepdown-from-renderer.html
are different.

* css/html.css:
(input::-webkit-datetime-edit-month-field): Added for field appearance.
(input::-webkit-datetime-edit-year-field): ditto.
(input::-webkit-datetime-edit-month-field:focus): Added to remove focus ring.
(input::-webkit-datetime-edit-year-field:focus): ditto.
* html/MonthInputType.cpp:
(WebCore::MonthInputType::formatDateTimeFieldsState): Added to format numeric value to string value as specified in HTML5 specification.
(WebCore::MonthInputType::setupLayoutParameters): Added to set layout of multiple fields.
* html/MonthInputType.h: Changed to include BaseMultipleFieldsDateAndTimeInputType.h and introduce BaseMonthInputType typedef.
(WebCore::MonthInputType::MonthInputType): Changed base class name to BaseMonthInputType.
(MonthInputType): Changed to add declarations for formatDateTimeFieldsState() and setupLayoutParameters().
* html/shadow/DateTimeEditElement.cpp:
(DateTimeEditBuilder): Changed to have copy of object in m_stepRange and m_dateValue member variables for being robust.
(WebCore::DateTimeEditBuilder::DateTimeEditBuilder): Changed to add initialize m_placeholderForMonth and m_placeholderForYear.
(WebCore::DateTimeEditBuilder::visitField): Changed to support month field and year field.
* html/shadow/DateTimeEditElement.h:
(LayoutParameters): Changed to add member variables, placeholderForMonth and placeholderForYear. Changed to have copy of object in stepRange member variable for being robust.

LayoutTests:

This patch adds Chromium port specific expectations for "month" input
type tests for multiple fields month input UI.

Note: This patch affects ports which enable both ENABLE_INPUT_TYPE_MONTH
and ENABLE_INPUT_MULTIPLE_FIELDS_UI.

* platform/chromium/fast/forms/month/month-input-visible-string-expected.txt: Added. Multiple fields month input UI doesn't have selection.
* platform/chromium/fast/forms/month/month-stepup-stepdown-from-renderer-expected.txt: Added. On multiple fields month input UI, step down/up decrement/increment a field rather than whole value.

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

8 years ago[EFL][WK2] Clear provider on destructor of {Vibration,Battery,NetworkInfo}Provider.
commit-queue@webkit.org [Fri, 28 Sep 2012 09:40:24 +0000 (09:40 +0000)]
[EFL][WK2] Clear provider on destructor of {Vibration,Battery,NetworkInfo}Provider.
https://bugs.webkit.org/show_bug.cgi?id=97528

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

Constructor of {Vibration,Battery,NetworkInfo}Provider set provider
but the destructor of the classes doesn't clear provider.
This can make a problem about accessing dangling pointer.

For preventing this problem, clear provider on destructor.

* UIProcess/API/efl/BatteryProvider.cpp:
(BatteryProvider::~BatteryProvider):
* UIProcess/API/efl/NetworkInfoProvider.cpp:
(NetworkInfoProvider::~NetworkInfoProvider):
* UIProcess/API/efl/VibrationProvider.cpp:
(VibrationProvider::~VibrationProvider):

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

8 years agoUnreviewed test fix.
vsevik@chromium.org [Fri, 28 Sep 2012 09:26:28 +0000 (09:26 +0000)]
Unreviewed test fix.

* inspector/debugger/ui-source-code-display-name.html:

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

8 years ago[EFL][WK2] NetworkInfo provider is not initialized in Ewk_Context
commit-queue@webkit.org [Fri, 28 Sep 2012 09:24:47 +0000 (09:24 +0000)]
[EFL][WK2] NetworkInfo provider is not initialized in Ewk_Context
https://bugs.webkit.org/show_bug.cgi?id=97865

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-28
Reviewed by Kenneth Rohde Christiansen.

Initialize NetworkInfo provider for EFL port in Ewk_Context
with the other providers.

* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context):
(_Ewk_Context::_Ewk_Context):

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

8 years ago[EFL][WK2] Refactoring initialization and shutdown codes of EFL libraries.
commit-queue@webkit.org [Fri, 28 Sep 2012 08:56:55 +0000 (08:56 +0000)]
[EFL][WK2] Refactoring initialization and shutdown codes of EFL libraries.
https://bugs.webkit.org/show_bug.cgi?id=97173

Patch by Eunmi Lee <eunmi15.lee@samsung.com> on 2012-09-28
Reviewed by Gyuyoung Kim.

Source/WebCore:

Remove codes to initialize and shutdown the EFL libraries from
RunLoopEfl.cpp. Initialization and shutdown will be done in the
ewk_main.cpp for ui process and WebProcessMainEfl.cpp for web
process.

No new tests. This patch doesn't change behavior.

* platform/efl/RunLoopEfl.cpp:
(WebCore::RunLoop::RunLoop):
(WebCore::RunLoop::~RunLoop):

Source/WebKit2:

Initialize and shutdown the EFL libraries in the ewk_main.cpp for ui
process and WebProcessMainEfl.cpp for web process.
Additionally, initialization and shutdown are done when ewk_context is
created and deleted, so ewk_{init,shutdown} APIs are changed to
internal function and applications don't have to call them.

* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context::_Ewk_Context):
(_Ewk_Context::~_Ewk_Context):
* UIProcess/API/efl/ewk_main.cpp:
(ewk_init):
(ewk_shutdown):
* UIProcess/API/efl/ewk_main.h: Removed.
* UIProcess/API/efl/ewk_main_private.h: Added.
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::EWK2UnitTestBase::SetUp):
(EWK2UnitTest::EWK2UnitTestBase::TearDown):
* WebProcess/efl/WebProcessMainEfl.cpp:
(WebKit::WebProcessMainEfl):

Tools:

The initialization and shutdown are done inside the webkit, so we don't
have to call them out of the webkit.

* MiniBrowser/efl/main.c:
(quit):
(main):
* WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
(WTR::initEcoreEvas):
(WTR::PlatformWebView::~PlatformWebView):
* WebKitTestRunner/efl/main.cpp:
(main):

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

8 years agoWeb Inspector: Prepare UISourceCode to transformation into File.
vsevik@chromium.org [Fri, 28 Sep 2012 08:44:38 +0000 (08:44 +0000)]
Web Inspector: Prepare UISourceCode to transformation into File.
https://bugs.webkit.org/show_bug.cgi?id=97113

Reviewed by Pavel Feldman.

Source/WebCore:

This patch moves methods and fields from UISourceCode descendants except for the modification bindings.

* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.breakpointStorageId):
(WebInspector.BreakpointManager.isDivergedFromVM):
(WebInspector.BreakpointManager.prototype.restoreBreakpoints):
(WebInspector.BreakpointManager.Breakpoint):
(WebInspector.BreakpointManager.Breakpoint.prototype._updateBreakpoint):
(WebInspector.BreakpointManager.Breakpoint.prototype._breakpointStorageId):
(WebInspector.BreakpointManager.Storage.prototype._restoreBreakpoints):
(set WebInspector.BreakpointManager.Storage.Item):
* inspector/front-end/JavaScriptSource.js:
(WebInspector.JavaScriptSource):
(WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
(WebInspector.JavaScriptSourceFrame.prototype._supportsEnabledBreakpointsWhileEditing):
(WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
(WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointsBeforeEditing):
(WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing):
(WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
(WebInspector.JavaScriptSourceFrame.prototype._handleGutterClick):
* inspector/front-end/SASSSourceMapping.js:
* inspector/front-end/ScriptSnippetModel.js:
(WebInspector.ScriptSnippetModel):
(WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
(WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet.get var):
(WebInspector.ScriptSnippetModel.prototype._projectWillReset):
(WebInspector.SnippetJavaScriptSource):
(WebInspector.SnippetJavaScriptSource.prototype.workingCopyChanged):
* inspector/front-end/ScriptsNavigator.js:
(WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._addUISourceCode):
(WebInspector.ScriptsPanel.prototype._uiSourceCodeFormatted):
(WebInspector.ScriptsPanel.prototype._toggleFormatSource):
* inspector/front-end/SnippetJavaScriptSourceFrame.js:
(WebInspector.SnippetJavaScriptSourceFrame.prototype._runButtonClicked):
* inspector/front-end/StyleSource.js:
* inspector/front-end/UISourceCode.js:
(WebInspector.UISourceCode.prototype.searchInContent):
(WebInspector.UISourceCode.prototype._fireContentAvailable.formattedCallback):
(WebInspector.UISourceCode.prototype._fireContentAvailable):
(WebInspector.UISourceCode.prototype.setFormatted.if):
(WebInspector.UISourceCode.prototype.setFormatted.didGetContent.formattedChanged):
(WebInspector.UISourceCode.prototype.setFormatted.didGetContent):
(WebInspector.UISourceCode.prototype.setFormatted):
(WebInspector.UISourceCode.prototype.setSourceMapping):

LayoutTests:

* http/tests/inspector/workspace-test.js:
* inspector/debugger/dynamic-script-tag-expected.txt:
* inspector/debugger/network-uisourcecode-provider-expected.txt:
* inspector/debugger/resource-script-mapping-expected.txt:
* inspector/debugger/script-snippet-model.html:

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

8 years agoMove Shadow DOM inspection feature out from experiments
morrita@google.com [Fri, 28 Sep 2012 08:41:22 +0000 (08:41 +0000)]
Move Shadow DOM inspection feature out from experiments
https://bugs.webkit.org/show_bug.cgi?id=94274

Reviewed by Pavel Feldman.

This chagne turns the showShadowDOM experiments into a settings,
adding aSettingsScreen entry for that.

* English.lproj/localizedStrings.js:
* inspector/front-end/DOMAgent.js:
* inspector/front-end/Settings.js:
(WebInspector.ExperimentsSettings):
* inspector/front-end/SettingsScreen.js:
(WebInspector.GenericSettingsTab):

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

8 years agoUse Localizer in PagePopupController
tkent@chromium.org [Fri, 28 Sep 2012 08:29:33 +0000 (08:29 +0000)]
Use Localizer in PagePopupController
https://bugs.webkit.org/show_bug.cgi?id=97862

Reviewed by Hajime Morita.

Source/WebCore:

No new tests. This doesn't change any behavior.

* page/PagePopupClient.h:
(WebCore):
(PagePopupClient): Add "localizer" member function.
* page/PagePopupController.cpp:
(WebCore::PagePopupController::localizeNumberString):
Use a Localizer object provided by PagePopupClient.

Source/WebKit/blackberry:

We need to implement PagePopupClient::localizer. These clients know the
host elements. Localizer implementations get Localizer objects from the
owner documents of the elements for the browser locale.

* WebCoreSupport/ColorPickerClient.cpp:
(WebCore::ColorPickerClient::localizer): Added.
* WebCoreSupport/ColorPickerClient.h:
(ColorPickerClient): Declare "localizer."
* WebCoreSupport/DatePickerClient.cpp:
(WebCore::SelectPopupClient::localizer): Added.
* WebCoreSupport/DatePickerClient.h:
(DatePickerClient): Declare "localizer."
* WebCoreSupport/SelectPopupClient.cpp:
(WebCore::SelectPopupClient::localizer): Added.
* WebCoreSupport/SelectPopupClient.h:
(SelectPopupClient): Declare "localizer."

Source/WebKit/chromium:

We need to implement PagePopupClient::localizer. The current
implementations of localizer functions always return Localizer objects
for the browser locale. It's ok because other locale-dependent stuff in
PagePopup uses the browser locale, not element locale. We might want to
update this behavior later for testing i18n behavior in PagePopup.

* src/ColorChooserUIController.cpp:
(WebKit::ColorChooserUIController::ColorChooserUIController):
Initialize m_localizer with the browser default locale.
(WebKit::ColorChooserUIController::localizer):
Returns m_localizer.
* src/ColorChooserUIController.h:
(ColorChooserUIController): Declare localizer function and m_localizer.

* src/DateTimeChooserImpl.cpp:
(WebKit::DateTimeChooserImpl::DateTimeChooserImpl):
Initialize m_localizer with the browser default locale.
(WebKit::DateTimeChooserImpl::localizer):
Returns m_localizer.
* src/DateTimeChooserImpl.h:
(DateTimeChooserImpl): Declare localizer function and m_localizer.

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

8 years agoSwitch monthLabels, weekDayShortLabels, and firstDayOfWeek to Localizer
tkent@chromium.org [Fri, 28 Sep 2012 08:09:22 +0000 (08:09 +0000)]
Switch monthLabels, weekDayShortLabels, and firstDayOfWeek to Localizer
https://bugs.webkit.org/show_bug.cgi?id=97874

Reviewed by Kentaro Hara.

Source/WebCore:

No new tests. This change shouldn't change any behavior.

* platform/text/Localizer.h:
(Localizer): Add monthLabels, weekDayShortLabels, and firstDayOfWeek.
* platform/text/LocalizedDate.h:
(WebCore): Remove them.
* platform/text/LocalizedDateICU.cpp:
(WebCore::localizedDateFormatText): ditto.
* platform/text/LocalizedDateWin.cpp:
(WebCore::localizedDateFormatText): ditto.
* platform/text/mac/LocalizedDateMac.cpp:
(WebCore::localizedDateFormatText): ditto.

* platform/text/LocaleICU.h:
(LocaleICU): Add virtual and OVERRIDE.
* platform/text/LocaleWin.h:
(LocaleWin):
- Add virtual and OVERRIDE.
- Move the content of firstDayOfWeek to LocaleWin.cpp because inline
definition of a virtual function is not efficient.
* platform/text/LocaleWin.cpp:
(WebCore::LocaleWin::firstDayOfWeek): See above.
* platform/text/mac/LocaleMac.h:
(LocaleMac): Add virtual and OVERRIDE.

Source/WebKit/chromium:

* src/DateTimeChooserImpl.cpp:
(WebKit::DateTimeChooserImpl::writeDocument):
Use Localizer for the browser locale.

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

8 years agoAdd back test.runCount for runPerSecond as it's used by tests in fast/harness/perftests.
rniwa@webkit.org [Fri, 28 Sep 2012 07:36:47 +0000 (07:36 +0000)]
Add back test.runCount for runPerSecond as it's used by tests in fast/harness/perftests.

* resources/runner.js:
(PerfTestRunner.runPerSecond):

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Fri, 28 Sep 2012 07:12:55 +0000 (07:12 +0000)]
Unreviewed GTK gardening.

Adding a pass expectation for a subpixel test.
Removing two failure expectations for middle-click-related tests that
started passing after r129750.
Removing failure expectation for a Shadow DOM test that started passing
after experimental CSS features have been enabled in r129604.
Removing failure expectation for http/tests/security/xss-eval.html after
the fix was relanded in r129712.
Adding failure expectations for two perftests harness tests that started
failing after r129824.

* platform/gtk/TestExpectations:

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

8 years agoWeb Inspector: Elements: Show entities in edit as HTML.
commit-queue@webkit.org [Fri, 28 Sep 2012 07:05:16 +0000 (07:05 +0000)]
Web Inspector: Elements: Show entities in edit as HTML.
https://bugs.webkit.org/show_bug.cgi?id=97798

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-09-28
Reviewed by Alexander Pavlov.

Source/WebCore:

In elements tree entities like "&emsp;", "&ensp;" are shown.
But in "Edit as HTML" mode they are replaced by Unicode chars.

For better consistency, these chars should be rendered the same
way both in tree and edit field.

* inspector/front-end/ElementsTreeOutline.js:
Replaced invisible chars with entities.

LayoutTests:

Added test case for invisible chars in "Edit as HTML" mode.

* inspector/elements/edit-dom-actions-expected.txt:
* inspector/elements/edit-dom-actions.html:

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

8 years ago[Forms] Adding DateTimeMonthFieldElement and DateTimeYearFieldElement
yosin@chromium.org [Fri, 28 Sep 2012 07:03:29 +0000 (07:03 +0000)]
[Forms] Adding DateTimeMonthFieldElement and DateTimeYearFieldElement
https://bugs.webkit.org/show_bug.cgi?id=97864

Reviewed by Kent Tamura.

This patch is a part of preparation of implementing multiple fields
date/time input UI.

This patch introduces DateTimeMonthFieldElement and DateTimeYearFieldElement
classes for implementing multiple fields "month" input type.

Multiple fields "month" input type uses two fields for month and year
in locale dependent order. Month field display month as two digit.
Year field display year as four digits in usual case and can display
up to 6 digits to support maximum year 275760, defined in HTML5
specification.

This patch also changes default value for step down and up on empty
field to better UI in year field. Year field displays current year
when step down and up on empty field rather than minimum year 1, or
maximum year 275760.

Note: This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME
and ENABLE_INPUT_MULTIPLE_FIELDS_UI.

No new tests. This patch doesn't change behavior.

* html/shadow/DateTimeFieldElements.cpp:
(WebCore::DateTimeMonthFieldElement::DateTimeMonthFieldElement): Added.
(WebCore::DateTimeMonthFieldElement::create): Added.
(WebCore::DateTimeMonthFieldElement::populateDateTimeFieldsState): Added.
(WebCore::DateTimeMonthFieldElement::setValueAsDate): Added.
(WebCore::DateTimeMonthFieldElement::setValueAsDateTimeFieldsState): Added.
(WebCore::DateTimeYearFieldElement::DateTimeYearFieldElement): Added.
(WebCore::DateTimeYearFieldElement::create): Added.
(WebCore::DateTimeYearFieldElement::defaultValueForStepDown): Added.
(WebCore::DateTimeYearFieldElement::defaultValueForStepUp): Added.
(WebCore::DateTimeYearFieldElement::populateDateTimeFieldsState): Added.
(WebCore::DateTimeYearFieldElement::setValueAsDate): Added.
(WebCore::DateTimeYearFieldElement::setValueAsDateTimeFieldsState): Added.
* html/shadow/DateTimeFieldElements.h:
(DateTimeMonthFieldElement): Added.
(DateTimeYearFieldElement): Added.
* html/shadow/DateTimeNumericFieldElement.cpp:
(WebCore::DateTimeNumericFieldElement::Range::isInRange): Added for ease of checking value is in range.
(WebCore::DateTimeNumericFieldElement::defaultValueForStepDown): Added for default behavior.
(WebCore::DateTimeNumericFieldElement::defaultValueForStepUp): ditto.
(WebCore::DateTimeNumericFieldElement::stepDown): Changed to use defaultValueForStepDown instead of maximum field value.
(WebCore::DateTimeNumericFieldElement::stepUp):  Changed to use defaultValueForStepUp minium field value.
(WebCore::DateTimeNumericFieldElement::value): Changed to use "%04d" when maximum field value is greater than 999 for year field.
* html/shadow/DateTimeNumericFieldElement.h:
(DateTimeNumericFieldElement): Changed to add declarations of defaultValueForStepDown() and defaultValueForStepUp().

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

8 years ago[Forms] Adding placeholder feature to DateTimeNumericElement, and update its existing...
yosin@chromium.org [Fri, 28 Sep 2012 06:18:15 +0000 (06:18 +0000)]
[Forms] Adding placeholder feature to DateTimeNumericElement, and update its existing subclasses.
https://bugs.webkit.org/show_bug.cgi?id=97863

Reviewed by Kent Tamura.

This patch is a part of preparation of implementing multiple fields
date/time input UI.

This patch introduces placeholder feature to DateTimeNumericElement
to display date format guide in field, e.g. displaying "dd/mm/yyyy".

Note: This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
ENABLE_INPUT_MULTIPLE_FIELDS_UI.

No new tests. This patch doesn't change behavior.

* html/shadow/DateTimeFieldElements.cpp:
(WebCore::DateTimeHourFieldElement::DateTimeHourFieldElement): Changed to pass placeholder class to base class.
(WebCore::DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement): ditto
(WebCore::DateTimeMinuteFieldElement::DateTimeMinuteFieldElement): ditto
(WebCore::DateTimeSecondFieldElement::DateTimeSecondFieldElement): ditto
* html/shadow/DateTimeNumericFieldElement.cpp: Removed no more needed static function displaySizeOfNumbre().
(WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement): Changed to add new parameter to take placeholder.
(WebCore::DateTimeNumericFieldElement::visibleValue): Changed to use m_placholder.
* html/shadow/DateTimeNumericFieldElement.h:
(DateTimeNumericFieldElement): Changed to add a member variable m_placholder to hold placholder to DateTimeNumbericElement class.

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

8 years agoEmpty URL gets through to acceptNavigationRequest()
charles.wei@torchmobile.com.cn [Fri, 28 Sep 2012 06:10:04 +0000 (06:10 +0000)]
Empty URL gets through to acceptNavigationRequest()
https://bugs.webkit.org/show_bug.cgi?id=97076

Reviewed by George Staikos.

Invalid URLs in iframe src results in an empty URL in platform request, we should reject
such URL as early as we identify it.

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

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

8 years agoMake sure Localizer class is not copyable
tkent@chromium.org [Fri, 28 Sep 2012 05:21:43 +0000 (05:21 +0000)]
Make sure Localizer class is not copyable
https://bugs.webkit.org/show_bug.cgi?id=97857

Reviewed by Kentaro Hara.

We don't intent Localizer obejcts are copyable.

* platform/text/Localizer.h:
(Localizer): Add WTF_MAKE_NONCOPYABLE.

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

8 years agoDelete some unused code. Found by -Wunused-function.
thakis@chromium.org [Fri, 28 Sep 2012 05:15:15 +0000 (05:15 +0000)]
Delete some unused code. Found by -Wunused-function.
https://bugs.webkit.org/show_bug.cgi?id=97858

Reviewed by Anders Carlsson.

No intended behavior change.

* bindings/v8/custom/V8ArrayBufferViewCustom.h:
(WebCore):
* platform/graphics/chromium/CrossProcessFontLoading.mm:
* platform/graphics/skia/GraphicsContextSkia.cpp:
* platform/mac/ScrollbarThemeMac.mm:
(WebCore):

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

8 years ago[Chromium] Update WebVector.h references
pilgrim@chromium.org [Fri, 28 Sep 2012 05:03:10 +0000 (05:03 +0000)]
[Chromium] Update WebVector.h references
https://bugs.webkit.org/show_bug.cgi?id=97855

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

* src/ApplicationCacheHost.cpp:
* src/AudioDestinationChromium.h:
* src/AutofillPopupMenuClient.cpp:
* src/CompositionUnderlineBuilder.h:
* src/CompositionUnderlineVectorBuilder.h:
* src/ContextMenuClientImpl.cpp:
* src/ExternalPopupMenu.cpp:
* src/FrameLoaderClientImpl.cpp:
* src/PlatformSupport.cpp:
* src/WebDataSourceImpl.cpp:
* src/WebDragData.cpp:
* src/WebFileChooserCompletionImpl.h:
* src/WebFileSystemCallbacksImpl.h:
* src/WebFrameImpl.cpp:
* src/WebHistoryItem.cpp:
* src/WebIDBKeyPath.cpp:
* src/WebIDBMetadata.cpp:
* src/WebNode.cpp:
* src/WebPageSerializer.cpp:
* src/WebPageSerializerImpl.cpp:
* src/WebTextCheckingCompletionImpl.cpp:
* src/WorkerFileSystemCallbacksBridge.h:

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

8 years ago[V8] StringCache::v8ExternalString() can return a stale persistent handle
haraken@chromium.org [Fri, 28 Sep 2012 04:27:43 +0000 (04:27 +0000)]
[V8] StringCache::v8ExternalString() can return a stale persistent handle
https://bugs.webkit.org/show_bug.cgi?id=97767

Reviewed by Adam Barth.

For details, see the Chromium bug: http://code.google.com/p/chromium/issues/detail?id=151902

StringCache::v8ExternalString() can return a stale persistent handle
in the following scenario:

(1) Assume that StringImpl A with value "foo" is in m_stringCache.
(2) StringImpl B with value "foo" is accessed. At this point, m_lastStringImpl
points to B, and m_lastV8String points to B's handle.
(3) A minor GC is triggered and a weak callback is called back for StringImpl A.
At this point, "foo" is removed from m_stringCache. A's handle is disposed.
However, m_lastV8String is not cleared because m_lastStringImpl (i.e. StringImpl B)
is not equal to StringImpl A. As a result, m_lastV8String points to a stale
persistent handle.
(4) The persistent handle is eventually reused in V8 and made weak again.
(5) StringImpl B with value "foo" is accessed. Then StringCache::v8ExternalString()
returns the stale persistent handle, which is already used for another purpose.

To solve the problem, we need to clear m_stringImpl and m_lastV8String when any
string wrapper is disposed. Specifically, we need to change the code like this:

  static void cachedStringCallback(v8::Persistent<v8::Value> wrapper, void* parameter)
  {
    StringImpl* stringImpl = static_cast<StringImpl*>(parameter);
    V8PerIsolateData::current()->stringCache()->remove(stringImpl);
    wrapper.Dispose();
    stringImpl->deref();
  }

  void StringCache::remove(StringImpl* stringImpl)
  {
    m_stringCache.remove(stringImpl);
    if (m_lastStringImpl.get() == stringImpl) {  // Remove this line.
        m_lastStringImpl = 0;
        m_lastV8String.Clear();
    }
  }

Note: Removing the line might be stronger than is needed. Instead of removing
the line, we can just replace the line with 'if (m_lastV8String == wrapper)'.
However, just in case (for correctness), I'd prefer removing the line.
Given that GC won't happen so frequently, clearing the cache in every weak callback
won't affect performance.

No tests because it depends on the GC behavior and I couldn't reproduce the bug.

* bindings/v8/V8ValueCache.cpp:
(WebCore::StringCache::remove):

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

8 years agoBuild fix after r129824.
rniwa@webkit.org [Fri, 28 Sep 2012 04:18:04 +0000 (04:18 +0000)]
Build fix after r129824.

* DOM/resources/dom-perf.js:
(runBenchmarkSuite):

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

8 years agoRemove unused features and reduce code duplications in PerfTestRunner
rniwa@webkit.org [Fri, 28 Sep 2012 04:16:48 +0000 (04:16 +0000)]
Remove unused features and reduce code duplications in PerfTestRunner
https://bugs.webkit.org/show_bug.cgi?id=97852

Reviewed by Kentaro Hara.

Made the following refactoring changes:
- Remove PerfTestRunner.info since it's never used.
- Moved the js heap/malloc related functions up to where they belong.
- Moved the initialization of _callsPerIteration, _test, and -description into _start,
  and stopped initializing _runFunction and _doneFunction since both test times now
  use _test object.
- Made _measureTimeOnce and _measureRunsPerSecondOnce return the measured value
  instead of calling ignoreWarmUpAndLog and _runLoop to share the code; they're now
  called in _measureRunsPerSecondOnce.

* resources/runner.js:
(PerfTestRunner.storeHeapResults): Moved.
(PerfTestRunner.getUsedMallocHeap): Moved.
(PerfTestRunner.getUsedJSHeap): Moved.
(PerfTestRunner.getAndPrintMemoryStatistics): Moved.
(PerfTestRunner._scheduleNextMeasurementOrNotifyDone): Renamed from _runLoop. Calls
ignoreWarmUpAndLog and schedules the next call.
(PerfTestRunner._measureTimeOnce): Renamed from _runner.
(PerfTestRunner._start): Renamed from initAndStartLoop.
(PerfTestRunner.measureTime):
(PerfTestRunner.runPerSecond):
(PerfTestRunner._measureRunsPerSecondOnce): Renamed from _measureRunsPerSecondOnce.
(PerfTestRunner._perSecondRunnerIterator):

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

8 years ago[Chromium] Update comment in WebFrameClient to point to new userAgent() function
pilgrim@chromium.org [Fri, 28 Sep 2012 04:04:44 +0000 (04:04 +0000)]
[Chromium] Update comment in WebFrameClient to point to new userAgent() function
https://bugs.webkit.org/show_bug.cgi?id=97854

Reviewed by Adam Barth.

Part of a refactoring series. See tracking bug 82948.

* public/WebFrameClient.h:
(WebFrameClient):

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

8 years ago[Chromium] Remove unused PlatformSupport reference in ChromeClientImpl
pilgrim@chromium.org [Fri, 28 Sep 2012 03:57:52 +0000 (03:57 +0000)]
[Chromium] Remove unused PlatformSupport reference in ChromeClientImpl
https://bugs.webkit.org/show_bug.cgi?id=97853

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

* src/ChromeClientImpl.cpp:

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

8 years agoCSSComputedStyleDeclaration::getPropertyCSSValue() triggering unnecessary relayouts...
antti@apple.com [Fri, 28 Sep 2012 03:51:25 +0000 (03:51 +0000)]
CSSComputedStyleDeclaration::getPropertyCSSValue() triggering unnecessary relayouts and style recalcs
https://bugs.webkit.org/show_bug.cgi?id=97760

Reviewed by Andreas Kling.

Currently getPropertyCSSValue() (which is also used to implement the more common getPropertyValue())
calls Document::updateLayoutIgnorePendingStylesheets() unconditionally. However only a few properties
are actually layout dependent, making many of these relayouts unnecessary. Moreover, triggering full
style recalc is also often unnecessary as the current node may already have valid style even if some
other parts of the tree require recalc.

- Only trigger relayouts for layout dependent properties.
- Trigger style recalc only if the style of the current element or its ancestors is dirty.

This is a significant (several percent) progression on some real world web content based page loading
benchmarks.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::isLayoutDependentProperty):
(WebCore):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/StyleResolver.h:
(WebCore::StyleResolver::hasViewportDependentMediaQueries):
* dom/Document.cpp:
(WebCore::Document::hasPendingStyleRecalc):

    Renamed for consistency.

(WebCore::Document::hasPendingForcedStyleRecalc):
(WebCore):
* dom/Document.h:
(Document):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::imageChanged):

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

8 years ago[Chromium] Remove unused PlatformSupport reference in DraggedIsolatedFileSystem
pilgrim@chromium.org [Fri, 28 Sep 2012 03:41:50 +0000 (03:41 +0000)]
[Chromium] Remove unused PlatformSupport reference in DraggedIsolatedFileSystem
https://bugs.webkit.org/show_bug.cgi?id=97851

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

* Modules/filesystem/chromium/DraggedIsolatedFileSystem.cpp:

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

8 years agorequestAnimationFrame broken with subframes (DisplayRefreshMonitorManager::registerCl...
commit-queue@webkit.org [Fri, 28 Sep 2012 03:15:28 +0000 (03:15 +0000)]
requestAnimationFrame broken with subframes (DisplayRefreshMonitorManager::registerClient fails to register client)
https://bugs.webkit.org/show_bug.cgi?id=95360

Patch by Andrew Lo <anlo@rim.com> on 2012-09-27
Reviewed by Simon Fraser.

Remove unnecessary code introduced in http://trac.webkit.org/changeset/129808.

No new tests because it's already covered by fast/animation/request-animation-frame-iframe2.html.

* platform/graphics/DisplayRefreshMonitor.cpp:
(WebCore::DisplayRefreshMonitor::addClient):
(WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient):

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

8 years ago[Chromium] Clean up includes in DateTimeChooserImpl
pilgrim@chromium.org [Fri, 28 Sep 2012 03:14:37 +0000 (03:14 +0000)]
[Chromium] Clean up includes in DateTimeChooserImpl
https://bugs.webkit.org/show_bug.cgi?id=97847

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

* src/DateTimeChooserImpl.cpp:

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

8 years ago[Chromium] Remove unused PlatformSupport reference in FontCacheSkia
pilgrim@chromium.org [Fri, 28 Sep 2012 03:05:39 +0000 (03:05 +0000)]
[Chromium] Remove unused PlatformSupport reference in FontCacheSkia
https://bugs.webkit.org/show_bug.cgi?id=97850

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

* platform/graphics/skia/FontCacheSkia.cpp:

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

8 years ago[Chromium] Clean up includes in ColorChooserUIController
pilgrim@chromium.org [Fri, 28 Sep 2012 03:03:29 +0000 (03:03 +0000)]
[Chromium] Clean up includes in ColorChooserUIController
https://bugs.webkit.org/show_bug.cgi?id=97849

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

* src/ColorChooserUIController.cpp:

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

8 years ago[Chromium] Clean up includes in PaintAggregator
pilgrim@chromium.org [Fri, 28 Sep 2012 03:01:35 +0000 (03:01 +0000)]
[Chromium] Clean up includes in PaintAggregator
https://bugs.webkit.org/show_bug.cgi?id=97848

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

* src/painting/PaintAggregator.cpp:

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

8 years ago[Chromium][Android] Remove unused PlatformSupport reference in ScrollbarThemeChromium...
pilgrim@chromium.org [Fri, 28 Sep 2012 02:59:36 +0000 (02:59 +0000)]
[Chromium][Android] Remove unused PlatformSupport reference in ScrollbarThemeChromiumAndroid
https://bugs.webkit.org/show_bug.cgi?id=97846

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

* platform/chromium/ScrollbarThemeChromiumAndroid.cpp:

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

8 years ago[Chromium] Clean up includes in SocketStreamHandle
pilgrim@chromium.org [Fri, 28 Sep 2012 02:57:21 +0000 (02:57 +0000)]
[Chromium] Clean up includes in SocketStreamHandle
https://bugs.webkit.org/show_bug.cgi?id=97843

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

* src/SocketStreamHandle.cpp:

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

8 years ago[Chromium] Clean up includes in AudioDestinationChromium
pilgrim@chromium.org [Fri, 28 Sep 2012 02:55:58 +0000 (02:55 +0000)]
[Chromium] Clean up includes in AudioDestinationChromium
https://bugs.webkit.org/show_bug.cgi?id=97845

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

* src/AudioDestinationChromium.cpp:

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

8 years ago[Chromium] Remove unused PlatformSupport reference in ClipboardChromium
pilgrim@chromium.org [Fri, 28 Sep 2012 02:40:27 +0000 (02:40 +0000)]
[Chromium] Remove unused PlatformSupport reference in ClipboardChromium
https://bugs.webkit.org/show_bug.cgi?id=97840

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

* platform/chromium/ClipboardChromium.cpp:

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

8 years ago[Chromium] Remove unused PlatformSupport reference in WebFrameImpl
pilgrim@chromium.org [Fri, 28 Sep 2012 02:37:49 +0000 (02:37 +0000)]
[Chromium] Remove unused PlatformSupport reference in WebFrameImpl
https://bugs.webkit.org/show_bug.cgi?id=97842

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

* src/WebFrameImpl.cpp:

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

8 years agoDateTimeNumericFieldElement should use Localizer functions.
tkent@chromium.org [Fri, 28 Sep 2012 02:36:03 +0000 (02:36 +0000)]
DateTimeNumericFieldElement should use Localizer functions.
https://bugs.webkit.org/show_bug.cgi?id=97318

Reviewed by Hajime Morita.

Source/WebCore:

Source/WebCore:

Use Localizer functions instead of functions in LocalizedNumber to test
i18n behavior. This affects only layout tests because
Document::getLocalizer() always returns a Localizer for the browser
locale.

To obtain a Localizer object for <input>'s locale from a deep shadow node,
we add localeIdentifier() function to DateTimeFieldElement::FieldOwner
and DateTimeEditElement::EditControlOwner interfaces.

Tests: fast/forms/time-multiple-fields/time-multiple-fields-localization.html

* html/shadow/DateTimeFieldElement.h:
(FieldOwner): Add localeIdentifier callback.
(DateTimeFieldElement): Add localeIdentifier().
* html/shadow/DateTimeFieldElement.cpp:
(WebCore::DateTimeFieldElement::localeIdentifier):
Added. Returns FieldOwner::localeIdentifier if m_fieldOwner is available.

* html/shadow/DateTimeNumericFieldElement.h:
(DateTimeNumericFieldElement): Declare localizer().
* html/shadow/DateTimeNumericFieldElement.cpp:
(WebCore::DateTimeNumericFieldElement::localizer):
Returns a Localizer for DateTimeFieldElement::localeIdentifier()
(WebCore::DateTimeNumericFieldElement::handleKeyboardEvent): Use localizer().
(WebCore::DateTimeNumericFieldElement::value): Use localizer().

* html/shadow/DateTimeEditElement.h:
(EditControlOwner): Add localeIdentifier() callback.
(DateTimeEditElement):
Declare localeIdentifier(), which implements FieldOwner::localeIdentifier().
* html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditElement::localeIdentifier):
Added. Returns EditControlOwner::localeIdentifier if m_editControlOwner is available.

* html/BaseMultipleFieldsDateAndTimeInputType.h:
(BaseMultipleFieldsDateAndTimeInputType): Declare localeIdentifier(),
which implements EditControlOwner::localeIdentifier().
* html/BaseMultipleFieldsDateAndTimeInputType.cpp:
(WebCore::BaseMultipleFieldsDateAndTimeInputType::localeIdentifier):
Added. Returns <input>'s inherited locale identifier.

LayoutTests:

* platform/chromium/TestExpectations:
Need rebaseline for non-Mac results.
* platform/chromium/fast/forms/time-multiple-fields/time-multiple-fields-localization-expected.txt:
Update "ar" locale result.

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

8 years agoImplement reviewer feedback that I missed on bug 95930.
macpherson@chromium.org [Fri, 28 Sep 2012 02:16:38 +0000 (02:16 +0000)]
Implement reviewer feedback that I missed on bug 95930.
https://bugs.webkit.org/show_bug.cgi?id=97752

Reviewed by Alexey Proskuryakov.

This patch updates the indentation of function parameters in a few places,
and reserves an appropriate amount of space when using StringBuilder.

* css/CSSBasicShapes.cpp:
(WebCore::buildRectangleString):
(WebCore::CSSBasicShapeRectangle::cssText):
(WebCore::CSSBasicShapeRectangle::serializeResolvingVariables):
(WebCore::CSSBasicShapeCircle::serializeResolvingVariables):
(WebCore::CSSBasicShapeEllipse::serializeResolvingVariables):
(WebCore::buildPolygonString):
* css/Rect.h:
(WebCore::Rect::serializeResolvingVariables):
(WebCore::Quad::serializeResolvingVariables):
(WebCore::Quad::generateCSSString):

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

8 years agoPut initializeHostCallReturnValue() behind #if ENABLE(JIT).
mark.lam@apple.com [Fri, 28 Sep 2012 01:43:52 +0000 (01:43 +0000)]
Put initializeHostCallReturnValue() behind #if ENABLE(JIT).
Fixes non JIT builds.
https://bugs.webkit.org/show_bug.cgi?id=97838.

Reviewed by John Sullivan.

* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):

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

8 years agoUnreviewed, rolling out r129823.
commit-queue@webkit.org [Fri, 28 Sep 2012 01:16:06 +0000 (01:16 +0000)]
Unreviewed, rolling out r129823.
http://trac.webkit.org/changeset/129823
https://bugs.webkit.org/show_bug.cgi?id=97837

Cause a bunch of pixel failures on Chrome Linux that look like
real regressions (Requested by ojan on #webkit).

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

* platform/graphics/harfbuzz/FontHarfBuzz.cpp:
(WebCore::Font::drawGlyphs):
(WebCore::Font::drawComplexText):
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
(WebCore::FontPlatformData::setupPaint):
* platform/graphics/skia/SimpleFontDataSkia.cpp:
(WebCore::SimpleFontData::platformWidthForGlyph):

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

8 years agoGet rid of more unused WK1 plug-in code
andersca@apple.com [Fri, 28 Sep 2012 00:51:06 +0000 (00:51 +0000)]
Get rid of more unused WK1 plug-in code
https://bugs.webkit.org/show_bug.cgi?id=97835

Reviewed by Mark Rowe.

Source/WebKit:

Remove WebNetscapeDeprecatedFunctions.c and WebNetscapeDeprecatedFunctions.h from the Xcode project.

* WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

* Plugins/WebBasePluginPackage.mm:
Remove JavaCFMPluginFilename #define.

(-[WebBasePluginPackage initWithPath:]):
#ifndef __ppc__ is always true now.

(-[WebBasePluginPackage isJavaPlugIn]):
Remove JavaCFMPluginFilename.

* Plugins/WebNetscapeDeprecatedFunctions.c: Removed.
* Plugins/WebNetscapeDeprecatedFunctions.h: Removed.
Remove functions that nobody calls anymore.

* Plugins/WebNetscapePluginPackage.mm:
Remove +initialize call, the earliest version of Shockwave we now support doesn't
require us to have a valid CurApRefNum file anymore.

(-[WebNetscapePluginPackage _tryLoad]):
Remove more unused code.

* Plugins/WebPluginDatabase.h:
Remove CFM from a comment.

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

8 years agoFixed CallFrameClosure::resetCallFrame() to use the valid
mark.lam@apple.com [Fri, 28 Sep 2012 00:50:34 +0000 (00:50 +0000)]
Fixed CallFrameClosure::resetCallFrame() to use the valid
range of argument index values.
https://bugs.webkit.org/show_bug.cgi?id=97836.

Reviewed by Gavin Barraclough.

* interpreter/CallFrame.h:
(ExecState):
* interpreter/CallFrameClosure.h:
(JSC::CallFrameClosure::resetCallFrame):

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

8 years ago[chromium] DumpRenderTree support for software compositing
aelias@chromium.org [Fri, 28 Sep 2012 00:46:53 +0000 (00:46 +0000)]
[chromium] DumpRenderTree support for software compositing
https://bugs.webkit.org/show_bug.cgi?id=96853

Reviewed by James Robinson.

This adds software compositor support to DumpRenderTree.  The only
thing needed is a minimal OutputSurfaceSoftware that holds a
viewport-sized bitmap. Then, I added virtual test suite
platform/chromium/virtual/softwarecompositing -- a mirror of the
compositing/ directory with --enable-software-compositing, and
expectations for not yet supported tests.

Tools:

* DumpRenderTree/DumpRenderTree.gypi:
* DumpRenderTree/chromium/DumpRenderTree.cpp:
(main):
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::TestShell):
* DumpRenderTree/chromium/TestShell.h:
(TestShell::softwareCompositingEnabled):
(TestShell::setSoftwareCompositingEnabled):
(TestShell):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::createOutputSurface):
* DumpRenderTree/chromium/WebViewHostOutputSurface.cpp:
(WebKit::WebViewHostOutputSurface::create3d):
(WebKit):
(WebKit::WebViewHostOutputSurface::createSoftware):
(WebKit::WebViewHostOutputSurface::WebViewHostOutputSurface):
(WebKit::WebViewHostOutputSurface::bindToClient):
(WebKit::WebViewHostOutputSurface::surfaceSoftware):
* DumpRenderTree/chromium/WebViewHostOutputSurface.h:
(WebKit):
(WebViewHostOutputSurface):
* DumpRenderTree/chromium/WebViewHostSoftwareOutputDevice.cpp: Copied from Tools/DumpRenderTree/chromium/WebViewHostOutputSurface.cpp.
(WebKit):
(WebKit::WebViewHostSoftwareOutputDevice::lockForWrite):
(WebKit::WebViewHostSoftwareOutputDevice::unlockForWrite):
(WebKit::WebViewHostSoftwareOutputDevice::lockForRead):
(WebKit::WebViewHostSoftwareOutputDevice::unlockForRead):
(WebKit::WebViewHostSoftwareOutputDevice::viewportChanged):
* DumpRenderTree/chromium/WebViewHostSoftwareOutputDevice.h: Copied from Tools/DumpRenderTree/chromium/WebViewHostOutputSurface.cpp.
(WebKit):
(WebViewHostSoftwareOutputDevice):
* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort.virtual_test_suites):

LayoutTests:

* platform/chromium/TestExpectations:
* platform/chromium/virtual/softwarecompositing/README.txt: Added.

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

8 years ago[Chromium] Remove screen-related functions from PlatformSupport
pilgrim@chromium.org [Fri, 28 Sep 2012 00:31:12 +0000 (00:31 +0000)]
[Chromium] Remove screen-related functions from PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=97474

Reviewed by Adam Barth.

Source/Platform:

Screen-related functions like screenHorizontalDPI that
used to be on PlatformSupport are now accessed through a new
PlatformPageClient attached to Widget in WebCore-land, which is
implemented by ChromeClientImpl in WebKit-land, which proxies
calls to WebWidgetClient, which is actually implemented in
Chromium-land.

* Platform.gypi:
* chromium/public/WebScreenInfo.h: Added.
(WebKit):
(WebScreenInfo):
(WebKit::WebScreenInfo::WebScreenInfo):

Source/WebCore:

Part of a refactoring series. See tracking bug 82948.
Screen-related functions like screenHorizontalDPI that
used to be on PlatformSupport are now accessed through a new
PlatformPageClient attached to Widget in WebCore-land, which is
implemented by ChromeClientImpl in WebKit-land, which proxies
calls to WebWidgetClient, which is actually implemented in
Chromium-land.

* WebCore.gypi:
* platform/Widget.h:
* platform/chromium/PageClientChromium.h: Copied from Source/WebCore/platform/chromium/PlatformWidget.h.
(PageClientChromium):
* platform/chromium/PlatformScreenChromium.cpp:
(WebCore::toPlatformPageClient):
(WebCore):
(WebCore::screenHorizontalDPI):
(WebCore::screenVerticalDPI):
(WebCore::screenDepth):
(WebCore::screenDepthPerComponent):
(WebCore::screenIsMonochrome):
(WebCore::screenRect):
(WebCore::screenAvailableRect):
* platform/chromium/PlatformSupport.h:
(PlatformSupport):

Source/WebKit/chromium:

Screen-related functions like screenHorizontalDPI that
used to be on PlatformSupport are now accessed through a new
PlatformPageClient attached to Widget in WebCore-land, which is
implemented by ChromeClientImpl in WebKit-land, which proxies
calls to WebWidgetClient, which is actually implemented in
Chromium-land.

* public/WebScreenInfo.h:
* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::screenInfo):
(WebKit):
* src/ChromeClientImpl.h:
(WebKit):
(WebKit::ChromeClientImpl::platformPageClient):
(ChromeClientImpl):
* src/PlatformSupport.cpp:
(WebCore):

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

8 years agoPerfTestRunner.run should take an object
rniwa@webkit.org [Fri, 28 Sep 2012 00:26:14 +0000 (00:26 +0000)]
PerfTestRunner.run should take an object
https://bugs.webkit.org/show_bug.cgi?id=97743

Reviewed by Kentaro Hara.

Rename PerfTestRunner.run to PerfTestRunner.measureTime and make it take an object instead of
5 arguments. Also get rid of PerfTestRunner._loopsPerRun since it's no longer used (it's always 1).

* CSS/StyleSheetInsert.html:
* DOM/resources/dom-perf.js:
* Layout/floats_100_100.html:
* Layout/floats_100_100_nested.html:
* Layout/floats_20_100.html:
* Layout/floats_20_100_nested.html:
* Layout/floats_2_100.html:
* Layout/floats_2_100_nested.html:
* Layout/floats_50_100.html:
* Layout/floats_50_100_nested.html:
* Parser/html-parser.html:
* Parser/html5-full-render.html:
* SVG/SvgCubics.html:
* SVG/SvgHitTesting.html:
* resources/runner.js:

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

8 years ago[Chromium] FontHarfBuzz.cpp should not use drawTextOnPath().
bashi@chromium.org [Fri, 28 Sep 2012 00:13:34 +0000 (00:13 +0000)]
[Chromium] FontHarfBuzz.cpp should not use drawTextOnPath().
https://bugs.webkit.org/show_bug.cgi?id=97676

Reviewed by Tony Chang.

Use drawPosText() if possible for vertical text.
Use drawTextOnPath() only if the font doesn't have vhea/vmtx table.

No new tests. No change in behavior on LayoutTests.
Confirmed improvement in vertical text positioning using ipafont and Skia r5677.

* platform/graphics/harfbuzz/FontHarfBuzz.cpp:
(WebCore::drawVerticalTextWithBrokenIdeographs): Added.
(WebCore):
(WebCore::Font::drawGlyphs): Draw vertical text by drawPosText() in a similar manner of FontSkia.cpp.
(WebCore::Font::drawComplexText): Disable setVerticalText(). Complex path doesn't support it now.
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
(WebCore::FontPlatformData::setupPaint): Call setVertialText().
* platform/graphics/skia/SimpleFontDataSkia.cpp:
(WebCore::SimpleFontData::platformWidthForGlyph): Disable setVerticalText() if the font doesn't have vertical metrics.

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

8 years agoUnreviewed, rolling out r129806.
jsbell@chromium.org [Fri, 28 Sep 2012 00:07:11 +0000 (00:07 +0000)]
Unreviewed, rolling out r129806.
http://trac.webkit.org/changeset/129806
https://bugs.webkit.org/show_bug.cgi?id=97831

Broke windows build due to missing header (Requested by jsbell
on #webkit).

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

* Modules/indexeddb/IDBLevelDBCoding.cpp:
(WebCore::IDBLevelDBCoding::encodeString):
(WebCore::IDBLevelDBCoding::decodeString):

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

8 years agoSource/WebKit/chromium: Remove unused methods from Chromium WebKit API.
commit-queue@webkit.org [Fri, 28 Sep 2012 00:05:04 +0000 (00:05 +0000)]
Source/WebKit/chromium: Remove unused methods from Chromium WebKit API.
https://bugs.webkit.org/show_bug.cgi?id=95254

Patch by Nasko Oskov <nasko@chromium.org> on 2012-09-27
Reviewed by Adam Barth.

Removing methods, which are no longer in use.

* public/WebFrame.h:
* public/WebFrameClient.h:
(WebKit::WebFrameClient::willCheckAndDispatchMessageEvent):
* src/WebFrameImpl.cpp:
* src/WebFrameImpl.h:
(WebFrameImpl):

Tools: Move DumpRenderTree to use newer version of the name method of
WebFrame and the willCheckAndDispatchMessageEvent method of WebFrameClient
https://bugs.webkit.org/show_bug.cgi?id=95254

Patch by Nasko Oskov <nasko@chromium.org> on 2012-09-27
Reviewed by Adam Barth.

The WebFrame name() method is removed and replaced by better named
uniqueName() method, so DRT needs to be updated to use this new version.
Also the willCheckAndDispatchMessageEvent in WebFrameClient gained
one more parameter, which had to be added in DRT.

* DumpRenderTree/chromium/TestShell.cpp:
(dumpFramesAsText):
(dumpFramesAsPrintedText):
(dumpFrameScrollPosition):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::unableToImplementPolicyWithError):
(WebViewHost::willCheckAndDispatchMessageEvent):
(WebViewHost::printFrameDescription):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):

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

8 years agoDelete test that no longer exists.
ojan@chromium.org [Fri, 28 Sep 2012 00:02:32 +0000 (00:02 +0000)]
Delete test that no longer exists.
* platform/chromium/TestExpectations:

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

8 years agoRemove the clang pragmas to disable warnings in Noncopyable.h
andersca@apple.com [Thu, 27 Sep 2012 23:57:06 +0000 (23:57 +0000)]
Remove the clang pragmas to disable warnings in Noncopyable.h
https://bugs.webkit.org/show_bug.cgi?id=97826

Reviewed by Beth Dakin.

Warnings about C++11 extensions are already disabled project-wide now so there's no need
to keep these pragmas.

* wtf/Noncopyable.h:

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

8 years agoPerformanceTests/CSS/StyleSheetInsert.html has a time-dependent non-Gaussian distribution
rniwa@webkit.org [Thu, 27 Sep 2012 23:39:09 +0000 (23:39 +0000)]
PerformanceTests/CSS/StyleSheetInsert.html has a time-dependent non-Gaussian distribution
https://bugs.webkit.org/show_bug.cgi?id=97741

Reviewed by Antti Koivisto.

Reset the content in the iframe in each run so that the runtime from each run follows a normal distribution.
We can cleanup this code once my patch to replace the argument list of run by an object is landed.

* CSS/StyleSheetInsert.html:

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

8 years agoUnreviewed. Minor appearance tweaks after r129813.
rniwa@webkit.org [Thu, 27 Sep 2012 23:35:44 +0000 (23:35 +0000)]
Unreviewed. Minor appearance tweaks after r129813.

* resources/results-template.html:

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

8 years agoVersioning.
lforschler@apple.com [Thu, 27 Sep 2012 23:30:55 +0000 (23:30 +0000)]
Versioning.

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

8 years agoREGRESSION(r129186): Pressing enter at the end of a line deletes the line
leviw@chromium.org [Thu, 27 Sep 2012 23:25:05 +0000 (23:25 +0000)]
REGRESSION(r129186): Pressing enter at the end of a line deletes the line
https://bugs.webkit.org/show_bug.cgi?id=97763

Reviewed by Ryosuke Niwa.

r129186 exposed incorrect behavior in RenderText whereby RenderText's lines were
dirtied but the renderer wasn't marked for layout. Rich text editing in GMail exposed
this behavior. RenderText::setTextWithOffset is called with a text string identical
to the current text. It still dirties lines, then calls setText, which has a check
for the case when the strings are the same and returns early and doesn't mark us as
needing layout.

This change adds the same early bailing logic in setText to setTextWithOffset, but
forces setText to work its magic whenever we dirty lines there (and avoid double-
checking that the strings are equal).

* rendering/RenderText.cpp:
(WebCore::RenderText::setTextWithOffset):

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

8 years agoResults page should warn about time-dependent distributions
rniwa@webkit.org [Thu, 27 Sep 2012 23:23:53 +0000 (23:23 +0000)]
Results page should warn about time-dependent distributions
https://bugs.webkit.org/show_bug.cgi?id=97818

Reviewed by Ojan Vafai.

Add a simple linear regression analysis on results page to detect time-dependent distributions.
We add a warning sign (inline SVG) when the regression gave us a slope of at least 0.01 and a R^2 of at least 0.6.
Also added time-series graphs per run under the bar graphs so that humans can manually inspect them.

A nice follow up would be to add some normality test (e.g. Shapiro-Wilk) to detect bi-modal distributions
but we probably need to restructure the code to run it asynchronously since normality tests are slow.

* resources/results-template.html:

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