⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Oct 24, 2016:

11:18 PM Changeset in webkit [207810] by rniwa@webkit.org
  • 10 edits
    4 adds in trunk

Custom elements reactions should have a queue per element
https://bugs.webkit.org/show_bug.cgi?id=163878

Reviewed by Antti Koivisto.

Source/WebCore:

This patch splits the custom elements reaction queue into per element to match the latest HTML specifications:
https://html.spec.whatwg.org/multipage/scripting.html#custom-element-reaction-queue
and introduces the backup element queue:
https://html.spec.whatwg.org/multipage/scripting.html#backup-element-queue

In terms of code changes, CustomElementReactionStack now holds onto ElementQueue, an ordered list of elements,
and make each ElementRareData keep its own CustomElementReactionQueue. CustomElementReactionQueue is created
for each custom element when it is synchronously constructed or enqueued to upgrade.

Because each reaction queue is now specific to each element, CustomElementReactionQueue instead of
CustomElementReactionQueueItem stores JSCustomElementInterface.

The backup element queue is created as a singleton returned by CustomElementReactionStack's backupElementQueue,
and ensureBackupQueue() schedules a new mirotask to process the backup queue when there isn't already one.

ensureCurrentQueue() now returns a reference to CustomElementReactionQueue instead of a pointer since it can
fallback to the backup queue when the stack is empty as specified:
https://html.spec.whatwg.org/multipage/scripting.html#enqueue-an-element-on-the-appropriate-element-queue

Note that ensureCurrentQueue() may insert the same element multiple times into the element queue for now since
avoiding this duplication would require either doing O(n) iteration on m_elements or adding a HashSet.
We can revisit this in the future if the reaction queue is found to grow beyond a few entries since elements in
the element queue will have duplicates only when each reaction queue has more than one item.

Tests: fast/custom-elements/backup-element-queue.html

fast/custom-elements/custom-element-reaction-queue.html

  • bindings/js/JSCustomElementInterface.cpp:

(WebCore::JSCustomElementInterface::upgradeElement):

  • dom/CustomElementReactionQueue.cpp:

(WebCore::CustomElementReactionQueueItem::CustomElementReactionQueueItem):
(WebCore::CustomElementReactionQueueItem::invoke): Removed the check for isFailedCustomElement since the queue
is explicitly cleared in Element::setIsFailedCustomElement.
(WebCore::CustomElementReactionQueue::CustomElementReactionQueue): Now takes JSCustomElementInterface since
each item in the queue no longer stores Element or JSCustomElementInterface.
(WebCore::CustomElementReactionQueue::clear):
(WebCore::CustomElementReactionQueue::enqueueElementUpgrade):
(WebCore::CustomElementReactionQueue::enqueueElementUpgradeIfDefined):
(WebCore::CustomElementReactionQueue::enqueueConnectedCallbackIfNeeded):
(WebCore::CustomElementReactionQueue::enqueueDisconnectedCallbackIfNeeded):
(WebCore::CustomElementReactionQueue::enqueueAdoptedCallbackIfNeeded):
(WebCore::CustomElementReactionQueue::enqueueAttributeChangedCallbackIfNeeded):
(WebCore::CustomElementReactionQueue::enqueuePostUpgradeReactions):
(WebCore::CustomElementReactionQueue::invokeAll):
(WebCore::CustomElementReactionStack::ElementQueue::add): Added.
(WebCore::CustomElementReactionStack::ElementQueue::invokeAll): Added.
(WebCore::CustomElementReactionStack::ensureCurrentQueue):
(WebCore::BackupElementQueueMicrotask): Added.
(WebCore::CustomElementReactionStack::ensureBackupQueue): Added.
(WebCore::CustomElementReactionStack::processBackupQueue): Added.
(WebCore::CustomElementReactionStack::backupElementQueue): Added.

  • dom/CustomElementReactionQueue.h:
  • dom/CustomElementRegistry.cpp:

(WebCore::enqueueUpgradeInShadowIncludingTreeOrder):

  • dom/Document.cpp:

(WebCore::createFallbackHTMLElement):

  • dom/Element.cpp:

(WebCore::Element::setIsDefinedCustomElement): Create a new reaction queue if there isn't already one; when
this element had been upgraded, the reaction queue have already been created in Element::enqueueToUpgrade.
(WebCore::Element::setIsFailedCustomElement): Clear the reaction queue when the upgrading had failed.
(WebCore::Element::enqueueToUpgrade): Added.
(WebCore::Element::reactionQueue): Added.

  • dom/Element.h:
  • dom/ElementRareData.h:

(WebCore::ElementRareData::customElementReactionQueue): Replaced customElementInterface.
(WebCore::ElementRareData::setCustomElementReactionQueue): Replaced setCustomElementReactionQueue.

LayoutTests:

Added a W3C style testharness.js test for making sure the custom element reaction queue exists per element,
and added a WebKit style test for making sure that the backup element queue exists.

  • fast/custom-elements/backup-element-queue-expected.txt: Added.
  • fast/custom-elements/backup-element-queue.html: Added.
  • fast/custom-elements/custom-element-reaction-queue-expected.txt: Added.
  • fast/custom-elements/custom-element-reaction-queue.html: Added.
11:07 PM Changeset in webkit [207809] by jiewen_tan@apple.com
  • 92 edits
    10 copies
    48 adds in trunk

Update SubtleCrypto::generateKey to match the latest spec
https://bugs.webkit.org/show_bug.cgi?id=163718
<rdar://problem/28864380>

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • WebCryptoAPI/generateKey/test_aes-cbc-expected.txt:
  • WebCryptoAPI/generateKey/test_aes-cbc.html:
  • WebCryptoAPI/generateKey/test_aes-ctr-expected.txt:
  • WebCryptoAPI/generateKey/test_aes-ctr.html:
  • WebCryptoAPI/generateKey/test_failures-expected.txt:
  • WebCryptoAPI/generateKey/test_failures.html:
  • WebCryptoAPI/generateKey/test_failures_AES-CBC-expected.txt:
  • WebCryptoAPI/generateKey/test_failures_AES-CBC.html:
  • WebCryptoAPI/generateKey/test_failures_AES-CTR-expected.txt:
  • WebCryptoAPI/generateKey/test_failures_AES-CTR.html:
  • WebCryptoAPI/generateKey/test_failures_AES-GCM-expected.txt:
  • WebCryptoAPI/generateKey/test_failures_AES-GCM.html:
  • WebCryptoAPI/generateKey/test_failures_AES-KW-expected.txt:
  • WebCryptoAPI/generateKey/test_failures_AES-KW.html:
  • WebCryptoAPI/generateKey/test_failures_ECDH-expected.txt:
  • WebCryptoAPI/generateKey/test_failures_ECDH.html:
  • WebCryptoAPI/generateKey/test_failures_ECDSA-expected.txt:
  • WebCryptoAPI/generateKey/test_failures_ECDSA.html:
  • WebCryptoAPI/generateKey/test_failures_HMAC-expected.txt:
  • WebCryptoAPI/generateKey/test_failures_HMAC.html:
  • WebCryptoAPI/generateKey/test_failures_RSA-OAEP-expected.txt:
  • WebCryptoAPI/generateKey/test_failures_RSA-OAEP.html:
  • WebCryptoAPI/generateKey/test_failures_RSA-PSS-expected.txt:
  • WebCryptoAPI/generateKey/test_failures_RSA-PSS.html:
  • WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5-expected.txt:
  • WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.html:
  • WebCryptoAPI/generateKey/test_successes-expected.txt:
  • WebCryptoAPI/generateKey/test_successes.html:
  • WebCryptoAPI/generateKey/test_successes_AES-CBC-expected.txt:
  • WebCryptoAPI/generateKey/test_successes_AES-CBC.html:
  • WebCryptoAPI/generateKey/test_successes_AES-CTR-expected.txt:
  • WebCryptoAPI/generateKey/test_successes_AES-CTR.html:
  • WebCryptoAPI/generateKey/test_successes_AES-GCM-expected.txt:
  • WebCryptoAPI/generateKey/test_successes_AES-GCM.html:
  • WebCryptoAPI/generateKey/test_successes_AES-KW-expected.txt:
  • WebCryptoAPI/generateKey/test_successes_AES-KW.html:
  • WebCryptoAPI/generateKey/test_successes_ECDH-expected.txt:
  • WebCryptoAPI/generateKey/test_successes_ECDH.html:
  • WebCryptoAPI/generateKey/test_successes_ECDSA-expected.txt:
  • WebCryptoAPI/generateKey/test_successes_ECDSA.html:
  • WebCryptoAPI/generateKey/test_successes_HMAC-expected.txt:
  • WebCryptoAPI/generateKey/test_successes_HMAC.html:
  • WebCryptoAPI/generateKey/test_successes_RSA-OAEP-expected.txt:
  • WebCryptoAPI/generateKey/test_successes_RSA-OAEP.html:
  • WebCryptoAPI/generateKey/test_successes_RSA-PSS-expected.txt:
  • WebCryptoAPI/generateKey/test_successes_RSA-PSS.html:
  • WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5-expected.txt:
  • WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.html:
  • WebCryptoAPI/idlharness-expected.txt:

Source/WebCore:

This patch does following few things:

  1. It updates the SubtleCrypto::generateKey method to match the latest spec: https://www.w3.org/TR/WebCryptoAPI/#SubtleCrypto-method-generateKey. It also refers to the latest Editor's Draft at a certain degree: https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-generateKey.
  2. It implements generateKey operations of following algorithms: AES-CBC, AES-KW, HMAC, RSAES-PKCS1-V1_5, RSASSA-PKCS1-V1_5, and RSA-OAEP.
  3. It replaces SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS with

SPECIALIZE_TYPE_TRAITS_CRYPTO_ALGORITHM_PARAMETERS_DEPRECATED for deprecated params.

  1. It fixes https://bugs.webkit.org/show_bug.cgi?id=129750 as well.

Tests: crypto/subtle/aes-cbc-generate-key-length-128.html

crypto/subtle/aes-cbc-generate-key-length-192.html
crypto/subtle/aes-cbc-generate-key-length-256.html
crypto/subtle/aes-generate-key-malformed-parameters.html
crypto/subtle/aes-kw-generate-key.html
crypto/subtle/generate-key-malformed-paramters.html
crypto/subtle/hmac-generate-key-customized-length.html
crypto/subtle/hmac-generate-key-hash-object.html
crypto/subtle/hmac-generate-key-malformed-parameters.html
crypto/subtle/hmac-generate-key-sha1.html
crypto/subtle/hmac-generate-key-sha224.html
crypto/subtle/hmac-generate-key-sha256.html
crypto/subtle/hmac-generate-key-sha384.html
crypto/subtle/hmac-generate-key-sha512.html
crypto/subtle/rsa-generate-key-malformed-parameters.html
crypto/subtle/rsa-oaep-generate-key.html
crypto/subtle/rsaes-pkcs1-v1_5-generate-key-extractable.html
crypto/subtle/rsaes-pkcs1-v1_5-generate-key.html
crypto/subtle/rsassa-pkcs1-v1_5-generate-key.html
crypto/webkitSubtle/hmac-generate-key.html:
crypto/workers/subtle/aes-generate-key.html
crypto/workers/subtle/hmac-generate-key.html
crypto/workers/subtle/rsa-generate-key.html

  • CMakeLists.txt:
  • DerivedSources.make:
  • Modules/encryptedmedia/CDMSessionClearKey.cpp:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSSubtleCryptoCustom.cpp: Added.

(WebCore::toHashIdentifier):
(WebCore::normalizeCryptoAlgorithmParameters):
(WebCore::cryptoKeyUsagesFromJSValue):
(WebCore::createAlgorithm):
(WebCore::rejectWithException):
(WebCore::jsSubtleCryptoFunctionGenerateKeyPromise):
(WebCore::JSSubtleCrypto::generateKey):

  • bindings/js/JSWebKitSubtleCryptoCustom.cpp:

(WebCore::JSWebKitSubtleCrypto::generateKey):

  • crypto/CryptoAlgorithm.cpp:

(WebCore::CryptoAlgorithm::generateKey):

  • crypto/CryptoAlgorithm.h:
  • crypto/CryptoAlgorithmParameters.h: Added.

(WebCore::CryptoAlgorithmParameters::CryptoAlgorithmParameters):
(WebCore::CryptoAlgorithmParameters::~CryptoAlgorithmParameters):
(WebCore::CryptoAlgorithmParameters::parametersClass):

  • crypto/CryptoAlgorithmParameters.idl: Added.
  • crypto/CryptoAlgorithmParametersDeprecated.h:
  • crypto/CryptoKey.cpp:

(WebCore::CryptoKey::setUsagesBitmap):

  • crypto/CryptoKey.h:
  • crypto/CryptoKeyPair.idl:
  • crypto/SubtleCrypto.idl:
  • crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:

(WebCore::CryptoAlgorithmAES_CBC::generateKey):

  • crypto/algorithms/CryptoAlgorithmAES_CBC.h:
  • crypto/algorithms/CryptoAlgorithmAES_KW.cpp:

(WebCore::CryptoAlgorithmAES_KW::generateKey):

  • crypto/algorithms/CryptoAlgorithmAES_KW.h:
  • crypto/algorithms/CryptoAlgorithmHMAC.cpp:

(WebCore::CryptoAlgorithmHMAC::generateKey):

  • crypto/algorithms/CryptoAlgorithmHMAC.h:
  • crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:

(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey):

  • crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h:
  • crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:

(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey):

  • crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
  • crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:

(WebCore::CryptoAlgorithmRSA_OAEP::generateKey):

  • crypto/algorithms/CryptoAlgorithmRSA_OAEP.h:
  • crypto/gnutls/CryptoKeyRSAGnuTLS.cpp:

(WebCore::CryptoKeyRSA::generatePair):

  • crypto/keys/CryptoKeyAES.cpp:

(WebCore::CryptoKeyAES::generate):

  • crypto/keys/CryptoKeyHMAC.cpp:

(WebCore::CryptoKeyHMAC::generate):

  • crypto/keys/CryptoKeyRSA.h:
  • crypto/mac/CryptoKeyRSAMac.cpp:

(WebCore::CryptoKeyRSA::generatePair):

  • crypto/parameters/AesKeyGenParams.idl: Added.
  • crypto/parameters/CryptoAlgorithmAesCbcParamsDeprecated.h:
  • crypto/parameters/CryptoAlgorithmAesKeyGenParams.h: Added.
  • crypto/parameters/CryptoAlgorithmAesKeyGenParamsDeprecated.h:
  • crypto/parameters/CryptoAlgorithmHmacKeyGenParams.h: Added.
  • crypto/parameters/CryptoAlgorithmHmacKeyParamsDeprecated.h:
  • crypto/parameters/CryptoAlgorithmHmacParamsDeprecated.h:
  • crypto/parameters/CryptoAlgorithmRsaHashedKeyGenParams.h: Added.
  • crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h: Added.

(WebCore::CryptoAlgorithmRsaKeyGenParams::arrayToVector):

  • crypto/parameters/CryptoAlgorithmRsaKeyGenParamsDeprecated.h:
  • crypto/parameters/CryptoAlgorithmRsaKeyParamsWithHashDeprecated.h:
  • crypto/parameters/CryptoAlgorithmRsaOaepParamsDeprecated.h:
  • crypto/parameters/CryptoAlgorithmRsaSsaParamsDeprecated.h:
  • crypto/parameters/HmacKeyGenParams.idl: Added.
  • crypto/parameters/RsaHashedKeyGenParams.idl: Added.
  • crypto/parameters/RsaKeyGenParams.idl: Added.

LayoutTests:

Besides adding tests for SubtleCrypto::generateKey related stuff and fixing HMAC. This patch also add
shouldReject(_a, _rejectCallback, _resolveCallback, _message) in js-test-pre.js.

  • TestExpectations:
  • crypto/subtle/aes-cbc-generate-key-length-128-expected.txt: Added.
  • crypto/subtle/aes-cbc-generate-key-length-128.html: Added.
  • crypto/subtle/aes-cbc-generate-key-length-192-expected.txt: Added.
  • crypto/subtle/aes-cbc-generate-key-length-192.html: Added.
  • crypto/subtle/aes-cbc-generate-key-length-256-expected.txt: Added.
  • crypto/subtle/aes-cbc-generate-key-length-256.html: Added.
  • crypto/subtle/aes-generate-key-malformed-parameters-expected.txt: Added.
  • crypto/subtle/aes-generate-key-malformed-parameters.html: Added.
  • crypto/subtle/aes-kw-generate-key-expected.txt: Added.
  • crypto/subtle/aes-kw-generate-key.html: Added.
  • crypto/subtle/generate-key-malformed-paramters-expected.txt: Added.
  • crypto/subtle/generate-key-malformed-paramters.html: Added.
  • crypto/subtle/hmac-generate-key-customized-length-expected.txt: Added.
  • crypto/subtle/hmac-generate-key-customized-length.html: Added.
  • crypto/subtle/hmac-generate-key-hash-object-expected.txt: Added.
  • crypto/subtle/hmac-generate-key-hash-object.html: Added.
  • crypto/subtle/hmac-generate-key-malformed-parameters-expected.txt: Added.
  • crypto/subtle/hmac-generate-key-malformed-parameters.html: Added.
  • crypto/subtle/hmac-generate-key-sha1-expected.txt: Added.
  • crypto/subtle/hmac-generate-key-sha1.html: Added.
  • crypto/subtle/hmac-generate-key-sha224-expected.txt: Added.
  • crypto/subtle/hmac-generate-key-sha224.html: Added.
  • crypto/subtle/hmac-generate-key-sha256-expected.txt: Added.
  • crypto/subtle/hmac-generate-key-sha256.html: Added.
  • crypto/subtle/hmac-generate-key-sha384-expected.txt: Added.
  • crypto/subtle/hmac-generate-key-sha384.html: Added.
  • crypto/subtle/hmac-generate-key-sha512-expected.txt: Added.
  • crypto/subtle/hmac-generate-key-sha512.html: Added.
  • crypto/subtle/rsa-generate-key-malformed-parameters-expected.txt: Added.
  • crypto/subtle/rsa-generate-key-malformed-parameters.html: Added.
  • crypto/subtle/rsa-oaep-generate-key-expected.txt: Added.
  • crypto/subtle/rsa-oaep-generate-key.html: Added.
  • crypto/subtle/rsaes-pkcs1-v1_5-generate-key-expected.txt: Added.
  • crypto/subtle/rsaes-pkcs1-v1_5-generate-key-extractable-expected.txt: Added.
  • crypto/subtle/rsaes-pkcs1-v1_5-generate-key-extractable.html: Added.
  • crypto/subtle/rsaes-pkcs1-v1_5-generate-key.html: Added.
  • crypto/subtle/rsassa-pkcs1-v1_5-generate-key-expected.txt: Added.
  • crypto/subtle/rsassa-pkcs1-v1_5-generate-key.html: Added.
  • crypto/webkitSubtle/hmac-generate-key-expected.txt:
  • crypto/webkitSubtle/hmac-generate-key.html:
  • crypto/workers/subtle/aes-generate-key-expected.txt: Added.
  • crypto/workers/subtle/aes-generate-key.html: Added.
  • crypto/workers/subtle/hmac-generate-key-expected.txt: Added.
  • crypto/workers/subtle/hmac-generate-key.html: Added.
  • crypto/workers/subtle/resources/aes-generate-key.js: Added.
  • crypto/workers/subtle/resources/hmac-generate-key.js: Added.
  • crypto/workers/subtle/resources/rsa-generate-key.js: Added.
  • crypto/workers/subtle/rsa-generate-key-expected.txt: Added.
  • crypto/workers/subtle/rsa-generate-key.html: Added.
  • resources/js-test-pre.js:
10:26 PM Changeset in webkit [207808] by achristensen@apple.com
  • 1 edit
    1 delete in trunk/Source/ThirdParty/ANGLE

Remove unused ANGLE.vcxproj after switching to CMake on Windows

  • ANGLE.vcxproj: Removed.
  • ANGLE.vcxproj/ANGLERelease.props: Removed.
  • ANGLE.vcxproj/DirectX32.props: Removed.
  • ANGLE.vcxproj/DirectX64.props: Removed.
  • ANGLE.vcxproj/libEGL.vcxproj: Removed.
  • ANGLE.vcxproj/libEGL.vcxproj.filters: Removed.
  • ANGLE.vcxproj/libEGLCommon.props: Removed.
  • ANGLE.vcxproj/libGLESv2.vcxproj: Removed.
  • ANGLE.vcxproj/libGLESv2.vcxproj.filters: Removed.
  • ANGLE.vcxproj/libGLESv2Common.props: Removed.
  • ANGLE.vcxproj/preprocessor.vcxproj: Removed.
  • ANGLE.vcxproj/preprocessor.vcxproj.filters: Removed.
  • ANGLE.vcxproj/translatorCommon.props: Removed.
  • ANGLE.vcxproj/translator_common.vcxproj: Removed.
  • ANGLE.vcxproj/translator_common.vcxproj.filters: Removed.
  • ANGLE.vcxproj/translator_glsl.vcxproj: Removed.
  • ANGLE.vcxproj/translator_glsl.vcxproj.filters: Removed.
  • ANGLE.vcxproj/translator_hlsl.vcxproj: Removed.
  • ANGLE.vcxproj/translator_hlsl.vcxproj.filters: Removed.
10:22 PM Changeset in webkit [207807] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r206410): Sandbox violations beneath WebProcessProxy::platformIsBeingDebugged
https://bugs.webkit.org/show_bug.cgi?id=163879
<rdar://problem/28728735>

Reviewed by Darin Adler.

  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:

(WebKit::WebProcessProxy::platformIsBeingDebugged): Check if the current process, which is

the UI process, is sandboxed before trying to find out if the Web process is being
debugged.

10:16 PM Changeset in webkit [207806] by Chris Dumez
  • 19 edits
    1 delete in trunk

IDBDatabase.createObjectStore() should take a IDBObjectStoreParameters dictionary in parameter
https://bugs.webkit.org/show_bug.cgi?id=163916

Reviewed by Darin Adler.

Source/WebCore:

IDBDatabase.createObjectStore() should take a IDBObjectStoreParameters dictionary in parameter:

Align our IDL with the specification.

No new tests, no expected Web-exposed behavior change.

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::createObjectStore):

  • Modules/indexeddb/IDBDatabase.h:
  • Modules/indexeddb/IDBDatabase.idl:
  • Modules/indexeddb/IDBKeyPath.cpp:

(WebCore::IDBKeyPath::IDBKeyPath):

  • Modules/indexeddb/IDBKeyPath.h:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/IDBBindingUtilities.cpp:

(WebCore::idbKeyPathFromValue): Deleted.

  • bindings/js/IDBBindingUtilities.h:
  • bindings/js/JSIDBDatabaseCustom.cpp: Removed.
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateParametersCheck):
(GenerateConstructorDefinition):

  • dom/MessageEvent.cpp:

(WebCore::MessageEvent::MessageEvent):
(WebCore::MessageEvent::create):

  • dom/MessageEvent.h:
  • testing/TypeConversions.h:

(WebCore::TypeConversions::setTypeConversionsDictionary):

LayoutTests:

Rebaseline existing tests now that the exception messages differ slightly.

  • storage/indexeddb/create-object-store-options-expected.txt:
  • storage/indexeddb/create-object-store-options-private-expected.txt:
9:40 PM Changeset in webkit [207805] by achristensen@apple.com
  • 11 edits in trunk

URLParser should match old URL::parse with %2E in path
https://bugs.webkit.org/show_bug.cgi?id=163929

Reviewed by Alexey Proskuryakov.

LayoutTests/imported/w3c:

  • web-platform-tests/url/a-element-expected.txt:
  • web-platform-tests/url/a-element-xhtml-expected.txt:
  • web-platform-tests/url/url-constructor-expected.txt:

Source/WebCore:

Covered by updated API tests, which show that URLParser now matches URL::parse in these cases.
Also covered by newly failing web platform tests, which were failing before URLParser was enabled.
If https://github.com/whatwg/url/issues/87 is resolved we can change behavior to match.

  • platform/URLParser.cpp:

(WebCore::URLParser::isSingleDotPathSegment):
(WebCore::URLParser::isDoubleDotPathSegment):
(WebCore::URLParser::consumeSingleDotPathSegment):
(WebCore::URLParser::consumeDoubleDotPathSegment):
(WebCore::URLParser::parse):
(WebCore::URLParser::isPercentEncodedDot): Deleted.

Tools:

  • TestWebKitAPI/Tests/WebCore/URLParser.cpp:

(TestWebKitAPI::TEST_F):

LayoutTests:

  • fast/url/path-expected.txt:
  • fast/url/standard-url-expected.txt:
9:19 PM Changeset in webkit [207804] by Alan Bujtas
  • 11 edits
    2 adds in trunk

Do not update selection rect on dirty lineboxes.
https://bugs.webkit.org/show_bug.cgi?id=163862
<rdar://problem/28813156>

Reviewed by Simon Fraser.

Source/WebCore:

In certain cases RenderBlock::updateFirstLetter() triggers
unwanted render tree mutation while the caller assumes intact renderers.
This patch ensures that no renderers gets destroyed while computing the preferred widths
when we are outside of layout context.

Test: fast/css-generated-content/dynamic-first-letter-selection-clear-crash.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computePreferredLogicalWidths):
(WebCore::RenderBlock::updateFirstLetter):

  • rendering/RenderBlock.h:
  • rendering/RenderListItem.cpp:

(WebCore::RenderListItem::insertOrMoveMarkerRendererIfNeeded):

  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::updateFirstLetter):

  • rendering/RenderRubyRun.h:
  • rendering/RenderTable.cpp:

(WebCore::RenderTable::updateFirstLetter):

  • rendering/RenderTable.h:
  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::updateFirstLetter):

  • rendering/svg/RenderSVGText.h:

LayoutTests:

  • fast/css-generated-content/dynamic-first-letter-selection-clear-crash-expected.txt: Added.
  • fast/css-generated-content/dynamic-first-letter-selection-clear-crash.html: Added.
8:46 PM Changeset in webkit [207803] by Ryan Haddad
  • 12 edits in trunk

Unreviewed, rolling out r207795.

Introduced API test failures on iOS and macOS.

Reverted changeset:

"URLParser should match old URL::parse with %2E in path"
https://bugs.webkit.org/show_bug.cgi?id=163929
http://trac.webkit.org/changeset/207795

8:23 PM Changeset in webkit [207802] by matthew_hanson@apple.com
  • 5 edits in branches/safari-602-branch/Source/WebKit2

Merge r206762. rdar://problem/28544885

8:23 PM Changeset in webkit [207801] by matthew_hanson@apple.com
  • 23 edits in branches/safari-602-branch/Source

Merge r204472. rdar://problem/28544885

8:23 PM Changeset in webkit [207800] by matthew_hanson@apple.com
  • 5 edits in branches/safari-602-branch/Source

Versioning.

7:55 PM Changeset in webkit [207799] by Yusuke Suzuki
  • 2 edits in trunk/Source/WebCore

Unreviewed, attempt to fix Windows build after r207787
https://bugs.webkit.org/show_bug.cgi?id=163657

Make the constructor public in DOMJIT::AbstractHeapRepository to make Windows bot green.
It's a bit unfortunate that we need to introduce a workaround here.

  • domjit/DOMJITAbstractHeapRepository.h:
7:35 PM Changeset in webkit [207798] by Yusuke Suzuki
  • 26 edits
    1 add in trunk

Arrow functions with concise bodies cannot return regular expressions
https://bugs.webkit.org/show_bug.cgi?id=163162

Reviewed by Filip Pizlo.

JSTests:

  • ChakraCore/test/Operators/instanceof.baseline-jsc:
  • ChakraCore/test/Regex/nul_character.baseline-jsc:
  • ChakraCore/test/es5/Lex_u3.baseline-jsc:
  • stress/parse-regexp-as-token.js: Added.

(shouldBe):

Source/JavaScriptCore:

When we encounter the RegExp in the parser, we first scan it as / or /=.
And if / or /= is parsed under the primary expression context, we rescan it
as RegExp. However, we did not update the token record information. So the
token record still says "I'm / or /=".

When we parse the string "() => /hello/", the last token becomes "/", which is
the first character of the RegExp, instead of "/hello/". Since the arrow
function parsing utilizes the end offset of the last token, we accidentally
recognize the range of the above arrow function as "() => /".

In this patch, we update the token when rescanning under the RegExp context.
This logic is similar to parsing Tail Template Literal token.

We also refine the error message for regular expression literals. And since
the REGEXP token is now introduced, the other error messages using that token
are improved too.

Currently, unterminated error messages can be seen in Parser.cpp. However,
these messages cannot be shown to users if the lexer has m_error. So these
code is meaningless. I'll move these tokenizing errors to the lexer in the
subsequent patch[1].

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

  • parser/Lexer.cpp:

(JSC::Lexer<T>::fillTokenInfo):
(JSC::Lexer<T>::lex):
(JSC::Lexer<T>::scanRegExp):
(JSC::Lexer<T>::scanTrailingTemplateString):
(JSC::Lexer<T>::skipRegExp): Deleted.

  • parser/Lexer.h:

(JSC::Lexer::getToken):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseAssignmentExpression):

  • parser/Parser.h:

(JSC::Parser::getToken):

  • parser/ParserTokens.h:

LayoutTests:

  • fast/regex/dom/non-pattern-characters-expected.txt:
  • js/arrowfunction-syntax-errors-expected.txt:
  • js/regexp-compile-crash-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.4_Comments/S7.4_A4_T1-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.4_Comments/S7.4_A4_T4-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.2_T2-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T1-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.3_T3-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T1-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.5_T3-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.2_T1-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T1-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.3_T3-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T1-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A2.5_T3-expected.txt:
6:48 PM Changeset in webkit [207797] by Chris Dumez
  • 10 edits in trunk

event.(dataTransfer|clipboardData).getData('text/html') (onpaste, ondrop)
https://bugs.webkit.org/show_bug.cgi?id=19893
<rdar://problem/6055546>

Reviewed by Ryosuke Niwa.

Source/WebCore:

We now write selection as HTML as well to the pasteboard so that
event.(dataTransfer|clipboardData).getData('text/html') now works.

I have verified manually that it is still possible to copy text from
Safari and paste it to Excel 2011 Mac after this change. The text is
now pasted as HTML instead of text, which is fine because Excel can
display HTML.

No new tests, unskipped existing tests.

  • editing/Editor.h:
  • editing/mac/EditorMac.mm:

(WebCore::Editor::selectionInHTMLFormat):
(WebCore::Editor::writeSelectionToPasteboard):

  • platform/Pasteboard.h:
  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::write):

LayoutTests:

Unskip corresponding tests on Mac.

  • editing/pasteboard/onpaste-text-html-expected.txt:
  • fast/events/ondrop-text-html-expected.txt:
  • platform/mac/TestExpectations:
  • platform/wk2/TestExpectations:
6:38 PM Changeset in webkit [207796] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-602.3.4

New tag.

6:31 PM Changeset in webkit [207795] by achristensen@apple.com
  • 12 edits in trunk

URLParser should match old URL::parse with %2E in path
https://bugs.webkit.org/show_bug.cgi?id=163929

Reviewed by Alexey Proskuryakov.

LayoutTests/imported/w3c:

  • web-platform-tests/url/a-element-expected.txt:
  • web-platform-tests/url/a-element-xhtml-expected.txt:
  • web-platform-tests/url/url-constructor-expected.txt:

Source/WebCore:

Covered by updated API tests, which show that URLParser now matches URL::parse in these cases.
Also covered by newly failing web platform tests, which were failing before URLParser was enabled.
If https://github.com/whatwg/url/issues/87 is resolved we can change behavior to match.

  • platform/URLParser.cpp:

(WebCore::URLParser::isSingleDotPathSegment):
(WebCore::URLParser::isDoubleDotPathSegment):
(WebCore::URLParser::consumeSingleDotPathSegment):
(WebCore::URLParser::consumeDoubleDotPathSegment):
(WebCore::URLParser::parse):
(WebCore::URLParser::isPercentEncodedDot): Deleted.

Tools:

  • TestWebKitAPI/Tests/WebCore/URLParser.cpp:

(TestWebKitAPI::TEST_F):

LayoutTests:

  • fast/url/path-expected.txt:
  • fast/url/standard-url-expected.txt:
  • fetch/fetch-url-serialization-expected.txt:
5:45 PM Changeset in webkit [207794] by pvollan@apple.com
  • 8 edits in trunk/Source

[Win] CMake build type is not set.
https://bugs.webkit.org/show_bug.cgi?id=163917

Reviewed by Alex Christensen.

The CMAKE_BUILD_TYPE variable should be set to Debug or Release.

Source/JavaScriptCore:

Source/WebCore:

  • WebCore.vcxproj/WebCore.proj:

Source/WebKit:

  • WebKit.vcxproj/WebKit.proj:

Source/WTF:

  • WTF.vcxproj/WTF.proj:
5:31 PM Changeset in webkit [207793] by Yusuke Suzuki
  • 4 edits in trunk/Source/WebCore

Unreviewed, attempt to fix Windows build after r207787
https://bugs.webkit.org/show_bug.cgi?id=163657

According to the similar code in WebKit, I guess that
Visual C++ requires friend class declaration is done
in the private section to access private members.

And I also changed ::instance to ::shared to align to
the existing WebCore code.

  • domjit/DOMJITAbstractHeapRepository.cpp:

(WebCore::DOMJIT::AbstractHeapRepository::shared):
(WebCore::DOMJIT::AbstractHeapRepository::instance): Deleted.

  • domjit/DOMJITAbstractHeapRepository.h:
  • domjit/JSNodeDOMJIT.cpp:

(WebCore::NodeFirstChildDOMJIT::callDOM):
(WebCore::NodeLastChildDOMJIT::callDOM):
(WebCore::NodeNextSiblingDOMJIT::callDOM):
(WebCore::NodePreviousSiblingDOMJIT::callDOM):
(WebCore::NodeParentNodeDOMJIT::callDOM):

5:22 PM Changeset in webkit [207792] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Fix the lifetime of strings used in LOG_WITH_STREAM
https://bugs.webkit.org/show_bug.cgi?id=163923

Reviewed by Brent Fulgham.

Make sure the const char* passed to WTFLog() outlives the call.

Removed logFunctionResult which wasn't used anywhere else, and encourages this bad
pattern.

  • platform/LogMacros.h:
  • platform/Logging.cpp:

(WebCore::logFunctionResult): Deleted.

5:16 PM Changeset in webkit [207791] by Chris Dumez
  • 4 edits in trunk/Source

Reduce special handling for typed arrays in JSDOMConvert.h
https://bugs.webkit.org/show_bug.cgi?id=163907

Reviewed by Sam Weinig.

Reduce special handling for typed arrays in JSDOMConvert.h by adding a toWrapped() static
function on JSGenericTypedArrayView, similarly to other wrapper types.

Source/JavaScriptCore:

  • runtime/JSGenericTypedArrayView.h:

(JSC::JSGenericTypedArrayView::typedImpl):
(JSC::JSGenericTypedArrayView<Adaptor>::toWrapped):

Source/WebCore:

No new tests, no web-exposed behavior change.

  • bindings/js/JSDOMConvert.h:

(WebCore::Converter<IDLInterface<JSC::GenericTypedArrayView<Adaptor>>>::convert): Deleted.

5:11 PM Changeset in webkit [207790] by Ryan Haddad
  • 5 edits in trunk/Source/WebCore

Unreviewed, rolling out r207783.

This change appears to have caused fast/selectors/invalid-
functional-pseudo-class.html to crash on iOS and macOS

Reverted changeset:

"[CSS Parser] Fix :lang argument parsing"
https://bugs.webkit.org/show_bug.cgi?id=163913
http://trac.webkit.org/changeset/207783

5:07 PM Changeset in webkit [207789] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

[DOMJIT][DFG] CallDOM never writes Stack
https://bugs.webkit.org/show_bug.cgi?id=163926

Reviewed by Filip Pizlo and Saam Barati.

There is no way to write(Stack) in CallDOM.
This worst case (the most clobbering case) scenario
should be aligned to the one of Call, read(World) and write(Heap).

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

5:05 PM Changeset in webkit [207788] by beidson@apple.com
  • 8 edits in trunk

IndexedDB 2.0: Support new IDBKeyRange interfaces.
<rdar://problem/28806929> and https://bugs.webkit.org/show_bug.cgi?id=163910

Reviewed by Andy Estes.

Source/WebCore:

No new tests (Covered by additions to existing test)

The "new IDBKeyRanges interfaces" really just means adding the instance method IDBKeyRange.contains.

  • Modules/indexeddb/IDBKeyRange.cpp:

(WebCore::IDBKeyRange::contains):

  • Modules/indexeddb/IDBKeyRange.h:
  • Modules/indexeddb/IDBKeyRange.idl:

LayoutTests:

  • storage/indexeddb/keyrange-expected.txt:
  • storage/indexeddb/keyrange-private-expected.txt:
  • storage/indexeddb/resources/keyrange.js:
4:34 PM Changeset in webkit [207787] by Yusuke Suzuki
  • 30 edits
    9 copies
    11 adds in trunk

[DOMJIT] Add a way for DOMJIT::Patchpoint to express effects
https://bugs.webkit.org/show_bug.cgi?id=163657

Reviewed by Saam Barati.

Source/JavaScriptCore:

This patch introduces DOMJIT::Effect. It describes the side effects of
the DOMJIT::CallDOMPatchpoint. DOMJIT::CallDOMPatchpoint can use this
feature to teach the compilers about the effects. And the compilers
will perform CSE based on the reported effects.

As the same to B3's HeapRange, the effects are represented as a pair of
integers. [begin, end) pair will represents the range of the abstract
heap. We encode the abstract heap hierarchy into these pairs. Like,

Root: [0, 32)

Child1: [0, 20) Child2: [20, 32)

Child11: [0, 4) Child12: [4, 20)

This simplifies the representation of the abstract heap. And WebCore
just tells pairs of integers and it does not tell any detailed hierarchy.
So, DFG and FTL can optimize DOM operations without deep knowledge of
the DOM abstract heap hierarchy. For example, WebCore will tell that
firstChild will read Node_firstChild abstract heap. But this information
is encoded to the pair and DFG does not know the details. But still
DFG can understand the abstract heap hierarchy and can query whether the
given abstract heap overlaps with some abstract heap.

The heap range told by the WebCore is represented as DOMJIT::HeapRange.
DFG will handle this under the DOMState abstract heap. DOMJIT::HeapRange
is stored in DFG::AbstractHeap's Payload. We maintain the hierarchy by
DOMJIT::HeapRange in the DOMState abstract heap. We add a necessary
handling in DFG's AbstractHeap and ClobberSet.

And we also introduce DOMStateLoc for HeapLocation. It is combined with
DOMState AbstractHeap with DOMJIT::HeapRange. For example, we can
represent Node.firstChild as read(DOMState:Node_firstChild) and
def(HeapLocation(node, DOMState:Node_firstChild)) thingy. This allows us
to perform CSE onto DOM getters that will read some of DOM heap!

For simplicity, we convert CallDOM from NodeVarArgs to the normal one.
CallDOM is now just used for DOMJIT getter. So its children is at most 2.
It may have either 1 or 2 children. If the global object is required
by CallDOMPatchpoint, it has 2 children. And we changed the order of
the children to further simplify the code. Before this change, the order
is 1: globalObject 2: base. After this patch, the order becomes 1: base,
and 2: globalObject. And the child2 may not exists if the global object
is not required. We changed all the existing DOMJIT patchpoint to this
form.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/PolymorphicAccess.cpp:

(JSC::AccessCase::emitDOMJITGetter):

  • dfg/DFGAbstractHeap.cpp:

(JSC::DFG::AbstractHeap::dump):

  • dfg/DFGAbstractHeap.h:

(JSC::DFG::AbstractHeap::isStrictSubtypeOf):
(JSC::DFG::AbstractHeap::overlaps):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::blessCallDOM):
(JSC::DFG::ByteCodeParser::handleDOMJITGetter):

  • dfg/DFGClobberSet.cpp:

(JSC::DFG::ClobberSet::overlaps):

  • dfg/DFGClobberSet.h:
  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.h:
  • dfg/DFGHeapLocation.cpp:

(WTF::printInternal):

  • dfg/DFGHeapLocation.h:
  • dfg/DFGNode.h:

(JSC::DFG::Node::hasCallDOMData):
(JSC::DFG::Node::callDOMData):
(JSC::DFG::Node::hasCallDOMPatchpoint): Deleted.
(JSC::DFG::Node::callDOMPatchpoint): Deleted.

  • dfg/DFGNodeType.h:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCallDOM):

  • domjit/DOMJITAbstractHeap.cpp: Copied from Source/JavaScriptCore/domjit/DOMJITCallDOMPatchpoint.h.

(JSC::DOMJIT::AbstractHeap::compute):
(JSC::DOMJIT::AbstractHeap::dump):
(JSC::DOMJIT::AbstractHeap::shallowDump):
(JSC::DOMJIT::AbstractHeap::deepDump):

  • domjit/DOMJITAbstractHeap.h: Copied from Source/JavaScriptCore/domjit/DOMJITCallDOMPatchpoint.h.

(JSC::DOMJIT::AbstractHeap::AbstractHeap):
(JSC::DOMJIT::AbstractHeap::setParent):
(JSC::DOMJIT::AbstractHeap::isRoot):
(JSC::DOMJIT::AbstractHeap::isComputed):
(JSC::DOMJIT::AbstractHeap::range):

  • domjit/DOMJITCallDOMPatchpoint.h:
  • domjit/DOMJITEffect.h: Copied from Source/JavaScriptCore/domjit/DOMJITCallDOMPatchpoint.h.

(JSC::DOMJIT::Effect::forReadWrite):
(JSC::DOMJIT::Effect::forPure):
(JSC::DOMJIT::Effect::forDef):
(JSC::DOMJIT::Effect::mustGenerate):

  • domjit/DOMJITHeapRange.cpp: Copied from Source/JavaScriptCore/domjit/DOMJITCallDOMPatchpoint.h.

(JSC::DOMJIT::HeapRange::dump):

  • domjit/DOMJITHeapRange.h: Added.

(JSC::DOMJIT::HeapRange::HeapRange):
(JSC::DOMJIT::HeapRange::fromRaw):
(JSC::DOMJIT::HeapRange::begin):
(JSC::DOMJIT::HeapRange::end):
(JSC::DOMJIT::HeapRange::rawRepresentation):
(JSC::DOMJIT::HeapRange::operator bool):
(JSC::DOMJIT::HeapRange::operator==):
(JSC::DOMJIT::HeapRange::top):
(JSC::DOMJIT::HeapRange::none):
(JSC::DOMJIT::HeapRange::isStrictSubtypeOf):
(JSC::DOMJIT::HeapRange::isSubtypeOf):
(JSC::DOMJIT::HeapRange::overlaps):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileCallDOM):

  • jsc.cpp:

Source/WebCore:

CallDOMPatchpoint now has the way to tell its effects to DFG and FTL compilers.
WebCore DOMJIT::AbstractHeapRepository will construct the hierarchy of the abstract
heap. And then it encodes these information into the pairs of the integers.

And this patch also changes the DOMJIT::PatchpointParams' parameter order.
So we change them in all the DOMJIT::CallDOMPatchpoint sites.

  • CMakeLists.txt:
  • ForwardingHeaders/domjit/DOMJITAbstractHeap.h: Copied from Source/JavaScriptCore/domjit/DOMJITCallDOMPatchpoint.h.
  • ForwardingHeaders/domjit/DOMJITEffect.h: Copied from Source/JavaScriptCore/domjit/DOMJITCallDOMPatchpoint.h.
  • ForwardingHeaders/domjit/DOMJITHeapRange.h: Copied from Source/JavaScriptCore/domjit/DOMJITCallDOMPatchpoint.h.
  • WebCore.xcodeproj/project.pbxproj:
  • domjit/DOMJITAbstractHeapRepository.cpp: Copied from Source/JavaScriptCore/domjit/DOMJITCallDOMPatchpoint.h.

(WebCore::DOMJIT::AbstractHeapRepository::AbstractHeapRepository):
(WebCore::DOMJIT::AbstractHeapRepository::instance):

  • domjit/DOMJITAbstractHeapRepository.h: Copied from Source/JavaScriptCore/domjit/DOMJITCallDOMPatchpoint.h.
  • domjit/DOMJITHelpers.h:

(WebCore::DOMJITHelpers::branchIfNotWorldIsNormal): Deleted.
(WebCore::DOMJITHelpers::branchIfNotWeakIsLive): Deleted.
(WebCore::DOMJITHelpers::tryLookUpWrapperCache): Deleted.
(WebCore::DOMJITHelpers::toWrapper): Deleted.
(WebCore::DOMJITHelpers::branchIfDOMWrapper): Deleted.
(WebCore::DOMJITHelpers::branchIfNotDOMWrapper): Deleted.
(WebCore::DOMJITHelpers::branchIfNode): Deleted.
(WebCore::DOMJITHelpers::branchIfNotNode): Deleted.
(WebCore::DOMJITHelpers::branchIfElement): Deleted.
(WebCore::DOMJITHelpers::branchIfNotElement): Deleted.
(WebCore::DOMJITHelpers::branchIfDocumentWrapper): Deleted.
(WebCore::DOMJITHelpers::branchIfNotDocumentWrapper): Deleted.

  • domjit/JSNodeDOMJIT.cpp:

(WebCore::createCallDOMForOffsetAccess):
(WebCore::checkNode):
(WebCore::NodeFirstChildDOMJIT::checkDOM):
(WebCore::NodeFirstChildDOMJIT::callDOM):
(WebCore::NodeLastChildDOMJIT::checkDOM):
(WebCore::NodeLastChildDOMJIT::callDOM):
(WebCore::NodeNextSiblingDOMJIT::checkDOM):
(WebCore::NodeNextSiblingDOMJIT::callDOM):
(WebCore::NodePreviousSiblingDOMJIT::checkDOM):
(WebCore::NodePreviousSiblingDOMJIT::callDOM):
(WebCore::NodeParentNodeDOMJIT::checkDOM):
(WebCore::NodeParentNodeDOMJIT::callDOM):
(WebCore::NodeNodeTypeDOMJIT::checkDOM):
(WebCore::NodeNodeTypeDOMJIT::callDOM):

Source/WTF:

Simplify nonEmptyRangesOverlap.

  • wtf/MathExtras.h:

(WTF::nonEmptyRangesOverlap):

LayoutTests:

  • js/dom/domjit-accessor-different-effect-expected.txt: Added.
  • js/dom/domjit-accessor-different-effect.html: Added.
  • js/dom/domjit-accessor-effect-expected.txt: Added.
  • js/dom/domjit-accessor-effect-should-overlap-with-call-expected.txt: Added.
  • js/dom/domjit-accessor-effect-should-overlap-with-call.html: Added.
  • js/dom/domjit-accessor-effect.html: Added.
  • js/dom/domjit-accessor-licm-expected.txt: Added.
  • js/dom/domjit-accessor-licm.html: Added.
  • js/dom/domjit-accessor-node-type-effect-should-not-overlap-with-call-since-pure-expected.txt: Added.
  • js/dom/domjit-accessor-node-type-effect-should-not-overlap-with-call-since-pure.html: Added.
4:12 PM Changeset in webkit [207786] by mmaxfield@apple.com
  • 2 edits in trunk/LayoutTests

Font variations test gardening

Unreviewed.

  • platform/mac/TestExpectations:
3:51 PM Changeset in webkit [207785] by achristensen@apple.com
  • 5 edits
    2 adds in trunk/Source/JavaScriptCore

JSONParse should not crash with null Strings
https://bugs.webkit.org/show_bug.cgi?id=163918
<rdar://problem/28834095>

Reviewed by Michael Saboff.

When JSONParse is called with a null String, it calls String::is8bit, which dereferences a null pointer.
This is happening with new work in the Fetch API, but callers of JSONParse should not have to check
if the String is null.

  • API/tests/JSONParseTest.cpp: Added.

(testJSONParse):

  • API/tests/JSONParseTest.h: Added.
  • API/tests/testapi.c:

(main):
Test parsing null Strings. They should have the same result as parsing empty Strings.

(JSC::JSONParse):
Check for null Strings.

  • shell/PlatformWin.cmake:
3:09 PM Changeset in webkit [207784] by commit-queue@webkit.org
  • 10 edits in trunk

Web Inspector: Scope chain shouldn't show empty Closure sections
https://bugs.webkit.org/show_bug.cgi?id=152348

Patch by Devin Rousso <Devin Rousso> on 2016-10-24
Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

  • inspector/InjectedScriptSource.js:

(isEmptyObject):
(InjectedScript.CallFrameProxy._createScopeJson):
If the scope object has no properties, set empty to true.

  • inspector/protocol/Debugger.json:

Added empty property to Scope type.

Source/WebInspectorUI:

  • UserInterface/Controllers/DebuggerManager.js:

(WebInspector.DebuggerManager.prototype._scopeChainNodeFromPayload):

  • UserInterface/Models/ScopeChainNode.js:

(WebInspector.ScopeChainNode):
(WebInspector.ScopeChainNode.prototype.get empty):
Added support for new empty property.

  • UserInterface/Views/ScopeChainDetailsSidebarPanel.js:

(WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection):
Only create and display a DetailsSection if the scope is not empty (via empty).

LayoutTests:

  • inspector/model/scope-chain-node-expected.txt:
  • inspector/model/scope-chain-node.html:

Added "empty" indicators to scopes without any property descriptors.

2:51 PM Changeset in webkit [207783] by hyatt@apple.com
  • 5 edits in trunk/Source/WebCore

[CSS Parser] Fix :lang argument parsing
https://bugs.webkit.org/show_bug.cgi?id=163913

Reviewed by Zalan Bujtas.

  • css/SelectorPseudoClassAndCompatibilityElementMap.in:

Modify the map to support versions of the function pseudos
without the left paren included.

  • css/parser/CSSParserValues.cpp:

(WebCore::CSSParserSelector::setLangArgumentList):

  • css/parser/CSSParserValues.h:

Add a helper to just directly pass an AtomicString Vector through.

  • css/parser/CSSSelectorParser.cpp:

(WebCore::consumeLangArgumentList):
(WebCore::CSSSelectorParser::consumePseudo):
Add a new consumeLangArgumentList to collect the languages into
an AtomicString Vector.

2:48 PM Changeset in webkit [207782] by commit-queue@webkit.org
  • 5 edits in trunk

Web Inspector: Improve Quick Open sorting algorithm
https://bugs.webkit.org/show_bug.cgi?id=163705

Patch by Devin Rousso <Devin Rousso> on 2016-10-24
Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

  • UserInterface/Models/ResourceQueryResult.js:

(WebInspector.ResourceQueryResult.prototype._calculateRank.getMultiplier):
(WebInspector.ResourceQueryResult.prototype._calculateRank):
Added logic to multiply the ranking increment/decrement based on whether the current match
is part of a sequence, whether that sequence began with a special character, and the length
of the current sequence.

LayoutTests:

  • inspector/unit-tests/resource-query-controller-expected.txt:
  • inspector/unit-tests/resource-query-controller.html:

Changed the ExecuteQueryGeneralRankings and ExecuteQueryPositionRankings tests to reflect
the new ranking logic. Added ExecuteQueryConsecutiveRankings to test more realistic
scenarios and ensure better ranking.

2:44 PM Changeset in webkit [207781] by keith_miller@apple.com
  • 9 edits in trunk

Wasm should support floating point operations.
https://bugs.webkit.org/show_bug.cgi?id=163770

Reviewed by Michael Saboff.

JSTests:

Add appropriate b3op names for floating point wasm bytecodes, where they exist.
Also, fix some WASM => Wasm in WasmOps.h generator script that I missed
the first time I made the change.

  • wasm/generate-wasmops-header.js:

(const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.WASM.template.typename.Int.inline.bool.isValidOpType): Deleted.
(const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.WASM.enum.BinaryOpType): Deleted.
(const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.WASM.enum.UnaryOpType): Deleted.
(const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.WASM.enum.LoadOpType): Deleted.
(const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.WASM.enum.StoreOpType): Deleted.
(const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.WASM.undef.CREATE_ENUM_VALUE.inline.bool.isControlOp): Deleted.

  • wasm/wasm.json:

Source/JavaScriptCore:

Since we now have a Double => Float Trunc in B3, we can now support calls in Wasm
that take floating point arguments. This patch also enables most of the Wasm
floating point operations, as the associated B3 opcode has been linked via wasm.json.
If there is no direct mapping to a B3 opcode the Wasm is not yet implemented. This
patch also fixes a bug in calls where the arguments would be reversed.

  • testWasm.cpp:

(cast):
(invoke):
(boxf):
(boxd):
(runWasmTests):

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::createJSWrapper):

  • wasm/WasmCallingConvention.h:

(JSC::Wasm::CallingConvention::loadArguments):
(JSC::Wasm::CallingConvention::setupCall):

  • wasm/WasmFunctionParser.h:

(JSC::Wasm::FunctionParser<Context>::parseExpression):
(JSC::Wasm::FunctionParser<Context>::parseUnreachableExpression):

  • wasm/WasmOps.h:
2:34 PM Changeset in webkit [207780] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Fix AppleWin build after r207720.

  • html/canvas/OESVertexArrayObject.cpp:
2:17 PM Changeset in webkit [207779] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Fix AppleWin build after r207720.

  • bindings/js/JSWebGLRenderingContextBaseCustom.cpp:
2:16 PM Changeset in webkit [207778] by Ryan Haddad
  • 6 edits in trunk/LayoutTests

Rebaseline tests for ios-simulator after r207757.
https://bugs.webkit.org/show_bug.cgi?id=163904

Unreviewed test gardening.

  • platform/ios-simulator/svg/W3C-SVG-1.1/text-align-06-b-expected.txt:
  • platform/ios-simulator/svg/batik/text/verticalText-expected.txt:
  • platform/ios-simulator/svg/batik/text/verticalTextOnPath-expected.txt:
  • platform/ios-simulator/svg/text/text-align-06-b-expected.txt:
  • platform/ios-simulator/svg/text/text-vkern-expected.txt:
2:01 PM Changeset in webkit [207777] by achristensen@apple.com
  • 8 edits in trunk/LayoutTests

Rebase tests after r207767
https://bugs.webkit.org/show_bug.cgi?id=163891

  • js/dom/global-constructors-attributes-expected.txt:
  • platform/efl/js/dom/global-constructors-attributes-expected.txt:
  • platform/gtk/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
  • platform/win/js/dom/global-constructors-attributes-expected.txt:

No more CSSCharsetRule.

1:53 PM Changeset in webkit [207776] by achristensen@apple.com
  • 3 edits in trunk/Source/WebCore

Fix Windows build after r207767 and r207769

  • css/CSSAllInOne.cpp:
  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::getProtectionSpace):

1:47 PM Changeset in webkit [207775] by pvollan@apple.com
  • 4 edits in trunk/Source/WebCore

[Win] AVCF based media engine does not block cross-site/cross-domain loads.
https://bugs.webkit.org/show_bug.cgi?id=163783

Reviewed by Brent Fulgham.

Prevent cross-site/cross-domain loads by setting appropriate AVCF options.

No new tests; covered by media/video-canvas-source.html. Media tests are
currently skipped on Windows.

  • platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h:
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::MediaPlayerPrivateAVFoundationCF::resolvedURL):
(WebCore::MediaPlayerPrivateAVFoundationCF::hasSingleSecurityOrigin):
(WebCore::AVFWrapper::createAssetForURL):

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
1:42 PM Changeset in webkit [207774] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Fix build with newer versions of clang
https://bugs.webkit.org/show_bug.cgi?id=163908
rdar://problem/28852016

Reviewed by Tim Horton.

Use the macros that names the soft-linked functions in such a way that they won't conflict with actual functions.

  • platform/ios/PlatformScreenIOS.mm:

(WebCore::screenIsMonochrome):
(WebCore::screenHasInvertedColors):
(WebCore::screenSize):
(WebCore::availableScreenSize):
(WebCore::screenScaleFactor):

1:25 PM Changeset in webkit [207773] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Remove unnecessary unused variable stubs
https://bugs.webkit.org/show_bug.cgi?id=163688

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-10-24
Reviewed by Simon Fraser.

  • Modules/applepay/cocoa/PaymentCocoa.mm:

(WebCore::toDictionary):

  • Modules/applepay/cocoa/PaymentContactCocoa.mm:

(WebCore::toDictionary):

1:19 PM Changeset in webkit [207772] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Try to fix Windows build after r207767
https://bugs.webkit.org/show_bug.cgi?id=163891

  • DerivedSources.cpp:
11:53 AM Changeset in webkit [207771] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Rebaseline inspector/dom/getAccessibilityPropertiesForNode.html
https://bugs.webkit.org/show_bug.cgi?id=163901

Unreviewed test gardening.

  • inspector/dom/getAccessibilityPropertiesForNode-expected.txt:
11:29 AM Changeset in webkit [207770] by zandobersek@gmail.com
  • 4 edits
    3 adds
    4 deletes in trunk/Source/WebCore

[CodeGenerator] Only allow a single interface or standalone dictionary per WebIDL file
https://bugs.webkit.org/show_bug.cgi?id=163889

Reviewed by Chris Dumez.

Assert that there's only one interface or standalone dictionary
per WebIDL input file, and exit from the generator otherwise.

This avoids potential linking issues where multiple enumeration
and dictionary bindings code can be generated if the source
WebIDL for them is specified in a file that contains multiple
interfaces or standalone dictionaries.

Additionally, the generator now also exits if it fails to
generate code for any interface of standalone dictionary. This
should avoid processing WebIDL files that are empty in
substance.

TestException.idl and TestInterface.idl files have their second
interfaces removed. In place of those a new testing IDL file is
added, TestInterfaceLeadingUnderscore.idl. Like the two removed
interfaces, it tests that the leading underscode in the
identifier is removed by the generator.

  • bindings/scripts/CodeGenerator.pm:

(ProcessDocument):

  • bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: Added.

(WebCore::JSTestInterfaceLeadingUnderscorePrototype::create):
(WebCore::JSTestInterfaceLeadingUnderscorePrototype::createStructure):
(WebCore::JSTestInterfaceLeadingUnderscorePrototype::JSTestInterfaceLeadingUnderscorePrototype):
(WebCore::JSTestInterfaceLeadingUnderscoreConstructor::prototypeForStructure):
(WebCore::JSTestInterfaceLeadingUnderscoreConstructor::initializeProperties):
(WebCore::JSTestInterfaceLeadingUnderscorePrototype::finishCreation):
(WebCore::JSTestInterfaceLeadingUnderscore::JSTestInterfaceLeadingUnderscore):
(WebCore::JSTestInterfaceLeadingUnderscore::createPrototype):
(WebCore::JSTestInterfaceLeadingUnderscore::prototype):
(WebCore::JSTestInterfaceLeadingUnderscore::destroy):
(WebCore::BindingCaller<JSTestInterfaceLeadingUnderscore>::castForAttribute):
(WebCore::jsTestInterfaceLeadingUnderscoreReadonly):
(WebCore::jsTestInterfaceLeadingUnderscoreReadonlyGetter):
(WebCore::jsTestInterfaceLeadingUnderscoreConstructor):
(WebCore::setJSTestInterfaceLeadingUnderscoreConstructor):
(WebCore::JSTestInterfaceLeadingUnderscore::getConstructor):
(WebCore::JSTestInterfaceLeadingUnderscoreOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestInterfaceLeadingUnderscoreOwner::finalize):
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSTestInterfaceLeadingUnderscore::toWrapped):

  • bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: Renamed from Source/WebCore/bindings/scripts/test/JS/JSreadonly.h.

(WebCore::JSTestInterfaceLeadingUnderscore::create):
(WebCore::JSTestInterfaceLeadingUnderscore::createStructure):
(WebCore::JSTestInterfaceLeadingUnderscore::finishCreation):
(WebCore::wrapperOwner):
(WebCore::wrapperKey):
(WebCore::toJS):
(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSattribute.cpp: Removed.
  • bindings/scripts/test/JS/JSattribute.h: Removed.
  • bindings/scripts/test/JS/JSreadonly.cpp: Removed.
  • bindings/scripts/test/TestException.idl:
  • bindings/scripts/test/TestInterface.idl:
  • bindings/scripts/test/TestInterfaceLeadingUnderscore.idl: Copied from Source/WebCore/bindings/scripts/test/TestException.idl.
11:25 AM Changeset in webkit [207769] by achristensen@apple.com
  • 56 edits in trunk

URL::port should return Optional<uint16_t>
https://bugs.webkit.org/show_bug.cgi?id=163806

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/url/a-element-expected.txt:
  • web-platform-tests/url/a-element-xhtml-expected.txt:
  • web-platform-tests/url/url-constructor-expected.txt:

Source/WebCore:

A URL without a port is different than a URL with port 0.
This matches the spec, Chrome, and Firefox.

Covered by newly-passing web platform tests.

  • Modules/indexeddb/IDBDatabaseIdentifier.h:

(WebCore::IDBDatabaseIdentifier::IDBDatabaseIdentifier):
(WebCore::IDBDatabaseIdentifier::isHashTableDeletedValue):
(WebCore::IDBDatabaseIdentifier::hash):
(WebCore::IDBDatabaseIdentifier::isValid):
(WebCore::IDBDatabaseIdentifier::isEmpty):

  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::connect):

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::hostName):

  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
(WebCore::ContentExtensions::applyBlockedStatusToRequest):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::userDidClickSnapshot):
(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):

  • html/URLUtils.h:

(WebCore::URLUtils<T>::protocol):
(WebCore::URLUtils<T>::host):
(WebCore::URLUtils<T>::port):

  • loader/CrossOriginAccessControl.cpp:

(WebCore::isValidCrossOriginRedirectionURL):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::responseReceived):
(WebCore::isRemoteWebArchive):
(WebCore::DocumentLoader::maybeLoadEmpty):

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::didReceiveResponse):

  • loader/cache/CachedResource.cpp:

(WebCore::shouldCacheSchemeIndefinitely):
(WebCore::CachedResource::freshnessLifetime):

  • page/Location.cpp:

(WebCore::Location::protocol):
(WebCore::Location::host):
(WebCore::Location::port):

  • page/Page.cpp:

(WebCore::Page::userStyleSheetLocationChanged):

  • page/SecurityOrigin.cpp:

(WebCore::shouldTreatAsUniqueOrigin):
(WebCore::SecurityOrigin::SecurityOrigin):
(WebCore::SecurityOrigin::isSecure):
(WebCore::SecurityOrigin::canDisplay):
(WebCore::SecurityOrigin::toRawString):
(WebCore::SecurityOrigin::create):
(WebCore::SecurityOrigin::databaseIdentifier):

  • page/SecurityOrigin.h:

(WebCore::SecurityOrigin::port):

  • page/SecurityOriginData.cpp:

(WebCore::SecurityOriginData::debugString):

  • page/SecurityOriginData.h:

(): Deleted.

  • page/SecurityOriginHash.h:

(WebCore::SecurityOriginHash::hash):

  • page/csp/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::allowObjectFromSource):
(WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
(WebCore::ContentSecurityPolicy::allowResourceFromSource):
(WebCore::ContentSecurityPolicy::allowConnectToSource):
(WebCore::ContentSecurityPolicy::allowBaseURI):
(WebCore::stripURLForUseInReport):
(WebCore::ContentSecurityPolicy::upgradeInsecureRequestIfNeeded):

  • page/csp/ContentSecurityPolicySource.cpp:

(WebCore::ContentSecurityPolicySource::ContentSecurityPolicySource):
(WebCore::ContentSecurityPolicySource::portMatches):

  • page/csp/ContentSecurityPolicySource.h:
  • page/csp/ContentSecurityPolicySourceList.cpp:

(WebCore::ContentSecurityPolicySourceList::parse):
(WebCore::ContentSecurityPolicySourceList::parseSource):
(WebCore::ContentSecurityPolicySourceList::parsePort):

  • page/csp/ContentSecurityPolicySourceList.h:
  • platform/SchemeRegistry.h:
  • platform/URL.cpp:

(WebCore::URL::protocol):
(WebCore::URL::port):
(WebCore::URL::serialize):
(WebCore::portAllowed):
(WebCore::defaultPortsMap): Deleted.
(WebCore::defaultPortForProtocol): Deleted.
(WebCore::isDefaultPortForProtocol): Deleted.

  • platform/URL.h:

(WebCore::URL::hasPort): Deleted.

  • platform/URLParser.cpp:

(WebCore::defaultPortForProtocol):
(WebCore::isDefaultPortForProtocol):
(WebCore::URLParser::parsePort):
(WebCore::isDefaultPort): Deleted.

  • platform/network/CredentialStorage.cpp:

(WebCore::originStringFromURL):

  • platform/network/ResourceHandle.cpp:

(WebCore::ResourceHandle::create):
(WebCore::ResourceHandle::loadResourceSynchronously):

  • platform/network/cf/SocketStreamHandleImplCFNet.cpp:

(WebCore::SocketStreamHandleImpl::platformClose):
(WebCore::SocketStreamHandleImpl::port):

  • workers/WorkerLocation.cpp:

(WebCore::WorkerLocation::protocol):
(WebCore::WorkerLocation::host):
(WebCore::WorkerLocation::port):

Source/WebKit/mac:

  • WebCoreSupport/WebSecurityOrigin.mm:

(-[WebSecurityOrigin port]):

Source/WebKit2:

  • NetworkProcess/mac/NetworkProcessMac.mm:

(WebKit::overrideSystemProxies):

  • Shared/API/APISecurityOrigin.h:

(API::SecurityOrigin::create):

  • Shared/API/APIURL.h:

(API::URL::protocol):

  • Shared/API/c/WKSecurityOriginRef.cpp:

(WKSecurityOriginGetPort):

  • UIProcess/API/Cocoa/WKSecurityOrigin.mm:

(-[WKSecurityOrigin port]):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::canHandleRequest):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::origin):

Tools:

  • TestWebKitAPI/Tests/WebCore/URL.cpp:

(TestWebKitAPI::TEST_F):

  • TestWebKitAPI/Tests/WebCore/URLParser.cpp:

(TestWebKitAPI::checkURL):
(TestWebKitAPI::checkRelativeURL):
(TestWebKitAPI::checkURLDifferences):
(TestWebKitAPI::checkRelativeURLDifferences):
(TestWebKitAPI::TEST_F):

11:24 AM Changeset in webkit [207768] by zandobersek@gmail.com
  • 6 edits in trunk/Source/WebCore

[CodeGeneratorJS] Support enums for standalone dictionaries
https://bugs.webkit.org/show_bug.cgi?id=163885

Reviewed by Youenn Fablet.

Add support for enumerations in WebIDL files that specify
standalone dictionaries. Implementation of this is pretty
straight-forward and mirrors interface and callback generators
by calling GenerateEnumerations{Header,Implementation}Content()
functions in GenerateDictionary{Header,Implementation}().

In GenerateEnumerationsImplementationContent(), the
NeverDestroyed.h header is added to the implementation includes
since that class is used to hold an array of possible enum
values.

A test enum is added to the TestStandaloneDictionary.idl file
and the baselines are updated to reflect the new capability.

  • bindings/scripts/CodeGenerator.pm:

(ProcessDocument):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateDictionary):
(GenerateEnumerationsImplementationContent):
(GenerateDictionaryHeader):
(GenerateDictionaryImplementation):

  • bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp:

(WebCore::convertEnumerationToJS):
(WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>):
(WebCore::convertEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>):
(WebCore::expectedEnumerationValues<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>):
(WebCore::convertDictionary<DictionaryImplName>):

  • bindings/scripts/test/JS/JSTestStandaloneDictionary.h:
  • bindings/scripts/test/TestStandaloneDictionary.idl:
11:18 AM Changeset in webkit [207767] by hyatt@apple.com
  • 24 edits
    5 deletes in trunk

Remove CSSCharsetRule from the CSS OM
https://bugs.webkit.org/show_bug.cgi?id=163891

Reviewed by Darin Adler.

Source/WebCore:

Remove CSSCharsetRule from the CSS OM. All other browser engines have made this
change. This eliminates the weird overloading of isCharsetRule to match both
CSSCharsetRule and StyleRuleCharset (only used by the new parser).

Fix the destroy() method in StyleRuleBase to clean up StyleRuleCharsets created
by the new parser properly.

  • CMakeLists.txt:
  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSCSSRuleCustom.cpp:

(WebCore::toJSNewlyCreated):

  • css/CSSCharsetRule.cpp: Removed.
  • css/CSSCharsetRule.h: Removed.
  • css/CSSCharsetRule.idl: Removed.
  • css/CSSPropertySourceData.h:
  • css/CSSStyleSheet.cpp:

(WebCore::CSSStyleSheet::item):
(WebCore::CSSStyleSheet::rules):

  • css/CSSStyleSheet.h:
  • css/StyleRule.cpp:

(WebCore::StyleRuleBase::destroy):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::asCSSRuleList):

Source/WebKit/mac:

  • DOM/DOMCSSCharsetRule.mm:

(-[DOMCSSCharsetRule encoding]):

LayoutTests:

  • fast/dom/Window/resources/window-properties.js:
  • fast/dom/dom-constructors-expected.txt:
  • fast/dom/dom-constructors.html:
  • fast/encoding/css-charset-default.xhtml:
  • fast/encoding/css-charset-dom-expected.txt: Removed.
  • fast/encoding/css-charset-dom.html: Removed.
  • platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:
11:12 AM Changeset in webkit [207766] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebCore

[CodeGeneratorJS] Standalone dictionaries have misplaced build guards
https://bugs.webkit.org/show_bug.cgi?id=163881

Patch by Zan Dobersek <zdobersek@igalia.com> on 2016-10-24
Reviewed by Chris Dumez.

Build guards that are generated from the Conditional attribute
on WebIDL dictionary declarations properly guard the relevant
convertDictionary() functions for WebIDL files that also specify
interfaces. But for standalone dictionaries these build guards
should guard the complete header and implementation files, much
like this is done for files that originate from interfaces or
callbacks.

Before this patch, guarding a standalone dictionary resulted in
malformed output because GenerateHeaderContentHeader() and
GenerateImplementationContentHeader() functions both generated
the #if macro that would guard the whole file, but
GenerateDictionary{Header,Implementation}() didn't generate the
closing #endif.

CodeGeneratorJS.pm now passes the conditional string, if any,
to GenerateDictionary{Header,Implementation}Content() functions
in case of a non-standalone dictionary. Otherwise, the
conditional string, if any, is used to guard the complete
header and implementation files.

Generator tests are updated to cover various build guard
combinations on dictionaries in TestObj.idl, and the standalone
dictionary WebIDL file now has a Conditional attribute to check
that the build guards cover complete generated header and
implementation files.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateDictionaryHeaderContent):
(GenerateDictionariesHeaderContent):
(GenerateDictionaryImplementationContent):
(GenerateDictionariesImplementationContent):
(GenerateDictionaryHeader):
(GenerateDictionaryImplementation):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::convertDictionary<TestObj::ConditionalDictionaryA>):
(WebCore::convertDictionary<TestObj::ConditionalDictionaryB>):
(WebCore::convertDictionary<TestObj::ConditionalDictionaryC>):

  • bindings/scripts/test/JS/JSTestObj.h:
  • bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp:
  • bindings/scripts/test/JS/JSTestStandaloneDictionary.h:
  • bindings/scripts/test/TestObj.idl:
  • bindings/scripts/test/TestStandaloneDictionary.idl:
10:53 AM Changeset in webkit [207765] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Dumping of op_negate bytecode is broken.
https://bugs.webkit.org/show_bug.cgi?id=163896

Reviewed by Darin Adler.

It thinks the bytecode consists of only 3 machine words, when it consists of 4.
This is now fixed.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

10:53 AM Changeset in webkit [207764] by eric.carlson@apple.com
  • 24 edits
    2 adds in trunk

[MediaStream] Separate media capture and audio playback muting
https://bugs.webkit.org/show_bug.cgi?id=163855
<rdar://problem/28827186>

Reviewed by Darin Adler.

Source/WebCore:

Test: fast/mediastream/MediaStream-page-muted.html

Change page.muted from a bool to a bitfield so audio and media capture muted are independent.
Fix a couple of bugs in the mock media capture device uncovered by new test case.

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::pageMutedStateDidChange): page.isMuted -> page.mutedState.

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::pageMutedStateDidChange): Ditto.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updateVolume): Ditto.
(WebCore::HTMLMediaElement::effectiveMuted): Ditto.

  • page/MediaProducer.h: Add MutedState enum.
  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::setMuted): Take MutedStateFlags instead of bool. m_muted -> m_mutedState.

  • page/Page.h:
  • platform/mock/MockRealtimeMediaSource.cpp:

(WebCore::MockRealtimeMediaSource::startProducingData): Call setMuted.
(WebCore::MockRealtimeMediaSource::stopProducingData): Ditto.

  • platform/mock/MockRealtimeMediaSource.h:
  • platform/mock/MockRealtimeVideoSource.cpp:

(WebCore::MockRealtimeVideoSource::stopProducingData): Call correct base class method.

  • testing/Internals.cpp:

(WebCore::Internals::setPageMuted): Change parameter from a bool to a string.

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit2:

  • Shared/WebPageCreationParameters.h: Change 'muted' from bool to MutedStateFlags.
  • UIProcess/API/C/WKPage.cpp: Change parameter from bool to WKMediaMutedState.

(WKPageSetMuted):

  • UIProcess/API/C/WKPagePrivate.h: Define WKMediaMutedState.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setMuted): m_muted -> m_mutedState.
(WebKit::WebPageProxy::creationParameters): Ditto.

  • UIProcess/WebPageProxy.h:
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::isMuted): page.isMuted -> page.mutedState.

  • WebProcess/WebPage/WebPage.messages.in: Change SetMuted parameter.

LayoutTests:

  • fast/mediastream/MediaStream-page-muted-expected.txt: Added.
  • fast/mediastream/MediaStream-page-muted.html: Added.
  • media/video-muted-after-setting-page-muted-state.html: Updated.
9:48 AM Changeset in webkit [207763] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Try to fix Windows build.

  • bindings/js/JSWebGL2RenderingContextCustom.cpp: Rearranged includes

so they are inside the conditional as they should be.

9:25 AM Changeset in webkit [207762] by commit-queue@webkit.org
  • 21 edits in trunk

Activate WEB_RTC compilation flags for Mac bots
https://bugs.webkit.org/show_bug.cgi?id=163886

Patch by Youenn Fablet <youenn@apple.com> on 2016-10-24
Reviewed by Eric Carlson.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Covered by existing tests.

Fixing compilation errors due to missing WEBCORE_EXPORT, missing method and missing override keywords.

  • Configurations/FeatureDefines.xcconfig:
  • DerivedSources.make:
  • Modules/mediastream/MediaEndpointPeerConnection.h:
  • Modules/mediastream/RTCPeerConnection.h:
  • Modules/mediastream/RTCPeerConnection.idl:
  • Modules/mediastream/SDPProcessor.cpp:

(WebCore::SDPProcessor::generate):
(WebCore::SDPProcessor::parse):

  • WebCore.xcodeproj/project.pbxproj:
  • platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:

(WebCore::MockRealtimeVideoSource::createMuted):

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • Scripts/webkitperl/FeatureList.pm:
  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

LayoutTests:

  • platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
9:24 AM Changeset in webkit [207761] by beidson@apple.com
  • 58 edits
    5 adds in trunk

IndexedDB 2.0: Support IDBIndex name assignment.
<rdar://problem/28806932> and https://bugs.webkit.org/show_bug.cgi?id=163805

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

  • web-platform-tests/IndexedDB/idbindex-rename-errors-expected.txt:
  • web-platform-tests/IndexedDB/idbindex-rename-expected.txt:

Source/WebCore:

Tests: storage/indexeddb/modern/index-rename-1-private.html

storage/indexeddb/modern/index-rename-1.html

Touches a *lot* of code sites, but none of them are particularly interesting.
They are all just getting the new name spread out to all of the various objects that need it.

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::renameIndex):

  • Modules/indexeddb/IDBDatabase.h:
  • Modules/indexeddb/IDBIndex.cpp:

(WebCore::IDBIndex::IDBIndex):
(WebCore::IDBIndex::setName):
(WebCore::IDBIndex::rollbackInfoForVersionChangeAbort):

  • Modules/indexeddb/IDBIndex.h:
  • Modules/indexeddb/IDBIndex.idl:
  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::rollbackForVersionChangeAbort):
(WebCore::IDBObjectStore::renameReferencedIndex):
(WebCore::IDBObjectStore::rollbackInfoForVersionChangeAbort): Deleted.

  • Modules/indexeddb/IDBObjectStore.h:
  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::internalAbort):
(WebCore::IDBTransaction::renameIndex):
(WebCore::IDBTransaction::renameIndexOnServer):
(WebCore::IDBTransaction::didRenameIndexOnServer):

  • Modules/indexeddb/IDBTransaction.h:
  • Modules/indexeddb/client/IDBConnectionProxy.cpp:

(WebCore::IDBClient::IDBConnectionProxy::renameIndex):

  • Modules/indexeddb/client/IDBConnectionProxy.h:
  • Modules/indexeddb/client/IDBConnectionToServer.cpp:

(WebCore::IDBClient::IDBConnectionToServer::renameIndex):
(WebCore::IDBClient::IDBConnectionToServer::didRenameIndex):

  • Modules/indexeddb/client/IDBConnectionToServer.h:
  • Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
  • Modules/indexeddb/client/TransactionOperation.h:

(WebCore::IDBClient::createTransactionOperation):

  • Modules/indexeddb/server/IDBBackingStore.h:
  • Modules/indexeddb/server/IDBConnectionToClient.cpp:

(WebCore::IDBServer::IDBConnectionToClient::didRenameIndex):

  • Modules/indexeddb/server/IDBConnectionToClient.h:
  • Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
  • Modules/indexeddb/server/IDBServer.cpp:

(WebCore::IDBServer::IDBServer::renameIndex):

  • Modules/indexeddb/server/IDBServer.h:
  • Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:

(WebCore::IDBServer::MemoryBackingStoreTransaction::indexRenamed):
(WebCore::IDBServer::MemoryBackingStoreTransaction::abort):

  • Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
  • Modules/indexeddb/server/MemoryIDBBackingStore.cpp:

(WebCore::IDBServer::MemoryIDBBackingStore::renameIndex):

  • Modules/indexeddb/server/MemoryIDBBackingStore.h:
  • Modules/indexeddb/server/MemoryIndex.h:

(WebCore::IDBServer::MemoryIndex::rename):

  • Modules/indexeddb/server/MemoryObjectStore.cpp:

(WebCore::IDBServer::MemoryObjectStore::renameIndex):

  • Modules/indexeddb/server/MemoryObjectStore.h:
  • Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:

(WebCore::IDBServer::SQLiteIDBBackingStore::renameIndex):

  • Modules/indexeddb/server/SQLiteIDBBackingStore.h:
  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::renameIndex):
(WebCore::IDBServer::UniqueIDBDatabase::performRenameIndex):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformRenameIndex):

  • Modules/indexeddb/server/UniqueIDBDatabase.h:
  • Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:

(WebCore::IDBServer::UniqueIDBDatabaseConnection::didRenameIndex):

  • Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
  • Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:

(WebCore::IDBServer::UniqueIDBDatabaseTransaction::renameIndex):

  • Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
  • Modules/indexeddb/shared/IDBIndexInfo.h:

(WebCore::IDBIndexInfo::rename):

  • Modules/indexeddb/shared/IDBObjectStoreInfo.cpp:

(WebCore::IDBObjectStoreInfo::infoForExistingIndex):

  • Modules/indexeddb/shared/IDBObjectStoreInfo.h:
  • Modules/indexeddb/shared/IDBResultData.cpp:

(WebCore::IDBResultData::renameIndexSuccess):

  • Modules/indexeddb/shared/IDBResultData.h:
  • Modules/indexeddb/shared/InProcessIDBServer.cpp:

(WebCore::InProcessIDBServer::didRenameIndex):
(WebCore::InProcessIDBServer::renameIndex):

  • Modules/indexeddb/shared/InProcessIDBServer.h:

Source/WebKit2:

  • DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp:

(WebKit::WebIDBConnectionToClient::didRenameIndex):
(WebKit::WebIDBConnectionToClient::renameIndex):

  • DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h:
  • DatabaseProcess/IndexedDB/WebIDBConnectionToClient.messages.in:
  • WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:

(WebKit::WebIDBConnectionToServer::renameIndex):
(WebKit::WebIDBConnectionToServer::didRenameIndex):

  • WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:
  • WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.messages.in:

LayoutTests:

  • storage/indexeddb/modern/index-rename-1-expected.txt: Added.
  • storage/indexeddb/modern/index-rename-1-private-expected.txt: Added.
  • storage/indexeddb/modern/index-rename-1-private.html: Added.
  • storage/indexeddb/modern/index-rename-1.html: Added.
  • storage/indexeddb/modern/resources/index-rename-1.js: Added.
  • storage/indexeddb/readonly-expected.txt:
  • storage/indexeddb/readonly-private-expected.txt:
  • storage/indexeddb/resources/readonly.js: Removed the test that verifies that index names are readonly as they are no longer readonly.
8:53 AM Changeset in webkit [207760] by Wenson Hsieh
  • 2 edits in trunk/Tools

Unreviewed, add myself as a WebKit reviewer

  • Scripts/webkitpy/common/config/contributors.json:
8:07 AM Changeset in webkit [207759] by hyatt@apple.com
  • 3 edits in trunk/Source/WebCore

[CSS Parser] Fix -webkit-box-reflect parsing
https://bugs.webkit.org/show_bug.cgi?id=163890

Reviewed by Zalan Bujtas.

  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeReflect):
Do a WTFMove on the mask instead of a .releaseNonNull(), since mask can be a nullptr.
Exactly matches the old parser.

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::CalcParser::consumeValue):
(WebCore::CSSPropertyParserHelpers::CalcParser::consumeNumber):
(WebCore::CSSPropertyParserHelpers::consumeInteger):
(WebCore::CSSPropertyParserHelpers::consumeNumber):
(WebCore::CSSPropertyParserHelpers::consumeLength):
(WebCore::CSSPropertyParserHelpers::consumePercent):
(WebCore::CSSPropertyParserHelpers::consumeAngle):
(WebCore::CSSPropertyParserHelpers::consumeTime):
(WebCore::CSSPropertyParserHelpers::consumeUrl):
(WebCore::CSSPropertyParserHelpers::consumeColor):
(WebCore::CSSPropertyParserHelpers::consumeDeprecatedGradientPoint):
(WebCore::CSSPropertyParserHelpers::consumeDeprecatedGradientColorStop):
(WebCore::CSSPropertyParserHelpers::consumeCrossFade):
(WebCore::CSSPropertyParserHelpers::consumeImageSet):
Clean up all instances of CSSPrimitiveValue::create to use the CSSValuePool.

7:58 AM Changeset in webkit [207758] by graouts@webkit.org
  • 3 edits
    1 add in trunk/Source/WebCore

[Modern Media Controls] Concatenate JS and CSS files into a single JS and CSS resources
https://bugs.webkit.org/show_bug.cgi?id=163785
<rdar://problem/28890058>

Reviewed by Darin Adler.

Concatenate CSS and JS resources for modern media controls into single JS and CSS files
during build and load these single resources alone at runtime.

  • Modules/modern-media-controls/js-files: Added.
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::mediaControlsStyleSheet):
(WebCore::RenderThemeMac::mediaControlsScript):

7:39 AM Changeset in webkit [207757] by hyatt@apple.com
  • 28 edits in trunk

[CSS Parser] Unprefix -webkit-writing-mode
https://bugs.webkit.org/show_bug.cgi?id=163870

Reviewed by Zalan Bujtas.

Source/WebCore:

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):
Change -webkit-writing mode to writing-mode.

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::operator WritingMode):
(WebCore::CSSPrimitiveValue::operator SVGWritingMode): Deleted.
Eliminate the SVGWritingMode converters. Add support for the unique SVG-specific
values to the WritingMode converters.

  • css/CSSPropertyNames.in:

Alias -webkit-writing-mode to writing-mode. Move writing-mode up to be
high priority like -webkit-writing mode was. Alias -epub-writing-mode to writing-mode
instead of to -webkit-writing-mode.

  • css/SVGCSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::svgPropertyValue):
Remove writing-mode from SVG computed style, since the base CSSComputedStyleDeclaration handles it.

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyValueWritingMode):
(WebCore::StyleBuilderCustom::applyValueWebkitWritingMode): Deleted.
Renamed applyValueWebkitWritingMode to applyValueWritingMode. Removed the SVG code, since
the underlying converter for WritingMode now handles those values.

  • css/StyleResolver.cpp:

(WebCore::extractDirectionAndWritingMode):
Rename -webkit-writing-mode to writing-mode.

  • css/parser/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):
Eliminate -webkit-writing-mode and make sure writing-mode handles both the SVG values
and the normal values.

  • css/parser/CSSParserFastPaths.cpp:

(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):
Same deal here.

  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGenericBoxElement::applyCSSProperties):

  • html/track/VTTCue.cpp:

(WebCore::VTTCueBox::applyCSSProperties):
Cue stuff was setting -webkit-writing-mode, so make it set writing-mode instead now.

  • rendering/RenderLineBreak.cpp:

(WebCore::RenderLineBreak::collectSelectionRects):

  • rendering/RenderText.cpp:

(WebCore::RenderText::collectSelectionRects):
Switch the SVG-specific code here over to accessing the RenderStyle writing-mode and not
the SVG-specific one.

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::isVerticalWritingMode):
Add a helper function for asking if something is vertical writing mode.

  • rendering/style/SVGRenderStyle.cpp:
  • rendering/style/SVGRenderStyle.h:
  • rendering/style/SVGRenderStyleDefs.h:

(WebCore::SVGRenderStyle::diff):
Remove the SVG writing mode code.

  • rendering/svg/RenderSVGInlineText.cpp:

(WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
Make sure to force SVG font descriptions to be horizontal, since SVG controls
its own glyph orientation.

  • rendering/svg/SVGRenderTreeAsText.cpp:

(WebCore::writeSVGInlineTextBox):

  • rendering/svg/SVGTextChunk.cpp:

(WebCore::SVGTextChunk::SVGTextChunk):

  • rendering/svg/SVGTextLayoutEngine.cpp:

(WebCore::SVGTextLayoutEngine::layoutInlineTextBox):

  • rendering/svg/SVGTextQuery.cpp:

(WebCore::SVGTextQuery::executeQuery):
Changed to access the RenderStyle writing mode instead of the SVG-specific one.

LayoutTests:

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/text-align-06-b-expected.txt:
  • platform/mac/svg/text/text-align-06-b-expected.txt:
  • svg/css/getComputedStyle-basic-expected.txt:
4:50 AM Changeset in webkit [207756] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

svg/as-image/svg-image-with-data-uri-use-data-uri.svg is flaky after r207754
https://bugs.webkit.org/show_bug.cgi?id=163887

Unreviewed.

Patch by Youenn Fablet <youenn@apple.com> on 2016-10-24

  • TestExpectations: Marking svg/as-image/svg-image-with-data-uri-use-data-uri.svg as crashing.
2:50 AM Changeset in webkit [207755] by Antti Koivisto
  • 4 edits
    2 adds in trunk

Avoid unnecessary full style resolution in getComputedStyle for non-inherited properties
https://bugs.webkit.org/show_bug.cgi?id=163875

Reviewed by Andreas Kling.

Source/WebCore:

Test: fast/css/getComputedStyle/getComputedStyle-style-resolution.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::hasValidStyleForProperty):

For non-inherited properties we don't need to update style even if some ancestor style is invalid
as long as explicit 'inherit' is not being used.
We still need to update if we find out that the whole subtree we are in is invalid.

(WebCore::updateStyleIfNeededForProperty):

Pass the property.

(WebCore::ComputedStyleExtractor::customPropertyValue):
(WebCore::ComputedStyleExtractor::propertyValue):
(WebCore::CSSComputedStyleDeclaration::length):
(WebCore::elementOrItsAncestorNeedsStyleRecalc): Deleted.
(WebCore::updateStyleIfNeededForElement): Deleted.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::colorFromPrimitiveValue):

Mark style as using explicit inheritance if 'currentcolor' value is used.

LayoutTests:

  • fast/css/getComputedStyle/getComputedStyle-style-resolution-expected.txt: Added.
  • fast/css/getComputedStyle/getComputedStyle-style-resolution.html: Added.
1:04 AM Changeset in webkit [207754] by commit-queue@webkit.org
  • 3 edits
    3 adds in trunk

ASSERTION FAILED: canvas()->securityOrigin()->toString() == cachedImage.origin()->toString()
https://bugs.webkit.org/show_bug.cgi?id=163242

Patch by Youenn Fablet <youenn@apple.com> on 2016-10-24
Reviewed by Darin Adler.

Source/WebCore:

Test: http/tests/security/cross-origin-cached-images-canvas.html

We were previously on Origin HTTP header to check whether requests were made from different origins.
This is fine for CORS enabled requests but not for GET no CORS requests since they will not have any Origin header.

Now that CachedResource and CachedResourceRequest own their origin, it is best to use these directly.

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::isRequestMatchingResourceOrigin):
(WebCore::CachedResourceLoader::shouldUpdateCachedResourceWithCurrentRequest):

LayoutTests:

  • http/tests/security/cross-origin-cached-images-canvas-expected.txt: Added.
  • http/tests/security/cross-origin-cached-images-canvas.html: Added.
  • http/tests/security/resources/cross-origin-cached-image-canvas-iframe.html: Added.
12:52 AM Changeset in webkit [207753] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Remove CachedResource::passesSameOriginPolicyCheck
https://bugs.webkit.org/show_bug.cgi?id=163593

Patch by Youenn Fablet <youenn@apple.com> on 2016-10-24
Reviewed by Andreas Kling.

No change of behavior.

Removing no-longer used code.

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::redirectReceived):
(WebCore::CachedResource::passesAccessControlCheck): Deleted.
(WebCore::CachedResource::passesSameOriginPolicyCheck): Deleted.
(WebCore::CachedResource::responseForSameOriginPolicyChecks): Deleted.

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::response):

12:49 AM Changeset in webkit [207752] by commit-queue@webkit.org
  • 10 edits
    2 adds in trunk

Redirections should be upgraded if CSP policy says so
https://bugs.webkit.org/show_bug.cgi?id=163544

Patch by Youenn Fablet <youenn@apple.com> on 2016-10-24
Reviewed by Darin Adler.

Source/WebCore:

Test: http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade-after-redirect.https.html

Introducing CachedResourceLoader::updateRequestAfterRedirection to do the checks that CachedResourceLoader is doing
to the initial request, but for redirection requests.

Implemented URL upgrade according CSP policy, as specified by fetch algorithm.
Minor refactoring in CachedResourceRequest to share some code.
Fixing some constness issues.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::willSendRequestInternal):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::allowedByContentSecurityPolicy):
(WebCore::CachedResourceLoader::canRequestAfterRedirection):
(WebCore::CachedResourceLoader::updateRequestAfterRedirection):

  • loader/cache/CachedResourceLoader.h:
  • loader/cache/CachedResourceRequest.cpp:

(WebCore::upgradeInsecureResourceRequestIfNeeded):
(WebCore::CachedResourceRequest::upgradeInsecureRequestIfNeeded):

  • loader/cache/CachedResourceRequest.h:

LayoutTests:

  • http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade-after-redirect.https-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade-after-redirect.https.html: Added.
  • http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-redirect-https-to-http-script-in-iframe-expected.txt:
  • http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-redirect-https-to-http-script-in-iframe.html:
  • platform/mac/TestExpectations:
12:19 AM Changeset in webkit [207751] by matthew_hanson@apple.com
  • 7 edits in branches/safari-602-branch

Merge r207220. rdar://problem/28811939

12:19 AM Changeset in webkit [207750] by matthew_hanson@apple.com
  • 17 edits in branches/safari-602-branch

Merge r206771. rdar://problem/28811939

12:18 AM Changeset in webkit [207749] by matthew_hanson@apple.com
  • 3 edits in branches/safari-602-branch/Source/WebKit2

Merge r206123. rdar://problem/28544885

12:18 AM Changeset in webkit [207748] by matthew_hanson@apple.com
  • 4 edits
    2 adds in branches/safari-602-branch

Merge r207486. rdar://problem/28409742

12:18 AM Changeset in webkit [207747] by matthew_hanson@apple.com
  • 5 edits
    2 adds in branches/safari-602-branch

Merge r207275. rdar://problem/28810752

12:18 AM Changeset in webkit [207746] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-602-branch

Merge r207274. rdar://problem/28849629

12:18 AM Changeset in webkit [207745] by matthew_hanson@apple.com
  • 2 edits in branches/safari-602-branch/Source/WebKit/mac

Merge r207160. rdar://problem/28857480

12:18 AM Changeset in webkit [207744] by matthew_hanson@apple.com
  • 19 edits
    4 adds in branches/safari-602-branch

Merge r207159. rdar://problem/28857481

12:18 AM Changeset in webkit [207743] by matthew_hanson@apple.com
  • 4 edits
    2 adds in branches/safari-602-branch

Merge r206712. rdar://problem/28216065

12:18 AM Changeset in webkit [207742] by matthew_hanson@apple.com
  • 2 edits in branches/safari-602-branch/Source/WebCore

Merge r206706. rdar://problem/28635081

12:18 AM Changeset in webkit [207741] by matthew_hanson@apple.com
  • 2 edits in branches/safari-602-branch/Source/WebCore

Merge r206074. rdar://problem/28216061

12:18 AM Changeset in webkit [207740] by matthew_hanson@apple.com
  • 4 edits in branches/safari-602-branch/Source/WebKit2

Merge r203809. rdar://problem/28433607

12:18 AM Changeset in webkit [207739] by matthew_hanson@apple.com
  • 5 edits in branches/safari-602-branch/Source

Versioning.

12:05 AM Changeset in webkit [207738] by zandobersek@gmail.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed. Build fix for Clang and libstdc++ configurations.

  • b3/testb3.cpp:

(JSC::B3::testAbsArgWithEffectfulDoubleConversion): Explicitly cast the
float-typed return value of fabs(float) to double in order to avoid
ambiguous calls to isIdentical().
(JSC::B3::testSqrtArgWithEffectfulDoubleConversion): Ditto for sqrt(float).

Oct 23, 2016:

10:02 PM Changeset in webkit [207737] by weinig@apple.com
  • 36 edits in trunk

[WebIDL] Add IDLType based toJS conversion
https://bugs.webkit.org/show_bug.cgi?id=163861

Reviewed by Darin Adler.

Source/WebCore:

Adds toJS<IDLType>() functions to be the new way of converting
from implementation types to JS types. These are implemented via
a similar mechanism to the convert<IDL>() functions, though specializations
of a JSConverter struct (rather than the Converter structs). This allows
us to support arbitrarily complex aggregate types easily (e.g. sequence<(Node or DOMString?)>).

  • Modules/geolocation/Geoposition.idl:
  • dom/Event.idl:

Add typedef for DOMTimeStamp. Eventually, our IDLParser should do this for us, but
for now it allows us to simplify the type system.

  • bindings/js/JSDOMBinding.h:

(WebCore::JSValueTraits::arrayJSValue): Deleted.
(WebCore::JSValueTraits<String>::arrayJSValue): Deleted.
(WebCore::JSValueTraits<double>::arrayJSValue): Deleted.
(WebCore::JSValueTraits<float>::arrayJSValue): Deleted.
(WebCore::jsArray): Deleted.
(WebCore::jsFrozenArray): Deleted.
(WebCore::NativeValueTraits<String>::nativeValue): Deleted.
(WebCore::NativeValueTraits<unsigned>::nativeValue): Deleted.
(WebCore::NativeValueTraits<float>::nativeValue): Deleted.
(WebCore::NativeValueTraits<double>::nativeValue): Deleted.
(WebCore::toNullableJSNumber): Deleted.
(WebCore::toJSArray): Deleted.
(WebCore::toJSBoolean): Deleted.
(WebCore::toJSNumber): Deleted.
(WebCore::toJSString): Deleted.
Remove many now-unneeded conversion functions.

  • bindings/js/JSDOMConvert.h:

(WebCore::toJS):
Add 5 primary toJS functions which take combinations of the following
arguments: ExecState, JSDOMGlobalObject, ThrowScope. All take the value
to be converted as well, except in the case of the throwScope ones, where
they take the value in an ExceptionOr<>.

To simplify the implementations of the JSConverter specializations, avoiding
the need for each one to implement their conversion up to 3 times (one for just
the value, one for the value and the ExecState, and one for the value, the ExecState
and the global object), each JSConverter instead specifies whether it's converter
needs an ExecState or global object via a static constexpr. We then use the
JSConverterOverloader template, to call the correct function. This can probably be
improved in the future, by inferring the number of arguments needed via SFINAE, but
this seemed like a more straightforward first cut.

(WebCore::JSConverter<IDLNullable<T>>::convert):
(WebCore::JSConverter<IDLBoolean>::convert):
(WebCore::JSConverter<IDLInterface<T>>::convert):
(WebCore::JSConverter<IDLAny>::convert):
(WebCore::JSConverter<IDLByte>::convert):
(WebCore::JSConverter<IDLOctet>::convert):
(WebCore::JSConverter<IDLShort>::convert):
(WebCore::JSConverter<IDLUnsignedShort>::convert):
(WebCore::JSConverter<IDLLong>::convert):
(WebCore::JSConverter<IDLUnsignedLong>::convert):
(WebCore::JSConverter<IDLLongLong>::convert):
(WebCore::JSConverter<IDLUnsignedLongLong>::convert):
(WebCore::JSConverter<IDLFloat>::convert):
(WebCore::JSConverter<IDLUnrestrictedFloat>::convert):
(WebCore::JSConverter<IDLDouble>::convert):
(WebCore::JSConverter<IDLUnrestrictedDouble>::convert):
(WebCore::JSConverter<IDLDOMString>::convert):
(WebCore::JSConverter<IDLUSVString>::convert):
(WebCore::JSConverter<IDLSequence<T>>::convert):
(WebCore::JSConverter<IDLFrozenArray<T>>::convert):
(WebCore::JSConverter<IDLEnumeration<T>>::convert):
(WebCore::JSConverter<IDLUnion<T...>>::convert):
There is slightly more duplication than I would have liked, for instance we have a
specialization for each numeric type, even though they are all the same, but that is
something that can be improved going forward.

(WebCore::Converter<IDLUnion<T...>>::convert)
Fix the normal IDLUnion converter to work with boolean types. This was caught by the
test case I added via TypeConversions.idl.

  • bindings/js/JSDOMStringMapCustom.cpp:

(WebCore::JSDOMStringMap::getOwnPropertySlotDelegate):

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):

  • bindings/js/JSDataTransferCustom.cpp:

(WebCore::JSDataTransfer::types):

  • bindings/js/JSMediaStreamTrackCustom.cpp:

(WebCore::JSMediaStreamTrack::getCapabilities):

  • bindings/js/JSMutationCallback.cpp:

(WebCore::JSMutationCallback::call):

  • bindings/js/JSSVGLengthCustom.cpp:

(WebCore::JSSVGLength::value):
Switch to use new toJS<> functions.

  • bindings/scripts/CodeGeneratorJS.pm:

(AddStringifierOperationIfNeeded):
Fix stringifier function signature to contain an idlType.

(GenerateEnumerationsHeaderContent):
Remove now unnecessary JSValueTraits specializations.

(JSValueToNativeIsHandledByDOMConvert):
Renamed from IsHandledByDOMConvert, since that name is now ambiguous.

(JSValueToNative):
Update for new name of IsHandledByDOMConvert.

(NativeToJSValueIsHandledByDOMConvert):
Predicate guarding what types currently work with the new conversion system.

(NativeToJSValueDOMConvertNeedsState):
Predicate for determining if the ExecState is needed in the conversion function.

(NativeToJSValueDOMConvertNeedsGlobalObject):
Predicate for determining if the global object is needed in the conversion function.

(NativeToJSValue):
Move things around a little bit and start converting use the new toJS<> when possible.

  • bindings/scripts/IDLParser.pm:

(parseAttributeOrOperationRest):
Fix a missing place where were not setting the idlType.

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
  • bindings/scripts/test/JS/JSTestCEReactions.cpp:
  • bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
  • bindings/scripts/test/JS/JSTestCallback.cpp:
  • bindings/scripts/test/JS/JSTestCallbackFunction.cpp:
  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:
  • bindings/scripts/test/JS/JSTestException.cpp:
  • bindings/scripts/test/JS/JSTestGlobalObject.cpp:
  • bindings/scripts/test/JS/JSTestInterface.cpp:
  • bindings/scripts/test/JS/JSTestNode.cpp:
  • bindings/scripts/test/JS/JSTestNondeterministic.cpp:
  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/JS/JSTestObj.h:
  • bindings/scripts/test/JS/JSTestSerialization.cpp:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  • bindings/scripts/test/JS/JSTestTypedefs.cpp:
  • bindings/scripts/test/JS/JSattribute.cpp:

Update test results.

  • testing/TypeConversions.h:

(WebCore::TypeConversions::testUnion):
(WebCore::TypeConversions::setTestUnion):
(WebCore::TypeConversions::typeConversionsDictionarySequenceValue):
(WebCore::TypeConversions::typeConversionsDictionaryUnionValue):

  • testing/TypeConversions.idl:

Add a testUnion attribute, now that we can return unions to JS.

LayoutTests:

  • js/dom/webidl-type-mapping-expected.txt:
  • js/dom/webidl-type-mapping.html:
9:46 PM Changeset in webkit [207736] by Alan Bujtas
  • 3 edits
    2 deletes in trunk

Unreviewed, rolling out r207727.

broke 15 selection test cases.

Reverted changeset:

"Do not update selection rect on dirty lineboxes."
https://bugs.webkit.org/show_bug.cgi?id=163862
http://trac.webkit.org/changeset/207727

4:36 PM Changeset in webkit [207735] by Michael Catanzaro
  • 289 edits in trunk/Source/WebKit2

[GTK] Remove DO NOT MODIFY headers from files that are no longer autogenerated
https://bugs.webkit.org/show_bug.cgi?id=163867

Reviewed by Darin Adler.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAttr.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAttr.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAttrPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBlob.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBlob.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBlobPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCDATASection.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCDATASection.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCDATASectionPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRule.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRuleList.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRuleList.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRuleListPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRulePrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleDeclaration.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleDeclarationPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleSheet.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleSheetPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSValue.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSValuePrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterData.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterData.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterDataPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMComment.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMComment.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCommentPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMImplementation.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMImplementationPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelectionPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMTokenList.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMTokenList.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMTokenListPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindowPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindowUnstable.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragment.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragment.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragmentPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragmentUnstable.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentType.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentType.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentTypePrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentUnstable.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElementUnstable.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEvent.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEvent.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEventPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFile.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFile.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFileList.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFileList.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFileListPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFilePrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAppletElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAppletElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAppletElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBRElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBRElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBRElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBodyElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBodyElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBodyElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCollection.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCollection.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCollectionPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDListElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDListElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDListElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDirectoryElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDirectoryElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDirectoryElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDivElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDivElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDivElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDocument.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDocument.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDocumentPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElementUnstable.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFieldSetElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFieldSetElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFieldSetElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFontElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFontElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFontElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameSetElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameSetElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameSetElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHRElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHRElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHRElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadingElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadingElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadingElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHtmlElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHtmlElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHtmlElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLIFrameElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLIFrameElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLIFrameElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLabelElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLabelElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLabelElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLegendElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLegendElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLegendElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMapElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMapElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMapElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMarqueeElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMarqueeElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMarqueeElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMenuElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMenuElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMenuElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMetaElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMetaElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMetaElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLModElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLModElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLModElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptGroupElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptGroupElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptGroupElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionsCollection.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionsCollection.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionsCollectionPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParagraphElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParagraphElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParagraphElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParamElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParamElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParamElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPrivate.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLQuoteElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLQuoteElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLQuoteElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLStyleElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLStyleElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLStyleElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCaptionElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCaptionElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCaptionElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableColElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableColElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableColElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableRowElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableRowElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableRowElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableSectionElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableSectionElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableSectionElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTitleElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTitleElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTitleElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLUListElement.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLUListElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLUListElementPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyboardEvent.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyboardEvent.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyboardEventPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaList.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaListPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMouseEvent.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMouseEvent.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMouseEventPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNamedNodeMap.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNamedNodeMap.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNamedNodeMapPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNode.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeIterator.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeIterator.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeIteratorPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeList.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeList.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeListPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodePrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMProcessingInstruction.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMProcessingInstruction.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMProcessingInstructionPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRange.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRange.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRangePrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRangeUnstable.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheet.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheet.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheetList.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheetList.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheetListPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheetPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMText.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMText.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTreeWalker.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTreeWalker.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTreeWalkerPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUIEvent.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUIEvent.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUIEventPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWheelEvent.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWheelEvent.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWheelEventPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathExpression.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathExpression.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathExpressionPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathNSResolverPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathResult.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathResult.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathResultPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/webkitdom.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/webkitdomautocleanups.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/webkitdomdefines.h:
3:55 PM Changeset in webkit [207734] by Chris Dumez
  • 7 edits in trunk/Source

addEventListener() / removeEventListener() should use a union for last parameter
https://bugs.webkit.org/show_bug.cgi?id=163863

Reviewed by Darin Adler.

Source/WebCore:

addEventListener() / removeEventListener() should use a union for last parameter:

No new tests, no Web-exposed behavior change.

  • bindings/js/JSDOMConvert.h:
  • dom/EventTarget.cpp:

(WebCore::EventTarget::addEventListenerForBindings):
(WebCore::EventTarget::removeEventListenerForBindings):

  • dom/EventTarget.h:
  • dom/EventTarget.idl:

Source/WebKit/mac:

Cast BOOL to bool to help to compiler construct the new variant-type parameter.

  • DOM/DOMNode.mm:

(-[DOMNode addEventListener:listener:useCapture:]):
(-[DOMNode addEventListener:::]):
(-[DOMNode removeEventListener:listener:useCapture:]):
(-[DOMNode removeEventListener:::]):

3:38 PM Changeset in webkit [207733] by bshafiei@apple.com
  • 4 edits in tags/Safari-603.1.10.0.1/Source

Merged r207729. rdar://problem/28902292

3:37 PM Changeset in webkit [207732] by bshafiei@apple.com
  • 2 edits in tags/Safari-603.1.10.0.1/Source/WebKit2

Merged r207728. rdar://problem/28902292

3:36 PM Changeset in webkit [207731] by bshafiei@apple.com
  • 5 edits in tags/Safari-603.1.10.0.1/Source

Versioning.

3:31 PM Changeset in webkit [207730] by bshafiei@apple.com
  • 1 copy in tags/Safari-603.1.10.0.1

New tag.

1:04 PM Changeset in webkit [207729] by Chris Dumez
  • 4 edits in trunk/Source

Another unreviewed attempt to fix the WatchOS / TvOS build after r207585.
<rdar://problem/28902292>

Disable USE_CFURLCONNECTION on newer WatchOS / TvOS.

Source/WebKit2:

  • config.h:

Source/WTF:

  • wtf/Platform.h:
12:41 PM Changeset in webkit [207728] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

Unreviewed attempt to fix WatchOS / TvOS build after r207585.
<rdar://problem/28902292>

Enable NETWORK_SESSION on those platforms.

  • config.h:
9:27 AM Changeset in webkit [207727] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Do not update selection rect on dirty lineboxes.
https://bugs.webkit.org/show_bug.cgi?id=163862
<rdar://problem/28813156>

Reviewed by Simon Fraser.

Source/WebCore:

In addition to checking whether the renderer needs layout, we also need to check if its preferred
width is clean and stop computing the selection rects, if needed (while adding a renderer to the tree,
there's a transition phase where the parent's preferred width dirty bit is already set, but it does
not yet need layout).

Tests: fast/css-generated-content/dynamic-first-letter-selection-clear-crash.html

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::canUpdateSelectionOnRootLineBoxes):

LayoutTests:

  • fast/css-generated-content/dynamic-first-letter-selection-clear-crash-expected.txt: Added.
  • fast/css-generated-content/dynamic-first-letter-selection-clear-crash.html: Added.
12:23 AM Changeset in webkit [207726] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

ASSERTION FAILED: m_fonts in &WebCore::FontCascade::primaryFont
https://bugs.webkit.org/show_bug.cgi?id=163459

Reviewed by Darin Adler.

Source/WebCore:

The CSS Units and Values spec states that font-relative units, when used
in the font-size property, are resolved against the parent element. When
calc() is specified, we were trying to resolve them against the current
element, which is impossible because of the circular dependency. Instead,
we should resolve against the parent style the same way as when calc()
isn't specified.

Test: fast/text/font-size-calc.html

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyValueFontSize):

LayoutTests:

  • fast/text/font-size-calc-expected.txt: Added.
  • fast/text/font-size-calc.html: Added.
Note: See TracTimeline for information about the timeline view.