WebKit-https.git
4 years agoWeb Inspector: [iOS] Allow inspector to retrieve a list of system fonts
drousso@apple.com [Mon, 10 Aug 2015 20:51:32 +0000 (20:51 +0000)]
Web Inspector: [iOS] Allow inspector to retrieve a list of system fonts
https://bugs.webkit.org/show_bug.cgi?id=147033

Reviewed by Joseph Pecoraro.

Implement systemFontFamilies for iOS.

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

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

4 years agoWeb Inspector: Add VisualStyleSelectorSection
drousso@apple.com [Mon, 10 Aug 2015 20:49:47 +0000 (20:49 +0000)]
Web Inspector: Add VisualStyleSelectorSection
https://bugs.webkit.org/show_bug.cgi?id=147572

Reviewed by Brian Burg.

Adds a section to the new Visual style sidebar panel that contains the list of
styles for the currently selected node.

* UserInterface/Models/CSSRule.js:
(WebInspector.CSSRule.prototype.get mediaText):
Returns a string containing the list of media queries.

* UserInterface/Models/CSSStyleDeclaration.js:
(WebInspector.CSSStyleDeclaration):
(WebInspector.CSSStyleDeclaration.prototype.set text):
(WebInspector.CSSStyleDeclaration.prototype.get modified):
(WebInspector.CSSStyleDeclaration.prototype.resetText):
(WebInspector.CSSStyleDeclaration.prototype.generateCSSRuleString):
Generates a formatted string of the style text.

* UserInterface/Views/CSSStyleDeclarationSection.js:
(WebInspector.CSSStyleDeclarationSection.prototype._handleContextMenuEvent):
(WebInspector.CSSStyleDeclarationSection.prototype._generateCSSRuleString): Deleted.

* UserInterface/Views/VisualStyleSelectorSection.css: Added.
(.details-section.visual-style-selector-section > .header):
(.details-section.visual-style-selector-section:not(.collapsed) > .header):
(@media (-webkit-min-device-pixel-ratio: 2)):
(.details-section.visual-style-selector-section > .header > .current-selector):
(.visual-style-selector-section.details-section:not(.collapsed) > .header > .current-selector):
(.details-section.visual-style-selector-section > .header > .current-selector > .icon):
(.details-section.visual-style-selector-section > .header > .current-selector > span):
(.details-section.visual-style-selector-section > .header > .controls):
(.details-section.visual-style-selector-section.collapsed > .header > .controls):
(.details-section.visual-style-selector-section > .header > .controls > .visual-style-selector-section-add-rule):
(.details-section.visual-style-selector-section > .content > .selectors):
(.details-section.visual-style-selector-section > .content > .selectors > .selector-list):
(.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .visual-style-selector-item:nth-child(odd)):
(.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider):
(.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > .icon):
(.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > :matches(.disclosure-button, .icon)):
(.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > .titles > .title):
(.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider ~ .visual-style-selector-item:nth-child(even)):
(.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider ~ .visual-style-selector-item:nth-child(odd)):

* UserInterface/Views/VisualStyleSelectorSection.js: Added.
(WebInspector.VisualStyleSelectorSection):
(WebInspector.VisualStyleSelectorSection.prototype.update.createSelectorItem):
(WebInspector.VisualStyleSelectorSection.prototype.update.uniqueOrderedRules):
(WebInspector.VisualStyleSelectorSection.prototype.update.insertAllMatchingPseudoRules):
(WebInspector.VisualStyleSelectorSection.prototype.update):
(WebInspector.VisualStyleSelectorSection.prototype.currentStyle):
(WebInspector.VisualStyleSelectorSection.prototype._selectorChanged):
(WebInspector.VisualStyleSelectorSection.prototype._styleTextReset):
(WebInspector.VisualStyleSelectorSection.prototype._addNewRule):
(WebInspector.VisualStyleSelectorSection.prototype._treeElementCheckboxToggled):
(WebInspector.VisualStyleSelectorSection.prototype._handleMouseOver):
(WebInspector.VisualStyleSelectorSection.prototype._handleMouseOut):

* UserInterface/Views/VisualStyleSelectorTreeItem.css:
(.item.visual-style-selector-item):
(.item.visual-style-selector-item.selected):
(.item.visual-style-selector-item > .disclosure-button):
(.item.visual-style-selector-item > input[type="checkbox"]):
(.item.visual-style-selector-item > .icon):
(.item.visual-style-selector-item.modified > .icon):
(.item.visual-style-selector-item.selector-invalid > .icon):
(.item.visual-style-selector-item.selector-invalid > .titles > .title):
(.item.visual-style-selector-item.selector-invalid > .titles > .title::before):
(.item.visual-style-selector-item > .titles):
(.item.visual-style-selector-item:not(.dom-element-icon) > .titles > .title):
(.item.visual-style-selector-item:not(.dom-element-icon).editable > .titles > .title):
(.item.visual-style-selector-item:not(.dom-element-icon).editable > .titles > .title:focus):
(.item.visual-style-selector-item > .titles > .subtitle::before):
(.item.visual-style-selector-item > .titles > .subtitle):

* UserInterface/Views/VisualStyleSelectorTreeItem.js:
(WebInspector.VisualStyleSelectorTreeItem):
(WebInspector.VisualStyleSelectorTreeItem.prototype.get iconClassName):
(WebInspector.VisualStyleSelectorTreeItem.prototype.get selectorText):
(WebInspector.VisualStyleSelectorTreeItem.prototype.onattach):
(WebInspector.VisualStyleSelectorTreeItem.prototype.ondeselect):
(WebInspector.VisualStyleSelectorTreeItem.prototype._highlightNodesWithSelector):
(WebInspector.VisualStyleSelectorTreeItem.prototype._hideDOMNodeHighlight):
(WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent):
(WebInspector.VisualStyleSelectorTreeItem.prototype._handleCheckboxChanged):
(WebInspector.VisualStyleSelectorTreeItem.prototype._updateCheckboxTitle):
(WebInspector.VisualStyleSelectorTreeItem.prototype._handleMainTitleMouseDown):
(WebInspector.VisualStyleSelectorTreeItem.prototype._handleMainTitleKeyDown):
(WebInspector.VisualStyleSelectorTreeItem.prototype._commitSelector):
(WebInspector.VisualStyleSelectorTreeItem.prototype._styleTextModified):
(WebInspector.VisualStyleSelectorTreeItem.prototype._selectorChanged):

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

4 years agoUnreviewed, rolling out r187131 and r187286.
commit-queue@webkit.org [Mon, 10 Aug 2015 20:36:10 +0000 (20:36 +0000)]
Unreviewed, rolling out r187131 and r187286.
https://bugs.webkit.org/show_bug.cgi?id=147839

 Causing mroe frequent crashes with invalid layer bounds
(rdar://problem/21465328) (Requested by smfr on #webkit).

Reverted changesets:

"[iOS] Menu drop down such as on nike.com does not stay"
https://bugs.webkit.org/show_bug.cgi?id=147047
http://trac.webkit.org/changeset/187131

"[iOS] REGRESSION (187131): Loading CuteOverload zooms in to
the top left corner."
https://bugs.webkit.org/show_bug.cgi?id=147251
http://trac.webkit.org/changeset/187286

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

4 years agoWeb Inspector: Invalid selectors can be applied to the stylesheet
drousso@apple.com [Mon, 10 Aug 2015 20:33:38 +0000 (20:33 +0000)]
Web Inspector: Invalid selectors can be applied to the stylesheet
https://bugs.webkit.org/show_bug.cgi?id=147230

Reviewed by Timothy Hatcher.

* inspector/InspectorStyleSheet.cpp:
(WebCore::isValidSelectorListString):
(WebCore::InspectorStyleSheet::setRuleSelector):
Now checks to see that the supplied selector is valid before trying to commit it to the rule.
(WebCore::InspectorStyleSheet::addRule):
(WebCore::checkStyleRuleSelector): Deleted.

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

4 years agoWeb Inspector: TDZ in ProbeSetDataGrid construction
commit-queue@webkit.org [Mon, 10 Aug 2015 20:33:26 +0000 (20:33 +0000)]
Web Inspector: TDZ in ProbeSetDataGrid construction
https://bugs.webkit.org/show_bug.cgi?id=147834

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

* UserInterface/Views/ProbeSetDataGrid.js:
(WebInspector.ProbeSetDataGrid):
Do not use "this" before calling super.

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

4 years agoLet's rename FunctionBodyNode
ggaren@apple.com [Mon, 10 Aug 2015 20:24:35 +0000 (20:24 +0000)]
Let's rename FunctionBodyNode
https://bugs.webkit.org/show_bug.cgi?id=147292

Reviewed by Mark Lam & Saam Barati.

FunctionBodyNode => FunctionMetadataNode

Make FunctionMetadataNode inherit from Node instead of StatementNode
because a FunctionMetadataNode can appear in expression context and does
not have a next statement.

(I decided to continue allocating FunctionMetadataNode in the AST arena,
and to retain "Node" in its name, because it really is a parsing
construct, and we transform its data before consuming it elsewhere.

There is still room for a future patch to distill and simplify the
metadata we track about functions between FunDeclNode/FuncExprNode,
FunctionMetadataNode, and UnlinkedFunctionExecutable. But this is a start.)

* builtins/BuiltinExecutables.cpp:
(JSC::BuiltinExecutables::createExecutableInternal):
* bytecode/UnlinkedCodeBlock.cpp:
(JSC::generateFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
* bytecode/UnlinkedCodeBlock.h:
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitNewArray):
(JSC::BytecodeGenerator::emitNewFunction):
(JSC::BytecodeGenerator::emitNewFunctionExpression):
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::makeFunction):
* bytecompiler/NodesCodegen.cpp:
(JSC::EvalNode::emitBytecode):
(JSC::FunctionNode::emitBytecode):
(JSC::FunctionBodyNode::emitBytecode): Deleted.
* parser/ASTBuilder.h:
(JSC::ASTBuilder::createFunctionExpr):
(JSC::ASTBuilder::createFunctionBody):
* parser/NodeConstructors.h:
(JSC::FunctionParameters::FunctionParameters):
(JSC::FuncExprNode::FuncExprNode):
(JSC::FuncDeclNode::FuncDeclNode):
* parser/Nodes.cpp:
(JSC::EvalNode::EvalNode):
(JSC::FunctionMetadataNode::FunctionMetadataNode):
(JSC::FunctionMetadataNode::finishParsing):
(JSC::FunctionMetadataNode::setEndPosition):
(JSC::FunctionBodyNode::FunctionBodyNode): Deleted.
(JSC::FunctionBodyNode::finishParsing): Deleted.
(JSC::FunctionBodyNode::setEndPosition): Deleted.
* parser/Nodes.h:
(JSC::FuncExprNode::body):
(JSC::FuncDeclNode::body):
* parser/Parser.h:
(JSC::Parser::isFunctionMetadataNode):
(JSC::Parser::next):
(JSC::Parser<LexerType>::parse):
(JSC::Parser::isFunctionBodyNode): Deleted.
* runtime/CodeCache.cpp:
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):
* runtime/CodeCache.h:

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

4 years agoMedia Session: generalize isFocusedContentMediaElementPlaying so it works with other...
mrajca@apple.com [Mon, 10 Aug 2015 19:18:50 +0000 (19:18 +0000)]
Media Session: generalize isFocusedContentMediaElementPlaying so it works with other playback attributes
https://bugs.webkit.org/show_bug.cgi?id=147797

Reviewed by Simon Fraser.

* UIProcess/API/C/WKMediaSessionFocusManager.cpp:
(WKMediaSessionFocusManagerValueForPlaybackAttribute):
(WKMediaSessionFocusManagerIsFocusedContentMediaElementPlaying): Deleted.
* UIProcess/API/C/WKMediaSessionFocusManager.h:
* UIProcess/WebMediaSessionFocusManager.cpp:
(WebKit::WebMediaSessionFocusManager::valueForPlaybackAttribute):
(WebKit::WebMediaSessionFocusManager::mediaControlIsEnabledDidChange):
(WebKit::WebMediaSessionFocusManager::isFocusedContentMediaElementPlaying): Deleted.
(WebKit::WebMediaSessionFocusManager::mediaElementIsPlayingDidChange): Deleted.
* UIProcess/WebMediaSessionFocusManager.h:

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

4 years agoAlign WebKit1's PageCache size with WebKit2's
cdumez@apple.com [Mon, 10 Aug 2015 18:57:47 +0000 (18:57 +0000)]
Align WebKit1's PageCache size with WebKit2's
https://bugs.webkit.org/show_bug.cgi?id=147831

Reviewed by Sam Weinig.

Align WebKit1's PageCache size with WebKit2's for consistency. Also, we
have data showing that keeping more than 3 pages in the PageCache is
not really useful.

* WebView/WebView.mm:
(+[WebView _setCacheModel:]):

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

4 years agohttp/tests/cache/disk-cache/disk-cache-validation.html has too many subtests
antti@apple.com [Mon, 10 Aug 2015 18:06:12 +0000 (18:06 +0000)]
http/tests/cache/disk-cache/disk-cache-validation.html has too many subtests
https://bugs.webkit.org/show_bug.cgi?id=147827

Rubber-stamped by Alexey Proskuryakov.

Also split the no-body variant of this.

* http/tests/cache/disk-cache/disk-cache-validation-no-body-expected.txt:
* http/tests/cache/disk-cache/disk-cache-validation-no-body.html:
* http/tests/cache/disk-cache/disk-cache-vary-no-body-expected.txt: Added.
* http/tests/cache/disk-cache/disk-cache-vary-no-body.html: Added.

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

4 years ago[Win] Small repaint issues when device scale factor != 1.
peavo@outlook.com [Mon, 10 Aug 2015 17:56:52 +0000 (17:56 +0000)]
[Win] Small repaint issues when device scale factor != 1.
https://bugs.webkit.org/show_bug.cgi?id=147825

Reviewed by Alex Christensen.

When scaling, we should scale a FloatRect, and then compute the enclosing IntRect.

* WebView.cpp:
(WebView::repaint):
(WebView::scrollBackingStore):
(WebView::paintIntoBackingStore):

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

4 years agohttp/tests/cache/disk-cache/disk-cache-validation.html has too many subtests
antti@apple.com [Mon, 10 Aug 2015 16:09:27 +0000 (16:09 +0000)]
http/tests/cache/disk-cache/disk-cache-validation.html has too many subtests
https://bugs.webkit.org/show_bug.cgi?id=147827

Reviewed by Chris Dumez.

Looks like it occasionally times out because a bot is running slowly and 243 subtests take >30s.

* http/tests/cache/disk-cache/disk-cache-validation-expected.txt:
* http/tests/cache/disk-cache/disk-cache-validation.html:

Split Vary header cases to a separate test.

* http/tests/cache/disk-cache/disk-cache-vary-expected.txt:
* http/tests/cache/disk-cache/disk-cache-vary.html:

Reduce test matrix size by no testing Expires header here.

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

4 years agoAX: Address follow-up comments in bug 145684
jcraig@apple.com [Mon, 10 Aug 2015 16:01:19 +0000 (16:01 +0000)]
AX: Address follow-up comments in bug 145684
https://bugs.webkit.org/show_bug.cgi?id=147817

Reviewed by Dean Jackson.

Minor cleanup and style updates requested by Dean.
Source/WebCore:

Updated Existing Test Expectations.

* Modules/mediacontrols/mediaControlsApple.css:
(video::-webkit-media-show-controls):
* Modules/mediacontrols/mediaControlsiOS.css:
(video::-webkit-media-show-controls):

LayoutTests:

* http/tests/contentextensions/text-track-blocked-expected.txt:
* media/video-controls-show-on-kb-or-ax-event.html:
* platform/mac/media/track/track-cue-rendering-horizontal-expected.txt:

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

4 years ago[CoordinatedGraphics] Fix forward declarations of CoordinatedGraphicsLayerState,...
zandobersek@gmail.com [Mon, 10 Aug 2015 14:12:19 +0000 (14:12 +0000)]
[CoordinatedGraphics] Fix forward declarations of CoordinatedGraphicsLayerState, ViewportAttributes
https://bugs.webkit.org/show_bug.cgi?id=147823

Reviewed by Carlos Garcia Campos.

* WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
* WebProcess/WebPage/LayerTreeHost.h:

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

4 years agoExpand network cache tests to cover memory cache behavior
antti@apple.com [Mon, 10 Aug 2015 12:48:53 +0000 (12:48 +0000)]
Expand network cache tests to cover memory cache behavior
https://bugs.webkit.org/show_bug.cgi?id=147783

Reviewed by Alexey Proskuryakov.

Source/WebCore:

To support testing, include memory cache as a possible source type to XHR responses.

* loader/ResourceLoader.cpp:
(WebCore::logResourceResponseSource):
* loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::didAddClient):
* loader/cache/CachedResource.h:
(WebCore::CachedResource::revalidationInProgress):
* platform/network/ResourceResponseBase.h:
* testing/Internals.cpp:
(WebCore::Internals::xhrResponseSource):

LayoutTests:

Add another round to existing cache tests with hot memory cache.
This add 691 individual cases worth of memory cache test coverage.

XHR (and main resource, CachedRawResource in general) behaves differently from other resource types. The added
coverage maps this behavior. The regular subresource behavior needs coverage too.

* http/tests/cache/disk-cache/disk-cache-204-status-code-expected.txt:
* http/tests/cache/disk-cache/disk-cache-302-status-code-expected.txt:
* http/tests/cache/disk-cache/disk-cache-307-status-code-expected.txt:
* http/tests/cache/disk-cache/disk-cache-404-status-code-expected.txt:
* http/tests/cache/disk-cache/disk-cache-disable-expected.txt:
* http/tests/cache/disk-cache/disk-cache-media-expected.txt:
* http/tests/cache/disk-cache/disk-cache-range-expected.txt:
* http/tests/cache/disk-cache/disk-cache-request-headers-expected.txt:
* http/tests/cache/disk-cache/disk-cache-request-max-stale-expected.txt:
* http/tests/cache/disk-cache/disk-cache-revalidation-new-expire-header-expected.txt:
* http/tests/cache/disk-cache/disk-cache-validation-attachment-expected.txt:
* http/tests/cache/disk-cache/disk-cache-validation-back-navigation-policy-expected.txt:
* http/tests/cache/disk-cache/disk-cache-validation-expected.txt:
* http/tests/cache/disk-cache/disk-cache-validation-no-body-expected.txt:
* http/tests/cache/disk-cache/resources/cache-test.js:
(loadResource):
(loadResourcesWithOptions):
(loadResources):
(.):
(runTests):

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

4 years agoCompile warning (-Wsign-compare) on 32-bits at WebCore/platform/FileSystem.cpp
youenn.fablet@crf.canon.fr [Mon, 10 Aug 2015 10:05:40 +0000 (10:05 +0000)]
Compile warning (-Wsign-compare) on 32-bits at WebCore/platform/FileSystem.cpp
https://bugs.webkit.org/show_bug.cgi?id=146414

Reviewed by Darin Adler.

Source/WebCore:

No behavioral changes.

* platform/FileSystem.cpp:
(WebCore::MappedFileData::MappedFileData): Making use of convertSafely.
* platform/posix/SharedBufferPOSIX.cpp:
(WebCore::SharedBuffer::createFromReadingFile): Making use of convertSafely.

Source/WTF:

Added convertSafely routine based on isInBounds routine.
Updated BoundChecker by adding a third boolean parameter to this template giving whether Target has greater or equal precision than Source.
Removed BoundCheckElider, which is no longer necessary and had some issues.

* wtf/CheckedArithmetic.h:
(WTF::isInBounds):
(WTF::convertSafely):

Tools:

* TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp:
(TestWebKitAPI::TEST): Improving testing of WTF::isInBounds.

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

4 years ago[Streams API] ReadableStreamReader closed promise should use CachedAttribute
youenn.fablet@crf.canon.fr [Mon, 10 Aug 2015 10:01:31 +0000 (10:01 +0000)]
[Streams API] ReadableStreamReader closed promise should use CachedAttribute
https://bugs.webkit.org/show_bug.cgi?id=147487

Reviewed by Darin Adler.

Covered by existing tests.

* Modules/streams/ReadableStreamReader.idl: Made closed a CachedAttribute.
* bindings/js/JSReadableStreamReaderCustom.cpp:
(WebCore::JSReadableStreamReader::closed): Updated according CachedAttribute specific field.

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

4 years ago[GTK] Crash when the web view is destroyed while the screensaver DBUs proxy is being...
carlosgc@webkit.org [Mon, 10 Aug 2015 08:27:52 +0000 (08:27 +0000)]
[GTK] Crash when the web view is destroyed while the screensaver DBUs proxy is being created
https://bugs.webkit.org/show_bug.cgi?id=147780

Reviewed by Sergio Villar Senin.

We should cancel the screenSaverInhibitCancellable on
dispose. Also use adoptGRef() when creating the cancellable object
to not leak it.

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseDispose):
(webkitWebViewBaseSendInhibitMessageToScreenSaver):
(webkitWebViewBaseInhibitScreenSaver):

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

4 years ago[GTK] Test /webkit2/WebKitWebView/submit-form is flaky
carlosgc@webkit.org [Mon, 10 Aug 2015 08:24:59 +0000 (08:24 +0000)]
[GTK] Test  /webkit2/WebKitWebView/submit-form is flaky
https://bugs.webkit.org/show_bug.cgi?id=147727

Reviewed by Sergio Villar Senin.

I think it was not this test in particular, but
/webkit2/WebKitWebView/custom-charset that is affecting the
others. This is because changing the encoding reloads the page,
but we don't wait for the page to be reloaded, so when the test
finishes and other test starts the web process is still reloading
the page.

* Scripts/run-gtk-tests:
(TestRunner): Unskip /webkit2/WebKitWebView/submit-form.
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
(testWebViewCustomCharset): Wait until page is reloaded after
changing the charset.

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

4 years ago[EFL] Use the non-overlay scrollbar
commit-queue@webkit.org [Mon, 10 Aug 2015 06:50:56 +0000 (06:50 +0000)]
[EFL] Use the non-overlay scrollbar
https://bugs.webkit.org/show_bug.cgi?id=147725

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

No new tests because there is no behavior change.

* platform/efl/ScrollbarThemeEfl.cpp:
(WebCore::ScrollbarThemeEfl::usesOverlayScrollbars):
Changed the condition of the 'usesOverlayScrollbars' to use the
setting value.
* platform/efl/ScrollbarThemeEfl.h:

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

4 years agoUnreviewed. Skip GTK+ test /webkit2/WebKitWebView/install-missing-plugins-permission...
carlosgc@webkit.org [Mon, 10 Aug 2015 06:41:20 +0000 (06:41 +0000)]
Unreviewed. Skip GTK+ test /webkit2/WebKitWebView/install-missing-plugins-permission-request.

It's timing out in the bots. My guess is that there's no installer
installed in the bots and gst_install_plugins_supported() returns
false, so we don't even get a permission request because no
installer will be launched.

* Scripts/run-gtk-tests:
(TestRunner):

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

4 years agoPage cache doesn't work for pages actively using Geolocation
cdumez@apple.com [Mon, 10 Aug 2015 04:14:04 +0000 (04:14 +0000)]
Page cache doesn't work for pages actively using Geolocation
https://bugs.webkit.org/show_bug.cgi?id=147785
<rdar://problem/11147901>

Reviewed by Darin Adler.

Source/WebCore:

Allow pages actively using Geolocation into the PageCache.

Tests: fast/history/page-cache-geolocation-active-oneshot.html
       fast/history/page-cache-geolocation-active-watcher.html

* Modules/geolocation/Geolocation.cpp:
(WebCore::Geolocation::canSuspendForPageCache):
(WebCore::Geolocation::suspend): Deleted.
* history/PageCache.cpp:

LayoutTests:

Add layout test coverage for page caching of pages actively using
the Geolocation API.

* fast/history/page-cache-geolocation-active-oneshot-expected.txt: Added.
* fast/history/page-cache-geolocation-active-oneshot.html: Added.
* fast/history/page-cache-geolocation-active-watcher-expected.txt: Added.
* fast/history/page-cache-geolocation-active-watcher.html: Added.

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

4 years agoAX: CSS table display styles can cause malformed, inaccessible AXTables to be exposed...
commit-queue@webkit.org [Mon, 10 Aug 2015 01:53:10 +0000 (01:53 +0000)]
AX: CSS table display styles can cause malformed, inaccessible AXTables to be exposed to the AX tree
https://bugs.webkit.org/show_bug.cgi?id=136415
<rdar://problem/22026625>

Patch by Nan Wang <n_wang@apple.com> on 2015-08-09
Reviewed by Chris Fleizach.

Source/WebCore:

Applying CSS display styles to tables can end up inserting anonymous RenderTableRows, which is not handled well by the
accessibility code, which treats these as the actual rows. We can address this by diving deeper into anonymous nodes
and finding the real rows and cells we want. In addition, another thing also causing malformed tables is that "grid"
roles are being exposed as AXGrid instead of AXTable.

Test: accessibility/mac/malformed-table.html

* accessibility/AccessibilityARIAGrid.cpp:
(WebCore::AccessibilityARIAGrid::addRowDescendant):
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::addChildren):
(WebCore::AccessibilityTable::addTableCellChild):
(WebCore::AccessibilityTable::addChildrenFromSection):
* accessibility/AccessibilityTable.h:
* accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::parentTable):
(WebCore::AccessibilityTableCell::rowIndexRange):
* accessibility/AccessibilityTableRow.cpp:
(WebCore::AccessibilityTableRow::parentTable):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(createAccessibilityRoleMap):

LayoutTests:

* accessibility/aria-table-with-presentational-elements-expected.txt:
* accessibility/aria-table-with-presentational-elements.html:
* accessibility/mac/malformed-table-expected.txt: Added.
* accessibility/mac/malformed-table.html: Added.
* platform/mac-mavericks/accessibility/roles-exposed-expected.txt:
* platform/mac/accessibility/aria-table-hierarchy-expected.txt:
* platform/mac/accessibility/aria-tables-expected.txt:
* platform/mac/accessibility/roles-exposed-expected.txt:

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

4 years agoRemove -webkit-color-correction CSS property
darin@apple.com [Mon, 10 Aug 2015 00:10:01 +0000 (00:10 +0000)]
Remove -webkit-color-correction CSS property
https://bugs.webkit.org/show_bug.cgi?id=147812

Reviewed by Maciej Stachowiak.

Source/WebCore:

Covered by existing tests.

I am doing some general cleanup of handling of color spaces in WebKit.
This removes the obsolete web-visible property that allowed clients to
get color correction on older Apple platforms where we chose not to do
it all the time for performance reasons. Currently, it has no effect on
any supported platform.

Now that this property is removed, a website can detect that it's not
there if it uses getComputedStyle, but I don't expect this to have
significant compatibility fallout. It's harmless to continue using the
property in legacy content or websites that have not been updated, since
unknown property names are ignored and it had no effect before anyway.

* css/CSSComputedStyleDeclaration.cpp: Removed
CSSPropertyWebkitColorCorrection from the list of computed properties.
(WebCore::ComputedStyleExtractor::propertyValue): Removed the
CSSPropertyWebkitColorCorrection case.

* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue): Removed the
CSSPropertyWebkitColorCorrection case.
(WebCore::isKeywordPropertyID): Ditto.
(WebCore::CSSParser::parseValue): Ditto.

* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Deleted the overload
of this that converts a ColorSpace to a CSSPrimitiveValue.
(WebCore::CSSPrimitiveValue::operator ColorSpace): Deleted.

* css/CSSPropertyNames.in: Removed -webkit-color-correction.

* css/CSSValueKeywords.in: Removed the -webkit-color-correction section,
which contained sRGB.

* css/SVGCSSValueKeywords.in: Uncommented sRGB now that it's not shared
with -webkit-color-correction.

* rendering/style/RenderStyle.h: Removed setColorSpace and initialColorSpace.
Kept colorSpace around for now, but it simply returns ColorSpaceSRGB.
This prevents us from needing to touch every single call site that passes
the color space in to functions in the platform graphics abstraction.
We'll touch most of those call sites when we change Color to include the
color space and eventually we can delete this.

* rendering/style/StyleRareInheritedData.cpp: Deleted colorSpace.
(WebCore::StyleRareInheritedData::StyleRareInheritedData): Deleted
code to initialize colorSpace and to copy colorSpace.
(WebCore::StyleRareInheritedData::operator==): Deleted code to compare
colorSpace.

LayoutTests:

Given that -webkit-color-correction had no effect on rendering on any platform in any
configuration we covered, it's amazing how many tests we had for it.

* fast/css/getComputedStyle/computed-style-expected.txt: Removed expected results for
-webkit-color-correction property.
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Ditto.
* svg/css/getComputedStyle-basic-expected.txt: Ditto.

* fast/css/getComputedStyle/resources/property-names.js: Removed -webkit-color-correction.

* fast/css/color-correction-backgrounds-and-text.html: Removed.
* fast/css/color-correction-on-background-image.html: Removed.
* fast/css/color-correction-on-backgrounds.html: Removed.
* fast/css/color-correction-on-box-shadow.html: Removed.
* fast/css/color-correction-on-text-shadow.html: Removed.
* fast/css/color-correction-on-text.html: Removed.
* fast/css/color-correction-untagged-images.html: Removed.
* fast/css/color-correction.html: Removed.
* fast/css/parsing-color-correction-expected.txt: Removed.
* fast/css/parsing-color-correction.html: Removed.
* fast/css/resources/parsing-color-correction.js: Removed.
* platform/efl/fast/css/color-correction-backgrounds-and-text-expected.png: Removed.
* platform/efl/fast/css/color-correction-backgrounds-and-text-expected.txt: Removed.
* platform/efl/fast/css/color-correction-expected.png: Removed.
* platform/efl/fast/css/color-correction-expected.txt: Removed.
* platform/efl/fast/css/color-correction-on-background-image-expected.png: Removed.
* platform/efl/fast/css/color-correction-on-background-image-expected.txt: Removed.
* platform/efl/fast/css/color-correction-on-backgrounds-expected.png: Removed.
* platform/efl/fast/css/color-correction-on-backgrounds-expected.txt: Removed.
* platform/efl/fast/css/color-correction-on-box-shadow-expected.png: Removed.
* platform/efl/fast/css/color-correction-on-box-shadow-expected.txt: Removed.
* platform/efl/fast/css/color-correction-on-text-expected.png: Removed.
* platform/efl/fast/css/color-correction-on-text-expected.txt: Removed.
* platform/efl/fast/css/color-correction-on-text-shadow-expected.png: Removed.
* platform/efl/fast/css/color-correction-on-text-shadow-expected.txt: Removed.
* platform/efl/fast/css/color-correction-untagged-images-expected.png: Removed.
* platform/efl/fast/css/color-correction-untagged-images-expected.txt: Removed.
* platform/gtk/fast/css/color-correction-backgrounds-and-text-expected.png: Removed.
* platform/gtk/fast/css/color-correction-backgrounds-and-text-expected.txt: Removed.
* platform/gtk/fast/css/color-correction-expected.png: Removed.
* platform/gtk/fast/css/color-correction-expected.txt: Removed.
* platform/gtk/fast/css/color-correction-on-background-image-expected.png: Removed.
* platform/gtk/fast/css/color-correction-on-background-image-expected.txt: Removed.
* platform/gtk/fast/css/color-correction-on-backgrounds-expected.png: Removed.
* platform/gtk/fast/css/color-correction-on-backgrounds-expected.txt: Removed.
* platform/gtk/fast/css/color-correction-on-box-shadow-expected.png: Removed.
* platform/gtk/fast/css/color-correction-on-box-shadow-expected.txt: Removed.
* platform/gtk/fast/css/color-correction-on-text-expected.png: Removed.
* platform/gtk/fast/css/color-correction-on-text-expected.txt: Removed.
* platform/gtk/fast/css/color-correction-on-text-shadow-expected.png: Removed.
* platform/gtk/fast/css/color-correction-on-text-shadow-expected.txt: Removed.
* platform/gtk/fast/css/color-correction-untagged-images-expected.png: Removed.
* platform/gtk/fast/css/color-correction-untagged-images-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/css/color-correction-backgrounds-and-text-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/css/color-correction-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/css/color-correction-on-background-image-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/css/color-correction-on-backgrounds-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/css/color-correction-on-box-shadow-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/css/color-correction-on-text-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/css/color-correction-on-text-shadow-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/css/color-correction-untagged-images-expected.txt: Removed.
* platform/ios-simulator/fast/css/color-correction-backgrounds-and-text-expected.txt: Removed.
* platform/ios-simulator/fast/css/color-correction-expected.txt: Removed.
* platform/ios-simulator/fast/css/color-correction-on-background-image-expected.txt: Removed.
* platform/ios-simulator/fast/css/color-correction-on-backgrounds-expected.txt: Removed.
* platform/ios-simulator/fast/css/color-correction-on-box-shadow-expected.txt: Removed.
* platform/ios-simulator/fast/css/color-correction-on-text-expected.txt: Removed.
* platform/ios-simulator/fast/css/color-correction-on-text-shadow-expected.txt: Removed.
* platform/ios-simulator/fast/css/color-correction-untagged-images-expected.txt: Removed.
* platform/mac/fast/css/color-correction-backgrounds-and-text-expected.png: Removed.
* platform/mac/fast/css/color-correction-backgrounds-and-text-expected.txt: Removed.
* platform/mac/fast/css/color-correction-expected.png: Removed.
* platform/mac/fast/css/color-correction-expected.txt: Removed.
* platform/mac/fast/css/color-correction-on-background-image-expected.png: Removed.
* platform/mac/fast/css/color-correction-on-background-image-expected.txt: Removed.
* platform/mac/fast/css/color-correction-on-backgrounds-expected.png: Removed.
* platform/mac/fast/css/color-correction-on-backgrounds-expected.txt: Removed.
* platform/mac/fast/css/color-correction-on-box-shadow-expected.png: Removed.
* platform/mac/fast/css/color-correction-on-box-shadow-expected.txt: Removed.
* platform/mac/fast/css/color-correction-on-text-expected.png: Removed.
* platform/mac/fast/css/color-correction-on-text-expected.txt: Removed.
* platform/mac/fast/css/color-correction-on-text-shadow-expected.png: Removed.
* platform/mac/fast/css/color-correction-on-text-shadow-expected.txt: Removed.
* platform/mac/fast/css/color-correction-untagged-images-expected.png: Removed.
* platform/mac/fast/css/color-correction-untagged-images-expected.txt: Removed.
* platform/win/fast/css/color-correction-backgrounds-and-text-expected.txt: Removed.
* platform/win/fast/css/color-correction-expected.txt: Removed.
* platform/win/fast/css/color-correction-on-background-image-expected.txt: Removed.
* platform/win/fast/css/color-correction-on-backgrounds-expected.txt: Removed.
* platform/win/fast/css/color-correction-on-box-shadow-expected.txt: Removed.
* platform/win/fast/css/color-correction-on-text-expected.txt: Removed.
* platform/win/fast/css/color-correction-on-text-shadow-expected.txt: Removed.
* platform/win/fast/css/color-correction-untagged-images-expected.txt: Removed.

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

4 years agoRegression(r188105): Seems to have caused crashes during PLT on some iPads
cdumez@apple.com [Sun, 9 Aug 2015 22:55:54 +0000 (22:55 +0000)]
Regression(r188105): Seems to have caused crashes during PLT on some iPads
https://bugs.webkit.org/show_bug.cgi?id=147818

Unreviewed, roll out r188105.

Source/JavaScriptCore:

* bytecode/ByValInfo.h:
(JSC::ByValInfo::ByValInfo):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::getByValInfoMap): Deleted.
(JSC::CodeBlock::addByValInfo): Deleted.
* bytecode/CodeBlock.h:
(JSC::CodeBlock::getByValInfo):
(JSC::CodeBlock::setNumberOfByValInfos):
(JSC::CodeBlock::numberOfByValInfos):
(JSC::CodeBlock::byValInfo):
* bytecode/ExitKind.cpp:
(JSC::exitKindToString): Deleted.
* bytecode/ExitKind.h:
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFor):
(JSC::GetByIdStatus::computeForStubInfo):
(JSC::GetByIdStatus::computeForStubInfoWithoutExitSiteFeedback): Deleted.
* bytecode/GetByIdStatus.h:
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): Deleted.
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): Deleted.
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize): Deleted.
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants): Deleted.
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC): Deleted.
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode): Deleted.
(JSC::DFG::FixupPhase::observeUseKindOnNode): Deleted.
* dfg/DFGNode.h:
(JSC::DFG::Node::hasUidOperand): Deleted.
(JSC::DFG::Node::uidOperand): Deleted.
* dfg/DFGNodeType.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate): Deleted.
* dfg/DFGSafeToExecute.h:
(JSC::DFG::SafeToExecuteEdge::operator()): Deleted.
(JSC::DFG::safeToExecute): Deleted.
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCheckIdent): Deleted.
(JSC::DFG::SpeculativeJIT::speculateSymbol): Deleted.
(JSC::DFG::SpeculativeJIT::speculate): Deleted.
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile): Deleted.
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile): Deleted.
* dfg/DFGUseKind.cpp:
(WTF::printInternal): Deleted.
* dfg/DFGUseKind.h:
(JSC::DFG::typeFilterFor): Deleted.
(JSC::DFG::isCell): Deleted.
* ftl/FTLAbstractHeapRepository.h:
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile): Deleted.
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileNode): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::compileCheckIdent): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::lowSymbol): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::speculate): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::isNotSymbol): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::speculateSymbol): Deleted.
* jit/JIT.cpp:
(JSC::JIT::privateCompile):
* jit/JIT.h:
(JSC::ByValCompilationInfo::ByValCompilationInfo):
(JSC::JIT::compileGetByValWithCachedId): Deleted.
* jit/JITInlines.h:
(JSC::JIT::callOperation): Deleted.
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_has_indexed_property):
(JSC::JIT::emitSlow_op_has_indexed_property):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_has_indexed_property):
(JSC::JIT::emitSlow_op_has_indexed_property):
* jit/JITOperations.cpp:
(JSC::getByVal):
* jit/JITOperations.h:
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitSlow_op_put_by_val):
(JSC::JIT::emitGetByValWithCachedId): Deleted.
(JSC::JIT::privateCompileGetByVal): Deleted.
(JSC::JIT::privateCompileGetByValWithCachedId): Deleted.
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitSlow_op_put_by_val):
(JSC::JIT::emitGetByValWithCachedId): Deleted.
* runtime/Symbol.h:
* tests/stress/get-by-val-with-string-constructor.js: Removed.
* tests/stress/get-by-val-with-string-exit.js: Removed.
* tests/stress/get-by-val-with-string-generated.js: Removed.
* tests/stress/get-by-val-with-string-getter.js: Removed.
* tests/stress/get-by-val-with-string.js: Removed.
* tests/stress/get-by-val-with-symbol-constructor.js: Removed.
* tests/stress/get-by-val-with-symbol-exit.js: Removed.
* tests/stress/get-by-val-with-symbol-getter.js: Removed.
* tests/stress/get-by-val-with-symbol.js: Removed.

LayoutTests:

* js/regress/get-by-val-with-string-bimorphic-check-structure-elimination-expected.txt: Removed.
* js/regress/get-by-val-with-string-bimorphic-check-structure-elimination-simple-expected.txt: Removed.
* js/regress/get-by-val-with-string-bimorphic-check-structure-elimination-simple.html: Removed.
* js/regress/get-by-val-with-string-bimorphic-check-structure-elimination.html: Removed.
* js/regress/get-by-val-with-string-chain-from-try-block-expected.txt: Removed.
* js/regress/get-by-val-with-string-chain-from-try-block.html: Removed.
* js/regress/get-by-val-with-string-check-structure-elimination-expected.txt: Removed.
* js/regress/get-by-val-with-string-check-structure-elimination.html: Removed.
* js/regress/get-by-val-with-string-proto-or-self-expected.txt: Removed.
* js/regress/get-by-val-with-string-proto-or-self.html: Removed.
* js/regress/get-by-val-with-string-quadmorphic-check-structure-elimination-simple-expected.txt: Removed.
* js/regress/get-by-val-with-string-quadmorphic-check-structure-elimination-simple.html: Removed.
* js/regress/get-by-val-with-string-self-or-proto-expected.txt: Removed.
* js/regress/get-by-val-with-string-self-or-proto.html: Removed.
* js/regress/get-by-val-with-symbol-bimorphic-check-structure-elimination-expected.txt: Removed.
* js/regress/get-by-val-with-symbol-bimorphic-check-structure-elimination-simple-expected.txt: Removed.
* js/regress/get-by-val-with-symbol-bimorphic-check-structure-elimination-simple.html: Removed.
* js/regress/get-by-val-with-symbol-bimorphic-check-structure-elimination.html: Removed.
* js/regress/get-by-val-with-symbol-chain-from-try-block-expected.txt: Removed.
* js/regress/get-by-val-with-symbol-chain-from-try-block.html: Removed.
* js/regress/get-by-val-with-symbol-check-structure-elimination-expected.txt: Removed.
* js/regress/get-by-val-with-symbol-check-structure-elimination.html: Removed.
* js/regress/get-by-val-with-symbol-proto-or-self-expected.txt: Removed.
* js/regress/get-by-val-with-symbol-proto-or-self.html: Removed.
* js/regress/get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple-expected.txt: Removed.
* js/regress/get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple.html: Removed.
* js/regress/get-by-val-with-symbol-self-or-proto-expected.txt: Removed.
* js/regress/get-by-val-with-symbol-self-or-proto.html: Removed.
* js/regress/script-tests/get-by-val-with-string-bimorphic-check-structure-elimination-simple.js: Removed.
* js/regress/script-tests/get-by-val-with-string-bimorphic-check-structure-elimination.js: Removed.
* js/regress/script-tests/get-by-val-with-string-chain-from-try-block.js: Removed.
* js/regress/script-tests/get-by-val-with-string-check-structure-elimination.js: Removed.
* js/regress/script-tests/get-by-val-with-string-proto-or-self.js: Removed.
* js/regress/script-tests/get-by-val-with-string-quadmorphic-check-structure-elimination-simple.js: Removed.
* js/regress/script-tests/get-by-val-with-string-self-or-proto.js: Removed.
* js/regress/script-tests/get-by-val-with-symbol-bimorphic-check-structure-elimination-simple.js: Removed.
* js/regress/script-tests/get-by-val-with-symbol-bimorphic-check-structure-elimination.js: Removed.
* js/regress/script-tests/get-by-val-with-symbol-chain-from-try-block.js: Removed.
* js/regress/script-tests/get-by-val-with-symbol-check-structure-elimination.js: Removed.
* js/regress/script-tests/get-by-val-with-symbol-proto-or-self.js: Removed.
* js/regress/script-tests/get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple.js: Removed.
* js/regress/script-tests/get-by-val-with-symbol-self-or-proto.js: Removed.

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

4 years agoFollow-up nit fixes after r187691.
cdumez@apple.com [Sun, 9 Aug 2015 22:20:36 +0000 (22:20 +0000)]
Follow-up nit fixes after r187691.
https://bugs.webkit.org/show_bug.cgi?id=128006

Reviewed by Gavin Barraclough.

Use modern for-loops instead of explicit iterators.

* Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::shouldCoalesceChallenge):
(WebKit::AuthenticationManager::coalesceChallengesMatching):

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

4 years ago[Mac] Always require ExternalDeviceAutoPlayCandidate flag to AirPlay automatically
eric.carlson@apple.com [Sun, 9 Aug 2015 20:39:56 +0000 (20:39 +0000)]
[Mac] Always require ExternalDeviceAutoPlayCandidate flag to AirPlay automatically
https://bugs.webkit.org/show_bug.cgi?id=147801

Reviewed by Dean Jackson.

Test: http/tests/media/video-media-document-disposition-download.html

* Modules/mediasession/WebMediaSessionManager.cpp:
(WebCore::WebMediaSessionManager::configurePlaybackTargetClients): Don't tell the last element
  to begin playing to the target unless the ExternalDeviceAutoPlayCandidate flag is set and
  it is not currently playing.

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

4 years agoCrash in ComplexTextController when laying out obscure text
mmaxfield@apple.com [Sun, 9 Aug 2015 20:01:15 +0000 (20:01 +0000)]
Crash in ComplexTextController when laying out obscure text
https://bugs.webkit.org/show_bug.cgi?id=147806
<rdar://problem/22102378>

Reviewed by Darin Adler.

Source/WebCore:

CTFontDescriptorCopyAttribute(fontDescriptor.get(), kCTFontReferenceURLAttribute) can return nullptr.

Test: fast/text/crash-obscure-text.html

* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::safeCFEqual):
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

LayoutTests:

* fast/text/crash-obscure-text-expected.txt: Added.
* fast/text/crash-obscure-text.html: Added.

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

4 years agoRemove the webkit prefix from CanvasRenderingContext2D imageSmoothingEnabled
dino@apple.com [Sun, 9 Aug 2015 11:15:01 +0000 (11:15 +0000)]
Remove the webkit prefix from CanvasRenderingContext2D imageSmoothingEnabled
https://bugs.webkit.org/show_bug.cgi?id=147803
<rdar://problem/22200553>

Reviewed by Sam Weinig.

Source/WebCore:

Rename webkitImageSmoothingEnabled to imageSmoothingEnabled.

Updated existing tests, and made sure that the prefixed version is
identical to the standard version.

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::imageSmoothingEnabled): Renamed from webkitImageSmoothingEnabled.
(WebCore::CanvasRenderingContext2D::setImageSmoothingEnabled): Renamed from setWebkitImageSmoothingEnabled.
(WebCore::CanvasRenderingContext2D::webkitImageSmoothingEnabled): Deleted.
(WebCore::CanvasRenderingContext2D::setWebkitImageSmoothingEnabled): Deleted.
* html/canvas/CanvasRenderingContext2D.h: Rename the methods.
* html/canvas/CanvasRenderingContext2D.idl: Add the non-prefixed form, and mark is as the
implementation of the prefixed form.

LayoutTests:

Use the standard version of imageSmoothingEnabled rather than
the prefixed version.

* fast/canvas/canvas-imageSmoothingEnabled-expected.txt:
* fast/canvas/canvas-imageSmoothingEnabled-patterns.html:
* fast/canvas/canvas-imageSmoothingEnabled-zero-size.html:
* fast/canvas/script-tests/canvas-imageSmoothingEnabled-repaint.js:
(draw):
* fast/canvas/script-tests/canvas-imageSmoothingEnabled.js: Add some tests
to make sure the prefixed version correctly maps to the standard version.

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

4 years agoRef-ify some functions that always succeed in constructing Documents.
akling@apple.com [Sun, 9 Aug 2015 08:11:32 +0000 (08:11 +0000)]
Ref-ify some functions that always succeed in constructing Documents.
<https://webkit.org/b/147552>

Reviewed by Sam Weinig.

Update some functions involved in the construction of new Document objects
to codify that they always construct objects.

Bonus: DOMImplementation::createCSSStyleSheet().

* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createCSSStyleSheet):
(WebCore::DOMImplementation::createHTMLDocument):
(WebCore::DOMImplementation::createDocument):
* dom/DOMImplementation.h:
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::createDocument):
(WebCore::DocumentWriter::begin):
* loader/DocumentWriter.h:
* xml/DOMParser.cpp:
(WebCore::DOMParser::parseFromString):
* xml/DOMParser.h:
* xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::createDocumentFromSource):
* xml/XSLTProcessor.h:

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

4 years agoWeb Inspector: Timeline ruler handle tooltip shows wrong value when handles overlap
drousso@apple.com [Sun, 9 Aug 2015 02:06:07 +0000 (02:06 +0000)]
Web Inspector: Timeline ruler handle tooltip shows wrong value when handles overlap
https://bugs.webkit.org/show_bug.cgi?id=147652

Reviewed by Timothy Hatcher.

* UserInterface/Views/TimelineRuler.js:
(WebInspector.TimelineRuler.prototype._updateSelection):
Now changes the title depending on whether the selection start/end is clamped.

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

4 years agoWeb Inspector: Don't show "No Filter Results" when timeline is empty
drousso@apple.com [Sun, 9 Aug 2015 01:22:06 +0000 (01:22 +0000)]
Web Inspector: Don't show "No Filter Results" when timeline is empty
https://bugs.webkit.org/show_bug.cgi?id=147662

Reviewed by Timothy Hatcher.

* UserInterface/Views/TimelineView.js:
(WebInspector.TimelineView.prototype.reset):
Now hides the empty content placeholder on timeline clear.

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

4 years agoUnreviewed, rolling out r179871.
commit-queue@webkit.org [Sat, 8 Aug 2015 18:40:38 +0000 (18:40 +0000)]
Unreviewed, rolling out r179871.
https://bugs.webkit.org/show_bug.cgi?id=147810

Breaks product images on http://www.apple.com/shop/buy-
mac/macbook (Requested by smfr on #webkit).

Reverted changeset:

"Render: properly update body's background image"
https://bugs.webkit.org/show_bug.cgi?id=140183
http://trac.webkit.org/changeset/179871

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

4 years agoWeb Inspector: Decrease the padding of each rule in the Rules sidebar to allow more...
drousso@apple.com [Sat, 8 Aug 2015 05:39:26 +0000 (05:39 +0000)]
Web Inspector: Decrease the padding of each rule in the Rules sidebar to allow more content to show
https://bugs.webkit.org/show_bug.cgi?id=147360

Reviewed by Timothy Hatcher.

Generally tightened the padding around each section in the rules panel, as well as the
content inside each section. Also moved the new rule button to be next to the filter bar.

* UserInterface/Views/CSSStyleDeclarationSection.css:
(.style-declaration-section):
(.style-declaration-section.last-in-group):
(.style-declaration-section.last-in-group + .style-declaration-section): Deleted.
* UserInterface/Views/CSSStyleDeclarationTextEditor.css:
(.css-style-text-editor):
* UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
(.sidebar > .panel.details.css-style > .content > .pseudo-classes):
(.sidebar > .panel.details.css-style > .content + .options-container):
(.sidebar > .panel.details.css-style > .content:not(.supports-new-rule, .has-filter-bar) + .options-container):
(.sidebar > .panel.details.css-style > .content + .options-container > .new-rule):
(.sidebar > .panel.details.css-style > .content + .options-container > .filter-bar):
(.sidebar > .panel.details.css-style > .content:not(.has-filter-bar) + .options-container > .filter-bar):
(.sidebar > .panel.details.css-style > .content.has-filter-bar + .filter-bar): Deleted.
(.sidebar > .panel.details.css-style > .content:not(.has-filter-bar) + .filter-bar): Deleted.
* UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
(WebInspector.CSSStyleDetailsSidebarPanel):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._newRuleButtonClicked):
* UserInterface/Views/RulesStyleDetailsPanel.css:
(.sidebar > .panel.details.css-style .rules .label):
* UserInterface/Views/RulesStyleDetailsPanel.js:
(WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
(WebInspector.RulesStyleDetailsPanel.prototype.newRuleButtonClicked):
(WebInspector.RulesStyleDetailsPanel.prototype.refresh.addNewRuleButton): Deleted.
(WebInspector.RulesStyleDetailsPanel.prototype.refresh): Deleted.
(WebInspector.RulesStyleDetailsPanel.prototype._newRuleClicked): Deleted.

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

4 years agoReduce uses of PassRefPtr in bindings
gyuyoung.kim@webkit.org [Sat, 8 Aug 2015 05:39:06 +0000 (05:39 +0000)]
Reduce uses of PassRefPtr in bindings
https://bugs.webkit.org/show_bug.cgi?id=147781

Reviewed by Chris Dumez.

Use RefPtr when function can return null or an instance. If not, Ref is used.

Source/JavaScriptCore:

* runtime/JSGenericTypedArrayView.h:
(JSC::toNativeTypedView):

Source/WebCore:

* bindings/gobject/GObjectNodeFilterCondition.h:
* bindings/gobject/GObjectXPathNSResolver.h:
* bindings/gobject/WebKitDOMNodeFilter.cpp:
(WebKit::core):
* bindings/gobject/WebKitDOMNodeFilterPrivate.h:
* bindings/gobject/WebKitDOMXPathNSResolver.cpp:
(WebKit::core):
* bindings/gobject/WebKitDOMXPathNSResolverPrivate.h:
* bindings/js/CallbackFunction.h:
(WebCore::createFunctionOnlyCallback):
* bindings/js/Dictionary.h:
(WebCore::Dictionary::getEventListener):
* bindings/js/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromValue):
(WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath):
(WebCore::createIDBKeyFromScriptValueAndKeyPath):
(WebCore::scriptValueToIDBKey):
* bindings/js/IDBBindingUtilities.h:
* bindings/js/JSDOMBinding.h:
(WebCore::toInt8Array):
(WebCore::toInt16Array):
(WebCore::toInt32Array):
(WebCore::toUint8Array):
(WebCore::toUint8ClampedArray):
(WebCore::toUint16Array):
(WebCore::toUint32Array):
(WebCore::toFloat32Array):
(WebCore::toFloat64Array):
* bindings/js/JSDOMStringListCustom.cpp:
(WebCore::JSDOMStringList::toWrapped):
* bindings/js/JSDeviceMotionEventCustom.cpp:
(WebCore::readAccelerationArgument):
(WebCore::readRotationRateArgument):
* bindings/js/JSErrorHandler.h:
(WebCore::createJSErrorHandler):
* bindings/js/JSGeolocationCustom.cpp:
(WebCore::createPositionOptions):
* bindings/js/JSNodeCustom.cpp:
* bindings/js/JSNodeFilterCustom.cpp:
(WebCore::JSNodeFilter::toWrapped):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::createWorld):
(WebCore::ScriptController::createRootObject):
(WebCore::ScriptController::createScriptInstanceForWidget):
* bindings/js/ScriptController.h:
* bindings/js/ScriptControllerMac.mm:
(WebCore::ScriptController::createScriptInstanceForWidget):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::create):
* bindings/js/SerializedScriptValue.h:
* bindings/objc/DOMUIKitExtensions.mm:
(-[DOMNode rangeOfContainingParagraph]):
* bindings/objc/ObjCNodeFilterCondition.h:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):

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

4 years ago[El Capitan] Test Gardening
mmaxfield@apple.com [Sat, 8 Aug 2015 04:08:16 +0000 (04:08 +0000)]
[El Capitan] Test Gardening

Unreviewed.

* platform/mac/css3/font-feature-settings-preinstalled-fonts-expected.txt: Added.

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

4 years ago[OS X] Remove dead code from FontCache::createFontPlatformData()
mmaxfield@apple.com [Sat, 8 Aug 2015 03:54:44 +0000 (03:54 +0000)]
[OS X] Remove dead code from FontCache::createFontPlatformData()
https://bugs.webkit.org/show_bug.cgi?id=147804

Reviewed by Zalan Bujtas.

CTFontCreateForCSS() always returns the best font.

No new tests because there is no behavior change.

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

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

4 years agoWeb Inspector: Don't include zero-width space into a copied text from the console
drousso@apple.com [Sat, 8 Aug 2015 03:45:21 +0000 (03:45 +0000)]
Web Inspector: Don't include zero-width space into a copied text from the console
https://bugs.webkit.org/show_bug.cgi?id=147767

Reviewed by Timothy Hatcher.

Now removes work break characters in generated javascript text when copying
to the clipboard.  Also replaced var with let in the modified functions.

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

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

4 years agoMove painting functions from RenderObject to RenderElement.
zalan@apple.com [Sat, 8 Aug 2015 03:06:52 +0000 (03:06 +0000)]
Move painting functions from RenderObject to RenderElement.
https://bugs.webkit.org/show_bug.cgi?id=147764

Reviewed by Simon Fraser.

Ideally they should live in RenderBoxModelObject, but the current SVG architecture makes is difficult
to move them there.

No change in functionality.

* platform/graphics/FloatRect.h:
(WebCore::FloatRect::FloatRect):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintOneBorderSide):
* rendering/RenderElement.cpp:
(WebCore::RenderElement::drawLineForBoxSide):
(WebCore::RenderElement::paintFocusRing):
(WebCore::RenderElement::paintOutline):
* rendering/RenderElement.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::paintOutline):
(WebCore::RenderInline::paintOutlineForLine):
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::paintColumnRules):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide): Deleted.
(WebCore::RenderObject::paintFocusRing): Deleted.
(WebCore::RenderObject::paintOutline): Deleted.
* rendering/RenderObject.h:
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::paintCollapsedBorders):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::paintRowGroupBorder):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::paintMenuListButtonDecorations):
* rendering/RenderThemeIOS.h:
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintMenuListButtonDecorations):

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

4 years agoREGRESSION(r184722) AX: WebKit video playback toolbar removed from DOM; no longer...
jcraig@apple.com [Sat, 8 Aug 2015 02:14:43 +0000 (02:14 +0000)]
REGRESSION(r184722) AX: WebKit video playback toolbar removed from DOM; no longer accessible to VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=145684

Reviewed by Dean Jackson.

Source/WebCore:

Updated Apple Video controls to add an invisible but focusable button that allows VoiceOver
users (and when unblocked, keyboard users) to re-display the video controls.

Test: media/video-controls-show-on-kb-or-ax-event.html

* English.lproj/mediaControlsLocalizedStrings.js:
* Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-show-controls):
(video::-webkit-media-show-controls):
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.createControls):
(Controller.prototype.handleFullscreenChange):
(Controller.prototype.handleShowControlsClick):
(Controller.prototype.handleWrapperMouseMove):
(Controller.prototype.updateForShowingControls):
(Controller.prototype.showControls):
(Controller.prototype.hideControls):
(Controller.prototype.setNeedsUpdateForDisplayedWidth):
* Modules/mediacontrols/mediaControlsiOS.css:
(audio::-webkit-media-show-controls):
(video::-webkit-media-show-controls):

LayoutTests:

* http/tests/contentextensions/text-track-blocked-expected.txt: Minor update to test case expectation.
* media/video-controls-show-on-kb-or-ax-event-expected.txt: Added.
* media/video-controls-show-on-kb-or-ax-event.html: New test validates video controls can be displayed without the need for a mouse.
* platform/mac/media/track/track-cue-rendering-horizontal-expected.txt: Minor update to test case expectation.

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

4 years ago[GTK] Another build fix after r188157.
achristensen@apple.com [Sat, 8 Aug 2015 00:21:26 +0000 (00:21 +0000)]
[GTK] Another build fix after r188157.

* WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::viewSupportsOptions):
Name all the things correctly!

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

4 years ago[EFL, GTK] Build fix after r188176.
achristensen@apple.com [Sat, 8 Aug 2015 00:14:59 +0000 (00:14 +0000)]
[EFL, GTK] Build fix after r188176.

* DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
I moved forwarding headers out of a unix subdirectory because I am using them on Windows now.

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

4 years ago[GTK] Speculative build fix after r188157.
achristensen@apple.com [Sat, 8 Aug 2015 00:09:18 +0000 (00:09 +0000)]
[GTK] Speculative build fix after r188157.

* WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::PlatformWebView):
Update parameter list.

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

4 years agoBuild more testing binaries with CMake on Windows
achristensen@apple.com [Fri, 7 Aug 2015 23:42:07 +0000 (23:42 +0000)]
Build more testing binaries with CMake on Windows
https://bugs.webkit.org/show_bug.cgi?id=147799

Reviewed by Brent Fulgham.

Source/JavaScriptCore:

* shell/PlatformWin.cmake: Added.
Build jsc.dll and jsc.exe to find Apple Application Support or WinCairo dlls before using them.

Source/WebCore:

* CMakeLists.txt:
MockCDM.cpp needs to be part of WebCoreTestSupport, not WebCore.
* PlatformWin.cmake:
Added files needed for AppleWin port.

Source/WebKit/win:

* WebKitDLL.cpp:
(loadResourceIntoBuffer):
AppleWin doesn't like exporting a function without a separate declaration.

Tools:

* DumpRenderTree/CMakeLists.txt:
Build TestNetscapePlugin.
* DumpRenderTree/PlatformWin.cmake:
Build ImageDiff and add files necessary for TestNetscapePlugin on Windows.
* DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders: Added.
* DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit: Added.
* DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npapi.h: Copied from DumpRenderTree/TestNetscapePlugIn/unix/ForwardingHeaders/WebKit/npapi.h.
* DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npfunctions.h: Copied from DumpRenderTree/TestNetscapePlugIn/unix/ForwardingHeaders/WebKit/npfunctions.h.
* DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npruntime.h: Copied from DumpRenderTree/TestNetscapePlugIn/unix/ForwardingHeaders/WebKit/npruntime.h.
* DumpRenderTree/TestNetscapePlugIn/unix/ForwardingHeaders/WebKit/npapi.h: Removed.
* DumpRenderTree/TestNetscapePlugIn/unix/ForwardingHeaders/WebKit/npfunctions.h: Removed.
* DumpRenderTree/TestNetscapePlugIn/unix/ForwardingHeaders/WebKit/npruntime.h: Removed.

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

4 years agoBeing moving away from using SQLTransactionStateMachine in SQLTransactionBackend
andersca@apple.com [Fri, 7 Aug 2015 23:39:53 +0000 (23:39 +0000)]
Being moving away from using SQLTransactionStateMachine in SQLTransactionBackend
https://bugs.webkit.org/show_bug.cgi?id=147798

Reviewed by Geoffrey Garen.

This is the first step towards getting rid of the state machine so we can ultimately merge SQLTransactionBackend
into SQLTransaction.

Instead of having the state machine run our functions, just run them ourselves where we can. For states that need
to be handled in the frontend, call SQLTransaction::requestTransitToState explicitly.

* Modules/webdatabase/SQLTransactionBackend.cpp:
(WebCore::SQLTransactionBackend::stateFunctionFor):
(WebCore::SQLTransactionBackend::lockAcquired):
(WebCore::SQLTransactionBackend::openTransactionAndPreflight):
(WebCore::SQLTransactionBackend::runStatements):
(WebCore::SQLTransactionBackend::runCurrentStatement):
(WebCore::SQLTransactionBackend::handleCurrentStatementError):
(WebCore::SQLTransactionBackend::handleTransactionError):
(WebCore::SQLTransactionBackend::postflightAndCommit):
(WebCore::SQLTransactionBackend::runCurrentStatementAndGetNextState): Deleted.
(WebCore::SQLTransactionBackend::nextStateForCurrentStatementError): Deleted.
(WebCore::SQLTransactionBackend::nextStateForTransactionError): Deleted.
(WebCore::SQLTransactionBackend::sendToFrontendState): Deleted.
* Modules/webdatabase/SQLTransactionBackend.h:

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

4 years ago[Mac] Test gardening
mmaxfield@apple.com [Fri, 7 Aug 2015 23:31:36 +0000 (23:31 +0000)]
[Mac] Test gardening

Unreviewed.

* platform/mac/TestExpectations:

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

4 years agoWeb Inspector: Simplify OS-specific CSS class names
nvasilyev@apple.com [Fri, 7 Aug 2015 23:25:38 +0000 (23:25 +0000)]
Web Inspector: Simplify OS-specific CSS class names
https://bugs.webkit.org/show_bug.cgi?id=147794

Replace "body:not(.el-capitan)" with ".legacy-mac".
Replace "body.el-capitan" with ".latest-mac".

Reviewed by Timothy Hatcher.

* UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
* UserInterface/Views/Toolbar.css:
(body.legacy-mac .toolbar .dashboard-container):
(body.legacy-mac .toolbar .search-bar > input[type="search"]):
(body.legacy-mac .toolbar .search-bar > input[type="search"]:focus):
(body.legacy-mac .toolbar .item.button:active):
(body.window-inactive.legacy-mac .toolbar .dashboard-container):
(body.latest-mac .toolbar .dashboard-container):
(body.latest-mac .toolbar .search-bar > input[type="search"]):
(body.latest-mac .toolbar .search-bar > input[type="search"]:focus):
(@media (-webkit-min-device-pixel-ratio: 2)):
(body.latest-mac .toolbar .item.button:active):
(body.latest-mac.window-inactive .toolbar .dashboard-container):
(body:not(.el-capitan) .toolbar .dashboard-container): Deleted.
(body:not(.el-capitan) .toolbar .search-bar > input[type="search"]): Deleted.
(body:not(.el-capitan) .toolbar .search-bar > input[type="search"]:focus): Deleted.
(body:not(.el-capitan) .toolbar .item.button:active): Deleted.
(body.window-inactive:not(.el-capitan) .toolbar .dashboard-container): Deleted.
(body.el-capitan .toolbar .dashboard-container): Deleted.
(body.el-capitan .toolbar .search-bar > input[type="search"]): Deleted.
(body.el-capitan .toolbar .search-bar > input[type="search"]:focus): Deleted.
(body.el-capitan .toolbar .item.button:active): Deleted.
(body.el-capitan.window-inactive .toolbar .dashboard-container): Deleted.

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

4 years agoRefactor BuildbotQueue.compareIterations and BuildbotQueue.compareIterationsByRevisio...
commit-queue@webkit.org [Fri, 7 Aug 2015 23:10:59 +0000 (23:10 +0000)]
Refactor BuildbotQueue.compareIterations and BuildbotQueue.compareIterationsByRevisions to be more generic
https://bugs.webkit.org/show_bug.cgi?id=147667

Patch by Jason Marcell <jmarcell@apple.com> on 2015-08-07
Reviewed by Daniel Bates.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
(BuildbotQueue.prototype.compareIterations): Refactored to work more generically with repositories
other than "openSource" and "internal".
(BuildbotQueue.prototype.compareIterationsByRevisions): Ditto.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
(Dashboard.get sortedPlatforms): Added. Returns a sorted array of platforms.
(Dashboard.get sortedRepositories): Added. Returns a sorted array of repositories.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
(documentReady): Using Dashboard.sortedPlatforms instead of sortedPlatforms.
(sortedPlatforms): Deleted.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsMain.js:
(buildQueuesTable): Using Dashboard.sortedPlatforms instead of sortedPlatforms.
(sortedPlatforms): Deleted.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Utilities.js:
(sortDictionariesByOrder): Added. Takes an array of dictionaries that have an "order" property
and sorts them by this property returning the new sorted array.

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

4 years agoLightweight locks should be adaptive
fpizlo@apple.com [Fri, 7 Aug 2015 22:38:59 +0000 (22:38 +0000)]
Lightweight locks should be adaptive
https://bugs.webkit.org/show_bug.cgi?id=147545

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* dfg/DFGCommon.cpp:
(JSC::DFG::startCrashing):
* heap/CopiedBlock.h:
(JSC::CopiedBlock::workListLock):
* heap/CopiedBlockInlines.h:
(JSC::CopiedBlock::shouldReportLiveBytes):
(JSC::CopiedBlock::reportLiveBytes):
* heap/CopiedSpace.cpp:
(JSC::CopiedSpace::doneFillingBlock):
* heap/CopiedSpace.h:
(JSC::CopiedSpace::CopiedGeneration::CopiedGeneration):
* heap/CopiedSpaceInlines.h:
(JSC::CopiedSpace::recycleEvacuatedBlock):
* heap/GCThreadSharedData.cpp:
(JSC::GCThreadSharedData::didStartCopying):
* heap/GCThreadSharedData.h:
(JSC::GCThreadSharedData::getNextBlocksToCopy):
* heap/ListableHandler.h:
(JSC::ListableHandler::List::addThreadSafe):
(JSC::ListableHandler::List::addNotThreadSafe):
* heap/MachineStackMarker.cpp:
(JSC::MachineThreads::tryCopyOtherThreadStacks):
* heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::copyLater):
* parser/SourceProvider.cpp:
(JSC::SourceProvider::~SourceProvider):
(JSC::SourceProvider::getID):
* profiler/ProfilerDatabase.cpp:
(JSC::Profiler::Database::addDatabaseToAtExit):
(JSC::Profiler::Database::removeDatabaseFromAtExit):
(JSC::Profiler::Database::removeFirstAtExitDatabase):
* runtime/TypeProfilerLog.h:

Source/WebCore:

* bindings/objc/WebScriptObject.mm:
(WebCore::getJSWrapper):
(WebCore::addJSWrapper):
(WebCore::removeJSWrapper):
(WebCore::removeJSWrapperIfRetainCountOne):
* platform/audio/mac/CARingBuffer.cpp:
(WebCore::CARingBuffer::setCurrentFrameBounds):
(WebCore::CARingBuffer::getCurrentFrameBounds):
* platform/audio/mac/CARingBuffer.h:
* platform/ios/wak/WAKWindow.mm:
(-[WAKWindow setExposedScrollViewRect:]):
(-[WAKWindow exposedScrollViewRect]):

Source/WebKit2:

* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::clearQueuedTouchEventsForPage):
(WebKit::EventDispatcher::getQueuedTouchEventsForPage):
(WebKit::EventDispatcher::touchEvent):
(WebKit::EventDispatcher::dispatchTouchEvents):
* WebProcess/WebPage/EventDispatcher.h:
* WebProcess/WebPage/ViewUpdateDispatcher.cpp:
(WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):
(WebKit::ViewUpdateDispatcher::dispatchVisibleContentRectUpdate):
* WebProcess/WebPage/ViewUpdateDispatcher.h:

Source/WTF:

A common idiom in WebKit is to use spinlocks. We use them because the lock acquisition
overhead is lower than system locks and because they take dramatically less space than system
locks. The speed and space advantages of spinlocks can be astonishing: an uncontended spinlock
acquire is up to 10x faster and under microcontention - short critical section with two or
more threads taking turns - spinlocks are up to 100x faster. Spinlocks take only 1 byte or 4
bytes depending on the flavor, while system locks take 64 bytes or more. Clearly, WebKit
should continue to avoid system locks - they are just far too slow and far too big.

But there is a problem with this idiom. System lock implementations will sleep a thread when
it attempts to acquire a lock that is held, while spinlocks will cause the thread to burn CPU.
In WebKit spinlocks, the thread will repeatedly call sched_yield(). This is awesome for
microcontention, but awful when the lock will not be released for a while. In fact, when
critical sections take tens of microseconds or more, the CPU time cost of our spinlocks is
almost 100x more than the CPU time cost of a system lock. This case doesn't arise too
frequently in our current uses of spinlocks, but that's probably because right now there are
places where we make a conscious decision to use system locks - even though they use more
memory and are slower - because we don't want to waste CPU cycles when a thread has to wait a
while to acquire the lock.

The solution is to just implement a modern adaptive mutex in WTF. Luckily, this isn't a new
concept. This patch implements a mutex that is reminiscent of the kinds of low-overhead locks
that JVMs use. The actual implementation here is inspired by some of the ideas from [1]. The
idea is simple: the fast path is an inlined CAS to immediately acquire a lock that isn't held,
the slow path tries some number of spins to acquire the lock, and if that fails, the thread is
put on a queue and put to sleep. The queue is made up of statically allocated thread nodes and
the lock itself is a tagged pointer: either it is just bits telling us the complete lock state
(not held or held) or it is a pointer to the head of a queue of threads waiting to acquire the
lock. This approach gives WTF::Lock three different levels of adaptation: an inlined fast path
if the lock is not contended, a short burst of spinning for microcontention, and a full-blown
queue for critical sections that are held for a long time.

On a locking microbenchmark, this new Lock exhibits the following performance
characteristics:

- Lock+unlock on an uncontended no-op critical section: 2x slower than SpinLock and 3x faster
  than a system mutex.

- Lock+unlock on a contended no-op critical section: 2x slower than SpinLock and 100x faster
  than a system mutex.

- CPU time spent in lock() on a lock held for a while: same as system mutex, 90x less than a
  SpinLock.

- Memory usage: sizeof(void*), so on 64-bit it's 8x less than a system mutex but 2x worse than
  a SpinLock.

This patch replaces all uses of SpinLock with Lock, since our critical sections are not
no-ops so if you do basically anything in your critical section, the Lock overhead will be
invisible. Also, in all places where we used SpinLock, we could tolerate 8 bytes of overhead
instead of 4. Performance benchmarking using JSC macrobenchmarks shows no difference, which is
as it should be: the purpose of this change is to reduce CPU time wasted, not wallclock time.
This patch doesn't replace any uses of ByteSpinLock, since we expect that the space benefits
of having a lock that just uses a byte are still better than the CPU wastage benefits of
Lock. But, this work will enable some future work to create locks that will fit in just 1.6
bits: https://bugs.webkit.org/show_bug.cgi?id=147665.

Rolling this back in after fixing Lock::unlockSlow() for architectures that have a truly weak
CAS. Since the Lock::unlock() fast path can go to slow path spuriously, it may go there even if
there aren't any threads on the Lock's queue. So, unlockSlow() must be able to deal with the
possibility of a null queue head.

[1] http://www.filpizlo.com/papers/pizlo-pppj2011-fable.pdf

* WTF.vcxproj/WTF.vcxproj:
* WTF.xcodeproj/project.pbxproj:
* benchmarks: Added.
* benchmarks/LockSpeedTest.cpp: Added.
(main):
* wtf/Atomics.h:
(WTF::Atomic::compareExchangeWeak):
(WTF::Atomic::compareExchangeStrong):
* wtf/CMakeLists.txt:
* wtf/Lock.cpp: Added.
(WTF::LockBase::lockSlow):
(WTF::LockBase::unlockSlow):
* wtf/Lock.h: Added.
(WTF::LockBase::lock):
(WTF::LockBase::unlock):
(WTF::LockBase::isHeld):
(WTF::LockBase::isLocked):
(WTF::Lock::Lock):
* wtf/MetaAllocator.cpp:
(WTF::MetaAllocator::release):
(WTF::MetaAllocatorHandle::shrink):
(WTF::MetaAllocator::allocate):
(WTF::MetaAllocator::currentStatistics):
(WTF::MetaAllocator::addFreshFreeSpace):
(WTF::MetaAllocator::debugFreeSpaceSize):
* wtf/MetaAllocator.h:
* wtf/SpinLock.h:
* wtf/ThreadingPthreads.cpp:
* wtf/ThreadingWin.cpp:
* wtf/text/AtomicString.cpp:
* wtf/text/AtomicStringImpl.cpp:
(WTF::AtomicStringTableLocker::AtomicStringTableLocker):

Tools:

* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/Lock.cpp: Added.
(TestWebKitAPI::runLockTest):
(TestWebKitAPI::TEST):

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

4 years agoPost-review comments on r188146
mmaxfield@apple.com [Fri, 7 Aug 2015 21:55:17 +0000 (21:55 +0000)]
Post-review comments on r188146
https://bugs.webkit.org/show_bug.cgi?id=147793

Reviewed by Daniel Bates.

No new tests because there is no behavior change.

* platform/graphics/FontCache.h:
* platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::appendTrueTypeFeature):
(WebCore::appendOpenTypeFeature):
(WebCore::applyFontFeatureSettings):
* platform/graphics/ios/FontCacheIOS.mm:
(WebCore::FontCache::getSystemFontFallbackForCharacters):
(WebCore::FontCache::createFontPlatformData):
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::fontWithFamily):
(WebCore::FontCache::systemFallbackForCharacters):
* platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::updateCachedSystemFontDescription):

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

4 years agoSource/WebCore:
mmaxfield@apple.com [Fri, 7 Aug 2015 21:49:42 +0000 (21:49 +0000)]
Source/WebCore:
[Cocoa] Font fallback is not language-sensitive
https://bugs.webkit.org/show_bug.cgi?id=147390

Reviewed by Dean Jackson.

We need to make our font fallback code sensitive to locale.

This patch rolls r187729 back in. However, only particular versions of iOS and OS X are
performant enough to enable this language-sensitivity.

This patch also applies to iOS.

Test: fast/text/fallback-language-han.html

* platform/graphics/mac/FontCacheMac.mm:
(WebCore::lookupCTFont):
(WebCore::FontCache::systemFallbackForCharacters):
* platform/graphics/mac/FontCacheIOS.mm:
(WebCore::FontCache::systemFallbackForCharacters):

LayoutTests:
[OS X] Font fallback is not language-sensitive
https://bugs.webkit.org/show_bug.cgi?id=147390

Reviewed by Dean Jackson.

This test is expected to fail most places.

* fast/text/fallback-language-han-expected.html: Added.
* fast/text/fallback-language-han.html: Added.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/win/TestExpectations:
* platform/mac/TestExpectations:
* platform/iOS/TestExpectations:

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

4 years agoRenderTheme::volumeSliderOffsetFromMuteButton should take const& RenderBox.
zalan@apple.com [Fri, 7 Aug 2015 21:44:56 +0000 (21:44 +0000)]
RenderTheme::volumeSliderOffsetFromMuteButton should take const& RenderBox.
https://bugs.webkit.org/show_bug.cgi?id=147731

Reviewed by Simon Fraser.

No change in functionality.

* rendering/RenderMediaControlElements.cpp:
(WebCore::RenderMediaVolumeSliderContainer::layout):
* rendering/RenderMediaControls.cpp:
(WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton): Deleted.
* rendering/RenderMediaControls.h:
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
* rendering/RenderTheme.h:

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

4 years agoReplace RenderObject::isRooted() logic with isDescendantOf().
zalan@apple.com [Fri, 7 Aug 2015 21:30:35 +0000 (21:30 +0000)]
Replace RenderObject::isRooted() logic with isDescendantOf().
https://bugs.webkit.org/show_bug.cgi?id=147788

Reviewed by Simon Fraser.

And some related cleanups.

No change in functionality.

* page/FrameView.cpp:
(WebCore::FrameView::scheduleRelayoutOfSubtree):
(WebCore::FrameView::extendedBackgroundRectForPainting):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintRootBoxFillLayers):
* rendering/RenderElement.cpp:
(WebCore::shouldRepaintForImageAnimation):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::isDescendantOf):
(WebCore::scheduleRelayoutForSubtree):
(WebCore::RenderObject::repaint):
(WebCore::RenderObject::repaintRectangle):
(WebCore::RenderObject::repaintSlowRepaintObject):
(WebCore::RenderObject::isRooted):
* rendering/RenderObject.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::unextendedBackgroundRect):
(WebCore::RenderView::backgroundRect):
* rendering/RenderView.h:

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

4 years agoSubtree layout code should use RenderElement.
zalan@apple.com [Fri, 7 Aug 2015 21:25:34 +0000 (21:25 +0000)]
Subtree layout code should use RenderElement.
https://bugs.webkit.org/show_bug.cgi?id=147694

Reviewed by Simon Fraser.

Subtree layout will never begin at a RenderText, so tighten up
the code to operate on RenderElements instead of RenderObjects.
(This patch is based on webkit.org/b/126878)

No change in functionality.

* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::willLayout):
* page/FrameView.cpp:
(WebCore::FrameView::FrameView): Deleted.
(WebCore::FrameView::layoutRoot): Deleted.
* page/FrameView.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalWidthInRegion):
* rendering/RenderElement.cpp:
(WebCore::RenderElement::clearLayoutRootIfNeeded):
(WebCore::RenderElement::willBeDestroyed):
* rendering/RenderElement.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::clearLayoutRootIfNeeded): Deleted.
(WebCore::RenderObject::willBeDestroyed): Deleted.
* rendering/RenderObject.h:

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

4 years agoTemporarily allow programmatic input assistance for adding Gmail account
wenson_hsieh@apple.com [Fri, 7 Aug 2015 21:12:47 +0000 (21:12 +0000)]
Temporarily allow programmatic input assistance for adding Gmail account
https://bugs.webkit.org/show_bug.cgi?id=147792

Reviewed by Enrica Casucci.
<rdar://problem/22126518>

Temporary fix for keyboard input sliding out and immediately back in upon user interaction
in the Gmail 2-factor authentication page.

Source/WebCore:

* platform/RuntimeApplicationChecksIOS.h:
* platform/RuntimeApplicationChecksIOS.mm:
(WebCore::applicationIsGmailAddAccountOnIOS): Added bundle ID for Gmail settings.

Source/WebKit2:

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]): Early
    return no longer triggers due to lack of user interaction when adding a new Gmail account
    through Settings.

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

4 years agoFix a tyop.
andersca@apple.com [Fri, 7 Aug 2015 21:12:16 +0000 (21:12 +0000)]
Fix a tyop.

* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::viewSupportsOptions):

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

4 years agoMove platform/mac/fast/scrolling/ tests into fast/scrolling/latching/
simon.fraser@apple.com [Fri, 7 Aug 2015 21:07:55 +0000 (21:07 +0000)]
Move platform/mac/fast/scrolling/ tests into fast/scrolling/latching/

* TestExpectations:
* fast/scrolling/latching/iframe_in_iframe-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/iframe_in_iframe-expected.txt.
* fast/scrolling/latching/iframe_in_iframe.html: Renamed from LayoutTests/platform/mac/fast/scrolling/iframe_in_iframe.html.
* fast/scrolling/latching/resources/background.html: Renamed from LayoutTests/platform/mac/fast/scrolling/resources/background.html.
* fast/scrolling/latching/resources/inner_content.html: Renamed from LayoutTests/platform/mac/fast/scrolling/resources/inner_content.html.
* fast/scrolling/latching/resources/scroll_nested_iframe_test_inner.html: Renamed from LayoutTests/platform/mac/fast/scrolling/resources/scroll_nested_iframe_test_inner.html.
* fast/scrolling/latching/resources/scroll_nested_iframe_test_outer.html: Renamed from LayoutTests/platform/mac/fast/scrolling/resources/scroll_nested_iframe_test_outer.html.
* fast/scrolling/latching/resources/testContent.html: Renamed from LayoutTests/platform/mac/fast/scrolling/resources/testContent.html.
* fast/scrolling/latching/resources/testImage.png: Renamed from LayoutTests/platform/mac/fast/scrolling/resources/testImage.png.
* fast/scrolling/latching/scroll-div-latched-div-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-div-latched-div-expected.txt.
* fast/scrolling/latching/scroll-div-latched-div.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-div-latched-div.html.
* fast/scrolling/latching/scroll-div-latched-mainframe-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-div-latched-mainframe-expected.txt.
* fast/scrolling/latching/scroll-div-latched-mainframe.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-div-latched-mainframe.html.
* fast/scrolling/latching/scroll-div-no-latching-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-div-no-latching-expected.txt.
* fast/scrolling/latching/scroll-div-no-latching.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-div-no-latching.html.
* fast/scrolling/latching/scroll-div-with-nested-nonscrollable-iframe-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-div-with-nested-nonscrollable-iframe-expected.txt.
* fast/scrolling/latching/scroll-div-with-nested-nonscrollable-iframe.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-div-with-nested-nonscrollable-iframe.html.
* fast/scrolling/latching/scroll-iframe-fragment-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-iframe-fragment-expected.txt.
* fast/scrolling/latching/scroll-iframe-fragment.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-iframe-fragment.html.
* fast/scrolling/latching/scroll-iframe-latched-iframe-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-iframe-latched-iframe-expected.txt.
* fast/scrolling/latching/scroll-iframe-latched-iframe.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-iframe-latched-iframe.html.
* fast/scrolling/latching/scroll-iframe-latched-mainframe-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-iframe-latched-mainframe-expected.txt.
* fast/scrolling/latching/scroll-iframe-latched-mainframe.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-iframe-latched-mainframe.html.
* fast/scrolling/latching/scroll-iframe-webkit1-latching-bug-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-iframe-webkit1-latching-bug-expected.txt.
* fast/scrolling/latching/scroll-iframe-webkit1-latching-bug.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-iframe-webkit1-latching-bug.html.
* fast/scrolling/latching/scroll-latched-nested-div-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-latched-nested-div-expected.txt.
* fast/scrolling/latching/scroll-latched-nested-div.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-latched-nested-div.html.
* fast/scrolling/latching/scroll-nested-iframe-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-nested-iframe-expected.txt.
* fast/scrolling/latching/scroll-nested-iframe.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-nested-iframe.html.
* fast/scrolling/latching/scroll-select-bottom-test-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-select-bottom-test-expected.txt.
* fast/scrolling/latching/scroll-select-bottom-test.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-select-bottom-test.html.
* fast/scrolling/latching/scroll-select-latched-mainframe-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-select-latched-mainframe-expected.txt.
* fast/scrolling/latching/scroll-select-latched-mainframe.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-select-latched-mainframe.html.
* fast/scrolling/latching/scroll-select-latched-select-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-select-latched-select-expected.txt.
* fast/scrolling/latching/scroll-select-latched-select.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-select-latched-select.html.
* platform/mac-wk1/TestExpectations:
* platform/mac/TestExpectations:

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

4 years agoMove platform/mac/fast/forms/ tests to fast/forms/
simon.fraser@apple.com [Fri, 7 Aug 2015 21:07:40 +0000 (21:07 +0000)]
Move platform/mac/fast/forms/ tests to fast/forms/

* TestExpectations:
* fast/forms/attributed-strings-expected.txt: Renamed from LayoutTests/platform/mac/fast/forms/attributed-strings-expected.txt.
* fast/forms/attributed-strings.html: Renamed from LayoutTests/platform/mac/fast/forms/attributed-strings.html.
* fast/forms/focus-option-control-on-page-expected.txt: Renamed from LayoutTests/platform/mac/fast/forms/focus-option-control-on-page-expected.txt.
* fast/forms/focus-option-control-on-page.html: Renamed from LayoutTests/platform/mac/fast/forms/focus-option-control-on-page.html.
* fast/forms/indeterminate-progress-inline-height-expected.txt: Renamed from LayoutTests/platform/mac/fast/forms/indeterminate-progress-inline-height-expected.txt.
* fast/forms/indeterminate-progress-inline-height.html: Renamed from LayoutTests/platform/mac/fast/forms/indeterminate-progress-inline-height.html.
* fast/forms/input-appearance-spinbutton-expected.png: Renamed from LayoutTests/platform/mac/fast/forms/input-appearance-spinbutton-expected.png.
* fast/forms/input-appearance-spinbutton-expected.txt: Renamed from LayoutTests/platform/mac/fast/forms/input-appearance-spinbutton-expected.txt.
* fast/forms/input-appearance-spinbutton-size-expected.txt: Renamed from LayoutTests/platform/mac/fast/forms/input-appearance-spinbutton-size-expected.txt.
* fast/forms/input-appearance-spinbutton-size.html: Renamed from LayoutTests/platform/mac/fast/forms/input-appearance-spinbutton-size.html.
* fast/forms/input-appearance-spinbutton-up-expected.txt: Renamed from LayoutTests/platform/mac/fast/forms/input-appearance-spinbutton-up-expected.txt.
* fast/forms/input-appearance-spinbutton-up.html: Renamed from LayoutTests/platform/mac/fast/forms/input-appearance-spinbutton-up.html.
* fast/forms/input-appearance-spinbutton.html: Renamed from LayoutTests/platform/mac/fast/forms/input-appearance-spinbutton.html.
* fast/forms/input-number-click-expected.txt: Renamed from LayoutTests/platform/mac/fast/forms/input-number-click-expected.txt.
* fast/forms/input-number-click.html: Renamed from LayoutTests/platform/mac/fast/forms/input-number-click.html.
* fast/forms/listbox-scrollbar-hit-test-expected.txt: Renamed from LayoutTests/platform/mac/fast/forms/listbox-scrollbar-hit-test-expected.txt.
* fast/forms/listbox-scrollbar-hit-test.html: Renamed from LayoutTests/platform/mac/fast/forms/listbox-scrollbar-hit-test.html.
* fast/forms/script-tests/focus-option-control-on-page.js: Renamed from LayoutTests/platform/mac/fast/forms/script-tests/focus-option-control-on-page.js.
* platform/mac-wk1/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:
* platform/mac/fast/forms/input-appearance-spinbutton-up-expected.png: Removed.
* platform/wk2/TestExpectations:

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

4 years agoUpdate AppEngine app version numbers to the latest commit.
ap@apple.com [Fri, 7 Aug 2015 20:45:52 +0000 (20:45 +0000)]
Update AppEngine app version numbers to the latest commit.

* QueueStatusServer/app.yaml:
* TestResultServer/app.yaml:

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

4 years agoSimplify WKTR's view options
andersca@apple.com [Fri, 7 Aug 2015 20:35:24 +0000 (20:35 +0000)]
Simplify WKTR's view options
https://bugs.webkit.org/show_bug.cgi?id=147791

Reviewed by Sam Weinig.

Instead of using a WKDictionaryRef, just use a struct for the options.

* WebKitTestRunner/PlatformWebView.h:
(WTR::PlatformWebView::options):
(WTR::PlatformWebView::viewSupportsOptions): Deleted.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::ensureViewSupportsOptions):
(WTR::TestController::updateLayoutTypeForTest):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/ViewOptions.h: Added.
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::viewSupportsOptions):
* WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::viewSupportsOptions):
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::viewSupportsOptions):
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::viewSupportsOptions):
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformConfigureViewForTest):

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

4 years agoCrash when following a Google search link to Twitter with Limit Adult Content enabled
aestes@apple.com [Fri, 7 Aug 2015 20:10:42 +0000 (20:10 +0000)]
Crash when following a Google search link to Twitter with Limit Adult Content enabled
https://bugs.webkit.org/show_bug.cgi?id=147651

Reviewed by Brady Eidson.

When a loaded CachedRawResource gets a new client, it synthesizes the callbacks that the new client would have
received while the resource was loading. Unlike a real network load, it synthesizes these callbacks in a single
run loop iteration. When DocumentLoader receives a redirect, and finds substitute data in the app cache for the
redirect URL, it schedules a timer that removes DocumentLoader as a client of the CachedRawResource then
synthesizes its own set of CachedRawResourceClient callbacks. But since CachedRawResource has already delivered
client callbacks before the app cache timer fires, DocumentLoader unexpectedly ends up getting two sets of
client callbacks and badness ensues.

The fix is to let CachedRawResource detect if a redirect will trigger the client to load substitute data. If so,
stop delivering client callbacks.

Layout test to follow.

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::syntheticRedirectReceived): If there is valid substitute data, do not continue.
* loader/DocumentLoader.h:
* loader/cache/CachedRawResource.cpp: Returned early if syntheticRedirectReceived() said not to continue.
(WebCore::CachedRawResource::didAddClient):
* loader/cache/CachedRawResourceClient.h:
(WebCore::CachedRawResourceClient::syntheticRedirectReceived):

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

4 years agoShadows don't draw on fillText when using a gradient fill
dino@apple.com [Fri, 7 Aug 2015 19:40:45 +0000 (19:40 +0000)]
Shadows don't draw on fillText when using a gradient fill
https://bugs.webkit.org/show_bug.cgi?id=147758
<rdar://problem/20860912>

Reviewed by Myles Maxfield.

Source/WebCore:

Since we use a mask to render a pattern or gradient
into text, any shadow was being clipped out. Change
this to draw the shadow before the mask + fill operation,
using a technique similar to text-shadow.

Test: fast/canvas/gradient-text-with-shadow.html

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawTextInternal): Get the current shadow
style, paint the text with a transformed shadow offset so that we only
see the shadow and not the text, then combine with the existing pattern/gradient
fill.

LayoutTests:

New test that exercises shadows on gradient fills. This really
should be a ref test, but there is a very small rendering difference
caused by masking, so instead it uses JS to look for pixels of
the correct color.

* fast/canvas/gradient-text-with-shadow-expected.txt: Added.
* fast/canvas/gradient-text-with-shadow.html: Added.

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

4 years agoRename some variables in the JSC watchdog implementation.
mark.lam@apple.com [Fri, 7 Aug 2015 19:34:13 +0000 (19:34 +0000)]
Rename some variables in the JSC watchdog implementation.
https://bugs.webkit.org/show_bug.cgi?id=147790

Rubber stamped by Benjamin Poulain.

This is just a refactoring patch to give the variable better names that describe their
intended use.  There is no behavior change.

* runtime/Watchdog.cpp:
(JSC::Watchdog::Watchdog):
(JSC::Watchdog::setTimeLimit):
(JSC::Watchdog::didFire):
(JSC::Watchdog::isEnabled):
(JSC::Watchdog::fire):
(JSC::Watchdog::startCountdownIfNeeded):
* runtime/Watchdog.h:

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

4 years agoImplement font-feature-settings
mmaxfield@apple.com [Fri, 7 Aug 2015 19:09:59 +0000 (19:09 +0000)]
Implement font-feature-settings
https://bugs.webkit.org/show_bug.cgi?id=147722

Reviewed by Simon Fraser.

Source/WebCore:

Fonts with features are simply modeled as new font objects. Font
feature information is contained within FontDescription, and our
caches are correctly sensitive to this information. Therefore,
we just need to make our font lookup code honor the request to
use certain features.

This patch creates a file, FontCacheCoreText.cpp, which will be the
new home of all shared OS X / iOS FontCache code. Over time, I will
be moving more and more source into this file, until there is
nothing left of FontCacheMac.mm and FontCacheIOS.mm. For now, the
only function in this file is the code which applies font features.

Test: css3/font-feature-settings-preinstalled-fonts.html

* WebCore.xcodeproj/project.pbxproj: Add FontCacheCoreText.cpp.
* platform/graphics/FontCache.h:
* platform/graphics/cocoa/FontCacheCoreText.cpp: Added.
(WebCore::appendTrueTypeFeature): What the name says.
(WebCore::appendOpenTypeFeature): Ditto.
(WebCore::applyFontFeatureSettings): Ditto.
* platform/graphics/ios/FontCacheIOS.mm:
(WebCore::FontCache::getSystemFontFallbackForCharacters): Call
applyFontFeatureSettings().
(WebCore::FontCache::createFontPlatformData): Ditto.
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::fontWithFamily): Ditto.
(WebCore::FontCache::systemFallbackForCharacters): Ditto.
(WebCore::FontCache::createFontPlatformData): Ditto.
* platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData): Ditto.
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::updateCachedSystemFontDescription):
Ditto.

LayoutTests:

Until I can make a custom font for reference tests, use a simple dump-render-tree test.

* css3/font-feature-settings-preinstalled-fonts.html: Added.
* platform/mac-yosemite/css3/font-feature-settings-preinstalled-fonts-expected.txt: Added.

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

4 years agoUnreviewed, rolling out r187907.
commit-queue@webkit.org [Fri, 7 Aug 2015 19:08:06 +0000 (19:08 +0000)]
Unreviewed, rolling out r187907.
https://bugs.webkit.org/show_bug.cgi?id=147789

taking a different approach to the fix (Requested by estes on
#webkit).

Reverted changeset:

"Crash when following a Google search link to Twitter with
Limit Adult Content enabled."
https://bugs.webkit.org/show_bug.cgi?id=147651
http://trac.webkit.org/changeset/187907

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

4 years agoSource/JavaScriptCore:
cdumez@apple.com [Fri, 7 Aug 2015 18:51:00 +0000 (18:51 +0000)]
Source/JavaScriptCore:
Interpreter::unwind shouldn't be responsible for assigning the correct scope.
https://bugs.webkit.org/show_bug.cgi?id=147666

Patch by Saam barati <saambarati1@gmail.com> on 2015-08-07
Reviewed by Geoffrey Garen.

If we make the bytecode generator know about every local scope it
creates, and if we give each local scope a unique register, the
bytecode generator has all the information it needs to assign
the correct scope to a catch handler. Because the bytecode generator
knows this information, it's a better separation of responsibilties
for it to set up the proper scope instead of relying on the exception
handling runtime to find the scope.

* bytecode/BytecodeList.json:
* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):
* bytecode/HandlerInfo.h:
(JSC::UnlinkedHandlerInfo::UnlinkedHandlerInfo):
(JSC::HandlerInfo::initialize):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::pushLexicalScopeInternal):
(JSC::BytecodeGenerator::emitGetScope):
(JSC::BytecodeGenerator::emitPushWithScope):
(JSC::BytecodeGenerator::emitGetParentScope):
(JSC::BytecodeGenerator::emitPopScope):
(JSC::BytecodeGenerator::emitPopWithScope):
(JSC::BytecodeGenerator::allocateAndEmitScope):
(JSC::BytecodeGenerator::emitComplexPopScopes):
(JSC::BytecodeGenerator::pushTry):
(JSC::BytecodeGenerator::popTryAndEmitCatch):
(JSC::BytecodeGenerator::localScopeDepth):
(JSC::BytecodeGenerator::calculateTargetScopeDepthForExceptionHandler): Deleted.
* bytecompiler/BytecodeGenerator.h:
* bytecompiler/NodesCodegen.cpp:
(JSC::WithNode::emitBytecode):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::unwind):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_push_with_scope):
(JSC::JIT::compileOpStrictEq):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_push_with_scope):
(JSC::JIT::emit_op_to_number):
* jit/JITOperations.cpp:
* jit/JITOperations.h:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LLIntSlowPaths.h:
* llint/LowLevelInterpreter.asm:
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/CommonSlowPaths.h:
* runtime/JSScope.cpp:
(JSC::JSScope::objectAtScope):
(JSC::isUnscopable):
(JSC::JSScope::depth): Deleted.
* runtime/JSScope.h:

Source/WebCore:
Fix WinCairo build after r188130.

Patch by Alex Christensen <achristensen@webkit.org> on 2015-08-07

* platform/graphics/win/FontCustomPlatformDataCairo.cpp:
(WebCore::FontCustomPlatformData::~FontCustomPlatformData):
(WebCore::FontCustomPlatformData::fontPlatformData):
I forgot the parameter name.

Source/WebKit2:
Move concrete KeyedDecoder/Encoder implementations to WebCore.
https://bugs.webkit.org/show_bug.cgi?id=147757.

Patch by Brady Eidson <beidson@apple.com> on 2015-08-07
Rubberstamped by Andy Estes.

* DatabaseProcess/IndexedDB/IDBSerialization.cpp:
(WebKit::serializeIDBKeyPath):
(WebKit::deserializeIDBKeyPath):
(WebKit::serializeIDBKeyData):
(WebKit::deserializeIDBKeyData):

* PlatformEfl.cmake:
* PlatformGTK.cmake:
* WebKit2.xcodeproj/project.pbxproj:

Source/WTF:
Unreviewed, roll out http://trac.webkit.org/changeset/187972.

Patch by Filip Pizlo <fpizlo@apple.com> on 2015-08-05

* wtf/Atomics.cpp:
(WTF::getSwapLock):
(WTF::atomicStep):
* wtf/MessageQueue.h:
(WTF::MessageQueue::infiniteTime):
(WTF::MessageQueue<DataType>::append):
(WTF::MessageQueue<DataType>::appendAndKill):
(WTF::MessageQueue<DataType>::appendAndCheckEmpty):
(WTF::MessageQueue<DataType>::prepend):
(WTF::MessageQueue<DataType>::removeIf):
(WTF::MessageQueue<DataType>::isEmpty):
(WTF::MessageQueue<DataType>::kill):
(WTF::MessageQueue<DataType>::killed):
* wtf/ParallelJobsGeneric.cpp:
(WTF::ParallelEnvironment::ThreadPrivate::execute):
(WTF::ParallelEnvironment::ThreadPrivate::waitForFinish):
(WTF::ParallelEnvironment::ThreadPrivate::workerThread):
* wtf/ParallelJobsGeneric.h:
* wtf/RunLoop.cpp:
(WTF::RunLoop::performWork):
(WTF::RunLoop::dispatch):
* wtf/RunLoop.h:
* wtf/ThreadSpecificWin.cpp:
(WTF::destructorsList):
(WTF::destructorsMutex):
(WTF::threadSpecificKeyCreate):
(WTF::threadSpecificKeyDelete):
(WTF::ThreadSpecificThreadExit):
* wtf/Threading.cpp:
(WTF::threadEntryPoint):
(WTF::createThread):
* wtf/ThreadingPrimitives.h:
* wtf/ThreadingPthreads.cpp:
(WTF::threadMapMutex):
(WTF::initializeThreading):
(WTF::identifierByPthreadHandle):
(WTF::establishIdentifierForPthreadHandle):
(WTF::changeThreadPriority):
(WTF::waitForThreadCompletion):
(WTF::detachThread):
(WTF::threadDidExit):
(WTF::currentThread):
(WTF::Mutex::Mutex):
(WTF::Mutex::~Mutex):
(WTF::Mutex::lock):
(WTF::Mutex::tryLock):
(WTF::Mutex::unlock):
(WTF::ThreadCondition::~ThreadCondition):
(WTF::ThreadCondition::wait):
(WTF::ThreadCondition::timedWait):
(WTF::DeprecatedMutex::DeprecatedMutex): Deleted.
(WTF::DeprecatedMutex::~DeprecatedMutex): Deleted.
(WTF::DeprecatedMutex::lock): Deleted.
(WTF::DeprecatedMutex::tryLock): Deleted.
(WTF::DeprecatedMutex::unlock): Deleted.
* wtf/ThreadingWin.cpp:
(WTF::initializeCurrentThreadInternal):
(WTF::threadMapMutex):
(WTF::initializeThreading):
(WTF::storeThreadHandleByIdentifier):
(WTF::threadHandleForIdentifier):
(WTF::clearThreadHandleForIdentifier):
(WTF::currentThread):
(WTF::Mutex::Mutex):
(WTF::Mutex::~Mutex):
(WTF::Mutex::lock):
(WTF::Mutex::tryLock):
(WTF::Mutex::unlock):
(WTF::ThreadCondition::~ThreadCondition):
(WTF::ThreadCondition::wait):
(WTF::ThreadCondition::timedWait):
(WTF::DeprecatedMutex::DeprecatedMutex): Deleted.
(WTF::DeprecatedMutex::~DeprecatedMutex): Deleted.
(WTF::DeprecatedMutex::lock): Deleted.
(WTF::DeprecatedMutex::tryLock): Deleted.
(WTF::DeprecatedMutex::unlock): Deleted.
* wtf/WorkQueue.h:
* wtf/dtoa.cpp:
* wtf/dtoa.h:
* wtf/efl/DispatchQueueEfl.cpp:
(DispatchQueue::dispatch):
(DispatchQueue::performWork):
(DispatchQueue::performTimerWork):
(DispatchQueue::insertTimerWorkItem):
(DispatchQueue::wakeUpThread):
(DispatchQueue::getNextTimeOut):
* wtf/efl/DispatchQueueEfl.h:
* wtf/efl/RunLoopEfl.cpp:
(WTF::RunLoop::wakeUpEvent):
(WTF::RunLoop::wakeUp):
* wtf/threads/BinarySemaphore.cpp:
(WTF::BinarySemaphore::signal):
(WTF::BinarySemaphore::wait):
* wtf/threads/BinarySemaphore.h:
* wtf/win/WorkQueueWin.cpp:
(WTF::WorkQueue::handleCallback):
(WTF::WorkQueue::platformInvalidate):
(WTF::WorkQueue::dispatch):
(WTF::WorkQueue::timerCallback):
(WTF::WorkQueue::dispatchAfter):

Tools:
Running tests for a long time results in some tests running very slowly (throttling)
https://bugs.webkit.org/show_bug.cgi?id=147718

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-08-07
Reviewed by Chris Dumez.

Follow-up, make DumpRenderTree consistent with WebKitTestRunner.
Although COCOA ports default this setting to be disabled in WebKit1,
we should make both test harnesses disable the setting for consistency.

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):

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

4 years agoRemove platform/ios-sim-deprecated. All of the tests here exist elsewhere already.
simon.fraser@apple.com [Fri, 7 Aug 2015 18:40:22 +0000 (18:40 +0000)]
Remove platform/ios-sim-deprecated. All of the tests here exist elsewhere already.

* platform/ios-sim-deprecated/: Removed.

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

4 years agoWeb Inspector: move LayoutTests/inspector-protocol/ tests to LayoutTests/inspector/
burg@cs.washington.edu [Fri, 7 Aug 2015 18:33:16 +0000 (18:33 +0000)]
Web Inspector: move LayoutTests/inspector-protocol/ tests to LayoutTests/inspector/
https://bugs.webkit.org/show_bug.cgi?id=147729

Reviewed by Timothy Hatcher.

Merge inspector-protocol tests into the inspector directory. Rename a few helper
resources whose names clashed. Put top-level tests into unit-tests/ and protocol/.

Update TestExpectations to not reference inspector-protocol paths.

* TestExpectations:
* http/tests/inspector/resources/console-test.js: Renamed from LayoutTests/inspector-protocol/resources/console-test.js.
* http/tests/inspector/resources/probe-test.js: Renamed from LayoutTests/inspector-protocol/resources/probe-helper.js.
* inspector-protocol/debugger/resources/breakpoint.js: Removed.
* inspector/console/console-message-expected.txt: Renamed from LayoutTests/inspector-protocol/console/console-message-expected.txt.
* inspector/console/console-message.html: Renamed from LayoutTests/inspector-protocol/console/console-message.html.
* inspector/console/css-source-locations-expected.txt: Renamed from LayoutTests/inspector-protocol/console/css-source-locations-expected.txt.
* inspector/console/css-source-locations.html: Renamed from LayoutTests/inspector-protocol/console/css-source-locations.html.
* inspector/console/js-source-locations-expected.txt: Renamed from LayoutTests/inspector-protocol/console/js-source-locations-expected.txt.
* inspector/console/js-source-locations.html: Renamed from LayoutTests/inspector-protocol/console/js-source-locations.html.
* inspector/console/resources/errors.css: Renamed from LayoutTests/inspector-protocol/resources/errors.css.
(div):
* inspector/console/resources/errors.js: Renamed from LayoutTests/inspector-protocol/resources/errors.js.
(foo):
* inspector/console/x-frame-options-message-expected.txt: Renamed from LayoutTests/inspector-protocol/console/x-frame-options-message-expected.txt.
* inspector/console/x-frame-options-message.html: Renamed from LayoutTests/inspector-protocol/console/x-frame-options-message.html.
* inspector/css/getSupportedCSSProperties-expected.txt: Renamed from LayoutTests/inspector-protocol/css/getSupportedCSSProperties-expected.txt.
* inspector/css/getSupportedCSSProperties.html: Renamed from LayoutTests/inspector-protocol/css/getSupportedCSSProperties.html.
* inspector/debugger/breakpoint-action-detach-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-action-detach-expected.txt.
* inspector/debugger/breakpoint-action-detach.html: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-action-detach.html.
* inspector/debugger/breakpoint-action-eval.html:
* inspector/debugger/breakpoint-action-with-exception-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-action-with-exception-expected.txt.
* inspector/debugger/breakpoint-action-with-exception.html: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-action-with-exception.html.
* inspector/debugger/breakpoint-condition-detach-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-condition-detach-expected.txt.
* inspector/debugger/breakpoint-condition-detach.html: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-condition-detach.html.
* inspector/debugger/breakpoint-condition-with-bad-script-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-condition-with-bad-script-expected.txt.
* inspector/debugger/breakpoint-condition-with-bad-script.html: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-condition-with-bad-script.html.
* inspector/debugger/breakpoint-condition-with-exception-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-condition-with-exception-expected.txt.
* inspector/debugger/breakpoint-condition-with-exception.html: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-condition-with-exception.html.
* inspector/debugger/breakpoint-eval-with-exception-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-eval-with-exception-expected.txt.
* inspector/debugger/breakpoint-eval-with-exception.html: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-eval-with-exception.html.
* inspector/debugger/breakpoint-inside-conditons-and-actions-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-inside-conditons-and-actions-expected.txt.
* inspector/debugger/breakpoint-inside-conditons-and-actions.html: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-inside-conditons-and-actions.html.
* inspector/debugger/call-frame-function-name-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/call-frame-function-name-expected.txt.
* inspector/debugger/call-frame-function-name.html: Renamed from LayoutTests/inspector-protocol/debugger/call-frame-function-name.html.
* inspector/debugger/call-frame-this-host-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/call-frame-this-host-expected.txt.
* inspector/debugger/call-frame-this-host.html: Renamed from LayoutTests/inspector-protocol/debugger/call-frame-this-host.html.
* inspector/debugger/call-frame-this-nonstrict-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/call-frame-this-nonstrict-expected.txt.
* inspector/debugger/call-frame-this-nonstrict.html: Renamed from LayoutTests/inspector-protocol/debugger/call-frame-this-nonstrict.html.
* inspector/debugger/call-frame-this-strict-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/call-frame-this-strict-expected.txt.
* inspector/debugger/call-frame-this-strict.html: Renamed from LayoutTests/inspector-protocol/debugger/call-frame-this-strict.html.
* inspector/debugger/debugger-statement-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/debugger-statement-expected.txt.
* inspector/debugger/debugger-statement.html: Renamed from LayoutTests/inspector-protocol/debugger/debugger-statement.html.
* inspector/debugger/didSampleProbe-multiple-probes-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/didSampleProbe-multiple-probes-expected.txt.
* inspector/debugger/didSampleProbe-multiple-probes.html: Renamed from LayoutTests/inspector-protocol/debugger/didSampleProbe-multiple-probes.html.
* inspector/debugger/hit-breakpoint-from-console-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/hit-breakpoint-from-console-expected.txt.
* inspector/debugger/hit-breakpoint-from-console.html: Renamed from LayoutTests/inspector-protocol/debugger/hit-breakpoint-from-console.html.
* inspector/debugger/nested-inspectors-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/nested-inspectors-expected.txt.
* inspector/debugger/nested-inspectors.html: Renamed from LayoutTests/inspector-protocol/debugger/nested-inspectors.html.
* inspector/debugger/pause-dedicated-worker-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/pause-dedicated-worker-expected.txt.
* inspector/debugger/pause-dedicated-worker.html: Renamed from LayoutTests/inspector-protocol/debugger/pause-dedicated-worker.html.
* inspector/debugger/pause-on-assert-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/pause-on-assert-expected.txt.
* inspector/debugger/pause-on-assert.html: Renamed from LayoutTests/inspector-protocol/debugger/pause-on-assert.html.
* inspector/debugger/probe-manager-add-remove-actions.html:
* inspector/debugger/regress-133182-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/regress-133182-expected.txt.
* inspector/debugger/regress-133182.html: Renamed from LayoutTests/inspector-protocol/debugger/regress-133182.html.
* inspector/debugger/removeBreakpoint-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/removeBreakpoint-expected.txt.
* inspector/debugger/removeBreakpoint.html: Renamed from LayoutTests/inspector-protocol/debugger/removeBreakpoint.html.
* inspector/debugger/resources/assert.js: Renamed from LayoutTests/inspector-protocol/debugger/resources/assert.js.
* inspector/debugger/resources/dedicated-worker.js: Renamed from LayoutTests/inspector-protocol/debugger/resources/dedicated-worker.js.
* inspector/debugger/resources/exception.js: Renamed from LayoutTests/inspector-protocol/debugger/resources/exception.js.
* inspector/debugger/resources/mac-linebreaks.js: Renamed from LayoutTests/inspector-protocol/debugger/resources/mac-linebreaks.js.
* inspector/debugger/resources/mixed-linebreaks.js: Renamed from LayoutTests/inspector-protocol/debugger/resources/mixed-linebreaks.js.
* inspector/debugger/resources/script-for-breakpoint-actions.js: Copied from LayoutTests/inspector/debugger/resources/breakpoint.js.
* inspector/debugger/resources/unix-linebreaks.js: Renamed from LayoutTests/inspector-protocol/debugger/resources/unix-linebreaks.js.
* inspector/debugger/resources/windows-linebreaks.js: Renamed from LayoutTests/inspector-protocol/debugger/resources/windows-linebreaks.js.
* inspector/debugger/searchInContent-linebreaks-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/searchInContent-linebreaks-expected.txt.
* inspector/debugger/searchInContent-linebreaks.html: Renamed from LayoutTests/inspector-protocol/debugger/searchInContent-linebreaks.html.
* inspector/debugger/setBreakpoint-actions-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-actions-expected.txt.
* inspector/debugger/setBreakpoint-actions.html: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-actions.html.
* inspector/debugger/setBreakpoint-autoContinue-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-autoContinue-expected.txt.
* inspector/debugger/setBreakpoint-autoContinue.html: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-autoContinue.html.
* inspector/debugger/setBreakpoint-column-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-column-expected.txt.
* inspector/debugger/setBreakpoint-column.html: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-column.html.
* inspector/debugger/setBreakpoint-column.txt: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-column.txt.
* inspector/debugger/setBreakpoint-condition-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-condition-expected.txt.
* inspector/debugger/setBreakpoint-condition.html: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-condition.html.
* inspector/debugger/setBreakpoint-dfg-and-modify-local-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-dfg-and-modify-local-expected.txt.
* inspector/debugger/setBreakpoint-dfg-and-modify-local.html: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-dfg-and-modify-local.html.
* inspector/debugger/setBreakpoint-dfg-callee-and-examine-dfg-local-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-dfg-callee-and-examine-dfg-local-expected.txt.
* inspector/debugger/setBreakpoint-dfg-callee-and-examine-dfg-local.html: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-dfg-callee-and-examine-dfg-local.html.
* inspector/debugger/setBreakpoint-dfg-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-dfg-expected.txt.
* inspector/debugger/setBreakpoint-dfg.html: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-dfg.html.
* inspector/debugger/setBreakpoint-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-expected.txt.
* inspector/debugger/setBreakpoint-options-exception-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-options-exception-expected.txt.
* inspector/debugger/setBreakpoint-options-exception.html: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-options-exception.html.
* inspector/debugger/setBreakpoint.html: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint.html.
* inspector/debugger/setBreakpointByUrl-sourceURL-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpointByUrl-sourceURL-expected.txt.
* inspector/debugger/setBreakpointByUrl-sourceURL.html: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpointByUrl-sourceURL.html.
* inspector/debugger/setPauseOnExceptions-all-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-all-expected.txt.
* inspector/debugger/setPauseOnExceptions-all.html: Renamed from LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-all.html.
* inspector/debugger/setPauseOnExceptions-none-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-none-expected.txt.
* inspector/debugger/setPauseOnExceptions-none.html: Renamed from LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-none.html.
* inspector/debugger/setPauseOnExceptions-uncaught-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-uncaught-expected.txt.
* inspector/debugger/setPauseOnExceptions-uncaught.html: Renamed from LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-uncaught.html.
* inspector/debugger/setVariableValue-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setVariableValue-expected.txt.
* inspector/debugger/setVariableValue.html: Renamed from LayoutTests/inspector-protocol/debugger/setVariableValue.html.
* inspector/debugger/terminate-dedicated-worker-while-paused-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/terminate-dedicated-worker-while-paused-expected.txt.
* inspector/debugger/terminate-dedicated-worker-while-paused.html: Renamed from LayoutTests/inspector-protocol/debugger/terminate-dedicated-worker-while-paused.html.
* inspector/dom-debugger/node-removed-expected.txt: Renamed from LayoutTests/inspector-protocol/dom-debugger/node-removed-expected.txt.
* inspector/dom-debugger/node-removed.html: Renamed from LayoutTests/inspector-protocol/dom-debugger/node-removed.html.
* inspector/dom/dom-remove-events-expected.txt: Renamed from LayoutTests/inspector-protocol/dom/dom-remove-events-expected.txt.
* inspector/dom/dom-remove-events.html: Renamed from LayoutTests/inspector-protocol/dom/dom-remove-events.html.
* inspector/dom/dom-search-crash-expected.txt: Renamed from LayoutTests/inspector-protocol/dom/dom-search-crash-expected.txt.
* inspector/dom/dom-search-crash.html: Renamed from LayoutTests/inspector-protocol/dom/dom-search-crash.html.
* inspector/dom/dom-search-expected.txt: Renamed from LayoutTests/inspector-protocol/dom/dom-search-expected.txt.
* inspector/dom/dom-search-with-context-expected.txt: Renamed from LayoutTests/inspector-protocol/dom/dom-search-with-context-expected.txt.
* inspector/dom/dom-search-with-context.html: Renamed from LayoutTests/inspector-protocol/dom/dom-search-with-context.html.
* inspector/dom/dom-search.html: Renamed from LayoutTests/inspector-protocol/dom/dom-search.html.
* inspector/dom/focus-expected.txt: Renamed from LayoutTests/inspector-protocol/dom/focus-expected.txt.
* inspector/dom/focus.html: Renamed from LayoutTests/inspector-protocol/dom/focus.html.
* inspector/dom/getAccessibilityPropertiesForNode-expected.txt: Renamed from LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt.
* inspector/dom/getAccessibilityPropertiesForNode.html: Renamed from LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode.html.
* inspector/dom/getAccessibilityPropertiesForNode_liveRegion-expected.txt: Renamed from LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion-expected.txt.
* inspector/dom/getAccessibilityPropertiesForNode_liveRegion.html: Renamed from LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html.
* inspector/dom/getAccessibilityPropertiesForNode_mouseEventNodeId-expected.txt: Renamed from LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode_mouseEventNodeId-expected.txt.
* inspector/dom/getAccessibilityPropertiesForNode_mouseEventNodeId.html: Renamed from LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode_mouseEventNodeId.html.
* inspector/dom/highlight-flow-with-no-region-expected.txt: Renamed from LayoutTests/inspector-protocol/dom/highlight-flow-with-no-region-expected.txt.
* inspector/dom/highlight-flow-with-no-region.html: Renamed from LayoutTests/inspector-protocol/dom/highlight-flow-with-no-region.html.
* inspector/dom/remove-multiple-nodes-expected.txt: Renamed from LayoutTests/inspector-protocol/dom/remove-multiple-nodes-expected.txt.
* inspector/dom/remove-multiple-nodes.html: Renamed from LayoutTests/inspector-protocol/dom/remove-multiple-nodes.html.
* inspector/dom/request-child-nodes-depth-expected.txt: Renamed from LayoutTests/inspector-protocol/dom/request-child-nodes-depth-expected.txt.
* inspector/dom/request-child-nodes-depth.html: Renamed from LayoutTests/inspector-protocol/dom/request-child-nodes-depth.html.
* inspector/dom/resources/dom-search-crash-iframe.html: Renamed from LayoutTests/inspector-protocol/dom/resources/dom-search-crash-iframe.html.
* inspector/dom/resources/dom-search-iframe.html: Renamed from LayoutTests/inspector-protocol/dom/resources/dom-search-iframe.html.
* inspector/dom/resources/dom-search-queries.js: Renamed from LayoutTests/inspector-protocol/dom/resources/dom-search-queries.js.
* inspector/layers/layers-anonymous-expected.txt: Renamed from LayoutTests/inspector-protocol/layers/layers-anonymous-expected.txt.
* inspector/layers/layers-anonymous.html: Renamed from LayoutTests/inspector-protocol/layers/layers-anonymous.html.
* inspector/layers/layers-blending-compositing-reasons-expected.txt: Renamed from LayoutTests/inspector-protocol/layers/layers-blending-compositing-reasons-expected.txt.
* inspector/layers/layers-blending-compositing-reasons.html: Renamed from LayoutTests/inspector-protocol/layers/layers-blending-compositing-reasons.html.
* inspector/layers/layers-compositing-reasons-expected.txt: Renamed from LayoutTests/inspector-protocol/layers/layers-compositing-reasons-expected.txt.
* inspector/layers/layers-compositing-reasons.html: Renamed from LayoutTests/inspector-protocol/layers/layers-compositing-reasons.html.
* inspector/layers/layers-for-node-expected.txt: Renamed from LayoutTests/inspector-protocol/layers/layers-for-node-expected.txt.
* inspector/layers/layers-for-node.html: Renamed from LayoutTests/inspector-protocol/layers/layers-for-node.html.
* inspector/layers/layers-generated-content-expected.txt: Renamed from LayoutTests/inspector-protocol/layers/layers-generated-content-expected.txt.
* inspector/layers/layers-generated-content.html: Renamed from LayoutTests/inspector-protocol/layers/layers-generated-content.html.
* inspector/layers/layers-reflected-content-expected.txt: Renamed from LayoutTests/inspector-protocol/layers/layers-reflected-content-expected.txt.
* inspector/layers/layers-reflected-content.html: Renamed from LayoutTests/inspector-protocol/layers/layers-reflected-content.html.
* inspector/page/archive-expected.txt: Renamed from LayoutTests/inspector-protocol/page/archive-expected.txt.
* inspector/page/archive.html: Renamed from LayoutTests/inspector-protocol/page/archive.html.
* inspector/page/frameScheduledNavigation-expected.txt: Renamed from LayoutTests/inspector-protocol/page/frameScheduledNavigation-expected.txt.
* inspector/page/frameScheduledNavigation.html: Renamed from LayoutTests/inspector-protocol/page/frameScheduledNavigation.html.
* inspector/page/frameStartedLoading-expected.txt: Renamed from LayoutTests/inspector-protocol/page/frameStartedLoading-expected.txt.
* inspector/page/frameStartedLoading.html: Renamed from LayoutTests/inspector-protocol/page/frameStartedLoading.html.
* inspector/page/javascriptDialogEvents-expected.txt: Renamed from LayoutTests/inspector-protocol/page/javascriptDialogEvents-expected.txt.
* inspector/page/javascriptDialogEvents.html: Renamed from LayoutTests/inspector-protocol/page/javascriptDialogEvents.html.
* inspector/page/resources/blank.html: Renamed from LayoutTests/inspector-protocol/page/resources/blank.html.
* inspector/page/setEmulatedMedia-expected.txt: Renamed from LayoutTests/inspector-protocol/page/setEmulatedMedia-expected.txt.
* inspector/page/setEmulatedMedia.html: Renamed from LayoutTests/inspector-protocol/page/setEmulatedMedia.html.
* inspector/protocol/protocol-promise-result-expected.txt: Renamed from LayoutTests/inspector/protocol-promise-result-expected.txt.
* inspector/protocol/protocol-promise-result.html: Renamed from LayoutTests/inspector/protocol-promise-result.html.
* inspector/runtime/getProperties-expected.txt: Renamed from LayoutTests/inspector-protocol/runtime/getProperties-expected.txt.
* inspector/runtime/getProperties.html: Renamed from LayoutTests/inspector-protocol/runtime/getProperties.html.
* inspector/unit-tests/async-test-suite-expected.txt: Renamed from LayoutTests/inspector-protocol/async-test-suite-expected.txt.
* inspector/unit-tests/async-test-suite.html: Renamed from LayoutTests/inspector-protocol/async-test-suite.html.
* inspector/unit-tests/event-listener-expected.txt: Renamed from LayoutTests/inspector/event-listener-expected.txt.
* inspector/unit-tests/event-listener-set-expected.txt: Renamed from LayoutTests/inspector/event-listener-set-expected.txt.
* inspector/unit-tests/event-listener-set.html: Renamed from LayoutTests/inspector/event-listener-set.html.
* inspector/unit-tests/event-listener.html: Renamed from LayoutTests/inspector/event-listener.html.
* inspector/unit-tests/sync-test-suite-expected.txt: Renamed from LayoutTests/inspector-protocol/sync-test-suite-expected.txt.
* inspector/unit-tests/sync-test-suite.html: Renamed from LayoutTests/inspector-protocol/sync-test-suite.html.
* inspector/unit-tests/test-harness-trivially-works-expected.txt: Renamed from LayoutTests/inspector/test-harness-trivially-works-expected.txt.
* inspector/unit-tests/test-harness-trivially-works.html: Renamed from LayoutTests/inspector/test-harness-trivially-works.html.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/ios-simulator-wk1/TestExpectations:
* platform/ios-simulator-wk2/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:
* platform/win/TestExpectations:

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

4 years agoFix WinCairo build after r188130.
achristensen@apple.com [Fri, 7 Aug 2015 18:27:16 +0000 (18:27 +0000)]
Fix WinCairo build after r188130.

* platform/graphics/win/FontCustomPlatformDataCairo.cpp:
(WebCore::FontCustomPlatformData::~FontCustomPlatformData):
(WebCore::FontCustomPlatformData::fontPlatformData):
I forgot the parameter name.

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

4 years agoFix WinCairo build after r188130.
achristensen@apple.com [Fri, 7 Aug 2015 18:22:59 +0000 (18:22 +0000)]
Fix WinCairo build after r188130.

* platform/graphics/win/FontCustomPlatformDataCairo.cpp:
(WebCore::FontCustomPlatformData::~FontCustomPlatformData):
(WebCore::FontCustomPlatformData::fontPlatformData):
Update fontPlatformData parameters.

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

4 years agoRunning tests for a long time results in some tests running very slowly (throttling)
joepeck@webkit.org [Fri, 7 Aug 2015 18:11:28 +0000 (18:11 +0000)]
Running tests for a long time results in some tests running very slowly (throttling)
https://bugs.webkit.org/show_bug.cgi?id=147718

Reviewed by Chris Dumez.

Follow-up, make DumpRenderTree consistent with WebKitTestRunner.
Although COCOA ports default this setting to be disabled in WebKit1,
we should make both test harnesses disable the setting for consistency.

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):

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

4 years agoWeb Inspector: Option+Up/Down arrow keys should increment/decrement numbers in HTML...
drousso@apple.com [Fri, 7 Aug 2015 17:58:45 +0000 (17:58 +0000)]
Web Inspector: Option+Up/Down arrow keys should increment/decrement numbers in HTML and SVG attributes
https://bugs.webkit.org/show_bug.cgi?id=147317

Reviewed by Timothy Hatcher.

If the value under the cursor in an HTML element attribute is a number, pressing alt and
up/down will increment/decrement the number value and apply that change to the element.

* UserInterface/Views/BoxModelDetailsSectionRow.js:
(WebInspector.BoxModelDetailsSectionRow.prototype._alteredFloatNumber):
(WebInspector.BoxModelDetailsSectionRow.prototype._handleKeyDown):
* UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement.prototype._startEditingAttribute):
(WebInspector.DOMTreeElement.prototype._attributeEditingCommitted):
(WebInspector.DOMTreeElement.prototype._attributeNumberEditingCommitted):
* UserInterface/Views/EditingSupport.js:
(WebInspector.EditingConfig.prototype.setNumberCommitHandler):
(WebInspector.startEditing.defaultFinishHandler):
(WebInspector.startEditing.handleEditingResult):

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

4 years agoAttempt to fix the Windows build after <http://trac.webkit.org/changeset/188130>
dbates@webkit.org [Fri, 7 Aug 2015 17:47:28 +0000 (17:47 +0000)]
Attempt to fix the Windows build after <trac.webkit.org/changeset/188130>
(https://bugs.webkit.org/show_bug.cgi?id=147775)

Include header FontDescription.h.

* platform/graphics/win/FontCustomPlatformData.cpp:
* platform/graphics/win/FontCustomPlatformDataCairo.cpp:

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

4 years agoInterpreter::unwind shouldn't be responsible for assigning the correct scope.
saambarati1@gmail.com [Fri, 7 Aug 2015 17:41:22 +0000 (17:41 +0000)]
Interpreter::unwind shouldn't be responsible for assigning the correct scope.
https://bugs.webkit.org/show_bug.cgi?id=147666

Reviewed by Geoffrey Garen.

If we make the bytecode generator know about every local scope it
creates, and if we give each local scope a unique register, the
bytecode generator has all the information it needs to assign
the correct scope to a catch handler. Because the bytecode generator
knows this information, it's a better separation of responsibilties
for it to set up the proper scope instead of relying on the exception
handling runtime to find the scope.

* bytecode/BytecodeList.json:
* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):
* bytecode/HandlerInfo.h:
(JSC::UnlinkedHandlerInfo::UnlinkedHandlerInfo):
(JSC::HandlerInfo::initialize):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::pushLexicalScopeInternal):
(JSC::BytecodeGenerator::emitGetScope):
(JSC::BytecodeGenerator::emitPushWithScope):
(JSC::BytecodeGenerator::emitGetParentScope):
(JSC::BytecodeGenerator::emitPopScope):
(JSC::BytecodeGenerator::emitPopWithScope):
(JSC::BytecodeGenerator::allocateAndEmitScope):
(JSC::BytecodeGenerator::emitComplexPopScopes):
(JSC::BytecodeGenerator::pushTry):
(JSC::BytecodeGenerator::popTryAndEmitCatch):
(JSC::BytecodeGenerator::localScopeDepth):
(JSC::BytecodeGenerator::calculateTargetScopeDepthForExceptionHandler): Deleted.
* bytecompiler/BytecodeGenerator.h:
* bytecompiler/NodesCodegen.cpp:
(JSC::WithNode::emitBytecode):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::unwind):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_push_with_scope):
(JSC::JIT::compileOpStrictEq):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_push_with_scope):
(JSC::JIT::emit_op_to_number):
* jit/JITOperations.cpp:
* jit/JITOperations.h:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LLIntSlowPaths.h:
* llint/LowLevelInterpreter.asm:
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/CommonSlowPaths.h:
* runtime/JSScope.cpp:
(JSC::JSScope::objectAtScope):
(JSC::isUnscopable):
(JSC::JSScope::depth): Deleted.
* runtime/JSScope.h:

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

4 years agoAdd MacroAssembler::patchableBranch64 and fix ARM64's patchableBranchPtr
utatane.tea@gmail.com [Fri, 7 Aug 2015 17:31:27 +0000 (17:31 +0000)]
Add MacroAssembler::patchableBranch64 and fix ARM64's patchableBranchPtr
https://bugs.webkit.org/show_bug.cgi?id=147761

Reviewed by Mark Lam.

This patch implements MacroAssembler::patchableBranch64 in 64bit environments.
And fix the existing MacroAssemblerARM64::patchableBranchPtr, before this patch,
it truncates the immediate pointer into the 32bit immediate.
And use patchableBranch64 in the baseline JIT under the JSVALUE64 configuration.

* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::patchableBranchPtr):
(JSC::MacroAssemblerARM64::patchableBranch64):
* assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::patchableBranch64):
* jit/JIT.h:
* jit/JITInlines.h:
(JSC::JIT::emitPatchableJumpIfNotImmediateInteger):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_val):

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

4 years agoios-sim-deprecated/iphone/fast/events/touch/ already existed in fast/events/touch...
simon.fraser@apple.com [Fri, 7 Aug 2015 17:30:21 +0000 (17:30 +0000)]
ios-sim-deprecated/iphone/fast/events/touch/ already existed in fast/events/touch, so remove them.

* platform/ios-sim-deprecated/iphone/fast/events/touch/document-create-touch-list-ios-expected.txt: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/document-create-touch-list-ios.html: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/gesture-event-basic-expected.txt: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/gesture-event-basic.html: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/input-touch-target-expected.txt: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/input-touch-target.html: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/inserted-fragment-touch-target-expected.txt: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/inserted-fragment-touch-target.html: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/moved-touch-target-expected.txt: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/moved-touch-target.html: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/multi-touch-some-without-handlers-expected.txt: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/multi-touch-some-without-handlers.html: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/ontouchstart-active-selector-expected.txt: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/ontouchstart-active-selector.html: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/removed-fragment-touch-target-expected.txt: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/removed-fragment-touch-target.html: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/removed-touch-target-expected.txt: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/removed-touch-target.html: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/script-tests/TEMPLATE.html: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/script-tests/document-create-touch-list-ios.js: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/script-tests/input-touch-target.js: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/script-tests/multi-touch-some-without-handlers.js: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/script-tests/text-node-touch-target.js: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/script-tests/textarea-touch-target.js: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/script-tests/touch-event-frames.js: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/script-tests/touch-event-pageXY.js: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/script-tests/zoomed-touch-event-pageXY.js: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/text-node-touch-target-expected.txt: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/text-node-touch-target.html: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/textarea-touch-target-expected.txt: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/textarea-touch-target.html: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/touch-event-frames-expected.txt: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/touch-event-frames.html: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/touch-event-pageXY-expected.txt: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/touch-event-pageXY.html: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/zoomed-touch-event-pageXY-expected.txt: Removed.
* platform/ios-sim-deprecated/iphone/fast/events/touch/zoomed-touch-event-pageXY.html: Removed.

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

4 years agoMove platform/ios-sim-deprecated/http/tests/loading/multiple-prioritization.html...
simon.fraser@apple.com [Fri, 7 Aug 2015 17:30:19 +0000 (17:30 +0000)]
Move platform/ios-sim-deprecated/http/tests/loading/multiple-prioritization.html into http/tests/loading/

* http/tests/loading/multiple-prioritization-expected.txt: Renamed from LayoutTests/platform/ios-sim-deprecated/http/tests/loading/multiple-prioritization-expected.txt.
* http/tests/loading/multiple-prioritization.html: Renamed from LayoutTests/platform/ios-sim-deprecated/http/tests/loading/multiple-prioritization.html.

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

4 years agoMove ios-sim-deprecated/fast/dom/ tests into fast/dom
simon.fraser@apple.com [Fri, 7 Aug 2015 17:30:16 +0000 (17:30 +0000)]
Move ios-sim-deprecated/fast/dom/ tests into fast/dom

* TestExpectations:
* fast/dom/Range/expand-word-with-apostrophe-expected.txt: Renamed from LayoutTests/platform/ios-sim-deprecated/fast/dom/Range/expand-word-with-apostrophe-expected.txt.
* fast/dom/Range/expand-word-with-apostrophe.html: Renamed from LayoutTests/platform/ios-sim-deprecated/fast/dom/Range/expand-word-with-apostrophe.html.
* fast/dom/Window/no-window-resize-on-document-size-change-expected.txt: Added.
* fast/dom/Window/no-window-resize-on-document-size-change.html: Renamed from LayoutTests/platform/ios-sim-deprecated/fast/dom/Window/no-window-resize-on-document-size-change.html.
* fast/dom/adopt-attribute-crash-expected.txt:
* fast/dom/navigator-iOS-userAgent-expected.txt: Added.
* fast/dom/navigator-iOS-userAgent.html: Renamed from LayoutTests/platform/ios-sim-deprecated/fast/dom/navigator-iOS-userAgent.html.
* fast/dom/timer-fire-after-page-pause-expected.txt: Renamed from LayoutTests/platform/ios-sim-deprecated/fast/dom/timer-fire-after-page-pause-expected.txt.
* fast/dom/timer-fire-after-page-pause.html: Renamed from LayoutTests/platform/ios-sim-deprecated/fast/dom/timer-fire-after-page-pause.html.
* platform/ios-sim-deprecated/fast/dom/Window/no-window-resize-on-document-size-change-expected.txt: Removed.
* platform/ios-sim-deprecated/fast/dom/navigator-iOS-userAgent-expected.txt: Removed.
* platform/ios-simulator-wk1/TestExpectations:
* platform/ios-simulator/TestExpectations:
* platform/ios-simulator/fast/dom/navigator-iOS-userAgent-expected.txt: Added.

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

4 years agoMove two ios-sim-deprecated/animations/ tests into animations.
simon.fraser@apple.com [Fri, 7 Aug 2015 17:30:11 +0000 (17:30 +0000)]
Move two ios-sim-deprecated/animations/ tests into animations.

* animations/resources/anim.html: Renamed from LayoutTests/platform/ios-sim-deprecated/animations/resources/anim.html.
* animations/restart-after-scroll-expected.txt: Copied from LayoutTests/platform/ios-sim-deprecated/animations/restart-after-scroll-nested-expected.txt.
* animations/restart-after-scroll-nested-expected.txt: Renamed from LayoutTests/platform/ios-sim-deprecated/animations/restart-after-scroll-nested-expected.txt.
* animations/restart-after-scroll-nested.html: Renamed from LayoutTests/platform/ios-sim-deprecated/animations/restart-after-scroll-nested.html.
* animations/restart-after-scroll.html: Renamed from LayoutTests/platform/ios-sim-deprecated/animations/restart-after-scroll.html.
* platform/ios-sim-deprecated/animations/restart-after-scroll-expected.txt: Removed.
* platform/ios-simulator-wk1/TestExpectations:
* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-simulator/TestExpectations:

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

4 years agoAllow FontCustomPlatformData to consult with FontDescription
mmaxfield@apple.com [Fri, 7 Aug 2015 17:06:26 +0000 (17:06 +0000)]
Allow FontCustomPlatformData to consult with FontDescription
https://bugs.webkit.org/show_bug.cgi?id=147775

Reviewed by Zalan Bujtas.

In order to implement font-feature-settings, web fonts need to be
able to consult with the set of active font features. Rather than
add yet another argument to all the functions in this flow, this
patch passes around a reference to the FontDescription itself instead
of copies of constituent members of it.

No new tests because there is no behavior change.

* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::font):
* loader/cache/CachedFont.cpp:
(WebCore::CachedFont::createFont):
(WebCore::CachedFont::platformDataFromCustomData):
* loader/cache/CachedFont.h:
* loader/cache/CachedSVGFont.cpp:
(WebCore::CachedSVGFont::platformDataFromCustomData):
* loader/cache/CachedSVGFont.h:
* platform/graphics/cairo/FontCustomPlatformData.h:
* platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/freetype/FontPlatformData.h:
* platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::FontPlatformData):
* platform/graphics/freetype/SimpleFontDataFreeType.cpp:
(WebCore::Font::platformCreateScaledFont):
* platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/mac/FontCustomPlatformData.h:
* platform/graphics/win/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/win/FontCustomPlatformData.h:

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

4 years agoUse a specific version of Speedometer in run-benchmark
rniwa@webkit.org [Fri, 7 Aug 2015 17:04:31 +0000 (17:04 +0000)]
Use a specific version of Speedometer in run-benchmark
https://bugs.webkit.org/show_bug.cgi?id=147769

Reviewed by Chris Dumez.

Use the current latest revision as we work towards the bug 147768 (Update frameworks in Speedometer).

* Scripts/webkitpy/benchmark_runner/data/plans/speedometer.plan:

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

4 years agotwisted_http_server.py should support --port
rniwa@webkit.org [Fri, 7 Aug 2015 16:36:57 +0000 (16:36 +0000)]
twisted_http_server.py should support --port
https://bugs.webkit.org/show_bug.cgi?id=147771

Reviewed by Chris Dumez.

Added the option. This makes the script more useful on its own.

* Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py:

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

4 years ago[Streams API] Create CountQueuingStrategy object as per spec
calvaris@igalia.com [Fri, 7 Aug 2015 16:35:43 +0000 (16:35 +0000)]
[Streams API] Create CountQueuingStrategy object as per spec
https://bugs.webkit.org/show_bug.cgi?id=146594

Reviewed by Geoffrey Garen.

Source/WebCore:

CountQueuingStrategy is a class part of the Streams API that can be found at
https://streams.spec.whatwg.org/#cqs-class. We had it as js at the tests but the spec says we have to provide it
natively. The class is implemented in this patch by creating its corresponding IDL with the size method using
the [CustomBinding] attribute, that does not create any bindings against the object allowing us full control to
do what the spec requires (just returning 1 without any cast check). The constructor sets the highWaterMark
property taking it from the argument.

Covered by current tests
(LayoutTests/streams/reference-implementation/count-queuing-strategy.html and
LayoutTests/streams/reference-implementation/brand-checks.html).

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* PlatformMac.cmake:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp: Build infrastructure.
* Modules/streams/CountQueuingStrategy.h: Added.
(WebCore::CountQueuingStrategy::~CountQueuingStrategy): Created empty.
(WebCore::CountQueuingStrategy::size): Returns 1.
* Modules/streams/CountQueuingStrategy.idl: Added.
* bindings/js/JSCountQueuingStrategyCustom.cpp: Added.
(WebCore::jsCountQueuingStrategyPrototypeFunctionSize): Calls WebCore::CountQueuingStrategy::size.
(WebCore::constructJSCountQueuingStrategy): Constructs the strategy, copies the highWaterMark from the argument
and returns it.
* bindings/js/JSDOMBinding.h:
(WebCore::getPropertyFromObject): Moved from ReadableJSStream.cpp.
(WebCore::setPropertyToObject): Added to create a property into an object.
* bindings/js/ReadableJSStream.cpp:
(WebCore::getPropertyFromObject): Deleted.

LayoutTests:

* js/dom/global-constructors-attributes-expected.txt:
* platform/efl/js/dom/global-constructors-attributes-expected.txt:
* platform/gtk/js/dom/global-constructors-attributes-expected.txt:
* platform/ios-sim-deprecated/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:
* platform/win/js/dom/global-constructors-attributes-expected.txt: Updated expectations with
CountQueuingStrategy constructor.
* streams/reference-implementation/brand-checks.html:
* streams/reference-implementation/count-queuing-strategy.html: Removed reference to count-queuing-strategy.js.
* streams/reference-implementation/resources/count-queuing-strategy.js: Removed.
(CountQueuingStrategy): Deleted.
(CountQueuingStrategy.prototype.size): Deleted.

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

4 years agoMove concrete KeyedDecoder/Encoder implementations to WebCore.
beidson@apple.com [Fri, 7 Aug 2015 16:04:49 +0000 (16:04 +0000)]
Move concrete KeyedDecoder/Encoder implementations to WebCore.
https://bugs.webkit.org/show_bug.cgi?id=147757.

Rubberstamped by Andy Estes.

Source/WebCore:

* PlatformEfl.cmake:
* PlatformGTK.cmake:
* WebCore.xcodeproj/project.pbxproj:

* platform/KeyedCoding.h:
(WebCore::KeyedDecoder::KeyedDecoder): Static constructor to be implemented per-platform.
(WebCore::KeyedEncoder::KeyedEncoder): Ditto.

* platform/cf/KeyedDecoderCF.cpp: Renamed from Source/WebKit2/Shared/cf/KeyedDecoder.cpp.
(WebCore::KeyedDecoder::decoder):
(WebCore::KeyedDecoderCF::KeyedDecoderCF):
(WebCore::KeyedDecoderCF::~KeyedDecoderCF):
(WebCore::KeyedDecoderCF::decodeBytes):
(WebCore::KeyedDecoderCF::decodeBool):
(WebCore::KeyedDecoderCF::decodeUInt32):
(WebCore::KeyedDecoderCF::decodeInt32):
(WebCore::KeyedDecoderCF::decodeInt64):
(WebCore::KeyedDecoderCF::decodeFloat):
(WebCore::KeyedDecoderCF::decodeDouble):
(WebCore::KeyedDecoderCF::decodeString):
(WebCore::KeyedDecoderCF::beginObject):
(WebCore::KeyedDecoderCF::endObject):
(WebCore::KeyedDecoderCF::beginArray):
(WebCore::KeyedDecoderCF::beginArrayElement):
(WebCore::KeyedDecoderCF::endArrayElement):
(WebCore::KeyedDecoderCF::endArray):
* platform/cf/KeyedDecoderCF.h: Renamed from Source/WebKit2/Shared/cf/KeyedDecoder.h.

* platform/cf/KeyedEncoderCF.cpp: Renamed from Source/WebKit2/Shared/cf/KeyedEncoder.cpp.
(WebCore::KeyedEncoder::encoder):
(WebCore::createDictionary):
(WebCore::KeyedEncoderCF::KeyedEncoderCF):
(WebCore::KeyedEncoderCF::~KeyedEncoderCF):
(WebCore::KeyedEncoderCF::encodeBytes):
(WebCore::KeyedEncoderCF::encodeBool):
(WebCore::KeyedEncoderCF::encodeUInt32):
(WebCore::KeyedEncoderCF::encodeInt32):
(WebCore::KeyedEncoderCF::encodeInt64):
(WebCore::KeyedEncoderCF::encodeFloat):
(WebCore::KeyedEncoderCF::encodeDouble):
(WebCore::KeyedEncoderCF::encodeString):
(WebCore::KeyedEncoderCF::beginObject):
(WebCore::KeyedEncoderCF::endObject):
(WebCore::KeyedEncoderCF::beginArray):
(WebCore::KeyedEncoderCF::beginArrayElement):
(WebCore::KeyedEncoderCF::endArrayElement):
(WebCore::KeyedEncoderCF::endArray):
(WebCore::KeyedEncoderCF::finishEncoding):
* platform/cf/KeyedEncoderCF.h: Renamed from Source/WebKit2/Shared/cf/KeyedEncoder.h.

* platform/glib/KeyedDecoderGlib.cpp: Renamed from Source/WebKit2/Shared/glib/KeyedDecoder.cpp.
(WebCore::KeyedDecoder::decoder):
(WebCore::KeyedDecoderGlib::KeyedDecoderGlib):
(WebCore::KeyedDecoderGlib::~KeyedDecoderGlib):
(WebCore::KeyedDecoderGlib::dictionaryFromGVariant):
(WebCore::KeyedDecoderGlib::decodeBytes):
(WebCore::KeyedDecoderGlib::decodeSimpleValue):
(WebCore::KeyedDecoderGlib::decodeBool):
(WebCore::KeyedDecoderGlib::decodeUInt32):
(WebCore::KeyedDecoderGlib::decodeInt32):
(WebCore::KeyedDecoderGlib::decodeInt64):
(WebCore::KeyedDecoderGlib::decodeFloat):
(WebCore::KeyedDecoderGlib::decodeDouble):
(WebCore::KeyedDecoderGlib::decodeString):
(WebCore::KeyedDecoderGlib::beginObject):
(WebCore::KeyedDecoderGlib::endObject):
(WebCore::KeyedDecoderGlib::beginArray):
(WebCore::KeyedDecoderGlib::beginArrayElement):
(WebCore::KeyedDecoderGlib::endArrayElement):
(WebCore::KeyedDecoderGlib::endArray):
* platform/glib/KeyedDecoderGlib.h: Renamed from Source/WebKit2/Shared/glib/KeyedDecoder.h.

* platform/glib/KeyedEncoderGlib.cpp: Renamed from Source/WebKit2/Shared/glib/KeyedEncoder.cpp.
(WebCore::KeyedEncoder::encoder):
(WebCore::KeyedEncoderGlib::KeyedEncoderGlib):
(WebCore::KeyedEncoderGlib::~KeyedEncoderGlib):
(WebCore::KeyedEncoderGlib::encodeBytes):
(WebCore::KeyedEncoderGlib::encodeBool):
(WebCore::KeyedEncoderGlib::encodeUInt32):
(WebCore::KeyedEncoderGlib::encodeInt32):
(WebCore::KeyedEncoderGlib::encodeInt64):
(WebCore::KeyedEncoderGlib::encodeFloat):
(WebCore::KeyedEncoderGlib::encodeDouble):
(WebCore::KeyedEncoderGlib::encodeString):
(WebCore::KeyedEncoderGlib::beginObject):
(WebCore::KeyedEncoderGlib::endObject):
(WebCore::KeyedEncoderGlib::beginArray):
(WebCore::KeyedEncoderGlib::beginArrayElement):
(WebCore::KeyedEncoderGlib::endArrayElement):
(WebCore::KeyedEncoderGlib::endArray):
(WebCore::KeyedEncoderGlib::finishEncoding):
* platform/glib/KeyedEncoderGlib.h: Renamed from Source/WebKit2/Shared/glib/KeyedEncoder.h.

Source/WebKit2:

* DatabaseProcess/IndexedDB/IDBSerialization.cpp:
(WebKit::serializeIDBKeyPath):
(WebKit::deserializeIDBKeyPath):
(WebKit::serializeIDBKeyData):
(WebKit::deserializeIDBKeyData):

* PlatformEfl.cmake:
* PlatformGTK.cmake:
* WebKit2.xcodeproj/project.pbxproj:

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

4 years ago[GTK] WTF unit tests are timing out in the bots
carlosgc@webkit.org [Fri, 7 Aug 2015 15:28:01 +0000 (15:28 +0000)]
[GTK] WTF unit tests are timing out in the bots
https://bugs.webkit.org/show_bug.cgi?id=147777

Reviewed by Filip Pizlo.

Add a way to mark google unit tests as slow and add
WTF_Lock.ContentedShortSection to the list. In case of slow test
we use the double of the given timeout for that particular test.

* Scripts/run-gtk-tests:
(TestRunner):
(TestRunner._run_google_test):

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

4 years agoUnreviewed. Fix GTK+ compile warning also introduced in r188121.
carlosgc@webkit.org [Fri, 7 Aug 2015 11:17:24 +0000 (11:17 +0000)]
Unreviewed. Fix GTK+ compile warning also introduced in r188121.

* UIProcess/API/gtk/WebKitInstallMissingMediaPluginsPermissionRequest.cpp:
(webkit_install_missing_media_plugins_permission_request_get_description):

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

4 years agoUnreviewed. Fix GTK+ debug build after r188121.
carlosgc@webkit.org [Fri, 7 Aug 2015 10:51:16 +0000 (10:51 +0000)]
Unreviewed. Fix GTK+ debug build after r188121.

* UIProcess/API/gtk/WebKitInstallMissingMediaPluginsPermissionRequest.cpp:
(webkit_install_missing_media_plugins_permission_request_get_description):

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

4 years ago[GTK] run-gtk-tests should not stop when a google test case fails
carlosgc@webkit.org [Fri, 7 Aug 2015 10:27:27 +0000 (10:27 +0000)]
[GTK] run-gtk-tests should not stop when a google test case fails
https://bugs.webkit.org/show_bug.cgi?id=147778

Reviewed by Philippe Normand.

For glib based tests we run the test runner with the -k option,
but for google tests we are aborting as soon as we find a failure.

* Scripts/run-gtk-tests:
(TestRunner._run_google_test_suite): Use a global return code that
is set to 1 when any test has failed.

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

4 years ago[GStreamer] Do not automatically show PackageKit codec installation notifications
carlosgc@webkit.org [Fri, 7 Aug 2015 09:51:20 +0000 (09:51 +0000)]
[GStreamer] Do not automatically show PackageKit codec installation notifications
https://bugs.webkit.org/show_bug.cgi?id=135973

Reviewed by Philippe Normand.

Source/WebCore:

Add description parameter to requestInstallMissingPlugins() that
will be used by the API layer.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::requestInstallMissingPlugins):
* html/HTMLMediaElement.h:
* page/ChromeClient.h:
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::requestInstallMissingPlugins):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):

Source/WebKit2:

Add InstallMissingMediaPluginsPermissionRequest to ask the API
layer whether to allow or deny the installation of missing media
plugins. And add a GTK+ implementation based on current permission
request API. Replace the
PageClientImpl::createGstInstallPluginsContext() with
decicePolicyForInstallMissingMediaPluginsPermissionRequest() that
passes the InstallMissingMediaPluginsPermissionRequest object to
the API layer. The allow method receives the
GstInstallPluginsContext now, so that it can be created by the API implementation.

* PlatformEfl.cmake:
* PlatformGTK.cmake:
* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::decicePolicyForInstallMissingMediaPluginsPermissionRequest):
* UIProcess/API/gtk/PageClientImpl.h:
* UIProcess/API/gtk/WebKitInstallMissingMediaPluginsPermissionRequest.cpp: Added.
(createGstInstallPluginsContext):
(webkitInstallMissingMediaPluginsPermissionRequestAllow):
(webkitInstallMissingMediaPluginsPermissionRequestDeny):
(webkit_permission_request_interface_init):
(webkitInstallMissingMediaPluginsPermissionRequestDispose):
(webkit_install_missing_media_plugins_permission_request_class_init):
(webkitInstallMissingMediaPluginsPermissionRequestCreate):
(webkit_install_missing_media_plugins_permission_request_get_description):
* UIProcess/API/gtk/WebKitInstallMissingMediaPluginsPermissionRequest.h: Added.
* UIProcess/API/gtk/WebKitInstallMissingMediaPluginsPermissionRequestPrivate.h: Added.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewRequestInstallMissingMediaPlugins):
* UIProcess/API/gtk/WebKitWebViewPrivate.h:
* UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
* UIProcess/API/gtk/docs/webkit2gtk-4.0.types:
* UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
* UIProcess/API/gtk/webkit2.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/efl/WebViewEfl.h:
* UIProcess/gstreamer/InstallMissingMediaPluginsPermissionRequest.cpp: Copied from Source/WebKit2/UIProcess/gstreamer/WebPageProxyGStreamer.cpp.
(WebKit::InstallMissingMediaPluginsPermissionRequest::InstallMissingMediaPluginsPermissionRequest):
(WebKit::InstallMissingMediaPluginsPermissionRequest::~InstallMissingMediaPluginsPermissionRequest):
(WebKit::InstallMissingMediaPluginsPermissionRequest::allow):
(WebKit::InstallMissingMediaPluginsPermissionRequest::deny):
(WebKit::InstallMissingMediaPluginsPermissionRequest::didEndRequestInstallMissingMediaPlugins):
* UIProcess/gstreamer/InstallMissingMediaPluginsPermissionRequest.h: Copied from Source/WebKit2/WebProcess/WebPage/gstreamer/WebPageGStreamer.cpp.
(WebKit::InstallMissingMediaPluginsPermissionRequest::create):
(WebKit::InstallMissingMediaPluginsPermissionRequest::page):
(WebKit::InstallMissingMediaPluginsPermissionRequest::details):
(WebKit::InstallMissingMediaPluginsPermissionRequest::description):
* UIProcess/gstreamer/WebPageProxyGStreamer.cpp:
(WebKit::WebPageProxy::requestInstallMissingMediaPlugins):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::requestInstallMissingMediaPlugins):
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/gstreamer/WebPageGStreamer.cpp:
(WebKit::WebPage::requestInstallMissingMediaPlugins):

Tools:

Handle the missing media plugins installation permission request
in MiniBrowser and add a test case for the new API.

* MiniBrowser/gtk/BrowserWindow.c:
(webViewDecidePermissionRequest):
* TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp:
(permissionRequestCallback):
(testInstallMissingPluginsPermissionRequest):
(beforeAll):
* TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:
(methodCallCallback):

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

4 years agoAX: Bug 147737 is causing test failures in Mavericks WK1
commit-queue@webkit.org [Fri, 7 Aug 2015 08:32:21 +0000 (08:32 +0000)]
AX: Bug 147737 is causing test failures in Mavericks WK1
https://bugs.webkit.org/show_bug.cgi?id=147763

Source/WebCore:

Restrict change made in 147737 to ElCapitan+ because it is causing tests
to fail in Mavericks.

Patch by Doug Russell <d_russell@apple.com> on 2015-08-07
Reviewed by Chris Fleizach.

Fixes failing tests.

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility):

LayoutTests:

Patch by Doug Russell <d_russell@apple.com> on 2015-08-07
Reviewed by Chris Fleizach.

* platform/mac/TestExpectations:

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

4 years agoCreate [CustomBinding] extended IDL attribute
calvaris@igalia.com [Fri, 7 Aug 2015 08:15:13 +0000 (08:15 +0000)]
Create [CustomBinding] extended IDL attribute
https://bugs.webkit.org/show_bug.cgi?id=146593

Reviewed by Geoffrey Garen.

Added the [CustomBinding] IDL extended attribute. The idea is that when using this attribute, bindings generate
only the signature of the JS functions and we have to implement all the access in the Custom.cpp files, meaning
accessing the implementations at our wish.

Added customBindingMethod, customBindingMethodWithArgs to the generator tests.

* bindings/scripts/CodeGeneratorGObject.pm:
(SkipFunction): Skipped [CustomBinding] methods.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader): Consider CustomBinding as ForwardDeclareInHeader.
(GenerateImplementation): Avoid printing both header and implementation of the function.
* bindings/scripts/CodeGeneratorObjC.pm:
(SkipFunction): Skipped [CustomBinding] methods.
* bindings/scripts/IDLAttributes.txt: Added [CustomBinding] IDL extended attribute.
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/TestObj.idl: Added customBindingMethod, customBindingMethodWithArgs and their
expectations.

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

4 years agoSource/WebCore/crypto code should pass std::function<> objects through rvalue references
zandobersek@gmail.com [Fri, 7 Aug 2015 06:48:27 +0000 (06:48 +0000)]
Source/WebCore/crypto code should pass std::function<> objects through rvalue references
https://bugs.webkit.org/show_bug.cgi?id=147332

Reviewed by Anders Carlsson.

Pass the std::function<> callbacks through CryptoAlgorithm methods via
rvlaue references. This avoids generation of unnecessary move and copy
constructors for std::function<> objects that are being handled.

* crypto/CryptoAlgorithm.cpp:
(WebCore::CryptoAlgorithm::encrypt):
(WebCore::CryptoAlgorithm::decrypt):
(WebCore::CryptoAlgorithm::sign):
(WebCore::CryptoAlgorithm::verify):
(WebCore::CryptoAlgorithm::digest):
(WebCore::CryptoAlgorithm::generateKey):
(WebCore::CryptoAlgorithm::deriveKey):
(WebCore::CryptoAlgorithm::deriveBits):
(WebCore::CryptoAlgorithm::importKey):
(WebCore::CryptoAlgorithm::encryptForWrapKey):
(WebCore::CryptoAlgorithm::decryptForUnwrapKey):
* crypto/CryptoAlgorithm.h:
* crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
(WebCore::CryptoAlgorithmAES_CBC::encrypt):
(WebCore::CryptoAlgorithmAES_CBC::decrypt):
(WebCore::CryptoAlgorithmAES_CBC::generateKey):
(WebCore::CryptoAlgorithmAES_CBC::importKey):
* crypto/algorithms/CryptoAlgorithmAES_CBC.h:
* crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
(WebCore::CryptoAlgorithmAES_KW::encryptForWrapKey):
(WebCore::CryptoAlgorithmAES_KW::decryptForUnwrapKey):
(WebCore::CryptoAlgorithmAES_KW::generateKey):
(WebCore::CryptoAlgorithmAES_KW::importKey):
* crypto/algorithms/CryptoAlgorithmAES_KW.h:
* crypto/algorithms/CryptoAlgorithmHMAC.cpp:
(WebCore::CryptoAlgorithmHMAC::sign):
(WebCore::CryptoAlgorithmHMAC::verify):
(WebCore::CryptoAlgorithmHMAC::generateKey):
(WebCore::CryptoAlgorithmHMAC::importKey):
* crypto/algorithms/CryptoAlgorithmHMAC.h:
* crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::encrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::decrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::importKey):
* crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h:
* crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):
* crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
* crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
(WebCore::CryptoAlgorithmRSA_OAEP::encrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::decrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::generateKey):
(WebCore::CryptoAlgorithmRSA_OAEP::importKey):
* crypto/algorithms/CryptoAlgorithmRSA_OAEP.h:
* crypto/algorithms/CryptoAlgorithmSHA1.cpp:
(WebCore::CryptoAlgorithmSHA1::digest):
* crypto/algorithms/CryptoAlgorithmSHA1.h:
* crypto/algorithms/CryptoAlgorithmSHA224.cpp:
(WebCore::CryptoAlgorithmSHA224::digest):
* crypto/algorithms/CryptoAlgorithmSHA224.h:
* crypto/algorithms/CryptoAlgorithmSHA256.cpp:
(WebCore::CryptoAlgorithmSHA256::digest):
* crypto/algorithms/CryptoAlgorithmSHA256.h:
* crypto/algorithms/CryptoAlgorithmSHA384.cpp:
(WebCore::CryptoAlgorithmSHA384::digest):
* crypto/algorithms/CryptoAlgorithmSHA384.h:
* crypto/algorithms/CryptoAlgorithmSHA512.cpp:
(WebCore::CryptoAlgorithmSHA512::digest):
* crypto/algorithms/CryptoAlgorithmSHA512.h:
* crypto/gnutls/CryptoAlgorithmAES_CBCGnuTLS.cpp:
(WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
(WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):
* crypto/gnutls/CryptoAlgorithmAES_KWGnuTLS.cpp:
(WebCore::CryptoAlgorithmAES_KW::platformEncrypt):
(WebCore::CryptoAlgorithmAES_KW::platformDecrypt):
* crypto/gnutls/CryptoAlgorithmHMACGnuTLS.cpp:
(WebCore::CryptoAlgorithmHMAC::platformSign):
(WebCore::CryptoAlgorithmHMAC::platformVerify):
* crypto/gnutls/CryptoAlgorithmRSAES_PKCS1_v1_5GnuTLS.cpp:
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):
* crypto/gnutls/CryptoAlgorithmRSASSA_PKCS1_v1_5GnuTLS.cpp:
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify):
* crypto/gnutls/CryptoAlgorithmRSA_OAEPGnuTLS.cpp:
(WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):
* crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
(WebCore::transformAES_CBC):
(WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
(WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):
* crypto/mac/CryptoAlgorithmAES_KWMac.cpp:
(WebCore::CryptoAlgorithmAES_KW::platformEncrypt):
(WebCore::CryptoAlgorithmAES_KW::platformDecrypt):
* crypto/mac/CryptoAlgorithmHMACMac.cpp:
(WebCore::CryptoAlgorithmHMAC::platformSign):
(WebCore::CryptoAlgorithmHMAC::platformVerify):
* crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp:
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):
* crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify):
* crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp:
(WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):

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

4 years agoUnreviewed, work around assertions in Windows's std::atomic.
fpizlo@apple.com [Fri, 7 Aug 2015 06:17:25 +0000 (06:17 +0000)]
Unreviewed, work around assertions in Windows's std::atomic.

* wtf/Atomics.h:
(WTF::Atomic::compareExchangeWeak):
(WTF::Atomic::compareExchangeStrong):

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

4 years agoFix GTK clean build after r187997
commit-queue@webkit.org [Fri, 7 Aug 2015 05:15:11 +0000 (05:15 +0000)]
Fix GTK clean build after r187997
https://bugs.webkit.org/show_bug.cgi?id=147723

Patch by Alex Christensen <achristensen@webkit.org> on 2015-08-06
Reviewed by Gyuyoung Kim.

* CMakeLists.txt:
r187997 made it so WebCoreTestSupport does not link with WebCore, which is necessary to get DumpRenderTree to link.
It also made it so WebCoreTestSupport is no longer dependent on WebCore, which causes it to build at the same time.
This caused problems because WebCoreTestSupport uses headers that are generated for WebCore, such as WebKitFontFamilyNames.h.
Adding a dependency makes it so that WebCoreTestSupport waits until WebCore is done compiling before compiling,
which is what it used to do, but it does not cause linking problems with DumpRenderTree.

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

4 years agoTextIndicator can have stale contentImage data and crash
bdakin@apple.com [Fri, 7 Aug 2015 05:09:07 +0000 (05:09 +0000)]
TextIndicator can have stale contentImage data and crash
https://bugs.webkit.org/show_bug.cgi?id=147770
-and corresponding-
rdar://problem/22181735

Reviewed by Tim Horton.

If there is no contentImage or contentImageWithHighlight, set them to
nullptr.
* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<TextIndicatorData>::decode):

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

4 years agoCSSSegmentedFontFace::fontRanges() does not handle duplicate fonts correctly
mmaxfield@apple.com [Fri, 7 Aug 2015 04:21:01 +0000 (04:21 +0000)]
CSSSegmentedFontFace::fontRanges() does not handle duplicate fonts correctly
https://bugs.webkit.org/show_bug.cgi?id=147765

Reviewed by Filip Pizlo.

CSSSegmentedFontFace::fontRanges() was trying to hash on FontDescriptors by
picking a few specific pieces of data out of the FontDescriptor, computing
a hash on it, and using that unsigned as a key in a HashMap. This has two
problems: it doesn't handle equality correctly, as hash collisions cannot
depend on an equality operator to dedup, and it doesn't hash on all the
members of a FontDescription.

Instead, this HashMap should use FontDescriptionKey, which represents a
FontDescription, and is designed exactly for the purpose of being used as a
key in a HashMap.

No new tests because there is no behavior change (because a problem occurs
when two different FontDescriptions hash to the same value, which is rare).

* css/CSSSegmentedFontFace.cpp:
(WebCore::CSSSegmentedFontFace::fontRanges):
* css/CSSSegmentedFontFace.h:
* platform/graphics/FontCache.h:
(WebCore::FontDescriptionKeyHash::hash):
(WebCore::FontDescriptionKeyHash::equal):

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

4 years agoUnreviewed, reduce the duration of a Lock unit test. It was timing out.
fpizlo@apple.com [Fri, 7 Aug 2015 04:17:04 +0000 (04:17 +0000)]
Unreviewed, reduce the duration of a Lock unit test. It was timing out.

* TestWebKitAPI/Tests/WTF/Lock.cpp:
(TestWebKitAPI::TEST):

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

4 years agoFixed all the builds after trying to fix the non-HAVE(LINK_PREVIEW) build.
mitz@apple.com [Fri, 7 Aug 2015 03:44:08 +0000 (03:44 +0000)]
Fixed all the builds after trying to fix the non-HAVE(LINK_PREVIEW) build.

* UIProcess/ios/WKContentViewInteraction.mm:

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

4 years agoFixed the non-HAVE(LINK_PREVIEW) build.
mitz@apple.com [Fri, 7 Aug 2015 03:41:29 +0000 (03:41 +0000)]
Fixed the non-HAVE(LINK_PREVIEW) build.

* UIProcess/ios/WKContentViewInteraction.mm:

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

4 years agoCleanup action sheet only when long press is canceled (non ended).
enrica@apple.com [Fri, 7 Aug 2015 03:27:23 +0000 (03:27 +0000)]
Cleanup action sheet only when long press is canceled (non ended).
https://bugs.webkit.org/show_bug.cgi?id=147766
rdar://problem/22181842

Reviewed by Tim Horton.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _longPressRecognized:]):

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

4 years agoIntroduce get_by_id like IC into get_by_val when the given name is String or Symbol
utatane.tea@gmail.com [Fri, 7 Aug 2015 02:08:07 +0000 (02:08 +0000)]
Introduce get_by_id like IC into get_by_val when the given name is String or Symbol
https://bugs.webkit.org/show_bug.cgi?id=147480

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

This patch adds get_by_id IC to get_by_val operation by caching the string / symbol id.
The IC site only caches one id. After checking that the given id is the same to the
cached one, we perform the get_by_id IC onto it.
And by collecting IC StructureStubInfo information, we pass it to the DFG and DFG
compiles get_by_val op code into CheckIdent (with edge type check) and GetById related
operations when the given get_by_val leverages the property load with the cached id.

To ensure the incoming value is the expected id, in DFG layer, we use SymbolUse and
StringIdentUse to enforce the type. To use it, this patch implements SymbolUse.
This can be leveraged to optimize symbol operations in DFG.

And since byValInfo is frequently used, we align the byValInfo design to the stubInfo like one.
Allocated by the Bag and operations take the raw byValInfo pointer directly instead of performing
binary search onto m_byValInfos. And by storing ArrayProfile* under the ByValInfo, we replaced the
argument ArrayProfile* in the operations with ByValInfo*.

* bytecode/ByValInfo.h:
(JSC::ByValInfo::ByValInfo):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::getByValInfoMap):
(JSC::CodeBlock::addByValInfo):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::getByValInfo): Deleted.
(JSC::CodeBlock::setNumberOfByValInfos): Deleted.
(JSC::CodeBlock::numberOfByValInfos): Deleted.
(JSC::CodeBlock::byValInfo): Deleted.
* bytecode/ExitKind.cpp:
(JSC::exitKindToString):
* bytecode/ExitKind.h:
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFor):
(JSC::GetByIdStatus::computeForStubInfo):
(JSC::GetByIdStatus::computeForStubInfoWithoutExitSiteFeedback):
* bytecode/GetByIdStatus.h:
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::observeUseKindOnNode):
* dfg/DFGNode.h:
(JSC::DFG::Node::hasUidOperand):
(JSC::DFG::Node::uidOperand):
* dfg/DFGNodeType.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSafeToExecute.h:
(JSC::DFG::SafeToExecuteEdge::operator()):
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCheckIdent):
(JSC::DFG::SpeculativeJIT::speculateSymbol):
(JSC::DFG::SpeculativeJIT::speculate):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGUseKind.cpp:
(WTF::printInternal):
* dfg/DFGUseKind.h:
(JSC::DFG::typeFilterFor):
(JSC::DFG::isCell):
* ftl/FTLAbstractHeapRepository.h:
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileNode):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCheckIdent):
(JSC::FTL::DFG::LowerDFGToLLVM::lowSymbol):
(JSC::FTL::DFG::LowerDFGToLLVM::speculate):
(JSC::FTL::DFG::LowerDFGToLLVM::isNotSymbol):
(JSC::FTL::DFG::LowerDFGToLLVM::speculateSymbol):
* jit/JIT.cpp:
(JSC::JIT::privateCompile):
* jit/JIT.h:
(JSC::ByValCompilationInfo::ByValCompilationInfo):
(JSC::JIT::compileGetByValWithCachedId):
* jit/JITInlines.h:
(JSC::JIT::callOperation):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_has_indexed_property):
(JSC::JIT::emitSlow_op_has_indexed_property):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_has_indexed_property):
(JSC::JIT::emitSlow_op_has_indexed_property):
* jit/JITOperations.cpp:
(JSC::getByVal):
* jit/JITOperations.h:
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitGetByValWithCachedId):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitSlow_op_put_by_val):
(JSC::JIT::privateCompileGetByVal):
(JSC::JIT::privateCompileGetByValWithCachedId):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitGetByValWithCachedId):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitSlow_op_put_by_val):
* runtime/Symbol.h:
* tests/stress/get-by-val-with-string-constructor.js: Added.
(Hello):
(get Hello.prototype.generate):
(ok):
* tests/stress/get-by-val-with-string-exit.js: Added.
(shouldBe):
(getByVal):
(getStr1):
(getStr2):
* tests/stress/get-by-val-with-string-generated.js: Added.
(shouldBe):
(getByVal):
(getStr1):
(getStr2):
* tests/stress/get-by-val-with-string-getter.js: Added.
(object.get hello):
(ok):
* tests/stress/get-by-val-with-string.js: Added.
(shouldBe):
(getByVal):
(getStr1):
(getStr2):
* tests/stress/get-by-val-with-symbol-constructor.js: Added.
(Hello):
(get Hello.prototype.generate):
(ok):
* tests/stress/get-by-val-with-symbol-exit.js: Added.
(shouldBe):
(getByVal):
(getSym1):
(getSym2):
* tests/stress/get-by-val-with-symbol-getter.js: Added.
(object.get hello):
(.get ok):
* tests/stress/get-by-val-with-symbol.js: Added.
(shouldBe):
(getByVal):
(getSym1):
(getSym2):

LayoutTests:

Add synthetic benchmarks that replaces normal property load with symbol/string keyed load.

* js/regress/get-by-val-with-string-bimorphic-check-structure-elimination-expected.txt: Added.
* js/regress/get-by-val-with-string-bimorphic-check-structure-elimination-simple-expected.txt: Added.
* js/regress/get-by-val-with-string-bimorphic-check-structure-elimination-simple.html: Added.
* js/regress/get-by-val-with-string-bimorphic-check-structure-elimination.html: Added.
* js/regress/get-by-val-with-string-chain-from-try-block-expected.txt: Added.
* js/regress/get-by-val-with-string-chain-from-try-block.html: Added.
* js/regress/get-by-val-with-string-check-structure-elimination-expected.txt: Added.
* js/regress/get-by-val-with-string-check-structure-elimination.html: Added.
* js/regress/get-by-val-with-string-proto-or-self-expected.txt: Added.
* js/regress/get-by-val-with-string-proto-or-self.html: Added.
* js/regress/get-by-val-with-string-quadmorphic-check-structure-elimination-simple-expected.txt: Added.
* js/regress/get-by-val-with-string-quadmorphic-check-structure-elimination-simple.html: Added.
* js/regress/get-by-val-with-string-self-or-proto-expected.txt: Added.
* js/regress/get-by-val-with-string-self-or-proto.html: Added.
* js/regress/get-by-val-with-symbol-bimorphic-check-structure-elimination-expected.txt: Added.
* js/regress/get-by-val-with-symbol-bimorphic-check-structure-elimination-simple-expected.txt: Added.
* js/regress/get-by-val-with-symbol-bimorphic-check-structure-elimination-simple.html: Added.
* js/regress/get-by-val-with-symbol-bimorphic-check-structure-elimination.html: Added.
* js/regress/get-by-val-with-symbol-chain-from-try-block-expected.txt: Added.
* js/regress/get-by-val-with-symbol-chain-from-try-block.html: Added.
* js/regress/get-by-val-with-symbol-check-structure-elimination-expected.txt: Added.
* js/regress/get-by-val-with-symbol-check-structure-elimination.html: Added.
* js/regress/get-by-val-with-symbol-proto-or-self-expected.txt: Added.
* js/regress/get-by-val-with-symbol-proto-or-self.html: Added.
* js/regress/get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple-expected.txt: Added.
* js/regress/get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple.html: Added.
* js/regress/get-by-val-with-symbol-self-or-proto-expected.txt: Added.
* js/regress/get-by-val-with-symbol-self-or-proto.html: Added.
* js/regress/script-tests/get-by-val-with-string-bimorphic-check-structure-elimination-simple.js: Added.
* js/regress/script-tests/get-by-val-with-string-bimorphic-check-structure-elimination.js: Added.
* js/regress/script-tests/get-by-val-with-string-chain-from-try-block.js: Added.
(A):
(B):
(C):
(D):
(E):
(F):
(G):
(foo):
* js/regress/script-tests/get-by-val-with-string-check-structure-elimination.js: Added.
* js/regress/script-tests/get-by-val-with-string-proto-or-self.js: Added.
(foo):
(bar):
(Foo):
* js/regress/script-tests/get-by-val-with-string-quadmorphic-check-structure-elimination-simple.js: Added.
* js/regress/script-tests/get-by-val-with-string-self-or-proto.js: Added.
(foo):
(bar):
(Foo):
* js/regress/script-tests/get-by-val-with-symbol-bimorphic-check-structure-elimination-simple.js: Added.
* js/regress/script-tests/get-by-val-with-symbol-bimorphic-check-structure-elimination.js: Added.
* js/regress/script-tests/get-by-val-with-symbol-chain-from-try-block.js: Added.
(A):
(B):
(C):
(D):
(E):
(F):
(G):
(foo):
* js/regress/script-tests/get-by-val-with-symbol-check-structure-elimination.js: Added.
* js/regress/script-tests/get-by-val-with-symbol-proto-or-self.js: Added.
(foo):
(bar):
(Foo):
* js/regress/script-tests/get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple.js: Added.
* js/regress/script-tests/get-by-val-with-symbol-self-or-proto.js: Added.
(foo):
(bar):
(Foo):

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