WebKit-https.git
8 years agoemacs: unreviewed. add settings for editing js files.
loislo@chromium.org [Tue, 20 Dec 2011 17:09:20 +0000 (17:09 +0000)]
emacs: unreviewed. add settings for editing js files.

* .dir-locals.el:

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

8 years agoREGRESSION(r103325) - injected-script-for-origin.html crashing in Chromium Linux...
caseq@chromium.org [Tue, 20 Dec 2011 16:32:25 +0000 (16:32 +0000)]
REGRESSION(r103325) - injected-script-for-origin.html crashing in Chromium Linux debug
https://bugs.webkit.org/show_bug.cgi?id=74934

Unreviewed test fix.

* http/tests/inspector/injected-script-for-origin.html:

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

8 years agochromium: unreviewed. Clean out passing tests from test_expectations.txt.
loislo@chromium.org [Tue, 20 Dec 2011 16:27:31 +0000 (16:27 +0000)]
chromium: unreviewed. Clean out passing tests from test_expectations.txt.

* platform/chromium/test_expectations.txt:
  plugins/form-value.html: was fixed at r103147.
  fast/images/move-image-to-new-document.html: was fixed somewhere between r102959 and r102965.
  media/media-controller-playback.html: rebaselined at r103285.

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

8 years ago[Qt] Build fix for gcc used on WK2 build bot.
hausmann@webkit.org [Tue, 20 Dec 2011 15:42:38 +0000 (15:42 +0000)]
[Qt] Build fix for gcc used on WK2 build bot.

* UIProcess/qt/QtWebPagePolicyClient.cpp:
(QtWebPagePolicyClient::decidePolicyForNavigationAction): Don't do case:
with values outside the range of the type. Instead switch() on the int instead.

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

8 years ago[Qt] Extend QQuickWebview::navigationRequested API
hausmann@webkit.org [Tue, 20 Dec 2011 15:35:52 +0000 (15:35 +0000)]
[Qt] Extend QQuickWebview::navigationRequested API
https://bugs.webkit.org/show_bug.cgi?id=73818

Patch by Rafael Brandao <rafael.lobo@openbossa.org> on 2011-12-20
Reviewed by Simon Hausmann.

Source/WebKit/qt:

* declarative/experimental/plugin.cpp:

Source/WebKit2:

Added url of the originating frame on QWebNavigationRequest,
accessible via 'request.originatingUrl' on QML. Download action
was moved to experimental, so in order to use it you should set
'request.action = WebViewExperimental.DownloadRequest' on QML.

* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qwebnavigationrequest.cpp:
(QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
(QWebNavigationRequest::QWebNavigationRequest):
(QWebNavigationRequest::originatingUrl):
* UIProcess/API/qt/qwebnavigationrequest_p.h:
* UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
Tests were modified a bit to reuse urls and also added a test case to check
originating url once a request is done.
* UIProcess/qt/QtWebPagePolicyClient.cpp:
(QtWebPagePolicyClient::decidePolicyForNavigationAction):
* UIProcess/qt/QtWebPagePolicyClient.h:

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

8 years ago[Qt] WK2 Debugging quirks need some improvement
kbalazs@webkit.org [Tue, 20 Dec 2011 15:21:49 +0000 (15:21 +0000)]
[Qt] WK2 Debugging quirks need some improvement
https://bugs.webkit.org/show_bug.cgi?id=74859

Reviewed by Simon Hausmann.

Improvements added to make debugging WebKit2 more
confortable and efficient:
1. Unify debugging quirks. From now all of them are controlled
by the QT_WEBKIT2_DEBUG environment variable.
2. Disable crash handlers for WebKitTestRunner if debugging quirks
are used to make it possible to use postmortem debugging via core dumps
which is extremely useful for debugging bugs triggered by layout tests.
3. Disable test timeout for WebKitTestRunner if debugging quirks
are used because that makes debugging impossible.

Source/WebKit2:

* UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
(WebKit::QtWebProcess::setupChildProcess):
* WebProcess/qt/WebProcessMainQt.cpp:
(WebKit::WebProcessMainQt):

Tools:

* WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp:
(WTR::InjectedBundle::platformInitialize):
* WebKitTestRunner/InjectedBundle/qt/LayoutTestControllerQt.cpp:
(WTR::LayoutTestController::initializeWaitToDumpWatchdogTimerIfNeeded):
* WebKitTestRunner/qt/TestControllerQt.cpp:
(WTR::TestController::platformRunUntil):

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

8 years ago[Chromium] Rebaseline fast/js/mozilla/strict/15.4.5.1.html
loislo@chromium.org [Tue, 20 Dec 2011 15:07:09 +0000 (15:07 +0000)]
[Chromium] Rebaseline fast/js/mozilla/strict/15.4.5.1.html
https://bugs.webkit.org/show_bug.cgi?id=74918

Unreviewed expectation fix.

Patch by Michael Starzinger <mstarzinger@chromium.org> on 2011-12-20

* platform/chromium/fast/js/mozilla/strict/15.4.5.1-expected.txt: Added.
* platform/chromium/test_

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

8 years agoRegression(99212): table rows get incorrect height after changing some cells' height
jchaffraix@webkit.org [Tue, 20 Dec 2011 14:08:52 +0000 (14:08 +0000)]
Regression(99212): table rows get incorrect height after changing some cells' height
https://bugs.webkit.org/show_bug.cgi?id=74303

Reviewed by Darin Adler.

Source/WebCore:

Tests: fast/table/resize-table-binding-cell.html
       fast/table/resize-table-cell.html
       fast/table/resize-table-row.html

r99212 wrongly implemented the row's logicalHeight recalculation.
The original code would use recalcCells which would properly recalculate a
row logicalHeight by iterating over the table's cells but throwing out the
existing result.

Our approach is just to recompute our row's logicalHeight and leave the
rest of the section untouched.

* rendering/RenderTableSection.cpp:
(WebCore::updateLogicalHeightForCell):
Added this new helper function to update the RowStruct logicalHeight during
|addCell| and |rowLogicalHeightChanged|.

(WebCore::RenderTableSection::addCell):
Replaced the old code with a call to updateLogicalHeightForCell.
(WebCore::RenderTableSection::rowLogicalHeightChanged):
Added a call to updateLogicalHeightForCell for each cells.

LayoutTests:

Added some tests that resize a cell or a row and check that we properly recompute the height.

* fast/table/resize-table-binding-cell-expected.txt: Added.
* fast/table/resize-table-binding-cell.html: Added.
* fast/table/resize-table-cell-expected.txt: Added.
* fast/table/resize-table-cell.html: Added.
* fast/table/resize-table-row-expected.txt: Added.
* fast/table/resize-table-row.html: Added.

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

8 years agoUnreviewed, rolling out r103322.
loislo@chromium.org [Tue, 20 Dec 2011 14:04:25 +0000 (14:04 +0000)]
Unreviewed, rolling out r103322.
http://trac.webkit.org/changeset/103322
https://bugs.webkit.org/show_bug.cgi?id=74927

seven inspector's tests are crashing on qt (Requested by
loislo on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-12-20

* inspector/CodeGeneratorInspector.py:
(RawTypes.BaseType.is_event_param_check_optional):
(RawTypes.Object.is_event_param_check_optional):
(RawTypes.Array.is_event_param_check_optional):
(RawTypes):
(Generator.process_command):
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
(WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
* inspector/InspectorApplicationCacheAgent.h:
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::clearFrontend):
(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::getInlineStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
(WebCore::InspectorCSSAgent::getAllStyleSheets):
(WebCore::InspectorCSSAgent::getStyleSheet):
(WebCore::InspectorCSSAgent::setPropertyText):
(WebCore::InspectorCSSAgent::toggleProperty):
(WebCore::InspectorCSSAgent::setRuleSelector):
(WebCore::InspectorCSSAgent::addRule):
(WebCore::InspectorCSSAgent::getSupportedCSSProperties):
(WebCore::InspectorCSSAgent::stopSelectorProfiler):
* inspector/InspectorCSSAgent.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getDocument):
(WebCore::InspectorDOMAgent::querySelectorAll):
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::getSearchResults):
(WebCore::InspectorDOMAgent::resolveNode):
(WebCore::InspectorDOMAgent::getAttributes):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
* inspector/InspectorDOMStorageAgent.h:
* inspector/InspectorDatabaseAgent.cpp:
(WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
* inspector/InspectorDatabaseAgent.h:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
(WebCore::InspectorDebuggerAgent::setBreakpoint):
(WebCore::InspectorDebuggerAgent::searchInContent):
(WebCore::InspectorDebuggerAgent::setScriptSource):
(WebCore::InspectorDebuggerAgent::getFunctionLocation):
(WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorMemoryAgent.cpp:
(WebCore::InspectorMemoryAgent::getDOMNodeCount):
* inspector/InspectorMemoryAgent.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::getCookies):
(WebCore::InspectorPageAgent::getResourceTree):
(WebCore::InspectorPageAgent::searchInResource):
(WebCore::InspectorPageAgent::searchInResources):
* inspector/InspectorPageAgent.h:
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::getProfileHeaders):
(WebCore::InspectorProfilerAgent::getProfile):
(WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
* inspector/InspectorProfilerAgent.h:
* inspector/InspectorRuntimeAgent.cpp:
(WebCore::InspectorRuntimeAgent::evaluate):
(WebCore::InspectorRuntimeAgent::callFunctionOn):
(WebCore::InspectorRuntimeAgent::getProperties):
* inspector/InspectorRuntimeAgent.h:

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

8 years agoWeb Inspector: [Extensions API] allow setting extension API per extension security...
caseq@chromium.org [Tue, 20 Dec 2011 13:42:35 +0000 (13:42 +0000)]
Web Inspector: [Extensions API] allow setting extension API per extension security origin
https://bugs.webkit.org/show_bug.cgi?id=74868

Reviewed by Pavel Feldman.

This replaces InspectorExtensionAPI string within InspectorFrontendHost with a map by extension
security origin, so that we can have APIs customized by extension (in particular, this is needed
to expose experimental APIs only to certain extensions).

* inspector/InspectorAgent.cpp:
(WebCore::InspectorAgent::didClearWindowObjectInWorld):
(WebCore::InspectorAgent::setInjectedScriptForOrigin):
* inspector/InspectorAgent.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::setInjectedScriptForOrigin):
* inspector/InspectorController.h:
* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::setInjectedScriptForOrigin):
* inspector/InspectorFrontendHost.h:
* inspector/InspectorFrontendHost.idl:
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._addExtensions):
(WebInspector.ExtensionServer.prototype._addExtension):

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

8 years ago[Qt][WK2]REGRESSION(r103310): It broke tst_QQuickWebView::loadNonexistentFileUrl...
jesus@webkit.org [Tue, 20 Dec 2011 13:36:14 +0000 (13:36 +0000)]
[Qt][WK2]REGRESSION(r103310): It broke tst_QQuickWebView::loadNonexistentFileUrl() API test
https://bugs.webkit.org/show_bug.cgi?id=74923

Rubber-stamped by Csaba Osztrogonác.

Fixing API usage after http://trac.webkit.org/changeset/103310.

* UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
(tst_QQuickWebView::loadNonexistentFileUrl):

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

8 years ago[Qt] Favicon support should work with multiple web contexts
hausmann@webkit.org [Tue, 20 Dec 2011 13:31:53 +0000 (13:31 +0000)]
[Qt] Favicon support should work with multiple web contexts
https://bugs.webkit.org/show_bug.cgi?id=74922

Reviewed by Tor Arne Vestbø.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize): Remove unnecessary use of QtWebContext::defaultContext(). There is
already a member variable "context" which is the correct one.
(QQuickWebViewPrivate::setIcon): Ditto.
* UIProcess/API/qt/qwebiconimageprovider.cpp:
(QWebIconImageProvider::requestImage): Extract the context id from the image id and use it to
query the correct icon database.
* UIProcess/qt/QtWebContext.cpp: Provide a mapping from id to qtwebcontext.
(WebKit::generateContextID):
(WebKit::QtWebContext::QtWebContext):
(WebKit::QtWebContext::~QtWebContext):
(WebKit::QtWebContext::contextByID):
(WebKit::QtWebContext::initialize):
* UIProcess/qt/QtWebContext.h:
(WebKit::QtWebContext::context):
(WebKit::QtWebContext::contextID):
* UIProcess/qt/QtWebIconDatabaseClient.cpp:
(QtWebIconDatabaseClient::QtWebIconDatabaseClient):
(QtWebIconDatabaseClient::requestIconForPageURL): Store the context id in the icon url.
* UIProcess/qt/QtWebIconDatabaseClient.h:

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

8 years agoWeb Inspector: CodeGenerator should not use pointers for out params of RefPtr type.
loislo@chromium.org [Tue, 20 Dec 2011 13:20:28 +0000 (13:20 +0000)]
Web Inspector: CodeGenerator should not use pointers for out params of RefPtr type.
https://bugs.webkit.org/show_bug.cgi?id=69366

Patch by Peter Rybin <peter.rybin@gmail.com> on 2011-12-20
Reviewed by Pavel Feldman.

Generator fixed and all usages are changed manually.

* inspector/CodeGeneratorInspector.py:
(RawTypes.BaseType.is_event_param_check_optional):
(RawTypes.BaseType):
(RawTypes.BaseType.get_output_argument_prefix):
(RawTypes.Object.get_output_argument_prefix):
(RawTypes.Array.get_output_argument_prefix):
(RawTypes):
(Generator.process_command):
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
(WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
* inspector/InspectorApplicationCacheAgent.h:
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::clearFrontend):
(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::getInlineStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
(WebCore::InspectorCSSAgent::getAllStyleSheets):
(WebCore::InspectorCSSAgent::getStyleSheet):
(WebCore::InspectorCSSAgent::setPropertyText):
(WebCore::InspectorCSSAgent::toggleProperty):
(WebCore::InspectorCSSAgent::setRuleSelector):
(WebCore::InspectorCSSAgent::addRule):
(WebCore::InspectorCSSAgent::getSupportedCSSProperties):
(WebCore::InspectorCSSAgent::stopSelectorProfiler):
(WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
* inspector/InspectorCSSAgent.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getDocument):
(WebCore::InspectorDOMAgent::querySelectorAll):
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::getSearchResults):
(WebCore::InspectorDOMAgent::resolveNode):
(WebCore::InspectorDOMAgent::getAttributes):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
* inspector/InspectorDOMStorageAgent.h:
* inspector/InspectorDatabaseAgent.cpp:
(WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
* inspector/InspectorDatabaseAgent.h:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
(WebCore::InspectorDebuggerAgent::setBreakpoint):
(WebCore::InspectorDebuggerAgent::searchInContent):
(WebCore::InspectorDebuggerAgent::setScriptSource):
(WebCore::InspectorDebuggerAgent::getFunctionLocation):
(WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorMemoryAgent.cpp:
(WebCore::InspectorMemoryAgent::getDOMNodeCount):
* inspector/InspectorMemoryAgent.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::getCookies):
(WebCore::InspectorPageAgent::getResourceTree):
(WebCore::InspectorPageAgent::searchInResource):
(WebCore::InspectorPageAgent::searchInResources):
* inspector/InspectorPageAgent.h:
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::getProfileHeaders):
(WebCore::InspectorProfilerAgent::getProfile):
(WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
* inspector/InspectorProfilerAgent.h:
* inspector/InspectorRuntimeAgent.cpp:
(WebCore::InspectorRuntimeAgent::evaluate):
(WebCore::InspectorRuntimeAgent::callFunctionOn):
(WebCore::InspectorRuntimeAgent::getProperties):
* inspector/InspectorRuntimeAgent.h:

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

8 years ago[GTK] Change default WebSocket protocol to the latest one
yutak@chromium.org [Tue, 20 Dec 2011 13:17:17 +0000 (13:17 +0000)]
[GTK] Change default WebSocket protocol to the latest one
https://bugs.webkit.org/show_bug.cgi?id=74064

Reviewed by Martin Robinson.

* webkit/webkitwebview.cpp:
(webkit_web_view_update_settings):
Use hybi WebSocket protocol by default.

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

8 years ago[Qt] HTTP header injection via QWebPage::userAgentForUrl()
jarred@sencha.com [Tue, 20 Dec 2011 12:56:06 +0000 (12:56 +0000)]
[Qt] HTTP header injection via QWebPage::userAgentForUrl()
https://bugs.webkit.org/show_bug.cgi?id=68560

Strip out newline characters from the result of userAgentForUrl() to prevent additional
HTTP headers in HTTP requests.

New QtTest case that validates the user agent, as returned by navigator.userAgent, does not
contain any newline characters.

Reviewed by Simon Hausmann.

* WebCoreSupport/FrameLoaderClientQt.cpp:
(WebCore::FrameLoaderClientQt::userAgent):
* tests/qwebpage/tst_qwebpage.cpp:
(CustomUserAgentWebPage::userAgentForUrl):
(tst_QWebPage::userAgentNewlineStripping):

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

8 years ago[Qt] Unreviewed gardening.
ossy@webkit.org [Tue, 20 Dec 2011 12:49:30 +0000 (12:49 +0000)]
[Qt] Unreviewed gardening.

* platform/qt-mac/Skipped: Skip failing and crashing tests to try to paint the bot green.

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

8 years agoCrash in RenderTable::outerBorderAfter
jchaffraix@webkit.org [Tue, 20 Dec 2011 12:40:48 +0000 (12:40 +0000)]
Crash in RenderTable::outerBorderAfter
http://webkit.org/b/74026
<rdar://problem/10552313>

Reviewed by Eric Seidel.

Source/WebCore:

Test: fast/table/computeLogicalWidth-table-needsSectionRecalc.html

RenderBlock can call computeLogicalWidth() before calling layout(). The code in
RenderTable::computeLogicalWidth would make the assumption that layout() was called
as layout() is responsible for recomputing our sections.

To prevent the issue, let's just recompute the section if it's needed as this situation
shouldn't be an error. Also adding more knowledge of table in RenderBlock seems bad.

* rendering/RenderTable.cpp:
(WebCore::RenderTable::computeLogicalWidth):
Make sure we recalculate our section if it's needed.

LayoutTests:

* fast/table/computeLogicalWidth-table-needsSectionRecalc-expected.txt: Added.
* fast/table/computeLogicalWidth-table-needsSectionRecalc.html: Added.

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

8 years ago[Qt][WK2] Implement favicon support
hausmann@webkit.org [Tue, 20 Dec 2011 11:49:21 +0000 (11:49 +0000)]
[Qt][WK2] Implement favicon support
https://bugs.webkit.org/show_bug.cgi?id=71082

Patch by Rafael Brandao <rafael.lobo@openbossa.org> on 2011-12-20
Reviewed by Simon Hausmann.

.:

* Source/qtwebkit-export.map: Added new classes.

Source/WebKit/qt:

* declarative/plugin.cpp:
(WebKitQmlPlugin::initializeEngine): Setup for the QDeclarativeImageProvider to display favicons.
Its handles the following url format: "image://webicon/<iconID>#<pageURL>".

Source/WebKit2:

Added attribute to QQuickWebView named "icon" that should be used
as source for QQuickImage in order to display it. All images
pointing to it will refresh when the icon is ready. We also use IDs
to make it possible to handle different icons for the same page URL
at different times (i.e. dynamically changing favicon).

IconDatabase storage lies on UIProcess and the synchronous call for
the icon that happens on WebIconDatabase won't need to send any message
to WebProcess. The part of IconDatabase on WebProcess handles the download
of the resource whenever it is needed. Then the content downloaded is sent
through IPC to the actual database, on UIProcess.

* Target.pri:
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize):
(QQuickWebViewPrivate::_q_onIconChangedForPageURL):
(QQuickWebViewPrivate::setIcon):
(QQuickWebView::icon):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
* UIProcess/API/qt/qwebiconimageprovider.cpp: Added.
(QWebIconImageProvider::QWebIconImageProvider):
(QWebIconImageProvider::~QWebIconImageProvider):
(QWebIconImageProvider::requestImage):
* UIProcess/API/qt/qwebiconimageprovider_p.h: Added.
* UIProcess/WebContext.h:
* UIProcess/WebIconDatabase.cpp:
(WebKit::WebIconDatabase::synchronousIconURLForPageURL):
(WebKit::WebIconDatabase::imageForPageURL): Added iconSize parameter
and a default value for it to not break the old usage. The support for
multiple sizes of favicons is still missing on WebCore.
* UIProcess/WebIconDatabase.h:
* UIProcess/qt/QtWebContext.cpp:
(WebKit::QtWebContext::initialize):
* UIProcess/qt/QtWebContext.h:
(WebKit::QtWebContext::iconDatabase):
* UIProcess/qt/QtWebIconDatabaseClient.cpp: Added.
(toQtWebIconDatabaseClient):
(QtWebIconDatabaseClient::QtWebIconDatabaseClient):
(QtWebIconDatabaseClient::~QtWebIconDatabaseClient):
(QtWebIconDatabaseClient::didChangeIconForPageURL):
(QtWebIconDatabaseClient::iconImageForPageURL):
(QtWebIconDatabaseClient::iconURLHashForPageURL):
(QtWebIconDatabaseClient::requestIconForPageURL):
(QtWebIconDatabaseClient::retainIconForPageURL):
(QtWebIconDatabaseClient::releaseIconForPageURL):
* UIProcess/qt/QtWebIconDatabaseClient.h: Added.
* UIProcess/qt/QtWebPageLoadClient.cpp:
(QtWebPageLoadClient::didStartProgress):

Tools:

A favorite icon was added on MiniBrowser's url bar as example.
We display a default icon when the page doesn't have an icon ready.

* MiniBrowser/qt/MiniBrowser.qrc:
* MiniBrowser/qt/icons/favicon.png: Added.
* MiniBrowser/qt/qml/BrowserWindow.qml:

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

8 years ago[Refactoring] Replace imp with impl in CodeGeneratorJS.pm
haraken@chromium.org [Tue, 20 Dec 2011 11:44:29 +0000 (11:44 +0000)]
[Refactoring] Replace imp with impl in CodeGeneratorJS.pm
https://bugs.webkit.org/show_bug.cgi?id=74901

Reviewed by Adam Barth.

As pointed out in bug 74837, the generated code by CodeGeneratorJS.pm includes
both 'imp' and 'impl'. This patch unifies them into 'impl'.
I confirmed that "perl -lne 'print if /imp[^a-z]/' CodeGeneratorJS.pm" outputs nothing.

No new tests. No change in behavior.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateAttributeEventListenerCall):
(GenerateEventListenerCall):
(GenerateImplementation):
(GenerateParametersCheck):
(GenerateImplementationFunctionCall):
(NativeToJSValue):

* bindings/scripts/test/JS/JSFloat64Array.cpp: Updated run-bindings-tests results.
(WebCore::jsFloat64ArrayPrototypeFunctionFoo):
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::jsTestEventConstructorAttr1):
(WebCore::jsTestEventConstructorAttr2):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::jsTestInterfaceStr1):
(WebCore::jsTestInterfaceStr2):
(WebCore::jsTestInterfaceStr3):
(WebCore::setJSTestInterfaceStr2):
(WebCore::setJSTestInterfaceStr3):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjReadOnlyIntAttr):
(WebCore::jsTestObjReadOnlyStringAttr):
(WebCore::jsTestObjReadOnlyTestObjAttr):
(WebCore::jsTestObjShortAttr):
(WebCore::jsTestObjUnsignedShortAttr):
(WebCore::jsTestObjIntAttr):
(WebCore::jsTestObjLongLongAttr):
(WebCore::jsTestObjUnsignedLongLongAttr):
(WebCore::jsTestObjStringAttr):
(WebCore::jsTestObjTestObjAttr):
(WebCore::jsTestObjXMLObjAttr):
(WebCore::jsTestObjCreate):
(WebCore::jsTestObjReflectedStringAttr):
(WebCore::jsTestObjReflectedIntegralAttr):
(WebCore::jsTestObjReflectedUnsignedIntegralAttr):
(WebCore::jsTestObjReflectedBooleanAttr):
(WebCore::jsTestObjReflectedURLAttr):
(WebCore::jsTestObjReflectedNonEmptyURLAttr):
(WebCore::jsTestObjReflectedCustomIntegralAttr):
(WebCore::jsTestObjReflectedCustomBooleanAttr):
(WebCore::jsTestObjReflectedCustomURLAttr):
(WebCore::jsTestObjReflectedCustomNonEmptyURLAttr):
(WebCore::jsTestObjAttrWithGetterException):
(WebCore::jsTestObjAttrWithSetterException):
(WebCore::jsTestObjStringAttrWithGetterException):
(WebCore::jsTestObjStringAttrWithSetterException):
(WebCore::jsTestObjScriptStringAttr):
(WebCore::jsTestObjConditionalAttr1):
(WebCore::jsTestObjConditionalAttr2):
(WebCore::jsTestObjConditionalAttr3):
(WebCore::jsTestObjCachedAttribute1):
(WebCore::jsTestObjCachedAttribute2):
(WebCore::jsTestObjDescription):
(WebCore::jsTestObjId):
(WebCore::jsTestObjHash):
(WebCore::setJSTestObjShortAttr):
(WebCore::setJSTestObjUnsignedShortAttr):
(WebCore::setJSTestObjIntAttr):
(WebCore::setJSTestObjLongLongAttr):
(WebCore::setJSTestObjUnsignedLongLongAttr):
(WebCore::setJSTestObjStringAttr):
(WebCore::setJSTestObjTestObjAttr):
(WebCore::setJSTestObjXMLObjAttr):
(WebCore::setJSTestObjCreate):
(WebCore::setJSTestObjReflectedStringAttr):
(WebCore::setJSTestObjReflectedIntegralAttr):
(WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
(WebCore::setJSTestObjReflectedBooleanAttr):
(WebCore::setJSTestObjReflectedURLAttr):
(WebCore::setJSTestObjReflectedNonEmptyURLAttr):
(WebCore::setJSTestObjReflectedCustomIntegralAttr):
(WebCore::setJSTestObjReflectedCustomBooleanAttr):
(WebCore::setJSTestObjReflectedCustomURLAttr):
(WebCore::setJSTestObjReflectedCustomNonEmptyURLAttr):
(WebCore::setJSTestObjAttrWithGetterException):
(WebCore::setJSTestObjAttrWithSetterException):
(WebCore::setJSTestObjStringAttrWithGetterException):
(WebCore::setJSTestObjStringAttrWithSetterException):
(WebCore::setJSTestObjConditionalAttr1):
(WebCore::setJSTestObjConditionalAttr2):
(WebCore::setJSTestObjConditionalAttr3):
(WebCore::setJSTestObjId):
(WebCore::jsTestObjPrototypeFunctionVoidMethod):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionIntMethod):
(WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethod):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionIdbKey):
(WebCore::jsTestObjPrototypeFunctionOptionsObject):
(WebCore::jsTestObjPrototypeFunctionMethodWithException):
(WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::jsTestSerializedScriptValueInterfaceValue):

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

8 years agoWeb Inspector: reproducible crash after closing web inspector and browser window...
pfeldman@chromium.org [Tue, 20 Dec 2011 10:02:50 +0000 (10:02 +0000)]
Web Inspector: reproducible crash after closing web inspector and browser window  (iCab)
https://bugs.webkit.org/show_bug.cgi?id=74255

Patch by Pavel Feldman <pavel.feldman@gmail.com> on 2011-12-20
Reviewed by Yury Semikhatsky.

Source/WebKit/cf:

* WebCoreSupport/WebInspectorClientCF.cpp:
(WebInspectorClient::releaseFrontend):

Source/WebKit/mac:

* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::bringFrontendToFront):
(-[WebInspectorWindowController destroyInspectorView:]):

Source/WebKit/win:

* WebCoreSupport/WebInspectorClient.cpp:
(WebInspectorClient::~WebInspectorClient):
(WebInspectorFrontendClient::destroyInspectorView):
* WebCoreSupport/WebInspectorClient.h:

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

8 years agoMake WebIntentServiceInfo constructor public for testing.
commit-queue@webkit.org [Tue, 20 Dec 2011 09:41:31 +0000 (09:41 +0000)]
Make WebIntentServiceInfo constructor public for testing.
https://bugs.webkit.org/show_bug.cgi?id=74764

Patch by Greg Billock <gbillock@google.com> on 2011-12-20
Reviewed by Darin Fisher.

* public/WebIntentServiceInfo.h:

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

8 years ago[Qt] Improve QQuickWebView error handling API
commit-queue@webkit.org [Tue, 20 Dec 2011 08:56:39 +0000 (08:56 +0000)]
[Qt] Improve QQuickWebView error handling API
https://bugs.webkit.org/show_bug.cgi?id=73815

Patch by Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> on 2011-12-20
Reviewed by Simon Hausmann.

Modifying loadFail signal to include the error description
and changing the ErrorType enum to ErrorDomain, to stay aligned
with ResourceError API itself.

* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
* UIProcess/qt/QtWebPageLoadClient.cpp:
(QtWebPageLoadClient::dispatchLoadFailed):

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

8 years ago[chromium] compositing/shadows tests fail with accelerated painting
alokp@chromium.org [Tue, 20 Dec 2011 08:39:07 +0000 (08:39 +0000)]
[chromium] compositing/shadows tests fail with accelerated painting
https://bugs.webkit.org/show_bug.cgi?id=74871

Reviewed by James Robinson.

Switched over to new API for creating accelerated canvas GrContext::createPlatformTexture.
It correctly binds the stencil buffer to the FBO.

Test: compositing/shadows/shadow-drawing.html (existing)

* platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
(WebCore::createAcceleratedCanvas):
(WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
* platform/graphics/chromium/ManagedTexture.cpp:
(WebCore::ManagedTexture::allocate):
(WebCore::ManagedTexture::bindTexture):
(WebCore::ManagedTexture::framebufferTexture2D):
* platform/graphics/chromium/ManagedTexture.h:

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

8 years agoUnreviewed, rolling out r103291.
loislo@chromium.org [Tue, 20 Dec 2011 08:00:53 +0000 (08:00 +0000)]
Unreviewed, rolling out r103291.
http://trac.webkit.org/changeset/103291
https://bugs.webkit.org/show_bug.cgi?id=74915

Looks like it broke fast/events/touch and
fast/events/touch/gesture/gesture-scroll.html
http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Mac10.5/builds/7010
(Requested by loislo on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-12-20

* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* platform/chromium/ScrollAnimatorChromiumMac.h: Copied from Source/WebCore/platform/mac/ScrollAnimatorMac.h.
(WebCore::ScrollAnimatorChromiumMac::setIsDrawingIntoLayer):
(WebCore::ScrollAnimatorChromiumMac::isDrawingIntoLayer):
(WebCore::ScrollAnimatorChromiumMac::haveScrolledSincePageLoad):
(WebCore::ScrollAnimatorChromiumMac::setNeedsScrollerStyleUpdate):
(WebCore::ScrollAnimatorChromiumMac::needsScrollerStyleUpdate):
* platform/chromium/ScrollAnimatorChromiumMac.mm: Added.
(-[NSProcessInfo systemUptime]):
(abs):
(-[ScrollAnimationHelperDelegate initWithScrollAnimator:WebCore::]):
(-[ScrollAnimationHelperDelegate scrollAnimatorDestroyed]):
(-[ScrollAnimationHelperDelegate bounds]):
(-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
(-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]):
(-[ScrollAnimationHelperDelegate convertSizeToBase:]):
(-[ScrollAnimationHelperDelegate convertSizeFromBase:]):
(-[ScrollAnimationHelperDelegate convertSizeToBacking:]):
(-[ScrollAnimationHelperDelegate convertSizeFromBacking:]):
(-[ScrollAnimationHelperDelegate superview]):
(-[ScrollAnimationHelperDelegate documentView]):
(-[ScrollAnimationHelperDelegate window]):
(-[ScrollAnimationHelperDelegate _recursiveRecomputeToolTips]):
(-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
(-[ScrollbarPainterControllerDelegate scrollAnimatorDestroyed]):
(-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
(-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
(-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
(-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
(-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
(-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
(-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
(-[ScrollbarPartAnimation setCurrentProgress:]):
(-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
(-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
(-[ScrollbarPainterDelegate cancelAnimations]):
(-[ScrollbarPainterDelegate convertRectToBacking:]):
(-[ScrollbarPainterDelegate convertRectFromBacking:]):
(-[ScrollbarPainterDelegate layer]):
(-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
(-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
(-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
(-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
(-[ScrollbarPainterDelegate scrollAnimatorDestroyed]):
(WebCore::ScrollAnimator::create):
(WebCore::chromiumScrollbarTheme):
(WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
(WebCore::ScrollAnimatorChromiumMac::~ScrollAnimatorChromiumMac):
(WebCore::ScrollAnimatorChromiumMac::scroll):
(WebCore::ScrollAnimatorChromiumMac::scrollToOffsetWithoutAnimation):
(WebCore::ScrollAnimatorChromiumMac::adjustScrollXPositionIfNecessary):
(WebCore::ScrollAnimatorChromiumMac::adjustScrollYPositionIfNecessary):
(WebCore::ScrollAnimatorChromiumMac::adjustScrollPositionIfNecessary):
(WebCore::ScrollAnimatorChromiumMac::immediateScrollToPoint):
(WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaX):
(WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaY):
(WebCore::ScrollAnimatorChromiumMac::immediateScrollToPointForScrollAnimation):
(WebCore::ScrollAnimatorChromiumMac::notifyPositionChanged):
(WebCore::ScrollAnimatorChromiumMac::contentAreaWillPaint):
(WebCore::ScrollAnimatorChromiumMac::mouseEnteredContentArea):
(WebCore::ScrollAnimatorChromiumMac::mouseExitedContentArea):
(WebCore::ScrollAnimatorChromiumMac::mouseMovedInContentArea):
(WebCore::ScrollAnimatorChromiumMac::willStartLiveResize):
(WebCore::ScrollAnimatorChromiumMac::contentsResized):
(WebCore::ScrollAnimatorChromiumMac::willEndLiveResize):
(WebCore::ScrollAnimatorChromiumMac::contentAreaDidShow):
(WebCore::ScrollAnimatorChromiumMac::contentAreaDidHide):
(WebCore::ScrollAnimatorChromiumMac::didBeginScrollGesture):
(WebCore::ScrollAnimatorChromiumMac::didEndScrollGesture):
(WebCore::ScrollAnimatorChromiumMac::didAddVerticalScrollbar):
(WebCore::ScrollAnimatorChromiumMac::willRemoveVerticalScrollbar):
(WebCore::ScrollAnimatorChromiumMac::didAddHorizontalScrollbar):
(WebCore::ScrollAnimatorChromiumMac::willRemoveHorizontalScrollbar):
(WebCore::ScrollAnimatorChromiumMac::cancelAnimations):
(WebCore::elasticDeltaForTimeDelta):
(WebCore::elasticDeltaForReboundDelta):
(WebCore::reboundDeltaForElasticDelta):
(WebCore::scrollWheelMultiplier):
(WebCore::isScrollingLeftAndShouldNotRubberBand):
(WebCore::isScrollingRightAndShouldNotRubberBand):
(WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
(WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
(WebCore::ScrollAnimatorChromiumMac::pinnedInDirection):
(WebCore::ScrollAnimatorChromiumMac::allowsVerticalStretching):
(WebCore::ScrollAnimatorChromiumMac::allowsHorizontalStretching):
(WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
(WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
(WebCore::ScrollAnimatorChromiumMac::endScrollGesture):
(WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
(WebCore::roundTowardZero):
(WebCore::roundToDevicePixelTowardZero):
(WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
(WebCore::ScrollAnimatorChromiumMac::setIsActive):
(WebCore::ScrollAnimatorChromiumMac::updateScrollerStyle):
(WebCore::ScrollAnimatorChromiumMac::startScrollbarPaintTimer):
(WebCore::ScrollAnimatorChromiumMac::scrollbarPaintTimerIsActive):
(WebCore::ScrollAnimatorChromiumMac::stopScrollbarPaintTimer):
(WebCore::ScrollAnimatorChromiumMac::initialScrollbarPaintTimerFired):
(WebCore::ScrollAnimatorChromiumMac::setVisibleScrollerThumbRect):
* platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h: Added.
* platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm: Added.
(lookUpNSScrollerImpClass):
(lookUpNSScrollerImpPairClass):
(scrollbarControlSizeToNSControlSize):
(preferredScrollerStyle):
(wkScrollbarPainterUsesOverlayScrollers):
(wkScrollbarPainterIsHorizontal):
(wkScrollbarPainterKnobAlpha):
(wkScrollbarPainterSetOverlayState):
(wkScrollbarPainterPaint):
(wkScrollbarPainterPaintTrack):
(wkScrollbarPainterPaintKnob):
(wkScrollbarMinimumThumbLength):
(wkScrollbarPainterSetDelegate):
(wkScrollbarPainterSetEnabled):
(wkScrollbarPainterTrackAlpha):
(wkMakeScrollbarPainter):
(wkScrollbarThickness):
(wkScrollbarMinimumTotalLengthNeededForThumb):
(wkVerticalScrollbarPainterForController):
(wkHorizontalScrollbarPainterForController):
(wkScrollbarPainterControllerStyle):
(wkMakeScrollbarReplacementPainter):
(wkSetPainterForPainterController):
(wkSetScrollbarPainterControllerStyle):
(wkScrollbarPainterKnobRect):
(wkSetScrollbarPainterKnobAlpha):
(wkSetScrollbarPainterTrackAlpha):
(wkSetScrollbarPainterKnobStyle):
(wkMakeScrollbarPainterController):
(wkContentAreaScrolled):
(wkContentAreaWillPaint):
(wkMouseEnteredContentArea):
(wkMouseExitedContentArea):
(wkMouseMovedInContentArea):
(wkWillStartLiveResize):
(wkContentAreaResized):
(wkWillEndLiveResize):
(wkContentAreaDidShow):
(wkContentAreaDidHide):
(wkDidBeginScrollGesture):
(wkDidEndScrollGesture):
(wkScrollbarPainterForceFlashScrollers):
(isScrollbarOverlayAPIAvailable):
* platform/chromium/ScrollbarThemeChromiumMac.h:
(WebCore::ScrollbarThemeChromiumMac::supportsControlTints):
(WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
* platform/chromium/ScrollbarThemeChromiumMac.mm:
(WebCore::scrollbarMap):
(+[ScrollbarPrefsObserver appearancePrefsChanged:]):
(+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
(+[ScrollbarPrefsObserver registerAsObserver]):
(WebCore::updateArrowPlacement):
(WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
(WebCore::ScrollbarThemeChromiumMac::unregisterScrollbar):
(WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
(WebCore::ScrollbarThemeChromiumMac::painterForScrollbar):
(WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
(WebCore::ScrollbarThemeChromiumMac::preferencesChanged):
(WebCore::ScrollbarThemeChromiumMac::scrollbarThickness):
(WebCore::ScrollbarThemeChromiumMac::usesOverlayScrollbars):
(WebCore::toScrollbarPainterKnobStyle):
(WebCore::ScrollbarThemeChromiumMac::updateScrollbarOverlayStyle):
(WebCore::ScrollbarThemeChromiumMac::initialAutoscrollTimerDelay):
(WebCore::ScrollbarThemeChromiumMac::autoscrollTimerDelay):
(WebCore::ScrollbarThemeChromiumMac::buttonsPlacement):
(WebCore::ScrollbarThemeChromiumMac::hasButtons):
(WebCore::ScrollbarThemeChromiumMac::hasThumb):
(WebCore::buttonRepaintRect):
(WebCore::ScrollbarThemeChromiumMac::backButtonRect):
(WebCore::ScrollbarThemeChromiumMac::forwardButtonRect):
(WebCore::ScrollbarThemeChromiumMac::trackRect):
(WebCore::ScrollbarThemeChromiumMac::minimumThumbLength):
(WebCore::ScrollbarThemeChromiumMac::shouldCenterOnThumb):
(WebCore::ScrollbarThemeChromiumMac::shouldDragDocumentInsteadOfThumb):
(WebCore::scrollbarPartToHIPressedState):
(WebCore::ScrollbarThemeChromiumMac::updateEnabledState):
(WebCore::ScrollbarThemeChromiumMac::paint):
* platform/mac/EmptyProtocolDefinitions.h:
* platform/mac/NSScrollerImpDetails.h:
* platform/mac/NSScrollerImpDetails.mm: Removed.
* platform/mac/ScrollAnimatorMac.h:
* platform/mac/ScrollAnimatorMac.mm:
(-[WebScrollbarPainterDelegate layer]):
(WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
(WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
(WebCore::ScrollAnimatorMac::notifyPositionChanged):
(WebCore::ScrollAnimatorMac::contentAreaWillPaint):
(WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
(WebCore::ScrollAnimatorMac::mouseExitedContentArea):
(WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
(WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
(WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
(WebCore::ScrollAnimatorMac::willStartLiveResize):
(WebCore::ScrollAnimatorMac::contentsResized):
(WebCore::ScrollAnimatorMac::willEndLiveResize):
(WebCore::ScrollAnimatorMac::contentAreaDidShow):
(WebCore::ScrollAnimatorMac::contentAreaDidHide):
(WebCore::ScrollAnimatorMac::didBeginScrollGesture):
(WebCore::ScrollAnimatorMac::didEndScrollGesture):
(WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
(WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
(WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
(WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
(WebCore::ScrollAnimatorMac::cancelAnimations):
(WebCore::ScrollAnimatorMac::setIsActive):
(WebCore::ScrollAnimatorMac::updateScrollerStyle):
(WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
* platform/mac/ScrollElasticityController.h:
* platform/mac/ScrollbarThemeMac.h:
* platform/mac/ScrollbarThemeMac.mm:
(+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
(+[WebScrollbarPrefsObserver behaviorPrefsChanged:]):
(WebCore::ScrollbarTheme::nativeTheme):
(WebCore::updateArrowPlacement):
(WebCore::ScrollbarThemeMac::registerScrollbar):
(WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
(WebCore::ScrollbarThemeMac::scrollbarThickness):
(WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
(WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
(WebCore::ScrollbarThemeMac::hasButtons):
(WebCore::ScrollbarThemeMac::hasThumb):
(WebCore::ScrollbarThemeMac::minimumThumbLength):
(WebCore::scrollbarPartToHIPressedState):
(WebCore::ScrollbarThemeMac::updateEnabledState):
(WebCore::ScrollbarThemeMac::paint):

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

8 years agoMake all calls to NamedNodeMap::setAttributes go through Element
adamk@chromium.org [Tue, 20 Dec 2011 07:49:14 +0000 (07:49 +0000)]
Make all calls to NamedNodeMap::setAttributes go through Element
https://bugs.webkit.org/show_bug.cgi?id=74895

Reviewed by Ryosuke Niwa.

There are two reasons for this change. One is an optimization: some
callers were previously always creating a NamedNodeMap even if the
source didn't have any attributes.

The other reason is forward-looking: setAttributes' behavior is subtly
wrong in the presence of MutationObservers. This doesn't matter
for most callers since the element on which setAttributesFromElement
is called is newly-created. In the editing case, however, it could
make a difference in behavior, which I hope to fix in a future change
without sacrificing the performance of cloneNode() on an Element
(which is what NamedNodeMap::setAttributes is designed for).

No new tests, no change in behavior.

* dom/Element.cpp:
(WebCore::Element::cloneElementWithoutChildren): Call setAttributesFromElement.
* dom/Element.h:
(WebCore::Element::setAttributesFromElement): Create new inline helper method
which conditionally forwards to NamedNodeMap::setAttribute.
* dom/NamedNodeMap.h: Make setAttributes private (Element is already a friend).
* editing/ReplaceNodeWithSpanCommand.cpp:
(WebCore::swapInNodePreservingAttributesAndChildren): Call setAttributesFromElement.
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::setNodeName): Call setAttributesFromElement.
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Call setAttributesFromElement.
(WebCore::SVGUseElement::transferUseAttributesToReplacedElement): Call setAttributesFromElement
and make use of ASSERT_NO_EXCEPTION to make code easier to read.

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

8 years agoTemporary GPR should not be lazily allocated in DFG JIT on X86
yuqiang.xian@intel.com [Tue, 20 Dec 2011 07:31:00 +0000 (07:31 +0000)]
Temporary GPR should not be lazily allocated in DFG JIT on X86
https://bugs.webkit.org/show_bug.cgi?id=74908

Reviewed by Filip Pizlo.

On X86, we used to allocate a temporary GPR lazily when it's really
used rather than defined. This may cause potential issues of
allocating registers inside control flow and result in problems in
subsequent code generation, for example the DFG JIT may think an
operand already being spilled (to satisfy the allocation request) and
generate code to read the data from memory, but the allocation and
spilling are in a branch which is not taken at runtime, so the
generated code is incorrect.

Although current DFG JIT code doesn't have this problematic pattern,
it's better to cut-off the root to avoid any potential issues in the
future.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::GPRTemporary::GPRTemporary):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::GPRTemporary::gpr):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

8 years ago[BlackBerry] Upstream the BlackBerry change to ResourceRequestBase.cpp
leo.yang@torchmobile.com.cn [Tue, 20 Dec 2011 06:22:39 +0000 (06:22 +0000)]
[BlackBerry] Upstream the BlackBerry change to ResourceRequestBase.cpp
https://bugs.webkit.org/show_bug.cgi?id=74910

Reviewed by Daniel Bates.

No functionality change to the existing code, no new tests.

* platform/network/ResourceRequestBase.cpp: The BlackBerry porting has its own
initializeMaximumHTTPConnectionCountPerHost(). Exclude the default implementation.

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

8 years ago[BlackBerry] Upstream the BlackBerry change to NetworkStateNotifier.h
leo.yang@torchmobile.com.cn [Tue, 20 Dec 2011 05:43:21 +0000 (05:43 +0000)]
[BlackBerry] Upstream the BlackBerry change to NetworkStateNotifier.h
https://bugs.webkit.org/show_bug.cgi?id=74904

Reviewed by Daniel Bates.

No functionality change to existing code, no new tests.

* platform/network/NetworkStateNotifier.h:

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

8 years agoUpdate dropzone implementation per spec update
yael.aharon@nokia.com [Tue, 20 Dec 2011 05:26:56 +0000 (05:26 +0000)]
Update dropzone implementation per spec update
https://bugs.webkit.org/show_bug.cgi?id=74834

Reviewed by Tony Chang.

Source/WebCore:

Update support for dropzone attribute to use file: and string: instead of f: and s:.
http://www.whatwg.org/specs/web-apps/current-work/#the-dropzone-attribute

No new tests. Existing tests cover this and were updated.

* dom/Clipboard.cpp:
(WebCore::Clipboard::hasDropZoneType):

LayoutTests:

Update the tests per spec change.

* fast/events/dropzone-001.html:
* fast/events/dropzone-002.html:
* fast/events/dropzone-003.html:
* fast/events/dropzone-004.html:

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

8 years agoAdd support for scrollLineDown: and scrollLineUp: NSResponder selectors
weinig@apple.com [Tue, 20 Dec 2011 05:10:02 +0000 (05:10 +0000)]
Add support for scrollLineDown: and scrollLineUp: NSResponder selectors
https://bugs.webkit.org/show_bug.cgi?id=74907

Reviewed by Dan Bernstein.

Source/WebCore:

Added API test: WebKit2.ScrollByLineCommands

* editing/EditorCommand.cpp:
(WebCore::executeScrollLineUp):
(WebCore::executeScrollLineDown):
(WebCore::createCommandMap):
Add implementations for scrollLineUp/Down. Do not expose
these to execCommand.

Source/WebKit2:

* UIProcess/API/mac/WKView.mm:
Add implementations for scrollLineDown: and scrollLineUp: using our
fun macros.

Tools:

Add ScrollByLineCommands API test.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/mac/EditorCommands.mm: Added.
* TestWebKitAPI/Tests/WebKit2/simple-tall.html: Added.

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

8 years ago[QT] WebGL can not make the frame buffer with the stencil buffer.
commit-queue@webkit.org [Tue, 20 Dec 2011 05:01:09 +0000 (05:01 +0000)]
[QT] WebGL can not make the frame buffer with the stencil buffer.
https://bugs.webkit.org/show_bug.cgi?id=74783

When initializing a framebuffer in OpenGL ES 2, we need to initialize the depth
and stencil buffers separately, as opposed to the combined depth-stencil buffer
we initialize for desktop GL.

This makes fast/canvas/webgl/context-attributes-depth-stencil-combination.html
work in OpenGL ES 2.

Patch by Huang Dongsung <luxtella@company100.net> on 2011-12-19
Reviewed by Noam Rosenthal.

* platform/graphics/GraphicsContext3D.h:
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore::GraphicsContext3D::reshape):

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

8 years agoCompile fix for chromium on windows due to collision of testing::NotNull from gtest...
jamesr@google.com [Tue, 20 Dec 2011 04:34:36 +0000 (04:34 +0000)]
Compile fix for chromium on windows due to collision of testing::NotNull from gtest and NotNull from Vector.h

* tests/WebLayerTest.cpp:

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

8 years agoRemove unused code for non-speculative Arith operations from DFG JIT
yuqiang.xian@intel.com [Tue, 20 Dec 2011 04:33:36 +0000 (04:33 +0000)]
Remove unused code for non-speculative Arith operations from DFG JIT
https://bugs.webkit.org/show_bug.cgi?id=74905

Reviewed by Filip Pizlo.

* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
* dfg/DFGSpeculativeJIT64.cpp:

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

8 years agoSource/WebCore: Teach VideoLayerChromium how to render native texture (to support...
commit-queue@webkit.org [Tue, 20 Dec 2011 04:27:53 +0000 (04:27 +0000)]
Source/WebCore: Teach VideoLayerChromium how to render native texture (to support HW video decode).
https://bugs.webkit.org/show_bug.cgi?id=73043

Patch by Ami Fischman <fischman@chromium.org> on 2011-12-19
Reviewed by James Robinson.

Fix the life-cycle of video frames handled by VideoLayerChromium/CCVideoLayerImpl.
VideoFrameProvider::{get,put}CurrentFrame provide lease semantics.  Previously
VideoLayerChromium would acquire the lease for the duration of copying the frame,
even if that was only a texture ID, and immediately return the lease, while
CCVideoLayerImpl::draw() would come along later and use the (no-longer locked)
texture optimistically.  This change makes it so that CCVideoLayerImpl holds
the frame's lease for the duration of draw(), guaranteeing the frame is valid to read.

Existing test coverage (compositing/video/, LayoutTests).  HW render of
HW-decoded textures is not yet tested explicitly.

* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::VideoLayerChromium):
(WebCore::VideoLayerChromium::~VideoLayerChromium):
(WebCore::VideoLayerChromium::createCCLayerImpl):
(WebCore::VideoLayerChromium::releaseProvider):
* platform/graphics/chromium/VideoLayerChromium.h:
* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
(WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
(WebCore::CCVideoLayerImpl::setProvider):
(WebCore::convertVFCFormatToGC3DFormat):
(WebCore::CCVideoLayerImpl::draw):
(WebCore::CCVideoLayerImpl::copyFrameToTextures):
(WebCore::CCVideoLayerImpl::copyPlaneToTexture):
(WebCore::computeVisibleSize):
(WebCore::CCVideoLayerImpl::reserveTextures):
(WebCore::CCVideoLayerImpl::drawYUV):
(WebCore::CCVideoLayerImpl::drawCommon):
(WebCore::CCVideoLayerImpl::drawRGBA):
(WebCore::CCVideoLayerImpl::drawNativeTexture):
* platform/graphics/chromium/cc/CCVideoLayerImpl.h:

Source/WebKit/chromium: Teach VideoLayerChromium how to render native texture (to support HW video decode).
https://bugs.webkit.org/show_bug.cgi?id=73043

Patch by Ami Fischman <fischman@chromium.org> on 2011-12-19
Reviewed by James Robinson.

Fix the life-cycle of video frames handled by VideoLayerChromium/CCVideoLayerImpl.
VideoFrameProvider::{get,put}CurrentFrame provide lease semantics.  Previously
VideoLayerChromium would acquire the lease for the duration of copying the frame,
even if that was only a texture ID, and immediately return the lease, while
CCVideoLayerImpl::draw() would come along later and use the (no-longer locked)
texture optimistically.  This change makes it so that CCVideoLayerImpl holds
the frame's lease for the duration of draw(), guaranteeing the frame is valid to read.

* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::getCurrentFrame):

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

8 years agoMore PlatformEvent cleanup
weinig@apple.com [Tue, 20 Dec 2011 04:08:24 +0000 (04:08 +0000)]
More PlatformEvent cleanup
https://bugs.webkit.org/show_bug.cgi?id=74831

Reviewed by Dan Bernstein.

../WebCore:

* platform/PlatformMouseEvent.h:
(WebCore::PlatformMouseEvent::position):
Rename pos -> position(). Remove x() and y() accessors.

(WebCore::PlatformMouseEvent::globalPosition):
Added. Replaces globalX() and globalY() accessors.

(WebCore::PlatformMouseEvent::movementDelta):
Added. Replaces movementX() and movementY() accessors.

* platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::position):
Renamed pos -> position().

(WebCore::PlatformWheelEvent::globalPosition):
Renamed globalPos -> globalPosition().

* dom/MouseEvent.cpp:
(WebCore::MouseEvent::create):
* dom/WheelEvent.cpp:
(WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):
* page/DragController.cpp:
(WebCore::DragController::startDrag):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEventSingleClick):
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::eventMayStartDrag):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::selectCursor):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::dispatchDragEvent):
(WebCore::EventHandler::prepareMouseEvent):
(WebCore::EventHandler::dispatchMouseEvent):
(WebCore::EventHandler::handleWheelEvent):
(WebCore::EventHandler::sendContextMenuEvent):
(WebCore::EventHandler::handleDrag):
(WebCore::EventHandler::handleTouchEvent):
* page/chromium/EventHandlerChromium.cpp:
(WebCore::EventHandler::passMousePressEventToSubframe):
* platform/Scrollbar.cpp:
(WebCore::Scrollbar::mouseMoved):
(WebCore::Scrollbar::mouseDown):
* platform/ScrollbarThemeComposite.cpp:
(WebCore::ScrollbarThemeComposite::hitTest):
* platform/chromium/PopupContainer.cpp:
(WebCore::constructRelativeMouseEvent):
(WebCore::constructRelativeWheelEvent):
* platform/chromium/PopupListBox.cpp:
(WebCore::PopupListBox::handleMouseDownEvent):
(WebCore::PopupListBox::handleMouseMoveEvent):
(WebCore::PopupListBox::handleMouseReleaseEvent):
(WebCore::PopupListBox::handleWheelEvent):
* platform/chromium/ScrollbarThemeChromiumWin.cpp:
(WebCore::ScrollbarThemeChromiumWin::shouldSnapBackToDragOrigin):
* platform/qt/ScrollbarQt.cpp:
(WebCore::Scrollbar::contextMenu):
* platform/qt/ScrollbarThemeQt.cpp:
(WebCore::ScrollbarThemeQt::hitTest):
* platform/win/ScrollbarThemeWin.cpp:
(WebCore::ScrollbarThemeWin::shouldSnapBackToDragOrigin):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::resize):
Update to use new names, access style.

../WebKit/chromium:

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::mouseContextMenu):
Update to use new names, access style.

../WebKit/gtk:

* webkit/webkitwebview.cpp:
(webkit_web_view_forward_context_menu_event):
(webkit_web_view_get_hit_test_result):
Update to use new names, access style.

../WebKit/qt:

* Api/qwebpage.cpp:
(QWebPage::swallowContextMenuEvent):
Update to use new names, access style.

../WebKit/win:

* WebView.cpp:
(WebView::handleMouseEvent):
Update to use new names, access style.

../WebKit/wince:

* WebView.cpp:
(WebView::handleMouseEvent):
Update to use new names, access style.

../WebKit2:

* WebProcess/WebPage/WebPage.cpp:
(WebKit::handleContextMenuEvent):
Update to use new names, access style.

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

8 years agoRemove unused ExceptionCode& argument from Element::setAttribute(QualifiedName)
adamk@chromium.org [Tue, 20 Dec 2011 03:42:22 +0000 (03:42 +0000)]
Remove unused ExceptionCode& argument from Element::setAttribute(QualifiedName)
https://bugs.webkit.org/show_bug.cgi?id=74740

Reviewed by Ryosuke Niwa.

Updated lots of callers to remove third argument. The list of changes
below only lists things other than updating callers.

* dom/Document.cpp:
(WebCore::Document::importNode):
* dom/Element.cpp:
(WebCore::Element::setAttribute):
(WebCore::Element::setAttributeNS):
(WebCore::Element::setIntegralAttribute):
(WebCore::Element::setUnsignedIntegralAttribute):
* dom/Element.h: Removed third arg from method, removed old two-arg
overload which now has an identical signature.
* editing/mac/EditorMac.mm: Updated caller and used
ASSERT_NO_EXCEPTION for nearby code.
(WebCore::styleForSelectionStart):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::setContentEditable):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::setAttributesAsText):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
* svg/SVGElement.idl: Removed 'setter raises(DOMException)'
* svg/SVGGlyphRefElement.idl: ditto.
* svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::setType):
(WebCore::SVGStyleElement::setMedia):
(WebCore::SVGStyleElement::setTitle):
* xml/parser/XMLTreeBuilder.cpp:
(WebCore::XMLTreeBuilder::processAttributes):

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

8 years agoUnreviewed. Rebaselined run-bindings-tests results.
haraken@chromium.org [Tue, 20 Dec 2011 03:36:51 +0000 (03:36 +0000)]
Unreviewed. Rebaselined run-bindings-tests results.

* bindings/scripts/test/JS/JSFloat64Array.h:
(WebCore::JSFloat64Array::create):
(WebCore::JSFloat64ArrayPrototype::create):
(WebCore::JSFloat64ArrayConstructor::create):
* bindings/scripts/test/JS/JSTestEventConstructor.h:
(WebCore::JSTestEventConstructor::create):
(WebCore::JSTestEventConstructorPrototype::create):
(WebCore::JSTestEventConstructorConstructor::create):
* bindings/scripts/test/JS/JSTestInterface.h:
(WebCore::JSTestInterface::create):
(WebCore::JSTestInterfacePrototype::create):
(WebCore::JSTestInterfaceConstructor::create):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
(WebCore::JSTestMediaQueryListListener::create):
(WebCore::JSTestMediaQueryListListenerPrototype::create):
(WebCore::JSTestMediaQueryListListenerConstructor::create):
* bindings/scripts/test/JS/JSTestNamedConstructor.h:
(WebCore::JSTestNamedConstructor::create):
(WebCore::JSTestNamedConstructorPrototype::create):
(WebCore::JSTestNamedConstructorConstructor::create):
(WebCore::JSTestNamedConstructorNamedConstructor::create):
* bindings/scripts/test/JS/JSTestObj.h:
(WebCore::JSTestObj::create):
(WebCore::JSTestObjPrototype::create):
(WebCore::JSTestObjConstructor::create):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
(WebCore::JSTestSerializedScriptValueInterface::create):
(WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=74903
barraclough@apple.com [Tue, 20 Dec 2011 03:16:21 +0000 (03:16 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=74903
Exceptions not thrown correctly from DFG JIT on 32bit

Reviewed by Oliver Hunt.

Arguments for lookupExceptionHandler are not setup correctly.
In the case of ARMv7 we rely on lr being preserved over a call,
this in invalid. On x86 we don't should be poking the arguments onto the stack!

Source/JavaScriptCore:

* bytecode/CodeBlock.h:
(JSC::CodeBlock::bytecodeOffsetForCallAtIndex):
* dfg/DFGAssemblyHelpers.h:
(JSC::DFG::AssemblyHelpers::restoreReturnAddressBeforeReturn):
* dfg/DFGGPRInfo.h:
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileBody):
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::addExceptionCheck):
(JSC::DFG::JITCompiler::addFastExceptionCheck):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:

LayoutTests:

* fast/js/dfg-exception-expected.txt: Added.
* fast/js/dfg-exception.html: Added.
* fast/js/script-tests/dfg-exception.js: Added.
(doesntDFGCompile):
(test):

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

8 years ago[chromium] CCLayerDelegate and WebLayerClient do not need notifySyncRequired
jamesr@google.com [Tue, 20 Dec 2011 02:54:49 +0000 (02:54 +0000)]
[chromium] CCLayerDelegate and WebLayerClient do not need notifySyncRequired
https://bugs.webkit.org/show_bug.cgi?id=74376

Reviewed by Kenneth Russell.

Source/WebCore:

CCLayerDelegate::notifySyncRequired is an odd bit of interface that we originally cargo-culted from the
CoreAnimation compositor implementation. It is a mechanism by which a LayerChromium instance may request a new
frame via its CCLayerDelegate, which in WebCore is always a GraphicsLayerClient. In practice, all
implementations eventually ended up routing to CCLayerTreeHost::setNeedsCommit which then made the proper
scheduling decision.

This patch routes all changes that would have gone through CCLayerDelegate::notifySyncRequired directly to
CCLayerTreeHost::setNeedsCommit, which greatly simplifies the scheduling logic.

There is a large amount of unit test coverage for this change, largely in LayerChromiumTest

* platform/graphics/chromium/GraphicsLayerChromium.cpp:
* platform/graphics/chromium/GraphicsLayerChromium.h:
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::setNeedsCommit):
(WebCore::LayerChromium::insertChild):
* platform/graphics/chromium/LayerChromium.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::~CCLayerTreeHost):
(WebCore::CCLayerTreeHost::setRootLayer):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCScopedThreadProxy.h:
(WebCore::CCScopedThreadProxy::runTaskIfNotShutdown):

Source/WebKit/chromium:

WebLayerClient::notifyNeedsComposite() is an odd interface for the same reason that
CCLayerDelegate::notifySyncRequired() is - all scheduling decisions should route through the WebLayerTreeView,
not individual layers. In practice, all implementations of WebLayerClient::notifySyncRequired() do the exact
same thing as WebLayerTreeView::scheduleComposite(). This removes that callback, making WebLayerClient an empty
interface, and routes all calls that would go to that interface to WebLayerTreeView::scheduleComposite().

Once downstream implementations of WebLayerClient are removed, WebLayerClient.h and the constructors associated
with it can be deleted.

The bulk of the changes here are to the test harness. Many tests that were designed around notifySyncRequired()
are rewritten to check for CCLayerTreeHost::setNeedsCommit() or WebLayerTreeView::scheduleComposite() instead.
In a few instances, this required changing the setup logic around somewhat so that the layers being manipulated
were in a tree that initialized without errors.

* WebKit.gypi:
* public/platform/WebContentLayer.h:
* public/platform/WebExternalTextureLayer.h:
* public/platform/WebLayer.h:
* public/platform/WebLayerClient.h:
* src/WebContentLayer.cpp:
(WebKit::WebContentLayer::create):
* src/WebContentLayerImpl.cpp:
(WebKit::WebContentLayerImpl::create):
(WebKit::WebContentLayerImpl::WebContentLayerImpl):
* src/WebContentLayerImpl.h:
* src/WebExternalTextureLayer.cpp:
(WebKit::WebExternalTextureLayer::create):
* src/WebExternalTextureLayerImpl.cpp:
(WebKit::WebExternalTextureLayerImpl::create):
(WebKit::WebExternalTextureLayerImpl::WebExternalTextureLayerImpl):
* src/WebExternalTextureLayerImpl.h:
* src/WebLayer.cpp:
(WebKit::WebLayer::create):
* src/WebLayerImpl.cpp:
(WebKit::WebLayerImpl::create):
(WebKit::WebLayerImpl::WebLayerImpl):
* src/WebLayerImpl.h:
* src/WebLayerTreeViewImpl.cpp:
(WebKit::WebLayerTreeViewImpl::create):
(WebKit::WebLayerTreeViewImpl::WebLayerTreeViewImpl):
* src/WebLayerTreeViewImpl.h:
* tests/CCLayerTreeHostTest.cpp:
(WTF::MockLayerTreeHost::create):
(WTF::MockLayerTreeHost::MockLayerTreeHost):
(WTF::MockLayerTreeHostClient::createLayerTreeHostContext3D):
(WTF::CCLayerTreeHostTestScrollSimple::animateAndLayout):
* tests/CompositorMockGraphicsContext3D.h: Added.
(WebCore::createCompositorMockGraphicsContext3D):
* tests/CompositorMockWebGraphicsContext3D.h: Added.
(WebKit::CompositorMockWebGraphicsContext3D::create):
(WebKit::CompositorMockWebGraphicsContext3D::makeContextCurrent):
(WebKit::CompositorMockWebGraphicsContext3D::createProgram):
(WebKit::CompositorMockWebGraphicsContext3D::createShader):
(WebKit::CompositorMockWebGraphicsContext3D::getShaderiv):
(WebKit::CompositorMockWebGraphicsContext3D::getProgramiv):
(WebKit::CompositorMockWebGraphicsContext3D::CompositorMockWebGraphicsContext3D):
* tests/LayerChromiumTest.cpp:
* tests/MockWebGraphicsContext3D.h:
(WebKit::MockWebGraphicsContext3D::getContextAttributes):
* tests/WebGLLayerChromiumTest.cpp:
(WebKit::TEST):
* tests/WebLayerTest.cpp:
(testing::MockWebLayerTreeViewClient::animateAndLayout):
(testing::MockWebLayerTreeViewClient::applyScrollAndScale):
(testing::MockWebLayerTreeViewClient::createContext3D):
(testing::MockWebLayerTreeViewClient::didRebindGraphicsContext):
(testing::WebLayerTest::SetUp):
(testing::WebLayerTest::TearDown):
(testing::TEST_F):

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

8 years agoIf we detect that we can use the JIT, don't use computed opcode lookups
fpizlo@apple.com [Tue, 20 Dec 2011 02:42:06 +0000 (02:42 +0000)]
If we detect that we can use the JIT, don't use computed opcode lookups
https://bugs.webkit.org/show_bug.cgi?id=74899
<rdar://problem/10604551>

Reviewed by Gavin Barraclough.

* interpreter/Interpreter.cpp:
(JSC::Interpreter::Interpreter):
(JSC::Interpreter::initialize):
(JSC::Interpreter::privateExecute):
* interpreter/Interpreter.h:
(JSC::Interpreter::getOpcode):
(JSC::Interpreter::getOpcodeID):
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):

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

8 years agoMerge ScrollAnimatorChromiumMac.mm back to ScrollAnimatorMac
commit-queue@webkit.org [Tue, 20 Dec 2011 02:01:16 +0000 (02:01 +0000)]
Merge ScrollAnimatorChromiumMac.mm back to ScrollAnimatorMac
https://bugs.webkit.org/show_bug.cgi?id=61144

Patch by Sailesh Agrawal <sail@chromium.org> on 2011-12-19
Reviewed by Beth Dakin.

At a high level the main changes are:
    - replace #ifdefs in ScrollAnimatorMac and ScrollbarThemeMac with run time checks
    - delete duplicate code in ScrollbarThemeChromiumMac. Keep the paint code since it does tickmarks and SKIA stuff.
    - delete ScrollAnimatorChromiumMac since ScrollAnimatorMac does the exact same thing
    - delete ScrollbarOverlayUtilitiesChromiumMac since NSScrollerImpDetails does the same thing

No new tests. Just refactoring.

* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* platform/chromium/ScrollAnimatorChromiumMac.h: Removed.
* platform/chromium/ScrollAnimatorChromiumMac.mm: Removed.
* platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h: Removed.
* platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm: Removed.
* platform/chromium/ScrollbarThemeChromiumMac.h:
* platform/chromium/ScrollbarThemeChromiumMac.mm:
(WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
(WebCore::scrollbarPainterPaintTrack):
(WebCore::ScrollbarThemeChromiumMac::paint):
* platform/mac/EmptyProtocolDefinitions.h:
* platform/mac/NSScrollerImpDetails.h:
(WebCore::isScrollbarOverlayAPIAvailable):
* platform/mac/NSScrollerImpDetails.mm: Added.
(WebCore::isScrollbarOverlayAPIAvailable):
(WebCore::recommendedScrollerStyle):
* platform/mac/ScrollAnimatorMac.h:
* platform/mac/ScrollAnimatorMac.mm:
(scrollbarPainterForScrollbar):
(WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
(WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
(WebCore::ScrollAnimatorMac::notifyPositionChanged):
(WebCore::ScrollAnimatorMac::contentAreaWillPaint):
(WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
(WebCore::ScrollAnimatorMac::mouseExitedContentArea):
(WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
(WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
(WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
(WebCore::ScrollAnimatorMac::willStartLiveResize):
(WebCore::ScrollAnimatorMac::contentsResized):
(WebCore::ScrollAnimatorMac::willEndLiveResize):
(WebCore::ScrollAnimatorMac::contentAreaDidShow):
(WebCore::ScrollAnimatorMac::contentAreaDidHide):
(WebCore::ScrollAnimatorMac::didBeginScrollGesture):
(WebCore::ScrollAnimatorMac::didEndScrollGesture):
(WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
(WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
(WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
(WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
(WebCore::ScrollAnimatorMac::cancelAnimations):
(WebCore::ScrollAnimatorMac::setIsActive):
(WebCore::ScrollAnimatorMac::updateScrollerStyle):
(WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
* platform/mac/ScrollElasticityController.h:
* platform/mac/ScrollbarThemeMac.h:
* platform/mac/ScrollbarThemeMac.mm:
(+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
(+[WebScrollbarPrefsObserver behaviorPrefsChanged:]):
(WebCore::updateArrowPlacement):
(WebCore::ScrollbarThemeMac::registerScrollbar):
(WebCore::ScrollbarThemeMac::setIsCurrentlyDrawingIntoLayer):
(WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
(WebCore::ScrollbarThemeMac::scrollbarThickness):
(WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
(WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
(WebCore::ScrollbarThemeMac::hasButtons):
(WebCore::ScrollbarThemeMac::hasThumb):
(WebCore::ScrollbarThemeMac::minimumThumbLength):
(WebCore::ScrollbarThemeMac::scrollbarPartToHIPressedState):
(WebCore::ScrollbarThemeMac::updateEnabledState):
(WebCore::scrollbarPainterPaint):
(WebCore::ScrollbarThemeMac::paint):

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

8 years ago[chromium] Set the CCLayerTreeHost pointer on LayerChromium instances eagerly
jamesr@google.com [Tue, 20 Dec 2011 01:35:53 +0000 (01:35 +0000)]
[chromium] Set the CCLayerTreeHost pointer on LayerChromium instances eagerly
https://bugs.webkit.org/show_bug.cgi?id=74477

Reviewed by Kenneth Russell.

Source/WebCore:

This enforces that the m_layerTreeHost pointer on LayerChromium instances is always up to date, instead of
lazily setting it in the paintContents loop. There are two invariants:
1.) If a LayerChromium is the root layer of a CCLayerTreeHost, or is reachable via the children, mask, or
replica pointers from the root layer of a CCLayerTreeHost, then that LayerChromium's m_layerTreeHost pointer
refers to that CCLayerTreeHost
2.) If a LayerChromium is not a root layer or reachable from a root layer of any CCLayerTreeHost, its
CCLayerTreeHost pointer is nil.

Covered by several new layout tests in LayerChromiumTest

* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::setLayerTreeHost):
(WebCore::LayerChromium::setParent):
(WebCore::LayerChromium::setMaskLayer):
(WebCore::LayerChromium::setReplicaLayer):
* platform/graphics/chromium/LayerChromium.h:
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::createTile):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::setRootLayer):
(WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
(WebCore::CCLayerTreeHost::paintLayerContents):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:

Source/WebKit/chromium:

Add some new tests for LayerChromium::m_layerTreeHost behavior.

* tests/CCLayerTreeHostTest.cpp:
(::MockLayerTreeHost::create):
(::MockLayerTreeHost::MockLayerTreeHost):
(::CCLayerTreeHostTestShortlived1::beginTest):
(::CCLayerTreeHostTestShortlived2::beginTest):
(::CCLayerTreeHostTestShortlived3::beginTest):
* tests/LayerChromiumTest.cpp:

LayoutTests:

* platform/chromium/test_expectations.txt:

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

8 years agowebkitpy: remove port.executive, port.filesystem, port.user properties
dpranke@chromium.org [Tue, 20 Dec 2011 01:16:29 +0000 (01:16 +0000)]
webkitpy: remove port.executive, port.filesystem, port.user properties
https://bugs.webkit.org/show_bug.cgi?id=74896

Reviewed by Eric Seidel.

Following on the refactoring of the port and host objects, this
removes the public executive, filesystem, and user properties
from the Port interface (protected versions of executive and
filesystem still exist). There is still some more clean up to
make the code more consistent and rearrange some other files to
talk to Hosts directly instead of getting them off of the Port
class.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.__init__):
(Manager.results_directory):
(Manager._log_worker_stack):
* Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
(ManagerTest.test_fallback_path_in_config):
* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:
(_InlineManager.start_worker):
(_InlineWorkerConnection.__init__):
* Scripts/webkitpy/layout_tests/controllers/worker.py:
(Worker.safe_init):
* Scripts/webkitpy/layout_tests/models/test_configuration.py:
(TestConfiguration.from_port):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.__init__):
(Port.tests):
(Port.show_results_html_file):
* Scripts/webkitpy/layout_tests/port/base_unittest.py:
(PortTest.test_layout_tests_skipping):
(PortTest.test_test_dirs):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(_set_up_derived_options):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner.__init__):
* Scripts/webkitpy/to_be_moved/rebaseline_chromium_webkit_tests.py:
(HtmlGenerator.__init__):
(HtmlGenerator.show_html):
(real_main):
* Scripts/webkitpy/to_be_moved/rebaseline_chromium_webkit_tests_unittest.py:
(TestHtmlGenerator.make_generator):

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

8 years ago[EFL] Change the behavior of ewk_view_scale_set.
ryuan.choi@samsung.com [Tue, 20 Dec 2011 01:13:37 +0000 (01:13 +0000)]
[EFL] Change the behavior of ewk_view_scale_set.
https://bugs.webkit.org/show_bug.cgi?id=70078

Reviewed by Eric Seidel.

Remove center point basis zoom alignment from ewk_view_scale_set to call
Page::setPageScaleFactor without any adjustment.

* ewk/ewk_view.cpp:
(ewk_view_scale_set):
* ewk/ewk_view.h:

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

8 years agoTry to fix the Qt build.
ggaren@apple.com [Tue, 20 Dec 2011 01:13:08 +0000 (01:13 +0000)]
Try to fix the Qt build.

Unreviewed.

* wtf/ThreadSpecific.h: #include!

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

8 years agoIt should be possible to change the value of an Options variable without recompiling...
fpizlo@apple.com [Tue, 20 Dec 2011 01:11:36 +0000 (01:11 +0000)]
It should be possible to change the value of an Options variable without recompiling the world
https://bugs.webkit.org/show_bug.cgi?id=74807

Reviewed by Gavin Barraclough.

* runtime/Options.cpp:
(JSC::Options::initializeOptions):
* runtime/Options.h:

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

8 years agoRebaseline results from https://bugs.webkit.org/show_bug.cgi?id=74870
jer.noble@apple.com [Tue, 20 Dec 2011 01:06:30 +0000 (01:06 +0000)]
Rebaseline results from https://bugs.webkit.org/show_bug.cgi?id=74870

Unreviewed; rebaseline only.

* media/media-controller-playback-expected.txt:

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

8 years ago[chromium] Unreviewed, mark svg/filters/big-sized-filter.svg as slow in debug.
tony@chromium.org [Tue, 20 Dec 2011 01:03:22 +0000 (01:03 +0000)]
[chromium] Unreviewed, mark svg/filters/big-sized-filter.svg as slow in debug.

* platform/chromium/test_expectations.txt:

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

8 years agoIndexedDB multiple calls to transaction.objectStore(name) should return the same...
commit-queue@webkit.org [Tue, 20 Dec 2011 00:57:07 +0000 (00:57 +0000)]
IndexedDB multiple calls to transaction.objectStore(name) should return the same instance
https://bugs.webkit.org/show_bug.cgi?id=60208

Patch by Joshua Bell <jsbell@chromium.org> on 2011-12-19
Reviewed by Tony Chang.

Source/WebCore:

Ditto for calls to IDBObjectStore.index(). Calling these methods after the
enclosing transaction has finished now consistently throws an error, which
allows us to break reference cycles.

Test: storage/indexeddb/mozilla/object-identity.html

* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore):
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::index):
(WebCore::IDBObjectStore::transactionFinished):
* storage/IDBObjectStore.h:
* storage/IDBTransaction.cpp:
(WebCore::IDBTransaction::objectStore):
(WebCore::IDBTransaction::objectStoreCreated):
(WebCore::IDBTransaction::dispatchEvent):
* storage/IDBTransaction.h:

LayoutTests:

* storage/indexeddb/mozilla/object-identity-expected.txt: Added.
* storage/indexeddb/mozilla/object-identity.html: Added.
* storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
* storage/indexeddb/transaction-and-objectstore-calls.html:
* storage/indexeddb/tutorial.html:

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

8 years ago[chromium] Unreviewed, adding a bug number for svg/carto.net/selectionlist.svg.
tony@chromium.org [Tue, 20 Dec 2011 00:52:59 +0000 (00:52 +0000)]
[chromium] Unreviewed, adding a bug number for svg/carto.net/selectionlist.svg.

* platform/chromium/test_expectations.txt:

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

8 years ago[WK2] Extend show notification API to include the source page
jonlee@apple.com [Tue, 20 Dec 2011 00:51:46 +0000 (00:51 +0000)]
[WK2] Extend show notification API to include the source page
https://bugs.webkit.org/show_bug.cgi?id=74751
<rdar://problem/10514541>

Reviewed by John Sullivan.

We add the source page that dispatched the notification in the API for convenience. In order to include the page,
we move the show() message sent by WebNotificationManager from WebNotificationManagerProxy to WebPageProxy.

* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::show): We aim the message at WebPageProxy instead of WebNotificationManagerProxy.

* UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Remove the show() message.
* UIProcess/WebPageProxy.messages.in: Add a showNotification() message.

* UIProcess/Notifications/WebNotificationManagerProxy.cpp:
(WebKit::WebNotificationManagerProxy::show): This function is now called from the WebPageProxy.
* UIProcess/Notifications/WebNotificationManagerProxy.h:

* UIProcess/API/C/WKNotificationProvider.h:
* UIProcess/Notifications/WebNotificationProvider.cpp:
(WebKit::WebNotificationProvider::show):
* UIProcess/Notifications/WebNotificationProvider.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::showNotification):
* UIProcess/WebPageProxy.h:

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

8 years ago[chromium] Replace accidentally removed expectation in r103270.
enne@google.com [Tue, 20 Dec 2011 00:39:56 +0000 (00:39 +0000)]
[chromium] Replace accidentally removed expectation in r103270.

Unreviewed gardening.

* platform/chromium/test_expectations.txt:

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

8 years ago[chromium] Unreviewed, according to the flakiness dashboard,
tony@chromium.org [Tue, 20 Dec 2011 00:31:28 +0000 (00:31 +0000)]
[chromium] Unreviewed, according to the flakiness dashboard,
fast/dom/Document/early-document-access.html consistently passes.

* platform/chromium/test_expectations.txt:

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

8 years ago[Qt][WK2] QWebDownloadItems are leaking
commit-queue@webkit.org [Tue, 20 Dec 2011 00:12:39 +0000 (00:12 +0000)]
[Qt][WK2] QWebDownloadItems are leaking
https://bugs.webkit.org/show_bug.cgi?id=74618

Patch by Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> on 2011-12-19
Reviewed by Kenneth Rohde Christiansen.

QWebDownloadItems are leaking when WebProcess raises a
download failure before sending didReceiveResponse back to UIProcess.
This can happen when QtFileDownloader fails in determineFilename(), for instance.
It happens when QtDownloadManager::downloadFailed() is reached
and has an "empty" downloadItem, which means we never got to
QtDownloadManager::downloadReceivedResponse(). At this point
QQuickWebView::downloadRequested() signal hasn't been emitted and
the downloadItem will have null parent. Therefore, it will leak
unless we delete it ourselves.

* UIProcess/qt/QtDownloadManager.cpp:
(WebKit::QtDownloadManager::downloadFailed):

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

8 years agoSend gesture events through the event dispatcher and scrolling coordinator
andersca@apple.com [Mon, 19 Dec 2011 23:53:58 +0000 (23:53 +0000)]
Send gesture events through the event dispatcher and scrolling coordinator
https://bugs.webkit.org/show_bug.cgi?id=74879

Reviewed by Andreas Kling.

Source/WebCore:

* WebCore.exp.in:
Export ScrollingCoordinator::handleGestureEvent.

* page/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::handleGestureEvent):
* page/ScrollingCoordinator.h:
Add handleGestureEvent stub.

Source/WebKit2:

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handleGestureEvent):
Use the EventDispatcher message.

* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::gestureEvent):
Try to send the event to the scrolling coordinator first before dispatching it on the main thread.

(WebKit::EventDispatcher::dispatchGestureEvent):
Just call through to the WebPageProxy.

* WebProcess/WebPage/EventDispatcher.h:
* WebProcess/WebPage/EventDispatcher.messages.in:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
Move the GestureEvent message from WebPage to EventDispatcher.

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

8 years agoPass command line arguments to GDB when debugging a Mac WebKit application
dbates@webkit.org [Mon, 19 Dec 2011 23:40:04 +0000 (23:40 +0000)]
Pass command line arguments to GDB when debugging a Mac WebKit application
https://bugs.webkit.org/show_bug.cgi?id=72829

Reviewed by David Kilzer.

Pass through any command line arguments given to debug-{safari, minibrowser}
to GDB so that they may influence the application instance launched by GDB.

* Scripts/webkitdirs.pm:
(execMacWebKitAppForDebugging):

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

8 years ago[Qt] Setting QWebPreferences affect multiple WebViews
commit-queue@webkit.org [Mon, 19 Dec 2011 23:39:45 +0000 (23:39 +0000)]
[Qt] Setting QWebPreferences affect multiple WebViews
https://bugs.webkit.org/show_bug.cgi?id=71559

Patch by Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> on 2011-12-19
Reviewed by Kenneth Rohde Christiansen.

The QWebPreferences are per WebView, but the actual implementation
in WebKit2 make them per page group. Currently we share only one
page group between all the views, so if we set preferences
to one WebView the preferences are shared between them all, generating
unexpected behavior. This patch fixes this by making each WebView have
its own page group.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
* UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:

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

8 years agoMove WebAudio and WebSocket getters from JSDOMWindowCustom.cpp
haraken@chromium.org [Mon, 19 Dec 2011 23:26:47 +0000 (23:26 +0000)]
Move WebAudio and WebSocket getters from JSDOMWindowCustom.cpp
to JSDOMWindow{WebAudio,WebSocket}Custom.cpp
https://bugs.webkit.org/show_bug.cgi?id=74841

Reviewed by Adam Barth.

This is the second step for bug 74599. We are planning to enable the [Supplemental]
IDL and modularize WebAudio and WebSocket on AppleWebKit. This patch moves
webkitAudioContext() and webSocket() from JSDOMWindowCustom.cpp to JSDOMWindowWebAudioCustom.cpp
and JSDOMWindowWebSocketCustom.cpp, for modularization.

Tests: Confirm that build succeeds.
       http/tests/websocket/tests/*

* GNUmakefile.list.am: Added JSDOMWindowWebAudioCustom.cpp and JSDOMWindowWebSocketCustom.cpp.
* Target.pri: Ditto.
* UseJSC.cmake: Ditto.
* WebCore.gypi: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/js/JSBindingsAllInOne.cpp: Ditto.

* bindings/js/JSDOMWindowCustom.cpp: For now we do not remove settingsForWindow(),
webkitAudioContext() and webSocket(), since other build systems are still using them.
We will remove them after all build systems implement the [Supplemental] IDL.
* bindings/js/JSDOMWindowWebAudioCustom.cpp: Added.
(WebCore::settingsForWindowWebAudio):
(WebCore::JSDOMWindow::webkitAudioContext):
* bindings/js/JSDOMWindowWebSocketCustom.cpp: Added.
(WebCore::settingsForWindowWebSocket):
(WebCore::JSDOMWindow::webSocket):

* bindings/scripts/CodeGeneratorJS.pm: Until we implement the [Supplemental] IDL
on all build systems, we need to temporarily allow two kinds of webkitAudioContext()
and webSocket().
(GenerateHeader):

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

8 years ago[chromium] Add more using statements to (re)fix Chromium builders.
enne@google.com [Mon, 19 Dec 2011 23:10:06 +0000 (23:10 +0000)]
[chromium] Add more using statements to (re)fix Chromium builders.

Unreviewed gardening.

* tests/Canvas2DLayerChromiumTest.cpp:

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

8 years agoPostpone deleteRenderbuffer/deleteTexture until all framebuffer attachment points...
zmo@google.com [Mon, 19 Dec 2011 23:03:02 +0000 (23:03 +0000)]
Postpone deleteRenderbuffer/deleteTexture until all framebuffer attachment points are removed.
https://bugs.webkit.org/show_bug.cgi?id=74741

Reviewed by Kenneth Russell.

Source/WebCore:

Use WebGLObject's attachment count mechanism to track if a renderbuffer/texture
is still attached to framebuffers, and if its deletion should be delated or not.

* html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::setAttachmentForBoundFramebuffer):
(WebCore::WebGLFramebuffer::getAttachment):
(WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
(WebCore::WebGLFramebuffer::deleteObjectImpl):
(WebCore::WebGLFramebuffer::isBound):
* html/canvas/WebGLFramebuffer.h:

LayoutTests:

* fast/canvas/webgl/object-deletion-behaviour-expected.txt:
* fast/canvas/webgl/object-deletion-behaviour.html: synced with khronos side.

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

8 years ago[chromium] Fix win builder due to more NotNull ambiguity errors.
enne@google.com [Mon, 19 Dec 2011 22:51:36 +0000 (22:51 +0000)]
[chromium] Fix win builder due to more NotNull ambiguity errors.

Unreviewed gardening.

* tests/Canvas2DLayerChromiumTest.cpp:

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

8 years ago[chromium] Rebaseline table-cell-collapsed-border after r103251.
enne@google.com [Mon, 19 Dec 2011 22:37:00 +0000 (22:37 +0000)]
[chromium] Rebaseline table-cell-collapsed-border after r103251.

Unreviewed gardening.

mwenge asked for this test to be rebaselined.  Also, marking a failing
border-conflict-element-001d failure on CG only as WONTFIX, as
Chromium's CG configurations are going away soon.

* platform/chromium-cg-mac-leopard/fast/repaint/table-cell-collapsed-border-expected.png:
* platform/chromium-cg-mac-snowleopard/fast/repaint/table-cell-collapsed-border-expected.png:
* platform/chromium-linux/fast/repaint/table-cell-collapsed-border-expected.png:
* platform/chromium-mac-leopard/fast/repaint/table-cell-collapsed-border-expected.png:
* platform/chromium-mac-snowleopard/fast/repaint/table-cell-collapsed-border-expected.png:
* platform/chromium-win/fast/repaint/table-cell-collapsed-border-expected.png:
* platform/chromium/test_expectations.txt:

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

8 years ago[chromium] Unreviewed, according to the flakiness dashboard,
tony@chromium.org [Mon, 19 Dec 2011 22:23:30 +0000 (22:23 +0000)]
[chromium] Unreviewed, according to the flakiness dashboard,
fast/body-propagation/overflow/003-xhtml.xhtml consistently passes.

* platform/chromium/test_expectations.txt:

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

8 years ago[Qt] Unreviewed gardening.
ossy@webkit.org [Mon, 19 Dec 2011 22:17:06 +0000 (22:17 +0000)]
[Qt] Unreviewed gardening.

* platform/qt-wk2/Skipped: Unskip now passing tests.

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

8 years ago[chromium] Unreviewed, according to the flakiness dashboard,
tony@chromium.org [Mon, 19 Dec 2011 22:14:36 +0000 (22:14 +0000)]
[chromium] Unreviewed, according to the flakiness dashboard,
http/tests/security/mixedContent/insecure-css-in-main-frame.html
consistently passes.

* platform/chromium/test_expectations.txt:

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

8 years ago[chromium] Accelerated canvas broken in threaded compositing mode
commit-queue@webkit.org [Mon, 19 Dec 2011 21:45:43 +0000 (21:45 +0000)]
[chromium] Accelerated canvas broken in threaded compositing mode
https://bugs.webkit.org/show_bug.cgi?id=72738

We were flushing the Skia canvas in updateCompositorResources, which
is illegal as it runs on the wrong thread. Moved to paintContentsIfDirty
instead. For correct rendering on the compositor thread, we make a copy
of the canvas texture in updateCompositorResources.

Removed m_textureId and pushPropertiesTo from CanvasLayerChromium, as
it's no longer common between Canvas2DLayerChromium and
WebGLLayerChromium. WebGL changes do not change functionality.

Patch by Iain Merrick <husky@google.com> on 2011-12-19
Reviewed by James Robinson.

Source/WebCore:

* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::create):
(WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
(WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
(WebCore::Canvas2DLayerChromium::setTextureId):
(WebCore::Canvas2DLayerChromium::contentChanged):
(WebCore::Canvas2DLayerChromium::drawsContent):
(WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
(WebCore::Canvas2DLayerChromium::setLayerTreeHost):
(WebCore::Canvas2DLayerChromium::setTextureManager):
(WebCore::Canvas2DLayerChromium::updateCompositorResources):
(WebCore::Canvas2DLayerChromium::pushPropertiesTo):
(WebCore::Canvas2DLayerChromium::unreserveContentsTexture):
(WebCore::Canvas2DLayerChromium::cleanupResources):
* platform/graphics/chromium/Canvas2DLayerChromium.h:
* platform/graphics/chromium/CanvasLayerChromium.cpp:
(WebCore::CanvasLayerChromium::CanvasLayerChromium):
* platform/graphics/chromium/CanvasLayerChromium.h:
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::WebGLLayerChromium):
(WebCore::WebGLLayerChromium::pushPropertiesTo):
* platform/graphics/chromium/WebGLLayerChromium.h:
(WebCore::WebGLLayerChromium::textureId):
(WebCore::WebGLLayerChromium::setTextureId):
* platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
(WebCore::CCCanvasLayerImpl::textureId):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::createAcceleratedCanvas):

Source/WebKit/chromium:

* WebKit.gypi:
* tests/Canvas2DLayerChromiumTest.cpp: Added.
(WebCore::Canvas2DLayerChromiumTest::setTextureManager):

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

8 years agoChromium DEPS from 114686 to 115012.
rniwa@webkit.org [Mon, 19 Dec 2011 21:42:16 +0000 (21:42 +0000)]
Chromium DEPS from 114686 to 115012.

* DEPS:

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

8 years ago[skia] cache typeface in FontPlatformData
reed@google.com [Mon, 19 Dec 2011 21:40:00 +0000 (21:40 +0000)]
[skia] cache typeface in FontPlatformData
https://bugs.webkit.org/show_bug.cgi?id=74415

Reviewed by Stephen White.

No new tests. optimization only, existing tests in play

* platform/graphics/chromium/FontChromiumWin.cpp:
(WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
(WebCore::Font::drawGlyphs):
* platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
(WebCore::CreateTypefaceFromHFont):
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::operator=):
(WebCore::FontPlatformData::~FontPlatformData):
* platform/graphics/chromium/FontPlatformDataChromiumWin.h:
(WebCore::FontPlatformData::typeface):
(WebCore::FontPlatformData::lfQuality):
(WebCore::FontPlatformData::hash):
* platform/graphics/skia/SkiaFontWin.cpp:
(WebCore::setupPaintForFont):
(WebCore::paintSkiaText):
* platform/graphics/skia/SkiaFontWin.h:

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

8 years agowebkitpy: remove executive,filesystem,user parameters from Port constructor
dpranke@chromium.org [Mon, 19 Dec 2011 21:28:51 +0000 (21:28 +0000)]
webkitpy: remove executive,filesystem,user parameters from Port constructor
https://bugs.webkit.org/show_bug.cgi?id=74878

Reviewed by Eric Seidel.

This change concludes the refactoring that makes Host a required
parameter for Port and ensures that all access to filesystem,
executives, etc. is going through the Host.

* Scripts/webkitpy/layout_tests/port/base.py:
(Port.__init__):

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

8 years ago[chromium] Mark all the media-controller-playback tests as failing.
enne@google.com [Mon, 19 Dec 2011 21:16:33 +0000 (21:16 +0000)]
[chromium] Mark all the media-controller-playback tests as failing.

Unreviewed gardening.

* platform/chromium/test_expectations.txt:

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

8 years ago[chromium] Mark unreachable-overflow-rtl-bug as failing after r103245.
enne@google.com [Mon, 19 Dec 2011 21:06:20 +0000 (21:06 +0000)]
[chromium] Mark unreachable-overflow-rtl-bug as failing after r103245.
https://bugs.webkit.org/show_bug.cgi?id=74881

Unreviewed gardening.

Also, make expectation file pass linting.

* platform/chromium/test_expectations.txt:

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

8 years ago[chromium] MediaStream API: Fixing memory leak in WebMediaStreamSource
tommyw@google.com [Mon, 19 Dec 2011 21:01:59 +0000 (21:01 +0000)]
[chromium] MediaStream API: Fixing memory leak in WebMediaStreamSource
https://bugs.webkit.org/show_bug.cgi?id=74714

Reviewed by Eric Seidel.

Missed that PassRefPtr does a ref if constructed with a raw pointer.
Also removed an extra space in WebMediaStreamDescriptor.cpp.

* src/WebMediaStreamDescriptor.cpp:
(WebKit::WebMediaStreamDescriptor::sources):
* src/WebMediaStreamSource.cpp:
(WebKit::WebMediaStreamSource::operator=):

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

8 years agoUpdate suppressions for r103251
robert@webkit.org [Mon, 19 Dec 2011 20:55:19 +0000 (20:55 +0000)]
Update suppressions for r103251

Unreviewed, expectaions update - missed suppressing a few of the border conflict tests that need rebaselining.

* platform/chromium/test_expectations.txt:
* platform/gtk/test_expectations.txt:
* platform/mac/test_expectations.txt:
* platform/qt/test_expectations.txt:

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

8 years agoTry to fix the Chromium win builder NotNull conflict.
enne@google.com [Mon, 19 Dec 2011 20:45:15 +0000 (20:45 +0000)]
Try to fix the Chromium win builder NotNull conflict.

Unreviewed gardening.

* tests/MockGraphicsContext3DTest.cpp:

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

8 years agoUnreviewed, rolling out r103250.
commit-queue@webkit.org [Mon, 19 Dec 2011 20:22:31 +0000 (20:22 +0000)]
Unreviewed, rolling out r103250.
http://trac.webkit.org/changeset/103250
https://bugs.webkit.org/show_bug.cgi?id=74877

it still breaks codegen (Requested by olliej on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-12-19

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGNode.h:
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::propagateArithNodeFlags):
(JSC::DFG::Propagator::fixupNode):
(JSC::DFG::Propagator::byValIsPure):
(JSC::DFG::Propagator::clobbersWorld):
(JSC::DFG::Propagator::getByValLoadElimination):
(JSC::DFG::Propagator::checkStructureLoadElimination):
(JSC::DFG::Propagator::getByOffsetLoadElimination):
(JSC::DFG::Propagator::getPropertyStorageLoadElimination):
(JSC::DFG::Propagator::getIndexedPropertyStorageLoadElimination):
(JSC::DFG::Propagator::performNodeCSE):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePutByValForByteArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

8 years agowebkitpy: finish refactoring port classes to make a host mandatory
dpranke@chromium.org [Mon, 19 Dec 2011 20:22:15 +0000 (20:22 +0000)]
webkitpy: finish refactoring port classes to make a host mandatory
https://bugs.webkit.org/show_bug.cgi?id=74566

Reviewed by Eric Seidel.

This change makes all Port objects take a required (System)Host
parameter, and updates the TestPort object to no longer create a
mock filesystem or add files to the existing filesystem by
default.

* Scripts/webkitpy/layout_tests/port/base.py:
(Port.__init__):
* Scripts/webkitpy/layout_tests/port/factory.py:
(PortFactory.__init__):
(PortFactory._get_kwargs):
* Scripts/webkitpy/layout_tests/port/test.py:
(TestInstance.__init__):
(TestPort.__init__):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(passing_run):
(logging_run):
(get_tests_run):
(MainTest.test_single_file):
(MainTest.test_stderr_is_saved):
(MainTest.test_test_list):
(MainTest.test_test_list_with_prefix):
(MainTest.test_missing_and_unexpected_results):
(MainTest.test_missing_and_unexpected_results_with_custom_exit_code):
(MainTest.test_crash_with_stderr):
(MainTest.test_no_image_failure_with_image_diff):
(MainTest.test_crash_log):
(MainTest.test_web_process_crash_log):
(MainTest.test_exit_after_n_failures_upload):
(MainTest.test_results_directory_absolute):
(MainTest.test_results_directory_relative):
(MainTest.test_retries_directory):
(MainTest.test_tolerance.get_port_for_run):
(MainTest.test_reftest_should_not_use_naming_convention_if_not_listed_in_reftestlist):
(EndToEndTest.test_end_to_end):
(EndToEndTest.test_reftest_with_two_notrefs):
(RebaselineTest.test_reset_results):
(RebaselineTest.test_missing_results):
(RebaselineTest.test_new_baseline):
* Scripts/webkitpy/to_be_moved/rebaseline_chromium_webkit_tests.py:
(Rebaseliner.__init__):
(main):
(real_main):
* Scripts/webkitpy/to_be_moved/rebaseline_chromium_webkit_tests_unittest.py:
(test_host_port_and_filesystem):
(TestRebaseliner.make_rebaseliner):
(TestRealMain.test_all_platforms):
(TestHtmlGenerator.make_generator):

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

8 years agowebkitpy: update unit tests in preparation for making host a mandatory parameter...
dpranke@chromium.org [Mon, 19 Dec 2011 20:04:41 +0000 (20:04 +0000)]
webkitpy: update unit tests in preparation for making host a mandatory parameter to Port objects
https://bugs.webkit.org/show_bug.cgi?id=74562

Reviewed by Eric Seidel.

Apart from a minor change to style/checkers/test_expectations.py
to take a host as a parameter to a TestExpectationsChecker(),
there are only refactoring changes to unit tests here.

* Scripts/webkitpy/layout_tests/controllers/test_result_writer_unittest.py:
(TestResultWriterTest.test_reftest_diff_image):
* Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py:
(JSONGeneratorTest._test_json_generation):
(JSONGeneratorTest.test_test_timings_trie):
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(Base.__init__):
* Scripts/webkitpy/layout_tests/port/base_unittest.py:
(PortTest.make_port):
(PortTest.test_layout_tests_skipping):
(PortTest.test_test_dirs):
(PortTest.test_additional_platform_directory):
(PortTest.test_uses_test_expectations_file):
(PortTest.test_find_no_paths_specified):
(PortTest.test_find_one_test):
(PortTest.test_find_glob):
(PortTest.test_find_with_skipped_directories):
(PortTest.test_find_with_skipped_directories_2):
(PortTest.test_parse_reftest_list):
* Scripts/webkitpy/layout_tests/port/dryrun.py:
(DryRunPort.__init__):
* Scripts/webkitpy/layout_tests/port/factory_unittest.py:
(FactoryTest.setUp):
(FactoryTest.tearDown):
(FactoryTest.assert_port):
(FactoryTest.assert_platform_port):
(FactoryTest.test_unknown_specified):
(FactoryTest.test_unknown_default):
* Scripts/webkitpy/layout_tests/port/google_chrome_unittest.py:
(GetGoogleChromePortTest._verify_expectations_overrides):
* Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py:
(MockDRTPortTest.make_port):
(MockDRTTest.assertTest):
(MockDRTTest.test_main):
(MockChromiumDRTTest.test_pixeltest__fails):
* Scripts/webkitpy/layout_tests/port/qt_unittest.py:
(QtPortTest._assert_search_path):
* Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
(TestWebKitPort.__init__):
(WebKitPortTest.test_skipped_directories_for_symbols):
(test_skipped_directories_for_features):
(test_skipped_layout_tests):
(test_skipped_file_search_paths):
(test_root_option):
(test_test_expectations):
(test_build_driver):
(test_linux_distro_detection):
(test_apache_config_file_name_for_platform):
(test_path_to_apache_config_file):
(WebKitDriverTest.test_read_block):
* Scripts/webkitpy/style/checkers/test_expectations.py:
(TestExpectationsChecker.__init__):
* Scripts/webkitpy/style/checkers/test_expectations_unittest.py:
(TestExpectationsTestCase._expect_port_for_expectations_path):
(TestExpectationsTestCase.assert_lines_lint):
* Scripts/webkitpy/tool/servers/rebaselineserver_unittest.py:
(get_test_config.TestMacPort):

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

8 years agoUnreviewed; fix the build with ENABLE(TOUCH_EVENTS) after r103167.
kubo@profusion.mobi [Mon, 19 Dec 2011 20:00:45 +0000 (20:00 +0000)]
Unreviewed; fix the build with ENABLE(TOUCH_EVENTS) after r103167.

This partly reverts r102297: the Touch{Start,Move,End,Cancel} events
are not in a separate enum anymore (they are part of
WebCore::PlatformEvent), so the assertions in AssertMatchingEnums.cpp
always fail. Setting EWK_TOUCH_START to TouchStart feels even more
hackish, so we just convert the types manually again for now.

* WebCoreSupport/AssertMatchingEnums.cpp:
* ewk/ewk_frame.cpp:
(ewk_frame_feed_touch_event):

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

8 years agoCSS 2.1 failure: border-conflict-element-*
robert@webkit.org [Mon, 19 Dec 2011 19:49:27 +0000 (19:49 +0000)]
CSS 2.1 failure: border-conflict-element-*
https://bugs.webkit.org/show_bug.cgi?id=71244

Reviewed by Darin Adler.

Source/WebCore:

From http://www.w3.org/TR/CSS21/tables.html#border-conflict-resolution :
 "When two adjacent cells have the same border-width and the same border-style in a
  'border-collapse: collapse' table, then the color of the border from the leftmost cell wins
  (if the table's 'direction' is 'ltr'; right, if it is 'rtl') and the color of the border
  from the topmost cell wins."

RenderTable manages collapsed borders by first creating a list of unique border values sorted in ascending
priority. A unique border value is determined by style, width and color and cell-type precedence. For each
entry in this list RenderTableSection paints each cell in its section starting at the top-left. If a cell
is using the border RenderTable is currently iterating for, the cell will paint that border.

The problems with this approach are:
  1. Painting cells from the top-left to the bottom-right means that borders further to the right and to the bottom
     of the table will paint over those further to the left and the top, breaking the precedence due to cell position.
  2. It creates more unique borders in the list than necessary. Borders that differ only on color do not need to be painted in
     a separate iteration. Precedence in such cases is determined by cell position.

So in order to respect cell position when painting collapsed borders:
  1. RenderTableCell now treats borders with the same style, width and precedence as equal. This results in a performance
     improvement on tables where collapsed borders differ only in color, since RenderTable is no longer painting every cell in the table
     for each unique collapsed border color. It also allows color to be a function of cell position rather than border type.
  2. RenderTableSection now paints collapsed borders separately from cells and from the bottom-right to the top-left instead of top-left
     to bottom-right. If a collapsed border has precedence due to style, width or cell-group-type it will still be respected but precedence
     due to color is enforced by painting cells nearer to the top and left *after* cells nearer to the bottom and right.

The order in which collapsed borders paint over each other in the same cell has not changed. Unlike Firefox,
WebKit does not attempt render them as diagonals or attempt to give borders on the edge of the table precedence
so that grooved and ridged styles have a smooth edge all round the table.

This fixes the following failing tests from the border-conflict-element-* set
in the CSS 2.1 test suite:
  border-conflict-element-001d.htm
  border-conflict-element-0037.htm
  border-conflict-element-0038.htm

One test in the suite is known to be wrong, so a corrected version has been landed outside the
css2.1 folder:
  border-conflict-element-002.htm

This change entails rebaselining quite a few tests, see the LayoutTests ChangeLog for a full
explanation of the rebaselines.

* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::paint):
(WebCore::addBorderStyle):
(WebCore::compareBorderValuesForQSort):
(WebCore::RenderTableCell::paintCollapsedBorders):
* rendering/RenderTableCell.h:
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::paintCell):
(WebCore::RenderTableSection::paintObject):
* rendering/style/CollapsedBorderValue.h:
(WebCore::CollapsedBorderValue::isSameIgnoringColor):

LayoutTests:

Add all the passing border-conflict-element* tests from the CSS 2.1 test suite.

Add a corrected version of the CSS suite test border-conflict-element-002.htm, which can sit here until
  the corrected version is landed upstream. See http://lists.w3.org/Archives/Public/public-css-testsuite/2011Nov/0002.html

Rebaseline all t170602-bdr-conflct-w-* tests. The rendering of the collapsed borders in these
  tests now obeys the order of precedence for the position of the cell and the precendece of the position
  of the borders within the same cell.

Rebaseline two border-conflict-style-* tests: ditto

Rebaseline fast/borders/border-antialiasing.html, the result is too small to confirm the difference but
  presume it is one of the above.

Rebaseline floating-replaced-height-008.html as the support file it uses is added by this patch (in order to
    support border-conflict-element-001d.htm).

* css2.1/20110323/border-conflict-element-001-expected.html: Added.
* css2.1/20110323/border-conflict-element-001.htm: Added.
* css2.1/20110323/border-conflict-element-001d-expected.html: Added.
* css2.1/20110323/border-conflict-element-001d.htm: Added.
* css2.1/20110323/border-conflict-element-003-expected.html: Added.
* css2.1/20110323/border-conflict-element-003.htm: Added.
* css2.1/20110323/border-conflict-element-004-expected.html: Added.
* css2.1/20110323/border-conflict-element-004.htm: Added.
* css2.1/20110323/border-conflict-element-005-expected.html: Added.
* css2.1/20110323/border-conflict-element-005.htm: Added.
* css2.1/20110323/border-conflict-element-006-expected.html: Added.
* css2.1/20110323/border-conflict-element-006.htm: Added.
* css2.1/20110323/border-conflict-element-007-expected.html: Added.
* css2.1/20110323/border-conflict-element-007.htm: Added.
* css2.1/20110323/border-conflict-element-008-expected.html: Added.
* css2.1/20110323/border-conflict-element-008.htm: Added.
* css2.1/20110323/border-conflict-element-009-expected.html: Added.
* css2.1/20110323/border-conflict-element-009.htm: Added.
* css2.1/20110323/border-conflict-element-010-expected.html: Added.
* css2.1/20110323/border-conflict-element-010.htm: Added.
* css2.1/20110323/border-conflict-element-011-expected.html: Added.
* css2.1/20110323/border-conflict-element-011.htm: Added.
* css2.1/20110323/border-conflict-element-012-expected.html: Added.
* css2.1/20110323/border-conflict-element-012.htm: Added.
* css2.1/20110323/border-conflict-element-013-expected.html: Added.
* css2.1/20110323/border-conflict-element-013.htm: Added.
* css2.1/20110323/border-conflict-element-014-expected.html: Added.
* css2.1/20110323/border-conflict-element-014.htm: Added.
* css2.1/20110323/border-conflict-element-015-expected.html: Added.
* css2.1/20110323/border-conflict-element-015.htm: Added.
* css2.1/20110323/border-conflict-element-016-expected.html: Added.
* css2.1/20110323/border-conflict-element-016.htm: Added.
* css2.1/20110323/border-conflict-element-017-expected.html: Added.
* css2.1/20110323/border-conflict-element-017.htm: Added.
* css2.1/20110323/border-conflict-element-018-expected.html: Added.
* css2.1/20110323/border-conflict-element-018.htm: Added.
* css2.1/20110323/border-conflict-element-019-expected.html: Added.
* css2.1/20110323/border-conflict-element-019.htm: Added.
* css2.1/20110323/border-conflict-element-020-expected.html: Added.
* css2.1/20110323/border-conflict-element-020.htm: Added.
* css2.1/20110323/border-conflict-element-021-expected.html: Added.
* css2.1/20110323/border-conflict-element-021.htm: Added.
* css2.1/20110323/border-conflict-element-022-expected.html: Added.
* css2.1/20110323/border-conflict-element-022.htm: Added.
* css2.1/20110323/border-conflict-element-023-expected.html: Added.
* css2.1/20110323/border-conflict-element-023.htm: Added.
* css2.1/20110323/border-conflict-element-024-expected.html: Added.
* css2.1/20110323/border-conflict-element-024.htm: Added.
* css2.1/20110323/border-conflict-element-025-expected.html: Added.
* css2.1/20110323/border-conflict-element-025.htm: Added.
* css2.1/20110323/border-conflict-element-026-expected.html: Added.
* css2.1/20110323/border-conflict-element-026.htm: Added.
* css2.1/20110323/border-conflict-element-027-expected.html: Added.
* css2.1/20110323/border-conflict-element-027.htm: Added.
* css2.1/20110323/border-conflict-element-028-expected.html: Added.
* css2.1/20110323/border-conflict-element-028.htm: Added.
* css2.1/20110323/border-conflict-element-029-expected.html: Added.
* css2.1/20110323/border-conflict-element-029.htm: Added.
* css2.1/20110323/border-conflict-element-030-expected.html: Added.
* css2.1/20110323/border-conflict-element-030.htm: Added.
* css2.1/20110323/border-conflict-element-031-expected.html: Added.
* css2.1/20110323/border-conflict-element-031.htm: Added.
* css2.1/20110323/border-conflict-element-032-expected.html: Added.
* css2.1/20110323/border-conflict-element-032.htm: Added.
* css2.1/20110323/border-conflict-element-033-expected.html: Added.
* css2.1/20110323/border-conflict-element-033.htm: Added.
* css2.1/20110323/border-conflict-element-034-expected.html: Added.
* css2.1/20110323/border-conflict-element-034.htm: Added.
* css2.1/20110323/border-conflict-element-035-expected.html: Added.
* css2.1/20110323/border-conflict-element-035.htm: Added.
* css2.1/20110323/border-conflict-element-036-expected.html: Added.
* css2.1/20110323/border-conflict-element-036.htm: Added.
* css2.1/20110323/border-conflict-element-037-expected.html: Added.
* css2.1/20110323/border-conflict-element-037.htm: Added.
* css2.1/20110323/border-conflict-element-038-expected.html: Added.
* css2.1/20110323/border-conflict-element-038.htm: Added.
* css2.1/20110323/border-conflict-element-039-expected.html: Added.
* css2.1/20110323/border-conflict-element-039.htm: Added.
* css2.1/20110323/support/swatch-blue.png: Added.
* css2.1/20110323/support/swatch-green.png: Added.
* css2.1/20110323/support/swatch-lime.png: Added.
* css2.1/20110323/support/swatch-orange.png: Added.
* css2.1/20110323/support/swatch-red.png: Added.
* css2.1/20110323/support/swatch-teal.png: Added.
* css2.1/20110323/support/swatch-white.png: Added.
* css2.1/20110323/support/swatch-yellow.png: Added.
* fast/css/border-conflict-element-002-expected.html: Added.
* fast/css/border-conflict-element-002.htm: Added.
* platform/chromium-linux/css2.1/20110323/border-conflict-style-079-expected.png:
* platform/chromium-linux/css2.1/20110323/floating-replaced-height-008-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-05-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-06-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-07-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-08-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-15-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-16-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-17-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-18-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-51-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-52-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-53-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-54-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-55-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-56-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-57-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-58-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-59-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-61-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-62-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-63-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-64-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-65-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-66-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-67-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-68-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-69-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-71-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-72-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-73-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-74-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-75-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-76-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-77-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-78-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-79-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-81-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-82-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-83-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-84-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-85-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-86-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-87-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-88-d-expected.png:
* platform/chromium-linux/css2.1/t170602-bdr-conflct-w-89-d-expected.png:
* platform/chromium-linux/fast/borders/border-antialiasing-expected.png:

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

8 years agoRolling r103120 back in with merge errors corrected.
oliver@apple.com [Mon, 19 Dec 2011 19:36:37 +0000 (19:36 +0000)]
Rolling r103120 back in with merge errors corrected.

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

8 years agoMediaController: cannot scrub while playing.
jer.noble@apple.com [Mon, 19 Dec 2011 19:15:47 +0000 (19:15 +0000)]
MediaController: cannot scrub while playing.
https://bugs.webkit.org/show_bug.cgi?id=74870
rdar://problem/10602037

Reviewed by Eric Carlson.

Source/WebCore:

Updated media/media-controller-playback.html test.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setController): Change order of operations; set the controllers media
    element before passing controller to the controls.
* html/MediaController.cpp:
(MediaController::updatePlaybackState): Stop the playback clock when WAITING or ENDED.
(MediaController::beginScrubbing): Stop the playback clock.
(MediaController::endScrubbing): Restart (if necessary) the playback clock.
(MediaController::canPlay): Return true if paused.
* platform/mac/PlatformClockCA.cpp:
(PlatformClockCA::setCurrentTime): Stop the CAClock before changing the current time.

LayoutTests:

* media/media-controller-playback.html:

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

8 years ago[chromium] Mark more worker tests as being flaky crashers
enne@google.com [Mon, 19 Dec 2011 18:37:37 +0000 (18:37 +0000)]
[chromium] Mark more worker tests as being flaky crashers
https://bugs.webkit.org/show_bug.cgi?id=74746

Unreviewed gardening.

* platform/chromium/test_expectations.txt:

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

8 years agoWe don't pass all of the html5lib unsafe-text.dat tests
abarth@webkit.org [Mon, 19 Dec 2011 18:35:43 +0000 (18:35 +0000)]
We don't pass all of the html5lib unsafe-text.dat tests
https://bugs.webkit.org/show_bug.cgi?id=74825

Reviewed by Eric Seidel.

Source/WebCore:

This patch is actually three (tiny) related patches.  Together these
changes cause use to pass the plain-text-unsafe.dat tests from html5lib.

Tests: html5lib/runner.html

* html/parser/HTMLTokenizer.cpp:
(WebCore::::shouldSkipNullCharacters):
    - We're not supposed to skip null characters in the PLAINTEXTState.
      This might cause compatibility problems with text/plain documents
      that contains NUL characters because we use the PLAINTEXTState
      to parse them.  If we run into any trouble, it's easy to fix in
      TextDocumentParser.
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::constructTreeFromToken):
    - Fix typo.
(WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
    - We're supposed to replace NUL characters if the next character
      token if we're in foreign content.  The previous check didn't
      quite get this case correctly.
(WebCore::HTMLTreeBuilder::processTokenInForeignContent):
    - Now that we replace NUL characters with the replacement
      character, we need to be more careful about the fact that
      replacement characters don't flip m_framesetOk to false.  Note:
      This new check matches the check for non-foreign content.

LayoutTests:

Show test progression.

* html5lib/runner-expected.txt:
* platform/chromium/html5lib/runner-expected.txt:

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

8 years agoWebKit should support HTML entities that expand to more than one character
abarth@webkit.org [Mon, 19 Dec 2011 18:30:20 +0000 (18:30 +0000)]
WebKit should support HTML entities that expand to more than one character
https://bugs.webkit.org/show_bug.cgi?id=74826

Reviewed by Darin Adler.

Source/WebCore:

Tests: html5lib/runner.html

* html/parser/HTMLEntityNames.in:
    - Add missing HTML entities from HTML5 spec.  I'll sort this file
      in a followup patch.  (It's not quite sorted perfectly and
      sorting in this patch would introduce noise into the patch.)
* html/parser/HTMLEntityParser.cpp:
(WebCore::decodeNamedEntity):
    - convertToUTF16 always returns true, so make it return void instead.
    - Teach the entity parse that some entities expand to two characters.
* html/parser/HTMLEntityParser.h:
    - Add a warning that decodeNamedEntity is really a broken API.
    - This patch doesn't actually change any behavior of this API, but
      it does illustrate that the two callers of this API (the two XML
      parsers) really need to move a more sensible API.
* html/parser/HTMLEntitySearch.cpp:
(WebCore::HTMLEntitySearch::HTMLEntitySearch):
(WebCore::HTMLEntitySearch::advance):
* html/parser/HTMLEntitySearch.h:
(WebCore::HTMLEntitySearch::fail):
    - Remove the concept of currentValue.  This isn't really used for
      anything and conflicts with the idea that entities can expand
      to more than one character.
* html/parser/HTMLEntityTable.h:
    - Add storage for two UChar32 values per entity.
* html/parser/create-html-entity-table:
(convert_value_to_int):
    - Teach this script to handle entities that expand to multiple
      Unicode characters.
* xml/parser/CharacterReferenceParserInlineMethods.h:
(WebCore::consumeCharacterReference):
    - Update this function now that convertToUTF16 returns void.
* xml/parser/XMLCharacterReferenceParser.cpp:
    - The XML version of convertToUTF16 also needs to return void to
      match the HTML signature.  (It used to return true all the time
      as well.)
* xml/parser/XMLTreeBuilder.cpp:
(WebCore::XMLTreeBuilder::processHTMLEntity):
    - Update this caller use leftValue instead of value.  My sense is
      that this code is moderately broken today because it's using HTML
      entities in parsing XML.  I've added a FIXME.  This code is
      disabled in all builds, so I don't feel a big need to fix this
      issue in this patch.  We should either finish this project or
      delete this complexity from the project.

LayoutTests:

Show test progression.

* html5lib/runner-expected.txt:
* platform/chromium/html5lib/runner-expected.txt:

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

8 years agoAvoid instantiating ScrollAnimators when possible.
kling@webkit.org [Mon, 19 Dec 2011 18:11:20 +0000 (18:11 +0000)]
Avoid instantiating ScrollAnimators when possible.
<http://webkit.org/b/74830>

Reviewed by Beth Dakin.

Have RenderLayer::scrollToOffset() check if we're scrolling to the already
current offset. In that case, don't call down to scrollToOffsetWithoutAnimation(),
avoiding the instantiation of a ScrollAnimator.

This reduces memory consumption by 400 kB (on 32-bit) when viewing the full HTML5
spec on <http://whatwg.org/c>, since we were creating a ScrollAnimator for every
single RenderLayer.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollToOffset):

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

8 years ago[BlackBerry] remove one file related to multipart from the BlackBerry build system
commit-queue@webkit.org [Mon, 19 Dec 2011 18:07:40 +0000 (18:07 +0000)]
[BlackBerry] remove one file related to multipart from the BlackBerry build system
https://bugs.webkit.org/show_bug.cgi?id=74839

Patch by Chris Guan <chris.guan@torchmobile.com.cn> on 2011-12-19
Reviewed by Daniel Bates.

After refactored multipart, the code of MultipartResponseDelegate have been moved
out of WebCore, we do not need to upstream MultipartResponseDelegate any more.
So remove it from PlatformBlackBerry.cmake to update build system.

* PlatformBlackBerry.cmake:

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

8 years agoPlacement new does an unnecessary NULL check
ggaren@apple.com [Mon, 19 Dec 2011 17:45:13 +0000 (17:45 +0000)]
Placement new does an unnecessary NULL check
https://bugs.webkit.org/show_bug.cgi?id=74676

Reviewed by Sam Weinig.

Source/JavaScriptCore:

We can define our own version, which skips the NULL check.

Not a measurable speedup, but code inspection shows better code generated,
and I believe this is a step toward turning off -fomit-frame-pointer.

* API/JSCallbackConstructor.h:
(JSC::JSCallbackConstructor::create):
* API/JSCallbackFunction.h:
(JSC::JSCallbackFunction::create): Use the NotNull version of placement
new to skip the NULL check.

* API/JSCallbackObject.h: Removed a conflicting, unnecessaray placement new.

(JSC::JSCallbackObject::create):
* debugger/DebuggerActivation.h:
(JSC::DebuggerActivation::create):
* heap/HandleHeap.cpp:
(JSC::HandleHeap::grow):
* heap/HandleHeap.h:
(JSC::HandleHeap::allocate):
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::create):
(JSC::MarkedBlock::recycle):
* jit/JITCode.h:
(JSC::JITCode::clear):
* jsc.cpp:
(GlobalObject::create):
* profiler/CallIdentifier.h:
* runtime/Arguments.h:
(JSC::Arguments::create):
* runtime/ArrayConstructor.h:
(JSC::ArrayConstructor::create):
* runtime/ArrayPrototype.h:
(JSC::ArrayPrototype::create):
* runtime/BooleanConstructor.h:
(JSC::BooleanConstructor::create):
* runtime/BooleanObject.h:
(JSC::BooleanObject::create):
* runtime/BooleanPrototype.h:
(JSC::BooleanPrototype::create):
* runtime/DateConstructor.h:
(JSC::DateConstructor::create):
* runtime/DateInstance.h:
(JSC::DateInstance::create):
* runtime/DatePrototype.h:
(JSC::DatePrototype::create):
* runtime/Error.h:
(JSC::StrictModeTypeErrorFunction::create):
* runtime/ErrorConstructor.h:
(JSC::ErrorConstructor::create):
* runtime/ErrorInstance.h:
(JSC::ErrorInstance::create):
* runtime/ErrorPrototype.h:
(JSC::ErrorPrototype::create):
* runtime/ExceptionHelpers.h:
(JSC::InterruptedExecutionError::create):
(JSC::TerminatedExecutionError::create):
* runtime/Executable.h:
(JSC::NativeExecutable::create):
(JSC::EvalExecutable::create):
(JSC::ProgramExecutable::create):
(JSC::FunctionExecutable::create):
* runtime/FunctionConstructor.h:
(JSC::FunctionConstructor::create):
* runtime/FunctionPrototype.h:
(JSC::FunctionPrototype::create):
* runtime/GetterSetter.h:
(JSC::GetterSetter::create):
* runtime/JSAPIValueWrapper.h:
(JSC::JSAPIValueWrapper::create):
* runtime/JSActivation.h:
(JSC::JSActivation::create):
* runtime/JSArray.h:
(JSC::JSArray::create):
* runtime/JSBoundFunction.cpp:
(JSC::JSBoundFunction::create):
* runtime/JSByteArray.h:
(JSC::JSByteArray::create): Use the NotNull version of placement
new to skip the NULL check.

* runtime/JSCell.h: Removed a conflicting, unnecessaray placement new.

* runtime/JSFunction.cpp:
(JSC::JSFunction::create):
* runtime/JSFunction.h:
(JSC::JSFunction::create):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::create):
* runtime/JSGlobalThis.h:
(JSC::JSGlobalThis::create):
* runtime/JSNotAnObject.h:
(JSC::JSNotAnObject::create):
* runtime/JSONObject.h:
(JSC::JSONObject::create):
* runtime/JSObject.h:
(JSC::JSFinalObject::create):
* runtime/JSPropertyNameIterator.cpp:
(JSC::JSPropertyNameIterator::create):
* runtime/JSPropertyNameIterator.h:
(JSC::JSPropertyNameIterator::create):
* runtime/JSStaticScopeObject.h:
(JSC::JSStaticScopeObject::create):
* runtime/JSString.cpp:
(JSC::StringObject::create):
* runtime/JSString.h:
(JSC::RopeBuilder::createNull):
(JSC::RopeBuilder::create):
(JSC::RopeBuilder::createHasOtherOwner):
* runtime/MathObject.h:
(JSC::MathObject::create):
* runtime/NativeErrorConstructor.h:
(JSC::NativeErrorConstructor::create):
* runtime/NativeErrorPrototype.h:
(JSC::NativeErrorPrototype::create):
* runtime/NumberConstructor.h:
(JSC::NumberConstructor::create):
* runtime/NumberObject.h:
(JSC::NumberObject::create):
* runtime/NumberPrototype.h:
(JSC::NumberPrototype::create):
* runtime/ObjectConstructor.h:
(JSC::ObjectConstructor::create):
* runtime/ObjectPrototype.h:
(JSC::ObjectPrototype::create):
* runtime/RegExp.cpp:
(JSC::RegExp::createWithoutCaching):
* runtime/RegExpConstructor.h:
(JSC::RegExpConstructor::create):
* runtime/RegExpMatchesArray.h:
(JSC::RegExpMatchesArray::create):
* runtime/RegExpObject.h:
(JSC::RegExpObject::create):
* runtime/RegExpPrototype.h:
(JSC::RegExpPrototype::create):
* runtime/ScopeChain.h:
(JSC::ScopeChainNode::create):
* runtime/StrictEvalActivation.h:
(JSC::StrictEvalActivation::create):
* runtime/StringConstructor.h:
(JSC::StringConstructor::create):
* runtime/StringObject.h:
(JSC::StringObject::create):
* runtime/StringPrototype.h:
(JSC::StringPrototype::create):
* runtime/Structure.h:
(JSC::Structure::create):
(JSC::Structure::createStructure):
* runtime/StructureChain.h:
(JSC::StructureChain::create):
* testRegExp.cpp:
(GlobalObject::create):
* wtf/BitVector.cpp:
(WTF::BitVector::OutOfLineBits::create): Use the NotNull version of placement
new to skip the NULL check.

* wtf/BumpPointerAllocator.h:
(WTF::BumpPointerPool::create): Standardized spacing to make grep easier.

* wtf/ByteArray.cpp:
(WTF::ByteArray::create):
* wtf/Deque.h:
(WTF::::append):
(WTF::::prepend): Use NotNull, as above.

* wtf/FastAllocBase.h: Added a placement new, since this class would otherwise
hide the name of the global placement new.

(WTF::fastNew): Standardized spacing. Most of these functions don't need
NotNull, since they check for NULL, and the optimizer can see that.

* wtf/HashTable.h:
* wtf/HashTraits.h:
(WTF::SimpleClassHashTraits::constructDeletedValue):
* wtf/MetaAllocator.cpp:
(WTF::MetaAllocator::allocFreeSpaceNode): NotNull, as above.

* wtf/StdLibExtras.h:
(throw): This is our NotNull placement new. Declaring that we throw is
the C++ way to say that operator new will not return NULL.

* wtf/ThreadSpecific.h:
(WTF::T):
* wtf/Vector.h:
(WTF::::append):
(WTF::::tryAppend):
(WTF::::uncheckedAppend):
(WTF::::insert):
* wtf/text/AtomicStringHash.h:
* wtf/text/StringImpl.cpp:
(WTF::StringImpl::createUninitialized):
(WTF::StringImpl::reallocate):
* wtf/text/StringImpl.h:
(WTF::StringImpl::tryCreateUninitialized):
* wtf/text/StringStatics.cpp:
(WTF::AtomicString::init): Use NotNull, as above.

* yarr/YarrInterpreter.cpp:
(JSC::Yarr::Interpreter::allocDisjunctionContext):
(JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::ParenthesesDisjunctionContext):
(JSC::Yarr::Interpreter::allocParenthesesDisjunctionContext): Standardized
spacing for easy grep.

Source/WebCore:

* bindings/js/JSImageConstructor.h:
(WebCore::JSImageConstructor::create):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateConstructorDeclaration):
* bridge/c/CRuntimeObject.h:
(JSC::Bindings::CRuntimeObject::create):
* bridge/c/c_instance.cpp:
(JSC::Bindings::CRuntimeMethod::create):
* bridge/jni/jsc/JavaInstanceJSC.cpp:
(JavaRuntimeMethod::create):
* bridge/jni/jsc/JavaRuntimeObject.h:
(JSC::Bindings::JavaRuntimeObject::create):
* bridge/objc/ObjCRuntimeObject.h:
(JSC::Bindings::ObjCRuntimeObject::create):
* bridge/objc/objc_instance.mm:
(ObjCRuntimeMethod::create):
* bridge/objc/objc_runtime.h:
(JSC::Bindings::ObjcFallbackObjectImp::create):
* bridge/runtime_array.h:
(JSC::RuntimeArray::create):
* bridge/runtime_method.h:
(JSC::RuntimeMethod::create):
* bridge/runtime_object.h:
(JSC::Bindings::RuntimeObject::create):
* dom/Document.h:
(WebCore::FormElementKeyHashTraits::constructDeletedValue): Use NotNull
placement new, as in JavaScriptCore.

* platform/PODArena.h:
(WebCore::PODArena::allocateObject): No need to check for NULL explicitly,
since that's the built-in behavior of placement new.

* platform/graphics/FontCache.cpp:
(WebCore::FontDataCacheKeyTraits::constructDeletedValue):
* platform/graphics/IntRectHash.h:
* platform/graphics/IntSizeHash.h: More NotNull.

* rendering/RenderObject.h: Declaring that we throw is the C++ way to say
that operator new will not return NULL.

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

8 years agoRender text tracks
eric.carlson@apple.com [Mon, 19 Dec 2011 17:25:37 +0000 (17:25 +0000)]
Render text tracks
https://bugs.webkit.org/show_bug.cgi?id=62886

Reviewed by Sam Weinig.

Source/WebCore:

Test: media/track/track-cue-rendering.html

* css/mediaControls.css:
(video::-webkit-media-text-track-container):
(video::-webkit-media-text-track-display):

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_haveVisibleTextTrack.
(WebCore::HTMLMediaElement::updateActiveTextTrackCues): Trigger an update of the text
    track display.
(WebCore::HTMLMediaElement::textTrackModeChanged): call configureTextTrackDisplay() so
    the text track display is hidden or shown when necessary.
(WebCore::HTMLMediaElement::userIsInterestedInThisTrack): Minor cleanup.
(WebCore::HTMLMediaElement::createMediaControls): configureMediaControls() always called
    reset after creating the controls, do it here instead.
(WebCore::HTMLMediaElement::configureMediaControls): Simplify and cleanup.
(WebCore::HTMLMediaElement::configureTextTrackDisplay): Show and hide text track display.
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::currentlyVisibleCues):

* html/shadow/MediaControlElements.cpp:
(WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement): New.
(WebCore::RenderTextTrackContainerElement::layout): New. Call the display element so it can
    update the position and font size.
(WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement): New.
(WebCore::MediaControlTextTrackContainerElement::create): Ditto.
(WebCore::MediaControlTextTrackContainerElement::createRenderer): Ditto.
(WebCore::MediaControlTextTrackContainerElement::shadowPseudoId): Ditto.
(WebCore::MediaControlTextTrackContainerElement::updateSizes): Keep the cue display element
    positioned above the bottom of the video box, and size the font according to the video height.
(WebCore::MediaControlTextTrackDisplayElement::MediaControlTextTrackDisplayElement): New.
(WebCore::MediaControlTextTrackDisplayElement::create): Ditto.
(WebCore::MediaControlTextTrackDisplayElement::shadowPseudoId): Ditto.
* html/shadow/MediaControlElements.h:
(WebCore::MediaControlTextTrackContainerElement::displayType):
(WebCore::MediaControlTextTrackDisplayElement::displayType):

* html/shadow/MediaControlRootElement.cpp:
(WebCore::MediaControlRootElement::MediaControlRootElement): New.
(WebCore::MediaControlRootElement::setMediaController): Ditto.
(WebCore::MediaControlRootElement::createTextTrackDisplay): Ditto.
(WebCore::MediaControlRootElement::showTextTrackDisplay): Ditto.
(WebCore::MediaControlRootElement::hideTextTrackDisplay): Ditto.
(WebCore::MediaControlRootElement::updateTextTrackDisplay): Ditto.
* html/shadow/MediaControlRootElement.h:

* html/shadow/MediaControlRootElementChromium.cpp:
(WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium): New.
(WebCore::MediaControlRootElement::createTextTrackDisplay): Ditto.
(WebCore::MediaControlRootElement::showTextTrackDisplay): Ditto.
(WebCore::MediaControlRootElement::hideTextTrackDisplay): Ditto.
(WebCore::MediaControlRootElement::updateTextTrackDisplay): Ditto.
* html/shadow/MediaControlRootElementChromium.h:
* html/shadow/MediaControls.h:

LayoutTests:

* media/media-controls.js:
(mediaControlsElement): Don't always look for a controller element.
(mediaControlsButtonCoordinates):
(textTrackDisplayElement): Find the cue display element.

* media/track/track-cue-rendering-expected.txt: Added.
* media/track/track-cue-rendering.html: Added.

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

8 years ago[Qt] Test fonts are not used with Qt5
ossy@webkit.org [Mon, 19 Dec 2011 17:12:03 +0000 (17:12 +0000)]
[Qt] Test fonts are not used with Qt5
https://bugs.webkit.org/show_bug.cgi?id=72513

* platform/qt-5.0/Skipped: Unskip now passing tests.

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

8 years agoEnable <track> for Mac build
eric.carlson@apple.com [Mon, 19 Dec 2011 15:59:20 +0000 (15:59 +0000)]
Enable <track> for Mac build
https://bugs.webkit.org/show_bug.cgi?id=74838

Reviewed by Darin Adler.

Source/JavaScriptCore:

* wtf/Platform.h:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:
* bindings/generic/RuntimeEnabledFeatures.cpp:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

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

8 years ago[Qt] Test fonts are not used with Qt5
ossy@webkit.org [Mon, 19 Dec 2011 15:56:52 +0000 (15:56 +0000)]
[Qt] Test fonts are not used with Qt5
https://bugs.webkit.org/show_bug.cgi?id=72513

* platform/qt-5.0/Skipped: Unskip now passing tests.
* platform/qt-wk2/Skipped: Skip unskipped qt-5.0 tests fail on qt-wk2.

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

8 years ago[Qt] [WK2] Fix build error due to unused variables
caio.oliveira@openbossa.org [Mon, 19 Dec 2011 15:34:01 +0000 (15:34 +0000)]
[Qt] [WK2] Fix build error due to unused variables
https://bugs.webkit.org/show_bug.cgi?id=74862

Reviewed by Kenneth Rohde Christiansen.

* UIProcess/qt/QtWebPageEventHandler.cpp:
(QtWebPageEventHandler::inputMethodEvent):

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

8 years agoSource/WebCore: Make the Editor::setIgnoreCompositionSelectionChange public as it...
kenneth@webkit.org [Mon, 19 Dec 2011 15:29:51 +0000 (15:29 +0000)]
Source/WebCore: Make the Editor::setIgnoreCompositionSelectionChange public as it is needed by Qt

Reviewed by Simon Hausmann.

* editing/Editor.h:

Source/WebKit2: [Qt] Add methods for setting, cancelling and confirming the composition

Reviewed by Simon Hausmann.

* UIProcess/WebPageProxy.h:
* UIProcess/qt/WebPageProxyQt.cpp:
(WebKit::WebPageProxy::setComposition):
(WebKit::WebPageProxy::confirmComposition):
(WebKit::WebPageProxy::cancelComposition):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/qt/WebPageQt.cpp:
(WebKit::targetFrameForEditing):
(WebKit::WebPage::confirmComposition):
(WebKit::WebPage::setComposition):
(WebKit::WebPage::cancelComposition):

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

8 years agoWeb Inspector: Implement CSS selector profiler backend
apavlov@chromium.org [Mon, 19 Dec 2011 15:14:14 +0000 (15:14 +0000)]
Web Inspector: Implement CSS selector profiler backend
https://bugs.webkit.org/show_bug.cgi?id=74603

Reviewed by Pavel Feldman.

No new tests, as the changed code does not result in visible effects yet.

* inspector/Inspector.json:
* inspector/InspectorCSSAgent.cpp:
(WebCore::RuleMatchingStats::RuleMatchingStats):
(WebCore::SelectorProfile::SelectorProfile):
(WebCore::SelectorProfile::~SelectorProfile):
(WebCore::SelectorProfile::totalMatchingTimeMs):
(WebCore::SelectorProfile::startSelector):
(WebCore::SelectorProfile::commitSelector):
(WebCore::SelectorProfile::commitSelectorTime):
(WebCore::SelectorProfile::toInspectorObject):
(WebCore::InspectorCSSAgent::clearFrontend):
(WebCore::InspectorCSSAgent::restore):
(WebCore::InspectorCSSAgent::startSelectorProfiler):
(WebCore::InspectorCSSAgent::stopSelectorProfiler):
(WebCore::InspectorCSSAgent::willMatchRule):
(WebCore::InspectorCSSAgent::didMatchRule):
(WebCore::InspectorCSSAgent::willProcessRule):
(WebCore::InspectorCSSAgent::didProcessRule):
* inspector/InspectorCSSAgent.h:

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

8 years agoWeb Inspector: Status bar button glyph for the "Record" buttons broken
apavlov@chromium.org [Mon, 19 Dec 2011 15:04:03 +0000 (15:04 +0000)]
Web Inspector: Status bar button glyph for the "Record" buttons broken
https://bugs.webkit.org/show_bug.cgi?id=74861

Reviewed by Pavel Feldman.

* inspector/front-end/inspector.css:
(.record-cpu-profile-status-bar-item .glyph, .record-profile-status-bar-item .glyph):
(.record-cpu-profile-status-bar-item.toggled-on .glyph, .record-profile-status-bar-item.toggled-on .glyph):

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

8 years ago[Efl] Fix path returned by builtDylibPathForName in webkitdirs.pm
kubo@profusion.mobi [Mon, 19 Dec 2011 14:31:07 +0000 (14:31 +0000)]
[Efl] Fix path returned by builtDylibPathForName in webkitdirs.pm
https://bugs.webkit.org/show_bug.cgi?id=74854

Reviewed by Csaba Osztrogonác.

Since r101052, libewebkit.so is built in a different location, so we
need to adjust the path returned by builtDylibPathForName.

usesPerConfigurationBuildDirectory also needs to be fixed, as the Efl
port also respects Release/Debug configurations.

These changes should make run-launcher finally work correctly with
webkit-efl.

* Scripts/webkitdirs.pm:
(usesPerConfigurationBuildDirectory):
(builtDylibPathForName):

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

8 years agoFirst stab at upstreaming our virtual keyboard code
kenneth@webkit.org [Mon, 19 Dec 2011 14:27:47 +0000 (14:27 +0000)]
First stab at upstreaming our virtual keyboard code

Reviewed by Simon Hausmann.

Add basic implementation of inputMethodEvent

* UIProcess/qt/QtWebPageEventHandler.cpp:
(QtWebPageEventHandler::handleEvent):
(QtWebPageEventHandler::inputMethodEvent):
* UIProcess/qt/QtWebPageEventHandler.h:

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

8 years ago[Qt] Cleanup QTM_NAMESPACE usage in DeviceOrientationProviderQt
commit-queue@webkit.org [Mon, 19 Dec 2011 14:01:00 +0000 (14:01 +0000)]
[Qt] Cleanup QTM_NAMESPACE usage in DeviceOrientationProviderQt
https://bugs.webkit.org/show_bug.cgi?id=74853

Patch by Alexander Færøy <ahf@0x90.dk> on 2011-12-19
Reviewed by Simon Hausmann.

* Api/qwebframe_p.h:
* WebCoreSupport/DeviceOrientationProviderQt.cpp:
* WebCoreSupport/DeviceOrientationProviderQt.h:

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

8 years agoWeb Inspector: only the first @rule is highlighted in CSS
pfeldman@chromium.org [Mon, 19 Dec 2011 13:35:23 +0000 (13:35 +0000)]
Web Inspector: only the first @rule is highlighted in CSS
https://bugs.webkit.org/show_bug.cgi?id=74568

Patch by Pavel Feldman <pavel.feldman@gmail.com> on 2011-12-19
Reviewed by Timothy Hatcher.

* inspector/front-end/SourceCSSTokenizer.js:
(WebInspector.SourceCSSTokenizer.prototype.nextToken):
* inspector/front-end/SourceCSSTokenizer.re2js:

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

8 years ago[Qt] Cleanup DeviceMotionClientQt and friends.
commit-queue@webkit.org [Mon, 19 Dec 2011 13:22:26 +0000 (13:22 +0000)]
[Qt] Cleanup DeviceMotionClientQt and friends.
https://bugs.webkit.org/show_bug.cgi?id=74849

This patch cleans up the DeviceMotionQt class and friends by applying
the following changes:

- Remove unnecessary pointer to QWebPage. This is needed to be able to
  reuse the code for WebKit2.
- Remove QObject dependencies and all signals/slots. Instead, we call
  didChangeDeviceMotion() on the controller directly from
  DeviceMotionProviderQt.

Patch by Alexander Færøy <ahf@0x90.dk> on 2011-12-19
Reviewed by Simon Hausmann.

* Api/qwebpage.cpp:
(QWebPagePrivate::QWebPagePrivate):
* WebCoreSupport/DeviceMotionClientQt.cpp:
(WebCore::DeviceMotionClientQt::DeviceMotionClientQt):
(WebCore::DeviceMotionClientQt::~DeviceMotionClientQt):
(WebCore::DeviceMotionClientQt::setController):
* WebCoreSupport/DeviceMotionClientQt.h:
* WebCoreSupport/DeviceMotionProviderQt.cpp:
(WebCore::DeviceMotionProviderQt::DeviceMotionProviderQt):
(WebCore::DeviceMotionProviderQt::setController):
(WebCore::DeviceMotionProviderQt::filter):
* WebCoreSupport/DeviceMotionProviderQt.h:

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