WebKit-https.git
4 years agoModern IDB: storage/indexeddb/cursor-continue-validity.html fails.
beidson@apple.com [Tue, 2 Feb 2016 20:51:46 +0000 (20:51 +0000)]
Modern IDB: storage/indexeddb/cursor-continue-validity.html fails.
https://bugs.webkit.org/show_bug.cgi?id=153791

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (Existing test now unskipped).

There was a preexisting check in the SQLite cursor for remembering the current record and
refusing to refetch it.

This check was causing this bug, because we needed to refetch the current record.

Removing the check (and its associated flag) doesn't regress any other test, and fixes this one.

* Modules/indexeddb/server/SQLiteIDBCursor.cpp:
(WebCore::IDBServer::SQLiteIDBCursor::resetAndRebindStatement):
(WebCore::IDBServer::SQLiteIDBCursor::internalAdvanceOnce):
* Modules/indexeddb/server/SQLiteIDBCursor.h:

LayoutTests:

In addition to unskipping the test, I augmented it to print out more of what was going on.

The additional printed info is what helped me track down the bug, and will make it more
likely to catch any future regressions.

* platform/mac-wk1/TestExpectations:
* storage/indexeddb/cursor-continue-validity-expected.txt:
* storage/indexeddb/cursor-continue-validity-private-expected.txt:
* storage/indexeddb/resources/cursor-continue-validity.js:

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

4 years agoAdd a line grid pagination SPI to WebKit.
hyatt@apple.com [Tue, 2 Feb 2016 19:50:01 +0000 (19:50 +0000)]
Add a line grid pagination SPI to WebKit.
https://bugs.webkit.org/show_bug.cgi?id=153757
<rdar://problem/23041598>

Reviewed by Anders Carlsson.

Source/WebCore:

New tests in fast/multicol/pagination.

* page/Page.cpp:
(WebCore::Page::setPaginationLineGridEnabled):
* page/Page.h:
(WebCore::Page::paginationLineGridEnabled):
Add a boolean to the page to turn the line grid on and off.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):
Propagate the body's font up to the paginated RenderView so that
it can be used to establish the line grid.

* style/StyleResolveForDocument.cpp:
(WebCore::Style::resolveForDocument):
Set up a line grid with containment snapping by default if the
line grid enabled flag is set.

* testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::setPagination):
(WebCore::Internals::setPaginationLineGridEnabled):
(WebCore::Internals::configurationForViewport):
* testing/Internals.h:
(WebCore::Internals::setPagination):
* testing/Internals.idl:
Add support for testing the grid being enabled.

Source/WebKit/mac:

* WebView/WebView.mm:
(-[WebView _setPaginationLineGridEnabled:]):
(-[WebView _paginationLineGridEnabled]):
* WebView/WebViewPrivate.h:

Source/WebKit2:

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPaginationLineGridEnabled):
(WKPageGetPaginationLineGridEnabled):
* UIProcess/API/C/WKPagePrivate.h:
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController setPaginationLineGridEnabled:]):
(-[WKBrowsingContextController paginationLineGridEnabled]):
* UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _paginationLineGridEnabled]):
(-[WKWebView _setPaginationLineGridEnabled:]):
       * UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setPaginationLineGridEnabled):
(WebKit::WebPageProxy::creationParameters):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::paginationLineGridEnabled):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setPaginationLineGridEnabled):
 WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

LayoutTests:

* platform/mac/fast/multicol/pagination/BottomToTop-bt-expected.png:
* platform/mac/fast/multicol/pagination/BottomToTop-lr-expected.png:
* platform/mac/fast/multicol/pagination/BottomToTop-rl-expected.png:
* platform/mac/fast/multicol/pagination/BottomToTop-tb-expected.png:
* platform/mac/fast/multicol/pagination/BottomToTopGrid-bt-expected.png: Added.
* platform/mac/fast/multicol/pagination/BottomToTopGrid-bt-expected.txt: Added.
* platform/mac/fast/multicol/pagination/BottomToTopGrid-lr-expected.png: Added.
* platform/mac/fast/multicol/pagination/BottomToTopGrid-lr-expected.txt: Added.
* platform/mac/fast/multicol/pagination/BottomToTopGrid-rl-expected.png: Added.
* platform/mac/fast/multicol/pagination/BottomToTopGrid-rl-expected.txt: Added.
* platform/mac/fast/multicol/pagination/BottomToTopGrid-tb-expected.png: Added.
* platform/mac/fast/multicol/pagination/BottomToTopGrid-tb-expected.txt: Added.
* platform/mac/fast/multicol/pagination/LeftToRight-bt-expected.png:
* platform/mac/fast/multicol/pagination/LeftToRight-lr-expected.png:
* platform/mac/fast/multicol/pagination/LeftToRight-rl-expected.png:
* platform/mac/fast/multicol/pagination/LeftToRight-tb-expected.png:
* platform/mac/fast/multicol/pagination/LeftToRightGrid-bt-expected.png: Added.
* platform/mac/fast/multicol/pagination/LeftToRightGrid-bt-expected.txt: Added.
* platform/mac/fast/multicol/pagination/LeftToRightGrid-lr-expected.png: Added.
* platform/mac/fast/multicol/pagination/LeftToRightGrid-lr-expected.txt: Added.
* platform/mac/fast/multicol/pagination/LeftToRightGrid-rl-expected.png: Added.
* platform/mac/fast/multicol/pagination/LeftToRightGrid-rl-expected.txt: Added.
* platform/mac/fast/multicol/pagination/LeftToRightGrid-tb-expected.png: Added.
* platform/mac/fast/multicol/pagination/LeftToRightGrid-tb-expected.txt: Added.
* platform/mac/fast/multicol/pagination/RightToLeft-bt-expected.png:
* platform/mac/fast/multicol/pagination/RightToLeft-lr-expected.png:
* platform/mac/fast/multicol/pagination/RightToLeft-max-width-expected.png:
* platform/mac/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.png:
* platform/mac/fast/multicol/pagination/RightToLeft-rl-expected.png:
* platform/mac/fast/multicol/pagination/RightToLeft-tb-expected.png:
* platform/mac/fast/multicol/pagination/RightToLeftGrid-bt-expected.png: Added.
* platform/mac/fast/multicol/pagination/RightToLeftGrid-bt-expected.txt: Added.
* platform/mac/fast/multicol/pagination/RightToLeftGrid-lr-expected.png: Added.
* platform/mac/fast/multicol/pagination/RightToLeftGrid-lr-expected.txt: Added.
* platform/mac/fast/multicol/pagination/RightToLeftGrid-rl-expected.png: Added.
* platform/mac/fast/multicol/pagination/RightToLeftGrid-rl-expected.txt: Added.
* platform/mac/fast/multicol/pagination/RightToLeftGrid-tb-expected.png: Added.
* platform/mac/fast/multicol/pagination/RightToLeftGrid-tb-expected.txt: Added.
* platform/mac/fast/multicol/pagination/TopToBottom-bt-expected.png:
* platform/mac/fast/multicol/pagination/TopToBottom-lr-expected.png:
* platform/mac/fast/multicol/pagination/TopToBottom-rl-expected.png:
* platform/mac/fast/multicol/pagination/TopToBottom-tb-expected.png:
* platform/mac/fast/multicol/pagination/TopToBottomGrid-bt-expected.png: Added.
* platform/mac/fast/multicol/pagination/TopToBottomGrid-bt-expected.txt: Added.
* platform/mac/fast/multicol/pagination/TopToBottomGrid-lr-expected.png: Added.
* platform/mac/fast/multicol/pagination/TopToBottomGrid-lr-expected.txt: Added.
* platform/mac/fast/multicol/pagination/TopToBottomGrid-rl-expected.png: Added.
* platform/mac/fast/multicol/pagination/TopToBottomGrid-rl-expected.txt: Added.
* platform/mac/fast/multicol/pagination/TopToBottomGrid-tb-expected.png: Added.
* platform/mac/fast/multicol/pagination/TopToBottomGrid-tb-expected.txt: Added.
* platform/mac/fast/multicol/pagination/nested-transforms-expected.png:

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

4 years agoTab suspension code shouldn't use page cache cacheability logic
antti@apple.com [Tue, 2 Feb 2016 19:43:16 +0000 (19:43 +0000)]
Tab suspension code shouldn't use page cache cacheability logic
https://bugs.webkit.org/show_bug.cgi?id=153680

Reviewed by Andreas Kling.

Most of PageCache::canCache() is unnecessary for tab suspension.

Also improve robustness and introduce 1 minute delay before suspending.

* page/Page.cpp:
(WebCore::Page::setPageActivityState):
(WebCore::Page::setIsVisible):
(WebCore::Page::setIsVisibleInternal):
(WebCore::Page::setIsPrerender):
(WebCore::Page::canTabSuspend):

    Include visibility test here.

    Instead of calling PageCache::canCache() just check for each frame
    - that the document is loaded
    - that active DOM objects allow suspension

(WebCore::Page::setIsTabSuspended):
(WebCore::Page::setTabSuspensionEnabled):
(WebCore::Page::updateTabSuspensionState):

    Refactor for robustness.

(WebCore::Page::tabSuspensionTimerFired):

    Call canTabSuspend, the result might have changed.

(WebCore::Page::scheduleTabSuspension): Deleted.
* page/Page.h:

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

4 years ago[JSC] Introduce BytecodeIntrinsic constant rep like @undefined
utatane.tea@gmail.com [Tue, 2 Feb 2016 19:33:05 +0000 (19:33 +0000)]
[JSC] Introduce BytecodeIntrinsic constant rep like @undefined
https://bugs.webkit.org/show_bug.cgi?id=153737

Reviewed by Darin Adler.

Source/JavaScriptCore:

This patch enhances existing BytecodeIntrinsic mechanism to accept `@xxx` form,
that will be used to represent bytecode intrinsic constants.
After this change, we can use 2 forms for bytecode intrinsics. (1) Function form (like, @toString(value))
and (2) Constant form (like @undefined).

Bytecode intrinsic constants allow us to easily expose constant values from C++ world.
For example, we can expose ArrayIterationKind flags to JS world without using private global variables.
Exposed constant values are loaded from bytecodes directly through constant registers.
While previously we expose them through private global variables, bytecode intrinsic constants
can be loaded directly from CodeBlock. And later, it will become JSConstant in DFG.

And by using this mechanism, we implement several constants. @undefined, @arrayIterationKindKeyValue etc.

* builtins/ArrayConstructor.js:
(from):
* builtins/ArrayIteratorPrototype.js:
(next):
* builtins/ArrayPrototype.js:
(reduce):
(reduceRight):
(every):
(forEach):
(filter):
(map):
(some):
(fill):
(find):
(findIndex):
(includes):
(sort.compactSparse):
(sort.compactSlow):
(sort.compact):
(sort):
(copyWithin):
* builtins/DatePrototype.js:
(toLocaleString.toDateTimeOptionsAnyAll):
(toLocaleString):
(toLocaleDateString.toDateTimeOptionsDateDate):
(toLocaleDateString):
(toLocaleTimeString.toDateTimeOptionsTimeTime):
(toLocaleTimeString):
* builtins/GeneratorPrototype.js:
(generatorResume):
* builtins/GlobalObject.js:
(isDictionary):
* builtins/InternalPromiseConstructor.js:
(internalAll.newResolveElement):
(internalAll):
* builtins/IteratorPrototype.js:
(symbolIteratorGetter):
(symbolIterator): Deleted.
* builtins/MapPrototype.js:
(forEach):
* builtins/ModuleLoaderObject.js:
(newRegistryEntry):
(forceFulfillPromise):
(commitInstantiated):
(requestFetch):
(requestTranslate):
(requestInstantiate):
(requestLink):
(provide):
* builtins/PromiseConstructor.js:
(all.newResolveElement):
(all):
(race):
(reject):
(resolve):
* builtins/PromiseOperations.js:
(newPromiseCapability.executor):
(newPromiseCapability):
(rejectPromise):
(fulfillPromise):
(createResolvingFunctions.resolve):
(createResolvingFunctions.reject):
(createResolvingFunctions):
(promiseReactionJob):
(promiseResolveThenableJob):
(initializePromise):
* builtins/PromisePrototype.js:
(catch):
(then):
* builtins/SetPrototype.js:
(forEach):
* builtins/StringConstructor.js:
(raw):
* builtins/StringIteratorPrototype.js:
(next):
* builtins/StringPrototype.js:
(localeCompare):
* builtins/TypedArrayConstructor.js:
(of):
(from):
* builtins/TypedArrayPrototype.js:
(every):
(find):
(findIndex):
(forEach):
(some):
(reduce):
(reduceRight):
(map):
(filter):
* bytecode/BytecodeIntrinsicRegistry.cpp:
(JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry):
(JSC::BytecodeIntrinsicRegistry::lookup):
* bytecode/BytecodeIntrinsicRegistry.h:
* bytecompiler/NodesCodegen.cpp:
* parser/ASTBuilder.h:
(JSC::ASTBuilder::createResolve):
(JSC::ASTBuilder::makeFunctionCallNode):
* parser/NodeConstructors.h:
(JSC::BytecodeIntrinsicNode::BytecodeIntrinsicNode):
* parser/Nodes.h:
(JSC::ExpressionNode::isBytecodeIntrinsicNode):
(JSC::BytecodeIntrinsicNode::type):
(JSC::BytecodeIntrinsicNode::emitter):
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseProperty):
(JSC::Parser<LexerType>::parsePrimaryExpression):
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createResolve):
* runtime/CommonIdentifiers.cpp:
(JSC::CommonIdentifiers::CommonIdentifiers): Deleted.
* runtime/CommonIdentifiers.h:
(JSC::CommonIdentifiers::bytecodeIntrinsicRegistry): Deleted.
* runtime/IteratorPrototype.cpp:
(JSC::IteratorPrototype::finishCreation):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init): Deleted.
* runtime/VM.cpp:
(JSC::VM::VM):
* runtime/VM.h:
(JSC::VM::bytecodeIntrinsicRegistry):

Source/WebCore:

* Modules/fetch/FetchHeaders.js:
(initializeFetchHeaders):
* Modules/streams/ReadableStream.js:
(initializeReadableStream):
(closeDestination):
(abortDestination):
(pipeTo):
* Modules/streams/ReadableStreamInternals.js:
(privateInitializeReadableStreamController):
(teeReadableStream):
(isReadableStreamReader):
(errorReadableStream):
(finishClosingReadableStream):
(enqueueInReadableStream):
(readFromReadableStreamReader):
* Modules/streams/ReadableStreamReader.js:
(releaseLock):
* Modules/streams/StreamInternals.js:
(shieldingPromiseResolve):
(promiseInvokeOrNoopNoCatch):
(promiseInvokeOrFallbackOrNoop):
(validateAndNormalizeQueuingStrategy):
* Modules/streams/WritableStream.js:
(initializeWritableStream):
(write):
* Modules/streams/WritableStreamInternals.js:
(errorWritableStream):

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

4 years agoModern IDB: storage/indexeddb/dont-wedge.html sometimes ASSERTs.
beidson@apple.com [Tue, 2 Feb 2016 19:27:20 +0000 (19:27 +0000)]
Modern IDB: storage/indexeddb/dont-wedge.html sometimes ASSERTs.
https://bugs.webkit.org/show_bug.cgi?id=153790

Reviewed by Tim Horton.

Source/WebCore:

No new tests (Failing test now unskipped).

This test uncovered an unhandled race where the main thread tried to perform an OpenDB operation
multiple times while it was already in-progress on the server thread.

There was already a flag meant to cover this race, and it just needed to be applied to one more site.

* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperation):
(WebCore::IDBServer::UniqueIDBDatabase::openBackingStore):

LayoutTests:

* platform/mac-wk1/TestExpectations:

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

4 years agoUnreviewed attempt to fix Mac CMake build after r195999.
joepeck@webkit.org [Tue, 2 Feb 2016 19:10:54 +0000 (19:10 +0000)]
Unreviewed attempt to fix Mac CMake build after r195999.

* Source/cmake/OptionsMac.cmake:
* Source/cmake/WebKitFeatures.cmake:
Add ENABLE_RESOURCE_USAGE to CMake builds.

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

4 years ago[B3][Win64] Compile fixes.
peavo@outlook.com [Tue, 2 Feb 2016 19:07:03 +0000 (19:07 +0000)]
[B3][Win64] Compile fixes.
https://bugs.webkit.org/show_bug.cgi?id=153605

Reviewed by Filip Pizlo.

Fix remaining compile errors on Win64.

* CMakeLists.txt:
* b3/B3CFG.h:
(JSC::B3::CFG::newMap):
* ftl/FTLJITCode.h:

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

4 years agoUncaught Exception: TypeError: undefined is not an object (evaluating 'highlightedRan...
joepeck@webkit.org [Tue, 2 Feb 2016 18:52:28 +0000 (18:52 +0000)]
Uncaught Exception: TypeError: undefined is not an object (evaluating 'highlightedRange.from')
https://bugs.webkit.org/show_bug.cgi?id=153685

Reviewed by Timothy Hatcher.

* UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
(WebInspector.CodeMirrorTokenTrackingController.prototype.highlightRange):
The highlighted range could have just gotten removed, in which case the
marker would return undefined. Just bail in such cases.

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

4 years ago[Win] gardening after r195740.
zalan@apple.com [Tue, 2 Feb 2016 18:51:42 +0000 (18:51 +0000)]
[Win] gardening after r195740.

Unreviewed.

* platform/win/tables/mozilla/marvin/x_tbody_align_left-expected.txt:
* platform/win/tables/mozilla/marvin/x_tbody_align_right-expected.txt:
* platform/win/tables/mozilla/marvin/x_tbody_class-expected.txt:
* platform/win/tables/mozilla/marvin/x_tbody_id-expected.txt:
* platform/win/tables/mozilla/marvin/x_tbody_valign_baseline-expected.txt:
* platform/win/tables/mozilla/marvin/x_tbody_valign_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/x_tbody_valign_middle-expected.txt:
* platform/win/tables/mozilla/marvin/x_tbody_valign_top-expected.txt:
* platform/win/tables/mozilla/marvin/x_td_align_center-expected.txt:
* platform/win/tables/mozilla/marvin/x_td_align_char-expected.txt:
* platform/win/tables/mozilla/marvin/x_td_align_justify-expected.txt:
* platform/win/tables/mozilla/marvin/x_td_align_left-expected.txt:
* platform/win/tables/mozilla/marvin/x_td_align_right-expected.txt:
* platform/win/tables/mozilla/marvin/x_td_bgcolor_name-expected.txt:
* platform/win/tables/mozilla/marvin/x_td_bgcolor_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/x_td_class-expected.txt:
* platform/win/tables/mozilla/marvin/x_td_colspan-expected.txt:
* platform/win/tables/mozilla/marvin/x_td_height-expected.txt:
* platform/win/tables/mozilla/marvin/x_td_id-expected.txt:
* platform/win/tables/mozilla/marvin/x_td_nowrap-expected.txt:
* platform/win/tables/mozilla/marvin/x_td_rowspan-expected.txt:
* platform/win/tables/mozilla/marvin/x_td_style-expected.txt:
* platform/win/tables/mozilla/marvin/x_td_valign_baseline-expected.txt:
* platform/win/tables/mozilla/marvin/x_td_valign_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/x_td_valign_middle-expected.txt:
* platform/win/tables/mozilla/marvin/x_td_valign_top-expected.txt:
* platform/win/tables/mozilla/marvin/x_td_width-expected.txt:
* platform/win/tables/mozilla/marvin/x_tfoot_align_center-expected.txt:
* platform/win/tables/mozilla/marvin/x_tfoot_align_char-expected.txt:
* platform/win/tables/mozilla/marvin/x_tfoot_align_left-expected.txt:
* platform/win/tables/mozilla/marvin/x_tfoot_align_right-expected.txt:
* platform/win/tables/mozilla/marvin/x_tfoot_class-expected.txt:
* platform/win/tables/mozilla/marvin/x_tfoot_id-expected.txt:
* platform/win/tables/mozilla/marvin/x_tfoot_style-expected.txt:
* platform/win/tables/mozilla/marvin/x_tfoot_valign_baseline-expected.txt:
* platform/win/tables/mozilla/marvin/x_tfoot_valign_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/x_tfoot_valign_middle-expected.txt:
* platform/win/tables/mozilla/marvin/x_tfoot_valign_top-expected.txt:
* platform/win/tables/mozilla/marvin/x_th_align_center-expected.txt:
* platform/win/tables/mozilla/marvin/x_th_align_char-expected.txt:
* platform/win/tables/mozilla/marvin/x_th_align_justify-expected.txt:
* platform/win/tables/mozilla/marvin/x_th_align_left-expected.txt:
* platform/win/tables/mozilla/marvin/x_th_align_right-expected.txt:
* platform/win/tables/mozilla/marvin/x_th_bgcolor_name-expected.txt:
* platform/win/tables/mozilla/marvin/x_th_bgcolor_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/x_th_class-expected.txt:
* platform/win/tables/mozilla/marvin/x_th_colspan-expected.txt:
* platform/win/tables/mozilla/marvin/x_th_height-expected.txt:
* platform/win/tables/mozilla/marvin/x_th_id-expected.txt:
* platform/win/tables/mozilla/marvin/x_th_nowrap-expected.txt:
* platform/win/tables/mozilla/marvin/x_th_rowspan-expected.txt:
* platform/win/tables/mozilla/marvin/x_th_style-expected.txt:
* platform/win/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
* platform/win/tables/mozilla/marvin/x_th_valign_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/x_th_valign_middle-expected.txt:
* platform/win/tables/mozilla/marvin/x_th_valign_top-expected.txt:
* platform/win/tables/mozilla/marvin/x_th_width-expected.txt:
* platform/win/tables/mozilla/marvin/x_thead_align_center-expected.txt:
* platform/win/tables/mozilla/marvin/x_thead_align_char-expected.txt:
* platform/win/tables/mozilla/marvin/x_thead_align_left-expected.txt:
* platform/win/tables/mozilla/marvin/x_thead_align_right-expected.txt:
* platform/win/tables/mozilla/marvin/x_thead_class-expected.txt:
* platform/win/tables/mozilla/marvin/x_thead_id-expected.txt:
* platform/win/tables/mozilla/marvin/x_thead_style-expected.txt:
* platform/win/tables/mozilla/marvin/x_thead_valign_baseline-expected.txt:
* platform/win/tables/mozilla/marvin/x_thead_valign_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/x_thead_valign_middle-expected.txt:
* platform/win/tables/mozilla/marvin/x_thead_valign_top-expected.txt:
* platform/win/tables/mozilla/marvin/x_tr_align_char-expected.txt:
* platform/win/tables/mozilla/marvin/x_tr_bgcolor_name-expected.txt:
* platform/win/tables/mozilla/marvin/x_tr_bgcolor_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/x_tr_class-expected.txt:
* platform/win/tables/mozilla/marvin/x_tr_id-expected.txt:
* platform/win/tables/mozilla/marvin/x_tr_style-expected.txt:
* platform/win/tables/mozilla/marvin/x_tr_valign_baseline-expected.txt:
* platform/win/tables/mozilla/marvin/x_tr_valign_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/x_tr_valign_middle-expected.txt:
* platform/win/tables/mozilla/marvin/x_tr_valign_top-expected.txt:
* platform/win/tables/mozilla/other/body_col-expected.txt:
* platform/win/tables/mozilla/other/cell_widths-expected.txt:
* platform/win/tables/mozilla/other/cellspacing-expected.txt:
* platform/win/tables/mozilla/other/move_row-expected.txt:
* platform/win/tables/mozilla/other/ms-expected.txt:
* platform/win/tables/mozilla/other/nested2-expected.txt:
* platform/win/tables/mozilla/other/nestedTables-expected.txt:
* platform/win/tables/mozilla/other/padding-expected.txt:
* platform/win/tables/mozilla/other/slashlogo-expected.txt:
* platform/win/tables/mozilla/other/test3-expected.txt:
* platform/win/tables/mozilla/other/test6-expected.txt:
* platform/win/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
* platform/win/tables/mozilla/other/wa_table_tr_align-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/97619-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug1010-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug10140-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug101759-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug10216-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug104898-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug106336-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug1128-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug1164-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug11945-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug128876-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug131020-3-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug14007-1-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug14007-2-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug14159-2-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug1647-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug1725-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug17826-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug178855-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug18770-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug21518-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug22122-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug23847-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug24880-1-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug25707-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug27993-2-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug29058-2-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug3105-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug3166-11-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug3166-12-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug3166-13-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug3166-14-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug3166-16-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug3166-17-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug3166-18-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug32205-1-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug32205-4-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug4294-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug46268-4-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug51000-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug59252-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug65372-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug6933-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug7113-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug7121-2-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug72393-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug7243-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug73629-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug80762-2-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug8499-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug85016-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug89315-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug91057-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug92868_1-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug9879-1-expected.txt:
* platform/win/tables/mozilla_expected_failures/collapsing_borders/bug41262-1-expected.txt:
* platform/win/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt:
* platform/win/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt:
* platform/win/tables/mozilla_expected_failures/core/backgrounds-expected.txt:
* platform/win/tables/mozilla_expected_failures/core/captions1-expected.txt:
* platform/win/tables/mozilla_expected_failures/core/captions2-expected.txt:
* platform/win/tables/mozilla_expected_failures/core/captions3-expected.txt:
* platform/win/tables/mozilla_expected_failures/core/col_span2-expected.txt:
* platform/win/tables/mozilla_expected_failures/core/cols1-expected.txt:
* platform/win/tables/mozilla_expected_failures/core/columns-expected.txt:
* platform/win/tables/mozilla_expected_failures/core/conflicts-expected.txt:
* platform/win/tables/mozilla_expected_failures/core/standards1-expected.txt:
* platform/win/tables/mozilla_expected_failures/dom/appendCells1-expected.txt:
* platform/win/tables/mozilla_expected_failures/dom/appendCellsRebuild1-expected.txt:
* platform/win/tables/mozilla_expected_failures/dom/appendCol1-expected.txt:
* platform/win/tables/mozilla_expected_failures/dom/appendColGroup1-expected.txt:
* platform/win/tables/mozilla_expected_failures/dom/insertTbodyExpand1-expected.txt:
* platform/win/tables/mozilla_expected_failures/dom/insertTbodyRebuild1-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/backgr_border-table-cell-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/backgr_border-table-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/backgr_border-table-quirks-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/backgr_border-table-row-group-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/backgr_layers-show-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/backgr_position-table-cell-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/backgr_position-table-column-group-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/backgr_position-table-row-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_frame_above-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_frame_below-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_frame_hsides-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_frame_lhs-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_frame_rhs-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_frame_void-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_frame_vsides-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_caption-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_caption_bottom-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_caption_hidden-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_caption_hidden_table-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_caption_left-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_caption_right-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_caption_top-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_row-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_table-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_tbody-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_hidden_table-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_hidden_tbody-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_hidden_tr-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell_sibling-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table_caption-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_td_dynamic_deactivate-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_bottom-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_middle-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_top-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_rules_cols-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/table_rules_rows-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/tables_caption_align_left-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/tables_caption_align_right-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/tables_cellspacing_pct-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/x_caption_align_left-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/x_caption_align_right-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/x_colgroup_width_px-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/x_table_frame_above-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/x_table_frame_below-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/x_table_frame_border-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/x_table_frame_box-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/x_table_frame_hsides-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/x_table_frame_lhs-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/x_table_frame_rhs-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/x_table_frame_vsides-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/x_table_rules_all-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/x_table_rules_cols-expected.txt:
* platform/win/tables/mozilla_expected_failures/marvin/x_table_rules_rows-expected.txt:
* platform/win/tables/mozilla_expected_failures/other/empty_cells-expected.txt:
* platform/win/tables/mozilla_expected_failures/other/test4-expected.txt:

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

4 years agoLayout Test fast/parser/external-entities-in-xslt.xml is flaky on El Capitan (but...
mitz@apple.com [Tue, 2 Feb 2016 18:06:51 +0000 (18:06 +0000)]
Layout Test fast/parser/external-entities-in-xslt.xml is flaky on El Capitan (but fails most of the time)
https://bugs.webkit.org/show_bug.cgi?id=153683

Reviewed by Alexey Proskuryakov.

Tools:

Ensure that XML_CATALOG_FILES is set in the Web Content service’s environment as well.

* Scripts/webkitpy/port/driver.py:
(Driver._setup_environ_for_driver): Also set __XPC_DUMPRENDERTREE_TEMP.
* Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort.setup_environ_for_server): Set __XPC_XML_CATALOG_FILES.
* Scripts/webkitpy/port/mac.py:
(MacPort.setup_environ_for_server): Ditto.

LayoutTests:

* platform/mac/TestExpectations: Removed the failure expectation for this test.

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

4 years agoCSP: Support checking content security policy without a script execution context
dbates@webkit.org [Tue, 2 Feb 2016 17:57:40 +0000 (17:57 +0000)]
CSP: Support checking content security policy without a script execution context
https://bugs.webkit.org/show_bug.cgi?id=153748
<rdar://problem/24439149>

Reviewed by Darin Alder.

Towards checking a Web Worker's content security policy against a redirected worker
script load or redirected XHR request for an XHR request initiated from it, we should
support instantiating a ContentSecurityPolicy object without a ScriptExecutionContext.

No functionality was changed. So, no new tests.

* dom/Document.cpp:
(WebCore::Document::initSecurityContext): Pass |this| as a reference instead of as a pointer.
* page/csp/ContentSecurityPolicy.cpp: Remove extraneous includes ScriptState.h, TextEncoding.h,
and URL.h as they are included by ContentSecurityPolicy.h, FormDataList.h and FormData.h, respectively.
(WebCore::CSPSource::CSPSource): Take a constant reference to a ContentSecurityPolicy instead
of a pointer since we never expected a null pointer.
(WebCore::CSPSource::schemeMatches): Move logic for checking the protocol of source "self"
from here to ContentSecurityPolicy::protocolMatchesSelf() because we may not have a security
origin if ContentSecurityPolicy was initiated without a ScriptExecutionContext object.
(WebCore::CSPSourceList::allowSelf): Added.
(WebCore::CSPSourceList::CSPSourceList): Take a constant reference to a ContentSecurityPolicy
instead of a pointer since we never expected a null pointer. Remove fields from member
initialization list that can be initialized using C++11 in-class initialization syntax.
(WebCore::CSPSourceList::matches): Call ContentSecurityPolicy::urlMatchesSelf() to match the
effective URL against the URL of source "self".
(WebCore::CSPSourceList::parse): Update code as necessary now that m_policy is a reference
instead of a pointer.
(WebCore::CSPSourceList::parseSource): Simplify code by setting internal member fields directly
instead of via member functions.
(WebCore::CSPSourceList::parsePath): Update code as necessary now that m_policy is a reference
instead of a pointer.
(WebCore::CSPDirective::CSPDirective): Take a constant reference to a ContentSecurityPolicy
instead of a pointer since we never expected a null pointer.
(WebCore::CSPDirective::policy): Return a reference to a const ContentSecurityPolicy.
(WebCore::MediaListDirective::MediaListDirective): Take a constant reference to a ContentSecurityPolicy
instead of a pointer since we never expected a null pointer.
(WebCore::MediaListDirective::parse): Update code as necessary now that m_policy is a reference
instead of a pointer.
(WebCore::SourceListDirective::SourceListDirective): Take a constant reference to a ContentSecurityPolicy
instead of a pointer since we never expected a null pointer.
(WebCore::SourceListDirective::allows): Write in terms of CSPSourceList::allowSelf() because we
may not have a security origin to get a URL from if ContentSecurityPolicy was initiated without
a ScriptExecutionContext object.
(WebCore::CSPDirectiveList::reportURIs): Change return type from Vector<URL> to Vector<String>
The caller will convert the strings to URLs with respect to the script execution context.
(WebCore::CSPDirectiveList::parseReportURI): Store the report URI as a string instead of a URL
because we may not have a security origin to compute the absolute URL if ContentSecurityPolicy
was initiated without a ScriptExecutionContext object.
(WebCore::CSPDirectiveList::CSPDirectiveList): Take a reference to a ContentSecurityPolicy
instead of a pointer since we never expected a null pointer. It would be better to take a const
reference to a ContentSecurityPolicy, but ContentSecurityPolicy::applySandboxPolicy() needs to set
state on ContentSecurityPolicy :(
(WebCore::CSPDirectiveList::create): Ditto.
(WebCore::CSPDirectiveList::reportViolation): Update code as necessary now that m_policy is a reference
instead of a pointer.
(WebCore::CSPDirectiveList::checkEvalAndReportViolation): Ditto.
(WebCore::CSPDirectiveList::checkInlineAndReportViolation): Ditto.
(WebCore::CSPDirectiveList::parseDirective): Ditto.
(WebCore::CSPDirectiveList::parseReportURI): Store the report URI as a string instead of a URL
because we may not have a security origin to compute the absolute URL if ContentSecurityPolicy
was initiated without a ScriptExecutionContext object.
(WebCore::CSPDirectiveList::setCSPDirective): Update code as necessary now that m_policy is a reference
instead of a pointer.
(WebCore::CSPDirectiveList::applySandboxPolicy): Ditto.
(WebCore::CSPDirectiveList::parseReflectedXSS): Ditto.
(WebCore::CSPDirectiveList::addDirective): Ditto.
(WebCore::ContentSecurityPolicy::ContentSecurityPolicy): Modified to take the ScriptExecutionObject
as a reference and compute the CSPSource object for "self" and cache the protocol for "self". Removed
field m_overrideInlineStyleAllowed from the member initialization list and used C++11 in-class
initialization syntax to initialize it. Added overloaded constructor that takes a SecurityOrigin object.
We are not making use of this overloaded constructor at this time. We will in a subsequent patch.
(WebCore::ContentSecurityPolicy::didReceiveHeader): Store the eval disabled error message for
the last parsed policy in a member field instead of using it as part of disabling eval execution
on the script execution context because we may not have such a context.
(WebCore::ContentSecurityPolicy::applyPolicyToScriptExecutionContext): Applies the content security
policy eval and sandbox restrictions to the script execution context.
(WebCore::ContentSecurityPolicy::urlMatchesSelf): Match the specified URL against the URL for
source "self".
(WebCore::ContentSecurityPolicy::protocolMatchesSelf): Match the protocol of the specified URL
against the protocol for source "self".
(WebCore::ContentSecurityPolicy::gatherReportURIs): Modified to use the script execution context
to compute the absolute URL for each report URI.
(WebCore::ContentSecurityPolicy::reportViolation): Bail out if we do not have a script execution
context.
(WebCore::ContentSecurityPolicy::logToConsole): Only log to the console if we have a script
execution context.
(WebCore::ContentSecurityPolicy::reportBlockedScriptExecutionToInspector): Only report blocked
script execution to the Web Inspector if we have a script execution context.
(WebCore::CSPSourceList::addSourceSelf): Deleted.
(WebCore::CSPSourceList::addSourceStar): Deleted.
(WebCore::CSPSourceList::addSourceUnsafeInline): Deleted.
(WebCore::CSPSourceList::addSourceUnsafeEval): Deleted.
(WebCore::CSPDirectiveList::gatherReportURIs): Deleted.
(WebCore::ContentSecurityPolicy::securityOrigin): Deleted.
(WebCore::ContentSecurityPolicy::url): Deleted.
(WebCore::ContentSecurityPolicy::completeURL): Deleted.
(WebCore::ContentSecurityPolicy::enforceSandboxFlags): Deleted.
* page/csp/ContentSecurityPolicy.h:
(WebCore::ContentSecurityPolicy::enforceSandboxFlags): Accumulates the parsed sandbox flags. We
will apply the sandbox flags in ContentSecurityPolicy::applyPolicyToScriptExecutionContext().
* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::WorkerGlobalScope): Instantiate ContentSecurityPolicy.
(WebCore::WorkerGlobalScope::applyContentSecurityPolicyResponseHeaders): Move instantiation of
ContentSecurityPolicy from here to constructor.

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

4 years agoMinor fixes for B3 IR documentation
fpizlo@apple.com [Tue, 2 Feb 2016 16:58:41 +0000 (16:58 +0000)]
Minor fixes for B3 IR documentation
https://bugs.webkit.org/show_bug.cgi?id=153782

Reviewed by Michael Saboff.

Fix minor issues that Geoff found.

* docs/b3/intermediate-representation.html:

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

4 years agoAllow ports to disable automatic text track selection
eric.carlson@apple.com [Tue, 2 Feb 2016 16:38:02 +0000 (16:38 +0000)]
Allow ports to disable automatic text track selection
https://bugs.webkit.org/show_bug.cgi?id=153761
<rdar://problem/24416768>

Reviewed by Darin Adler.

Source/WebCore:

Test: media/track/track-manual-mode.html

* Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::manualKeyword): New.
(WebCore::MediaControlsHost::captionDisplayMode): Support 'manual' mode.
* Modules/mediacontrols/MediaControlsHost.h:

* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.buildCaptionMenu): Check the 'off' item when in manual mode.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::addTextTrack): Update m_captionDisplayMode when called for the first
  time so it is always correct. Set the track's manual selection mode as appropriate.
(WebCore::HTMLMediaElement::captionPreferencesChanged): Set each track's manual selection
  mode as appropriate.

* html/track/TextTrack.cpp:
(WebCore::TextTrack::kind): Return 'subtitles' for forced tracks when in manual mode.
* html/track/TextTrack.h:

* html/track/TrackBase.h:
(WebCore::TrackBase::kind): Make virtual.

* page/CaptionUserPreferences.cpp:
(WebCore::CaptionUserPreferences::beginBlockingNotifications): New.
(WebCore::CaptionUserPreferences::endBlockingNotifications): Ditto.
(WebCore::CaptionUserPreferences::notify): Don't notify when blocked.
* page/CaptionUserPreferences.h:

* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF): Set manual mode
  when appropriate.
(WebCore::CaptionUserPreferencesMediaAF::captionDisplayMode): Check manual mode.
(WebCore::CaptionUserPreferencesMediaAF::setCaptionDisplayMode): Ditto.
(WebCore::CaptionUserPreferencesMediaAF::setPreferredLanguage): Ditto.
(WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore): Return zero when in manual mode.
(WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu): Consider manual mode. Fix
  typos in logging.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::mediaDescriptionForKind): Return 'auxiliary' when in manual mode.

* testing/Internals.cpp:
(WebCore::Internals::setCaptionDisplayMode): Support manual mode.

LayoutTests:

* media/track/track-manual-mode-expected.txt: Added.
* media/track/track-manual-mode.html: Added.

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

4 years agoREGRESSION(r195899): ASSERTION FAILED: is<Target>(source) in EventPath::retargetTouch...
commit-queue@webkit.org [Tue, 2 Feb 2016 16:16:32 +0000 (16:16 +0000)]
REGRESSION(r195899): ASSERTION FAILED: is<Target>(source) in EventPath::retargetTouch() since r195899
https://bugs.webkit.org/show_bug.cgi?id=153741

Patch by Adrien Plazas <aplazas@igalia.com> on 2016-02-02
Reviewed by Ryosuke Niwa.

* dom/EventDispatcher.cpp:
(WebCore::EventPath::retargetTouch):

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

4 years ago[Win] gardening after r195740. (more to follow)
zalan@apple.com [Tue, 2 Feb 2016 16:11:23 +0000 (16:11 +0000)]
[Win] gardening after r195740. (more to follow)

Unreviewed.

* platform/win/tables/mozilla/bugs/bug101201-expected.txt:
* platform/win/tables/mozilla/bugs/bug101674-expected.txt:
* platform/win/tables/mozilla/bugs/bug103533-expected.txt:
* platform/win/tables/mozilla/bugs/bug106158-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug106795-expected.txt:
* platform/win/tables/mozilla/bugs/bug106816-expected.txt:
* platform/win/tables/mozilla/bugs/bug108340-expected.txt:
* platform/win/tables/mozilla/bugs/bug110566-expected.txt:
* platform/win/tables/mozilla/bugs/bug113235-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug113235-3-expected.txt:
* platform/win/tables/mozilla/bugs/bug113424-expected.txt:
* platform/win/tables/mozilla/bugs/bug119786-expected.txt:
* platform/win/tables/mozilla/bugs/bug120107-expected.txt:
* platform/win/tables/mozilla/bugs/bug120364-expected.txt:
* platform/win/tables/mozilla/bugs/bug133756-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug133756-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug137388-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug137388-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug137388-3-expected.txt:
* platform/win/tables/mozilla/bugs/bug138725-expected.txt:
* platform/win/tables/mozilla/bugs/bug139524-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug139524-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug139524-3-expected.txt:
* platform/win/tables/mozilla/bugs/bug139524-4-expected.txt:
* platform/win/tables/mozilla/bugs/bug149275-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug154780-expected.txt:
* platform/win/tables/mozilla/bugs/bug159108-expected.txt:
* platform/win/tables/mozilla/bugs/bug175455-4-expected.txt:
* platform/win/tables/mozilla/bugs/bug20579-expected.txt:
* platform/win/tables/mozilla/bugs/bug20804-expected.txt:
* platform/win/tables/mozilla/bugs/bug21299-expected.txt:
* platform/win/tables/mozilla/bugs/bug215629-expected.txt:
* platform/win/tables/mozilla/bugs/bug21918-expected.txt:
* platform/win/tables/mozilla/bugs/bug219693-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug219693-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug22019-expected.txt:
* platform/win/tables/mozilla/bugs/bug220536-expected.txt:
* platform/win/tables/mozilla/bugs/bug221784-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug221784-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug222336-expected.txt:
* platform/win/tables/mozilla/bugs/bug22246-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug22246-2a-expected.txt:
* platform/win/tables/mozilla/bugs/bug22246-3-expected.txt:
* platform/win/tables/mozilla/bugs/bug22246-3a-expected.txt:
* platform/win/tables/mozilla/bugs/bug22513-expected.txt:
* platform/win/tables/mozilla/bugs/bug23072-expected.txt:
* platform/win/tables/mozilla/bugs/bug23151-expected.txt:
* platform/win/tables/mozilla/bugs/bug23235-expected.txt:
* platform/win/tables/mozilla/bugs/bug23299-expected.txt:
* platform/win/tables/mozilla/bugs/bug24200-expected.txt:
* platform/win/tables/mozilla/bugs/bug24503-expected.txt:
* platform/win/tables/mozilla/bugs/bug24627-expected.txt:
* platform/win/tables/mozilla/bugs/bug24880-expected.txt:
* platform/win/tables/mozilla/bugs/bug25004-expected.txt:
* platform/win/tables/mozilla/bugs/bug25074-expected.txt:
* platform/win/tables/mozilla/bugs/bug25086-expected.txt:
* platform/win/tables/mozilla/bugs/bug25367-expected.txt:
* platform/win/tables/mozilla/bugs/bug25663-expected.txt:
* platform/win/tables/mozilla/bugs/bug26178-expected.txt:
* platform/win/tables/mozilla/bugs/bug26553-expected.txt:
* platform/win/tables/mozilla/bugs/bug269566-expected.txt:
* platform/win/tables/mozilla/bugs/bug27038-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug27038-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug275625-expected.txt:
* platform/win/tables/mozilla/bugs/bug277062-expected.txt:
* platform/win/tables/mozilla/bugs/bug278266-expected.txt:
* platform/win/tables/mozilla/bugs/bug278385-expected.txt:
* platform/win/tables/mozilla/bugs/bug27993-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug28928-expected.txt:
* platform/win/tables/mozilla/bugs/bug28933-expected.txt:
* platform/win/tables/mozilla/bugs/bug29058-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug29157-expected.txt:
* platform/win/tables/mozilla/bugs/bug29314-expected.txt:
* platform/win/tables/mozilla/bugs/bug29429-expected.txt:
* platform/win/tables/mozilla/bugs/bug30273-expected.txt:
* platform/win/tables/mozilla/bugs/bug30418-expected.txt:
* platform/win/tables/mozilla/bugs/bug30559-expected.txt:
* platform/win/tables/mozilla/bugs/bug30985-expected.txt:
* platform/win/tables/mozilla/bugs/bug32205-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug32205-3-expected.txt:
* platform/win/tables/mozilla/bugs/bug32205-5-expected.txt:
* platform/win/tables/mozilla/bugs/bug32447-expected.txt:
* platform/win/tables/mozilla/bugs/bug33137-expected.txt:
* platform/win/tables/mozilla/bugs/bug33855-expected.txt:
* platform/win/tables/mozilla/bugs/bug34538-expected.txt:
* platform/win/tables/mozilla/bugs/bug35662-expected.txt:
* platform/win/tables/mozilla/bugs/bug38916-expected.txt:
* platform/win/tables/mozilla/bugs/bug39209-expected.txt:
* platform/win/tables/mozilla/bugs/bug40828-expected.txt:
* platform/win/tables/mozilla/bugs/bug42187-expected.txt:
* platform/win/tables/mozilla/bugs/bug44505-expected.txt:
* platform/win/tables/mozilla/bugs/bug44523-expected.txt:
* platform/win/tables/mozilla/bugs/bug45055-expected.txt:
* platform/win/tables/mozilla/bugs/bug45350-expected.txt:
* platform/win/tables/mozilla/bugs/bug45486-expected.txt:
* platform/win/tables/mozilla/bugs/bug46268-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug46268-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug46268-3-expected.txt:
* platform/win/tables/mozilla/bugs/bug46268-5-expected.txt:
* platform/win/tables/mozilla/bugs/bug46268-expected.txt:
* platform/win/tables/mozilla/bugs/bug46368-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug46480-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug46480-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug46623-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug46623-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug47432-expected.txt:
* platform/win/tables/mozilla/bugs/bug48028-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug48028-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug51037-expected.txt:
* platform/win/tables/mozilla/bugs/bug51140-expected.txt:
* platform/win/tables/mozilla/bugs/bug51727-expected.txt:
* platform/win/tables/mozilla/bugs/bug52505-expected.txt:
* platform/win/tables/mozilla/bugs/bug52506-expected.txt:
* platform/win/tables/mozilla/bugs/bug53690-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug53690-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug53891-expected.txt:
* platform/win/tables/mozilla/bugs/bug55545-expected.txt:
* platform/win/tables/mozilla/bugs/bug55694-expected.txt:
* platform/win/tables/mozilla/bugs/bug55789-expected.txt:
* platform/win/tables/mozilla/bugs/bug56201-expected.txt:
* platform/win/tables/mozilla/bugs/bug56405-expected.txt:
* platform/win/tables/mozilla/bugs/bug57300-expected.txt:
* platform/win/tables/mozilla/bugs/bug57378-expected.txt:
* platform/win/tables/mozilla/bugs/bug57828-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug57828-expected.txt:
* platform/win/tables/mozilla/bugs/bug58402-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug59354-expected.txt:
* platform/win/tables/mozilla/bugs/bug60013-expected.txt:
* platform/win/tables/mozilla/bugs/bug60749-expected.txt:
* platform/win/tables/mozilla/bugs/bug60804-expected.txt:
* platform/win/tables/mozilla/bugs/bug60807-expected.txt:
* platform/win/tables/mozilla/bugs/bug60992-expected.txt:
* platform/win/tables/mozilla/bugs/bug63785-expected.txt:
* platform/win/tables/mozilla/bugs/bug67864-expected.txt:
* platform/win/tables/mozilla/bugs/bug67915-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug68998-expected.txt:
* platform/win/tables/mozilla/bugs/bug69187-expected.txt:
* platform/win/tables/mozilla/bugs/bug69382-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug69382-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug72359-expected.txt:
* platform/win/tables/mozilla/bugs/bug75250-expected.txt:
* platform/win/tables/mozilla/bugs/bug78162-expected.txt:
* platform/win/tables/mozilla/bugs/bug82946-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug82946-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug83786-expected.txt:
* platform/win/tables/mozilla/bugs/bug86708-expected.txt:
* platform/win/tables/mozilla/bugs/bug92143-expected.txt:
* platform/win/tables/mozilla/bugs/bug92647-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug93363-expected.txt:
* platform/win/tables/mozilla/bugs/bug96334-expected.txt:
* platform/win/tables/mozilla/bugs/bug96343-expected.txt:
* platform/win/tables/mozilla/bugs/bug97138-expected.txt:
* platform/win/tables/mozilla/bugs/bug97383-expected.txt:
* platform/win/tables/mozilla/bugs/bug99923-expected.txt:
* platform/win/tables/mozilla/bugs/bug99948-expected.txt:
* platform/win/tables/mozilla/collapsing_borders/bug127040-expected.txt:
* platform/win/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:
* platform/win/tables/mozilla/collapsing_borders/bug41262-4-expected.txt:
* platform/win/tables/mozilla/core/bloomberg-expected.txt:
* platform/win/tables/mozilla/core/borders-expected.txt:
* platform/win/tables/mozilla/core/captions-expected.txt:
* platform/win/tables/mozilla/core/cell_heights-expected.txt:
* platform/win/tables/mozilla/core/col_span-expected.txt:
* platform/win/tables/mozilla/core/col_widths_auto_auto-expected.txt:
* platform/win/tables/mozilla/core/col_widths_auto_autoFix-expected.txt:
* platform/win/tables/mozilla/core/col_widths_auto_autoFixPer-expected.txt:
* platform/win/tables/mozilla/core/col_widths_auto_autoPer-expected.txt:
* platform/win/tables/mozilla/core/col_widths_auto_fix-expected.txt:
* platform/win/tables/mozilla/core/col_widths_auto_fixPer-expected.txt:
* platform/win/tables/mozilla/core/col_widths_auto_per-expected.txt:
* platform/win/tables/mozilla/core/col_widths_fix_autoFix-expected.txt:
* platform/win/tables/mozilla/core/col_widths_fix_autoPer-expected.txt:
* platform/win/tables/mozilla/core/col_widths_fix_fix-expected.txt:
* platform/win/tables/mozilla/core/col_widths_fix_fixPer-expected.txt:
* platform/win/tables/mozilla/core/col_widths_fix_per-expected.txt:
* platform/win/tables/mozilla/core/margins-expected.txt:
* platform/win/tables/mozilla/core/misc-expected.txt:
* platform/win/tables/mozilla/core/nested1-expected.txt:
* platform/win/tables/mozilla/core/one_row-expected.txt:
* platform/win/tables/mozilla/core/row_span-expected.txt:
* platform/win/tables/mozilla/core/table_frame-expected.txt:
* platform/win/tables/mozilla/core/table_heights-expected.txt:
* platform/win/tables/mozilla/core/table_rules-expected.txt:
* platform/win/tables/mozilla/core/table_widths-expected.txt:
* platform/win/tables/mozilla/dom/appendCol2-expected.txt:
* platform/win/tables/mozilla/dom/appendRowsExpand1-expected.txt:
* platform/win/tables/mozilla/dom/appendTbodyExpand1-expected.txt:
* platform/win/tables/mozilla/dom/deleteCellsRebuild1-expected.txt:
* platform/win/tables/mozilla/dom/deleteCellsShrink1-expected.txt:
* platform/win/tables/mozilla/dom/deleteCellsShrink2-expected.txt:
* platform/win/tables/mozilla/dom/deleteCol1-expected.txt:
* platform/win/tables/mozilla/dom/deleteCol2-expected.txt:
* platform/win/tables/mozilla/dom/deleteCol3-expected.txt:
* platform/win/tables/mozilla/dom/deleteColGroup1-expected.txt:
* platform/win/tables/mozilla/dom/deleteColGroup2-expected.txt:
* platform/win/tables/mozilla/dom/deleteRowsRebuild1-expected.txt:
* platform/win/tables/mozilla/dom/deleteRowsShrink1-expected.txt:
* platform/win/tables/mozilla/dom/deleteTbodyExpand1-expected.txt:
* platform/win/tables/mozilla/dom/deleteTbodyRebuild1-expected.txt:
* platform/win/tables/mozilla/dom/insertCellsExpand1-expected.txt:
* platform/win/tables/mozilla/dom/insertCellsExpand2-expected.txt:
* platform/win/tables/mozilla/dom/insertCellsRebuild1-expected.txt:
* platform/win/tables/mozilla/dom/insertCellsRebuild2-expected.txt:
* platform/win/tables/mozilla/dom/insertColGroups1-expected.txt:
* platform/win/tables/mozilla/dom/insertColGroups2-expected.txt:
* platform/win/tables/mozilla/dom/insertCols1-expected.txt:
* platform/win/tables/mozilla/dom/insertCols2-expected.txt:
* platform/win/tables/mozilla/dom/insertCols3-expected.txt:
* platform/win/tables/mozilla/dom/insertCols4-expected.txt:
* platform/win/tables/mozilla/dom/insertCols5-expected.txt:
* platform/win/tables/mozilla/dom/insertRowsExpand1-expected.txt:
* platform/win/tables/mozilla/dom/insertRowsRebuild1-expected.txt:
* platform/win/tables/mozilla/dom/tableDom-expected.txt:
* platform/win/tables/mozilla/marvin/backgr_layers-opacity-expected.txt:
* platform/win/tables/mozilla/marvin/backgr_position-table-expected.txt:
* platform/win/tables/mozilla/marvin/backgr_simple-table-cell-expected.txt:
* platform/win/tables/mozilla/marvin/backgr_simple-table-column-expected.txt:
* platform/win/tables/mozilla/marvin/backgr_simple-table-column-group-expected.txt:
* platform/win/tables/mozilla/marvin/backgr_simple-table-expected.txt:
* platform/win/tables/mozilla/marvin/backgr_simple-table-row-expected.txt:
* platform/win/tables/mozilla/marvin/backgr_simple-table-row-group-expected.txt:
* platform/win/tables/mozilla/marvin/body_col-expected.txt:
* platform/win/tables/mozilla/marvin/body_tbody-expected.txt:
* platform/win/tables/mozilla/marvin/body_tfoot-expected.txt:
* platform/win/tables/mozilla/marvin/body_thead-expected.txt:
* platform/win/tables/mozilla/marvin/col_span-expected.txt:
* platform/win/tables/mozilla/marvin/colgroup_align_center-expected.txt:
* platform/win/tables/mozilla/marvin/colgroup_align_justify-expected.txt:
* platform/win/tables/mozilla/marvin/colgroup_align_left-expected.txt:
* platform/win/tables/mozilla/marvin/colgroup_align_right-expected.txt:
* platform/win/tables/mozilla/marvin/colgroup_span-expected.txt:
* platform/win/tables/mozilla/marvin/colgroup_valign_baseline-expected.txt:
* platform/win/tables/mozilla/marvin/colgroup_valign_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/colgroup_valign_middle-expected.txt:
* platform/win/tables/mozilla/marvin/colgroup_valign_top-expected.txt:
* platform/win/tables/mozilla/marvin/colgroup_width_pct-expected.txt:
* platform/win/tables/mozilla/marvin/colgroup_width_px-expected.txt:
* platform/win/tables/mozilla/marvin/table_frame_border-expected.txt:
* platform/win/tables/mozilla/marvin/table_frame_box-expected.txt:
* platform/win/tables/mozilla/marvin/table_overflow_hidden_td-expected.txt:
* platform/win/tables/mozilla/marvin/table_overflow_td_dynamic_deactivate-expected.txt:
* platform/win/tables/mozilla/marvin/table_row_align_center-expected.txt:
* platform/win/tables/mozilla/marvin/table_row_align_left-expected.txt:
* platform/win/tables/mozilla/marvin/table_row_align_right-expected.txt:
* platform/win/tables/mozilla/marvin/table_rules_all-expected.txt:
* platform/win/tables/mozilla/marvin/table_rules_groups-expected.txt:
* platform/win/tables/mozilla/marvin/table_rules_none-expected.txt:
* platform/win/tables/mozilla/marvin/tables_align_center-expected.txt:
* platform/win/tables/mozilla/marvin/tables_align_left-expected.txt:
* platform/win/tables/mozilla/marvin/tables_align_right-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_aqua-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_aqua_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_black-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_black_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_blue-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_blue_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_fuchsia-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_fuchsia_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_gray-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_gray_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_green-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_green_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_lime-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_lime_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_maroon-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_maroon_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_navy-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_navy_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_olive-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_olive_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_purple-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_purple_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_red-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_red_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_silver-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_silver_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_teal-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_teal_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_white-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_white_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_yellow-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_yellow_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_border_0-expected.txt:
* platform/win/tables/mozilla/marvin/tables_border_1-expected.txt:
* platform/win/tables/mozilla/marvin/tables_border_2-expected.txt:
* platform/win/tables/mozilla/marvin/tables_border_3-expected.txt:
* platform/win/tables/mozilla/marvin/tables_caption_align_bot-expected.txt:
* platform/win/tables/mozilla/marvin/tables_caption_align_top-expected.txt:
* platform/win/tables/mozilla/marvin/tables_cellpadding-expected.txt:
* platform/win/tables/mozilla/marvin/tables_cellpadding_pct-expected.txt:
* platform/win/tables/mozilla/marvin/tables_cellspacing-expected.txt:
* platform/win/tables/mozilla/marvin/tables_default-expected.txt:
* platform/win/tables/mozilla/marvin/tables_id-expected.txt:
* platform/win/tables/mozilla/marvin/tables_row_th_nowrap-expected.txt:
* platform/win/tables/mozilla/marvin/tables_td_align_center-expected.txt:
* platform/win/tables/mozilla/marvin/tables_td_align_left-expected.txt:
* platform/win/tables/mozilla/marvin/tables_td_align_right-expected.txt:
* platform/win/tables/mozilla/marvin/tables_td_colspan-expected.txt:
* platform/win/tables/mozilla/marvin/tables_td_height-expected.txt:
* platform/win/tables/mozilla/marvin/tables_td_nowrap-expected.txt:
* platform/win/tables/mozilla/marvin/tables_td_rowspan-expected.txt:
* platform/win/tables/mozilla/marvin/tables_td_width-expected.txt:
* platform/win/tables/mozilla/marvin/tables_th_align_center-expected.txt:
* platform/win/tables/mozilla/marvin/tables_th_align_left-expected.txt:
* platform/win/tables/mozilla/marvin/tables_th_align_right-expected.txt:
* platform/win/tables/mozilla/marvin/tables_th_colspan-expected.txt:
* platform/win/tables/mozilla/marvin/tables_th_height-expected.txt:
* platform/win/tables/mozilla/marvin/tables_th_rowspan-expected.txt:
* platform/win/tables/mozilla/marvin/tables_th_width-expected.txt:
* platform/win/tables/mozilla/marvin/tables_width_percent-expected.txt:
* platform/win/tables/mozilla/marvin/tables_width_px-expected.txt:
* platform/win/tables/mozilla/marvin/tbody_align_center-expected.txt:
* platform/win/tables/mozilla/marvin/tbody_align_char-expected.txt:
* platform/win/tables/mozilla/marvin/tbody_align_justify-expected.txt:
* platform/win/tables/mozilla/marvin/tbody_align_left-expected.txt:
* platform/win/tables/mozilla/marvin/tbody_align_right-expected.txt:
* platform/win/tables/mozilla/marvin/tbody_char-expected.txt:
* platform/win/tables/mozilla/marvin/tbody_valign_baseline-expected.txt:
* platform/win/tables/mozilla/marvin/tbody_valign_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/tbody_valign_middle-expected.txt:
* platform/win/tables/mozilla/marvin/tbody_valign_top-expected.txt:
* platform/win/tables/mozilla/marvin/td_valign_baseline-expected.txt:
* platform/win/tables/mozilla/marvin/td_valign_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/td_valign_middle-expected.txt:
* platform/win/tables/mozilla/marvin/td_valign_top-expected.txt:
* platform/win/tables/mozilla/marvin/tfoot_align_center-expected.txt:
* platform/win/tables/mozilla/marvin/tfoot_align_char-expected.txt:
* platform/win/tables/mozilla/marvin/tfoot_align_justify-expected.txt:
* platform/win/tables/mozilla/marvin/tfoot_align_left-expected.txt:
* platform/win/tables/mozilla/marvin/tfoot_align_right-expected.txt:
* platform/win/tables/mozilla/marvin/tfoot_char-expected.txt:
* platform/win/tables/mozilla/marvin/tfoot_valign_baseline-expected.txt:
* platform/win/tables/mozilla/marvin/tfoot_valign_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/tfoot_valign_middle-expected.txt:
* platform/win/tables/mozilla/marvin/tfoot_valign_top-expected.txt:
* platform/win/tables/mozilla/marvin/th_valign_baseline-expected.txt:
* platform/win/tables/mozilla/marvin/th_valign_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/th_valign_middle-expected.txt:
* platform/win/tables/mozilla/marvin/th_valign_top-expected.txt:
* platform/win/tables/mozilla/marvin/thead_align_center-expected.txt:
* platform/win/tables/mozilla/marvin/thead_align_char-expected.txt:
* platform/win/tables/mozilla/marvin/thead_align_justify-expected.txt:
* platform/win/tables/mozilla/marvin/thead_align_left-expected.txt:
* platform/win/tables/mozilla/marvin/thead_align_right-expected.txt:
* platform/win/tables/mozilla/marvin/thead_char-expected.txt:
* platform/win/tables/mozilla/marvin/thead_valign_baseline-expected.txt:
* platform/win/tables/mozilla/marvin/thead_valign_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/thead_valign_middle-expected.txt:
* platform/win/tables/mozilla/marvin/thead_valign_top-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_aqua_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_black-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_black_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_blue-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_blue_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_fuchsia-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_fuchsia_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_gray-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_gray_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_green-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_green_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_lime-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_lime_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_maroon-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_maroon_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_navy-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_navy_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_olive-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_olive_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_purple-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_purple_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_red-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_red_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_silver-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_silver_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_teal-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_teal_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_white-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_white_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_yellow-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_yellow_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_valign_baseline-expected.txt:
* platform/win/tables/mozilla/marvin/tr_valign_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/tr_valign_middle-expected.txt:
* platform/win/tables/mozilla/marvin/tr_valign_top-expected.txt:
* platform/win/tables/mozilla/marvin/x_caption_align_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/x_caption_align_top-expected.txt:
* platform/win/tables/mozilla/marvin/x_col_align_char-expected.txt:
* platform/win/tables/mozilla/marvin/x_col_span-expected.txt:
* platform/win/tables/mozilla/marvin/x_col_valign_baseline-expected.txt:
* platform/win/tables/mozilla/marvin/x_col_valign_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/x_col_valign_middle-expected.txt:
* platform/win/tables/mozilla/marvin/x_col_valign_top-expected.txt:
* platform/win/tables/mozilla/marvin/x_col_width_px-expected.txt:
* platform/win/tables/mozilla/marvin/x_col_width_rel-expected.txt:
* platform/win/tables/mozilla/marvin/x_colgroup_align_char-expected.txt:
* platform/win/tables/mozilla/marvin/x_colgroup_span-expected.txt:
* platform/win/tables/mozilla/marvin/x_colgroup_valign_baseline-expected.txt:
* platform/win/tables/mozilla/marvin/x_colgroup_valign_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/x_colgroup_valign_middle-expected.txt:
* platform/win/tables/mozilla/marvin/x_colgroup_valign_top-expected.txt:
* platform/win/tables/mozilla/marvin/x_colgroup_width_rel-expected.txt:
* platform/win/tables/mozilla/marvin/x_table-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_align_center-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_align_left-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_align_right-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_bgcolor_name-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_bgcolor_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_border-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_border_none-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_border_px-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_cellpadding-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_cellpadding_pct-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_cellspacing-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_cellspacing_pct-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_frame_void-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_rules_groups-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_rules_none-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_style-expected.txt:
* platform/win/tables/mozilla/marvin/x_tbody_align_center-expected.txt:
* platform/win/tables/mozilla/marvin/x_tbody_align_char-expected.txt:

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

4 years ago[EFL] Virtual Keyboard overlaps MiniBrowser's WebView
g.czajkowski@samsung.com [Tue, 2 Feb 2016 12:26:38 +0000 (12:26 +0000)]
[EFL] Virtual Keyboard overlaps MiniBrowser's WebView
https://bugs.webkit.org/show_bug.cgi?id=153009

Reviewed by Gyuyoung Kim.

On mobile, virtual keyboard represented by ecore_imf module appears on
the top of application layer usually covering bottom part of the screen.
If the web page contains the editable content on the bottom of the page
it will be overlapped by keyboard which prevents user from seeing the
typed text.

Pack MiniBrowser layout into conformant widget to allow EFL to guess
the space that will be required by the keyboard, finally resizing it
to the desired size. As a result, webview gets resized and scrolled
into focused elements which makes the editable elements visible while
typing.

More details about elm_conformant widger can be found at:
https://docs.enlightenment.org/elementary/1.15.0/group__Conformant.html
https://docs.enlightenment.org/elementary/1.15.0/conformant_example.html

* MiniBrowser/efl/main.c:
(window_create): pack a box into conformant widget.

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

4 years ago[GTK][EFL] Upgrade OpenWebRTC dependency
alex@webkit.org [Tue, 2 Feb 2016 11:35:33 +0000 (11:35 +0000)]
[GTK][EFL] Upgrade OpenWebRTC dependency
https://bugs.webkit.org/show_bug.cgi?id=153489

Reviewed by Philippe Normand.

.:

* Source/cmake/FindOpenWebRTC.cmake: Bump OpenWebRTC dependency,
required to make the mediastream work.

Tools:

* Scripts/run-gtk-tests:
(TestRunner): Avoid running the mediastream API test.
* Scripts/webkitperl/FeatureList.pm: Stop compiling mediastream by
default for gtk and efl.
* gtk/jhbuild-webrtc.modules: Added modules files with
dependencies required to compile and test the mediastream.

LayoutTests:

Skiped the mediastream tests by default, until we have the code
ready and gstreamer dependency is bumped.

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

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

4 years ago[GTK] Several tests fail due to assert not reached in DrawingArea::dispatchAfterEnsur...
commit-queue@webkit.org [Tue, 2 Feb 2016 11:00:41 +0000 (11:00 +0000)]
[GTK] Several tests fail due to assert not reached in DrawingArea::dispatchAfterEnsuringDrawing()
https://bugs.webkit.org/show_bug.cgi?id=153785

Patch by Adrien Plazas <aplazas@igalia.com> on 2016-02-02
Reviewed by Carlos Garcia Campos.

* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::dispatchAfterEnsuringDrawing):
* UIProcess/DrawingAreaProxyImpl.h:

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

4 years agoobject.__lookupGetter__() / object.__lookupSetter__() does not work for native bindings
cdumez@apple.com [Tue, 2 Feb 2016 06:35:09 +0000 (06:35 +0000)]
object.__lookupGetter__() / object.__lookupSetter__() does not work for native bindings
https://bugs.webkit.org/show_bug.cgi?id=153765
<rdar://problem/24439699>

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Add support for CustomAccessor slots to objectProtoFuncLookupGetter() and
objectProtoFuncLookupSetter() by return getOwnPropertyDescriptor().get / set.
getOwnPropertyDescriptor() now correctly deals with CustomAccessors since
r196001.

* runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):

LayoutTests:

Add layout tests to test that object.__lookupGetter__() / object.__lookupSetter__()
works for native bindings.

* js/lookupGetterGetter-native-bindings-expected.txt: Added.
* js/lookupGetterGetter-native-bindings.html: Added.

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

4 years agoWeb Inspector: Option+Up/Down should not move cursor outside of number
commit-queue@webkit.org [Tue, 2 Feb 2016 06:15:59 +0000 (06:15 +0000)]
Web Inspector: Option+Up/Down should not move cursor outside of number
https://bugs.webkit.org/show_bug.cgi?id=153784
<rdar://problem/24453133>

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-02-01
Reviewed by Timothy Hatcher.

* UserInterface/Views/CodeMirrorAdditions.js:
When selectionStart === selectionEnd we were duplicating the
movement mutation by performing it twice on the same object.
After much experimentation, I left in the existing code path
for handling mutation with a selection. It is not perfect,
but it is better then just applying the ch diff.

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

4 years agoUnreviewed, fix http/tests/security/cross-origin-window-property-access.html
cdumez@apple.com [Tue, 2 Feb 2016 06:12:38 +0000 (06:12 +0000)]
Unreviewed, fix http/tests/security/cross-origin-window-property-access.html

Update http/tests/security/cross-origin-window-property-access.html that was
introduced in r196001 so that it does not assert on Mac DRT. Mac DRT asserts
that testRunner.waitUntilDone() must be called *BEFORE* calling window.open().

* http/tests/security/cross-origin-window-property-access.html:

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

4 years agoNative Bindings Descriptors are Incomplete
cdumez@apple.com [Tue, 2 Feb 2016 03:47:51 +0000 (03:47 +0000)]
Native Bindings Descriptors are Incomplete
https://bugs.webkit.org/show_bug.cgi?id=140575
<rdar://problem/19506502>

Reviewed by Oliver Hunt.

LayoutTests/imported/w3c:

Rebaseline several W3C tests now that a lot more checks are passing.

* web-platform-tests/XMLHttpRequest/interfaces-expected.txt:
* web-platform-tests/dom/interfaces-expected.txt:
* web-platform-tests/html/dom/interfaces-expected.txt:

Source/JavaScriptCore:

This patch is based on initial work by Joe Pecoraro and Matthew Mirman.

This patch was initially rolled out for breaking chromeexperiments.com,
presumably because our IDL attributes were not marked as [configurable]
at the time. However, since r190104, our IDL attributes are now
configurable. Based on local testing, chromeexperiments.com seems to be
working fine now.

* JavaScriptCore.xcodeproj/project.pbxproj:
* inspector/InjectedScriptSource.js:
(endsWith):
(InjectedScript.prototype.processProperties):
* runtime/JSBoundSlotBaseFunction.cpp: Added.
(JSC::boundSlotBaseFunctionCall):
(JSC::JSBoundSlotBaseFunction::JSBoundSlotBaseFunction):
(JSC::JSBoundSlotBaseFunction::create):
(JSC::JSBoundSlotBaseFunction::visitChildren):
(JSC::JSBoundSlotBaseFunction::finishCreation):
* runtime/JSBoundSlotBaseFunction.h: Added.
(JSC::JSBoundSlotBaseFunction::createStructure):
(JSC::JSBoundSlotBaseFunction::boundSlotBase):
(JSC::JSBoundSlotBaseFunction::customGetterSetter):
(JSC::JSBoundSlotBaseFunction::isSetter):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::boundSlotBaseFunctionStructure):
* runtime/JSObject.cpp:
(JSC::getBoundSlotBaseFunctionForGetterSetter):
(JSC::JSObject::getOwnPropertyDescriptor):
* runtime/VM.cpp:
(JSC::VM::VM):
* runtime/VM.h:

LayoutTests:

Add test coverage.

* http/tests/security/cross-origin-window-property-access-expected.txt: Added.
* http/tests/security/cross-origin-window-property-access.html: Added.
* inspector/runtime/getProperties-expected.txt:
* js/dom/native-bindings-descriptors-expected.txt: Added.
* js/dom/native-bindings-descriptors.html: Added.
* js/dom/native-bindings-descriptors2-expected.txt: Added.
* js/dom/native-bindings-descriptors2.html: Added.
* js/dom/native-bindings-descriptors3-expected.txt: Added.
* js/dom/native-bindings-descriptors3.html: Added.
* js/dom/native-bindings-descriptors4-expected.txt: Added.
* js/dom/native-bindings-descriptors4.html: Added.
* js/dom/native-bindings-descriptors5-expected.txt: Added.
* js/dom/native-bindings-descriptors5.html: Added.

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

4 years ago[GTK] [EFL] [AppleWin] Layout Test fast/shadow-dom/slot-removal-crash-2.html timeouts
rniwa@webkit.org [Tue, 2 Feb 2016 02:35:12 +0000 (02:35 +0000)]
[GTK] [EFL] [AppleWin] Layout Test fast/shadow-dom/slot-removal-crash-2.html timeouts
https://bugs.webkit.org/show_bug.cgi?id=153772

Reviewed by Michael Catanzaro.

Don't call wait untilDone if attachShadow is not available.

* fast/shadow-dom/slot-removal-crash-2.html:

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

4 years agoWeb Inspector: High Level Memory Overview Instrument
joepeck@webkit.org [Tue, 2 Feb 2016 01:52:16 +0000 (01:52 +0000)]
Web Inspector: High Level Memory Overview Instrument
https://bugs.webkit.org/show_bug.cgi?id=153516
<rdar://problem/24356378>

Reviewed by Brian Burg.

Source/JavaScriptCore:

* CMakeLists.txt:
* Configurations/FeatureDefines.xcconfig:
* DerivedSources.make:
* inspector/protocol/Memory.json: Added.
* inspector/scripts/codegen/generator.py:
New Memory domain guarded by ENABLE(RESOURCE_USAGE).
This feature flag was already used in WebCore.

Source/WebCore:

Add a new agent that gathers data from the ResourceUsageThread
and sends to the frontend.

Test: inspector/memory/tracking.html

* CMakeLists.txt:
* Configurations/FeatureDefines.xcconfig:
* WebCore.xcodeproj/project.pbxproj:
New files.

* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
Add the new agent.

* inspector/InspectorMemoryAgent.h: Added.
* inspector/InspectorMemoryAgent.cpp: Added.
(WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
(WebCore::InspectorMemoryAgent::didCreateFrontendAndBackend):
(WebCore::InspectorMemoryAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorMemoryAgent::startTracking):
(WebCore::InspectorMemoryAgent::stopTracking):
(WebCore::InspectorMemoryAgent::collectSample):
Implement the agent by adding / removing it as a ResourceUsage
observer. When receiving the data forward it to the frontend.

Source/WebInspectorUI:

Use the new "Memory" domain to track page memory size over time.
This allows the timeline to help visualize total process memory
broken down into a few different categories. The timeline graph
allows seeing the total size over time, and you can drill in to
a specific section and get a better breakdown and comparison
of the different categories of memory that we currently track.

* Localizations/en.lproj/localizedStrings.js:
New UI strings.

* UserInterface/Main.html:
New files.

* UserInterface/Base/Main.js:
(WebInspector.loaded):
* UserInterface/Protocol/MemoryObserver.js:
(WebInspector.MemoryObserver.prototype.trackingStart):
(WebInspector.MemoryObserver.prototype.trackingUpdate):
(WebInspector.MemoryObserver.prototype.trackingComplete):
Add a memory observer.

* UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.defaultInstruments):
(WebInspector.TimelineManager.prototype.memoryTrackingStart):
(WebInspector.TimelineManager.prototype.memoryTrackingUpdate):
(WebInspector.TimelineManager.prototype.memoryTrackingComplete):
Create Memory timeline records from Memory tracking updates.

* UserInterface/Models/MemoryCategory.js:
(WebInspector.MemoryCategory):
Consolidate some of the raw data of categories we get from the backend
into a set of 4 user-facing categories.

* UserInterface/Models/MemoryTimelineRecord.js: Added.
(WebInspector.MemoryTimelineRecord):
(WebInspector.MemoryTimelineRecord.memoryCategoriesFromProtocol):
(WebInspector.MemoryTimelineRecord.prototype.get timestamp):
(WebInspector.MemoryTimelineRecord.prototype.get categories):
(WebInspector.MemoryTimelineRecord.prototype.get totalSize):
(WebInspector.MemoryTimelineRecord.prototype.get startTime):
(WebInspector.MemoryTimelineRecord.prototype.get endTime):
Memory timeline record for the event data.

* UserInterface/Models/MemoryInstrument.js:
(WebInspector.MemoryInstrument):
(WebInspector.MemoryInstrument.supported):
(WebInspector.MemoryInstrument.prototype.get timelineRecordType):
(WebInspector.MemoryInstrument.prototype.startInstrumentation):
(WebInspector.MemoryInstrument.prototype.stopInstrumentation):
Instrument to start / stop memory tracking.

* UserInterface/Models/TimelineRecord.js:
Add a new "Memory" Timeline type.

* UserInterface/Views/ContentView.js:
(WebInspector.ContentView.createFromRepresentedObject):
* UserInterface/Models/TimelineRecording.js:
(WebInspector.TimelineRecording):
Add the new "Memory" Timeline.

(WebInspector.TimelineRecording.prototype.addRecord):
Memory timeline records do not show in the SourceCode Timelines Overview.

* UserInterface/Views/CircleChart.css:
(.circle-chart):
(.circle-chart > svg > path.background):
(.circle-chart > .center):
* UserInterface/Views/CircleChart.js: Added.
(WebInspector.CircleChart):
(WebInspector.CircleChart.prototype.get element):
(WebInspector.CircleChart.prototype.get points):
(WebInspector.CircleChart.prototype.get size):
(WebInspector.CircleChart.prototype.get centerElement):
(WebInspector.CircleChart.prototype.get segments):
(WebInspector.CircleChart.prototype.set segments):
(WebInspector.CircleChart.prototype.get values):
(WebInspector.CircleChart.prototype.set values):
(WebInspector.CircleChart.prototype.clear):
(WebInspector.CircleChart.prototype.needsLayout):
(WebInspector.CircleChart.prototype.updateLayout):
(WebInspector.CircleChart.prototype._needsLayout):
(WebInspector.CircleChart.prototype._createCompleteCirclePathData):
(WebInspector.CircleChart.prototype._createSegmentPathData):
(WebInspector.CircleChart.prototype._updateLayout):
Standalone circle "donut" chart, copied mostly from Rendering Frames Timeline.
Initialize the chart's segments, then feed it a set of ([v1, v2, ...]) values
corresponding to each of the segments.

* UserInterface/Views/LineChart.js: Added.
(WebInspector.LineChart):
(WebInspector.LineChart.prototype.get element):
(WebInspector.LineChart.prototype.get points):
(WebInspector.LineChart.prototype.get size):
(WebInspector.LineChart.prototype.set size):
(WebInspector.LineChart.prototype.addPoint):
(WebInspector.LineChart.prototype.clear):
(WebInspector.LineChart.prototype.needsLayout):
(WebInspector.LineChart.prototype.updateLayout):
(WebInspector.LineChart.prototype._needsLayout):
(WebInspector.LineChart.prototype._updateLayout):
Standalone line chart. Uses a single SVG path, given a set of (x, y) points.

* UserInterface/Views/StackedLineChart.js: Added.
(WebInspector.StackedLineChart):
(WebInspector.StackedLineChart.prototype.get element):
(WebInspector.StackedLineChart.prototype.get points):
(WebInspector.StackedLineChart.prototype.get size):
(WebInspector.StackedLineChart.prototype.set size):
(WebInspector.StackedLineChart.prototype.initializeSections):
(WebInspector.StackedLineChart.prototype.addPointSet):
(WebInspector.StackedLineChart.prototype.clear):
(WebInspector.StackedLineChart.prototype.needsLayout):
(WebInspector.StackedLineChart.prototype.updateLayout):
(WebInspector.StackedLineChart.prototype._needsLayout):
(WebInspector.StackedLineChart.prototype._updateLayout):
Standalone stacked line chart. Initialize the chart's sections,
then feed it a set of (x, [y1, y2 ...]) points where the y
values correspond to each of the sections.

* UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview.prototype.get scrollContainerWidth):
Add a way to get this value without forcing layout all the time.

* UserInterface/Views/TimelineTabContentView.js:
(WebInspector.TimelineTabContentView.displayNameForTimeline):
(WebInspector.TimelineTabContentView.iconClassNameForTimeline):
(WebInspector.TimelineTabContentView.genericClassNameForTimeline):
(WebInspector.TimelineTabContentView.iconClassNameForRecord):
(WebInspector.TimelineTabContentView.displayNameForRecord):
Add placeholders for the new Memory Timeline Type.

* UserInterface/Views/MemoryCategoryView.css:
(.memory-category-view):
(.memory-category-view > .details):
(.memory-category-view > .details > .name):
(.memory-category-view > .graph):
* UserInterface/Views/MemoryCategoryView.js: Added.
(WebInspector.MemoryCategoryView):
(WebInspector.MemoryCategoryView.prototype.get element):
(WebInspector.MemoryCategoryView.prototype.get category):
(WebInspector.MemoryCategoryView.prototype.clear):
(WebInspector.MemoryCategoryView.prototype.layoutWithDataPoints):
(WebInspector.MemoryCategoryView.prototype._updateDetails):
* UserInterface/Views/MemoryTimelineOverviewGraph.css:
(body .timeline-overview > .graphs-container > .timeline-overview-graph.memory):
(.timeline-overview-graph.memory):
(.timeline-overview-graph.memory > .legend):
(.timeline-overview-graph.memory > .stacked-line-chart > svg > path.javascript):
(.timeline-overview-graph.memory > .stacked-line-chart > svg > path.images):
(.timeline-overview-graph.memory > .stacked-line-chart > svg > path.layers):
(.timeline-overview-graph.memory > .stacked-line-chart > svg > path.page):
* UserInterface/Views/MemoryTimelineOverviewGraph.js: Added.
(WebInspector.MemoryTimelineOverviewGraph):
(WebInspector.MemoryTimelineOverviewGraph.prototype.get height):
(WebInspector.MemoryTimelineOverviewGraph.prototype.reset):
(WebInspector.MemoryTimelineOverviewGraph.prototype.layout.timeToX):
(WebInspector.MemoryTimelineOverviewGraph.prototype.layout.sizeToY):
(WebInspector.MemoryTimelineOverviewGraph.prototype.layout.sizesToYs):
(WebInspector.MemoryTimelineOverviewGraph.prototype.layout.ysForRecord):
(WebInspector.MemoryTimelineOverviewGraph.prototype.layout):
(WebInspector.MemoryTimelineOverviewGraph.prototype._updateLegend):
(WebInspector.MemoryTimelineOverviewGraph.prototype._visibleRecords):
(WebInspector.MemoryTimelineOverviewGraph.prototype._memoryTimelineRecordAdded):
* UserInterface/Views/MemoryTimelineView.css: Added.
(.timeline-view.memory):
(.timeline-view.memory > .content):
(.timeline-view.memory > .content > .overview):
(.timeline-view.memory > .content .title):
(.timeline-view.memory > .content .subtitle):
(.timeline-view.memory > .content > .details > .timeline-ruler):
(.timeline-view.memory > .content > .details > .subtitle):
(.timeline-view.memory > .content > .overview > .chart):
(.timeline-view.memory > .content > .overview > .chart > .subtitle):
(.timeline-view.memory > .content > .overview > .chart > .container):
(.timeline-view.memory > .content > .overview > .divider):
(.timeline-view.memory > .content > .overview .max-percentage):
(.timeline-view.memory .legend):
(.timeline-view.memory .legend > .row):
(.timeline-view.memory .legend > .row > .swatch):
(.timeline-view.memory .legend > .row > p):
(.timeline-view.memory .legend > .row > .label):
(.timeline-view.memory .legend > .row > .size):
(.timeline-view.memory .legend > .row > .swatch.javascript):
(.timeline-view.memory .legend > .row > .swatch.images):
(.timeline-view.memory .legend > .row > .swatch.layers):
(.timeline-view.memory .legend > .row > .swatch.page):
(.memory-category-view.javascript .line-chart > svg > path):
(.memory-category-view.images .line-chart > svg > path):
(.memory-category-view.layers .line-chart > svg > path):
(.memory-category-view.page .line-chart > svg > path):
(.timeline-view.memory .legend > .row > .swatch.current):
(.timeline-view.memory .circle-chart > svg > path.current):
(.timeline-view.memory .circle-chart > svg > path.remainder):
* UserInterface/Views/MemoryTimelineView.js: Added.
(WebInspector.MemoryTimelineView):
(WebInspector.MemoryTimelineView.displayNameForCategory):
(WebInspector.MemoryTimelineView.prototype.get navigationSidebarTreeOutlineLabel):
(WebInspector.MemoryTimelineView.prototype.shown):
(WebInspector.MemoryTimelineView.prototype.hidden):
(WebInspector.MemoryTimelineView.prototype.closed):
(WebInspector.MemoryTimelineView.prototype.reset):
(WebInspector.MemoryTimelineView.prototype.treeElementPathComponentSelected):
(WebInspector.MemoryTimelineView.prototype.layout.timeToX):
(WebInspector.MemoryTimelineView.prototype.layout.sizeToY):
(WebInspector.MemoryTimelineView.prototype.layout.layoutCategoryView):
(WebInspector.MemoryTimelineView.prototype.layout):
(WebInspector.MemoryTimelineView.prototype._clearUsageLegend):
(WebInspector.MemoryTimelineView.prototype._updateUsageLegend):
(WebInspector.MemoryTimelineView.prototype._clearMaxComparisonLegend):
(WebInspector.MemoryTimelineView.prototype._updateMaxComparisonLegend):
(WebInspector.MemoryTimelineView.prototype._visibleRecords):
(WebInspector.MemoryTimelineView.prototype._initializeCategoryViews.appendLegendRow):
(WebInspector.MemoryTimelineView.prototype._initializeCategoryViews):
(WebInspector.MemoryTimelineView.prototype._memoryTimelineRecordAdded):
* UserInterface/Views/Variables.css:
(:root):
Memory timeline view styles.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

LayoutTests:

* inspector/memory/tracking-expected.txt: Added.
* inspector/memory/tracking.html: Added.
Basic test for the new domain tracking commands and events.

* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/win/TestExpectations:
Skip the directory on ports that have not implemented ENABLE(RESOURCE_USAGE).

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

4 years agoFix CMake build.
achristensen@apple.com [Tue, 2 Feb 2016 01:51:14 +0000 (01:51 +0000)]
Fix CMake build.

* PlatformMac.cmake:

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

4 years agoModern IDB: Cursors (still) do not keep their opening request alive.
beidson@apple.com [Tue, 2 Feb 2016 01:42:54 +0000 (01:42 +0000)]
Modern IDB: Cursors (still) do not keep their opening request alive.
https://bugs.webkit.org/show_bug.cgi?id=153724

Reviewed by Alex Christensen.

No new tests (All existing tests pass without flakiness).

IDBCursors did not properly keep their JS wrappers alive.
Making them ActiveDOMObjects that keep track of how many requests might be in flight fixes this.
This also makes them actually keep their opening-request live via the opaque-root mechanism.

IDBCursorWithValue also needed to opt in to all of these mechanisms.

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:

* Modules/indexeddb/IDBCursor.h:
(WebCore::IDBCursor::hasPendingActivity): The base IDBCursor always has no pending activity,
  to maintain current behavior in LegacyIDB. This weirdness will go away when LegacyIDB does.
* Modules/indexeddb/IDBCursor.idl:
* Modules/indexeddb/IDBCursorWithValue.idl:

Track a count for all outstanding requests to keep the cursor alive as an ActiveDOMObject.
* Modules/indexeddb/client/IDBCursorImpl.cpp:
(WebCore::IDBClient::IDBCursor::IDBCursor):
(WebCore::IDBClient::IDBCursor::update):
(WebCore::IDBClient::IDBCursor::uncheckedIterateCursor):
(WebCore::IDBClient::IDBCursor::deleteFunction):
(WebCore::IDBClient::IDBCursor::activeDOMObjectName):
(WebCore::IDBClient::IDBCursor::canSuspendForDocumentSuspension):
(WebCore::IDBClient::IDBCursor::hasPendingActivity):
(WebCore::IDBClient::IDBCursor::decrementOutstandingRequestCount):
* Modules/indexeddb/client/IDBCursorImpl.h:

Rework the "delete" family of functions on the object store to allow for returning a modern IDBRequest.
A lot of this can go away when LegacyIDB does.
* Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
(WebCore::IDBClient::IDBObjectStore::deleteFunction):
(WebCore::IDBClient::IDBObjectStore::doDelete):
(WebCore::IDBClient::IDBObjectStore::modernDelete):
* Modules/indexeddb/client/IDBObjectStoreImpl.h:

* Modules/indexeddb/client/IDBRequestImpl.cpp:
(WebCore::IDBClient::IDBRequest::setSource): Setup a ScopeGuard to decrement the cursor's request
  count whenever it makes sense to do so.
(WebCore::IDBClient::IDBRequest::dispatchEvent): Clear the ScopeGuard (if it exists) to decrement the count.
(WebCore::IDBClient::IDBRequest::willIterateCursor): Set the ScopeGuard.
(WebCore::IDBClient::IDBRequest::didOpenOrIterateCursor): Clear the ScopeGuard (if it exists) to decrement the count.
* Modules/indexeddb/client/IDBRequestImpl.h:

* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::ScopeGuard::ScopeGuard): Deleted.
(WebCore::IDBServer::ScopeGuard::~ScopeGuard): Deleted.
(WebCore::IDBServer::ScopeGuard::enable): Deleted.
(WebCore::IDBServer::ScopeGuard::disable): Deleted.

* bindings/js/JSIDBCursorWithValueCustom.cpp: Added.
(WebCore::JSIDBCursorWithValue::visitAdditionalChildren):

* platform/ScopeGuard.h: Added.
(WebCore::ScopeGuard::ScopeGuard):
(WebCore::ScopeGuard::~ScopeGuard):
(WebCore::ScopeGuard::enable):
(WebCore::ScopeGuard::disable):

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

4 years agoSkipping http/tests/plugins/visible_plugins.html on Yosemite during investigation.
ryanhaddad@apple.com [Tue, 2 Feb 2016 01:39:00 +0000 (01:39 +0000)]
Skipping http/tests/plugins/visible_plugins.html on Yosemite during investigation.
https://bugs.webkit.org/show_bug.cgi?id=153752

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

4 years agoWeb Inspector: add a LayoutReason enum to the View base class
mattbaker@apple.com [Tue, 2 Feb 2016 01:27:25 +0000 (01:27 +0000)]
Web Inspector: add a LayoutReason enum to the View base class
https://bugs.webkit.org/show_bug.cgi?id=153731
<rdar://problem/24430938>

Reviewed by Brian Burg.

Added a LayoutReason enum to the View base class, which can be passed as an optional
argument to needsLayout() and updateLayout(). The value is propagated to the view's
subtree during layout.

* UserInterface/Base/Main.js:
Update top-level views with Resize layout reason when window is resized.

* UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid.prototype._positionHeaderViews):
Update header view with Resize layout reason when column is resized.

* UserInterface/Views/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView.prototype.shown):
Assume the view has been resized when shown, and update layout.
(WebInspector.OverviewTimelineView.prototype.updateLayoutForResize): Deleted.
No longer needed, handled by the View base class.

* UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview.prototype.shown):
Assume the view has been resized when shown, and update layout.
(WebInspector.TimelineOverview.prototype.layout):
Invalidate cached scroll container width if resized.
(WebInspector.TimelineOverview.prototype.updateLayoutForResize): Deleted.
No longer needed, handled by the View base class.

* UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype.layout): Deleted.
No longer needed, handled by the View base class.

* UserInterface/Views/TimelineRuler.js:
(WebInspector.TimelineRuler.prototype.needsLayout):
(WebInspector.TimelineRuler.prototype.layout):
Update cached client width if resized.
(WebInspector.TimelineRuler.prototype.resize): Deleted.
Moved resize logic to layout override.

* UserInterface/Views/View.js:
(WebInspector.View):
(WebInspector.View.prototype.updateLayout):
Set layout reason.
(WebInspector.View.prototype.needsLayout):
Set layout reason even if an animation frame has already been scheduled,
since the layout reason could have changed.
(WebInspector.View.prototype._layoutSubtree):
Propagate layout reason to subtree, and reset the value when done.
(WebInspector.View.prototype._setLayoutReason):
Helper method for updating the layout reason. Ensures that LayoutReason.Resize
has priority over the default (LayoutReason.Dirty).

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

4 years agoMarking imported/w3c/web-platform-tests/streams-api/readable-streams/garbage-collecti...
ryanhaddad@apple.com [Tue, 2 Feb 2016 01:12:48 +0000 (01:12 +0000)]
Marking imported/w3c/web-platform-tests/streams-api/readable-streams/garbage-collection-1.html as flaky on Mac debug
https://bugs.webkit.org/show_bug.cgi?id=153781

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

4 years agoAdd code to parse the git branches out of the Trac RSS feed https://bugs.webkit.org...
jmarcell@apple.com [Tue, 2 Feb 2016 00:55:34 +0000 (00:55 +0000)]
Add code to parse the git branches out of the Trac RSS feed https://bugs.webkit.org/show_bug.cgi?id=153624

Reviewed by Daniel Bates.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:
(Trac.prototype.commitsOnBranch): Update filter to check for Git branches.
(Trac.prototype._convertCommitInfoElementToObject): Parse Git branches from the Trac RSS feed. Also changed "branchName" to
"branches" and updated the code to work with an array instead of a string.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/MockTrac.js:
(MockTrac): Refactored example commits out into a constant, MockTrac.EXAMPLE_TRAC_COMMITS.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/test-fixture-git-trac-rss.xml: Added. Test
fixture that contains XML with a Git branch.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/tests.js: Added unit test to test parsing Git
branches from Trac RSS feed. Also updated code to work with the new MockTrac.EXAMPLE_TRAC_COMMITS constant.

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

4 years agoFree Colormap when XWindow is destroyed.
commit-queue@webkit.org [Tue, 2 Feb 2016 00:46:33 +0000 (00:46 +0000)]
Free Colormap when XWindow is destroyed.
https://bugs.webkit.org/show_bug.cgi?id=153413

Patch by Sun-woo Nam <sunny.nam@samsung.com> on 2016-02-01
Reviewed by Žan Doberšek.

Colormap is needed to create XWindow and it should be freed when XWindow is destroyed.
Unless Colormap is freed before destroying XWindow, memory leak is suspected.
XFreeColormap therefore is needed on X11Helper.

* platform/graphics/surfaces/glx/X11Helper.cpp: Added XFreeColormap.
(WebCore::X11Helper::destroyWindow):

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

4 years agoMore iOS build fix.
mitz@apple.com [Tue, 2 Feb 2016 00:45:43 +0000 (00:45 +0000)]
More iOS build fix.

* Platform/spi/ios/UIKitSPI.h:

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

4 years agoiOS build fix.
mitz@apple.com [Tue, 2 Feb 2016 00:41:16 +0000 (00:41 +0000)]
iOS build fix.

* Platform/IPC/mac/ConnectionMac.mm:

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

4 years agoCopy sandbox profiles during installhdrs.
mitz@apple.com [Tue, 2 Feb 2016 00:35:26 +0000 (00:35 +0000)]
Copy sandbox profiles during installhdrs.

Reviewed by Anders Carlsson.

* Configurations/SandboxProfiles.xcconfig:

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

4 years ago[GTK] Unreviewed GTK+ Gardening.
clopez@igalia.com [Tue, 2 Feb 2016 00:00:16 +0000 (00:00 +0000)]
[GTK] Unreviewed GTK+ Gardening.

* platform/efl/TestExpectations: Add fast/shadow-dom/slot-removal-crash-2.html timeout expectation.
* platform/gtk/TestExpectations: Report and update a bunch of test expectations.
* platform/win/TestExpectations: Add fast/shadow-dom/slot-removal-crash-2.html timeout expectation.

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

4 years ago[Cocoa] Remove some more __has_include guards
mitz@apple.com [Mon, 1 Feb 2016 23:55:07 +0000 (23:55 +0000)]
[Cocoa] Remove some more __has_include guards
https://bugs.webkit.org/show_bug.cgi?id=153774

Reviewed by Tim Horton.

Guard private header includes with #if USE(APPLE_INTERNAL_SDK) rather than with __has_include.

* Platform/IPC/mac/ConnectionMac.mm:
* Platform/IPC/mac/ImportanceAssertion.h:
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
* Shared/cf/ArgumentCodersCF.cpp:
* Shared/mac/ChildProcessMac.mm:
* Shared/mac/SecItemShim.cpp:

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

4 years agoAdd command line flag to DRT to output the number of tests completed in server mode.
beidson@apple.com [Mon, 1 Feb 2016 23:40:39 +0000 (23:40 +0000)]
Add command line flag to DRT to output the number of tests completed in server mode.
https://bugs.webkit.org/show_bug.cgi?id=153750

Reviewed by Darin Adler.

* DumpRenderTree/mac/DumpRenderTree.mm:
(initializeGlobalsFromCommandLineOptions):
(runTestingServerLoop):

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

4 years ago[Xcode] Let Xcode know that the WebKit XPC service products are XPC services
mitz@apple.com [Mon, 1 Feb 2016 23:37:02 +0000 (23:37 +0000)]
[Xcode] Let Xcode know that the WebKit XPC service products are XPC services
https://bugs.webkit.org/show_bug.cgi?id=153773

Reviewed by Tim Horton.

* Configurations/BaseXPCService.xcconfig: Removed now-redundant definitions of
  MACH_O_TYPE and WRAPPER_EXTENSION.
* WebKit2.xcodeproj/project.pbxproj: Updated product types.

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

4 years agoCrash using WKPDFView, in -[UIPDFPageView showContent]
timothy_horton@apple.com [Mon, 1 Feb 2016 23:31:30 +0000 (23:31 +0000)]
Crash using WKPDFView, in -[UIPDFPageView showContent]
https://bugs.webkit.org/show_bug.cgi?id=153770
<rdar://problem/20157864>

Reviewed by Anders Carlsson.

When scrolling, we throw away UIPDFPageViews, but forget to unhook their delegates.
In some cases (also because their delegate is a raw pointer, not weak), they can call
back into a deleted WKPDFView, causing a crash.

* UIProcess/ios/WKPDFView.mm:
(detachViewForPage):
Add a helper to detach a page view, and unhook its delegates.

(-[WKPDFView _clearPages]):
(-[WKPDFView _revalidateViews]):
Make use of the new helper.

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

4 years ago[JSC] IRC can coalesce the frame pointer with a Tmp that is modified
benjamin@webkit.org [Mon, 1 Feb 2016 23:19:26 +0000 (23:19 +0000)]
[JSC] IRC can coalesce the frame pointer with a Tmp that is modified
https://bugs.webkit.org/show_bug.cgi?id=153694

Reviewed by Filip Pizlo.

Let's say we have:
    Move(FP, Tmp1)
    Add64(#1, Tmp1)

If we were to coalesce the Move, we would modify the frame pointer.
Well, that's exactly what was happening with IRC.

Since the epilogue is not know to Air before IRC, the liveness analysis
never discovers that FP is live when Tmp1 is UseDef by Add64. Adding
FP would a be a problem anyway for a bunch of reasons.

I tried two ways to prevent IRC to override IRC:
1) Add an interference edge with FP for all non-duplication Defs.
2) Let coalesce() know about FP and constraint any coalescing with a re-Def.

The two are within margin of error for performance. The second one was considerably
more complicated. This patch implements the first one.

Some extra note:
-It is very important to not increment the degree of a Tmp when making it interfere
 with FP. FP is not a valid color, it is not counted in the "K" colors considered
 for coloring. Increasing the degree with the edge to FP would make every stage
 pessimistic since there is an extra degree that can never be removed.
-I put "interferenceEdges" and "adjacencyList" in an inconsistent state.
 This is intentional, "interferenceEdges" is used to test the existence of an edge,
 "adjacencyList" is used to go over all the edges. In this case, we don't want
 the edge with FP to be considered when pruning the graph.

* b3/air/AirIteratedRegisterCoalescing.cpp:
One branch could be transformed into an assertion: TmpLiveness is type specific now.
* b3/testb3.cpp:
(JSC::B3::testOverrideFramePointer):
(JSC::B3::run):

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

4 years agoMarking imported/w3c/web-platform-tests/XMLHttpRequest/open-url-multi-window-4.htm...
ryanhaddad@apple.com [Mon, 1 Feb 2016 22:13:21 +0000 (22:13 +0000)]
Marking imported/w3c/web-platform-tests/XMLHttpRequest/open-url-multi-window-4.htm as flaky on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=153336

Unreviewed test gardening.

* platform/ios-simulator/TestExpectations:

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

4 years agoMove some SPI declarations into the appropriate SPI header
timothy_horton@apple.com [Mon, 1 Feb 2016 22:07:06 +0000 (22:07 +0000)]
Move some SPI declarations into the appropriate SPI header
https://bugs.webkit.org/show_bug.cgi?id=153755

Reviewed by Darin Adler.

* platform/graphics/cocoa/IOSurface.mm:
* platform/spi/cg/CoreGraphicsSPI.h:

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

4 years agoMarking http/tests/appcache/404-resource-with-slow-main-resource.php as flaky on...
ryanhaddad@apple.com [Mon, 1 Feb 2016 21:50:27 +0000 (21:50 +0000)]
Marking http/tests/appcache/404-resource-with-slow-main-resource.php as flaky on ios-simulator-wk2
https://bugs.webkit.org/show_bug.cgi?id=153503

Unreviewed test gardening.

* platform/ios-simulator/TestExpectations:

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

4 years agoMarking fast/replaced/preferred-widths.html as flaky on ios-simulator
ryanhaddad@apple.com [Mon, 1 Feb 2016 21:31:34 +0000 (21:31 +0000)]
Marking fast/replaced/preferred-widths.html as flaky on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=153311

Unreviewed test gardening.

* platform/ios-simulator/TestExpectations:

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

4 years agoSkip fast/shadow-dom/touch-event-ios.html on ios-simulator since touch events are...
ryanhaddad@apple.com [Mon, 1 Feb 2016 21:25:00 +0000 (21:25 +0000)]
Skip fast/shadow-dom/touch-event-ios.html on ios-simulator since touch events are not supported.
https://bugs.webkit.org/show_bug.cgi?id=149592

Unreviewed test gardening.

* platform/ios-simulator/TestExpectations:

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

4 years agoSnapshot surfaces are forever wired after being compressed
timothy_horton@apple.com [Mon, 1 Feb 2016 20:47:10 +0000 (20:47 +0000)]
Snapshot surfaces are forever wired after being compressed
https://bugs.webkit.org/show_bug.cgi?id=153751
<rdar://problem/24354546>

Reviewed by Darin Adler.

* platform/graphics/cocoa/IOSurface.mm:
(IOSurface::convertToFormat):
Allow IOSurfaceAccelerator to unwire surfaces after they're transformed.

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

4 years ago<rdar://problem/20150072> [iOS] Remove some file upload code only needed before iOS 9
mitz@apple.com [Mon, 1 Feb 2016 20:23:41 +0000 (20:23 +0000)]
<rdar://problem/20150072> [iOS] Remove some file upload code only needed before iOS 9
https://bugs.webkit.org/show_bug.cgi?id=153754

Reviewed by Darin Adler.

Source/WebCore:

* English.lproj/Localizable.strings: Updated for removal of WebKit2 string.

Source/WebKit2:

* Platform/spi/ios/UIKitSPI.h: Removed conditional forward declaration of SPI.

* UIProcess/ios/forms/WKFileUploadPanel.mm:
(photoLibraryIcon): Removed check for HAVE_WEBKIT_DOC_PICKER_ICONS, which is always true in
  iOS 9 and later.
(cameraIcon): Ditto.
(-[WKFileUploadPanel presentWithParameters:resultListener:]): Removed branch for when
  UIDocumentMenuViewController doesn’t respond to
  -_initIgnoringApplicationEntitlementForImportOfTypes:.
(-[WKFileUploadPanel _showMediaSourceSelectionSheet]): Deleted now-unused method.

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

4 years agoCache the Path instead of creating it every time it is required
commit-queue@webkit.org [Mon, 1 Feb 2016 19:45:18 +0000 (19:45 +0000)]
Cache the Path instead of creating it every time it is required
https://bugs.webkit.org/show_bug.cgi?id=152939

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-02-01
Reviewed by Darin Adler.

Source/WebCore:

Instead of creating the Path object every time it is required, we should
cache it in an LRU cache. TinyLRUCache returns a reference to the cached
entry so we do not have to pay the cost of copying it either.

* platform/graphics/FloatRoundedRect.h:
(WebCore::operator!=):
Implement the inequality operator for FloatRoundedRect since it is
called by TinyLRUCache.

* rendering/ClipPathOperation.h:
Return a reference to the path in the cache since instead of creating a
new copy.

* rendering/style/BasicShapes.cpp:
(WebCore::SVGPathTranslatedByteStream::SVGPathTranslatedByteStream):
(WebCore::SVGPathTranslatedByteStream::operator==):
(WebCore::SVGPathTranslatedByteStream::operator!=):
(WebCore::SVGPathTranslatedByteStream::isEmpty):
(WebCore::SVGPathTranslatedByteStream::path):
This struct holds an offset and an SVGPathByteStream. It is the key of
the LRU cache for the the translated SVGPathByteStream.

(WebCore::EllipsePathPolicy::isKeyNull):
(WebCore::EllipsePathPolicy::createValueForKey):
(WebCore::RoundedRectPathPolicy::isKeyNull):
(WebCore::RoundedRectPathPolicy::createValueForKey):
(WebCore::PolygonPathPolicy::isKeyNull):
(WebCore::PolygonPathPolicy::createValueForKey):
(WebCore::TranslatedByteStreamPathPolicy::isKeyNull):
(WebCore::TranslatedByteStreamPathPolicy::createValueForKey):
Inherit from the LRU cache policy template, so have a specific name for
the desired path contents and pass this class explicitly to the LRU cache
template.

(WebCore::cachedEllipsePath):
(WebCore::cachedRoundedRectPath):
(WebCore::cachedPolygonPath):
(WebCore::cachedTranslatedByteStreamPath):
Return a cached path object for specific path contents.

(WebCore::BasicShapeCircle::path):
(WebCore::BasicShapeEllipse::path):
(WebCore::BasicShapePolygon::path):
(WebCore::BasicShapePath::path):
(WebCore::BasicShapeInset::path):
Get the Path object from the cache; create a new one if it does not exist.

* rendering/style/BasicShapes.h:
Change the prototype of the path() function to return a reference to the
path in the cache instead of a having to copying it.

* svg/SVGPathByteStream.h:
(WebCore::SVGPathByteStream::operator!=):
Implement the inequality operator for SVGPathByteStream because it is
called by TinyLRUCache.

Source/WTF:

If the key type of an LRU cache can't to be strongly tided to a specific
data type; e.g. FloatRect -> Path, we need to be able to pass the policy
type to the TinyLRUCache template instead of just specializing it. This
will make the code more readable and will allow different caches for the
same key type.

* wtf/TinyLRUCache.h:
(WebCore::TinyLRUCache::get):

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

4 years agoMove properties that use custom bindings to the prototype
cdumez@apple.com [Mon, 1 Feb 2016 19:42:14 +0000 (19:42 +0000)]
Move properties that use custom bindings to the prototype
https://bugs.webkit.org/show_bug.cgi?id=153735

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline several W3C tests now that more checks are passing.

* web-platform-tests/dom/interfaces-expected.txt:
* web-platform-tests/html/dom/interfaces-expected.txt:
* web-platform-tests/XMLHttpRequest/interfaces-expected.txt:

Source/WebCore:

Move properties that use custom bindings to the prototype. Whether a
property's bindings code is generated or custom-written should not
impact where the property is located.

No new tests, already covered by existing tests.

* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::getOwnPropertySlot):
Add null-check for staticPropHashTable. HTMLDocument no longer has
any property on the instance so staticPropHashTable is now null.

* bindings/scripts/CodeGeneratorJS.pm:

LayoutTests:

Rebaseline / update existing tests now that properties using custom
bindings are on the prototype, as expected.

* fast/mediastream/MediaStream-video-element-expected.txt:
* fast/xmlhttprequest/xmlhttprequest-properties-prototype-expected.txt:
* inspector/model/remote-object-get-properties-expected.txt:
* js/dom/dom-attributes-on-mismatch-type-expected.txt:
* js/dom/dom-attributes-on-mismatch-type.html:
* platform/mac/inspector/model/remote-object-expected.txt:

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

4 years ago[Win] WTFHeaderDetection.h no longer needed
achristensen@apple.com [Mon, 1 Feb 2016 19:05:43 +0000 (19:05 +0000)]
[Win] WTFHeaderDetection.h no longer needed
https://bugs.webkit.org/show_bug.cgi?id=153753
rdar://problem/24434627

Reviewed by Darin Adler.

.:

* Source/cmake/WebKitFS.cmake:

Source/WTF:

* wtf/Platform.h:
* wtf/PlatformWin.cmake:

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

4 years agoWeb Inspector: Rendering Frames timeline draws all frame bars at minimum height
mattbaker@apple.com [Mon, 1 Feb 2016 18:24:40 +0000 (18:24 +0000)]
Web Inspector: Rendering Frames timeline draws all frame bars at minimum height
https://bugs.webkit.org/show_bug.cgi?id=153736
<rdar://problem/21946301>

Reviewed by Timothy Hatcher.

* UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
Update the new timeline overview's height before it's shown. Showing the
overview causes the rendering frames graph to do a layout, which requires
the height of the containing view to be a valid value.

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

4 years agoWeb Inspector: DataGridNode should support adding go-to arrow buttons to any cell
mattbaker@apple.com [Mon, 1 Feb 2016 18:22:37 +0000 (18:22 +0000)]
Web Inspector: DataGridNode should support adding go-to arrow buttons to any cell
https://bugs.webkit.org/show_bug.cgi?id=153733
<rdar://problem/24431813>

Reviewed by Brian Burg.

Provide a way to add go-to arrow buttons to any grid cell from within a
DataGridNode subclass's implementation of createCellContent.

* UserInterface/Views/DataGrid.js:
New event type, GoToArrowClicked.
(WebInspector.DataGridNode.prototype.createGoToArrowButton.buttonClicked):
(WebInspector.DataGridNode.prototype.createGoToArrowButton):
Adds a go-to arrow button to the cell's content element. Clicking the button
dispatches an event on the DataGrid, with event data containing the
DataGridNode and identifier of the cell containing the arrow button.

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

4 years agoREGRESSION(r195770): Use-after-free in ResourceLoaderOptions::cachingPolicy
jer.noble@apple.com [Mon, 1 Feb 2016 18:15:25 +0000 (18:15 +0000)]
REGRESSION(r195770): Use-after-free in ResourceLoaderOptions::cachingPolicy
https://bugs.webkit.org/show_bug.cgi?id=153727
<rdar://problem/24429886>

Reviewed by Chris Dumez.

The `this` object may be freed after calling deleteIfPossible(). Make the early-return-if-
deleted more explicit, and only check allowsCaching() after the deleteIfPossible() return
value check.

* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::removeClient):

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

4 years agoStop linking to PassKit
andersca@apple.com [Mon, 1 Feb 2016 17:56:58 +0000 (17:56 +0000)]
Stop linking to PassKit
https://bugs.webkit.org/show_bug.cgi?id=153746

Reviewed by Tim Horton.

* Configurations/WebKit.xcconfig:

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

4 years ago[Cocoa] Get rid of WK_ macros for initializers
mitz@apple.com [Mon, 1 Feb 2016 17:53:37 +0000 (17:53 +0000)]
[Cocoa] Get rid of WK_ macros for initializers
https://bugs.webkit.org/show_bug.cgi?id=153744

Reviewed by Anders Carlsson.

* Shared/API/Cocoa/WKFoundation.h: Removed definitions of WK_DESIGNATED_INITIALIZER and
  WK_UNAVAILABLE.

* mac/postprocess-framework-headers.sh: Removed rules for rewriting the above macros. Also
  removed Foundation import that became unnecessary, and definitions that were only needed
  before iOS 8.

Replaced instances of the above macros with their expansions.

* UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
* UIProcess/API/Cocoa/WKSecurityOrigin.h:
* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebsiteDataStore.h:

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

4 years agoImprovements to botwatcher's dashboard unit tests.
jmarcell@apple.com [Mon, 1 Feb 2016 17:02:38 +0000 (17:02 +0000)]
Improvements to botwatcher's dashboard unit tests.
https://bugs.webkit.org/show_bug.cgi?id=153621

Reviewed by Darin Adler.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/PopoverTracker.js:
(PopoverTracker): Retain a reference to the PopoverTracker so that we can make assertions about it in the unit tests.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/MockTrac.js:
(MockTrac): Changing revision 33019 to be on a different branch so that _appendPendingRevisionCount and
_popoverLinesForCommitRange have to traverse commits from different branches.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/tests.js: Changing equal to strictEqual
in unit test for _appendPendingRevisionCount. Also added assertions for Popover in test for
_revisionContentWithPopoverForIteration.

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

4 years agoRefactor to add event listeners and start periodic updates for all trac instances.
jmarcell@apple.com [Mon, 1 Feb 2016 17:01:56 +0000 (17:01 +0000)]
Refactor to add event listeners and start periodic updates for all trac instances.
https://bugs.webkit.org/show_bug.cgi?id=153609

Reviewed by Darin Adler.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:
(BuildbotQueueView): Adding event listeners for all trac instances.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js: Starting periodic updates
for all trac instances.

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

4 years agoTried to fix a build after r195899.
mitz@apple.com [Mon, 1 Feb 2016 16:00:55 +0000 (16:00 +0000)]
Tried to fix a build after r195899.

* dom/EventContext.h: Enabled TouchEventContext type trait specialization on iOS.

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

4 years agoUnreviewed. Updating global-constructors-attributes expectations after introducing...
youenn.fablet@crf.canon.fr [Mon, 1 Feb 2016 12:33:22 +0000 (12:33 +0000)]
Unreviewed. Updating global-constructors-attributes expectations after introducing Request in r195954.

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

4 years agoOne more unreviewed speculative buildfix after r195755.
ossy@webkit.org [Mon, 1 Feb 2016 12:31:44 +0000 (12:31 +0000)]
One more unreviewed speculative buildfix after r195755.

* PlatformMac.cmake:

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

4 years agoUnreviewed speculative buildfix after r195755.
ossy@webkit.org [Mon, 1 Feb 2016 12:19:23 +0000 (12:19 +0000)]
Unreviewed speculative buildfix after r195755.

* PlatformMac.cmake:

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

4 years agoUnreviewed speculative buildfix.
ossy@webkit.org [Mon, 1 Feb 2016 11:26:50 +0000 (11:26 +0000)]
Unreviewed speculative buildfix.

* dfg/DFGCommon.h: FTL_USES_B3 should be false if FTL JIT is disabled.

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

4 years agoUnreviewed speculative buildfix after r195795.
ossy@webkit.org [Mon, 1 Feb 2016 11:20:19 +0000 (11:20 +0000)]
Unreviewed speculative buildfix after r195795.

* PlatformMac.cmake: Remove Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm.

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

4 years ago[Fetch API] Implement Fetch API Request
youenn.fablet@crf.canon.fr [Mon, 1 Feb 2016 11:05:39 +0000 (11:05 +0000)]
[Fetch API] Implement Fetch API Request
https://bugs.webkit.org/show_bug.cgi?id=153437

LayoutTests/imported/w3c:

Reviewed by Darin Adler.

* web-platform-tests/fetch/api/headers/headers-basic.html:
* web-platform-tests/fetch/api/request/request-clone.sub-expected.txt: Added.
* web-platform-tests/fetch/api/request/request-clone.sub.html: Added.
* web-platform-tests/fetch/api/request/request-consume-expected.txt: Added.
* web-platform-tests/fetch/api/request/request-consume.html: Added.
* web-platform-tests/fetch/api/request/request-disturbed-expected.txt: Added.
* web-platform-tests/fetch/api/request/request-disturbed.html: Added.
* web-platform-tests/fetch/api/request/request-error-expected.txt: Added.
* web-platform-tests/fetch/api/request/request-error.html: Added.
* web-platform-tests/fetch/api/request/request-headers-expected.txt: Added.
* web-platform-tests/fetch/api/request/request-headers.html: Added.
* web-platform-tests/fetch/api/request/request-idl-expected.txt: Added.
* web-platform-tests/fetch/api/request/request-idl.html: Added.
* web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt: Added.
* web-platform-tests/fetch/api/request/request-init-001.sub.html: Added.
* web-platform-tests/fetch/api/request/request-init-002-expected.txt: Added.
* web-platform-tests/fetch/api/request/request-init-002.html: Added.
* web-platform-tests/fetch/api/request/request-init-003.sub-expected.txt: Added.
* web-platform-tests/fetch/api/request/request-init-003.sub.html: Added.
* web-platform-tests/fetch/api/request/request-structure-expected.txt: Added.
* web-platform-tests/fetch/api/request/request-structure.html: Added.
* web-platform-tests/fetch/api/resources/authentication.py: Added.
(main):
* web-platform-tests/fetch/api/resources/clean-stash.py: Added.
(main):
* web-platform-tests/fetch/api/resources/inspect-headers.py: Added.
(main):
* web-platform-tests/fetch/api/resources/method.py: Added.
(main):
* web-platform-tests/fetch/api/resources/preflight.py: Added.
(main):
* web-platform-tests/fetch/api/resources/redirect.py: Added.
(main):
* web-platform-tests/fetch/api/resources/top.txt: Added.
* web-platform-tests/fetch/api/resources/trickle.py: Added.
(main):
* web-platform-tests/fetch/api/resources/utils.js: Added.
(catch):
(dirname):
(checkRequest):
(readTextStream):

Source/WebCore:

Added support for Fetch Request and Body.
Body is sharing functionality between Request and Response.
Conversion between various body types are not implemented yet.

Added a FetchOptions class. Options in this class are partially redundant with ResourceLoaderOptions.

Fixing bug in Headers constructor.
Making error reporting in case of modifying headers compliant with the spec.

Reviewed by Darin Adler.

Tests: imported/w3c/web-platform-tests/fetch/api/request/request-clone.sub.html
       imported/w3c/web-platform-tests/fetch/api/request/request-consume.html
       imported/w3c/web-platform-tests/fetch/api/request/request-disturbed.html
       imported/w3c/web-platform-tests/fetch/api/request/request-error.html
       imported/w3c/web-platform-tests/fetch/api/request/request-headers.html
       imported/w3c/web-platform-tests/fetch/api/request/request-idl.html
       imported/w3c/web-platform-tests/fetch/api/request/request-init-001.sub.html
       imported/w3c/web-platform-tests/fetch/api/request/request-init-002.html
       imported/w3c/web-platform-tests/fetch/api/request/request-init-003.sub.html
       imported/w3c/web-platform-tests/fetch/api/request/request-structure.html

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* Modules/fetch/FetchBody.cpp: Added.
(WebCore::FetchBody::initBody):
(WebCore::FetchBody::clear):
(WebCore::FetchBody::processIfEmptyOrDisturbed):
(WebCore::FetchBody::arrayBuffer):
(WebCore::FetchBody::formData):
(WebCore::FetchBody::blob):
(WebCore::FetchBody::text):
(WebCore::FetchBody::json):
* Modules/fetch/FetchBody.h: Added.
(WebCore::FetchBody::~FetchBody):
(WebCore::FetchBody::isEmpty):
(WebCore::FetchBody::isDisturbed):
(WebCore::FetchBody::setDisturbed):
(WebCore::FetchBody::setMimeType):
(WebCore::FetchBody::mimeType):
* Modules/fetch/FetchBody.idl: Added.
* Modules/fetch/FetchHeaders.cpp:
(WebCore::canWriteHeader):
(WebCore::FetchHeaders::append):
(WebCore::FetchHeaders::remove):
(WebCore::FetchHeaders::set):
(WebCore::FetchHeaders::fill): Helper routine implementing https://fetch.spec.whatwg.org/#concept-headers-fill
* Modules/fetch/FetchHeaders.h: Adding header getter/setter for FetchRequest.
(WebCore::FetchHeaders::fastGet):
(WebCore::FetchHeaders::fastSet):
* Modules/fetch/FetchHeaders.js: Fixing bug in constructor (covered by modified headers-basc.html test).
(initializeFetchHeaders):
* Modules/fetch/FetchOptions.h: Added.
(WebCore::FetchOptions::FetchOptions):
(WebCore::FetchOptions::type):
(WebCore::FetchOptions::destination):
(WebCore::FetchOptions::mode):
(WebCore::FetchOptions::credentials):
(WebCore::FetchOptions::cache):
(WebCore::FetchOptions::redirect):
(WebCore::FetchOptions::referrerPolicy):
(WebCore::FetchOptions::setType):
(WebCore::FetchOptions::setDestination):
(WebCore::FetchOptions::setMode):
(WebCore::FetchOptions::setCredentials):
(WebCore::FetchOptions::setCache):
(WebCore::FetchOptions::setRedirect):
(WebCore::FetchOptions::setReferrerPolicy):
* Modules/fetch/FetchRequest.cpp: Added.
(WebCore::FetchRequest::create):
(WebCore::FetchRequest::FetchRequest):
(WebCore::FetchRequest::init):
(WebCore::FetchRequest::setReferrer):
(WebCore::FetchRequest::setReferrerPolicy):
(WebCore::FetchRequest::setMode):
(WebCore::FetchRequest::setCredentials):
(WebCore::FetchRequest::setCache):
(WebCore::FetchRequest::setRedirect):
(WebCore::FetchRequest::type):
(WebCore::FetchRequest::destination):
(WebCore::FetchRequest::referrerPolicy):
(WebCore::FetchRequest::referrer):
(WebCore::FetchRequest::mode):
(WebCore::FetchRequest::credentials):
(WebCore::FetchRequest::cache):
(WebCore::FetchRequest::redirect):
(WebCore::FetchRequest::setMethod):
(WebCore::FetchRequest::clone):
* Modules/fetch/FetchRequest.h: Added.
(WebCore::FetchRequest::method):
(WebCore::FetchRequest::url):
(WebCore::FetchRequest::integrity):
(WebCore::FetchRequest::headers):
* Modules/fetch/FetchRequest.idl: Added.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/Dictionary.h:
(WebCore::Dictionary::execState):
* bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue):
* bindings/js/JSDictionary.h:
(WebCore::JSDictionary::get):

LayoutTests:

Reviewed by Darin Adler.

* js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
* js/dom/global-constructors-attributes-expected.txt:
* platform/efl/js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
* platform/efl/js/dom/global-constructors-attributes-expected.txt:
* platform/gtk/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:

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

4 years agoAdd resize event for HTMLMediaElement
commit-queue@webkit.org [Mon, 1 Feb 2016 06:34:07 +0000 (06:34 +0000)]
Add resize event for HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=125715

Patch by Jeremy Jones <jeremyj@apple.com> on 2016-01-31
Reviewed by Darin Adler.
LayoutTests/imported/w3c:

Rebaselined test after moving 'resize' from DOMWindow.idl to GlobalEventHandlers.idl
per https://html.spec.whatwg.org/multipage/webappapis.html#globaleventhandlers

* web-platform-tests/html/dom/interfaces-expected.txt:

Source/WebCore:

Tests: http/tests/media/hls/hls-video-resize.html
       media/video-resize.html

Move resize javascript event from DOMWindow.idl to GlobalEventHandlers.idl
per https://html.spec.whatwg.org/multipage/webappapis.html#globaleventhandlers

Post resize event from video element when metadata loads and when content size changes.

* dom/GlobalEventHandlers.idl: Add onresize.
* html/HTMLElement.cpp:
(WebCore::HTMLElement::createEventHandlerNameMap): Add onresizeAttr.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setReadyState):
(WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::scheduleResizeEvent):
(WebCore::HTMLMediaElement::scheduleResizeEventIfSizeChanged):
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::scheduleResizeEvent): Sechedule event.
(WebCore::HTMLVideoElement::scheduleResizeEventIfSizeChanged): Schedule event if size has changed.
* html/HTMLVideoElement.h: Add declarations.
* page/DOMWindow.idl: Remove onresize.

Source/WebInspectorUI:

Add a display name for "resize" event.

* UserInterface/Models/ScriptTimelineRecord.js:
(WebInspector.ScriptTimelineRecord.EventType.displayName):

LayoutTests:

Update test for change: move resize javascript event from DOMWindow.idl to GlobalEventHandlers.idl
per https://html.spec.whatwg.org/multipage/webappapis.html#globaleventhandlers

* fast/dom/event-handler-attributes-expected.txt: Rebaselined.
* fast/dom/event-handler-attributes.html:
    Move resize from uniqueWindowEvents to eventsInGlobalEventHandlers.
* http/tests/media/hls/hls-video-resize-expected.txt: Added.
* http/tests/media/hls/hls-video-resize.html: Added.
* js/dom/dom-static-property-for-in-iteration-expected.txt: Rebaselined.
* media/video-resize-expected.txt: Added.
* media/video-resize.html: Added.
* media/video-test.js:
(requiredEvents): Deleted global. Value is now captured by closure.
(waitForEventsAndCall): Remove dependence on global variable, and fix event observation leak.

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

4 years agoRevert accidental behavior change from previous patch.
darin@apple.com [Mon, 1 Feb 2016 05:51:48 +0000 (05:51 +0000)]
Revert accidental behavior change from previous patch.

* platform/URL.cpp:
(WebCore::mimeTypeFromDataURL): Restore behavior where an empty MIME type would
be turned into "text/plain".

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

4 years agoCut down on calls to String::lower; mostly replace with convertToASCIILowercase
darin@apple.com [Mon, 1 Feb 2016 05:46:20 +0000 (05:46 +0000)]
Cut down on calls to String::lower; mostly replace with convertToASCIILowercase
https://bugs.webkit.org/show_bug.cgi?id=153732

Reviewed by Dean Jackson.

Source/WebCore:

* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::isTypeSupported): Added comment about mysterious call
to lower(); should probably return here and remove it.

* Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
(WebCore::initProtocolHandlerWhitelist): Deleted. Moved into isProtocolWhitelisted.
(WebCore::isProtocolWhitelisted): Changed set to be ASCIICaseInsensitiveHash and
initialized it using a lambda instead of a separate function.
(WebCore::verifyProtocolHandlerScheme): Added a FIXME about some case sensitive
checking of the protocol prefix here.

* Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::QuickTimePluginReplacement::supportsMimeType): Changed set to be
ASCIICaseInsensitiveHash and initialized it using a lambda instead of using
an explict check for empty.
(WebCore::QuickTimePluginReplacement::supportsFileExtension): Ditto.

* Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::queryKeysAndValues): Use convertToASCIILowercase. The keys here are
going to be all ASCII.
(WebCore::isYouTubeURL): Use equalLettersIgnoringASCIICase instead of lowercasing
the string.
(WebCore::processAndCreateYouTubeURL): Use url.protocolIsInHTTPFamily instead of
listing "http" and then "https" explicitly. Use equalLettersIgnoringASCIICase
instead of lowercasing a string.
(WebCore::YouTubePluginReplacement::youTubeURL): Ditto.

* Modules/websockets/WebSocketHandshake.cpp:
(WebCore::hostName): Use convertToASCIILowercase on host name.
(WebCore::WebSocketHandshake::host): Ditto.

* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetAttributes): Call convertToASCIILowercase instead of lower
to lowercase an element's tag name. This is a strange way to do things; typically
would be better to use some other function on Element, since tagName goes out of
its way to be capitalized, but some ATK expert can improve this later.

* css/CSSGrammar.y.in: Use the new convertToASCIILowercaseInPlace function rather
than the old lower function. We only need to lowercase the ASCII letters, and it's
also better to have the function have a clearer name.

* css/CSSParser.cpp:
(WebCore::convertToASCIILowercaseInPlace): Renamed from makeLower and made it deal
with only ASCII lowercasing.
(WebCore::CSSParserString::convertToASCIILowercaseInPlace): Renamed from lower.
(WebCore::isUniversalKeyword): Added. Helper for the function below that uses
equalLettersIgnoringASCIICase rather than lowercasing the string.
(WebCore::parseKeywordValue): Use isUniversalKeyword. Also clarified a comment.
(WebCore::CSSParser::parseAttr): Use convertToASCIILowercaseInPlace and delay
String creation until later in the function, using CSSParserString operations more.

* css/CSSParserValues.cpp:
(WebCore::CSSParserSelector::parsePseudoElementSelector): Use
convertToASCIILowercaseInPlace by its new name, with its new behavior.

* css/CSSParserValues.h: Tweaked comment and formatting a bit. Replaced the lower
function with the convertToASCIILowercaseInPlace function.

* css/CSSSelector.cpp:
(WebCore::CSSSelector::RareData::parseNth): Rewrote this to avoid the need to
make a lowercased copy of m_argument. Use equalLettersIgnoringASCIICase, and two
calls to find. Also use String::toIntStrict so we don't have to create String
objects for substrings.

* css/MediaQuery.cpp:
(WebCore::MediaQuery::MediaQuery): Use convertToASCIILowercase for media type name.
* css/MediaQueryExp.cpp:
(WebCore::MediaQueryExp::serialize): Use convertToASCIILowercase for media feature name.

* dom/Document.cpp:
(WebCore::isSeparator): Tweaked formatting and removed non-helpful comment.
(WebCore::processArguments): Changed this from a static member function to a non-member
file internal function. Use a std::function instead of a function pointer with a void*
pointer. Rewrote algorithm to simplify it and use StringView instead of String for the
keys and values.
(WebCore::Document::processViewport): Use a lambda instead of a function pointer to
call setViewportFeature, so that function's interface is no longer dictated by
the exact type of the function pointer argument to processArguments.
(WebCore::Document::processFormatDetection): Use a lambda instead of the
setParserFeature function above; use equalLettersIgnoringASCIICase for both the
key and the value, since processArguments no longer lowercases the string.
(WebCore::Document::processArguments): Deleted.

* dom/Document.h: Removed unnecessary declaration of processArguments and
ArgumentsCallback. Both are now private to the cpp file.

* dom/Element.cpp:
(WebCore::makeIdForStyleResolution): Use convertToASCIILowercase. When in quirks mode,
we want to match IDs in an ASCII case-insensitive way not match compatibility caseless.

* dom/ScriptElement.cpp:
(WebCore::ScriptElement::isScriptTypeSupported): Remove the use of lower here since
the MIME type registry is now itself ASCII case-insensitive.

* dom/ViewportArguments.cpp:
(WebCore::numericPrefix): Changed to use StringView and take a Document&, rearranged
argument order so Document& comes first.
(WebCore::findSizeValue): Ditto.
(WebCore::findScaleValue): Ditto.
(WebCore::findBooleanValue): Ditto. Also use std::abs instead of fabs, possibly
avoiding a conversion from float to double (not sure it was happening before but it's
definitely not happening now).
(WebCore::setViewportFeature): Changed to put arguments in a more logical order, to take
the ViewportArguments as a reference, not a void*, and to use StringView to avoid forcing
the caller to allocate strings. Also changed to use equalLettersIgnoringASCIICase so we
don't rely on the caller to make the key lowercase for us.
(WebCore::reportViewportWarning): Changed argument types. Added a couple comments about
mistakes in the function.

* dom/ViewportArguments.h: Removed unnecessary declaration of reportViewportWarning,
which is now private to the cpp file. Updated for new arguments to setViewportFeature.

* editing/EditorCommand.cpp:
(WebCore::executeFormatBlock): Use convertToASCIILowercase on the argument, which is
specifying a tag name.

* fileapi/Blob.cpp:
(WebCore::Blob::isValidContentType): Removed unnecessary separate loops for
8-bit and 16-bit strings. Content types are short strings and this small optimization is
not worth the additional code complexity.
(WebCore::Blob::normalizedContentType): Use convertToASCIILowercase since valid
content types are guaranteed to be all ASCII.
(WebCore::Blob::isNormalizedContentType): Removed unnecessary separate loops for
8-bit and 16-bit strings. Content types are short strings and this small optimization is
not worth the additional code complexity.

* html/parser/HTMLParserIdioms.cpp: Added now-needed include of QualifiedName.h.

* html/parser/HTMLParserIdioms.h: Removed unneeded include of QualifiedName.h and
WTFString.h. Made sure every function is declared first, even if it's also defined
later in the header in the section for functions templates and inline functions.

* loader/archive/ArchiveFactory.cpp:
(WebCore::ArchiveFactory::registerKnownArchiveMIMETypes): Use auto& for the type of
the set of MIME types here, since it's now using ASCIICaseInsensitiveHash.

* platform/MIMETypeRegistry.cpp: Changed the MIME type sets to use
ASCIICaseInsensitiveHash since MIME type are not case sensitive.
(WebCore::initializeSupportedImageMIMETypes): Use a modern for loop.
(WebCore::initializeSupportedImageMIMETypesForEncoding): Updated for HashSet type change.
(WebCore::initializePDFMIMETypes): Use a modern for loop.
(WebCore::initializeSupportedNonImageMimeTypes): Use a modern for loop.
(WebCore::initializeSupportedMediaMIMETypes): Updated for HashSet type change.
(WebCore::initializeUnsupportedTextMIMETypes): Use a modern for loop.
(WebCore::initializeMIMETypeRegistry): Updated for HashSet type change.
(WebCore::MIMETypeRegistry::getSupportedImageMIMETypes): Ditto.
(WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes): Ditto.
(WebCore::MIMETypeRegistry::getSupportedImageMIMETypesForEncoding): Ditto.
(WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes): Ditto.
(WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes): Ditto.
(WebCore::MIMETypeRegistry::getPDFMIMETypes): Ditto.
(WebCore::MIMETypeRegistry::getPDFAndPostScriptMIMETypes): Ditto.
(WebCore::MIMETypeRegistry::getUnsupportedTextMIMETypes): Ditto.
(WebCore::mimeTypeAssociationMap): Use ASCIICaseInsensitiveHash.
(WebCore::MIMETypeRegistry::getNormalizedMIMEType): Use auto to make code tighter.

* platform/MIMETypeRegistry.h: Changed return types of the getMIMETypes functions
to use ASCIICaseInsensitiveHash.

* platform/SchemeRegistry.cpp:
(WebCore::schemesForbiddenFromDomainRelaxation): Changed type to
use ASCIICaseInsensitiveHash.

* platform/URL.cpp:
(WebCore::mimeTypeFromDataURL): Use convertToASCIILowercase instead of lower.
Also removed some dead code that tried to handle the case where the data URL
has a comma as one of the first 5 characters: That can't happen since it's a
precondition of this function that the first five characters are "data:".

* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::getSupportedTypes): Change type of argument to
a HashSet with ASCIICaseInsensitiveHash.
* platform/graphics/MediaPlayer.h: Ditto.

* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::staticMIMETypeList):
Changed type of HashSet to use ASCIICaseInsensitiveHash.
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: Ditto.

* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::avfMIMETypes):
Changed type of HashSet to use ASCIICaseInsensitiveHash.
(WebCore::MediaPlayerPrivateAVFoundationCF::getSupportedTypes): Ditto.
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h: Ditto.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
Changed type of HashSet to use ASCIICaseInsensitiveHash.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithImageGenerator): Removed
an unnecessary line of code to set a local variable to 0 just before it falls
out of scope.
(WebCore::avfMIMETypes): Ditto. Also tightened up the code a bit.
(WebCore::MediaPlayerPrivateAVFoundationObjC::getSupportedTypes): Ditto.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
Changed type of HashSet to use ASCIICaseInsensitiveHash.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::mimeTypeCache): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::getSupportedTypes): Ditto.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h: Ditto.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::getSupportedTypes): Ditto.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::mimeTypeCache): Ditto.
(WebCore::MediaPlayerPrivateGStreamer::getSupportedTypes): Ditto.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Ditto.

* platform/graphics/mac/MediaPlayerPrivateQTKit.h: Ditto.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::shouldRejectMIMEType): Made this non-case-sensitive by using startsWith
and the "false" argument. Later change this to startsWithIgnoringASCIICase or
startsWithLettersIgnoringASCIICase.
(WebCore::addFileTypesToCache): Use ASCIICaseInsensitiveHash. ALso rewrote to
tighten up the code a bit and use modern Objective-C for loops.
(WebCore::mimeCommonTypesCache): Use ASCIICaseInsensitiveHash.
(WebCore::mimeModernTypesCache): Ditto.
(WebCore::concatenateHashSets): Ditto.
(WebCore::MediaPlayerPrivateQTKit::getSupportedTypes): Ditto.
(WebCore::MediaPlayerPrivateQTKit::disableUnsupportedTracks): Initialied
track type set using lambda, but left it case sensitive.

* platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::mimeTypeCache): Changed type of HashSet to use ASCIICaseInsensitiveHash.
(WebCore::MediaPlayerPrivateMediaFoundation::getSupportedTypes): Ditto.
* platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:

* platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
(WebCore::mimeTypeCache): Ditto.
(WebCore::MockMediaPlayerMediaSource::getSupportedTypes): Ditto.
* platform/mock/mediasource/MockMediaPlayerMediaSource.h: Ditto.

Source/WebKit/mac:

* WebView/WebHTMLRepresentation.mm:
(newArrayWithStrings): Updated to use HashSet<String, ASCIICaseInsensitiveHash>
and also to use a modern for loop.

Source/WTF:

* wtf/text/StringView.h: Added toIntStrict. Not thrilled about the name of this
function, but generally it seems likely to be useful more often than toInt.
And it's needed for one call site in WebCore that was using String::lower.

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

4 years agoAdd "WebKit built-in PDF" Plugin to set of publicly visible plugins
bfulgham@apple.com [Mon, 1 Feb 2016 04:44:07 +0000 (04:44 +0000)]
Add "WebKit built-in PDF" Plugin to set of publicly visible plugins
https://bugs.webkit.org/show_bug.cgi?id=153657
<rdar://problem/24413107>

Reviewed by Darin Adler.

Source/WebCore:

Tested by http/tests/plugins/visible_plugins.html.

A number of poorly-coded sites break when WebKit reports that it understands PDF mime types,
but does not have a list of plugins that the site can iterate through.

To avoid this compatibility problem, we should also expose the "WebKit built-in PDF" plugin
to avoid this edge case.

* plugins/PluginData.cpp:
(WebCore::shouldBePubliclyVisible): Add "WebKit built-in PDF" plugin.

LayoutTests:

* http/tests/plugins/visible_plugins-expected.txt: Added.
* http/tests/plugins/visible_plugins.html: Added.
* platform/mac-wk2/http/tests/plugins: Added.
* platform/mac-wk2/http/tests/plugins/visible_plugins-expected.txt: Added.

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

4 years agoAX: Add a boundary value to AXTextStateChangeType
commit-queue@webkit.org [Mon, 1 Feb 2016 04:09:02 +0000 (04:09 +0000)]
AX: Add a boundary value to AXTextStateChangeType
https://bugs.webkit.org/show_bug.cgi?id=153085

Patch by Doug Russell <d_russell@apple.com> on 2016-01-31
Reviewed by Darin Adler.

Post an AT notification when navigation is attempted past
an editable element's boundaries.

Source/WebCore:

Test: accessibility/mac/selection-boundary-userinfo.html

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::showIntent):
* accessibility/AXTextStateChangeIntent.h:
* accessibility/mac/AXObjectCacheMac.mm:
(platformChangeTypeForWebCoreChangeType):
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::modifyMovingRight):
(WebCore::FrameSelection::modifyMovingForward):
(WebCore::FrameSelection::modifyMovingLeft):
(WebCore::FrameSelection::modifyMovingBackward):
(WebCore::textSelectionWithDirectionAndGranularity):
(WebCore::FrameSelection::modify):
(WebCore::FrameSelection::modifyExtendingBackward): Deleted.
(WebCore::FrameSelection::textSelectionIntent): Deleted.
* editing/FrameSelection.h:
* editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::next):
(WebCore::VisiblePosition::previous):
(WebCore::VisiblePosition::left):
(WebCore::VisiblePosition::right):
(WebCore::VisiblePosition::honorEditingBoundaryAtOrBefore):
(WebCore::VisiblePosition::honorEditingBoundaryAtOrAfter):
(WebCore::VisiblePosition::leftVisuallyDistinctCandidate): Deleted.
(WebCore::VisiblePosition::rightVisuallyDistinctCandidate): Deleted.
* editing/VisiblePosition.h:
* editing/VisibleUnits.cpp:
(WebCore::startOfLine):
(WebCore::logicalStartOfLine):
(WebCore::endOfLine):
(WebCore::logicalEndOfLine):
(WebCore::leftBoundaryOfLine):
(WebCore::rightBoundaryOfLine):
(WebCore::inSameLogicalLine): Deleted.
(WebCore::endOfEditableContent): Deleted.
(WebCore::isEndOfEditableOrNonEditableContent): Deleted.
* editing/VisibleUnits.h:

LayoutTests:

* accessibility/mac/selection-boundary-userinfo-expected.txt: Added.
* accessibility/mac/selection-boundary-userinfo.html: Added.

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

4 years agoCSP: Use the served CSP header for dedicated workers
dbates@webkit.org [Mon, 1 Feb 2016 03:10:00 +0000 (03:10 +0000)]
CSP: Use the served CSP header for dedicated workers
https://bugs.webkit.org/show_bug.cgi?id=153157
<rdar://problem/24383254>
And
https://bugs.webkit.org/show_bug.cgi?id=153156
<rdar://problem/24383246>

Patch by Daniel Bates <dabates@apple.com> on 2016-01-31
Reviewed by Brent Fulgham.

Source/WebCore:

Inspired by Blink commit:
<https://src.chromium.org/viewvc/blink?revision=194143&view=revision>

Implement support for respecting Content Security Policy (CSP) HTTP headers included in the
HTTP response for a Web Worker's script as per section Workers of the CSP 2.0 spec,
<https://w3c.github.io/webappsec-csp/2/#processing-model-workers> (29 August 2015).

Currently a Web Worker always inherits the CSP of its owner document. Instead a web worker
will inherit the CSP of its owner document only if its script is incapable of defining a
content security policy (i.e. its origin is a globally unique identifier). Otherwise, the
CSP HTTP headers delivered with the script will be used to define the CSP for the worker.

Tests: fast/workers/worker-inherits-csp-blocks-eval.html
       fast/workers/worker-inherits-csp-blocks-xhr.html
       http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-blocks-eval.html

* CMakeLists.txt: Add file ContentSecurityPolicyResponseHeaders.cpp.
* WebCore.vcxproj/WebCore.vcxproj: Add files ContentSecurityPolicyResponseHeaders.{cpp, h}.
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* dom/Document.cpp:
(WebCore::Document::processHttpEquiv): Update code to use enum class ContentSecurityPolicyHeaderType.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::didBeginDocument): Extract logic to collect Content Security Policy HTTP headers
into class ContentSecurityPolicyResponseHeaders and make use of it here.
* page/csp/ContentSecurityPolicy.cpp:
(WebCore::CSPDirectiveList::headerType): Modified to use enum class ContentSecurityPolicyHeaderType.
(WebCore::CSPDirectiveList::CSPDirectiveList): Ditto.
(WebCore::CSPDirectiveList::create): Ditto.
(WebCore::ContentSecurityPolicy::responseHeaders): Creates and returns a ContentSecurityPolicyResponseHeaders
object with the parsed CSP policy headers.
(WebCore::ContentSecurityPolicy::didReceiveHeaders): Processed the CSP policy headers represented by the
specified ContentSecurityPolicyResponseHeaders object.
(WebCore::ContentSecurityPolicy::deprecatedHeader): Deleted.
(WebCore::ContentSecurityPolicy::deprecatedHeaderType): Deleted.
* page/csp/ContentSecurityPolicy.h: Defines a class that represents a collection of CSP policy headers.
This class has two purposes:
    - It extracts the CSP policy headers from a HTTP response (ResourceResponse object). We make use of
    this functionality in both FrameLoader::didBeginDocument() and Worker::didReceiveResponse().
    - It serves as a memento that externalizes the internal CSP policy details of an instance of
    ContentSecurityPolicy. We make use of this memento functionality to support inheriting the
    CSP policy of the worker's owner document in a thread-safe manner. You can create and restore
    a memento using ContentSecurityPolicy::responseHeaders() and ContentSecurityPolicy::didReceiveHeaders(), respectively.
* page/csp/ContentSecurityPolicyResponseHeaders.cpp: Added.
(WebCore::ContentSecurityPolicyResponseHeaders::ContentSecurityPolicyResponseHeaders): Extracts the
CSP HTTP headers from a ResourceResponse object.
(WebCore::ContentSecurityPolicyResponseHeaders::isolatedCopy): Make a copy of this object that is
safe to pass to another thread.
* page/csp/ContentSecurityPolicyResponseHeaders.h: Added.
* workers/DedicatedWorkerGlobalScope.cpp:
(WebCore::DedicatedWorkerGlobalScope::create): Modified to use class ContentSecurityPolicyResponseHeaders.
* workers/DedicatedWorkerGlobalScope.h:
* workers/DedicatedWorkerThread.cpp:
(WebCore::DedicatedWorkerThread::create): Ditto.
(WebCore::DedicatedWorkerThread::DedicatedWorkerThread): Ditto.
(WebCore::DedicatedWorkerThread::createWorkerGlobalScope): Ditto.
* workers/DedicatedWorkerThread.h:
* workers/Worker.cpp:
(WebCore::Worker::didReceiveResponse): Create a ContentSecurityPolicyResponseHeaders if the origin of
the worker's script is capable of providing a CSP. Otherwise, we will inherit the CSP of the worker's owner
document in Worker::notifyFinished().
(WebCore::Worker::notifyFinished): Pass the appropriate CSP response headers to WorkerMessagingProxy::startWorkerGlobalScope().
* workers/Worker.h:
* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::applyContentSecurityPolicyResponseHeaders): Renamed; formerly named applyContentSecurityPolicyFromString().
Modified to take a ContentSecurityPolicyResponseHeaders and apply it to the ContentSecurityPolicy object associated with the worker.
(WebCore::WorkerGlobalScope::applyContentSecurityPolicyFromString): Deleted.
* workers/WorkerGlobalScope.h:
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerGlobalScope): Pass the worker's ContentSecurityPolicyResponseHeaders object.
* workers/WorkerThread.cpp:
(WebCore::WorkerThreadStartupData::WorkerThreadStartupData): Added field m_contentSecurityPolicyResponseHeaders to store
the CSP response headers to be applied to the worker's ContentSecurityPolicy object.
(WebCore::WorkerThread::WorkerThread): Modified to use ContentSecurityPolicyResponseHeaders.
(WebCore::WorkerThread::workerThread): Pass the ContentSecurityPolicyResponseHeaders object from the start up data struct
to DedicatedWorkerThread::createWorkerGlobalScope().
* workers/WorkerThread.h:

LayoutTests:

Add new tests to ensure we block eval() in blob-, file-URL workers and block XHR in a file-URL worker.

* TestExpectations: Remove now passing tests http/tests/security/contentSecurityPolicy/worker-{multiple-csp-headers, without-own-csp}.html
and update the associated bug # for tests that fail.
* fast/workers/resources/worker-inherits-csp-blocks-eval.js: Added.
(catch):
* fast/workers/resources/worker-inherits-csp-blocks-xhr.js: Added.
(catch):
* fast/workers/worker-inherits-csp-blocks-eval-expected.txt: Added.
* fast/workers/worker-inherits-csp-blocks-eval.html: Added.
* fast/workers/worker-inherits-csp-blocks-xhr-expected.txt: Added.
* fast/workers/worker-inherits-csp-blocks-xhr.html: Added.
* http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-blocks-eval-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-blocks-eval.html: Added.
* http/tests/security/contentSecurityPolicy/worker-multiple-csp-headers-expected.txt: Updated expected results as
the result was incorrect.
* http/tests/security/contentSecurityPolicy/worker-without-own-csp-expected.txt: Ditto.

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

4 years agoUnreviewed. EFL gardening: rebaseline tests after r195740. (more to follow)
hs85.jeong@samsung.com [Mon, 1 Feb 2016 02:22:58 +0000 (02:22 +0000)]
Unreviewed. EFL gardening: rebaseline tests after r195740. (more to follow)

* platform/efl/css1/basic/containment-expected.txt:
* platform/efl/css1/basic/contextual_selectors-expected.txt:
* platform/efl/css1/basic/grouping-expected.txt:
* platform/efl/css1/basic/id_as_selector-expected.txt:
* platform/efl/css1/basic/inheritance-expected.txt:
* platform/efl/css1/box_properties/border-expected.txt:
* platform/efl/css1/box_properties/border_bottom-expected.txt:
* platform/efl/css1/box_properties/border_bottom_inline-expected.txt:
* platform/efl/css1/box_properties/border_bottom_width-expected.txt:
* platform/efl/css1/box_properties/border_bottom_width_inline-expected.txt:
* platform/efl/css1/box_properties/border_color-expected.txt:
* platform/efl/css1/box_properties/border_color_inline-expected.txt:
* platform/efl/css1/box_properties/border_inline-expected.txt:
* platform/efl/css1/box_properties/border_left-expected.txt:
* platform/efl/css1/box_properties/border_left_inline-expected.txt:
* platform/efl/css1/box_properties/border_left_width-expected.txt:
* platform/efl/css1/box_properties/border_left_width_inline-expected.txt:
* platform/efl/css1/box_properties/border_right-expected.txt:
* platform/efl/css1/box_properties/border_right_inline-expected.txt:
* platform/efl/css1/box_properties/border_right_width-expected.txt:
* platform/efl/css1/box_properties/border_right_width_inline-expected.txt:
* platform/efl/css1/box_properties/border_style-expected.txt:
* platform/efl/css1/box_properties/border_style_inline-expected.txt:
* platform/efl/css1/box_properties/border_top-expected.txt:
* platform/efl/css1/box_properties/border_top_inline-expected.txt:
* platform/efl/css1/box_properties/border_top_width-expected.txt:
* platform/efl/css1/box_properties/border_top_width_inline-expected.txt:
* platform/efl/css1/box_properties/clear-expected.txt:
* platform/efl/css1/box_properties/clear_float-expected.txt:
* platform/efl/css1/box_properties/float-expected.txt:
* platform/efl/css1/box_properties/float_elements_in_series-expected.txt:
* platform/efl/css1/box_properties/float_margin-expected.txt:
* platform/efl/css1/box_properties/height-expected.txt:
* platform/efl/css1/box_properties/margin-expected.txt:
* platform/efl/css1/box_properties/margin_bottom-expected.txt:
* platform/efl/css1/box_properties/margin_bottom_inline-expected.txt:
* platform/efl/css1/box_properties/margin_inline-expected.txt:
* platform/efl/css1/box_properties/margin_left-expected.txt:
* platform/efl/css1/box_properties/margin_left_inline-expected.txt:
* platform/efl/css1/box_properties/margin_right-expected.txt:
* platform/efl/css1/box_properties/margin_right_inline-expected.txt:
* platform/efl/css1/box_properties/margin_top-expected.txt:
* platform/efl/css1/box_properties/margin_top_inline-expected.txt:
* platform/efl/css1/box_properties/padding-expected.txt:
* platform/efl/css1/box_properties/padding_bottom-expected.txt:
* platform/efl/css1/box_properties/padding_bottom_inline-expected.txt:
* platform/efl/css1/box_properties/padding_inline-expected.txt:
* platform/efl/css1/box_properties/padding_left-expected.txt:
* platform/efl/css1/box_properties/padding_left_inline-expected.txt:
* platform/efl/css1/box_properties/padding_right-expected.txt:
* platform/efl/css1/box_properties/padding_right_inline-expected.txt:
* platform/efl/css1/box_properties/padding_top-expected.txt:
* platform/efl/css1/box_properties/padding_top_inline-expected.txt:
* platform/efl/css1/box_properties/width-expected.txt:
* platform/efl/css1/cascade/cascade_order-expected.txt:
* platform/efl/css1/cascade/important-expected.txt:
* platform/efl/css1/classification/display-expected.txt:
* platform/efl/css1/classification/list_style-expected.txt:
* platform/efl/css1/classification/list_style_image-expected.txt:
* platform/efl/css1/classification/list_style_position-expected.txt:
* platform/efl/css1/classification/list_style_type-expected.txt:
* platform/efl/css1/classification/white_space-expected.txt:
* platform/efl/css1/color_and_background/background-expected.txt:
* platform/efl/css1/color_and_background/background_attachment-expected.txt:
* platform/efl/css1/color_and_background/background_color-expected.txt:
* platform/efl/css1/color_and_background/background_image-expected.txt:
* platform/efl/css1/color_and_background/background_position-expected.txt:
* platform/efl/css1/color_and_background/background_repeat-expected.txt:
* platform/efl/css1/color_and_background/color-expected.txt:
* platform/efl/css1/conformance/forward_compatible_parsing-expected.txt:
* platform/efl/css1/font_properties/font-expected.txt:
* platform/efl/css1/font_properties/font_family-expected.txt:
* platform/efl/css1/font_properties/font_size-expected.txt:
* platform/efl/css1/font_properties/font_style-expected.txt:
* platform/efl/css1/font_properties/font_variant-expected.txt:
* platform/efl/css1/font_properties/font_weight-expected.txt:
* platform/efl/css1/formatting_model/canvas-expected.txt:
* platform/efl/css1/formatting_model/height_of_lines-expected.txt:
* platform/efl/css1/formatting_model/inline_elements-expected.txt:
* platform/efl/css1/formatting_model/replaced_elements-expected.txt:
* platform/efl/css1/formatting_model/vertical_formatting-expected.txt:
* platform/efl/css1/pseudo/anchor-expected.txt:
* platform/efl/css1/pseudo/firstletter-expected.txt:
* platform/efl/css1/pseudo/firstline-expected.txt:
* platform/efl/css1/pseudo/multiple_pseudo_elements-expected.txt:
* platform/efl/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
* platform/efl/css1/text_properties/letter_spacing-expected.txt:
* platform/efl/css1/text_properties/line_height-expected.txt:
* platform/efl/css1/text_properties/text_align-expected.txt:
* platform/efl/css1/text_properties/text_decoration-expected.txt:
* platform/efl/css1/text_properties/text_indent-expected.txt:
* platform/efl/css1/text_properties/text_transform-expected.txt:
* platform/efl/css1/text_properties/vertical_align-expected.txt:
* platform/efl/css1/text_properties/word_spacing-expected.txt:
* platform/efl/css1/units/color_units-expected.txt:
* platform/efl/css1/units/length_units-expected.txt:
* platform/efl/css1/units/percentage_units-expected.txt:
* platform/efl/css1/units/urls-expected.txt:
* platform/efl/css2.1/20110323/border-collapse-offset-002-expected.txt:
* platform/efl/css2.1/20110323/border-conflict-style-079-expected.txt:
* platform/efl/css2.1/20110323/border-conflict-style-088-expected.txt:
* platform/efl/css2.1/20110323/dynamic-top-change-002-expected.txt:
* platform/efl/css2.1/20110323/dynamic-top-change-003-expected.txt:
* platform/efl/css2.1/20110323/inline-table-001-expected.txt:
* platform/efl/css2.1/20110323/inline-table-002a-expected.txt:
* platform/efl/css2.1/20110323/inline-table-003-expected.txt:
* platform/efl/css2.1/20110323/margin-applies-to-001-expected.txt:
* platform/efl/css2.1/20110323/margin-applies-to-002-expected.txt:
* platform/efl/css2.1/20110323/margin-applies-to-003-expected.txt:
* platform/efl/css2.1/20110323/margin-applies-to-004-expected.txt:
* platform/efl/css2.1/20110323/margin-applies-to-005-expected.txt:
* platform/efl/css2.1/20110323/margin-applies-to-006-expected.txt:
* platform/efl/css2.1/20110323/margin-applies-to-007-expected.txt:
* platform/efl/css2.1/20110323/margin-applies-to-013-expected.txt:
* platform/efl/css2.1/20110323/margin-applies-to-014-expected.txt:
* platform/efl/css2.1/20110323/margin-applies-to-015-expected.txt:
* platform/efl/css2.1/20110323/replaced-intrinsic-ratio-001-expected.txt:
* platform/efl/css2.1/20110323/table-caption-001-expected.txt:
* platform/efl/css2.1/20110323/table-caption-optional-001-expected.txt:
* platform/efl/css2.1/20110323/table-caption-optional-002-expected.txt:
* platform/efl/css2.1/t040302-c61-ex-len-00-b-a-expected.txt:
* platform/efl/css2.1/t0803-c5501-mrgn-t-00-b-a-expected.txt:
* platform/efl/css2.1/t0803-c5503-mrgn-b-00-b-a-expected.txt:
* platform/efl/css2.1/t0804-c5506-padn-t-00-b-a-expected.txt:
* platform/efl/css2.1/t0804-c5508-ipadn-b-03-b-a-expected.txt:
* platform/efl/css2.1/t090402-c42-ibx-pad-00-d-ag-expected.txt:
* platform/efl/css2.1/t0905-c5525-fltmult-00-d-g-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-04-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-06-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-08-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-13-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-14-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-16-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-17-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-18-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-24-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-25-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-30-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-31-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-34-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-44-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-52-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-54-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-59-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-64-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-65-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-70-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-71-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-74-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-84-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-85-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-94-d-expected.txt:
* platform/efl/css3/selectors3/html/css3-modsel-18-expected.txt:
* platform/efl/css3/selectors3/html/css3-modsel-29-expected.txt:
* platform/efl/css3/selectors3/html/css3-modsel-29b-expected.txt:
* platform/efl/css3/selectors3/html/css3-modsel-33-expected.txt:
* platform/efl/css3/selectors3/html/css3-modsel-73-expected.txt:
* platform/efl/css3/selectors3/html/css3-modsel-73b-expected.txt:
* platform/efl/css3/selectors3/html/css3-modsel-77-expected.txt:
* platform/efl/css3/selectors3/html/css3-modsel-77b-expected.txt:
* platform/efl/css3/selectors3/xhtml/css3-modsel-18-expected.txt:
* platform/efl/css3/selectors3/xhtml/css3-modsel-29-expected.txt:
* platform/efl/css3/selectors3/xhtml/css3-modsel-29b-expected.txt:
* platform/efl/css3/selectors3/xhtml/css3-modsel-33-expected.txt:
* platform/efl/css3/selectors3/xhtml/css3-modsel-73-expected.txt:
* platform/efl/css3/selectors3/xhtml/css3-modsel-73b-expected.txt:
* platform/efl/css3/selectors3/xhtml/css3-modsel-77-expected.txt:
* platform/efl/css3/selectors3/xhtml/css3-modsel-77b-expected.txt:
* platform/efl/css3/selectors3/xml/css3-modsel-18-expected.txt:
* platform/efl/css3/selectors3/xml/css3-modsel-29-expected.txt:
* platform/efl/css3/selectors3/xml/css3-modsel-29b-expected.txt:
* platform/efl/css3/selectors3/xml/css3-modsel-33-expected.txt:
* platform/efl/css3/selectors3/xml/css3-modsel-73-expected.txt:
* platform/efl/css3/selectors3/xml/css3-modsel-73b-expected.txt:
* platform/efl/css3/selectors3/xml/css3-modsel-77-expected.txt:
* platform/efl/css3/selectors3/xml/css3-modsel-77b-expected.txt:
* platform/efl/editing/deleting/4922367-expected.txt:
* platform/efl/editing/deleting/5126166-expected.txt:
* platform/efl/editing/deleting/5206311-1-expected.txt:
* platform/efl/editing/deleting/5433862-2-expected.txt:
* platform/efl/editing/inserting/paragraph-separator-in-table-1-expected.txt:
* platform/efl/editing/selection/3690703-2-expected.txt:
* platform/efl/editing/selection/3690703-expected.txt:
* platform/efl/editing/selection/3690719-expected.txt:
* platform/efl/editing/selection/5057506-2-expected.txt:
* platform/efl/editing/selection/5057506-expected.txt:
* platform/efl/editing/selection/5131716-1-expected.txt:
* platform/efl/editing/selection/5131716-2-expected.txt:
* platform/efl/editing/selection/5131716-3-expected.txt:
* platform/efl/editing/selection/5131716-4-expected.txt:
* platform/efl/editing/selection/move-by-line-001-expected.txt:
* platform/efl/editing/selection/select-all-004-expected.txt:
* platform/efl/editing/unsupported-content/table-type-after-expected.txt:
* platform/efl/editing/unsupported-content/table-type-before-expected.txt:
* platform/efl/fast/block/basic/016-expected.txt:
* platform/efl/fast/block/basic/quirk-percent-height-table-cell-expected.txt:
* platform/efl/fast/block/float/015-expected.txt:
* platform/efl/fast/block/margin-collapse/006-expected.txt:
* platform/efl/fast/block/margin-collapse/010-expected.txt:
* platform/efl/fast/block/margin-collapse/011-expected.txt:
* platform/efl/fast/block/margin-collapse/012-expected.txt:
* platform/efl/fast/block/margin-collapse/015-expected.txt:
* platform/efl/fast/block/margin-collapse/016-expected.txt:
* platform/efl/fast/block/margin-collapse/017-expected.txt:
* platform/efl/fast/block/margin-collapse/018-expected.txt:
* platform/efl/fast/block/margin-collapse/019-expected.txt:
* platform/efl/fast/block/margin-collapse/020-expected.txt:
* platform/efl/fast/block/margin-collapse/021-expected.txt:
* platform/efl/fast/block/margin-collapse/022-expected.txt:
* platform/efl/fast/block/margin-collapse/025-expected.txt:
* platform/efl/fast/block/margin-collapse/032-expected.txt:
* platform/efl/fast/block/margin-collapse/033-expected.txt:
* platform/efl/fast/block/margin-collapse/034-expected.txt:
* platform/efl/fast/block/margin-collapse/041-expected.txt:
* platform/efl/fast/block/margin-collapse/042-expected.txt:
* platform/efl/fast/block/margin-collapse/055-expected.txt:
* platform/efl/fast/block/margin-collapse/056-expected.txt:
* platform/efl/fast/block/margin-collapse/057-expected.txt:
* platform/efl/fast/block/margin-collapse/058-expected.txt:
* platform/efl/fast/block/margin-collapse/059-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/006-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/010-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/011-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/012-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/015-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/016-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/017-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/018-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/019-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/020-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/021-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/022-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/025-expected.txt:
* platform/efl/fast/block/positioning/negative-right-pos-expected.txt:
* platform/efl/fast/block/positioning/table-cell-static-position-expected.txt:
* platform/efl/fast/borders/border-antialiasing-expected.txt:
* platform/efl/fast/borders/border-radius-different-width-001-expected.txt:
* platform/efl/fast/borders/table-borders-expected.txt:
* platform/efl/fast/css-generated-content/first-letter-in-nested-before-expected.txt:
* platform/efl/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt:
* platform/efl/fast/css-generated-content/nested-tables-with-before-after-content-crash-expected.txt:
* platform/efl/fast/css-generated-content/table-cell-before-after-child-add-expected.txt:
* platform/efl/fast/css-generated-content/table-parts-before-and-after-expected.txt:
* platform/efl/fast/css-generated-content/table-row-group-with-before-expected.txt:
* platform/efl/fast/css-generated-content/table-row-with-before-expected.txt:
* platform/efl/fast/css-generated-content/table-with-before-expected.txt:
* platform/efl/fast/css/003-expected.txt:
* platform/efl/fast/css/absolute-poition-in-rtl-parent-expected.txt:
* platform/efl/fast/css/acid2-expected.txt:
* platform/efl/fast/css/acid2-pixel-expected.txt:
* platform/efl/fast/css/bidi-override-in-anonymous-block-expected.txt:
* platform/efl/fast/css/box-shadow-and-border-radius-expected.txt:
* platform/efl/fast/css/caption-width-absolute-position-expected.txt:
* platform/efl/fast/css/caption-width-absolute-position-offset-top-expected.txt:
* platform/efl/fast/css/caption-width-fixed-position-expected.txt:
* platform/efl/fast/css/caption-width-fixed-position-offset-top-expected.txt:
* platform/efl/fast/css/caption-width-relative-position-expected.txt:
* platform/efl/fast/css/caption-width-relative-position-offset-top-expected.txt:
* platform/efl/fast/css/css3-nth-child-expected.txt:
* platform/efl/fast/css/focus-ring-detached-expected.txt:
* platform/efl/fast/css/focus-ring-multiline-expected.txt:
* platform/efl/fast/css/h1-in-section-elements-expected.txt:
* platform/efl/fast/css/image-rendering-expected.txt:
* platform/efl/fast/css/min-width-with-spanned-cell-expected.txt:
* platform/efl/fast/css/percentage-non-integer-expected.txt:
* platform/efl/fast/css/table-text-align-quirk-expected.txt:
* platform/efl/fast/css/table-text-align-strict-expected.txt:
* platform/efl/fast/dom/34176-expected.txt:
* platform/efl/fast/dom/HTMLTableElement/colSpan-expected.txt:
* platform/efl/fast/dom/HTMLTableElement/createCaption-expected.txt:
* platform/efl/fast/dom/row-inner-text-expected.txt:
* platform/efl/fast/dynamic/001-expected.txt:
* platform/efl/fast/dynamic/containing-block-change-expected.txt:
* platform/efl/fast/dynamic/float-withdrawal-expected.txt:
* platform/efl/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
* platform/efl/fast/dynamic/subtree-table-cell-height-expected.txt:
* platform/efl/fast/encoding/utf-16-big-endian-expected.txt:
* platform/efl/fast/encoding/utf-16-little-endian-expected.txt:
* platform/efl/fast/forms/001-expected.txt:
* platform/efl/fast/forms/005-expected.txt:
* platform/efl/fast/forms/basic-buttons-expected.txt:
* platform/efl/fast/forms/form-element-geometry-expected.txt:
* platform/efl/fast/forms/form-hides-table-expected.txt:
* platform/efl/fast/forms/form-in-malformed-markup-expected.txt:
* platform/efl/fast/forms/formmove3-expected.txt:
* platform/efl/fast/forms/input-table-expected.txt:
* platform/efl/fast/forms/listbox-bidi-align-expected.txt:
* platform/efl/fast/forms/preserveFormDuringResidualStyle-expected.txt:
* platform/efl/fast/forms/select-dirty-parent-pref-widths-expected.txt:
* platform/efl/fast/html/details-writing-mode-expected.txt:
* platform/efl/fast/inline-block/001-expected.txt:
* platform/efl/fast/inline-block/overflow-clip-expected.txt:
* platform/efl/fast/invalid/012-expected.txt:
* platform/efl/fast/invalid/018-expected.txt:
* platform/efl/fast/lists/004-expected.txt:
* platform/efl/fast/lists/list-marker-before-content-table-expected.txt:
* platform/efl/fast/multicol/span/before-child-anonymous-column-block-expected.txt:
* platform/efl/fast/overflow/002-expected.txt:
* platform/efl/fast/overflow/overflow-rtl-expected.txt:
* platform/efl/fast/overflow/overflow-rtl-vertical-expected.txt:
* platform/efl/fast/overflow/table-overflow-float-expected.txt:
* platform/efl/fast/reflections/table-cell-expected.txt:
* platform/efl/fast/repaint/block-selection-gap-in-table-cell-expected.txt:
* platform/efl/fast/repaint/float-overflow-expected.txt:
* platform/efl/fast/repaint/float-overflow-right-expected.txt:
* platform/efl/fast/repaint/subtree-root-clip-3-expected.txt:
* platform/efl/fast/repaint/table-cell-collapsed-border-expected.txt:
* platform/efl/fast/repaint/table-cell-collapsed-border-scroll-expected.txt:
* platform/efl/fast/repaint/table-cell-move-expected.txt:
* platform/efl/fast/repaint/table-cell-overflow-expected.txt:
* platform/efl/fast/repaint/table-cell-vertical-overflow-expected.txt:
* platform/efl/fast/repaint/table-col-background-expected.txt:
* platform/efl/fast/repaint/table-collapsed-border-expected.txt:
* platform/efl/fast/repaint/table-extra-bottom-grow-expected.txt:
* platform/efl/fast/repaint/table-outer-border-expected.txt:
* platform/efl/fast/repaint/table-row-expected.txt:
* platform/efl/fast/repaint/table-section-overflow-expected.txt:
* platform/efl/fast/repaint/table-section-repaint-expected.txt:
* platform/efl/fast/repaint/table-two-pass-layout-overpaint-expected.txt:
* platform/efl/fast/repaint/table-writing-modes-h-expected.txt:
* platform/efl/fast/repaint/table-writing-modes-v-expected.txt:

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

4 years agoGet rid of most calls to String::upper; mostly replace them with convertToASCIIUppercase
darin@apple.com [Mon, 1 Feb 2016 01:50:50 +0000 (01:50 +0000)]
Get rid of most calls to String::upper; mostly replace them with convertToASCIIUppercase
https://bugs.webkit.org/show_bug.cgi?id=153715

Reviewed by Gyuyoung Kim.

Source/WebCore:

* editing/cocoa/HTMLConverter.mm:
(HTMLConverter::computedAttributesForElement): Use convertToASCIILowercase to fold
ASCII case when searching for fonts by name.

* platform/network/cf/ResourceResponseCFNet.cpp:
(WebCore::ResourceResponse::platformLazyInit): Use convertToASCIIUppercase to make
the HTTP version string canonical. Not sure why it's needed at all, but the letters
we might be uppercasing are "HTTP", so no need to handle non-ASCII.
* platform/network/cocoa/ResourceResponseCocoa.mm:
(WebCore::ResourceResponse::platformLazyInit): Ditto.

* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::operator<<): Use convertToASCIIUppercase when writing the spread
method type into a text stream. The method types are all ASCII.

Source/WebKit2:

* UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
Use convertToASCIIUppercase on language names.

Source/WTF:

* wtf/text/AtomicString.h:
(WTF::AtomicString::upper): Deleted.

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

4 years ago[EFL] All API tests are broken on 15.10
jh718.park@samsung.com [Mon, 1 Feb 2016 01:20:55 +0000 (01:20 +0000)]
[EFL] All API tests are broken on 15.10
https://bugs.webkit.org/show_bug.cgi?id=153528

Reviewed by Gyuyoung Kim.

* CMakeLists.txt: Having include(WebKitCommon) statement follow
CMAKE_FOO_OUTPUT_DIRECTORY otherwise all the API tests gets blocked.

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

4 years ago[Cocoa] Remove unused definition of HAVE_HEADER_DETECTION_H
mitz@apple.com [Mon, 1 Feb 2016 00:26:56 +0000 (00:26 +0000)]
[Cocoa] Remove unused definition of HAVE_HEADER_DETECTION_H
https://bugs.webkit.org/show_bug.cgi?id=153729

Reviewed by Sam Weinig.

After r141700, HAVE_HEADER_DETECTION_H is no longer used.

* Configurations/Base.xcconfig:

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

4 years agoB3->Air lowering should use MoveFloat more
fpizlo@apple.com [Mon, 1 Feb 2016 00:07:06 +0000 (00:07 +0000)]
B3->Air lowering should use MoveFloat more
https://bugs.webkit.org/show_bug.cgi?id=153714

Reviewed by Sam Weinig.

This is a very minor and benign bug. It just means that we will use the more canonical
MoveFloat instruction when moving floats, rather than using MoveDouble.

* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::relaxedMoveForType):

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

4 years agoShould not predict OtherObj for ToThis with primitive types under strict mode
utatane.tea@gmail.com [Sun, 31 Jan 2016 23:05:10 +0000 (23:05 +0000)]
Should not predict OtherObj for ToThis with primitive types under strict mode
https://bugs.webkit.org/show_bug.cgi?id=153544

Reviewed by Filip Pizlo.

Currently, ToThis predicates OtherObj for primitive values.
But it's not true in strict mode.
In strict mode, ToThis does nothing on primitive values.

In this patch, we

1. fix prediction. Handles primitive types in strict mode. And we also handles StringObject.
2. convert it to Identity if the argument should be predicted as primitive types.

This optimization is important to implement Primitive.prototype.methods[1].
Otherwise, we always got BadType OSR exits.

[1]: https://bugs.webkit.org/show_bug.cgi?id=143889

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixupToThis):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* tests/stress/to-this-boolean.js: Added.
(Boolean.prototype.negate):
(Boolean.prototype.negate2):
* tests/stress/to-this-double.js: Added.
(Number.prototype.negate):
* tests/stress/to-this-int32.js: Added.
(Number.prototype.negate):
* tests/stress/to-this-int52.js: Added.
(Number.prototype.negate):
* tests/stress/to-this-number.js: Added.
(Number.prototype.negate):
* tests/stress/to-this-string.js: Added.
(String.prototype.prefix):
(String.prototype.first):
(String.prototype.second):
* tests/stress/to-this-symbol.js: Added.
(Symbol.prototype.identity):
(Symbol.prototype.identity2):

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

4 years ago[Cocoa] Remove __has_include guards around use of WebKitAdditions
mitz@apple.com [Sun, 31 Jan 2016 23:00:03 +0000 (23:00 +0000)]
[Cocoa] Remove __has_include guards around use of WebKitAdditions
https://bugs.webkit.org/show_bug.cgi?id=153728

Reviewed by Andy Estes.

Guard WebKitAdditions includes with #if USE(APPLE_INTERNAL_SDK) rather than with __has_include.

Source/WebCore:

* dom/EventNames.h:
* loader/EmptyClients.cpp:
(WebCore::fillWithEmptyClients):
* page/MainFrame.cpp:
(WebCore::MainFrame::MainFrame):
* page/MainFrame.h:
* page/PageConfiguration.h:
* platform/cocoa/WebKitAdditions.mm:
* platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
* platform/ios/LegacyTileGridTile.mm:

Source/WebKit/mac:

* WebKitAdditions.mm:
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

Source/WebKit2:

* Shared/Cocoa/WebKitAdditions.mm:
* Shared/WebCoreArgumentCoders.h:
* Shared/mac/RemoteLayerBackingStore.mm:
* UIProcess/API/Cocoa/WKWebView.mm:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::reattachToWebProcess):
(WebKit::WebPageProxy::resetState):
* UIProcess/WebPageProxy.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::m_shouldDispatchFakeMouseMoveEvents):

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

4 years agoInclude the right WebKitAdditions files
timothy_horton@apple.com [Sun, 31 Jan 2016 20:59:21 +0000 (20:59 +0000)]
Include the right WebKitAdditions files
<rdar://problem/24429804>

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::resetState):

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

4 years agoReplace CaseFoldingHash with ASCIICaseInsensitiveHash
darin@apple.com [Sun, 31 Jan 2016 19:22:31 +0000 (19:22 +0000)]
Replace CaseFoldingHash with ASCIICaseInsensitiveHash
https://bugs.webkit.org/show_bug.cgi?id=153639

Reviewed by Filip Pizlo.

Source/WebCore:

* Modules/webdatabase/DatabaseAuthorizer.h: Use ASCIICaseInsensitiveHash
for whitelisted functions. Function names are all ASCII.

* accessibility/AccessibilityObject.cpp: Use ASCIICaseInsensitiveHash
for ARIA roles. ARIA roles are all ASCII.

* crypto/CryptoAlgorithmRegistry.h: Use ASCIICaseInsensitiveHash for
crypto algorithm names. Algorithm names are all ASCII.

* css/CSSFontSelector.cpp:
(WebCore::registerLocalFontFacesForFamily): Use ASCIICaseInsensitiveHash
for font faces. Face names should use ASCII case insensitive matching;
there is no need for non-ASCII case folding.
* css/CSSFontSelector.h: Ditto.

* dom/DOMImplementation.cpp: Use ASCIICaseInsensitiveHash for the
FeatureSet. The features are all ASCII.

* dom/Document.h: Use ASCIICaseInsensitiveHash for the access key
map. Access keys are all ASCII.

* dom/ScriptElement.cpp:
(WebCore::isLegacySupportedJavaScriptLanguage): Use ASCIICaseInsensitiveHash
for the language set. These strings are all ASCII.

* editing/EditorCommand.cpp: Use ASCIICaseInsensitiveHash for editor
command names. These names are all ASCII.

* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parametersForPlugin): Use ASCIICaseInsensitiveHash
for parameter names. These names are all ASCII.

* html/InputType.cpp: Use ASCIICaseInsensitiveHash for the input types.
The input types are all ASCII.

* loader/CrossOriginAccessControl.h: Use ASCIICaseInsensitiveHash for
HTTP header field names. These names are all ASCII.
* loader/CrossOriginPreflightResultCache.h: Ditto.

* loader/archive/ArchiveFactory.cpp: Use ASCIICaseInsensitiveHash for
MIME types. MIME types are all ASCII.
* platform/MIMETypeRegistry.cpp:
(WebCore::initializeSupportedImageMIMETypes): Ditto.

* platform/SchemeRegistry.h: Use ASCIICaseInsensitiveHas for URL schemes.
URL schemes are all ASCII.
* platform/URL.cpp: Ditto.

* platform/graphics/FontCache.cpp:
(WebCore::FontPlatformDataCacheKey::operator==): Use ASCIICaseInsensitiveHash.
(WebCore::FontPlatformDataCacheKeyHash::hash): Use ASCIICaseInsensitiveHash.

* platform/graphics/FontCascade.cpp:
(WebCore::keysMatch): Rename from operator== since this operation is not
equality. Changed to equalIgnoringASCIICase and did a little streamlining.
(WebCore::makeFontCascadeCacheKey): Use reserveInitialCapacity for slightly
better memory use.
(WebCore::computeFontCascadeCacheHash): Use IntegerHasher to make computing
a hash more efficient by eliminating the overhead of building a vector and
even possible heap allocation and deallocation.
(WebCore::retrieveOrAddCachedFonts): Use keysMatch instead of ==.

* platform/graphics/cocoa/FontCacheCoreText.cpp: Use ASCIICaseInsensitiveHash
for font family names. These names should use ASCII case insensitive matching;
there is no need for non-ASCII case folding.

* platform/network/HTTPHeaderMap.h: Use ASCIICaseInsensitiveHash for
HTTP header field names. These names are all ASCII.

* rendering/style/RenderStyle.cpp:
(WebCore::computeFontHash): Use IntegerHasher to avoid allocating memory just
to compute a hash. Use ASCIICaseInsensitiveHash.

Source/WebKit/win:

* WebCoreStatistics.cpp:
(WebCoreStatistics::memoryStatistics): Use ASCIICaseInsensitiveHash for field names.
These names are all ASCII.

* WebURLResponse.cpp:
(WebURLResponse::allHeaderFields): Use ASCIICaseInsensitiveHash for HTTP header
field names. These names are all ASCII.

Source/WebKit2:

* UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm: Use ASCIICaseInsensitiveHash
for MIME types. MIME types are all ASCII.

* UIProcess/Plugins/PlugInAutoStartProvider.h: Use ASCIICaseInsensitiveHash for
origins. Origin strings should use ASCII case insensitive matching and should not
fold non-ASCII case.

* WebProcess/WebPage/WebPage.h: Use ASCIICaseInsensitiveHash for MIME types.
MIME types are all ASCII.

* WebProcess/WebProcess.cpp:
(WebKit::addCaseFoldedCharacters): Use ASCIICaseInsensitiveHash to hash plug-in
origin strings. (See rationale above.)
(WebKit::hashForPlugInOrigin): Updated comment.

Source/WTF:

* wtf/text/StringHash.h: Renamed CaseFoldingHash to ASCIICaseInsensitiveHash.
(WTF::ASCIICaseInsensitiveHash::foldCase): Use toASCIILower.
(WTF::ASCIICaseInsensitiveHash::equal): Use equalIgnoringASCIICase.
Also added some assertions.

* wtf/text/StringImpl.cpp: Made the latin1CaseFoldTable private to this file,
since it's no longer needed by CaseFoldingHash. Moved it up before its first use.
(WTF::equalCompatibilityCaseless): Fixed typo in the name of this function.
(WTF::equalCompatibiltyCaselessNonNull): Deleted.

* wtf/text/StringImpl.h: Removed declarations of latin1CaseFoldTable and
equalCompatibiltyCaselessNonNull

Tools:

* Scripts/do-webcore-rename: Use script to do this rename.

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

4 years agoReduce PassRefPtr uses in dom - 5
gyuyoung.kim@webkit.org [Sun, 31 Jan 2016 12:08:32 +0000 (12:08 +0000)]
Reduce PassRefPtr uses in dom - 5
https://bugs.webkit.org/show_bug.cgi?id=153470

Reviewed by Darin Adler.

As a step to remove PassRefPtr, this patch reduces uses of PassRefPtr in WebCore/dom.

* dom/Document.cpp:
(WebCore::Document::adoptNode):
(WebCore::Document::implicitClose):
(WebCore::Document::enqueuePopstateEvent):
(WebCore::Document::setInputCursor):
* dom/Document.h:
* dom/DocumentMarker.cpp:
(WebCore::DocumentMarkerTextMatch::instanceFor):
* dom/Event.cpp:
(WebCore::Event::setUnderlyingEvent):
* dom/Event.h:
* dom/EventDispatcher.h:
* dom/GenericEventQueue.cpp:
(WebCore::GenericEventQueue::enqueueEvent):
* dom/GenericEventQueue.h:
* dom/MouseEvent.cpp:
(WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
* dom/Node.cpp:
(WebCore::Node::dispatchDOMActivateEvent):
* dom/NodeIterator.h:
* dom/PendingScript.h:
* dom/PopStateEvent.cpp:
(WebCore::PopStateEvent::create):
* dom/PopStateEvent.h:
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::setCSSStyleSheet): Deleted. Nobody calls this function.
* dom/ProcessingInstruction.h:
* dom/RangeBoundaryPoint.h:
(WebCore::RangeBoundaryPoint::RangeBoundaryPoint):
* dom/TextEvent.cpp:
(WebCore::TextEvent::createForFragmentPaste):
(WebCore::TextEvent::TextEvent):
* dom/TextEvent.h:
* editing/Editor.cpp:
(WebCore::Editor::pasteAsFragment):
* editing/Editor.h:
* editing/mac/EditorMac.mm:
(WebCore::Editor::replaceNodeFromPasteboard):

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

4 years ago[mips] don't save to a callee saved register too early
commit-queue@webkit.org [Sun, 31 Jan 2016 11:41:52 +0000 (11:41 +0000)]
[mips] don't save to a callee saved register too early
https://bugs.webkit.org/show_bug.cgi?id=153463

If we save $gp to $s4 in pichdr, then in some cases, we were
overwriting $s4 before LLInt's pushCalleeSaves() is called (as pichdr
is at the very beginning of a function). Now we save $gp to $s4 at the
end of pushCalleeSaves().

Patch by Guillaume Emont <guijemont@igalia.com> on 2016-01-31
Reviewed by Michael Saboff.

* offlineasm/mips.rb:
* llint/LowLevelInterpreter.asm:
Move the saving of $gp to $s4 from pichdr to pushCalleeSaves(). Take
the opportunity to only save $s4 as we never use the other callee
saved registers.

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

4 years agoUse std::make_unique<> when creating an unique_ptr object.
gyuyoung.kim@webkit.org [Sun, 31 Jan 2016 11:41:44 +0000 (11:41 +0000)]
Use std::make_unique<> when creating an unique_ptr object.
https://bugs.webkit.org/show_bug.cgi?id=153705

Reviewed by Darin Adler.

Source/WebCore:

Some factory functions have used std::unique_ptr<> for creating an unique_ptr object.
It is wrong. We have to use std::make_unique<>.

* Modules/mediasession/WebMediaSessionManager.cpp:
(WebCore::WebMediaSessionManager::mockPicker):
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::internalStart):
* platform/cf/RunLoopObserver.cpp:
(WebCore::RunLoopObserver::create): Deleted.
* platform/cf/RunLoopObserver.h:
(WebCore::RunLoopObserver::RunLoopObserver):
* platform/graphics/avfoundation/WebMediaSessionManagerMac.cpp:
(WebCore::WebMediaSessionManagerMac::platformPicker):
* platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h:
* platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
(WebCore::MediaPlaybackTargetPickerMac::create): Deleted.
* platform/graphics/ca/cocoa/LayerFlushSchedulerMac.cpp:
(WebCore::LayerFlushScheduler::LayerFlushScheduler):
* platform/mock/MediaPlaybackTargetPickerMock.cpp:
(WebCore::MediaPlaybackTargetPickerMock::create): Deleted.
* platform/mock/MediaPlaybackTargetPickerMock.h:
* rendering/FloatingObjects.cpp:
(WebCore::FloatingObject::copyToNewContainer):

Source/WebKit2:

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy): Use std::make_unique<> instead of RunLoopObserver::create().

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

4 years agoimported/w3c/web-platform-tests/streams-api/readable-streams/garbage-collection.html...
youenn.fablet@crf.canon.fr [Sun, 31 Jan 2016 09:20:05 +0000 (09:20 +0000)]
imported/w3c/web-platform-tests/streams-api/readable-streams/garbage-collection.html asserts frequently
https://bugs.webkit.org/show_bug.cgi?id=152436

Reviewed by Darin Adler.

GCController is not available in Worker environments, explaining probably why garbage-collection-2.html is not crashing at all.
Inlining half of the tests in garbage-collection-2.html (runned in window) to compare with garbage-collection-1.html.

* web-platform-tests/streams-api/readable-streams/garbage-collection-2-expected.txt:
* web-platform-tests/streams-api/readable-streams/garbage-collection-2.html:

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

4 years agoAdd the break-* properties to Web Inspector's completion set
hyatt@apple.com [Sun, 31 Jan 2016 05:57:01 +0000 (05:57 +0000)]
Add the break-* properties to Web Inspector's completion set
https://bugs.webkit.org/show_bug.cgi?id=153706

Reviewed by Darin Adler.

* UserInterface/Models/CSSKeywordCompletions.js:

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

4 years ago[Cocoa] Get rid of many WK_ macros for nullability
mitz@apple.com [Sun, 31 Jan 2016 04:11:36 +0000 (04:11 +0000)]
[Cocoa] Get rid of many WK_ macros for nullability
https://bugs.webkit.org/show_bug.cgi?id=153718

Sam Weinig reviewed an earlier version of this change, and Simon Fraser rubber-stamped this version.

* Shared/API/Cocoa/WKFoundation.h: Removed definitions of WK_ASSUME_NONNULL_{BEGIN, END},
  WK_NULLABLE, WK_NULL_UNSPECIFIED, and WK_NULLABLE_PROPERTY. Removed the
  !__has_feature(assume_nonnull) case.

* mac/postprocess-framework-headers.sh: Removed rules for rewriting the above macros. Also
  chanegd to rewrite WK_NULLABLE_SPECIFIER to the modern _Nullable instead of __nullable.

Replaced instances of the above macros with their expansions.

* UIProcess/API/Cocoa/WKBackForwardList.h:
* UIProcess/API/Cocoa/WKBackForwardListItem.h:
* UIProcess/API/Cocoa/WKError.h:
* UIProcess/API/Cocoa/WKFrameInfo.h:
* UIProcess/API/Cocoa/WKNavigationAction.h:
* UIProcess/API/Cocoa/WKNavigationDelegate.h:
* UIProcess/API/Cocoa/WKNavigationResponse.h:
* UIProcess/API/Cocoa/WKScriptMessage.h:
* UIProcess/API/Cocoa/WKScriptMessageHandler.h:
* UIProcess/API/Cocoa/WKSecurityOrigin.h:
* UIProcess/API/Cocoa/WKUIDelegate.h:
* UIProcess/API/Cocoa/WKUserContentController.h:
* UIProcess/API/Cocoa/WKUserScript.h:
* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebViewConfiguration.h:
* UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
* UIProcess/API/Cocoa/WKWebsiteDataStore.h:
* UIProcess/API/Cocoa/WKWindowFeatures.h:
* UIProcess/API/Cocoa/_WKContextMenuElementInfo.h:
* UIProcess/API/Cocoa/_WKElementInfo.h:
* UIProcess/API/Cocoa/_WKPreviewElementInfo.h:
* UIProcess/API/Cocoa/_WKUserStyleSheet.h:

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

4 years agoB3 documentation style shouldn't have hacks for h1
fpizlo@apple.com [Sun, 31 Jan 2016 03:59:07 +0000 (03:59 +0000)]
B3 documentation style shouldn't have hacks for h1
https://bugs.webkit.org/show_bug.cgi?id=153725

Reviewed by Alexey Proskuryakov.

* docs/b3/style.css:

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

4 years agoReverted r195914, because at least one of the build.webkit.org builders still uses...
mitz@apple.com [Sun, 31 Jan 2016 01:22:38 +0000 (01:22 +0000)]
Reverted r195914, because at least one of the build.webkit.org builders still uses a compiler that doesn’t understand _Nullable.

* Shared/API/Cocoa/WKFoundation.h:
* UIProcess/API/Cocoa/WKBackForwardList.h:
* UIProcess/API/Cocoa/WKBackForwardListItem.h:
* UIProcess/API/Cocoa/WKError.h:
* UIProcess/API/Cocoa/WKFrameInfo.h:
* UIProcess/API/Cocoa/WKNavigationAction.h:
* UIProcess/API/Cocoa/WKNavigationDelegate.h:
* UIProcess/API/Cocoa/WKNavigationResponse.h:
* UIProcess/API/Cocoa/WKScriptMessage.h:
* UIProcess/API/Cocoa/WKScriptMessageHandler.h:
* UIProcess/API/Cocoa/WKSecurityOrigin.h:
* UIProcess/API/Cocoa/WKUIDelegate.h:
* UIProcess/API/Cocoa/WKUserContentController.h:
* UIProcess/API/Cocoa/WKUserScript.h:
* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebViewConfiguration.h:
* UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
* UIProcess/API/Cocoa/WKWebsiteDataStore.h:
* UIProcess/API/Cocoa/WKWindowFeatures.h:
* UIProcess/API/Cocoa/_WKContextMenuElementInfo.h:
* UIProcess/API/Cocoa/_WKElementInfo.h:
* UIProcess/API/Cocoa/_WKPreviewElementInfo.h:
* UIProcess/API/Cocoa/_WKUserStyleSheet.h:
* mac/postprocess-framework-headers.sh:

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

4 years agoUnreviewed, fix GTK debug build after r195899
mcatanzaro@igalia.com [Sun, 31 Jan 2016 01:19:32 +0000 (01:19 +0000)]
Unreviewed, fix GTK debug build after r195899

* dom/EventContext.h:
(isType):

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

4 years agoAdd missing include to fix building debug configuration
commit-queue@webkit.org [Sun, 31 Jan 2016 01:15:51 +0000 (01:15 +0000)]
Add missing include to fix building debug configuration
https://bugs.webkit.org/show_bug.cgi?id=153719

Patch by Jeremy Huddleston Sequoia <jeremyhu@apple.com> on 2016-01-30
Reviewed by Darin Adler.

No new tests.

* rendering/RenderObject.cpp:

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

4 years agoUnreviewed, rolling out r195911.
commit-queue@webkit.org [Sun, 31 Jan 2016 00:53:20 +0000 (00:53 +0000)]
Unreviewed, rolling out r195911.
https://bugs.webkit.org/show_bug.cgi?id=153723

Caused frequent assertion failures on bots (Requested by ap on
#webkit).

Reverted changeset:

"Replace CaseFoldingHash with ASCIICaseInsensitiveHash"
https://bugs.webkit.org/show_bug.cgi?id=153639
http://trac.webkit.org/changeset/195911

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

4 years agoUnreviewed, rolling out r195799 and r195828.
commit-queue@webkit.org [Sun, 31 Jan 2016 00:41:57 +0000 (00:41 +0000)]
Unreviewed, rolling out r195799 and r195828.
https://bugs.webkit.org/show_bug.cgi?id=153722

Caused assertion failures, severely affecting EWS (Requested
by ap on #webkit).

Reverted changesets:

"Web Inspector: InspectorTimelineAgent doesn't need to
recompile functions because it now uses the sampling profiler"
https://bugs.webkit.org/show_bug.cgi?id=153500
http://trac.webkit.org/changeset/195799

"Attempt to fix the Windows build after r195799"
http://trac.webkit.org/changeset/195828

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

4 years agoWeb Inspector: Network panel is empty until the window is resized
mattbaker@apple.com [Sun, 31 Jan 2016 00:24:23 +0000 (00:24 +0000)]
Web Inspector: Network panel is empty until the window is resized
https://bugs.webkit.org/show_bug.cgi?id=153701
<rdar://problem/24423739>

Reviewed by Timothy Hatcher.

NetworkGridContentView shouldn't prevent a layout from being scheduled
when the network sidebar is collapsed.

* UserInterface/Views/NetworkGridContentView.js:
(WebInspector.NetworkGridContentView.prototype.needsLayout): Deleted.
Removed View.prototype.needsLayout override that was preventing
layouts from being scheduled as timeline records are added.

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

4 years ago[Cocoa] Get rid of WK_ macros for nullability
mitz@apple.com [Sat, 30 Jan 2016 23:50:25 +0000 (23:50 +0000)]
[Cocoa] Get rid of WK_ macros for nullability
https://bugs.webkit.org/show_bug.cgi?id=153718

Reviewed by Sam Weinig.

* Shared/API/Cocoa/WKFoundation.h: Removed definitions of WK_ASSUME_NONNULL_{BEGIN, END},
  WK_NULLABLE, WK_NULL_UNSPECIFIED, WK_NULLABLE_SPECIFIER, and WK_NULLABLE_PROPERTY.

* mac/postprocess-framework-headers.sh: Removed rules for rewriting those macros.

Replaced instances of those macros with their expansions, but using the modern _Nullable
instead of __nullable:

* UIProcess/API/Cocoa/WKBackForwardList.h:
* UIProcess/API/Cocoa/WKBackForwardListItem.h:
* UIProcess/API/Cocoa/WKError.h:
* UIProcess/API/Cocoa/WKFrameInfo.h:
* UIProcess/API/Cocoa/WKNavigationAction.h:
* UIProcess/API/Cocoa/WKNavigationDelegate.h:
* UIProcess/API/Cocoa/WKNavigationResponse.h:
* UIProcess/API/Cocoa/WKScriptMessage.h:
* UIProcess/API/Cocoa/WKScriptMessageHandler.h:
* UIProcess/API/Cocoa/WKSecurityOrigin.h:
* UIProcess/API/Cocoa/WKUIDelegate.h:
* UIProcess/API/Cocoa/WKUserContentController.h:
* UIProcess/API/Cocoa/WKUserScript.h:
* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebViewConfiguration.h:
* UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
* UIProcess/API/Cocoa/WKWebsiteDataStore.h:
* UIProcess/API/Cocoa/WKWindowFeatures.h:
* UIProcess/API/Cocoa/_WKContextMenuElementInfo.h:
* UIProcess/API/Cocoa/_WKElementInfo.h:
* UIProcess/API/Cocoa/_WKPreviewElementInfo.h:
* UIProcess/API/Cocoa/_WKUserStyleSheet.h:

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

4 years agoModern IDB: Some tests crash with specific odd database names.
beidson@apple.com [Sat, 30 Jan 2016 22:25:21 +0000 (22:25 +0000)]
Modern IDB: Some tests crash with specific odd database names.
https://bugs.webkit.org/show_bug.cgi?id=153688

Reviewed by Darin Adler.

Source/WebCore:

No new tests (2 existing tests now pass).

* platform/FileSystem.cpp:
(WebCore::shouldEscapeUChar): Return true for some surrogate-pair situations.
(WebCore::encodeForFileName): Pass along the previous and next characters, as well,
  and do a two byte escaping for some characters.

LayoutTests:

* platform/mac-wk1/TestExpectations:

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

4 years agoMore than one audio and/or text track sometimes selected in media controls menu
eric.carlson@apple.com [Sat, 30 Jan 2016 22:19:08 +0000 (22:19 +0000)]
More than one audio and/or text track sometimes selected in media controls menu
https://bugs.webkit.org/show_bug.cgi?id=153664

Source/WebCore:

Use an <img> element for the track menu item checkmark instead of a background image and
the ::before selector.

Reviewed by Jer Noble.

Test: media/controls/track-menu.html

* Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-closed-captions-container li:hover):
(audio::-webkit-media-controls-closed-captions-container li .checkmark-container):
(audio::-webkit-media-controls-closed-captions-container li.selected .checkmark-container):
(audio::-webkit-media-controls-closed-captions-container li.selected:hover .checkmark-container):
(audio::-webkit-media-controls-closed-captions-container li.selected::before): Deleted.
(audio::-webkit-media-controls-closed-captions-container li.selected:hover::before): Deleted.
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.buildCaptionMenu):
(Controller.prototype.):
(Controller.prototype.getCurrentControlsStatus):

LayoutTests:

Reviewed by Jer Noble.

* media/controls/controls-test-helpers.js:
(ControlsTest.prototype.get currentState):
(ControlsTest.prototype.get video):
(ControlsTest.prototype.stateForControlsElement):
(ControlsTest.prototype.handleEvent):
(ControlsTest.prototype.setup):
(ControlsTest.prototype.start):
(ControlsTest.prototype.isEqualTo):
(ControlsTest.prototype.isNotEqualTo):
(ControlsTest.prototype.contains):
* media/controls/track-menu-expected.txt: Added.
* media/controls/track-menu.html: Added.

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

4 years agoReplace CaseFoldingHash with ASCIICaseInsensitiveHash
darin@apple.com [Sat, 30 Jan 2016 21:53:47 +0000 (21:53 +0000)]
Replace CaseFoldingHash with ASCIICaseInsensitiveHash
https://bugs.webkit.org/show_bug.cgi?id=153639

Reviewed by Filip Pizlo.

Source/WebCore:

* Modules/webdatabase/DatabaseAuthorizer.h: Use ASCIICaseInsensitiveHash
for whitelisted functions. Function names are all ASCII.

* accessibility/AccessibilityObject.cpp: Use ASCIICaseInsensitiveHash
for ARIA roles. ARIA roles are all ASCII.

* crypto/CryptoAlgorithmRegistry.h: Use ASCIICaseInsensitiveHash for
crypto algorithm names. Algorithm names are all ASCII.

* css/CSSFontSelector.cpp:
(WebCore::registerLocalFontFacesForFamily): Use ASCIICaseInsensitiveHash
for font faces. Face names should use ASCII case insensitive matching;
there is no need for non-ASCII case folding.
* css/CSSFontSelector.h: Ditto.

* dom/DOMImplementation.cpp: Use ASCIICaseInsensitiveHash for the
FeatureSet. The features are all ASCII.

* dom/Document.h: Use ASCIICaseInsensitiveHash for the access key
map. Access keys are all ASCII.

* dom/ScriptElement.cpp:
(WebCore::isLegacySupportedJavaScriptLanguage): Use ASCIICaseInsensitiveHash
for the language set. These strings are all ASCII.

* editing/EditorCommand.cpp: Use ASCIICaseInsensitiveHash for editor
command names. These names are all ASCII.

* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parametersForPlugin): Use ASCIICaseInsensitiveHash
for parameter names. These names are all ASCII.

* html/InputType.cpp: Use ASCIICaseInsensitiveHash for the input types.
The input types are all ASCII.

* loader/CrossOriginAccessControl.h: Use ASCIICaseInsensitiveHash for
HTTP header field names. These names are all ASCII.
* loader/CrossOriginPreflightResultCache.h: Ditto.

* loader/archive/ArchiveFactory.cpp: Use ASCIICaseInsensitiveHash for
MIME types. MIME types are all ASCII.
* platform/MIMETypeRegistry.cpp:
(WebCore::initializeSupportedImageMIMETypes): Ditto.

* platform/SchemeRegistry.h: Use ASCIICaseInsensitiveHas for URL schemes.
URL schemes are all ASCII.
* platform/URL.cpp: Ditto.

* platform/graphics/FontCache.cpp: Reworked FontPlatformDataCacheKey struct:
Made it a conventional struct with non-prefixed data members names. Removed
the "==" operator since it was appropriate for hash table lookup but wasn't
a true equality operator. Tightened the implementations of the constructors.
(WebCore::FontPlatformDataCacheKeyHash::hash): Use ASCIICaseInsensitiveHash.
(WebCore::FontPlatformDataCacheKeyHash::equal): Do the equality check here,
not using the == operator. And use equalIgnoringASCIICase.
(WebCore::FontPlatformDataCacheKeyTraits::isEmptyValue): Added this entire
traits struct so we check empty values in a more efficient way.
(WebCore::FontCache::getCachedFontPlatformData): Added comments and tweaked
style in this function.

* platform/graphics/FontCascade.cpp:
(WebCore::keysMatch): Rename from operator== since this operation is not
equality. Changed to equalIgnoringASCIICase and did a little streamlining.
(WebCore::makeFontCascadeCacheKey): Use reserveInitialCapacity for slightly
better memory use.
(WebCore::computeFontCascadeCacheHash): Use IntegerHasher to make computing
a hash more efficient by eliminating the overhead of building a vector and
even possible heap allocation and deallocation.
(WebCore::retrieveOrAddCachedFonts): Use keysMatch instead of ==.

* platform/graphics/cocoa/FontCacheCoreText.cpp: Use ASCIICaseInsensitiveHash
for font family names. These names should use ASCII case insensitive matching;
there is no need for non-ASCII case folding.

* platform/network/HTTPHeaderMap.h: Use ASCIICaseInsensitiveHash for
HTTP header field names. These names are all ASCII.

* rendering/style/RenderStyle.cpp:
(WebCore::computeFontHash): Use IntegerHasher to avoid allocating memory just
to compute a hash. Use ASCIICaseInsensitiveHash.

Source/WebKit/win:

* WebCoreStatistics.cpp:
(WebCoreStatistics::memoryStatistics): Use ASCIICaseInsensitiveHash for field names.
These names are all ASCII.

* WebURLResponse.cpp:
(WebURLResponse::allHeaderFields): Use ASCIICaseInsensitiveHash for HTTP header
field names. These names are all ASCII.

Source/WebKit2:

* UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm: Use ASCIICaseInsensitiveHash
for MIME types. MIME types are all ASCII.

* UIProcess/Plugins/PlugInAutoStartProvider.h: Use ASCIICaseInsensitiveHash for
origins. Origin strings should use ASCII case insensitive matching and should not
fold non-ASCII case.

* WebProcess/WebPage/WebPage.h: Use ASCIICaseInsensitiveHash for MIME types.
MIME types are all ASCII.

* WebProcess/WebProcess.cpp:
(WebKit::addCaseFoldedCharacters): Use ASCIICaseInsensitiveHash to hash plug-in
origin strings. (See rationale above.)
(WebKit::hashForPlugInOrigin): Updated comment.

Source/WTF:

* wtf/text/StringHash.h: Renamed CaseFoldingHash to ASCIICaseInsensitiveHash.
(WTF::ASCIICaseInsensitiveHash::foldCase): Use toASCIILower.
(WTF::ASCIICaseInsensitiveHash::equal): Use equalIgnoringASCIICase.
Also added some assertions.

* wtf/text/StringImpl.cpp: Made the latin1CaseFoldTable private to this file,
since it's no longer needed by CaseFoldingHash. Moved it up before its first use.
(WTF::equalCompatibilityCaseless): Fixed typo in the name of this function.
(WTF::equalCompatibiltyCaselessNonNull): Deleted.

* wtf/text/StringImpl.h: Removed declarations of latin1CaseFoldTable and
equalCompatibiltyCaselessNonNull

Tools:

* Scripts/do-webcore-rename: Use script to do this rename.

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

4 years agoWeb Inspector: Object tree parent items are misaligned
commit-queue@webkit.org [Sat, 30 Jan 2016 21:49:31 +0000 (21:49 +0000)]
Web Inspector: Object tree parent items are misaligned
https://bugs.webkit.org/show_bug.cgi?id=153699
<rdar://problem/24423683>

Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2016-01-30
Reviewed by Darin Adler.

* UserInterface/Views/ObjectTreeView.css:
(.object-tree .object-tree):
Ensure that toplevel Object preview trees are displayed properly while also
making child trees inline.

* UserInterface/Views/TreeOutline.css:
(.tree-outline:not(.hide-disclosure-buttons) .item:not(.parent) > .icon):
(.tree-outline:not(.hide-disclosure-buttons) .item:not(.parent) .icon): Deleted.
This would apply to all .icon elements contained within a non-parent item,
which is not the desired effect. Instead, this should only apply to only the
.icon element of that particular non-parent item.

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

4 years agoUnreviewed, rolling out r195871.
cdumez@apple.com [Sat, 30 Jan 2016 21:39:00 +0000 (21:39 +0000)]
Unreviewed, rolling out r195871.

Caused several layout tests to time out

Reverted changeset:

"Tab suspension code shouldn't use page cache cacheability
logic"
https://bugs.webkit.org/show_bug.cgi?id=153680
http://trac.webkit.org/changeset/195871

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

4 years agoUnreviewed, rebaseline bindings tests after r195904.
cdumez@apple.com [Sat, 30 Jan 2016 21:34:43 +0000 (21:34 +0000)]
Unreviewed, rebaseline bindings tests after r195904.

* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::JSTestCustomNamedGetter::getOwnPropertySlot):
(WebCore::jsTestCustomNamedGetterConstructor):
(WebCore::setJSTestCustomNamedGetterConstructor):
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTarget::getOwnPropertySlot):
(WebCore::jsTestEventTargetConstructor):
(WebCore::setJSTestEventTargetConstructor):
* bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
(WebCore::JSTestOverrideBuiltins::getOwnPropertySlot):
(WebCore::jsTestOverrideBuiltinsConstructor):
(WebCore::setJSTestOverrideBuiltinsConstructor):

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

4 years ago[JS Bindings] prototype.constructor should be writable
cdumez@apple.com [Sat, 30 Jan 2016 21:01:09 +0000 (21:01 +0000)]
[JS Bindings] prototype.constructor should be writable
https://bugs.webkit.org/show_bug.cgi?id=149412
<rdar://problem/22545096>

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline W3C tests now that more checks are passing.

* web-platform-tests/XMLHttpRequest/interfaces-expected.txt:
* web-platform-tests/dom/interfaces-expected.txt:
* web-platform-tests/fetch/api/headers/headers-idl-expected.txt:
* web-platform-tests/html/dom/interfaces-expected.txt:

Source/WebCore:

prototype.constructor should have the following properties:
{ [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true }

as per the Web IDL specification:
https://heycam.github.io/webidl/#interface-prototype-object

In WebKit, it is currently not writable. It is writable in Firefox.

This patch was first landed in r190085 but was rolled out for causing
crashes: <rdar://problem/22825602>. The issue was that even though we
marked constructor as writable, we failed to generate a setter for it.
This patch addresses the issue and the crash in <rdar://problem/22825602>
no longer occurs after this change. A regression test is also added for
this crash.

Tests:
fast/dom/HTMLDocument/constructor-setter-crash.html
fast/dom/prototype-constructor-setter.html

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateAttributesHashTable):
(GenerateImplementation):
* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::setJSTestActiveDOMObjectConstructor):
* bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::setJSTestClassWithJSBuiltinConstructorConstructor):
* bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
(WebCore::setJSTestCustomConstructorWithNoInterfaceObjectConstructor):
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::setJSTestCustomNamedGetterConstructor):
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::setJSTestEventConstructorConstructor):
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::setJSTestEventTargetConstructor):
* bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::setJSTestExceptionConstructor):
* bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::setJSTestGenerateIsReachableConstructor):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::setJSTestInterfaceConstructor):
* bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::setJSTestJSBuiltinConstructorConstructor):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::setJSTestMediaQueryListListenerConstructor):
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::setJSTestNamedConstructorConstructor):
* bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::setJSTestNodeConstructor):
* bindings/scripts/test/JS/JSTestNondeterministic.cpp:
(WebCore::setJSTestNondeterministicConstructor):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::setJSTestObjConstructor):
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::setJSTestOverloadedConstructorsConstructor):
* bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
(WebCore::setJSTestOverrideBuiltinsConstructor):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::setJSTestSerializedScriptValueInterfaceConstructor):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::setJSTestTypedefsConstructor):
* bindings/scripts/test/JS/JSattribute.cpp:
(WebCore::setJSattributeConstructor):
* bindings/scripts/test/JS/JSreadonly.cpp:
(WebCore::setJSreadonlyConstructor):
* page/DOMWindow.idl:

LayoutTests:

* fast/dom/HTMLDocument/constructor-setter-crash-expected.txt: Added.
* fast/dom/HTMLDocument/constructor-setter-crash.html: Added.
Add regression test for crash at <rdar://problem/22825602>.

* fast/dom/prototype-constructor-setter-expected.txt: Added.
* fast/dom/prototype-constructor-setter.html: Added.
Add new test checking that prototype.constructor is writable.

* js/dom/constructor-attributes-expected.txt:
Rebaseline existing test now that prototype.constructor is writable.

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