WebKit-https.git
7 years agoRenderNamedFlowThread should only support RenderElement children.
akling@apple.com [Wed, 12 Feb 2014 20:15:05 +0000 (20:15 +0000)]
RenderNamedFlowThread should only support RenderElement children.
<https://webkit.org/b/128675>

Tighten up flow-thread rendering so that it only supports element
children directly. This means we don't have to worry about text
renderers on this code path.

Reviewed by Antti Koivisto.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::insertedIntoTree):
(WebCore::RenderElement::willBeRemovedFromTree):
(WebCore::RenderElement::willBeDestroyed):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::nextRendererForElement):
(WebCore::RenderNamedFlowThread::addFlowChild):
(WebCore::RenderNamedFlowThread::removeFlowChild):
* rendering/RenderNamedFlowThread.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::willBeDestroyed):
(WebCore::RenderObject::insertedIntoTree):
(WebCore::RenderObject::willBeRemovedFromTree):
* style/StyleResolveTree.cpp:
(WebCore::Style::createRendererIfNeeded):

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

7 years agoAdd a mac-wk1 platform directory and TestExpectations file
beidson@apple.com [Wed, 12 Feb 2014 19:29:39 +0000 (19:29 +0000)]
Add a mac-wk1 platform directory and TestExpectations file
https://bugs.webkit.org/show_bug.cgi?id=128676

Reviewed by Alexey Proskuryakov.

Tools:

* Scripts/webkitpy/port/mac.py:
(MacPort.default_baseline_search_path): When running WK1 tests on Mac,
  make mac-wk1 be the frontmost search path.

LayoutTests:

* platform/mac-wk1/TestExpectations: Added. Skip IndexedDB here.
* platform/mac-wk2/TestExpectations: Manage all mac-wk2 IndexedDB expectations here
  instead of building off the default mac expectations.
* platform/mac/TestExpectations: Don’t skip IndexedDB here.

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

7 years agoWindows build fix attempt after r163960.
rniwa@webkit.org [Wed, 12 Feb 2014 18:57:01 +0000 (18:57 +0000)]
Windows build fix attempt after r163960.

* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:

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

7 years agoAdjust VM::stackLimit based on the size of the largest FTL stack produced
msaboff@apple.com [Wed, 12 Feb 2014 18:40:35 +0000 (18:40 +0000)]
Adjust VM::stackLimit based on the size of the largest FTL stack produced
https://bugs.webkit.org/show_bug.cgi?id=128562

Reviewed by Mark Lam.

Added VM::m_largestFTLStackSize to track the largest stack size of an FTL compiled
function. Added VM::m_ftlStackLimit for FTL functions stack limit.  Renamed
VM::updateStackLimitWithReservedZoneSize to VM::updateReservedZoneSize.  Renamed
VM::setStackLimit to VM::updateStackLimit and changed it to do the updating of the
stack limits, including taking into account m_largestFTLStackSize.

* ftl/FTLJITFinalizer.cpp:
(JSC::FTL::JITFinalizer::finalizeFunction):
* runtime/ErrorHandlingScope.cpp:
(JSC::ErrorHandlingScope::ErrorHandlingScope):
(JSC::ErrorHandlingScope::~ErrorHandlingScope):
* runtime/JSLock.cpp:
(JSC::JSLock::lock):
(JSC::JSLock::unlock):
(JSC::JSLock::grabAllLocks):
* runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::updateReservedZoneSize):
(JSC::VM::updateStackLimit):
(JSC::VM::updateFTLLargestStackSize):
* runtime/VM.h:

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

7 years agoIDB: Reimport storage/indexeddb tests from Blink
beidson@apple.com [Wed, 12 Feb 2014 18:17:47 +0000 (18:17 +0000)]
IDB: Reimport storage/indexeddb tests from Blink
https://bugs.webkit.org/show_bug.cgi?id=128636

Rubberstamped by Jer Noble.

Take two.

When I did this last night in r163923 the Mozilla tests outputted different results
because one of the logging functions they made had become more verbose.

This time we include the new test expectations for those tests, and update them to
reflect the different exception message outputted in WebKit vs Blink.

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

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

7 years agoWeb Inspector: Modernize missed inspector files
commit-queue@webkit.org [Wed, 12 Feb 2014 18:15:23 +0000 (18:15 +0000)]
Web Inspector: Modernize missed inspector files
https://bugs.webkit.org/show_bug.cgi?id=128661

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-02-12
Reviewed by Anders Carlsson.

Add final, override, and use nullptr where appropriate.

* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::asCSSStyleRule):
(WebCore::InspectorCSSAgent::discardAgent):
(WebCore::InspectorCSSAgent::disable):
(WebCore::InspectorCSSAgent::getInlineStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
(WebCore::InspectorCSSAgent::asInspectorStyleSheet):
(WebCore::InspectorCSSAgent::elementForId):
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
(WebCore::InspectorCSSAgent::assertStyleSheetForId):
(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
* inspector/InspectorFrontendClientLocal.h:

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

7 years agoStop using PLATFORM(MAC) in WebKit2/{Database,Network}Process except where it means...
mitz@apple.com [Wed, 12 Feb 2014 17:57:05 +0000 (17:57 +0000)]
Stop using PLATFORM(MAC) in WebKit2/{Database,Network}Process except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128659

Reviewed by Anders Carlsson.

* DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::createDatabaseToWebProcessConnection): Changed PLATFORM(MAC) to
OS(DARWIN) around use of Mach-based IPC.
Changed PLATFORM(MAC) to PLATFORM(COCOA) elsewhere in this file.
* NetworkProcess/NetworkProcess.cpp: Ditto.
(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
* NetworkProcess/NetworkProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* NetworkProcess/NetworkProcess.messages.in: Removed PLATFORM(MAC) guard around
SetProcessSuppressionEnabled. Changed it to PLATFORM(COCOA) around SetQOS.
* NetworkProcess/NetworkResourceLoader.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA)
(WebKit::NetworkResourceLoader::continueWillSendRequest):
* NetworkProcess/NetworkResourceLoader.h: Ditto.
* NetworkProcess/RemoteNetworkingContext.h: Ditto, matching WebCore::NetworkingContext.

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

7 years agoMake it possible to implement JS builtins in JS
oliver@apple.com [Wed, 12 Feb 2014 17:14:23 +0000 (17:14 +0000)]
Make it possible to implement JS builtins in JS
https://bugs.webkit.org/show_bug.cgi?id=127887

Reviewed by Michael Saboff.

.:

* GNUmakefile.am:
* Source/cmake/gtest/CMakeLists.txt:

Source/JavaScriptCore:

This patch makes it possible to write builtin functions in JS.
The bindings, generators, and definitions are all created automatically
based on js files in the builtins/ directory.  This patch includes one
such case: Array.prototype.js with an implementation of every().

There's a lot of refactoring to make it possible for CommonIdentifiers
to include the output of the generated files (DerivedSources/JSCBuiltins.{h,cpp})
without breaking the offset extractor. The result of this refactoring
is that CommonIdentifiers, and a few other miscellaneous headers now
need to be included directly as they were formerly captured through other
paths.

In addition this adds a flag to the Lookup table's hashentry to indicate
that a static function is actually backed by JS. There is then a lot of
logic to thread the special nature of the functon to where it matters.
This allows toString(), .caller, etc to mimic the behaviour of a host
function.

Notes on writing builtins:
 - Each function is compiled independently of the others, and those
   implementations cannot currently capture all global properties (as
   that could be potentially unsafe). If a function does capture a
   global we will deliberately crash.
 - For those "global" properties that we do want access to, we use
   the @ prefix, e.g. Object(this) becomes @Object(this). The @ identifiers
   are private names, and behave just like regular properties, only
   without the risk of adulteration. Again, in the @Object case, we
   explicitly duplicate the ObjectConstructor reference on the GlobalObject
   so that we have guaranteed access to the original version of the
   constructor.
 - call, apply, eval, and Function are all rejected identifiers, again
   to prevent anything from accidentally using an adulterated object.
   Instead @call and @apply are available, and happily they completely
   drop the neq_ptr instruction as they're defined as always being the
   original call/apply functions.

These restrictions are just intended to make it harder to accidentally
make changes that are incorrect (for instance calling whatever has been
assigned to global.Object, instead of the original constructor function).
However, making a mistake like this should result in a purely semantic
error as fundamentally these functions are treated as though they were
regular JS code in the host global, and have no more privileges than
any other JS.

The initial proof of concept is Array.prototype.every, this shows a 65%
performance improvement, and that improvement is significantly hurt by
our poor optimisation of op_in.

As this is such a limited function, we have not yet exported all symbols
that we could possibly need, but as we implement more, the likelihood
of encountering missing features will reduce.

* API/JSCallbackObjectFunctions.h:
(JSC::JSCallbackObject<Parent>::getOwnPropertySlot):
(JSC::JSCallbackObject<Parent>::put):
(JSC::JSCallbackObject<Parent>::deleteProperty):
(JSC::JSCallbackObject<Parent>::getStaticValue):
(JSC::JSCallbackObject<Parent>::staticFunctionGetter):
(JSC::JSCallbackObject<Parent>::callbackGetter):
* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.vcxproj/JavaScriptCoreCommon.props:
* JavaScriptCore.vcxproj/copy-files.cmd:
* JavaScriptCore.xcodeproj/project.pbxproj:
* builtins/Array.prototype.js:
(every):
* builtins/BuiltinExecutables.cpp: Added.
(JSC::BuiltinExecutables::BuiltinExecutables):
(JSC::BuiltinExecutables::createBuiltinExecutable):
* builtins/BuiltinExecutables.h:
(JSC::BuiltinExecutables::create):
* builtins/BuiltinNames.h: Added.
(JSC::BuiltinNames::BuiltinNames):
(JSC::BuiltinNames::getPrivateName):
(JSC::BuiltinNames::getPublicName):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
* bytecode/UnlinkedCodeBlock.cpp:
(JSC::generateFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
(JSC::UnlinkedFunctionExecutable::codeBlockFor):
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):
* bytecode/UnlinkedCodeBlock.h:
(JSC::ExecutableInfo::ExecutableInfo):
(JSC::UnlinkedFunctionExecutable::create):
(JSC::UnlinkedFunctionExecutable::toStrictness):
(JSC::UnlinkedFunctionExecutable::isBuiltinFunction):
(JSC::UnlinkedCodeBlock::isBuiltinFunction):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::isBuiltinFunction):
(JSC::BytecodeGenerator::makeFunction):
* bytecompiler/NodesCodegen.cpp:
(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
* create_hash_table:
* generate-js-builtins: Added.
(getCopyright):
(getFunctions):
(generateCode):
(mangleName):
(FunctionExecutable):
(Identifier):
(JSGlobalObject):
(SourceCode):
(UnlinkedFunctionExecutable):
(VM):
* interpreter/CachedCall.h:
(JSC::CachedCall::CachedCall):
* parser/ASTBuilder.h:
(JSC::ASTBuilder::makeFunctionCallNode):
* parser/Lexer.cpp:
(JSC::Lexer<T>::Lexer):
(JSC::isSafeBuiltinIdentifier):
(JSC::Lexer<LChar>::parseIdentifier):
(JSC::Lexer<UChar>::parseIdentifier):
(JSC::Lexer<T>::lex):
* parser/Lexer.h:
(JSC::isSafeIdentifier):
(JSC::Lexer<T>::lexExpectIdentifier):
* parser/Nodes.cpp:
(JSC::ProgramNode::setClosedVariables):
* parser/Nodes.h:
(JSC::ScopeNode::capturedVariables):
(JSC::ScopeNode::setClosedVariables):
(JSC::ProgramNode::closedVariables):
* parser/Parser.cpp:
(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::parseInner):
(JSC::Parser<LexerType>::didFinishParsing):
(JSC::Parser<LexerType>::printUnexpectedTokenText):
* parser/Parser.h:
(JSC::Scope::getUsedVariables):
(JSC::Parser::closedVariables):
(JSC::parse):
* parser/ParserModes.h:
* parser/ParserTokens.h:
* runtime/ArrayPrototype.cpp:
* runtime/CodeCache.cpp:
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):
* runtime/CommonIdentifiers.cpp:
(JSC::CommonIdentifiers::CommonIdentifiers):
(JSC::CommonIdentifiers::~CommonIdentifiers):
(JSC::CommonIdentifiers::getPrivateName):
(JSC::CommonIdentifiers::getPublicName):
* runtime/CommonIdentifiers.h:
(JSC::CommonIdentifiers::builtinNames):
* runtime/ExceptionHelpers.cpp:
(JSC::createUndefinedVariableError):
* runtime/Executable.h:
(JSC::EvalExecutable::executableInfo):
(JSC::ProgramExecutable::executableInfo):
(JSC::FunctionExecutable::isBuiltinFunction):
* runtime/FunctionPrototype.cpp:
(JSC::functionProtoFuncToString):
* runtime/JSActivation.cpp:
(JSC::JSActivation::symbolTableGet):
(JSC::JSActivation::symbolTablePut):
(JSC::JSActivation::symbolTablePutWithAttributes):
* runtime/JSFunction.cpp:
(JSC::JSFunction::createBuiltinFunction):
(JSC::JSFunction::calculatedDisplayName):
(JSC::JSFunction::sourceCode):
(JSC::JSFunction::isHostOrBuiltinFunction):
(JSC::JSFunction::isBuiltinFunction):
(JSC::JSFunction::callerGetter):
(JSC::JSFunction::getOwnPropertySlot):
(JSC::JSFunction::getOwnNonIndexPropertyNames):
(JSC::JSFunction::put):
(JSC::JSFunction::defineOwnProperty):
* runtime/JSFunction.h:
* runtime/JSFunctionInlines.h:
(JSC::JSFunction::nativeFunction):
(JSC::JSFunction::nativeConstructor):
(JSC::isHostFunction):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::objectConstructor):
(JSC::JSGlobalObject::symbolTableHasProperty):
* runtime/JSObject.cpp:
(JSC::getClassPropertyNames):
(JSC::JSObject::reifyStaticFunctionsForDelete):
(JSC::JSObject::putDirectBuiltinFunction):
* runtime/JSObject.h:
* runtime/JSSymbolTableObject.cpp:
(JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames):
* runtime/JSSymbolTableObject.h:
(JSC::symbolTableGet):
(JSC::symbolTablePut):
(JSC::symbolTablePutWithAttributes):
* runtime/Lookup.cpp:
(JSC::setUpStaticFunctionSlot):
* runtime/Lookup.h:
(JSC::HashEntry::builtinGenerator):
(JSC::HashEntry::propertyGetter):
(JSC::HashEntry::propertyPutter):
(JSC::HashTable::entry):
(JSC::getStaticPropertySlot):
(JSC::getStaticValueSlot):
(JSC::putEntry):
* runtime/NativeErrorConstructor.cpp:
(JSC::NativeErrorConstructor::finishCreation):
* runtime/NativeErrorConstructor.h:
* runtime/PropertySlot.h:
* runtime/VM.cpp:
(JSC::VM::VM):
* runtime/VM.h:
(JSC::VM::builtinExecutables):

Tools:

CMake updates

* DumpRenderTree/CMakeLists.txt:
* WebKitTestRunner/CMakeLists.txt:
* WinCELauncher/CMakeLists.txt:

LayoutTests:

Updated the test results for new error messages (now that they're
actually helpful), and added a js-regress test to track performance.

* js/array-every-expected.txt:
* js/dom/array-prototype-properties-expected.txt:
* js/regress/array-prototype-every-expected.txt: Added.
* js/regress/array-prototype-every.html: Added.
* js/regress/script-tests/array-prototype-every.js: Added.
(test1):
(test2):
(test3):

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

7 years agoRemove some unintended copies in ranged for loops
bfulgham@apple.com [Wed, 12 Feb 2014 17:10:25 +0000 (17:10 +0000)]
Remove some unintended copies in ranged for loops
https://bugs.webkit.org/show_bug.cgi?id=128644

Reviewed by Anders Carlsson.

../JavaScriptCore:

* inspector/InjectedScriptHost.cpp:
(Inspector::InjectedScriptHost::clearAllWrappers): Avoid creating/destroying
a std::pair<> and pointer each loop iteration.
* parser/Parser.cpp:
(JSC::Parser<LexerType>::Parser): Avoid copying object containing a string
each loop iteration.

../WebCore:

* css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingSVGDocuments): Avoid creating/destroying
RefPtrs in loop.

../WebKit2:

* Shared/WebCrossThreadCopier.cpp:
(WebCore::Vector<Vector<IDBKeyData>>>::copy): Each iteration copies a vector of
vectors,
* Shared/mac/RemoteLayerBackingStore.mm:
(RemoteLayerBackingStore::enumerateRectsBeingDrawn): Avoid copying a FloatRect
on each iteration.
* Shared/mac/RemoteLayerTreePropertyApplier.mm:
(WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer): Avoid copying
a LayerProperty object each iteration.
* UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
(WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests): Avoid
copying a pair<int64_t, pointer> each iteration.
* UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
(WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests): Ditto
* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): Ditto
* UIProcess/WebContext.cpp:
(WebKit::WebContext::postMessageToInjectedBundle): Avoid creating/destroying a
RefPtr each loop iteration.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::shouldStartTrackingTouchEvents): Avoid copying a WebPlatformTouchPoint
object each cycle.
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::updateLayerTree): Avoid copying a pair each iteration.
* UIProcess/mac/WindowServerConnection.mm:
(WebKit::WindowServerConnection::WindowServerConnection): Avoid copying the struct
of occlusionNotificationHandlers each iteration.
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::put): Avoid copying a vector-of-vectors each
iteration.
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(PlatformCALayerRemote::recursiveBuildTransaction): Avoid creating/destroying a
RefPtr each loop iteration.

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

7 years agoUpdate the HTML Media Capture implementation.
rakuco@webkit.org [Wed, 12 Feb 2014 14:58:40 +0000 (14:58 +0000)]
Update the HTML Media Capture implementation.
https://bugs.webkit.org/show_bug.cgi?id=118465

Reviewed by Darin Adler.

Make the implementation in WebKit compatible with the 2013-05-09
version of the spec, which makes the "capture" attribute a boolean
instead of an enum.

Source/WebCore:

Covered by fast/forms/file/file-input-capture.html.

* html/FileInputType.cpp:
(WebCore::FileInputType::handleDOMActivateEvent):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::capture): Renamed to shouldUseMediaCapture().
(WebCore::HTMLInputElement::shouldUseMediaCapture): Return a bool.
* html/HTMLInputElement.h:
* html/HTMLInputElement.idl: Turn the `capture' attribute into a
reflective boolean instead of a DOMString.
* platform/FileChooser.h:

Source/WebKit/efl:

* ewk/ewk_file_chooser.cpp:
(ewk_file_chooser_capture_get): Return an Eina_Bool now.
* ewk/ewk_file_chooser.h: Get rid of Ewk_File_Chooser_Capture_Type.

Source/WebKit2:

* Shared/WebOpenPanelParameters.cpp:
(WebKit::WebOpenPanelParameters::capture): Return a bool.
* Shared/WebOpenPanelParameters.h: Ditto.
* UIProcess/API/C/WKOpenPanelParameters.cpp:
(WKOpenPanelParametersCopyCapture): Deprecate, the implementation is
incompatible with the current version of the spec.
(WKOpenPanelParametersGetCaptureEnabled): Add and return a bool.
* UIProcess/API/C/WKOpenPanelParameters.h:

LayoutTests:

* fast/forms/file/file-input-capture-expected.txt:
* fast/forms/file/file-input-capture.html:

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

7 years ago[CSS Regions] Remove unused method in RenderFlowThread
stavila@adobe.com [Wed, 12 Feb 2014 13:31:22 +0000 (13:31 +0000)]
[CSS Regions] Remove unused method in RenderFlowThread
https://bugs.webkit.org/show_bug.cgi?id=128373

Reviewed by Mihnea Ovidenie.

After the landing of https://bugs.webkit.org/show_bug.cgi?id=118665, the
RenderFlowThread::computeRegionClippingRect method is obsolete.

No new tests needed, this patch only removes an unused method.

* rendering/RenderFlowThread.cpp:
* rendering/RenderFlowThread.h:

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

7 years ago[GTK] Fails to build if configure is run with its absolute path
berto@igalia.com [Wed, 12 Feb 2014 13:21:10 +0000 (13:21 +0000)]
[GTK] Fails to build if configure is run with its absolute path
https://bugs.webkit.org/show_bug.cgi?id=126693

Reviewed by Gustavo Noronha Silva.

When creating links to the WebKit2 headers in the source tree
don't expect $(WebKit2) to be a relative path.

* GNUmakefile.am:

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

7 years ago[CSS Element Blending] Implement the software path of -webkit-blend-mode with Core...
commit-queue@webkit.org [Wed, 12 Feb 2014 12:40:08 +0000 (12:40 +0000)]
[CSS Element Blending] Implement the software path of -webkit-blend-mode with Core Graphics.
https://bugs.webkit.org/show_bug.cgi?id=99119

Patch by Mihai Tica <mitica@adobe.com> on 2014-02-12
Reviewed by Simon Fraser.

Source/WebCore:

This patch adds support for -webkit-blend-mode with Core Graphics.
The layer promotion code that forced compositing when blending was detected has been removed.
Remaining work for the software path is to detect and implement isolation of the blending operation:
as stated in the spec, blending should be limited to the parent stacking context.

Tests: css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer.html
       css3/compositing/blend-mode-parent-of-composited-blended-has-layer.html
       css3/compositing/blend-mode-simple-composited.html
       css3/compositing/blend-mode-with-composited-descendant-should-have-layer.html

* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer): Remove CompositingReasonBlending.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::beginTransparencyLayers): Set the blendMode on the GraphicsContext.
* rendering/RenderLayer.h: paintsWithTransparency should return true when a blendMode is set.
* rendering/RenderLayerCompositor.cpp: Remove promotion code when a blendMode is detected.
(WebCore::RenderLayerCompositor::requiresCompositingLayer): Remove CompositingReasonBlending reason.
(WebCore::RenderLayerCompositor::requiresOwnBackingStore): Remove CompositingReasonBlending reason.
(WebCore::RenderLayerCompositor::reasonsForCompositing): Remove CompositingReasonBlending reason.
(WebCore::RenderLayerCompositor::logReasonsForCompositing): Remove CompositingReasonBlending reason.
* rendering/RenderLayerCompositor.h:
- Remove the requiresCompositingForBlending method
- Remove the CompositingReasonBlending from the CompositingReasons enum.

LayoutTests:

* css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer-expected.txt: Copied from LayoutTests/css3/compositing/blend-mode-should-not-have-compositing-layer-expected.txt.
* css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer.html: Test if having an overlapping composited sibling forces compositing of a blended element.
* css3/compositing/blend-mode-layers.html: Update to test both the software and the hardware path.
* css3/compositing/blend-mode-parent-of-composited-blended-has-layer-expected.txt: Renamed from LayoutTests/css3/compositing/should-have-compositing-layer-expected.txt.
* css3/compositing/blend-mode-parent-of-composited-blended-has-layer.html: Test if the parent of an accelerated element with -webkit-blend-mode is promoted.
* css3/compositing/blend-mode-reflection.html: Update to test both the software and the hardware path.
* css3/compositing/blend-mode-should-not-have-compositing-layer.html: Removed.
* css3/compositing/blend-mode-simple-composited.html: Test all the blend modes for the hardware path.
* css3/compositing/blend-mode-with-composited-descendant-should-have-layer-expected.txt: Renamed from LayoutTests/css3/compositing/blend-mode-should-not-have-compositing-layer-expected.txt.
* css3/compositing/blend-mode-with-composited-descendant-should-have-layer.html: Test to ensure that an element with -webkit-blend-mode and a composited descendant is also accelerated.
* css3/compositing/should-have-compositing-layer.html: Removed.
* platform/mac/css3/compositing/blend-mode-layers-expected.png:
* platform/mac/css3/compositing/blend-mode-layers-expected.txt:
* platform/mac/css3/compositing/blend-mode-overflow-expected.png:
* platform/mac/css3/compositing/blend-mode-overflow-expected.txt: Added.
* platform/mac/css3/compositing/blend-mode-reflection-expected.png:
* platform/mac/css3/compositing/blend-mode-reflection-expected.txt:
* platform/mac/css3/compositing/blend-mode-simple-composited-expected.png: Added.
* platform/mac/css3/compositing/blend-mode-simple-composited-expected.txt: Added.
* platform/mac/css3/compositing/blend-mode-simple-expected.png:

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

7 years ago'ar T' is not portable and breaks the build on FreeBSD
berto@igalia.com [Wed, 12 Feb 2014 12:17:41 +0000 (12:17 +0000)]
'ar T' is not portable and breaks the build on FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=128596

Patch by Ryan Lortie <desrt@desrt.ca> on 2014-02-12
Reviewed by Gustavo Noronha Silva.

Create thin archives only if we are using GNU ar.

* Source/autotools/SetupLibtool.m4:

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

7 years agoUnreviewed EFL gatdening
m.pakula@samsung.com [Wed, 12 Feb 2014 11:27:46 +0000 (11:27 +0000)]
Unreviewed EFL gatdening

Add test expectations for failing tests.

* platform/efl/TestExpectations:
* platform/efl/fast/parser/xhtml-alternate-entities-expected.png: Rebaseline after r163475.
* platform/efl/fast/parser/xhtml-alternate-entities-expected.txt: Ditto.

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

7 years agoUndo an accidental change.
ap@apple.com [Wed, 12 Feb 2014 07:59:59 +0000 (07:59 +0000)]
Undo an accidental change.

* platform/mac/TestExpectations:

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

7 years agoREGRESSION (r163262?): transitions/shorthand-border-transitions.html flakily asserts
ap@apple.com [Wed, 12 Feb 2014 07:06:11 +0000 (07:06 +0000)]
REGRESSION (r163262?): transitions/shorthand-border-transitions.html flakily asserts
https://bugs.webkit.org/show_bug.cgi?id=128283

* platform/mac/TestExpectations: Updated the expectation to match failure mode.

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

7 years agoJIT should be enabled (regression from addition of JIT enabled setting)
fpizlo@apple.com [Wed, 12 Feb 2014 06:40:54 +0000 (06:40 +0000)]
JIT should be enabled (regression from addition of JIT enabled setting)
https://bugs.webkit.org/show_bug.cgi?id=128653

Reviewed by Tim Horton.

* UIProcess/mac/WebContextMac.mm:
(WebKit::registerUserDefaultsIfNeeded):

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

7 years agoMore Windows test rebaselines.
rniwa@webkit.org [Wed, 12 Feb 2014 06:03:36 +0000 (06:03 +0000)]
More Windows test rebaselines.

* platform/win/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt:
* platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt:
* platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt:
* platform/win/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt:

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

7 years agoSource/JavaScriptCore: Debug build fix after r163946.
rniwa@webkit.org [Wed, 12 Feb 2014 05:54:02 +0000 (05:54 +0000)]
Source/JavaScriptCore: Debug build fix after r163946.

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

Source/WebKit2: Remove one of includes added in r163943 and r163939.

* WebProcess/WebPage/WebPage.h:

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

7 years ago<rdar://problem/16044438>: WebKit2.framework (with *Process.app) exists at the top...
mitz@apple.com [Wed, 12 Feb 2014 05:45:22 +0000 (05:45 +0000)]
<rdar://problem/16044438>: WebKit2.framework (with *Process.app) exists at the top level of the simulator
https://bugs.webkit.org/show_bug.cgi?id=128650

Reviewed by Mark Rowe.

* Configurations/All-iOS.xcconfig: Removed this unused file.
* Configurations/All.xcconfig: Set SKIP_INSTALL to YES for this aggregate target, so that
its Copy Files build phase, intended only for engineering builds, doesn’t copy into the
(wrong) install location.

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

7 years agoInserting a node with a codeOrigin "like" another node should copy both the codeOrigi...
fpizlo@apple.com [Wed, 12 Feb 2014 05:42:32 +0000 (05:42 +0000)]
Inserting a node with a codeOrigin "like" another node should copy both the codeOrigin and codeOriginForExitTarget
https://bugs.webkit.org/show_bug.cgi?id=128635

Reviewed by Michael Saboff.

Originally nodes just had a codeOrigin. But then we started doing code motion, and we
needed to separate the codeOrigin that designated where to exit from the codeOrigin
that designated everything else. The "everything else" is actually pretty important:
it includes profiling, exception handling, and the actual semantics of the node. For
example some nodes use the origin's global object in some way.

This all sort of worked except for one quirk: the facilities for creating nodes all
assumed that there really was only one origin. LICM would work around this by setting
the codeOriginForExitTarget manually. But, that means that:

- If we did hoist a node twice, then the second time around, we would forget the node's
  original exit target.

- If we did an insertNode() to insert a node before a hoisted node, the inserted node
  would have the wrong exit target.

Most of the time, if we copy the code origin, we actually want to copy both origins.
So, this patch introduces the notion of a NodeOrigin which has two CodeOrigins: a
forExit code origin that says where to exit, and a semantic code origin for everything
else.

This also (annoyingly?) means that we are always more explicit about which code origin
we refer to. That means that a lot of "node->codeOrigin" expressions had to change to
"node->origin.semantic". This was partly a ploy on my part to ensure that this
refactoring was complete: to get the code to compile I really had to audit all uses of
CodeOrigin. If, in the future, we find that "node->origin.semantic" is too cumbersome
then we can reintroduce the Node::codeOrigin field. For now I kinda like it though.

* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGArgumentsSimplificationPhase.cpp:
(JSC::DFG::ArgumentsSimplificationPhase::run):
(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUse):
(JSC::DFG::ArgumentsSimplificationPhase::observeProperArgumentsUse):
(JSC::DFG::ArgumentsSimplificationPhase::isOKToOptimize):
* dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::originalArrayStructure):
(JSC::DFG::ArrayMode::alreadyChecked):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::addToGraph):
* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::run):
(JSC::DFG::CFGSimplificationPhase::convertToJump):
(JSC::DFG::CFGSimplificationPhase::keepOperandAlive):
(JSC::DFG::CFGSimplificationPhase::jettisonBlock):
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):
* dfg/DFGCPSRethreadingPhase.cpp:
(JSC::DFG::CPSRethreadingPhase::addPhiSilently):
(JSC::DFG::CPSRethreadingPhase::addPhi):
(JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor):
(JSC::DFG::CPSRethreadingPhase::canonicalizeFlushOrPhantomLocalFor):
(JSC::DFG::CPSRethreadingPhase::propagatePhis):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::setLocalStoreElimination):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGCommonData.cpp:
(JSC::DFG::CommonData::notifyCompilingStructureTransition):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::addStructureTransitionCheck):
* dfg/DFGCriticalEdgeBreakingPhase.cpp:
(JSC::DFG::CriticalEdgeBreakingPhase::breakCriticalEdge):
* dfg/DFGDCEPhase.cpp:
(JSC::DFG::DCEPhase::fixupBlock):
* dfg/DFGDisassembler.cpp:
(JSC::DFG::Disassembler::createDumpList):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::createToString):
(JSC::DFG::FixupPhase::attemptToForceStringArrayModeByToStringConversion):
(JSC::DFG::FixupPhase::convertStringAddUse):
(JSC::DFG::FixupPhase::fixupToPrimitive):
(JSC::DFG::FixupPhase::fixupToString):
(JSC::DFG::FixupPhase::attemptToMakeFastStringAdd):
(JSC::DFG::FixupPhase::checkArray):
(JSC::DFG::FixupPhase::blessArrayOperation):
(JSC::DFG::FixupPhase::fixEdge):
(JSC::DFG::FixupPhase::insertStoreBarrier):
(JSC::DFG::FixupPhase::fixIntEdge):
(JSC::DFG::FixupPhase::injectInt32ToDoubleNode):
(JSC::DFG::FixupPhase::truncateConstantToInt32):
(JSC::DFG::FixupPhase::attemptToMakeGetArrayLength):
(JSC::DFG::FixupPhase::attemptToMakeGetTypedArrayByteLength):
(JSC::DFG::FixupPhase::convertToGetArrayLength):
(JSC::DFG::FixupPhase::prependGetArrayLength):
(JSC::DFG::FixupPhase::attemptToMakeGetTypedArrayByteOffset):
(JSC::DFG::FixupPhase::addPhantomsIfNecessary):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dumpCodeOrigin):
(JSC::DFG::Graph::amountOfNodeWhiteSpace):
(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::dumpBlockHeader):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::hasExitSite):
(JSC::DFG::Graph::valueProfileFor):
(JSC::DFG::Graph::methodOfGettingAValueProfileFor):
* dfg/DFGInvalidationPointInjectionPhase.cpp:
(JSC::DFG::InvalidationPointInjectionPhase::handle):
(JSC::DFG::InvalidationPointInjectionPhase::insertInvalidationCheck):
* dfg/DFGLICMPhase.cpp:
(JSC::DFG::LICMPhase::attemptHoist):
* dfg/DFGLoopPreHeaderCreationPhase.cpp:
(JSC::DFG::createPreHeader):
* dfg/DFGNode.h:
(JSC::DFG::Node::Node):
(JSC::DFG::Node::isStronglyProvedConstantIn):
* dfg/DFGNodeOrigin.h: Added.
(JSC::DFG::NodeOrigin::NodeOrigin):
(JSC::DFG::NodeOrigin::isSet):
* dfg/DFGOSREntrypointCreationPhase.cpp:
(JSC::DFG::OSREntrypointCreationPhase::run):
* dfg/DFGResurrectionForValidationPhase.cpp:
(JSC::DFG::ResurrectionForValidationPhase::run):
* dfg/DFGSSAConversionPhase.cpp:
(JSC::DFG::SSAConversionPhase::run):
* dfg/DFGSSALoweringPhase.cpp:
(JSC::DFG::SSALoweringPhase::handleNode):
(JSC::DFG::SSALoweringPhase::lowerBoundsCheck):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileIn):
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):
(JSC::DFG::SpeculativeJIT::compileNewTypedArray):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::masqueradesAsUndefinedWatchpointIsStillValid):
(JSC::DFG::SpeculativeJIT::appendCallWithExceptionCheck):
(JSC::DFG::SpeculativeJIT::appendCallWithCallFrameRollbackOnException):
(JSC::DFG::SpeculativeJIT::appendCallSetResult):
(JSC::DFG::SpeculativeJIT::appendCall):
(JSC::DFG::SpeculativeJIT::speculateStringObjectForStructure):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::convertToIdentityOverChild):
(JSC::DFG::StrengthReductionPhase::prepareToFoldTypedArray):
* dfg/DFGTierUpCheckInjectionPhase.cpp:
(JSC::DFG::TierUpCheckInjectionPhase::run):
* dfg/DFGTypeCheckHoistingPhase.cpp:
(JSC::DFG::TypeCheckHoistingPhase::run):
* dfg/DFGValidate.cpp:
(JSC::DFG::Validate::validateSSA):
* dfg/DFGWatchpointCollectionPhase.cpp:
(JSC::DFG::WatchpointCollectionPhase::handle):
(JSC::DFG::WatchpointCollectionPhase::handleEdge):
(JSC::DFG::WatchpointCollectionPhase::handleMasqueradesAsUndefined):
(JSC::DFG::WatchpointCollectionPhase::globalObject):
* ftl/FTLJSCall.cpp:
(JSC::FTL::JSCall::link):
* ftl/FTLLink.cpp:
(JSC::FTL::link):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileToThis):
(JSC::FTL::LowerDFGToLLVM::compilePutById):
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::LowerDFGToLLVM::compileNewArray):
(JSC::FTL::LowerDFGToLLVM::compileNewArrayBuffer):
(JSC::FTL::LowerDFGToLLVM::compileNewArrayWithSize):
(JSC::FTL::LowerDFGToLLVM::compileStringCharAt):
(JSC::FTL::LowerDFGToLLVM::compileGetMyScope):
(JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated):
(JSC::FTL::LowerDFGToLLVM::getById):
(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::LowerDFGToLLVM::speculateStringObjectForStructure):
(JSC::FTL::LowerDFGToLLVM::masqueradesAsUndefinedWatchpointIsStillValid):
(JSC::FTL::LowerDFGToLLVM::callPreflight):

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

7 years agotransitions/shorthand-border-transitions.html became flaky. Skip it for now.
zalan@apple.com [Wed, 12 Feb 2014 05:15:34 +0000 (05:15 +0000)]
transitions/shorthand-border-transitions.html became flaky. Skip it for now.

* platform/mac/TestExpectations:

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

7 years agoSubpixel rendering: Switch repaint rect from IntRect to LayoutRect to be able to
zalan@apple.com [Wed, 12 Feb 2014 04:50:55 +0000 (04:50 +0000)]
Subpixel rendering: Switch repaint rect from IntRect to LayoutRect to be able to
repaint on device pixel boundaries.
https://bugs.webkit.org/show_bug.cgi?id=128477

Reviewed by Simon Fraser.

RenderLayer needs to be able to repaint on device pixel boundaries. RenderView still
repaints on integral position.

No change in functionality.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::layoutRunsAndFloats):
* rendering/RenderElement.cpp:
(WebCore::RenderElement::repaintAfterLayoutIfNeeded):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::clearRepaintRects):
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
* rendering/RenderLayerBacking.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::repaintUsingContainer):
(WebCore::RenderObject::repaint):
(WebCore::RenderObject::repaintRectangle):
* rendering/RenderObject.h:

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

7 years agoEFL build fix after r163919.
rniwa@webkit.org [Wed, 12 Feb 2014 04:45:13 +0000 (04:45 +0000)]
EFL build fix after r163919.

* WebProcess/WebPage/WebPage.h:

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

7 years agoWindows rebaselines.
rniwa@webkit.org [Wed, 12 Feb 2014 04:42:47 +0000 (04:42 +0000)]
Windows rebaselines.

* platform/win/css1/box_properties/margin_right-expected.txt:
* platform/win/css1/box_properties/padding-expected.txt:
* platform/win/css1/box_properties/padding_left-expected.txt:
* platform/win/css1/box_properties/padding_right-expected.txt:
* platform/win/css1/formatting_model/vertical_formatting-expected.txt:
* platform/win/css2.1/t0804-c5507-padn-r-00-c-ag-expected.txt:
* platform/win/css2.1/t0804-c5509-padn-l-00-b-ag-expected.txt:
* platform/win/css2.1/t0804-c5510-padn-00-b-ag-expected.txt:
* platform/win/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
* platform/win/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt:
* platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt:
* platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt:
* platform/win/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt:
* platform/win/fast/css/empty-pseudo-class-expected.txt:
* platform/win/fast/css/first-child-pseudo-class-expected.txt:
* platform/win/fast/css/last-child-pseudo-class-expected.txt:
* platform/win/fast/css/only-child-pseudo-class-expected.txt:
* platform/win/fast/repaint/reflection-redraw-expected.txt:
* platform/win/fast/table/dynamic-caption-add-remove-before-child-expected.txt:
* platform/win/fast/table/multiple-captions-display-expected.txt:
* platform/win/js/dom/dom-static-property-for-in-iteration-expected.txt:
* platform/win/js/dom/global-constructors-attributes-shared-worker-expected.txt:
* platform/win/mathml: Added.
* platform/win/mathml/presentation: Added.
* platform/win/mathml/presentation/menclose-notation-default-longdiv-expected.txt: Added.
* platform/win/tables/mozilla/marvin/body_col-expected.txt:
* platform/win/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
* platform/win/tables/mozilla/other/body_col-expected.txt:

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

7 years agoiOS build fix fix.
mitz@apple.com [Wed, 12 Feb 2014 04:37:28 +0000 (04:37 +0000)]
iOS build fix fix.

* rendering/RenderElement.cpp:
(WebCore::shouldRepaintForImageAnimation):

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

7 years agoiOS build fix.
mitz@apple.com [Wed, 12 Feb 2014 04:36:05 +0000 (04:36 +0000)]
iOS build fix.

* rendering/RenderElement.cpp:
(WebCore::shouldRepaintForImageAnimation):

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

7 years agoUnreviewed build fix after r163919
ljaehun.lim@samsung.com [Wed, 12 Feb 2014 04:25:46 +0000 (04:25 +0000)]
Unreviewed build fix after r163919

WKGestureTypes.h needs PLATFORM(IOS) guard.

* WebProcess/WebPage/WebPage.h:

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

7 years agoFix assertions and incorrect codegen for CompareEq(ObjectOrOther:, Object:)
fpizlo@apple.com [Wed, 12 Feb 2014 04:24:37 +0000 (04:24 +0000)]
Fix assertions and incorrect codegen for CompareEq(ObjectOrOther:, Object:)
https://bugs.webkit.org/show_bug.cgi?id=128648

Reviewed by Mark Lam.

I did CompareEq(Object:, ObjectOrOther:) correctly but the flipped version wrong.
That's what I get for running tests in release mode. It's hard to write a test for
the incorrect codegen; that's kind of why the assertions are there.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileCompareEq):

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

7 years agoUnreviewed, trivial change to silence FTL assertions
fpizlo@apple.com [Wed, 12 Feb 2014 04:13:48 +0000 (04:13 +0000)]
Unreviewed, trivial change to silence FTL assertions

Normally, lowJSValue() should only be used for UntypedUse only. Here we are using it
on ObjectOrOtherUse because we execute the speculation ourselves. The way you're
supposed to do this is by passing ManualOperandSpeculation to tell lowJSValue() not
to assert.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compareEqObjectOrOtherToObject):

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

7 years agoContentData equals() methods are not inline-able <http://webkit.org/b/128538>
ddkilzer@apple.com [Wed, 12 Feb 2014 04:08:22 +0000 (04:08 +0000)]
ContentData equals() methods are not inline-able <webkit.org/b/128538>

Reviewed by Darin Adler.

Get rid of pure virtual equals() method in favor of
ContentData::Type enum for runtime type information.
This also lets us devirtualize the isFoo() methods.

* rendering/style/ContentData.h:
(WebCore::ContentData::type): Add.
(WebCore::ContentData::isCounter): Devirtualize.
(WebCore::ContentData::isImage): Devirtualize.
(WebCore::ContentData::isQuote): Devirtualize.
(WebCore::ContentData::isText): Devirtualize.
(WebCore::ContentData::ContentData): Add.  Include
ContentData::Type parameter.
(WebCore::operator==): Add overloaded methods for each subclass.
Stop using pure virtual equals() method, check type(), and use
overloaded subclass operator==() methods.
(WebCore::operator!=): Add overloaded methods for each subclass.

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

7 years agoIt should be possible to force copy-webkitlibraries-blahblah to copy things regardles...
fpizlo@apple.com [Wed, 12 Feb 2014 04:06:42 +0000 (04:06 +0000)]
It should be possible to force copy-webkitlibraries-blahblah to copy things regardless of timestamp
https://bugs.webkit.org/show_bug.cgi?id=128646

Reviewed by Mark Rowe.

* Scripts/copy-webkitlibraries-to-product-directory:
(unpackIfNecessary):
(dittoHeaders):

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

7 years agoProtect some RenderFlowThread functions.
akling@apple.com [Wed, 12 Feb 2014 03:53:02 +0000 (03:53 +0000)]
Protect some RenderFlowThread functions.
<https://webkit.org/b/128642>

Make the RenderFlowThread constructor protected and a handful of
member functions private.

Reviewed by Anders Carlsson.

* rendering/RenderFlowThread.h:

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

7 years agoDon't allocate RenderNamedFlowThread's child list separately.
akling@apple.com [Wed, 12 Feb 2014 03:51:06 +0000 (03:51 +0000)]
Don't allocate RenderNamedFlowThread's child list separately.
<https://webkit.org/b/128640>

Since we always create the flow-thread child list, there's no reason
to put it in a separate heap allocation. Also remove the typedef and
use auto instead.

Reviewed by Anders Carlsson.

* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::nextRendererForNode):
(WebCore::RenderNamedFlowThread::addFlowChild):
(WebCore::RenderNamedFlowThread::removeFlowChild):
* rendering/RenderNamedFlowThread.h:

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

7 years agoUnreviewed, rolling out r163923.
commit-queue@webkit.org [Wed, 12 Feb 2014 03:45:34 +0000 (03:45 +0000)]
Unreviewed, rolling out r163923.
http://trac.webkit.org/changeset/163923
https://bugs.webkit.org/show_bug.cgi?id=128645

"Mozilla tests shouldn't have changed, but did.  Rollout for
now" (Requested by bradeeoh on #webkit).

* resources/js-test.js: Removed.
* storage/indexeddb/aborted-versionchange-closes-expected.txt:
* storage/indexeddb/aborted-versionchange-closes.html:
* storage/indexeddb/basics-expected.txt:
* storage/indexeddb/basics-shared-workers-expected.txt:
* storage/indexeddb/basics-shared-workers.html:
* storage/indexeddb/basics-workers-expected.txt:
* storage/indexeddb/basics-workers.html:
* storage/indexeddb/basics.html:
* storage/indexeddb/clone-exception-expected.txt:
* storage/indexeddb/clone-exception.html:
* storage/indexeddb/closed-cursor-expected.txt: Removed.
* storage/indexeddb/closed-cursor.html: Removed.
* storage/indexeddb/connection-leak-expected.txt: Removed.
* storage/indexeddb/connection-leak.html: Removed.
* storage/indexeddb/create-and-remove-object-store-expected.txt:
* storage/indexeddb/create-and-remove-object-store.html:
* storage/indexeddb/create-object-store-options-expected.txt:
* storage/indexeddb/create-object-store-options.html:
* storage/indexeddb/createIndex-after-failure-expected.txt:
* storage/indexeddb/createIndex-after-failure.html:
* storage/indexeddb/createObjectStore-name-argument-required-expected.txt:
* storage/indexeddb/createObjectStore-name-argument-required.html:
* storage/indexeddb/createObjectStore-null-name.html:
* storage/indexeddb/cursor-added-bug.html:
* storage/indexeddb/cursor-advance-expected.txt:
* storage/indexeddb/cursor-advance-workers-expected.txt:
* storage/indexeddb/cursor-advance-workers.html:
* storage/indexeddb/cursor-advance.html:
* storage/indexeddb/cursor-basics-expected.txt: Removed.
* storage/indexeddb/cursor-basics.html: Removed.
* storage/indexeddb/cursor-cast-expected.txt: Removed.
* storage/indexeddb/cursor-cast.html: Removed.
* storage/indexeddb/cursor-continue-dir-expected.txt:
* storage/indexeddb/cursor-continue-dir.html:
* storage/indexeddb/cursor-continue-expected.txt:
* storage/indexeddb/cursor-continue-validity-expected.txt:
* storage/indexeddb/cursor-continue-validity.html:
* storage/indexeddb/cursor-continue.html:
* storage/indexeddb/cursor-continueprimarykey-expected.txt: Removed.
* storage/indexeddb/cursor-continueprimarykey.html: Removed.
* storage/indexeddb/cursor-delete.html:
* storage/indexeddb/cursor-finished-expected.txt:
* storage/indexeddb/cursor-finished.html:
* storage/indexeddb/cursor-inconsistency.html:
* storage/indexeddb/cursor-index-delete.html:
* storage/indexeddb/cursor-key-order.html:
* storage/indexeddb/cursor-leak-expected.txt: Removed.
* storage/indexeddb/cursor-leak.html: Removed.
* storage/indexeddb/cursor-overloads-expected.txt:
* storage/indexeddb/cursor-overloads.html:
* storage/indexeddb/cursor-prev-no-duplicate.html:
* storage/indexeddb/cursor-primary-key-order.html:
* storage/indexeddb/cursor-properties.html:
* storage/indexeddb/cursor-request-cycle-expected.txt: Removed.
* storage/indexeddb/cursor-request-cycle.html: Removed.
* storage/indexeddb/cursor-reverse-bug.html:
* storage/indexeddb/cursor-skip-deleted.html:
* storage/indexeddb/cursor-update-expected.txt:
* storage/indexeddb/cursor-update-value-argument-required-expected.txt:
* storage/indexeddb/cursor-update-value-argument-required.html:
* storage/indexeddb/cursor-update.html:
* storage/indexeddb/cursor-value.html:
* storage/indexeddb/data-corruption-expected.txt:
* storage/indexeddb/data-corruption.html:
* storage/indexeddb/database-basics-expected.txt:
* storage/indexeddb/database-basics.html:
* storage/indexeddb/database-close-expected.txt:
* storage/indexeddb/database-close.html:
* storage/indexeddb/database-closepending-flag-expected.txt:
* storage/indexeddb/database-closepending-flag.html:
* storage/indexeddb/database-deletepending-flag.html:
* storage/indexeddb/database-name-undefined-expected.txt:
* storage/indexeddb/database-name-undefined.html:
* storage/indexeddb/database-odd-names.html:
* storage/indexeddb/database-wrapper-expected.txt:
* storage/indexeddb/database-wrapper.html:
* storage/indexeddb/delete-closed-database-object-expected.txt:
* storage/indexeddb/delete-closed-database-object.html:
* storage/indexeddb/delete-in-upgradeneeded-close-in-open-success.html:
* storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-expected.txt:
* storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange.html:
* storage/indexeddb/delete-range.html:
* storage/indexeddb/deleteIndex-bug110792-expected.txt:
* storage/indexeddb/deleteIndex-bug110792.html:
* storage/indexeddb/deleteIndex-expected.txt:
* storage/indexeddb/deleteIndex.html:
* storage/indexeddb/deleteObjectStore-name-argument-required-expected.txt:
* storage/indexeddb/deleteObjectStore-name-argument-required.html:
* storage/indexeddb/deleteObjectStore-null-name.html:
* storage/indexeddb/deleted-objects-expected.txt:
* storage/indexeddb/deleted-objects.html:
* storage/indexeddb/deletedatabase-blocked.html:
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html:
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange.html:
* storage/indexeddb/deletedatabase-delayed-by-versionchange-expected.txt:
* storage/indexeddb/deletedatabase-delayed-by-versionchange.html:
* storage/indexeddb/deletedatabase-not-blocked.html:
* storage/indexeddb/deletedatabase-transaction.html:
* storage/indexeddb/dont-commit-on-blocked.html:
* storage/indexeddb/dont-wedge.html:
* storage/indexeddb/duplicates.html:
* storage/indexeddb/error-causes-abort-by-default.html:
* storage/indexeddb/events-expected.txt:
* storage/indexeddb/events.html:
* storage/indexeddb/exception-in-event-aborts-expected.txt:
* storage/indexeddb/exception-in-event-aborts.html:
* storage/indexeddb/exceptions-expected.txt:
* storage/indexeddb/exceptions.html:
* storage/indexeddb/factory-basics-expected.txt:
* storage/indexeddb/factory-basics-workers-expected.txt:
* storage/indexeddb/factory-basics-workers.html:
* storage/indexeddb/factory-basics.html:
* storage/indexeddb/factory-cmp-expected.txt:
* storage/indexeddb/factory-cmp.html:
* storage/indexeddb/factory-deletedatabase.html:
* storage/indexeddb/get-keyrange-expected.txt:
* storage/indexeddb/get-keyrange.html:
* storage/indexeddb/index-basics-expected.txt:
* storage/indexeddb/index-basics-workers-expected.txt:
* storage/indexeddb/index-basics-workers.html:
* storage/indexeddb/index-basics.html:
* storage/indexeddb/index-count-expected.txt:
* storage/indexeddb/index-count.html:
* storage/indexeddb/index-cursor.html:
* storage/indexeddb/index-duplicate-keypaths.html:
* storage/indexeddb/index-get-key-argument-required-expected.txt:
* storage/indexeddb/index-get-key-argument-required.html:
* storage/indexeddb/index-multientry.html:
* storage/indexeddb/index-population.html:
* storage/indexeddb/index-unique.html:
* storage/indexeddb/interfaces.html:
* storage/indexeddb/intversion-abort-in-initial-upgradeneeded.html:
* storage/indexeddb/intversion-bad-parameters-expected.txt:
* storage/indexeddb/intversion-bad-parameters.html:
* storage/indexeddb/intversion-blocked.html:
* storage/indexeddb/intversion-close-between-events.html:
* storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
* storage/indexeddb/intversion-close-in-oncomplete.html:
* storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
* storage/indexeddb/intversion-close-in-upgradeneeded.html:
* storage/indexeddb/intversion-encoding.html:
* storage/indexeddb/intversion-gated-on-delete.html:
* storage/indexeddb/intversion-long-queue-expected.txt:
* storage/indexeddb/intversion-long-queue.html:
* storage/indexeddb/intversion-omit-parameter.html:
* storage/indexeddb/intversion-open-in-upgradeneeded.html:
* storage/indexeddb/intversion-open-with-version.html:
* storage/indexeddb/intversion-pending-version-changes-ascending-expected.txt: Removed.
* storage/indexeddb/intversion-pending-version-changes-ascending.html: Removed.
* storage/indexeddb/intversion-pending-version-changes-descending-expected.txt: Removed.
* storage/indexeddb/intversion-pending-version-changes-descending.html: Removed.
* storage/indexeddb/intversion-pending-version-changes-same-expected.txt: Removed.
* storage/indexeddb/intversion-pending-version-changes-same.html: Removed.
* storage/indexeddb/intversion-persistence.html:
* storage/indexeddb/intversion-revert-on-abort.html:
* storage/indexeddb/intversion-two-opens-no-versions.html:
* storage/indexeddb/intversion-upgrades-expected.txt:
* storage/indexeddb/intversion-upgrades.html:
* storage/indexeddb/invalid-keys-expected.txt:
* storage/indexeddb/invalid-keys.html:
* storage/indexeddb/key-generator.html:
* storage/indexeddb/key-sort-order-across-types.html:
* storage/indexeddb/key-sort-order-date.html:
* storage/indexeddb/key-type-array-expected.txt:
* storage/indexeddb/key-type-array.html:
* storage/indexeddb/key-type-binary-expected.txt: Removed.
* storage/indexeddb/key-type-binary.html: Removed.
* storage/indexeddb/key-type-infinity.html:
* storage/indexeddb/keypath-arrays-expected.txt:
* storage/indexeddb/keypath-arrays.html:
* storage/indexeddb/keypath-basics-expected.txt:
* storage/indexeddb/keypath-basics.html:
* storage/indexeddb/keypath-edges-expected.txt:
* storage/indexeddb/keypath-edges.html:
* storage/indexeddb/keypath-fetch-key.html:
* storage/indexeddb/keypath-intrinsic-properties.html:
* storage/indexeddb/keyrange-expected.txt:
* storage/indexeddb/keyrange-required-arguments-expected.txt:
* storage/indexeddb/keyrange-required-arguments.html:
* storage/indexeddb/keyrange.html:
* storage/indexeddb/lazy-index-population-expected.txt:
* storage/indexeddb/lazy-index-population.html:
* storage/indexeddb/lazy-index-types.html:
* storage/indexeddb/legacy-constants.html:
* storage/indexeddb/list-ordering.html:
* storage/indexeddb/metadata-race-expected.txt: Removed.
* storage/indexeddb/metadata-race.html: Removed.
* storage/indexeddb/metadata.html:
* storage/indexeddb/mutating-cursor.html:
* storage/indexeddb/noblobs-expected.txt:
* storage/indexeddb/noblobs.html:
* storage/indexeddb/object-lookups-in-versionchange-expected.txt:
* storage/indexeddb/object-lookups-in-versionchange.html:
* storage/indexeddb/objectStore-required-arguments-expected.txt:
* storage/indexeddb/objectStore-required-arguments.html:
* storage/indexeddb/objectstore-autoincrement-expected.txt:
* storage/indexeddb/objectstore-autoincrement.html:
* storage/indexeddb/objectstore-basics-expected.txt:
* storage/indexeddb/objectstore-basics-workers-expected.txt:
* storage/indexeddb/objectstore-basics-workers.html:
* storage/indexeddb/objectstore-basics.html:
* storage/indexeddb/objectstore-clear.html:
* storage/indexeddb/objectstore-count-expected.txt:
* storage/indexeddb/objectstore-count.html:
* storage/indexeddb/objectstore-cursor-expected.txt:
* storage/indexeddb/objectstore-cursor.html:
* storage/indexeddb/objectstore-keycursor-expected.txt: Removed.
* storage/indexeddb/objectstore-keycursor.html: Removed.
* storage/indexeddb/objectstore-removeobjectstore.html:
* storage/indexeddb/odd-strings.html:
* storage/indexeddb/open-bad-versions.html:
* storage/indexeddb/open-cursor-expected.txt:
* storage/indexeddb/open-cursor.html:
* storage/indexeddb/open-during-transaction.html:
* storage/indexeddb/open-ordering.html:
* storage/indexeddb/open-twice-workers.html:
* storage/indexeddb/opencursor-key.html:
* storage/indexeddb/optional-arguments-expected.txt: Removed.
* storage/indexeddb/optional-arguments.html: Removed.
* storage/indexeddb/pending-activity-workers.html:
* storage/indexeddb/pending-activity.html:
* storage/indexeddb/pending-version-change-on-exit.html:
* storage/indexeddb/pending-version-change-stuck-works-with-terminate.html:
* storage/indexeddb/pending-version-change-stuck.html:
* storage/indexeddb/persistence.html:
* storage/indexeddb/prefetch-bugfix-108071-expected.txt:
* storage/indexeddb/prefetch-bugfix-108071.html:
* storage/indexeddb/prefetch-invalidation-expected.txt: Removed.
* storage/indexeddb/prefetch-invalidation.html: Removed.
* storage/indexeddb/prefetch-race-expected.txt: Removed.
* storage/indexeddb/prefetch-race.html: Removed.
* storage/indexeddb/queued-commands.html:
* storage/indexeddb/readonly-properties.html:
* storage/indexeddb/readonly.html:
* storage/indexeddb/removed-expected.txt:
* storage/indexeddb/removed.html:
* storage/indexeddb/request-continue-abort.html:
* storage/indexeddb/request-event-propagation.html:
* storage/indexeddb/request-leak-expected.txt: Removed.
* storage/indexeddb/request-leak.html: Removed.
* storage/indexeddb/request-result-cache-expected.txt: Removed.
* storage/indexeddb/request-result-cache.html: Removed.
* storage/indexeddb/resources/aborted-versionchange-closes.js:
* storage/indexeddb/resources/basics.js:
(test):
(openCallback):
* storage/indexeddb/resources/create-and-remove-object-store.js:
* storage/indexeddb/resources/create-object-store-options.js:
* storage/indexeddb/resources/createIndex-after-failure.js:
* storage/indexeddb/resources/createObjectStore-name-argument-required.js:
* storage/indexeddb/resources/createObjectStore-null-name.js:
* storage/indexeddb/resources/cursor-added-bug.js:
* storage/indexeddb/resources/cursor-advance.js:
* storage/indexeddb/resources/cursor-basics.js: Removed.
* storage/indexeddb/resources/cursor-continue-dir.js:
* storage/indexeddb/resources/cursor-continue-validity.js:
* storage/indexeddb/resources/cursor-continue.js:
* storage/indexeddb/resources/cursor-continueprimarykey.js: Removed.
* storage/indexeddb/resources/cursor-delete.js:
* storage/indexeddb/resources/cursor-inconsistency.js:
* storage/indexeddb/resources/cursor-index-delete.js:
* storage/indexeddb/resources/cursor-key-order.js:
* storage/indexeddb/resources/cursor-prev-no-duplicate.js:
* storage/indexeddb/resources/cursor-primary-key-order.js:
* storage/indexeddb/resources/cursor-properties.js:
* storage/indexeddb/resources/cursor-reverse-bug.js:
* storage/indexeddb/resources/cursor-skip-deleted.js:
* storage/indexeddb/resources/cursor-update-value-argument-required.js:
* storage/indexeddb/resources/cursor-update.js:
* storage/indexeddb/resources/cursor-value.js:
* storage/indexeddb/resources/data-corruption.js:
(prepareDatabase):
* storage/indexeddb/resources/database-basics.js:
* storage/indexeddb/resources/database-close.js:
* storage/indexeddb/resources/database-closepending-flag.js:
* storage/indexeddb/resources/database-deletepending-flag.js:
* storage/indexeddb/resources/database-name-undefined.js:
* storage/indexeddb/resources/database-odd-names.js:
* storage/indexeddb/resources/database-quota.js:
(logError):
* storage/indexeddb/resources/database-wrapper.js:
(onBlocked):
* storage/indexeddb/resources/delete-closed-database-object.js:
* storage/indexeddb/resources/delete-in-upgradeneeded-close-in-open-success.js:
* storage/indexeddb/resources/delete-in-upgradeneeded-close-in-versionchange.js:
(deleteSuccessCallback):
* storage/indexeddb/resources/delete-range.js:
* storage/indexeddb/resources/deleteIndex.js:
* storage/indexeddb/resources/deleteObjectStore-name-argument-required.js:
* storage/indexeddb/resources/deleteObjectStore-null-name.js:
* storage/indexeddb/resources/deleted-objects.js:
(prepareDatabase):
* storage/indexeddb/resources/deletedatabase-blocked.js:
* storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js:
* storage/indexeddb/resources/deletedatabase-delayed-by-versionchange.js:
(h1OpenSuccess.request.onsuccess.h2OpenSuccess.request.onsuccess):
* storage/indexeddb/resources/deletedatabase-not-blocked.js:
* storage/indexeddb/resources/dont-commit-on-blocked-worker.js:
* storage/indexeddb/resources/dont-wedge.js:
* storage/indexeddb/resources/duplicates.js:
* storage/indexeddb/resources/error-causes-abort-by-default.js:
* storage/indexeddb/resources/events.js:
(test):
* storage/indexeddb/resources/exception-in-event-aborts.js:
(causeException):
* storage/indexeddb/resources/exceptions.js:
(testObjectStore):
* storage/indexeddb/resources/factory-basics.js:
(test):
(getDatabaseNamesSuccess1):
(getDatabaseNamesSuccess2):
* storage/indexeddb/resources/factory-cmp.js:
(testValidKeys):
* storage/indexeddb/resources/factory-deletedatabase.js:
* storage/indexeddb/resources/get-keyrange.js:
* storage/indexeddb/resources/index-basics.js:
(prepareDatabase):
* storage/indexeddb/resources/index-count.js:
* storage/indexeddb/resources/index-cursor.js:
* storage/indexeddb/resources/index-duplicate-keypaths.js:
* storage/indexeddb/resources/index-get-key-argument-required.js:
* storage/indexeddb/resources/index-multientry.js:
* storage/indexeddb/resources/index-population.js:
* storage/indexeddb/resources/index-unique.js:
* storage/indexeddb/resources/interfaces.js:
* storage/indexeddb/resources/intversion-abort-in-initial-upgradeneeded.js:
* storage/indexeddb/resources/intversion-bad-parameters.js:
* storage/indexeddb/resources/intversion-blocked.js:
* storage/indexeddb/resources/intversion-close-between-events.js:
* storage/indexeddb/resources/intversion-close-in-oncomplete.js:
* storage/indexeddb/resources/intversion-close-in-upgradeneeded.js:
* storage/indexeddb/resources/intversion-encoding.js:
* storage/indexeddb/resources/intversion-gated-on-delete.js:
* storage/indexeddb/resources/intversion-long-queue.js:
(connection2UpgradeNeeded):
(connection2Success):
(connection2VersionChangeEvent):
(connection3UpgradeNeeded):
(connection3Success):
* storage/indexeddb/resources/intversion-omit-parameter.js:
* storage/indexeddb/resources/intversion-open-in-upgradeneeded.js:
* storage/indexeddb/resources/intversion-open-with-version.js:
* storage/indexeddb/resources/intversion-pending-version-changes-ascending.js: Removed.
* storage/indexeddb/resources/intversion-pending-version-changes-descending.js: Removed.
* storage/indexeddb/resources/intversion-pending-version-changes-same.js: Removed.
* storage/indexeddb/resources/intversion-persistence.js:
* storage/indexeddb/resources/intversion-revert-on-abort.js:
* storage/indexeddb/resources/intversion-two-opens-no-versions.js:
* storage/indexeddb/resources/intversion-upgrades.js:
(connection2BlockedCallback):
(errorWhenTryingLowVersion):
* storage/indexeddb/resources/invalid-keys.js:
* storage/indexeddb/resources/key-generator.js:
* storage/indexeddb/resources/key-sort-order-across-types.js:
* storage/indexeddb/resources/key-sort-order-date.js:
* storage/indexeddb/resources/key-type-array.js:
* storage/indexeddb/resources/key-type-binary.js: Removed.
* storage/indexeddb/resources/key-type-infinity.js:
* storage/indexeddb/resources/keypath-arrays.js:
* storage/indexeddb/resources/keypath-basics.js:
* storage/indexeddb/resources/keypath-edges.js:
* storage/indexeddb/resources/keypath-fetch-key.js:
* storage/indexeddb/resources/keypath-intrinsic-properties.js:
* storage/indexeddb/resources/keyrange-required-arguments.js:
* storage/indexeddb/resources/keyrange.js:
* storage/indexeddb/resources/lazy-index-types.js:
* storage/indexeddb/resources/legacy-constants.js:
* storage/indexeddb/resources/list-ordering.js:
* storage/indexeddb/resources/metadata.js:
* storage/indexeddb/resources/mutating-cursor.js:
* storage/indexeddb/resources/objectStore-required-arguments.js:
* storage/indexeddb/resources/objectstore-autoincrement.js:
* storage/indexeddb/resources/objectstore-basics.js:
(prepareDatabase):
* storage/indexeddb/resources/objectstore-clear.js:
* storage/indexeddb/resources/objectstore-count.js:
* storage/indexeddb/resources/objectstore-cursor.js:
* storage/indexeddb/resources/objectstore-keycursor.js: Removed.
* storage/indexeddb/resources/objectstore-removeobjectstore.js:
* storage/indexeddb/resources/odd-strings.js:
* storage/indexeddb/resources/open-cursor.js:
* storage/indexeddb/resources/open-during-transaction.js:
* storage/indexeddb/resources/open-ordering.js:
* storage/indexeddb/resources/open-twice.js:
* storage/indexeddb/resources/opencursor-key.js:
* storage/indexeddb/resources/pending-activity.js:
* storage/indexeddb/resources/pending-version-change-on-exit.js:
* storage/indexeddb/resources/pending-version-change-stuck.js:
* storage/indexeddb/resources/persistence.js:
* storage/indexeddb/resources/prefetch-bugfix-108071.js:
* storage/indexeddb/resources/queued-commands.js:
* storage/indexeddb/resources/readonly-properties.js:
* storage/indexeddb/resources/readonly.js:
* storage/indexeddb/resources/removed.js:
* storage/indexeddb/resources/request-continue-abort.js:
* storage/indexeddb/resources/request-event-propagation.js:
* storage/indexeddb/resources/set_version_blocked.js:
* storage/indexeddb/resources/setversion-blocked-by-versionchange-close.js:
* storage/indexeddb/resources/setversion-not-blocked.js:
* storage/indexeddb/resources/shared.js:
(unexpectedErrorCallback):
(unexpectedAbortCallback):
(evalAndExpectException):
* storage/indexeddb/resources/transaction-abort.js:
* storage/indexeddb/resources/transaction-active-flag.js:
* storage/indexeddb/resources/transaction-after-close.js:
* storage/indexeddb/resources/transaction-and-objectstore-calls.js:
* storage/indexeddb/resources/transaction-basics.js:
* storage/indexeddb/resources/transaction-complete-workers.js:
* storage/indexeddb/resources/transaction-coordination-across-databases.js:
* storage/indexeddb/resources/transaction-coordination-within-database.js:
* storage/indexeddb/resources/transaction-crash-on-abort.js:
* storage/indexeddb/resources/transaction-error.js:
(testErrorFromRequest.trans.onabort):
(testErrorFromRequest):
(testErrorFromException.trans.onabort):
(testErrorFromException):
(testErrorFromCommit.trans.oncomplete.request.onupgradeneeded.trans.onabort):
(testErrorFromCommit.trans.oncomplete.request.onupgradeneeded):
(testErrorFromCommit.trans.oncomplete):
(testErrorFromCommit):
* storage/indexeddb/resources/transaction-event-propagation.js:
* storage/indexeddb/resources/transaction-read-only.js:
* storage/indexeddb/resources/transaction-readwrite-exclusive.js:
* storage/indexeddb/resources/transaction-rollback.js:
* storage/indexeddb/resources/transaction-scope-sequencing.js:
* storage/indexeddb/resources/transaction-starvation.js:
* storage/indexeddb/resources/transaction-storeNames-required.js:
* storage/indexeddb/resources/unblocked-version-changes.js:
(onUpgradeNeeded):
* storage/indexeddb/resources/unprefix.js:
* storage/indexeddb/resources/value-undefined.js:
* storage/indexeddb/resources/values-odd-types.js:
* storage/indexeddb/resources/version-change-abort.js:
* storage/indexeddb/resources/version-change-exclusive.js:
* storage/indexeddb/resources/versionchangerequest-activedomobject.js:
* storage/indexeddb/set_version_blocked.html:
* storage/indexeddb/setversion-blocked-by-versionchange-close-expected.txt:
* storage/indexeddb/setversion-blocked-by-versionchange-close.html:
* storage/indexeddb/setversion-not-blocked.html:
* storage/indexeddb/structured-clone-expected.txt:
* storage/indexeddb/structured-clone.html:
* storage/indexeddb/transaction-abort-expected.txt:
* storage/indexeddb/transaction-abort.html:
* storage/indexeddb/transaction-active-flag-expected.txt:
* storage/indexeddb/transaction-active-flag.html:
* storage/indexeddb/transaction-after-close-expected.txt:
* storage/indexeddb/transaction-after-close.html:
* storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
* storage/indexeddb/transaction-and-objectstore-calls.html:
* storage/indexeddb/transaction-basics-expected.txt:
* storage/indexeddb/transaction-basics.html:
* storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html:
* storage/indexeddb/transaction-complete-with-js-recursion.html:
* storage/indexeddb/transaction-complete-workers-expected.txt:
* storage/indexeddb/transaction-complete-workers.html:
* storage/indexeddb/transaction-coordination-across-databases.html:
* storage/indexeddb/transaction-coordination-within-database.html:
* storage/indexeddb/transaction-crash-in-tasks.html:
* storage/indexeddb/transaction-crash-on-abort.html:
* storage/indexeddb/transaction-error-expected.txt:
* storage/indexeddb/transaction-error.html:
* storage/indexeddb/transaction-event-propagation.html:
* storage/indexeddb/transaction-ordering-expected.txt: Removed.
* storage/indexeddb/transaction-ordering.html: Removed.
* storage/indexeddb/transaction-read-only-expected.txt:
* storage/indexeddb/transaction-read-only.html:
* storage/indexeddb/transaction-readwrite-exclusive.html:
* storage/indexeddb/transaction-rollback.html:
* storage/indexeddb/transaction-scope-sequencing.html:
* storage/indexeddb/transaction-starvation.html:
* storage/indexeddb/transaction-storeNames-required-expected.txt:
* storage/indexeddb/transaction-storeNames-required.html:
* storage/indexeddb/unblocked-version-changes-expected.txt:
* storage/indexeddb/unblocked-version-changes.html:
* storage/indexeddb/unprefix-workers.html:
* storage/indexeddb/unprefix.html:
* storage/indexeddb/value-undefined.html:
* storage/indexeddb/values-odd-types.html:
* storage/indexeddb/version-change-abort-expected.txt:
* storage/indexeddb/version-change-abort.html:
* storage/indexeddb/version-change-exclusive-expected.txt:
* storage/indexeddb/version-change-exclusive.html:
* storage/indexeddb/versionchangerequest-activedomobject.html:

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

7 years agoSubpixel rendering: Make GraphicsLayerClient::paintContents's clip rect subpixel...
zalan@apple.com [Wed, 12 Feb 2014 03:28:43 +0000 (03:28 +0000)]
Subpixel rendering: Make GraphicsLayerClient::paintContents's clip rect subpixel based.
https://bugs.webkit.org/show_bug.cgi?id=128460

Reviewed by Simon Fraser.

GraphicsClient::paintContents takes clipRect as FloatRect now so that we can paint on
subpixel position.

No change in functionality.

Source/WebCore:

* platform/graphics/GraphicsLayerClient.h:
* platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
(WebCore::CompositingCoordinator::paintContents):
* platform/graphics/texmap/coordinated/CompositingCoordinator.h:
* rendering/RenderLayer.cpp:
(WebCore::cornerRect):
(WebCore::RenderLayer::scrollCornerRect):
(WebCore::resizerCornerRect):
(WebCore::RenderLayer::scrollCornerAndResizerRect):
(WebCore::RenderLayer::verticalScrollbarStart):
(WebCore::RenderLayer::horizontalScrollbarStart):
(WebCore::RenderLayer::paintResizer):
(WebCore::RenderLayer::hitTestOverflowControls):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintIntoLayer):
(WebCore::RenderLayerBacking::paintContents):
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::paintContents):
* rendering/RenderLayerCompositor.h:
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paint):

Source/WebKit/gtk:

* WebCoreSupport/AcceleratedCompositingContext.h:
* WebCoreSupport/AcceleratedCompositingContextGL.cpp:
(WebKit::AcceleratedCompositingContext::paintContents):

Source/WebKit/win:

* WebView.cpp:
(WebView::paintContents):
* WebView.h:

Source/WebKit2:

* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::paintContents):
* WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::paintContents):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::paintContents):

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

7 years ago[WebKit2, JSC] Add user default to disable the JIT
weinig@apple.com [Wed, 12 Feb 2014 03:23:55 +0000 (03:23 +0000)]
[WebKit2, JSC] Add user default to disable the JIT
https://bugs.webkit.org/show_bug.cgi?id=128643

Reviewed by Filip Pizlo.

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
* UIProcess/mac/WebContextMac.mm:
(WebKit::registerUserDefaultsIfNeeded):
(WebKit::WebContext::platformInitializeWebProcess):
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitializeWebProcess):

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

7 years agoUse LLVM's dead store elimination
fpizlo@apple.com [Wed, 12 Feb 2014 03:16:27 +0000 (03:16 +0000)]
Use LLVM's dead store elimination
https://bugs.webkit.org/show_bug.cgi?id=128638

Reviewed by Mark Hahnenberg.

DFG's store elimination was being run too soon for comfort on the FTL path. It's
really only sound when run after all other optimizations. Remove it from the FTL
path.

Enable LLVM store elimination. It's both easier to reason about and more
comprehensive.

* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
* ftl/FTLCompile.cpp:
(JSC::FTL::compile):

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

7 years agoGIF animations should be suspended when outside of viewport
antti@apple.com [Wed, 12 Feb 2014 02:55:22 +0000 (02:55 +0000)]
GIF animations should be suspended when outside of viewport
https://bugs.webkit.org/show_bug.cgi?id=128632

Source/WebCore:

Reviewed by Andreas Kling.

Animations are driven by the paint cycle. Speculative tiles keep animations outside the actual viewport going.

Pause animations when they are outside the viewport by not painting them.

Test: fast/repaint/no-animation-outside-viewport.html

* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::animationAdvanced):

    Call animation specific newImageAnimationFrameAvailable instead of the generic notifyObservers.

* loader/cache/CachedImage.h:

    Removed now unnecessary resumeAnimatingImagesForLoader mechanism.
    Remove unnecessary shouldPauseAnimation. Pausing is now always done when by avoiding repaint.

* loader/cache/CachedImageClient.h:
(WebCore::CachedImageClient::newImageAnimationFrameAvailable):
* page/FrameView.cpp:
(WebCore::FrameView::scrollPositionChanged):

    Check if we have image animations to resume when scroll position changes.

* page/Page.cpp:
(WebCore::Page::resumeAnimatingImages):

    Use the same mechanism when resuming background tabs etc.

* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::internalAdvanceAnimation):

    Remove the shouldPauseAnimation test, always rely on pausing on invalidation.

* platform/graphics/ImageObserver.h:
* rendering/RenderBoxModelObject.cpp:
* rendering/RenderElement.cpp:
(WebCore::RenderElement::RenderElement):
(WebCore::RenderElement::~RenderElement):
(WebCore::shouldRepaintForImageAnimation):

    Factor the pausing conditions to a function. Test that the animation is withing the
    visible rect.

(WebCore::RenderElement::newImageAnimationFrameAvailable):

    Add renderer to the paused animation set if we don't continue the animation.

(WebCore::RenderElement::repaintForPausedImageAnimationsIfNeeded):

    Resume the paused animations by triggering repaint.

* rendering/RenderElement.h:
(WebCore::RenderElement::setHasPausedImageAnimations):
(WebCore::RenderElement::hasPausedImageAnimations):
* rendering/RenderObject.cpp:
* rendering/RenderObject.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::addRendererWithPausedImageAnimations):
(WebCore::RenderView::removeRendererWithPausedImageAnimations):
(WebCore::RenderView::resumePausedImageAnimationsIfNeeded):
* rendering/RenderView.h:

LayoutTests:

Reviewed by Andreas Kling.

* fast/repaint/no-animation-outside-viewport-expected.txt: Added.
* fast/repaint/no-animation-outside-viewport.html: Added.

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

7 years agoWeb Inspector: DOMStorageView should listen for events from DOMStorageObject
bburg@apple.com [Wed, 12 Feb 2014 02:52:19 +0000 (02:52 +0000)]
Web Inspector: DOMStorageView should listen for events from DOMStorageObject
https://bugs.webkit.org/show_bug.cgi?id=128620

Reviewed by Timothy Hatcher.

The storage manager used to have a map of DOMStorageViews and delivered events
directly to them. Instead, the DOMStorageObserver should use the manager to
find the appropriate DOMStorageObject and deliver events to it. DOMStorageView
learns about storage updates from DOMStorageObject events.

* UserInterface/DOMStorageContentView.js:
(WebInspector.DOMStorageContentView): Add event listeners.
(WebInspector.DOMStorageContentView.prototype.reset): Renamed from update().
(WebInspector.DOMStorageContentView.prototype.itemsCleared): Take an event argument.
(WebInspector.DOMStorageContentView.prototype.itemRemoved): Take an event argument.
Use for..of when iterating over nodes.
(WebInspector.DOMStorageContentView.prototype.itemAdded): Take an event argument.
Use for..of when iterating over nodes.
(WebInspector.DOMStorageContentView.prototype.itemUpdated): Take an event argument.
Use for..of when iterating over nodes.
* UserInterface/DOMStorageObject.js:
(WebInspector.DOMStorageObject.prototype.removeItem): Moved.
(WebInspector.DOMStorageObject.prototype.setItem): Moved.
(WebInspector.DOMStorageObject.prototype.itemsCleared): Added.
(WebInspector.DOMStorageObject.prototype.itemRemoved): Added.
(WebInspector.DOMStorageObject.prototype.itemAdded): Added.
(WebInspector.DOMStorageObject.prototype.itemUpdated): Added.
* UserInterface/DOMStorageObserver.js: Look up and notify the associated model.
(WebInspector.DOMStorageObserver.prototype.domStorageItemsCleared):
(WebInspector.DOMStorageObserver.prototype.domStorageItemRemoved):
(WebInspector.DOMStorageObserver.prototype.domStorageItemAdded):
(WebInspector.DOMStorageObserver.prototype.domStorageItemUpdated):
* UserInterface/StorageManager.js: Remove view lookup code. Remove
direct calls to DOMStorageViews.
(WebInspector.StorageManager.prototype.itemsCleared):
(WebInspector.StorageManager.prototype.itemRemoved):
(WebInspector.StorageManager.prototype.itemAdded):
(WebInspector.StorageManager.prototype.itemUpdated):
(WebInspector.StorageManager.prototype.domStorageWasUpdated):
(WebInspector.StorageManager.prototype.inspectDOMStorage):
(WebInspector.StorageManager.prototype._domStorageForIdentifier):
(WebInspector.StorageManager.prototype._addDOMStorageIfNeeded):
(WebInspector.StorageManager.prototype._databaseForIdentifier):

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

7 years agoRemove unused RenderNamedFlowThread::previousRendererForNode().
akling@apple.com [Wed, 12 Feb 2014 02:01:14 +0000 (02:01 +0000)]
Remove unused RenderNamedFlowThread::previousRendererForNode().
<https://webkit.org/b/128637>

Reviewed by Antti Koivisto.

* rendering/RenderNamedFlowThread.cpp:
* rendering/RenderNamedFlowThread.h:

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

7 years agoAdd failing test expectations to asynchronous spellchecking tests.
rniwa@webkit.org [Wed, 12 Feb 2014 01:57:46 +0000 (01:57 +0000)]
Add failing test expectations to asynchronous spellchecking tests.

* platform/win/TestExpectations:

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

7 years agoIDB: Reimport storage/indexeddb tests from Blink
beidson@apple.com [Wed, 12 Feb 2014 01:56:01 +0000 (01:56 +0000)]
IDB: Reimport storage/indexeddb tests from Blink
https://bugs.webkit.org/show_bug.cgi?id=128636

Reviewed by Tim Horton.

* resources/js-test.js: Added.
* storage/indexeddb/aborted-versionchange-closes-expected.txt:
* storage/indexeddb/aborted-versionchange-closes.html:
* storage/indexeddb/basics-expected.txt:
* storage/indexeddb/basics-shared-workers-expected.txt:
* storage/indexeddb/basics-shared-workers.html:
* storage/indexeddb/basics-workers-expected.txt:
* storage/indexeddb/basics-workers.html:
* storage/indexeddb/basics.html:
* storage/indexeddb/clone-exception-expected.txt:
* storage/indexeddb/clone-exception.html:
* storage/indexeddb/closed-cursor-expected.txt: Added.
* storage/indexeddb/closed-cursor.html: Added.
* storage/indexeddb/connection-leak-expected.txt: Added.
* storage/indexeddb/connection-leak.html: Added.
* storage/indexeddb/create-and-remove-object-store-expected.txt:
* storage/indexeddb/create-and-remove-object-store.html:
* storage/indexeddb/create-object-store-options-expected.txt:
* storage/indexeddb/create-object-store-options.html:
* storage/indexeddb/createIndex-after-failure-expected.txt:
* storage/indexeddb/createIndex-after-failure.html:
* storage/indexeddb/createObjectStore-name-argument-required-expected.txt:
* storage/indexeddb/createObjectStore-name-argument-required.html:
* storage/indexeddb/createObjectStore-null-name.html:
* storage/indexeddb/cursor-added-bug.html:
* storage/indexeddb/cursor-advance-expected.txt:
* storage/indexeddb/cursor-advance-workers-expected.txt:
* storage/indexeddb/cursor-advance-workers.html:
* storage/indexeddb/cursor-advance.html:
* storage/indexeddb/cursor-basics-expected.txt: Added.
* storage/indexeddb/cursor-basics.html: Added.
* storage/indexeddb/cursor-cast-expected.txt: Added.
* storage/indexeddb/cursor-cast.html: Added.
* storage/indexeddb/cursor-continue-dir-expected.txt:
* storage/indexeddb/cursor-continue-dir.html:
* storage/indexeddb/cursor-continue-expected.txt:
* storage/indexeddb/cursor-continue-validity-expected.txt:
* storage/indexeddb/cursor-continue-validity.html:
* storage/indexeddb/cursor-continue.html:
* storage/indexeddb/cursor-continueprimarykey-expected.txt: Added.
* storage/indexeddb/cursor-continueprimarykey.html: Added.
* storage/indexeddb/cursor-delete.html:
* storage/indexeddb/cursor-finished-expected.txt:
* storage/indexeddb/cursor-finished.html:
* storage/indexeddb/cursor-inconsistency.html:
* storage/indexeddb/cursor-index-delete.html:
* storage/indexeddb/cursor-key-order.html:
* storage/indexeddb/cursor-leak-expected.txt:
* storage/indexeddb/cursor-leak.html: Added.
* storage/indexeddb/cursor-overloads-expected.txt:
* storage/indexeddb/cursor-overloads.html:
* storage/indexeddb/cursor-prev-no-duplicate.html:
* storage/indexeddb/cursor-primary-key-order.html:
* storage/indexeddb/cursor-properties.html:
* storage/indexeddb/cursor-request-cycle-expected.txt: Added.
* storage/indexeddb/cursor-request-cycle.html: Added.
* storage/indexeddb/cursor-reverse-bug.html:
* storage/indexeddb/cursor-skip-deleted.html:
* storage/indexeddb/cursor-update-expected.txt:
* storage/indexeddb/cursor-update-value-argument-required-expected.txt:
* storage/indexeddb/cursor-update-value-argument-required.html:
* storage/indexeddb/cursor-update.html:
* storage/indexeddb/cursor-value.html:
* storage/indexeddb/data-corruption-expected.txt:
* storage/indexeddb/data-corruption.html:
* storage/indexeddb/database-basics-expected.txt:
* storage/indexeddb/database-basics.html:
* storage/indexeddb/database-close-expected.txt:
* storage/indexeddb/database-close.html:
* storage/indexeddb/database-closepending-flag-expected.txt:
* storage/indexeddb/database-closepending-flag.html:
* storage/indexeddb/database-deletepending-flag.html:
* storage/indexeddb/database-name-undefined-expected.txt:
* storage/indexeddb/database-name-undefined.html:
* storage/indexeddb/database-odd-names.html:
* storage/indexeddb/database-wrapper-expected.txt:
* storage/indexeddb/database-wrapper.html:
* storage/indexeddb/delete-closed-database-object-expected.txt:
* storage/indexeddb/delete-closed-database-object.html:
* storage/indexeddb/delete-in-upgradeneeded-close-in-open-success.html:
* storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-expected.txt:
* storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange.html:
* storage/indexeddb/delete-range.html:
* storage/indexeddb/deleteIndex-bug110792-expected.txt:
* storage/indexeddb/deleteIndex-bug110792.html:
* storage/indexeddb/deleteIndex-expected.txt:
* storage/indexeddb/deleteIndex.html:
* storage/indexeddb/deleteObjectStore-name-argument-required-expected.txt:
* storage/indexeddb/deleteObjectStore-name-argument-required.html:
* storage/indexeddb/deleteObjectStore-null-name.html:
* storage/indexeddb/deleted-objects-expected.txt:
* storage/indexeddb/deleted-objects.html:
* storage/indexeddb/deletedatabase-blocked.html:
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html:
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange.html:
* storage/indexeddb/deletedatabase-delayed-by-versionchange-expected.txt:
* storage/indexeddb/deletedatabase-delayed-by-versionchange.html:
* storage/indexeddb/deletedatabase-not-blocked.html:
* storage/indexeddb/deletedatabase-transaction.html:
* storage/indexeddb/dont-commit-on-blocked.html:
* storage/indexeddb/dont-wedge.html:
* storage/indexeddb/duplicates.html:
* storage/indexeddb/error-causes-abort-by-default.html:
* storage/indexeddb/events-expected.txt:
* storage/indexeddb/events.html:
* storage/indexeddb/exception-in-event-aborts-expected.txt:
* storage/indexeddb/exception-in-event-aborts.html:
* storage/indexeddb/exceptions-expected.txt:
* storage/indexeddb/exceptions.html:
* storage/indexeddb/factory-basics-expected.txt:
* storage/indexeddb/factory-basics-workers-expected.txt:
* storage/indexeddb/factory-basics-workers.html:
* storage/indexeddb/factory-basics.html:
* storage/indexeddb/factory-cmp-expected.txt:
* storage/indexeddb/factory-cmp.html:
* storage/indexeddb/factory-deletedatabase.html:
* storage/indexeddb/get-keyrange-expected.txt:
* storage/indexeddb/get-keyrange.html:
* storage/indexeddb/index-basics-expected.txt:
* storage/indexeddb/index-basics-workers-expected.txt:
* storage/indexeddb/index-basics-workers.html:
* storage/indexeddb/index-basics.html:
* storage/indexeddb/index-count-expected.txt:
* storage/indexeddb/index-count.html:
* storage/indexeddb/index-cursor.html:
* storage/indexeddb/index-duplicate-keypaths.html:
* storage/indexeddb/index-get-key-argument-required-expected.txt:
* storage/indexeddb/index-get-key-argument-required.html:
* storage/indexeddb/index-multientry.html:
* storage/indexeddb/index-population.html:
* storage/indexeddb/index-unique.html:
* storage/indexeddb/interfaces.html:
* storage/indexeddb/intversion-abort-in-initial-upgradeneeded.html:
* storage/indexeddb/intversion-bad-parameters-expected.txt:
* storage/indexeddb/intversion-bad-parameters.html:
* storage/indexeddb/intversion-blocked.html:
* storage/indexeddb/intversion-close-between-events.html:
* storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
* storage/indexeddb/intversion-close-in-oncomplete.html:
* storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
* storage/indexeddb/intversion-close-in-upgradeneeded.html:
* storage/indexeddb/intversion-encoding.html:
* storage/indexeddb/intversion-gated-on-delete.html:
* storage/indexeddb/intversion-long-queue-expected.txt:
* storage/indexeddb/intversion-long-queue.html:
* storage/indexeddb/intversion-omit-parameter.html:
* storage/indexeddb/intversion-open-in-upgradeneeded.html:
* storage/indexeddb/intversion-open-with-version.html:
* storage/indexeddb/intversion-pending-version-changes-ascending-expected.txt: Added.
* storage/indexeddb/intversion-pending-version-changes-ascending.html: Added.
* storage/indexeddb/intversion-pending-version-changes-descending-expected.txt: Added.
* storage/indexeddb/intversion-pending-version-changes-descending.html: Added.
* storage/indexeddb/intversion-pending-version-changes-same-expected.txt: Added.
* storage/indexeddb/intversion-pending-version-changes-same.html: Added.
* storage/indexeddb/intversion-persistence.html:
* storage/indexeddb/intversion-revert-on-abort.html:
* storage/indexeddb/intversion-two-opens-no-versions.html:
* storage/indexeddb/intversion-upgrades-expected.txt:
* storage/indexeddb/intversion-upgrades.html:
* storage/indexeddb/invalid-keys-expected.txt:
* storage/indexeddb/invalid-keys.html:
* storage/indexeddb/key-generator.html:
* storage/indexeddb/key-sort-order-across-types.html:
* storage/indexeddb/key-sort-order-date.html:
* storage/indexeddb/key-type-array-expected.txt:
* storage/indexeddb/key-type-array.html:
* storage/indexeddb/key-type-binary-expected.txt: Added.
* storage/indexeddb/key-type-binary.html: Added.
* storage/indexeddb/key-type-infinity.html:
* storage/indexeddb/keypath-arrays-expected.txt:
* storage/indexeddb/keypath-arrays.html:
* storage/indexeddb/keypath-basics-expected.txt:
* storage/indexeddb/keypath-basics.html:
* storage/indexeddb/keypath-edges-expected.txt:
* storage/indexeddb/keypath-edges.html:
* storage/indexeddb/keypath-fetch-key.html:
* storage/indexeddb/keypath-intrinsic-properties.html:
* storage/indexeddb/keyrange-expected.txt:
* storage/indexeddb/keyrange-required-arguments-expected.txt:
* storage/indexeddb/keyrange-required-arguments.html:
* storage/indexeddb/keyrange.html:
* storage/indexeddb/lazy-index-population-expected.txt:
* storage/indexeddb/lazy-index-population.html:
* storage/indexeddb/lazy-index-types.html:
* storage/indexeddb/legacy-constants.html:
* storage/indexeddb/list-ordering.html:
* storage/indexeddb/metadata-race-expected.txt: Added.
* storage/indexeddb/metadata-race.html: Added.
* storage/indexeddb/metadata.html:
* storage/indexeddb/mutating-cursor.html:
* storage/indexeddb/noblobs-expected.txt:
* storage/indexeddb/noblobs.html:
* storage/indexeddb/object-lookups-in-versionchange-expected.txt:
* storage/indexeddb/object-lookups-in-versionchange.html:
* storage/indexeddb/objectStore-required-arguments-expected.txt:
* storage/indexeddb/objectStore-required-arguments.html:
* storage/indexeddb/objectstore-autoincrement-expected.txt:
* storage/indexeddb/objectstore-autoincrement.html:
* storage/indexeddb/objectstore-basics-expected.txt:
* storage/indexeddb/objectstore-basics-workers-expected.txt:
* storage/indexeddb/objectstore-basics-workers.html:
* storage/indexeddb/objectstore-basics.html:
* storage/indexeddb/objectstore-clear.html:
* storage/indexeddb/objectstore-count-expected.txt:
* storage/indexeddb/objectstore-count.html:
* storage/indexeddb/objectstore-cursor-expected.txt:
* storage/indexeddb/objectstore-cursor.html:
* storage/indexeddb/objectstore-keycursor-expected.txt: Added.
* storage/indexeddb/objectstore-keycursor.html: Added.
* storage/indexeddb/objectstore-removeobjectstore.html:
* storage/indexeddb/odd-strings.html:
* storage/indexeddb/open-bad-versions.html:
* storage/indexeddb/open-cursor-expected.txt:
* storage/indexeddb/open-cursor.html:
* storage/indexeddb/open-during-transaction.html:
* storage/indexeddb/open-ordering.html:
* storage/indexeddb/open-twice-workers.html:
* storage/indexeddb/opencursor-key.html:
* storage/indexeddb/optional-arguments-expected.txt: Added.
* storage/indexeddb/optional-arguments.html: Added.
* storage/indexeddb/pending-activity-workers.html:
* storage/indexeddb/pending-activity.html:
* storage/indexeddb/pending-version-change-on-exit.html:
* storage/indexeddb/pending-version-change-stuck-works-with-terminate.html:
* storage/indexeddb/pending-version-change-stuck.html:
* storage/indexeddb/persistence.html:
* storage/indexeddb/prefetch-bugfix-108071-expected.txt:
* storage/indexeddb/prefetch-bugfix-108071.html:
* storage/indexeddb/prefetch-invalidation-expected.txt: Added.
* storage/indexeddb/prefetch-invalidation.html: Added.
* storage/indexeddb/prefetch-race-expected.txt: Added.
* storage/indexeddb/prefetch-race.html: Added.
* storage/indexeddb/queued-commands.html:
* storage/indexeddb/readonly-properties.html:
* storage/indexeddb/readonly.html:
* storage/indexeddb/removed-expected.txt:
* storage/indexeddb/removed.html:
* storage/indexeddb/request-continue-abort.html:
* storage/indexeddb/request-event-propagation.html:
* storage/indexeddb/request-leak-expected.txt: Added.
* storage/indexeddb/request-leak.html: Added.
* storage/indexeddb/request-result-cache-expected.txt: Added.
* storage/indexeddb/request-result-cache.html: Added.
* storage/indexeddb/resources/aborted-versionchange-closes.js:
* storage/indexeddb/resources/basics.js:
* storage/indexeddb/resources/create-and-remove-object-store.js:
* storage/indexeddb/resources/create-object-store-options.js:
* storage/indexeddb/resources/createIndex-after-failure.js:
* storage/indexeddb/resources/createObjectStore-name-argument-required.js:
* storage/indexeddb/resources/createObjectStore-null-name.js:
* storage/indexeddb/resources/cursor-added-bug.js:
* storage/indexeddb/resources/cursor-advance.js:
* storage/indexeddb/resources/cursor-basics.js: Added.
* storage/indexeddb/resources/cursor-continue-dir.js:
* storage/indexeddb/resources/cursor-continue-validity.js:
* storage/indexeddb/resources/cursor-continue.js:
* storage/indexeddb/resources/cursor-continueprimarykey.js: Added.
* storage/indexeddb/resources/cursor-delete.js:
* storage/indexeddb/resources/cursor-inconsistency.js:
* storage/indexeddb/resources/cursor-index-delete.js:
* storage/indexeddb/resources/cursor-key-order.js:
* storage/indexeddb/resources/cursor-prev-no-duplicate.js:
* storage/indexeddb/resources/cursor-primary-key-order.js:
* storage/indexeddb/resources/cursor-properties.js:
* storage/indexeddb/resources/cursor-reverse-bug.js:
* storage/indexeddb/resources/cursor-skip-deleted.js:
* storage/indexeddb/resources/cursor-update-value-argument-required.js:
* storage/indexeddb/resources/cursor-update.js:
* storage/indexeddb/resources/cursor-value.js:
* storage/indexeddb/resources/data-corruption.js:
* storage/indexeddb/resources/database-basics.js:
* storage/indexeddb/resources/database-close.js:
* storage/indexeddb/resources/database-closepending-flag.js:
* storage/indexeddb/resources/database-deletepending-flag.js:
* storage/indexeddb/resources/database-name-undefined.js:
* storage/indexeddb/resources/database-odd-names.js:
* storage/indexeddb/resources/database-quota.js:
* storage/indexeddb/resources/database-wrapper.js:
* storage/indexeddb/resources/delete-closed-database-object.js:
* storage/indexeddb/resources/delete-in-upgradeneeded-close-in-open-success.js:
* storage/indexeddb/resources/delete-in-upgradeneeded-close-in-versionchange.js:
* storage/indexeddb/resources/delete-range.js:
* storage/indexeddb/resources/deleteIndex.js:
* storage/indexeddb/resources/deleteObjectStore-name-argument-required.js:
* storage/indexeddb/resources/deleteObjectStore-null-name.js:
* storage/indexeddb/resources/deleted-objects.js:
* storage/indexeddb/resources/deletedatabase-blocked.js:
* storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js:
* storage/indexeddb/resources/deletedatabase-delayed-by-versionchange.js:
* storage/indexeddb/resources/deletedatabase-not-blocked.js:
* storage/indexeddb/resources/dont-commit-on-blocked-worker.js:
* storage/indexeddb/resources/dont-wedge.js:
* storage/indexeddb/resources/duplicates.js:
* storage/indexeddb/resources/error-causes-abort-by-default.js:
* storage/indexeddb/resources/events.js:
* storage/indexeddb/resources/exception-in-event-aborts.js:
* storage/indexeddb/resources/exceptions.js:
* storage/indexeddb/resources/factory-basics.js:
* storage/indexeddb/resources/factory-cmp.js:
* storage/indexeddb/resources/factory-deletedatabase.js:
* storage/indexeddb/resources/get-keyrange.js:
* storage/indexeddb/resources/index-basics.js:
* storage/indexeddb/resources/index-count.js:
* storage/indexeddb/resources/index-cursor.js:
* storage/indexeddb/resources/index-duplicate-keypaths.js:
* storage/indexeddb/resources/index-get-key-argument-required.js:
* storage/indexeddb/resources/index-multientry.js:
* storage/indexeddb/resources/index-population.js:
* storage/indexeddb/resources/index-unique.js:
* storage/indexeddb/resources/interfaces.js:
* storage/indexeddb/resources/intversion-abort-in-initial-upgradeneeded.js:
* storage/indexeddb/resources/intversion-bad-parameters.js:
* storage/indexeddb/resources/intversion-blocked.js:
* storage/indexeddb/resources/intversion-close-between-events.js:
* storage/indexeddb/resources/intversion-close-in-oncomplete.js:
* storage/indexeddb/resources/intversion-close-in-upgradeneeded.js:
* storage/indexeddb/resources/intversion-encoding.js:
* storage/indexeddb/resources/intversion-gated-on-delete.js:
* storage/indexeddb/resources/intversion-long-queue.js:
* storage/indexeddb/resources/intversion-omit-parameter.js:
* storage/indexeddb/resources/intversion-open-in-upgradeneeded.js:
* storage/indexeddb/resources/intversion-open-with-version.js:
* storage/indexeddb/resources/intversion-pending-version-changes-ascending.js: Added.
* storage/indexeddb/resources/intversion-pending-version-changes-descending.js: Added.
* storage/indexeddb/resources/intversion-pending-version-changes-same.js: Added.
* storage/indexeddb/resources/intversion-persistence.js:
* storage/indexeddb/resources/intversion-revert-on-abort.js:
* storage/indexeddb/resources/intversion-two-opens-no-versions.js:
* storage/indexeddb/resources/intversion-upgrades.js:
* storage/indexeddb/resources/invalid-keys.js:
* storage/indexeddb/resources/key-generator.js:
* storage/indexeddb/resources/key-sort-order-across-types.js:
* storage/indexeddb/resources/key-sort-order-date.js:
* storage/indexeddb/resources/key-type-array.js:
* storage/indexeddb/resources/key-type-binary.js: Added.
* storage/indexeddb/resources/key-type-infinity.js:
* storage/indexeddb/resources/keypath-arrays.js:
* storage/indexeddb/resources/keypath-basics.js:
* storage/indexeddb/resources/keypath-edges.js:
* storage/indexeddb/resources/keypath-fetch-key.js:
* storage/indexeddb/resources/keypath-intrinsic-properties.js:
* storage/indexeddb/resources/keyrange-required-arguments.js:
* storage/indexeddb/resources/keyrange.js:
* storage/indexeddb/resources/lazy-index-types.js:
* storage/indexeddb/resources/legacy-constants.js:
* storage/indexeddb/resources/list-ordering.js:
* storage/indexeddb/resources/metadata.js:
* storage/indexeddb/resources/mutating-cursor.js:
* storage/indexeddb/resources/objectStore-required-arguments.js:
* storage/indexeddb/resources/objectstore-autoincrement.js:
* storage/indexeddb/resources/objectstore-basics.js:
* storage/indexeddb/resources/objectstore-clear.js:
* storage/indexeddb/resources/objectstore-count.js:
* storage/indexeddb/resources/objectstore-cursor.js:
* storage/indexeddb/resources/objectstore-keycursor.js:
* storage/indexeddb/resources/objectstore-removeobjectstore.js:
* storage/indexeddb/resources/odd-strings.js:
* storage/indexeddb/resources/open-cursor.js:
* storage/indexeddb/resources/open-during-transaction.js:
* storage/indexeddb/resources/open-ordering.js:
* storage/indexeddb/resources/open-twice.js:
* storage/indexeddb/resources/opencursor-key.js:
* storage/indexeddb/resources/pending-activity.js:
* storage/indexeddb/resources/pending-version-change-on-exit.js:
* storage/indexeddb/resources/pending-version-change-stuck.js:
* storage/indexeddb/resources/persistence.js:
* storage/indexeddb/resources/prefetch-bugfix-108071.js:
* storage/indexeddb/resources/queued-commands.js:
* storage/indexeddb/resources/readonly-properties.js:
* storage/indexeddb/resources/readonly.js:
* storage/indexeddb/resources/removed.js:
* storage/indexeddb/resources/request-continue-abort.js:
* storage/indexeddb/resources/request-event-propagation.js:
* storage/indexeddb/resources/set_version_blocked.js:
* storage/indexeddb/resources/setversion-blocked-by-versionchange-close.js:
* storage/indexeddb/resources/setversion-not-blocked.js:
* storage/indexeddb/resources/shared.js:
* storage/indexeddb/resources/transaction-abort.js:
* storage/indexeddb/resources/transaction-active-flag.js:
* storage/indexeddb/resources/transaction-after-close.js:
* storage/indexeddb/resources/transaction-and-objectstore-calls.js:
* storage/indexeddb/resources/transaction-basics.js:
* storage/indexeddb/resources/transaction-complete-workers.js:
* storage/indexeddb/resources/transaction-coordination-across-databases.js:
* storage/indexeddb/resources/transaction-coordination-within-database.js:
* storage/indexeddb/resources/transaction-crash-on-abort.js:
* storage/indexeddb/resources/transaction-error.js:
* storage/indexeddb/resources/transaction-event-propagation.js:
* storage/indexeddb/resources/transaction-read-only.js:
* storage/indexeddb/resources/transaction-readwrite-exclusive.js:
* storage/indexeddb/resources/transaction-rollback.js:
* storage/indexeddb/resources/transaction-scope-sequencing.js:
* storage/indexeddb/resources/transaction-starvation.js:
* storage/indexeddb/resources/transaction-storeNames-required.js:
* storage/indexeddb/resources/unblocked-version-changes.js:
* storage/indexeddb/resources/unprefix.js:
* storage/indexeddb/resources/value-undefined.js:
* storage/indexeddb/resources/values-odd-types.js:
* storage/indexeddb/resources/version-change-abort.js:
* storage/indexeddb/resources/version-change-exclusive.js:
* storage/indexeddb/resources/versionchangerequest-activedomobject.js:
* storage/indexeddb/set_version_blocked.html:
* storage/indexeddb/setversion-blocked-by-versionchange-close-expected.txt:
* storage/indexeddb/setversion-blocked-by-versionchange-close.html:
* storage/indexeddb/setversion-not-blocked.html:
* storage/indexeddb/structured-clone-expected.txt:
* storage/indexeddb/structured-clone.html:
* storage/indexeddb/transaction-abort-expected.txt:
* storage/indexeddb/transaction-abort.html:
* storage/indexeddb/transaction-active-flag-expected.txt:
* storage/indexeddb/transaction-active-flag.html:
* storage/indexeddb/transaction-after-close-expected.txt:
* storage/indexeddb/transaction-after-close.html:
* storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
* storage/indexeddb/transaction-and-objectstore-calls.html:
* storage/indexeddb/transaction-basics-expected.txt:
* storage/indexeddb/transaction-basics.html:
* storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html:
* storage/indexeddb/transaction-complete-with-js-recursion.html:
* storage/indexeddb/transaction-complete-workers-expected.txt:
* storage/indexeddb/transaction-complete-workers.html:
* storage/indexeddb/transaction-coordination-across-databases.html:
* storage/indexeddb/transaction-coordination-within-database.html:
* storage/indexeddb/transaction-crash-in-tasks.html:
* storage/indexeddb/transaction-crash-on-abort.html:
* storage/indexeddb/transaction-error-expected.txt:
* storage/indexeddb/transaction-error.html:
* storage/indexeddb/transaction-event-propagation.html:
* storage/indexeddb/transaction-ordering-expected.txt: Added.
* storage/indexeddb/transaction-ordering.html: Added.
* storage/indexeddb/transaction-read-only-expected.txt:
* storage/indexeddb/transaction-read-only.html:
* storage/indexeddb/transaction-readwrite-exclusive.html:
* storage/indexeddb/transaction-rollback.html:
* storage/indexeddb/transaction-scope-sequencing.html:
* storage/indexeddb/transaction-starvation.html:
* storage/indexeddb/transaction-storeNames-required-expected.txt:
* storage/indexeddb/transaction-storeNames-required.html:
* storage/indexeddb/unblocked-version-changes-expected.txt:
* storage/indexeddb/unblocked-version-changes.html:
* storage/indexeddb/unprefix-workers.html:
* storage/indexeddb/unprefix.html:
* storage/indexeddb/value-undefined.html:
* storage/indexeddb/values-odd-types.html:
* storage/indexeddb/version-change-abort-expected.txt:
* storage/indexeddb/version-change-abort.html:
* storage/indexeddb/version-change-exclusive-expected.txt:
* storage/indexeddb/version-change-exclusive.html:
* storage/indexeddb/versionchangerequest-activedomobject.html:

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

7 years agoMove renderNamedFlowThreadWrapper() to RenderElement.
akling@apple.com [Wed, 12 Feb 2014 01:55:40 +0000 (01:55 +0000)]
Move renderNamedFlowThreadWrapper() to RenderElement.
<https://webkit.org/b/128634>

This function is only ever called on RenderElements so move it there
from RenderObject.

Reviewed by Antti Koivisto.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::renderNamedFlowThreadWrapper):
* rendering/RenderElement.h:
* rendering/RenderObject.cpp:
* rendering/RenderObject.h:

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

7 years agoPosition and thickness of underline as text size changes
mmaxfield@apple.com [Wed, 12 Feb 2014 01:54:19 +0000 (01:54 +0000)]
Position and thickness of underline as text size changes
https://bugs.webkit.org/show_bug.cgi?id=16768

Source/WebCore:

Reviewed by Dean Jackson.

This patch adopts the iOS codepath for underlines. It also reorganizes
drawLineForText to avoid a costly global state save & restore.

Test: fast/css3-text/css3-text-decoration/text-decoration-thickness.html

* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::computeLineBoundsAndAntialiasingModeForText):
(WebCore::GraphicsContext::computeLineBoundsForText):
(WebCore::GraphicsContext::drawLineForText):
(WebCore::GraphicsContext::drawLinesForText):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):

LayoutTests:

This test draws underlined text at a very large font size. It then positions and clips
the text so that the underline should fill a box if the underline grows in proportion
to text size. The comparison is to a box that has its background color set.

Reviewed by Dean Jackson.

* fast/css3-text/css3-text-decoration/text-decoration-thickness-expected.html: Added.
* fast/css3-text/css3-text-decoration/text-decoration-thickness.html: Added.

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

7 years agoFrame::rectForSelection shouldn't instantiate FrameSelection
rniwa@webkit.org [Wed, 12 Feb 2014 01:53:03 +0000 (01:53 +0000)]
Frame::rectForSelection shouldn't instantiate FrameSelection
https://bugs.webkit.org/show_bug.cgi?id=128587

Reviewed by Enrica Casucci.

Source/WebCore:

Made VisiblePosition::absoluteCaretBounds more interoperable with the one in FrameSelection and made
iOS's Frame::rectForScrollToVisible use that function instead.

The above change allows us to remove:
- suppressCloseTyping(), restoreCloseTyping(), and m_closeTypingSuppressions in FrameSelection
- suppressSelectionNotifications() and restoreSelectionNotifications() in EditorClient

See inline comments below for more details.

* Source/WebCore/WebCore.exp.in:

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::FrameSelection):
(WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
(WebCore::CaretBase::updateCaretRect):
(WebCore::FrameSelection::caretRendererWithoutUpdatingLayout):
(WebCore::DragCaretController::caretRenderer):
(WebCore::repaintCaretForLocalRect):
(WebCore::FrameSelection::recomputeCaretRect): Merged FrameSelection::localCaretRect(). Modified
the code to update caretNode when and only when caret rect is updated. Also added an assertion to
ensure absoluteCaretBounds() on FrameSelection and VisiblePosition yield the same result.

(WebCore::CaretBase::paintCaret):
* editing/FrameSelection.h:

* editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::absoluteCaretBounds): Fixed the bug where the old code wasn't respecting
the convention to use containing block as the renderer to paint caret.

* editing/htmlediting.cpp:
(WebCore::caretRendersInsideNode): Moved from FrameSelection.cpp.
(WebCore::rendererForCaretPainting): Ditto and renamed from caretRenderer.
(WebCore::localCaretRectInRendererForCaretPainting): Extracted from FrameSelection::updateCaretRect.
(WebCore::absoluteBoundsForLocalCaretRect): Ditto from CaretBase::absoluteBoundsForLocalRect.
* editing/htmlediting.h:

* loader/EmptyClients.h:
* page/EditorClient.h:
* page/Frame.h:

* page/ios/FrameIOS.mm:
(WebCore::Frame::rectForScrollToVisible): Reimplemented in its simplest form using VisiblePosition's
absoluteCaretBounds().

Source/WebKit/mac:

* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::WebEditorClient):
(WebEditorClient::respondToChangedSelection):

Source/WebKit2:

* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm:

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

7 years agoSupport WebSelections in WK2 on iOS.
enrica@apple.com [Wed, 12 Feb 2014 01:10:21 +0000 (01:10 +0000)]
Support WebSelections in WK2 on iOS.
https://bugs.webkit.org/show_bug.cgi?id=127015
<rdar://problem/15211964>

Reviewed by Benjamin Poulain.

Source/WebCore:

Adding few exports.

* WebCore.exp.in:

Source/WebKit2:

First step towards implementing block selections on iOS.
The main logic is in rangeForWebSelectionAtPosition that
decides whether we create a text or a block selection.

* Shared/ios/WKGestureTypes.h:
* UIProcess/API/ios/WKInteractionView.mm:
(toUIWKSelectionFlags):
(selectionChangedWithGesture):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::rangeForWebSelectionAtPosition):
(WebKit::WebPage::selectWithGesture):
(WebKit::WebPage::getPositionInformation):

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

7 years agoWeb Replay: upstream replay input code generator and EncodedValue class
bburg@apple.com [Wed, 12 Feb 2014 00:22:01 +0000 (00:22 +0000)]
Web Replay: upstream replay input code generator and EncodedValue class
https://bugs.webkit.org/show_bug.cgi?id=128215

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Add the replay inputs code generator. Most features of the input generator are
exercised by included generator regression tests, which produce useful but
non-compilable test replay inputs.

Add EncodedValue, the main replay input serialization class that encodes and
decodes inputs and their data between C++ types and the JSON-based replay recording
format. EncodedValue uses EncodingTraits specializations for type-specific encoding.
Relative to other WebKit marshalling mechanisms, EncodedValue is key/value based.
EncodedValue uses InspectorValue subclasses as its backing data structure.

Add some missing numerical conversions to InspectorValue.

* JavaScriptCore.xcodeproj/project.pbxproj:
* inspector/InspectorValues.cpp:
(Inspector::InspectorValue::asNumber):
(Inspector::InspectorBasicValue::asNumber):
* inspector/InspectorValues.h:
* replay/EncodedValue.cpp: Added.
(JSC::EncodedValue::asObject):
(JSC::EncodedValue::asArray):
(JSC::ScalarEncodingTraits<bool>::encodeValue):
(JSC::ScalarEncodingTraits<double>::encodeValue):
(JSC::ScalarEncodingTraits<float>::encodeValue):
(JSC::ScalarEncodingTraits<int32_t>::encodeValue):
(JSC::ScalarEncodingTraits<int64_t>::encodeValue):
(JSC::ScalarEncodingTraits<uint32_t>::encodeValue):
(JSC::ScalarEncodingTraits<uint64_t>::encodeValue):
(JSC::long>::encodeValue):
(JSC::EncodedValue::convertTo<bool>):
(JSC::EncodedValue::convertTo<double>):
(JSC::EncodedValue::convertTo<float>):
(JSC::EncodedValue::convertTo<int32_t>):
(JSC::EncodedValue::convertTo<int64_t>):
(JSC::EncodedValue::convertTo<uint32_t>):
(JSC::EncodedValue::convertTo<uint64_t>):
(JSC::long>):
(JSC::EncodedValue::convertTo<String>):
(JSC::EncodedValue::put<EncodedValue>):
(JSC::EncodedValue::append<EncodedValue>):
(JSC::EncodedValue::get<EncodedValue>):
* replay/EncodedValue.h: Added.
(JSC::EncodedValue::EncodedValue):
(JSC::EncodedValue::createObject):
(JSC::EncodedValue::createArray):
(JSC::EncodedValue::createString):
(JSC::EncodedValue::~EncodedValue):
(JSC::ScalarEncodingTraits::decodeValue):
(JSC::EncodingTraits<String>::encodeValue):
(JSC::EncodedValue::put):
(JSC::EncodedValue::append):
(JSC::EncodedValue::get):
* replay/scripts/CodeGeneratorReplayInputs.py: Added.
(ParseException):
(TypecheckException):
(Framework):
(Framework.__init__):
(Framework.setting):
(Framework.fromString):
(Frameworks):
(InputQueue):
(InputQueue.__init__):
(InputQueue.setting):
(InputQueue.fromString):
(InputQueues):
(Input):
(Input.__init__):
(Input.setting):
(InputMember):
(InputMember.__init__):
(InputMember.has_flag):
(TypeMode):
(TypeMode.__init__):
(TypeMode.fromString):
(TypeModes):
(Type):
(Type.__init__):
(Type.__eq__):
(Type.__hash__):
(Type.has_flag):
(Type.is_struct):
(Type.is_enum):
(Type.is_enum_class):
(Type.declaration_kind):
(Type.qualified_prefix):
(Type.qualified_prefix.is):
(Type.type_name):
(Type.storage_type):
(Type.borrow_type):
(Type.argument_type):
(check_properties):
(VectorType):
(VectorType.__init__):
(VectorType.has_flag):
(VectorType.is_struct):
(VectorType.is_enum):
(VectorType.is_enum_class):
(VectorType.qualified_prefix):
(VectorType.type_name):
(VectorType.argument_type):
(InputsModel):
(InputsModel.__init__):
(InputsModel.enum_types):
(InputsModel.get_type_for_member):
(InputsModel.parse_toplevel):
(InputsModel.parse_type_with_framework_name):
(InputsModel.parse_input):
(InputsModel.typecheck):
(InputsModel.typecheck_type):
(InputsModel.typecheck_input):
(InputsModel.typecheck_input_member):
(IncrementalFileWriter):
(IncrementalFileWriter.__init__):
(IncrementalFileWriter.write):
(IncrementalFileWriter.close):
(lcfirst):
(wrap_with_guard):
(Generator):
(Generator.__init__):
(Generator.setting):
(Generator.output_filename):
(Generator.write_output_files):
(Generator.generate_header):
(Generator.generate_implementation):
(Generator.generate_license):
(Generator.generate_includes):
(Generator.generate_includes.declaration):
(Generator.generate_includes.declaration.is):
(Generator.generate_type_forward_declarations):
(Generator.generate_type_forward_declarations.is):
(Generator.generate_class_declaration):
(Generator.generate_input_constructor_declaration):
(Generator.generate_input_destructor_declaration):
(Generator.generate_input_member_getter):
(Generator.generate_input_member_declaration):
(Generator.generate_input_member_tuples):
(Generator.qualified_input_name):
(Generator.generate_input_trait_declaration):
(Generator.generate_enum_trait_declaration):
(Generator.generate_for_each_macro):
(Generator.generate_class_implementation):
(Generator.generate_enum_trait_implementation):
(Generator.generate_enum_trait_implementation.is):
(Generator.generate_input_trait_implementation):
(Generator.generate_input_encode_implementation):
(Generator.generate_input_decode_implementation):
(Generator.generate_constructor_initializer_list):
(Generator.generate_constructor_formals_list):
(Generator.generate_member_borrow_expression):
(Generator.generate_member_move_expression):
(Generator.generate_constructor_arguments_list):
(generate_from_specification):
* replay/scripts/CodeGeneratorReplayInputsTemplates.py: Added.
(Templates):
* replay/scripts/tests/expected/JSInputs.json-TestReplayInputs.cpp: Added.
* replay/scripts/tests/expected/JSInputs.json-TestReplayInputs.h: Added.
* replay/scripts/tests/expected/fail-on-c-style-enum-no-storage.json-error: Added.
* replay/scripts/tests/expected/fail-on-duplicate-input-names.json-error: Added.
* replay/scripts/tests/expected/fail-on-duplicate-type-names.json-error: Added.
* replay/scripts/tests/expected/fail-on-enum-type-missing-values.json-error: Added.
* replay/scripts/tests/expected/fail-on-missing-input-member-name.json-error: Added.
* replay/scripts/tests/expected/fail-on-missing-input-name.json-error: Added.
* replay/scripts/tests/expected/fail-on-missing-input-queue.json-error: Added.
* replay/scripts/tests/expected/fail-on-missing-type-mode.json-error: Added.
* replay/scripts/tests/expected/fail-on-missing-type-name.json-error: Added.
* replay/scripts/tests/expected/fail-on-no-inputs.json-error: Added.
* replay/scripts/tests/expected/fail-on-no-types.json-error: Added.
* replay/scripts/tests/expected/fail-on-unknown-input-queue.json-error: Added.
* replay/scripts/tests/expected/fail-on-unknown-member-type.json-error: Added.
* replay/scripts/tests/expected/fail-on-unknown-type-mode.json-error: Added.
* replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.cpp: Added.
* replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.h: Added.
* replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.cpp: Added.
* replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.h: Added.
* replay/scripts/tests/expected/generate-enum-encoding-helpers.json-error: Added.
* replay/scripts/tests/expected/generate-event-loop-shape-types.json-error: Added.
* replay/scripts/tests/expected/generate-input-with-guard.json-TestReplayInputs.cpp: Added.
* replay/scripts/tests/expected/generate-input-with-guard.json-TestReplayInputs.h: Added.
* replay/scripts/tests/expected/generate-input-with-vector-members.json-TestReplayInputs.cpp: Added.
* replay/scripts/tests/expected/generate-input-with-vector-members.json-TestReplayInputs.h: Added.
* replay/scripts/tests/expected/generate-inputs-with-flags.json-error: Added.
* replay/scripts/tests/expected/generate-memoized-type-modes.json-TestReplayInputs.cpp: Added.
* replay/scripts/tests/expected/generate-memoized-type-modes.json-TestReplayInputs.h: Added.
* replay/scripts/tests/fail-on-c-style-enum-no-storage.json: Added.
* replay/scripts/tests/fail-on-duplicate-input-names.json: Added.
* replay/scripts/tests/fail-on-duplicate-type-names.json: Added.
* replay/scripts/tests/fail-on-enum-type-missing-values.json: Added.
* replay/scripts/tests/fail-on-missing-input-member-name.json: Added.
* replay/scripts/tests/fail-on-missing-input-name.json: Added.
* replay/scripts/tests/fail-on-missing-input-queue.json: Added.
* replay/scripts/tests/fail-on-missing-type-mode.json: Added.
* replay/scripts/tests/fail-on-missing-type-name.json: Added.
* replay/scripts/tests/fail-on-no-inputs.json: Added.
* replay/scripts/tests/fail-on-no-types.json: Added.
* replay/scripts/tests/fail-on-unknown-input-queue.json: Added.
* replay/scripts/tests/fail-on-unknown-member-type.json: Added.
* replay/scripts/tests/fail-on-unknown-type-mode.json: Added.
* replay/scripts/tests/generate-enum-encoding-helpers-with-guarded-values.json: Added.
* replay/scripts/tests/generate-enum-encoding-helpers.json: Added.
* replay/scripts/tests/generate-event-loop-shape-types.json: Added.
* replay/scripts/tests/generate-input-with-guard.json: Added.
* replay/scripts/tests/generate-input-with-vector-members.json: Added.
* replay/scripts/tests/generate-inputs-with-flags.json: Added.
* replay/scripts/tests/generate-memoized-type-modes.json: Added.

Tools:

Add an executable script to launch the replay input generator tests.
Add a test harness for running the code generator tests, mostly taken
from the bindings test harness (but simplified).

* Scripts/run-input-generator-tests: Added.
(main):
* Scripts/webkitpy/replay/__init__.py: Added.
* Scripts/webkitpy/replay/main.py: Added.
(InputGeneratorTests):
(InputGeneratorTests.__init__):
(InputGeneratorTests.generate_from_json):
(InputGeneratorTests.write_error_file):
(InputGeneratorTests.detect_changes):
(InputGeneratorTests.run_tests):
(InputGeneratorTests.main):

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

7 years agoCTTE: RenderNamedFlowThread always has a WebKitNamedFlow.
akling@apple.com [Wed, 12 Feb 2014 00:08:16 +0000 (00:08 +0000)]
CTTE: RenderNamedFlowThread always has a WebKitNamedFlow.
<https://webkit.org/b/128623>

Codify the fact that RenderNamedFlowThread always has a corresponding
WebKitNamedFlow by storing it in a Ref, and adding an accessor that
returns a reference to get rid of all the ->'s.

Also removed some unnecessary assertions exposed by this.

Reviewed by Antti Koivisto.

* dom/NamedFlowCollection.cpp:
(WebCore::NamedFlowCollection::ensureFlowWithName):
* dom/NamedFlowCollection.h:
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
(WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
(WebCore::RenderNamedFlowThread::flowThreadName):
(WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent):
(WebCore::RenderNamedFlowThread::dispatchRegionOversetChangeEvent):
(WebCore::RenderNamedFlowThread::regionLayoutUpdateEventTimerFired):
(WebCore::RenderNamedFlowThread::regionOversetChangeEventTimerFired):
(WebCore::RenderNamedFlowThread::setMarkForDestruction):
(WebCore::RenderNamedFlowThread::resetMarkForDestruction):
(WebCore::RenderNamedFlowThread::isMarkedForDestruction):
* rendering/RenderNamedFlowThread.h:

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

7 years agoSource/WebCore: Convert position:fixed property to position:absolute upon copy
mmaxfield@apple.com [Wed, 12 Feb 2014 00:06:01 +0000 (00:06 +0000)]
Source/WebCore: Convert position:fixed property to position:absolute upon copy
https://bugs.webkit.org/show_bug.cgi?id=128194

Reviewed by Simon Fraser.

This adds a Setting and Preference that allows clients to opt-in to this behavior.

This new behavior is only activated if the entire body is copied. If there is a position:fixed
element in the copied selection, it is replaced with position:absolute, and a containing
block (position:relative) is wrapped around the copied text.

This patch originally converted position:-webkit-sticky to position:relative. However, we
currently don't support copying and pasting of position:-webkit-sticky content (See below).
Therefore, this patch only deals with position:fixed.

Right now we don't copy position:-webkit-sticky. This is because:
1. When copying styled elements, we parse the style properties again
2. CSSParserContext has a flag which can disable parsing -webkit-sticky
3. There are two constructors to CSSParserContext: one that takes a document and sets up the
aforementioned flag, and a simple one that doesn't take a document and sets all the enableFoo
flags to false
4. At the relevant place within copy code, we are far removed from the Document object, so we
instead call the second constructor, thereby disabling parsing of -webkit-sticky

Test: editing/pasteboard/copy-paste-converts-sticky-and-fixed.html

* WebCore.exp.in: Export the Setting setter
* editing/EditingStyle.cpp:
(WebCore::EditingStyle::convertFixedAndStickyPosition): Converts a single style
* editing/EditingStyle.h:
* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator): Remember if we found
an element which needs the position:relative containing block
(WebCore::StyledMarkupAccumulator::appendElement): Surround with the position:relative
containing block if necessary
(WebCore::createMarkupInternal):
* page/Settings.cpp:
(WebCore::Settings::Settings): New setting to opt-in to this new behavior
(WebCore::Settings::setConvertPositionStyleOnCopy):
* page/Settings.h:
(WebCore::Settings::convertPositionStyleOnCopy):
* testing/InternalSettings.cpp: Allow setting the setting from a Layout Test
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setConvertPositionStyleOnCopy):
* testing/InternalSettings.h:
* testing/InternalSettings.idl:

Source/WebKit/mac: Convert position:sticky and position:fixed properties to position:static and position:absolute upon copy
https://bugs.webkit.org/show_bug.cgi?id=128194

Reviewed by Simon Fraser.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences convertPositionStyleOnCopy]):
(-[WebPreferences setConvertPositionStyleOnCopy:]):
* WebView/WebPreferencesPrivate.h: Opt-in to new behavior
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2: Convert position:sticky and position:fixed properties to position:static and position:absolute upon copy
https://bugs.webkit.org/show_bug.cgi?id=128194

Reviewed by Simon Fraser.

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetConvertPositionStyleOnCopy):
(WKPreferencesGetConvertPositionStyleOnCopy):
* UIProcess/API/C/WKPreferencesPrivate.h: Opt-in to new behavior
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

LayoutTests: Convert position:sticky and position:fixed properties to position:static and position:absolute upon copy
https://bugs.webkit.org/show_bug.cgi?id=128194

Reviewed by Simon Fraser.

Checks that the style properties get converted.

* editing/pasteboard/copy-paste-converts-sticky-and-fixed-expected.txt: Added.
* editing/pasteboard/copy-paste-converts-sticky-and-fixed.html: Added.

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

7 years agoXMLHttpRequest should not send DNT header
commit-queue@webkit.org [Wed, 12 Feb 2014 00:02:31 +0000 (00:02 +0000)]
XMLHttpRequest should not send DNT header
https://bugs.webkit.org/show_bug.cgi?id=128533

Patch by Youenn Fablet <youennf@gmail.com> on 2014-02-11
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Added DNT (Do Not Track) header to the list of forbidden headers.
Updated http/tests/xmlhttprequest/set-dangerous-headers.html to test that header.

* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):

LayoutTests:

Updated http/tests/xmlhttprequest/set-dangerous-headers.html to test that DNT header is not sent.

* http/tests/xmlhttprequest/set-dangerous-headers-expected.txt:
* http/tests/xmlhttprequest/set-dangerous-headers.html:

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

7 years agoBring third-party app cache blocking behavior in line with private browsing app cache...
jpfau@apple.com [Tue, 11 Feb 2014 23:07:49 +0000 (23:07 +0000)]
Bring third-party app cache blocking behavior in line with private browsing app cache blocking behavior
https://bugs.webkit.org/show_bug.cgi?id=128557

Reviewed by Alexey Proskuryakov.

Source/WebCore:

* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::cacheForMainRequest):
(WebCore::ApplicationCacheGroup::selectCache):
(WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
(WebCore::ApplicationCacheGroup::update):
* loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::maybeLoadMainResource):
(WebCore::ApplicationCacheHost::maybeLoadFallbackForMainResponse):
(WebCore::ApplicationCacheHost::maybeLoadFallbackForMainError):
(WebCore::ApplicationCacheHost::maybeLoadResource):
(WebCore::ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache):
(WebCore::ApplicationCacheHost::isApplicationCacheBlockedForRequest):
* loader/appcache/ApplicationCacheHost.h:

LayoutTests:

* http/tests/security/resources/cross-origin-iframe-for-appcache-allowed.html:
* http/tests/security/resources/cross-origin-iframe-for-appcache.html:
* http/tests/security/resources/same-origin-iframe-for-appcache-blocked.html:

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

7 years agoWeb Inspector: AX: Accessibility Node Inspection
joepeck@webkit.org [Tue, 11 Feb 2014 23:05:06 +0000 (23:05 +0000)]
Web Inspector: AX: Accessibility Node Inspection
https://bugs.webkit.org/show_bug.cgi?id=127447

Patch by James Craig <jcraig@apple.com> on 2014-02-11
Reviewed by Chris Fleizach.

Resolving build failure caused by r163891.

* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::computedRoleString):

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

7 years agoIDB: The test after storage/indexeddb/mozilla/object-identity.html fails in cleanup...
beidson@apple.com [Tue, 11 Feb 2014 23:01:09 +0000 (23:01 +0000)]
IDB: The test after storage/indexeddb/mozilla/object-identity.html fails in cleanup code
<rdar://problem/16040663> and https://bugs.webkit.org/show_bug.cgi?id=128621

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Covered by storage/indexeddb/mozilla/object-identity.html.

* Modules/indexeddb/IDBTransactionBackend.cpp:
(WebCore::IDBTransactionBackend::abort): Clear the m_database pointer before calling the onAbort callback.
(WebCore::IDBTransactionBackend::commit): Don't run the abort code if there's no m_database pointer.

LayoutTests:

* platform/mac-wk2/TestExpectations: Enabled all of the storage/indexeddb/mozilla tests except 1.

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

7 years agoUnreviewed. Fix typo in layout test introduced in r163811.
rego@igalia.com [Tue, 11 Feb 2014 22:56:25 +0000 (22:56 +0000)]
Unreviewed. Fix typo in layout test introduced in r163811.

Patch by Diego Pino Garcia <dpino@igalia.com> on 2014-02-11

* inspector-protocol/debugger/hit-breakpoint-from-console.html:

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

7 years ago[Windows] Set ENABLE_CSS_SHAPE_INSIDE feature flag on Windows.
roger_fong@apple.com [Tue, 11 Feb 2014 22:00:14 +0000 (22:00 +0000)]
[Windows] Set ENABLE_CSS_SHAPE_INSIDE feature flag on Windows.

* win/tools/vsprops/FeatureDefines.props:

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

7 years ago[WK2] Rename screenToWindow to screenToRootView and windowToScreen to rootViewToScreen
benjamin@webkit.org [Tue, 11 Feb 2014 21:56:24 +0000 (21:56 +0000)]
[WK2] Rename screenToWindow to screenToRootView and windowToScreen to rootViewToScreen
https://bugs.webkit.org/show_bug.cgi?id=128575

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-11
Reviewed by Darin Adler.

In WebKit2, screenToRootView and rootViewToScreen were named screenToWindow and windowToScreen.
Those names were fine on ports were FrameView correspond to the scrollview, but they do not apply on iOS.

This patch renames screenToWindow and windowToScreen to their more generic WebCore counterpart.

* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::screenToRootView):
(WebKit::PageClientImpl::rootViewToScreen):
* UIProcess/API/gtk/PageClientImpl.h:
* UIProcess/API/ios/PageClientImplIOS.h:
* UIProcess/API/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::screenToRootView):
(WebKit::PageClientImpl::rootViewToScreen):
* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::screenToRootView):
(WebKit::PageClientImpl::rootViewToScreen):
* UIProcess/CoordinatedGraphics/WebView.cpp:
(WebKit::WebView::screenToRootView):
(WebKit::WebView::rootViewToScreen):
* UIProcess/CoordinatedGraphics/WebView.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::screenToRootView):
(WebKit::WebPageProxy::rootViewToScreen):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::screenToRootView):
(WebKit::WebChromeClient::rootViewToScreen):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::screenToRootView):
(WebKit::WebPage::rootViewToScreen):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
(-[WKAccessibilityWebPageObject _convertScreenPointToRootView:]):
(-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):

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

7 years ago[EME][Mac] Move the implementation of CDMPrivateAVFoundation back into MediaPlayerPri...
jer.noble@apple.com [Tue, 11 Feb 2014 21:50:21 +0000 (21:50 +0000)]
[EME][Mac] Move the implementation of CDMPrivateAVFoundation back into MediaPlayerPrivateAVFoundationObjC.
https://bugs.webkit.org/show_bug.cgi?id=128559

Reviewed by Dean Jackson.

To prepare for multiple simultaneous CDMs with muliple MediaPlayer types, move the implementation for
CDMPrivateAVFoundation back into its media engine.

* Modules/encryptedmedia/CDMPrivateAVFoundation.mm:
(WebCore::MediaKeyExceptionToErrorCode): Added.
(WebCore::CDMSessionAVFoundation::generateKeyRequest): Moved to MediaPlayerPrivateAVFoundationObjC.
(WebCore::CDMSessionAVFoundation::releaseKeys): Ditto.
(WebCore::CDMSessionAVFoundation::update): Ditto.
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::generateKeyRequest): Added, pass through to MediaPlayerPrivate.
(WebCore::MediaPlayer::releaseKeys): Ditto.
(WebCore::MediaPlayer::update): Ditto.
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::generateKeyRequest): Added.
(WebCore::MediaPlayerPrivateInterface::releaseKeys): Ditto.
(WebCore::MediaPlayerPrivateInterface::update): Ditto.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::generateKeyRequest): Moved from CDMSessionAVFoundation.
(WebCore::MediaPlayerPrivateAVFoundationObjC::releaseKeys): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::update): Ditto.

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

7 years agoRun UserAgentScripts through jsmin rather than the css preprocessor
jer.noble@apple.com [Tue, 11 Feb 2014 21:36:06 +0000 (21:36 +0000)]
Run UserAgentScripts through jsmin rather than the css preprocessor
https://bugs.webkit.org/show_bug.cgi?id=127559

Reviewed by Tim Horton.

User Agent JavaScript files were being run through the c++ preprocessor to strip out
comments (and presumably to allow #if ENABLE macros, though that feature is entirely
unused). This had the side effect of removing important whitespace, namely newlines where
there would normally be an implicit semicolon.

Instead, .js files will now be run through the jsmin minifier, used by the inspector.
Jsmin will also strip comments and whitespace, but in a syntactically aware way which will
keep newlines when their presence adds an implied semicolon.

* DerivedSources.make:
* Scripts/make-js-file-arrays.py: Added.
(stringifyCodepoint):
(chunk):
(main):

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

7 years ago[Mac] connection:willStopBufferingData: no longer exists in NSURLConnectionDelegate
aestes@apple.com [Tue, 11 Feb 2014 21:28:55 +0000 (21:28 +0000)]
[Mac] connection:willStopBufferingData: no longer exists in NSURLConnectionDelegate
https://bugs.webkit.org/show_bug.cgi?id=128583

Reviewed by Anders Carlsson.

The delegate method was removed in Snow Leopard.

Source/WebCore:

* loader/ResourceLoader.cpp:
* loader/ResourceLoader.h:
* platform/network/ResourceHandleClient.h:
* platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
* platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

Source/WebKit/mac:

* Misc/WebDownload.mm:

Source/WebKit2:

* NetworkProcess/NetworkResourceLoader.cpp:
* NetworkProcess/NetworkResourceLoader.h:

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

7 years ago[Content Filter] Check for NULL before calling dispatch_release()
aestes@apple.com [Tue, 11 Feb 2014 21:28:51 +0000 (21:28 +0000)]
[Content Filter] Check for NULL before calling dispatch_release()
https://bugs.webkit.org/show_bug.cgi?id=128576

Reviewed by Darin Adler.

m_neFilterSourceQueue will be NULL if NEFilterSource isn't enabled, and
passing NULL to dispatch_release() is undefined.

* platform/mac/ContentFilterMac.mm:
(WebCore::ContentFilter::~ContentFilter):

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

7 years agoSource/WebKit: Fixed linking on Win64.
alex.christensen@flexsim.com [Tue, 11 Feb 2014 21:23:26 +0000 (21:23 +0000)]
Source/WebKit: Fixed linking on Win64.
https://bugs.webkit.org/show_bug.cgi?id=128211

Reviewed by Brent Fulgham.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
Corrected Win64 linker symbols.

Source/WebKit/win: Fixed pointer truncation on Win64.
https://bugs.webkit.org/show_bug.cgi?id=128211

Reviewed by Brent Fulgham.

* WebCoreSupport/EmbeddedWidget.cpp:
(EmbeddedWidget::createWindow):
* WebCoreSupport/WebContextMenuClient.cpp:
(WebContextMenuClient::customizeMenu):
* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::createPlugin):
* WebCoreSupport/WebInspectorClient.cpp:
(WebInspectorClient::WebInspectorClient):
(WebInspectorClient::openInspectorFrontend):
(WebInspectorClient::highlight):
(WebInspectorClient::releaseFrontend):
(WebInspectorFrontendClient::setAttachedWindowHeight):
(WebInspectorFrontendClient::closeWindowWithoutNotifications):
* WebCoreSupport/WebInspectorClient.h:
* WebDropSource.cpp:
(generateMouseEvent):
* WebFrame.cpp:
(WebFrame::createSubframeWithOwnerElement):
(WebFrame::initWithWebView):
Removed all casts from &HWND to OLE_HANDLE*.

Tools: Fixed pointer truncation on Win64.
https://bugs.webkit.org/show_bug.cgi?id=128211

Reviewed by Brent Fulgham.

* DumpRenderTree/win/AccessibilityControllerWin.cpp:
(AccessibilityController::rootElement):
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::setWindowIsKey):
Removed all casts from &HWND to OLE_HANDLE*.

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

7 years ago[MediaControls] Allow the media controls script to be debuggable by giving it a gener...
jer.noble@apple.com [Tue, 11 Feb 2014 21:14:16 +0000 (21:14 +0000)]
[MediaControls] Allow the media controls script to be debuggable by giving it a generated sourceURL
https://bugs.webkit.org/show_bug.cgi?id=127560

Reviewed by Eric Carlson.

When evaluating a script through ScriptController, if that script does not have an
explicit sourceURL, it will not appear in the resources section of the Web Inspector.
For debug builds only, give the media controls script a generated (i.e. fake) sourceURL.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):

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

7 years agoAX: Add text replacement activity support to NSAccessibilitySelectTextWithCriteriaPar...
samuel_white@apple.com [Tue, 11 Feb 2014 20:44:03 +0000 (20:44 +0000)]
AX: Add text replacement activity support to NSAccessibilitySelectTextWithCriteriaParameterizedAttribute.
https://bugs.webkit.org/show_bug.cgi?id=128397

Reviewed by Chris Fleizach.

Source/WebCore:

Added text replacement support for the AXSelectTextWithCriteria parameterized attribute.

No new test. Updated platform/mac/accessibility/select-text.html to test the added functionality.

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::selectText):
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilitySelectTextCriteria::AccessibilitySelectTextCriteria):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(accessibilitySelectTextCriteriaForCriteriaParameterizedAttribute):

Tools:

Updated testing methods to accept a replacement string. This enables us to test text
replacement support for the AXSelectTextWithCriteria parameterized attribute.

* DumpRenderTree/AccessibilityUIElement.cpp:
(selectTextWithCriteriaCallback):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(AccessibilityUIElement::selectTextWithCriteria):
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::selectTextWithCriteria):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(selectTextParameterizedAttributeForCriteria):
(AccessibilityUIElement::selectTextWithCriteria):
* DumpRenderTree/win/AccessibilityUIElementWin.cpp:
(AccessibilityUIElement::selectTextWithCriteria):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::selectTextWithCriteria):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::selectTextWithCriteria):
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::selectTextWithCriteria):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::selectTextParameterizedAttributeForCriteria):
(WTR::AccessibilityUIElement::selectTextWithCriteria):

LayoutTests:

Updated test and expectations to handle text replacement.

* platform/mac/accessibility/select-text-expected.txt:
* platform/mac/accessibility/select-text.html:

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

7 years agoAdd Availability Macros to new JSC APIs
commit-queue@webkit.org [Tue, 11 Feb 2014 20:32:09 +0000 (20:32 +0000)]
Add Availability Macros to new JSC APIs
https://bugs.webkit.org/show_bug.cgi?id=128615

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-02-11
Reviewed by Mark Rowe.

* API/JSContext.h:
* API/JSContextRef.h:

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

7 years agoFTL should support CompareEq(ObjectOrOther:, Object:)
fpizlo@apple.com [Tue, 11 Feb 2014 20:28:59 +0000 (20:28 +0000)]
FTL should support CompareEq(ObjectOrOther:, Object:)
https://bugs.webkit.org/show_bug.cgi?id=127752

Reviewed by Oliver Hunt.

Also introduce some helpers for reasoning about nullness and truthyness.

* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileCompareEq):
(JSC::FTL::LowerDFGToLLVM::compareEqObjectOrOtherToObject):
(JSC::FTL::LowerDFGToLLVM::speculateTruthyObject):
(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::LowerDFGToLLVM::isNotNully):
(JSC::FTL::LowerDFGToLLVM::isNully):
(JSC::FTL::LowerDFGToLLVM::speculateObjectOrOther):
* tests/stress/compare-eq-object-or-other-to-object.js: Added.
(foo):
(test):
* tests/stress/compare-eq-object-to-object-or-other.js: Added.
(foo):
(test):

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

7 years ago[Windows] Unreviewed. Speculative test fix.
roger_fong@apple.com [Tue, 11 Feb 2014 20:26:43 +0000 (20:26 +0000)]
[Windows] Unreviewed. Speculative test fix.

* platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::pixelSnappingFactor):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::platformInit):

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

7 years ago[ASan] Fix build failures in Tools due to missing $(inherited) values
ddkilzer@apple.com [Tue, 11 Feb 2014 20:12:30 +0000 (20:12 +0000)]
[ASan] Fix build failures in Tools due to missing $(inherited) values
<http://webkit.org/b/128485>

Reviewed by Dean Jackson.

* DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
- Move $(inherited) from OTHER_LDFLAGS_macosx to OTHER_LDFLAGS.

* DumpRenderTree/mac/Configurations/ImageDiff.xcconfig:
* DumpRenderTree/mac/Configurations/LayoutTestHelper.xcconfig:
- Add $(inherited) to OTHER_LDFLAGS.

* WebKitTestRunner/Configurations/InjectedBundle.xcconfig:
* WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
- Add $(inherited) to OTHER_LDFLAGS, or move from
  OTHER_LDFLAGS_BASE to OTHER_LDFLAGS.
- Extract $(OTHER_LDFLAGS_BASE) from platform-specific settings
  into OTHER_LDFLAGS.

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

7 years agoiOS build fix.
mitz@apple.com [Tue, 11 Feb 2014 19:49:52 +0000 (19:49 +0000)]
iOS build fix.

* platform/ios/TileGrid.mm:
(WebCore::TileGrid::dropTilesBetweenRects):
(WebCore::TileGrid::dropDistantTiles):
(WebCore::TileGrid::dropInvalidTiles):

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

7 years agoIndexedDB tests on some bots are flakey (timeouts)
beidson@apple.com [Tue, 11 Feb 2014 19:31:46 +0000 (19:31 +0000)]
IndexedDB tests on some bots are flakey (timeouts)
<rdar://problem/16038745> and https://bugs.webkit.org/show_bug.cgi?id=128612

Reviewed by Sam Weinig.

Source/WebKit2:

When messing with JSC VM’s and such, always use APIEntryShim instead of JSLockHolder.
*ESPECIALLY* when dealing with multiple threads.

* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):

LayoutTests:

* platform/mac-wk2/TestExpectations: Reenable the tests.

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

7 years agoWeb Inspector: AX: Accessibility Node Inspection
commit-queue@webkit.org [Tue, 11 Feb 2014 19:27:12 +0000 (19:27 +0000)]
Web Inspector: AX: Accessibility Node Inspection
https://bugs.webkit.org/show_bug.cgi?id=127447

Patch by James Craig <jcraig@apple.com> on 2014-02-11
Reviewed by Timothy Hatcher.

Source/WebCore:

New methods supporting WebCore::AccessibilityObject::computedRoleString()
used for Accessibility section in WebInspector Node Inspector. Other updates
support the JSON interface for the WebInspectorUI feature.

Test: accessibility/roles-computedRoleString.html

* accessibility/AccessibilityObject.cpp:
(WebCore::initializeRoleMap):
(WebCore::ariaRoleMap):
(WebCore::reverseAriaRoleMap):
(WebCore::AccessibilityObject::ariaRoleToWebCoreRole):
(WebCore::AccessibilityObject::computedRoleString):
* accessibility/AccessibilityObject.h:
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper computedRoleString]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getAccessibilityPropertiesForNode):
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
* inspector/InspectorDOMAgent.h:
* inspector/protocol/DOM.json:

Source/WebInspectorUI:

New Accessibility section in WebInspector Node Inspector.
Version 1.0 only shows computed role. Computed label should come soon.

Removed CSS fixed table layout b/c CSS bug: http://webkit.org/b/128294

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/DOMNode.js:
* UserInterface/DOMNodeDetailsSidebarPanel.js:
* UserInterface/DetailsSection.css:
* UserInterface/InspectorWebBackendCommands.js:

Tools:

New computedRoleString interfaces in DumpRenderTree/WebKitTestRunner
to support LayoutTest coverage of AccessibilityObject::computedRoleString()

* DumpRenderTree/AccessibilityUIElement.cpp:
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
* DumpRenderTree/win/AccessibilityUIElementWin.cpp:
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

LayoutTests:

New layout verifying AccessibilityObject::computedRoleString()

* accessibility/roles-computedRoleString-expected.txt: Added.
* accessibility/roles-computedRoleString.html: Added.

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

7 years agoStop throwing when attempting to read instance properties directly from the prototype
oliver@apple.com [Tue, 11 Feb 2014 18:59:17 +0000 (18:59 +0000)]
Stop throwing when attempting to read instance properties directly from the prototype
https://bugs.webkit.org/show_bug.cgi?id=128568

Reviewed by Mark Lam.

Source/WebCore:

A number of websites expect to be able to access instance properties
directly through the prototype.  This is broken behavior but if we
throw an exception the entire site breaks.  This patch simply makes us
return undefined when reading, and logs the error to the console.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectExcitingAttr):
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::jsTestEventConstructorAttr1):
(WebCore::jsTestEventConstructorAttr2):
* bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::jsTestExceptionName):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::jsTestInterfaceImplementsStr1):
(WebCore::jsTestInterfaceImplementsStr2):
(WebCore::jsTestInterfaceImplementsStr3):
(WebCore::jsTestInterfaceImplementsNode):
(WebCore::jsTestInterfaceSupplementalStr1):
(WebCore::jsTestInterfaceSupplementalStr2):
(WebCore::jsTestInterfaceSupplementalStr3):
(WebCore::jsTestInterfaceSupplementalNode):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjReadOnlyLongAttr):
(WebCore::jsTestObjReadOnlyStringAttr):
(WebCore::jsTestObjReadOnlyTestObjAttr):
(WebCore::jsTestObjConstructorTestSubObj):
(WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
(WebCore::jsTestObjEnumAttr):
(WebCore::jsTestObjByteAttr):
(WebCore::jsTestObjOctetAttr):
(WebCore::jsTestObjShortAttr):
(WebCore::jsTestObjUnsignedShortAttr):
(WebCore::jsTestObjLongAttr):
(WebCore::jsTestObjLongLongAttr):
(WebCore::jsTestObjUnsignedLongLongAttr):
(WebCore::jsTestObjStringAttr):
(WebCore::jsTestObjTestObjAttr):
(WebCore::jsTestObjXMLObjAttr):
(WebCore::jsTestObjCreate):
(WebCore::jsTestObjReflectedStringAttr):
(WebCore::jsTestObjReflectedIntegralAttr):
(WebCore::jsTestObjReflectedUnsignedIntegralAttr):
(WebCore::jsTestObjReflectedBooleanAttr):
(WebCore::jsTestObjReflectedURLAttr):
(WebCore::jsTestObjReflectedCustomIntegralAttr):
(WebCore::jsTestObjReflectedCustomBooleanAttr):
(WebCore::jsTestObjReflectedCustomURLAttr):
(WebCore::jsTestObjTypedArrayAttr):
(WebCore::jsTestObjAttrWithGetterException):
(WebCore::jsTestObjAttrWithSetterException):
(WebCore::jsTestObjStringAttrWithGetterException):
(WebCore::jsTestObjStringAttrWithSetterException):
(WebCore::jsTestObjCustomAttr):
(WebCore::jsTestObjWithScriptStateAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAttribute):
(WebCore::jsTestObjWithScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::jsTestObjConditionalAttr1):
(WebCore::jsTestObjConditionalAttr2):
(WebCore::jsTestObjConditionalAttr3):
(WebCore::jsTestObjConditionalAttr4Constructor):
(WebCore::jsTestObjConditionalAttr5Constructor):
(WebCore::jsTestObjConditionalAttr6Constructor):
(WebCore::jsTestObjCachedAttribute1):
(WebCore::jsTestObjCachedAttribute2):
(WebCore::jsTestObjAnyAttribute):
(WebCore::jsTestObjContentDocument):
(WebCore::jsTestObjMutablePoint):
(WebCore::jsTestObjImmutablePoint):
(WebCore::jsTestObjStrawberry):
(WebCore::jsTestObjStrictFloat):
(WebCore::jsTestObjDescription):
(WebCore::jsTestObjId):
(WebCore::jsTestObjHash):
(WebCore::jsTestObjReplaceableAttribute):
(WebCore::jsTestObjNullableDoubleAttribute):
(WebCore::jsTestObjNullableLongAttribute):
(WebCore::jsTestObjNullableBooleanAttribute):
(WebCore::jsTestObjNullableStringAttribute):
(WebCore::jsTestObjNullableLongSettableAttribute):
(WebCore::jsTestObjNullableStringValue):
(WebCore::jsTestObjAttribute):
(WebCore::jsTestObjAttributeWithReservedEnumType):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::jsTestSerializedScriptValueInterfaceValue):
(WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
(WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
(WebCore::jsTestSerializedScriptValueInterfacePorts):
(WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsUnsignedLongLongAttr):
(WebCore::jsTestTypedefsImmutableSerializedScriptValue):
(WebCore::jsTestTypedefsConstructorTestSubObj):
(WebCore::jsTestTypedefsAttrWithGetterException):
(WebCore::jsTestTypedefsAttrWithSetterException):
(WebCore::jsTestTypedefsStringAttrWithGetterException):
(WebCore::jsTestTypedefsStringAttrWithSetterException):
* bindings/scripts/test/JS/JSattribute.cpp:
(WebCore::jsattributeReadonly):

LayoutTests:

Update tests to match required behavior.

* js/dom/dom-as-prototype-assignment-exception-expected.txt:
* js/dom/script-tests/dom-as-prototype-assignment-exception.js:

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

7 years agoAnimation tests are flaky in Release on EWS, too.
ap@apple.com [Tue, 11 Feb 2014 18:37:33 +0000 (18:37 +0000)]
Animation tests are flaky in Release on EWS, too.

* platform/mac/TestExpectations: Removed [ Debug ] from several animation test
expectations.

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

7 years ago[CSS Grid Layout] Support calc() breadth size type
svillar@igalia.com [Tue, 11 Feb 2014 18:25:05 +0000 (18:25 +0000)]
[CSS Grid Layout] Support calc() breadth size type
https://bugs.webkit.org/show_bug.cgi?id=103761

Reviewed by Dean Jackson.

Source/WebCore:

We now support using calc() in
-webkit-grid-template-{columns|rows}. This means that we now
match the specification and support all the possible ways to
specify the track breadths.

This includes a fix to CSSCalculationValue that was converting
Length values to CalcExpressionNumber and thus removing all the
info regarding length units (px, em, pt...). That's why things
like calc(10px + 20%) were shown as calc(10 + 20%) in
getComputedStyle() output.

* css/CSSCalculationValue.cpp:
(WebCore::CSSCalcPrimitiveValue::toCalcValue):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::zoomAdjustedPixelValueForLength):
(WebCore::specifiedValueForGridTrackBreadth):
(WebCore::specifiedValueForGridTrackSize):
* css/StyleResolver.cpp:
(WebCore::createGridTrackBreadth):
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeUsedBreadthOfMinLength):
(WebCore::RenderGrid::computeUsedBreadthOfMaxLength):
(WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength):

LayoutTests:

Added some more tests for track breadths specified with calc().

* fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
* fast/css-grid-layout/grid-columns-rows-get-set-multiple-expected.txt:
* fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
* fast/css-grid-layout/grid-columns-rows-get-set.html:
* fast/css-grid-layout/non-grid-columns-rows-get-set-expected.txt:
* fast/css-grid-layout/non-grid-columns-rows-get-set-multiple-expected.txt:
* fast/css-grid-layout/non-grid-columns-rows-get-set-multiple.html:
* fast/css-grid-layout/non-grid-columns-rows-get-set.html:
* fast/css-grid-layout/resources/grid-columns-rows-get-set-multiple.js:
* fast/css-grid-layout/resources/grid-columns-rows-get-set.js:
* fast/css-grid-layout/resources/non-grid-columns-rows-get-set-multiple.js:
* fast/css-grid-layout/resources/non-grid-columns-rows-get-set.js:

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

7 years ago32-bit LLInt writeBarrierOnGlobalObject is wrong
mhahnenberg@apple.com [Tue, 11 Feb 2014 18:09:36 +0000 (18:09 +0000)]
32-bit LLInt writeBarrierOnGlobalObject is wrong
https://bugs.webkit.org/show_bug.cgi?id=128556

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm: Also fixed the value check on 64-bit.

Source/WTF:

* wtf/Platform.h: Removed OBJECT_MARK_LOGGING from Platform.h since it already exists in FeatureDefines.h

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

7 years agoStop using PLATFORM(MAC) in WebKit2/Shared except where it means “OS X but not iOS”
mitz@apple.com [Tue, 11 Feb 2014 18:00:45 +0000 (18:00 +0000)]
Stop using PLATFORM(MAC) in WebKit2/Shared except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128582

Reviewed by Darin Adler.

* Shared/API/c/WKContextMenuItem.cpp: Removed workaround for Mac Safari 6 compatibility.
(WKContextMenuItemGetTag):
* Shared/API/c/WKDeprecatedFunctions.cpp: Added && !PLATFORM(IOS), because these functions
are not needed on iOS.
* Shared/API/c/WKSharedAPICast.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebKit::toAPI):
(WebKit::toImpl):
* Shared/APIObject.h: Ditto.
* Shared/ChildProcess.cpp: Ditto.
* Shared/ChildProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA) around
setApplicationIsDaemon and setQOS. Changed it to USE(APPKIT) around stopNSAppRunLoop.
* Shared/CommandLine.h: Changed PLATFORM(MAC) to OS(UNIX) around parse().
* Shared/DictionaryPopupInfo.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebKit::DictionaryPopupInfo::encode):
(WebKit::DictionaryPopupInfo::decode):
* Shared/DictionaryPopupInfo.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* Shared/Downloads/Download.h: Ditto.
* Shared/DrawingAreaInfo.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* Shared/FontInfo.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebKit::FontInfo::encode):
(WebKit::FontInfo::decode):
* Shared/FontInfo.h: Ditto.
* Shared/LayerTreeContext.h: Ditto.
* Shared/NativeWebKeyboardEvent.h: Changed PLATFORM(MAC) to USE(APPKIT) around
forward-declaration of NSView.
* Shared/NativeWebMouseEvent.h: Ditto.
* Shared/NativeWebWheelEvent.h: Ditto.
* Shared/Network/CustomProtocols/Cocoa: Renamed from mac.
* Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm: Renamed from CustomProtocolManagerMac.mm.
* Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerMac.mm: Removed.
* Shared/Network/CustomProtocols/CustomProtocolManager.h: Changed PLATFORM(MAC) to
PLATFORM(COCOA).
* Shared/Network/CustomProtocols/mac: Removed.
* Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: Removed.
* Shared/PlatformPopupMenuData.cpp:  Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebKit::PlatformPopupMenuData::encode):
(WebKit::PlatformPopupMenuData::decode):
* Shared/PlatformPopupMenuData.h: Ditto.
* Shared/Plugins/Netscape/PluginInformation.cpp: Ditto.
* Shared/Plugins/PluginModuleInfo.h: Ditto.
* Shared/Plugins/PluginProcessCreationParameters.cpp: Ditto.
(WebKit::PluginProcessCreationParameters::encode):
(WebKit::PluginProcessCreationParameters::decode):
* Shared/Plugins/PluginProcessCreationParameters.h: Ditto.
* Shared/PrintInfo.h: Changed PLATFORM(MAC) to USE(APPKIT) around forward declaration of
NSPrintInfo.
* Shared/SandboxInitializationParameters.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* Shared/TextCheckerState.h: Changed PLATFORM(MAC) to USE(APPKIT).
* Shared/WebArchive.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* Shared/WebArchive.h: Ditto.
* Shared/WebArchiveResource.cpp: Ditto.
* Shared/WebArchiveResource.h: Ditto.
* Shared/WebCoreArgumentCoders.cpp: Ditto.
(IPC::ArgumentCoder<ResourceResponse>::encode):
(IPC::ArgumentCoder<ResourceResponse>::decode):
* Shared/WebCoreArgumentCoders.h: Ditto.
* Shared/WebEvent.h: Ditto.
* Shared/WebEventConversion.cpp: Ditto.
(WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
* Shared/WebKit2Initialize.cpp: Ditto.
(WebKit::InitializeWebKit2):
* Shared/WebPageCreationParameters.cpp: Ditto.
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h: Ditto.
* Shared/WebPreferencesStore.h: Ditto.
* Shared/WebProcessCreationParameters.cpp: Ditto.
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h: Ditto.
* Shared/WebWheelEvent.cpp: Ditto.
(WebKit::WebWheelEvent::WebWheelEvent):
(WebKit::WebWheelEvent::encode):
(WebKit::WebWheelEvent::decode):
* Shared/cf/ArgumentCodersCF.cpp: Changed PLATFORM(MAC) to USE(FOUNDATION).
(IPC::decode):
* Shared/mac/CommandLineMac.cpp: Removed.
* Shared/mac/PDFKitImports.h: Removed PLATFORM(MAC)
* Shared/posix: Added.
* Shared/posix/CommandLinePOSIX.cpp: Renamed from mac/CommandLineMac.cpp and removed
comment.
* WebKit2.xcodeproj/project.pbxproj: Updated for moves and renames.

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

7 years ago[WinCairo] Compile error related to toString function.
commit-queue@webkit.org [Tue, 11 Feb 2014 17:50:52 +0000 (17:50 +0000)]
[WinCairo] Compile error related to toString function.
https://bugs.webkit.org/show_bug.cgi?id=128607

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-02-11
Reviewed by Brent Fulgham.

* WebView.cpp:
(toString): Added another toString function to make sure we are not trying to use WTF::toString.

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

7 years agoiOS build fix.
ap@apple.com [Tue, 11 Feb 2014 17:36:10 +0000 (17:36 +0000)]
iOS build fix.

* WebCoreSupport/WebChromeClient.mm: Fixed incorrectly nested ifdefs.

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

7 years agoCorrect some uses of 'auto'
bfulgham@apple.com [Tue, 11 Feb 2014 17:36:07 +0000 (17:36 +0000)]
Correct some uses of 'auto'
https://bugs.webkit.org/show_bug.cgi?id=128578

Reviewed by Anders Carlsson.

Correct the following instances of "for (auto ...)" to use reference or
const references to avoid copies.

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::elementsFromAttribute):
* css/CSSGridTemplateValue.cpp:
(WebCore::stringForPosition):
* dom/Node.cpp:
(WebCore::NodeListsNodeData::invalidateCaches):
* inspector/PageInjectedScriptManager.cpp:
(WebCore::PageInjectedScriptManager::discardInjectedScriptsFor):
* page/WheelEventDeltaTracker.cpp:
(WebCore::WheelEventDeltaTracker::dominantScrollGestureDirection):
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):
* platform/graphics/mac/WebLayer.mm:
(WebCore::drawLayerContents):
* platform/ios/TileGrid.mm:
(WebCore::TileGrid::dropTilesBetweenRects):
(WebCore::TileGrid::dropDistantTiles):
(WebCore::TileGrid::dropInvalidTiles):
* rendering/InlineTextBox.cpp:
(WebCore::translateIntersectionPointsToSkipInkBoundaries):
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::restoreTo):

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

7 years agoLLInt typo error after r139004.
rgabor@webkit.org [Tue, 11 Feb 2014 17:34:39 +0000 (17:34 +0000)]
LLInt typo error after r139004.
https://bugs.webkit.org/show_bug.cgi?id=128592

Reviewed by Michael Saboff.

* offlineasm/arm.rb: change immediate to register in the condition

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

7 years ago[CSS Regions] clipping rectangle for "overflow: hidden" should be based on the paddin...
stavila@adobe.com [Tue, 11 Feb 2014 17:33:41 +0000 (17:33 +0000)]
[CSS Regions] clipping rectangle for "overflow: hidden" should be based on the padding box, not the content box
https://bugs.webkit.org/show_bug.cgi?id=119546

Reviewed by Anders Carlsson.

Added tests for the correct painting of region overflow over the region's padding.
This problem was solved by https://bugs.webkit.org/show_bug.cgi?id=118665 and
https://bugs.webkit.org/show_bug.cgi?id=128590.
Two writing modes (horiz-bt and vert-rl) are still not working properly and a separate
issue has been created for them (https://bugs.webkit.org/show_bug.cgi?id=128600).

* fast/regions/clip-to-padding-box-expected.html: Added.
* fast/regions/clip-to-padding-box-margins-expected.html: Added.
* fast/regions/clip-to-padding-box-margins.html: Added.
* fast/regions/clip-to-padding-box-vertical-lr-expected.html: Added.
* fast/regions/clip-to-padding-box-vertical-lr.html: Added.
* fast/regions/clip-to-padding-box.html: Added.

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

7 years agoLICM should gracefully handle unprofiled code
fpizlo@apple.com [Tue, 11 Feb 2014 16:57:09 +0000 (16:57 +0000)]
LICM should gracefully handle unprofiled code
https://bugs.webkit.org/show_bug.cgi?id=127848

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

* dfg/DFGLICMPhase.cpp:
(JSC::DFG::LICMPhase::run):

LayoutTests:

* js/regress/script-tests/unprofiled-licm.js: Added.
(foo):
* js/regress/unprofiled-licm-expected.txt: Added.
* js/regress/unprofiled-licm.html: Added.

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

7 years ago[New Multicolumn] Make columns work with line grids
hyatt@apple.com [Tue, 11 Feb 2014 16:51:45 +0000 (16:51 +0000)]
[New Multicolumn] Make columns work with line grids
https://bugs.webkit.org/show_bug.cgi?id=128555

Reviewed by Antti Koivisto.

Added line-snap-into-columns.html and line-snap-inside-columns.html

Source/WebCore:

* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
* rendering/LayoutState.h:
(WebCore::LayoutState::pageOffset):
(WebCore::LayoutState::setLineGridPaginationOrigin):
Change the LayoutState to call into the renderer to compute the line
grid pagination origin instead of doing it directly. Added the
appropriate getters and setters to enable the renderer to do this.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeLineGridPaginationOrigin):
 * rendering/RenderBlock.h:
An implementation for the old multi-column code. The logic is the
same with tweaks made now that the method is on the renderer instead.

* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::pageLogicalTopForOffset):
Fix a bug with flow threads and pageLogicalTopForOffset. Normal CSS region-based
flow threads are never embedded in an enclosing pagination context, so they
didn't add in the firstPageLogicalTop (or subtract it when computing the region
hit). Multi-column flow threads do need to subtract out the firstPageLogicalTop,
since it can occur somewhere on the page.

Ultimately regions will need to get smarter here too if they want to work with
line grids, but for now I just fixed multi-column.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::isUnsplittableForPagination):
Undo this change, since it prevents the inheritance of line grids into the
multi-column layout.

* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::computeLineGridPaginationOrigin):
* rendering/RenderMultiColumnFlowThread.h:
An implementation for the new multi-column code. The logic is the
same as the old code. Code duplication is ok, since the old multi-column method
in RenderBlock will just be deleted once the new code is turned on, and it's easier
not to intertwine them.

LayoutTests:

* fast/multicol/newmulticol/line-grid-inside-columns-expected.html: Added.
* fast/multicol/newmulticol/line-grid-inside-columns.html: Added.
* fast/multicol/newmulticol/line-grid-into-columns-expected.html: Added.
* fast/multicol/newmulticol/line-grid-into-columns.html: Added.

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

7 years agoIDB: storage/indexeddb/mozilla/cursor-update-updates-indexes.html ASSERTs
beidson@apple.com [Tue, 11 Feb 2014 16:27:41 +0000 (16:27 +0000)]
IDB: storage/indexeddb/mozilla/cursor-update-updates-indexes.html ASSERTs
<rdar://problem/16034112> and https://bugs.webkit.org/show_bug.cgi?id=128581

Reviewed by Alexey Proskuryakov.

Source/WebKit2:

* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::getRecordFromBackingStore): Always store keyPath for Index get results.

LayoutTests:

* platform/mac-wk2/TestExpectations: Add the test to the enabled list.

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

7 years agoObj-C API: JSExport doesn't work for methods that contain protocols in their type...
mhahnenberg@apple.com [Tue, 11 Feb 2014 16:27:40 +0000 (16:27 +0000)]
Obj-C API: JSExport doesn't work for methods that contain protocols in their type signature
https://bugs.webkit.org/show_bug.cgi?id=128540

Reviewed by Oliver Hunt.

The bug is in parseObjCType in ObjcRuntimeExtras.h. When we see an '@' in the
type signature of a method, we assume that what follows the '@' is a class name,
so we call objc_getClass, and if that returns nil then we give up on the method
and don't export it.

This assumption doesn't work in the case of id<Protocol> because it's the name
of the protocol that follows the '@', not the name of a class. We should have
another fallback case for protocol names.

There's another case that also doesn't work, and that's the case of a named class
with a specified prototype in a method signature (e.g. NSObject<MyProtocol>).
There the substring of the type signature that represents the class is "NSObject<MyProtocol>",
which will also cause objc_getClass to return nil.

* API/ObjcRuntimeExtras.h:
(parseObjCType):
* API/tests/DateTests.mm: Also fixed an issue I noticed where we don't use an autorelease pool
for the DateTests.
* API/tests/JSExportTests.h: Added.
* API/tests/JSExportTests.mm: Added.
(-[TruthTeller returnTrue]):
(-[ExportMethodWithIdProtocol methodWithIdProtocol:]):
(-[ExportMethodWithClassProtocol methodWithClassProtocol:]):
(+[JSExportTests exportInstanceMethodWithIdProtocolTest]):
(+[JSExportTests exportInstanceMethodWithClassProtocolTest]):
(runJSExportTests):
* API/tests/testapi.mm:
* JavaScriptCore.xcodeproj/project.pbxproj:

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

7 years agoO_CLOEXEC in shm_open does not work on FreeBSD
berto@igalia.com [Tue, 11 Feb 2014 16:14:55 +0000 (16:14 +0000)]
O_CLOEXEC in shm_open does not work on FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=128572

Reviewed by Darin Adler.

The O_CLOEXEC is not supported by shm_open() and is also not
necessary since FD_CLOEXEC is already set by default when the new
file descriptor is created.

* Platform/unix/SharedMemoryUnix.cpp:
(WebKit::SharedMemory::create):

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

7 years ago[WinCairo] Compile error, deleted file in WTF.
commit-queue@webkit.org [Tue, 11 Feb 2014 16:12:22 +0000 (16:12 +0000)]
[WinCairo] Compile error, deleted file in WTF.
https://bugs.webkit.org/show_bug.cgi?id=128601

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-02-11
Reviewed by Csaba Osztrogonác.

* WTF.vcxproj/WTF.vcxproj: Removed reference to deleted file.
* WTF.vcxproj/WTF.vcxproj.filters: Ditto.

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

7 years ago[CSS Regions] Overflow above the first region is not properly painted for regions...
stavila@adobe.com [Tue, 11 Feb 2014 16:12:08 +0000 (16:12 +0000)]
[CSS Regions] Overflow above the first region is not properly painted for regions with padding
https://bugs.webkit.org/show_bug.cgi?id=128590

Reviewed by Andrei Bucur.

Source/WebCore:

Painting is done using the layer of the region's container, so offsetting using the content box
of the region itself is incorrect.

Test: fast/regions/region-padding-overflow-hidden.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::regionContainer):
(WebCore::RenderRegion::regionContainerLayer):
* rendering/RenderRegion.h:

LayoutTests:

Added test for the correct painting of overflow above the first region
when the region has padding.

* fast/regions/region-padding-overflow-hidden-expected.html: Added.
* fast/regions/region-padding-overflow-hidden.html: Added.

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

7 years agoquerySelector() does not use the compiler correctly
benjamin@webkit.org [Tue, 11 Feb 2014 10:21:12 +0000 (10:21 +0000)]
querySelector() does not use the compiler correctly
https://bugs.webkit.org/show_bug.cgi?id=128588

Reviewed by Andreas Kling.

* dom/SelectorQuery.cpp:
(WebCore::SelectorDataList::execute):
I messed up the refactoring when I landed SelectorQuery. The compiled
code was not used the first time through SelectorDataList::execute.

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

7 years ago[GStreamer] High playback rate causes crash
commit-queue@webkit.org [Tue, 11 Feb 2014 10:09:22 +0000 (10:09 +0000)]
[GStreamer] High playback rate causes crash
https://bugs.webkit.org/show_bug.cgi?id=128453

Patch by Piotr Grad <p.grad@samsung.com> on 2014-02-11
Reviewed by Philippe Normand.

Source/WebCore:

To high playback rate passed to GStreamer was causing crash.
Added guard in setRate method.

Test: media/video-extreme-playbackrate-crash.html

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

LayoutTests:

Test checks if passing high playback rate causes crash.

* media/video-extreme-playbackrate-crash-expected.txt: Added.
* media/video-extreme-playbackrate-crash.html: Added.

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

7 years agoUnreviewed. Fix /webkit2/WebKitWebExtension/isolated-world after r163797.
carlosgc@webkit.org [Tue, 11 Feb 2014 08:37:17 +0000 (08:37 +0000)]
Unreviewed. Fix /webkit2/WebKitWebExtension/isolated-world after r163797.

Use a global variable for the script result.

* TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp:
(scriptDialogCallback):
(testWebExtensionIsolatedWorld):

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

7 years agoSkip IndexedDB tests again, they are failing.
ap@apple.com [Tue, 11 Feb 2014 08:32:57 +0000 (08:32 +0000)]
Skip IndexedDB tests again, they are failing.

* platform/mac-wk2/TestExpectations:

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

7 years agoAdd hooks for wrapping CryptoKeys in SerializedScriptValue
ap@apple.com [Tue, 11 Feb 2014 08:30:06 +0000 (08:30 +0000)]
Add hooks for wrapping CryptoKeys in SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=128567

* platform/mac/TestExpectations: Forgot to include this in the patch, skipping a
worker test that no longer works.

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

7 years agoUnreviewed, rolling out r163856.
commit-queue@webkit.org [Tue, 11 Feb 2014 07:48:16 +0000 (07:48 +0000)]
Unreviewed, rolling out r163856.
http://trac.webkit.org/changeset/163856
https://bugs.webkit.org/show_bug.cgi?id=128585

The build fix depends on r163848, which has been reverted
(Requested by notbenjamin on #webkit).

* UIProcess/ios/TextCheckerIOS.mm:
(WebKit::TextChecker::checkTextOfParagraph):
(WebKit::TextChecker::checkSpellingOfString):
(WebKit::TextChecker::checkGrammarOfString):

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

7 years agoIndexedDB assertion at IDBTransactionBackend::~IDBTransactionBackend()
beidson@apple.com [Tue, 11 Feb 2014 06:37:36 +0000 (06:37 +0000)]
IndexedDB assertion at IDBTransactionBackend::~IDBTransactionBackend()
https://bugs.webkit.org/show_bug.cgi?id=128341

Reviewed by Maciej Stachowiak.

Source/WebCore:

* Modules/indexeddb/IDBTransactionBackend.cpp:
(WebCore::IDBTransactionBackend::~IDBTransactionBackend): "Finished" is not the only
  valid value here - In WK2, "Unused" is also valid. Update the ASSERT.

LayoutTests:

* platform/mac-wk2/TestExpectations: Reenable the indexeddb tests that are known to pass.

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

7 years agoAdd hooks for wrapping CryptoKeys in SerializedScriptValue
ap@apple.com [Tue, 11 Feb 2014 06:32:39 +0000 (06:32 +0000)]
Add hooks for wrapping CryptoKeys in SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=128567

Reviewed by Anders Carlsson.

Source/WebCore:

* bindings/js/SerializedScriptValue.cpp: Changed SerializedScriptValue to serialize
wrapped keys. Added a version number to crypto key serialization.

* dom/Document.cpp:
(WebCore::Document::wrapCryptoKey):
(WebCore::Document::unwrapCryptoKey):
* dom/Document.h:
* dom/ScriptExecutionContext.h:
* page/ChromeClient.h:
(WebCore::ChromeClient::wrapCryptoKey):
(WebCore::ChromeClient::unwrapCryptoKey):
Hand wrapping/unwrapping over to client code.

* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::wrapCryptoKey):
(WebCore::WorkerGlobalScope::unwrapCryptoKey):
* workers/WorkerGlobalScope.h:
Not implemented in workers. SubtleCrypto is currently not exposed in workers. It used
to be possible in WebKit implementation to post a CryptoKey to a worker anyway,
but this doesn't work any more.

Source/WebKit/mac:

* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::wrapCryptoKey):
(WebChromeClient::unwrapCryptoKey):
Dummy implementation, to be filled in later.

Source/WebKit2:

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::wrapCryptoKey):
(WebKit::WebChromeClient::unwrapCryptoKey):
* WebProcess/WebCoreSupport/WebChromeClient.h:
Dummy implementation, to be filled in later.

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

7 years agoStop using PLATFORM(MAC) in WebKit2/platform except where it means “OS X but not...
mitz@apple.com [Tue, 11 Feb 2014 06:21:41 +0000 (06:21 +0000)]
Stop using PLATFORM(MAC) in WebKit2/platform except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128513

Reviewed by Dean Jackson.

* Platform/IPC/Connection.cpp:
(IPC::Connection::waitForSyncReply): Changed PLATFORM(MAC) to PLATFORM(COCOA) around use of
RunLoop::runForDuration, matching the guard around that function.
* Platform/Logging.cpp: Deleted unused definition of logLevelString.
* Platform/Module.cpp:
(WebKit::Module::Module): Changed PLATFORM(MAC) to USE(CF).
* Platform/Module.h: Changed PLATFORM(MAC) to USE(CF), since the “Mac” implementation is
just a CFBundle-based implementation.
* Platform/PlatformProcessIdentifier.h: Changed PLATFORM(MAC) to PLATFORM(COCOA). Arguably
this should be OS(DARWIN) && !PLATFORM(EFL) && !PLATFORM(GTK).
* Platform/cf: Added.
* Platform/cf/ModuleCF.cpp: Renamed from Platform/mac/ModuleMac.mm. This file did not
contain any Objective-C code.
* Platform/foundation: Added.
* Platform/foundation/LoggingFoundation.mm: Renamed from Platform/mac/Logging.mac.mm.
* Platform/mac/Logging.mac.mm: Removed.
* Platform/mac/ModuleMac.mm: Removed.
* WebKit2.xcodeproj/project.pbxproj: Updated for renames.

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

7 years agosvg/text/text-overflow-ellipsis-svgfont-kerning-ligatures.html and svg/css/font-face...
ap@apple.com [Tue, 11 Feb 2014 06:20:56 +0000 (06:20 +0000)]
svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures.html and svg/css/font-face-crash.html
frequently assert in ComplexTextController::offsetForPosition
https://bugs.webkit.org/show_bug.cgi?id=119747

* platform/mac/TestExpectations: Skipped the latter test in debug builds.

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

7 years agoUnreviewed, rolling out r163848.
commit-queue@webkit.org [Tue, 11 Feb 2014 06:17:59 +0000 (06:17 +0000)]
Unreviewed, rolling out r163848.
http://trac.webkit.org/changeset/163848
https://bugs.webkit.org/show_bug.cgi?id=128580

Caused a lot of crashes on tests (Requested by ap on #webkit).

* Shared/APIString.h:
* UIProcess/TextChecker.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::checkTextOfParagraph):
(WebKit::WebPageProxy::checkSpellingOfString):
(WebKit::WebPageProxy::checkGrammarOfString):
* UIProcess/mac/TextCheckerMac.mm:
(WebKit::TextChecker::checkTextOfParagraph):
(WebKit::TextChecker::checkSpellingOfString):
(WebKit::TextChecker::checkGrammarOfString):

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