WebKit-https.git
7 years agoUnreviewed Chromium test expectation update after r119893.
leviw@chromium.org [Wed, 13 Jun 2012 17:24:59 +0000 (17:24 +0000)]
Unreviewed Chromium test expectation update after r119893.

* fast/multicol/nested-columns-expected.txt: Added.
* fast/multicol/vertical-lr/nested-columns-expected.txt: Added.
* platform/chromium-linux-x86/fast/borders: Removed.
* platform/chromium-linux-x86/fast/multicol/vertical-rl: Added.
* platform/chromium-linux-x86/fast/multicol/vertical-rl/nested-columns-expected.png: Added.
* platform/chromium-linux/fast/borders/border-antialiasing-expected.png:
* platform/chromium-linux/fast/multicol/nested-columns-expected.png:
* platform/chromium-linux/fast/multicol/vertical-lr/nested-columns-expected.png:
* platform/chromium-linux/fast/multicol/vertical-rl/nested-columns-expected.png:
* platform/chromium-linux/fast/sub-pixel/file-upload-control-at-fractional-offset-expected.png: Added.
* platform/chromium-linux/fast/sub-pixel/file-upload-control-at-fractional-offset-expected.txt: Added.
* platform/chromium-mac-leopard/fast/borders/border-antialiasing-expected.png:
* platform/chromium-mac-leopard/fast/multicol/nested-columns-expected.png:
* platform/chromium-mac-leopard/fast/sub-pixel/file-upload-control-at-fractional-offset-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/sub-pixel/file-upload-control-at-fractional-offset-expected.txt: Removed.
* platform/chromium-mac/fast/borders/border-antialiasing-expected.png:
* platform/chromium-mac/fast/multicol/nested-columns-expected.png:
* platform/chromium-mac/fast/multicol/vertical-lr/nested-columns-expected.png:
* platform/chromium-mac/fast/multicol/vertical-rl/nested-columns-expected.png:
* platform/chromium-mac/fast/sub-pixel/file-upload-control-at-fractional-offset-expected.png: Added.
* platform/chromium-mac/fast/sub-pixel/file-upload-control-at-fractional-offset-expected.txt: Added.
* platform/chromium-win-vista/fast/borders: Removed.
* platform/chromium-win-vista/fast/multicol: Added.
* platform/chromium-win-vista/fast/multicol/vertical-rl: Added.
* platform/chromium-win-vista/fast/multicol/vertical-rl/nested-columns-expected.png: Added.
* platform/chromium-win-xp/fast/borders: Removed.
* platform/chromium-win/fast/borders/border-antialiasing-expected.png:
* platform/chromium-win/fast/multicol/nested-columns-expected.png:
* platform/chromium-win/fast/multicol/vertical-lr/nested-columns-expected.png:
* platform/chromium-win/fast/multicol/vertical-rl/nested-columns-expected.png:
* platform/chromium-win/fast/sub-pixel/file-upload-control-at-fractional-offset-expected.png: Added.
* platform/chromium-win/fast/sub-pixel/file-upload-control-at-fractional-offset-expected.txt: Added.
* platform/chromium/TestExpectations:
* platform/efl/fast/multicol/nested-columns-expected.txt: Removed.
* platform/efl/fast/multicol/vertical-lr/nested-columns-expected.txt: Removed.
* platform/gtk/fast/multicol/nested-columns-expected.txt: Removed.
* platform/gtk/fast/multicol/vertical-lr/nested-columns-expected.txt: Removed.

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

7 years ago[Chromium] Let Android and Linux share WebFontRendering decl/impl.
wangxianzhu@chromium.org [Wed, 13 Jun 2012 17:09:54 +0000 (17:09 +0000)]
[Chromium] Let Android and Linux share WebFontRendering decl/impl.
https://bugs.webkit.org/show_bug.cgi?id=88802

Reviewed by Adam Barth.

* WebKit.gyp:
* public/linux/WebFontRendering.h: Temporarily forwards to the new file under linuxish.
* public/linuxish: Added.
* public/linuxish/WebFontRendering.h: Copied from chromium/public/linux/WebFontRendering.h.
* src/linux/WebFontRendering.cpp: Removed.
* src/linuxish: Added.
* src/linuxish/WebFontRendering.cpp: Copied from chromium/src/linux/WebFontRendering.cpp.

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

7 years ago[Chromium] WebFrameImpl::find doesn't work for searching from a selection.
commit-queue@webkit.org [Wed, 13 Jun 2012 16:41:08 +0000 (16:41 +0000)]
[Chromium] WebFrameImpl::find doesn't work for searching from a selection.
https://bugs.webkit.org/show_bug.cgi?id=88885

Patch by Martin Kosiba <mkosiba@google.com> on 2012-06-13
Reviewed by Adam Barth.

Remember the active match not just until the seatchText changes but for the entire find session.

* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::find):
(WebKit::WebFrameImpl::setFindEndstateFocusAndSelection):

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

7 years ago[Qt] Fixed visible content rect lost during page-load
commit-queue@webkit.org [Wed, 13 Jun 2012 16:38:42 +0000 (16:38 +0000)]
[Qt] Fixed visible content rect lost during page-load
https://bugs.webkit.org/show_bug.cgi?id=88991

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

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):

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

7 years agoUpdate buildbot master in autoinstaller to match build.webkit.org
ossy@webkit.org [Wed, 13 Jun 2012 16:26:49 +0000 (16:26 +0000)]
Update buildbot master in autoinstaller to match build.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=88992

Reviewed by Adam Barth.

* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook._install_buildbot):

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

7 years agoSkip the isolated world tests for Gtk - the infrastructure is missing
zandobersek@gmail.com [Wed, 13 Jun 2012 16:16:35 +0000 (16:16 +0000)]
Skip the isolated world tests for Gtk - the infrastructure is missing
and they take too long to fail by timing out, lengthening the bot cycles.

Rubber-stamped by Philippe Normand.

* platform/gtk/TestExpectations:

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

7 years agoUnreviewed, rolling out r120209.
commit-queue@webkit.org [Wed, 13 Jun 2012 16:13:19 +0000 (16:13 +0000)]
Unreviewed, rolling out r120209.
http://trac.webkit.org/changeset/120209
https://bugs.webkit.org/show_bug.cgi?id=89007

Broke the WebKit2 mac build. (Requested by andersca on
#webkit).

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

Source/WebKit2:

* CMakeLists.txt:
* GNUmakefile.list.am:
* Shared/API/c/WKBase.h:
* Shared/APIClientTraits.h:
* Shared/APIObject.h:
* Shared/IntentData.cpp: Removed.
* Shared/IntentData.h: Removed.
* Target.pri:
* UIProcess/API/C/WKAPICast.h:
(WebKit):
* UIProcess/API/C/WKPage.h:
* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(attachLoaderClientToView):
* UIProcess/WebIntentData.cpp: Removed.
* UIProcess/WebIntentData.h: Removed.
* UIProcess/WebLoaderClient.cpp:
* UIProcess/WebLoaderClient.h:
(WebKit):
(WebLoaderClient):
* UIProcess/WebPageProxy.cpp:
* UIProcess/WebPageProxy.h:
(WebKit):
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchIntent):

Tools:

* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController awakeFromNib]):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):

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

7 years agoWeb Inspector: Errors when pending console messages are attached to JavaScriptSourceF...
vsevik@chromium.org [Wed, 13 Jun 2012 15:35:06 +0000 (15:35 +0000)]
Web Inspector: Errors when pending console messages are attached to JavaScriptSourceFrame.
https://bugs.webkit.org/show_bug.cgi?id=88712

Reviewed by Pavel Feldman.

* inspector/front-end/PresentationConsoleMessageHelper.js:
(WebInspector.PresentationConsoleMessageHelper):
(WebInspector.PresentationConsoleMessageHelper.prototype._addPendingConsoleMessage):
(WebInspector.PresentationConsoleMessageHelper.prototype._parsedScriptSource):

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

7 years ago[Chromium] Fix Clang build with USE(NATIVE_FULLSCREEN_VIDEO)=1
peter@chromium.org [Wed, 13 Jun 2012 15:29:34 +0000 (15:29 +0000)]
[Chromium] Fix Clang build with USE(NATIVE_FULLSCREEN_VIDEO)=1
https://bugs.webkit.org/show_bug.cgi?id=88987

Reviewed by Simon Hausmann.

The enterFullscreen method is declared as const by MediaPlayerPrivateInterface,
so this one should be declared as such as well.

* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::enterFullscreen):
* src/WebMediaPlayerClientImpl.h:
(WebMediaPlayerClientImpl):

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

7 years agocheck-webkit-style needs to respect Qt API coding style
zoltan@webkit.org [Wed, 13 Jun 2012 15:15:44 +0000 (15:15 +0000)]
check-webkit-style needs to respect Qt API coding style
https://bugs.webkit.org/show_bug.cgi?id=88995

Reviewed by Csaba Osztrogonác.

Add -whitespace/declaration exception to Qt API files.

* Scripts/webkitpy/style/checker.py:

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

7 years agoWeb Inspector: add a way to get the remote inspector url for a given page.
alexis.menard@openbossa.org [Wed, 13 Jun 2012 15:14:33 +0000 (15:14 +0000)]
Web Inspector: add a way to get the remote inspector url for a given page.
https://bugs.webkit.org/show_bug.cgi?id=88902

Reviewed by Jocelyn Turcotte.

Expose the remote inspector url for a given page in the API. If you want
to create a web view and load directly the inspector for the page you want to inspect,
it helps to get the url as it is impossible to figure it out from the API layer.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewExperimental::remoteInspectorUrl):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/InspectorServer/WebInspectorServer.cpp:
(WebKit):
(WebKit::WebInspectorServer::inspectorUrlForPageID):
* UIProcess/InspectorServer/WebInspectorServer.h:
(WebInspectorServer):
* UIProcess/InspectorServer/WebSocketServer.cpp:
(WebKit::WebSocketServer::WebSocketServer):
(WebKit::WebSocketServer::listen):
(WebKit::WebSocketServer::close):
* UIProcess/InspectorServer/WebSocketServer.h:
(WebKit::WebSocketServer::bindAddress):
(WebKit::WebSocketServer::port):
(WebKit::WebSocketServer::serverState):
(WebSocketServer):
* UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
(WebKit::remoteInspectorPagePath):
(WebKit):
(WebKit::WebInspectorServer::inspectorUrlForPageID):
(WebKit::WebInspectorServer::buildPageList):
* UIProcess/WebInspectorProxy.h:
(WebKit::WebInspectorProxy::remoteInspectionPageID):

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

7 years agoUnreviewed GTK gardening after r120100, r120167, r120173 and r120181.
zandobersek@gmail.com [Wed, 13 Jun 2012 15:07:57 +0000 (15:07 +0000)]
Unreviewed GTK gardening after r120100, r120167, r120173 and r120181.

* fast/events/constructors/speech-recognition-error-constructor-expected.txt:
* platform/gtk/editing/pasteboard/4641033-expected.txt:
* platform/gtk/editing/selection/mixed-editability-1-expected.txt:
* platform/gtk/editing/selection/paragraph-granularity-expected.txt:
* platform/gtk/editing/selection/triple-click-in-pre-expected.txt:
* platform/gtk/editing/selection/word-granularity-expected.txt:
* platform/gtk/fast/multicol/span/clone-flexbox-expected.txt:
* platform/gtk/http/tests/misc/location-replace-crossdomain-expected.txt:

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

7 years ago[WK2] Add implementation for dispatchIntent in WebFrameLoaderClient
commit-queue@webkit.org [Wed, 13 Jun 2012 15:05:42 +0000 (15:05 +0000)]
[WK2] Add implementation for dispatchIntent in WebFrameLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=88340

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

Source/WebKit2:

Add implementation for dispatchIntent() in WebFrameLoaderClient.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Shared/API/c/WKBase.h:
* Shared/APIClientTraits.h:
* Shared/APIObject.h:
* Shared/IntentData.cpp: Added.
(WebKit):
(WebKit::IntentData::encode):
(WebKit::IntentData::decode):
* Shared/IntentData.h: Added.
(CoreIPC):
(WebKit):
(IntentData):
* Target.pri:
* UIProcess/API/C/WKAPICast.h:
(WebKit):
* UIProcess/API/C/WKPage.h:
* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(attachLoaderClientToView):
* UIProcess/WebIntentData.cpp: Added.
(WebKit):
(WebKit::WebIntentData::WebIntentData):
(WebKit::WebIntentData::data):
* UIProcess/WebIntentData.h: Added.
(WebKit):
(WebIntentData):
(WebKit::WebIntentData::create):
(WebKit::WebIntentData::~WebIntentData):
(WebKit::WebIntentData::action):
(WebKit::WebIntentData::payloadType):
(WebKit::WebIntentData::extras):
(WebKit::WebIntentData::suggestions):
(WebKit::WebIntentData::type):
* UIProcess/WebLoaderClient.cpp:
(WebKit):
(WebKit::WebLoaderClient::didReceiveIntentForFrame):
* UIProcess/WebLoaderClient.h:
(WebKit):
(WebLoaderClient):
* UIProcess/WebPageProxy.cpp:
(WebKit):
(WebKit::WebPageProxy::didReceiveIntentForFrame):
* UIProcess/WebPageProxy.h:
(WebKit):
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchIntent):

Tools:

Update initialization of WKPageLoaderClient.

* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController awakeFromNib]):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):

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

7 years agoWeb Inspector: Support user attributes in DOMNode
apavlov@chromium.org [Wed, 13 Jun 2012 15:03:56 +0000 (15:03 +0000)]
Web Inspector: Support user attributes in DOMNode
https://bugs.webkit.org/show_bug.cgi?id=88706

Reviewed by Pavel Feldman.

Source/WebCore:

This change allows clients to store arbitrary properties on DOMNodes and know if there are descendants
(and how many of them) having a certain property set.

Test: inspector/elements/user-attributes.html

* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode.prototype._removeChild):
(WebInspector.DOMNode.prototype._updateChildUserPropertyCountsOnRemoval):
(WebInspector.DOMNode.prototype._updateDescendantUserPropertyCount):
(WebInspector.DOMNode.prototype.setUserProperty):
(WebInspector.DOMNode.prototype.removeUserProperty):
(WebInspector.DOMNode.prototype.getUserProperty):
(WebInspector.DOMNode.prototype.descendantUserPropertyCount):

LayoutTests:

* http/tests/inspector/elements-test.js:
(initialize_ElementTest.InspectorTest.dumpElementsTree.dumpMap):
(initialize_ElementTest.InspectorTest.dumpElementsTree.userPropertyDataDump):
(initialize_ElementTest.InspectorTest.dumpElementsTree.print):
(initialize_ElementTest.InspectorTest.dumpElementsTree):
* inspector/elements/resources/user-properties.js: Added.
(test.step0):
(test.step1):
(test.step2):
(test):
* inspector/elements/user-properties-expected.txt: Added.
* inspector/elements/user-properties.html: Added.

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

7 years ago[Qt] Handle multiple held buttons in touch mocking.
commit-queue@webkit.org [Wed, 13 Jun 2012 15:01:49 +0000 (15:01 +0000)]
[Qt] Handle multiple held buttons in touch mocking.
https://bugs.webkit.org/show_bug.cgi?id=88865

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

Add handling for multiple held mouse-buttons in the appropiate places.
To do this last-pos and start-pos are now also read from the last recorded
touch-point instead from object-global variables.

* MiniBrowser/qt/MiniBrowserApplication.cpp:
(MiniBrowserApplication::notify):
(MiniBrowserApplication::updateTouchPoint):
* MiniBrowser/qt/MiniBrowserApplication.h:
(MiniBrowserApplication):

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

7 years agoREGRESSION:Bindings sequence<T> in Console.idl, Internals.idl and ScriptProfileNode...
commit-queue@webkit.org [Wed, 13 Jun 2012 14:40:02 +0000 (14:40 +0000)]
REGRESSION:Bindings sequence<T> in Console.idl, Internals.idl and ScriptProfileNode.idl should be T[]
https://bugs.webkit.org/show_bug.cgi?id=84863

Patch by Vineet Chaudhary <vineet.chaudhary@motorola.com> on 2012-06-13
Reviewed by Kentaro Hara.

With reference to http://www.w3.org/TR/WebIDL/#idl-sequence
"Sequences must not be used as the type of an attribute, constant or exception field."
So we should use T[] instead of sequence<T>.

Source/WebCore:

Tests: bindings/scripts/test/TestObj.idl
       fast/harness/user-preferred-language.html
       inspector/profiler/cpu-profiler-profiling-without-inspector.html
       media/track/track-language-preference.html

* bindings/scripts/CodeGenerator.pm:
(GetSequenceType): Getter for getting sequence type.
(GetArrayType): Getter for getting array type.
(AssertNotSequenceType): Check sequences must not be used as the type of an attribute,
constant or exception field.
* bindings/scripts/CodeGeneratorCPP.pm:
(SkipFunction): Exclude bindings code for type sequence.
(SkipAttribute): Check for sequences must not be used as the type of an attribute,
constant or exception field.
(AddIncludesForType): Exclude header inclusion code for type array/sequence.
* bindings/scripts/CodeGeneratorGObject.pm:
(SkipAttribute): Check for sequences must not be used as the type of an attribute,
constant or exception field.
(SkipFunction): Exclude bindings code for type sequence.
* bindings/scripts/CodeGeneratorJS.pm:
(AddIncludesForType): Exclude header inclusion code for type array/sequence.
(GenerateImplementation):  Check for sequences must not be used as the type of an attribute,
constant or exception field.
(GetNativeType):
(JSValueToNative):
(NativeToJSValue):
* bindings/scripts/CodeGeneratorObjC.pm:
(SkipFunction): Exclude bindings code for type sequence.
(SkipAttribute): Exclude bindings code for type array.
(AddForwardDeclarationsForType):
(AddIncludesForType):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNormalAttrGetter):
(GetNativeType):
(JSValueToNative):
(CreateCustomSignature):
(NativeToJSValue):
* bindings/scripts/test/JS/JSTestObj.cpp: Updated code from run-bindings-tests.
(WebCore):
(WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
* bindings/scripts/test/JS/JSTestObj.h: Updated code from run-bindings-tests.
(WebCore):
* bindings/scripts/test/TestObj.idl: Tests.
* bindings/scripts/test/V8/V8TestObj.cpp:  Updated code from run-bindings-tests.
(TestObjV8Internal):
(WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
(WebCore):
* inspector/ScriptProfileNode.idl: Using sequence<T> for children().
* page/Console.idl: Using Array[T] for profiles attribute.
* testing/Internals.idl: Using sequence<T> for userPreferredLanguages().

LayoutTests:

* fast/harness/user-preferred-language.html: Using getter and setter
for userPreferredLanguages.
* inspector/profiler/cpu-profiler-profiling-without-inspector.html:
Use ScriptProfileNode.children as function.
* media/track/track-language-preference-expected.txt:
* media/track/track-language-preference.html: Using setter for
userPreferredLanguages.

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

7 years ago[Qt][WK2] Scanning plugins blocks the UI for a long time
kbalazs@webkit.org [Wed, 13 Jun 2012 14:39:32 +0000 (14:39 +0000)]
[Qt][WK2] Scanning plugins blocks the UI for a long time
https://bugs.webkit.org/show_bug.cgi?id=88535

Reviewed by Simon Hausmann.

Implement a persistent cache for the meta data of plugins.
This way the UI process will not block for too long when
it's time to scan the plugins (except the first time).
The cache is a json file stored in a standard hidden cache
directory.

* Shared/qt/QtDefaultDataLocation.cpp: Added.
(WebKit):
(WebKit::defaultDataLocation):
* Shared/qt/QtDefaultDataLocation.h: Added.
(WebKit):
Added a common helper for the path we use to
put stuff into.

* Target.pri:
* UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
(WebKit::cacheFile):
(WebKit):
(WebKit::readMetaDataFromCacheFile):
(WebKit::writeToCacheFile):
(WebKit::appendToCacheFile):
(WebKit::tryReadPluginMetaDataFromCacheFile):
(WebKit::PluginProcessProxy::scanPlugin):
* UIProcess/qt/WebContextQt.cpp:

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

7 years ago[Qt] Unreviewed gardening.
kkristof@inf.u-szeged.hu [Wed, 13 Jun 2012 14:37:49 +0000 (14:37 +0000)]
[Qt] Unreviewed gardening.

Rebaseline updated tests to green Qt bots.

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

* platform/qt/editing/pasteboard/4641033-expected.txt:
* platform/qt/editing/selection/mixed-editability-1-expected.txt:
* platform/qt/editing/selection/paragraph-granularity-expected.txt:
* platform/qt/editing/selection/triple-click-in-pre-expected.txt:
* platform/qt/editing/selection/word-granularity-expected.txt:
* platform/qt/http/tests/misc/location-replace-crossdomain-expected.txt:

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

7 years ago[Qt] Make it possible to disable -Werror in production builds
hausmann@webkit.org [Wed, 13 Jun 2012 14:27:04 +0000 (14:27 +0000)]
[Qt] Make it possible to disable -Werror in production builds

Reviewed by Tor Arne Vestbø.

Don't do -Werror if build-webkit is called with --qmakearg=CONFIG+=production_build,
something qt5.git's qtwebkit.pri will soon do.

* qmake/mkspecs/features/unix/default_post.prf:

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

7 years ago[Qt] Do not set contents pos to the current position
kenneth@webkit.org [Wed, 13 Jun 2012 14:22:13 +0000 (14:22 +0000)]
[Qt] Do not set contents pos to the current position
https://bugs.webkit.org/show_bug.cgi?id=88990

Reviewed by Laszlo Gombos.

This is basically an optimization but it also solves flickering
in some cases.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebView::setContentPos):

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

7 years ago[EFL][DRT] Gardening for a greener bot
commit-queue@webkit.org [Wed, 13 Jun 2012 14:08:46 +0000 (14:08 +0000)]
[EFL][DRT] Gardening for a greener bot
https://bugs.webkit.org/show_bug.cgi?id=88971

Unreviewed, EFL gardening.

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-06-13

* platform/efl/TestExpectations:
* platform/efl/fast/multicol/span/clone-flexbox-expected.txt: rebaselined after r120100.
* platform/efl/http/tests/loading/gmail-assert-on-load-expected.txt: Added, we print more verbosely.

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

7 years ago[GTK][EFL] Skip http/tests/misc/redirect-to-about-blank.html
commit-queue@webkit.org [Wed, 13 Jun 2012 13:54:49 +0000 (13:54 +0000)]
[GTK][EFL] Skip http/tests/misc/redirect-to-about-blank.html
https://bugs.webkit.org/show_bug.cgi?id=88962

Unreviewed gardening. Skip http/tests/misc/redirect-to-about-blank.html
for both EFL and GTK ports. The test is failing after r120145.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-06-13

* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:

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

7 years ago[EFL] Store and compare md5sum of jhbuild files to trigger cleaning Dependencies
commit-queue@webkit.org [Wed, 13 Jun 2012 13:51:08 +0000 (13:51 +0000)]
[EFL] Store and compare md5sum of jhbuild files to trigger cleaning Dependencies
https://bugs.webkit.org/show_bug.cgi?id=85790

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-06-13
Reviewed by Gustavo Noronha Silva.

Add md5 checks for jhbuild configuration for EFL, reusing the gtk jhbuild related
code in webkitdirs.pm.

* Scripts/webkitdirs.pm:
(jhbuildConfigurationChanged):
(saveJhbuildMd5):
(cleanJhbuild):
(buildAutotoolsProject):
(generateBuildSystemFromCMakeProject):

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

7 years agoUnreviewed GTK gardening, clean up the crashing tests, either removing
zandobersek@gmail.com [Wed, 13 Jun 2012 13:51:02 +0000 (13:51 +0000)]
Unreviewed GTK gardening, clean up the crashing tests, either removing
their expectations completely or expanding them to avoid false 'newly-passing'
reports. Also split some expectations as some tests are failing differently in
debug and release builds.

* platform/gtk/TestExpectations:

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

7 years ago[Qt] Remove dependency to QtScript for the Qt 5 build
hausmann@webkit.org [Wed, 13 Jun 2012 13:37:54 +0000 (13:37 +0000)]
[Qt] Remove dependency to QtScript for the Qt 5 build
https://bugs.webkit.org/show_bug.cgi?id=88993

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Replace the use of QScriptEngine::ValueOwnership with an enum local
to the class where it is used (QtInstance).

* Target.pri:
* bindings/js/ScriptControllerQt.cpp:
(WebCore::ScriptController::createScriptInstanceForWidget):
* bridge/qt/qt_instance.cpp:
(JSC::Bindings::QtInstance::QtInstance):
(JSC::Bindings::QtInstance::~QtInstance):
(JSC::Bindings::QtInstance::getQtInstance):
* bridge/qt/qt_instance.h:
(QtInstance):
(JSC::Bindings::QtInstance::create):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertQVariantToValue):
* bridge/qt/qt_runtime_qt4.cpp:
(JSC::Bindings::convertQVariantToValue):

Source/WebKit/qt:

When building against Qt 5, replace the use of QScriptEngine::ValueOwnership with
a (compatible) QWebFrame::ValueOwnership enum.

* Api/qwebframe.cpp:
(qtSenderCallback):
(QWebFrame::addToJavaScriptWindowObject):
* Api/qwebframe.h:
* tests/qobjectbridge/tst_qobjectbridge.cpp:
(tst_QObjectBridge::arrayObjectEnumerable):
(tst_QObjectBridge::ownership):
(tst_QObjectBridge::qObjectWrapperWithSameIdentity):

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

7 years ago[Qt] Save a JSGlobalContextRef instead of a JSContextRef in QtConnectionObject
caio.oliveira@openbossa.org [Wed, 13 Jun 2012 13:11:24 +0000 (13:11 +0000)]
[Qt] Save a JSGlobalContextRef instead of a JSContextRef in QtConnectionObject
https://bugs.webkit.org/show_bug.cgi?id=88905

Make QtConnectionObject use JSContextGetGlobalContext and store the
JSGlobalContextRef. Previous code was working but saving JSContextRef was wrong in terms of
API.

There's an assumption that JSGlobalContextRef will outlive the connection objects, and
because of it no JSGlobalContextRetain/Release calls were added.

Reviewed by Noam Rosenthal.

* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeConnectionMethod::call):
(JSC::Bindings::QtConnectionObject::QtConnectionObject):
* bridge/qt/qt_runtime.h:
(QtConnectionObject):
* bridge/qt/qt_runtime_qt4.cpp:
(JSC::Bindings::QtRuntimeConnectionMethod::call):
(JSC::Bindings::QtConnectionObject::QtConnectionObject):

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

7 years agoAdd dpi to css3-images image-resolution
commit-queue@webkit.org [Wed, 13 Jun 2012 13:04:21 +0000 (13:04 +0000)]
Add dpi to css3-images image-resolution
https://bugs.webkit.org/show_bug.cgi?id=85439

Patch by David Barr <davidbarr@chromium.org> on 2012-06-13
Reviewed by Tony Chang.

Source/WebCore:

No new tests; extended fast/css/image-resolution/image-resolution.html

* css/CSSGrammar.y:
* css/CSSParser.cpp:
(WebCore::CSSParser::validUnit):
(WebCore::CSSParser::createPrimitiveNumericValue):
(WebCore::unitFromString):
(WebCore::CSSParser::parseValidPrimitive):
(WebCore::CSSParser::detectNumberToken):
* css/CSSPrimitiveValue.cpp:
(WebCore::isValidCSSUnitTypeForDoubleConversion):
(WebCore::unitCategory):
(WebCore::conversionToCanonicalUnitsScaleFactor):
(WebCore::CSSPrimitiveValue::customCssText):
(WebCore::CSSPrimitiveValue::cloneForCSSOM):
* css/CSSPrimitiveValue.h:

LayoutTests:

* fast/css/image-resolution/image-resolution-expected.txt:
* fast/css/image-resolution/image-resolution.html:

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

7 years ago[Qt] Add configure test for zlib and set WTF_USE_ZLIB if found
qi.2.zhang@nokia.com [Wed, 13 Jun 2012 12:52:53 +0000 (12:52 +0000)]
[Qt] Add configure test for zlib and set WTF_USE_ZLIB if found
https://bugs.webkit.org/show_bug.cgi?id=88763

Tools:

Add configure test for zlib and set WTF_USE_ZLIB if found to enable websocket
extension.

Reviewed by Simon Hausmann.

* qmake/config.tests/libzlib: Added.
* qmake/config.tests/libzlib/libzlib.cpp: Added.
(main):
* qmake/config.tests/libzlib/libzlib.pro: Added.
* qmake/mkspecs/features/features.prf:
* qmake/sync.profile:

LayoutTests:

Move failed websocket extension test case to qt-4.8 after enable it in qt5

Reviewed by Simon Hausmann.

* platform/qt-4.8/Skipped:
* platform/qt/Skipped:

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

7 years ago[EFL] http/tests/xmlhttprequest/origin-exact-matching.html can be unskipped
commit-queue@webkit.org [Wed, 13 Jun 2012 12:48:26 +0000 (12:48 +0000)]
[EFL] http/tests/xmlhttprequest/origin-exact-matching.html can be unskipped
https://bugs.webkit.org/show_bug.cgi?id=88960

Unreviewed EFL gardening.
http/tests/xmlhttprequest/origin-exact-matching.html can be
unskipped after r120107.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-06-13

* platform/efl/TestExpectations:

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

7 years agoFileAPI: type should be converted to be lower case in Blob constructor.
commit-queue@webkit.org [Wed, 13 Jun 2012 12:41:24 +0000 (12:41 +0000)]
FileAPI: type should be converted to be lower case in Blob constructor.
https://bugs.webkit.org/show_bug.cgi?id=88696

Patch by Li Yin <li.yin@intel.com> on 2012-06-13
Reviewed by Kentaro Hara.

Source/WebCore:

Spec: http://dev.w3.org/2006/webapi/FileAPI/#dfn-BlobPropertyBag
Spec: http://dev.w3.org/2006/webapi/FileAPI/#attributes-blob
The ASCII-encoded string in lower case representing the media type of the Blob.

Test: fast/files/blob-constructor.html

* bindings/js/JSBlobCustom.cpp:
(WebCore::JSBlobConstructor::constructJSBlob):
* bindings/v8/custom/V8BlobCustom.cpp:
(WebCore::V8Blob::constructorCallback):

LayoutTests:

Spec: http://dev.w3.org/2006/webapi/FileAPI/#dfn-BlobPropertyBag
Add sub-test to track changing upper case into lower case of type in Blob constructor.

* fast/files/blob-constructor-expected.txt:
* fast/files/script-tests/blob-constructor.js:

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

7 years agoFonts, fullscreen, gamepad, and html5lib tests should use testRunner instead of layou...
rniwa@webkit.org [Wed, 13 Jun 2012 12:34:26 +0000 (12:34 +0000)]
Fonts, fullscreen, gamepad, and html5lib tests should use testRunner instead of layoutTestController
https://bugs.webkit.org/show_bug.cgi?id=88959

Reviewed by Darin Adler.

* fonts/valid-standard-font.html:
* fullscreen/anonymous-block-merge-crash.html:
* fullscreen/full-screen-element-stack.html:
* fullscreen/full-screen-frameset.html:
* fullscreen/full-screen-iframe-zIndex.html:
* fullscreen/full-screen-keyboard-disabled.html:
* fullscreen/full-screen-keyboard-enabled.html:
* fullscreen/full-screen-remove-ancestor-during-transition.html:
* fullscreen/full-screen-remove-sibling.html:
* fullscreen/full-screen-render-inline.html:
* fullscreen/full-screen-request-rejected.html:
* fullscreen/full-screen-request-removed.html:
* fullscreen/full-screen-restrictions.html:
* fullscreen/full-screen-stacking-context.html:
* fullscreen/full-screen-test.js:
(runWithKeyDown):
(endTest):
* fullscreen/full-screen-zIndex-after.html:
* fullscreen/full-screen-zIndex.html:
* fullscreen/non-ancestor-iframe.html:
* fullscreen/parent-flow-inline-with-block-child.html:
* fullscreen/video-controls-override.html:
* html5lib/resources/runner.js:
(run):
* html5lib/webkit-resumer.html:
* platform/gtk/fonts/custom-font-missing-glyphs.html:
* platform/gtk/fonts/font-face-with-complex-text.html:
* platform/gtk/fonts/font-family-fallback.html:
* platform/gtk/fonts/synthetic-oblique-positioning.html:

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

7 years ago[Qt] Unreviewed gardening. Skip new failing tests.
kkristof@inf.u-szeged.hu [Wed, 13 Jun 2012 12:31:17 +0000 (12:31 +0000)]
[Qt] Unreviewed gardening. Skip new failing tests.

* platform/qt/Skipped:

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

7 years ago[BlackBerry] Enable MEDIA_STREAM by default
commit-queue@webkit.org [Wed, 13 Jun 2012 12:28:50 +0000 (12:28 +0000)]
[BlackBerry] Enable MEDIA_STREAM by default
https://bugs.webkit.org/show_bug.cgi?id=88849

Patch by Robin Cao <robin.cao@torchmobile.com.cn> on 2012-06-13
Reviewed by Antonio Gomes.

.:

* Source/cmake/OptionsBlackBerry.cmake:
* Source/cmakeconfig.h.cmake:

Source/WebCore:

Covered by existing test cases.

* CMakeLists.txt:
* PlatformBlackBerry.cmake:
* platform/mediastream/blackberry/DeprecatedPeerConnectionHandler.cpp: Added.
(WebCore):
(WebCore::DeprecatedPeerConnectionHandler::create):
(WebCore::DeprecatedPeerConnectionHandler::DeprecatedPeerConnectionHandler):
(WebCore::DeprecatedPeerConnectionHandler::~DeprecatedPeerConnectionHandler):
(WebCore::DeprecatedPeerConnectionHandler::produceInitialOffer):
(WebCore::DeprecatedPeerConnectionHandler::handleInitialOffer):
(WebCore::DeprecatedPeerConnectionHandler::processSDP):
(WebCore::DeprecatedPeerConnectionHandler::processPendingStreams):
(WebCore::DeprecatedPeerConnectionHandler::sendDataStreamMessage):
(WebCore::DeprecatedPeerConnectionHandler::stop):
* platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp: Added.
(WebCore):
(WebCore::MediaStreamCenter::instance):
(WebCore::MediaStreamCenterBlackBerry::MediaStreamCenterBlackBerry):
(WebCore::MediaStreamCenterBlackBerry::~MediaStreamCenterBlackBerry):
(WebCore::MediaStreamCenterBlackBerry::queryMediaStreamSources):
(WebCore::MediaStreamCenterBlackBerry::didSetMediaStreamTrackEnabled):
(WebCore::MediaStreamCenterBlackBerry::didStopLocalMediaStream):
(WebCore::MediaStreamCenterBlackBerry::didCreateMediaStream):
(WebCore::MediaStreamCenterBlackBerry::constructSDP):
* platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h: Added.
(WebCore):
(MediaStreamCenterBlackBerry):

Source/WebKit:

* PlatformBlackBerry.cmake:

Source/WebKit/blackberry:

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::init):
* WebCoreSupport/UserMediaClientImpl.cpp: Added.
(WebCore):
(WebCore::UserMediaClientImpl::UserMediaClientImpl):
(WebCore::UserMediaClientImpl::~UserMediaClientImpl):
(WebCore::UserMediaClientImpl::pageDestroyed):
(WebCore::UserMediaClientImpl::requestUserMedia):
(WebCore::UserMediaClientImpl::cancelUserMediaRequest):
* WebCoreSupport/UserMediaClientImpl.h: Added.
(WebKit):
(WebCore):
(UserMediaClientImpl):

Tools:

* Scripts/webkitperl/FeatureList.pm:

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

7 years agoUnreviewed gardening. Removed some tests passing in all the GTK
sergio@webkit.org [Wed, 13 Jun 2012 12:04:50 +0000 (12:04 +0000)]
Unreviewed gardening. Removed some tests passing in all the GTK
bots from the test expectations file.

* platform/gtk/TestExpectations:

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

7 years agoWeb Inspector: working copy should be committed even if domain binding returns error.
pfeldman@chromium.org [Wed, 13 Jun 2012 11:51:16 +0000 (11:51 +0000)]
Web Inspector: working copy should be committed even if domain binding returns error.
https://bugs.webkit.org/show_bug.cgi?id=88884

Reviewed by Vsevolod Vlasov.

Committing working copy is about saving file. It should always succeed.

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

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

7 years agoWeb Inspector: show revisions of all modified files in local modifications view
pfeldman@chromium.org [Wed, 13 Jun 2012 11:45:28 +0000 (11:45 +0000)]
Web Inspector: show revisions of all modified files in local modifications view
https://bugs.webkit.org/show_bug.cgi?id=88864

Reviewed by Vsevolod Vlasov.

This change allows all local modifications to be seen in a single view. View is now
singleton, listening to all revisions being added. Revert captions were reworked
(see the screenshot).

* English.lproj/localizedStrings.js:
* inspector/front-end/Resource.js:
* inspector/front-end/RevisionHistoryView.js:
(WebInspector.RevisionHistoryView.populateRevisions):
(WebInspector.RevisionHistoryView):
(WebInspector.RevisionHistoryView.showHistory):
(WebInspector.RevisionHistoryView.reset):
(WebInspector.RevisionHistoryView.prototype._createResourceItem.clearHistory):
(WebInspector.RevisionHistoryView.prototype._createResourceItem):
(WebInspector.RevisionHistoryView.prototype._revisionAdded.get if):
(WebInspector.RevisionHistoryView.prototype._revisionAdded):
(WebInspector.RevisionHistoryView.prototype._revealResource.get if):
(WebInspector.RevisionHistoryView.prototype._revealResource):
(WebInspector.RevisionHistoryView.prototype._reset):
(WebInspector.RevisionHistoryTreeElement):
(WebInspector.RevisionHistoryTreeElement.prototype.onattach):
(WebInspector.RevisionHistoryTreeElement.prototype.oncollapse):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._reset):
(WebInspector.ScriptsPanel.prototype._editorSelected):
* inspector/front-end/revisionHistory.css:
(.revision-history-link-row):
(.revision-history-drawer li.revision-history-revision):

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

7 years agoWeb Inspector: Make "Go to source and line" possible with "go to file" dialog
pfeldman@chromium.org [Wed, 13 Jun 2012 11:38:50 +0000 (11:38 +0000)]
Web Inspector: Make "Go to source and line" possible with "go to file" dialog
https://bugs.webkit.org/show_bug.cgi?id=88740

Reviewed by Vsevolod Vlasov.

Selection dialog now allows search query rewrite and uses line number
suffix to go to a particular line.

* inspector/front-end/FilteredItemSelectionDialog.js:
(WebInspector.FilteredItemSelectionDialog.prototype.onEnter):
(WebInspector.FilteredItemSelectionDialog.prototype._createSearchRegExp):
(WebInspector.SelectionDialogContentProvider.prototype.selectItem):
(WebInspector.SelectionDialogContentProvider.prototype.rewriteQuery):
(WebInspector.JavaScriptOutlineDialog.prototype.selectItem):
(WebInspector.JavaScriptOutlineDialog.prototype.rewriteQuery):
(WebInspector.OpenResourceDialog.prototype.selectItem):
(WebInspector.OpenResourceDialog.prototype.rewriteQuery):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.showUISourceCode):
* inspector/front-end/StylesPanel.js:
(WebInspector.StyleSheetOutlineDialog.prototype.selectItem):
(WebInspector.StyleSheetOutlineDialog.prototype.rewriteQuery):

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

7 years agoPrevent stderr output from messing up detection of build path
vestbo@webkit.org [Wed, 13 Jun 2012 11:31:20 +0000 (11:31 +0000)]
Prevent stderr output from messing up detection of build path

https://bugs.webkit.org/show_bug.cgi?id=88075

Warnings such as 'perl: warning: Setting locale failed' will otherwise
end up as the build path when calling out to webkit-build-directory.

Reviewed by Ojan Vafai.

* Scripts/webkitpy/layout_tests/port/config.py:
(Config.build_directory):

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

7 years agoWeb Inspector: Make "Go to source and line" possible with "go to file" dialog
pfeldman@chromium.org [Wed, 13 Jun 2012 11:27:37 +0000 (11:27 +0000)]
Web Inspector: Make "Go to source and line" possible with "go to file" dialog
https://bugs.webkit.org/show_bug.cgi?id=88740

Reviewed by Vsevolod Vlasov.

Selection dialog now allows search query rewrite and uses line number
suffix to go to a particular line.

* inspector/front-end/FilteredItemSelectionDialog.js:
(WebInspector.FilteredItemSelectionDialog.prototype.onEnter):
(WebInspector.FilteredItemSelectionDialog.prototype._createSearchRegExp):
(WebInspector.SelectionDialogContentProvider.prototype.selectItem):
(WebInspector.SelectionDialogContentProvider.prototype.rewriteQuery):
(WebInspector.JavaScriptOutlineDialog.prototype.selectItem):
(WebInspector.JavaScriptOutlineDialog.prototype.rewriteQuery):
(WebInspector.OpenResourceDialog.prototype.selectItem):
(WebInspector.OpenResourceDialog.prototype.rewriteQuery):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.showUISourceCode):
* inspector/front-end/StylesPanel.js:
(WebInspector.StyleSheetOutlineDialog.prototype.selectItem):
(WebInspector.StyleSheetOutlineDialog.prototype.rewriteQuery):

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

7 years agoSpeech JavaScript API: Add test for constructing SpeechRecognitionError events
hans@chromium.org [Wed, 13 Jun 2012 10:48:19 +0000 (10:48 +0000)]
Speech JavaScript API: Add test for constructing SpeechRecognitionError events
https://bugs.webkit.org/show_bug.cgi?id=88868

Reviewed by Adam Barth.

Source/WebCore:

This adds a test for constructing SpeechRecognitionError events, and
code to make it work.

Test: fast/events/constructors/speech-recognition-error-constructor.html

* Modules/speech/SpeechRecognitionError.cpp:
(WebCore::SpeechRecognitionError::create):
(WebCore):
(WebCore::SpeechRecognitionError::SpeechRecognitionError):
(WebCore::SpeechRecognitionErrorInit::SpeechRecognitionErrorInit):
* Modules/speech/SpeechRecognitionError.h:
(SpeechRecognitionErrorInit):
(WebCore):
(SpeechRecognitionError):
(WebCore::SpeechRecognitionError::code):
* Modules/speech/SpeechRecognitionError.idl:

LayoutTests:

Add a layout test for constructing SpeechRecognitionError events.

* fast/events/constructors/speech-recognition-error-constructor-expected.txt: Added.
* fast/events/constructors/speech-recognition-error-constructor.html: Added.

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

7 years agoChromium rebaseline after r120173.
rniwa@webkit.org [Wed, 13 Jun 2012 10:38:46 +0000 (10:38 +0000)]
Chromium rebaseline after r120173.

* platform/chromium-linux/editing/pasteboard/4641033-expected.txt:
* platform/chromium-linux/editing/selection/paragraph-granularity-expected.png:
* platform/chromium-linux/editing/selection/triple-click-in-pre-expected.png:
* platform/chromium-linux/editing/selection/word-granularity-expected.png:
* platform/chromium-mac-leopard/editing/selection/paragraph-granularity-expected.png:
* platform/chromium-mac-leopard/editing/selection/triple-click-in-pre-expected.png:
* platform/chromium-mac-leopard/editing/selection/word-granularity-expected.png:
* platform/chromium-mac-snowleopard/editing/selection/paragraph-granularity-expected.png:
* platform/chromium-mac-snowleopard/editing/selection/triple-click-in-pre-expected.png:
* platform/chromium-mac-snowleopard/editing/selection/word-granularity-expected.png:
* platform/chromium-mac/editing/selection/paragraph-granularity-expected.png:
* platform/chromium-mac/editing/selection/triple-click-in-pre-expected.png:
* platform/chromium-mac/editing/selection/word-granularity-expected.png:
* platform/chromium-win/editing/inserting/editable-html-element-expected.txt:
* platform/chromium-win/editing/pasteboard/4641033-expected.png:
* platform/chromium-win/editing/pasteboard/4641033-expected.txt:
* platform/chromium-win/editing/selection/mixed-editability-1-expected.txt:
* platform/chromium-win/editing/selection/paragraph-granularity-expected.png:
* platform/chromium-win/editing/selection/paragraph-granularity-expected.txt:
* platform/chromium-win/editing/selection/triple-click-in-pre-expected.png:
* platform/chromium-win/editing/selection/triple-click-in-pre-expected.txt:
* platform/chromium-win/editing/selection/word-granularity-expected.png:
* platform/chromium-win/editing/selection/word-granularity-expected.txt:

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

7 years agoFix a wrong rebaseline in r120178.
rniwa@webkit.org [Wed, 13 Jun 2012 10:28:08 +0000 (10:28 +0000)]
Fix a wrong rebaseline in r120178.

* editing/pasteboard/file-input-files-access-expected.txt:

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

7 years agoTools: Update the builder name for Apple Lion builders.
rniwa@webkit.org [Wed, 13 Jun 2012 10:21:12 +0000 (10:21 +0000)]
Tools: Update the builder name for Apple Lion builders.

* Scripts/webkitpy/layout_tests/port/builders.py:

LayoutTests: Mac rebaseline after r120167 and r120173.

Also revert an inadvertent change to file.invalidext.

* editing/pasteboard/file-input-files-access-expected.txt:
* editing/pasteboard/paste-sanitize-crash-2-expected.txt:
* editing/pasteboard/resources/file.invalidext:
* editing/selection/blockquote-crash-expected.txt:
* editing/style/4230923-expected.txt:
* platform/mac/editing/pasteboard/4641033-expected.txt:
* platform/mac/editing/selection/mixed-editability-1-expected.txt:
* platform/mac/editing/selection/paragraph-granularity-expected.txt:
* platform/mac/editing/selection/triple-click-in-pre-expected.txt:
* platform/mac/editing/selection/word-granularity-expected.txt:
* platform/mac/http/tests/misc/location-replace-crossdomain-expected.txt:

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

7 years agoImplement InspectorFileSystemAgent::readDirectory for FileSystem support.
commit-queue@webkit.org [Wed, 13 Jun 2012 09:52:20 +0000 (09:52 +0000)]
Implement InspectorFileSystemAgent::readDirectory for FileSystem support.
https://bugs.webkit.org/show_bug.cgi?id=87724

Patch by Taiju Tsuiki <tzik@chromium.org> on 2012-06-13
Reviewed by Vsevolod Vlasov.

Source/WebCore:

Test: http/tests/inspector/filesystem/read-directory.html

* inspector/Inspector.json:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorFileSystemAgent.cpp:
(InspectorFileSystemAgent::FrontendProvider):
(WebCore):
(WebCore::InspectorFileSystemAgent::create):
(WebCore::InspectorFileSystemAgent::readDirectory):
(WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
* inspector/InspectorFileSystemAgent.h:
(WebCore):
(InspectorFileSystemAgent):

LayoutTests:

* http/tests/inspector/filesystem/filesystem-test.js: Added.
* http/tests/inspector/filesystem/read-directory-expected.txt: Added.
* http/tests/inspector/filesystem/read-directory.html: Added.
* platform/mac/Skipped:
* platform/qt/Skipped:
* platform/win/Skipped:
* platform/wincairo/Skipped:

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

7 years agoRevert the removal of 2 editing tests in r120173.
rniwa@webkit.org [Wed, 13 Jun 2012 09:49:50 +0000 (09:49 +0000)]
Revert the removal of 2 editing tests in r120173.

* editing/pasteboard/copy-paste-float.html: Copied from LayoutTests/editing/pasteboard/copy-paste-float.html.
* platform/mac/editing/selection/word-thai.html: Copied from LayoutTests/platform/mac/editing/selection/word-thai.html.

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

7 years agoUnreviewed, rolling out r120172.
zandobersek@gmail.com [Wed, 13 Jun 2012 09:38:42 +0000 (09:38 +0000)]
Unreviewed, rolling out r120172.
http://trac.webkit.org/changeset/120172
https://bugs.webkit.org/show_bug.cgi?id=88976

The patch causes compilation failures on Gtk, Qt and Apple Win
bots (Requested by zdobersek on #webkit).

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

Source/JavaScriptCore:

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::nop):
(JSC::ARMv7Assembler::label):
(JSC::ARMv7Assembler::readPointer):
(ARMv7Assembler):
* assembler/AbstractMacroAssembler.h:
(JSC):
(AbstractMacroAssembler):
(Label):
* assembler/AssemblerBuffer.h:
* assembler/MacroAssemblerARM.h:
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::nop):
(JSC::MacroAssemblerARMv7::jump):
(JSC::MacroAssemblerARMv7::makeBranch):
* assembler/MacroAssemblerMIPS.h:
* assembler/MacroAssemblerSH4.h:
* assembler/MacroAssemblerX86.h:
(MacroAssemblerX86):
(JSC::MacroAssemblerX86::moveWithPatch):
* assembler/MacroAssemblerX86Common.h:
* assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::branchTest8):
* assembler/X86Assembler.h:
(JSC::X86Assembler::cmpb_im):
(JSC::X86Assembler::codeSize):
(JSC::X86Assembler::label):
(JSC::X86Assembler::X86InstructionFormatter::memoryModRM):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dump):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::appendOSRExit):
(JSC::CodeBlock::appendSpeculationRecovery):
(DFGData):
* bytecode/DFGExitProfile.h:
(JSC::DFG::exitKindToString):
(JSC::DFG::exitKindIsCountable):
* bytecode/Instruction.h:
* bytecode/Opcode.h:
(JSC):
(JSC::padOpcodeName):
* bytecode/Watchpoint.cpp: Removed.
* bytecode/Watchpoint.h: Removed.
* bytecompiler/BytecodeGenerator.cpp:
(JSC::ResolveResult::checkValidity):
(JSC::BytecodeGenerator::addGlobalVar):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::resolve):
(JSC::BytecodeGenerator::emitResolve):
(JSC::BytecodeGenerator::emitResolveWithBase):
(JSC::BytecodeGenerator::emitResolveWithThis):
(JSC::BytecodeGenerator::emitGetStaticVar):
(JSC::BytecodeGenerator::emitPutStaticVar):
* bytecompiler/BytecodeGenerator.h:
(BytecodeGenerator):
* bytecompiler/NodesCodegen.cpp:
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::PostfixResolveNode::emitBytecode):
(JSC::PrefixResolveNode::emitBytecode):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::ConstDeclNode::emitCodeSingle):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
(JSC::DFG::AbstractState::clobberStructures):
* dfg/DFGAbstractState.h:
(AbstractState):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCCallHelpers.h:
(JSC::DFG::CCallHelpers::setupArguments):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::globalVarStoreElimination):
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::run):
* dfg/DFGCorrectableJumpPoint.h:
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::linkOSRExits):
(JSC::DFG::JITCompiler::link):
* dfg/DFGNode.h:
(JSC::DFG::Node::hasRegisterPointer):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::OSRExit):
* dfg/DFGOSRExit.h:
(OSRExit):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
(JSC::DFG::SpeculativeJIT::appendCallSetResult):
(JSC::DFG::SpeculativeJIT::speculationCheck):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
* jit/JIT.h:
* jit/JITPropertyAccess.cpp:
* jit/JITPropertyAccess32_64.cpp:
* jit/JITStubs.cpp:
* jit/JITStubs.h:
* llint/LLIntSlowPaths.cpp:
* llint/LLIntSlowPaths.h:
(LLInt):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/JSObject.cpp:
(JSC::JSObject::removeDirect):
* runtime/JSObject.h:
(JSObject):
* runtime/JSSymbolTableObject.h:
(JSC::symbolTableGet):
(JSC::symbolTablePut):
(JSC::symbolTablePutWithAttributes):
* runtime/SymbolTable.cpp: Removed.
* runtime/SymbolTable.h:
(JSC):
(JSC::SymbolTableEntry::isNull):
(JSC::SymbolTableEntry::getIndex):
(SymbolTableEntry):
(JSC::SymbolTableEntry::getAttributes):
(JSC::SymbolTableEntry::isReadOnly):
(JSC::SymbolTableEntry::pack):
(JSC::SymbolTableEntry::isValidIndex):

Source/WTF:

* wtf/SegmentedVector.h:
(WTF):
(SegmentedVectorIterator):
(WTF::SegmentedVectorIterator::operator=):
(WTF::SegmentedVectorIterator::SegmentedVectorIterator):
(SegmentedVector):

LayoutTests:

* fast/js/dfg-call-function-hit-watchpoint-expected.txt: Removed.
* fast/js/dfg-call-function-hit-watchpoint.html: Removed.
* fast/js/jsc-test-list:
* fast/js/script-tests/dfg-call-function-hit-watchpoint.js: Removed.

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

7 years agoCommit the rest of changes for r120167.
rniwa@webkit.org [Wed, 13 Jun 2012 09:19:30 +0000 (09:19 +0000)]
Commit the rest of changes for r120167.

* http/tests/history/resources/back-during-onload-hung-page.php:
* http/tests/misc/embed-image-load-outlives-gc-without-crashing.html:
* http/tests/misc/image-input-type-outlives-gc-without-crashing.html:
* http/tests/misc/image-load-outlives-gc-without-crashing.html:
* http/tests/misc/object-image-load-outlives-gc-without-crashing.html:
* http/tests/security/:

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

7 years agoEditing tests should use testRunner instead of layoutTestController
rniwa@webkit.org [Wed, 13 Jun 2012 08:51:53 +0000 (08:51 +0000)]
Editing tests should use testRunner instead of layoutTestController
https://bugs.webkit.org/show_bug.cgi?id=88955

Reviewed by Darin Adler.

* editing/:
* platform/blackberry/editing/text-iterator/findString-markers.html:
* platform/chromium-linux/editing/selection/linux_selection_color.html:
* platform/chromium-win/editing/selection/paragraph-granularity-expected.txt:
* platform/chromium-win/editing/selection/triple-click-in-pre-expected.txt:
* platform/chromium-win/editing/selection/word-granularity-expected.txt:
* platform/chromium/editing/spelling/delete-misspelled-word.html:
* platform/chromium/editing/spelling/move-cursor-to-misspelled-word.html:
* platform/gtk/editing/pasteboard/middle-button-paste.html:
* platform/gtk/editing/pasteboard/script-tests/middle-click-onpaste.js:
* platform/gtk/editing/selection/caret-mode-document-begin-end.html:
* platform/gtk/editing/selection/paragraph-granularity-expected.txt:
* platform/gtk/editing/selection/triple-click-in-pre-expected.txt:
* platform/gtk/editing/selection/word-granularity-expected.txt:
* platform/mac/editing/:
* platform/qt/editing/selection/paragraph-granularity-expected.txt:
* platform/qt/editing/selection/triple-click-in-pre-expected.txt:
* platform/qt/editing/selection/word-granularity-expected.txt:
* platform/win/editing/deleting/delete-start-block-expected.txt:
* platform/win/editing/pasteboard/pasting-crlf-isnt-translated-to-crcrlf-win.html:
* platform/win/editing/selection/shift-page-up-down.html:

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

7 years agoDFG should be able to set watchpoints on global variables
fpizlo@apple.com [Wed, 13 Jun 2012 08:20:39 +0000 (08:20 +0000)]
DFG should be able to set watchpoints on global variables
https://bugs.webkit.org/show_bug.cgi?id=88692

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

This implements global variable constant folding by allowing the optimizing
compiler to set a "watchpoint" on globals that it wishes to constant fold.
If the watchpoint fires, then an OSR exit is forced by overwriting the
machine code that the optimizing compiler generated with a jump.

As such, this patch is adding quite a bit of stuff:

- Jump replacement on those hardware targets supported by the optimizing
  JIT. It is now possible to patch in a jump instruction over any recorded
  watchpoint label. The jump must be "local" in the sense that it must be
  within the range of the largest jump distance supported by a one
  instruction jump.

- WatchpointSets and Watchpoints. A Watchpoint is a doubly-linked list node
  that records the location where a jump must be inserted and the
  destination to which it should jump. Watchpoints can be added to a
  WatchpointSet. The WatchpointSet can be fired all at once, which plants
  all jumps. WatchpointSet also remembers if it had ever been invalidated,
  which allows for monotonicity: we typically don't want to optimize using
  watchpoints on something for which watchpoints had previously fired. The
  act of notifying a WatchpointSet has a trivial fast path in case no
  Watchpoints are registered (one-byte load+branch).

- SpeculativeJIT::speculationWatchpoint(). It's like speculationCheck(),
  except that you don't have to emit branches. But, you need to know what
  WatchpointSet to add the resulting Watchpoint to. Not everything that
  you could write a speculationCheck() for will have a WatchpointSet that
  would get notified if the condition you were speculating against became
  invalid.

- SymbolTableEntry now has the ability to refer to a WatchpointSet. It can
  do so without incurring any space overhead for those entries that don't
  have WatchpointSets.

- The bytecode generator infers all global function variables to be
  watchable, and makes all stores perform the WatchpointSet's write check,
  and marks all loads as being potentially watchable (i.e. you can compile
  them to a watchpoint and a constant).

Put together, this allows for fully sleazy inlining of calls to globally
declared functions. The inline prologue will no longer contain the load of
the function, or any checks of the function you're calling. I.e. it's
pretty much like the kind of inlining you would see in Java or C++.
Furthermore, the watchpointing functionality is built to be fairly general,
and should allow setting watchpoints on all sorts of interesting things
in the future.

The sleazy inlining means that we will now sometimes inline in code paths
that have never executed. Previously, to inline we would have either had
to have executed the call (to read the call's inline cache) or have
executed the method check (to read the method check's inline cache). Now,
we might inline when the callee is a watched global variable. This
revealed some humorous bugs. First, constant folding disagreed with CFA
over what kinds of operations can clobber (example: code path A is dead
but stores a String into variable X, all other code paths store 0 into
X, and then you do CompareEq(X, 0) - CFA will say that this is a non-
clobbering constant, but constant folding thought it was clobbering
because it saw the String prediction). Second, inlining would crash if
the inline callee had not been compiled. This patch fixes both bugs,
since otherwise run-javascriptcore-tests would report regressions.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* assembler/ARMv7Assembler.h:
(ARMv7Assembler):
(JSC::ARMv7Assembler::ARMv7Assembler):
(JSC::ARMv7Assembler::labelForWatchpoint):
(JSC::ARMv7Assembler::label):
(JSC::ARMv7Assembler::replaceWithJump):
(JSC::ARMv7Assembler::maxJumpReplacementSize):
* assembler/AbstractMacroAssembler.h:
(JSC):
(AbstractMacroAssembler):
(Label):
(JSC::AbstractMacroAssembler::watchpointLabel):
* assembler/AssemblerBuffer.h:
* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::replaceWithJump):
(MacroAssemblerARM):
(JSC::MacroAssemblerARM::maxJumpReplacementSize):
* assembler/MacroAssemblerARMv7.h:
(MacroAssemblerARMv7):
(JSC::MacroAssemblerARMv7::replaceWithJump):
(JSC::MacroAssemblerARMv7::maxJumpReplacementSize):
(JSC::MacroAssemblerARMv7::branchTest8):
(JSC::MacroAssemblerARMv7::jump):
(JSC::MacroAssemblerARMv7::makeBranch):
* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::replaceWithJump):
(MacroAssemblerMIPS):
(JSC::MacroAssemblerMIPS::maxJumpReplacementSize):
* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::replaceWithJump):
(MacroAssemblerSH4):
(JSC::MacroAssemblerSH4::maxJumpReplacementSize):
* assembler/MacroAssemblerX86.h:
(MacroAssemblerX86):
(JSC::MacroAssemblerX86::branchTest8):
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::replaceWithJump):
(MacroAssemblerX86Common):
(JSC::MacroAssemblerX86Common::maxJumpReplacementSize):
* assembler/MacroAssemblerX86_64.h:
(MacroAssemblerX86_64):
(JSC::MacroAssemblerX86_64::branchTest8):
* assembler/X86Assembler.h:
(JSC::X86Assembler::X86Assembler):
(X86Assembler):
(JSC::X86Assembler::cmpb_im):
(JSC::X86Assembler::testb_im):
(JSC::X86Assembler::labelForWatchpoint):
(JSC::X86Assembler::label):
(JSC::X86Assembler::replaceWithJump):
(JSC::X86Assembler::maxJumpReplacementSize):
(JSC::X86Assembler::X86InstructionFormatter::memoryModRM):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dump):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::appendOSRExit):
(JSC::CodeBlock::appendSpeculationRecovery):
(CodeBlock):
(JSC::CodeBlock::appendWatchpoint):
(JSC::CodeBlock::numberOfWatchpoints):
(JSC::CodeBlock::watchpoint):
(DFGData):
* bytecode/DFGExitProfile.h:
(JSC::DFG::exitKindToString):
(JSC::DFG::exitKindIsCountable):
* bytecode/Instruction.h:
(Instruction):
(JSC::Instruction::Instruction):
* bytecode/Opcode.h:
(JSC):
(JSC::padOpcodeName):
* bytecode/Watchpoint.cpp: Added.
(JSC):
(JSC::Watchpoint::~Watchpoint):
(JSC::Watchpoint::correctLabels):
(JSC::Watchpoint::fire):
(JSC::WatchpointSet::WatchpointSet):
(JSC::WatchpointSet::~WatchpointSet):
(JSC::WatchpointSet::add):
(JSC::WatchpointSet::notifyWriteSlow):
(JSC::WatchpointSet::fireAllWatchpoints):
* bytecode/Watchpoint.h: Added.
(JSC):
(Watchpoint):
(JSC::Watchpoint::Watchpoint):
(JSC::Watchpoint::setDestination):
(WatchpointSet):
(JSC::WatchpointSet::isStillValid):
(JSC::WatchpointSet::hasBeenInvalidated):
(JSC::WatchpointSet::startWatching):
(JSC::WatchpointSet::notifyWrite):
(JSC::WatchpointSet::addressOfIsWatched):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::ResolveResult::checkValidity):
(JSC::BytecodeGenerator::addGlobalVar):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::resolve):
(JSC::BytecodeGenerator::emitResolve):
(JSC::BytecodeGenerator::emitResolveWithBase):
(JSC::BytecodeGenerator::emitResolveWithThis):
(JSC::BytecodeGenerator::emitGetStaticVar):
(JSC::BytecodeGenerator::emitPutStaticVar):
* bytecompiler/BytecodeGenerator.h:
(BytecodeGenerator):
* bytecompiler/NodesCodegen.cpp:
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::PostfixResolveNode::emitBytecode):
(JSC::PrefixResolveNode::emitBytecode):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::ConstDeclNode::emitCodeSingle):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
(JSC::DFG::AbstractState::clobberStructures):
* dfg/DFGAbstractState.h:
(AbstractState):
(JSC::DFG::AbstractState::didClobber):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCCallHelpers.h:
(CCallHelpers):
(JSC::DFG::CCallHelpers::setupArguments):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::globalVarWatchpointElimination):
(CSEPhase):
(JSC::DFG::CSEPhase::globalVarStoreElimination):
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::run):
* dfg/DFGCorrectableJumpPoint.h:
(JSC::DFG::CorrectableJumpPoint::isSet):
(CorrectableJumpPoint):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::linkOSRExits):
(JSC::DFG::JITCompiler::link):
* dfg/DFGNode.h:
(JSC::DFG::Node::hasIdentifierNumberForCheck):
(Node):
(JSC::DFG::Node::identifierNumberForCheck):
(JSC::DFG::Node::hasRegisterPointer):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::OSRExit):
* dfg/DFGOSRExit.h:
(OSRExit):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
(JSC::DFG::SpeculativeJIT::appendCall):
(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::speculationWatchpoint):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
* jit/JIT.h:
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_put_global_var_check):
(JSC):
(JSC::JIT::emitSlow_op_put_global_var_check):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_put_global_var_check):
(JSC):
(JSC::JIT::emitSlow_op_put_global_var_check):
* jit/JITStubs.cpp:
(JSC::JITThunks::JITThunks):
(JSC::DEFINE_STUB_FUNCTION):
(JSC):
* jit/JITStubs.h:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(LLInt):
* llint/LLIntSlowPaths.h:
(LLInt):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/JSObject.cpp:
(JSC::JSObject::removeDirect):
* runtime/JSObject.h:
(JSObject):
* runtime/JSSymbolTableObject.h:
(JSC::symbolTableGet):
(JSC::symbolTablePut):
(JSC::symbolTablePutWithAttributes):
* runtime/SymbolTable.cpp: Added.
(JSC):
(JSC::SymbolTableEntry::copySlow):
(JSC::SymbolTableEntry::freeFatEntrySlow):
(JSC::SymbolTableEntry::couldBeWatched):
(JSC::SymbolTableEntry::attemptToWatch):
(JSC::SymbolTableEntry::addressOfIsWatched):
(JSC::SymbolTableEntry::addWatchpoint):
(JSC::SymbolTableEntry::notifyWriteSlow):
(JSC::SymbolTableEntry::inflateSlow):
* runtime/SymbolTable.h:
(JSC):
(SymbolTableEntry):
(Fast):
(JSC::SymbolTableEntry::Fast::Fast):
(JSC::SymbolTableEntry::Fast::isNull):
(JSC::SymbolTableEntry::Fast::getIndex):
(JSC::SymbolTableEntry::Fast::isReadOnly):
(JSC::SymbolTableEntry::Fast::getAttributes):
(JSC::SymbolTableEntry::Fast::isFat):
(JSC::SymbolTableEntry::SymbolTableEntry):
(JSC::SymbolTableEntry::~SymbolTableEntry):
(JSC::SymbolTableEntry::operator=):
(JSC::SymbolTableEntry::isNull):
(JSC::SymbolTableEntry::getIndex):
(JSC::SymbolTableEntry::getFast):
(JSC::SymbolTableEntry::getAttributes):
(JSC::SymbolTableEntry::isReadOnly):
(JSC::SymbolTableEntry::watchpointSet):
(JSC::SymbolTableEntry::notifyWrite):
(FatEntry):
(JSC::SymbolTableEntry::FatEntry::FatEntry):
(JSC::SymbolTableEntry::isFat):
(JSC::SymbolTableEntry::fatEntry):
(JSC::SymbolTableEntry::inflate):
(JSC::SymbolTableEntry::bits):
(JSC::SymbolTableEntry::freeFatEntry):
(JSC::SymbolTableEntry::pack):
(JSC::SymbolTableEntry::isValidIndex):

Source/WTF:

Reviewed by Geoffrey Garen.

Added ability to set the inline capacity of segmented vectors.

* wtf/SegmentedVector.h:
(WTF):
(SegmentedVectorIterator):
(WTF::SegmentedVectorIterator::operator=):
(WTF::SegmentedVectorIterator::SegmentedVectorIterator):
(SegmentedVector):

LayoutTests:

Rubber stamped by Geoffrey Garen.

Added a test for watchpoints. Also updated the jsc-test-list to include the latest
tests.

* fast/js/dfg-call-function-hit-watchpoint-expected.txt: Added.
* fast/js/dfg-call-function-hit-watchpoint.html: Added.
* fast/js/jsc-test-list:
* fast/js/script-tests/dfg-call-function-hit-watchpoint.js: Added.
(foo):
(bar):
(.foo):

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

7 years agoChange the styling of the Chromium video controls.
commit-queue@webkit.org [Wed, 13 Jun 2012 08:19:17 +0000 (08:19 +0000)]
Change the styling of the Chromium video controls.
https://bugs.webkit.org/show_bug.cgi?id=88297

Patch by Silvia Pfeiffer <silviapf@chromium.org> on 2012-06-13
Reviewed by Eric Carlson.

No new tests, final patch will contain the rebaselined tests.

The Chrome video controls are receiving a visual update. This patch includes CSS changes,
the removal of the now no longer needed controls background div, and the introduction of
new images for the buttons.

* css/mediaControlsChromium.css:
(audio):
Adjust height of audio controls.
(::-webkit-media-controls):
Use flexbox on media controls shadow DOM.
(audio::-webkit-media-controls-enclosure, video::-webkit-media-controls-enclosure):
Adjust height, max-width, text-indent and box-sizing, and reset padding to 0.
(video::-webkit-media-controls-enclosure):
Use 5px padding only for video controls and adjust height accordingly.
(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
Use flexbox on panel, adjust bottom alignment, height, background color and border radius.
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
Display buttons inline with fixed width and height, vertically centered, no padding and
6px space to next controls element (this will be 15px incl the space in the image).
(audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
Display buttons inline with fixed width and height, vertically centered, no padding and
9px space to next controls element (this will be 15px incl the space in the image).
(audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
Display text as block, without broder, adjusted height, font-family, font-size and 9px space
to next controls element (this will be 15px incl the space in the image).
(audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
Adjust height, padding, background-color, min-wdith and 15px space to next controls element.
(audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
Adjust height, max- and min-width, background-color and 15px space to next controls element.
* html/shadow/MediaControlRootElementChromium.cpp:
(WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
Remove timeline container, which is not necessary any longer because of the use of flexbox.
(WebCore::MediaControlRootElementChromium::create):
Remove timeline container, which is not necessary any longer because of the use of flexbox.
(WebCore::MediaControlRootElementChromium::setMediaController):
Remove timeline container, which is not necessary any longer because of the use of flexbox.
(WebCore::MediaControlRootElementChromium::reset):
Show the timeline instead of the timeline container when resetting.
(WebCore::MediaControlRootElementChromium::reportedError):
Hide the timeline instead of the timeline container when running into an error.
* rendering/RenderMediaControlsChromium.cpp:
(WebCore::paintMediaMuteButton):
Introduce new image resources for the mute button and adjust it based on volume levels.
(WebCore::paintMediaPlayButton):
Introduce new image resources for the play button.
(WebCore::getMediaSliderThumb):
Introduce new image resources for the position slider thumb.
(WebCore::paintMediaVolumeSliderThumb):
Introduce new image resources for the volume slider thumb.
Remove timeline container rendering.
(WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
Add timeline container painting to the "not reached" elements.
(WebCore):
Provide size settings for the position and volume sliders.
(WebCore::RenderMediaControlsChromium::adjustMediaSliderThumbSize):
Calculate correct width and height settings for the new image resources of the position and volume
slider thumbs.
* rendering/RenderThemeChromiumMac.h:
(RenderThemeChromiumMac):
Remove timeline container rendering (i.e. the media controls background).
* rendering/RenderThemeChromiumMac.mm:
Remove timeline container rendering (i.e. the media controls background).
* rendering/RenderThemeChromiumSkia.cpp:
Remove timeline container rendering (i.e. the media controls background).
* rendering/RenderThemeChromiumSkia.h:
(RenderThemeChromiumSkia):
Remove timeline container rendering (i.e. the media controls background).

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

7 years ago[Qt] Unreviewed gardening.
kkristof@inf.u-szeged.hu [Wed, 13 Jun 2012 08:18:10 +0000 (08:18 +0000)]
[Qt] Unreviewed gardening.

Skip svg/as-image/svg-nested.html which is timeout only on Qt-4.8.

* platform/qt-4.8/Skipped: skip svg/as-image/svg-nested.html
* platform/qt/TestExpectations: removed the slow marker from this test

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

7 years agoUnreviewed, fixing English nits suggested by review for r120165.
kinuko@chromium.org [Wed, 13 Jun 2012 08:17:05 +0000 (08:17 +0000)]
Unreviewed, fixing English nits suggested by review for r120165.

* fileapi/Blob.cpp:
(WebCore::Blob::webkitSlice):
* fileapi/Blob.h:
(Blob):

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

7 years agoREGRESSION(r118098): <content> element does not render distributed children when...
morrita@google.com [Wed, 13 Jun 2012 08:05:43 +0000 (08:05 +0000)]
REGRESSION(r118098): <content> element does not render distributed children when cloned from another document
https://bugs.webkit.org/show_bug.cgi?id=88148

Source/WebCore:

Reviewed by Dimitri Glazkov.

The shadow DOM availability was decided through FrameLoaderClient.
But there are documents which don't have any associated frames, in
which any shadow DOM related elements cannot be constructed.  That
resulsted the regression.

This change introduces a Page-based client called
ContextFeaturesClient which takes the role from FrameLoaderClient
to decide the feature availability, and ContextFeatures which is a
proxy of ContextFeaturesClient.  ContextEnabledFeatures is is
replaced with ContextFeatures.

Each ContextFeatures object is owned by a Page, and is attached to
each Document in the page even if the page itself has no referenct
to Frames or Pages. With ContextFeatures, each Document can decide
the feature availability even if it cannot reach Page or Frame.

On RefCountedSupplement: Document instance can live longer than a
Page where it is shwon. This means that ContextFeatures instance
needs to survive after owner Page destruction because it's
referenced from possibly surviving Documents. RefCountedSupplement
is introduced to cover this scenario: It allows supplement classes
to live after Page's destruction.

RefCountedSupplement::hostDestroyed() is notified when the hosting
page is gone. ContextFeatures clears its reference to the client
using this notification.

Test: fast/dom/shadow/elements-in-frameless-document.html

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateImplementation):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::determineScope):
* dom/ContextFeatures.cpp: Added.
(WebCore):
(WebCore::ContextFeaturesClient::empty):
(WebCore::ContextFeatures::supplementName):
(WebCore::ContextFeatures::defaultSwitch):
(WebCore::ContextFeatures::shadowDOMEnabled):
(WebCore::ContextFeatures::styleScopedEnabled):
(WebCore::ContextFeatures::pagePopupEnabled):
(WebCore::provideContextFeaturesTo):
(WebCore::provideContextFeaturesToDocumentFrom):
* dom/ContextFeatures.h: Added.
(WebCore):
(ContextFeatures):
(WebCore::ContextFeatures::ContextFeatures):
(WebCore::ContextFeatures::hostDestroyed):
(ContextFeaturesClient):
(WebCore::ContextFeaturesClient::~ContextFeaturesClient):
(WebCore::ContextFeaturesClient::isEnabled):
(WebCore::ContextFeatures::create):
(WebCore::ContextFeatures::isEnabled):
* dom/DOMAllInOne.cpp:
* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument):
(WebCore::DOMImplementation::createHTMLDocument):
* dom/Document.h:
(WebCore::Document::contextFeatures):
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::setContextFeatures):
* dom/Position.cpp:
(WebCore::Position::Position):
(WebCore::Position::findParent):
* dom/TreeScope.cpp:
(WebCore::TreeScope::getSelection):
* dom/make_names.pl:
(printConstructorInterior):
(printFactoryCppFile):
(printWrapperFunctions):
(printWrapperFactoryCppFile):
* editing/markup.cpp:
(WebCore::createFragmentFromMarkupWithContext):
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::registerWithScopingNode):
(WebCore::HTMLStyleElement::unregisterWithScopingNode):
* html/shadow/HTMLContentElement.cpp:
(WebCore::contentTagName):
* inspector/DOMPatchSupport.cpp:
(WebCore::DOMPatchSupport::patchDocument):
* loader/FrameLoaderClient.h:
* platform/RefCountedSupplement.h: Copied from Source/WebCore/platform/Supplementable.h.
(WebCore):
(RefCountedSupplement):
(WebCore::RefCountedSupplement::hostDestroyed):
(Wrapper):
(WebCore::RefCountedSupplement::Wrapper::Wrapper):
(WebCore::RefCountedSupplement::Wrapper::~Wrapper):
(WebCore::RefCountedSupplement::Wrapper::wrapped):
(WebCore::RefCountedSupplement::provideTo):
(WebCore::RefCountedSupplement::from):
* platform/Supplementable.h:
(WebCore::Supplement::isRefCountedWrapper):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseXML):

Source/WebKit/chromium:

Reviewed by Dimitri Glazkov.

- Added ContextFeaturesClientImpl which implements WebCore::ContextFeaturesClient.
- Replaced PagePopupFrameLoaderClient with PagePopupFeaturesClient.

* WebKit.gyp:
* public/WebPermissionClient.h:
(WebKit):
(WebKit::WebPermissionClient::allowWebComponents):
* src/ContextFeaturesClientImpl.cpp: Renamed from Source/WebCore/bindings/generic/ContextEnabledFeatures.cpp.
(WebKit):
(WebKit::ContextFeaturesClientImpl::isEnabled):
* src/ContextFeaturesClientImpl.h: Renamed from Source/WebCore/bindings/generic/ContextEnabledFeatures.h.
(WebKit):
(ContextFeaturesClientImpl):
(WebKit::ContextFeaturesClientImpl::ContextFeaturesClientImpl):
(WebKit::ContextFeaturesClientImpl::setPermissionClient):
* src/FrameLoaderClientImpl.cpp:
* src/FrameLoaderClientImpl.h:
(FrameLoaderClientImpl):
* src/WebPagePopupImpl.cpp:
(PagePopupFeaturesClient):
(WebKit::PagePopupFeaturesClient::isEnabled):
(WebKit):
(WebKit::WebPagePopupImpl::initPage):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::setPermissionClient):
(WebKit::WebViewImpl::WebViewImpl):
* src/WebViewImpl.h:
(WebKit):

LayoutTests:

Reviewed by Dimitri Glazkov.

* fast/dom/shadow/elements-in-frameless-document-expected.txt: Added.
* fast/dom/shadow/elements-in-frameless-document.html: Added.

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

7 years agoHTTP tests should use testRunner instead of layoutTestController
rniwa@webkit.org [Wed, 13 Jun 2012 07:49:51 +0000 (07:49 +0000)]
HTTP tests should use testRunner instead of layoutTestController
https://bugs.webkit.org/show_bug.cgi?id=88969

Reviewed by Darin Adler.

* http/tests/appcache/:
* http/tests/cache/cancel-during-failure-crash.html:
* http/tests/cache/cancel-during-revalidation-succeeded.html:
* http/tests/cache/history-only-cached-subresource-loads-max-age-https.html:
* http/tests/cache/history-only-cached-subresource-loads.html:
* http/tests/cache/loaded-from-cache-after-reload-within-iframe.html:
* http/tests/cache/loaded-from-cache-after-reload.html:
* http/tests/cache/post-redirect-get.php:
* http/tests/cache/post-with-cached-subresources.php:
* http/tests/cache/resources/stopped-revalidation-result.html:
* http/tests/cache/resources/subresource-test.js:
(nextTest):
* http/tests/cache/stopped-revalidation.html:
* http/tests/cache/subresource-failover-to-network.html:
* http/tests/cache/subresource-fragment-identifier.html:
* http/tests/cache/subresource-multiple-instances.html:
* http/tests/cache/xhr-body.html:
* http/tests/cache/zero-length-xhr.html:
* http/tests/canvas/philip/tests.js:
(_addTest.endTest):
(_addTest.window.onload):
(_addTest):
* http/tests/canvas/webgl/origin-clean-conformance.html:
* http/tests/cookies/resources/cookies-test-pre.js:
* http/tests/cookies/resources/resetCookies.js:
(resetCookies):
* http/tests/cookies/resources/setArraycookies-result.php:
* http/tests/cookies/resources/setUtf8Cookies-result.php:
* http/tests/cookies/resources/third-party-cookie-relaxing-iframe.html:
* http/tests/cookies/third-party-cookie-relaxing.html:
* http/tests/css/cross-fade-reload.html:
* http/tests/css/css-imports-redirect-cycle.html:
* http/tests/css/font-face-src-loading.html:
* http/tests/css/resources/link-css-disabled-value-with-slow-loading-sheet-in-error.js:
* http/tests/css/resources/link-css-disabled-value-with-slow-loading-sheet.js:
* http/tests/css/resources/request-logging.js:
(startTest):
(endTest):
* http/tests/download/basic-ascii.html:
* http/tests/download/default-encoding.html:
* http/tests/download/inherited-encoding-form-submission-result.html:
* http/tests/download/inherited-encoding.html:
* http/tests/download/literal-utf-8.html:
* http/tests/eventsource/eventsource-bad-mime-type.html:
* http/tests/eventsource/eventsource-content-type-charset.html:
* http/tests/eventsource/eventsource-eof.html:
* http/tests/eventsource/eventsource-parse-event-stream.html:
* http/tests/eventsource/eventsource-reconnect-during-navigate-crash.html:
* http/tests/eventsource/eventsource-reconnect.html:
* http/tests/eventsource/eventsource-status-code-states.html:
* http/tests/eventsource/existent-eventsource-status-error-iframe-crash.html:
* http/tests/eventsource/non-existent-eventsource-status-error-iframe-crash.html:
* http/tests/eventsource/resources/wait-then-notify-done.php:
* http/tests/eventsource/workers/eventsource-simple.html:
* http/tests/fileapi/create-blob-url-from-data-url.html:
* http/tests/filesystem/no-cache-filesystem-url.html:
* http/tests/globalhistory/history-delegate-basic-302-redirect.html:
* http/tests/globalhistory/history-delegate-basic-refresh-redirect.html:
* http/tests/globalhistory/history-delegate-basic-title.html:
* http/tests/globalhistory/history-delegate-basic-visited-links.html:
* http/tests/history/:
* http/tests/incremental/frame-focus-before-load.html:
* http/tests/incremental/partial-jpeg.html:
* http/tests/incremental/pause-in-script-element.pl:
* http/tests/incremental/slow-utf8-css.html:
* http/tests/incremental/slow-utf8-html.pl:
* http/tests/incremental/split-hex-entities.pl:
* http/tests/inspector-enabled/console-clear-arguments-on-frame-navigation.html:
* http/tests/inspector-enabled/console-clear-arguments-on-frame-remove.html:
* http/tests/inspector-enabled/console-log-before-frame-navigation.html:
* http/tests/inspector-enabled/contentSecurityPolicy-blocks-setInterval.html:
* http/tests/inspector-enabled/contentSecurityPolicy-blocks-setTimeout.html:
* http/tests/inspector-enabled/database-open.html:
* http/tests/inspector-enabled/dedicated-workers-list.html:
* http/tests/inspector-enabled/document-write.html:
* http/tests/inspector-enabled/dom-storage-open.html:
* http/tests/inspector-enabled/injected-script-discard.html:
* http/tests/inspector-enabled/resources/console-clear-arguments-iframe.html:
* http/tests/inspector/console-resource-errors.html:
* http/tests/inspector/console-websocket-error.html:
* http/tests/inspector/indexeddb/resources/without-indexed-db.html:
* http/tests/inspector/inspector-test.js:
* http/tests/inspector/network/ping.html:
* http/tests/inspector/resource-tree/resources/script-initial.js:
(foo):
* http/tests/inspector/resource-tree/resources/script-navigated.js:
(foo):
* http/tests/inspector/web-socket-frame-error.html:
* http/tests/inspector/web-socket-frame.html:
* http/tests/loading/:
* http/tests/local/absolute-url-strip-whitespace.html:
* http/tests/local/blob/script-tests/send-hybrid-blob.js:
(runTests):
* http/tests/local/drag-over-remote-content.html:
* http/tests/local/fail.css:
(#pass):
* http/tests/local/formdata/send-form-data-constructed-from-form.html:
* http/tests/local/link-stylesheet-load-order-preload.html:
* http/tests/local/link-stylesheet-load-order.html:
* http/tests/local/link-stylesheet-preferred.html:
* http/tests/local/style-access-before-stylesheet-loaded.html:
* http/tests/local/stylesheet-and-script-load-order-http.html:
* http/tests/local/stylesheet-and-script-load-order-media-print.html:
* http/tests/local/stylesheet-and-script-load-order.html:
* http/tests/media/reload-after-dialog.html:
* http/tests/media/resources/test.txt:
* http/tests/media/video-buffered-range-contains-currentTime.html:
* http/tests/media/video-cancel-load.html:
* http/tests/media/video-cookie.html:
* http/tests/media/video-error-abort.html:
* http/tests/messaging/cross-domain-message-event-dispatch.html:
* http/tests/messaging/cross-domain-message-send.html:
* http/tests/mime/quoted-charset.php:
* http/tests/mime/resources/uppercase-mime-type.php:
* http/tests/mime/standard-mode-does-not-load-stylesheet-with-text-plain-and-css-extension.html:
* http/tests/mime/standard-mode-does-not-load-stylesheet-with-text-plain.html:
* http/tests/mime/standard-mode-loads-stylesheet-with-charset-and-css-extension.html:
* http/tests/mime/standard-mode-loads-stylesheet-with-charset.html:
* http/tests/mime/standard-mode-loads-stylesheet-with-empty-content-type.html:
* http/tests/mime/standard-mode-loads-stylesheet-with-text-css-and-invalid-type.html:
* http/tests/mime/uppercase-mime-type.html:
* http/tests/misc/:
* http/tests/websocket/tests/:
* http/tests/workers/resources/worker-redirect.js:
(runNextTest):
* http/tests/workers/resources/worker-util.js:
(waitUntilThreadCountMatches.return):
(waitUntilThreadCountMatches):
(done):
* http/tests/workers/shared-worker-importScripts.html:
* http/tests/workers/shared-worker-invalid-url.html:
* http/tests/workers/terminate-during-sync-operation.html:
* http/tests/workers/text-encoding.html:
* http/tests/workers/worker-document-domain-security.html:
* http/tests/workers/worker-importScripts.html:
* http/tests/workers/worker-importScriptsOnError.html:
* http/tests/workers/worker-invalid-url.html:
* http/tests/workers/worker-workerScriptNotThere.html:
* http/tests/xmlhttprequest/:
* http/tests/xmlviewer/dumpAsText/frames.html:
* http/tests/xmlviewer/dumpAsText/xhtml-tag.xml:
* http/tests/xmlviewer/extensions-api.html:
* platform/chromium-win/http/tests/websocket/tests/hixie76/bad-sub-protocol-control-chars-expected.txt:
* platform/chromium/http/tests/misc/execute-and-return-value.html:
* platform/chromium/http/tests/misc/selectionAsMarkup.html:
* platform/chromium/http/tests/permissionclient/image-permissions.html:
* platform/chromium/http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write-expected.txt:
* platform/chromium/http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url-expected.txt:
* platform/chromium/http/tests/security/aboutBlank/xss-DENIED-set-opener-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-to-data-url-sub-frame-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-from-data-url-to-data-url-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-url-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-window-open-expected.txt:
* platform/chromium/http/tests/security/mixedContent/insecure-iframe-in-main-frame-allowed.html:
* platform/chromium/http/tests/security/mixedContent/insecure-iframe-in-main-frame-blocked.html:
* platform/chromium/http/tests/security/mixedContent/insecure-image-in-main-frame-allowed.html:
* platform/chromium/http/tests/security/mixedContent/insecure-image-in-main-frame-blocked.html:
* platform/chromium/http/tests/security/mixedContent/insecure-script-in-main-frame-allowed.html:
* platform/chromium/http/tests/security/mixedContent/insecure-script-in-main-frame-blocked.html:
* platform/chromium/http/tests/security/window-named-proto-expected.txt:
* platform/qt/http/tests/cookies/strict-third-party-cookie-blocking.html:
* platform/qt/http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write-expected.txt:
* platform/qt/http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url-expected.txt:
* platform/qt/http/tests/security/aboutBlank/xss-DENIED-set-opener-expected.txt:

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

7 years ago[Qt][Win]QtTestBrowser somehow picks up DumpRenderTree's main.cpp, causing a failure...
hausmann@webkit.org [Wed, 13 Jun 2012 07:32:58 +0000 (07:32 +0000)]
[Qt][Win]QtTestBrowser somehow picks up DumpRenderTree's main.cpp, causing a failure to link
https://bugs.webkit.org/show_bug.cgi?id=88874

Patch by Joel Dillon <joel.dillon@codethink.co.uk> on 2012-06-13
Reviewed by Simon Hausmann.

Rename main.cpp in QtTestBrowser because on Windows
it conflicts with main.cpp from DumpRenderTree.

* QtTestBrowser/QtTestBrowser.pro:
* QtTestBrowser/qttestbrowser.cpp: Renamed from Tools/QtTestBrowser/main.cpp.
(launcherMain):
(LauncherApplication):
(LauncherApplication::urls):
(LauncherApplication::isRobotized):
(LauncherApplication::robotTimeout):
(LauncherApplication::robotExtraTime):
(LauncherApplication::applyDefaultSettings):
(LauncherApplication::LauncherApplication):
(requiresGraphicsView):
(LauncherApplication::handleUserOptions):
(main):

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

7 years agoUnprefix Blob.webkitSlice
kinuko@chromium.org [Wed, 13 Jun 2012 06:50:19 +0000 (06:50 +0000)]
Unprefix Blob.webkitSlice
https://bugs.webkit.org/show_bug.cgi?id=78111

Reviewed by Adam Barth.

Source/WebCore:

Add unprefixed Blob.slice and start showing a deprecation message when webkitSlice is called.

No new tests: existing tests that call webkitSlice() are converted to slice(). They should keep running.

* bindings/gobject/WebKitDOMCustom.cpp:
(webkit_dom_blob_slice): Removed.
(webkit_dom_blob_webkit_slice): Added.
* fileapi/Blob.cpp:
(WebCore::Blob::slice):
(WebCore):
(WebCore::Blob::webkitSlice):
(WebCore::Blob::sliceInternal): Added.
* fileapi/Blob.h:
(WebCore):
(Blob):
* fileapi/Blob.idl:

LayoutTests:

Converted existing tests that are calling Blob.webkitSlice() to call slice().

* fast/files/blob-slice-overflow.html:
* fast/files/blob-slice-test.html:
* fast/files/resources/read-blob-test-cases.js:
(testReadingSlicedFileBlob):
(testReadingSlicedTextBlob):
(testReadingSlicedArrayBufferBlob):
(testReadingSlicedHybridBlob):
(testReadingTripleSlicedHybridBlob):
* fast/filesystem/resources/file-writer-utils.js:
(verifyByteRangeIsZeroesHelper):
* http/tests/local/blob/script-tests/send-hybrid-blob.js:
(runHybridBlobTest):
* http/tests/local/blob/script-tests/send-sliced-data-blob.js:
(runSliceTest):
* http/tests/local/fileapi/script-tests/send-sliced-dragged-file.js:
(onStableFileDrop):
(onUnstableFileDrop):
* http/tests/local/formdata/resources/send-form-data-common.js:
(testSendingFormData):
* inspector/profiler/heap-snapshot-loader.html:

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

7 years agoUnreviewed, rolling out r120036.
commit-queue@webkit.org [Wed, 13 Jun 2012 06:33:22 +0000 (06:33 +0000)]
Unreviewed, rolling out r120036.
http://trac.webkit.org/changeset/120036
https://bugs.webkit.org/show_bug.cgi?id=88965

"assert failed in debug build" (Requested by maryw on
#webkit).

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

* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::handleNotifyDataReceived):

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

7 years ago[Qt] Unreviewed morning gardening, skip new failing tests.
ossy@webkit.org [Wed, 13 Jun 2012 06:01:24 +0000 (06:01 +0000)]
[Qt] Unreviewed morning gardening, skip new failing tests.

* platform/qt/Skipped:

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

7 years ago[Qt][Mac] Unreviewed buildfix after r120076.
ossy@webkit.org [Wed, 13 Jun 2012 05:39:11 +0000 (05:39 +0000)]
[Qt][Mac] Unreviewed buildfix after r120076.

* WebCoreSupport/QTKitFullScreenVideoHandler.h:

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

7 years ago[chromium] Roll chromium rev in DEPS
commit-queue@webkit.org [Wed, 13 Jun 2012 05:19:12 +0000 (05:19 +0000)]
[chromium] Roll chromium rev in DEPS
https://bugs.webkit.org/show_bug.cgi?id=88934

Patch by Ian Vollick <vollick@chromium.org> on 2012-06-12
Reviewed by James Robinson.

Rolling to 141410

* DEPS:

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

7 years agowebcore should depend on webcore_arm_neon for only arm target_arch
commit-queue@webkit.org [Wed, 13 Jun 2012 05:00:56 +0000 (05:00 +0000)]
webcore should depend on webcore_arm_neon for only arm target_arch
https://bugs.webkit.org/show_bug.cgi?id=88839

Patch by Wei James <james.wei@intel.com> on 2012-06-12
Reviewed by Adam Barth.

* WebCore.gyp/WebCore.gyp:

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

7 years agoUnreviewed build fix for ARMv7 debug builds.
fpizlo@apple.com [Wed, 13 Jun 2012 04:56:22 +0000 (04:56 +0000)]
Unreviewed build fix for ARMv7 debug builds.

* jit/JITStubs.cpp:
(JSC::JITThunks::JITThunks):

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

7 years agoCan't set el.type on a <button> element
commit-queue@webkit.org [Wed, 13 Jun 2012 04:50:42 +0000 (04:50 +0000)]
Can't set el.type on a <button> element
https://bugs.webkit.org/show_bug.cgi?id=14439

Patch by Edaena Salinas Jasso <edaena@apple.com> on 2012-06-12
Reviewed by Darin Adler.

Source/WebCore:

Test: fast/dom/HTMLButtonElement/change-type.html

* bindings/objc/PublicDOMInterfaces.h:
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::setType): Added implementation of setType method.
(WebCore):
* html/HTMLButtonElement.h:
(HTMLButtonElement): Added setType method.
* html/HTMLButtonElement.idl: Removed readonly restriction to the type variable.

LayoutTests:

* fast/dom/HTMLButtonElement/change-type-expected.txt: Added.
* fast/dom/HTMLButtonElement/change-type.html: Added.

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

7 years ago[Chromium] Unreviewed: Update expectations for http/tests/media/media-source/webm...
dominicc@chromium.org [Wed, 13 Jun 2012 04:47:01 +0000 (04:47 +0000)]
[Chromium] Unreviewed: Update expectations for http/tests/media/media-source/webm/video-media-source-seek.html

This test has racy events (seeked and webkitsourceended) so is
flaky on Linux Dbg. Updated bug 85952 that is tracking flakiness
in these tests.

* platform/chromium/TestExpectations:

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

7 years ago[Chromium] Implement font shaping with font-feature-settings on Mac
bashi@chromium.org [Wed, 13 Jun 2012 04:32:29 +0000 (04:32 +0000)]
[Chromium] Implement font shaping with font-feature-settings on Mac
https://bugs.webkit.org/show_bug.cgi?id=69826

Reviewed by Tony Chang.

Source/WebCore:

Add HarfBuzz-ng text shaper.
Chromium mac port uses it as secondary text shaper to support OpenType features.
HarfBuzz-ng is only used when -webkit-font-feature-settings is specified and
corresponding font is not an AAT font.

No new tests. css3/font-feature-settings-rendering.html should pass on Chromium mac port.

* WebCore.gyp/WebCore.gyp: Added harfbuzz-ng dependencies.
* WebCore.gypi: Added harfbuzz-ng files.
* platform/graphics/FontPlatformData.h:
(FontPlatformData): Added m_harfbuzzFace.
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::platformDataInit): Copy m_harfbuzzFace.
(WebCore::FontPlatformData::platformDataAssign): Ditto.
(WebCore):
(WebCore::isAATFont):
(WebCore::FontPlatformData::harfbuzzFace):
* platform/graphics/harfbuzz/ng/HarfBuzzFace.cpp: Added.
(WebCore):
(WebCore::harfbuzzFaceCache):
(WebCore::HarfBuzzFace::HarfBuzzFace):
(WebCore::HarfBuzzFace::~HarfBuzzFace):
* platform/graphics/harfbuzz/ng/HarfBuzzFace.h: Added.
(WebCore):
(HarfBuzzFace):
(WebCore::HarfBuzzFace::create):
* platform/graphics/harfbuzz/ng/HarfBuzzFaceCoreText.cpp: Added.
(WebCore):
(WebCore::floatToHarfBuzzPosition):
(WebCore::getGlyph):
(WebCore::getGlyphHorizontalAdvance):
(WebCore::getGlyphHorizontalOrigin):
(WebCore::getGlyphExtents):
(WebCore::harfbuzzCoreTextGetFontFuncs):
(WebCore::releaseTableData):
(WebCore::harfbuzzCoreTextGetTable):
(WebCore::HarfBuzzFace::createFace):
(WebCore::HarfBuzzFace::createFont):
(WebCore::HarfBuzzShaper::createGlyphBufferAdvance):
* platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp: Added.
(WebCore):
(WebCore::harfbuzzPositionToFloat):
(WebCore::HarfBuzzShaper::HarfBuzzRun::HarfBuzzRun):
(WebCore::HarfBuzzShaper::HarfBuzzRun::setGlyphAndPositions):
(WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition):
(WebCore::HarfBuzzShaper::HarfBuzzRun::xPositionForOffset):
(WebCore::HarfBuzzShaper::HarfBuzzShaper):
(WebCore::HarfBuzzShaper::~HarfBuzzShaper):
(WebCore::HarfBuzzShaper::setFontFeatures):
(WebCore::HarfBuzzShaper::shape):
(WebCore::HarfBuzzShaper::setupHarfBuzzRun):
(WebCore::HarfBuzzShaper::shapeHarfBuzzRun):
(WebCore::HarfBuzzShaper::setGlyphPositionsForHarfBuzzRun):
(WebCore::HarfBuzzShaper::offsetForPosition):
(WebCore::HarfBuzzShaper::selectionRect):
* platform/graphics/harfbuzz/ng/HarfBuzzShaper.h: Added.
(WebCore):
(HarfBuzzShaper):
(WebCore::HarfBuzzShaper::totalWidth):
(HarfBuzzRun):
(WebCore::HarfBuzzShaper::HarfBuzzRun::create):
(WebCore::HarfBuzzShaper::HarfBuzzRun::setWidth):
(WebCore::HarfBuzzShaper::HarfBuzzRun::numCharacters):
(WebCore::HarfBuzzShaper::HarfBuzzRun::numGlyphs):
(WebCore::HarfBuzzShaper::HarfBuzzRun::width):
(WebCore::HarfBuzzShaper::HarfBuzzRun::rtl):
* platform/graphics/mac/FontComplexTextMac.cpp:
(WebCore):
(WebCore::preferHarfBuzz): Added.
(WebCore::Font::selectionRectForComplexText): Use HarfBuzzShaper if font-feature-settings exists.
(WebCore::Font::drawComplexText): Ditto.
(WebCore::Font::floatWidthForComplexText): Ditto.
(WebCore::Font::offsetForPositionForComplexText): Ditto.

LayoutTests:

* platform/chromium/TestExpectations: Updated expectation of css3/font-feature-settings-rendering.html. The result need to be rebaselined.

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

7 years ago[Chromium] Unreviewed: Update expectations
dominicc@chromium.org [Wed, 13 Jun 2012 03:39:09 +0000 (03:39 +0000)]
[Chromium] Unreviewed: Update expectations

fast/forms/datetimelocal/input-valueasdate-datetimelocal.html is
passing, so I expanded fast/forms/datetimelocal to TEXT failures
for all other tests. See bug 29359.

Likewise for
fast/forms/color/input-value-sanitization-color.html. See bug
88951.

fast/js/integer-division-neg2tothe32-by-neg1.html is passing on
Chromium WebKit waterfall, so updating CRASH to PASS CRASH. See
bug 81732.

* platform/chromium/TestExpectations:

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

7 years agoWIP: Implement CSS Variables Standard.
macpherson@chromium.org [Wed, 13 Jun 2012 03:31:39 +0000 (03:31 +0000)]
WIP: Implement CSS Variables Standard.
https://bugs.webkit.org/show_bug.cgi?id=85580

Reviewed by Ojan Vafai.

Implement CSS Variables Module Level 1. (See http://www.w3.org/TR/css-variables/)

A HashMap of properties is referenced by RenderStyle, and used to store variables as strings.
That HashMap is copy-on-write, and unless new variables are defined is simply a pointer to the
parent's definitions. At usage time the variable's value is parsed according to the CSS property
where it is used.
Variables can:
       Define lists of values (ie. entire shorthand values).
       Define individual values.
       Refer to other variables. (Cycle detection is implemented).
Please see the supplied test cases for example usage.

Missing features:
       CSS variables cannot yet be used inside some functions such as -webkit-calc.

Covered by existing test suite under fast/css/variables.

* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSGrammar.y:
* css/CSSParser.cpp:
(WebCore):
(WebCore::filterProperties):
(WebCore::CSSParser::createStylePropertySet):
(WebCore::CSSParser::validUnit):
(WebCore::CSSParser::createPrimitiveNumericValue):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::storeVariableDeclaration):
(WebCore::CSSParser::detectDashToken):
(WebCore::CSSParser::lex):
* css/CSSParser.h:
(CSSParser):
* css/CSSParserValues.cpp:
(WebCore::CSSParserValue::createCSSValue):
* css/CSSPrimitiveValue.cpp:
(WebCore::isValidCSSUnitTypeForDoubleConversion):
(WebCore::CSSPrimitiveValue::getStringValue):
(WebCore::CSSPrimitiveValue::customSerializeResolvingVariables):
(WebCore):
* css/CSSPrimitiveValue.h:
(CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::isVariableName):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSValue.cpp:
(WebCore::CSSValue::serializeResolvingVariables):
(WebCore):
(WebCore::CSSValue::destroy):
* css/CSSValue.h:
(CSSValue):
(WebCore::CSSValue::isVariableValue):
* css/CSSValueList.cpp:
(WebCore):
(WebCore::CSSValueList::customSerializeResolvingVariables):
* css/CSSValueList.h:
(CSSValueList):
* css/CSSVariableValue.h: Added.
(WebCore):
(CSSVariableValue):
(WebCore::CSSVariableValue::create):
(WebCore::CSSVariableValue::name):
(WebCore::CSSVariableValue::value):
(WebCore::CSSVariableValue::CSSVariableValue):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):
* css/StyleResolver.h:
* css/WebKitCSSTransformValue.cpp:
(WebCore):
(WebCore::WebKitCSSTransformValue::customSerializeResolvingVariables):
* css/WebKitCSSTransformValue.h:
(WebKitCSSTransformValue):
* css/makeprop.pl:
* rendering/style/RenderStyle.h:
* rendering/style/StyleVariableData.h: Added.
(WebCore):
(StyleVariableData):
(WebCore::StyleVariableData::create):
(WebCore::StyleVariableData::copy):
(WebCore::StyleVariableData::operator==):
(WebCore::StyleVariableData::operator!=):
(WebCore::StyleVariableData::setVariable):
(WebCore::StyleVariableData::StyleVariableData):

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

7 years agoTry to fix the build.
ggaren@apple.com [Wed, 13 Jun 2012 03:23:31 +0000 (03:23 +0000)]
Try to fix the build.

Maybe don't export inlined functions.

* wtf/ThreadingPrimitives.h:
(WTF::MutexTryLocker::MutexTryLocker):
(WTF::MutexTryLocker::~MutexTryLocker):
(WTF::MutexTryLocker::locked):

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

7 years ago[Chromium] Unreviewed: Update expectations for video-media-source-add-and-remove...
dominicc@chromium.org [Wed, 13 Jun 2012 03:05:06 +0000 (03:05 +0000)]
[Chromium] Unreviewed: Update expectations for video-media-source-add-and-remove-ids.html
https://bugs.webkit.org/show_bug.cgi?id=88949

* platform/chromium/TestExpectations:

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

7 years agoBuild fix for case-sensitive file systems: use the right case.
ggaren@apple.com [Wed, 13 Jun 2012 02:50:50 +0000 (02:50 +0000)]
Build fix for case-sensitive file systems: use the right case.

* heap/ListableHandler.h:

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

7 years agoWrap bot types inside ().
lforschler@apple.com [Wed, 13 Jun 2012 02:37:41 +0000 (02:37 +0000)]
Wrap bot types inside ().
https://bugs.webkit.org/show_bug.cgi?id=88893

Reviewed by Stephanie Lewis.

* BuildSlaveSupport/build.webkit.org-config/config.json:

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

7 years agoGC should be 1.7X faster
ggaren@apple.com [Wed, 13 Jun 2012 02:06:50 +0000 (02:06 +0000)]
GC should be 1.7X faster
https://bugs.webkit.org/show_bug.cgi?id=88840

Reviewed by Oliver Hunt.

I profiled, and removed anything that showed up as a concurrency
bottleneck. Then, I added 3 threads to our max thread count, since we
can scale up to more threads now.

* heap/BlockAllocator.cpp:
(JSC::BlockAllocator::BlockAllocator):
(JSC::BlockAllocator::~BlockAllocator):
(JSC::BlockAllocator::releaseFreeBlocks):
(JSC::BlockAllocator::waitForRelativeTimeWhileHoldingLock):
(JSC::BlockAllocator::waitForRelativeTime):
(JSC::BlockAllocator::blockFreeingThreadMain):
* heap/BlockAllocator.h:
(BlockAllocator):
(JSC::BlockAllocator::allocate):
(JSC::BlockAllocator::deallocate): Use a spin lock for the common case
where we're just popping a linked list. (A pthread mutex would sleep our
thread even if the lock were only contended for a microsecond.)

Scope the lock to avoid holding it while allocating VM, since that's a
slow activity and it doesn't modify any of our data structures.

We still use a pthread mutex to handle our condition variable since we
have to, and it's not a hot path.

* heap/CopiedSpace.cpp:
(JSC::CopiedSpace::CopiedSpace):
(JSC::CopiedSpace::doneFillingBlock):
* heap/CopiedSpace.h:
(JSC::CopiedSpace::CopiedSpace): Use a spin lock for the to space lock,
since it just guards linked list and hash table manipulation.

* heap/MarkStack.cpp:
(JSC::MarkStackSegmentAllocator::MarkStackSegmentAllocator):
(JSC::MarkStackSegmentAllocator::allocate):
(JSC::MarkStackSegmentAllocator::release):
(JSC::MarkStackSegmentAllocator::shrinkReserve): Use a spin lock, since
we're just managing a linked list.

(JSC::MarkStackArray::donateSomeCellsTo): Changed donation to be proportional
to our current stack size. This fixes cases where we used to donate too
much. Interestingly, donating too much was starving the donor (when it
ran out of work later) *and* the recipient (since it had to wait on a
long donation operation to complete before it could acquire the lock).

In the worst case, we're still guaranteed to donate N cells in roughly log N time.

This change also fixes cases where we used to donate too little, since
we would always keep a fixed minimum number of cells. In the worst case,
with N marking threads, would could have N large object graph roots in
our stack for the duration of GC, and scale to only 1 thread.

It's an interesting observation that a single object in the mark stack
might represent an arbitrarily large object graph -- and only the act
of marking can find out.

(JSC::MarkStackArray::stealSomeCellsFrom): Steal in proportion to idle
threads. Once again, this fixes cases where constants could cause us
to steal too much or too little.

(JSC::SlotVisitor::donateKnownParallel): Always wake up other threads
if they're idle. We can afford to do this because we're conservative
about when we donate.

(JSC::SlotVisitor::drainFromShared):
* heap/MarkStack.h:
(MarkStackSegmentAllocator):
(MarkStackArray):
(JSC):
* heap/SlotVisitor.h: Merged the "should I donate?" decision into a
single function, for simplicity.

* runtime/Options.cpp:
(minimumNumberOfScansBetweenRebalance): Reduced the delay before donation
a lot. We can afford to do this because, in the common case, donation is
a single branch that decides not to donate.

(cpusToUse): Use more CPUs now, since we scale better now.

* runtime/Options.h:
(Options): Removed now-unused variables.

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

7 years agoREGRESSION(120121): inspector tests crash in DFG
fpizlo@apple.com [Wed, 13 Jun 2012 01:29:07 +0000 (01:29 +0000)]
REGRESSION(120121): inspector tests crash in DFG
https://bugs.webkit.org/show_bug.cgi?id=88941

Reviewed by Geoffrey Garen.

The CFG simplifier has two different ways of fixing up GetLocal, Phantom, and Flush. If we've
already fixed up the node one way, we shouldn't try the other way. The reason why we shouldn't
is that the second way depends on the node referring to other nodes in the to-be-jettisoned
block. After fixup they potentially will refer to nodes in the block being merged to.

* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::fixPossibleGetLocal):
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):

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

7 years agoShadow Pseudo ID should be able to nest to point nested shadow DOM.
morrita@google.com [Wed, 13 Jun 2012 01:28:33 +0000 (01:28 +0000)]
Shadow Pseudo ID should be able to nest to point nested shadow DOM.
https://bugs.webkit.org/show_bug.cgi?id=62218

Reviewed by Dimitri Glazkov.

.:

* Source/autotools/symbols.filter:

Source/WebCore:

- updateSpecifiersWithElementName() didn't take nesting into account.
  tag history can contain selector entries which isn't marked as ShadowDescendant yet.
  such entry can be found by investigating isUnknownPseudoElement().
- SelectorChecker::checkSelector() was too strict. Unknown pseudo elements are essentially a kind of class or id
  in implementation perspective. For such, rejecting by missing elementStyle doesn't make sense:
  It isn't a pseudo but a real element for WebCore after all.
- Added Internals::setShadowPseudoId() to create a test harness whose DOM tree contains pseudo shadow ids.

Before this change, following selecdtor chain is created for "p::-shadow-child::-nested-shadow-child":

  [both tag name and -shadow-id are set] <-(ShadowDescendant)- [-nested-shadow-id]

What we want, which is created by this change is:

  [tag] <-(ShadowDescendant)- [-shadow-id is set] <-(ShadowdescenDant)- [-nested-shadow-id]

Test: fast/dom/shadow/shadow-nested-pseudo-id.html

* WebCore.exp.in:
* css/CSSParser.cpp:
(WebCore::CSSParser::updateSpecifiersWithElementName):
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOneSelector):
* testing/Internals.cpp:
(WebCore::Internals::setShadowPseudoId):
(WebCore):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

Source/WebKit2:

* win/WebKit2.def:
* win/WebKit2CFLite.def:

LayoutTests:

* fast/dom/shadow/shadow-nested-pseudo-id-expected.txt: Added.
* fast/dom/shadow/shadow-nested-pseudo-id.html: Added.

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

7 years agoChromium rebaselines after r120135. The new results are clearly more correct.
ojan@chromium.org [Wed, 13 Jun 2012 00:39:09 +0000 (00:39 +0000)]
Chromium rebaselines after r120135. The new results are clearly more correct.
* platform/chromium-win/transforms/3d/point-mapping/3d-point-mapping-expected.png:
* platform/chromium-win/transforms/3d/point-mapping/3d-point-mapping-origins-expected.png:
* platform/chromium-win/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png:

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

7 years ago[soup] Prevent setting or editing httpOnly cookies from JavaScript
commit-queue@webkit.org [Wed, 13 Jun 2012 00:33:03 +0000 (00:33 +0000)]
[soup] Prevent setting or editing httpOnly cookies from JavaScript
https://bugs.webkit.org/show_bug.cgi?id=88760

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-06-12
Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Prevent setting or overwriting httpOnly cookies from JavaScript.
Fix setCookies() so that it parses all the cookies and not just
the first one.

Test: http/tests/cookies/js-get-and-set-http-only-cookie.html

* platform/network/soup/CookieJarSoup.cpp:
(WebCore::httpOnlyCookieExists):
(WebCore):
(WebCore::setCookies):

Tools:

Update libsoup to v2.39.2, glib to v2.33.2 and glib-networking
to v2.33.2 for both GTK and EFL ports.

* efl/jhbuild.modules:
* gtk/jhbuild.modules:

LayoutTests:

Unskip http/tests/cookies/js-get-and-set-http-only-cookie.html for
both GTK and EFL ports now that that we don't allow overwriting
httpOnly cookies from JavaScript anymore.

* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:

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

7 years ago[EFL] Enable SHADOW_DOM flag
commit-queue@webkit.org [Wed, 13 Jun 2012 00:28:03 +0000 (00:28 +0000)]
[EFL] Enable SHADOW_DOM flag
https://bugs.webkit.org/show_bug.cgi?id=87732

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-06-12
Reviewed by Kentaro Hara.

.:

Enable SHADOW_DOM flag by default at compile time for EFL port.

* Source/autotools/symbols.filter: Fix GTK build by adding new symbol.
* Source/cmake/OptionsEfl.cmake:
* Source/cmakeconfig.h.cmake:

Source/WebCore:

Test: fast/dom/shadow/shadow-root-innerHTML.html

* dom/ShadowRoot.idl: Add JSGenerateToJSObject extended attribute so
that the ShadowRoot properties are accessible on JS side.
* testing/Internals.idl: Fix SHADOW_DOM ifdef check.

Source/WebKit:

Add WebCore/bindings/generic to include directories so
that we can include RuntimeEnabledFeatures.h.

* CMakeLists.txt:

Source/WebKit/efl:

Add Ewk setting to toggle Shadow DOM support at runtime.

* ewk/ewk_settings.cpp:
(ewk_settings_shadow_dom_enable_get):
(ewk_settings_shadow_dom_enable_set):
* ewk/ewk_settings.h:

Tools:

* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(DumpRenderTreeChrome::resetDefaultsToConsistentValues): Enable
SHADOW_DOM by default in DRT.
* DumpRenderTree/efl/DumpRenderTreeView.cpp:
(onFocusCanCycle): Enable focus cycling in EFL DRT to behave like
Chromium and Mac ports.
(drtViewAdd):
* Scripts/webkitperl/FeatureList.pm: Enable SHADOW_DOM flag by default
at compile time for EFL port.

LayoutTests:

Unskip most of the test cases associated to Shadow DOM now that the
feature is enabled by default for EFL's DRT.

* platform/efl/Skipped:
* platform/efl/TestExpectations:
* platform/efl/fast/dom/shadow/form-in-shadow-expected.txt: Added.
* platform/efl/fast/dom/shadow/tab-order-iframe-and-shadow-expected.txt: Added.

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

7 years agoDynamic hash table in DOMObjectHashTableMap is wrong in multiple threads
leo.yang@torchmobile.com.cn [Wed, 13 Jun 2012 00:23:49 +0000 (00:23 +0000)]
Dynamic hash table in DOMObjectHashTableMap is wrong in multiple threads
https://bugs.webkit.org/show_bug.cgi?id=87334

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Add a copy member function to JSC::HasTable. This function will copy all data
members except for *table* which contains thread specific data that prevents
up copying it. When you want to copy a JSC::HashTable that was constructed
on another thread you should call JSC::HashTable::copy().

* runtime/Lookup.h:
(JSC::HashTable::copy):
(HashTable):

Source/WebCore:

Adapt to JSC::HashTable::copy to avoid copy dynamic table member of a HashTable.
The dynamic table may be allocated on other thread and contains thread specific
identifiers. For example, a hash table of JSEntryArray was first initialized on a
worker thread, and then the user reloaded the page, another worker thread is
created due to reload, the dynamic allocated table in *staticTable* is specific
to the first worker thread which has died. If the user reload the page again,
the dynamic table will be freed and memory corruption will occur.

No functionalities changed, no new tests.

* bindings/js/DOMObjectHashTableMap.h:
(WebCore::DOMObjectHashTableMap::get):

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

7 years ago[chromium] Port Canvas2DLayerBridge over to WebExternalTextureLayer
commit-queue@webkit.org [Wed, 13 Jun 2012 00:10:03 +0000 (00:10 +0000)]
[chromium] Port Canvas2DLayerBridge over to WebExternalTextureLayer
https://bugs.webkit.org/show_bug.cgi?id=88597

Patch by James Robinson <jamesr@chromium.org> on 2012-06-12
Reviewed by Adrienne Walker.

Source/Platform:

This adds two new APIs to WebExternalTextureLayer that are used by the accelerated 2d canvas path:
- willModifyTexture() is called to indicate that a system outside the compositor's control is about to modify
the texture backing the WebExternalTextureLayer. This indicates to the compositor that it needs to avoid
producing more frames using this texture until it can do a full commit - either by double buffering or
appropriate flow control.

- setRateLimitContext() is called to enable rate limiting for this texture. The rate limiting logic blocks if
too many invalidate() or invalidateRect() calls are made on the texture outside of the context of a
WebLayerTreeViewClient::updateAnimations() call to prevent a non-vsynced producer from getting too far ahead of
the compositor.

* chromium/public/WebExternalTextureLayer.h:
(WebKit::WebExternalTextureLayer::WebExternalTextureLayer):
(WebExternalTextureLayer):

Source/WebCore:

This converts Canvas2DLayerBridge to using public WebLayer API types instead of LayerChromium types.

* platform/graphics/chromium/Canvas2DLayerBridge.cpp:
(WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
(WebCore::AcceleratedDeviceContext::prepareForDraw):
(AcceleratedDeviceContext):
(WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
(WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
(WebCore::Canvas2DLayerBridge::skCanvas):
(WebCore::Canvas2DLayerBridge::prepareTexture):
(WebCore::Canvas2DLayerBridge::context):
(WebCore::Canvas2DLayerBridge::layer):
(WebCore::Canvas2DLayerBridge::contextAcquired):
* platform/graphics/chromium/Canvas2DLayerBridge.h:
(WebCore):
(Canvas2DLayerBridge):

Source/WebKit/chromium:

Implementations for new WebExternalTextureLayer APIs, updates test.

* src/WebExternalTextureLayer.cpp:
(WebKit::WebExternalTextureLayer::willModifyTexture):
(WebKit):
(WebKit::WebExternalTextureLayer::setRateLimitContext):
* tests/Canvas2DLayerBridgeTest.cpp:
(Canvas2DLayerBridgeTest::fullLifecycleTest):

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

7 years agoAdd some expecations to green the chromium tree while the bugs are resolved.
ojan@chromium.org [Wed, 13 Jun 2012 00:01:58 +0000 (00:01 +0000)]
Add some expecations to green the chromium tree while the bugs are resolved.
* platform/chromium/TestExpectations:

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

7 years agohttps://bugs.webkit.org/show_bug.cgi?id=88928
beidson@apple.com [Tue, 12 Jun 2012 23:40:04 +0000 (23:40 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=88928
[WK2] New http/tests/loading/* tests fail

There's some latent timing issue with WK2 tests that prevents us from getting the last load delegate callback
before finishing the test.

Fortunately for the sake of these tests the load delegate dumps are entirely irrelevant.
Moving them from http/tests/loading to http/tests/misc and getting new, cleaner results fixes this.

Rubberstamped by Darin Adler.

* http/tests/misc/embed-image-load-outlives-gc-without-crashing-expected.txt: Renamed from LayoutTests/http/tests/loading/embed-image-load-outlives-gc-without-crashing-expected.txt.
* http/tests/misc/embed-image-load-outlives-gc-without-crashing.html: Renamed from LayoutTests/http/tests/loading/embed-image-load-outlives-gc-without-crashing.html.
* http/tests/misc/image-input-type-outlives-gc-without-crashing-expected.txt: Renamed from LayoutTests/http/tests/loading/image-input-type-outlives-gc-without-crashing-expected.txt.
* http/tests/misc/image-input-type-outlives-gc-without-crashing.html: Renamed from LayoutTests/http/tests/loading/image-input-type-outlives-gc-without-crashing.html.
* http/tests/misc/image-load-outlives-gc-without-crashing-expected.txt: Renamed from LayoutTests/http/tests/loading/image-load-outlives-gc-without-crashing-expected.txt.
* http/tests/misc/image-load-outlives-gc-without-crashing.html: Renamed from LayoutTests/http/tests/loading/image-load-outlives-gc-without-crashing.html.
* http/tests/misc/object-image-load-outlives-gc-without-crashing-expected.txt: Renamed from LayoutTests/http/tests/loading/object-image-load-outlives-gc-without-crashing-expected.txt.
* http/tests/misc/object-image-load-outlives-gc-without-crashing.html: Renamed from LayoutTests/http/tests/loading/object-image-load-outlives-gc-without-crashing.html.
* http/tests/misc/resources/slowimage.php: Renamed from LayoutTests/http/tests/loading/resources/slowimage.php.
* http/tests/misc/svg-image-load-outlives-gc-without-crashing-expected.txt: Renamed from LayoutTests/http/tests/loading/svg-image-load-outlives-gc-without-crashing-expected.txt.
* http/tests/misc/svg-image-load-outlives-gc-without-crashing.html: Renamed from LayoutTests/http/tests/loading/svg-image-load-outlives-gc-without-crashing.html.
* http/tests/misc/video-poster-image-load-outlives-gc-without-crashing-expected.txt: Renamed from LayoutTests/http/tests/loading/video-poster-image-load-outlives-gc-without-crashing-expected.txt.
* http/tests/misc/video-poster-image-load-outlives-gc-without-crashing.html: Renamed from LayoutTests/http/tests/loading/video-poster-image-load-outlives-gc-without-crashing.html.

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

7 years agoDFG should not ASSERT if you have a double use of a variable that is not revealed...
fpizlo@apple.com [Tue, 12 Jun 2012 23:16:51 +0000 (23:16 +0000)]
DFG should not ASSERT if you have a double use of a variable that is not revealed to be a double
until after CFG simplification
https://bugs.webkit.org/show_bug.cgi?id=88927
<rdar://problem/11513971>

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

Speculation fixup needs to run if simplification did things, because simplification can change
predictions - particularly if you had a control flow path that stored weird things into a
variable, but that path got axed by the simplifier.

Running fixup in the fixpoint requires making it idempotent, which it previously wasn't. Only
one place needed to be changed, namely the un-MustGenerate-ion of ValueToInt32.

* dfg/DFGDriver.cpp:
(JSC::DFG::compile):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):

LayoutTests:

Reviewed by Geoffrey Garen.

* fast/js/dfg-double-use-of-post-simplification-double-prediction-expected.txt: Added.
* fast/js/dfg-double-use-of-post-simplification-double-prediction.html: Added.
* fast/js/script-tests/dfg-double-use-of-post-simplification-double-prediction.js: Added.
(foo):

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

7 years agoFix packing in StyleBoxData for Windows.
alexis.menard@openbossa.org [Tue, 12 Jun 2012 23:07:21 +0000 (23:07 +0000)]
Fix packing in StyleBoxData for Windows.
https://bugs.webkit.org/show_bug.cgi?id=88858

Reviewed by Tony Chang.

MSVC doesn't pack bitfields if the types are mixed.
We can safely change the bool type to an unsigned so
the packing will happen. I have added a compile assert
for future regressions.

No new tests : we should not see any regressions.

* rendering/style/StyleBoxData.h:
* rendering/style/StyleBoxData.cpp:
(StyleBoxData):

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

7 years ago[chromium] Paint scrollbars on WebKit thread and composite those textures
enne@google.com [Tue, 12 Jun 2012 23:04:17 +0000 (23:04 +0000)]
[chromium] Paint scrollbars on WebKit thread and composite those textures
https://bugs.webkit.org/show_bug.cgi?id=88145

Reviewed by James Robinson.

Source/WebCore:

Scrollbars were previously painted and uploaded on the compositor
thread. This isn't possible to do for many scrollbar themes. This
patch changes ScrollbarLayerChromium to paint the scrollbar into two
parts: the thumb, and everything else. These are uploaded into
textures and synced over to the CCScrollbarImpl where they are
composited and drawn.

Mac and overlay scrollbars are still not enabled to have compositor
thread-updated scrollbars.

As a bonus, fix LayerRendererChromium::drawTextureQuad to draw quads
that do not fill the entire layer bounds.

Tested by existing layout and unit tests by removing the condition
that these scrollbar layers are only created when the threaded proxy
exists.

* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::scrollbarLayerDidChange):
* platform/ScrollbarThemeComposite.cpp:
(WebCore::ScrollbarThemeComposite::thumbRect):
(WebCore):
* platform/ScrollbarThemeComposite.h:
(ScrollbarThemeComposite):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawTextureQuad):
* platform/graphics/chromium/ScrollbarLayerChromium.cpp:
(WebCore::ScrollbarLayerChromium::ScrollbarLayerChromium):
(WebCore::ScrollbarLayerChromium::theme):
(WebCore):
(WebCore::ScrollbarLayerChromium::pushPropertiesTo):
(ScrollbarBackgroundPainter):
(WebCore::ScrollbarBackgroundPainter::create):
(WebCore::ScrollbarBackgroundPainter::paint):
(WebCore::ScrollbarBackgroundPainter::ScrollbarBackgroundPainter):
(ScrollbarThumbPainter):
(WebCore::ScrollbarThumbPainter::create):
(WebCore::ScrollbarThumbPainter::paint):
(WebCore::ScrollbarThumbPainter::ScrollbarThumbPainter):
(WebCore::ScrollbarLayerChromium::setLayerTreeHost):
(WebCore::ScrollbarLayerChromium::createTextureUpdaterIfNeeded):
(WebCore::ScrollbarLayerChromium::updatePart):
(WebCore::ScrollbarLayerChromium::update):
* platform/graphics/chromium/ScrollbarLayerChromium.h:
(WebCore):
(ScrollbarLayerChromium):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
(WebCore::CCScrollbarLayerImpl::CCScrollbarLayerImpl):
(WebCore::CCScrollbarLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
(WebCore::CCScrollbarLayerImpl::setBackgroundTextureId):
(WebCore::CCScrollbarLayerImpl::setThumbTextureId):
(CCScrollbarLayerImpl):

Source/WebKit/chromium:

Remove scrollbarLayerLostContext test that no longer makes sense. The
compositor won't draw at all after a lost context if it has no
contents.

* tests/CCLayerTreeHostImplTest.cpp:

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

7 years ago[BlackBerry] Crash when rendering web page that's being destroyed
commit-queue@webkit.org [Tue, 12 Jun 2012 22:52:31 +0000 (22:52 +0000)]
[BlackBerry] Crash when rendering web page that's being destroyed
https://bugs.webkit.org/show_bug.cgi?id=88915

Patch by Arvid Nilsson <anilsson@rim.com> on 2012-06-12
Reviewed by Rob Buis.

PR #164943

This was a null pointer dereference that happened when the compositor
was asked to render after being disconnected from its web page.

* Api/WebPageCompositor.cpp:
(BlackBerry::WebKit::WebPageCompositorPrivate::render):

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

7 years agoWinLauncher should show loading errors
commit-queue@webkit.org [Tue, 12 Jun 2012 22:47:56 +0000 (22:47 +0000)]
WinLauncher should show loading errors
https://bugs.webkit.org/show_bug.cgi?id=80760

Patch by Ashod Nakashian <ashodnakashian@yahoo.com> on 2012-06-12
Reviewed by Brent Fulgham.

* WinLauncher/WinLauncher.cpp: Added load-fail handler to show messagebox with error.
(WinLauncherWebHost::didFailProvisionalLoadWithError):
* WinLauncher/WinLauncher.h:
(WinLauncherWebHost::didFailProvisionalLoadWithError):
(WinLauncherWebHost):

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

7 years agoReplaced items in a flexbox should be coerced to display:block
tony@chromium.org [Tue, 12 Jun 2012 22:39:01 +0000 (22:39 +0000)]
Replaced items in a flexbox should be coerced to display:block
https://bugs.webkit.org/show_bug.cgi?id=87068

Reviewed by Ojan Vafai.

Source/WebCore:

The flexbox spec lists HTML tags that should automatically be converted
to display:block when a flex child. It also says that atomic inline-level
children should become block (e.g., inline-table should be treated as table).
http://dev.w3.org/csswg/css3-flexbox/#flex-items

Test: css3/flexbox/flexitem.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):

LayoutTests:

* css3/flexbox/flexitem-expected.txt: Added.
* css3/flexbox/flexitem.html: Added.
* css3/flexbox/resources/flexbox.js:
(checkExpectedValues):

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

7 years agoIndexedDB: ObjectStore/Index shouldn't hold reference to backing store
jsbell@chromium.org [Tue, 12 Jun 2012 22:36:54 +0000 (22:36 +0000)]
IndexedDB: ObjectStore/Index shouldn't hold reference to backing store
https://bugs.webkit.org/show_bug.cgi?id=83074

Reviewed by Tony Chang.

Source/WebCore:

We should be able to collect and close the leveldb backing store as soon as the database
connection is closed, but the IDBObjectStoreBackendImpl and IDBIndexBackendImpl were
holding RefPtrs, and those objects are kept alive by script references.

Replaced RefPtrs to the IDBBackingStore with pointers to the IDBDatabase. On the back end,
IDBDatabaseBackendImpl maintains a RefPtr to the IDBObjectStoreBackendImpl object, so
a raw pointer back is safe. On the front end, the IDBObjectStore maintains a RefPtr to
the IDBDatabase so script can navigate upwards. Ditto on both ends for the ObjectStore/Index
relationship. The frontend objects maintain RefPtrs to the backend objects, so the backend
objects and their owners are maintained as long as there's a script reference. To ensure
that all LevelDB objects are destructed in the right order, transactions indirectly track all
open cursors and ensure they are closed when the transaction finishes, and database closing
is explicitly prevented from occurring until transactions are complete.

Also made IDBDatabaseBackendImpl handle a null IDBFactoryBackendImpl pointer, for testing.

Tests: storage/indexeddb/database-close.html
       storage/indexeddb/persistence.html
       [Chromium] webkit_unit_tests --gtest_filter=IDBDatabaseBackendTest.BackingStoreRetention

* Modules/indexeddb/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::close): Release LevelDB resources when closed to allow backing store to close.
* Modules/indexeddb/IDBCursorBackendImpl.h:
(WebCore):
* Modules/indexeddb/IDBDatabase.cpp: Ensure connection close deferred until all transactions are finished.
(WebCore::IDBDatabase::transactionCreated): Accounting.
(WebCore::IDBDatabase::transactionFinished): Accounting.
(WebCore::IDBDatabase::close):
(WebCore):
(WebCore::IDBDatabase::closeConnection):
* Modules/indexeddb/IDBDatabase.h:
(IDBDatabase):
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Track outstanding transactions for forced-close scenarios.
(WebCore::IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::createObjectStore): Don't pass in backing store reference.
(WebCore::IDBDatabaseBackendImpl::setVersion): Use transaction() for consistent accounting.
(WebCore::IDBDatabaseBackendImpl::transactionFinished): Accounting.
(WebCore::IDBDatabaseBackendImpl::transaction): Accounting.
(WebCore::IDBDatabaseBackendImpl::close): Unregister from factory when last connection is closed.
(WebCore::IDBDatabaseBackendImpl::loadObjectStores): Don't pass in backing store reference.
(WebCore::IDBDatabaseBackendImpl::removeObjectStoreFromMap):
* Modules/indexeddb/IDBDatabaseBackendImpl.h:
(WebCore):
(IDBDatabaseBackendImpl):
* Modules/indexeddb/IDBFactoryBackendImpl.cpp:
(WebCore::IDBFactoryBackendImpl::deleteDatabase): Don't hang on to deleted databases eternally.
* Modules/indexeddb/IDBFactoryBackendImpl.h: Backend map controls IDBDatabaseBackend lifetimes.
(IDBFactoryBackendImpl):
* Modules/indexeddb/IDBIndexBackendImpl.cpp: Don't hold backing store references.
(WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
* Modules/indexeddb/IDBIndexBackendImpl.h:
(WebCore::IDBIndexBackendImpl::create):
(IDBIndexBackendImpl):
(WebCore::IDBIndexBackendImpl::backingStore):
(WebCore::IDBIndexBackendImpl::databaseId):
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Don't hold backing store references.
(WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
(WebCore::IDBObjectStoreBackendImpl::createIndex):
(WebCore::IDBObjectStoreBackendImpl::loadIndexes):
* Modules/indexeddb/IDBObjectStoreBackendImpl.h:
(WebCore::IDBObjectStoreBackendImpl::create):
(IDBObjectStoreBackendImpl):
(WebCore::IDBObjectStoreBackendImpl::backingStore):
(WebCore::IDBObjectStoreBackendImpl::databaseId):
* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::onSuccess):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::IDBTransaction): For IDBDatabase accounting, allow ref during ctor.
(WebCore::IDBTransaction::onAbort): Accounting.
(WebCore::IDBTransaction::onComplete): Accounting.
* Modules/indexeddb/IDBTransaction.h:
(WebCore::IDBTransaction::isVersionChange): Convenience function.
(IDBTransaction):
* Modules/indexeddb/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::abort): Cleanup ordering to allow backing store to close.
(WebCore::IDBTransactionBackendImpl::commit): Cleanup ordering to allow backing store to close.

Source/WebKit/chromium:

* WebKit.gypi:
* tests/IDBDatabaseBackendTest.cpp: Added.
(WebCore):
(WebCore::TEST):

LayoutTests:

The storage/indexeddb/persistence.html test verifies http://webkit.org/b/88788 which
was revealed by this patch set. The storage/indexeddb/database-close.html test verifies
the precise database connection closing semantics defined in the IDB spec.

* storage/indexeddb/database-close-expected.txt: Added.
* storage/indexeddb/database-close.html: Added.
* storage/indexeddb/persistence-expected.txt: Added.
* storage/indexeddb/persistence.html: Added.
* storage/indexeddb/resources/database-close.js: Added.
(test):
(openConnection.request.onsuccess.request.onsuccess):
(openConnection.request.onsuccess):
(openConnection):
(openVersionChangeConnection.request2.onsuccess):
(openVersionChangeConnection):
(testClose.transactionCompleted):
(testClose.request.onsuccess):
(testClose):
* storage/indexeddb/resources/persistence.js: Added.
(test):
(openAndChangeVersion.request.onsuccess.request.onsuccess.trans.oncomplete):
(openAndChangeVersion.request.onsuccess.request.onsuccess):
(openAndChangeVersion.request.onsuccess):

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

7 years ago[EFL][WK2] Add MiniBrowserEfl.
ryuan.choi@samsung.com [Tue, 12 Jun 2012 22:19:56 +0000 (22:19 +0000)]
[EFL][WK2] Add MiniBrowserEfl.
https://bugs.webkit.org/show_bug.cgi?id=61850

Reviewed by Chang Shu.

Implement MiniBrowser for EFL.

* CMakeLists.txt:
* MiniBrowser/efl/CMakeLists.txt: Added.
* MiniBrowser/efl/main.c: Added.
(_MiniBrowser):
(main_signal_exit):
(on_ecore_evas_resize):
(browserCreate):
(main):

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

7 years ago[chromium] Don't set visible layer rect in CCLayerTreeHost paint iteration
enne@google.com [Tue, 12 Jun 2012 22:12:52 +0000 (22:12 +0000)]
[chromium] Don't set visible layer rect in CCLayerTreeHost paint iteration
https://bugs.webkit.org/show_bug.cgi?id=88895

Reviewed by James Robinson.

We should only set visible layer rects during the recursion in
CClayerTreeHostCommon and not while we're painting. This is one last
straggling piece of code that never got moved.

Tested by existing mask-related layout tests.

* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::paintMasksForRenderSurface):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateVisibleAndScissorRectsInternal):

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

7 years ago[chromium] Set contentBounds() on impl layers in CCLayerTreeHostCommonTests
danakj@chromium.org [Tue, 12 Jun 2012 22:02:51 +0000 (22:02 +0000)]
[chromium] Set contentBounds() on impl layers in CCLayerTreeHostCommonTests
https://bugs.webkit.org/show_bug.cgi?id=88903

Reviewed by Adrienne Walker.

Without setting the contentBounds() on impl layers, the visibleLayerRect
will be wrong. This is not the case for main-thread layers, which most
of the tests in this file use. But this is a potential serious confusion
for future test implementors so I'd like to make it explicit now.

* tests/CCLayerTreeHostCommonTest.cpp:

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

7 years ago[chromium] Return empty visibleLayerRect for layers with empty content bounds
danakj@chromium.org [Tue, 12 Jun 2012 21:57:05 +0000 (21:57 +0000)]
[chromium] Return empty visibleLayerRect for layers with empty content bounds
https://bugs.webkit.org/show_bug.cgi?id=88901

Reviewed by Adrienne Walker.

Source/WebCore:

This change should only affect tests. Currently if you set up a
CCLayerImpl with some bounds, but don't set the contentBounds, then
they are empty by default. In this case the visibleLayerRect gets
set inappropriately to the layer's target surface contentRect which
in a completely different coordinate space.

Fixed up tests that were passing bogusly and failed after this change.

* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateVisibleLayerRect):

Source/WebKit/chromium:

* tests/CCLayerTreeHostImplTest.cpp:

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

7 years ago[Qt] Unreviwed nightly gardening.
ossy@webkit.org [Tue, 12 Jun 2012 21:55:26 +0000 (21:55 +0000)]
[Qt] Unreviwed nightly gardening.

* platform/qt/Skipped:

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

7 years ago[chromium] ScrollingCoordinator::setScrollLayer should update scroll layer ids
enne@google.com [Tue, 12 Jun 2012 21:46:28 +0000 (21:46 +0000)]
[chromium] ScrollingCoordinator::setScrollLayer should update scroll layer ids
https://bugs.webkit.org/show_bug.cgi?id=88882

Reviewed by James Robinson.

Tested manually, as scrollbar layers are currently only created when
threaded compositing is enabled and none of those layout tests trigger
this bug.

* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
(ScrollingCoordinatorPrivate):
(WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
(WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
(WebCore::createScrollbarLayer):
(WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
(WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
* platform/graphics/chromium/ScrollbarLayerChromium.h:
(WebCore::ScrollbarLayerChromium::setScrollLayerId):
(ScrollbarLayerChromium):
* platform/graphics/chromium/TreeSynchronizer.cpp:
(WebCore::TreeSynchronizer::updateScrollbarLayerPointersRecursive):

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

7 years ago[BlackBerry] Scale was incorrect when reloading a simple web page after initial load
zhajiang@rim.com [Tue, 12 Jun 2012 21:44:54 +0000 (21:44 +0000)]
[BlackBerry] Scale was incorrect when reloading a simple web page after initial load
https://bugs.webkit.org/show_bug.cgi?id=88889

Reviewed by Adam Treat.
Patch by Jacky Jiang <zhajiang@rim.com>

PR: 164442
When we were reloading a web page with the load type FrameLoadTypeSame
after the initial load, the first layout timer was fired after the load
Finished state, in which case the web page would have no chance to zoom
to the initial scale during the layout as it was only for load
Committed state. This patch takes care of it.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::layoutFinished):
(BlackBerry::WebKit::WebPagePrivate::shouldZoomToInitialScaleOnLoad):
(WebKit):
(BlackBerry::WebKit::WebPagePrivate::zoomToInitialScaleOnLoad):
* Api/WebPage_p.h:
(WebPagePrivate):
* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::dispatchDidFirstVisuallyNonEmptyLayout):

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

7 years ago[Qt] Unreviwed nightly gardening.
ossy@webkit.org [Tue, 12 Jun 2012 21:40:42 +0000 (21:40 +0000)]
[Qt] Unreviwed nightly gardening.

* platform/qt/Skipped: Remove rolled out tests.
* platform/qt/fast/multicol/span/clone-flexbox-expected.txt: Updated after r120100.

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

7 years agoSource/WebCore: [chromium mac] Don't include things in subframeworks of
commit-queue@webkit.org [Tue, 12 Jun 2012 21:39:14 +0000 (21:39 +0000)]
Source/WebCore: [chromium mac] Don't include things in subframeworks of
ApplicationServices.framework.

Subframeworks move around from SDK to SDK and OS release to OS
release, but just using the top-level umbrella framework guarantees
forward compatibility. When building for Chromium Mac, just #include
<ApplicationServices/ApplicationServices.h> instead of reaching in to
subframeworks.

https://bugs.webkit.org/show_bug.cgi?id=88569

Patch by Mark Mentovai <mark@chromium.org> on 2012-06-12
Reviewed by Stephen White.

No new tests.

* platform/graphics/GlyphBuffer.h:
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
* platform/graphics/skia/GraphicsContextSkia.cpp:

Source/WebKit/chromium: [chromium mac] Don't #include things in subframeworks of
ApplicationServices.framework.

#including the umbrella <ApplicatonServices/ApplicationServices.h>
exposed an ambiguous name, FontMetrics, that needs to be fully
qualified as WebCore::FontMetrics.

https://bugs.webkit.org/show_bug.cgi?id=88569

Patch by Mark Mentovai <mark@chromium.org> on 2012-06-12
Reviewed by Stephen White.

* src/WebFontImpl.cpp:
(WebKit::WebFontImpl::estimateTextBounds):

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

7 years agoREGRESSION (r119779): Javascript TypeError: 'undefined' is not an object
fpizlo@apple.com [Tue, 12 Jun 2012 21:15:43 +0000 (21:15 +0000)]
REGRESSION (r119779): Javascript TypeError: 'undefined' is not an object
https://bugs.webkit.org/show_bug.cgi?id=88783
<rdar://problem/11640299>

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

If you don't keep alive the base of an object access over the various checks
you do for the prototype chain, you're going to have a bad time.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleGetById):

LayoutTests:

Reviewed by Geoffrey Garen.

* fast/js/dfg-proto-access-inline-osr-exit-expected.txt: Added.
* fast/js/dfg-proto-access-inline-osr-exit.html: Added.
* fast/js/script-tests/dfg-proto-access-inline-osr-exit.js: Added.
(foo):
(Thingy):

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

7 years agoUnreviewed. Update my email address in committers.py.
helder@sencha.com [Tue, 12 Jun 2012 21:09:18 +0000 (21:09 +0000)]
Unreviewed. Update my email address in committers.py.

* Scripts/webkitpy/common/config/committers.py:

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

7 years agoApply animations and transitions for first-letter element
igor.o@sisa.samsung.com [Tue, 12 Jun 2012 21:08:18 +0000 (21:08 +0000)]
Apply animations and transitions for first-letter element
https://bugs.webkit.org/show_bug.cgi?id=85253

Source/WebCore:

Add animations and transitions support for the first-letter
pseudo element.
Instead of calling RenderOject::node() in the animations code,
now we need to call RenderObject::styledGeneratingNode() because
pseudo elements does not have a Node associated with the
RenderObject.

Initial patch by Simon Fraser

Reviewed by Simon Fraser.

Tests: animations/first-letter-animation.html
       animations/first-letter-play-state.html
       transitions/first-letter-color-transition.html
       transitions/first-letter-transition.html

* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::updateStateMachine):
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::updateAnimations):
(WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
(WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
(WebCore::AnimationController::cancelAnimations):
(WebCore::AnimationController::updateAnimations):
* page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::pauseAnimation):
(WebCore::ImplicitAnimation::sendTransitionEvent):
* page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::KeyframeAnimation):
(WebCore::KeyframeAnimation::pauseAnimation):
(WebCore::KeyframeAnimation::endAnimation):
(WebCore::KeyframeAnimation::sendAnimationEvent):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateFirstLetterStyle):
(WebCore::RenderBlock::createFirstLetterRenderer):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::clippedOverflowRectForRepaint):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::setAnimatableStyle):
(WebCore::RenderObject::styledGeneratingNode):
(WebCore):
* rendering/RenderObject.h:
(RenderObject):

LayoutTests:

Reviewed by Simon Fraser.

* animations/first-letter-animation-expected.txt: Added.
* animations/first-letter-animation.html: Added.
* animations/first-letter-play-state-expected.txt: Added.
* animations/first-letter-play-state.html: Added.
* transitions/first-letter-color-transition-expected.txt: Added.
* transitions/first-letter-color-transition.html: Added.
* transitions/first-letter-transition-expected.txt: Added.
* transitions/first-letter-transition.html: Added.

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