WebKit-https.git
4 years ago[INTL] Implement Date.prototype.toLocaleDateString in ECMA-402
commit-queue@webkit.org [Wed, 20 Jan 2016 01:07:34 +0000 (01:07 +0000)]
[INTL] Implement Date.prototype.toLocaleDateString in ECMA-402
https://bugs.webkit.org/show_bug.cgi?id=147612

Patch by Andy VanWagoner <thetalecrafter@gmail.com> on 2016-01-19
Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

Implement toLocaleDateString in builtin JavaScript. Remove comments with
spec steps, and instead link to the new HTML version of the spec.

Avoids creating an extra empty object in the prototype chain of the options
object in ToDateTimeOptions. The version used in toLocaleString was updated
to match as well.

* builtins/DatePrototype.js:
(toLocaleString.toDateTimeOptionsAnyAll):
(toLocaleString):
(toLocaleDateString.toDateTimeOptionsDateDate):
(toLocaleDateString):
* runtime/DatePrototype.cpp:
(JSC::DatePrototype::finishCreation):

LayoutTests:

Added tests for toLocaleDateString.

* js/date-toLocaleString-expected.txt:
* js/script-tests/date-toLocaleString.js:

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

4 years ago32-bit build fix.
bdakin@apple.com [Wed, 20 Jan 2016 00:56:50 +0000 (00:56 +0000)]
32-bit build fix.

* WebView/WebView.mm:
(-[WebView updateWebViewAdditions]):
(-[WebView showCandidates:forString:inRect:view:completionHandler:]):
* WebView/WebViewInternal.h:

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

4 years agoMove away from NSSpellChecker's showCandidates method
bdakin@apple.com [Wed, 20 Jan 2016 00:46:38 +0000 (00:46 +0000)]
Move away from NSSpellChecker's showCandidates method
https://bugs.webkit.org/show_bug.cgi?id=153254
-and corresponding-
rdar://problem/24216292

Reviewed by Tim Horton.

* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::handleRequestedCandidates):
* WebView/WebView.mm:
(-[WebView updateWebViewAdditions]):
(-[WebView showCandidates:forString:inRect:view:completionHandler:]):
* WebView/WebViewInternal.h:

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

4 years agoWeb Inspector: Add protocol version for iOS 9.3
timothy@apple.com [Wed, 20 Jan 2016 00:45:39 +0000 (00:45 +0000)]
Web Inspector: Add protocol version for iOS 9.3
https://bugs.webkit.org/show_bug.cgi?id=153256
rdar://problem/24247951

Reviewed by Joseph Pecoraro.

* UserInterface/Protocol/Legacy/9.3/InspectorBackendCommands.js: Added.
* Versions/Inspector-iOS-9.3.json: Added.

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

4 years agoLayoutTests/imported/w3c:
cdumez@apple.com [Wed, 20 Jan 2016 00:17:47 +0000 (00:17 +0000)]
LayoutTests/imported/w3c:
Document.createDocument() should treat undefined namespace as null
https://bugs.webkit.org/show_bug.cgi?id=153252

Reviewed by Ryosuke Niwa.

Rebaseline W3C DOM test now that more checks are passing.

* web-platform-tests/dom/nodes/DOMImplementation-createDocument-expected.txt:

Source/WebCore:
DOMImplementation.createDocument() should treat undefined namespace as null
https://bugs.webkit.org/show_bug.cgi?id=153252

Reviewed by Ryosuke Niwa.

DOMImplementation.createDocument() should treat undefined namespace as null as
the DOMString parameter is nullable:
https://dom.spec.whatwg.org/#domimplementation

Firefox behaves according to the specification, Chrome does not.

No new tests, already covered by existing test.

* dom/DOMImplementation.idl:

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

4 years agoModern IDB: Split all storage/indexeddb/modern tests into separate HTML + JS format.
beidson@apple.com [Tue, 19 Jan 2016 23:41:11 +0000 (23:41 +0000)]
Modern IDB: Split all storage/indexeddb/modern tests into separate HTML + JS format.
https://bugs.webkit.org/show_bug.cgi?id=153251

Reviewed by Sam Weinig.

* storage/indexeddb/modern/abort-requests-cancelled-expected.txt:
* storage/indexeddb/modern/abort-requests-cancelled.html:
* storage/indexeddb/modern/aborted-put-expected.txt:
* storage/indexeddb/modern/aborted-put.html:
* storage/indexeddb/modern/autoincrement-abort-expected.txt:
* storage/indexeddb/modern/autoincrement-abort.html:
* storage/indexeddb/modern/basic-add-expected.txt:
* storage/indexeddb/modern/basic-add.html:
* storage/indexeddb/modern/basic-put-expected.txt:
* storage/indexeddb/modern/basic-put.html:
* storage/indexeddb/modern/create-index-failures-expected.txt:
* storage/indexeddb/modern/create-index-failures.html:
* storage/indexeddb/modern/createobjectstore-basic-expected.txt:
* storage/indexeddb/modern/createobjectstore-basic.html:
* storage/indexeddb/modern/createobjectstore-failures-expected.txt:
* storage/indexeddb/modern/createobjectstore-failures.html:
* storage/indexeddb/modern/cursor-1-expected.txt:
* storage/indexeddb/modern/cursor-1.html:
* storage/indexeddb/modern/cursor-2-expected.txt:
* storage/indexeddb/modern/cursor-2.html:
* storage/indexeddb/modern/cursor-3-expected.txt:
* storage/indexeddb/modern/cursor-3.html:
* storage/indexeddb/modern/cursor-4-expected.txt:
* storage/indexeddb/modern/cursor-4.html:
* storage/indexeddb/modern/cursor-5-expected.txt:
* storage/indexeddb/modern/cursor-5.html:
* storage/indexeddb/modern/cursor-6-expected.txt:
* storage/indexeddb/modern/cursor-6.html:
* storage/indexeddb/modern/cursor-7-expected.txt:
* storage/indexeddb/modern/cursor-7.html:
* storage/indexeddb/modern/cursor-8-expected.txt:
* storage/indexeddb/modern/cursor-8.html:
* storage/indexeddb/modern/date-basic-expected.txt:
* storage/indexeddb/modern/date-basic.html:
* storage/indexeddb/modern/deletedatabase-1-expected.txt:
* storage/indexeddb/modern/deletedatabase-1.html:
* storage/indexeddb/modern/deletedatabase-2-expected.txt:
* storage/indexeddb/modern/deletedatabase-2.html:
* storage/indexeddb/modern/deletedatabase-null-name-exception-expected.txt:
* storage/indexeddb/modern/deletedatabase-null-name-exception.html:
* storage/indexeddb/modern/deletedatabase-request-event-expected.txt:
* storage/indexeddb/modern/deletedatabase-request-event.html:
* storage/indexeddb/modern/deletedatabase-request-expected.txt:
* storage/indexeddb/modern/deletedatabase-request.html:
* storage/indexeddb/modern/deleteindex-1-expected.txt:
* storage/indexeddb/modern/deleteindex-1.html:
* storage/indexeddb/modern/deleteindex-2-expected.txt:
* storage/indexeddb/modern/deleteindex-2.html:
* storage/indexeddb/modern/deleteobjectstore-1-expected.txt:
* storage/indexeddb/modern/deleteobjectstore-1.html:
* storage/indexeddb/modern/double-abort-expected.txt:
* storage/indexeddb/modern/double-abort.html:
* storage/indexeddb/modern/double-open-expected.txt:
* storage/indexeddb/modern/double-open.html:
* storage/indexeddb/modern/get-index-failures-expected.txt:
* storage/indexeddb/modern/get-index-failures.html:
* storage/indexeddb/modern/get-keyrange-expected.txt:
* storage/indexeddb/modern/get-keyrange.html:
* storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-expected.txt:
* storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures.html:
* storage/indexeddb/modern/idbdatabase-transaction-failures-expected.txt:
* storage/indexeddb/modern/idbdatabase-transaction-failures.html:
* storage/indexeddb/modern/idbindex-properties-basic-expected.txt:
* storage/indexeddb/modern/idbindex-properties-basic.html:
* storage/indexeddb/modern/idbobjectstore-clear-1-expected.txt:
* storage/indexeddb/modern/idbobjectstore-clear-1.html:
* storage/indexeddb/modern/idbobjectstore-clear-2-expected.txt:
* storage/indexeddb/modern/idbobjectstore-clear-2.html:
* storage/indexeddb/modern/idbobjectstore-count-1-expected.txt:
* storage/indexeddb/modern/idbobjectstore-count-1.html:
* storage/indexeddb/modern/idbobjectstore-count-failures-expected.txt:
* storage/indexeddb/modern/idbobjectstore-count-failures.html:
* storage/indexeddb/modern/idbobjectstore-delete-1-expected.txt:
* storage/indexeddb/modern/idbobjectstore-delete-1.html:
* storage/indexeddb/modern/idbobjectstore-delete-2-expected.txt:
* storage/indexeddb/modern/idbobjectstore-delete-2.html:
* storage/indexeddb/modern/idbobjectstore-delete-failures-expected.txt:
* storage/indexeddb/modern/idbobjectstore-delete-failures.html:
* storage/indexeddb/modern/idbobjectstore-get-failures-expected.txt:
* storage/indexeddb/modern/idbobjectstore-get-failures.html:
* storage/indexeddb/modern/idbobjectstore-put-and-clear-failures-expected.txt:
* storage/indexeddb/modern/idbobjectstore-put-and-clear-failures.html:
* storage/indexeddb/modern/idbtransaction-objectstore-failures-expected.txt:
* storage/indexeddb/modern/idbtransaction-objectstore-failures.html:
* storage/indexeddb/modern/index-1-expected.txt:
* storage/indexeddb/modern/index-1.html:
* storage/indexeddb/modern/index-2-expected.txt:
* storage/indexeddb/modern/index-2.html:
* storage/indexeddb/modern/index-3-expected.txt:
* storage/indexeddb/modern/index-3.html:
* storage/indexeddb/modern/index-4-expected.txt:
* storage/indexeddb/modern/index-4.html:
* storage/indexeddb/modern/index-5-expected.txt:
* storage/indexeddb/modern/index-5.html:
* storage/indexeddb/modern/index-cursor-1-expected.txt:
* storage/indexeddb/modern/index-cursor-1.html:
* storage/indexeddb/modern/index-cursor-2-expected.txt:
* storage/indexeddb/modern/index-cursor-2.html:
* storage/indexeddb/modern/index-cursor-3-expected.txt:
* storage/indexeddb/modern/index-cursor-3.html:
* storage/indexeddb/modern/index-get-count-basic-expected.txt:
* storage/indexeddb/modern/index-get-count-basic.html:
* storage/indexeddb/modern/index-get-count-failures-expected.txt:
* storage/indexeddb/modern/index-get-count-failures.html:
* storage/indexeddb/modern/keypath-basic-expected.txt:
* storage/indexeddb/modern/keypath-basic.html:
* storage/indexeddb/modern/objectstore-attributes-expected.txt:
* storage/indexeddb/modern/objectstore-attributes.html:
* storage/indexeddb/modern/objectstore-cursor-advance-failures-expected.txt:
* storage/indexeddb/modern/objectstore-cursor-advance-failures.html:
* storage/indexeddb/modern/objectstore-cursor-continue-failures-expected.txt:
* storage/indexeddb/modern/objectstore-cursor-continue-failures.html:
* storage/indexeddb/modern/opencursor-failures-expected.txt:
* storage/indexeddb/modern/opencursor-failures.html:
* storage/indexeddb/modern/opendatabase-request-event-expected.txt:
* storage/indexeddb/modern/opendatabase-request-event.html:
* storage/indexeddb/modern/opendatabase-request-expected.txt:
* storage/indexeddb/modern/opendatabase-request.html:
* storage/indexeddb/modern/opendatabase-success-after-versionchange-expected.txt:
* storage/indexeddb/modern/opendatabase-success-after-versionchange.html:
* storage/indexeddb/modern/opendatabase-versions-expected.txt:
* storage/indexeddb/modern/opendatabase-versions.html:
* storage/indexeddb/modern/request-readystate-expected.txt:
* storage/indexeddb/modern/request-readystate.html:
* storage/indexeddb/modern/resources/abort-requests-cancelled.js: Copied from LayoutTests/storage/indexeddb/modern/abort-requests-cancelled.html.
* storage/indexeddb/modern/resources/aborted-put.js: Copied from LayoutTests/storage/indexeddb/modern/aborted-put.html.
* storage/indexeddb/modern/resources/autoincrement-abort.js: Copied from LayoutTests/storage/indexeddb/modern/autoincrement-abort.html.
* storage/indexeddb/modern/resources/basic-add.js: Copied from LayoutTests/storage/indexeddb/modern/basic-add.html.
* storage/indexeddb/modern/resources/basic-put.js: Copied from LayoutTests/storage/indexeddb/modern/basic-put.html.
* storage/indexeddb/modern/resources/create-index-failures.js: Copied from LayoutTests/storage/indexeddb/modern/create-index-failures.html.
* storage/indexeddb/modern/resources/createobjectstore-basic.js: Copied from LayoutTests/storage/indexeddb/modern/createobjectstore-basic.html.
* storage/indexeddb/modern/resources/createobjectstore-failures.js: Copied from LayoutTests/storage/indexeddb/modern/createobjectstore-failures.html.
* storage/indexeddb/modern/resources/cursor-1.js: Copied from LayoutTests/storage/indexeddb/modern/cursor-1.html.
* storage/indexeddb/modern/resources/cursor-2.js: Copied from LayoutTests/storage/indexeddb/modern/cursor-2.html.
* storage/indexeddb/modern/resources/cursor-3.js: Copied from LayoutTests/storage/indexeddb/modern/cursor-3.html.
* storage/indexeddb/modern/resources/cursor-4.js: Copied from LayoutTests/storage/indexeddb/modern/cursor-4.html.
* storage/indexeddb/modern/resources/cursor-5.js: Copied from LayoutTests/storage/indexeddb/modern/cursor-5.html.
* storage/indexeddb/modern/resources/cursor-6.js: Copied from LayoutTests/storage/indexeddb/modern/cursor-6.html.
* storage/indexeddb/modern/resources/cursor-7.js: Copied from LayoutTests/storage/indexeddb/modern/cursor-7.html.
* storage/indexeddb/modern/resources/cursor-8.js: Copied from LayoutTests/storage/indexeddb/modern/cursor-8.html.
* storage/indexeddb/modern/resources/date-basic.js: Copied from LayoutTests/storage/indexeddb/modern/date-basic.html.
* storage/indexeddb/modern/resources/deletedatabase-1.js: Copied from LayoutTests/storage/indexeddb/modern/deletedatabase-1.html.
* storage/indexeddb/modern/resources/deletedatabase-2.js: Copied from LayoutTests/storage/indexeddb/modern/deletedatabase-2.html.
* storage/indexeddb/modern/resources/deletedatabase-null-name-exception.js: Added.
* storage/indexeddb/modern/resources/deletedatabase-request-event.js: Copied from LayoutTests/storage/indexeddb/modern/deletedatabase-request-event.html.
* storage/indexeddb/modern/resources/deletedatabase-request.js: Added.
* storage/indexeddb/modern/resources/deleteindex-1.js: Copied from LayoutTests/storage/indexeddb/modern/deleteindex-1.html.
* storage/indexeddb/modern/resources/deleteindex-2.js: Copied from LayoutTests/storage/indexeddb/modern/deleteindex-2.html.
* storage/indexeddb/modern/resources/deleteobjectstore-1.js: Copied from LayoutTests/storage/indexeddb/modern/deleteobjectstore-1.html.
* storage/indexeddb/modern/resources/double-abort.js: Copied from LayoutTests/storage/indexeddb/modern/double-abort.html.
* storage/indexeddb/modern/resources/double-open.js: Added.
* storage/indexeddb/modern/resources/get-index-failures.js: Copied from LayoutTests/storage/indexeddb/modern/get-index-failures.html.
* storage/indexeddb/modern/resources/get-keyrange.js: Copied from LayoutTests/storage/indexeddb/modern/get-keyrange.html.
* storage/indexeddb/modern/resources/idbdatabase-deleteobjectstore-failures.js: Copied from LayoutTests/storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures.html.
* storage/indexeddb/modern/resources/idbdatabase-transaction-failures.js: Copied from LayoutTests/storage/indexeddb/modern/idbdatabase-transaction-failures.html.
* storage/indexeddb/modern/resources/idbindex-properties-basic.js: Copied from LayoutTests/storage/indexeddb/modern/idbindex-properties-basic.html.
* storage/indexeddb/modern/resources/idbobjectstore-clear-1.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-clear-1.html.
* storage/indexeddb/modern/resources/idbobjectstore-clear-2.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-clear-2.html.
* storage/indexeddb/modern/resources/idbobjectstore-count-1.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-count-1.html.
* storage/indexeddb/modern/resources/idbobjectstore-count-failures.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-count-failures.html.
* storage/indexeddb/modern/resources/idbobjectstore-delete-1.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-delete-1.html.
* storage/indexeddb/modern/resources/idbobjectstore-delete-2.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-delete-2.html.
* storage/indexeddb/modern/resources/idbobjectstore-delete-failures.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-delete-failures.html.
* storage/indexeddb/modern/resources/idbobjectstore-get-failures.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-get-failures.html.
* storage/indexeddb/modern/resources/idbobjectstore-put-and-clear-failures.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-put-and-clear-failures.html.
* storage/indexeddb/modern/resources/idbtransaction-objectstore-failures.js: Added.
* storage/indexeddb/modern/resources/index-1.js: Copied from LayoutTests/storage/indexeddb/modern/index-1.html.
* storage/indexeddb/modern/resources/index-2.js: Copied from LayoutTests/storage/indexeddb/modern/index-2.html.
* storage/indexeddb/modern/resources/index-3.js: Copied from LayoutTests/storage/indexeddb/modern/index-3.html.
* storage/indexeddb/modern/resources/index-4.js: Copied from LayoutTests/storage/indexeddb/modern/index-4.html.
* storage/indexeddb/modern/resources/index-5.js: Copied from LayoutTests/storage/indexeddb/modern/index-5.html.
* storage/indexeddb/modern/resources/index-cursor-1.js: Copied from LayoutTests/storage/indexeddb/modern/index-cursor-1.html.
* storage/indexeddb/modern/resources/index-cursor-2.js: Copied from LayoutTests/storage/indexeddb/modern/index-cursor-2.html.
* storage/indexeddb/modern/resources/index-cursor-3.js: Copied from LayoutTests/storage/indexeddb/modern/index-cursor-3.html.
* storage/indexeddb/modern/resources/index-get-count-basic.js: Copied from LayoutTests/storage/indexeddb/modern/index-get-count-basic.html.
* storage/indexeddb/modern/resources/index-get-count-failures.js: Copied from LayoutTests/storage/indexeddb/modern/index-get-count-failures.html.
* storage/indexeddb/modern/resources/keypath-basic.js: Copied from LayoutTests/storage/indexeddb/modern/keypath-basic.html.
* storage/indexeddb/modern/resources/objectstore-attributes.js: Copied from LayoutTests/storage/indexeddb/modern/objectstore-attributes.html.
* storage/indexeddb/modern/resources/objectstore-cursor-advance-failures.js: Copied from LayoutTests/storage/indexeddb/modern/objectstore-cursor-advance-failures.html.
* storage/indexeddb/modern/resources/objectstore-cursor-continue-failures.js: Copied from LayoutTests/storage/indexeddb/modern/objectstore-cursor-continue-failures.html.
* storage/indexeddb/modern/resources/opencursor-failures.js: Copied from LayoutTests/storage/indexeddb/modern/opencursor-failures.html.
* storage/indexeddb/modern/resources/opendatabase-request-event.js: Added.
* storage/indexeddb/modern/resources/opendatabase-request.js: Copied from LayoutTests/storage/indexeddb/modern/opendatabase-request.html.
* storage/indexeddb/modern/resources/opendatabase-success-after-versionchange.js: Copied from LayoutTests/storage/indexeddb/modern/opendatabase-success-after-versionchange.html.
* storage/indexeddb/modern/resources/opendatabase-versions.js: Copied from LayoutTests/storage/indexeddb/modern/opendatabase-versions.html.
* storage/indexeddb/modern/resources/request-readystate.js: Added.
* storage/indexeddb/modern/resources/transaction-scheduler-1.js: Copied from LayoutTests/storage/indexeddb/modern/transaction-scheduler-1.html.
* storage/indexeddb/modern/resources/transaction-scheduler-2.js: Copied from LayoutTests/storage/indexeddb/modern/transaction-scheduler-2.html.
* storage/indexeddb/modern/resources/transaction-scheduler-3.js: Copied from LayoutTests/storage/indexeddb/modern/transaction-scheduler-3.html.
* storage/indexeddb/modern/resources/transaction-scheduler-5.js: Copied from LayoutTests/storage/indexeddb/modern/transaction-scheduler-5.html.
* storage/indexeddb/modern/resources/transaction-scheduler-6.js: Copied from LayoutTests/storage/indexeddb/modern/transaction-scheduler-6.html.
* storage/indexeddb/modern/resources/transactions-stop-on-navigation-2.html:
* storage/indexeddb/modern/resources/versionchange-abort-then-reopen.js: Copied from LayoutTests/storage/indexeddb/modern/versionchange-abort-then-reopen.html.
* storage/indexeddb/modern/resources/versionchange-event.js: Copied from LayoutTests/storage/indexeddb/modern/versionchange-event.html.
* storage/indexeddb/modern/transaction-scheduler-1-expected.txt:
* storage/indexeddb/modern/transaction-scheduler-1.html:
* storage/indexeddb/modern/transaction-scheduler-2-expected.txt:
* storage/indexeddb/modern/transaction-scheduler-2.html:
* storage/indexeddb/modern/transaction-scheduler-3-expected.txt:
* storage/indexeddb/modern/transaction-scheduler-3.html:
* storage/indexeddb/modern/transaction-scheduler-5-expected.txt:
* storage/indexeddb/modern/transaction-scheduler-5.html:
* storage/indexeddb/modern/transaction-scheduler-6-expected.txt:
* storage/indexeddb/modern/transaction-scheduler-6.html:
* storage/indexeddb/modern/transactions-stop-on-navigation-expected.txt:
* storage/indexeddb/modern/versionchange-abort-then-reopen-expected.txt:
* storage/indexeddb/modern/versionchange-abort-then-reopen.html:
* storage/indexeddb/modern/versionchange-event-expected.txt:
* storage/indexeddb/modern/versionchange-event.html:

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

4 years ago[JSC] fixSpillSlotZDef() crashes on ARM64
commit-queue@webkit.org [Tue, 19 Jan 2016 23:15:53 +0000 (23:15 +0000)]
[JSC] fixSpillSlotZDef() crashes on ARM64
https://bugs.webkit.org/show_bug.cgi?id=153246

Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-01-19
Reviewed by Geoffrey Garen.

Moving an immediate to memory is not a valid instruction on ARM64.
This patch adds a small workaround for this specific case: an instruction
to zero a chunk of memory.

* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::storeZero32):
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::storeZero32):
* b3/air/AirFixSpillSlotZDef.h:
(JSC::B3::Air::fixSpillSlotZDef):
* b3/air/AirOpcode.opcodes:

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

4 years agoREGRESSION: Web Inspector: Hovering linkified node references should show node highlight
commit-queue@webkit.org [Tue, 19 Jan 2016 23:03:50 +0000 (23:03 +0000)]
REGRESSION: Web Inspector: Hovering linkified node references should show node highlight
https://bugs.webkit.org/show_bug.cgi?id=153248
<rdar://problem/24245518>

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

* UserInterface/Base/DOMUtilities.js:
Show the complete node highlight details (colors and node info).

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

4 years agoAdd support for DataDetectors in WK (iOS).
enrica@apple.com [Tue, 19 Jan 2016 22:58:59 +0000 (22:58 +0000)]
Add support for DataDetectors in WK (iOS).
https://bugs.webkit.org/show_bug.cgi?id=152989
rdar://problem/22855960

Reviewed by Tim Horton.

Source/JavaScriptCore:

Adding feature definition for data detection.

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

This is the first step toward implementing Data Detectors support
in WK2. The patch adds a new memeber to the Settings object
to retrieve the type of detection desired. The DataDetection files
have been moved under cocoa, since they are no longer OS X specific.

* Configurations/FeatureDefines.xcconfig:
* Configurations/WebCore.xcconfig:
* WebCore.xcodeproj/project.pbxproj:
* editing/cocoa/DataDetection.h: Copied from Source/WebCore/editing/mac/DataDetection.h.
* editing/cocoa/DataDetection.mm: Copied from Source/WebCore/editing/mac/DataDetection.mm.
(WebCore::detectItemAtPositionWithRange):
(WebCore::DataDetection::detectItemAroundHitTestResult):
(WebCore::DataDetection::detectContentInRange):
* editing/mac/DataDetection.h: Removed.
* editing/mac/DataDetection.mm: Removed.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
* page/Settings.h:
* page/Settings.in:
* platform/spi/mac/DataDetectorsSPI.h:

Source/WebKit/mac:

Adding feature definition for data detection.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

This is the first step toward implementing Data Detectors support
in WK2. The patch adds a new property to the configuration
object to indicate the type of detection desired and propagates
to the WebProcess.

* Configurations/FeatureDefines.xcconfig:
* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(fromWKDataDetectorTypes):
(-[WKWebView initWithFrame:configuration:]):
* UIProcess/API/Cocoa/WKWebViewConfiguration.h:
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration copyWithZone:]):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

Source/WTF:

Adding feature definition for data detection.

* wtf/FeatureDefines.h:

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

4 years agoSVG 2 requires a mechanism for restricting enum values exposed through the DOM
commit-queue@webkit.org [Tue, 19 Jan 2016 22:01:55 +0000 (22:01 +0000)]
SVG 2 requires a mechanism for restricting enum values exposed through the DOM
https://bugs.webkit.org/show_bug.cgi?id=152814

Patch by Nikos Andronikos <nikos.andronikos-webkit@cisra.canon.com.au> on 2016-01-19
Reviewed by Darin Adler.

No new tests (No change in functionality, blocked bugs add new tests).

This patch adds a mechanism to restrict the values returned through the
SVGAnimatedEnumeration interface.
This is required for SVG 2, which does not expose new enumeration
values through the IDL.
See http://www.w3.org/TR/SVG2/types.html#InterfaceSVGAnimatedEnumeration
Getters:
SVG 2 does not add numeric type values for new options, new options
should return UNKNOWN.
E.g. See the table defining numeric type values for orient at
http://www.w3.org/TR/SVG2/painting.html#InterfaceSVGMarkerElement
Setters:
On setting baseVal, the following steps are run:
1. ...
2. If value is 0 or is not the numeric type value for any value of the reflected attribute, then set the reflected attribute to the empty string.

* svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
Override baseVal() and animVal() to perform range checks against
the highest exposed enum value.
* svg/properties/SVGAnimatedStaticPropertyTearOff.h:
(WebCore::SVGAnimatedStaticPropertyTearOff::baseVal): Mark function as virtual as it's over-ridden for enumerations.
(WebCore::SVGAnimatedStaticPropertyTearOff::animVal): Mark function as virtual as it's over-ridden for enumerations.
* svg/properties/SVGPropertyTraits.h:
Add SVGIDLEnumLimits struct that contains function for querying the
highest exposed enum value.
(WebCore::SVGIDLEnumLimits::highestExposedEnumValue): New function that returns the highest enum value that should
be exposed through the DOM. This function should be specialized for enum types that need to restrict the exposed
values.

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

4 years ago[B3][Win64] Compile and warning fixes.
peavo@outlook.com [Tue, 19 Jan 2016 21:49:12 +0000 (21:49 +0000)]
[B3][Win64] Compile and warning fixes.
https://bugs.webkit.org/show_bug.cgi?id=153234

Reviewed by Alex Christensen.

The size of 'long' is 4 bytes on Win64. We can use 'long long' instead,
when we want the size to be 8 bytes.

* b3/B3LowerMacrosAfterOptimizations.cpp:
* b3/B3ReduceStrength.cpp:

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

4 years ago[cmake] Fix the B3 build after r195159
ossy@webkit.org [Tue, 19 Jan 2016 21:48:25 +0000 (21:48 +0000)]
[cmake] Fix the B3 build after r195159
https://bugs.webkit.org/show_bug.cgi?id=153232

Reviewed by Yusuke Suzuki.

* CMakeLists.txt:

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

4 years agoFixed compilation of AXObjectCache in case of !HAVE(ACCESSIBILITY).
commit-queue@webkit.org [Tue, 19 Jan 2016 21:48:17 +0000 (21:48 +0000)]
Fixed compilation of AXObjectCache in case of !HAVE(ACCESSIBILITY).
https://bugs.webkit.org/show_bug.cgi?id=153243

Patch by Konstantin Tokarev <annulen@yandex.ru> on 2016-01-19
Reviewed by Chris Fleizach.

No new tests needed.

* accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::AXObjectCache):
(WebCore::nodeHasRole): Deleted.

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

4 years agoUse references in SelectorChecker
antti@apple.com [Tue, 19 Jan 2016 21:26:35 +0000 (21:26 +0000)]
Use references in SelectorChecker
https://bugs.webkit.org/show_bug.cgi?id=153240

Reviewed by Andreas Kling.

Element and selector can't be null in most places.

* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::collectMatchingRules):
* css/SelectorChecker.cpp:
(WebCore::attributeValueMatches):
(WebCore::anyAttributeMatches):
(WebCore::SelectorChecker::checkOne):
(WebCore::SelectorChecker::matchSelectorList):
(WebCore::SelectorChecker::checkScrollbarPseudoClass):
(WebCore::SelectorChecker::determineLinkMatchType):
(WebCore::isFrameFocused):
(WebCore::SelectorChecker::matchesFocusPseudoClass):
* css/SelectorChecker.h:
(WebCore::SelectorChecker::isCommonPseudoClassSelector):
(WebCore::SelectorChecker::checkExactAttribute): Deleted.
* css/SelectorCheckerTestFunctions.h:
(WebCore::isAutofilled):
(WebCore::isDefaultButtonForForm):
(WebCore::isDisabled):
(WebCore::isEnabled):
(WebCore::isMediaDocument):
(WebCore::isChecked):
(WebCore::isInRange):
(WebCore::isOutOfRange):
(WebCore::isInvalid):
(WebCore::isOptionalFormControl):
(WebCore::isRequiredFormControl):
(WebCore::isValid):
(WebCore::isWindowInactive):
(WebCore::containslanguageSubtagMatchingRange):
(WebCore::matchesLangPseudoClass):
(WebCore::matchesReadOnlyPseudoClass):
(WebCore::matchesReadWritePseudoClass):
(WebCore::shouldAppearIndeterminate):
(WebCore::scrollbarMatchesEnabledPseudoClass):
(WebCore::scrollbarMatchesCornerPresentPseudoClass):
(WebCore::matchesFullScreenPseudoClass):
(WebCore::matchesFullScreenAnimatingFullScreenTransitionPseudoClass):
(WebCore::matchesFullScreenAncestorPseudoClass):
(WebCore::matchesFullScreenDocumentPseudoClass):
(WebCore::matchesFutureCuePseudoClass):
(WebCore::matchesPastCuePseudoClass):

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

4 years agoUnreviewed, rolling out r195179.
cdumez@apple.com [Tue, 19 Jan 2016 21:00:35 +0000 (21:00 +0000)]
Unreviewed, rolling out r195179.

It relies on r195141 which was rolled out

Reverted changeset:

"Allocate style sheet media queries in BumpArena."
https://bugs.webkit.org/show_bug.cgi?id=153188
http://trac.webkit.org/changeset/195179

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

4 years agoUnreviewed, rolling out r195173.
cdumez@apple.com [Tue, 19 Jan 2016 20:59:56 +0000 (20:59 +0000)]
Unreviewed, rolling out r195173.

It relies on r195141 which was rolled out

Reverted changeset:

"Give RuleSet a BumpArena and start using it for
RuleDataVectors."
https://bugs.webkit.org/show_bug.cgi?id=153169
http://trac.webkit.org/changeset/195173

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

4 years agoUnreviewed, rolling out r195300.
commit-queue@webkit.org [Tue, 19 Jan 2016 20:56:21 +0000 (20:56 +0000)]
Unreviewed, rolling out r195300.
https://bugs.webkit.org/show_bug.cgi?id=153244

enrica wants more time to fix Windows (Requested by thorton on
#webkit).

Reverted changeset:

"Add support for DataDetectors in WK (iOS)."
https://bugs.webkit.org/show_bug.cgi?id=152989
http://trac.webkit.org/changeset/195300

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

4 years agoReconsider B3's constant motion policy
fpizlo@apple.com [Tue, 19 Jan 2016 20:55:34 +0000 (20:55 +0000)]
Reconsider B3's constant motion policy
https://bugs.webkit.org/show_bug.cgi?id=152202

Reviewed by Geoffrey Garen.

This changes moveConstants() to hoist constants. This is a speed-up on things like mandreel.
It has a generally positive impact on the Octane score, but it's within margin of error.

This also changes IRC to make it a bit more likely to spill constants. We don't want it to
spill them too much, because we can't rely on fixObviousSpills() to always replace a load of
a constant from the stack with the constant itself, especially in case of instructions that
need an extra register to materialize the immediate.

Also fixed DFG graph dumping to print a bit less things. It was trying to print the results of
constant property inference, and this sometimes caused crashes when you dumped the graph at an
inopportune time.

* JavaScriptCore.xcodeproj/project.pbxproj:
* b3/B3MoveConstants.cpp:
* b3/air/AirArg.h:
* b3/air/AirArgInlines.h: Added.
(JSC::B3::Air::ArgThingHelper<Tmp>::is):
(JSC::B3::Air::ArgThingHelper<Tmp>::as):
(JSC::B3::Air::ArgThingHelper<Tmp>::forEachFast):
(JSC::B3::Air::ArgThingHelper<Tmp>::forEach):
(JSC::B3::Air::ArgThingHelper<Arg>::is):
(JSC::B3::Air::ArgThingHelper<Arg>::as):
(JSC::B3::Air::ArgThingHelper<Arg>::forEachFast):
(JSC::B3::Air::ArgThingHelper<Arg>::forEach):
(JSC::B3::Air::Arg::is):
(JSC::B3::Air::Arg::as):
(JSC::B3::Air::Arg::forEachFast):
(JSC::B3::Air::Arg::forEach):
* b3/air/AirIteratedRegisterCoalescing.cpp:
* b3/air/AirUseCounts.h:
(JSC::B3::Air::UseCounts::UseCounts):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):

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

4 years agooutline-offset does not work for inlines.
zalan@apple.com [Tue, 19 Jan 2016 20:32:01 +0000 (20:32 +0000)]
outline-offset does not work for inlines.
https://bugs.webkit.org/show_bug.cgi?id=153238

Reviewed by Simon Fraser.

Adjust outline box width/height with outline-offset.

Test: fast/inline/inlines-with-outline-offset.html

Source/WebCore:

* rendering/RenderInline.cpp:
(WebCore::RenderInline::paintOutline):
(WebCore::RenderInline::paintOutlineForLine):

LayoutTests:

* fast/inline/inlines-with-outline-offset-expected.html: Added.
* fast/inline/inlines-with-outline-offset.html: Added.

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

4 years agoWeb Inspector: WebInspector.Object.addEventListener is O(n), make it O(1)
nvasilyev@apple.com [Tue, 19 Jan 2016 20:20:53 +0000 (20:20 +0000)]
Web Inspector: WebInspector.Object.addEventListener is O(n), make it O(1)
https://bugs.webkit.org/show_bug.cgi?id=152422
<rdar://problem/24038047>

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

Slow addEventListener was the main cause of Console sluggishness[1].

This patch changes:
addEventListener from O(n) to O(1)
removeEventListener from O(n) to O(1)

Now, addEventListener and removeEventListener take <1ms regardless of the
number of listeners attached.

removeEventListener(null, null, thisObject), a special case when all events
for thisObject are removed, was improved from O(n^2) to O(n).

* UserInterface/Base/LinkedList.js: Added.
(LinkedList):
(LinkedList.prototype.clear):
(LinkedList.prototype.get last):
(LinkedList.prototype.push):
(LinkedList.prototype.remove):
(LinkedList.prototype.forEach):
(LinkedList.prototype.toArray):
(LinkedList.prototype.toJSON):
(LinkedListNode):
LinkedList ensures O(1) time complexity for push and remove operations.

* UserInterface/Base/ListMultimap.js: Added.
(ListMultimap):
(ListMultimap.prototype.get size):
(ListMultimap.prototype.add):
(ListMultimap.prototype.delete):
(ListMultimap.prototype.deleteAll):
(ListMultimap.prototype.has):
(ListMultimap.prototype.clear):
(ListMultimap.prototype.forEach):
(ListMultimap.prototype.toArray):
(ListMultimap.prototype.toJSON):
ListMultimap unsures O(1) time complexity for add, has and delete operations.
ListMultimap preserves insertion order by using a LinkedList.

* UserInterface/Base/Object.js:
(WebInspector.Object):
(WebInspector.Object.addEventListener):
(WebInspector.Object.removeEventListener):
(WebInspector.Object.hasEventListeners):
(WebInspector.Object.retainedObjectsWithPrototype):
(WebInspector.Object.prototype.dispatchEventToListeners):
Replace this._listeners[eventType] from array of objects to ListMultimap.

* UserInterface/Main.html:
* UserInterface/Test.html:
* UserInterface/TestStub.html:

LayoutTests:

* inspector/console/console-api-expected.txt:
* inspector/console/console-table-expected.txt:
* inspector/model/remote-object-expected.txt:
Rebaseline tests, add "_listeners: null" to all WebInspector.Object instances.

* inspector/unit-tests/linked-list-expected.txt: Added.
* inspector/unit-tests/linked-list.html: Added.
* inspector/unit-tests/list-multimap-expected.txt: Added.
* inspector/unit-tests/list-multimap.html: Added.

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

4 years agoUnreviewed, rolling out r195141.
cdumez@apple.com [Tue, 19 Jan 2016 20:16:01 +0000 (20:16 +0000)]
Unreviewed, rolling out r195141.

Seems to cause crashes on iOS9 64bit

Reverted changeset:

"Fragmentation-free allocator for timeless and/or coupled
allocations."
https://bugs.webkit.org/show_bug.cgi?id=152696
http://trac.webkit.org/changeset/195141

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

4 years agoWeb Inspector: cleanup TreeOutline class and separate styles from NavigationSidebarPanel
mattbaker@apple.com [Tue, 19 Jan 2016 19:53:16 +0000 (19:53 +0000)]
Web Inspector: cleanup TreeOutline class and separate styles from NavigationSidebarPanel
https://bugs.webkit.org/show_bug.cgi?id=153146
<rdar://problem/24213071>

Reviewed by Timothy Hatcher.

This patch consolidates and simplifies the tree outline styles that were previously
defined across various classes. A new stylesheet, TreeOutline.css, includes all
the styles needed to create a basic TreeOutline.

In addition, certain tree features which were previously controlled by manually
toggling class names have been promoted to properties of TreeOutline:
 - compact: tree elements have reduced vertical spacing. Used by object trees.
   The compact and large settings are mutually exclusive.
 - large: tree elements (and their icons) are large. Used by TimelinesSidebarPanel.
   Previously there existed a `small` class name which was enabled in every
   case except TimelineSidebarPanel's Timelines tree. Since it was the rule rather
   than the exception the class has been removed and is now the default style.
 - disclosureButtons: control the appearance of disclosure buttons.
 - customIndent: control use of generated style rules.

* UserInterface/Main.html:
New CSS file.

* UserInterface/Views/ApplicationCacheFrameTreeElement.js:
(WebInspector.ApplicationCacheFrameTreeElement): Deleted.
* UserInterface/Views/BreakpointTreeElement.js:
(WebInspector.BreakpointTreeElement): Deleted.
* UserInterface/Views/CallFrameTreeElement.js:
(WebInspector.CallFrameTreeElement): Deleted.
* UserInterface/Views/ContentFlowTreeElement.js:
(WebInspector.ContentFlowTreeElement): Deleted.
Removed call to obsolete TreeOutline.prototype.small setter.

* UserInterface/Views/DOMTreeOutline.css:
(.tree-outline.dom):
(.tree-outline.dom li.hovered:not(.selected) .selection):
(.tree-outline.dom li .selection):
(.tree-outline.dom li.selected .selection):
(.tree-outline.dom li.elements-drag-over .selection):
(.tree-outline.dom:focus li.selected .selection):
(.tree-outline.dom li.selected > span::after):
(.tree-outline.dom:focus li.selected > span::after):
(.tree-outline.dom ol):
(.tree-outline.dom ol.children):
(.tree-outline.dom ol.children.expanded):
(.tree-outline.dom li):
(.tree-outline.dom li.pseudo-class-enabled > .selection::before):
(.tree-outline.dom.single-node li):
(.tree-outline.dom:focus li.selected):
(.tree-outline.dom:focus li.selected.pseudo-class-enabled > .selection::before):
(.tree-outline.dom:focus li.selected *):
(.tree-outline.dom li.parent):
(.tree-outline.dom li .html-tag.close):
(.tree-outline.dom li.parent::before):
(.tree-outline.dom:focus li.parent.selected::before):
(.tree-outline.dom li.parent.expanded::before):
(.tree-outline.dom:focus li.parent.expanded.selected::before):
(.tree-outline.dom .html-text-node.large):
(.tree-outline.dom .html-pseudo-element):
(.tree-outline.dom .html-fragment.shadow):
(.showing-find-banner .tree-outline.dom .search-highlight):
(.dom-tree-outline): Deleted.
(.dom-tree-outline li.hovered:not(.selected) .selection): Deleted.
(.dom-tree-outline li .selection): Deleted.
(.dom-tree-outline li.selected .selection): Deleted.
(.dom-tree-outline li.elements-drag-over .selection): Deleted.
(.dom-tree-outline:focus li.selected .selection): Deleted.
(.dom-tree-outline li.selected > span::after): Deleted.
(.dom-tree-outline:focus li.selected > span::after): Deleted.
(.dom-tree-outline ol): Deleted.
(.dom-tree-outline ol.children): Deleted.
(.dom-tree-outline ol.children.expanded): Deleted.
(.dom-tree-outline li): Deleted.
(.dom-tree-outline li.pseudo-class-enabled > .selection::before): Deleted.
(.dom-tree-outline.single-node li): Deleted.
(.dom-tree-outline:focus li.selected): Deleted.
(.dom-tree-outline:focus li.selected.pseudo-class-enabled > .selection::before): Deleted.
(.dom-tree-outline:focus li.selected *): Deleted.
(.dom-tree-outline li.parent): Deleted.
(.dom-tree-outline li .html-tag.close): Deleted.
(.dom-tree-outline li.parent::before): Deleted.
(.dom-tree-outline:focus li.parent.selected::before): Deleted.
(.dom-tree-outline li.parent.expanded::before): Deleted.
(.dom-tree-outline:focus li.parent.expanded.selected::before): Deleted.
(.dom-tree-outline .html-text-node.large): Deleted.
(.dom-tree-outline .html-pseudo-element): Deleted.
(.dom-tree-outline .html-fragment.shadow): Deleted.
(.showing-find-banner .dom-tree-outline .search-highlight): Deleted.
Updated selectors with new tree outline class names.

* UserInterface/Views/DOMTreeOutline.js:
(WebInspector.DOMTreeOutline):
Use default TreeOutline DOM element, and simplify element class name.

* UserInterface/Views/DatabaseTableTreeElement.js:
(WebInspector.DatabaseTableTreeElement): Deleted.
* UserInterface/Views/DatabaseTreeElement.js:
(WebInspector.DatabaseTreeElement): Deleted.
Removed call to obsolete TreeOutline.prototype.small setter.

* UserInterface/Views/ErrorObjectView.css:
(.error-object:not(.expanded) .tree-outline):
(.error-object .tree-outline):
(.error-object:not(.expanded) .error-object-outline): Deleted.
(.error-object-outline): Deleted.
Updated selectors with new tree outline class names.

* UserInterface/Views/ErrorObjectView.js:
(WebInspector.ErrorObjectView): Deleted.
Removed unused tree outline class name.

* UserInterface/Views/FolderTreeElement.js:
(WebInspector.FolderTreeElement): Deleted.
Removed call to obsolete TreeOutline.prototype.small setter.

* UserInterface/Views/FormattedValue.css:
(.formatted-node > .tree-outline.dom):
(.formatted-node > .tree-outline.dom ol):
(.formatted-node > .tree-outline.dom li):
(.formatted-node > .tree-outline.dom li.hovered:not(.selected) .selection):
(.formatted-node > .dom-tree-outline): Deleted.
(.formatted-node > .dom-tree-outline ol): Deleted.
(.formatted-node > .dom-tree-outline li): Deleted.
(.formatted-node > .dom-tree-outline li.hovered:not(.selected) .selection): Deleted.
Updated selectors with new tree outline class names.

* UserInterface/Views/GeneralTreeElement.js:
(WebInspector.GeneralTreeElement.prototype._updateTitleTooltip):
(WebInspector.GeneralTreeElement.prototype.get small): Deleted.
(WebInspector.GeneralTreeElement.prototype.set small): Deleted.
(WebInspector.GeneralTreeElement.prototype.get twoLine): Deleted.
(WebInspector.GeneralTreeElement.prototype.set twoLine): Deleted.
Removed properties `small` and `twoLine`. The first is no longer needed as
it is now the default tree element style. The second was not being used.

* UserInterface/Views/IndexedDatabaseObjectStoreIndexTreeElement.js:
(WebInspector.IndexedDatabaseObjectStoreIndexTreeElement): Deleted.
* UserInterface/Views/IndexedDatabaseObjectStoreTreeElement.js:
(WebInspector.IndexedDatabaseObjectStoreTreeElement): Deleted.
* UserInterface/Views/IndexedDatabaseTreeElement.js:
(WebInspector.IndexedDatabaseTreeElement): Deleted.
Removed call to obsolete TreeOutline.prototype.small setter.

* UserInterface/Views/IssueTreeElement.css:
(.navigation-sidebar-panel-content-tree-outline .item.small.issue .icon): Deleted.
No longer needed.

* UserInterface/Views/IssueTreeElement.js:
(WebInspector.IssueTreeElement): Deleted.
Removed call to obsolete TreeOutline.prototype.small setter.

* UserInterface/Views/LayoutTimelineView.css:
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .tree-outline.layout .item .subtitle):
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.layout .item .subtitle): Deleted.
Updated selectors with new tree outline class names.

* UserInterface/Views/LogTreeElement.js:
(WebInspector.LogTreeElement): Deleted.
Removed call to obsolete TreeOutline.prototype.small setter.

* UserInterface/Views/NavigationSidebarPanel.css:
(.navigation-sidebar-panel-content-tree-outline .children): Deleted.
(.navigation-sidebar-panel-content-tree-outline .children.expanded): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item): Deleted.
(.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons > .children): Deleted.
(.navigation-sidebar-panel-content-tree-outline > .children.hide-disclosure-buttons > .children): Deleted.
(.navigation-sidebar-panel-content-tree-outline:not(.hide-disclosure-buttons) .item:not(.parent) .icon): Deleted.
(.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons .item.small): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item .disclosure-button): Deleted.
(.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons .item .disclosure-button): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.parent .disclosure-button): Deleted.
(.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .disclosure-button): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.expanded .disclosure-button): Deleted.
(.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected.expanded .disclosure-button): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item .icon): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item .status): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item .status:empty): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.selected): Deleted.
(.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected): Deleted.
(body.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item .titles): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item .highlighted): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item .titles.no-subtitle): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item .title::after): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item .subtitle): Deleted.
(.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .subtitle): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item .subtitle:empty): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small.two-line): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small .icon): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small .status): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small .status .indeterminate-progress-spinner): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small .titles): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small.two-line .status): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small.two-line .titles): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small.two-line .titles.no-subtitle): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small .subtitle): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small.two-line .icon): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small:not(.two-line) .title::after): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small:not(.two-line) .subtitle::before): Deleted.
Generic tree outline styles removed, cleaned up, and relocated to TreeOutline.css.

* UserInterface/Views/NavigationSidebarPanel.js:
Removed static property HideDisclosureButtonsStyleClassName, which is now
encapsulated by TreeOutline.
(WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline):
Use default TreeOutline DOM element instead of creating it.
(WebInspector.NavigationSidebarPanel): Deleted.
Remove call to generate style rules.
(WebInspector.NavigationSidebarPanel.prototype._generateStyleRulesIfNeeded): Deleted.
Moved to TreeOutline.js.

* UserInterface/Views/NetworkSidebarPanel.css:
(.sidebar > .panel.navigation.network.network-grid-content-view-showing .tree-outline.network-grid .item .subtitle):
(.sidebar > .panel.navigation.network > .content > .tree-outline):
(.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content > .tree-outline):
(.sidebar > .panel.navigation.network.network-grid-content-view-showing .navigation-sidebar-panel-content-tree-outline.network-grid .item .subtitle): Deleted.
(.sidebar > .panel.navigation.network > .content > .navigation-sidebar-panel-content-tree-outline): Deleted.
(.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline): Deleted.
Updated selectors with new tree outline class names.

* UserInterface/Views/NetworkSidebarPanel.js:
(WebInspector.NetworkSidebarPanel):
Disable tree outline disclosure buttons.

* UserInterface/Views/NetworkTimelineView.css:
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .tree-outline.network .item .subtitle):
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.network .item .subtitle): Deleted.
Updated selectors with new tree outline class names.

* UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView):
Disable tree outline disclosure buttons.

* UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:
(.object-tree-array-index .index-value .object-tree .tree-outline.object):
(.object-tree-array-index .index-value .formatted-node .tree-outline.dom):
(.object-tree-array-index .index-value .object-tree .object-tree-outline): Deleted.
(.object-tree-array-index .index-value .formatted-node .dom-tree-outline): Deleted.
Updated selectors with new tree outline class names.

* UserInterface/Views/ObjectTreeBaseTreeElement.js:
(WebInspector.ObjectTreeBaseTreeElement): Deleted.
Removed call to obsolete TreeOutline.prototype.small setter.

* UserInterface/Views/ObjectTreePropertyTreeElement.css:
(.tree-outline .item.object-tree-property):
(.item.object-tree-property.prototype-property):
(.item.object-tree-property.prototype-property + ol):
(.object-tree-property): Deleted.
(.object-tree-property > .titles): Deleted.
(.object-tree-property > .disclosure-button): Deleted.
(.object-tree-property.parent > .disclosure-button): Deleted.
(.object-tree-property.parent.expanded > .disclosure-button): Deleted.
(.object-tree-property > .icon): Deleted.
(.object-tree-property.prototype-property): Deleted.
(.object-tree-property.prototype-property + ol): Deleted.
Updated selectors with new tree outline class names, removed styles which
are now provided by TreeOutline.css.

* UserInterface/Views/ObjectTreeView.css:
(.object-tree .tree-outline.object):
(.object-tree.expanded > .tree-outline.object):
(.tree-outline.object):
(.object-tree.properties-only .tree-outline.object):
(.tree-outline.object li):
(.tree-outline.object ol):
(.tree-outline.object ol.expanded):
(.tree-outline.object li .empty-message):
(.object-tree .object-tree-outline): Deleted.
(.object-tree.expanded > .object-tree-outline): Deleted.
(.object-tree-outline): Deleted.
(.object-tree.properties-only .object-tree-outline): Deleted.
(.object-tree-outline li): Deleted.
(.object-tree-outline ol): Deleted.
(.object-tree-outline ol.expanded): Deleted.
(.object-tree-outline li .empty-message): Deleted.
Updated selectors with new tree outline class names.

* UserInterface/Views/ObjectTreeView.js:
(WebInspector.ObjectTreeView):
Use default TreeOutline DOM element, and simplify element class name.
Enable custom indent (disables generated style rules).

* UserInterface/Views/ProfileNodeTreeElement.js:
(WebInspector.ProfileNodeTreeElement): Deleted.
Removed call to obsolete TreeOutline.prototype.small setter.

* UserInterface/Views/RenderingFrameTimelineView.css:
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .tree-outline.rendering-frame .item:not(.paint-record):not(.layout-record) .subtitle):
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.rendering-frame .item:not(.paint-record):not(.layout-record) .subtitle): Deleted.
Updated selectors with new tree outline class names.

* UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel):
Disable tree outline disclosure buttons.
(WebInspector.ResourceSidebarPanel.prototype._extraDomainsActivated):
Enable tree outline disclosure buttons.

* UserInterface/Views/ScriptTimelineView.css:
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .tree-outline.script .item .subtitle):
(.sidebar > .panel.navigation.timeline:not(.timeline-recording-content-view-showing) .tree-outline.script .item .alternate-subtitle):
(.tree-outline .item .alternate-subtitle):
(.tree-outline:matches(:focus, .force-focus) .item.selected .alternate-subtitle):
(.tree-outline .item.small:not(.two-line) .alternate-subtitle::before):
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.script .item .subtitle): Deleted.
(.sidebar > .panel.navigation.timeline:not(.timeline-recording-content-view-showing) .navigation-sidebar-panel-content-tree-outline.script .item .alternate-subtitle): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item .alternate-subtitle): Deleted.
(.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .alternate-subtitle): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small:not(.two-line) .alternate-subtitle::before): Deleted.
Updated selectors with new tree outline class names.

* UserInterface/Views/SearchResultTreeElement.js:
(WebInspector.SearchResultTreeElement): Deleted.
* UserInterface/Views/SourceCodeTreeElement.js:
(WebInspector.SourceCodeTreeElement): Deleted.
* UserInterface/Views/StorageTreeElement.js:
(WebInspector.StorageTreeElement): Deleted.
Removed call to obsolete TreeOutline.prototype.small setter.

* UserInterface/Views/TimelineDataGrid.css:
(.tree-outline.timeline-data-grid .item:hover):
(.tree-outline.timeline-data-grid .item:hover .subtitle):
(.timeline-data-grid-tree-outline): Deleted.
(.timeline-data-grid-tree-outline .item): Deleted.
(.timeline-data-grid-tree-outline .item .status): Deleted.
(.timeline-data-grid-tree-outline .item .icon): Deleted.
(.timeline-data-grid-tree-outline .item:hover): Deleted.
(.timeline-data-grid-tree-outline .item .titles): Deleted.
(.timeline-data-grid-tree-outline .item .title::after): Deleted.
(.timeline-data-grid-tree-outline .item .subtitle): Deleted.
(.timeline-data-grid-tree-outline .item:hover .subtitle): Deleted.
(.timeline-data-grid-tree-outline .item .subtitle:empty): Deleted.
(.timeline-data-grid-tree-outline .item.small): Deleted.
(.timeline-data-grid-tree-outline .item.small .icon): Deleted.
(.timeline-data-grid-tree-outline .item.small .status): Deleted.
(.timeline-data-grid-tree-outline .item.small .titles): Deleted.
(.timeline-data-grid-tree-outline .item.small .subtitle): Deleted.
(.timeline-data-grid-tree-outline .item.small:not(.two-line) .title::after): Deleted.
(.timeline-data-grid-tree-outline .item.small:not(.two-line) .subtitle::before): Deleted.
Updated selectors with new tree outline class names, removed styles which
are now provided by TreeOutline.css.

* UserInterface/Views/TimelineDataGrid.js:
(WebInspector.TimelineDataGrid.prototype._createPopoverContent):
Use default TreeOutline DOM element, and simplify element class name.

* UserInterface/Views/TimelineRecordTreeElement.js:
(WebInspector.TimelineRecordTreeElement): Deleted.
Removed call to obsolete TreeOutline.prototype.small setter.

* UserInterface/Views/TimelineSidebarPanel.css:
(.sidebar > .panel.navigation.timeline > .timelines-content .close-button): Deleted.
Removed styles which are now provided by TreeOutline.css.

* UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel):
Disable tree outline disclosure buttons, enable large tree style.

* UserInterface/Views/TimelineView.css:
(.panel.navigation.timeline > .content > .tree-outline):
(.panel.navigation.timeline.timeline-recording-content-view-showing > .content > .tree-outline):
(.panel.navigation.timeline > .content > .navigation-sidebar-panel-content-tree-outline): Deleted.
(.panel.navigation.timeline.timeline-recording-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline): Deleted.
Updated selectors with new tree outline class names.

* UserInterface/Views/TreeOutline.css: Added.
(.tree-outline .children):
(.tree-outline .children.expanded):
(.tree-outline .item):
(.tree-outline.compact .item):
(.tree-outline.large .item):
(.tree-outline.hide-disclosure-buttons > .children):
(.tree-outline > .children.hide-disclosure-buttons > .children):
(.tree-outline:not(.hide-disclosure-buttons) .item:not(.parent) .icon):
(.tree-outline .item .disclosure-button):
(.tree-outline.hide-disclosure-buttons .item .disclosure-button):
(.tree-outline .item.parent .disclosure-button):
(.tree-outline:matches(:focus, .force-focus) .item.selected .disclosure-button):
(.tree-outline .item.expanded .disclosure-button):
(.tree-outline:matches(:focus, .force-focus) .item.selected.expanded .disclosure-button):
(.tree-outline .item .icon):
(.tree-outline.compact .item .icon):
(.tree-outline.large .item .icon):
(.tree-outline .item .status):
(.tree-outline.large .item .status):
(.tree-outline .item .status:empty):
(.tree-outline .item.selected):
(.tree-outline:matches(:focus, .force-focus) .item.selected):
(body.window-inactive .tree-outline .item.selected):
(.tree-outline .item .titles):
(.tree-outline.compact .item .titles):
(.tree-outline.large .item .titles):
(.tree-outline .item .highlighted):
(.tree-outline.large .item .titles.no-subtitle):
(.tree-outline .item .title::after):
(.tree-outline .item .subtitle):
(.tree-outline.large .item .subtitle):
(.tree-outline:matches(:focus, .force-focus) .item.selected .subtitle):
(.tree-outline .item .subtitle:empty):
(.tree-outline:not(.large) .item .status .indeterminate-progress-spinner):
(.tree-outline .item .subtitle::before):
Relocated tree outlines styles from NavigationSidebarPanel.css.

* UserInterface/Views/TreeOutline.js:
(WebInspector.TreeOutline):
(WebInspector.TreeOutline.prototype.get compact):
(WebInspector.TreeOutline.prototype.set compact):
(WebInspector.TreeOutline.prototype.get large):
(WebInspector.TreeOutline.prototype.set large):
(WebInspector.TreeOutline.prototype.get disclosureButtons):
(WebInspector.TreeOutline.prototype.set disclosureButtons):
(WebInspector.TreeOutline.prototype.get customIndent):
(WebInspector.TreeOutline.prototype.set customIndent):
Added properties for tree element appearance and indentation
behavior, so clients don't need to manually toggle style classes.
(WebInspector.TreeOutline._generateStyleRulesIfNeeded):
Relocated from NavigationSidebarPanel.js.

* UserInterface/Views/TypeTreeElement.js:
(WebInspector.TypeTreeElement): Deleted.
Removed call to obsolete TreeOutline.prototype.small setter.

* UserInterface/Views/TypeTreeView.css:
(.tree-outline.type):
(.tree-outline.type li):
(.tree-outline.type ol):
(.tree-outline.type ol.expanded):
(.tree-outline.type li .empty-message):
(.type-tree-outline): Deleted.
(.type-tree-outline li): Deleted.
(.type-tree-outline ol): Deleted.
(.type-tree-outline ol.expanded): Deleted.
(.type-tree-outline li .empty-message): Deleted.
Updated selectors with new tree outline class names.

* UserInterface/Views/TypeTreeView.js:
(WebInspector.TypeTreeView):
Use default TreeOutline DOM element, and simplify element class name.

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

4 years ago[EME] Correctly report errors when generating key requests from AVContentKeySession.
jer.noble@apple.com [Tue, 19 Jan 2016 19:37:06 +0000 (19:37 +0000)]
[EME] Correctly report errors when generating key requests from AVContentKeySession.
https://bugs.webkit.org/show_bug.cgi?id=151963

Reviewed by Eric Carlson.

WebIDL's "unsigned long" is a 32-bit unsigned integer, and C++'s "unsigned long" is (or, can
be) a 64-bit integer on 64-bit platforms. Casting a negative integer to a 64-bit integer
results in a number which cannot be accurately stored in a double-length floating point
number. Previously, the mac CDM code would work around this issue by returning the absolute
value of NSError code returned by media frameworks. Instead, fix the underlying problem by
storing the MediaKeyError's systemCode as a uint32_t (which more accurately represents the
size of a WebIDL "unsigned long" on all platforms.)

Check the error code issued by -contentKeyRequestDataForApp:contentIdentifier:options:error:.

* Modules/encryptedmedia/CDM.h:
* Modules/encryptedmedia/CDMSessionClearKey.cpp:
(WebCore::CDMSessionClearKey::generateKeyRequest):
(WebCore::CDMSessionClearKey::update):
* Modules/encryptedmedia/CDMSessionClearKey.h:
* Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::keyRequestTimerFired):
(WebCore::MediaKeySession::addKeyTimerFired):
(WebCore::MediaKeySession::sendError):
* Modules/encryptedmedia/MediaKeySession.h:
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.handleReadyStateChange):
* WebCore.xcodeproj/project.pbxproj:
* html/MediaKeyError.h:
(WebCore::MediaKeyError::create):
(WebCore::MediaKeyError::systemCode):
* html/MediaKeyEvent.h:
* platform/graphics/CDMSession.h:
* platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.h:
* platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
(WebCore::CDMSessionAVContentKeySession::generateKeyRequest):
(WebCore::CDMSessionAVContentKeySession::update):
(WebCore::CDMSessionAVContentKeySession::generateKeyReleaseMessage):
* platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:
(WebCore::CDMSessionAVFoundationObjC::generateKeyRequest):
(WebCore::CDMSessionAVFoundationObjC::update):
* platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.h:
* platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm:
(WebCore::CDMSessionAVStreamSession::generateKeyRequest):
(WebCore::CDMSessionAVStreamSession::update):
(WebCore::CDMSessionAVStreamSession::generateKeyReleaseMessage):
* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
(WebCore::CDMSessionMediaSourceAVFObjC::layerDidReceiveError):
(WebCore::CDMSessionMediaSourceAVFObjC::rendererDidReceiveError):
(WebCore::CDMSessionMediaSourceAVFObjC::systemCodeForError): Deleted.
* testing/MockCDM.cpp:
(WebCore::MockCDMSession::generateKeyRequest):
(WebCore::MockCDMSession::update):2016-01-15  Simon Fraser  <simon.fraser@apple.com>

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

4 years agoModern IDB: Split all storage/indexeddb/mozilla tests into separate HTML + JS format.
beidson@apple.com [Tue, 19 Jan 2016 19:35:31 +0000 (19:35 +0000)]
Modern IDB: Split all storage/indexeddb/mozilla tests into separate HTML + JS format.
https://bugs.webkit.org/show_bug.cgi?id=153237

Reviewed by Sam Weinig.

* storage/indexeddb/mozilla/index-prev-no-duplicate.html:
* storage/indexeddb/mozilla/resources/index-prev-no-duplicate.js: Copied from LayoutTests/storage/indexeddb/mozilla/index-prev-no-duplicate.html.

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

4 years agoAdd support for DataDetectors in WK (iOS).
enrica@apple.com [Tue, 19 Jan 2016 19:34:20 +0000 (19:34 +0000)]
Add support for DataDetectors in WK (iOS).
https://bugs.webkit.org/show_bug.cgi?id=152989
rdar://problem/22855960

Reviewed by Tim Horton.

Source/JavaScriptCore:

Adding feature definition.

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

This is the first step toward implementing Data Detectors support
in WK2. The patch adds a new memeber to the Settings object
to retrieve the type of detection desired. The DataDetection files
have been moved under cocoa, since they are no longer OS X specific.

* Configurations/FeatureDefines.xcconfig:
* Configurations/WebCore.xcconfig:
* WebCore.xcodeproj/project.pbxproj:
* editing/cocoa/DataDetection.h: Copied from Source/WebCore/editing/mac/DataDetection.h.
* editing/cocoa/DataDetection.mm: Copied from Source/WebCore/editing/mac/DataDetection.mm.
(WebCore::detectItemAtPositionWithRange):
(WebCore::DataDetection::detectItemAroundHitTestResult):
(WebCore::DataDetection::detectContentInRange):
* editing/mac/DataDetection.h: Removed.
* editing/mac/DataDetection.mm: Removed.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
* page/Settings.h:
* page/Settings.in:
* platform/spi/mac/DataDetectorsSPI.h:

Source/WebKit/mac:

Adding feature definition for data detection.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

This is the first step toward implementing Data Detectors support
in WK2. The patch adds a new property to the configuration
object to indicate the type of detection desired and propagates
to the WebProcess.

* Configurations/FeatureDefines.xcconfig:
* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
* UIProcess/API/Cocoa/WKWebViewConfiguration.h:
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration copyWithZone:]):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebPage/Cocoa/WebPageCocoa.mm: Added.
(WebKit::WebPage::fromWKDataDetectorTypes):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/WebPage.h:

Source/WTF:

Adding feature definition for data detection.

* wtf/FeatureDefines.h:

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

4 years agoModern IDB: Split all storage/indexeddb tests into separate HTML + JS format.
beidson@apple.com [Tue, 19 Jan 2016 19:32:06 +0000 (19:32 +0000)]
Modern IDB: Split all storage/indexeddb tests into separate HTML + JS format.
https://bugs.webkit.org/show_bug.cgi?id=153178

Reviewed by Sam Weinig.

* storage/indexeddb/clone-exception.html:
* storage/indexeddb/closed-cursor.html:
* storage/indexeddb/connection-leak.html:
* storage/indexeddb/cursor-cast.html:
* storage/indexeddb/cursor-leak.html:
* storage/indexeddb/cursor-overloads.html:
* storage/indexeddb/cursor-request-cycle.html:
* storage/indexeddb/deleteIndex-bug110792.html:
* storage/indexeddb/deletedatabase-transaction.html:
* storage/indexeddb/metadata-race.html:
* storage/indexeddb/noblobs.html:
* storage/indexeddb/object-lookups-in-versionchange.html:
* storage/indexeddb/open-bad-versions.html:
* storage/indexeddb/optional-arguments.html:
* storage/indexeddb/prefetch-invalidation.html:
* storage/indexeddb/prefetch-race.html:
* storage/indexeddb/primary-key-unique-to-objectstore.html:
* storage/indexeddb/request-leak.html:
* storage/indexeddb/request-result-cache.html:
* storage/indexeddb/resources/clone-exception.js: Copied from LayoutTests/storage/indexeddb/clone-exception.html.
* storage/indexeddb/resources/closed-cursor.js: Copied from LayoutTests/storage/indexeddb/closed-cursor.html.
* storage/indexeddb/resources/connection-leak.js: Copied from LayoutTests/storage/indexeddb/connection-leak.html.
* storage/indexeddb/resources/cursor-cast.js: Copied from LayoutTests/storage/indexeddb/cursor-cast.html.
* storage/indexeddb/resources/cursor-leak.js: Copied from LayoutTests/storage/indexeddb/cursor-leak.html.
* storage/indexeddb/resources/cursor-overloads.js: Copied from LayoutTests/storage/indexeddb/cursor-overloads.html.
* storage/indexeddb/resources/cursor-request-cycle.js: Copied from LayoutTests/storage/indexeddb/cursor-request-cycle.html.
* storage/indexeddb/resources/deleteIndex-bug110792.js: Copied from LayoutTests/storage/indexeddb/deleteIndex-bug110792.html.
* storage/indexeddb/resources/deletedatabase-transaction.js: Copied from LayoutTests/storage/indexeddb/deletedatabase-transaction.html.
* storage/indexeddb/resources/metadata-race.js: Copied from LayoutTests/storage/indexeddb/metadata-race.html.
* storage/indexeddb/resources/noblobs.js: Copied from LayoutTests/storage/indexeddb/noblobs.html.
* storage/indexeddb/resources/object-lookups-in-versionchange.js: Copied from LayoutTests/storage/indexeddb/object-lookups-in-versionchange.html.
* storage/indexeddb/resources/open-bad-versions.js: Copied from LayoutTests/storage/indexeddb/open-bad-versions.html.
* storage/indexeddb/resources/optional-arguments.js: Copied from LayoutTests/storage/indexeddb/optional-arguments.html.
* storage/indexeddb/resources/prefetch-invalidation.js: Copied from LayoutTests/storage/indexeddb/prefetch-invalidation.html.
* storage/indexeddb/resources/prefetch-race.js: Copied from LayoutTests/storage/indexeddb/prefetch-race.html.
* storage/indexeddb/resources/primary-key-unique-to-objectstore.js: Copied from LayoutTests/storage/indexeddb/primary-key-unique-to-objectstore.html.
* storage/indexeddb/resources/request-leak.js: Copied from LayoutTests/storage/indexeddb/request-leak.html.
* storage/indexeddb/resources/request-result-cache.js: Copied from LayoutTests/storage/indexeddb/request-result-cache.html.
* storage/indexeddb/resources/structured-clone.js: Copied from LayoutTests/storage/indexeddb/structured-clone.html.
* storage/indexeddb/resources/transaction-complete-with-js-recursion-cross-frame.js: Copied from LayoutTests/storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html.
* storage/indexeddb/resources/transaction-complete-with-js-recursion.js: Copied from LayoutTests/storage/indexeddb/transaction-complete-with-js-recursion.html.
* storage/indexeddb/resources/transaction-crash-in-tasks.js: Copied from LayoutTests/storage/indexeddb/transaction-crash-in-tasks.html.
* storage/indexeddb/resources/transaction-ordering.js: Copied from LayoutTests/storage/indexeddb/transaction-ordering.html.
* storage/indexeddb/resources/transaction-overlapping.js: Copied from LayoutTests/storage/indexeddb/transaction-overlapping.html.
* storage/indexeddb/resources/version-change-event-basic.js: Copied from LayoutTests/storage/indexeddb/version-change-event-basic.html.
* storage/indexeddb/resources/version-change-event.js: Copied from LayoutTests/storage/indexeddb/version-change-event.html.
* storage/indexeddb/structured-clone.html:
* storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html:
* storage/indexeddb/transaction-complete-with-js-recursion.html:
* storage/indexeddb/transaction-crash-in-tasks.html:
* storage/indexeddb/transaction-ordering.html:
* storage/indexeddb/transaction-overlapping.html:
* storage/indexeddb/transaction-starvation.html:
* storage/indexeddb/version-change-event-basic.html:
* storage/indexeddb/version-change-event.html:

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

4 years agoFTL B3 should be just as fast as FTL LLVM on Octane/crypto
fpizlo@apple.com [Tue, 19 Jan 2016 19:20:35 +0000 (19:20 +0000)]
FTL B3 should be just as fast as FTL LLVM on Octane/crypto
https://bugs.webkit.org/show_bug.cgi?id=153113

Reviewed by Saam Barati.

Source/JavaScriptCore:

This is the result of a hacking rampage to close the gap between FTL B3 and FTL LLVM on
Octane/crypto. It was a very successful rampage.

The biggest change in this patch is the introduction of a phase called fixObviousSpills()
that fixes patterns like:

Store register to stack slot and then use stack slot:
    Move %rcx, (stack42)
    Foo use:(stack42) // replace (stack42) with %rcx here.

Load stack slot into register and then use stack slot:
    Move (stack42), %rcx
    Foo use:(stack42) // replace (stack42) with %rcx here.

Store constant into stack slot and then use stack slot:
    Move $42, %rcx
    Move %rcx, (stack42)
    Bar def:%rcx // %rcx isn't available anymore, but we still know that (stack42) is $42
    Foo use:(stack42) // replace (stack42) with $42 here.

This phases does these fixups by doing a global forward flow that propagates sets of
must-aliases.

Also added a phase to report register pressure. It pretty-prints code alongside the set of
in-use registers above each instruction. Using this phase, I found that our register
allocator is actually doing a pretty awesome job. I had previously feared that we'd have to
make substantial changes to register allocation. I don't have such a fear anymore, at least
for Octane/crypto. In the future, we can check how the regalloc is performing just by
enabling logAirRegisterPressure.

Also fixed some FTL codegen pathologies. We were using bitOr where we meant to use a
conditional or. LLVM likes to canonicalize boolean expressions this way. B3, on the other
hand, doesn't do this canonicalization and doesn't have logic to decompose it into sequences
of branches.

Also added strength reductions for checked arithmetic. It turns out that LLVM learned how to
reduce checked multiply to unchecked multiply in some obvious cases that our existing DFG
optimizations lacked. Ideally, our DFG integer range optimization phase would cover this. But
the cases of interest were dead simple - the incoming values to the CheckMul were obviously
too small to cause overflow. I added such reasoning to B3's strength reduction.

Finally, this fixes some bugs with how we were handling subwidth spill slots. The register
allocator was making two mistakes. First, it might cause a Width64 def or use of a 4-byte
spill slot. In that case, it would extend the size of the spill slot to ensure that the use
or def is safe. Second, it emulates ZDef on Tmp behavior by emitting a Move32 to initialize
the high bits of a spill slot. But this is unsound because of the liveness semantics of spill
slots. They cannot have more than one def to initialize their value. I fixed that by making
allocateStack() be the thing that fixes ZDefs. That's a change to ZDef semantics: now, ZDef
on an anonymous stack slot means that the high bits are zero-filled. I wasn't able to
construct a test for this. It might be a hypothetical bug, but still, I like how this
simplifies the register allocator.

This is a ~0.7% speed-up on Octane.

* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* b3/B3CheckSpecial.cpp:
(JSC::B3::CheckSpecial::hiddenBranch):
(JSC::B3::CheckSpecial::forEachArg):
(JSC::B3::CheckSpecial::commitHiddenBranch): Deleted.
* b3/B3CheckSpecial.h:
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::fillStackmap):
(JSC::B3::Air::LowerToAir::lower):
* b3/B3StackmapValue.h:
* b3/air/AirAllocateStack.cpp:
(JSC::B3::Air::allocateStack):
* b3/air/AirAllocateStack.h:
* b3/air/AirArg.h:
(JSC::B3::Air::Arg::callArg):
(JSC::B3::Air::Arg::stackAddr):
(JSC::B3::Air::Arg::isValidScale):
* b3/air/AirBasicBlock.cpp:
(JSC::B3::Air::BasicBlock::deepDump):
(JSC::B3::Air::BasicBlock::dumpHeader):
(JSC::B3::Air::BasicBlock::dumpFooter):
* b3/air/AirBasicBlock.h:
* b3/air/AirCCallSpecial.cpp:
(JSC::B3::Air::CCallSpecial::CCallSpecial):
(JSC::B3::Air::CCallSpecial::~CCallSpecial):
* b3/air/AirCode.h:
(JSC::B3::Air::Code::lastPhaseName):
(JSC::B3::Air::Code::setEnableRCRS):
(JSC::B3::Air::Code::enableRCRS):
* b3/air/AirCustom.cpp:
(JSC::B3::Air::PatchCustom::isValidForm):
(JSC::B3::Air::CCallCustom::isValidForm):
* b3/air/AirCustom.h:
(JSC::B3::Air::PatchCustom::isValidFormStatic):
(JSC::B3::Air::PatchCustom::admitsStack):
(JSC::B3::Air::PatchCustom::isValidForm): Deleted.
* b3/air/AirEmitShuffle.cpp:
(JSC::B3::Air::ShufflePair::dump):
(JSC::B3::Air::createShuffle):
(JSC::B3::Air::emitShuffle):
* b3/air/AirEmitShuffle.h:
* b3/air/AirFixObviousSpills.cpp: Added.
(JSC::B3::Air::fixObviousSpills):
* b3/air/AirFixObviousSpills.h: Added.
* b3/air/AirFixSpillSlotZDef.h: Removed.
* b3/air/AirGenerate.cpp:
(JSC::B3::Air::prepareForGeneration):
(JSC::B3::Air::generate):
* b3/air/AirHandleCalleeSaves.cpp:
(JSC::B3::Air::handleCalleeSaves):
* b3/air/AirInst.h:
* b3/air/AirInstInlines.h:
(JSC::B3::Air::Inst::reportUsedRegisters):
(JSC::B3::Air::Inst::admitsStack):
(JSC::B3::Air::isShiftValid):
* b3/air/AirIteratedRegisterCoalescing.cpp:
* b3/air/AirLiveness.h:
(JSC::B3::Air::AbstractLiveness::AbstractLiveness):
(JSC::B3::Air::AbstractLiveness::LocalCalc::Iterable::begin):
(JSC::B3::Air::AbstractLiveness::LocalCalc::Iterable::end):
(JSC::B3::Air::AbstractLiveness::LocalCalc::Iterable::contains):
(JSC::B3::Air::AbstractLiveness::LocalCalc::live):
(JSC::B3::Air::AbstractLiveness::LocalCalc::isLive):
(JSC::B3::Air::AbstractLiveness::LocalCalc::execute):
(JSC::B3::Air::AbstractLiveness::rawLiveAtHead):
(JSC::B3::Air::AbstractLiveness::Iterable::begin):
(JSC::B3::Air::AbstractLiveness::Iterable::end):
(JSC::B3::Air::AbstractLiveness::Iterable::contains):
(JSC::B3::Air::AbstractLiveness::liveAtTail):
(JSC::B3::Air::AbstractLiveness::workset):
* b3/air/AirLogRegisterPressure.cpp: Added.
(JSC::B3::Air::logRegisterPressure):
* b3/air/AirLogRegisterPressure.h: Added.
* b3/air/AirOptimizeBlockOrder.cpp:
(JSC::B3::Air::blocksInOptimizedOrder):
(JSC::B3::Air::optimizeBlockOrder):
* b3/air/AirOptimizeBlockOrder.h:
* b3/air/AirReportUsedRegisters.cpp:
(JSC::B3::Air::reportUsedRegisters):
* b3/air/AirReportUsedRegisters.h:
* b3/air/AirSpillEverything.cpp:
(JSC::B3::Air::spillEverything):
* b3/air/AirStackSlot.h:
(JSC::B3::Air::StackSlot::isLocked):
(JSC::B3::Air::StackSlot::index):
(JSC::B3::Air::StackSlot::ensureSize):
(JSC::B3::Air::StackSlot::alignment):
* b3/air/AirValidate.cpp:
* ftl/FTLB3Compile.cpp:
(JSC::FTL::compile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithMul):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithDiv):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithMod):
* jit/RegisterSet.h:
(JSC::RegisterSet::get):
(JSC::RegisterSet::setAll):
(JSC::RegisterSet::merge):
(JSC::RegisterSet::filter):
* runtime/Options.h:

Source/WTF:

* wtf/IndexSparseSet.h:
(WTF::IndexSparseSet<OverflowHandler>::IndexSparseSet):
(WTF::IndexSparseSet<OverflowHandler>::add):
(WTF::IndexSparseSet<OverflowHandler>::remove):
* wtf/StringPrintStream.h:
(WTF::StringPrintStream::length):

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

4 years agoUnreviewed, undo unintended commit.
fpizlo@apple.com [Tue, 19 Jan 2016 18:35:33 +0000 (18:35 +0000)]
Unreviewed, undo unintended commit.

* dfg/DFGCommon.h:

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

4 years agoFix Air shuffling assertions
fpizlo@apple.com [Tue, 19 Jan 2016 18:34:19 +0000 (18:34 +0000)]
Fix Air shuffling assertions
https://bugs.webkit.org/show_bug.cgi?id=153213

Reviewed by Saam Barati.

Fixes some assertions that I was seeing running JSC tests. Adds a new Air test.

* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::store8):
(JSC::MacroAssemblerX86Common::getUnusedRegister):
* b3/air/AirEmitShuffle.cpp:
(JSC::B3::Air::emitShuffle):
* b3/air/AirLowerAfterRegAlloc.cpp:
(JSC::B3::Air::lowerAfterRegAlloc):
* b3/air/testair.cpp:
(JSC::B3::Air::testShuffleRotateWithFringe):
(JSC::B3::Air::testShuffleRotateWithFringeInWeirdOrder):
(JSC::B3::Air::testShuffleRotateWithLongFringe):
(JSC::B3::Air::run):

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

4 years agoUnreviewed, rolling out r187471.
commit-queue@webkit.org [Tue, 19 Jan 2016 18:21:26 +0000 (18:21 +0000)]
Unreviewed, rolling out r187471.
https://bugs.webkit.org/show_bug.cgi?id=153236

purportedly caused a significant memory regression and want to
see if that is true (Requested by thorton on #webkit).

Reverted changeset:

"First in-window viewStateChange synchronously blocks despite
not previously being in-window"
https://bugs.webkit.org/show_bug.cgi?id=147344
http://trac.webkit.org/changeset/187471

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

4 years agoUnreviewed, fix typo in comment added in r195157.
cdumez@apple.com [Tue, 19 Jan 2016 17:50:17 +0000 (17:50 +0000)]
Unreviewed, fix typo in comment added in r195157.

* dom/DocumentType.h:

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

4 years agoSelector checker should not mutate document and style
antti@apple.com [Tue, 19 Jan 2016 17:39:20 +0000 (17:39 +0000)]
Selector checker should not mutate document and style
https://bugs.webkit.org/show_bug.cgi?id=153205

Reviewed by Darin Adler.

Selector checker currently writes affected-by bits and similar directly to the document and style during selector
matching. This is confusing, complicated and wrong.

This patch changes SelectorChecker and SelectorCompiler to collect style relatationship metadata to a separate
data structure (currently part of SelectorChecker::CheckingContext) instead of changing the document and style
directly. The mutations are performed later outside selector checker.

* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::ruleMatches):
(WebCore::ElementRuleCollector::commitStyleRelations):

    Apply the relationship bit to elements and style.

(WebCore::ElementRuleCollector::collectMatchingRulesForList):
* css/ElementRuleCollector.h:
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::LocalContext::LocalContext):

    LocalContext is now a separate data structure.

(WebCore::addStyleRelation):

    Helper for recording new style relations. This is used where code mutated elements or style directly before.

(WebCore::isFirstChildElement):
(WebCore::isLastChildElement):
(WebCore::isFirstOfType):
(WebCore::isLastOfType):
(WebCore::countElementsBefore):
(WebCore::countElementsOfTypeBefore):
(WebCore::SelectorChecker::SelectorChecker):
(WebCore::SelectorChecker::match):
(WebCore::hasScrollbarPseudoElement):
(WebCore::localContextForParent):
(WebCore::SelectorChecker::matchRecursively):
(WebCore::attributeValueMatches):
(WebCore::anyAttributeMatches):
(WebCore::canMatchHoverOrActiveInQuirksMode):
(WebCore::tagMatches):
(WebCore::SelectorChecker::checkOne):
(WebCore::SelectorChecker::matchSelectorList):
(WebCore::SelectorChecker::checkScrollbarPseudoClass):
(WebCore::SelectorChecker::CheckingContextWithStatus::CheckingContextWithStatus): Deleted.
(WebCore::checkingContextForParent): Deleted.
* css/SelectorChecker.h:
(WebCore::SelectorChecker::CheckingContext::CheckingContext):
* css/SelectorCheckerTestFunctions.h:
(WebCore::isEnabled):
(WebCore::isMediaDocument):
(WebCore::isChecked):
(WebCore::isInRange):
(WebCore::isOutOfRange):
* css/StyleResolver.h:
(WebCore::checkRegionSelector):
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAddStyleRelationIfResolvingStyle):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAddStyleRelation):

    Helpers for generating code for recording new style relations. This is used where code mutated elements or style directly before.

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorCheckerExcludingPseudoElements):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
(WebCore::SelectorCompiler::addStyleRelationElementFunction):
(WebCore::SelectorCompiler::SelectorCodeGenerator::jumpIfNoPreviousAdjacentElement):
(WebCore::SelectorCompiler::SelectorCodeGenerator::moduloIsZero):
(WebCore::SelectorCompiler::SelectorCodeGenerator::linkFailures):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateContextFunctionCallTest):
(WebCore::SelectorCompiler::elementIsActive):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsActive):
(WebCore::SelectorCompiler::jumpIfElementIsNotEmpty):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsEmpty):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstChild):
(WebCore::SelectorCompiler::elementIsHovered):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsHovered):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsInLanguage):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsLastChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsOnlyChild):
(WebCore::SelectorCompiler::makeContextStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
(WebCore::SelectorCompiler::isPlaceholderShown):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPlaceholderShown):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsLink):
(WebCore::SelectorCompiler::nthFilterIsAlwaysSatisified):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChildOf):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthLastChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthLastChildOf):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateMarkPseudoStyleForPseudoElement):
(WebCore::SelectorCompiler::SelectorCodeGenerator::addFlagsToElementStyleFromContext): Deleted.
(WebCore::SelectorCompiler::setNodeFlag): Deleted.
(WebCore::SelectorCompiler::SelectorCodeGenerator::markElementIfResolvingStyle): Deleted.
(WebCore::SelectorCompiler::setFirstChildState): Deleted.
(WebCore::SelectorCompiler::elementIsActiveForStyleResolution): Deleted.
(WebCore::SelectorCompiler::setElementStyleIsAffectedByEmpty): Deleted.
(WebCore::SelectorCompiler::setElementStyleFromContextIsAffectedByEmptyAndUpdateRenderStyleIfNecessary): Deleted.
(WebCore::SelectorCompiler::elementIsHoveredForStyleResolution): Deleted.
(WebCore::SelectorCompiler::setLastChildState): Deleted.
(WebCore::SelectorCompiler::setOnlyChildState): Deleted.
(WebCore::SelectorCompiler::makeElementStyleUniqueIfNecessaryAndTestIsPlaceholderShown): Deleted.
(WebCore::SelectorCompiler::setElementChildIndex): Deleted.
(WebCore::SelectorCompiler::setChildrenAffectedByBackwardPositionalRules): Deleted.
(WebCore::SelectorCompiler::setParentAffectedByLastChildOf): Deleted.
* dom/SelectorQuery.cpp:
(WebCore::SelectorDataList::selectorMatches):
(WebCore::SelectorDataList::selectorClosest):
(WebCore::SelectorDataList::matches):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
* inspector/InspectorStyleSheet.cpp:
(WebCore::buildObjectForSelectorHelper):

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

4 years agoUnreviewed. Fix GTK+ build with GTK+ < 3.14.
carlosgc@webkit.org [Tue, 19 Jan 2016 17:06:35 +0000 (17:06 +0000)]
Unreviewed. Fix GTK+ build with GTK+ < 3.14.

Flags GTK_ICON_LOOKUP_DIR_LTR and GTK_ICON_LOOKUP_DIR_RTL were
added in GTK+ 3.14.

* rendering/RenderThemeGtk.cpp:
(WebCore::loadThemedIcon):

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

4 years ago[mips] Logical instructions allow immediates in range 0..0xffff, not 0x7fff
commit-queue@webkit.org [Tue, 19 Jan 2016 17:03:13 +0000 (17:03 +0000)]
[mips] Logical instructions allow immediates in range 0..0xffff, not 0x7fff
https://bugs.webkit.org/show_bug.cgi?id=152693

Patch by Konstantin Tokarev <annulen@yandex.ru> on 2016-01-19
Reviewed by Michael Saboff.

* offlineasm/mips.rb:

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

4 years agoUnreviewed. Fix GObject DOM bindings API break after r195264.
carlosgc@webkit.org [Tue, 19 Jan 2016 17:00:47 +0000 (17:00 +0000)]
Unreviewed. Fix GObject DOM bindings API break after r195264.

Add webkit_dom_character_data_set_data to the list of functions
that used to raise exceptions.

* bindings/scripts/CodeGeneratorGObject.pm:
(FunctionUsedToRaiseException):

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

4 years ago[GTK] Runtime critical warnings when loading a URL after a session restore
carlosgc@webkit.org [Tue, 19 Jan 2016 16:49:58 +0000 (16:49 +0000)]
[GTK] Runtime critical warnings when loading a URL after a session restore
https://bugs.webkit.org/show_bug.cgi?id=153233

Reviewed by Michael Catanzaro.

Source/WebKit2:

This happens when doing a normal load after restoring the back
forward list from session state and the list contained forward
items. In that case the forward items are removed from the list
and we try to reference a WebBackForwardListItem wrapper that
hasn't been created. We create the wrappers on demand, and when
the back forward list is populated from session state, items are
added to the list without creating their wrappers. That was not
possible before, and that's why we assumed that any item that is
removed from the list should have a wrapper already created.

* UIProcess/API/gtk/WebKitBackForwardList.cpp:
(webkitBackForwardListChanged): If we don't have a wrapper for the
removed item, create a new one to be passed to the signal, but
without adding it to the map.

Tools:

Add new test case.

* TestWebKitAPI/Tests/WebKit2Gtk/TestBackForwardList.cpp:
(viewLoadChanged):
(testWebKitWebViewNavigationAfterSessionRestore):
(beforeAll):

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

4 years ago[GTK] Remove jhbuild-optional.modules
mcatanzaro@igalia.com [Tue, 19 Jan 2016 15:40:41 +0000 (15:40 +0000)]
[GTK] Remove jhbuild-optional.modules
https://bugs.webkit.org/show_bug.cgi?id=152964

Reviewed by Alex Christensen.

* gtk/jhbuild-optional.modules: Removed.
* gtk/jhbuild.modules:

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

4 years ago[GTK] Add support to load/save session in MiniBrowser
carlosgc@webkit.org [Tue, 19 Jan 2016 13:15:59 +0000 (13:15 +0000)]
[GTK] Add support to load/save session in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=153201

Reviewed by Michael Catanzaro.

It makes it easier to test the new WebView session API.

* MiniBrowser/gtk/BrowserWindow.c:
(browserWindowFinalize): Free the session file path.
(browserWindowSaveSession): Save the current WebView session if
there's a session file path.
(browserWindowDeleteEvent): Call browserWindowSaveSession().
(browser_window_load_session): Try to load the session from the
given file path, otherwise fall back to homepage and keep the
session file to save the session on window close.
* MiniBrowser/gtk/BrowserWindow.h:
* MiniBrowser/gtk/main.c:
(createBrowserWindow): Pass the given session file path when
shouldLoadSession is TRUE.
(main): Only allow to restore/save session when MiniBrowser is
launched without URL arguments.

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

4 years agoUnreviewed. Fix GTK+ test /webkit2/WebKitWebView/geolocation-permission-requests...
carlosgc@webkit.org [Tue, 19 Jan 2016 13:14:17 +0000 (13:14 +0000)]
Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/geolocation-permission-requests after r195075.

Geolocation is no longer allowed for unique origins after r195075.

* TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:
(testWebViewGeolocationPermissionRequests):

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

4 years ago[css-grid][css-align] justify-self stretch is not applied for img elements
jfernandez@igalia.com [Tue, 19 Jan 2016 11:36:11 +0000 (11:36 +0000)]
[css-grid][css-align] justify-self stretch is not applied for img elements
https://bugs.webkit.org/show_bug.cgi?id=153206

Reviewed by Darin Adler.

Source/WebCore:

When computing the logical height, we check first if there is an override
height value set as a consequence of the stretching logic, so we use it
directly for any kind of element. However, in the case of the width
computation, we don't use such override value because it's the default
behavior of block-level boxes.

However, we consider some special cases which have to be treated as
replaced elements. Theses cases are evaluated first, so we don't let the
regular width computation logic to be executed, which is what we want
to implement the stretch behavior.

In order to let replaced elements, such images, to be stretched as a
consequence of the CSS alignment properties, we need to exclude grid
items from the cases to be treated as replaced elements during the width
computation.

Test: fast/css-grid-layout/grid-align-stretching-replaced-items.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalWidthInRegion):
(WebCore::RenderBox::hasStretchedLogicalWidth):
(WebCore::RenderBox::sizesLogicalWidthToFitContent):
* rendering/RenderBox.h:

LayoutTests:

Test to verify Replaced Elements, like images, are stretched in the inline
axis, when fulfilling the Box Alignment restrictions on this regard.

* fast/css-grid-layout/grid-align-stretching-replaced-items-expected.txt: Added.
* fast/css-grid-layout/grid-align-stretching-replaced-items.html: Added.

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

4 years agoText::splitText doesn't update Range end points anchored on parent nodes
rniwa@webkit.org [Tue, 19 Jan 2016 10:47:11 +0000 (10:47 +0000)]
Text::splitText doesn't update Range end points anchored on parent nodes
https://bugs.webkit.org/show_bug.cgi?id=153227

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Rebaseline the test now that we're passing more test cases.

* web-platform-tests/dom/ranges/Range-mutations-expected.txt:

Source/WebCore:

When a Text node is split into two and there is a Range whose boundary points' container node
is its parent and offset appears after the Text node, we must update the boundary points as specified
in step 7 of the concept "split" a Text node at https://dom.spec.whatwg.org/#concept-text-split

1. Insert new node into parent before node’s next sibling.
2. For each range whose start node is node and start offset is greater than offset, set its start node
   to new node and decrease its start offset by offset.
3. For each range whose end node is node and end offset is greater than offset, set its end node to
   new node and decrease its end offset by offset.
4. For each range whose start node is parent and start offset is equal to the index of node + 1,
   increase its start offset by one.
5. For each range whose end node is parent and end offset is equal to the index of node + 1, increase
   its end offset by one.

Fixed the bug by implementing steps 4 and 5 in boundaryTextNodesSplit. New behavior matches the DOM spec
as well as the behavior of Firefox.

Test: fast/dom/Range/update-range-in-split-text.html

* dom/Range.cpp:
(WebCore::boundaryTextNodesSplit): See above.
* dom/RangeBoundaryPoint.h:
(WebCore::RangeBoundaryPoint::setToAfterChild): Added.

LayoutTests:

Added a regression test since the rebaselined W3C test is incomprehensible.

* fast/dom/Range/update-range-in-split-text-expected.txt: Added.
* fast/dom/Range/update-range-in-split-text.html: Added.

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

4 years agoCharacterData::setData doesn't need ExceptionCode as an out argument
rniwa@webkit.org [Tue, 19 Jan 2016 08:58:49 +0000 (08:58 +0000)]
CharacterData::setData doesn't need ExceptionCode as an out argument
https://bugs.webkit.org/show_bug.cgi?id=153225

Reviewed by Antti Koivisto.

Source/WebCore:

Removed the ExceptionCode out argument from CharacterData::setData since it's never used.

* dom/CharacterData.cpp:
(WebCore::CharacterData::setData):
(WebCore::CharacterData::containsOnlyWhitespace):
(WebCore::CharacterData::setNodeValue):
(WebCore::CharacterData::setDataAndUpdate):
* dom/CharacterData.h:
(WebCore::CharacterData::data):
(WebCore::CharacterData::dataMemoryOffset):
(WebCore::CharacterData::length):
* dom/CharacterData.idl:
* dom/Range.cpp:
(WebCore::Range::processContentsBetweenOffsets):
* dom/Text.cpp:
(WebCore::Text::replaceWholeText):
* editing/markup.cpp:
(WebCore::replaceChildrenWithFragment):
(WebCore::replaceChildrenWithText):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::setText):
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::setText):
* html/HTMLTitleElement.cpp:
(WebCore::HTMLTitleElement::setText):

Source/WebKit2:

* WebProcess/InjectedBundle/API/mac/WKDOMText.mm:
(-[WKDOMText setData:]):

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

4 years agoinnerHTML should always add a mutation record for removing all children
rniwa@webkit.org [Tue, 19 Jan 2016 08:39:44 +0000 (08:39 +0000)]
innerHTML should always add a mutation record for removing all children
https://bugs.webkit.org/show_bug.cgi?id=148782
<rdar://problem/22571962>

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Rebaseline a test now that all test test cases are passing.

* web-platform-tests/dom/nodes/MutationObserver-inner-outer-expected.txt:

Source/WebCore:

Fixed the bug by disabling WebKit's optimization to avoid the node replacement when the behavior
is observable to scripts by either:
 - Author scripts has a reference to the node
 - MutationObserver can be observing this subtree
 - Mutation events can be observing this subtree

Note that no caller of this function exposes fragment to author scripts so it couldn't be referenced.
It also means that we don't need to check DOMNodeInsertedIntoDocument since it doesn't bubble up
(it's only relevant if the text node in fragment has its event listener but that's impossible).

Test: fast/dom/innerHTML-single-text-node.html

* dom/ChildListMutationScope.h:
(WebCore::ChildListMutationScope::canObserve): Added.

* editing/markup.cpp:
(WebCore::hasMutationEventListeners): Added.
(WebCore::replaceChildrenWithFragment):

LayoutTests:

Add a more comprehensive test for replacing a single text node with innerHTML's setter to ensure
WebKit's optimization to avoid replacing the node should not be observable by scripts in any way.

* fast/dom/innerHTML-single-text-node-expected.txt: Added.
* fast/dom/innerHTML-single-text-node.html: Added.

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

4 years agocreateAttribute should lowercase the attribute name in a HTML document
rniwa@webkit.org [Tue, 19 Jan 2016 07:37:32 +0000 (07:37 +0000)]
createAttribute should lowercase the attribute name in a HTML document
https://bugs.webkit.org/show_bug.cgi?id=153112

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline a test now that it's passing all test cases.

* web-platform-tests/dom/nodes/Document-createAttribute-expected.txt:

Source/WebCore:

In a HTML document, we should always lowercase localName in document.createAttribute as specified in
https://dom.spec.whatwg.org/#dom-document-createattribute:

1. If localName does not match the Name production in XML, throw an InvalidCharacterError exception.
2. If the context object is an HTML document, let localName be converted to ASCII lowercase.
3. Return a new attribute whose local name is localName.

Change WebKit's behavior to match the spec as well as Firefox. document.createAttributeNS will
continue to preserve the case as spec'ed.

No new tests are added since the behavior change is covered by existing tests.

* dom/Document.cpp:
(WebCore::Document::createAttribute):

LayoutTests:

Update tests, rebaseline tests, and add more test cases as needed.

createAttribute lowercases localName and getAttributeNode finds attribute ignoring cases
whereas createAttributeNS preserves localName's case and getAttributeNodeNS finds attribute preserving cases

* fast/dom/Element/mozilla-dom-base-tests/test_bug1075702-expected.txt: Since the test is adding "aa" as well
as "AA" as Attr nodes, we should be able to get both.
* fast/dom/Element/mozilla-dom-base-tests/test_bug1075702.xhtml: Renamed from .html file since test cases here
are more relevant for XHTML documents.

* fast/dom/Element/getAttribute-check-case-sensitivity-expected.txt:
* fast/dom/Element/script-tests/getAttribute-check-case-sensitivity.js:
(testGetAttributeNodeMixedCase): Change the test case to retrieve the attribute name with lowercase name
since createAttribute always lowercases the name in a HTML document.
(testAttribNodeNamePreservesCase): Use getAttributeNode instead of getAttributeNodeNS since the former does
case insensitive lookup as needed here.
(testAttribNodeNamePreservesCaseGetNode): Ditto.
(testAttribNodeNamePreservesCaseGetNode2): Ditto. Use createAttributeNS to create a case-preserving Attr node.

* fast/dom/Element/setAttributeNode-case-insensitivity-expected.txt:
* fast/dom/Element/setAttributeNode-case-insensitivity.html: Since getAttributeNode does a case-insensitive
lookup, we should be getting the same Attr node for both 'style' and 'STYLE'.

* fast/dom/Element/setAttributeNode-for-existing-attribute-expected.txt: Rebaselined. This is a progression
since we're now getting "green" when querying style.backgroundColor as expected.

* fast/dom/Element/setAttributeNode-overriding-lowercase-values-1-expected.txt:
* fast/dom/Element/setAttributeNode-overriding-lowercase-values-1.html: Updated test cases for new behavior.

* fast/dom/Element/setAttributeNode-overriding-lowercase-values-1-xml-expected.txt: Added.
* fast/dom/Element/setAttributeNode-overriding-lowercase-values-1-xml.xhtml: Added. Test behaviors in a XML
document.

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

4 years agoModern IDB: Add private-browsing variant for many IDB tests, and enable private brows...
beidson@apple.com [Tue, 19 Jan 2016 06:02:30 +0000 (06:02 +0000)]
Modern IDB: Add private-browsing variant for many IDB tests, and enable private browsing in Modern IDB.
https://bugs.webkit.org/show_bug.cgi?id=153179

Reviewed by Darin Adler.

Source/WebCore:

Tests: Many private-browsing copies of existing IDB tests.

* Modules/indexeddb/client/IDBFactoryImpl.cpp:
(WebCore::IDBClient::shouldThrowSecurityException): Allow IDB access in private browsing.

LayoutTests:

Update many expectations files to skip some of the new tests on some platforms:
* TestExpectations:
* platform/mac-wk1/TestExpectations:
* platform/wk2/TestExpectations:

Add a special case for URLs that end with "-private.html" to enable private browsing:
* resources/js-test.js:

Add a whole bunch of -private.html wrappers along with new test expectations, along
with some minor test changes to remove unnecessary ambiguity due to .html filename:
* storage/indexeddb/aborted-versionchange-closes-private-expected.txt: Added.
* storage/indexeddb/aborted-versionchange-closes-private.html: Added.
* storage/indexeddb/basics-private-expected.txt: Added.
* storage/indexeddb/basics-private.html: Added.
* storage/indexeddb/create-and-remove-object-store-private-expected.txt: Added.
* storage/indexeddb/create-and-remove-object-store-private.html: Added.
* storage/indexeddb/create-object-store-options-private-expected.txt: Added.
* storage/indexeddb/create-object-store-options-private.html: Added.
* storage/indexeddb/createIndex-after-failure-private-expected.txt: Added.
* storage/indexeddb/createIndex-after-failure-private.html: Added.
* storage/indexeddb/createObjectStore-name-argument-required-private-expected.txt: Added.
* storage/indexeddb/createObjectStore-name-argument-required-private.html: Added.
* storage/indexeddb/createObjectStore-null-name-private-expected.txt: Added.
* storage/indexeddb/createObjectStore-null-name-private.html: Added.
* storage/indexeddb/cursor-added-bug-private-expected.txt: Added.
* storage/indexeddb/cursor-added-bug-private.html: Added.
* storage/indexeddb/cursor-advance-private-expected.txt: Added.
* storage/indexeddb/cursor-advance-private.html: Added.
* storage/indexeddb/cursor-basics-private-expected.txt: Added.
* storage/indexeddb/cursor-basics-private.html: Added.
* storage/indexeddb/cursor-continue-dir-private-expected.txt: Added.
* storage/indexeddb/cursor-continue-dir-private.html: Added.
* storage/indexeddb/cursor-continue-private-expected.txt: Added.
* storage/indexeddb/cursor-continue-private.html: Added.
* storage/indexeddb/cursor-continue-validity-private-expected.txt: Added.
* storage/indexeddb/cursor-continue-validity-private.html: Added.
* storage/indexeddb/cursor-delete-private-expected.txt: Added.
* storage/indexeddb/cursor-delete-private.html: Added.
* storage/indexeddb/cursor-finished-private-expected.txt: Added.
* storage/indexeddb/cursor-finished-private.html: Added.
* storage/indexeddb/cursor-inconsistency-private-expected.txt: Added.
* storage/indexeddb/cursor-inconsistency-private.html: Added.
* storage/indexeddb/cursor-index-delete-private-expected.txt: Added.
* storage/indexeddb/cursor-index-delete-private.html: Added.
* storage/indexeddb/cursor-key-order-private-expected.txt: Added.
* storage/indexeddb/cursor-key-order-private.html: Added.
* storage/indexeddb/cursor-prev-no-duplicate-private-expected.txt: Added.
* storage/indexeddb/cursor-prev-no-duplicate-private.html: Added.
* storage/indexeddb/cursor-primary-key-order-private-expected.txt: Added.
* storage/indexeddb/cursor-primary-key-order-private.html: Added.
* storage/indexeddb/cursor-properties-private-expected.txt: Added.
* storage/indexeddb/cursor-properties-private.html: Added.
* storage/indexeddb/cursor-reverse-bug-private-expected.txt: Added.
* storage/indexeddb/cursor-reverse-bug-private.html: Added.
* storage/indexeddb/cursor-skip-deleted-private-expected.txt: Added.
* storage/indexeddb/cursor-skip-deleted-private.html: Added.
* storage/indexeddb/cursor-update-private-expected.txt: Added.
* storage/indexeddb/cursor-update-private.html: Added.
* storage/indexeddb/cursor-update-value-argument-required-private-expected.txt: Added.
* storage/indexeddb/cursor-update-value-argument-required-private.html: Added.
* storage/indexeddb/cursor-value-private-expected.txt: Added.
* storage/indexeddb/cursor-value-private.html: Added.
* storage/indexeddb/database-basics-private-expected.txt: Added.
* storage/indexeddb/database-basics-private.html: Added.
* storage/indexeddb/database-close-private-expected.txt: Added.
* storage/indexeddb/database-close-private.html: Added.
* storage/indexeddb/database-closepending-flag-private-expected.txt: Added.
* storage/indexeddb/database-closepending-flag-private.html: Added.
* storage/indexeddb/database-deletepending-flag-private-expected.txt: Added.
* storage/indexeddb/database-deletepending-flag-private.html: Added.
* storage/indexeddb/database-name-undefined-private-expected.txt: Added.
* storage/indexeddb/database-name-undefined-private.html: Added.
* storage/indexeddb/database-odd-names-private-expected.txt: Added.
* storage/indexeddb/database-odd-names-private.html: Added.
* storage/indexeddb/database-quota-private-expected.txt: Added.
* storage/indexeddb/database-quota-private.html: Added.
* storage/indexeddb/database-wrapper-private-expected.txt: Added.
* storage/indexeddb/database-wrapper-private.html: Added.
* storage/indexeddb/delete-closed-database-object-private-expected.txt: Added.
* storage/indexeddb/delete-closed-database-object-private.html: Added.
* storage/indexeddb/delete-in-upgradeneeded-close-in-open-success-private-expected.txt: Added.
* storage/indexeddb/delete-in-upgradeneeded-close-in-open-success-private.html: Added.
* storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-private-expected.txt: Added.
* storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-private.html: Added.
* storage/indexeddb/delete-range-private-expected.txt: Added.
* storage/indexeddb/delete-range-private.html: Added.
* storage/indexeddb/deleteIndex-private-expected.txt: Added.
* storage/indexeddb/deleteIndex-private.html: Added.
* storage/indexeddb/deleteObjectStore-name-argument-required-private-expected.txt: Added.
* storage/indexeddb/deleteObjectStore-name-argument-required-private.html: Added.
* storage/indexeddb/deleteObjectStore-null-name-private-expected.txt: Added.
* storage/indexeddb/deleteObjectStore-null-name-private.html: Added.
* storage/indexeddb/deleted-objects-private-expected.txt: Added.
* storage/indexeddb/deleted-objects-private.html: Added.
* storage/indexeddb/deletedatabase-blocked-private-expected.txt: Added.
* storage/indexeddb/deletedatabase-blocked-private.html: Added.
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-private-expected.txt: Added.
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-private.html: Added.
* storage/indexeddb/deletedatabase-delayed-by-versionchange-private-expected.txt: Added.
* storage/indexeddb/deletedatabase-not-blocked-private-expected.txt: Added.
* storage/indexeddb/deletedatabase-not-blocked-private.html: Added.
* storage/indexeddb/dont-wedge-private-expected.txt: Added.
* storage/indexeddb/dont-wedge-private.html: Added.
* storage/indexeddb/duplicates-private-expected.txt: Added.
* storage/indexeddb/duplicates-private.html: Added.
* storage/indexeddb/error-causes-abort-by-default-private-expected.txt: Added.
* storage/indexeddb/error-causes-abort-by-default-private.html: Added.
* storage/indexeddb/events-private-expected.txt: Added.
* storage/indexeddb/events-private.html: Added.
* storage/indexeddb/exception-in-event-aborts-private-expected.txt: Added.
* storage/indexeddb/exception-in-event-aborts-private.html: Added.
* storage/indexeddb/exceptions-private-expected.txt: Added.
* storage/indexeddb/exceptions-private.html: Added.
* storage/indexeddb/factory-cmp-private-expected.txt: Added.
* storage/indexeddb/factory-cmp-private.html: Added.
* storage/indexeddb/factory-deletedatabase-private-expected.txt: Added.
* storage/indexeddb/factory-deletedatabase-private.html: Added.
* storage/indexeddb/get-keyrange-private-expected.txt: Added.
* storage/indexeddb/get-keyrange-private.html: Added.
* storage/indexeddb/index-basics-private-expected.txt: Added.
* storage/indexeddb/index-basics-private.html: Added.
* storage/indexeddb/index-count-private-expected.txt: Added.
* storage/indexeddb/index-count-private.html: Added.
* storage/indexeddb/index-cursor-private-expected.txt: Added.
* storage/indexeddb/index-cursor-private.html: Added.
* storage/indexeddb/index-duplicate-keypaths-private-expected.txt: Added.
* storage/indexeddb/index-duplicate-keypaths-private.html: Added.
* storage/indexeddb/index-get-key-argument-required-private-expected.txt: Added.
* storage/indexeddb/index-get-key-argument-required-private.html: Added.
* storage/indexeddb/index-multientry-private-expected.txt: Added.
* storage/indexeddb/index-multientry-private.html: Added.
* storage/indexeddb/index-population-private-expected.txt: Added.
* storage/indexeddb/index-population-private.html: Added.
* storage/indexeddb/index-unique-private-expected.txt: Added.
* storage/indexeddb/index-unique-private.html: Added.
* storage/indexeddb/interfaces-private-expected.txt: Added.
* storage/indexeddb/interfaces-private.html: Added.
* storage/indexeddb/intversion-abort-in-initial-upgradeneeded-private-expected.txt: Added.
* storage/indexeddb/intversion-abort-in-initial-upgradeneeded-private.html: Added.
* storage/indexeddb/intversion-bad-parameters-private-expected.txt: Added.
* storage/indexeddb/intversion-bad-parameters-private.html: Added.
* storage/indexeddb/intversion-blocked-private-expected.txt: Added.
* storage/indexeddb/intversion-blocked-private.html: Added.
* storage/indexeddb/intversion-close-between-events-private-expected.txt: Added.
* storage/indexeddb/intversion-close-between-events-private.html: Added.
* storage/indexeddb/intversion-close-in-oncomplete-private-expected.txt: Added.
* storage/indexeddb/intversion-close-in-oncomplete-private.html: Added.
* storage/indexeddb/intversion-close-in-upgradeneeded-private-expected.txt: Added.
* storage/indexeddb/intversion-close-in-upgradeneeded-private.html: Added.
* storage/indexeddb/intversion-encoding-private-expected.txt: Added.
* storage/indexeddb/intversion-encoding-private.html: Added.
* storage/indexeddb/intversion-gated-on-delete-private-expected.txt: Added.
* storage/indexeddb/intversion-gated-on-delete-private.html: Added.
* storage/indexeddb/intversion-long-queue-private-expected.txt: Added.
* storage/indexeddb/intversion-long-queue-private.html: Added.
* storage/indexeddb/intversion-omit-parameter-private-expected.txt: Added.
* storage/indexeddb/intversion-omit-parameter-private.html: Added.
* storage/indexeddb/intversion-open-in-upgradeneeded-private-expected.txt: Added.
* storage/indexeddb/intversion-open-in-upgradeneeded-private.html: Added.
* storage/indexeddb/intversion-open-with-version-private-expected.txt: Added.
* storage/indexeddb/intversion-open-with-version-private.html: Added.
* storage/indexeddb/intversion-pending-version-changes-ascending-private-expected.txt: Added.
* storage/indexeddb/intversion-pending-version-changes-ascending-private.html: Added.
* storage/indexeddb/intversion-pending-version-changes-descending-private-expected.txt: Added.
* storage/indexeddb/intversion-pending-version-changes-descending-private.html: Added.
* storage/indexeddb/intversion-pending-version-changes-same-private-expected.txt: Added.
* storage/indexeddb/intversion-pending-version-changes-same-private.html: Added.
* storage/indexeddb/intversion-persistence-private-expected.txt: Added.
* storage/indexeddb/intversion-persistence-private.html: Added.
* storage/indexeddb/intversion-revert-on-abort-private-expected.txt: Added.
* storage/indexeddb/intversion-revert-on-abort-private.html: Added.
* storage/indexeddb/intversion-two-opens-no-versions-private-expected.txt: Added.
* storage/indexeddb/intversion-two-opens-no-versions-private.html: Added.
* storage/indexeddb/intversion-upgrades-private-expected.txt: Added.
* storage/indexeddb/intversion-upgrades-private.html: Added.
* storage/indexeddb/invalid-keys-private-expected.txt: Added.
* storage/indexeddb/invalid-keys-private.html: Added.
* storage/indexeddb/key-generator-private-expected.txt: Added.
* storage/indexeddb/key-generator-private.html: Added.
* storage/indexeddb/key-sort-order-across-types-private-expected.txt: Added.
* storage/indexeddb/key-sort-order-across-types-private.html: Added.
* storage/indexeddb/key-sort-order-date-private-expected.txt: Added.
* storage/indexeddb/key-sort-order-date-private.html: Added.
* storage/indexeddb/key-type-array-private-expected.txt: Added.
* storage/indexeddb/key-type-array-private.html: Added.
* storage/indexeddb/key-type-binary-private-expected.txt: Added.
* storage/indexeddb/key-type-binary-private.html: Added.
* storage/indexeddb/key-type-infinity-private-expected.txt: Added.
* storage/indexeddb/key-type-infinity-private.html: Added.
* storage/indexeddb/keypath-arrays-private-expected.txt: Added.
* storage/indexeddb/keypath-arrays-private.html: Added.
* storage/indexeddb/keypath-basics-private-expected.txt: Added.
* storage/indexeddb/keypath-basics-private.html: Added.
* storage/indexeddb/keypath-edges-private-expected.txt: Added.
* storage/indexeddb/keypath-edges-private.html: Added.
* storage/indexeddb/keypath-fetch-key-private-expected.txt: Added.
* storage/indexeddb/keypath-fetch-key-private.html: Added.
* storage/indexeddb/keypath-intrinsic-properties-private-expected.txt: Added.
* storage/indexeddb/keypath-intrinsic-properties-private.html: Added.
* storage/indexeddb/keyrange-private-expected.txt: Added.
* storage/indexeddb/keyrange-private.html: Added.
* storage/indexeddb/keyrange-required-arguments-private-expected.txt: Added.
* storage/indexeddb/keyrange-required-arguments-private.html: Added.
* storage/indexeddb/lazy-index-types-private-expected.txt: Added.
* storage/indexeddb/lazy-index-types-private.html: Added.
* storage/indexeddb/legacy-constants-private-expected.txt: Added.
* storage/indexeddb/legacy-constants-private.html: Added.
* storage/indexeddb/list-ordering-private-expected.txt: Added.
* storage/indexeddb/list-ordering-private.html: Added.
* storage/indexeddb/metadata-private-expected.txt: Added.
* storage/indexeddb/metadata-private.html: Added.
* storage/indexeddb/mutating-cursor-private-expected.txt: Added.
* storage/indexeddb/mutating-cursor-private.html: Added.
* storage/indexeddb/objectStore-required-arguments-private-expected.txt: Added.
* storage/indexeddb/objectStore-required-arguments-private.html: Added.
* storage/indexeddb/objectstore-autoincrement-private-expected.txt: Added.
* storage/indexeddb/objectstore-autoincrement-private.html: Added.
* storage/indexeddb/objectstore-basics-private-expected.txt: Added.
* storage/indexeddb/objectstore-basics-private.html: Added.
* storage/indexeddb/objectstore-clear-private-expected.txt: Added.
* storage/indexeddb/objectstore-clear-private.html: Added.
* storage/indexeddb/objectstore-count-private-expected.txt: Added.
* storage/indexeddb/objectstore-count-private.html: Added.
* storage/indexeddb/objectstore-cursor-private-expected.txt: Added.
* storage/indexeddb/objectstore-cursor-private.html: Added.
* storage/indexeddb/objectstore-removeobjectstore-private-expected.txt: Added.
* storage/indexeddb/objectstore-removeobjectstore-private.html: Added.
* storage/indexeddb/odd-strings-private-expected.txt: Added.
* storage/indexeddb/odd-strings-private.html: Added.
* storage/indexeddb/open-cursor-private-expected.txt: Added.
* storage/indexeddb/open-cursor-private.html: Added.
* storage/indexeddb/open-during-transaction-private-expected.txt: Added.
* storage/indexeddb/open-during-transaction-private.html: Added.
* storage/indexeddb/open-ordering-private-expected.txt: Added.
* storage/indexeddb/open-ordering-private.html: Added.
* storage/indexeddb/opencursor-key-private-expected.txt: Added.
* storage/indexeddb/opencursor-key-private.html: Added.
* storage/indexeddb/pending-activity-private-expected.txt: Added.
* storage/indexeddb/pending-activity-private.html: Added.
* storage/indexeddb/pending-version-change-on-exit-private-expected.txt: Added.
* storage/indexeddb/pending-version-change-on-exit-private.html: Added.
* storage/indexeddb/pending-version-change-stuck-private-expected.txt: Added.
* storage/indexeddb/pending-version-change-stuck-private.html: Added.
* storage/indexeddb/persistence-expected.txt:
* storage/indexeddb/persistence-private-expected.txt: Copied from LayoutTests/storage/indexeddb/persistence-expected.txt.
* storage/indexeddb/persistence-private.html: Added.
* storage/indexeddb/prefetch-bugfix-108071-private-expected.txt: Added.
* storage/indexeddb/prefetch-bugfix-108071-private.html: Added.
* storage/indexeddb/queued-commands-private-expected.txt: Added.
* storage/indexeddb/queued-commands-private.html: Added.
* storage/indexeddb/readonly-private-expected.txt: Added.
* storage/indexeddb/readonly-private.html: Added.
* storage/indexeddb/readonly-properties-private-expected.txt: Added.
* storage/indexeddb/readonly-properties-private.html: Added.
* storage/indexeddb/removed-private-expected.txt: Added.
* storage/indexeddb/removed-private.html: Added.
* storage/indexeddb/request-continue-abort-private-expected.txt: Added.
* storage/indexeddb/request-continue-abort-private.html: Added.
* storage/indexeddb/request-event-propagation-private-expected.txt: Added.
* storage/indexeddb/request-event-propagation-private.html: Added.
* storage/indexeddb/resources/persistence.js:
* storage/indexeddb/set_version_blocked-private-expected.txt: Added.
* storage/indexeddb/set_version_blocked-private.html: Added.
* storage/indexeddb/setversion-blocked-by-versionchange-close-private-expected.txt: Added.
* storage/indexeddb/setversion-blocked-by-versionchange-close-private.html: Added.
* storage/indexeddb/setversion-not-blocked-private-expected.txt: Added.
* storage/indexeddb/setversion-not-blocked-private.html: Added.
* storage/indexeddb/transaction-abort-private-expected.txt: Added.
* storage/indexeddb/transaction-abort-private.html: Added.
* storage/indexeddb/transaction-active-flag-private-expected.txt: Added.
* storage/indexeddb/transaction-active-flag-private.html: Added.
* storage/indexeddb/transaction-after-close-private-expected.txt: Added.
* storage/indexeddb/transaction-after-close-private.html: Added.
* storage/indexeddb/transaction-and-objectstore-calls-private-expected.txt: Added.
* storage/indexeddb/transaction-and-objectstore-calls-private.html: Added.
* storage/indexeddb/transaction-basics-private-expected.txt: Added.
* storage/indexeddb/transaction-basics-private.html: Added.
* storage/indexeddb/transaction-complete-workers-private-expected.txt: Added.
* storage/indexeddb/transaction-complete-workers-private.html: Added.
* storage/indexeddb/transaction-coordination-across-databases-private-expected.txt: Added.
* storage/indexeddb/transaction-coordination-across-databases-private.html: Added.
* storage/indexeddb/transaction-coordination-within-database-private-expected.txt: Added.
* storage/indexeddb/transaction-coordination-within-database-private.html: Added.
* storage/indexeddb/transaction-crash-on-abort-private-expected.txt: Added.
* storage/indexeddb/transaction-crash-on-abort-private.html: Added.
* storage/indexeddb/transaction-error-private-expected.txt: Added.
* storage/indexeddb/transaction-error-private.html: Added.
* storage/indexeddb/transaction-event-propagation-private-expected.txt: Added.
* storage/indexeddb/transaction-event-propagation-private.html: Added.
* storage/indexeddb/transaction-read-only-private-expected.txt: Added.
* storage/indexeddb/transaction-read-only-private.html: Added.
* storage/indexeddb/transaction-readwrite-exclusive-private-expected.txt: Added.
* storage/indexeddb/transaction-readwrite-exclusive-private.html: Added.
* storage/indexeddb/transaction-rollback-private-expected.txt: Added.
* storage/indexeddb/transaction-rollback-private.html: Added.
* storage/indexeddb/transaction-scope-sequencing-private-expected.txt: Added.
* storage/indexeddb/transaction-scope-sequencing-private.html: Added.
* storage/indexeddb/transaction-starvation-private-expected.txt: Added.
* storage/indexeddb/transaction-storeNames-required-private-expected.txt: Added.
* storage/indexeddb/transaction-storeNames-required-private.html: Added.
* storage/indexeddb/unblocked-version-changes-private-expected.txt: Added.
* storage/indexeddb/unblocked-version-changes-private.html: Added.
* storage/indexeddb/unprefix-private-expected.txt: Added.
* storage/indexeddb/unprefix-private.html: Added.
* storage/indexeddb/value-undefined-private-expected.txt: Added.
* storage/indexeddb/value-undefined-private.html: Added.
* storage/indexeddb/values-odd-types-private-expected.txt: Added.
* storage/indexeddb/values-odd-types-private.html: Added.
* storage/indexeddb/version-change-abort-private-expected.txt: Added.
* storage/indexeddb/version-change-abort-private.html: Added.
* storage/indexeddb/version-change-exclusive-private-expected.txt: Added.
* storage/indexeddb/version-change-exclusive-private.html: Added.
* storage/indexeddb/versionchangerequest-activedomobject-private-expected.txt: Added.
* storage/indexeddb/versionchangerequest-activedomobject-private.html: Added.

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

4 years agoassertions in BytecodeUseDef.h about opcode length are off by one
sbarati@apple.com [Tue, 19 Jan 2016 04:08:56 +0000 (04:08 +0000)]
assertions in BytecodeUseDef.h about opcode length are off by one
https://bugs.webkit.org/show_bug.cgi?id=153215

Reviewed by Dan Bernstein.

* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):

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

4 years ago[GTK][EFL] Layout tests abort with PulseAudioSanitizer instance has no attribute...
clopez@igalia.com [Tue, 19 Jan 2016 04:05:22 +0000 (04:05 +0000)]
[GTK][EFL] Layout tests abort with PulseAudioSanitizer instance has no attribute '_pa_module_index' when the build is not ready.
https://bugs.webkit.org/show_bug.cgi?id=153216

Reviewed by Michael Catanzaro.

* Scripts/webkitpy/port/pulseaudio_sanitizer.py:
(PulseAudioSanitizer.__init__): initialize _pa_module_index in the constructor.

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

4 years ago[iOS Simulator WK1] ASSERT loading Blink layout test imported/web-platform-tests...
eric.carlson@apple.com [Tue, 19 Jan 2016 03:28:24 +0000 (03:28 +0000)]
[iOS Simulator WK1] ASSERT loading Blink layout test imported/web-platform-tests/mediacapture-streams/stream-api/mediastream/mediastream-idl.html
https://bugs.webkit.org/show_bug.cgi?id=153070
<rdar://problem/24183105>

Reviewed by Darin Adler.

No new tests, this prevents an existing test from crashing.

* platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::MockRealtimeVideoSource): Create the timer with RunLoop::current
  instead of RunLoop::main.

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

4 years agoReduce PassRefPtr uses in dom - 3
gyuyoung.kim@webkit.org [Tue, 19 Jan 2016 02:56:34 +0000 (02:56 +0000)]
Reduce PassRefPtr uses in dom - 3
https://bugs.webkit.org/show_bug.cgi?id=153055

Reviewed by Darin Adler.

Third patch to reduce uses of PassRefPtr in WebCore/dom.

* dom/MutationObserverInterestGroup.cpp:
(WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
* dom/MutationRecord.cpp:
(WebCore::MutationRecord::createChildList):
(WebCore::MutationRecord::createAttributes):
(WebCore::MutationRecord::createCharacterData):
(WebCore::MutationRecord::createWithNullOldValue):
* dom/MutationRecord.h:
* dom/NamedFlowCollection.cpp:
(WebCore::NamedFlowCollection::createCSSOMSnapshot):
* dom/NamedFlowCollection.h:
* dom/PendingScript.cpp:
(WebCore::PendingScript::releaseElementAndClear):
* dom/PendingScript.h:
* dom/ScriptRunner.h:
* dom/SecurityContext.h:
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::cloneNode):
* dom/ShadowRoot.h:
* dom/SpaceSplitString.cpp:
(WebCore::SpaceSplitStringData::create):
* dom/SpaceSplitString.h:
* dom/TreeWalker.cpp:
(WebCore::TreeWalker::setCurrent):
(WebCore::TreeWalker::parentNode):
(WebCore::TreeWalker::previousNode):
(WebCore::TreeWalker::nextNode):
* dom/TreeWalker.h:
* dom/default/PlatformMessagePortChannel.cpp:
(WebCore::PlatformMessagePortChannel::entangledChannel):
* dom/default/PlatformMessagePortChannel.h:

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

4 years ago[CMake] Duplicate attempts to find software during cmake stage
mcatanzaro@igalia.com [Tue, 19 Jan 2016 01:23:08 +0000 (01:23 +0000)]
[CMake] Duplicate attempts to find software during cmake stage
https://bugs.webkit.org/show_bug.cgi?id=153211

Reviewed by Martin Robinson.

* CMakeLists.txt: Remove duplication of commands in WebKitCommon.cmake.
* Source/cmake/WebKitCommon.cmake: Guard the entire file so it runs only once.

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

4 years ago[EFL] Remove wkView() from EwkView
ryuan.choi@navercorp.com [Tue, 19 Jan 2016 01:08:47 +0000 (01:08 +0000)]
[EFL] Remove wkView() from EwkView
https://bugs.webkit.org/show_bug.cgi?id=152604

Reviewed by Gyuyoung Kim.

* UIProcess/API/efl/EwkView.cpp:
(EwkViewEventHandler<EVAS_CALLBACK_SHOW>::handleEvent):
(EwkViewEventHandler<EVAS_CALLBACK_HIDE>::handleEvent):
(EwkView::EwkView):
(EwkView::create):
(EwkView::wkPage):
(EwkView::isVisible):
(EwkView::setVisible):
(EwkView::setDeviceScaleFactor):
(EwkView::deviceSize):
(EwkView::displayTimerFired):
(EwkView::setViewportPosition):
(EwkView::requestExitFullScreen):
(EwkView::contentsSize):
(EwkView::setThemePath):
(EwkView::feedTouchEvent):
(EwkView::createGLSurface):
(EwkView::showContextMenu):
(EwkView::requestPopupMenu):
(EwkView::webView):
(EwkView::handleEvasObjectCalculate):
(EwkView::handleEvasObjectColorSet):
(EwkView::handleEwkViewFocusIn):
(EwkView::handleEwkViewFocusOut):
(EwkView::feedTouchEvents):
(EwkView::takeSnapshot):
(EwkView::scrollBy):
(EwkView::setBackgroundColor):
(EwkView::backgroundColor):
* UIProcess/API/efl/EwkView.h:
(EwkView::wkView): Deleted.
* UIProcess/API/efl/GestureRecognizer.cpp:
(WebKit::GestureHandler::handleSingleTap):
* UIProcess/API/efl/ewk_view.cpp:
(EWKViewCreate):
(EWKViewGetWKView):
(ewk_view_fullscreen_exit):
(ewk_view_layout_fixed_set):
(ewk_view_layout_fixed_get):
(ewk_view_layout_fixed_size_set):
(ewk_view_layout_fixed_size_get):
(ewk_view_bg_color_get):
(ewk_view_contents_size_get):
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::setPageScaleFactor):
* UIProcess/efl/ViewClientEfl.cpp:
(WebKit::ViewClientEfl::webProcessDidRelaunch):
(WebKit::ViewClientEfl::ViewClientEfl):
(WebKit::ViewClientEfl::~ViewClientEfl):

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

4 years agoAX: [Mac] Implement next/previous text marker functions using TextIterator
n_wang@apple.com [Tue, 19 Jan 2016 00:56:13 +0000 (00:56 +0000)]
AX: [Mac] Implement next/previous text marker functions using TextIterator
https://bugs.webkit.org/show_bug.cgi?id=152728

Reviewed by Chris Fleizach.

Source/WebCore:

The existing AXTextMarker based calls are implemented using visible position, and that introduced
some bugs which make VoiceOver working incorrectly on Mac sometimes. Since TextIterator uses rendering
position, we tried to use it to refactor those AXTextMarker based calls.
In this patch, I implemented functions to navigate to previous/next text marker using Range and TextIterator.
Also added a conversion between visible position and character offset to make sure unconverted text marker
related functions are still working correctly.

Tests: accessibility/mac/previous-next-text-marker.html
       accessibility/mac/text-marker-with-user-select-none.html

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::visiblePositionForTextMarkerData):
(WebCore::AXObjectCache::traverseToOffsetInRange):
(WebCore::AXObjectCache::lengthForRange):
(WebCore::AXObjectCache::rangeForNodeContents):
(WebCore::characterOffsetsInOrder):
(WebCore::AXObjectCache::rangeForUnorderedCharacterOffsets):
(WebCore::AXObjectCache::setTextMarkerDataWithCharacterOffset):
(WebCore::AXObjectCache::startOrEndTextMarkerDataForRange):
(WebCore::AXObjectCache::textMarkerDataForCharacterOffset):
(WebCore::AXObjectCache::nextNode):
(WebCore::AXObjectCache::previousNode):
(WebCore::AXObjectCache::visiblePositionFromCharacterOffset):
(WebCore::AXObjectCache::characterOffsetFromVisiblePosition):
(WebCore::AXObjectCache::accessibilityObjectForTextMarkerData):
(WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
* accessibility/AXObjectCache.h:
(WebCore::CharacterOffset::CharacterOffset):
(WebCore::CharacterOffset::remaining):
(WebCore::CharacterOffset::isNull):
(WebCore::AXObjectCache::setNodeInUse):
(WebCore::AXObjectCache::removeNodeForUse):
(WebCore::AXObjectCache::isNodeInUse):
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::selectionRange):
(WebCore::AccessibilityObject::elementRange):
(WebCore::AccessibilityObject::selectText):
(WebCore::AccessibilityObject::lineRangeForPosition):
(WebCore::AccessibilityObject::replacedNodeNeedsCharacter):
(WebCore::renderListItemContainerForNode):
(WebCore::listMarkerTextForNode):
(WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition):
(WebCore::AccessibilityObject::stringForRange):
(WebCore::AccessibilityObject::stringForVisiblePositionRange):
(WebCore::replacedNodeNeedsCharacter): Deleted.
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::visiblePositionRange):
(WebCore::AccessibilityObject::visiblePositionRangeForLine):
(WebCore::AccessibilityObject::boundsForVisiblePositionRange):
(WebCore::AccessibilityObject::setSelectedVisiblePositionRange):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(isTextMarkerIgnored):
(-[WebAccessibilityObjectWrapper accessibilityObjectForTextMarker:]):
(accessibilityObjectForTextMarker):
(-[WebAccessibilityObjectWrapper textMarkerRangeFromRange:]):
(textMarkerRangeFromRange):
(-[WebAccessibilityObjectWrapper startOrEndTextMarkerForRange:isStart:]):
(startOrEndTextmarkerForRange):
(-[WebAccessibilityObjectWrapper nextTextMarkerForNode:offset:]):
(-[WebAccessibilityObjectWrapper previousTextMarkerForNode:offset:]):
(-[WebAccessibilityObjectWrapper textMarkerForNode:offset:]):
(textMarkerForCharacterOffset):
(-[WebAccessibilityObjectWrapper rangeForTextMarkerRange:]):
(-[WebAccessibilityObjectWrapper characterOffsetForTextMarker:]):
(textMarkerForVisiblePosition):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

Tools:

* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::accessibilityElementForTextMarker):

LayoutTests:

* accessibility/mac/previous-next-text-marker-expected.txt: Added.
* accessibility/mac/previous-next-text-marker.html: Added.
* accessibility/mac/text-marker-with-user-select-none-expected.txt: Added.
* accessibility/mac/text-marker-with-user-select-none.html: Added.

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

4 years ago[Mac] Remove unused playerToPrivateMap()
commit-queue@webkit.org [Tue, 19 Jan 2016 00:06:46 +0000 (00:06 +0000)]
[Mac] Remove unused playerToPrivateMap()
https://bugs.webkit.org/show_bug.cgi?id=153203

Patch by Olivier Blin <olivier.blin@softathome.com> on 2016-01-18
Reviewed by Darin Adler.

This was used in previous EME implementations, but is unnecessary
since r163907.

No new tests since this removes dead code only.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::globalLoaderDelegateQueue): Deleted.
(WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC): Deleted.

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

4 years agoFTL doesn't do proper spilling for exception handling when GetById/Snippets go to...
sbarati@apple.com [Mon, 18 Jan 2016 22:15:30 +0000 (22:15 +0000)]
FTL doesn't do proper spilling for exception handling when GetById/Snippets go to slow path
https://bugs.webkit.org/show_bug.cgi?id=153186

Reviewed by Michael Saboff.

Michael was investigating a bug he found while doing the new JSC calling
convention work and it turns out to be a latent bug in FTL try/catch machinery.
After I looked at the code again, I realized that what I had previously
written is wrong in a subtle way. The FTL callOperation machinery will remove
its result register from the set of registers it needs to spill. This is not
correct when we have try/catch. We may want to do value recovery on
the value that the result register is prior to the call after the call
throws an exception. The case that we were solving before was when the
resultRegister == baseRegister in a GetById, or left/rightRegister == resultRegister in a Snippet.
This code is correct in wanting to spill in that case, even though it might spill
when we don't need it to (i.e the result is not needed for value recovery). Once I
investigated this bug further, I realized that the previous rule is just a
partial subset of the rule that says we should spill anytime the result is
a register we might do value recovery on. This patch implements the rule that
says we always want to spill the result when we will do value recovery on it
if an exception is thrown.

* ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
* tests/stress/ftl-try-catch-getter-throw-interesting-value-recovery.js: Added.
(assert):
(random):
(identity):
(let.o2.get f):
(let.o3.get f):
(foo):
(i.else):

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

4 years agoAdd TextStream-based logging for Position and VisiblePosition
simon.fraser@apple.com [Mon, 18 Jan 2016 21:27:53 +0000 (21:27 +0000)]
Add TextStream-based logging for Position and VisiblePosition
https://bugs.webkit.org/show_bug.cgi?id=153195

Reviewed by Ryosuke Niwa.

Make it easy to dump Positions and VisiblePositions with a TextStream.

* dom/Position.cpp:
(WebCore::operator<<):
* dom/Position.h:
* editing/VisiblePosition.cpp:
(WebCore::operator<<):
* editing/VisiblePosition.h:

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

4 years ago[MIPS] LLInt: fix calculation of Global Offset Table
commit-queue@webkit.org [Mon, 18 Jan 2016 21:07:08 +0000 (21:07 +0000)]
[MIPS] LLInt: fix calculation of Global Offset Table
https://bugs.webkit.org/show_bug.cgi?id=150381

Offlineasm adds a .cpload $t9 when we create a label in MIPS, which
computes address of GOT. However, this instruction requires $t9 to
contain address of current function. So we need to set $t9 to pcBase,
otherwise GOT-related calculations will be invalid.

Since offlineasm does not allow direct move to $t9 on MIPS, added new
instruction setcallreg which does exactly that.

Patch by Konstantin Tokarev <annulen@yandex.ru> on 2016-01-18
Reviewed by Michael Saboff.

* llint/LowLevelInterpreter.asm:
* offlineasm/instructions.rb:
* offlineasm/mips.rb:

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

4 years agoSink the Vector<uint8_t> buffer into the SerializedScriptValue constructor
commit-queue@webkit.org [Mon, 18 Jan 2016 20:26:42 +0000 (20:26 +0000)]
Sink the Vector<uint8_t> buffer into the SerializedScriptValue constructor
https://bugs.webkit.org/show_bug.cgi?id=142634

Patch by Zan Dobersek <zdobersek@igalia.com> on 2016-01-18
Reviewed by Darin Adler.

Source/WebCore:

Have the SerializedScriptValue constructor take in the Vector<uint8_t> buffer
through an rvalue reference, avoiding the copying into the m_data member. The
three-parameter constructor now takes in the Vector<String> blob URL object
via const reference, and the std::unique_ptr<> object via a rvalue reference.

Adjust all the call sites and affected code to now either move or copy a
non-movable object into the SerializedScriptValue constructor or the helper
methods.

No new tests -- no change in behavior.

* bindings/js/IDBBindingUtilities.cpp:
(WebCore::deserializeIDBValueDataToJSValue):
(WebCore::deserializeIDBValueBuffer):
(WebCore::idbValueDataToJSValue):
* bindings/js/IDBBindingUtilities.h:
* bindings/js/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::SerializedScriptValue):
(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::numberValue):
(WebCore::SerializedScriptValue::undefinedValue):
(WebCore::SerializedScriptValue::nullValue):
* bindings/js/SerializedScriptValue.h:
* testing/Internals.cpp:
(WebCore::Internals::deserializeBuffer):

Source/WebKit2:

Update API::SerializedScriptValue::adopt() to take in a Vector<uint8_t>
rvalue, moving it into the WebCore::SerializedScriptValue::adopt() call.

Update other places that are affected by the SerializedScriptValue changes.

* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):
* Shared/API/APISerializedScriptValue.h:
(API::SerializedScriptValue::adopt):
* Shared/UserData.cpp:
(WebKit::UserData::decode):
* UIProcess/UserContent/WebUserContentControllerProxy.cpp:
(WebKit::WebUserContentControllerProxy::didPostMessage):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::scriptValueCallback):
* WebProcess/WebCoreSupport/SessionStateConversion.cpp:
(WebKit::applyFrameState):

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

4 years ago[GStreamer] Remove unused m_endTime
commit-queue@webkit.org [Mon, 18 Jan 2016 19:22:07 +0000 (19:22 +0000)]
[GStreamer] Remove unused m_endTime
https://bugs.webkit.org/show_bug.cgi?id=153209

Patch by Olivier Blin <olivier.blin@softathome.com> on 2016-01-18
Reviewed by Michael Catanzaro.

m_endTime has been unused since r47710 in MediaPlayerPrivateGStreamer.

No new tests since this is just a member cleanup.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): Deleted.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

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

4 years agoREGRESSION(r194601): Fix the jsc timeout option of jsc.cpp
ossy@webkit.org [Mon, 18 Jan 2016 15:28:26 +0000 (15:28 +0000)]
REGRESSION(r194601): Fix the jsc timeout option of jsc.cpp
https://bugs.webkit.org/show_bug.cgi?id=153204

Reviewed by Michael Catanzaro.

* jsc.cpp:
(main):

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

4 years ago[cmake] Add testair to the build system
ossy@webkit.org [Mon, 18 Jan 2016 15:19:36 +0000 (15:19 +0000)]
[cmake] Add testair to the build system
https://bugs.webkit.org/show_bug.cgi?id=153126

Reviewed by Michael Catanzaro.

Source/JavaScriptCore:

* shell/CMakeLists.txt:

Tools:

* Scripts/build-jsc:

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

4 years ago[EFL][GTK][WK2] Fix UIProcess build with GStreamer and without VIDEO
commit-queue@webkit.org [Mon, 18 Jan 2016 15:17:31 +0000 (15:17 +0000)]
[EFL][GTK][WK2] Fix UIProcess build with GStreamer and without VIDEO
https://bugs.webkit.org/show_bug.cgi?id=153135

Patch by Olivier Blin <olivier.blin@softathome.com> on 2016-01-18
Reviewed by Michael Catanzaro.

GStreamer builds fail when WebAudio is enabled but VIDEO disabled.

This change makes the flag more consistent around the
decicePolicyForInstallMissingMediaPluginsPermissionRequest() method:
ENABLE(VIDEO) && USE(GSTREAMER) everywhere, while the code used to
test either one or the other.

This does not enable InstallMissingMediaPlugins for WebAudio, since no
code makes use of this in WebKitWebAudioSourceGStreamer.

It also fixes a naming typo for the following method:
decidePolicyForInstallMissingMediaPluginsPermissionRequest()

* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::decidePolicyForInstallMissingMediaPluginsPermissionRequest):
* UIProcess/API/gtk/PageClientImpl.h:
* UIProcess/PageClient.h:
* UIProcess/efl/WebViewEfl.h:
* UIProcess/gstreamer/WebPageProxyGStreamer.cpp:
(WebKit::WebPageProxy::requestInstallMissingMediaPlugins):

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

4 years ago[Streams API] Import tests updated to Jan 13 2016
calvaris@igalia.com [Mon, 18 Jan 2016 13:54:39 +0000 (13:54 +0000)]
[Streams API] Import tests updated to Jan 13 2016
https://bugs.webkit.org/show_bug.cgi?id=153059

Reviewed by Youenn Fablet.

Update tests after merge of https://github.com/whatwg/streams/pull/420.

* web-platform-tests/streams-api/README.txt: Updated last version.
* web-platform-tests/streams-api/readable-streams/bad-strategies.js: Updated.

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

4 years agoFix the --minimal build due to missing VM.h include
ossy@webkit.org [Mon, 18 Jan 2016 13:27:15 +0000 (13:27 +0000)]
Fix the --minimal build due to missing VM.h include
https://bugs.webkit.org/show_bug.cgi?id=153128

Reviewed by Michael Catanzaro.

* bindings/js/WebCoreJSBuiltinInternals.h:

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

4 years agoRemove the SKIP_UNUSED_PARAM define
ossy@webkit.org [Mon, 18 Jan 2016 13:26:52 +0000 (13:26 +0000)]
Remove the SKIP_UNUSED_PARAM define
https://bugs.webkit.org/show_bug.cgi?id=153129

Reviewed by Michael Catanzaro.

* bindings/js/WebCoreJSBuiltinInternals.cpp:
(WebCore::JSBuiltinInternalFunctions::visit):
(WebCore::JSBuiltinInternalFunctions::initialize):
* bindings/js/WebCoreJSBuiltinInternals.h:

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

4 years agoAdd quotes around ${CMAKE_SHARED_LINKER_FLAGS} in case it is unset
commit-queue@webkit.org [Mon, 18 Jan 2016 04:41:21 +0000 (04:41 +0000)]
Add quotes around ${CMAKE_SHARED_LINKER_FLAGS} in case it is unset
https://bugs.webkit.org/show_bug.cgi?id=153175

Patch by Jeremy Huddleston Sequoia <jeremyhu@apple.com> on 2016-01-17
Reviewed by Michael Catanzaro.

* PlatformGTK.cmake:

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

4 years agoMore displaylist tests, and minor cleanup
simon.fraser@apple.com [Mon, 18 Jan 2016 03:20:52 +0000 (03:20 +0000)]
More displaylist tests, and minor cleanup
https://bugs.webkit.org/show_bug.cgi?id=153198

Reviewed by Zalan Bujtas.

Source/WebCore:

Have the DisplayListRecorder's constructor push the recorder onto the GraphicsContext,
and remove that code from GraphicsLayerCA.

Tests: displaylists/extent-includes-shadow.html
       displaylists/extent-includes-transforms.html

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
* platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::Recorder):

LayoutTests:

A couple more display list tests that check that the computed extent of an item
includes shadows and transforms.

WK1 results differ in that they disable should-subpixel-quantize-fonts in the state
(which is a bug).

Move some shared JS into a helper file.

* displaylists/extent-includes-shadow-expected.txt: Added.
* displaylists/extent-includes-shadow.html: Added.
* displaylists/extent-includes-transforms-expected.txt: Added.
* displaylists/extent-includes-transforms.html: Added.
* displaylists/layer-dispay-list.html:
* displaylists/resources/dump-target-display-list.js: Added.
(doTest):
* platform/mac-wk1/displaylists/extent-includes-shadow-expected.txt: Added.
* platform/mac-wk1/displaylists/extent-includes-transforms-expected.txt: Added.

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

4 years agoEnsure that CF_AVAILABLE is undefined when building webkit-gtk
commit-queue@webkit.org [Sun, 17 Jan 2016 22:24:59 +0000 (22:24 +0000)]
Ensure that CF_AVAILABLE is undefined when building webkit-gtk

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

This change ensures that CF_AVAILABLE is correctly a no-op to
address build failure that was observed when building on older
versions of OSX.  Previously, CF_AVAILABLE may have been unexpectedly
re-defined to the system header value based on include-order.

Patch by Jeremy Huddleston Sequoia <jeremyhu@apple.com> on 2016-01-17
Reviewed by Michael Catanzaro.

* API/WebKitAvailability.h:

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

4 years ago[CMake] Do not build bmalloc when USE_SYSTEM_MALLOC is ON
mcatanzaro@igalia.com [Sun, 17 Jan 2016 18:09:19 +0000 (18:09 +0000)]
[CMake] Do not build bmalloc when USE_SYSTEM_MALLOC is ON
https://bugs.webkit.org/show_bug.cgi?id=153190

Reviewed by Csaba Osztrogonác.

Build bmalloc when NOT USE_SYSTEM_MALLOC rather than when NOT WIN32.

.:

* Source/CMakeLists.txt:
* Source/cmake/OptionsWin.cmake:

Source/WTF:

* wtf/CMakeLists.txt:

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

4 years ago[mips] Fix regT2 and regT3 trampling in MacroAssembler
julien.brianceau@gmail.com [Sun, 17 Jan 2016 09:15:45 +0000 (09:15 +0000)]
[mips] Fix regT2 and regT3 trampling in MacroAssembler
https://bugs.webkit.org/show_bug.cgi?id=153131

Mips $t2 and $t3 registers were used as temporary registers
in MacroAssemblerMIPS.h, whereas they are mapped to regT2
and regT3 in LLInt and GPRInfo.

This patch rearranges register mapping for the mips architecture:
- use $t0 and $t1 as temp registers in LLInt (as in MacroAssembler)
- use $t7 and $t8 as temp registers in MacroAssembler (as in LLInt)
- remove $t6 from temp registers list in LLInt
- update GPRInfo.h accordingly
- add mips macroScratchRegisters() list in RegisterSet.cpp

Reviewed by Michael Saboff.

* assembler/MacroAssemblerMIPS.h:
* jit/GPRInfo.h:
(JSC::GPRInfo::toRegister):
(JSC::GPRInfo::toIndex):
* jit/RegisterSet.cpp:
(JSC::RegisterSet::macroScratchRegisters):
(JSC::RegisterSet::calleeSaveRegisters):
* offlineasm/mips.rb:

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

4 years agoModern IDB: .js test files should not log database names.
beidson@apple.com [Sun, 17 Jan 2016 08:13:28 +0000 (08:13 +0000)]
Modern IDB: .js test files should not log database names.
https://bugs.webkit.org/show_bug.cgi?id=153181

Reviewed by Alex Christensen.

We'll be sharing .js files as well as test expectations between different HTML test files,
and logging the filename is counter to this goal, as it will change depending on the HTML
driver running the test.

* storage/indexeddb/resources/shared.js:
(setDBNameFromPath): eval() setting the filename instead of evalAndLog().

* platform/wk2/storage/indexeddb/aborted-versionchange-closes-expected.txt:
* platform/wk2/storage/indexeddb/create-and-remove-object-store-expected.txt:
* platform/wk2/storage/indexeddb/cursor-continue-dir-expected.txt:
* platform/wk2/storage/indexeddb/cursor-continue-expected.txt:
* platform/wk2/storage/indexeddb/cursor-finished-expected.txt:
* platform/wk2/storage/indexeddb/database-basics-expected.txt:
* platform/wk2/storage/indexeddb/index-count-expected.txt:
* platform/wk2/storage/indexeddb/intversion-abort-in-initial-upgradeneeded-expected.txt:
* platform/wk2/storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
* platform/wk2/storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
* platform/wk2/storage/indexeddb/invalid-keys-expected.txt:
* platform/wk2/storage/indexeddb/key-type-array-expected.txt:
* platform/wk2/storage/indexeddb/keypath-arrays-expected.txt:
* platform/wk2/storage/indexeddb/keypath-edges-expected.txt:
* platform/wk2/storage/indexeddb/mozilla/bad-keypath-expected.txt:
* platform/wk2/storage/indexeddb/mozilla/clear-expected.txt:
* platform/wk2/storage/indexeddb/mozilla/create-objectstore-basics-expected.txt:
* platform/wk2/storage/indexeddb/mozilla/cursors-expected.txt:
* platform/wk2/storage/indexeddb/mozilla/key-requirements-delete-null-key-expected.txt:
* platform/wk2/storage/indexeddb/mozilla/key-requirements-inline-and-passed-expected.txt:
* platform/wk2/storage/indexeddb/mozilla/key-requirements-put-no-key-expected.txt:
* platform/wk2/storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt:
* platform/wk2/storage/indexeddb/mozilla/readonly-transactions-expected.txt:
* platform/wk2/storage/indexeddb/object-lookups-in-versionchange-expected.txt:
* platform/wk2/storage/indexeddb/objectstore-count-expected.txt:
* platform/wk2/storage/indexeddb/open-cursor-expected.txt:
* platform/wk2/storage/indexeddb/request-result-cache-expected.txt:
* platform/wk2/storage/indexeddb/transaction-abort-expected.txt:
* platform/wk2/storage/indexeddb/transaction-active-flag-expected.txt:
* platform/wk2/storage/indexeddb/transaction-after-close-expected.txt:
* platform/wk2/storage/indexeddb/transaction-read-only-expected.txt:
* platform/wk2/storage/indexeddb/version-change-exclusive-expected.txt:
* storage/indexeddb/aborted-versionchange-closes-expected.txt:
* storage/indexeddb/clone-exception-expected.txt:
* storage/indexeddb/closed-cursor-expected.txt:
* storage/indexeddb/create-and-remove-object-store-expected.txt:
* storage/indexeddb/create-object-store-options-expected.txt:
* storage/indexeddb/createIndex-after-failure-expected.txt:
* storage/indexeddb/createObjectStore-name-argument-required-expected.txt:
* storage/indexeddb/createObjectStore-null-name-expected.txt:
* storage/indexeddb/cursor-added-bug-expected.txt:
* storage/indexeddb/cursor-advance-expected.txt:
* storage/indexeddb/cursor-basics-expected.txt:
* storage/indexeddb/cursor-cast-expected.txt:
* storage/indexeddb/cursor-continue-dir-expected.txt:
* storage/indexeddb/cursor-continue-expected.txt:
* storage/indexeddb/cursor-continue-validity-expected.txt:
* storage/indexeddb/cursor-delete-expected.txt:
* storage/indexeddb/cursor-finished-expected.txt:
* storage/indexeddb/cursor-inconsistency-expected.txt:
* storage/indexeddb/cursor-index-delete-expected.txt:
* storage/indexeddb/cursor-key-order-expected.txt:
* storage/indexeddb/cursor-overloads-expected.txt:
* storage/indexeddb/cursor-prev-no-duplicate-expected.txt:
* storage/indexeddb/cursor-primary-key-order-expected.txt:
* storage/indexeddb/cursor-properties-expected.txt:
* storage/indexeddb/cursor-reverse-bug-expected.txt:
* storage/indexeddb/cursor-skip-deleted-expected.txt:
* storage/indexeddb/cursor-update-expected.txt:
* storage/indexeddb/cursor-update-value-argument-required-expected.txt:
* storage/indexeddb/cursor-value-expected.txt:
* storage/indexeddb/database-basics-expected.txt:
* storage/indexeddb/database-close-expected.txt:
* storage/indexeddb/database-closepending-flag-expected.txt:
* storage/indexeddb/database-deletepending-flag-expected.txt:
* storage/indexeddb/database-wrapper-expected.txt:
* storage/indexeddb/delete-closed-database-object-expected.txt:
* storage/indexeddb/delete-in-upgradeneeded-close-in-open-success-expected.txt:
* storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-expected.txt:
* storage/indexeddb/delete-range-expected.txt:
* storage/indexeddb/deleteIndex-expected.txt:
* storage/indexeddb/deleteObjectStore-name-argument-required-expected.txt:
* storage/indexeddb/deleteObjectStore-null-name-expected.txt:
* storage/indexeddb/deleted-objects-expected.txt:
* storage/indexeddb/deletedatabase-blocked-expected.txt:
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-expected.txt:
* storage/indexeddb/deletedatabase-not-blocked-expected.txt:
* storage/indexeddb/deletedatabase-transaction-expected.txt:
* storage/indexeddb/dont-wedge-expected.txt:
* storage/indexeddb/duplicates-expected.txt:
* storage/indexeddb/error-causes-abort-by-default-expected.txt:
* storage/indexeddb/exception-in-event-aborts-expected.txt:
* storage/indexeddb/exceptions-expected.txt:
* storage/indexeddb/factory-deletedatabase-expected.txt:
* storage/indexeddb/get-keyrange-expected.txt:
* storage/indexeddb/index-basics-expected.txt:
* storage/indexeddb/index-count-expected.txt:
* storage/indexeddb/index-cursor-expected.txt:
* storage/indexeddb/index-duplicate-keypaths-expected.txt:
* storage/indexeddb/index-get-key-argument-required-expected.txt:
* storage/indexeddb/index-multientry-expected.txt:
* storage/indexeddb/index-population-expected.txt:
* storage/indexeddb/index-unique-expected.txt:
* storage/indexeddb/intversion-abort-in-initial-upgradeneeded-expected.txt:
* storage/indexeddb/intversion-bad-parameters-expected.txt:
* storage/indexeddb/intversion-blocked-expected.txt:
* storage/indexeddb/intversion-close-between-events-expected.txt:
* storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
* storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
* storage/indexeddb/intversion-encoding-expected.txt:
* storage/indexeddb/intversion-gated-on-delete-expected.txt:
* storage/indexeddb/intversion-long-queue-expected.txt:
* storage/indexeddb/intversion-omit-parameter-expected.txt:
* storage/indexeddb/intversion-open-in-upgradeneeded-expected.txt:
* storage/indexeddb/intversion-open-with-version-expected.txt:
* storage/indexeddb/intversion-pending-version-changes-ascending-expected.txt:
* storage/indexeddb/intversion-pending-version-changes-descending-expected.txt:
* storage/indexeddb/intversion-pending-version-changes-same-expected.txt:
* storage/indexeddb/intversion-persistence-expected.txt:
* storage/indexeddb/intversion-revert-on-abort-expected.txt:
* storage/indexeddb/intversion-two-opens-no-versions-expected.txt:
* storage/indexeddb/intversion-upgrades-expected.txt:
* storage/indexeddb/invalid-keys-expected.txt:
* storage/indexeddb/key-generator-expected.txt:
* storage/indexeddb/key-sort-order-across-types-expected.txt:
* storage/indexeddb/key-sort-order-date-expected.txt:
* storage/indexeddb/key-type-array-expected.txt:
* storage/indexeddb/key-type-binary-expected.txt:
* storage/indexeddb/key-type-infinity-expected.txt:
* storage/indexeddb/keypath-arrays-expected.txt:
* storage/indexeddb/keypath-basics-expected.txt:
* storage/indexeddb/keypath-edges-expected.txt:
* storage/indexeddb/keypath-fetch-key-expected.txt:
* storage/indexeddb/keypath-intrinsic-properties-expected.txt:
* storage/indexeddb/lazy-index-population-expected.txt:
* storage/indexeddb/lazy-index-types-expected.txt:
* storage/indexeddb/list-ordering-expected.txt:
* storage/indexeddb/metadata-expected.txt:
* storage/indexeddb/metadata-race-expected.txt:
* storage/indexeddb/modern/abort-objectstore-info-expected.txt:
* storage/indexeddb/modern/blocked-open-db-requests-expected.txt:
* storage/indexeddb/modern/memory-index-not-deleted-with-objectstore-expected.txt:
* storage/indexeddb/modern/transaction-scheduler-4-expected.txt:
* storage/indexeddb/mozilla/add-twice-failure-expected.txt:
* storage/indexeddb/mozilla/autoincrement-indexes-expected.txt:
* storage/indexeddb/mozilla/bad-keypath-expected.txt:
* storage/indexeddb/mozilla/clear-expected.txt:
* storage/indexeddb/mozilla/create-index-unique-expected.txt:
* storage/indexeddb/mozilla/create-index-with-integer-keys-expected.txt:
* storage/indexeddb/mozilla/create-objectstore-basics-expected.txt:
* storage/indexeddb/mozilla/create-objectstore-null-name-expected.txt:
* storage/indexeddb/mozilla/cursor-mutation-expected.txt:
* storage/indexeddb/mozilla/cursor-mutation-objectstore-only-expected.txt:
* storage/indexeddb/mozilla/cursor-update-updates-indexes-expected.txt:
* storage/indexeddb/mozilla/cursors-expected.txt:
* storage/indexeddb/mozilla/delete-result-expected.txt:
* storage/indexeddb/mozilla/event-source-expected.txt:
* storage/indexeddb/mozilla/global-data-expected.txt:
* storage/indexeddb/mozilla/index-prev-no-duplicate-expected.txt:
* storage/indexeddb/mozilla/indexes-expected.txt:
* storage/indexeddb/mozilla/key-requirements-delete-null-key-expected.txt:
* storage/indexeddb/mozilla/key-requirements-expected.txt:
* storage/indexeddb/mozilla/key-requirements-inline-and-passed-expected.txt:
* storage/indexeddb/mozilla/key-requirements-put-no-key-expected.txt:
* storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt:
* storage/indexeddb/mozilla/object-cursors-expected.txt:
* storage/indexeddb/mozilla/object-identity-expected.txt:
* storage/indexeddb/mozilla/object-store-inline-autoincrement-key-added-on-put-expected.txt:
* storage/indexeddb/mozilla/object-store-remove-values-expected.txt:
* storage/indexeddb/mozilla/objectstorenames-expected.txt:
* storage/indexeddb/mozilla/odd-result-order-expected.txt:
* storage/indexeddb/mozilla/put-get-values-expected.txt:
* storage/indexeddb/mozilla/readonly-transactions-expected.txt:
* storage/indexeddb/mozilla/readwrite-transactions-expected.txt:
* storage/indexeddb/mozilla/readyState-expected.txt:
* storage/indexeddb/mozilla/remove-index-expected.txt:
* storage/indexeddb/mozilla/remove-objectstore-expected.txt:
* storage/indexeddb/mozilla/versionchange-abort-expected.txt:
* storage/indexeddb/mutating-cursor-expected.txt:
* storage/indexeddb/noblobs-expected.txt:
* storage/indexeddb/object-lookups-in-versionchange-expected.txt:
* storage/indexeddb/objectStore-required-arguments-expected.txt:
* storage/indexeddb/objectstore-autoincrement-expected.txt:
* storage/indexeddb/objectstore-basics-expected.txt:
* storage/indexeddb/objectstore-clear-expected.txt:
* storage/indexeddb/objectstore-count-expected.txt:
* storage/indexeddb/objectstore-cursor-expected.txt:
* storage/indexeddb/objectstore-removeobjectstore-expected.txt:
* storage/indexeddb/open-cursor-expected.txt:
* storage/indexeddb/open-during-transaction-expected.txt:
* storage/indexeddb/open-ordering-expected.txt:
* storage/indexeddb/opencursor-key-expected.txt:
* storage/indexeddb/optional-arguments-expected.txt:
* storage/indexeddb/pending-activity-expected.txt:
* storage/indexeddb/persistence-expected.txt:
* storage/indexeddb/prefetch-bugfix-108071-expected.txt:
* storage/indexeddb/prefetch-invalidation-expected.txt:
* storage/indexeddb/prefetch-race-expected.txt:
* storage/indexeddb/queued-commands-expected.txt:
* storage/indexeddb/readonly-expected.txt:
* storage/indexeddb/readonly-properties-expected.txt:
* storage/indexeddb/request-continue-abort-expected.txt:
* storage/indexeddb/request-event-propagation-expected.txt:
* storage/indexeddb/request-result-cache-expected.txt:
* storage/indexeddb/set_version_blocked-expected.txt:
* storage/indexeddb/setversion-blocked-by-versionchange-close-expected.txt:
* storage/indexeddb/setversion-not-blocked-expected.txt:
* storage/indexeddb/structured-clone-expected.txt:
* storage/indexeddb/transaction-abort-expected.txt:
* storage/indexeddb/transaction-active-flag-expected.txt:
* storage/indexeddb/transaction-after-close-expected.txt:
* storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
* storage/indexeddb/transaction-basics-expected.txt:
* storage/indexeddb/transaction-complete-with-js-recursion-cross-frame-expected.txt:
* storage/indexeddb/transaction-complete-with-js-recursion-expected.txt:
* storage/indexeddb/transaction-coordination-across-databases-expected.txt:
* storage/indexeddb/transaction-coordination-within-database-expected.txt:
* storage/indexeddb/transaction-crash-in-tasks-expected.txt:
* storage/indexeddb/transaction-crash-on-abort-expected.txt:
* storage/indexeddb/transaction-error-expected.txt:
* storage/indexeddb/transaction-event-propagation-expected.txt:
* storage/indexeddb/transaction-ordering-expected.txt:
* storage/indexeddb/transaction-overlapping-expected.txt:
* storage/indexeddb/transaction-read-only-expected.txt:
* storage/indexeddb/transaction-readwrite-exclusive-expected.txt:
* storage/indexeddb/transaction-rollback-expected.txt:
* storage/indexeddb/transaction-scope-sequencing-expected.txt:
* storage/indexeddb/transaction-starvation-expected.txt:
* storage/indexeddb/transaction-storeNames-required-expected.txt:
* storage/indexeddb/unblocked-version-changes-expected.txt:
* storage/indexeddb/value-undefined-expected.txt:
* storage/indexeddb/values-odd-types-expected.txt:
* storage/indexeddb/version-change-abort-expected.txt:
* storage/indexeddb/version-change-event-expected.txt:
* storage/indexeddb/version-change-exclusive-expected.txt:

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

4 years agoRemove TextRun::allowsRoundingHacks()
mmaxfield@apple.com [Sun, 17 Jan 2016 04:54:32 +0000 (04:54 +0000)]
Remove TextRun::allowsRoundingHacks()
https://bugs.webkit.org/show_bug.cgi?id=153185

Reviewed by Simon Fraser.

Source/WebCore:

Rounding hacks are disallowed by default, and are only re-enabled on iOS 4 and
earlier, which are not supported OSes. Because they are disallowed on all
supported configurations, remove support for them wholesale.

No new tests.

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawTextInternal):
* platform/graphics/FontCascade.cpp:
* platform/graphics/FontCascade.h:
(WebCore::FontCascade::isRoundingHackCharacter): Deleted.
* platform/graphics/StringTruncator.cpp:
(WebCore::stringWidth):
(WebCore::truncateString):
(WebCore::StringTruncator::centerTruncate):
(WebCore::StringTruncator::rightTruncate):
(WebCore::StringTruncator::width):
(WebCore::StringTruncator::leftTruncate):
(WebCore::StringTruncator::rightClipToCharacter):
(WebCore::StringTruncator::rightClipToWord):
* platform/graphics/StringTruncator.h:
* platform/graphics/TextRun.cpp:
(WebCore::TextRun::setAllowsRoundingHacks): Deleted.
(WebCore::TextRun::allowsRoundingHacks): Deleted.
* platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun):
(WebCore::TextRun::applyRunRounding): Deleted.
(WebCore::TextRun::applyWordRounding): Deleted.
(WebCore::TextRun::disableRoundingHacks): Deleted.
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::advanceInternal):
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::adjustGlyphsAndAdvances):
* platform/mac/DragImageMac.mm:
(WebCore::widthWithFont): Deleted.
(WebCore::drawAtPoint): Deleted.
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::fileTextValue):
(WebCore::RenderFileUploadControl::paintObject): Deleted.
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::paintItemForeground):
(WebCore::RenderListBox::updateFromElement): Deleted.
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::getAverageCharWidth): Deleted.
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::fileListNameForWidth):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::fileListNameForWidth):
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::constructTextRun): Deleted.
* rendering/svg/SVGTextMetrics.cpp:
(WebCore::SVGTextMetrics::constructTextRun): Deleted.
* testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState): Deleted.
(WebCore::Internals::allowRoundingHacks): Deleted.
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit/ios:

* Misc/WebUIKitSupport.mm:
(WebKitInitialize): Deleted.

Source/WebKit/mac:

* Misc/WebKitNSStringExtras.mm:
(-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]): Deleted.
(-[NSString _web_widthWithFont:]): Deleted.
* WebView/WebView.mm:
(+[WebView _setAllowsRoundingHacks:]): Deleted.
(+[WebView _allowsRoundingHacks]): Deleted.
* WebView/WebViewPrivate.h:

Tools:

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentStateBeforeTesting): Deleted.

LayoutTests:

* platform/mac/fast/text/rounding-hacks-expansion.html: Removed.
* platform/mac/fast/text/rounding-hacks.html: Removed.
* platform/mac/platform/mac/fast/text/rounding-hacks-expansion-expected.png: Removed.
* platform/mac/platform/mac/fast/text/rounding-hacks-expansion-expected.txt: Removed.
* platform/mac/platform/mac/fast/text/rounding-hacks-expected.png: Removed.
* platform/mac/platform/mac/fast/text/rounding-hacks-expected.txt: Removed.
* svg/text/svg-font-word-rounding-hacks-spaces-expected.html: Removed.
* svg/text/svg-font-word-rounding-hacks-spaces.html: Removed.

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

4 years agoAllocate style sheet media queries in BumpArena.
akling@apple.com [Sun, 17 Jan 2016 00:21:44 +0000 (00:21 +0000)]
Allocate style sheet media queries in BumpArena.
<https://webkit.org/b/153188>

Reviewed by Antti Koivisto.

Teach the CSS parser to allocate MediaQuery and MediaQueryExp from BumpArena as well.

* css/CSSGrammar.y.in:
* css/MediaQuery.h:
* css/MediaQueryExp.h:

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

4 years ago[ES6] Arrow function syntax. Arrow function should support the destructuring parameters.
commit-queue@webkit.org [Sun, 17 Jan 2016 00:04:37 +0000 (00:04 +0000)]
[ES6] Arrow function syntax. Arrow function should support the destructuring parameters.
https://bugs.webkit.org/show_bug.cgi?id=146934

Patch by Skachkov Oleksandr <gskachkov@gmail.com> on 2016-01-16
Reviewed by Saam Barati.
Source/JavaScriptCore:

Added support of destructuring parameters, before arrow function expect only simple parameters,
e.g. (), (x), (x, y) or x in assigment expressio. To support destructuring parameters added
additional check that check for destructuring paramters if check does not pass for simple parameters.

* parser/Parser.cpp:
(JSC::Parser<LexerType>::isArrowFunctionParameters):
(JSC::Parser<LexerType>::parseAssignmentExpression):
* parser/Parser.h:

LayoutTests:

* js/arrowfunction-syntax-errors-expected.txt:
* js/arrowfunction-syntax-expected.txt:
* js/script-tests/arrowfunction-syntax-errors.js:
* js/script-tests/arrowfunction-syntax.js:

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

4 years ago[GTK] Add a couple comments to ScrollbarThemeGtk
mcatanzaro@igalia.com [Sun, 17 Jan 2016 00:00:43 +0000 (00:00 +0000)]
[GTK] Add a couple comments to ScrollbarThemeGtk
https://bugs.webkit.org/show_bug.cgi?id=153184

Reviewed by Carlos Garcia Campos.

* platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::ScrollbarThemeGtk::paint):

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

4 years agoFix some responsive issues on smaller screens.
timothy@apple.com [Sat, 16 Jan 2016 21:05:56 +0000 (21:05 +0000)]
Fix some responsive issues on smaller screens.

* wp-content/themes/webkit/style.css:
(.timeline .time):
(@media (max-width: 900px)):
(.timeline:before):
(.timeline > li):
(.timeline > li:before):
(.timeline .content):
(.timeline li .time::before):

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

4 years agoWeb Inspector: Add tests for Array Utilities like lowerBound/upperBound
commit-queue@webkit.org [Sat, 16 Jan 2016 20:53:55 +0000 (20:53 +0000)]
Web Inspector: Add tests for Array Utilities like lowerBound/upperBound
https://bugs.webkit.org/show_bug.cgi?id=153177

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

* inspector/unit-tests/array-utilities-expected.txt: Added.
* inspector/unit-tests/array-utilities.html: Added.

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

4 years ago.:
commit-queue@webkit.org [Sat, 16 Jan 2016 20:50:22 +0000 (20:50 +0000)]
.:
[GTK] Use -Wl,-all_load on darwin to include contents of all static archives

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

Patch by Jeremy Huddleston Sequoia <jeremyhu@apple.com> on 2016-01-16
Reviewed by Michael Catanzaro.

* Source/cmake/OptionsGTK.cmake:

Source/WebKit2:
Remove a now-irrelevant darwin build hack
https://bugs.webkit.org/show_bug.cgi?id=153117

Patch by Jeremy Huddleston Sequoia <jeremyhu@apple.com> on 2016-01-16
Reviewed by Michael Catanzaro.

* PlatformGTK.cmake:

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

4 years agoGive RuleSet a BumpArena and start using it for RuleDataVectors.
akling@apple.com [Sat, 16 Jan 2016 20:37:25 +0000 (20:37 +0000)]
Give RuleSet a BumpArena and start using it for RuleDataVectors.
<https://webkit.org/b/153169>

Reviewed by Antti Koivisto.

Since RuleSet only supports appending rules and doesn't need to worry about removing them,
it's a great candidate for BumpArena optimizations.

Give each RuleSet its own BumpArena and teach them how to allocate RuleDataVector objects
out of them.

There are more things that can be done here, ideally all the sub-allocations inside RuleSet
that happen via e.g Vector and HashMap would also come out of the BumpArena.

* css/RuleSet.cpp:
(WebCore::RuleSet::RuleSet):
(WebCore::RuleSet::addToRuleSet):
(WebCore::RuleSet::copyShadowPseudoElementRulesFrom):
* css/RuleSet.h:
(WebCore::RuleSet::RuleDataVector::create):
(WebCore::RuleSet::RuleSet): Deleted.

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

4 years agoSource/WebCore:
simon.fraser@apple.com [Sat, 16 Jan 2016 19:07:34 +0000 (19:07 +0000)]
Source/WebCore:
Fix flakiness of displaylists/layer-dispay-list.html

When toggling "uses display list drawing" on a GraphicsLayerCA, do
a repaint.

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setUsesDisplayListDrawing):

LayoutTests:
This test needs to force layout before calling setElementUsesDisplayListDrawing(),
so that the layer already has its "drawsContents" property updated.

* displaylists/layer-dispay-list.html:

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

4 years ago[iOS] Replace deprecated -[UIDocumentMenuViewController
jhoneycutt@apple.com [Sat, 16 Jan 2016 19:03:08 +0000 (19:03 +0000)]
[iOS] Replace deprecated -[UIDocumentMenuViewController
_setIgnoreApplicationEntitlementForImport:]

<https://bugs.webkit.org/show_bug.cgi?id=145690>
<rdar://problem/20636577>

Reviewed by Brent Fulgham.

* Platform/spi/ios/UIKitSPI.h:
Replace deprecated SPI with newer SPI.

* UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel presentWithParameters:resultListener:]):
(-[WKFileUploadPanel _showDocumentPickerMenu]):
Ditto.

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

4 years agoRemove GraphicsContext::drawConvexPolygon() and GraphicsContext::clipConvexPolygon()
simon.fraser@apple.com [Sat, 16 Jan 2016 18:12:41 +0000 (18:12 +0000)]
Remove GraphicsContext::drawConvexPolygon() and GraphicsContext::clipConvexPolygon()
https://bugs.webkit.org/show_bug.cgi?id=153174

Reviewed by Zalan Bujtas.

GraphicsContext::drawConvexPolygon() and GraphicsContext::clipConvexPolygon() were
poorly named (non-convex polygons are allowed), and just syntactic sugar over
clipPath() and drawPath().

Remove them, but add a convenience function to create a Path from a Vector of
points. For CG, we can use the more efficient CGPathAddLines().
Source/WebCore:

Add TextStream dumping for Path.

* platform/graphics/GraphicsContext.h:
* platform/graphics/Path.cpp:
(WebCore::Path::polygonPathFromPoints):
(WebCore::Path::dump):
(WebCore::operator<<):
* platform/graphics/Path.h:
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::setPlatformShouldAntialias):
(WebCore::addConvexPolygonToContext): Deleted.
(WebCore::GraphicsContext::drawConvexPolygon): Deleted.
(WebCore::GraphicsContext::clipConvexPolygon): Deleted.
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::addConvexPolygonToPath): Deleted.
(WebCore::GraphicsContext::drawConvexPolygon): Deleted.
(WebCore::GraphicsContext::clipConvexPolygon): Deleted.
* platform/graphics/cg/PathCG.cpp:
(WebCore::Path::polygonPathFromPoints):
(WebCore::Path::moveTo):
(WebCore::Path::addLineTo):
(WebCore::Path::addQuadCurveTo):
(WebCore::Path::addBezierCurveTo):
(WebCore::Path::addArcTo):
* platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::Item::sizeInBytes): Deleted.
(WebCore::DisplayList::ClipConvexPolygon::ClipConvexPolygon): Deleted.
(WebCore::DisplayList::ClipConvexPolygon::apply): Deleted.
(WebCore::DisplayList::operator<<): Deleted.
(WebCore::DisplayList::addConvexPolygonToPath): Deleted.
(WebCore::DisplayList::DrawConvexPolygon::DrawConvexPolygon): Deleted.
(WebCore::DisplayList::DrawConvexPolygon::localBounds): Deleted.
(WebCore::DisplayList::DrawConvexPolygon::apply): Deleted.
* platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::ClipConvexPolygon::create): Deleted.
(WebCore::DisplayList::ClipConvexPolygon::points): Deleted.
(WebCore::DisplayList::ClipConvexPolygon::antialias): Deleted.
(WebCore::DisplayList::DrawConvexPolygon::create): Deleted.
(WebCore::DisplayList::DrawConvexPolygon::points): Deleted.
(WebCore::DisplayList::DrawConvexPolygon::antialiased): Deleted.
* platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::drawConvexPolygon): Deleted.
(WebCore::DisplayList::Recorder::clipConvexPolygon): Deleted.
* platform/graphics/displaylists/DisplayListRecorder.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::clipBorderSidePolygon):
* rendering/RenderElement.cpp:
(WebCore::RenderElement::drawLineForBoxSide):
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintMenuListButtonDecorations):

Source/WebKit/win:

* FullscreenVideoController.cpp:
(HUDSlider::draw):

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

4 years agoAdd Platform.cpp to ANGLESupport
commit-queue@webkit.org [Sat, 16 Jan 2016 16:46:03 +0000 (16:46 +0000)]
Add Platform.cpp to ANGLESupport

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

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

No new tests, only addresses a build failure.

* CMakeLists.txt:

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

4 years ago[GTK] Unreviewed. Fix a typo in an API comment.
mcatanzaro@igalia.com [Sat, 16 Jan 2016 15:15:09 +0000 (15:15 +0000)]
[GTK] Unreviewed. Fix a typo in an API comment.

* UIProcess/API/gtk/WebKitWebViewSessionState.cpp:

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

4 years ago[GTK] List box selections stopped working again with GTK+ from current git master
carlosgc@webkit.org [Sat, 16 Jan 2016 09:44:17 +0000 (09:44 +0000)]
[GTK] List box selections stopped working again with GTK+ from current git master
https://bugs.webkit.org/show_bug.cgi?id=153122

Reviewed by Michael Catanzaro.

The problem is that the ListBox selection implementation is
wrong. We are using a similar implementation to GtkEntry, but
GtkTreeView doesn't have a child CSS node for selections.

* rendering/RenderThemeGtk.cpp:
(WebCore::styleColor): Don't use a child style context for ListBox selections.
(WebCore::createStyleContext): Remove ListBoxSelection.

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

4 years ago[GTK] GVariant runtime critical errors when encoding session data
carlosgc@webkit.org [Sat, 16 Jan 2016 09:36:44 +0000 (09:36 +0000)]
[GTK] GVariant runtime critical errors when encoding session data
https://bugs.webkit.org/show_bug.cgi?id=153130

Reviewed by Michael Catanzaro.

It happens when the FrameState has children, because the recursive
serialization is wrong. Also fix serialization of
documentSequenceNumber and itemSequenceNumber that are gint64, not
guint64.

* UIProcess/API/gtk/WebKitWebViewSessionState.cpp:
(encodeFrameState): Let the caller open/init the given
builder. Use a new builder to encode child states recursively.
(encodePageState): Do the builder open/close for the FrameState encoding.
(decodeFrameState): Get the variant of every child.

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

4 years ago[SOUP] Initialize HTTP version of ResourceResponse
carlosgc@webkit.org [Sat, 16 Jan 2016 08:49:18 +0000 (08:49 +0000)]
[SOUP] Initialize HTTP version of ResourceResponse
https://bugs.webkit.org/show_bug.cgi?id=153088

Reviewed by Michael Catanzaro.

* platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::updateFromSoupMessage):

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

4 years agoTiny cleanup in FontFaceComparator
mmaxfield@apple.com [Sat, 16 Jan 2016 08:25:27 +0000 (08:25 +0000)]
Tiny cleanup in FontFaceComparator
https://bugs.webkit.org/show_bug.cgi?id=153044

Reviewed by Zalan Bujtas.

This is a follow-up patch to r194923.

No new tests because there is no behavior change.

* css/CSSFontSelector.cpp:
(WebCore::FontFaceComparator::FontFaceComparator):
(WebCore::FontFaceComparator::operator()):

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

4 years ago[webkitdirs] Avoid list form of open because it broke WinCairo
commit-queue@webkit.org [Sat, 16 Jan 2016 03:57:27 +0000 (03:57 +0000)]
[webkitdirs] Avoid list form of open because it broke WinCairo
https://bugs.webkit.org/show_bug.cgi?id=153106

Patch by Konstantin Tokarev <annulen@yandex.ru> on 2016-01-15
Reviewed by Alex Christensen.

* Scripts/webkitdirs.pm:
(determineArchitecture):

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

4 years agoFrameLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame() is never...
jiewen_tan@apple.com [Sat, 16 Jan 2016 02:08:08 +0000 (02:08 +0000)]
FrameLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame() is never called when loading a main resource from the memory cache
https://bugs.webkit.org/show_bug.cgi?id=152520
<rdar://problem/23305737>

Reviewed by Andy Estes.

Source/WebCore:

Test: http/tests/loading/server-redirect-for-provisional-load-caching.html

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::responseReceived):
Dispatch message to notify client that a cached resource was redirected. So,
client can make proper actions to treat server side redirection.
* loader/cache/CachedRawResource.h:
Add a method to tell whether the cached resource was redirected.

LayoutTests:

* http/tests/loading/resources/server-redirect-result.html: Added.
* http/tests/loading/resources/server-redirect.php: Added.
* http/tests/loading/server-redirect-for-provisional-load-caching-expected.txt: Added.
* http/tests/loading/server-redirect-for-provisional-load-caching.html: Added.

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

4 years agoContent blocking console messages are not deterministic for one test
mmaxfield@apple.com [Sat, 16 Jan 2016 01:55:03 +0000 (01:55 +0000)]
Content blocking console messages are not deterministic for one test
https://bugs.webkit.org/show_bug.cgi?id=153051

Unreviewed.

Console messages will print the line number of whichever JavaScript line is
being parsed. However, font requests (and therefore content blockers) are
not run in response to script. The solution is to add the webfont style
from script, so the line number is deterministic.

* http/tests/contentextensions/font-display-none-repeated-layout.html:

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

4 years agoDrop obsolete HTMLDocument.width / height attributes
cdumez@apple.com [Sat, 16 Jan 2016 01:03:47 +0000 (01:03 +0000)]
Drop obsolete HTMLDocument.width / height attributes
https://bugs.webkit.org/show_bug.cgi?id=153144

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline W3C test now that more checks are passing.

* web-platform-tests/dom/historical-expected.txt:

Source/WebCore:

Drop obsolete HTMLDocument.width / height attributes as these are
obsolete and already not supported by other major browsers (tested
Firefox and Chrome).

No new tests, already covered by existing tests.

* html/HTMLDocument.idl:

LayoutTests:

* fast/dom/HTMLDocument/width-and-height-expected.txt: Removed.
* fast/dom/HTMLDocument/width-and-height.html: Removed.
Drop outdated test.

* fast/dom/Window/window-property-invalid-characters-ignored-expected.txt:
* fast/dom/Window/window-property-invalid-characters-ignored.html:
Stop relying on Document.width / height as these are obsolete.

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

4 years ago[JSC] Legalize Memory Offsets for ARM64 before lowering to Air
commit-queue@webkit.org [Sat, 16 Jan 2016 00:37:29 +0000 (00:37 +0000)]
[JSC] Legalize Memory Offsets for ARM64 before lowering to Air
https://bugs.webkit.org/show_bug.cgi?id=153065

Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-01-15
Reviewed by Mark Lam.
Reviewed by Filip Pizlo.

On ARM64, we cannot use signed 32bits offset for memory addressing.
There are two available addressing: signed 9bits and unsigned scaled 12bits.
Air already knows about it.

In this patch, the offsets are changed to something valid for ARM64
prior to lowering. When an offset is invalid, it is just computed
before the instruction and used as the base for addressing.

* JavaScriptCore.xcodeproj/project.pbxproj:
* b3/B3Generate.cpp:
(JSC::B3::generateToAir):
* b3/B3LegalizeMemoryOffsets.cpp: Added.
(JSC::B3::legalizeMemoryOffsets):
* b3/B3LegalizeMemoryOffsets.h: Added.
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::effectiveAddr): Deleted.
* b3/testb3.cpp:
(JSC::B3::testLoadWithOffsetImpl):
(JSC::B3::testLoadOffsetImm9Max):
(JSC::B3::testLoadOffsetImm9MaxPlusOne):
(JSC::B3::testLoadOffsetImm9MaxPlusTwo):
(JSC::B3::testLoadOffsetImm9Min):
(JSC::B3::testLoadOffsetImm9MinMinusOne):
(JSC::B3::testLoadOffsetScaledUnsignedImm12Max):
(JSC::B3::testLoadOffsetScaledUnsignedOverImm12Max):
(JSC::B3::run):

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

4 years agoAdd a test for touch events in scaled documents
bdakin@apple.com [Sat, 16 Jan 2016 00:16:26 +0000 (00:16 +0000)]
Add a test for touch events in scaled documents
https://bugs.webkit.org/show_bug.cgi?id=153149
-and corresponding-
rdar://problem/24181371

Reviewed by Simon Fraser.

* fast/events/touch/ios/touch-event-in-scaled-document-expected.txt: Added.
* fast/events/touch/ios/touch-event-in-scaled-document.html: Added.

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

4 years agoDrop obsolete DocumentType.entities / notations
cdumez@apple.com [Sat, 16 Jan 2016 00:08:44 +0000 (00:08 +0000)]
Drop obsolete DocumentType.entities / notations
https://bugs.webkit.org/show_bug.cgi?id=153147

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline W3C test now that more checks are passing.

* web-platform-tests/dom/historical-expected.txt:

Source/WebCore:

Drop obsolete DocumentType.entities / notations attributes.

Firefox and Chrome already dropped those. We already dropped support for
entities and notations so these always returned null.

No new tests, already covered by existing tests.

* dom/DocumentType.h:
* dom/DocumentType.idl:

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

4 years agoMake a way to test display-list drawing
simon.fraser@apple.com [Fri, 15 Jan 2016 23:57:41 +0000 (23:57 +0000)]
Make a way to test display-list drawing
https://bugs.webkit.org/show_bug.cgi?id=152956

Reviewed by Ryosuke Niwa.
Source/WebCore:

Make it possible to toggle display-list drawing for a given compositing
layer via internals, as well as getting a textual representation of the display
list, optionally including items with platform-specific behavior.

Add one test that uses this.

Test: displaylists/layer-dispay-list.html

* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::displayListAsText):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::displayListAsText):
* platform/graphics/ca/GraphicsLayerCA.h:
* platform/graphics/displaylists/DisplayList.cpp:
(WebCore::DisplayList::DisplayList::shouldDumpForFlags):
(WebCore::DisplayList::DisplayList::asText):
* platform/graphics/displaylists/DisplayList.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::setUsesDisplayListDrawing):
(WebCore::RenderLayerBacking::displayListAsText):
* rendering/RenderLayerBacking.h:
* testing/Internals.cpp:
(WebCore::Internals::setElementUsesDisplayListDrawing):
(WebCore::Internals::displayListForElement):
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

Enable displaylists tests on Mac and iOS.

* TestExpectations:
* displaylists/layer-dispay-list-expected.txt: Added.
* displaylists/layer-dispay-list.html: Added.
* platform/ios-simulator/TestExpectations:
* platform/mac/TestExpectations:

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

4 years agoFix internal Windows build
achristensen@apple.com [Fri, 15 Jan 2016 23:42:04 +0000 (23:42 +0000)]
Fix internal Windows build
https://bugs.webkit.org/show_bug.cgi?id=153142

Source/JavaScriptCore:

Reviewed by Brent Fulgham.

The internal Windows build builds JavaScriptCore from a directory that is not called JavaScriptCore.
Searching for JavaScriptCore/API/APICast.h fails because it is in SomethingElse/API/APICast.h.
Since we are including the JavaScriptCore directory, it is not necessary to have JavaScriptCore in
the forwarding headers, but removing it allows builds form directories that are not named JavaScriptCore.

* ForwardingHeaders/JavaScriptCore/APICast.h:
* ForwardingHeaders/JavaScriptCore/JSBase.h:
* ForwardingHeaders/JavaScriptCore/JSCTestRunnerUtils.h:
* ForwardingHeaders/JavaScriptCore/JSContextRef.h:
* ForwardingHeaders/JavaScriptCore/JSObjectRef.h:
* ForwardingHeaders/JavaScriptCore/JSRetainPtr.h:
* ForwardingHeaders/JavaScriptCore/JSStringRef.h:
* ForwardingHeaders/JavaScriptCore/JSStringRefCF.h:
* ForwardingHeaders/JavaScriptCore/JSValueRef.h:
* ForwardingHeaders/JavaScriptCore/JavaScript.h:
* ForwardingHeaders/JavaScriptCore/JavaScriptCore.h:
* ForwardingHeaders/JavaScriptCore/OpaqueJSString.h:
* ForwardingHeaders/JavaScriptCore/WebKitAvailability.h:

Source/WebKit2:

Unreviewed addition to Alex's JSC patch, which was reviewed by Brent Fulgham. Pass
-I${JAVASCRIPTCORE_DIR} to g-ir-scanner.

Patch by Michael Catanzaro <mcatanzaro@igalia.com> on 2016-01-15

* PlatformGTK.cmake:

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

4 years agoFix audio build with video disabled
commit-queue@webkit.org [Fri, 15 Jan 2016 23:34:25 +0000 (23:34 +0000)]
Fix audio build with video disabled
https://bugs.webkit.org/show_bug.cgi?id=153134

Patch by Olivier Blin <olivier.blin@softathome.com> on 2016-01-15
Reviewed by Michael Catanzaro.

Build fails when WebAudio is enabled but VIDEO disabled.

No new tests since this is a build fix only.

* platform/audio/PlatformMediaSession.cpp:
* platform/audio/PlatformMediaSession.h:
* platform/audio/PlatformMediaSessionManager.cpp:
* testing/Internals.cpp:
(WebCore::Internals::setAudioContextRestrictions):

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

4 years ago[GTK] Fix build of RenderThemeGtk without VIDEO by including HTMLInputElement
commit-queue@webkit.org [Fri, 15 Jan 2016 23:22:45 +0000 (23:22 +0000)]
[GTK] Fix build of RenderThemeGtk without VIDEO by including HTMLInputElement
https://bugs.webkit.org/show_bug.cgi?id=153133

Patch by Olivier Blin <olivier.blin@softathome.com> on 2016-01-15
Reviewed by Michael Catanzaro.

Build was fine with VIDEO enabled, since HTMLInputElement.h was
included by transitivity through MediaControlElements.h and
MediaControlElementTypes.h.

This seems to be broken since r194847.

No new tests since this is just a build fix.

* rendering/RenderThemeGtk.cpp:

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

4 years agocreateElementNS and createAttributeNS should treat undefined namespaceURI as null...
rniwa@webkit.org [Fri, 15 Jan 2016 23:06:32 +0000 (23:06 +0000)]
createElementNS and createAttributeNS should treat undefined namespaceURI as null string
https://bugs.webkit.org/show_bug.cgi?id=153119

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

Rebaseline a test now that more test cases are passing.

* web-platform-tests/dom/nodes/Document-createElementNS-expected.txt:

Source/WebCore:

Treat undefined as null in document.createElementNS and document.createAttributeNS as defined in:
https://dom.spec.whatwg.org/#document

Test: fast/dom/Document/createAttributeNS-undefined-namespace.html

* dom/Document.idl:

LayoutTests:

Add a regression test for calling createAttributeNS with undefined namespaceURI.

* fast/dom/Document/createAttributeNS-undefined-namespace-expected.txt: Added.
* fast/dom/Document/createAttributeNS-undefined-namespace.html: Added.

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

4 years agoRefine http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with...
jiewen_tan@apple.com [Fri, 15 Jan 2016 23:03:02 +0000 (23:03 +0000)]
Refine http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer*
https://bugs.webkit.org/show_bug.cgi?id=153140

Reviewed by Alexey Proskuryakov.

* http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-always.html:
* http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-default.html:
* http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-never.html:
* http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-no-referrer-when-downgrade.html:
* http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-no-referrer.html:
* http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-origin.html:
* http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-unsafe-url.html:
* http/tests/contentdispositionattachmentsandbox/referer-header-stripped.html:
* http/tests/contentdispositionattachmentsandbox/resources/referer-header-stripped.js:
(onload):
(navigation): Deleted.
The reason why the tests are not completed after calling testRunner.notifyDone() is that the original navigation()
is bound as the onload of the iframe which will dispatch two load events. Therefore, navigation() will be called
twice. Here, change the navigation() to be bound with the main frame's onload function, which will restrict it to
be called only once.

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