WebKit-https.git
5 years agoProvide a runtime flag to run-webkit-tests that shows the test view
bfulgham@apple.com [Fri, 1 May 2015 16:23:07 +0000 (16:23 +0000)]
Provide a runtime flag to run-webkit-tests that shows the test view
https://bugs.webkit.org/show_bug.cgi?id=144079.

Unreviewed correction to r183651.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize): Make sure the state of the '--show-webview'
flag is included in the options dictionary passed to the PlatformWebView.

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

5 years agoUnreviewed gardening. Rebaseline some tests for WebKitGTK+.
mrobinson@webkit.org [Fri, 1 May 2015 16:04:05 +0000 (16:04 +0000)]
Unreviewed gardening. Rebaseline some tests for WebKitGTK+.

* platform/gtk/editing/execCommand/nsresponder-outdent-expected.txt: Rebaseline.
* platform/gtk/inspector-protocol/debugger/regress-133182-expected.txt: Removed. The
platform-independent baseline should be good enough.

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

5 years ago[Freetype] Add support for the font-synthesis property
mrobinson@webkit.org [Fri, 1 May 2015 16:00:13 +0000 (16:00 +0000)]
[Freetype] Add support for the font-synthesis property
https://bugs.webkit.org/show_bug.cgi?id=144472

Reviewed by Sergio Villar Senin.

No new tests. This causes fast/css3-text/font-synthesis.html to pass
for WebKitGTK+.

* platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::FontPlatformData): Only use synthetic bold when the font description allows it.
(WebCore::FontPlatformData::initializeWithFontFace): Ditto for synthetic oblique.

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

5 years ago[GTK] New CORS tests from r183280 fail on WebKitGTK+
mrobinson@webkit.org [Fri, 1 May 2015 14:58:19 +0000 (14:58 +0000)]
[GTK] New CORS tests from r183280 fail on WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=144469

Reviewed by Sergio Villar Senin.

No new tests. This causes failing tests to pass.

* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::doRedirect): Clear the origin header on cross-origin redirects.

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

5 years agoWeb Inspector: Remove FrameContentView.js
timothy@apple.com [Fri, 1 May 2015 14:24:17 +0000 (14:24 +0000)]
Web Inspector: Remove FrameContentView.js
https://bugs.webkit.org/show_bug.cgi?id=144415

Reviewed by Joseph Pecoraro.

* UserInterface/Images/DOMTree.svg: Removed.
* UserInterface/Images/SourceCode.svg: Removed.
* UserInterface/Main.html: Removed FrameContentView.js.
* UserInterface/Views/FrameContentView.js: Removed.
* UserInterface/Views/PathComponentIcons.css:
(.source-code-icon .icon): Deleted.
(.dom-tree-icon .icon): Deleted.

* UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange):
Simplify the code here. We don't need these checks now with tabs and the Storage tab.

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

5 years agoRemove network process load serialization code
antti@apple.com [Fri, 1 May 2015 11:40:11 +0000 (11:40 +0000)]
Remove network process load serialization code
https://bugs.webkit.org/show_bug.cgi?id=144448

Reviewed by Alexey Proskuryakov.

Source/WebKit2:

TestRunner.setSerializeHTTPLoads is used by a few tests but it is unnecessary
with network process. We don't reorder loads anyway so test results are consistent.
There or no other clients for this code.

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
(WebKit::NetworkConnectionToWebProcess::setSerialLoadingEnabled): Deleted.
* NetworkProcess/NetworkConnectionToWebProcess.h:
(WebKit::NetworkConnectionToWebProcess::isSerialLoadingEnabled): Deleted.
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::getNetworkProcessStatistics):
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::scheduleLoader):
(WebKit::NetworkResourceLoadScheduler::removeLoader):
(WebKit::NetworkResourceLoadScheduler::loadsPendingCount): Deleted.
* NetworkProcess/NetworkResourceLoadScheduler.h:
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetTabKeyCyclesThroughElements):
(WKBundleSetSerialLoadingEnabled): Deleted.
(WKBundleDispatchPendingLoadRequests): Deleted.
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setSerialLoadingEnabled): Deleted.
(WebKit::InjectedBundle::dispatchPendingLoadRequests): Deleted.

    Remove also this as it does nothing.

* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::WebResourceLoadScheduler):
(WebKit::WebResourceLoadScheduler::suspendPendingRequests):
(WebKit::WebResourceLoadScheduler::resumePendingRequests):

    Remove implementation, it does nothing.

(WebKit::WebResourceLoadScheduler::setSerialLoadingEnabled):
* WebProcess/Network/WebResourceLoadScheduler.h:

Tools:

* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setSerializeHTTPLoads):
(WTR::TestRunner::dispatchPendingLoadRequests):

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

5 years ago[GTK] Add libhyphen-dev to the build dependencies
calvaris@igalia.com [Fri, 1 May 2015 09:04:12 +0000 (09:04 +0000)]
[GTK] Add libhyphen-dev to the build dependencies
https://bugs.webkit.org/show_bug.cgi?id=144452

Reviewed by Martin Robinson.

* gtk/install-dependencies: Added hyphen as Fedora and Arch
dependencies.

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

5 years agoREGRESSION: Web Inspector: Console message repeat count overlapped by icon
nvasilyev@apple.com [Fri, 1 May 2015 05:57:26 +0000 (05:57 +0000)]
REGRESSION: Web Inspector: Console message repeat count overlapped by icon
https://bugs.webkit.org/show_bug.cgi?id=144344

Reviewed by Timothy Hatcher.

* UserInterface/Views/ConsoleMessageView.css:
(.console-message .repeat-count):

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

5 years agoCompile fix when using content extensions debugging code.
achristensen@apple.com [Fri, 1 May 2015 05:01:17 +0000 (05:01 +0000)]
Compile fix when using content extensions debugging code.

* contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::compileRuleList):
* contentextensions/ContentExtensionsDebugging.h:
* contentextensions/DFA.cpp:
(WebCore::ContentExtensions::printTransitions):
(WebCore::ContentExtensions::DFA::debugPrintDot):
* contentextensions/DFANode.h:
* contentextensions/NFA.cpp:
(WebCore::ContentExtensions::NFA::memoryUsed):
(WebCore::ContentExtensions::NFA::debugPrintDot):

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

5 years agoFixed the build for <rdar://problem/20758514>
mitz@apple.com [Fri, 1 May 2015 04:24:40 +0000 (04:24 +0000)]
Fixed the build for <rdar://problem/20758514>

* platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
(WebCore::AudioSourceProviderAVFObjC::destroyMix): Don’t pass nil to
-[AVMutableAudioMix setInputParameters:].

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

5 years agoUnreviewed gardening. Update results of inspector tests.
joepeck@webkit.org [Fri, 1 May 2015 03:42:31 +0000 (03:42 +0000)]
Unreviewed gardening. Update results of inspector tests.

* inspector-protocol/debugger/breakpoint-eval-with-exception-expected.txt:
* inspector-protocol/debugger/regress-133182-expected.txt:
* inspector-protocol/debugger/regress-133182.html:
* inspector-protocol/debugger/setBreakpoint-actions-expected.txt:
* inspector-protocol/debugger/terminate-dedicated-worker-while-paused-expected.txt:
* inspector-protocol/page/deny-X-FrameOption-expected.txt:
* inspector/debugger/search-scripts-expected.txt:

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

5 years agoUnreviewed gardening. Remove skipped and broken inspector test.
joepeck@webkit.org [Fri, 1 May 2015 03:42:28 +0000 (03:42 +0000)]
Unreviewed gardening. Remove skipped and broken inspector test.

This is the last test relying on the old model interface.

* TestExpectations:
* http/tests/inspector-protocol/resources/InspectorTest.js:
(InspectorTest.initializeInspectorModels.console.error.window.onerror): Deleted.
(InspectorTest.initializeInspectorModels.console.assert): Deleted.
(InspectorTest.initializeInspectorModels): Deleted.
* inspector-protocol/indexeddb/basics-expected.txt: Removed.
* inspector-protocol/indexeddb/basics.html: Removed.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/win/TestExpectations:

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

5 years agoClean up: Remove unnecessary runtime computation of string length
dbates@webkit.org [Fri, 1 May 2015 02:40:34 +0000 (02:40 +0000)]
Clean up: Remove unnecessary runtime computation of string length
https://bugs.webkit.org/show_bug.cgi?id=144483

Reviewed by Joseph Pecoraro.

Following <http://trac.webkit.org/changeset/183649>, WebCore::fullyQualifiedInfoTableName()
computes strlen() of the first string literal as part of concatenating two string literals.
It is sufficient to use sizeof() - 1 instead of strlen() to compute the length of the first
string literal because the size of the string literal is known at compile time.

* Modules/webdatabase/DatabaseBackendBase.cpp:
(WebCore::fullyQualifiedInfoTableName):

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

5 years agoExpose -apple-system as a font family
dino@apple.com [Fri, 1 May 2015 01:56:32 +0000 (01:56 +0000)]
Expose -apple-system as a font family
https://bugs.webkit.org/show_bug.cgi?id=144484
<rdar://problem/20767330>

Reviewed by Tim Horton.

Source/WebCore:

Accept "-apple-system" for the font-family property, and
rename "-apple-system-font-monospaced-numbers" to
"-apple-system-monospaced-numbers".

Also change the media controls to use the new name.

Covered by existing tests and this new one:
    fast/text/system-font-legacy-name.html

* Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-time-remaining-display):
* Modules/mediacontrols/mediaControlsiOS.css:
(::-webkit-media-controls):
(audio::-webkit-media-controls-time-remaining-display):
(audio::-webkit-media-controls-status-display):
* platform/graphics/ios/FontCacheIOS.mm: Add support for the new name.
(WebCore::createCTFontWithFamilyNameAndWeight):
* platform/graphics/mac/FontCacheMac.mm: Ditto.
(WebCore::fontWithFamily):

LayoutTests:

Change a bunch of tests to use "-apple-system" instead
of "-apple-system-font" for font-family.

Add a test to make sure the old name still works.

* fast/text/system-font-legacy-name.html
* platform/ios-simulator/fast/text/system-monospaced-numbers.html:
* platform/ios-simulator/ios/fast/text/apple-logo-expected.txt:
* platform/ios-simulator/ios/fast/text/apple-logo.html:
* platform/ios-simulator/ios/fast/text/opticalFont-expected.txt:
* platform/ios-simulator/ios/fast/text/opticalFont.html:
* platform/ios-simulator/ios/fast/text/opticalFontWithWeight-expected.txt:
* platform/ios-simulator/ios/fast/text/opticalFontWithWeight.html:
* platform/ios-simulator/ios/fast/text/underline-scaling-expected.txt:
* platform/ios-simulator/ios/fast/text/underline-scaling.html:
* platform/mac/fast/text/systemFont-expected.txt:
* platform/mac/fast/text/systemFont.html:

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

5 years agoDecrease minimum Vector size.
commit-queue@webkit.org [Fri, 1 May 2015 01:38:27 +0000 (01:38 +0000)]
Decrease minimum Vector size.
https://bugs.webkit.org/show_bug.cgi?id=144453

Patch by Alex Christensen <achristensen@webkit.org> on 2015-04-30
Reviewed by Andreas Kling.

* wtf/Vector.h:
Make the default min size 4 to save memory on small Vectors.

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

5 years ago[CSS Grid Layout] overflow-position keyword for align and justify properties.
jfernandez@igalia.com [Fri, 1 May 2015 01:14:20 +0000 (01:14 +0000)]
[CSS Grid Layout] overflow-position keyword for align and justify properties.
https://bugs.webkit.org/show_bug.cgi?id=144235

Reviewed by Sergio Villar Senin.

Source/WebCore:

When the alignment subject is larger than the alignment container,
it will overflow. Some alignment modes, if honored in this
situation, may cause data loss; an overflow alignment mode can be
explicitly specified to avoid this.

This patch implements overflow-keyword handling for Grid Layout on
align-self and justify-self properties.

Test: fast/css-grid-layout/grid-align-justify-overflow.html

* rendering/RenderGrid.cpp:
(WebCore::computeOverflowAlignmentOffset):
(WebCore::RenderGrid::rowPositionForChild):
(WebCore::RenderGrid::columnPositionForChild):
(WebCore::RenderGrid::rowAxisPositionForChild): Deleted.
* rendering/style/RenderStyle.cpp:
(WebCore::resolveAlignmentData):
(WebCore::resolveJustificationData):
(WebCore::RenderStyle::resolveAlignment):
(WebCore::RenderStyle::resolveAlignmentOverflow):
(WebCore::RenderStyle::resolveJustification):
(WebCore::RenderStyle::resolveJustificationOverflow):
* rendering/style/RenderStyle.h:

LayoutTests:

Implementation of overflow-keyword handling for Grid Layout on
align-self and justify-self properties.

* fast/css-grid-layout/grid-align-justify-overflow-expected.txt: Added.
* fast/css-grid-layout/grid-align-justify-overflow.html: Added.

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

5 years agoWeb Inspector: console should show an icon for console.info() messages
jond@apple.com [Fri, 1 May 2015 01:10:43 +0000 (01:10 +0000)]
Web Inspector: console should show an icon for console.info() messages
https://bugs.webkit.org/show_bug.cgi?id=18530

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

* inspector/ConsoleMessage.cpp:
(Inspector::messageLevelValue):
* inspector/protocol/Console.json:
* runtime/ConsoleClient.cpp:
(JSC::appendMessagePrefix):
* runtime/ConsolePrototype.cpp:
(JSC::ConsolePrototype::finishCreation):
(JSC::consoleProtoFuncInfo):
* runtime/ConsoleTypes.h:

Source/WebInspectorUI:

Added icons for console.log, console.info and console.debug messages.

Separated console.info from console.log.

* UserInterface/Images/Debug.svg: Added.
* UserInterface/Images/Info.svg: Added.
* UserInterface/Images/Log.svg: Added.
New icon files.

* UserInterface/Models/ConsoleMessage.js:
* UserInterface/Views/ConsoleMessageView.css:
(.console-log-level::before):
(.console-info-level::before):
(.console-debug-level::before):
(:matches(.console-warning-level, .console-error-level, .console-log-level, .console-info-level, .console-debug-level).console-message):
(:matches(.console-warning-level, .console-error-level, .console-log-level, .console-info-level, .console-debug-level)::before):
(:matches(.console-warning-level, .console-error-level, .console-log-level).console-message): Deleted.
(:matches(.console-warning-level, .console-error-level, .console-log-level)::before): Deleted.
Include console.info messages in layout adjustments.

* UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView):
(WebInspector.ConsoleMessageView.prototype._levelString):

Source/WebKit/mac:

* WebCoreSupport/WebChromeClient.mm:
(stringForMessageLevel):
* WebView/WebUIDelegatePrivate.h:

LayoutTests:

* inspector/console/console-api-expected.txt:

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

5 years agoRemove long-deprecated unused WKView minimumLayoutWidth properties
timothy_horton@apple.com [Fri, 1 May 2015 01:04:52 +0000 (01:04 +0000)]
Remove long-deprecated unused WKView minimumLayoutWidth properties
https://bugs.webkit.org/show_bug.cgi?id=144480

Reviewed by Alexey Proskuryakov.

* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView minimumLayoutWidth]): Deleted.
(-[WKView setMinimumLayoutWidth:]): Deleted.
(-[WKView minimumWidthForAutoLayout]): Deleted.
(-[WKView setMinimumWidthForAutoLayout:]): Deleted.
These were replaced with minimumSizeForAutoLayout long ago.

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

5 years agoRebaseline bindings tests results after r183648.
jhoneycutt@apple.com [Fri, 1 May 2015 00:34:24 +0000 (00:34 +0000)]
Rebaseline bindings tests results after r183648.

Unreviewed.

* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
(WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
(WebCore::setJSTestInterfaceImplementsStr2):
(WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
(WebCore::setJSTestInterfaceSupplementalStr2):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
* bindings/scripts/test/JS/JSTestNondeterministic.cpp:
(WebCore::setJSTestNondeterministicNondeterministicWriteableAttr):
(WebCore::setJSTestNondeterministicNondeterministicExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicGetterExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicSetterExceptionAttr):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::setJSTestObjConstructorStaticStringAttr):
(WebCore::setJSTestObjStringAttr):
(WebCore::setJSTestObjReflectedStringAttr):
(WebCore::setJSTestObjReflectedURLAttr):
(WebCore::setJSTestObjReflectedCustomURLAttr):
(WebCore::setJSTestObjStringAttrWithGetterException):
(WebCore::setJSTestObjStringAttrWithSetterException):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
(WebCore::jsTestObjPrototypeFunctionStrictFunction):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors4):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::constructJSTestTypedefs):
(WebCore::setJSTestTypedefsStringAttrWithGetterException):
(WebCore::setJSTestTypedefsStringAttrWithSetterException):
(WebCore::jsTestTypedefsPrototypeFunctionSetShadow):

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

5 years agoMove all of the branchIs<type> helpers from SpeculativeJIT into AssemblyHelpers
fpizlo@apple.com [Fri, 1 May 2015 00:06:48 +0000 (00:06 +0000)]
Move all of the branchIs<type> helpers from SpeculativeJIT into AssemblyHelpers
https://bugs.webkit.org/show_bug.cgi?id=144462

Reviewed by Geoffrey Garen and Mark Lam.

At some point we started adding representation-agnostic helpers for doing common type tests.
We added some in SpeculativeJIT, and then some in AssemblyHelpers. Prior to this change,
they had overlapping powers, though SpeculativeJIT was a bit better.

This removes SpeculativeJIT's helpers and strengthens AssemblyHelpers' helpers. This is
better because now all of these helpers can be used in all of the assembly-based JITs, not
just the DFG. It also settles on what I find to be a slightly better naming convention.
For example where we previously would have said branchIsString, now we say
branchIfString. Similarly, branchNotString becomes branchIfNotString.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
(JSC::DFG::SpeculativeJIT::compileInstanceOfForObject):
(JSC::DFG::SpeculativeJIT::compileInstanceOf):
(JSC::DFG::SpeculativeJIT::compileStringToUntypedEquality):
(JSC::DFG::SpeculativeJIT::compileStringIdentToNotStringVarEquality):
(JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments):
(JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOnCell):
(JSC::DFG::SpeculativeJIT::speculateObject):
(JSC::DFG::SpeculativeJIT::speculateObjectOrOther):
(JSC::DFG::SpeculativeJIT::speculateString):
(JSC::DFG::SpeculativeJIT::speculateNotStringVar):
(JSC::DFG::SpeculativeJIT::speculateNotCell):
(JSC::DFG::SpeculativeJIT::speculateOther):
(JSC::DFG::SpeculativeJIT::emitSwitchChar):
(JSC::DFG::SpeculativeJIT::emitSwitchString):
(JSC::DFG::SpeculativeJIT::branchIsObject): Deleted.
(JSC::DFG::SpeculativeJIT::branchNotObject): Deleted.
(JSC::DFG::SpeculativeJIT::branchIsString): Deleted.
(JSC::DFG::SpeculativeJIT::branchNotString): Deleted.
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::branchIsCell): Deleted.
(JSC::DFG::SpeculativeJIT::branchNotCell): Deleted.
(JSC::DFG::SpeculativeJIT::branchIsOther): Deleted.
(JSC::DFG::SpeculativeJIT::branchNotOther): Deleted.
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::writeBarrier):
(JSC::DFG::SpeculativeJIT::branchIsCell): Deleted.
(JSC::DFG::SpeculativeJIT::branchNotCell): Deleted.
(JSC::DFG::SpeculativeJIT::branchIsOther): Deleted.
(JSC::DFG::SpeculativeJIT::branchNotOther): Deleted.
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::branchIfCell):
(JSC::AssemblyHelpers::branchIfOther):
(JSC::AssemblyHelpers::branchIfNotOther):
(JSC::AssemblyHelpers::branchIfObject):
(JSC::AssemblyHelpers::branchIfNotObject):
(JSC::AssemblyHelpers::branchIfType):
(JSC::AssemblyHelpers::branchIfNotType):
(JSC::AssemblyHelpers::branchIfString):
(JSC::AssemblyHelpers::branchIfNotString):
(JSC::AssemblyHelpers::branchIfSymbol):
(JSC::AssemblyHelpers::branchIfNotSymbol):
(JSC::AssemblyHelpers::branchIfFunction):
(JSC::AssemblyHelpers::branchIfNotFunction):
(JSC::AssemblyHelpers::branchIfEmpty):
(JSC::AssemblyHelpers::branchIsEmpty): Deleted.
(JSC::AssemblyHelpers::branchIfCellNotObject): Deleted.
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emitScopedArgumentsGetByVal):

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

5 years agoFixed elements end up in the middle of the view with pageScale < 1
simon.fraser@apple.com [Thu, 30 Apr 2015 23:44:49 +0000 (23:44 +0000)]
Fixed elements end up in the middle of the view with pageScale < 1
https://bugs.webkit.org/show_bug.cgi?id=144428
rdar://problem/20404982

Reviewed by Tim Horton.

Source/WebCore:

When pageScale is < 1, we used fixed layout mode, and FrameView::fixedElementsLayoutRelativeToFrame()
returns true. However, the scrolling thread was calling the static scrollOffsetForFixedPosition()
hardcoding 'false' for this parameter.

Fix by sending the value of fixedElementsLayoutRelativeToFrame over to the scrolling thread,
so we can use it when doing scrolling-thread fixed position stuff.

Not testable.

* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
* page/scrolling/ScrollingStateFrameScrollingNode.cpp:
(WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode):
(WebCore::ScrollingStateFrameScrollingNode::setFixedElementsLayoutRelativeToFrame):
* page/scrolling/ScrollingStateFrameScrollingNode.h:
* page/scrolling/ScrollingTreeFrameScrollingNode.cpp:
(WebCore::ScrollingTreeFrameScrollingNode::ScrollingTreeFrameScrollingNode):
(WebCore::ScrollingTreeFrameScrollingNode::updateBeforeChildren):
* page/scrolling/ScrollingTreeFrameScrollingNode.h:
(WebCore::ScrollingTreeFrameScrollingNode::fixedElementsLayoutRelativeToFrame):
(WebCore::ScrollingTreeFrameScrollingNode::shouldUpdateScrollLayerPositionSynchronously): Deleted.
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollLayerPosition):

Source/WebKit2:

Encode/decode fixedElementsLayoutRelativeToFrame.

* Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
(ArgumentCoder<ScrollingStateFrameScrollingNode>::encode):
(ArgumentCoder<ScrollingStateFrameScrollingNode>::decode):

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

5 years agoRemove invalid assertion from MouseEvent::create()
bdakin@apple.com [Thu, 30 Apr 2015 23:35:26 +0000 (23:35 +0000)]
Remove invalid assertion from MouseEvent::create()
https://bugs.webkit.org/show_bug.cgi?id=144477

Reviewed by Tim Horton.

mouseforcechanged events and mouseforcewillbegin trigger this assertion. The
assertion does not seem valuable, so rather than changing it, just remove it.
* dom/MouseEvent.cpp:
(WebCore::MouseEvent::create):

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

5 years ago-apple-system-font-monospaced-numbers doesn't work on iOS
dino@apple.com [Thu, 30 Apr 2015 23:26:11 +0000 (23:26 +0000)]
-apple-system-font-monospaced-numbers doesn't work on iOS
https://bugs.webkit.org/show_bug.cgi?id=144478
<rdar://problem/20544940>

Reviewed by Brent Fulgham.

Source/WebCore:

Make sure to start from the system font descriptor when
asking for a monospaced numeric alternate.

Test: platform/ios-simulator/fast/text/system-monospaced-numbers.html

* platform/graphics/ios/FontCacheIOS.mm:
(WebCore::createCTFontWithFamilyNameAndWeight):

LayoutTests:

A test that draws two lines of different numbers and checks
they are the same width.

* platform/ios-simulator/fast/text/system-monospaced-numbers-expected.txt: Added.
* platform/ios-simulator/fast/text/system-monospaced-numbers.html: Added.

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

5 years agoUnreviewed, ios-simulator gardening
joepeck@webkit.org [Thu, 30 Apr 2015 23:16:22 +0000 (23:16 +0000)]
Unreviewed, ios-simulator gardening

* Address linter warnings.
* Unskip some tests that pass.
* More generically skip unsupported iOS features.
* Address FIXMEs.

* platform/ios-simulator-wk1/TestExpectations:
* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-simulator/TestExpectations:

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

5 years agoProvide a runtime flag to run-webkit-tests that shows the test view
bfulgham@apple.com [Thu, 30 Apr 2015 23:13:52 +0000 (23:13 +0000)]
Provide a runtime flag to run-webkit-tests that shows the test view
https://bugs.webkit.org/show_bug.cgi?id=144079.

Reviewed by Dean Jackson.

Add a new flag (--show-webview) that causes DumpRenderTree and WebKitTestRunner to display
their WebViews on-screen. This can be used when running tests via the "--additional-drt-flag"
option:

--additional-drt-flag="--show-webview"

* DumpRenderTree/mac/DumpRenderTree.mm:
(createWebViewAndOffscreenWindow): Use an on-screen window rect if the user passed the
'--show-webview' flag.
(initializeGlobalsFromCommandLineOptions): Recognize the "--show-webview" option.
* WebKitTestRunner/Options.cpp:
(WTR::Options::Options):
(WTR::handleOptionShowWebView):
(WTR::OptionsHandler::OptionsHandler): Recognize the new "--show-webview" option.
* WebKitTestRunner/Options.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::TestController):
(WTR::TestController::initialize): Use value of 'shouldShowWebView' from the Options bundle.
* WebKitTestRunner/TestController.h:
(WTR::TestController::shouldShowWebView):
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::PlatformWebView): Retrieve the value of the 'ShouldShowWebView' key from the
options dictionary. If it is true, display the web view while running the test.

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

5 years agojs/regress/is-string-fold-tricky.html and js/regress/is-string-fold.html are crashing
fpizlo@apple.com [Thu, 30 Apr 2015 23:02:33 +0000 (23:02 +0000)]
js/regress/is-string-fold-tricky.html and js/regress/is-string-fold.html are crashing
https://bugs.webkit.org/show_bug.cgi?id=144463

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

Fixup phase was super cleverly folding an IsString(@x) when @x is predicted SpecString
into a Check(String:@x) followed by JSConstant(true). Then in these tests the
ValueAdd(IsString(@x), @stuff) would try to turn this into an integer add by cleverly
converting the boolean into an integer. But as part of doing that, it would try to
short-circuit any profiling by leveraging the fact that the IsString is now a constant,
and it would try to figure out if the addition might overflow. Part of that logic
involved checking if the immediate is either a boolean or a sufficiently small integer.
But: it would check if it's a sufficiently small integer before checking if it was a
boolean, so it would try to call asNumber() on the boolean.

All of this cleverness was very deliberate, but apparently the @stuff + booleanConstant
case was previously never hit until I wrote these tests, and so we never knew that
calling asNumber() on a boolean was wrong.

The fix is super simple: the expression should just check for boolean first.

This bug was benign in release builds. JSValue::asNumber() on a boolean would return
garbage, and that's OK, since we'd take the boolean case anyway.

* dfg/DFGGraph.h:
(JSC::DFG::Graph::addImmediateShouldSpeculateInt32):

LayoutTests:

Unskip now that the bug is fixed.

* TestExpectations:
* js/regress/script-tests/is-string-fold-tricky.js:
* js/regress/script-tests/is-string-fold.js:

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

5 years agoBuild fix after r183646 for less enlightened platforms.
beidson@apple.com [Thu, 30 Apr 2015 22:57:28 +0000 (22:57 +0000)]
Build fix after r183646 for less enlightened platforms.

Unreviewed.

* Modules/webdatabase/DatabaseBackendBase.cpp:
(WebCore::fullyQualifiedInfoTableName): Windows doesn’t have stpcpy :(

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

5 years agoDOM bindings should not be using a reference type to point to a temporary object
oliver@apple.com [Thu, 30 Apr 2015 22:40:30 +0000 (22:40 +0000)]
DOM bindings should not be using a reference type to point to a temporary object
https://bugs.webkit.org/show_bug.cgi?id=144474

Reviewed by Beth Dakin.

The DOM bindings will currently try and use a local reference to point
to a temporary object. This currently works as a by product of the compiler's
stack layout. This patch removes the dependency on undefined behaviour
by ensuring that we use a value rather than reference type.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
(GetNativeTypeForCallbacks):

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

5 years agoAsynchronous (or timed-out synchronous) resize flashes white instead of page backgrou...
timothy_horton@apple.com [Thu, 30 Apr 2015 22:16:42 +0000 (22:16 +0000)]
Asynchronous (or timed-out synchronous) resize flashes white instead of page background color
https://bugs.webkit.org/show_bug.cgi?id=144468

Reviewed by Simon Fraser and Dan Bernstein.

* UIProcess/API/mac/WKView.mm:
(-[WKView _viewBackgroundColor]):
(-[WKView updateLayer]):
Use the pageExtendedBackgroundColor for the background color of the WKView,
if we have one (and aren't using a transparent background). This means
during asynchronous resize or other cases where the Web process isn't keeping
up with the UI process during a resize, we'll see background color instead of white.

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

5 years agoJavascript using WebSQL can create their own WebKit info table.
beidson@apple.com [Thu, 30 Apr 2015 22:15:29 +0000 (22:15 +0000)]
Javascript using WebSQL can create their own WebKit info table.
<rdar://problem/20688792> and https://bugs.webkit.org/show_bug.cgi?id=144466

Reviewed by Alex Christensen.

Source/WebCore:

Test: storage/websql/alter-to-info-table.html

* Modules/webdatabase/DatabaseBackendBase.cpp:
(WebCore::DatabaseBackendBase::databaseInfoTableName): Return the info table name.
(WebCore::fullyQualifiedInfoTableName): Append "main." to the info table name.
(WebCore::DatabaseBackendBase::DatabaseBackendBase): Use the fully qualified name.
(WebCore::DatabaseBackendBase::performOpenAndVerify): Ditto.
(WebCore::DatabaseBackendBase::getVersionFromDatabase): Ditto.
(WebCore::DatabaseBackendBase::setVersionInDatabase): Ditto.

LayoutTests:

* storage/websql/alter-to-info-table-expected.txt: Added.
* storage/websql/alter-to-info-table.html: Added.
* storage/websql/alter-to-info-table.js: Added.

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

5 years agoShould choose UIScrollView indicatorStyle based on the document background color
bdakin@apple.com [Thu, 30 Apr 2015 22:00:47 +0000 (22:00 +0000)]
Should choose UIScrollView indicatorStyle based on the document background color
https://bugs.webkit.org/show_bug.cgi?id=144473
-and corresponding-
rdar://problem/19897699

Reviewed by Simon Fraser.

Source/WebCore:

Export this function.
* platform/graphics/Color.h:

Source/WebKit2:

Update the indicator style whenever the background color changes.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _updateScrollViewBackground]):

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

5 years agoUnskip isolated words tests on WebKitGTK+
mrobinson@webkit.org [Thu, 30 Apr 2015 21:26:49 +0000 (21:26 +0000)]
Unskip isolated words tests on WebKitGTK+

* platform/gtk/TestExpectations: Unskip tests. We've been able to run these
since the switch to WebKitTestRunner.

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

5 years agoUnreviewed, skip new tests js/regress/is-string-fold.html and js/regress/is-string...
fpizlo@apple.com [Thu, 30 Apr 2015 20:55:00 +0000 (20:55 +0000)]
Unreviewed, skip new tests js/regress/is-string-fold.html and js/regress/is-string-fold-tricky.html because they are crashing in RJST as well.

* js/regress/script-tests/is-string-fold-tricky.js:
* js/regress/script-tests/is-string-fold.js:

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

5 years agoWeb Inspector: Scope Chain sidebar should be selected immediately when paused
timothy@apple.com [Thu, 30 Apr 2015 20:03:57 +0000 (20:03 +0000)]
Web Inspector: Scope Chain sidebar should be selected immediately when paused
https://bugs.webkit.org/show_bug.cgi?id=144352

Reviewed by Joseph Pecoraro.

* UserInterface/Base/Main.js:
(WebInspector.showDebuggerTab): Added showScopeChainDetailsSidebarPanel argument.
(WebInspector._debuggerDidPause): Pass true for showScopeChainDetailsSidebarPanel.
* UserInterface/Views/ContentBrowserTabContentView.js:
(WebInspector.ContentBrowserTabContentView): Wire the event to showDetailsSidebarPanels instead of
_contentBrowserRepresentedObjectsDidChange, allowing subclasses to do work during the event.
(WebInspector.ContentBrowserTabContentView.prototype.showDetailsSidebarPanels): Moved content of
_contentBrowserRepresentedObjectsDidChange here.
(WebInspector.ContentBrowserTabContentView.prototype._contentBrowserRepresentedObjectsDidChange): Deleted.
* UserInterface/Views/DebuggerTabContentView.js:
(WebInspector.DebuggerTabContentView.prototype.showDetailsSidebarPanels): Added. Show the scope sidebar panel
if it is available and it was requested by showScopeChainDetailsSidebarPanel().
(WebInspector.DebuggerTabContentView.prototype.showScopeChainDetailsSidebarPanel): Added.

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

5 years agor183355 didn't trigger Mac tests
ap@apple.com [Thu, 30 Apr 2015 20:01:18 +0000 (20:01 +0000)]
r183355 didn't trigger Mac tests
https://bugs.webkit.org/show_bug.cgi?id=144464

Reviewed by Simon Fraser.

Update badly neglected filters and unit tests.

* BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
(_should_file_trigger_build):
* BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
(ShouldBuildTest):
(ShouldBuildTest.test_should_build):

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

5 years agoRebaseline some editing tests for WebKitGTK+
mrobinson@webkit.org [Thu, 30 Apr 2015 19:51:56 +0000 (19:51 +0000)]
Rebaseline some editing tests for WebKitGTK+

Also add some missing baselines.

* fast/hidpi/broken-image-icon-very-hidpi-expected.png: Added.
* fast/hidpi/broken-image-icon-very-hidpi-expected.txt: Added.
* platform/gtk/editing/execCommand/5142012-1-expected.png:
* platform/gtk/editing/execCommand/5142012-1-expected.txt:
* platform/gtk/editing/inserting/insert-at-end-02-expected.txt:
* platform/gtk/editing/pasteboard/4989774-expected.txt:

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

5 years ago[Win] Allow WebKit to build without ANGLE support
bfulgham@apple.com [Thu, 30 Apr 2015 19:04:36 +0000 (19:04 +0000)]
[Win] Allow WebKit to build without ANGLE support
https://bugs.webkit.org/show_bug.cgi?id=144459
<rdar://problem/20707307>

Reviewed by Dean Jackson.

* platform/graphics/GLContext.cpp: Use the ENABLE(GRAPHICS_CONTEXT_3D)
macro to avoid compiling this code if not using WEBGL/3D contexts.

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

5 years agoUnreviewed, skip new tests js/regress/is-string-fold.html and js/regress/is-string...
fpizlo@apple.com [Thu, 30 Apr 2015 18:54:02 +0000 (18:54 +0000)]
Unreviewed, skip new tests js/regress/is-string-fold.html and js/regress/is-string-fold-tricky.html because they are crashing.

* TestExpectations:

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

5 years agoAdd image failure expectation for
jhoneycutt@apple.com [Thu, 30 Apr 2015 18:50:11 +0000 (18:50 +0000)]
Add image failure expectation for
svg/filters/sourceAlpha-input-filter-effect.html on Windows

Unreviewed.

* platform/win/TestExpectations:

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

5 years agoAvoid containingBlock() calls when no writing mode flipping is needed.
hyatt@apple.com [Thu, 30 Apr 2015 18:36:56 +0000 (18:36 +0000)]
Avoid containingBlock() calls when no writing mode flipping is needed.
https://bugs.webkit.org/show_bug.cgi?id=144407

Reviewed by Simon Fraser.

Add a bool to RenderView that indicates whether or not any flipped blocks have been
added to the view. Once tainted, the view just stays dirty forever. If no flipped
blocks are ever seen, we can then optimize away calls to containingBlock().

The motivation for this patch is to improve layer position updating, which makes many
calls to topLeftLocationOffset(), one of the functions that can be optimized by this
change.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::layoutOverflowRectForPropagation):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::updateFromStyle):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::rangeIntersectsRect):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
* rendering/RenderView.h:

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

5 years ago[iOS] tapping in the middle of a word in editable content should not select the word.
enrica@apple.com [Thu, 30 Apr 2015 18:21:01 +0000 (18:21 +0000)]
[iOS] tapping in the middle of a word in editable content should not select the word.
https://bugs.webkit.org/show_bug.cgi?id=144421
rdar://problem/20710948

Reviewed by Tim Horton.

Reverting to the original behavior.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::selectWithGesture):

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

5 years ago[GTK] Add libhyphen-dev to the build dependencies
calvaris@igalia.com [Thu, 30 Apr 2015 18:20:47 +0000 (18:20 +0000)]
[GTK] Add libhyphen-dev to the build dependencies
https://bugs.webkit.org/show_bug.cgi?id=144452

Reviewed by Martin Robinson.

* gtk/install-dependencies: Added libhyphen-dev to the WebKitGTK+
build dependencies.

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

5 years ago[GTK] Web Inspector: New Images for ObjectTreeView - Setter
agomez@igalia.com [Thu, 30 Apr 2015 18:00:44 +0000 (18:00 +0000)]
[GTK] Web Inspector: New Images for ObjectTreeView - Setter
https://bugs.webkit.org/show_bug.cgi?id=143173

Reviewed by Martin Robinson.

* UserInterface/Images/gtk/Pencil.svg: Added.

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

5 years ago[GTK] Testing dictionaries are not installed automatically
mrobinson@webkit.org [Thu, 30 Apr 2015 17:50:16 +0000 (17:50 +0000)]
[GTK] Testing dictionaries are not installed automatically
https://bugs.webkit.org/show_bug.cgi?id=144460

Reviewed by Carlos Garcia Campos.

* gtk/jhbuild.modules: Add the testing dictionaries to the main moduleset.

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

5 years agoUnreviewed, add a FIXME comment referencing https://bugs.webkit.org/show_bug.cgi...
fpizlo@apple.com [Thu, 30 Apr 2015 17:44:23 +0000 (17:44 +0000)]
Unreviewed, add a FIXME comment referencing https://bugs.webkit.org/show_bug.cgi?id=144458.

* jit/JITOperations.cpp:

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

5 years agoAdd a comment clarifying the behavior and semantics of getCallData/getConstructData, in
fpizlo@apple.com [Thu, 30 Apr 2015 17:40:31 +0000 (17:40 +0000)]
Add a comment clarifying the behavior and semantics of getCallData/getConstructData, in
particular that they cannot change their minds and may be called from compiler threads.

Rubber stamped by Geoffrey Garen.

* runtime/JSCell.h:

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

5 years agoDFG Is<Blah> versions of TypeOf should fold based on proven input type
fpizlo@apple.com [Thu, 30 Apr 2015 17:36:26 +0000 (17:36 +0000)]
DFG Is<Blah> versions of TypeOf should fold based on proven input type
https://bugs.webkit.org/show_bug.cgi?id=144409

Reviewed by Geoffrey Garen.
Source/JavaScriptCore:

We were missing some obvious folding opportunities here. I don't know how this affects real
code, but in general, we like to ensure that our constant folding is comprehensive. So this
is more about placating my static analysis OCD than anything else.

I added a bunch of speed/correctness tests for this in LayoutTests/js/regress.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

LayoutTests:

* js/regress/is-boolean-fold-expected.txt: Added.
* js/regress/is-boolean-fold-tricky-expected.txt: Added.
* js/regress/is-boolean-fold-tricky.html: Added.
* js/regress/is-boolean-fold.html: Added.
* js/regress/is-function-fold-expected.txt: Added.
* js/regress/is-function-fold-tricky-expected.txt: Added.
* js/regress/is-function-fold-tricky-internal-function-expected.txt: Added.
* js/regress/is-function-fold-tricky-internal-function.html: Added.
* js/regress/is-function-fold-tricky.html: Added.
* js/regress/is-function-fold.html: Added.
* js/regress/is-number-fold-expected.txt: Added.
* js/regress/is-number-fold-tricky-expected.txt: Added.
* js/regress/is-number-fold-tricky.html: Added.
* js/regress/is-number-fold.html: Added.
* js/regress/is-object-or-null-fold-expected.txt: Added.
* js/regress/is-object-or-null-fold-functions-expected.txt: Added.
* js/regress/is-object-or-null-fold-functions.html: Added.
* js/regress/is-object-or-null-fold-less-tricky-expected.txt: Added.
* js/regress/is-object-or-null-fold-less-tricky.html: Added.
* js/regress/is-object-or-null-fold-tricky-expected.txt: Added.
* js/regress/is-object-or-null-fold-tricky.html: Added.
* js/regress/is-object-or-null-fold.html: Added.
* js/regress/is-object-or-null-trickier-function-expected.txt: Added.
* js/regress/is-object-or-null-trickier-function.html: Added.
* js/regress/is-object-or-null-trickier-internal-function-expected.txt: Added.
* js/regress/is-object-or-null-trickier-internal-function.html: Added.
* js/regress/is-object-or-null-tricky-function-expected.txt: Added.
* js/regress/is-object-or-null-tricky-function.html: Added.
* js/regress/is-object-or-null-tricky-internal-function-expected.txt: Added.
* js/regress/is-object-or-null-tricky-internal-function.html: Added.
* js/regress/is-string-fold-expected.txt: Added.
* js/regress/is-string-fold-tricky-expected.txt: Added.
* js/regress/is-string-fold-tricky.html: Added.
* js/regress/is-string-fold.html: Added.
* js/regress/is-undefined-fold-expected.txt: Added.
* js/regress/is-undefined-fold-tricky-expected.txt: Added.
* js/regress/is-undefined-fold-tricky.html: Added.
* js/regress/is-undefined-fold.html: Added.
* js/regress/script-tests/is-boolean-fold-tricky.js: Added.
* js/regress/script-tests/is-boolean-fold.js: Added.
* js/regress/script-tests/is-function-fold-tricky-internal-function.js: Added.
* js/regress/script-tests/is-function-fold-tricky.js: Added.
(func):
(func2):
* js/regress/script-tests/is-function-fold.js: Added.
(value1):
* js/regress/script-tests/is-number-fold-tricky.js: Added.
* js/regress/script-tests/is-number-fold.js: Added.
* js/regress/script-tests/is-object-or-null-fold-functions.js: Added.
(value2):
* js/regress/script-tests/is-object-or-null-fold-less-tricky.js: Added.
* js/regress/script-tests/is-object-or-null-fold-tricky.js: Added.
* js/regress/script-tests/is-object-or-null-fold.js: Added.
* js/regress/script-tests/is-object-or-null-trickier-function.js: Added.
(func):
(func2):
* js/regress/script-tests/is-object-or-null-trickier-internal-function.js: Added.
* js/regress/script-tests/is-object-or-null-tricky-function.js: Added.
(func):
* js/regress/script-tests/is-object-or-null-tricky-internal-function.js: Added.
* js/regress/script-tests/is-string-fold-tricky.js: Added.
* js/regress/script-tests/is-string-fold.js: Added.
* js/regress/script-tests/is-undefined-fold-tricky.js: Added.
* js/regress/script-tests/is-undefined-fold.js: Added.
* js/regress/sink-function-expected.txt: Added.
* js/regress/sink-function.html: Added.

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

5 years ago[Mac] Expand test infrastructure to support scrolling tests (Part 3)
bfulgham@apple.com [Thu, 30 Apr 2015 17:21:55 +0000 (17:21 +0000)]
[Mac] Expand test infrastructure to support scrolling tests (Part 3)
https://bugs.webkit.org/show_bug.cgi?id=144131

Reviewed by Eric Carlson.

Update the WK2 scrolling tests to use the new scroll trigger infrastructure to reduce the use of
timeouts.

* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler.html:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div.html:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler.html:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe.html:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler.html:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe.html:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler.html:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe.html:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler.html:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe.html:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler.html:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select.html:
* platform/mac-wk2/tiled-drawing/scrolling/overflow-scroll-zero-delta-wheel-events.html:
* platform/mac-wk2/tiled-drawing/scrolling/root-overflow-with-mousewheel.html:

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

5 years ago[GTK] Web Inspector: Remove some unused Images
agomez@igalia.com [Thu, 30 Apr 2015 17:17:59 +0000 (17:17 +0000)]
[GTK] Web Inspector: Remove some unused Images
https://bugs.webkit.org/show_bug.cgi?id=144445

Reviewed by Carlos Garcia Campos.

* UserInterface/Images/gtk/BottomUpTree.svg: Removed.
* UserInterface/Images/gtk/Log.png: Removed.
* UserInterface/Images/gtk/Log@2x.png: Removed.
* UserInterface/Images/gtk/NavigationItemAngleBrackets.svg: Removed.
* UserInterface/Images/gtk/NavigationItemBrushAndRuler.svg: Removed.
* UserInterface/Images/gtk/NavigationItemBug.svg: Removed.
* UserInterface/Images/gtk/NavigationItemFile.svg: Removed.
* UserInterface/Images/gtk/NavigationItemLayers.svg: Removed.
* UserInterface/Images/gtk/NavigationItemLog.svg: Removed.
* UserInterface/Images/gtk/NavigationItemProbes.svg: Removed.
* UserInterface/Images/gtk/NavigationItemStopwatch.svg: Removed.
* UserInterface/Images/gtk/NavigationItemStorage.svg: Removed.
* UserInterface/Images/gtk/NavigationItemVariable.svg: Removed.
* UserInterface/Images/gtk/Percent.svg: Removed.
* UserInterface/Images/gtk/Reload.svg: Removed.
* UserInterface/Images/gtk/SplitToggleDown.svg: Removed.
* UserInterface/Images/gtk/Time.svg: Removed.
* UserInterface/Images/gtk/Weight.svg: Removed.

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

5 years ago[CMake] Automatically expose WTF_USE_FOO to the build when USE_FOO is exposed
mrobinson@webkit.org [Thu, 30 Apr 2015 16:17:08 +0000 (16:17 +0000)]
[CMake] Automatically expose WTF_USE_FOO to the build when USE_FOO is exposed
https://bugs.webkit.org/show_bug.cgi?id=144394

Reviewed by Carlos Garcia Campos.

Automatically expose WTF_USE_FOO when USE_FOO is exposed. A side-effect of this change
is that it fixes the redirected XComposite window for GTK+, which was accidentally
disabled in previous reworking of the CMake configuration.

* Source/cmake/OptionsGTK.cmake: We no longer need to expose the WTF_ prefixed
version of USE variables.
* Source/cmake/WebKitFeatures.cmake: Automatically expose WTF_USE_FOO when USE_FOO
is exposed to the build.

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

5 years agoWeb Inspector: Copy not working in Console
commit-queue@webkit.org [Thu, 30 Apr 2015 08:54:05 +0000 (08:54 +0000)]
Web Inspector: Copy not working in Console
https://bugs.webkit.org/show_bug.cgi?id=144354

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-04-30
Reviewed by Timothy Hatcher.

* UserInterface/Base/Main.js:
(WebInspector._focusedContentView):
Select the inner most content view to check if handleCopyEvent exists.
Previously we were stopping at the top level TabContentView.

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

5 years agoUse the default hash value for Symbolized StringImpl
utatane.tea@gmail.com [Thu, 30 Apr 2015 08:37:51 +0000 (08:37 +0000)]
Use the default hash value for Symbolized StringImpl
https://bugs.webkit.org/show_bug.cgi?id=144347

Reviewed by Darin Adler.

Source/JavaScriptCore:

Before this patch, symbolized StringImpl* has a special hash value
to avoid the hash collision with the other normal StringImpl*.
I guess that it is introduced when private symbols are introduced.
However, it prevents using symbolized StringImpl* in the other place
For example, using it as WTFString cause a problem because of its special hash value.

When only using private symbols, they are not exposed to the outside of JSC,
so we can handle it carefully. But now, it's extended to symbols.
So I think storing a special hash value in StringImpl* causes an error.

To avoid this, I propose using the usual hash value in symbolized StringImpl*.
And to provide significantly different hash value when using it as symbol,
store the additional hash value in symbolized StringImpl*. It is used when
the hash value is required by IdentifierRepHash.

* runtime/Identifier.h:
(JSC::IdentifierRepHash::hash):
* runtime/Lookup.h:
(JSC::HashTable::entry):
* runtime/PropertyMapHashTable.h:
(JSC::PropertyTable::find):
(JSC::PropertyTable::get):
* runtime/Structure.cpp:
(JSC::PropertyTable::checkConsistency):

Source/WTF:

Use a default hash value calculation for symbolized StringImpl.

* wtf/text/StringImpl.cpp:
(WTF::StringImpl::createSymbol):
* wtf/text/StringImpl.h:
(WTF::StringImpl::StringImpl):
(WTF::StringImpl::symbolAwareHash):
(WTF::StringImpl::existingSymbolAwareHash):
(WTF::StringImpl::hashForSymbol):
* wtf/text/StringStatics.cpp:
(WTF::StringImpl::nextHashForSymbol):
(WTF::StringImpl::hashAndFlagsForSymbol): Deleted.

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

5 years agoThese should be saying HTTP/1.1 not HTTP/1.0
antti@apple.com [Thu, 30 Apr 2015 07:39:21 +0000 (07:39 +0000)]
These should be saying HTTP/1.1 not HTTP/1.0

* http/tests/cache/resources/iframe304.php:
* http/tests/cache/resources/iframe304body.php:

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

5 years agoUnreviewed. Bump GTK+ version numbers.
carlosgc@webkit.org [Thu, 30 Apr 2015 07:13:07 +0000 (07:13 +0000)]
Unreviewed. Bump GTK+ version numbers.

* Source/cmake/OptionsGTK.cmake:

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

5 years agoFix return code issue, check return code of safari process and dump results to log
commit-queue@webkit.org [Thu, 30 Apr 2015 07:08:19 +0000 (07:08 +0000)]
Fix return code issue, check return code of safari process and dump results to log
https://bugs.webkit.org/show_bug.cgi?id=144436

Patch by Dewei Zhu <dewei_zhu@apple.com> on 2015-04-30
Reviewed by Ryosuke Niwa.

* Scripts/run-benchmark:
* Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.dump): Correct typo.
(BenchmarkRunner.wrap): Add results to console.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py: Check return code to detect Safari crashes.
(OSXSafariDriver.prepareEnv):
(OSXSafariDriver.launchUrl):
(OSXSafariDriver.closeBrowsers):

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

5 years agoShould no longer need to worry about very old versions of Xcode
commit-queue@webkit.org [Thu, 30 Apr 2015 06:43:57 +0000 (06:43 +0000)]
Should no longer need to worry about very old versions of Xcode
https://bugs.webkit.org/show_bug.cgi?id=144437

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-04-29
Reviewed by Dan Bernstein.

* Scripts/check-for-exit-time-destructors:
* Scripts/check-for-global-initializers:
* Scripts/check-for-weak-vtables-and-externals:

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

5 years ago[EFL] CMake should be failed if openwebrtc package does not exist but ENABLE_MEDIA_ST...
ryuan.choi@navercorp.com [Thu, 30 Apr 2015 06:37:15 +0000 (06:37 +0000)]
[EFL] CMake should be failed if openwebrtc package does not exist but ENABLE_MEDIA_STREAM is ON
https://bugs.webkit.org/show_bug.cgi?id=144435

Reviewed by Gyuyoung Kim.

This patch adds REQUIRED option for OpenWebRTC when ENABLE_MEDIA_STREAM is ON.
In addition, this adds DEFAULT_PORT_VALUE for ENABLE_MEDIA_STREAM to match with FeatureList.pm

* Source/cmake/OptionsEfl.cmake:

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

5 years agoMake GenericTaskQueue even more generic (and usable inside platform/)
jer.noble@apple.com [Thu, 30 Apr 2015 06:29:36 +0000 (06:29 +0000)]
Make GenericTaskQueue even more generic (and usable inside platform/)
https://bugs.webkit.org/show_bug.cgi?id=144414

Reviewed by Eric Carlson.

Templatize GenericTaskQueue so that it can be used from within platform/.

* CMakeLists.txt:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* dom/GenericTaskQueue.cpp: Removed.
* html/HTMLMediaElement.h:
* platform/GenericTaskQueue.h: Renamed from Source/WebCore/dom/GenericTaskQueue.h.
(WebCore::TaskDispatcher::TaskDispatcher): Added default templatized class which just calls the parameter's postTask().
(WebCore::TaskDispatcher::postTask): Call context's postTask().
(WebCore::TaskDispatcher<Timer>::TaskDispatcher): Add a timer version which does not require a context.
(WebCore::TaskDispatcher<Timer>::postTask): Set the timer.
(WebCore::TaskDispatcher<Timer>::timerFired): Call the task.
(WebCore::GenericTaskQueue::GenericTaskQueue): Moved from .cpp.
(WebCore::GenericTaskQueue::enqueueTask): Ditto.
(WebCore::GenericTaskQueue::close): Ditto.
(WebCore::GenericTaskQueue::cancelAllTasks): Ditto.
(WebCore::GenericTaskQueue::hasPendingTasks): Ditto.

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

5 years ago[Win] Update baselines after r183610.
joepeck@webkit.org [Thu, 30 Apr 2015 05:53:01 +0000 (05:53 +0000)]
[Win] Update baselines after r183610.

Unreviewed Gardening.

* platform/win/fast/css/apple-system-colors-expected.txt: Added.

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

5 years agoUnreviewed build fix. WebCore has a weak symbol.
joepeck@webkit.org [Thu, 30 Apr 2015 04:43:03 +0000 (04:43 +0000)]
Unreviewed build fix. WebCore has a weak symbol.

WebCore has a weak external symbol in it. A common cause of weak external
symbols is when an inline function is listed in the linker export file.
ERROR: symbol __ZNK7WebCore4Page25expectsWheelEventTriggersEv

* page/Page.cpp:
(WebCore::Page::expectsWheelEventTriggers):
* page/Page.h:
(WebCore::Page::expectsWheelEventTriggers): Deleted.

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

5 years ago[JSC] Remove RageConvert array conversion
benjamin@webkit.org [Thu, 30 Apr 2015 04:40:55 +0000 (04:40 +0000)]
[JSC] Remove RageConvert array conversion
https://bugs.webkit.org/show_bug.cgi?id=144433

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-04-29
Reviewed by Filip Pizlo.

RageConvert was causing a subtle bug that was hitting the Kraken crypto tests
pretty hard:
-The indexing types shows that the array access varies between Int32 and DoubleArray.
-ArrayMode::fromObserved() decided to use the most generic type: DoubleArray.
 An Arrayify node would convert the Int32 to that type.
-Somewhere, a GetByVal or PutByVal would have the flag NodeBytecodeUsesAsInt. That
 node would use RageConvert instead of Convert.
-The Arrayify for that GetByVal with RageConvert would not convert the array to
 Contiguous.
-All the following array access that do not have the flag NodeBytecodeUsesAsInt would
 now expect a DoubleArray and always get a Contiguous Array. The CheckStructure
 fail systematically and we never get to run the later code.

Getting rid of RageConvert fixes the problem and does not seems to have any
negative side effect on other benchmarks.

The improvments on Kraken are:
    -stanford-crypto-aes: definitely 1.0915x faster.
    -stanford-crypto-pbkdf2: definitely 1.2446x faster.
    -stanford-crypto-sha256-iterative: definitely 1.0544x faster.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::refine):
(JSC::DFG::arrayConversionToString):
* dfg/DFGArrayMode.h:
* dfg/DFGArrayifySlowPathGenerator.h:
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGTypeCheckHoistingPhase.cpp:
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure):
* runtime/JSObject.cpp:
(JSC::JSObject::convertDoubleToContiguous):
(JSC::JSObject::ensureContiguousSlow):
(JSC::JSObject::genericConvertDoubleToContiguous): Deleted.
(JSC::JSObject::rageConvertDoubleToContiguous): Deleted.
(JSC::JSObject::rageEnsureContiguousSlow): Deleted.
* runtime/JSObject.h:
(JSC::JSObject::rageEnsureContiguous): Deleted.

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

5 years agoCrash at WebCore::Document::absoluteRegionForEventTargets
simon.fraser@apple.com [Thu, 30 Apr 2015 04:15:11 +0000 (04:15 +0000)]
Crash at WebCore::Document::absoluteRegionForEventTargets
https://bugs.webkit.org/show_bug.cgi?id=144426
rdar://problem/20502166

Reviewed by Tim Horton.

Source/WebCore:

When a frame had wheel event handlers, we would register the document itself
as a handler in its parent document. This is problematic, because there's not
code path that removes it when the frame is destroyed.

It turns out we don't need to do this at all; the non-fast scrollable region
already takes handlers in subframes into account.

Tests: fast/events/wheelevent-in-frame.html
       fast/events/wheelevent-in-reattached-frame.html

* dom/Document.cpp:
(WebCore::Document::didAddWheelEventHandler):
(WebCore::Document::didRemoveWheelEventHandler):

LayoutTests:

Test that disconnects a frame with a wheel event handler then GCs, and one that
disconnects are reconnects. In both case, the parent document should have zero
wheel event handlers registered on it.

* fast/events/wheelevent-in-frame-expected.txt: Added.
* fast/events/wheelevent-in-frame.html: Added.
* fast/events/wheelevent-in-reattached-frame-expected.txt: Added.
* fast/events/wheelevent-in-reattached-frame.html: Added.

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

5 years agoNot all videos should automatically play to playback target
eric.carlson@apple.com [Thu, 30 Apr 2015 03:40:16 +0000 (03:40 +0000)]
Not all videos should automatically play to playback target
https://bugs.webkit.org/show_bug.cgi?id=144430
<rdar://problem/20718523>

Reviewed by Darin Adler.

* Modules/mediasession/WebMediaSessionManager.cpp:
(WebCore::WebMediaSessionManager::clientStateDidChange): Consider ExternalDeviceAutoPlayCandidate.
Minor cleanup.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaState): Set ExternalDeviceAutoPlayCandidate when a <video>
has a file with an audio track that does not loop.

* page/MediaProducer.h: Add ExternalDeviceAutoPlayCandidate.

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

5 years agoLiveNodeList may unexpectedly return an element for empty string
joepeck@webkit.org [Thu, 30 Apr 2015 03:27:34 +0000 (03:27 +0000)]
LiveNodeList may unexpectedly return an element for empty string
https://bugs.webkit.org/show_bug.cgi?id=144429

Reviewed by Darin Adler.

Source/WebCore:

* dom/LiveNodeList.cpp:
(WebCore::LiveNodeList::namedItem):
Never return a result for an empty string.

LayoutTests:

* fast/dom/named-items-with-empty-name-expected.txt:
* fast/dom/named-items-with-empty-name.html:

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

5 years agoRemove PassRefPtr in SVGFEFooElement classes
gyuyoung.kim@webkit.org [Thu, 30 Apr 2015 03:21:27 +0000 (03:21 +0000)]
Remove PassRefPtr in SVGFEFooElement classes
https://bugs.webkit.org/show_bug.cgi?id=144425

Reviewed by Darin Adler.

As a step to use Ref instead of PassRefPtr, this patch purges PassRefPtr
in SVGFEFooElement.

No new tests, no behavior changes.

* css/RGBColor.cpp:
(WebCore::RGBColor::create):
* css/RGBColor.h:
* platform/graphics/filters/PointLightSource.h:
(WebCore::PointLightSource::create):
* platform/graphics/filters/SpotLightSource.h:
(WebCore::SpotLightSource::create):
* svg/SVGColor.cpp:
(WebCore::SVGColor::rgbColor):
* svg/SVGColor.h:
* svg/SVGFEDistantLightElement.cpp:
(WebCore::SVGFEDistantLightElement::lightSource):
* svg/SVGFEDistantLightElement.h:
* svg/SVGFELightElement.cpp:
(WebCore::SVGFELightElement::findLightSource):
* svg/SVGFELightElement.h:
* svg/SVGFEPointLightElement.cpp:
(WebCore::SVGFEPointLightElement::lightSource):
* svg/SVGFEPointLightElement.h:
* svg/SVGFESpotLightElement.cpp:
(WebCore::SVGFESpotLightElement::lightSource):
* svg/SVGFESpotLightElement.h:

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

5 years agoCreate a named CSS property for system colors
dino@apple.com [Thu, 30 Apr 2015 03:15:23 +0000 (03:15 +0000)]
Create a named CSS property for system colors
https://bugs.webkit.org/show_bug.cgi?id=144423
<rdar://problem/20491011>

Reviewed by Tim Horton.

Source/WebCore:

Test: fast/css/apple-system-colors.html

Expose the following values to CSS color properties:
    -apple-system-blue
    -apple-system-brown
    -apple-system-gray
    -apple-system-green
    -apple-system-orange
    -apple-system-pink
    -apple-system-purple
    -apple-system-red
    -apple-system-yellow

On platforms other than OS X Yosemite and iOS, the
actual color values are undefined and become transparent
black. (In fact, not all are defined on iOS either.)

* WebCore.xcodeproj/project.pbxproj: Two new SPI header files.

* css/CSSParser.cpp:
(WebCore::CSSParser::validSystemColorValue): New helper function that
checks if a CSSValueID is between the two system color values. This
was being tested everywhere, which meant adding a new system color was
at risk of being ignored. It's a static method so it can be used
from the SVG CSS parser too.
(WebCore::validPrimitiveValueColor): Use the new helper.
(WebCore::CSSParser::parseValue): Ditto.
(WebCore::CSSParser::parseBackgroundColor): Ditto.
(WebCore::CSSParser::parseShadow): Ditto.
(WebCore::parseDeprecatedGradientColorStop): Ditto.
(WebCore::parseGradientColorOrKeyword): Ditto.
* css/CSSParser.h: New static helper function.

* css/CSSValueKeywords.in: Add the new CSS value keywords.

* css/SVGCSSParser.cpp:
(WebCore::validSystemControlColorValue): SVG has a restricted
set of system colors, so use the helper from CSSParser but with
an extra condition.
(WebCore::CSSParser::parseSVGValue): Use the helper.

* platform/spi/ios/UIColorSPI.h: Added.
* platform/spi/cocoa/NSColorSPI.h: Added.

* rendering/RenderThemeIOS.h: New systemColor override. Also add a cache for system colors.
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::systemColor): Ask UIColor to provide the color values for the new CSS values.
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::systemColor): Ditto.

LayoutTests:

Expose the following values to CSS color properties:
    -apple-system-blue
    -apple-system-brown
    -apple-system-gray
    -apple-system-green
    -apple-system-orange
    -apple-system-pink
    -apple-system-purple
    -apple-system-red
    -apple-system-yellow

The new test shows the computed value for each of these colors. It
includes generic results (no special value) and platform results for
Mac (other than Mavericks) and iOS.

* fast/css/apple-system-colors-expected.txt: Generic results.
* fast/css/apple-system-colors.html: Added - the new test.
* platform/mac/fast/css/apple-system-colors-expected.txt: Added OS X results.
* platform/ios-simulator/fast/css/apple-system-colors-expected.txt: Added iOS results.
* platform/mac-mavericks/fast/css/apple-system-colors-expected.txt: Generic results for Mavericks.

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

5 years agoUnreviewed, rolling out r183600.
commit-queue@webkit.org [Thu, 30 Apr 2015 03:08:17 +0000 (03:08 +0000)]
Unreviewed, rolling out r183600.
https://bugs.webkit.org/show_bug.cgi?id=144432

New tests time out everywhere (Requested by ap on #webkit).

Reverted changeset:

"Crash at WebCore::Document::absoluteRegionForEventTargets"
https://bugs.webkit.org/show_bug.cgi?id=144426
http://trac.webkit.org/changeset/183600

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

5 years agoLazyNeverDestroyed is not thread safe in debug builds, causing assertions
ap@apple.com [Thu, 30 Apr 2015 03:05:37 +0000 (03:05 +0000)]
LazyNeverDestroyed is not thread safe in debug builds, causing assertions
https://bugs.webkit.org/show_bug.cgi?id=144378

Reviewed by Darin Adler.

* wtf/NeverDestroyed.h:

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

5 years agofast/frames/flattening/iframe-flattening-resize-event-count.html times out on Yosemit...
ap@apple.com [Thu, 30 Apr 2015 03:03:57 +0000 (03:03 +0000)]
fast/frames/flattening/iframe-flattening-resize-event-count.html times out on Yosemite WK2
https://bugs.webkit.org/show_bug.cgi?id=144155

* fast/frames/flattening/resources/iframe-to-resize.html: Added more logging to the test.

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

5 years agoUnreviewed iOS build fix. Unused parameter no longer exists.
joepeck@webkit.org [Thu, 30 Apr 2015 02:46:05 +0000 (02:46 +0000)]
Unreviewed iOS build fix. Unused parameter no longer exists.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::absoluteNonFastScrollableRegionForFrame):

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

5 years agoFix the EFL build after r183595
gyuyoung.kim@webkit.org [Thu, 30 Apr 2015 02:44:22 +0000 (02:44 +0000)]
Fix the EFL build after r183595
https://bugs.webkit.org/show_bug.cgi?id=144427

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-04-29
Reviewed by Gyuyoung Kim.

updateWheelEventTestTriggersIfNeeded() is guarded by #if ENABLE(CSS_SCROLL_SNAP) || ENABLE(RUBBER_BANDING).

* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::updateWheelEventTestTriggersIfNeeded):

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

5 years agoREGRESSION(183583): [Mac] make without SDKROOT has issues
joepeck@webkit.org [Thu, 30 Apr 2015 02:39:45 +0000 (02:39 +0000)]
REGRESSION(183583): [Mac] make without SDKROOT has issues
https://bugs.webkit.org/show_bug.cgi?id=144431

Reviewed by Dan Bernstein.

.:

* Source/Makefile:
Assume an empty SDKROOT means an macosx variant, so only
enable settings if the SDKROOT is not empty and does not
contain "macosx".

Tools:

* Makefile:
* WebKitTestRunner/Makefile:
Assume an empty SDKROOT means an macosx variant, so only
enable settings if the SDKROOT is not empty and does not
contain "macosx".

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

5 years agoUnskip 3D transformation tests for WebKitGTK+
mrobinson@webkit.org [Thu, 30 Apr 2015 02:10:25 +0000 (02:10 +0000)]
Unskip 3D transformation tests for WebKitGTK+

Unreviewed. This is gardening.

These tests should run reasonably well on the testing bots, now that
they use llvmpipe to run OpenGL.

* platform/gtk/TestExpectations:
* platform/gtk/transforms/3d/general/background-visibility-layers-expected.png: Added.
* platform/gtk/transforms/3d/general/cssmatrix-3d-zoom-expected.png: Added.
* platform/gtk/transforms/3d/general/matrix-with-zoom-3d-expected.png: Added.
* platform/gtk/transforms/3d/general/perspective-non-layer-expected.png: Added.
* platform/gtk/transforms/3d/general/perspective-units-expected.png: Added.
* platform/gtk/transforms/3d/general/transform-origin-z-change-expected.png: Added.
* platform/gtk/transforms/3d/hit-testing/backface-hit-test-expected.png: Added.
* platform/gtk/transforms/3d/hit-testing/backface-no-transform-hit-test-expected.png: Added.
* platform/gtk/transforms/3d/point-mapping/3d-point-mapping-2-expected.png: Added.
* platform/gtk/transforms/3d/point-mapping/3d-point-mapping-3-expected.png: Added.
* platform/gtk/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.png: Added.
* platform/gtk/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png: Added.
* platform/gtk/transforms/3d/point-mapping/3d-point-mapping-expected.png: Added.
* platform/gtk/transforms/3d/point-mapping/3d-point-mapping-origins-expected.png: Added.
* platform/gtk/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.png: Added.
* platform/gtk/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png: Added.

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

5 years agoFix the GTK+ build after r183584
mrobinson@webkit.org [Thu, 30 Apr 2015 01:42:54 +0000 (01:42 +0000)]
Fix the GTK+ build after r183584

* Source/cmake/OptionsGTK.cmake: Properly use the USE_LIBHYPHEN and HYPHEN_FOUND variables.

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

5 years agoRebaseline after r183597.
simon.fraser@apple.com [Thu, 30 Apr 2015 01:41:53 +0000 (01:41 +0000)]
Rebaseline after r183597.

* platform/mac-wk2/tiled-drawing/scrolling/non-fast-region/handlers-in-iframes-expected.txt:

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

5 years agoCrash at WebCore::Document::absoluteRegionForEventTargets
simon.fraser@apple.com [Thu, 30 Apr 2015 01:38:20 +0000 (01:38 +0000)]
Crash at WebCore::Document::absoluteRegionForEventTargets
https://bugs.webkit.org/show_bug.cgi?id=144426
rdar://problem/20502166

Reviewed by Tim Horton.

Source/WebCore:

When a frame had wheel event handlers, we would register the document itself
as a handler in its parent document. This is problematic, because there's not
code path that removes it when the frame is destroyed.

It turns out we don't need to do this at all; the non-fast scrollable region
already takes handlers in subframes into account.

Tests: fast/events/wheelevent-in-frame.html
       fast/events/wheelevent-in-reattached-frame.html

* dom/Document.cpp:
(WebCore::Document::didAddWheelEventHandler):
(WebCore::Document::didRemoveWheelEventHandler):

LayoutTests:

Test that disconnects a frame with a wheel event handler then GCs, and one that
disconnects are reconnects. In both case, the parent document should have zero
wheel event handlers registered on it.

* fast/events/wheelevent-in-frame-expected.txt: Added.
* fast/events/wheelevent-in-frame.html: Added.
* fast/events/wheelevent-in-reattached-frame-expected.txt: Added.
* fast/events/wheelevent-in-reattached-frame.html: Added.

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

5 years agoAttempt #2: Switch QuickLook soft-linking to use QuickLookSoftLink.{h,mm}
ddkilzer@apple.com [Thu, 30 Apr 2015 01:18:18 +0000 (01:18 +0000)]
Attempt #2: Switch QuickLook soft-linking to use QuickLookSoftLink.{h,mm}
<http://webkit.org/b/144362>

Reviewed by Andy Estes.

This patch switches soft-linking of QuickLook.framework to
QuickLookSoftLink.{h,mm} so that we stop exporting unintended
symbols.

No new tests since no change in behavior.

* WebCore.xcodeproj/project.pbxproj:
- Add QuickLookSoftLinking.{h,mm} to the project.

* platform/ios/QuickLookSoftLink.h: Added.
* platform/ios/QuickLookSoftLink.mm: Added.
* platform/mac/SoftLinking.h:
(SOFT_LINK_CLASS_FOR_HEADER): Add macro.
(SOFT_LINK_CLASS_FOR_SOURCE): Add macro.
(SOFT_LINK_POINTER_FOR_HEADER): Add macro.
(SOFT_LINK_POINTER_FOR_SOURCE): Add macro.

* platform/network/ios/QuickLook.h:
- Remove unused declarations.

* platform/network/ios/QuickLook.mm:
(WebCore::QLPreviewConverterClass): Deleted.
(WebCore::QLTypeCopyBestMimeTypeForFileNameAndMimeType): Deleted.
(WebCore::QLTypeCopyBestMimeTypeForURLAndMimeType): Deleted.
(WebCore::QLTypeCopyUTIForURLAndMimeType): Deleted.
- Remove SOFT_LINK macros and unused methods after switching to
  new QuickLookSoftLink.{h,mm}.
(WebCore::QLPreviewGetSupportedMIMETypesSet):
- Switch to use NeverDestroyed<>.
(WebCore::registerQLPreviewConverterIfNeeded):
(createQLPreviewProtocol):
(WebCore::QLPreviewProtocol):
(WebCore::QuickLookHandle::QuickLookHandle):
(WebCore::QuickLookHandle::create):
(WebCore::QuickLookHandle::shouldCreateForMIMEType):
- Simplify code when using QuickLookSoftLink.h.

* platform/network/ios/WebCoreURLResponseIOS.mm:
- Include QuickLookSoftLink.h header.

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

5 years agoCompute the non-fast-scrollable region in main-document coordinates
simon.fraser@apple.com [Thu, 30 Apr 2015 00:46:40 +0000 (00:46 +0000)]
Compute the non-fast-scrollable region in main-document coordinates
https://bugs.webkit.org/show_bug.cgi?id=144420

Reviewed by Tim Horton.

Source/WebCore:

Compute the non-fast-scrollable region in document coordinates, to make it easier
to reason about. Previously, it was document coordinates offset by top content inset.

* page/DebugPageOverlays.cpp:
(WebCore::MouseWheelRegionOverlay::updateRegion): Traverse all frames to compute the wheel
event handler region, mapping each to root view coords, and then mapping back into document
coords at the end.
(WebCore::NonFastScrollableRegionOverlay::updateRegion): No offset needed here; the
overlay and region are both document coordinates.
* page/FrameView.h: Make some mapping function overrides public, and expose widgetsInRenderTree().
* page/Page.cpp:
(WebCore::Page::nonFastScrollableRects): Remove frame argument.
* page/Page.h:
* page/PageOverlay.cpp:
(WebCore::PageOverlay::bounds):
(WebCore::PageOverlay::viewToOverlayOffset): Convenience function to map between
view and overlay coordinates.
* page/PageOverlay.h:
* page/scrolling/AsyncScrollingCoordinator.cpp: New computeNonFastScrollableRegion() signature.
(WebCore::AsyncScrollingCoordinator::updateNonFastScrollableRegion):
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::AsyncScrollingCoordinator::scrollingStateTreeAsText):
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::absoluteNonFastScrollableRegionForFrame): This function
recurses on frames, computing an absolute (document-relative) region per frame. This
removes the confusing offsetting through top content inset.
Change how we get to plugins that want wheel events; we can't get from PluginViewBase
to renderers, so use FrameView's list of Widgets, and their RenderWidgets. This fixes
regions for transformed plugin-ins.
For subframes, we get a region in the subframe's document coords. Map to that sub-frame,
then to our frame, then to our document.
(WebCore::ScrollingCoordinator::absoluteNonFastScrollableRegion): Wrapper that hides
the recursive function.
(WebCore::ScrollingCoordinator::computeNonFastScrollableRegion): Deleted.
* page/scrolling/ScrollingCoordinator.h:
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Map the event point
from view coordinates to document coordinates for testing against the non-fast region.
We previously assert that the root note is a FrameScrolling node.
* page/scrolling/ScrollingTreeFrameScrollingNode.cpp:
(WebCore::ScrollingTreeFrameScrollingNode::viewToContentsOffset): Similar to ScrollView::viewToContents()
for the scrolling tree.
* page/scrolling/ScrollingTreeFrameScrollingNode.h:
* testing/Internals.cpp:
(WebCore::Internals::nonFastScrollableRects): No need for frame arg.

LayoutTests:

We now report the non-fast region in document coordinates, so these two results change.

* platform/mac-wk2/tiled-drawing/scrolling/non-fast-region/top-content-inset-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/non-fast-region/top-content-inset-header-expected.txt:

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

5 years agoExpand test infrastructure to support scrolling tests
bfulgham@apple.com [Thu, 30 Apr 2015 00:29:05 +0000 (00:29 +0000)]
Expand test infrastructure to support scrolling tests
https://bugs.webkit.org/show_bug.cgi?id=143684
<rdar://problem/20375516>

Reviewed by Simon Fraser.

Source/WebCore:

Tested by various fast/scrolling and platform/mac-wk2/tiled-drawing/scrolling tests.

This series of changes adds a new singleton class, 'WheelEventTestTrigger', which encapsulates a
function object to be fired when scroll events are finished. The object also keeps track of reasons
why the test should not yet fire (e.g., 'rubberbanding' is active) so that tests do not incorrectly
check rendering state in the middle of an animation.

Switch from the original WeakPtr design to ThreadSafeRefPtr, because WeakPtr cannot be shared
across multiple threads.

* page/FrameView.cpp:
(WebCore::FrameView::layout): Make sure ScrollAnimator knows about any active test trigger.
(WebCore::FrameView::setScrollPosition): Ditto.
(WebCore::FrameView::didAddScrollbar): Ditto.
* page/MainFrame.cpp:
(WebCore::MainFrame::testTrigger): Moved to Page.
(WebCore::MainFrame::ensureTestTrigger): Ditto.
* page/MainFrame.h:
* page/Page.cpp:
(WebCore::Page::testTrigger): Moved from MainFrame, and converted to use RefPtr.
(WebCore::Page::ensureTestTrigger): Ditto.
* page/Page.h:
* page/WheelEventTestTrigger.cpp:
(WebCore::WheelEventTestTrigger::WheelEventTestTrigger): Remove WeakPtr code.
(WebCore::WheelEventTestTrigger::createWeakPtr): Deleted.
* page/WheelEventTestTrigger.h:
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::platformPrepareForWheelEvents): Make sure the scroll animator knows about
any active test trigger object.
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll): Notify WheelEventTestTrigger
that the scrolling thread is synced with the main thread.
* platform/ScrollAnimator.h: Hold a RefPtr to the WheelEventTestTrigger.
(WebCore::ScrollAnimator::ScrollAnimator::setWheelEventTestTrigger):
* platform/cocoa/ScrollController.h:
* platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::startSnapRubberbandTimer): Notify test trigger to hold tests until rubber band
snapping is complete.
(WebCore::ScrollController::stopSnapRubberbandTimer): Notify test trigger that rubber band snapping is done.
(WebCore::ScrollController::startScrollSnapTimer): Notify test trigger to hold tests until scroll snapping
is complete.
(WebCore::ScrollController::stopScrollSnapTimer): Notify test trigger that scroll snapping is done.
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::didBeginScrollGesture): Notify test trigger that a content scroll is in progress.
(WebCore::ScrollAnimatorMac::didEndScrollGesture): Notify test trigger that a content scroll is finished.
(WebCore::ScrollAnimatorMac::sendContentAreaScrolledSoon): Notify test trigger to hold tests until the content
scrolling is complete.
(WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired): Notify test trigger that content scrolling is done.
* rendering/RenderBox.cpp:
(WebCore::connectScrollAnimatorToTestTrigger): Helper function.
(WebCore::RenderBox::setScrollLeft): Call 'connectScrollAnimatorToTestTrigger' to connect the ScrollAnimator
to the WheelEventTestTrigger so that future scroll operations can notify the test infrastructure.
(WebCore::RenderBox::setScrollTop): Ditto.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::createScrollbar): Make sure the ScrollAnimator knows about any active test triggers.
* rendering/RenderListBox.cpp:
(WebCore::connectScrollAnimatorToTestTrigger): Helper function.
(WebCore::RenderListBox::setScrollLeft): Call 'connectScrollAnimatorToTestTrigger' to connect the ScrollAnimator
to the WheelEventTestTrigger so that future scroll operations can notify the test infrastructure.
(WebCore::RenderListBox::setScrollTop): Ditto.
(WebCore::RenderListBox::createScrollbar): Ditto.
* testing/js/WebCoreTestSupport.cpp:
(WebCoreTestSupport::monitorWheelEvents): Look for WheelEventTestTrigger in Page, rather than MainFrame.
(WebCoreTestSupport::setTestCallbackAndStartNotificationTimer): Ditto.

Source/WebKit2:

Update test programs to activate (and deactivate) the new WheelEventTestTrigger logic.

* UIProcess/API/C/WKPage.cpp:
(WKPageClearWheelEventTestTriggers): Added.
* UIProcess/API/C/WKPage.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::clearWheelEventTestTrigger): Added.
* UIProcess/WebPageProxy.h:
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageStartMonitoringScrollOperations): Interact with WheelEventTestTrigger through
the Page, rather than MainFrame.
(WKBundlePageRegisterScrollOperationCompletionCallback): Ditto.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::createScrollbar): Make sure scroll animator knows about any
active test triggers.
* WebPage/EventDispatcher.mm:
(WebKit::EventDispatcher::wheelEvent): If the wheel event was passed to the scrolling thread,
defer tests until a Scrolling Thread Sync has occurred.
* WebPage/WebPage.cpp:
(WebKit::WebPage::clearWheelEventTestTrigger): Added.
* WebPage/WebPage.h:
* WebPage/WebPage.message.in: Added ClearWheelEventTestTrigger message.

Tools:

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentStateBeforeTesting): Make sure the WheelEventTestTrigger state is
reset before the next test run.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues): Ditto."

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

5 years agoWeb Inspector: Remove some unused Images
timothy@apple.com [Thu, 30 Apr 2015 00:28:04 +0000 (00:28 +0000)]
Web Inspector: Remove some unused Images
https://bugs.webkit.org/show_bug.cgi?id=144412

Reviewed by Joseph Pecoraro.

* UserInterface/Images/BottomUpTree.svg: Removed.
* UserInterface/Images/Log.png: Removed.
* UserInterface/Images/Log@2x.png: Removed.
* UserInterface/Images/NavigationItemAngleBrackets.svg: Removed.
* UserInterface/Images/NavigationItemBrushAndRuler.svg: Removed.
* UserInterface/Images/NavigationItemBug.svg: Removed.
* UserInterface/Images/NavigationItemDoughnutChart.svg: Removed.
* UserInterface/Images/NavigationItemFile.svg: Removed.
* UserInterface/Images/NavigationItemLayers.svg: Removed.
* UserInterface/Images/NavigationItemLog.svg: Removed.
* UserInterface/Images/NavigationItemProbes.svg: Removed.
* UserInterface/Images/NavigationItemStopwatch.svg: Removed.
* UserInterface/Images/NavigationItemStorage.svg: Removed.
* UserInterface/Images/NavigationItemVariable.svg: Removed.
* UserInterface/Images/NetworkBarLabelCalloutLeft.svg: Removed.
* UserInterface/Images/NetworkBarLabelCalloutRight.svg: Removed.
* UserInterface/Images/NetworkBarLabelCalloutWhiteLeft.svg: Removed.
* UserInterface/Images/NetworkBarLabelCalloutWhiteRight.svg: Removed.
* UserInterface/Images/Percent.svg: Removed.
* UserInterface/Images/Reload.svg: Removed.
* UserInterface/Images/SplitToggleDown.svg: Removed.
* UserInterface/Images/Time.svg: Removed.
* UserInterface/Images/Weight.svg: Removed.

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

5 years agoRun javascriptcore tests on Windows without cygwin
commit-queue@webkit.org [Thu, 30 Apr 2015 00:23:54 +0000 (00:23 +0000)]
Run javascriptcore tests on Windows without cygwin
https://bugs.webkit.org/show_bug.cgi?id=144419

Patch by Alex Christensen <achristensen@webkit.org> on 2015-04-29
Reviewed by Brent Fulgham.

* Scripts/run-javascriptcore-tests:
(runJSCStressTests):
Just call ruby, not /usr/bin/env ruby.

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

5 years agoAdding the ability to move selection by granularity on iOS.
enrica@apple.com [Thu, 30 Apr 2015 00:21:20 +0000 (00:21 +0000)]
Adding the ability to move selection by granularity on iOS.
https://bugs.webkit.org/show_bug.cgi?id=144410
rdar://problem/19213337

Reviewed by Benjamin Poulain.

This patch also correctly sets _usingGestureForSelection for all
the functions that change the selection with a gesture.
This way we make sure that the selection drawing is not delayed
until the next time we paint.

* UIProcess/WebPageProxy.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView moveSelectionAtBoundary:inDirection:completionHandler:]):
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::moveSelectionAtBoundaryWithDirection):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::moveSelectionAtBoundaryWithDirection):

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

5 years ago[CSS Box Alignment] Unifying alignment data in a single class
jfernandez@igalia.com [Thu, 30 Apr 2015 00:12:25 +0000 (00:12 +0000)]
[CSS Box Alignment] Unifying alignment data in a single class
https://bugs.webkit.org/show_bug.cgi?id=144384

Reviewed by David Hyatt.

The new CSS Box Alignment specification introduces more complex
values and syntax for defining alignment properties. Most of the
alignment values were just keyword identifiers, but the new syntax
allows different combinations of identifiers to determine the
alignment behavior (eg. overflow-alignment keyword).

This patch wll help to implement later overflow handling and
specially Content Dstribution alignment, the most complex case by
far. It will be more consistent against style changes and repaint,
snce we will have just one field to monitoring for value
modfications.

No new tests, because no new functionality was added; it's just a
code refactoring which is just expected to pass current tests.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::resolveSelfAlignmentAuto):
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSPropertyNames.in:
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertSelfOrDefaultAlignmentData):
(WebCore::StyleBuilderConverter::convertSVGColor): Deleted.
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyInitialWebkitMaskImage): Deleted.
(WebCore::StyleBuilderCustom::applyInheritWebkitMaskImage): Deleted.
(WebCore::ApplyPropertyBorderImageModifier::applyInheritValue): Deleted.
(WebCore::ApplyPropertyBorderImageModifier::applyInitialValue): Deleted.
(WebCore::ApplyPropertyBorderImageModifier::applyValue): Deleted.
(WebCore::ApplyPropertyBorderImageModifier::getValue): Deleted.
(WebCore::ApplyPropertyBorderImageModifier::setValue): Deleted.
(WebCore::StyleBuilderCustom::applyInheritLineHeight): Deleted.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):
* mathml/MathMLTextElement.cpp:
(WebCore::MathMLTextElement::createElementRenderer):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::styleDidChange):
* rendering/RenderFullScreen.cpp:
(WebCore::createFullScreenStyle):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::adjustInnerStyle):
* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::updateStyle):
* rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::RenderMathMLScripts::fixAnonymousStyleForSubSupPair):
(WebCore::RenderMathMLScripts::fixAnonymousStyles):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::resolveAlignment):
(WebCore::RenderStyle::resolveJustification):
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
(WebCore::StyleRareNonInheritedData::contentDataEquivalent): Deleted.
* rendering/style/StyleRareNonInheritedData.h:
* rendering/style/StyleSelfAlignmentData.h: Added.
(WebCore::StyleSelfAlignmentData::StyleSelfAlignmentData):
(WebCore::StyleSelfAlignmentData::setPosition):
(WebCore::StyleSelfAlignmentData::setPositionType):
(WebCore::StyleSelfAlignmentData::setOverflow):
(WebCore::StyleSelfAlignmentData::position):
(WebCore::StyleSelfAlignmentData::positionType):
(WebCore::StyleSelfAlignmentData::overflow):
(WebCore::StyleSelfAlignmentData::operator==):
(WebCore::StyleSelfAlignmentData::operator!=):

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

5 years agoGracefully handle missing auto pause key on remote inspector setup
commit-queue@webkit.org [Wed, 29 Apr 2015 23:46:18 +0000 (23:46 +0000)]
Gracefully handle missing auto pause key on remote inspector setup
https://bugs.webkit.org/show_bug.cgi?id=144411

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-04-29
Reviewed by Timothy Hatcher.

* inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::receivedSetupMessage):

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

5 years agoNodeList has issues with Symbol and empty string
joepeck@webkit.org [Wed, 29 Apr 2015 23:22:39 +0000 (23:22 +0000)]
NodeList has issues with Symbol and empty string
https://bugs.webkit.org/show_bug.cgi?id=144310

Reviewed by Darin Adler.

Source/JavaScriptCore:

* runtime/PropertyName.h:
(JSC::PropertyName::isSymbol):
Helper to check if the PropertyName is a string or symbol property.

Source/WebCore:

Tests: fast/dom/StyleSheet/stylesheet-symbol-names.html
       fast/dom/dataset-name-getter-symbols.html
       fast/dom/named-items-with-empty-name.html
       fast/dom/named-items-with-symbol-name.html
       storage/domstorage/localstorage/named-items.html

Test different bindings objects with custom named setter
and getter handlers. Ensure that they handle Symbol properties
gracefully. Often times avoiding the string path.

* dom/StaticNodeList.cpp:
(WebCore::StaticNodeList::namedItem):
(WebCore::StaticElementList::namedItem):
Better handle the empty string. It should not match an item.

* bindings/js/JSDOMBinding.h:
(WebCore::propertyNameToString):
In cases where we would use this, we should have handled
Symbol properties.

(WebCore::propertyNameToAtomicString):
For Symbols, use the unique string. This should result
in no matches for a Symbol property.

* bindings/js/JSDOMStringMapCustom.cpp:
(WebCore::JSDOMStringMap::getOwnPropertySlotDelegate):
(WebCore::JSDOMStringMap::deleteProperty):
(WebCore::JSDOMStringMap::putDelegate):
* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::canGetItemsForName):
(WebCore::JSStorage::nameGetter):
(WebCore::JSStorage::deleteProperty):
(WebCore::JSStorage::putDelegate):
* bindings/js/JSStyleSheetListCustom.cpp:
(WebCore::JSStyleSheetList::canGetItemsForName):
Treat Symbol properties as private properties. They just
go directly through to the Object, and avoid the string
getter/setter property path.

LayoutTests:

* fast/dom/StyleSheet/stylesheet-symbol-names-expected.txt: Added.
* fast/dom/StyleSheet/stylesheet-symbol-names.html: Added.
* fast/dom/dataset-name-getter-symbols-expected.txt: Added.
* fast/dom/dataset-name-getter-symbols.html: Added.
* fast/dom/named-items-with-empty-name-expected.txt: Added.
* fast/dom/named-items-with-empty-name.html: Added.
* fast/dom/named-items-with-symbol-name-expected.txt: Added.
* fast/dom/named-items-with-symbol-name.html: Added.
* storage/domstorage/localstorage/named-items-expected.txt: Added.
* storage/domstorage/localstorage/named-items.html: Added.

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

5 years agoUI process sometimes crashes under _takeViewSnapshot when the window is off-screen
timothy_horton@apple.com [Wed, 29 Apr 2015 23:19:00 +0000 (23:19 +0000)]
UI process sometimes crashes under _takeViewSnapshot when the window is off-screen
https://bugs.webkit.org/show_bug.cgi?id=144418
<rdar://problem/20740278>

Reviewed by Alexey Proskuryakov.

* UIProcess/API/mac/WKView.mm:
(-[WKView _takeViewSnapshot]):
Null-check the array before checking if it has any items.
If the window is off-screen, we can't snapshot it.

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

5 years ago[Mac] Register with device picker whenever a page has <video>
eric.carlson@apple.com [Wed, 29 Apr 2015 23:03:40 +0000 (23:03 +0000)]
[Mac] Register with device picker whenever a page has <video>
https://bugs.webkit.org/show_bug.cgi?id=144408

Reviewed by Jer Noble.

* Modules/mediasession/WebMediaSessionManager.cpp:
(WebCore::WebMediaSessionManager::setPlaybackTarget): Drive-by fix: don't tell a client to play
to the target when it has not routes.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaState): Set RequiresPlaybackTargetMonitoring whenever the
element is <video> with a video track that does not block wireless playback.

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

5 years agoAllow testing of plug-ins that handle wheel events.
simon.fraser@apple.com [Wed, 29 Apr 2015 23:02:11 +0000 (23:02 +0000)]
Allow testing of plug-ins that handle wheel events.
https://bugs.webkit.org/show_bug.cgi?id=144413

Reviewed by Tim Horton.

Source/WebKit2:

Allow the Test Netscape Plug-in to pretend to handle wheel events,
so layout tests can use it.

* Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
(WebKit::NetscapePluginModule::determineQuirks):

LayoutTests:

Test the non-fast scrollable region with top content inset and header height, and with a plug-in.

* platform/mac-wk2/tiled-drawing/scrolling/non-fast-region/top-content-inset-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/scrolling/non-fast-region/top-content-inset-header-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/scrolling/non-fast-region/top-content-inset-header.html: Added.
* platform/mac-wk2/tiled-drawing/scrolling/non-fast-region/top-content-inset.html: Added.
* platform/mac-wk2/tiled-drawing/scrolling/non-fast-region/wheel-event-plugin-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/scrolling/non-fast-region/wheel-event-plugin.html: Added.

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

5 years ago[GTK] Add --enable-shared option to LLVM to build mesa
utatane.tea@gmail.com [Wed, 29 Apr 2015 22:56:50 +0000 (22:56 +0000)]
[GTK] Add --enable-shared option to LLVM to build mesa
https://bugs.webkit.org/show_bug.cgi?id=144393

Reviewed by Martin Robinson.

The updated mesa requires the shared LLVM libraries.
To build mesa with LLVM in FTL build, this patch added `--enable-shared` option
to LLVM configure script. It will provide shared libraries in addition to static libraries.

* gtk/jhbuild-optional.modules:

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

5 years ago[GTK] Add support for automatic hyphenation
mrobinson@webkit.org [Wed, 29 Apr 2015 22:46:15 +0000 (22:46 +0000)]
[GTK] Add support for automatic hyphenation
https://bugs.webkit.org/show_bug.cgi?id=44478

Reviewed by Carlos Garcia Campos.

.:

* Source/cmake/FindHyphen.cmake: Added. A CMake module for finding libhyphen.
* Source/cmake/OptionsGTK.cmake: Look for libhyphen and enable hyphenation if found.
* Source/cmakeconfig.h.cmake: Pass through the whether libhyphen is enabled.

Source/WebCore:

No new tests. This patch unskips and updates results for existing hyphenation tests.

* PlatformGTK.cmake: Add the libhypen implementation to the source list.
* platform/gtk/GtkUtilities.cpp:
(WebCore::topLevelPath): Add this helper function taken from the test harness.
(WebCore::getWebKitBuildDirectory): Ditto.
* platform/gtk/GtkUtilities.h: Add function declarations for the helper functions.
* platform/text/Hyphenation.cpp: Surround this implementation with !USE(LIBHYPHEN),
  so that it can still be shared.
* platform/text/gtk/HyphenationLibHyphen.cpp: Added.
(WebCore::extractLocaleFromDictionaryFilePath): Take in a dictionary filename and
determine the locale that it covers.
(WebCore::scanDirectoryForDicionaries): Look for all installed dictionaries as well
as ones in the JHBuild root for testing.
(WebCore::scanTestDictionariesDirectoryIfNecessary): Try to scan the dictionaries installed
in the JHBuild root.
(WebCore::availableLocales): Getter for global hash of installed dictionaries.
(WebCore::canHyphenate): Added libhyphen implementation.
(WebCore::HyphenationDictionary): Helper class that properly manages the memory of
an open libhyphen dictionary. This is useful so that they can be stored in an MRU
cache. This is a similar approach to the CoreFoundation implementation.
(WebCore::AtomicStringKeyedMRUCache<RefPtr<HyphenationDictionary>>::createValueForNullKey): MRU cache
helper.
(WebCore::AtomicStringKeyedMRUCache<RefPtr<HyphenationDictionary>>::createValueForKey): Ditto.
(WebCore::hyphenDictionaryCache): A cache for opened hyphenation dictionaries.
(WebCore::countLeadingSpaces): Count leading spaces, since WebCore often passes words with them.
(WebCore::lastHyphenLocation): Added libhyphen implementation.

Tools:

* gtk/jhbuild.modules: Add a module for testing dictionaries, so that
all systems will use the same dictionaries for testing purposes.

LayoutTests:

* platform/gtk/TestExpectations: Unskip most hyphenation tests.
* platform/gtk/fast/text/hyphenate-character-expected.png: Added.
* platform/gtk/fast/text/hyphenate-character-expected.txt:
* platform/gtk/fast/text/hyphenate-first-word-expected.png: Added.
* platform/gtk/fast/text/hyphenate-first-word-expected.txt:
* platform/gtk/fast/text/hyphenate-limit-before-after-expected.png:
* platform/gtk/fast/text/hyphenate-limit-before-after-expected.txt:
* platform/gtk/fast/text/hyphenate-limit-lines-expected.png:
* platform/gtk/fast/text/hyphenate-limit-lines-expected.txt:
* platform/gtk/fast/text/hyphenate-locale-expected.png: Added.
* platform/gtk/fast/text/hyphenate-locale-expected.txt:
* platform/gtk/fast/text/hyphens-expected.png: Added.
* platform/gtk/fast/text/hyphens-expected.txt:
* platform/gtk/fast/text/word-break-soft-hyphen-expected.png:

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

5 years agoFailure when building WebKit for appletvsimulator.
jacob_nielsen@apple.com [Wed, 29 Apr 2015 22:41:18 +0000 (22:41 +0000)]
Failure when building WebKit for appletvsimulator.
https://bugs.webkit.org/show_bug.cgi?id=144356

Reviewed by Alexey Proskuryakov.

Changes Makefile logic to check for "not OS X" rather than "is iOS" to
make TVOS and WatchOS behave correctly.

.:

* Source/Makefile:

Tools:

* Makefile:
* WebKitTestRunner/Makefile:

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

5 years agoUnreviewed build fix.
mmaxfield@apple.com [Wed, 29 Apr 2015 22:32:46 +0000 (22:32 +0000)]
Unreviewed build fix.

* platform/graphics/mac/FontCacheMac.mm:
(WebCore::fontWithFamily):

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

5 years agoFix non-cygwin incremental builds on Windows.
achristensen@apple.com [Wed, 29 Apr 2015 22:12:31 +0000 (22:12 +0000)]
Fix non-cygwin incremental builds on Windows.
https://bugs.webkit.org/show_bug.cgi?id=143264

Reviewed by Brent Fulgham.

* generate-js-builtins:
Remove stale headers before calling os.rename to replace them.

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

5 years agoWeb Inspector: Split Storage from Resources tab
timothy@apple.com [Wed, 29 Apr 2015 22:00:06 +0000 (22:00 +0000)]
Web Inspector: Split Storage from Resources tab
https://bugs.webkit.org/show_bug.cgi?id=144404

Reviewed by Joseph Pecoraro.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Base/Main.js:
(WebInspector.loaded):
(WebInspector.isTabTypeAllowed):
(WebInspector._tabContentViewForType):
(WebInspector._updateNewTabButtonState):
(WebInspector.showStorageTab):
(WebInspector._storageWasInspected):
* UserInterface/Controllers/ApplicationCacheManager.js:
(WebInspector.ApplicationCacheManager.prototype.initialize):
(WebInspector.ApplicationCacheManager.prototype.get applicationCacheObjects):
* UserInterface/Controllers/StorageManager.js:
(WebInspector.StorageManager.prototype.get domStorageObjects):
(WebInspector.StorageManager.prototype.get databases):
(WebInspector.StorageManager.prototype.get indexedDatabases):
(WebInspector.StorageManager.prototype.get cookieStorageObjects):
* UserInterface/Images/Storage.svg: Added.
* UserInterface/Main.html:
* UserInterface/Views/DatabaseTableContentView.js:
(WebInspector.DatabaseTableContentView.prototype._queryFinished): Clear _dataGrid,
since it might have been allocated but still be empty. This avoids an exception in
updateLayout next time layout is updated.
* UserInterface/Views/NewTabContentView.js:
(WebInspector.NewTabContentView):
* UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel):
(WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
(WebInspector.ResourceSidebarPanel.prototype._domStorageObjectWasAdded): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._domStorageObjectWasInspected): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._databaseWasAdded): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._databaseWasInspected): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._indexedDatabaseWasAdded): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._cookieStorageObjectWasAdded): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._frameManifestAdded): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._frameManifestRemoved): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._addStorageChild): Deleted.
(WebInspector.ResourceSidebarPanel.prototype._storageCleared): Deleted.
* UserInterface/Views/ResourcesTabContentView.js:
(WebInspector.ResourcesTabContentView):
(WebInspector.ResourcesTabContentView.prototype.canShowRepresentedObject):
* UserInterface/Views/StorageSidebarPanel.js: Added.
(WebInspector.StorageSidebarPanel):
(WebInspector.StorageSidebarPanel.prototype.showDefaultContentView):
(WebInspector.StorageSidebarPanel.prototype.closed):
(WebInspector.StorageSidebarPanel.prototype._treeElementSelected):
(WebInspector.StorageSidebarPanel.prototype._domStorageObjectWasAdded):
(WebInspector.StorageSidebarPanel.prototype._addDOMStorageObject):
(WebInspector.StorageSidebarPanel.prototype._domStorageObjectWasInspected):
(WebInspector.StorageSidebarPanel.prototype._databaseWasAdded):
(WebInspector.StorageSidebarPanel.prototype._addDatabase):
(WebInspector.StorageSidebarPanel.prototype._databaseWasInspected):
(WebInspector.StorageSidebarPanel.prototype._indexedDatabaseWasAdded):
(WebInspector.StorageSidebarPanel.prototype._addIndexedDatabase):
(WebInspector.StorageSidebarPanel.prototype._cookieStorageObjectWasAdded):
(WebInspector.StorageSidebarPanel.prototype._addCookieStorageObject):
(WebInspector.StorageSidebarPanel.prototype._frameManifestAdded):
(WebInspector.StorageSidebarPanel.prototype._addFrameManifest):
(WebInspector.StorageSidebarPanel.prototype._frameManifestRemoved):
(WebInspector.StorageSidebarPanel.prototype._compareTreeElements):
(WebInspector.StorageSidebarPanel.prototype._addStorageChild):
(WebInspector.StorageSidebarPanel.prototype._storageCleared):
* UserInterface/Views/StorageTabContentView.js: Copied from Source/WebInspectorUI/UserInterface/Views/ResourcesTabContentView.js.
(WebInspector.StorageTabContentView):
(WebInspector.StorageTabContentView.prototype.get type):
(WebInspector.StorageTabContentView.prototype.canShowRepresentedObject):

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

5 years agoWeb Inspector: Remove Legacy images and styles
timothy@apple.com [Wed, 29 Apr 2015 21:59:48 +0000 (21:59 +0000)]
Web Inspector: Remove Legacy images and styles
https://bugs.webkit.org/show_bug.cgi?id=144390

Reviewed by Joseph Pecoraro.

* UserInterface/Base/ImageUtilities.js:
(.generateImage):
(.generateImage.generateLegacyImage): Deleted.
* UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector._updateToolbarHeight):
* UserInterface/Base/Platform.js:
* UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.prototype._loadNewRecording):
* UserInterface/Images/Legacy/BackArrow.svg: Removed.
* UserInterface/Images/Legacy/Breakpoints.svg: Removed.
* UserInterface/Images/Legacy/Close.svg: Removed.
* UserInterface/Images/Legacy/CloseLarge.svg: Removed.
* UserInterface/Images/Legacy/Colors.png: Removed.
* UserInterface/Images/Legacy/Colors@2x.png: Removed.
* UserInterface/Images/Legacy/ColorsLarge.png: Removed.
* UserInterface/Images/Legacy/ColorsLarge@2x.png: Removed.
* UserInterface/Images/Legacy/DockBottom.svg: Removed.
* UserInterface/Images/Legacy/DockRight.svg: Removed.
* UserInterface/Images/Legacy/DownloadArrow.svg: Removed.
* UserInterface/Images/Legacy/Errors.svg: Removed.
* UserInterface/Images/Legacy/ErrorsEnabled.svg: Removed.
* UserInterface/Images/Legacy/FilterFieldGlyph.svg: Removed.
* UserInterface/Images/Legacy/FolderGeneric.png: Removed.
* UserInterface/Images/Legacy/FolderGeneric@2x.png: Removed.
* UserInterface/Images/Legacy/ForwardArrow.svg: Removed.
* UserInterface/Images/Legacy/Issues.svg: Removed.
* UserInterface/Images/Legacy/IssuesEnabled.svg: Removed.
* UserInterface/Images/Legacy/LayerBorders.svg: Removed.
* UserInterface/Images/Legacy/Logs.svg: Removed.
* UserInterface/Images/Legacy/NavigationItemCurleyBraces.svg: Removed.
* UserInterface/Images/Legacy/NavigationItemTrash.svg: Removed.
* UserInterface/Images/Legacy/Network.png: Removed.
* UserInterface/Images/Legacy/Network@2x.png: Removed.
* UserInterface/Images/Legacy/NetworkLarge.png: Removed.
* UserInterface/Images/Legacy/NetworkLarge@2x.png: Removed.
* UserInterface/Images/Legacy/Pause.svg: Removed.
* UserInterface/Images/Legacy/Plus.svg: Removed.
* UserInterface/Images/Legacy/Recording.png: Removed.
* UserInterface/Images/Legacy/Recording@2x.png: Removed.
* UserInterface/Images/Legacy/RecordingHovered.png: Removed.
* UserInterface/Images/Legacy/RecordingHovered@2x.png: Removed.
* UserInterface/Images/Legacy/RecordingStopped.png: Removed.
* UserInterface/Images/Legacy/RecordingStopped@2x.png: Removed.
* UserInterface/Images/Legacy/Reload.svg: Removed.
* UserInterface/Images/Legacy/Resources.svg: Removed.
* UserInterface/Images/Legacy/Resume.svg: Removed.
* UserInterface/Images/Legacy/ShadowDOM.svg: Removed.
* UserInterface/Images/Legacy/SortIndicatorDownArrow.svg: Removed.
* UserInterface/Images/Legacy/SortIndicatorUpArrow.svg: Removed.
* UserInterface/Images/Legacy/SplitToggleDown.svg: Removed.
* UserInterface/Images/Legacy/SplitToggleUp.svg: Removed.
* UserInterface/Images/Legacy/StepInto.svg: Removed.
* UserInterface/Images/Legacy/StepOut.svg: Removed.
* UserInterface/Images/Legacy/StepOver.svg: Removed.
* UserInterface/Images/Legacy/Time.svg: Removed.
* UserInterface/Images/Legacy/Undock.svg: Removed.
* UserInterface/Images/Legacy/UpDownArrows.svg: Removed.
* UserInterface/Images/Legacy/Weight.svg: Removed.
* UserInterface/Views/ButtonNavigationItem.css:
(body.mac-platform.legacy .navigation-bar .item.button.text-only): Deleted.
* UserInterface/Views/ButtonToolbarItem.css:
(body.mac-platform.legacy .toolbar .item.button > .label): Deleted.
* UserInterface/Views/CSSStyleDeclarationSection.css:
(body.mac-platform.legacy .style-declaration-section): Deleted.
(body.mac-platform.legacy .style-declaration-section + .style-declaration-section): Deleted.
(body.mac-platform.legacy .style-declaration-section.last-in-group): Deleted.
(body.mac-platform.legacy .style-declaration-section.last-in-group + .style-declaration-section): Deleted.
(body.mac-platform.legacy .style-declaration-section.last-in-group + .style-declaration-section:matches(.last-in-group, :last-child)): Deleted.
* UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
(body.mac-platform.legacy .sidebar > .panel.details.css-style > .content): Deleted.
* UserInterface/Views/ContentBrowser.js:
(WebInspector.ContentBrowser):
* UserInterface/Views/ControlToolbarItem.css:
(body.mac-platform.legacy .toolbar .item.control): Deleted.
(body.mac-platform.legacy .toolbar .item.control:hover): Deleted.
* UserInterface/Views/DOMTreeContentView.js:
(WebInspector.DOMTreeContentView):
* UserInterface/Views/DOMTreeOutline.css:
(body.mac-platform.legacy .dom-tree-outline li.hovered:not(.selected) .selection): Deleted.
(body.mac-platform.legacy .dom-tree-outline li.elements-drag-over .selection): Deleted.
(body.mac-platform.legacy .dom-tree-outline:focus li.selected .selection): Deleted.
* UserInterface/Views/DashboardContainerView.css:
(body.mac-platform.legacy .toolbar .dashboard-container): Deleted.
(body.mac-platform.legacy.window-inactive .toolbar .dashboard-container): Deleted.
(body.mac-platform.legacy.window-inactive .toolbar .dashboard): Deleted.
(body.mac-platform.legacy .dashboard-container .advance-arrow): Deleted.
* UserInterface/Views/DataGrid.css:
(body.mac-platform.legacy .data-grid:focus tr.selected td:not(:last-child)): Deleted.
(body.mac-platform.legacy .data-grid:focus tr.selected): Deleted.
* UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid.prototype.get _generateSortIndicatorImagesIfNeeded):
* UserInterface/Views/DatabaseTableContentView.js:
(WebInspector.DatabaseTableContentView):
* UserInterface/Views/DebuggerDashboardView.js:
(WebInspector.DebuggerDashboardView):
* UserInterface/Views/DebuggerSidebarPanel.css:
(body.mac-platform.legacy .sidebar > .panel.navigation.debugger > .content): Deleted.
* UserInterface/Views/DebuggerSidebarPanel.js:
* UserInterface/Views/DefaultDashboardView.css:
(body.mac-platform.legacy .toolbar .dashboard.default > .item): Deleted.
(body.mac-platform.legacy .toolbar .dashboard.default > .resourcesCount > img): Deleted.
(body.mac-platform.legacy .toolbar .dashboard.default > .logs > img): Deleted.
(body.mac-platform.legacy .toolbar .dashboard.default > .errors > img): Deleted.
(body.mac-platform.legacy .toolbar .dashboard.default > .errors.enabled > img): Deleted.
(body.mac-platform.legacy .toolbar .dashboard.default > .issues > img): Deleted.
(body.mac-platform.legacy .toolbar .dashboard.default > .issues.enabled > img): Deleted.
* UserInterface/Views/DetailsSection.css:
(body.mac-platform.legacy .details-section): Deleted.
(body.mac-platform.legacy .details-section .details-section): Deleted.
(body.mac-platform.legacy .details-section .details-section:first-child): Deleted.
(body.mac-platform.legacy .details-section > .header): Deleted.
(body.mac-platform.legacy .details-section .details-section > .header): Deleted.
(body.mac-platform.legacy .details-section .details-section.collapsed > .header): Deleted.
(body.mac-platform.legacy .details-section:not(.collapsed) .data-grid.inline): Deleted.
(body.mac-platform.legacy .details-section.computed-style-properties:not(.collapsed) > .header): Deleted.
(body.mac-platform.legacy .details-section > .content > .group): Deleted.
(body.mac-platform.legacy .details-section > .content > .group:nth-child(even)): Deleted.
(body.mac-platform.legacy .details-section > .content > .group:matches(:nth-child(even), :last-child) > .row.simple:last-child > *): Deleted.
(body.mac-platform.legacy .details-section > .content > .group > .row:matches(.empty, .text)): Deleted.
* UserInterface/Views/DividerNavigationItem.css:
(.navigation-bar .item.divider):
(body.mac-platform.legacy .navigation-bar .item.divider): Deleted.
* UserInterface/Views/FilterBar.css:
(.filter-bar > input[type="search"]::-webkit-search-decoration):
(body.mac-platform.legacy .filter-bar): Deleted.
(body.mac-platform.legacy .filter-bar > input[type="search"]): Deleted.
(body.mac-platform.legacy .filter-bar > input[type="search"]::-webkit-search-decoration): Deleted.
* UserInterface/Views/FindBanner.css:
(body.mac-platform.legacy .find-banner > input[type="search"]): Deleted.
(body.mac-platform.legacy .find-banner > button > .glyph): Deleted.
(body.mac-platform.legacy .find-banner > button.segmented.left > .glyph): Deleted.
(body.mac-platform.legacy .find-banner > button.segmented.right > .glyph): Deleted.
(body.mac-platform.legacy .find-banner > button.segmented): Deleted.
* UserInterface/Views/FindBanner.js:
(WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded):
(WebInspector.FindBanner):
* UserInterface/Views/FolderIcon.css:
(.folder-icon .icon):
(body.mac-platform.legacy .folder-icon .icon): Deleted.
* UserInterface/Views/HierarchicalPathComponent.css:
(body.mac-platform.legacy .hierarchical-path-component > .selector-arrows): Deleted.
* UserInterface/Views/IndexedDatabaseObjectStoreContentView.js:
(WebInspector.IndexedDatabaseObjectStoreContentView):
* UserInterface/Views/LayerTreeDetailsSidebarPanel.css:
(body.mac-platform.legacy .sidebar > .panel.details.layer-tree > .content): Deleted.
(body.mac-platform.legacy .panel.details.layer-tree .bottom-bar): Deleted.
(body.mac-platform.legacy .panel.details.layer-tree .bottom-bar > div): Deleted.
(body.mac-platform.legacy .layer-tree-popover): Deleted.
* UserInterface/Views/LogContentView.css:
(body.mac-platform.legacy .search-bar.log-search-bar > input[type="search"]): Deleted.
* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView):
* UserInterface/Views/Main.css:
(body.mac-platform.legacy:not(.docked)): Deleted.
(body.docked.bottom.mac-platform.legacy): Deleted.
(body.docked.right.mac-platform.legacy): Deleted.
(body.mac-platform.legacy #split-content-browser > .navigation-bar): Deleted.
* UserInterface/Views/NavigationBar.css:
(.navigation-bar .item):
(body.mac-platform.legacy .navigation-bar): Deleted.
(body.mac-platform.legacy .navigation-bar .item): Deleted.
* UserInterface/Views/NavigationSidebarPanel.css:
(body.mac-platform.legacy .sidebar > .panel.navigation > .content): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation > .overflow-shadow): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation > .overflow-shadow.top): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation > .empty-content-placeholder): Deleted.
(body.mac-platform.legacy .navigation-sidebar-panel-content-tree-outline .item.selected): Deleted.
(body.mac-platform.legacy .navigation-sidebar-panel-content-tree-outline:focus .item.selected): Deleted.
(body.mac-platform.legacy.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected): Deleted.
* UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
(WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded):
* UserInterface/Views/Popover.js:
* UserInterface/Views/ProbeDetailsSidebarPanel.css:
(body.mac-platform.legacy .details-section.probe-set .options > .probe-clear-samples): Deleted.
(body.mac-platform.legacy .details-section.probe-set .options > .probe-remove): Deleted.
(body.mac-platform.legacy .details-section.probe-set .options > .probe-add): Deleted.
* UserInterface/Views/QuickConsole.css:
(body.mac-platform.legacy .quick-console): Deleted.
* UserInterface/Views/RadioButtonNavigationItem.css:
(.navigation-bar .item.radio.button.text-only.selected:active):
(body.mac-platform.legacy .navigation-bar .item.radio.button.text-only:hover): Deleted.
(body.mac-platform.legacy .navigation-bar .item.radio.button.text-only.selected): Deleted.
(body.mac-platform.legacy .navigation-bar .item.radio.button.text-only.selected:active): Deleted.
* UserInterface/Views/RulesStyleDetailsPanel.css:
(body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .label + .style-declaration-section): Deleted.
(body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .new-rule): Deleted.
(body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .new-rule + .style-declaration-section): Deleted.
(body.mac-platform.legacy .sidebar > .panel.details.css-style .rules .new-rule img): Deleted.
* UserInterface/Views/ScopeBar.css:
(.scope-bar > li.selected:active):
(body.mac-platform.legacy .scope-bar > li): Deleted.
(body.mac-platform.legacy .scope-bar > li:hover): Deleted.
(body.mac-platform.legacy .scope-bar > li.selected): Deleted.
(body.mac-platform.legacy .scope-bar > li:active): Deleted.
(body.mac-platform.legacy .scope-bar > li.selected:active): Deleted.
* UserInterface/Views/ScriptContentView.js:
(WebInspector.ScriptContentView):
* UserInterface/Views/SearchBar.css:
(body.mac-platform.legacy .search-bar > input[type="search"]): Deleted.
* UserInterface/Views/SearchSidebarPanel.css:
(.sidebar > .panel.navigation.search > .search-bar > input[type="search"]):
(body.mac-platform.legacy .sidebar > .panel.navigation.search > :matches(.content, .empty-content-placeholder)): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.search > .search-bar): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.search > .search-bar > input[type="search"]): Deleted.
* UserInterface/Views/Sidebar.css:
(body.window-inactive .sidebar.right):
(body.mac-platform.legacy .sidebar): Deleted.
(body.mac-platform.legacy.window-inactive .sidebar): Deleted.
(body.mac-platform.legacy .sidebar.right): Deleted.
* UserInterface/Views/TextContentView.js:
(WebInspector.TextContentView):
* UserInterface/Views/TextResourceContentView.js:
(WebInspector.TextResourceContentView):
* UserInterface/Views/TimelineDataGrid.css:
(body.mac-platform.legacy .data-grid.timeline > .navigation-bar-container > .navigation-bar): Deleted.
* UserInterface/Views/TimelineIcons.css:
(body.mac-platform.legacy .network-icon .icon): Deleted.
(body.mac-platform.legacy .network-icon.large .icon): Deleted.
(body.mac-platform.legacy .colors-icon .icon): Deleted.
(body.mac-platform.legacy .colors-icon.large .icon): Deleted.
* UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView):
* UserInterface/Views/TimelineRuler.css:
(body.mac-platform.legacy .timeline-ruler > .header): Deleted.
(body.mac-platform.legacy .timeline-ruler > .selection-drag): Deleted.
(body.mac-platform.legacy .timeline-ruler > .selection-handle): Deleted.
* UserInterface/Views/TimelineSidebarPanel.css:
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing > .content):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording:hover): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.forced): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording.forced): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .status-bar > .record-status): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar.timelines): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .title-bar.timeline-events): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content .close-button): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > :matches(.content, .empty-content-placeholder)): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .content .item > .status > .status-button): Deleted.
* UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel):
* UserInterface/Views/Toolbar.css:
(body.mac-platform:not(.docked) .toolbar):
(body.mac-platform:not(.legacy, .docked) .toolbar): Deleted.
(body.mac-platform.legacy .toolbar): Deleted.
(body.mac-platform.legacy.docked .toolbar): Deleted.
(body.mac-platform.legacy:not(.docked) .toolbar .item.button > .label): Deleted.
(body.mac-platform.legacy.window-inactive .toolbar): Deleted.
* UserInterface/Views/TreeElementStatusButton.css:
(body.mac-platform.legacy .item > .status > .status-button > svg .filled): Deleted.
(body.mac-platform.legacy .item > .status > .status-button > svg .stroked): Deleted.

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

5 years agoSome media tests assert after r183096
eric.carlson@apple.com [Wed, 29 Apr 2015 21:44:12 +0000 (21:44 +0000)]
Some media tests assert after r183096
https://bugs.webkit.org/show_bug.cgi?id=144098

Reviewed by Brent Fulgham.

Never assert when a MediaPlaybackTargetClient client calls one of the methods on Document
after it has been unregistered. A media element unregisters itself when it is removed from the
document, but scripts can still run and modify state that results in a call to
playbackTargetPickerClientStateDidChange. Remove the asserts instead of adding checks to
the various call sites.

* dom/Document.cpp:
(WebCore::Document::showPlaybackTargetPicker): Don't assert if the client has already
been unregistered.
(WebCore::Document::playbackTargetPickerClientStateDidChange): Ditto.

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

5 years ago[GTK] Web Inspector: Optimize SVG images
agomez@igalia.com [Wed, 29 Apr 2015 21:43:19 +0000 (21:43 +0000)]
[GTK] Web Inspector: Optimize SVG images
https://bugs.webkit.org/show_bug.cgi?id=143476

SVG images optimized with a combination of sed replacements and
the usage of the scour tool (http://www.codedread.com/scour/).

Also, modified the spelling of the license word to use the US one
in the copyright files.

Reviewed by Martin Robinson.

* UserInterface/Images/gtk/BackArrow.svg:
* UserInterface/Images/gtk/BottomUpTree.svg:
* UserInterface/Images/gtk/BreakpointActionAdd.svg:
* UserInterface/Images/gtk/BreakpointActionRemove.svg:
* UserInterface/Images/gtk/BreakpointButton.svg:
* UserInterface/Images/gtk/BreakpointInactiveButton.svg:
* UserInterface/Images/gtk/Breakpoints.svg:
* UserInterface/Images/gtk/COPYING:
* UserInterface/Images/gtk/COPYING_CCBYSA3:
* UserInterface/Images/gtk/Checkers.svg:
* UserInterface/Images/gtk/Circle.svg:
* UserInterface/Images/gtk/Close.svg:
* UserInterface/Images/gtk/CloseLarge.svg:
* UserInterface/Images/gtk/CloseWhite.svg:
* UserInterface/Images/gtk/ContentFlow.svg:
* UserInterface/Images/gtk/Crosshair.svg:
* UserInterface/Images/gtk/DOMCharacterData.svg:
* UserInterface/Images/gtk/DOMComment.svg:
* UserInterface/Images/gtk/DOMDocument.svg:
* UserInterface/Images/gtk/DOMDocumentType.svg:
* UserInterface/Images/gtk/DOMElement.svg:
* UserInterface/Images/gtk/DOMNode.svg:
* UserInterface/Images/gtk/DOMTextNode.svg:
* UserInterface/Images/gtk/DOMTree.svg:
* UserInterface/Images/gtk/DisclosureTriangleSmallClosed.svg:
* UserInterface/Images/gtk/DisclosureTriangleSmallOpen.svg:
* UserInterface/Images/gtk/DisclosureTriangleTinyClosed.svg:
* UserInterface/Images/gtk/DisclosureTriangleTinyOpen.svg:
* UserInterface/Images/gtk/DockBottom.svg:
* UserInterface/Images/gtk/DockRight.svg:
* UserInterface/Images/gtk/DownloadArrow.svg:
* UserInterface/Images/gtk/Error.svg:
* UserInterface/Images/gtk/Errors.svg:
* UserInterface/Images/gtk/ErrorsEnabled.svg:
* UserInterface/Images/gtk/EventListener.svg:
* UserInterface/Images/gtk/Exception.svg:
* UserInterface/Images/gtk/Eye.svg:
* UserInterface/Images/gtk/FilterFieldGlyph.svg:
* UserInterface/Images/gtk/ForwardArrow.svg:
* UserInterface/Images/gtk/Function.svg:
* UserInterface/Images/gtk/GoToArrow.svg:
* UserInterface/Images/gtk/HierarchicalNavigationItemChevron.svg:
* UserInterface/Images/gtk/IndeterminateProgressSpinner1.svg:
* UserInterface/Images/gtk/IndeterminateProgressSpinner10.svg:
* UserInterface/Images/gtk/IndeterminateProgressSpinner11.svg:
* UserInterface/Images/gtk/IndeterminateProgressSpinner12.svg:
* UserInterface/Images/gtk/IndeterminateProgressSpinner2.svg:
* UserInterface/Images/gtk/IndeterminateProgressSpinner3.svg:
* UserInterface/Images/gtk/IndeterminateProgressSpinner4.svg:
* UserInterface/Images/gtk/IndeterminateProgressSpinner5.svg:
* UserInterface/Images/gtk/IndeterminateProgressSpinner6.svg:
* UserInterface/Images/gtk/IndeterminateProgressSpinner7.svg:
* UserInterface/Images/gtk/IndeterminateProgressSpinner8.svg:
* UserInterface/Images/gtk/IndeterminateProgressSpinner9.svg:
* UserInterface/Images/gtk/Issues.svg:
* UserInterface/Images/gtk/IssuesEnabled.svg:
* UserInterface/Images/gtk/LayerBorders.svg:
* UserInterface/Images/gtk/Locked.svg:
* UserInterface/Images/gtk/Logs.svg:
* UserInterface/Images/gtk/Native.svg:
* UserInterface/Images/gtk/NavigationItemAngleBrackets.svg:
* UserInterface/Images/gtk/NavigationItemBrushAndRuler.svg:
* UserInterface/Images/gtk/NavigationItemBug.svg:
* UserInterface/Images/gtk/NavigationItemCurleyBraces.svg:
* UserInterface/Images/gtk/NavigationItemFile.svg:
* UserInterface/Images/gtk/NavigationItemLayers.svg:
* UserInterface/Images/gtk/NavigationItemLog.svg:
* UserInterface/Images/gtk/NavigationItemProbes.svg:
* UserInterface/Images/gtk/NavigationItemStopwatch.svg:
* UserInterface/Images/gtk/NavigationItemStorage.svg:
* UserInterface/Images/gtk/NavigationItemTrash.svg:
* UserInterface/Images/gtk/NavigationItemTypes.svg:
* UserInterface/Images/gtk/NavigationItemVariable.svg:
* UserInterface/Images/gtk/PaintFlashing.svg:
* UserInterface/Images/gtk/Pause.svg:
* UserInterface/Images/gtk/PausedBreakpoint.svg:
* UserInterface/Images/gtk/Percent.svg:
* UserInterface/Images/gtk/Plus.svg:
* UserInterface/Images/gtk/PseudoElement.svg:
* UserInterface/Images/gtk/Record.svg:
* UserInterface/Images/gtk/Reflection.svg:
* UserInterface/Images/gtk/Reload.svg:
* UserInterface/Images/gtk/ReloadFull.svg:
* UserInterface/Images/gtk/ReplayPauseButton.svg:
* UserInterface/Images/gtk/ReplayPlayButton.svg:
* UserInterface/Images/gtk/ReplayRecordingButton.svg:
* UserInterface/Images/gtk/Request.svg:
* UserInterface/Images/gtk/Resources.svg:
* UserInterface/Images/gtk/Response.svg:
* UserInterface/Images/gtk/ResultLine.svg:
* UserInterface/Images/gtk/Resume.svg:
* UserInterface/Images/gtk/ShadowDOM.svg:
* UserInterface/Images/gtk/SortIndicatorDownArrow.svg:
* UserInterface/Images/gtk/SortIndicatorUpArrow.svg:
* UserInterface/Images/gtk/SourceCode.svg:
* UserInterface/Images/gtk/SplitToggleDown.svg:
* UserInterface/Images/gtk/SplitToggleUp.svg:
* UserInterface/Images/gtk/StepInto.svg:
* UserInterface/Images/gtk/StepOut.svg:
* UserInterface/Images/gtk/StepOver.svg:
* UserInterface/Images/gtk/Stop.svg:
* UserInterface/Images/gtk/StyleRuleAuthor.svg:
* UserInterface/Images/gtk/StyleRuleInherited.svg:
* UserInterface/Images/gtk/StyleRuleInheritedElement.svg:
* UserInterface/Images/gtk/StyleRuleInspector.svg:
* UserInterface/Images/gtk/StyleRuleUser.svg:
* UserInterface/Images/gtk/StyleRuleUserAgent.svg:
* UserInterface/Images/gtk/Time.svg:
* UserInterface/Images/gtk/TimelineRecordAnimation.svg:
* UserInterface/Images/gtk/TimelineRecordConsoleProfile.svg:
* UserInterface/Images/gtk/TimelineRecordEvent.svg:
* UserInterface/Images/gtk/TimelineRecordLayout.svg:
* UserInterface/Images/gtk/TimelineRecordPaint.svg:
* UserInterface/Images/gtk/TimelineRecordProbeSampled.svg:
* UserInterface/Images/gtk/TimelineRecordScriptEvaluated.svg:
* UserInterface/Images/gtk/TimelineRecordStyle.svg:
* UserInterface/Images/gtk/TimelineRecordTimer.svg:
* UserInterface/Images/gtk/TypeBoolean.svg:
* UserInterface/Images/gtk/TypeNull.svg:
* UserInterface/Images/gtk/TypeNumber.svg:
* UserInterface/Images/gtk/TypeObject.svg:
* UserInterface/Images/gtk/TypeRegex.svg:
* UserInterface/Images/gtk/TypeString.svg:
* UserInterface/Images/gtk/TypeSymbol.svg:
* UserInterface/Images/gtk/TypeUndefined.svg:
* UserInterface/Images/gtk/Undock.svg:
* UserInterface/Images/gtk/UpDownArrows.svg:
* UserInterface/Images/gtk/UserInputPrompt.svg:
* UserInterface/Images/gtk/UserInputPromptPrevious.svg:
* UserInterface/Images/gtk/UserInputResult.svg:
* UserInterface/Images/gtk/Warning.svg:
* UserInterface/Images/gtk/Weight.svg:

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

5 years agoSimple line layout: Web process spins endlessly below layoutSimpleLines.
zalan@apple.com [Wed, 29 Apr 2015 21:32:07 +0000 (21:32 +0000)]
Simple line layout: Web process spins endlessly below layoutSimpleLines.
https://bugs.webkit.org/show_bug.cgi?id=144403
rdar://problem/20742783

Reviewed by Antti Koivisto.

When a text fragment overlaps multiple renderes and it does not fit the current line,
we revert the text fragment iterator position so that the overlapping content
gets processed again for the next line.
However, TextFragmentIterator::revertToFragment() was reverting too much and
we started processing old content all over again -> infinite loop.

This patch ensures that text fragment iterator is reverted to the right position.

Source/WebCore:

Test: fast/text/simple-line-layout-wrapping-multiple-renderers-hang.html

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::createLineRuns):
* rendering/SimpleLineLayoutTextFragmentIterator.cpp:
(WebCore::SimpleLineLayout::TextFragmentIterator::revertToEndOfFragment):
(WebCore::SimpleLineLayout::TextFragmentIterator::revertToFragment): Deleted.
* rendering/SimpleLineLayoutTextFragmentIterator.h:

LayoutTests:

* fast/text/simple-line-layout-wrapping-multiple-renderers-hang-expected.html: Added.
* fast/text/simple-line-layout-wrapping-multiple-renderers-hang.html: Added.

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

5 years agoSource/JavaScriptCore:
fpizlo@apple.com [Wed, 29 Apr 2015 21:27:48 +0000 (21:27 +0000)]
Source/JavaScriptCore:
JSTypeInfo should have an inline type flag to indicate of getCallData() has been overridden
https://bugs.webkit.org/show_bug.cgi?id=144397

Reviewed by Andreas Kling.

Add the flag to JSTypeInfo. It's an inline flag so that it's fast to query. Slap the flag on
callback objects and internal functions. Modify the TypeOf operation to use this flag to avoid
making a getCallData() call if it isn't necessary.

* API/JSCallbackObject.h:
* runtime/InternalFunction.h:
* runtime/JSTypeInfo.h:
(JSC::TypeInfo::typeOfShouldCallGetCallData):
* runtime/Operations.cpp:
(JSC::jsTypeStringForValue):
* tests/stress/type-of-functions-and-objects.js: Added.
(foo):
(bar):
(baz):
(fuzz):
(expect):
(test):

Source/WebCore:
JSTypeInfo should have an inline type flag to indicate of getCallData() has been overridden
https://bugs.webkit.org/show_bug.cgi?id=144397

Reviewed by Andreas Kling.

If you override getCallData() and you want to be called a "function", then you need to use the
new TypeOfShouldCallGetCallData flag.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
* bridge/objc/objc_runtime.h:
* bridge/runtime_method.h:
* bridge/runtime_object.h:

Source/WebKit2:
JSTypeInfo should have an inline type flag to indicate if getCallData() has been overridden
https://bugs.webkit.org/show_bug.cgi?id=144397

Reviewed by Andreas Kling.

If you override getCallData() and you want to be called a "function", then you need to use the
new TypeOfShouldCallGetCallData flag.

* WebProcess/Plugins/Netscape/JSNPObject.h:

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

5 years agoMark newly added http/tests/cache/main-resource-304-reload.html failing on Windows.
antti@apple.com [Wed, 29 Apr 2015 20:27:53 +0000 (20:27 +0000)]
Mark newly added http/tests/cache/main-resource-304-reload.html failing on Windows.

* platform/win/TestExpectations:

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