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

Timeline



Aug 6, 2015:

11:48 PM Changeset in webkit [188118] by zandobersek@gmail.com
  • 37 edits in trunk/Source/WebCore

Source/WebCore/crypto code should pass std::function<> objects through rvalue references
https://bugs.webkit.org/show_bug.cgi?id=147332

Reviewed by Anders Carlsson.

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

  • crypto/CryptoAlgorithm.cpp:

(WebCore::CryptoAlgorithm::encrypt):
(WebCore::CryptoAlgorithm::decrypt):
(WebCore::CryptoAlgorithm::sign):
(WebCore::CryptoAlgorithm::verify):
(WebCore::CryptoAlgorithm::digest):
(WebCore::CryptoAlgorithm::generateKey):
(WebCore::CryptoAlgorithm::deriveKey):
(WebCore::CryptoAlgorithm::deriveBits):
(WebCore::CryptoAlgorithm::importKey):
(WebCore::CryptoAlgorithm::encryptForWrapKey):
(WebCore::CryptoAlgorithm::decryptForUnwrapKey):

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

(WebCore::CryptoAlgorithmAES_CBC::encrypt):
(WebCore::CryptoAlgorithmAES_CBC::decrypt):
(WebCore::CryptoAlgorithmAES_CBC::generateKey):
(WebCore::CryptoAlgorithmAES_CBC::importKey):

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

(WebCore::CryptoAlgorithmAES_KW::encryptForWrapKey):
(WebCore::CryptoAlgorithmAES_KW::decryptForUnwrapKey):
(WebCore::CryptoAlgorithmAES_KW::generateKey):
(WebCore::CryptoAlgorithmAES_KW::importKey):

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

(WebCore::CryptoAlgorithmHMAC::sign):
(WebCore::CryptoAlgorithmHMAC::verify):
(WebCore::CryptoAlgorithmHMAC::generateKey):
(WebCore::CryptoAlgorithmHMAC::importKey):

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

(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::encrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::decrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::importKey):

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

(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):

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

(WebCore::CryptoAlgorithmRSA_OAEP::encrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::decrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::generateKey):
(WebCore::CryptoAlgorithmRSA_OAEP::importKey):

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

(WebCore::CryptoAlgorithmSHA1::digest):

  • crypto/algorithms/CryptoAlgorithmSHA1.h:
  • crypto/algorithms/CryptoAlgorithmSHA224.cpp:

(WebCore::CryptoAlgorithmSHA224::digest):

  • crypto/algorithms/CryptoAlgorithmSHA224.h:
  • crypto/algorithms/CryptoAlgorithmSHA256.cpp:

(WebCore::CryptoAlgorithmSHA256::digest):

  • crypto/algorithms/CryptoAlgorithmSHA256.h:
  • crypto/algorithms/CryptoAlgorithmSHA384.cpp:

(WebCore::CryptoAlgorithmSHA384::digest):

  • crypto/algorithms/CryptoAlgorithmSHA384.h:
  • crypto/algorithms/CryptoAlgorithmSHA512.cpp:

(WebCore::CryptoAlgorithmSHA512::digest):

  • crypto/algorithms/CryptoAlgorithmSHA512.h:
  • crypto/gnutls/CryptoAlgorithmAES_CBCGnuTLS.cpp:

(WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
(WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):

  • crypto/gnutls/CryptoAlgorithmAES_KWGnuTLS.cpp:

(WebCore::CryptoAlgorithmAES_KW::platformEncrypt):
(WebCore::CryptoAlgorithmAES_KW::platformDecrypt):

  • crypto/gnutls/CryptoAlgorithmHMACGnuTLS.cpp:

(WebCore::CryptoAlgorithmHMAC::platformSign):
(WebCore::CryptoAlgorithmHMAC::platformVerify):

  • crypto/gnutls/CryptoAlgorithmRSAES_PKCS1_v1_5GnuTLS.cpp:

(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):

  • crypto/gnutls/CryptoAlgorithmRSASSA_PKCS1_v1_5GnuTLS.cpp:

(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify):

  • crypto/gnutls/CryptoAlgorithmRSA_OAEPGnuTLS.cpp:

(WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):

  • crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:

(WebCore::transformAES_CBC):
(WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
(WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):

  • crypto/mac/CryptoAlgorithmAES_KWMac.cpp:

(WebCore::CryptoAlgorithmAES_KW::platformEncrypt):
(WebCore::CryptoAlgorithmAES_KW::platformDecrypt):

  • crypto/mac/CryptoAlgorithmHMACMac.cpp:

(WebCore::CryptoAlgorithmHMAC::platformSign):
(WebCore::CryptoAlgorithmHMAC::platformVerify):

  • crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp:

(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):

  • crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:

(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify):

  • crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp:

(WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):

11:17 PM Changeset in webkit [188117] by fpizlo@apple.com
  • 2 edits in trunk/Source/WTF

Unreviewed, work around assertions in Windows's std::atomic.

  • wtf/Atomics.h:

(WTF::Atomic::compareExchangeWeak):
(WTF::Atomic::compareExchangeStrong):

10:15 PM Changeset in webkit [188116] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix GTK clean build after r187997
https://bugs.webkit.org/show_bug.cgi?id=147723

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

  • CMakeLists.txt:

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

10:09 PM Changeset in webkit [188115] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

TextIndicator can have stale contentImage data and crash
https://bugs.webkit.org/show_bug.cgi?id=147770
-and corresponding-
rdar://problem/22181735

Reviewed by Tim Horton.

If there is no contentImage or contentImageWithHighlight, set them to
nullptr.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<TextIndicatorData>::decode):

9:21 PM Changeset in webkit [188114] by mmaxfield@apple.com
  • 4 edits in trunk/Source/WebCore

CSSSegmentedFontFace::fontRanges() does not handle duplicate fonts correctly
https://bugs.webkit.org/show_bug.cgi?id=147765

Reviewed by Filip Pizlo.

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

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

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

  • css/CSSSegmentedFontFace.cpp:

(WebCore::CSSSegmentedFontFace::fontRanges):

  • css/CSSSegmentedFontFace.h:
  • platform/graphics/FontCache.h:

(WebCore::FontDescriptionKeyHash::hash):
(WebCore::FontDescriptionKeyHash::equal):

9:17 PM Changeset in webkit [188113] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Unreviewed, reduce the duration of a Lock unit test. It was timing out.

  • TestWebKitAPI/Tests/WTF/Lock.cpp:

(TestWebKitAPI::TEST):

8:44 PM Changeset in webkit [188112] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Fixed all the builds after trying to fix the non-HAVE(LINK_PREVIEW) build.

  • UIProcess/ios/WKContentViewInteraction.mm:
8:41 PM Changeset in webkit [188111] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Fixed the non-HAVE(LINK_PREVIEW) build.

  • UIProcess/ios/WKContentViewInteraction.mm:
8:34 PM Changeset in webkit [188110] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.46-branch/Source

Versioning.

8:27 PM Changeset in webkit [188109] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

Cleanup action sheet only when long press is canceled (non ended).
https://bugs.webkit.org/show_bug.cgi?id=147766
rdar://problem/22181842

Reviewed by Tim Horton.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _longPressRecognized:]):

7:54 PM Changeset in webkit [188108] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.46.4

New tag.

7:51 PM Changeset in webkit [188107] by bshafiei@apple.com
  • 3 edits in branches/safari-601.1.46-branch/Source/WebKit2

Roll out r188053. rdar://problem/22128839

7:49 PM Changeset in webkit [188106] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.46-branch/Source/WebKit2

Roll out r188058. rdar://problem/22128839

7:08 PM Changeset in webkit [188105] by Yusuke Suzuki
  • 38 edits
    51 adds in trunk

Introduce get_by_id like IC into get_by_val when the given name is String or Symbol
https://bugs.webkit.org/show_bug.cgi?id=147480

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

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

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

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

  • bytecode/ByValInfo.h:

(JSC::ByValInfo::ByValInfo):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::getByValInfoMap):
(JSC::CodeBlock::addByValInfo):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::getByValInfo): Deleted.
(JSC::CodeBlock::setNumberOfByValInfos): Deleted.
(JSC::CodeBlock::numberOfByValInfos): Deleted.
(JSC::CodeBlock::byValInfo): Deleted.

  • bytecode/ExitKind.cpp:

(JSC::exitKindToString):

  • bytecode/ExitKind.h:
  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFor):
(JSC::GetByIdStatus::computeForStubInfo):
(JSC::GetByIdStatus::computeForStubInfoWithoutExitSiteFeedback):

  • bytecode/GetByIdStatus.h:
  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasUidOperand):
(JSC::DFG::Node::uidOperand):

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

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::SafeToExecuteEdge::operator()):
(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCheckIdent):
(JSC::DFG::SpeculativeJIT::speculateSymbol):
(JSC::DFG::SpeculativeJIT::speculate):

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

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGUseKind.cpp:

(WTF::printInternal):

  • dfg/DFGUseKind.h:

(JSC::DFG::typeFilterFor):
(JSC::DFG::isCell):

  • ftl/FTLAbstractHeapRepository.h:
  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::compileNode):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCheckIdent):
(JSC::FTL::DFG::LowerDFGToLLVM::lowSymbol):
(JSC::FTL::DFG::LowerDFGToLLVM::speculate):
(JSC::FTL::DFG::LowerDFGToLLVM::isNotSymbol):
(JSC::FTL::DFG::LowerDFGToLLVM::speculateSymbol):

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JIT.h:

(JSC::ByValCompilationInfo::ByValCompilationInfo):
(JSC::JIT::compileGetByValWithCachedId):

  • jit/JITInlines.h:

(JSC::JIT::callOperation):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_has_indexed_property):
(JSC::JIT::emitSlow_op_has_indexed_property):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_has_indexed_property):
(JSC::JIT::emitSlow_op_has_indexed_property):

  • jit/JITOperations.cpp:

(JSC::getByVal):

  • jit/JITOperations.h:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitGetByValWithCachedId):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitSlow_op_put_by_val):
(JSC::JIT::privateCompileGetByVal):
(JSC::JIT::privateCompileGetByValWithCachedId):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitGetByValWithCachedId):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitSlow_op_put_by_val):

  • runtime/Symbol.h:
  • tests/stress/get-by-val-with-string-constructor.js: Added.

(Hello):
(get Hello.prototype.generate):
(ok):

  • tests/stress/get-by-val-with-string-exit.js: Added.

(shouldBe):
(getByVal):
(getStr1):
(getStr2):

  • tests/stress/get-by-val-with-string-generated.js: Added.

(shouldBe):
(getByVal):
(getStr1):
(getStr2):

  • tests/stress/get-by-val-with-string-getter.js: Added.

(object.get hello):
(ok):

  • tests/stress/get-by-val-with-string.js: Added.

(shouldBe):
(getByVal):
(getStr1):
(getStr2):

  • tests/stress/get-by-val-with-symbol-constructor.js: Added.

(Hello):
(get Hello.prototype.generate):
(ok):

  • tests/stress/get-by-val-with-symbol-exit.js: Added.

(shouldBe):
(getByVal):
(getSym1):
(getSym2):

  • tests/stress/get-by-val-with-symbol-getter.js: Added.

(object.get hello):
(.get ok):

  • tests/stress/get-by-val-with-symbol.js: Added.

(shouldBe):
(getByVal):
(getSym1):
(getSym2):

LayoutTests:

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

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

(A):
(B):
(C):
(D):
(E):
(F):
(G):
(foo):

  • js/regress/script-tests/get-by-val-with-string-check-structure-elimination.js: Added.
  • js/regress/script-tests/get-by-val-with-string-proto-or-self.js: Added.

(foo):
(bar):
(Foo):

  • js/regress/script-tests/get-by-val-with-string-quadmorphic-check-structure-elimination-simple.js: Added.
  • js/regress/script-tests/get-by-val-with-string-self-or-proto.js: Added.

(foo):
(bar):
(Foo):

  • js/regress/script-tests/get-by-val-with-symbol-bimorphic-check-structure-elimination-simple.js: Added.
  • js/regress/script-tests/get-by-val-with-symbol-bimorphic-check-structure-elimination.js: Added.
  • js/regress/script-tests/get-by-val-with-symbol-chain-from-try-block.js: Added.

(A):
(B):
(C):
(D):
(E):
(F):
(G):
(foo):

  • js/regress/script-tests/get-by-val-with-symbol-check-structure-elimination.js: Added.
  • js/regress/script-tests/get-by-val-with-symbol-proto-or-self.js: Added.

(foo):
(bar):
(Foo):

  • js/regress/script-tests/get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple.js: Added.
  • js/regress/script-tests/get-by-val-with-symbol-self-or-proto.js: Added.

(foo):
(bar):
(Foo):

6:36 PM Changeset in webkit [188104] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Remove dead code from FontCache::createFontPlatformData()
https://bugs.webkit.org/show_bug.cgi?id=147762

Reviewed by Andy Estes.

No new tests because there is no behavior change.

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::FontCache::createFontPlatformData): Deleted.

6:29 PM Changeset in webkit [188103] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Revert part of my "build fix" in r188101.

  • CMakeLists.txt:

MockCDM was already conditionally added to WebCore_SOURCES, and that change causes dependency cycles when bug 147723 is fixed.

6:22 PM Changeset in webkit [188102] by Joseph Pecoraro
  • 2 edits in trunk/Tools

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

Reviewed by Alexey Proskuryakov.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):
Ensure throttling settings are disabled for tests for all ports, as
COCOA ports default to having these setting enabled. Note, there is
still other timer throttling not covered by these setting.

6:03 PM Changeset in webkit [188101] by achristensen@apple.com
  • 4 edits in trunk

[Win] CMake build fix after r188098.

.:

  • Source/cmake/OptionsWinCairo.cmake:

OptionsWindows.cmake uses WTF_PLATFORM_WIN_CAIRO now, so we need to set it before including OptionsWindows.

Source/WebCore:

  • CMakeLists.txt:

MockCDM is necessary for testing if ENCRYPTED_MEDIA_V2 is enabled.

5:49 PM Changeset in webkit [188100] by fpizlo@apple.com
  • 40 edits
    5 adds in trunk

Lightweight locks should be adaptive
https://bugs.webkit.org/show_bug.cgi?id=147545

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • heap/CopiedBlock.h:

(JSC::CopiedBlock::workListLock):

  • heap/CopiedBlockInlines.h:

(JSC::CopiedBlock::shouldReportLiveBytes):
(JSC::CopiedBlock::reportLiveBytes):

  • heap/CopiedSpace.h:

(JSC::CopiedSpace::CopiedGeneration::CopiedGeneration):

  • heap/CopiedSpaceInlines.h:

(JSC::CopiedSpace::recycleEvacuatedBlock):

  • heap/GCThreadSharedData.h:

(JSC::GCThreadSharedData::getNextBlocksToCopy):

  • heap/ListableHandler.h:

(JSC::ListableHandler::List::addThreadSafe):
(JSC::ListableHandler::List::addNotThreadSafe):

  • heap/SlotVisitorInlines.h:

(JSC::SlotVisitor::copyLater):

  • runtime/TypeProfilerLog.h:

Source/WebCore:

No new tests because no new behavior.

  • bindings/objc/WebScriptObject.mm:

(WebCore::getJSWrapper):
(WebCore::addJSWrapper):
(WebCore::removeJSWrapper):
(WebCore::removeJSWrapperIfRetainCountOne):

  • platform/ios/wak/WAKWindow.mm:

(-[WAKWindow setExposedScrollViewRect:]):
(-[WAKWindow exposedScrollViewRect]):

Source/WebKit2:

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::clearQueuedTouchEventsForPage):
(WebKit::EventDispatcher::getQueuedTouchEventsForPage):
(WebKit::EventDispatcher::touchEvent):
(WebKit::EventDispatcher::dispatchTouchEvents):

  • WebProcess/WebPage/EventDispatcher.h:
  • WebProcess/WebPage/ViewUpdateDispatcher.cpp:

(WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):
(WebKit::ViewUpdateDispatcher::dispatchVisibleContentRectUpdate):

  • WebProcess/WebPage/ViewUpdateDispatcher.h:

Source/WTF:

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

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

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

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

  • Lock+unlock on an uncontended no-op critical section: 2x slower than SpinLock and 3x faster than a system mutex.
  • Lock+unlock on a contended no-op critical section: 2x slower than SpinLock and 100x faster than a system mutex.
  • CPU time spent in lock() on a lock held for a while: same as system mutex, 90x less than a SpinLock.
  • Memory usage: sizeof(void*), so on 64-bit it's 8x less than a system mutex but 2x worse than a SpinLock.

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

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

  • WTF.vcxproj/WTF.vcxproj:
  • WTF.xcodeproj/project.pbxproj:
  • benchmarks: Added.
  • benchmarks/LockSpeedTest.cpp: Added.

(main):

  • wtf/CMakeLists.txt:
  • wtf/Lock.cpp: Added.

(WTF::LockBase::lockSlow):
(WTF::LockBase::unlockSlow):

  • wtf/Lock.h: Added.

(WTF::LockBase::lock):
(WTF::LockBase::unlock):
(WTF::LockBase::isHeld):
(WTF::Lock::Lock):

  • wtf/MetaAllocator.cpp:

(WTF::MetaAllocator::release):
(WTF::MetaAllocatorHandle::shrink):
(WTF::MetaAllocator::allocate):
(WTF::MetaAllocator::currentStatistics):
(WTF::MetaAllocator::addFreshFreeSpace):
(WTF::MetaAllocator::debugFreeSpaceSize):

  • wtf/MetaAllocator.h:
  • wtf/SpinLock.h:
  • wtf/ThreadingPthreads.cpp:
  • wtf/ThreadingWin.cpp:
  • wtf/text/AtomicString.cpp:
  • wtf/text/AtomicStringImpl.cpp:

(WTF::AtomicStringTableLocker::AtomicStringTableLocker):

Tools:

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/Lock.cpp: Added.

(TestWebKitAPI::runLockTest):
(TestWebKitAPI::TEST):

5:21 PM Changeset in webkit [188099] by commit-queue@webkit.org
  • 10 edits
    1 add in trunk/Source/JavaScriptCore

Parse the entire WebAssembly modules
https://bugs.webkit.org/show_bug.cgi?id=147393

Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-08-06
Reviewed by Geoffrey Garen.

Parse the entire WebAssembly modules from files produced by pack-asmjs
<https://github.com/WebAssembly/polyfill-prototype-1>. This patch can only
parse modules whose function definition section contains only functions that
have "return 0;" as their only statement. Parsing of any functions will be
implemented in a subsequent patch.

(JSC::JSWASMModule::destroy):

  • wasm/JSWASMModule.h:

(JSC::JSWASMModule::i32Constants):
(JSC::JSWASMModule::f32Constants):
(JSC::JSWASMModule::f64Constants):
(JSC::JSWASMModule::signatures):
(JSC::JSWASMModule::functionImports):
(JSC::JSWASMModule::functionImportSignatures):
(JSC::JSWASMModule::globalVariableTypes):
(JSC::JSWASMModule::functionDeclarations):
(JSC::JSWASMModule::functionPointerTables):

  • wasm/WASMFormat.h: Added.
  • wasm/WASMModuleParser.cpp:

(JSC::WASMModuleParser::parse):
(JSC::WASMModuleParser::parseModule):
(JSC::WASMModuleParser::parseConstantPoolSection):
(JSC::WASMModuleParser::parseSignatureSection):
(JSC::WASMModuleParser::parseFunctionImportSection):
(JSC::WASMModuleParser::parseGlobalSection):
(JSC::WASMModuleParser::parseFunctionDeclarationSection):
(JSC::WASMModuleParser::parseFunctionPointerTableSection):
(JSC::WASMModuleParser::parseFunctionDefinitionSection):
(JSC::WASMModuleParser::parseFunctionDefinition):
(JSC::WASMModuleParser::parseExportSection):

  • wasm/WASMModuleParser.h:
  • wasm/WASMReader.cpp:

(JSC::WASMReader::readUInt32):
(JSC::WASMReader::readCompactUInt32):
(JSC::WASMReader::readString):
(JSC::WASMReader::readType):
(JSC::WASMReader::readExpressionType):
(JSC::WASMReader::readExportFormat):
(JSC::WASMReader::readByte):
(JSC::WASMReader::readUnsignedInt32): Deleted.

  • wasm/WASMReader.h:
5:03 PM Changeset in webkit [188098] by achristensen@apple.com
  • 5 edits in trunk/Source

[Win] Enable all Windows features in CMake
https://bugs.webkit.org/show_bug.cgi?id=147744

Reviewed by Tim Horton.

  • PlatformWin.cmake:

Source/WebCore:

Add a file needed for enabling video.

Source/WebKit:

Add some include directories needed for the newly enabled features.

5:00 PM Changeset in webkit [188097] by mrajca@apple.com
  • 6 edits
    2 copies in trunk/Source/WebKit2

Media Session: notify focus manager clients when the playing state of the focused media element changes
https://bugs.webkit.org/show_bug.cgi?id=147745

Reviewed by Tim Horton.

Added plumbing to allow focus manager's clients to be notified when the focused Content media element begins
playing or is paused.

  • UIProcess/API/C/WKMediaSessionFocusManager.cpp:

(WKMediaSessionFocusManagerSetClient):

  • UIProcess/API/C/WKMediaSessionFocusManager.h:
  • UIProcess/WebMediaSessionFocusManager.cpp:

(WebKit::WebMediaSessionFocusManager::initializeClient):
(WebKit::WebMediaSessionFocusManager::mediaElementIsPlayingDidChange):

  • UIProcess/WebMediaSessionFocusManager.h:
  • UIProcess/WebMediaSessionFocusManagerClient.cpp:

(WebKit::WebMediaSessionFocusManagerClient::didChangePlaybackAttribute):

  • UIProcess/WebMediaSessionFocusManagerClient.h:
  • WebKit2.xcodeproj/project.pbxproj:
4:48 PM Changeset in webkit [188096] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit2

Make CMake usable on Mac.
https://bugs.webkit.org/show_bug.cgi?id=147756

Reviewed by Tim Horton.

  • PlatformMac.cmake:

DatabaseProcess_SOURCES needs something in order to not have errors when generating build systems from CMake.
This doesn't fix everything, but it can now be used to build jsc again.

4:48 PM Changeset in webkit [188095] by dburkart@apple.com
  • 11 edits in branches/safari-601.1-branch/Source/WebKit2

Merge r188011. rdar://problem/22055130

4:48 PM Changeset in webkit [188094] by dburkart@apple.com
  • 6 edits in branches/safari-601.1-branch/Source/WebKit/win

Merge r188005. rdar://problem/22059707

4:41 PM Changeset in webkit [188093] by Brent Fulgham
  • 2 edits in trunk/Websites/webkit.org

Correct a typo in the explanatory text.

  • demos/backdrop-filter/index.html:
4:40 PM Changeset in webkit [188092] by rniwa@webkit.org
  • 15 edits
    1 copy
    1 delete in trunk/Tools

http_server_driver and benchmark_builder should not be in run-benchmark's plan files
https://bugs.webkit.org/show_bug.cgi?id=147752

Reviewed by Chris Dumez.

Removed BenchmarkBuilderFactory since we have exactly one subclass of BenchmarkBuilder.

Also made HTTPServerDriverFactory instantiate the appropriate HTTP server based on the platform name instead of HTTP server name.
This allows us to remove --http-server-driver option from run-benchmark, which was added to support the HTTP server for iOS.

  • Scripts/webkitpy/benchmark_runner/benchmark_builder: Removed.
  • Scripts/webkitpy/benchmark_runner/benchmark_builder.py: Moved from benchmark_runner/benchmark_builder/generic_benchmark_builder.py.
  • Scripts/webkitpy/benchmark_runner/benchmark_builder/init.py: Removed.
  • Scripts/webkitpy/benchmark_runner/benchmark_builder/benchmark_builder_factory.py: Removed.
  • Scripts/webkitpy/benchmark_runner/benchmark_builder/generic_benchmark_builder.py: Moved to benchmark_runner/benchmark_builder.py.
  • Scripts/webkitpy/benchmark_runner/benchmark_runner.py:

(BenchmarkRunner.init): No longer takes http_server_driver_override as an argument since this is not handled by
HTTPServerDriverFactory taking the platform name as an argument.
(BenchmarkRunner.execute): Directly instantiate BenchmarkBuilder.

  • Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-cssquery.plan: Removed http_server_driver and benchmark_builder.
  • Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-dom.plan: Ditto.
  • Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-jslib.plan: Ditto.
  • Scripts/webkitpy/benchmark_runner/data/plans/jetstream.plan: Ditto.
  • Scripts/webkitpy/benchmark_runner/data/plans/jsbench.plan: Ditto.
  • Scripts/webkitpy/benchmark_runner/data/plans/kraken.plan: Ditto.
  • Scripts/webkitpy/benchmark_runner/data/plans/octane.plan: Ditto.
  • Scripts/webkitpy/benchmark_runner/data/plans/speedometer.plan: Ditto.
  • Scripts/webkitpy/benchmark_runner/data/plans/sunspider.plan: Ditto.
  • Scripts/webkitpy/benchmark_runner/http_server_driver/init.py:

(http_server_driver_loader): Register http server drivers via supported platform names instead of http server names.

  • Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver.py:

(HTTPServerDriver): Replaced name by platforms.

  • Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:

(SimpleHTTPServerDriver): Ditto.

  • Scripts/webkitpy/benchmark_runner/run_benchmark.py:

(parse_args): Removed --http-server-driver option.
(start): Ditto.

4:35 PM Changeset in webkit [188091] by dburkart@apple.com
  • 15 edits
    1 add in branches/safari-601.1-branch

Merge r187962. rdar://problem/21827815

4:35 PM Changeset in webkit [188090] by dburkart@apple.com
  • 7 edits in branches/safari-601.1-branch/Source/WebKit2

Merge r187764. rdar://problem/22077836

4:35 PM Changeset in webkit [188089] by andersca@apple.com
  • 8 edits
    2 moves in trunk/Source/WebCore

Rename SQLStatementBackend to SQLStatement
https://bugs.webkit.org/show_bug.cgi?id=147755

Reviewed by Geoffrey Garen.

  • CMakeLists.txt:
  • Modules/webdatabase/SQLStatement.h: Renamed from Source/WebCore/Modules/webdatabase/SQLStatementBackend.h.

(WebCore::SQLStatement::hasStatementCallback):
(WebCore::SQLStatement::hasStatementErrorCallback):

  • Modules/webdatabase/SQLStatementBackend.cpp: Removed.

(WebCore::SQLStatementBackend::SQLStatementBackend): Deleted.
(WebCore::SQLStatementBackend::~SQLStatementBackend): Deleted.
(WebCore::SQLStatementBackend::sqlError): Deleted.
(WebCore::SQLStatementBackend::sqlResultSet): Deleted.
(WebCore::SQLStatementBackend::execute): Deleted.
(WebCore::SQLStatementBackend::performCallback): Deleted.
(WebCore::SQLStatementBackend::setDatabaseDeletedError): Deleted.
(WebCore::SQLStatementBackend::setVersionMismatchedError): Deleted.
(WebCore::SQLStatementBackend::setFailureDueToQuota): Deleted.
(WebCore::SQLStatementBackend::clearFailureDueToQuota): Deleted.
(WebCore::SQLStatementBackend::lastExecutionFailedDueToQuota): Deleted.

  • Modules/webdatabase/SQLStatementBackend.h:

(WebCore::SQLStatementBackend::hasStatementCallback): Deleted.
(WebCore::SQLStatementBackend::hasStatementErrorCallback): Deleted.

  • Modules/webdatabase/SQLTransaction.cpp:

(WebCore::SQLTransaction::deliverStatementCallback):
(WebCore::SQLTransaction::executeSQL):

  • Modules/webdatabase/SQLTransactionBackend.cpp:

(WebCore::SQLTransactionBackend::currentStatement):
(WebCore::SQLTransactionBackend::enqueueStatementBackend):
(WebCore::SQLTransactionBackend::executeSQL):

  • Modules/webdatabase/SQLTransactionBackend.h:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
4:31 PM Changeset in webkit [188088] by mmaxfield@apple.com
  • 5 edits in trunk/Source/WebCore

Make FontDescriptionKey sensitive to FontFeatureSettings
https://bugs.webkit.org/show_bug.cgi?id=147751

Reviewed by Anders Carlsson.

Just like how FontDescription hashes should be sensitive to locale, they should
also be sensitive to font features.

This patch also fixes operator== for FontDescriptionKey, which was previously
comparing hashes for equality instead of the underlying data. Comparing hashes
for equality is useless inside hashmaps.

This is in preparation for implementing font-feature-settings.

No new tests because there is no behavior change.

  • platform/graphics/FontCache.cpp:

(WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
(WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue):
(WebCore::FontPlatformDataCacheKey::hashTableDeletedSize): Deleted.

  • platform/graphics/FontCache.h:

(WebCore::FontDescriptionKey::FontDescriptionKey):
(WebCore::FontDescriptionKey::operator==):
(WebCore::FontDescriptionKey::operator!=):
(WebCore::FontDescriptionKey::isHashTableDeletedValue):
(WebCore::FontDescriptionKey::computeHash):

  • platform/graphics/FontFeatureSettings.cpp:

(WebCore::FontFeature::hash):
(WebCore::FontFeatureSettings::hash):

  • platform/graphics/FontFeatureSettings.h:
4:31 PM Changeset in webkit [188087] by Brent Fulgham
  • 1 edit
    7 adds in trunk/Websites/webkit.org

Add an example of backdrop-filter.

  • demos/backdrop-filter: Added.
  • demos/backdrop-filter/dynamic_poster.jpg: Added.
  • demos/backdrop-filter/dynamic_source.m4v: Added.
  • demos/backdrop-filter/index.html: Added.
  • demos/backdrop-filter/inverted_color.jpg: Added.
  • demos/backdrop-filter/multiple.jpg: Added.
  • demos/backdrop-filter/simple_blur.jpg: Added.
4:25 PM Changeset in webkit [188086] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

The typedArrayLength function in FTLLowerDFGToLLVM is dead code.
https://bugs.webkit.org/show_bug.cgi?id=147749

Patch by Keith Miller <keith_miller@apple.com> on 2015-08-06
Reviewed by Filip Pizlo.

Removed dead code elimination. the TypedArray length is compiled in compileGetArrayLength()
thus no one calls this code.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::typedArrayLength): Deleted.

4:23 PM Changeset in webkit [188085] by commit-queue@webkit.org
  • 3 edits
    3 adds in trunk

Source/JavaScriptCore:
The JSONP parser incorrectly parsers -0 as +0.
https://bugs.webkit.org/show_bug.cgi?id=147590

Patch by Keith Miller <keith_miller@apple.com> on 2015-08-06
Reviewed by Michael Saboff.

In the LiteralParser we should use a double to store the accumulator for numerical tokens
rather than an int. Using an int means that -0 is, incorrectly, parsed as +0.

  • runtime/LiteralParser.cpp:

(JSC::LiteralParser<CharType>::Lexer::lexNumber):

LayoutTests:
The JSONP parser incorrectly parses -0 as +0.
https://bugs.webkit.org/show_bug.cgi?id=147590

Patch by Keith Miller <keith_miller@apple.com> on 2015-08-06
Reviewed by Michael Saboff.

A simple test that attempts loads a JSONP that sets a variable to 0.

  • js/regress/JSONP-negative-0-expected.txt: Added.
  • js/regress/JSONP-negative-0.html: Added.
  • js/regress/script-tests/JSONP-negative-0.js: Added.
4:22 PM Changeset in webkit [188084] by dburkart@apple.com
  • 3 edits in branches/safari-601.1-branch/LayoutTests

Merge r187964. rdar://problem/21870332

4:22 PM Changeset in webkit [188083] by dburkart@apple.com
  • 3 edits
    3 adds in branches/safari-601.1-branch

Merge r187935. rdar://problem/22097682

4:22 PM Changeset in webkit [188082] by dburkart@apple.com
  • 3 edits
    3 adds in branches/safari-601.1-branch

Merge r187930. rdar://problem/21870332

4:21 PM Changeset in webkit [188081] by andersca@apple.com
  • 13 edits
    2 deletes in trunk/Source/WebCore

Merge SQLStatement into SQLStatementBackend
https://bugs.webkit.org/show_bug.cgi?id=147754

Reviewed by Geoffrey Garen.

  • CMakeLists.txt:
  • Modules/webdatabase/Database.h:
  • Modules/webdatabase/SQLStatement.cpp: Removed.

(WebCore::SQLStatement::SQLStatement): Deleted.
(WebCore::SQLStatement::setBackend): Deleted.
(WebCore::SQLStatement::hasCallback): Deleted.
(WebCore::SQLStatement::hasErrorCallback): Deleted.
(WebCore::SQLStatement::performCallback): Deleted.

  • Modules/webdatabase/SQLStatement.h: Removed.
  • Modules/webdatabase/SQLStatementBackend.cpp:

(WebCore::SQLStatementBackend::SQLStatementBackend):
(WebCore::SQLStatementBackend::performCallback):
(WebCore::SQLStatementBackend::frontend): Deleted.

  • Modules/webdatabase/SQLStatementBackend.h:

(WebCore::SQLStatementBackend::hasStatementCallback):
(WebCore::SQLStatementBackend::hasStatementErrorCallback):

  • Modules/webdatabase/SQLTransaction.cpp:

(WebCore::SQLTransaction::deliverStatementCallback):
(WebCore::SQLTransaction::executeSQL):

  • Modules/webdatabase/SQLTransaction.h:
  • Modules/webdatabase/SQLTransactionBackend.cpp:

(WebCore::SQLTransactionBackend::currentStatement):
(WebCore::SQLTransactionBackend::executeSQL):

  • Modules/webdatabase/SQLTransactionBackend.h:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSSQLTransactionCustom.cpp:
4:15 PM Changeset in webkit [188080] by Brent Fulgham
  • 1 edit
    1 add in trunk/Websites/webkit.org

Add a poster image for the video.

  • blog-files/backdrop-filters/dynamic_poster.jpg: Added.
4:09 PM Changeset in webkit [188079] by dburkart@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebKit/mac

Merge r187910. rdar://problem/15779101

4:09 PM Changeset in webkit [188078] by dburkart@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebKit/win

Merge r187894. rdar://problem/15779101

4:09 PM Changeset in webkit [188077] by dburkart@apple.com
  • 4 edits in branches/safari-601.1-branch/Source/WebCore

Merge r187892. rdar://problem/21932187

4:09 PM Changeset in webkit [188076] by dburkart@apple.com
  • 44 edits
    5 adds in branches/safari-601.1-branch

Merge r187886. rdar://problem/15779101

4:08 PM Changeset in webkit [188075] by dburkart@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebCore

Merge r187693. rdar://problem/22047626

4:08 PM Changeset in webkit [188074] by dburkart@apple.com
  • 3 edits in branches/safari-601.1-branch

Merge r187622. rdar://problem/15779101

4:08 PM Changeset in webkit [188073] by dburkart@apple.com
  • 9 edits
    3 adds in branches/safari-601.1-branch

Merge r187620. rdar://problem/15779101

3:45 PM Changeset in webkit [188072] by msaboff@apple.com
  • 3 edits in branches/jsc-tailcall/Source/JavaScriptCore

jsc-tailcall: Stop saving and restoring all callee saves on vmEntry / exit for platforms with per function callee saves handling
https://bugs.webkit.org/show_bug.cgi?id=147747

Reviewed by Basile Clement.

Removed saving of callee save registers and materialization of special tag registers for
64 bit platforms.

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
3:41 PM Changeset in webkit [188071] by msaboff@apple.com
  • 22 edits in branches/jsc-tailcall/Source/JavaScriptCore

jsc-tailcall: Exceptions should properly restore callee save register contents during unwinding
https://bugs.webkit.org/show_bug.cgi?id=147639

Reviewed by Basile Clement.

Added handling of callee save register restoration to exception handling.
The basic flow is when an exception is thrown or one is recognized to have been
generated in C++ code, we save the current state of all callee save registers to
VM::calleeSaveRegistersBuffer. As we unwind looking for the corresponding catch,
we copy the callee saves from call frames to the same VM::calleeSaveRegistersBuffer.
This is done for all call frames on the stack up to but not including the call
frame that has the corresponding catch block. When we process the catch, we
restore the callee save registers with the contents of VM::calleeSaveRegistersBuffer.
If there isn't a catch, then handleUncaughtException will restore callee saves
before it returns back to the calling C++.

As part of this change, restructured callee save handling in OSR exit handlers so
that we always use the current values of the tag registers for boxing. Also
eliminated the writing out of undefined for the baseline's callee saves slots.

Eliminated callee saves registers as possible locals for various thunk generation
as the callee saves may not have been saved by the function calling the thunk.

Cleaned up the static RegisterSet's including added one for LLInt callee saves and
one to be used to allocate local registers not including the callee saves or other
special registers.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock): Set the initial callee saves to what the LLInt needs.

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compileExceptionHandlers):

  • interpreter/Interpreter.cpp:

(JSC::UnwindFunctor::operator()):
(JSC::UnwindFunctor::copyCalleeSavesToVMCalleeSavesBuffer):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::emitRestoreCalleeSaves):

  • jit/JIT.cpp:

(JSC::JIT::emitEnterOptimizationCheck):
(JSC::JIT::privateCompileExceptionHandlers):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_throw):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_throw):

  • jit/Repatch.cpp:

(JSC::generateByIdStub):

  • jit/ThunkGenerators.cpp:

(JSC::throwExceptionFromCallSlowPathGenerator):
(JSC::nativeForGenerator):

  • llint/LowLevelInterpreter32.asm:

(_llint_throw_from_slow_path_trampoline):

  • llint/LowLevelInterpreter64.asm:

(_llint_throw_from_slow_path_trampoline):

  • llint/LowLevelInterpreter.asm:

(copyCalleeSavesToVMCalleeSavesBuffer):
Copy callee saves register contents to VM::calleeSaveRegistersBuffer.

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::restoreCalleeSavesFromVMCalleeSavesBuffer):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_catch):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_catch):

  • llint/LowLevelInterpreter32.asm:

(_handleUncaughtException):
(_llint_op_catch):

  • llint/LowLevelInterpreter64.asm:

(_handleUncaughtException):
(_llint_op_catch):

  • llint/LowLevelInterpreter.asm:

(restoreCalleeSavesFromVMCalleeSavesBuffer):
Restore callee saves register contents from VM::calleeSaveRegistersBuffer.

  • dfg/DFGOSRExitCompiler32_64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOSRExitCompiler64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOSRExitCompilerCommon.cpp:

Restore callee saves from the DFG and save the appropriate ones for the baseline JIT.
Materialize the tag registers on 64 bit platforms.

(JSC::DFG::adjustAndJumpToTarget):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::copyCalleeSavesToVMCalleeSavesBuffer):
(JSC::AssemblyHelpers::copyCalleeSavesFromFrameToVMCalleeSavesBuffer):
(JSC::AssemblyHelpers::copyCalleeSavesFromFrameOrRegisterToVMCalleeSavesBuffer):

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::jumpToExceptionHandler):
(JSC::CCallHelpers::prepareForTailCallSlow):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emitSlow_op_loop_hint):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_put_by_id):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_put_by_id):

  • jit/RegisterSet.cpp:

(JSC::RegisterSet::specialRegisters):
(JSC::RegisterSet::nonTempRegisters):
(JSC::RegisterSet::calleeSaveRegisters):
(JSC::RegisterSet::llintCalleeSaveRegisters):
(JSC::RegisterSet::baselineCalleeSaveRegisters):
(JSC::RegisterSet::dfgCalleeSaveRegisters):
(JSC::RegisterSet::allVMCalleeSaveRegisters):
(JSC::RegisterSet::allGPRs):

  • jit/RegisterSet.h:

Added LLInt callee saves register set.
Updated the register set of used registers to include callee saves.

  • jit/GPRInfo.h:
  • llint/LowLevelInterpreter.asm:

(preserveCalleeSavesUsedByLLInt):
(restoreCalleeSavesUsedByLLInt):
Fixed numberOfLLIntBaselineCalleeSaveRegisters for X86-64 Windows.

  • llint/LowLevelInterpreter.asm:

(prologue): Moved callee save preservation to before we overwrite the PC callee save.

3:40 PM Changeset in webkit [188070] by bshafiei@apple.com
  • 3 edits in branches/safari-601.1.46-branch/Source/WebCore

Merged r188062. rdar://problem/22028179

3:38 PM Changeset in webkit [188069] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.46-branch/Source/WebCore

Merged r188051. rdar://problem/22028179

3:37 PM Changeset in webkit [188068] by Chris Dumez
  • 19 edits
    4 adds in trunk

Toggle GPS state based on page visibility to save battery
https://bugs.webkit.org/show_bug.cgi?id=147685

Reviewed by Benjamin Poulain.

Source/WebCore:

Toggle GPS state based on page visibility to save battery. Previously,
if the site you were viewing was watching your position and you
switched tab, the GPS would stay on. This was bad for battery life.

Tests: fast/dom/Geolocation/startUpdatingOnlyWhenPageVisible.html

fast/dom/Geolocation/stopUpdatingForHiddenPage.html

  • Modules/geolocation/GeolocationController.cpp:

(WebCore::GeolocationController::addObserver):
(WebCore::GeolocationController::viewStateDidChange):

Tools:

Add testRunner.isGeolocationProviderActive() test support function.

  • DumpRenderTree/TestRunner.cpp:

(isGeolocationProviderActiveCallback):
(TestRunner::staticFunctions):

  • DumpRenderTree/TestRunner.h:
  • DumpRenderTree/mac/MockGeolocationProvider.h:
  • DumpRenderTree/mac/MockGeolocationProvider.mm:

(-[MockGeolocationProvider isActive]):

  • DumpRenderTree/mac/TestRunnerMac.mm:

(TestRunner::isGeolocationProviderActive):

  • DumpRenderTree/win/TestRunnerWin.cpp:

(TestRunner::isGeolocationProviderActive):

  • WebKitTestRunner/GeolocationProviderMock.h:

(WTR::GeolocationProviderMock::isActive):

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::isGeolocationProviderActive):

  • WebKitTestRunner/InjectedBundle/InjectedBundle.h:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::isGeolocationProviderActive):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::isGeolocationProviderActive):

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

LayoutTests:

Add layout tests to check that the GeolocationClient starts and stops
updating when page visibility changes.

  • fast/dom/Geolocation/startUpdatingOnlyWhenPageVisible-expected.txt: Added.
  • fast/dom/Geolocation/startUpdatingOnlyWhenPageVisible.html: Added.
  • fast/dom/Geolocation/stopUpdatingForHiddenPage-expected.txt: Added.
  • fast/dom/Geolocation/stopUpdatingForHiddenPage.html: Added.
3:36 PM Changeset in webkit [188067] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Structures used for tryGetConstantProperty() should be registered first
https://bugs.webkit.org/show_bug.cgi?id=147750

Reviewed by Saam Barati and Michael Saboff.

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::tryGetConstantProperty): Add an assertion to that effect. This should catch the bug sooner.

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::addStructureSet): Register structures when we make a structure set. That ensures that we won't call tryGetConstantProperty() on a structure that hasn't been registered yet.

  • dfg/DFGStructureRegistrationPhase.cpp:

(JSC::DFG::StructureRegistrationPhase::run): Don't register structure sets here anymore. Registering them before we get here means there is no chance of the code being DCE'd before the structures get registered. It also enables the tryGetConstantProperty() assertion, since that code runs before StructureRegisterationPhase.
(JSC::DFG::StructureRegistrationPhase::registerStructures):
(JSC::DFG::StructureRegistrationPhase::registerStructure):
(JSC::DFG::StructureRegistrationPhase::assertAreRegistered):
(JSC::DFG::StructureRegistrationPhase::assertIsRegistered):
(JSC::DFG::performStructureRegistration):

3:32 PM Changeset in webkit [188066] by andersca@apple.com
  • 5 edits in trunk/Source/WebCore

SQLStatementBackend doesn't need to be refcounted
https://bugs.webkit.org/show_bug.cgi?id=147748

Reviewed by Geoffrey Garen.

There's no shared ownership of SQLStatementBackend so we can just use std::unique_ptr.

  • Modules/webdatabase/SQLStatementBackend.cpp:

(WebCore::SQLStatementBackend::create): Deleted.

  • Modules/webdatabase/SQLStatementBackend.h:
  • Modules/webdatabase/SQLTransactionBackend.cpp:

(WebCore::SQLTransactionBackend::enqueueStatementBackend):
(WebCore::SQLTransactionBackend::executeSQL):

  • Modules/webdatabase/SQLTransactionBackend.h:
3:23 PM Changeset in webkit [188065] by rniwa@webkit.org
  • 8 edits
    2 adds in trunk/Tools

Automate JSBench with run-benchmark
https://bugs.webkit.org/show_bug.cgi?id=147716

Reviewed by Chris Dumez.

Added JSBench plan to run-benchmark.

  • Scripts/webkitpy/benchmark_runner/benchmark_builder/generic_benchmark_builder.py:

(GenericBenchmarkBuilder.prepare): Pass in the archive type to _fetch_remote_archive.
(GenericBenchmarkBuilder._fetch_remote_archive): Added the support for extracting files from tar.gz in addition to zip.

  • Scripts/webkitpy/benchmark_runner/data/patches/Dromaeo.patch: Fixed the coding style.
  • Scripts/webkitpy/benchmark_runner/data/patches/JSBench.patch: Added.
  • Scripts/webkitpy/benchmark_runner/data/patches/JetStream.patch: Fixed the coding style.
  • Scripts/webkitpy/benchmark_runner/data/patches/Kraken.patch: Ditto.
  • Scripts/webkitpy/benchmark_runner/data/patches/Octane.patch: Ditto.
  • Scripts/webkitpy/benchmark_runner/data/patches/SunSpider.patch: Ditto.
  • Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-cssquery.plan: Specified the archive type.
  • Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-dom.plan: Specified the archive type.
  • Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-jslib.plan: Ditto.
  • Scripts/webkitpy/benchmark_runner/data/plans/jetstream.plan: Fixed the coding style.
  • Scripts/webkitpy/benchmark_runner/data/plans/jsbench.plan: Added.
  • Scripts/webkitpy/benchmark_runner/data/plans/kraken.plan: Specified the archive type.
  • Scripts/webkitpy/benchmark_runner/data/plans/octane.plan: Ditto.
3:16 PM Changeset in webkit [188064] by Brent Fulgham
  • 1 edit
    3 adds in trunk/Websites/webkit.org

Add more media control examples.

  • blog-files/backdrop-filters/dynamic_backdrop.m4v: Added.
  • blog-files/backdrop-filters/Media_Controls_Complete_2x.jpg: Added.
  • blog-files/backdrop-filters/Media_Controls_Complete_2x.jpg: Added.
2:38 PM Changeset in webkit [188063] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Crashes when calling swizzled setNeedsDisplayInRect: on heartbeat thread
https://bugs.webkit.org/show_bug.cgi?id=147746
rdar://problem/18698271

Reviewed by Dan Bernstein.

Back off if someone is calling our swizzled setNeedsDisplayInRect on a non-main thread.

  • WebView/WebHTMLView.mm:

(setNeedsDisplayInRect):

2:36 PM Changeset in webkit [188062] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

Do not enforce "content-disposition: attachment" sandbox restrictions on a MediaDocument
https://bugs.webkit.org/show_bug.cgi?id=147734
rdar://problem/22028179

Reviewed by Andy Estes.

Test to follow, see https://bugs.webkit.org/show_bug.cgi?id=147735

  • dom/Document.cpp:

(WebCore::Document::initSecurityContext): Use applyContentDispositionAttachmentSandbox

instead of setting sandbox flags directly.

(WebCore::Document::shouldEnforceContentDispositionAttachmentSandbox): Don't special

case MediaDocument.

(WebCore::Document::applyContentDispositionAttachmentSandbox): Apply sandbox flags

according to document type.

  • dom/Document.h:
2:23 PM Changeset in webkit [188061] by andersca@apple.com
  • 10 edits
    2 deletes in trunk/Source/WebCore

Get rid of DatabaseBackendBase
https://bugs.webkit.org/show_bug.cgi?id=147733

Reviewed by Geoffrey Garen.

  • CMakeLists.txt:
  • Modules/webdatabase/Database.cpp:

(WebCore::Database::Database):
(WebCore::DoneCreatingDatabaseOnExitCaller::DoneCreatingDatabaseOnExitCaller):
(WebCore::DoneCreatingDatabaseOnExitCaller::~DoneCreatingDatabaseOnExitCaller):

  • Modules/webdatabase/Database.h:
  • Modules/webdatabase/DatabaseBackendBase.cpp: Removed.

(WebCore::DatabaseBackendBase::DatabaseBackendBase): Deleted.
(WebCore::DatabaseBackendBase::~DatabaseBackendBase): Deleted.

  • Modules/webdatabase/DatabaseBackendBase.h: Removed.
  • Modules/webdatabase/DatabaseManager.cpp:
  • Modules/webdatabase/DatabaseManager.h:
  • Modules/webdatabase/DatabaseTracker.cpp:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
2:23 PM Changeset in webkit [188060] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.46-branch/Source/WebKit2

Merged r188058. rdar://problem/22128839

2:17 PM Changeset in webkit [188059] by commit-queue@webkit.org
  • 139 edits
    10 copies
    1 move
    5 adds
    1 delete in trunk/LayoutTests

Web Inspector: move http/tests/inspector-protocol/ contents to http/tests/inspector/
https://bugs.webkit.org/show_bug.cgi?id=147739

Patch by Brian Burg <BJ Burg> on 2015-08-06
Reviewed by Timothy Hatcher.

Start merging inspector-protocol/ directory into inspector/, starting with http tests.

This patch puts the few http tests into their own domain directories. Files related
to the test harness have been moved to the appropriate resources/ directory.
Update all inspector tests to the new paths.

Lastly, rename InspectorTest.js and protocol-test.html to ProtocolTestStub, to make
it obvious that these files are only used by the protocol test harness.

  • http/tests/inspector/console/access-inspected-object-expected.txt: Renamed from LayoutTests/http/tests/inspector-protocol/access-inspected-object-expected.txt.
  • http/tests/inspector/console/access-inspected-object.html: Renamed from LayoutTests/http/tests/inspector-protocol/access-inspected-object.html.
  • http/tests/inspector/css/bad-mime-type.html:
  • http/tests/inspector/dom/resources/InspectorDOMListener.js: Renamed from LayoutTests/http/tests/inspector-protocol/resources/InspectorDOMListener.js.
  • http/tests/inspector/page/loading-iframe-document-node-expected.txt: Renamed from LayoutTests/http/tests/inspector-protocol/loading-iframe-document-node-expected.txt.
  • http/tests/inspector/page/loading-iframe-document-node.html: Renamed from LayoutTests/http/tests/inspector-protocol/loading-iframe-document-node.html.
  • http/tests/inspector/page/resources/slow-test-page.html: Renamed from LayoutTests/http/tests/inspector-protocol/resources/slow-test-page.html.
  • http/tests/inspector/page/resources/test-page.html: Renamed from LayoutTests/http/tests/inspector-protocol/resources/test-page.html.
  • http/tests/inspector/replay/document-last-modified-fallback-value.html:
  • http/tests/inspector/resources/ProtocolTestStub.html: Renamed from LayoutTests/http/tests/inspector-protocol/resources/protocol-test.html.
  • http/tests/inspector/resources/ProtocolTestStub.js: Renamed from LayoutTests/http/tests/inspector-protocol/resources/InspectorTest.js.
  • http/tests/inspector/resources/inspector-test.js: Renamed from LayoutTests/http/tests/inspector/inspector-test.js.
  • http/tests/inspector/resources/protocol-test.js: Renamed from LayoutTests/http/tests/inspector-protocol/resources/protocol-test.js.
  • inspector-protocol/async-test-suite.html:
  • inspector-protocol/console/console-message.html:
  • inspector-protocol/console/css-source-locations.html: Fix references to console helpers.
  • inspector-protocol/console/js-source-locations.html:
  • inspector-protocol/console/x-frame-options-message.html:
  • inspector-protocol/css/getSupportedCSSProperties.html:
  • inspector-protocol/debugger/breakpoint-action-detach.html:
  • inspector-protocol/debugger/breakpoint-action-with-exception.html:
  • inspector-protocol/debugger/breakpoint-condition-detach.html:
  • inspector-protocol/debugger/breakpoint-condition-with-bad-script.html:
  • inspector-protocol/debugger/breakpoint-condition-with-exception.html:
  • inspector-protocol/debugger/breakpoint-eval-with-exception.html:
  • inspector-protocol/debugger/breakpoint-inside-conditons-and-actions.html:
  • inspector-protocol/debugger/call-frame-function-name.html:
  • inspector-protocol/debugger/call-frame-this-host.html:
  • inspector-protocol/debugger/call-frame-this-nonstrict.html:
  • inspector-protocol/debugger/call-frame-this-strict.html:
  • inspector-protocol/debugger/debugger-statement.html:
  • inspector-protocol/debugger/didSampleProbe-multiple-probes.html:
  • inspector-protocol/debugger/hit-breakpoint-from-console.html:
  • inspector-protocol/debugger/nested-inspectors.html:
  • inspector-protocol/debugger/pause-dedicated-worker.html:
  • inspector-protocol/debugger/pause-on-assert.html:
  • inspector-protocol/debugger/regress-133182.html:
  • inspector-protocol/debugger/removeBreakpoint.html:
  • inspector-protocol/debugger/searchInContent-linebreaks.html:
  • inspector-protocol/debugger/setBreakpoint-actions.html:
  • inspector-protocol/debugger/setBreakpoint-autoContinue.html:
  • inspector-protocol/debugger/setBreakpoint-column.html:
  • inspector-protocol/debugger/setBreakpoint-condition.html:
  • inspector-protocol/debugger/setBreakpoint-dfg-and-modify-local.html:
  • inspector-protocol/debugger/setBreakpoint-dfg-callee-and-examine-dfg-local.html:
  • inspector-protocol/debugger/setBreakpoint-dfg.html:
  • inspector-protocol/debugger/setBreakpoint-options-exception.html:
  • inspector-protocol/debugger/setBreakpoint.html:
  • inspector-protocol/debugger/setBreakpointByUrl-sourceURL.html:
  • inspector-protocol/debugger/setPauseOnExceptions-all.html:
  • inspector-protocol/debugger/setPauseOnExceptions-none.html:
  • inspector-protocol/debugger/setPauseOnExceptions-uncaught.html:
  • inspector-protocol/debugger/setVariableValue.html:
  • inspector-protocol/debugger/terminate-dedicated-worker-while-paused.html:
  • inspector-protocol/dom-debugger/node-removed.html:
  • inspector-protocol/dom/dom-remove-events.html:
  • inspector-protocol/dom/dom-search-crash.html:
  • inspector-protocol/dom/dom-search-with-context.html:
  • inspector-protocol/dom/dom-search.html:
  • inspector-protocol/dom/focus.html:
  • inspector-protocol/dom/getAccessibilityPropertiesForNode.html:
  • inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html:
  • inspector-protocol/dom/getAccessibilityPropertiesForNode_mouseEventNodeId.html:
  • inspector-protocol/dom/highlight-flow-with-no-region.html:
  • inspector-protocol/dom/remove-multiple-nodes.html:
  • inspector-protocol/dom/request-child-nodes-depth.html:
  • inspector-protocol/layers/layers-anonymous.html:
  • inspector-protocol/layers/layers-blending-compositing-reasons.html:
  • inspector-protocol/layers/layers-compositing-reasons.html:
  • inspector-protocol/layers/layers-for-node.html:
  • inspector-protocol/layers/layers-generated-content.html:
  • inspector-protocol/layers/layers-reflected-content.html:
  • inspector-protocol/page/archive.html:
  • inspector-protocol/page/frameScheduledNavigation.html:
  • inspector-protocol/page/frameStartedLoading.html:
  • inspector-protocol/page/javascriptDialogEvents.html:
  • inspector-protocol/page/setEmulatedMedia.html:
  • inspector-protocol/runtime/getProperties.html:
  • inspector-protocol/sync-test-suite.html:
  • inspector/console/command-line-api.html:
  • inspector/console/console-api.html:
  • inspector/console/console-table.html:
  • inspector/css/get-system-fonts.html:
  • inspector/css/matched-style-properties.html:
  • inspector/css/modify-rule-selector.html:
  • inspector/css/pseudo-element-matches-for-pseudo-element-node.html:
  • inspector/css/pseudo-element-matches.html:
  • inspector/css/selector-dynamic-specificity.html:
  • inspector/css/selector-specificity.html:
  • inspector/css/stylesheet-with-mutations.html:
  • inspector/debugger/break-on-exception-catch.html:
  • inspector/debugger/break-on-exception-finally.html:
  • inspector/debugger/break-on-exception-native.html:
  • inspector/debugger/break-on-exception-throw-in-promise-rethrow-in-catch.html:
  • inspector/debugger/break-on-exception-throw-in-promise-then-with-catch.html:
  • inspector/debugger/break-on-exception-throw-in-promise-then.html:
  • inspector/debugger/break-on-exception-throw-in-promise-with-catch.html:
  • inspector/debugger/break-on-exception-throw-in-promise.html:
  • inspector/debugger/break-on-exception-window-onerror.html:
  • inspector/debugger/break-on-exception.html:
  • inspector/debugger/break-on-uncaught-exception-catch.html:
  • inspector/debugger/break-on-uncaught-exception-finally.html:
  • inspector/debugger/break-on-uncaught-exception-native.html:
  • inspector/debugger/break-on-uncaught-exception-throw-in-promise-rethrow-in-catch.html:
  • inspector/debugger/break-on-uncaught-exception-throw-in-promise-then-with-catch.html:
  • inspector/debugger/break-on-uncaught-exception-throw-in-promise-then.html:
  • inspector/debugger/break-on-uncaught-exception-throw-in-promise-with-catch.html:
  • inspector/debugger/break-on-uncaught-exception-throw-in-promise.html:
  • inspector/debugger/break-on-uncaught-exception-window-onerror.html:
  • inspector/debugger/break-on-uncaught-exception.html:
  • inspector/debugger/breakpoint-action-eval.html:
  • inspector/debugger/breakpoint-columns.html:
  • inspector/debugger/breakpoint-scope.html:
  • inspector/debugger/command-line-api-exception-nested-catch.html:
  • inspector/debugger/command-line-api-exception.html:
  • inspector/debugger/js-stacktrace.html:
  • inspector/debugger/pause-reason.html:
  • inspector/debugger/probe-manager-add-remove-actions.html:
  • inspector/debugger/search-scripts-expected.txt:
  • inspector/debugger/search-scripts.html:
  • inspector/dom/content-flow-content-nodes.html:
  • inspector/dom/content-flow-content-removal.html:
  • inspector/dom/content-flow-list.html:
  • inspector/dom/content-node-region-info.html:
  • inspector/dom/highlight-shape-outside-margin.html:
  • inspector/dom/highlight-shape-outside.html:
  • inspector/dom/highlightSelector.html:
  • inspector/dom/pseudo-element-dynamic.html:
  • inspector/dom/pseudo-element-static.html:
  • inspector/dom/template-content.html:
  • inspector/event-listener-set.html:
  • inspector/event-listener.html:
  • inspector/model/parse-script-syntax-tree.html:
  • inspector/model/remote-object-get-properties.html:
  • inspector/model/remote-object-weak-collection.html:
  • inspector/model/remote-object.html:
  • inspector/page/main-frame-resource.html:
  • inspector/protocol-promise-result.html:
  • inspector/replay/javascript-date-now.html:
  • inspector/replay/javascript-random-seed.html:
  • inspector/replay/window-navigator-plugins-memoized.html:
  • inspector/test-harness-trivially-works.html:
  • inspector/timeline/debugger-paused-while-recording.html:
  • inspector/timeline/exception-in-injected-script-while-recording.html:
  • inspector/timeline/recording-start-stop-timestamps.html:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
2:03 PM Changeset in webkit [188058] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

Build fix for iOS after http://trac.webkit.org/changeset/188053.

Unreviewed.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _registerPreview]):

1:53 PM Changeset in webkit [188057] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Add comment to CSSParserString
https://bugs.webkit.org/show_bug.cgi?id=147724

Reviewed by Dean Jackson.

No new tests because there is no behavior change.

  • css/CSSParserValues.h:
1:45 PM Changeset in webkit [188056] by mmaxfield@apple.com
  • 8 edits in trunk

Font feature settings comparisons are order-dependent and case-dependent
https://bugs.webkit.org/show_bug.cgi?id=147719

Reviewed by Benjamin Poulain.

Source/WebCore:

We should make our settings vector order-independent and case-independent.

Test: css3/font-feature-settings-parsing.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseFontFeatureTag):

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertFontFeatureSettings):

  • platform/graphics/FontFeatureSettings.cpp:

(WebCore::FontFeature::FontFeature):
(WebCore::FontFeature::operator==):
(WebCore::FontFeatureSettings::FontFeatureSettings):

  • platform/graphics/FontFeatureSettings.h:

(WebCore::FontFeature::FontFeature):
(WebCore::FontFeature::operator==):
(WebCore::FontFeature::operator<):
(WebCore::FontFeatureSettings::insert):
(WebCore::FontFeatureSettings::FontFeatureSettings):
(WebCore::FontFeatureSettings::append): Deleted.

LayoutTests:

Make the test insensitive to order and case.

  • css3/font-feature-settings-parsing-expected.txt:
  • css3/font-feature-settings-parsing.html:
1:40 PM Changeset in webkit [188055] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

AX: AXLoadComplete that comes before AX API access won't fire
https://bugs.webkit.org/show_bug.cgi?id=147737

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

Treat setEnhancedUserInterfaceAccessibility() as AX API access and if true,
enableAccessibility().

Source/WebCore:

Test: accessibility/mac/loaded-notification.html

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility):

LayoutTests:

  • accessibility/mac/loaded-notification-expected.txt: Added.
  • accessibility/mac/loaded-notification.html: Added.
1:33 PM Changeset in webkit [188054] by bshafiei@apple.com
  • 3 edits in branches/safari-601.1.46-branch/Source/WebKit2

Merged r188053. rdar://problem/22128839

1:14 PM Changeset in webkit [188053] by enrica@apple.com
  • 3 edits in trunk/Source/WebKit2

Allow long press to cancel link preview.
https://bugs.webkit.org/show_bug.cgi?id=147743
rdar://problem/22128839

Reviewed by Tim Horton.

We should be able to show the context menu at the beginnig of link preview.

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _removeDefaultGestureRecognizers]):
(-[WKContentView _addDefaultGestureRecognizers]):
(-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
(-[WKContentView _longPressRecognized:]):
(-[WKContentView _singleTapRecognized:]):
(-[WKContentView _registerPreview]):
(-[WKContentView _unregisterPreview]):

12:48 PM Changeset in webkit [188052] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.46-branch/Source/WebCore

Merged r187693. rdar://problem/22047626

11:45 AM Changeset in webkit [188051] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

Do not enforce "content-disposition: attachment" sandbox restrictions on a MediaDocument
https://bugs.webkit.org/show_bug.cgi?id=147734
rdar://problem/22028179

Reviewed by Dean Jackson.

Test to follow, see https://bugs.webkit.org/show_bug.cgi?id=147735

  • dom/Document.cpp:

(WebCore::Document::shouldEnforceContentDispositionAttachmentSandbox): Return

early if the Document is a MediaDocument.

11:35 AM Changeset in webkit [188050] by Yusuke Suzuki
  • 2 edits in trunk/Tools

Pass-through the undefined options in run-jsc
https://bugs.webkit.org/show_bug.cgi?id=147717

Undefined options in run-jsc is just passed to the actual jsc shell.
We can execute Tools/Scripts/run-jsc -d.

Reviewed by Csaba Osztrogonác.

  • Scripts/run-jsc:
11:30 AM Changeset in webkit [188049] by mrajca@apple.com
  • 2 edits in trunk/Source/WebCore

Media Session: remove media elements from the ID <-> element map on destruction
https://bugs.webkit.org/show_bug.cgi?id=147707

Reviewed by Eric Carlson.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::~HTMLMediaElement):

11:21 AM Changeset in webkit [188048] by mrajca@apple.com
  • 5 edits in trunk/Source/WebKit2

Media Session: rename isFocusedContentMediaElementPaused and get rid of callback
https://bugs.webkit.org/show_bug.cgi?id=147726

Reviewed by Simon Fraser.

  • isFocusedContentMediaElementPaused should be renamed to isFocusedContentMediaElementPlaying to match recent refactoring work.
  • isFocusedContentMediaElementPlaying itself does not need a callback anymore because the value can be returned directly.
  • UIProcess/API/C/WKMediaSessionFocusManager.cpp:

(WKMediaSessionFocusManagerIsFocusedContentMediaElementPlaying): Removed callback and renamed from...
(WKMediaSessionFocusManagerIsFocusedContentMediaElementPaused): Deleted.

  • UIProcess/API/C/WKMediaSessionFocusManager.h:
  • UIProcess/WebMediaSessionFocusManager.cpp:

(WebKit::WebMediaSessionFocusManager::isFocusedContentMediaElementPlaying): Removed callback and renamed from...
(WebKit::WebMediaSessionFocusManager::isFocusedContentMediaElementPaused): Deleted.

  • UIProcess/WebMediaSessionFocusManager.h:
11:16 AM Changeset in webkit [188047] by Brent Fulgham
  • 1 edit
    2 adds in trunk/Websites/webkit.org

Add two more files for a future blog post.

  • blog-files/backdrop-filters/Media_Controls_1x.jpg: Added.
  • blog-files/backdrop-filters/Media_Controls_2x.jpg: Added.
10:58 AM Changeset in webkit [188046] by Gyuyoung Kim
  • 3 edits in trunk/Source/WebCore

[CoordinatedGraphics] Remove unused functions in Coordinated TiledBackingStore
https://bugs.webkit.org/show_bug.cgi?id=147621

Reviewed by Csaba Osztrogonác.

  • platform/graphics/texmap/coordinated/TiledBackingStore.cpp: Remove setTileSize() and tileSize().

(WebCore::TiledBackingStore::setTileSize):

10:55 AM Changeset in webkit [188045] by andersca@apple.com
  • 5 edits in trunk/Source/WebCore

Move the last remnants of DatabaseBackendBase to Database
https://bugs.webkit.org/show_bug.cgi?id=147730

Reviewed by Tim Horton.

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::Database):
(WebCore::Database::performOpenAndVerify):

  • Modules/webdatabase/Database.h:
  • Modules/webdatabase/DatabaseBackendBase.cpp:

(WebCore::DatabaseBackendBase::DatabaseBackendBase):

  • Modules/webdatabase/DatabaseBackendBase.h:

(WebCore::DatabaseBackendBase::databaseContext): Deleted.
(WebCore::DatabaseBackendBase::setFrontend): Deleted.

10:44 AM Changeset in webkit [188044] by beidson@apple.com
  • 1 edit
    5 adds in branches/safari-600.8-branch/LayoutTests

Re-baseline test for WK1 on this branch

Collaboration of Brady and Alexey.

  • platform/mac-wk1/http: Added.
  • platform/mac-wk1/http/tests: Added.
  • platform/mac-wk1/http/tests/misc: Added.
  • platform/mac-wk1/http/tests/misc/authentication-redirect-3: Added.
  • platform/mac-wk1/http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials-expected.txt: Added.
10:30 AM Changeset in webkit [188043] by bshafiei@apple.com
  • 7 edits in branches/safari-601.1.46-branch/Source/WebKit2

Merged r186849. rdar://problem/22045047

9:52 AM Changeset in webkit [188042] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.46-branch/Source

Versioning.

9:36 AM Changeset in webkit [188041] by achristensen@apple.com
  • 4 edits in trunk/Source/WebCore

Fix build without ENABLE(VIDEO) after r188030.

  • dom/Document.h:
  • html/HTMLMediaElement.cpp:
  • html/HTMLMediaElement.h:

Move definition of HTMLMediaElementInvalidID to Document.h so it can be used outside of ENABLE(VIDEO) macros.

9:24 AM Changeset in webkit [188040] by commit-queue@webkit.org
  • 6 edits in trunk/Source/JavaScriptCore

Remove UnspecifiedBoolType from JSC
https://bugs.webkit.org/show_bug.cgi?id=147597

Patch by Keith Miller <keith_miller@apple.com> on 2015-08-06
Reviewed by Mark Lam.

We were using the safe bool pattern in the code base for implicit casting to booleans.
With C++11 this is no longer necessary and we can instead create an operator bool.

  • API/JSRetainPtr.h:

(JSRetainPtr::operator bool):
(JSRetainPtr::operator UnspecifiedBoolType): Deleted.

  • dfg/DFGEdge.h:

(JSC::DFG::Edge::operator bool):
(JSC::DFG::Edge::operator UnspecifiedBoolType*): Deleted.

  • dfg/DFGIntegerRangeOptimizationPhase.cpp:
  • heap/Weak.h:
  • heap/WeakInlines.h:

(JSC::bool):
(JSC::UnspecifiedBoolType): Deleted.

5:31 AM Changeset in webkit [188039] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Skip GTK+ test /webkit2/WebKitWebView/submit-form.

It's flaky.

  • Scripts/run-gtk-tests:

(TestRunner):

4:10 AM Changeset in webkit [188038] by Csaba Osztrogonác
  • 4 edits in trunk

[EFL] Bump EFL version to 1.15.0
https://bugs.webkit.org/show_bug.cgi?id=147450

Reviewed by Gyuyoung Kim.

Source/WebKit2:

  • PlatformEfl.cmake:

Tools:

  • efl/jhbuild.modules:
3:12 AM Changeset in webkit [188037] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.8.5

WebKitGTK+ 2.8.5

3:11 AM Changeset in webkit [188036] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.8

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.8.5 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.8.5.
3:10 AM Changeset in webkit [188035] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Unreviewed. Fix the build with RESOURCE_TIMING disabled.

  • loader/ThreadableLoader.h:
1:50 AM Changeset in webkit [188034] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.8/Source/WebKit2

Merge r188031 - [GTK] Crash closing a page when a context menu is open
https://bugs.webkit.org/show_bug.cgi?id=147682

Reviewed by Sergio Villar Senin.

Implement WebContextMenuProxy::cancelTracking() to clear the
internal menu when the web page is closed.

  • UIProcess/gtk/WebContextMenuProxyGtk.cpp:

(WebKit::WebContextMenuProxyGtk::cancelTracking):
(WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk): Deleted.

  • UIProcess/gtk/WebContextMenuProxyGtk.h:
1:47 AM Changeset in webkit [188033] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.8

Merge r188014 - Crash when removing children of a MathMLSelectElement
https://bugs.webkit.org/show_bug.cgi?id=147704
<rdar://problem/21940321>

Reviewed by Ryosuke Niwa.

Source/WebCore:

When MathMLSelectElement::childrenChanged() is called after its
children have been removed, MathMLSelectElement calls
updateSelectedChild() which accesses m_selectedChild. However,
in this case, m_selectedChild is the previously selected child
and it may be destroyed as this point if it was removed. To avoid
this problem, MathMLSelectElement now keep a strong ref to the
currently selected element.

Test: mathml/maction-removeChild.html

  • mathml/MathMLSelectElement.h:

LayoutTests:

Add layout test that reproduces the crash under guardmalloc.

  • mathml/maction-removeChild-expected.txt: Added.
  • mathml/maction-removeChild.html: Added.
1:19 AM Changeset in webkit [188032] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Unksip TestContextMenu GTK+ API test.

This has been skipped for a long time, and it's very
unconvenient. It has never failed for me locally, so let's try
again to see if it works in the bots. I'll skip it again if it
keeps failing.

  • Scripts/run-gtk-tests:

(TestRunner):

1:14 AM Changeset in webkit [188031] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK] Crash closing a page when a context menu is open
https://bugs.webkit.org/show_bug.cgi?id=147682

Reviewed by Sergio Villar Senin.

Implement WebContextMenuProxy::cancelTracking() to clear the
internal menu when the web page is closed.

  • UIProcess/gtk/WebContextMenuProxyGtk.cpp:

(WebKit::WebContextMenuProxyGtk::cancelTracking):
(WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk): Deleted.

  • UIProcess/gtk/WebContextMenuProxyGtk.h:
12:13 AM Changeset in webkit [188030] by mrajca@apple.com
  • 20 edits in trunk/Source

Media Session: push paused state to the media session focus manager instead of polling
https://bugs.webkit.org/show_bug.cgi?id=147633

Reviewed by Simon Fraser.

WebCore:

  • dom/Document.cpp:

(WebCore::Document::updateIsPlayingMedia): If a valid source element ID is passed in, set the 'IsSourcePlaying'

flag accordingly.

  • dom/Document.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::elementWithID):
(WebCore::HTMLMediaElement::setMuted): Pass along the element ID.
(WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged): Ditto.
(WebCore::HTMLMediaElement::setPlaying): Ditto.

  • html/HTMLMediaElement.h:
  • page/ChromeClient.h:
  • page/MediaProducer.h:
  • page/Page.cpp:

(WebCore::Page::updateIsPlayingMedia): Pass along the source element ID.
(WebCore::Page::isMediaElementPaused): Deleted. We now push media playback state changes instead of polling.

  • page/Page.h:

WebKit2:

  • UIProcess/WebMediaSessionFocusManager.cpp:

(WebKit::WebMediaSessionFocusManager::isFocusedContentMediaElementPaused): Report whether the focused media

element is currently playing. The callback is no longer necessary and will be removed in a future patch in
favor of returning a value directly.

(WebKit::WebMediaSessionFocusManager::mediaElementIsPlayingDidChange): Keep track of whether the focused media

element is currently playing.

  • UIProcess/WebMediaSessionFocusManager.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::isPlayingMediaDidChange): If the focused media element begins/ends playing, keep track

of its playing state.

(WebKit::WebPageProxy::isMediaElementPaused): Deleted. We now push media playback state changes instead of

polling.

  • UIProcess/WebPageProxy.h: isPlayingMediaDidChange is now passed the ID of the media element that triggered the 'playing' state change. This can be used in conjunction with the IsSourcePlaying media flag to identify whether the source element begin/ended playing.
  • UIProcess/WebPageProxy.messages.in: Ditto.
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::setPluginIsPlayingAudio): Since a media element did not trigger this, pass in 0 for the

source media element.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::isPlayingMediaDidChange): isPlayingMediaDidChange is now passed the ID of the media

element that triggered the 'playing' state change.

  • WebProcess/WebCoreSupport/WebChromeClient.h: Ditto.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::isMediaElementPaused): Deleted. We now push media playback state changes instead of polling.

  • WebProcess/WebPage/WebPage.h: Ditto.
  • WebProcess/WebPage/WebPage.messages.in: Ditto.

Aug 5, 2015:

11:24 PM Changeset in webkit [188029] by Devin Rousso
  • 7 edits
    1 delete in trunk/Source/WebInspectorUI

Web Inspector: Move the Metrics style sidebar panel into Computed
https://bugs.webkit.org/show_bug.cgi?id=147715

Reviewed by Timothy Hatcher.

Deleted the Metrics sidebar panel and moved its contents into the Computed sidebar panel.
In addition, not hovering over the Metrics section will display the colors of each box.

  • UserInterface/Main.html:
  • UserInterface/Views/BoxModelDetailsSectionRow.css:

(.details-section .row.box-model :matches(.position, .margin, .border, .padding, .content)):
(.details-section .row.box-model .position):
(.details-section .row.box-model .margin):
(.details-section .row.box-model .border):
(.details-section .row.box-model .padding):
(.details-section .row.box-model :matches(.content span, .top, .right, .bottom, .left)):
(.details-section .row.box-model :matches(.right, .left)):
(.details-section .row.box-model .content): Deleted.
(.details-section .row.box-model .content span): Deleted.
(.details-section .row.box-model .left): Deleted.
(.details-section .row.box-model .right): Deleted.
(.details-section .row.box-model .top): Deleted.
(.details-section .row.box-model .bottom): Deleted.

  • UserInterface/Views/BoxModelDetailsSectionRow.js:

(WebInspector.BoxModelDetailsSectionRow.prototype._highlightDOMNode):
If no metric box is hovered, apply a class to the entire section.

  • UserInterface/Views/CSSStyleDetailsSidebarPanel.js:

(WebInspector.CSSStyleDetailsSidebarPanel):
Removed the usage of MetricsStyleDetailsPanel.

  • UserInterface/Views/ComputedStyleDetailsPanel.css:

(.details-section.style-box-model:not(.collapsed) > :matches(.header, .content)):
Give the metrics section in the Computed panel a white background.

  • UserInterface/Views/ComputedStyleDetailsPanel.js:

(WebInspector.ComputedStyleDetailsPanel):
(WebInspector.ComputedStyleDetailsPanel.prototype.refresh):
Don't refresh the content unless the change is significant (without this, you cannot edit
metrics values using the arrow keys).

  • UserInterface/Views/MetricsStyleDetailsPanel.js: Removed.
11:17 PM Changeset in webkit [188028] by Devin Rousso
  • 12 edits
    1 copy
    4 adds
    1 delete in trunk/Source/WebInspectorUI

Web Inspector: Bezier curve visual editor
https://bugs.webkit.org/show_bug.cgi?id=134501

Reviewed by Timothy Hatcher.

Added a visual Cubic Bezier curve editor that is usable in both
the CSS sidebar and the resources panel.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Base/DOMUtilities.js:

(createSVGElement):

  • UserInterface/Controllers/CodeMirrorBezierEditingController.js:

(WebInspector.CodeMirrorBezierEditingController):
(WebInspector.CodeMirrorBezierEditingController.prototype.get initialValue):
(WebInspector.CodeMirrorBezierEditingController.prototype.get cssClassName):
(WebInspector.CodeMirrorBezierEditingController.prototype.popoverWillPresent):
(WebInspector.CodeMirrorBezierEditingController.prototype.popoverDidPresent):
(WebInspector.CodeMirrorBezierEditingController.prototype._bezierEditorBezierChanged):

  • UserInterface/Images/CubicBezier.svg: Added.
  • UserInterface/Main.html:
  • UserInterface/Models/Geometry.js:

(WebInspector.Point.prototype.distance):
(WebInspector.Point):
(WebInspector.CubicBezier):
(WebInspector.CubicBezier.fromPoints):
(WebInspector.CubicBezier.fromString):
(WebInspector.CubicBezier.prototype.get inPoint):
(WebInspector.CubicBezier.prototype.get outPoint):
(WebInspector.CubicBezier.prototype.copy):
(WebInspector.CubicBezier.prototype.toString):
(WebInspector.CubicBezier.prototype.solve):
(WebInspector.CubicBezier.prototype._sampleCurveX):
(WebInspector.CubicBezier.prototype._sampleCurveY):
(WebInspector.CubicBezier.prototype._sampleCurveDerivativeX):
(WebInspector.CubicBezier.prototype._solveCurveX):

  • UserInterface/Models/TextMarker.js:
  • UserInterface/Models/UnitBezier.js: Removed.
  • UserInterface/Views/BezierEditor.css: Added.

(.bezier-editor):
(.bezier-editor > .bezier-preview):
(.bezier-editor > .bezier-preview > div):
(.bezier-editor > .bezier-preview-timing):
(.bezier-editor > .bezier-preview-timing.animate):
(.bezier-editor > .bezier-container):
(@keyframes bezierPreview):
(.bezier-editor > .bezier-container):
(.bezier-editor > .bezier-container .linear-curve):
(.bezier-editor > .bezier-container .bezier-curve):
(.bezier-editor > .bezier-container .control-line):
(.bezier-editor > .bezier-container .control-handle):

  • UserInterface/Views/BezierEditor.js: Added.

(WebInspector.BezierEditor.createControl):
(WebInspector.BezierEditor):
(WebInspector.BezierEditor.prototype.get element):
(WebInspector.BezierEditor.prototype.set bezier):
(WebInspector.BezierEditor.prototype.get bezier):
(WebInspector.BezierEditor.prototype.handleEvent):
(WebInspector.BezierEditor.prototype._handleMousedown):
(WebInspector.BezierEditor.prototype._handleMousemove):
(WebInspector.BezierEditor.prototype._handleMouseup):
(WebInspector.BezierEditor.prototype._updateControlPointsForMouseEvent):
(WebInspector.BezierEditor.prototype._updateValue.round):
(WebInspector.BezierEditor.prototype._updateValue):
(WebInspector.BezierEditor.prototype._updateBezier):
(WebInspector.BezierEditor.prototype._updateControl):
(WebInspector.BezierEditor.prototype._triggerPreviewAnimation):
(WebInspector.BezierEditor.prototype._resetPreviewAnimation):

  • UserInterface/Views/CSSStyleDeclarationTextEditor.css:

(.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker):
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker:hover):
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker:active):

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype.didDismissPopover):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._contentChanged):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createBezierEditors.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createBezierEditors):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._commentProperty.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._commentProperty):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._uncommentRange.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._uncommentRange):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._cubicBezierMarkerClicked.updateCodeMirror.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._cubicBezierMarkerClicked.updateCodeMirror):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._cubicBezierMarkerClicked):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent):

  • UserInterface/Views/CodeMirrorAdditions.js:
  • UserInterface/Views/CodeMirrorTextMarkers.js: Added.

(createCodeMirrorTextMarkers):
(createCodeMirrorColorTextMarkers):
(createCodeMirrorGradientTextMarkers):
(createCodeMirrorCubicBezierTextMarkers):

  • UserInterface/Views/Popover.js:

(WebInspector.Popover.prototype._animateFrame):

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype._updateEditableMarkers):
(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):

  • UserInterface/Views/TextEditor.js:

(WebInspector.TextEditor.prototype.createColorMarkers):
(WebInspector.TextEditor.prototype.createGradientMarkers):
(WebInspector.TextEditor.prototype.createCubicBezierMarkers):
(WebInspector.TextEditor.prototype.editingControllerForMarker):

11:07 PM Changeset in webkit [188027] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Fix TestExpectations lint warnings.

  • platform/mac-wk2/TestExpectations: Remove duplicate entries.
  • platform/win/TestExpectations: Update for the big platform move of 2015. One of

these tests no longer asserts, so it doesn't need to be skipped.

10:38 PM Changeset in webkit [188026] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Fix paths to ruby-expansion tests, and make them ImageOnlyFailure rather than Skip.

  • platform/mac-mavericks/TestExpectations:
10:16 PM Changeset in webkit [188025] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

CharacterFallbackMapKey should be locale-specific
https://bugs.webkit.org/show_bug.cgi?id=147532

Reviewed by Dean Jackson.

This is in preparation for locale-specific font fallback.

No new tests because there is no behavior change.

  • platform/graphics/Font.cpp:

(WebCore::CharacterFallbackMapKey::CharacterFallbackMapKey):
(WebCore::CharacterFallbackMapKey::operator==):
(WebCore::CharacterFallbackMapKeyHash::hash):
(WebCore::Font::systemFallbackFontForCharacter):

10:13 PM Changeset in webkit [188024] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Expand CharacterFallbackMapKey to a struct
https://bugs.webkit.org/show_bug.cgi?id=147530

Reviewed by Dean Jackson.

This is in prepraration for making this struct locale-specific.

No new tests because there is no behavior change.

  • platform/graphics/Font.cpp:

(WebCore::CharacterFallbackMapKey::CharacterFallbackMapKey):
(WebCore::CharacterFallbackMapKey::isHashTableDeletedValue):
(WebCore::CharacterFallbackMapKey::operator==):
(WebCore::CharacterFallbackMapKeyHash::hash):
(WebCore::CharacterFallbackMapKeyHash::equal):
(WebCore::Font::systemFallbackFontForCharacter):

9:50 PM Changeset in webkit [188023] by Simon Fraser
  • 2 edits
    16 moves in trunk/LayoutTests

Move /mac/fast/text reference tests into fast/text. Some may need to be skipped on other platforms.

  • fast/text/arabic-zwj-and-zwnj-expected.html: Renamed from LayoutTests/platform/mac/fast/text/arabic-zwj-and-zwnj-expected.html.
  • fast/text/arabic-zwj-and-zwnj.html: Renamed from LayoutTests/platform/mac/fast/text/arabic-zwj-and-zwnj.html.
  • fast/text/combining-character-sequence-vertical-expected.html: Renamed from LayoutTests/platform/mac/fast/text/combining-character-sequence-vertical-expected.html.
  • fast/text/combining-character-sequence-vertical.html: Renamed from LayoutTests/platform/mac/fast/text/combining-character-sequence-vertical.html.
  • fast/text/combining-mark-paint-expected.html: Renamed from LayoutTests/platform/mac/fast/text/combining-mark-paint-expected.html.
  • fast/text/combining-mark-paint.html: Renamed from LayoutTests/platform/mac/fast/text/combining-mark-paint.html.
  • fast/text/font-cursive-italic-cjk-expected.html: Renamed from LayoutTests/platform/mac/fast/text/font-cursive-italic-cjk-expected.html.
  • fast/text/font-cursive-italic-cjk.html: Renamed from LayoutTests/platform/mac/fast/text/font-cursive-italic-cjk.html.
  • fast/text/kerning-with-TextLayout-expected.html: Renamed from LayoutTests/platform/mac/fast/text/kerning-with-TextLayout-expected.html.
  • fast/text/kerning-with-TextLayout.html: Renamed from LayoutTests/platform/mac/fast/text/kerning-with-TextLayout.html.
  • fast/text/multiple-codeunit-vertical-upright-expected.html: Renamed from LayoutTests/platform/mac/fast/text/multiple-codeunit-vertical-upright-expected.html.
  • fast/text/multiple-codeunit-vertical-upright.html: Renamed from LayoutTests/platform/mac/fast/text/multiple-codeunit-vertical-upright.html.
  • fast/text/synthetic-bold-transformed-expected.html: Renamed from LayoutTests/platform/mac/fast/text/synthetic-bold-transformed-expected.html.
  • fast/text/synthetic-bold-transformed.html: Renamed from LayoutTests/platform/mac/fast/text/synthetic-bold-transformed.html.
  • fast/text/trailing-word-expected.html: Renamed from LayoutTests/platform/mac/fast/text/trailing-word-expected.html.
  • fast/text/trailing-word.html: Renamed from LayoutTests/platform/mac/fast/text/trailing-word.html.
  • platform/mac/TestExpectations:
9:49 PM Changeset in webkit [188022] by Simon Fraser
  • 2 edits
    12 moves
    1 add in trunk/LayoutTests

Make ruby-expansion tests cross-platform. They may have to be skipped on other platforms.

  • fast/ruby/resources/green.png: Renamed from LayoutTests/platform/mac/fast/ruby/resources/green.png.
  • fast/ruby/resources/ruby-expansion.svg: Renamed from LayoutTests/platform/mac/fast/ruby/resources/ruby-expansion.svg.
  • fast/ruby/ruby-expansion-cjk-2-expected.html: Renamed from LayoutTests/platform/mac/fast/ruby/ruby-expansion-cjk-2-expected.html.
  • fast/ruby/ruby-expansion-cjk-2.html: Renamed from LayoutTests/platform/mac/fast/ruby/ruby-expansion-cjk-2.html.
  • fast/ruby/ruby-expansion-cjk-3-expected.html: Renamed from LayoutTests/platform/mac/fast/ruby/ruby-expansion-cjk-3-expected.html.
  • fast/ruby/ruby-expansion-cjk-3.html: Renamed from LayoutTests/platform/mac/fast/ruby/ruby-expansion-cjk-3.html.
  • fast/ruby/ruby-expansion-cjk-4-expected.html: Renamed from LayoutTests/platform/mac/fast/ruby/ruby-expansion-cjk-4-expected.html.
  • fast/ruby/ruby-expansion-cjk-4.html: Renamed from LayoutTests/platform/mac/fast/ruby/ruby-expansion-cjk-4.html.
  • fast/ruby/ruby-expansion-cjk-5-expected.html: Renamed from LayoutTests/platform/mac/fast/ruby/ruby-expansion-cjk-5-expected.html.
  • fast/ruby/ruby-expansion-cjk-5.html: Renamed from LayoutTests/platform/mac/fast/ruby/ruby-expansion-cjk-5.html.
  • fast/ruby/ruby-expansion-cjk-expected.html: Renamed from LayoutTests/platform/mac/fast/ruby/ruby-expansion-cjk-expected.html.
  • fast/ruby/ruby-expansion-cjk.html: Renamed from LayoutTests/platform/mac/fast/ruby/ruby-expansion-cjk.html.
  • platform/mac-wk1/TestExpectations:
9:49 PM Changeset in webkit [188021] by Simon Fraser
  • 1 edit
    4 deletes in trunk/LayoutTests

Remove the XBM image test. Mac doesn't suport XBM images any more.

  • platform/mac/fast/canvas/canvas-draw-xbm-image-expected.png: Removed.
  • platform/mac/fast/canvas/canvas-draw-xbm-image-expected.txt: Removed.
  • platform/mac/fast/canvas/canvas-draw-xbm-image.html: Removed.
  • platform/mac/fast/canvas/resources/smile.xbm: Removed.
9:49 PM Changeset in webkit [188020] by Simon Fraser
  • 1 edit
    1 move
    2 adds in trunk/LayoutTests

Make platform/mac/compositing/canvas/accelerated-canvas-compositing.html a cross-platform test.

  • compositing/canvas/accelerated-canvas-compositing-expected.txt: Added.
  • compositing/canvas/accelerated-canvas-compositing.html: Renamed from LayoutTests/platform/mac/compositing/canvas/accelerated-canvas-compositing.html.
9:36 PM Changeset in webkit [188019] by commit-queue@webkit.org
  • 7 edits
    3 adds
    3 deletes in trunk/LayoutTests

Web Inspector: rewrite protocol test for console messages from X-Frame-Options
https://bugs.webkit.org/show_bug.cgi?id=147714

Patch by Brian Burg <BJ Burg> on 2015-08-05
Reviewed by Joseph Pecoraro.

Rewrite deny-X-FrameOption.html to use AsyncTestSuite, and hopefully address
the flakiness of the test. It is now in the inspector-protocol/console/ directory.

Extract the addConsoleTestCase helper to a shared file. Clean up console test
helpers and use a less awkward namespace for these helpers.

  • TestExpectations: Unskip the deleted test, the new test should be less flaky.
  • inspector-protocol/console/console-message.html:
  • inspector-protocol/console/css-source-locations.html:
  • inspector-protocol/console/js-source-locations.html:
  • inspector-protocol/console/x-frame-options-message-expected.txt: Added.
  • inspector-protocol/console/x-frame-options-message.html: Added.
  • inspector-protocol/debugger/setBreakpoint-actions.html:
  • inspector-protocol/debugger/setBreakpoint-options-exception.html:
  • inspector-protocol/page/deny-X-FrameOption-expected.txt: Removed.
  • inspector-protocol/page/deny-X-FrameOption.html: Removed.
  • inspector-protocol/resources/console-helper.js: Removed.
  • inspector-protocol/resources/console-test.js: Added.

(InspectorTest.Console.sanitizeConsoleMessage):
(InspectorTest.Console.addTestCase):

9:01 PM Changeset in webkit [188018] by rniwa@webkit.org
  • 5 edits
    3 adds in trunk

[ES6] Class parser does not allow methods named set and get.
https://bugs.webkit.org/show_bug.cgi?id=147150

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

The bug was caused by parseClass assuming identifiers "get" and "set" could only appear
as the leading token for getter and setter methods. Fixed the bug by generalizing the code
so that we only treat them as such when it's followed by another token that could be a method name.

  • parser/Parser.cpp:

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

LayoutTests:

Added a regression test and rebaselined a test.

  • js/class-syntax-method-names-expected.txt: Added.
  • js/class-syntax-method-names.html: Added.
  • js/class-syntax-semicolon-expected.txt: Rebaselined as the error message got improved.
  • js/script-tests/class-syntax-method-names.js: Added.
  • js/script-tests/class-syntax-semicolon.js:
8:58 PM Changeset in webkit [188017] by Nikita Vasilyev
  • 11 edits
    3 copies
    3 adds in trunk

Web Inspector: Logging error objects should have a better UI
https://bugs.webkit.org/show_bug.cgi?id=143853

Source/WebInspectorUI:

Previously, an error object looked like any other object, which wasn't very useful.
Source links couldn't be clicked and stacktraces were unreadable.

Unify console.trace, caught and uncaught exceptions. The following examples use
the same StaceTraceView:

  • ({}).x.y
  • try { ({}).x.y } catch (e) { console.log(e); }
  • console.trace()

Reviewed by Brian Burg.

  • UserInterface/Main.html:
  • UserInterface/Models/CallFrame.js:

(WebInspector.CallFrame.fromPayload):
(WebInspector.CallFrame):

  • UserInterface/Protocol/RemoteObject.js:

(WebInspector.RemoteObject.prototype.getOwnPropertyDescriptorsAsObject):

  • UserInterface/Test.html:
  • UserInterface/Views/CallFrameView.css:

(.call-frame .separator):
(.call-frame .subtitle .source-link): Deleted.
(.call-frame:focus .subtitle .source-link): Deleted.
(.call-frame .subtitle:empty): Deleted.
(.call-frame .subtitle): Deleted.

  • UserInterface/Views/CallFrameView.js:

(WebInspector.CallFrameView):

  • Start usind CallFrameView in stacktraces.
  • Introduce showFunctionName optional argument. In stacktraces anonymous functions

are shown as "(anonymous function)" but in console message location
links (the ones on the right side of a console message) we omit them.

  • Dash was a pseudo-element and it couldn't be copied to the clipboard.

Make it an actual HTML element.

  • UserInterface/Views/ConsoleMessageView.css:

(.console-message-location.call-frame):
(.console-message-location.call-frame > .title):
(.console-message-location.call-frame > .subtitle > .source-link):
Since .call-frame rules are now used in stacktraces, move console message
specific rules from CallFrameView.css to ConsoleMessageView.css.

  • UserInterface/Views/ConsoleMessageView.js:

(WebInspector.ConsoleMessageView.prototype._appendLocationLink):
(WebInspector.ConsoleMessageView.prototype._appendStackTrace):
(WebInspector.ConsoleMessageView.prototype._formatParameter):
(WebInspector.ConsoleMessageView.prototype._formatParameterAsError): Added.
Format errors differently from other objects.

  • UserInterface/Views/ErrorObjectView.css: Added.

(.error-object::before):
(.error-object.expanded::before):
(.error-object-link-container):
(.error-object.expanded > .formatted-error > .error-object-link-container):
(.error-object:not(.expanded) .error-object-outline):
(.error-object-outline):

  • UserInterface/Views/ErrorObjectView.js: Added.

(WebInspector.ErrorObjectView):
(WebInspector.ErrorObjectView.parseStackTrace):
(WebInspector.ErrorObjectView.makeSourceLinkWithPrefix):
(WebInspector.ErrorObjectView.prototype.get object):
(WebInspector.ErrorObjectView.prototype.get element):
(WebInspector.ErrorObjectView.prototype.get treeOutline):
(WebInspector.ErrorObjectView.prototype.get expanded):
(WebInspector.ErrorObjectView.prototype.update):
(WebInspector.ErrorObjectView.prototype.expand):
(WebInspector.ErrorObjectView.prototype.collapse):
(WebInspector.ErrorObjectView.prototype._handlePreviewOrTitleElementClick):
(WebInspector.ErrorObjectView.prototype._buildStackTrace):
ErrorObjectView is used to log caught exceptions, e.g.:
try { i.dont.exist++ } catch (e) { console.log(e) }

  • UserInterface/Views/FormattedValue.js:

(WebInspector.FormattedValue.createElementForError): Added.
Create error preview.

(WebInspector.FormattedValue.createElementForTypesAndValue):
Fix typo.

(WebInspector.FormattedValue.createObjectPreviewOrFormattedValueForRemoteObject):
Format errors differently from other objects.

LayoutTests:

Add tests for stack trace format in case it changes.

Reviewed by Brian Burg.

  • inspector/debugger/js-stacktrace-expected.txt: Added.
  • inspector/debugger/js-stacktrace.html: Added.
8:38 PM Changeset in webkit [188016] by Alan Bujtas
  • 1 edit
    4 adds in trunk/LayoutTests

Add missing test case (r187994).

Unreviewed.

  • fast/frames/flattening/crash-when-sibling-iframe-is-destroyed-with-subtree-layoutroot-expected.txt: Added.
  • fast/frames/flattening/crash-when-sibling-iframe-is-destroyed-with-subtree-layoutroot.html: Added.
  • fast/frames/flattening/resources/childframe1.html: Added.
  • fast/frames/flattening/resources/childframe2.html: Added.
6:25 PM Changeset in webkit [188015] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION (r187634): Script time is missing from the frames timeline
https://bugs.webkit.org/show_bug.cgi?id=147654

Reviewed by Brian Burg.

Use the current stack entry's parent record when pushing a new stack entry, if no
TimelineRecord was generated from the parent record payload.

  • UserInterface/Controllers/TimelineManager.js:

(WebInspector.TimelineManager.prototype.eventRecorded):
Don't create a stack entry when record payload children array is empty.

6:25 PM Changeset in webkit [188014] by Chris Dumez
  • 3 edits
    2 adds in trunk

Crash when removing children of a MathMLSelectElement
https://bugs.webkit.org/show_bug.cgi?id=147704
<rdar://problem/21940321>

Reviewed by Ryosuke Niwa.

Source/WebCore:

When MathMLSelectElement::childrenChanged() is called after its
children have been removed, MathMLSelectElement calls
updateSelectedChild() which accesses m_selectedChild. However,
in this case, m_selectedChild is the previously selected child
and it may be destroyed as this point if it was removed. To avoid
this problem, MathMLSelectElement now keep a strong ref to the
currently selected element.

Test: mathml/maction-removeChild.html

  • mathml/MathMLSelectElement.h:

LayoutTests:

Add layout test that reproduces the crash under guardmalloc.

  • mathml/maction-removeChild-expected.txt: Added.
  • mathml/maction-removeChild.html: Added.
6:14 PM Changeset in webkit [188013] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Migrate FontCascade.cpp to NeverDestroyed
https://bugs.webkit.org/show_bug.cgi?id=147533

Reviewed by Simon Fraser.

No new tests because there is no behavior change.

  • platform/graphics/FontCascade.cpp:

(WebCore::fontCascadeCache):

6:10 PM Changeset in webkit [188012] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.46.3

New tag.

6:06 PM Changeset in webkit [188011] by timothy_horton@apple.com
  • 11 edits in trunk/Source/WebKit2

PDFPlugins are clipped in link previews (and remain so when opened)
https://bugs.webkit.org/show_bug.cgi?id=147708
<rdar://problem/22055130>

Reviewed by Simon Fraser.

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:processPool:configuration:webView:]):
(-[WKView _supportsArbitraryLayoutModes]):
(-[WKView _didCommitLoadForMainFrame]):
(-[WKView _setLayoutMode:]):
(-[WKView _setViewScale:]):
Avoid using any layout mode other than "ViewSize" for main frame PluginDocuments,
because they will often end up behaving incorrectly (especially with PDFPlugin,
which is even more special in that it takes over application of page scale).

Save any incoming changes to the viewScale and layoutMode, and re-apply
them once we load something in the main frame that is *not* a PluginDocument.

  • UIProcess/API/mac/WKViewInternal.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::scalePage):
Make sure to reset WebCore's page scale if the main frame contains a
PluginDocument that takes care of page scale itself.

(WebKit::WebPage::didCommitLoad):
Do the same thing as what we do in WKView _didCommitLoadForMainFrame,
but without the UI process round-trip, to avoid an ugly flash.

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::didCommitLoad):

  • UIProcess/WebFrameProxy.h:

(WebKit::WebFrameProxy::containsPluginDocument):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didCommitLoadForFrame):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::didCommitLoadForMainFrame):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
Plumb and keep track of whether the main frame contains a PluginDocument or not.

5:26 PM Changeset in webkit [188010] by timothy_horton@apple.com
  • 5 edits in trunk/Source

Try to fix the build

  • WebIconDatabase.h:
  • Modules/webdatabase/Database.cpp:

(WebCore::Database::performOpenAndVerify):

  • Modules/webdatabase/Database.h:
5:02 PM Changeset in webkit [188009] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Delete duplicate forward-declaration
https://bugs.webkit.org/show_bug.cgi?id=147701

Reviewed by Simon Fraser.

No new tests because there is no behavior change.

  • platform/spi/cocoa/CoreTextSPI.h:
4:58 PM Changeset in webkit [188008] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.17.9

New tag.

4:56 PM Changeset in webkit [188007] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION (r187900): Breakpoint context menu is broken in Debugger tab
https://bugs.webkit.org/show_bug.cgi?id=147699

Reviewed by Timothy Hatcher.

  • UserInterface/Views/SourceCodeTextEditor.js:

Skip only the separator and "Reveal in Debugger tab" menu items.

4:55 PM Changeset in webkit [188006] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebInspectorUI

Web Inspector: use super calls in more places
https://bugs.webkit.org/show_bug.cgi?id=147696

Patch by Brian Burg <BJ Burg> on 2015-08-05
Reviewed by Timothy Hatcher.

A few opportunities for super calls were overlooked when converting to classes.

  • UserInterface/Views/BreakpointTreeElement.js:

(WebInspector.BreakpointTreeElement.prototype.onattach):
(WebInspector.BreakpointTreeElement.prototype.ondetach):

  • UserInterface/Views/CallFrameTreeElement.js:

(WebInspector.CallFrameTreeElement.prototype.onattach):
(WebInspector.CallFrameTreeElement):

  • UserInterface/Views/DebuggerTabContentView.js:

(WebInspector.DebuggerTabContentView.prototype.showDetailsSidebarPanels):

  • UserInterface/Views/ProfileNodeTreeElement.js:

(WebInspector.ProfileNodeTreeElement.prototype.onattach):

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype.shown):
(WebInspector.SourceCodeTextEditor.prototype.hidden):
(WebInspector.SourceCodeTextEditor.prototype.canBeFormatted):

  • UserInterface/Views/SourceCodeTreeElement.js:

(WebInspector.SourceCodeTreeElement.prototype.onattach):

  • UserInterface/Views/TimelineRecordTreeElement.js:

(WebInspector.TimelineRecordTreeElement.prototype.onattach):
(WebInspector.TimelineRecordTreeElement):

4:50 PM Changeset in webkit [188005] by Brent Fulgham
  • 6 edits in trunk/Source/WebKit/win

[Win] Allow display of mixed content on Windows by default
https://bugs.webkit.org/show_bug.cgi?id=147693
<rdar://problem/22059707>

Reviewed by Alex Christensen.

  • Interfaces/IWebPreferencesPrivate.idl: Add preference accessor

to allow getting/setting use of insecure content.

  • WebPreferenceKeysPrivate.h: Add new key for preference.
  • WebPreferences.cpp: Implement preference accessor.
  • WebPreferences.h:
  • WebView.cpp: Set WebCore settings to match prefernces for

loading mixed content.

4:50 PM Changeset in webkit [188004] by andersca@apple.com
  • 7 edits in trunk/Source/WebCore

Move the last DatabaseBackendBase functions over to Database
https://bugs.webkit.org/show_bug.cgi?id=147706

Reviewed by Tim Horton.

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::~Database):
(WebCore::Database::setExpectedVersion):
(WebCore::Database::getActualVersionForTransaction):
(WebCore::Database::version):
(WebCore::Database::stringIdentifier):
(WebCore::Database::displayName):
(WebCore::Database::estimatedSize):
(WebCore::Database::fileName):
(WebCore::Database::details):
(WebCore::Database::maximumSize):
(WebCore::Database::databaseDebugName):

  • Modules/webdatabase/Database.h:
  • Modules/webdatabase/DatabaseBackendBase.cpp:

(WebCore::DatabaseBackendBase::databaseDebugName): Deleted.
(WebCore::DatabaseBackendBase::~DatabaseBackendBase): Deleted.
(WebCore::DatabaseBackendBase::version): Deleted.
(WebCore::DatabaseBackendBase::securityOrigin): Deleted.
(WebCore::DatabaseBackendBase::stringIdentifier): Deleted.
(WebCore::DatabaseBackendBase::displayName): Deleted.
(WebCore::DatabaseBackendBase::estimatedSize): Deleted.
(WebCore::DatabaseBackendBase::fileName): Deleted.
(WebCore::DatabaseBackendBase::details): Deleted.
(WebCore::DatabaseBackendBase::setExpectedVersion): Deleted.
(WebCore::DatabaseBackendBase::getActualVersionForTransaction): Deleted.
(WebCore::DatabaseBackendBase::maximumSize): Deleted.

  • Modules/webdatabase/DatabaseBackendBase.h:

(WebCore::DatabaseBackendBase::opened): Deleted.
(WebCore::DatabaseBackendBase::isNew): Deleted.
(WebCore::DatabaseBackendBase::sqliteDatabase): Deleted.
(WebCore::DatabaseBackendBase::expectedVersion): Deleted.

  • Modules/webdatabase/SQLTransactionClient.cpp:

(WebCore::SQLTransactionClient::didCommitWriteTransaction):
(WebCore::SQLTransactionClient::didExceedQuota):

  • Modules/webdatabase/SQLTransactionClient.h:
4:49 PM Changeset in webkit [188003] by bshafiei@apple.com
  • 12 edits
    1 delete in branches/safari-600.1.4.17-branch

Roll out r186982. rdar://problem/21709404

4:42 PM Changeset in webkit [188002] by fpizlo@apple.com
  • 129 edits in trunk

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

Source/JavaScriptCore:

  • bytecode/SamplingTool.cpp:

(JSC::SamplingTool::doRun):
(JSC::SamplingTool::notifyOfScope):

  • bytecode/SamplingTool.h:
  • dfg/DFGThreadData.h:
  • dfg/DFGWorklist.cpp:

(JSC::DFG::Worklist::~Worklist):
(JSC::DFG::Worklist::isActiveForVM):
(JSC::DFG::Worklist::enqueue):
(JSC::DFG::Worklist::compilationState):
(JSC::DFG::Worklist::waitUntilAllPlansForVMAreReady):
(JSC::DFG::Worklist::removeAllReadyPlansForVM):
(JSC::DFG::Worklist::completeAllReadyPlansForVM):
(JSC::DFG::Worklist::visitWeakReferences):
(JSC::DFG::Worklist::removeDeadPlans):
(JSC::DFG::Worklist::queueLength):
(JSC::DFG::Worklist::dump):
(JSC::DFG::Worklist::runThread):

  • dfg/DFGWorklist.h:
  • disassembler/Disassembler.cpp:
  • heap/CopiedSpace.cpp:

(JSC::CopiedSpace::doneFillingBlock):
(JSC::CopiedSpace::doneCopying):

  • heap/CopiedSpace.h:
  • heap/CopiedSpaceInlines.h:

(JSC::CopiedSpace::recycleBorrowedBlock):
(JSC::CopiedSpace::allocateBlockForCopyingPhase):

  • heap/HeapTimer.h:
  • heap/MachineStackMarker.cpp:

(JSC::ActiveMachineThreadsManager::Locker::Locker):
(JSC::ActiveMachineThreadsManager::add):
(JSC::ActiveMachineThreadsManager::remove):
(JSC::ActiveMachineThreadsManager::ActiveMachineThreadsManager):
(JSC::MachineThreads::~MachineThreads):
(JSC::MachineThreads::addCurrentThread):
(JSC::MachineThreads::removeThreadIfFound):
(JSC::MachineThreads::tryCopyOtherThreadStack):
(JSC::MachineThreads::tryCopyOtherThreadStacks):
(JSC::MachineThreads::gatherConservativeRoots):

  • heap/MachineStackMarker.h:
  • interpreter/JSStack.cpp:

(JSC::stackStatisticsMutex):
(JSC::JSStack::addToCommittedByteCount):
(JSC::JSStack::committedByteCount):

  • jit/JITThunks.h:
  • profiler/ProfilerDatabase.h:

Source/WebCore:

  • Modules/webaudio/AsyncAudioDecoder.cpp:

(WebCore::AsyncAudioDecoder::AsyncAudioDecoder):
(WebCore::AsyncAudioDecoder::runLoop):

  • Modules/webaudio/AsyncAudioDecoder.h:
  • Modules/webaudio/AudioContext.h:
  • Modules/webaudio/MediaStreamAudioSource.cpp:

(WebCore::MediaStreamAudioSource::addAudioConsumer):
(WebCore::MediaStreamAudioSource::removeAudioConsumer):
(WebCore::MediaStreamAudioSource::setAudioFormat):
(WebCore::MediaStreamAudioSource::consumeAudio):

  • Modules/webaudio/MediaStreamAudioSource.h:
  • Modules/webdatabase/Database.cpp:

(WebCore::Database::close):
(WebCore::Database::runTransaction):
(WebCore::Database::inProgressTransactionCompleted):
(WebCore::Database::hasPendingTransaction):

  • Modules/webdatabase/DatabaseTask.h:
  • Modules/webdatabase/DatabaseThread.cpp:

(WebCore::DatabaseThread::start):
(WebCore::DatabaseThread::databaseThread):

  • Modules/webdatabase/DatabaseThread.h:
  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::setDatabaseDirectoryPath):
(WebCore::DatabaseTracker::canEstablishDatabase):
(WebCore::DatabaseTracker::retryCanEstablishDatabase):
(WebCore::DatabaseTracker::hasEntryForOrigin):
(WebCore::DatabaseTracker::getMaxSizeForDatabase):
(WebCore::DatabaseTracker::closeAllDatabases):
(WebCore::DatabaseTracker::fullPathForDatabase):
(WebCore::DatabaseTracker::origins):
(WebCore::DatabaseTracker::databaseNamesForOrigin):
(WebCore::DatabaseTracker::detailsForNameAndOrigin):
(WebCore::DatabaseTracker::setDatabaseDetails):
(WebCore::DatabaseTracker::doneCreatingDatabase):
(WebCore::DatabaseTracker::addOpenDatabase):
(WebCore::DatabaseTracker::removeOpenDatabase):
(WebCore::DatabaseTracker::getOpenDatabases):
(WebCore::DatabaseTracker::originLockFor):
(WebCore::DatabaseTracker::quotaForOrigin):
(WebCore::DatabaseTracker::setQuota):
(WebCore::DatabaseTracker::deleteOrigin):
(WebCore::DatabaseTracker::deleteDatabase):
(WebCore::DatabaseTracker::deleteDatabaseFile):
(WebCore::DatabaseTracker::removeDeletedOpenedDatabases):
(WebCore::DatabaseTracker::deleteDatabaseFileIfEmpty):
(WebCore::DatabaseTracker::openDatabaseMutex):
(WebCore::DatabaseTracker::setClient):
(WebCore::notificationMutex):
(WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
(WebCore::DatabaseTracker::notifyDatabasesChanged):

  • Modules/webdatabase/DatabaseTracker.h:
  • Modules/webdatabase/OriginLock.h:
  • Modules/webdatabase/SQLCallbackWrapper.h:

(WebCore::SQLCallbackWrapper::clear):
(WebCore::SQLCallbackWrapper::unwrap):
(WebCore::SQLCallbackWrapper::hasCallback):

  • Modules/webdatabase/SQLTransactionBackend.cpp:

(WebCore::SQLTransactionBackend::doCleanup):
(WebCore::SQLTransactionBackend::enqueueStatementBackend):
(WebCore::SQLTransactionBackend::getNextStatement):

  • Modules/webdatabase/SQLTransactionBackend.h:
  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::scheduleExecutionTermination):
(WebCore::WorkerScriptController::isExecutionTerminating):

  • bindings/js/WorkerScriptController.h:
  • dom/default/PlatformMessagePortChannel.cpp:

(WebCore::MessagePortChannel::postMessageToRemote):
(WebCore::MessagePortChannel::tryGetMessageFromRemote):
(WebCore::MessagePortChannel::isConnectedTo):
(WebCore::MessagePortChannel::hasPendingActivity):
(WebCore::MessagePortChannel::locallyEntangledPort):
(WebCore::PlatformMessagePortChannel::setRemotePort):
(WebCore::PlatformMessagePortChannel::entangledChannel):
(WebCore::PlatformMessagePortChannel::closeInternal):

  • dom/default/PlatformMessagePortChannel.h:
  • loader/icon/IconDatabase.cpp:

(WebCore::IconDatabase::removeAllIcons):
(WebCore::IconDatabase::synchronousIconForPageURL):
(WebCore::IconDatabase::synchronousNativeIconForPageURL):
(WebCore::IconDatabase::synchronousIconURLForPageURL):
(WebCore::IconDatabase::retainIconForPageURL):
(WebCore::IconDatabase::performRetainIconForPageURL):
(WebCore::IconDatabase::releaseIconForPageURL):
(WebCore::IconDatabase::performReleaseIconForPageURL):
(WebCore::IconDatabase::setIconDataForIconURL):
(WebCore::IconDatabase::setIconURLForPageURL):
(WebCore::IconDatabase::synchronousLoadDecisionForIconURL):
(WebCore::IconDatabase::synchronousIconDataKnownForIconURL):
(WebCore::IconDatabase::pageURLMappingCount):
(WebCore::IconDatabase::retainedPageURLCount):
(WebCore::IconDatabase::iconRecordCount):
(WebCore::IconDatabase::iconRecordCountWithData):
(WebCore::IconDatabase::wakeSyncThread):
(WebCore::IconDatabase::isOpenBesidesMainThreadCallbacks):
(WebCore::IconDatabase::databasePath):
(WebCore::IconDatabase::getOrCreatePageURLRecord):
(WebCore::IconDatabase::iconDatabaseSyncThread):
(WebCore::IconDatabase::performOpenInitialization):
(WebCore::IconDatabase::performURLImport):
(WebCore::IconDatabase::syncThreadMainLoop):
(WebCore::IconDatabase::performPendingRetainAndReleaseOperations):
(WebCore::IconDatabase::readFromDatabase):
(WebCore::IconDatabase::writeToDatabase):
(WebCore::IconDatabase::pruneUnretainedIcons):
(WebCore::IconDatabase::cleanupSyncThread):

  • loader/icon/IconDatabase.h:
  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
(WebCore::ScrollingTree::commitNewTreeState):
(WebCore::ScrollingTree::setMainFramePinState):
(WebCore::ScrollingTree::mainFrameScrollPosition):
(WebCore::ScrollingTree::setMainFrameScrollPosition):
(WebCore::ScrollingTree::isPointInNonFastScrollableRegion):
(WebCore::ScrollingTree::isRubberBandInProgress):
(WebCore::ScrollingTree::setMainFrameIsRubberBanding):
(WebCore::ScrollingTree::isScrollSnapInProgress):
(WebCore::ScrollingTree::setMainFrameIsScrollSnapping):
(WebCore::ScrollingTree::setCanRubberBandState):
(WebCore::ScrollingTree::rubberBandsAtLeft):
(WebCore::ScrollingTree::rubberBandsAtRight):
(WebCore::ScrollingTree::rubberBandsAtBottom):
(WebCore::ScrollingTree::rubberBandsAtTop):
(WebCore::ScrollingTree::setScrollPinningBehavior):
(WebCore::ScrollingTree::scrollPinningBehavior):
(WebCore::ScrollingTree::willWheelEventStartSwipeGesture):
(WebCore::ScrollingTree::latchedNode):
(WebCore::ScrollingTree::setLatchedNode):
(WebCore::ScrollingTree::clearLatchedNode):

  • page/scrolling/ScrollingTree.h:
  • platform/MemoryPressureHandler.h:
  • platform/audio/HRTFDatabaseLoader.cpp:

(WebCore::HRTFDatabaseLoader::loadAsynchronously):
(WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):

  • platform/audio/HRTFDatabaseLoader.h:
  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::setReceivedMemoryPressure):
(WebCore::MemoryPressureHandler::clearMemoryPressure):
(WebCore::MemoryPressureHandler::shouldWaitForMemoryClearMessage):
(WebCore::MemoryPressureHandler::respondToMemoryPressureIfNeeded):

  • platform/graphics/DisplayRefreshMonitor.cpp:

(WebCore::DisplayRefreshMonitor::displayDidRefresh):

  • platform/graphics/DisplayRefreshMonitor.h:

(WebCore::DisplayRefreshMonitor::setMonotonicAnimationStartTime):
(WebCore::DisplayRefreshMonitor::mutex):

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::setDelayCallbacks):
(WebCore::MediaPlayerPrivateAVFoundation::clearMainThreadPendingFlag):
(WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):

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

(WebCore::AVFWrapper::callbackContext):
(WebCore::AVFWrapper::~AVFWrapper):
(WebCore::AVFWrapper::mapLock):
(WebCore::AVFWrapper::addToMap):
(WebCore::AVFWrapper::removeFromMap):
(WebCore::AVFWrapper::periodicTimeObserverCallback):
(WebCore::AVFWrapper::processNotification):
(WebCore::AVFWrapper::loadPlayableCompletionCallback):
(WebCore::AVFWrapper::loadMetadataCompletionCallback):
(WebCore::AVFWrapper::seekCompletedCallback):
(WebCore::AVFWrapper::processCue):
(WebCore::AVFWrapper::legibleOutputCallback):
(WebCore::AVFWrapper::processShouldWaitForLoadingOfResource):
(WebCore::AVFWrapper::resourceLoaderShouldWaitForLoadingOfRequestedResource):

  • platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:

(WebCore::InbandTextTrackPrivateGStreamer::handleSample):
(WebCore::InbandTextTrackPrivateGStreamer::notifyTrackOfSample):

  • platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:

(WebCore::TrackPrivateBaseGStreamer::tagsChanged):
(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged):

  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
  • platform/graphics/mac/DisplayRefreshMonitorMac.cpp:

(WebCore::DisplayRefreshMonitorMac::requestRefreshCallback):
(WebCore::DisplayRefreshMonitorMac::displayLinkFired):

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::addListener):
(WebCore::MediaPlayerPrivateMediaFoundation::removeListener):
(WebCore::MediaPlayerPrivateMediaFoundation::notifyDeleted):
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::Invoke):
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::onMediaPlayerDeleted):

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
  • platform/ios/LegacyTileCache.h:
  • platform/ios/LegacyTileCache.mm:

(WebCore::LegacyTileCache::setTilesOpaque):
(WebCore::LegacyTileCache::doLayoutTiles):
(WebCore::LegacyTileCache::setCurrentScale):
(WebCore::LegacyTileCache::commitScaleChange):
(WebCore::LegacyTileCache::layoutTilesNow):
(WebCore::LegacyTileCache::layoutTilesNowForRect):
(WebCore::LegacyTileCache::removeAllNonVisibleTiles):
(WebCore::LegacyTileCache::removeAllTiles):
(WebCore::LegacyTileCache::removeForegroundTiles):
(WebCore::LegacyTileCache::setContentReplacementImage):
(WebCore::LegacyTileCache::contentReplacementImage):
(WebCore::LegacyTileCache::tileCreationTimerFired):
(WebCore::LegacyTileCache::setNeedsDisplayInRect):
(WebCore::LegacyTileCache::updateTilingMode):
(WebCore::LegacyTileCache::setTilingMode):
(WebCore::LegacyTileCache::doPendingRepaints):
(WebCore::LegacyTileCache::flushSavedDisplayRects):
(WebCore::LegacyTileCache::prepareToDraw):

  • platform/ios/LegacyTileLayerPool.h:
  • platform/ios/LegacyTileLayerPool.mm:

(WebCore::LegacyTileLayerPool::addLayer):
(WebCore::LegacyTileLayerPool::takeLayerWithSize):
(WebCore::LegacyTileLayerPool::setCapacity):
(WebCore::LegacyTileLayerPool::prune):
(WebCore::LegacyTileLayerPool::drain):

  • platform/network/curl/CurlDownload.cpp:

(WebCore::CurlDownloadManager::add):
(WebCore::CurlDownloadManager::remove):
(WebCore::CurlDownloadManager::getActiveDownloadCount):
(WebCore::CurlDownloadManager::getPendingDownloadCount):
(WebCore::CurlDownloadManager::stopThreadIfIdle):
(WebCore::CurlDownloadManager::updateHandleList):
(WebCore::CurlDownload::~CurlDownload):
(WebCore::CurlDownload::init):
(WebCore::CurlDownload::getTempPath):
(WebCore::CurlDownload::getUrl):
(WebCore::CurlDownload::getResponse):
(WebCore::CurlDownload::closeFile):
(WebCore::CurlDownload::didReceiveHeader):
(WebCore::CurlDownload::didReceiveData):
(WebCore::CurlDownload::didFail):

  • platform/network/curl/CurlDownload.h:
  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::cookieJarPath):
(WebCore::sharedResourceMutex):
(WebCore::curl_lock_callback):
(WebCore::curl_unlock_callback):

  • platform/network/ios/QuickLook.mm:

(WebCore::QLDirectoryAttributes):
(qlPreviewConverterDictionaryMutex):
(WebCore::addQLPreviewConverterWithFileForURL):
(WebCore::qlPreviewConverterUTIForURL):
(WebCore::removeQLPreviewConverterForURL):
(WebCore::safeQLURLForDocumentURLAndResourceURL):

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::SQLiteDatabase::close):
(WebCore::SQLiteDatabase::maximumSize):
(WebCore::SQLiteDatabase::setMaximumSize):
(WebCore::SQLiteDatabase::pageSize):
(WebCore::SQLiteDatabase::freeSpaceSize):
(WebCore::SQLiteDatabase::totalSize):
(WebCore::SQLiteDatabase::runIncrementalVacuumCommand):
(WebCore::SQLiteDatabase::setAuthorizer):

  • platform/sql/SQLiteDatabase.h:

(WebCore::SQLiteDatabase::databaseMutex):

  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::prepare):
(WebCore::SQLiteStatement::step):

  • workers/WorkerThread.cpp:

(WebCore::WorkerThread::start):
(WebCore::WorkerThread::workerThread):
(WebCore::WorkerThread::stop):

  • workers/WorkerThread.h:

Source/WebKit:

  • Storage/StorageAreaSync.cpp:

(WebCore::StorageAreaSync::syncTimerFired):
(WebCore::StorageAreaSync::markImported):
(WebCore::StorageAreaSync::blockUntilImportComplete):
(WebCore::StorageAreaSync::performSync):

  • Storage/StorageAreaSync.h:
  • Storage/StorageTracker.cpp:

(WebCore::StorageTracker::setDatabaseDirectoryPath):
(WebCore::StorageTracker::finishedImportingOriginIdentifiers):
(WebCore::StorageTracker::syncImportOriginIdentifiers):
(WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
(WebCore::StorageTracker::setOriginDetails):
(WebCore::StorageTracker::syncSetOriginDetails):
(WebCore::StorageTracker::origins):
(WebCore::StorageTracker::deleteAllOrigins):
(WebCore::StorageTracker::syncDeleteAllOrigins):
(WebCore::StorageTracker::deleteOrigin):
(WebCore::StorageTracker::syncDeleteOrigin):
(WebCore::StorageTracker::canDeleteOrigin):
(WebCore::StorageTracker::cancelDeletingOrigin):
(WebCore::StorageTracker::diskUsageForOrigin):

  • Storage/StorageTracker.h:

Source/WebKit/ios:

  • WebCoreSupport/WebFixedPositionContent.mm:

(WebFixedPositionContentDataLock):
(-[WebFixedPositionContent scrollOrZoomChanged:]):
(-[WebFixedPositionContent overflowScrollPositionForLayer:changedTo:]):
(-[WebFixedPositionContent setViewportConstrainedLayers:stickyContainerMap:]):
(-[WebFixedPositionContent hasFixedOrStickyPositionLayers]):
(-[WebFixedPositionContent minimumOffsetFromFixedPositionLayersToAnchorEdge:ofRect:inLayer:]):

Source/WebKit/mac:

  • Storage/WebDatabaseManager.mm:

(transactionBackgroundTaskIdentifierLock):
(+[WebDatabaseManager startBackgroundTask]):
(+[WebDatabaseManager endBackgroundTask]):

  • WebView/WebView.mm:

(-[WebView _synchronizeCustomFixedPositionLayoutRect]):
(-[WebView _setCustomFixedPositionLayoutRectInWebThread:synchronize:]):
(-[WebView _setCustomFixedPositionLayoutRect:]):
(-[WebView _fetchCustomFixedPositionLayoutRect:]):

  • WebView/WebViewData.h:

Source/WebKit/win:

  • Plugins/PluginMainThreadScheduler.cpp:

(WebCore::PluginMainThreadScheduler::scheduleCall):
(WebCore::PluginMainThreadScheduler::registerPlugin):
(WebCore::PluginMainThreadScheduler::unregisterPlugin):
(WebCore::PluginMainThreadScheduler::dispatchCallsForPlugin):

  • Plugins/PluginMainThreadScheduler.h:
  • WebIconDatabase.cpp:

(WebIconDatabase::didRemoveAllIcons):
(WebIconDatabase::didImportIconURLForPageURL):
(WebIconDatabase::deliverNotifications):

  • WebLocalizableStrings.cpp:

(mainBundleLocStrings):
(frameworkLocStringsMutex):
(findCachedString):
(cacheString):

Source/WebKit2:

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::postDatabaseTask):
(WebKit::DatabaseProcess::performNextDatabaseTask):

  • DatabaseProcess/DatabaseProcess.h:
  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::shutdown):
(WebKit::UniqueIDBDatabase::postMainThreadTask):
(WebKit::UniqueIDBDatabase::performNextMainThreadTask):
(WebKit::UniqueIDBDatabase::postDatabaseTask):
(WebKit::UniqueIDBDatabase::performNextDatabaseTask):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
  • Platform/IPC/Connection.cpp:

(IPC::Connection::sendSyncMessage):
(IPC::Connection::sendSyncMessageFromSecondaryThread):
(IPC::Connection::waitForSyncReply):
(IPC::Connection::processIncomingSyncReply):
(IPC::Connection::connectionDidClose):

  • Platform/IPC/Connection.h:
  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebKit::CoordinatedGraphicsScene::appendUpdate):

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:
  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::ThreadedCompositor::createCompositingThread):
(WebKit::ThreadedCompositor::runCompositingThread):
(WebKit::ThreadedCompositor::terminateCompositingThread):

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
  • Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm:

(WebKit::CustomProtocolManager::addCustomProtocol):
(WebKit::CustomProtocolManager::removeCustomProtocol):
(WebKit::CustomProtocolManager::registerScheme):
(WebKit::CustomProtocolManager::unregisterScheme):
(WebKit::CustomProtocolManager::supportsScheme):
(WebKit::CustomProtocolManager::protocolForID):

  • Shared/Network/CustomProtocols/CustomProtocolManager.h:
  • Shared/linux/SeccompFilters/SeccompBroker.cpp:
  • WebProcess/Plugins/PluginProcessConnectionManager.cpp:

(WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
(WebKit::PluginProcessConnectionManager::removePluginProcessConnection):
(WebKit::PluginProcessConnectionManager::pluginProcessCrashed):

  • WebProcess/Plugins/PluginProcessConnectionManager.h:
  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::addScrollingTreeForPage):
(WebKit::EventDispatcher::removeScrollingTreeForPage):
(WebKit::EventDispatcher::wheelEvent):

  • WebProcess/WebPage/EventDispatcher.h:
  • WebProcess/soup/WebKitSoupRequestInputStream.cpp:

(webkitSoupRequestInputStreamReadAsync):
(webkitSoupRequestInputStreamAddData):

Source/WTF:

  • wtf/Atomics.cpp:

(WTF::getSwapLock):
(WTF::atomicStep):

  • wtf/MessageQueue.h:

(WTF::MessageQueue::infiniteTime):
(WTF::MessageQueue<DataType>::append):
(WTF::MessageQueue<DataType>::appendAndKill):
(WTF::MessageQueue<DataType>::appendAndCheckEmpty):
(WTF::MessageQueue<DataType>::prepend):
(WTF::MessageQueue<DataType>::removeIf):
(WTF::MessageQueue<DataType>::isEmpty):
(WTF::MessageQueue<DataType>::kill):
(WTF::MessageQueue<DataType>::killed):

  • wtf/ParallelJobsGeneric.cpp:

(WTF::ParallelEnvironment::ThreadPrivate::execute):
(WTF::ParallelEnvironment::ThreadPrivate::waitForFinish):
(WTF::ParallelEnvironment::ThreadPrivate::workerThread):

  • wtf/ParallelJobsGeneric.h:
  • wtf/RunLoop.cpp:

(WTF::RunLoop::performWork):
(WTF::RunLoop::dispatch):

  • wtf/RunLoop.h:
  • wtf/ThreadSpecificWin.cpp:

(WTF::destructorsList):
(WTF::destructorsMutex):
(WTF::threadSpecificKeyCreate):
(WTF::threadSpecificKeyDelete):
(WTF::ThreadSpecificThreadExit):

  • wtf/Threading.cpp:

(WTF::threadEntryPoint):
(WTF::createThread):

  • wtf/ThreadingPrimitives.h:
  • wtf/ThreadingPthreads.cpp:

(WTF::threadMapMutex):
(WTF::initializeThreading):
(WTF::identifierByPthreadHandle):
(WTF::establishIdentifierForPthreadHandle):
(WTF::changeThreadPriority):
(WTF::waitForThreadCompletion):
(WTF::detachThread):
(WTF::threadDidExit):
(WTF::currentThread):
(WTF::Mutex::Mutex):
(WTF::Mutex::~Mutex):
(WTF::Mutex::lock):
(WTF::Mutex::tryLock):
(WTF::Mutex::unlock):
(WTF::ThreadCondition::~ThreadCondition):
(WTF::ThreadCondition::wait):
(WTF::ThreadCondition::timedWait):
(WTF::DeprecatedMutex::DeprecatedMutex): Deleted.
(WTF::DeprecatedMutex::~DeprecatedMutex): Deleted.
(WTF::DeprecatedMutex::lock): Deleted.
(WTF::DeprecatedMutex::tryLock): Deleted.
(WTF::DeprecatedMutex::unlock): Deleted.

  • wtf/ThreadingWin.cpp:

(WTF::initializeCurrentThreadInternal):
(WTF::threadMapMutex):
(WTF::initializeThreading):
(WTF::storeThreadHandleByIdentifier):
(WTF::threadHandleForIdentifier):
(WTF::clearThreadHandleForIdentifier):
(WTF::currentThread):
(WTF::Mutex::Mutex):
(WTF::Mutex::~Mutex):
(WTF::Mutex::lock):
(WTF::Mutex::tryLock):
(WTF::Mutex::unlock):
(WTF::ThreadCondition::~ThreadCondition):
(WTF::ThreadCondition::wait):
(WTF::ThreadCondition::timedWait):
(WTF::DeprecatedMutex::DeprecatedMutex): Deleted.
(WTF::DeprecatedMutex::~DeprecatedMutex): Deleted.
(WTF::DeprecatedMutex::lock): Deleted.
(WTF::DeprecatedMutex::tryLock): Deleted.
(WTF::DeprecatedMutex::unlock): Deleted.

  • wtf/WorkQueue.h:
  • wtf/dtoa.cpp:
  • wtf/dtoa.h:
  • wtf/efl/DispatchQueueEfl.cpp:

(DispatchQueue::dispatch):
(DispatchQueue::performWork):
(DispatchQueue::performTimerWork):
(DispatchQueue::insertTimerWorkItem):
(DispatchQueue::wakeUpThread):
(DispatchQueue::getNextTimeOut):

  • wtf/efl/DispatchQueueEfl.h:
  • wtf/efl/RunLoopEfl.cpp:

(WTF::RunLoop::wakeUpEvent):
(WTF::RunLoop::wakeUp):

  • wtf/threads/BinarySemaphore.cpp:

(WTF::BinarySemaphore::signal):
(WTF::BinarySemaphore::wait):

  • wtf/threads/BinarySemaphore.h:
  • wtf/win/WorkQueueWin.cpp:

(WTF::WorkQueue::handleCallback):
(WTF::WorkQueue::platformInvalidate):
(WTF::WorkQueue::dispatch):
(WTF::WorkQueue::timerCallback):
(WTF::WorkQueue::dispatchAfter):

Tools:

  • DumpRenderTree/JavaScriptThreading.cpp:

(javaScriptThreadsMutex):
(runJavaScriptThread):
(startJavaScriptThreads):
(stopJavaScriptThreads):

  • TestWebKitAPI/Tests/WTF/WorkQueue.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/glib/WorkQueueGLib.cpp:

(TestWebKitAPI::TEST):

4:41 PM Changeset in webkit [188001] by bshafiei@apple.com
  • 3 edits in branches/safari-600.1.4.17-branch/LayoutTests

Roll out r186988. rdar://problem/21709404

4:40 PM Changeset in webkit [188000] by bshafiei@apple.com
  • 1 edit in branches/safari-600.1.4.17-branch/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp

Roll out r187040. rdar://problem/21709404

4:23 PM Changeset in webkit [187999] by andersca@apple.com
  • 5 edits in trunk/Source/WebCore

Move more functions from DatabaseBackendBase to Database
https://bugs.webkit.org/show_bug.cgi?id=147705

Reviewed by Tim Horton.

  • Modules/webdatabase/Database.cpp:

(WebCore::guidMutex):
(WebCore::guidToVersionMap):
(WebCore::updateGuidVersionMap):
(WebCore::guidToDatabaseMap):
(WebCore::guidForOriginAndName):
(WebCore::Database::Database):
(WebCore::DoneCreatingDatabaseOnExitCaller::DoneCreatingDatabaseOnExitCaller):
(WebCore::DoneCreatingDatabaseOnExitCaller::~DoneCreatingDatabaseOnExitCaller):
(WebCore::DoneCreatingDatabaseOnExitCaller::setOpenSucceeded):
(WebCore::Database::performOpenAndVerify):
(WebCore::Database::closeDatabase):
(WebCore::Database::getCachedVersion):
(WebCore::Database::setCachedVersion):

  • Modules/webdatabase/Database.h:
  • Modules/webdatabase/DatabaseBackendBase.cpp:

(WebCore::DatabaseBackendBase::version):
(WebCore::formatErrorMessage): Deleted.
(WebCore::guidMutex): Deleted.
(WebCore::guidToVersionMap): Deleted.
(WebCore::updateGuidVersionMap): Deleted.
(WebCore::guidToDatabaseMap): Deleted.
(WebCore::guidForOriginAndName): Deleted.
(WebCore::DatabaseBackendBase::DatabaseBackendBase): Deleted.
(WebCore::DatabaseBackendBase::closeDatabase): Deleted.
(WebCore::DoneCreatingDatabaseOnExitCaller::DoneCreatingDatabaseOnExitCaller): Deleted.
(WebCore::DoneCreatingDatabaseOnExitCaller::~DoneCreatingDatabaseOnExitCaller): Deleted.
(WebCore::DoneCreatingDatabaseOnExitCaller::setOpenSucceeded): Deleted.
(WebCore::DatabaseBackendBase::performOpenAndVerify): Deleted.
(WebCore::DatabaseBackendBase::getCachedVersion): Deleted.
(WebCore::DatabaseBackendBase::setCachedVersion): Deleted.

  • Modules/webdatabase/DatabaseBackendBase.h:
4:17 PM Changeset in webkit [187998] by andersca@apple.com
  • 5 edits in trunk/Source/WebCore

Move more functions from DatabaseBackendBase to Database
https://bugs.webkit.org/show_bug.cgi?id=147703

Reviewed by Tim Horton.

  • Modules/webdatabase/Database.cpp:

(WebCore::fullyQualifiedInfoTableName):
(WebCore::setTextValueInDatabase):
(WebCore::retrieveTextResultFromDatabase):
(WebCore::Database::getVersionFromDatabase):
(WebCore::Database::setVersionInDatabase):
(WebCore::Database::performGetTableNames):

  • Modules/webdatabase/Database.h:
  • Modules/webdatabase/DatabaseBackendBase.cpp:

(WebCore::DatabaseBackendBase::performOpenAndVerify):
(WebCore::DatabaseBackendBase::getActualVersionForTransaction):
(WebCore::DatabaseBackendBase::databaseInfoTableName): Deleted.
(WebCore::fullyQualifiedInfoTableName): Deleted.
(WebCore::retrieveTextResultFromDatabase): Deleted.
(WebCore::setTextValueInDatabase): Deleted.
(WebCore::DatabaseBackendBase::getVersionFromDatabase): Deleted.
(WebCore::DatabaseBackendBase::setVersionInDatabase): Deleted.

  • Modules/webdatabase/DatabaseBackendBase.h:
4:02 PM Changeset in webkit [187997] by achristensen@apple.com
  • 13 edits in trunk

Build DumpRenderTree with CMake.
https://bugs.webkit.org/show_bug.cgi?id=147519

Reviewed by Brent Fulgham.

Source/WebCore:

  • CMakeLists.txt:

WebCoreTestSupport is a static library and should not be linked with WebCore.

Source/WebKit:

  • CMakeLists.txt:
  • PlatformMac.cmake:
  • PlatformWin.cmake:

Make the libraries WebKit links with private, which means that CMake will not make everything
that links with WebKit link with everything WebKit links with.

Source/WebKit/win:

  • WebView.cpp:

Include JSScriptProfile.h to export toJS(ExecState*, JSDomGlobalObject*, JSC::Profile*) from WebKit.dll.

Tools:

  • CMakeLists.txt:

Build the DumpRenderTree directory now that it builds successfully.

  • DumpRenderTree/CMakeLists.txt:

Added missing source file and don't link with WebCore.lib.

  • DumpRenderTree/PlatformWin.cmake:

Added sources to DumpRenderTreeLib and made DumpRenderTree only build DLLLauncherMain.cpp.

  • WinLauncher/CMakeLists.txt:

We need libcmt now that we are not linking with WebCore.lib.

3:58 PM Changeset in webkit [187996] by andersca@apple.com
  • 5 edits in trunk/Source/WebCore

Move some more DatabaseBackendBase functions to Database
https://bugs.webkit.org/show_bug.cgi?id=147702

Reviewed by Tim Horton.

  • Modules/webdatabase/Database.cpp:

(WebCore::formatErrorMessage):
(WebCore::Database::disableAuthorizer):
(WebCore::Database::enableAuthorizer):
(WebCore::Database::setAuthorizerPermissions):
(WebCore::Database::lastActionChangedDatabase):
(WebCore::Database::lastActionWasInsert):
(WebCore::Database::resetDeletes):
(WebCore::Database::hadDeletes):
(WebCore::Database::resetAuthorizer):
(WebCore::Database::incrementalVacuumIfNeeded):

  • Modules/webdatabase/Database.h:
  • Modules/webdatabase/DatabaseBackendBase.cpp:

(WebCore::DatabaseBackendBase::disableAuthorizer): Deleted.
(WebCore::DatabaseBackendBase::enableAuthorizer): Deleted.
(WebCore::DatabaseBackendBase::setAuthorizerPermissions): Deleted.
(WebCore::DatabaseBackendBase::lastActionChangedDatabase): Deleted.
(WebCore::DatabaseBackendBase::lastActionWasInsert): Deleted.
(WebCore::DatabaseBackendBase::resetDeletes): Deleted.
(WebCore::DatabaseBackendBase::hadDeletes): Deleted.
(WebCore::DatabaseBackendBase::resetAuthorizer): Deleted.
(WebCore::DatabaseBackendBase::incrementalVacuumIfNeeded): Deleted.

  • Modules/webdatabase/DatabaseBackendBase.h:
3:57 PM Changeset in webkit [187995] by mmaxfield@apple.com
  • 1 edit
    2 adds in trunk/PerformanceTests

Add a second font-fallback performance test
https://bugs.webkit.org/show_bug.cgi?id=147692

Reviewed by Ryosuke Niwa.

This test is smaller, but has more realistic content. Also, it uses the "lang" attribute.

  • Layout/font-fallback-2.html: Added.
  • Layout/resources/font-fallback-2.html: Added.
3:39 PM Changeset in webkit [187994] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[Frame flattening] Return early when child RenderView is not available.
https://bugs.webkit.org/show_bug.cgi?id=147697

Reviewed by Simon Fraser.

No change in functionality.

  • rendering/RenderFrameBase.cpp:

(WebCore::RenderFrameBase::peformLayoutWithFlattening):

3:33 PM Changeset in webkit [187993] by andersca@apple.com
  • 9 edits in trunk/Source/WebCore

Remove more dead database code
https://bugs.webkit.org/show_bug.cgi?id=147698

Reviewed by Tim Horton.

  • Modules/webdatabase/DatabaseBackendBase.cpp:

(WebCore::DatabaseBackendBase::interrupt): Deleted.
(WebCore::DatabaseBackendBase::isInterrupted): Deleted.

  • Modules/webdatabase/DatabaseBackendBase.h:
  • Modules/webdatabase/SQLStatementBackend.cpp:

(WebCore::SQLStatementBackend::execute):

  • Modules/webdatabase/SQLTransaction.cpp:

(WebCore::SQLTransaction::computeNextStateAndCleanupIfNeeded):

  • Modules/webdatabase/SQLTransactionBackend.cpp:

(WebCore::SQLTransactionBackend::computeNextStateAndCleanupIfNeeded):

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::SQLiteDatabase::setFullsync):
(WebCore::SQLiteDatabase::SQLiteDatabase): Deleted.
(WebCore::SQLiteDatabase::interrupt): Deleted.
(WebCore::SQLiteDatabase::isInterrupted): Deleted.

  • platform/sql/SQLiteDatabase.h:
  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::prepare): Deleted.
(WebCore::SQLiteStatement::step): Deleted.

3:20 PM Changeset in webkit [187992] by Simon Fraser
  • 2 edits in trunk/Source/WebKit/win

Fix Windows build.

  • WebIconDatabase.h:
2:45 PM Changeset in webkit [187991] by saambarati1@gmail.com
  • 3 edits in trunk/Source/JavaScriptCore

Bytecodegenerator emits crappy code for returns in a lexical scope.
https://bugs.webkit.org/show_bug.cgi?id=147688

Reviewed by Mark Lam.

When returning, we only need to emit complex pop scopes if we're in
a finally block. Otherwise, we can just return like normal. This saves
us from inefficiently emitting unnecessary pop scopes.

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::isInFinallyBlock):
(JSC::BytecodeGenerator::hasFinaliser): Deleted.

  • bytecompiler/NodesCodegen.cpp:

(JSC::ReturnNode::emitBytecode):

2:45 PM Changeset in webkit [187990] by Simon Fraser
  • 6 edits
    32 moves
    5 adds
    1 delete in trunk/LayoutTests

Move platform/ios-simulator/ios/fast/events/touch tests to fast/events/touch

  • fast/events/touch/document-create-touch-list-ios-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/document-create-touch-list-ios-expected.txt.
  • fast/events/touch/document-create-touch-list-ios.html: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/document-create-touch-list-ios.html.
  • fast/events/touch/gesture-event-basic-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/gesture-event-basic-expected.txt.
  • fast/events/touch/gesture-event-basic.html: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/gesture-event-basic.html.
  • fast/events/touch/input-touch-target.html: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/input-touch-target.html.
  • fast/events/touch/inserted-fragment-touch-target-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/inserted-fragment-touch-target-expected.txt.
  • fast/events/touch/inserted-fragment-touch-target.html: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/inserted-fragment-touch-target.html.
  • fast/events/touch/moved-touch-target-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/moved-touch-target-expected.txt.
  • fast/events/touch/moved-touch-target.html: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/moved-touch-target.html.
  • fast/events/touch/multi-touch-some-without-handlers.html: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/multi-touch-some-without-handlers.html.
  • fast/events/touch/ontouchstart-active-selector.html: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/ontouchstart-active-selector.html.
  • fast/events/touch/removed-fragment-touch-target-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/removed-fragment-touch-target-expected.txt.
  • fast/events/touch/removed-fragment-touch-target.html: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/removed-fragment-touch-target.html.
  • fast/events/touch/removed-touch-target-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/removed-touch-target-expected.txt.
  • fast/events/touch/removed-touch-target.html: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/removed-touch-target.html.
  • fast/events/touch/resources/misc-touch-helpers.js: Renamed from LayoutTests/platform/ios-sim-deprecated/iphone/fast/events/touch/misc-touch-helpers.js.
  • fast/events/touch/script-tests/document-create-touch-list-ios.js: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/script-tests/document-create-touch-list-ios.js.
  • fast/events/touch/script-tests/input-touch-target.js: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/script-tests/input-touch-target.js.
  • fast/events/touch/script-tests/multi-touch-some-without-handlers.js: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/script-tests/multi-touch-some-without-handlers.js.
  • fast/events/touch/script-tests/text-node-touch-target.js: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/script-tests/text-node-touch-target.js.
  • fast/events/touch/script-tests/textarea-touch-target.js: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/script-tests/textarea-touch-target.js.
  • fast/events/touch/script-tests/touch-event-frames.js: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/script-tests/touch-event-frames.js.
  • fast/events/touch/script-tests/touch-event-pageXY.js: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/script-tests/touch-event-pageXY.js.
  • fast/events/touch/script-tests/zoomed-touch-event-pageXY.js: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/script-tests/zoomed-touch-event-pageXY.js.
  • fast/events/touch/text-node-touch-target.html: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/text-node-touch-target.html.
  • fast/events/touch/textarea-touch-target.html: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/textarea-touch-target.html.
  • fast/events/touch/touch-event-frames-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/touch-event-frames-expected.txt.
  • fast/events/touch/touch-event-frames.html: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/touch-event-frames.html.
  • fast/events/touch/touch-event-pageXY-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/touch-event-pageXY-expected.txt.
  • fast/events/touch/touch-event-pageXY.html: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/touch-event-pageXY.html.
  • fast/events/touch/touch-scaled-scrolled.html:
  • fast/events/touch/zoomed-touch-event-pageXY-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/zoomed-touch-event-pageXY-expected.txt.
  • fast/events/touch/zoomed-touch-event-pageXY.html: Renamed from LayoutTests/platform/ios-simulator/ios/fast/events/touch/zoomed-touch-event-pageXY.html.
  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
  • platform/ios-simulator/ios/fast/events/touch/script-tests/TEMPLATE.html: Removed.
  • platform/mac/TestExpectations:
2:44 PM Changeset in webkit [187989] by Simon Fraser
  • 3 edits in trunk/LayoutTests

Remove non-existant tests from iOS TestExpectations files.

  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
2:42 PM Changeset in webkit [187988] by fpizlo@apple.com
  • 2 edits in trunk/Source/WTF

Unreviewed, fix Windows.

  • wtf/ThreadSpecificWin.cpp:

(WTF::destructorsList):
(WTF::destructorsMutex):
(WTF::threadSpecificKeyCreate):
(WTF::threadSpecificKeyDelete):
(WTF::ThreadSpecificThreadExit):

2:38 PM Changeset in webkit [187987] by andersca@apple.com
  • 3 edits in trunk/Source/WebCore

Fix build.

  • platform/cf/CoreMediaSoftLink.cpp:
  • platform/cf/CoreMediaSoftLink.h:
2:17 PM Changeset in webkit [187986] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: remove unused Object.deprecatedAddConstructorFunctions
https://bugs.webkit.org/show_bug.cgi?id=147690

Patch by Brian Burg <BJ Burg> on 2015-08-05
Reviewed by Timothy Hatcher.

This is no longer used following the conversion to ES6 classes.

  • UserInterface/Base/Object.js:

(WebInspector.Object.deprecatedAddConstructorFunctions): Deleted.

1:44 PM Changeset in webkit [187985] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Fix build.

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::lookupCTFont):

1:34 PM Changeset in webkit [187984] by andersca@apple.com
  • 8 edits in trunk/Source/WebCore

Change openDatabase to return a Database instead of a DatabaseBackendBase
https://bugs.webkit.org/show_bug.cgi?id=147691

Reviewed by Tim Horton.

  • Modules/webdatabase/AbstractDatabaseServer.h:
  • Modules/webdatabase/Database.cpp:

(WebCore::Database::create): Deleted.

  • Modules/webdatabase/Database.h:
  • Modules/webdatabase/DatabaseManager.cpp:

(WebCore::DatabaseManager::openDatabaseBackend):
(WebCore::DatabaseManager::openDatabase):

  • Modules/webdatabase/DatabaseManager.h:
  • Modules/webdatabase/DatabaseServer.cpp:

(WebCore::DatabaseServer::openDatabase):
(WebCore::DatabaseServer::createDatabase):

  • Modules/webdatabase/DatabaseServer.h:
1:23 PM Changeset in webkit [187983] by matthew_hanson@apple.com
  • 1 edit in branches/safari-601.1.46-branch/Source/WebKit2/WebProcess/WebCoreSupport/SessionStateConversion.cpp

Follow-up fix to the merge of r187962. rdar://problem/21827815

1:07 PM Changeset in webkit [187982] by mmaxfield@apple.com
  • 6 edits in trunk/Source/WebCore

[OS X] Migrate to CTFontCreateForCharactersWithLanguage from [NSFont findFontLike:forString:withRange:inLanguage]
https://bugs.webkit.org/show_bug.cgi?id=147483

Reviewed by Dean Jackson.

[NSFont findFontLike:forString:withRange:inLanguage] doesn't properly handle its last argument. In
addition, we want to be moving away from NSFont in the first place and on to Core Text. This new
CoreText function correctly handles its language argument, which is required for language-specific
font fallback.

This patch rolls r187707 back in which was rolled out in r187802 due to test flakiness. This patch
fixes the flakiness.

No new tests because there is no behavior change.

  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::purgeInactiveFontData):

  • platform/graphics/FontCache.h:

(WebCore::FontCache::platformPurgeInactiveFontData):

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::fallbackDedupSet):
(WebCore::FontCache::platformPurgeInactiveFontData):
(WebCore::lookupCTFont):
(WebCore::FontCache::systemFallbackForCharacters):

  • platform/spi/cocoa/CoreTextSPI.h:
  • platform/spi/mac/NSFontSPI.h:
1:04 PM Changeset in webkit [187981] by benjamin@webkit.org
  • 2 edits in trunk/Websites/webkit.org

Fix the twitter links on the status page

  • status.html:
12:57 PM Changeset in webkit [187980] by matthew_hanson@apple.com
  • 15 edits
    1 add in branches/safari-601.1.46-branch

Merge r187962. rdar://problem/21827815

12:57 PM Changeset in webkit [187979] by matthew_hanson@apple.com
  • 7 edits in branches/safari-601.1.46-branch/Source/WebKit2

Merge r187764. rdar://problem/22077836

12:57 PM Changeset in webkit [187978] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.46-branch/Source/WebCore

Merge r187864. rdar://problem/22081036

12:57 PM Changeset in webkit [187977] by benjamin@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Add the Intl API to the status page

  • features.json:

Andy VanWagoner landed the skeleton of the API and it is
enabled by default.

12:57 PM Changeset in webkit [187976] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.46-branch/Source/WebKit2

Merge r187756. rdar://problem/22119648

12:54 PM Changeset in webkit [187975] by ap@apple.com
  • 7 edits in trunk/Tools

AppScale: Use https URLs for subresources and links
https://bugs.webkit.org/show_bug.cgi?id=147686

Reviewed by Ryosuke Niwa.

  • QueueStatusServer/filters/webkit_extras.py:
  • TestResultServer/static-dashboards/dashboard_base.js:
  • TestResultServer/static-dashboards/flakiness_dashboard.js:
  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
  • TestResultServer/static-dashboards/treemap.js:
  • TestResultServer/static-dashboards/ui.js:
12:31 PM Changeset in webkit [187974] by andersca@apple.com
  • 15 edits
    2 deletes in trunk/Source/WebCore

Get rid of DatabaseBackend as another step towards merging Database and DatabaseBackendBase
https://bugs.webkit.org/show_bug.cgi?id=147687

Reviewed by Tim Horton.

  • CMakeLists.txt:
  • Modules/webdatabase/ChangeVersionWrapper.cpp:

(WebCore::ChangeVersionWrapper::performPreflight):
(WebCore::ChangeVersionWrapper::performPostflight):

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::Database):
(WebCore::Database::close):
(WebCore::Database::from): Deleted.
(WebCore::Database::backend): Deleted.

  • Modules/webdatabase/Database.h:
  • Modules/webdatabase/DatabaseBackend.cpp: Removed.

(WebCore::DatabaseBackend::DatabaseBackend): Deleted.

  • Modules/webdatabase/DatabaseBackend.h: Removed.
  • Modules/webdatabase/DatabaseManager.cpp:
  • Modules/webdatabase/DatabaseServer.cpp:
  • Modules/webdatabase/DatabaseTask.cpp:

(WebCore::DatabaseTask::DatabaseTask):
(WebCore::DatabaseOpenTask::DatabaseOpenTask):
(WebCore::DatabaseOpenTask::doPerformTask):
(WebCore::DatabaseOpenTask::debugTaskName):
(WebCore::DatabaseCloseTask::DatabaseCloseTask):
(WebCore::DatabaseCloseTask::doPerformTask):
(WebCore::DatabaseCloseTask::debugTaskName):
(WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
(WebCore::DatabaseTransactionTask::~DatabaseTransactionTask):
(WebCore::DatabaseTransactionTask::doPerformTask):
(WebCore::DatabaseTransactionTask::debugTaskName):
(WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask):
(WebCore::DatabaseTableNamesTask::doPerformTask):
(WebCore::DatabaseTableNamesTask::debugTaskName):
(WebCore::DatabaseBackend::DatabaseOpenTask::DatabaseOpenTask): Deleted.
(WebCore::DatabaseBackend::DatabaseOpenTask::doPerformTask): Deleted.
(WebCore::DatabaseBackend::DatabaseOpenTask::debugTaskName): Deleted.
(WebCore::DatabaseBackend::DatabaseCloseTask::DatabaseCloseTask): Deleted.
(WebCore::DatabaseBackend::DatabaseCloseTask::doPerformTask): Deleted.
(WebCore::DatabaseBackend::DatabaseCloseTask::debugTaskName): Deleted.
(WebCore::DatabaseBackend::DatabaseTransactionTask::DatabaseTransactionTask): Deleted.
(WebCore::DatabaseBackend::DatabaseTransactionTask::~DatabaseTransactionTask): Deleted.
(WebCore::DatabaseBackend::DatabaseTransactionTask::doPerformTask): Deleted.
(WebCore::DatabaseBackend::DatabaseTransactionTask::debugTaskName): Deleted.
(WebCore::DatabaseBackend::DatabaseTableNamesTask::DatabaseTableNamesTask): Deleted.
(WebCore::DatabaseBackend::DatabaseTableNamesTask::doPerformTask): Deleted.
(WebCore::DatabaseBackend::DatabaseTableNamesTask::debugTaskName): Deleted.

  • Modules/webdatabase/DatabaseTask.h:

(WebCore::DatabaseTask::database):

  • Modules/webdatabase/SQLStatementBackend.cpp:

(WebCore::SQLStatementBackend::execute):

  • Modules/webdatabase/SQLStatementBackend.h:
  • Modules/webdatabase/SQLTransactionBackend.cpp:

(WebCore::SQLTransactionBackend::executeSQL):
(WebCore::SQLTransactionBackend::openTransactionAndPreflight):

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
12:21 PM Changeset in webkit [187973] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit2

WebInspectorProxy should make WKWebView first responder
https://bugs.webkit.org/show_bug.cgi?id=147676

Reviewed by Timothy Hatcher.

Revert r181927 now that WKWebView forwards the first responder role to WKView as needed.

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::platformBringToFront):
(WebKit::WebInspectorProxy::platformAttach):

12:20 PM Changeset in webkit [187972] by fpizlo@apple.com
  • 130 edits in trunk

Rename Mutex to DeprecatedMutex
https://bugs.webkit.org/show_bug.cgi?id=147675

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • bytecode/SamplingTool.cpp:

(JSC::SamplingTool::doRun):
(JSC::SamplingTool::notifyOfScope):

  • bytecode/SamplingTool.h:
  • dfg/DFGThreadData.h:
  • dfg/DFGWorklist.cpp:

(JSC::DFG::Worklist::~Worklist):
(JSC::DFG::Worklist::isActiveForVM):
(JSC::DFG::Worklist::enqueue):
(JSC::DFG::Worklist::compilationState):
(JSC::DFG::Worklist::waitUntilAllPlansForVMAreReady):
(JSC::DFG::Worklist::removeAllReadyPlansForVM):
(JSC::DFG::Worklist::completeAllReadyPlansForVM):
(JSC::DFG::Worklist::visitWeakReferences):
(JSC::DFG::Worklist::removeDeadPlans):
(JSC::DFG::Worklist::queueLength):
(JSC::DFG::Worklist::dump):
(JSC::DFG::Worklist::runThread):

  • dfg/DFGWorklist.h:
  • disassembler/Disassembler.cpp:
  • heap/CopiedSpace.cpp:

(JSC::CopiedSpace::doneFillingBlock):
(JSC::CopiedSpace::doneCopying):

  • heap/CopiedSpace.h:
  • heap/CopiedSpaceInlines.h:

(JSC::CopiedSpace::recycleBorrowedBlock):
(JSC::CopiedSpace::allocateBlockForCopyingPhase):

  • heap/HeapTimer.h:
  • heap/MachineStackMarker.cpp:

(JSC::ActiveMachineThreadsManager::Locker::Locker):
(JSC::ActiveMachineThreadsManager::add):
(JSC::ActiveMachineThreadsManager::remove):
(JSC::ActiveMachineThreadsManager::ActiveMachineThreadsManager):
(JSC::MachineThreads::~MachineThreads):
(JSC::MachineThreads::addCurrentThread):
(JSC::MachineThreads::removeThreadIfFound):
(JSC::MachineThreads::tryCopyOtherThreadStack):
(JSC::MachineThreads::tryCopyOtherThreadStacks):
(JSC::MachineThreads::gatherConservativeRoots):

  • heap/MachineStackMarker.h:
  • interpreter/JSStack.cpp:

(JSC::stackStatisticsMutex):
(JSC::JSStack::addToCommittedByteCount):
(JSC::JSStack::committedByteCount):

  • jit/JITThunks.h:
  • profiler/ProfilerDatabase.h:

Source/WebCore:

No new tests because this is just a renaming.

  • Modules/webaudio/AsyncAudioDecoder.cpp:

(WebCore::AsyncAudioDecoder::AsyncAudioDecoder):
(WebCore::AsyncAudioDecoder::runLoop):

  • Modules/webaudio/AsyncAudioDecoder.h:
  • Modules/webaudio/AudioContext.h:
  • Modules/webaudio/MediaStreamAudioSource.cpp:

(WebCore::MediaStreamAudioSource::addAudioConsumer):
(WebCore::MediaStreamAudioSource::removeAudioConsumer):
(WebCore::MediaStreamAudioSource::setAudioFormat):
(WebCore::MediaStreamAudioSource::consumeAudio):

  • Modules/webaudio/MediaStreamAudioSource.h:
  • Modules/webdatabase/Database.cpp:

(WebCore::Database::close):
(WebCore::Database::runTransaction):
(WebCore::Database::inProgressTransactionCompleted):
(WebCore::Database::hasPendingTransaction):

  • Modules/webdatabase/DatabaseBackend.h:
  • Modules/webdatabase/DatabaseBackendBase.cpp:

(WebCore::DatabaseBackendBase::performOpenAndVerify):
(WebCore::DatabaseBackendBase::isInterrupted):

  • Modules/webdatabase/DatabaseContext.cpp:

(WebCore::DatabaseContext::databaseThread):
(WebCore::DatabaseContext::setPaused):

  • Modules/webdatabase/DatabaseContext.h:
  • Modules/webdatabase/DatabaseTask.h:
  • Modules/webdatabase/DatabaseThread.cpp:

(WebCore::DatabaseThread::start):
(WebCore::DatabaseThread::setPaused):
(WebCore::DatabaseThread::handlePausedQueue):
(WebCore::DatabaseThread::databaseThread):

  • Modules/webdatabase/DatabaseThread.h:
  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::setDatabaseDirectoryPath):
(WebCore::DatabaseTracker::canEstablishDatabase):
(WebCore::DatabaseTracker::retryCanEstablishDatabase):
(WebCore::DatabaseTracker::hasEntryForOrigin):
(WebCore::DatabaseTracker::getMaxSizeForDatabase):
(WebCore::DatabaseTracker::closeAllDatabases):
(WebCore::DatabaseTracker::interruptAllDatabasesForContext):
(WebCore::DatabaseTracker::fullPathForDatabase):
(WebCore::DatabaseTracker::origins):
(WebCore::DatabaseTracker::databaseNamesForOrigin):
(WebCore::DatabaseTracker::detailsForNameAndOrigin):
(WebCore::DatabaseTracker::setDatabaseDetails):
(WebCore::DatabaseTracker::doneCreatingDatabase):
(WebCore::DatabaseTracker::addOpenDatabase):
(WebCore::DatabaseTracker::removeOpenDatabase):
(WebCore::DatabaseTracker::getOpenDatabases):
(WebCore::DatabaseTracker::originLockFor):
(WebCore::DatabaseTracker::quotaForOrigin):
(WebCore::DatabaseTracker::setQuota):
(WebCore::DatabaseTracker::deleteOrigin):
(WebCore::DatabaseTracker::deleteDatabase):
(WebCore::DatabaseTracker::deleteDatabaseFile):
(WebCore::DatabaseTracker::removeDeletedOpenedDatabases):
(WebCore::DatabaseTracker::deleteDatabaseFileIfEmpty):
(WebCore::DatabaseTracker::openDatabaseMutex):
(WebCore::DatabaseTracker::setDatabasesPaused):
(WebCore::DatabaseTracker::setClient):
(WebCore::notificationMutex):
(WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
(WebCore::DatabaseTracker::notifyDatabasesChanged):

  • Modules/webdatabase/DatabaseTracker.h:
  • Modules/webdatabase/OriginLock.h:
  • Modules/webdatabase/SQLCallbackWrapper.h:

(WebCore::SQLCallbackWrapper::clear):
(WebCore::SQLCallbackWrapper::unwrap):
(WebCore::SQLCallbackWrapper::hasCallback):

  • Modules/webdatabase/SQLTransactionBackend.cpp:

(WebCore::SQLTransactionBackend::doCleanup):
(WebCore::SQLTransactionBackend::enqueueStatementBackend):
(WebCore::SQLTransactionBackend::getNextStatement):

  • Modules/webdatabase/SQLTransactionBackend.h:
  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::scheduleExecutionTermination):
(WebCore::WorkerScriptController::isExecutionTerminating):

  • bindings/js/WorkerScriptController.h:
  • dom/default/PlatformMessagePortChannel.cpp:

(WebCore::MessagePortChannel::postMessageToRemote):
(WebCore::MessagePortChannel::tryGetMessageFromRemote):
(WebCore::MessagePortChannel::isConnectedTo):
(WebCore::MessagePortChannel::hasPendingActivity):
(WebCore::MessagePortChannel::locallyEntangledPort):
(WebCore::PlatformMessagePortChannel::setRemotePort):
(WebCore::PlatformMessagePortChannel::entangledChannel):
(WebCore::PlatformMessagePortChannel::closeInternal):

  • dom/default/PlatformMessagePortChannel.h:
  • loader/icon/IconDatabase.cpp:

(WebCore::IconDatabase::removeAllIcons):
(WebCore::IconDatabase::synchronousIconForPageURL):
(WebCore::IconDatabase::synchronousNativeIconForPageURL):
(WebCore::IconDatabase::synchronousIconURLForPageURL):
(WebCore::IconDatabase::retainIconForPageURL):
(WebCore::IconDatabase::performRetainIconForPageURL):
(WebCore::IconDatabase::releaseIconForPageURL):
(WebCore::IconDatabase::performReleaseIconForPageURL):
(WebCore::IconDatabase::setIconDataForIconURL):
(WebCore::IconDatabase::setIconURLForPageURL):
(WebCore::IconDatabase::synchronousLoadDecisionForIconURL):
(WebCore::IconDatabase::synchronousIconDataKnownForIconURL):
(WebCore::IconDatabase::pageURLMappingCount):
(WebCore::IconDatabase::retainedPageURLCount):
(WebCore::IconDatabase::iconRecordCount):
(WebCore::IconDatabase::iconRecordCountWithData):
(WebCore::IconDatabase::wakeSyncThread):
(WebCore::IconDatabase::isOpenBesidesMainThreadCallbacks):
(WebCore::IconDatabase::databasePath):
(WebCore::IconDatabase::getOrCreatePageURLRecord):
(WebCore::IconDatabase::iconDatabaseSyncThread):
(WebCore::IconDatabase::performOpenInitialization):
(WebCore::IconDatabase::performURLImport):
(WebCore::IconDatabase::syncThreadMainLoop):
(WebCore::IconDatabase::performPendingRetainAndReleaseOperations):
(WebCore::IconDatabase::readFromDatabase):
(WebCore::IconDatabase::writeToDatabase):
(WebCore::IconDatabase::pruneUnretainedIcons):
(WebCore::IconDatabase::cleanupSyncThread):

  • loader/icon/IconDatabase.h:
  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
(WebCore::ScrollingTree::commitNewTreeState):
(WebCore::ScrollingTree::setMainFramePinState):
(WebCore::ScrollingTree::mainFrameScrollPosition):
(WebCore::ScrollingTree::setMainFrameScrollPosition):
(WebCore::ScrollingTree::isPointInNonFastScrollableRegion):
(WebCore::ScrollingTree::isRubberBandInProgress):
(WebCore::ScrollingTree::setMainFrameIsRubberBanding):
(WebCore::ScrollingTree::isScrollSnapInProgress):
(WebCore::ScrollingTree::setMainFrameIsScrollSnapping):
(WebCore::ScrollingTree::setCanRubberBandState):
(WebCore::ScrollingTree::rubberBandsAtLeft):
(WebCore::ScrollingTree::rubberBandsAtRight):
(WebCore::ScrollingTree::rubberBandsAtBottom):
(WebCore::ScrollingTree::rubberBandsAtTop):
(WebCore::ScrollingTree::setScrollPinningBehavior):
(WebCore::ScrollingTree::scrollPinningBehavior):
(WebCore::ScrollingTree::willWheelEventStartSwipeGesture):
(WebCore::ScrollingTree::latchedNode):
(WebCore::ScrollingTree::setLatchedNode):
(WebCore::ScrollingTree::clearLatchedNode):

  • page/scrolling/ScrollingTree.h:
  • platform/MemoryPressureHandler.h:
  • platform/audio/HRTFDatabaseLoader.cpp:

(WebCore::HRTFDatabaseLoader::loadAsynchronously):
(WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):

  • platform/audio/HRTFDatabaseLoader.h:
  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::setReceivedMemoryPressure):
(WebCore::MemoryPressureHandler::clearMemoryPressure):
(WebCore::MemoryPressureHandler::shouldWaitForMemoryClearMessage):
(WebCore::MemoryPressureHandler::respondToMemoryPressureIfNeeded):

  • platform/graphics/DisplayRefreshMonitor.cpp:

(WebCore::DisplayRefreshMonitor::displayDidRefresh):

  • platform/graphics/DisplayRefreshMonitor.h:

(WebCore::DisplayRefreshMonitor::setMonotonicAnimationStartTime):
(WebCore::DisplayRefreshMonitor::mutex):

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::setDelayCallbacks):
(WebCore::MediaPlayerPrivateAVFoundation::clearMainThreadPendingFlag):
(WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):

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

(WebCore::AVFWrapper::callbackContext):
(WebCore::AVFWrapper::~AVFWrapper):
(WebCore::AVFWrapper::mapLock):
(WebCore::AVFWrapper::addToMap):
(WebCore::AVFWrapper::removeFromMap):
(WebCore::AVFWrapper::periodicTimeObserverCallback):
(WebCore::AVFWrapper::processNotification):
(WebCore::AVFWrapper::loadPlayableCompletionCallback):
(WebCore::AVFWrapper::loadMetadataCompletionCallback):
(WebCore::AVFWrapper::seekCompletedCallback):
(WebCore::AVFWrapper::processCue):
(WebCore::AVFWrapper::legibleOutputCallback):
(WebCore::AVFWrapper::processShouldWaitForLoadingOfResource):
(WebCore::AVFWrapper::resourceLoaderShouldWaitForLoadingOfRequestedResource):

  • platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:

(WebCore::InbandTextTrackPrivateGStreamer::handleSample):
(WebCore::InbandTextTrackPrivateGStreamer::notifyTrackOfSample):

  • platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:

(WebCore::TrackPrivateBaseGStreamer::tagsChanged):
(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged):

  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
  • platform/graphics/mac/DisplayRefreshMonitorMac.cpp:

(WebCore::DisplayRefreshMonitorMac::requestRefreshCallback):
(WebCore::DisplayRefreshMonitorMac::displayLinkFired):

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::addListener):
(WebCore::MediaPlayerPrivateMediaFoundation::removeListener):
(WebCore::MediaPlayerPrivateMediaFoundation::notifyDeleted):
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::Invoke):
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::onMediaPlayerDeleted):

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
  • platform/ios/LegacyTileCache.h:
  • platform/ios/LegacyTileCache.mm:

(WebCore::LegacyTileCache::setTilesOpaque):
(WebCore::LegacyTileCache::doLayoutTiles):
(WebCore::LegacyTileCache::setCurrentScale):
(WebCore::LegacyTileCache::commitScaleChange):
(WebCore::LegacyTileCache::layoutTilesNow):
(WebCore::LegacyTileCache::layoutTilesNowForRect):
(WebCore::LegacyTileCache::removeAllNonVisibleTiles):
(WebCore::LegacyTileCache::removeAllTiles):
(WebCore::LegacyTileCache::removeForegroundTiles):
(WebCore::LegacyTileCache::setContentReplacementImage):
(WebCore::LegacyTileCache::contentReplacementImage):
(WebCore::LegacyTileCache::tileCreationTimerFired):
(WebCore::LegacyTileCache::setNeedsDisplayInRect):
(WebCore::LegacyTileCache::updateTilingMode):
(WebCore::LegacyTileCache::setTilingMode):
(WebCore::LegacyTileCache::doPendingRepaints):
(WebCore::LegacyTileCache::flushSavedDisplayRects):
(WebCore::LegacyTileCache::prepareToDraw):

  • platform/ios/LegacyTileLayerPool.h:
  • platform/ios/LegacyTileLayerPool.mm:

(WebCore::LegacyTileLayerPool::addLayer):
(WebCore::LegacyTileLayerPool::takeLayerWithSize):
(WebCore::LegacyTileLayerPool::setCapacity):
(WebCore::LegacyTileLayerPool::prune):
(WebCore::LegacyTileLayerPool::drain):

  • platform/network/curl/CurlDownload.cpp:

(WebCore::CurlDownloadManager::add):
(WebCore::CurlDownloadManager::remove):
(WebCore::CurlDownloadManager::getActiveDownloadCount):
(WebCore::CurlDownloadManager::getPendingDownloadCount):
(WebCore::CurlDownloadManager::stopThreadIfIdle):
(WebCore::CurlDownloadManager::updateHandleList):
(WebCore::CurlDownload::~CurlDownload):
(WebCore::CurlDownload::init):
(WebCore::CurlDownload::getTempPath):
(WebCore::CurlDownload::getUrl):
(WebCore::CurlDownload::getResponse):
(WebCore::CurlDownload::closeFile):
(WebCore::CurlDownload::didReceiveHeader):
(WebCore::CurlDownload::didReceiveData):
(WebCore::CurlDownload::didFail):

  • platform/network/curl/CurlDownload.h:
  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::cookieJarPath):
(WebCore::sharedResourceMutex):
(WebCore::curl_lock_callback):
(WebCore::curl_unlock_callback):

  • platform/network/ios/QuickLook.mm:

(WebCore::QLDirectoryAttributes):
(qlPreviewConverterDictionaryMutex):
(WebCore::addQLPreviewConverterWithFileForURL):
(WebCore::qlPreviewConverterUTIForURL):
(WebCore::removeQLPreviewConverterForURL):
(WebCore::safeQLURLForDocumentURLAndResourceURL):

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::SQLiteDatabase::close):
(WebCore::SQLiteDatabase::interrupt):
(WebCore::SQLiteDatabase::maximumSize):
(WebCore::SQLiteDatabase::setMaximumSize):
(WebCore::SQLiteDatabase::pageSize):
(WebCore::SQLiteDatabase::freeSpaceSize):
(WebCore::SQLiteDatabase::totalSize):
(WebCore::SQLiteDatabase::runIncrementalVacuumCommand):
(WebCore::SQLiteDatabase::setAuthorizer):

  • platform/sql/SQLiteDatabase.h:

(WebCore::SQLiteDatabase::databaseMutex):

  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::prepare):
(WebCore::SQLiteStatement::step):

  • workers/WorkerThread.cpp:

(WebCore::WorkerThread::start):
(WebCore::WorkerThread::workerThread):
(WebCore::WorkerThread::stop):

  • workers/WorkerThread.h:

Source/WebKit:

  • Storage/StorageAreaSync.cpp:

(WebCore::StorageAreaSync::syncTimerFired):
(WebCore::StorageAreaSync::markImported):
(WebCore::StorageAreaSync::blockUntilImportComplete):
(WebCore::StorageAreaSync::performSync):

  • Storage/StorageAreaSync.h:
  • Storage/StorageTracker.cpp:

(WebCore::StorageTracker::setDatabaseDirectoryPath):
(WebCore::StorageTracker::finishedImportingOriginIdentifiers):
(WebCore::StorageTracker::syncImportOriginIdentifiers):
(WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
(WebCore::StorageTracker::setOriginDetails):
(WebCore::StorageTracker::syncSetOriginDetails):
(WebCore::StorageTracker::origins):
(WebCore::StorageTracker::deleteAllOrigins):
(WebCore::StorageTracker::syncDeleteAllOrigins):
(WebCore::StorageTracker::deleteOrigin):
(WebCore::StorageTracker::syncDeleteOrigin):
(WebCore::StorageTracker::canDeleteOrigin):
(WebCore::StorageTracker::cancelDeletingOrigin):
(WebCore::StorageTracker::diskUsageForOrigin):

  • Storage/StorageTracker.h:

Source/WebKit/ios:

  • WebCoreSupport/WebFixedPositionContent.mm:

(WebFixedPositionContentDataLock):
(-[WebFixedPositionContent scrollOrZoomChanged:]):
(-[WebFixedPositionContent overflowScrollPositionForLayer:changedTo:]):
(-[WebFixedPositionContent setViewportConstrainedLayers:stickyContainerMap:]):
(-[WebFixedPositionContent hasFixedOrStickyPositionLayers]):
(-[WebFixedPositionContent minimumOffsetFromFixedPositionLayersToAnchorEdge:ofRect:inLayer:]):

Source/WebKit/mac:

  • Storage/WebDatabaseManager.mm:

(transactionBackgroundTaskIdentifierLock):
(+[WebDatabaseManager startBackgroundTask]):
(+[WebDatabaseManager endBackgroundTask]):

  • WebView/WebView.mm:

(-[WebView _synchronizeCustomFixedPositionLayoutRect]):
(-[WebView _setCustomFixedPositionLayoutRectInWebThread:synchronize:]):
(-[WebView _setCustomFixedPositionLayoutRect:]):
(-[WebView _fetchCustomFixedPositionLayoutRect:]):

  • WebView/WebViewData.h:

Source/WebKit/win:

  • Plugins/PluginMainThreadScheduler.cpp:

(WebCore::PluginMainThreadScheduler::scheduleCall):
(WebCore::PluginMainThreadScheduler::registerPlugin):
(WebCore::PluginMainThreadScheduler::unregisterPlugin):
(WebCore::PluginMainThreadScheduler::dispatchCallsForPlugin):

  • Plugins/PluginMainThreadScheduler.h:
  • WebIconDatabase.cpp:

(WebIconDatabase::didRemoveAllIcons):
(WebIconDatabase::didImportIconURLForPageURL):
(WebIconDatabase::deliverNotifications):

  • WebLocalizableStrings.cpp:

(mainBundleLocStrings):
(frameworkLocStringsMutex):
(findCachedString):
(cacheString):

Source/WebKit2:

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::postDatabaseTask):
(WebKit::DatabaseProcess::performNextDatabaseTask):

  • DatabaseProcess/DatabaseProcess.h:
  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::shutdown):
(WebKit::UniqueIDBDatabase::postMainThreadTask):
(WebKit::UniqueIDBDatabase::performNextMainThreadTask):
(WebKit::UniqueIDBDatabase::postDatabaseTask):
(WebKit::UniqueIDBDatabase::performNextDatabaseTask):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
  • Platform/IPC/Connection.cpp:

(IPC::Connection::sendSyncMessage):
(IPC::Connection::sendSyncMessageFromSecondaryThread):
(IPC::Connection::waitForSyncReply):
(IPC::Connection::processIncomingSyncReply):
(IPC::Connection::connectionDidClose):

  • Platform/IPC/Connection.h:
  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebKit::CoordinatedGraphicsScene::appendUpdate):

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:
  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::ThreadedCompositor::createCompositingThread):
(WebKit::ThreadedCompositor::runCompositingThread):
(WebKit::ThreadedCompositor::terminateCompositingThread):

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
  • Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm:

(WebKit::CustomProtocolManager::addCustomProtocol):
(WebKit::CustomProtocolManager::removeCustomProtocol):
(WebKit::CustomProtocolManager::registerScheme):
(WebKit::CustomProtocolManager::unregisterScheme):
(WebKit::CustomProtocolManager::supportsScheme):
(WebKit::CustomProtocolManager::protocolForID):

  • Shared/Network/CustomProtocols/CustomProtocolManager.h:
  • Shared/linux/SeccompFilters/SeccompBroker.cpp:
  • WebProcess/Plugins/PluginProcessConnectionManager.cpp:

(WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
(WebKit::PluginProcessConnectionManager::removePluginProcessConnection):
(WebKit::PluginProcessConnectionManager::pluginProcessCrashed):

  • WebProcess/Plugins/PluginProcessConnectionManager.h:
  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::addScrollingTreeForPage):
(WebKit::EventDispatcher::removeScrollingTreeForPage):
(WebKit::EventDispatcher::wheelEvent):

  • WebProcess/WebPage/EventDispatcher.h:
  • WebProcess/soup/WebKitSoupRequestInputStream.cpp:

(webkitSoupRequestInputStreamReadAsync):
(webkitSoupRequestInputStreamAddData):

Source/WTF:

  • wtf/Atomics.cpp:

(WTF::getSwapLock):
(WTF::atomicStep):

  • wtf/MessageQueue.h:

(WTF::MessageQueue::infiniteTime):
(WTF::MessageQueue<DataType>::append):
(WTF::MessageQueue<DataType>::appendAndKill):
(WTF::MessageQueue<DataType>::appendAndCheckEmpty):
(WTF::MessageQueue<DataType>::prepend):
(WTF::MessageQueue<DataType>::removeIf):
(WTF::MessageQueue<DataType>::isEmpty):
(WTF::MessageQueue<DataType>::kill):
(WTF::MessageQueue<DataType>::killed):

  • wtf/ParallelJobsGeneric.cpp:

(WTF::ParallelEnvironment::ThreadPrivate::execute):
(WTF::ParallelEnvironment::ThreadPrivate::waitForFinish):
(WTF::ParallelEnvironment::ThreadPrivate::workerThread):

  • wtf/ParallelJobsGeneric.h:
  • wtf/RunLoop.cpp:

(WTF::RunLoop::performWork):
(WTF::RunLoop::dispatch):

  • wtf/RunLoop.h:
  • wtf/Threading.cpp:

(WTF::threadEntryPoint):
(WTF::createThread):

  • wtf/ThreadingPrimitives.h:
  • wtf/ThreadingPthreads.cpp:

(WTF::threadMapMutex):
(WTF::initializeThreading):
(WTF::identifierByPthreadHandle):
(WTF::establishIdentifierForPthreadHandle):
(WTF::changeThreadPriority):
(WTF::waitForThreadCompletion):
(WTF::detachThread):
(WTF::threadDidExit):
(WTF::currentThread):
(WTF::DeprecatedMutex::DeprecatedMutex):
(WTF::DeprecatedMutex::~DeprecatedMutex):
(WTF::DeprecatedMutex::lock):
(WTF::DeprecatedMutex::tryLock):
(WTF::DeprecatedMutex::unlock):
(WTF::ThreadCondition::~ThreadCondition):
(WTF::ThreadCondition::wait):
(WTF::ThreadCondition::timedWait):
(WTF::Mutex::Mutex): Deleted.
(WTF::Mutex::~Mutex): Deleted.
(WTF::Mutex::lock): Deleted.
(WTF::Mutex::tryLock): Deleted.
(WTF::Mutex::unlock): Deleted.

  • wtf/ThreadingWin.cpp:

(WTF::initializeCurrentThreadInternal):
(WTF::threadMapMutex):
(WTF::initializeThreading):
(WTF::storeThreadHandleByIdentifier):
(WTF::threadHandleForIdentifier):
(WTF::clearThreadHandleForIdentifier):
(WTF::currentThread):
(WTF::DeprecatedMutex::DeprecatedMutex):
(WTF::DeprecatedMutex::~DeprecatedMutex):
(WTF::DeprecatedMutex::lock):
(WTF::DeprecatedMutex::tryLock):
(WTF::DeprecatedMutex::unlock):
(WTF::ThreadCondition::~ThreadCondition):
(WTF::ThreadCondition::wait):
(WTF::ThreadCondition::timedWait):
(WTF::Mutex::Mutex): Deleted.
(WTF::Mutex::~Mutex): Deleted.
(WTF::Mutex::lock): Deleted.
(WTF::Mutex::tryLock): Deleted.
(WTF::Mutex::unlock): Deleted.

  • wtf/WorkQueue.h:
  • wtf/dtoa.cpp:
  • wtf/dtoa.h:
  • wtf/efl/DispatchQueueEfl.cpp:

(DispatchQueue::dispatch):
(DispatchQueue::performWork):
(DispatchQueue::performTimerWork):
(DispatchQueue::insertTimerWorkItem):
(DispatchQueue::wakeUpThread):
(DispatchQueue::getNextTimeOut):

  • wtf/efl/DispatchQueueEfl.h:
  • wtf/efl/RunLoopEfl.cpp:

(WTF::RunLoop::wakeUpEvent):
(WTF::RunLoop::wakeUp):

  • wtf/threads/BinarySemaphore.cpp:

(WTF::BinarySemaphore::signal):
(WTF::BinarySemaphore::wait):

  • wtf/threads/BinarySemaphore.h:
  • wtf/win/WorkQueueWin.cpp:

(WTF::WorkQueue::handleCallback):
(WTF::WorkQueue::platformInvalidate):
(WTF::WorkQueue::dispatch):
(WTF::WorkQueue::timerCallback):
(WTF::WorkQueue::dispatchAfter):

Tools:

  • DumpRenderTree/JavaScriptThreading.cpp:

(javaScriptThreadsMutex):
(runJavaScriptThread):
(startJavaScriptThreads):
(stopJavaScriptThreads):

  • TestWebKitAPI/Tests/WTF/WorkQueue.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/glib/WorkQueueGLib.cpp:

(TestWebKitAPI::TEST):

11:40 AM Changeset in webkit [187971] by mdaiter@apple.com
  • 3 edits in trunk/Source/WebCore

Adding in MediaPrivateMediaStreamEngine to default compile
https://bugs.webkit.org/show_bug.cgi?id=146790
<rdar://problem/21747289>

Reviewed by Eric Carlson.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/mediastream/MediaStreamPrivate.h:

(WebCore::MediaStreamPrivate::MediaStreamPrivate):

11:35 AM Changeset in webkit [187970] by mdaiter@apple.com
  • 3 edits in trunk/Source/WebCore

Remove m_synchronizer from MediaPlayerPrivateMediaStream
https://bugs.webkit.org/show_bug.cgi?id=147637

Reviewed by Eric Carlson.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::playInternal): Deleted.

11:29 AM Changeset in webkit [187969] by saambarati1@gmail.com
  • 34 edits
    4 deletes in trunk/Source/JavaScriptCore

Replace JSFunctionNameScope with JSLexicalEnvironment for the function name scope.
https://bugs.webkit.org/show_bug.cgi?id=147657

Reviewed by Mark Lam.

This kills the last of the name scope objects. Function name scopes are
now built on top of the scoping mechanisms introduced with ES6 block scoping.
A name scope is now just a JSLexicalEnvironment. We treat assignments to the
function name scoped variable carefully depending on if the function is in
strict mode. If we're in strict mode, then we treat the variable exactly
like a "const" variable. If we're not in strict mode, we can't treat
this variable like like ES6 "const" because that would cause the bytecode
generator to throw an exception when it shouldn't.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::initializeDefaultParameterValuesAndSetupFunctionScopeStack):
(JSC::BytecodeGenerator::pushLexicalScope):
(JSC::BytecodeGenerator::pushLexicalScopeInternal):
(JSC::BytecodeGenerator::variable):
(JSC::BytecodeGenerator::resolveType):
(JSC::BytecodeGenerator::emitThrowTypeError):
(JSC::BytecodeGenerator::emitPushFunctionNameScope):
(JSC::BytecodeGenerator::pushScopedControlFlowContext):
(JSC::BytecodeGenerator::emitPushCatchScope):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:
  • debugger/DebuggerScope.cpp:
  • dfg/DFGOperations.cpp:
  • interpreter/Interpreter.cpp:
  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

  • jit/JIT.h:
  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_to_string):
(JSC::JIT::emit_op_catch):
(JSC::JIT::emit_op_push_name_scope): Deleted.

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emitSlow_op_to_string):
(JSC::JIT::emit_op_catch):
(JSC::JIT::emit_op_push_name_scope): Deleted.

  • jit/JITOperations.cpp:

(JSC::pushNameScope): Deleted.

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter.asm:
  • parser/Nodes.cpp:
  • runtime/CommonSlowPaths.cpp:
  • runtime/Executable.cpp:

(JSC::ScriptExecutable::newCodeBlockFor):

  • runtime/JSFunctionNameScope.cpp: Removed.
  • runtime/JSFunctionNameScope.h: Removed.
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::withScopeStructure):
(JSC::JSGlobalObject::strictEvalActivationStructure):
(JSC::JSGlobalObject::activationStructure):
(JSC::JSGlobalObject::directArgumentsStructure):
(JSC::JSGlobalObject::scopedArgumentsStructure):
(JSC::JSGlobalObject::outOfBandArgumentsStructure):
(JSC::JSGlobalObject::functionNameScopeStructure): Deleted.

  • runtime/JSNameScope.cpp: Removed.
  • runtime/JSNameScope.h: Removed.
  • runtime/JSObject.cpp:

(JSC::JSObject::toThis):
(JSC::JSObject::seal):
(JSC::JSObject::isFunctionNameScopeObject): Deleted.

  • runtime/JSObject.h:
  • runtime/JSScope.cpp:

(JSC::JSScope::isCatchScope):
(JSC::JSScope::isFunctionNameScopeObject):
(JSC::resolveModeName):

  • runtime/JSScope.h:
  • runtime/JSSymbolTableObject.cpp:
  • runtime/SymbolTable.h:
  • runtime/VM.cpp:
11:24 AM Changeset in webkit [187968] by Brian Burg
  • 13 edits in trunk/Source/WebInspectorUI

Web Inspector: Convert miscellaneous view widgets to use ES6 classes
https://bugs.webkit.org/show_bug.cgi?id=147658

Reviewed by Joseph Pecoraro.

Along the way, inline a few style class names.

Elided mechanical changes from the Changelog.

  • UserInterface/Base/Test.js:
  • UserInterface/Views/CSSStyleDeclarationSection.js:
  • UserInterface/Views/ConsolePrompt.js:
  • UserInterface/Views/ContentBrowser.js:
  • UserInterface/Views/ContentViewContainer.js:
  • UserInterface/Views/DOMTreeDataGridNode.js:
  • UserInterface/Views/IndeterminateProgressSpinner.js:
  • UserInterface/Views/NavigationBar.js:
  • UserInterface/Views/ProbeSetDataGridNode.js:
  • UserInterface/Views/QuickConsoleNavigationBar.js:
  • UserInterface/Views/Toolbar.js:
11:12 AM Changeset in webkit [187967] by Brian Burg
  • 35 edits in trunk/Source/WebInspectorUI

Web Inspector: Convert remaining ContentViews to use ES6 classes
https://bugs.webkit.org/show_bug.cgi?id=147534

Reviewed by Joseph Pecoraro.

Along the way, inline a few style class names.

Elided mechanical changes from the Changelog.

  • UserInterface/Views/ApplicationCacheFrameContentView.js:
  • UserInterface/Views/ClusterContentView.js:
  • UserInterface/Views/ConsoleTabContentView.js:
  • UserInterface/Views/ContentBrowserTabContentView.js: Rearrange initialization

of the tab's content browser to comply with TDZ rules for using this.

  • UserInterface/Views/ContentFlowDOMTreeContentView.js:
  • UserInterface/Views/ContentView.js:
  • UserInterface/Views/ContentViewContainer.js:
  • UserInterface/Views/CookieStorageContentView.js:
  • UserInterface/Views/DOMStorageContentView.js:
  • UserInterface/Views/DOMTreeContentView.js:
  • UserInterface/Views/DatabaseContentView.js:
  • UserInterface/Views/DatabaseTableContentView.js:
  • UserInterface/Views/DebuggerTabContentView.js:
  • UserInterface/Views/ElementsTabContentView.js:
  • UserInterface/Views/FontResourceContentView.js:
  • UserInterface/Views/FrameDOMTreeContentView.js:
  • UserInterface/Views/GenericResourceContentView.js:
  • UserInterface/Views/ImageResourceContentView.js:
  • UserInterface/Views/IndexedDatabaseObjectStoreContentView.js:
  • UserInterface/Views/LogContentView.js:
  • UserInterface/Views/NetworkGridContentView.js:
  • UserInterface/Views/NetworkTabContentView.js:
  • UserInterface/Views/NewTabContentView.js:
  • UserInterface/Views/ResourceClusterContentView.js:
  • UserInterface/Views/ResourceContentView.js:
  • UserInterface/Views/ResourcesTabContentView.js:
  • UserInterface/Views/ScriptContentView.js:
  • UserInterface/Views/SearchTabContentView.js:
  • UserInterface/Views/SettingsTabContentView.js:
  • UserInterface/Views/StorageTabContentView.js:
  • UserInterface/Views/TabContentView.js:
  • UserInterface/Views/TextContentView.js:
  • UserInterface/Views/TextResourceContentView.js:
  • UserInterface/Views/TimelineRecordingContentView.js:
11:09 AM Changeset in webkit [187966] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

Mark failing scrolling test.

  • platform/mac/TestExpectations:
10:30 AM Changeset in webkit [187965] by timothy@apple.com
  • 2 edits in trunk/Tools

Update the WebKit nightly icon
https://bugs.webkit.org/show_bug.cgi?id=147684

Reviewed by Sam Weinig.

  • WebKitLauncher/webkit.icns: Replaced.
9:16 AM Changeset in webkit [187964] by Brent Fulgham
  • 3 edits in trunk/LayoutTests

Unreviewed test gardening.

Skip new latched scrolling test on WK1 due to timeout. Check in some minor clean-ups in
the test based on feedback from Antti and others:

  • platform/mac/TestExpectations:
  • platform/mac/fast/scrolling/scroll-div-with-nested-nonscrollable-iframe.html:
9:15 AM Changeset in webkit [187963] by Wenson Hsieh
  • 2 edits in trunk/Source/WebCore

Build fix after 187961

  • platform/mac/ThemeMac.mm:

(WebCore::ThemeMac::drawCellOrFocusRingWithViewIntoContext):

9:05 AM Changeset in webkit [187962] by dbates@webkit.org
  • 15 edits
    1 add in trunk

REGRESSION (r185111): Clicking phone numbers doesn't prompt to call sometimes
https://bugs.webkit.org/show_bug.cgi?id=147678
<rdar://problem/21827815>

Reviewed by Brady Eidson.

Source/WebCore:

Fixes an issue where a non-user-initiated navigation of the main frame to a phone link (tel URL)
may be ignored. The navigation is ignored if the page was reloaded as a result of a web content
process crash, its lifetime exceeded the back-forward cache expiration interval, or a person
quits and opens Safari again, among other scenarios.

  • history/HistoryItem.cpp:

(WebCore::HistoryItem::setShouldOpenExternalURLsPolicy): Added.
(WebCore::HistoryItem::shouldOpenExternalURLsPolicy): Added.

  • history/HistoryItem.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadDifferentDocumentItem): Apply the "should open external URLs" policy
from the history item, if applicable. Also, be more explicit when instantiating a NavigationAction
so as to help make it straightforward to reduce the number of NavigationAction constructors we have
in the future.

  • loader/HistoryController.cpp:

(WebCore::HistoryController::saveDocumentState): Save the "should open external URLs" policy to
the history item.
(WebCore::HistoryController::restoreDocumentState): Apply the "should open external URLs" policy
from the history item to the document loader.
(WebCore::HistoryController::initializeItem): Update the "should open external URLs" policy of
the history item to reflect the policy of the document loader associated with the current frame.

Source/WebKit2:

Teach WebKit to save and restore the "should open external URLs" policy.

  • Shared/SessionState.cpp:

(WebKit::isValidEnum): Added.
(WebKit::PageState::encode): Modified to encode the "should open external URLs" policy.
(WebKit::PageState::decode): Modified to decode the "should open external URLs" policy.

  • Shared/SessionState.h: Added ShouldOpenExternalURLsPolicy to PageState (defaults to WebCore::ShouldOpenExternalURLsPolicy::ShouldNotAllow).
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _killWebContentProcessAndResetState]): Added; used in the unit test TestWebKitAPI/Tests/WebKit2Cocoa/ShouldOpenExternalURLsInNewWindowActions.mm.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h: Declare -[WKWebView _killWebContentProcessAndResetState].
  • UIProcess/mac/LegacySessionStateCoding.cpp: Defined constant sessionHistoryEntryShouldOpenExternalURLsPolicyKey.

(WebKit::encodeSessionHistory): Modified to encode the "should open external URLs" policy.
(WebKit::decodeSessionHistoryEntry): Modified to decode the "should open external URLs" policy.

  • WebProcess/WebCoreSupport/SessionStateConversion.cpp:

(WebKit::toPageState): Copy "should open external URLs" policy from specified history item.
(WebKit::toHistoryItem): Apply "should open external URLs" policy from PageState to HistoryItem.

Tools:

Add a test to ensure that we restore the "should open external URLs" policy on
page reload after the web content process crashes.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/should-open-external-schemes.html: Added.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ShouldOpenExternalURLsInNewWindowActions.mm:

(TEST):

9:03 AM Changeset in webkit [187961] by Wenson Hsieh
  • 3 edits in trunk/Source/WebCore

Checkboxes and radio buttons should scale when zooming or pinching to zoom
https://bugs.webkit.org/show_bug.cgi?id=147405

Reviewed by Dean Jackson.

Refactors paintButton and paintToggleButton to use a temporary buffer when rendering
if the controls are zoomed. This affects checkboxes, radio buttons, and normal (push)
buttons.

  • platform/mac/ThemeMac.h:
  • platform/mac/ThemeMac.mm:

(WebCore::paintToggleButton): Refactored to use drawCellOrFocusRingWithViewIntoContext.
(WebCore::paintButton): Refactored to use drawCellOrFocusRingWithViewIntoContext.
(WebCore::ThemeMac::drawCellOrFocusRingWithViewIntoContext): Draws a given button cell

and/or its focus ring into the given context, optionally using an offscreen buffer.
This is a static function in ThemeMac so it can be accessed later on by
RenderThemeMac when painting search fields that scale with zoom.

(WebCore::ThemeMac::paint):
(WebCore::buttonFocusRectOutlineWidth): Deleted. Made this value into a const float.

7:07 AM Changeset in webkit [187960] by Devin Rousso
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Allow users to duplicate rules in the Rules sidebar panel
https://bugs.webkit.org/show_bug.cgi?id=147361

Reviewed by Timothy Hatcher.

Adds context menu option to non-inherited rules that, when clicked, creates
a new rule with the same selector and no properties, and then focuses it.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Models/DOMNodeStyles.js:

(WebInspector.DOMNodeStyles.prototype.addRuleWithSelector.addedRule):
(WebInspector.DOMNodeStyles.prototype.addRuleWithSelector):

  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection.prototype.get _currentSelectorText):
(WebInspector.CSSStyleDeclarationSection.prototype._handleContextMenuEvent):

  • UserInterface/Views/RulesStyleDetailsPanel.js:

(WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionFocusNextNewInspectorRule):

7:04 AM Changeset in webkit [187959] by commit-queue@webkit.org
  • 6 edits in trunk

Web Inspector: Improve Support for PropertyName Iterator (Reflect.enumerate) in Inspector
https://bugs.webkit.org/show_bug.cgi?id=147679

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-08-05
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Improve native iterator support for the PropertyName Iterator by
allowing inspection of the internal object within the iterator
and peeking of the next upcoming values of the iterator.

  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::subtype):
(Inspector::JSInjectedScriptHost::getInternalProperties):
(Inspector::JSInjectedScriptHost::iteratorEntries):

  • runtime/JSPropertyNameIterator.h:

(JSC::JSPropertyNameIterator::iteratedValue):

LayoutTests:

  • inspector/model/remote-object-expected.txt:
  • inspector/model/remote-object.html:
3:27 AM WebKitGTK/2.8.x edited by Carlos Garcia Campos
(diff)
3:27 AM Changeset in webkit [187958] by Antti Koivisto
  • 3 edits in trunk/Source/WebKit2

Network cache fetches should have timeout
https://bugs.webkit.org/show_bug.cgi?id=147631

Reviewed by Andreas Kling.

System might be under heavy I/O pressure. If it takes long time to get data from disk we should load from network instead.

This patch introduces 1.5s timeout for disk reads. If the last dispatched cache read takes longer than that we cancel all
active and pending reads and just load those resources from network.

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::ReadOperation::ReadOperation):
(WebKit::NetworkCache::Storage::ReadOperation::cancel):
(WebKit::NetworkCache::Storage::ReadOperation::finish):

Factor to functions.

(WebKit::NetworkCache::Storage::Storage):
(WebKit::NetworkCache::Storage::updateFileModificationTime):
(WebKit::NetworkCache::Storage::dispatchReadOperation):
(WebKit::NetworkCache::Storage::finishReadOperation):
(WebKit::NetworkCache::Storage::cancelAllReadOperations):
(WebKit::NetworkCache::Storage::dispatchPendingReadOperations):
(WebKit::NetworkCache::Storage::dispatchPendingWriteOperations):

Also make dispatch functions transfer the operation ownership.

(WebKit::NetworkCache::shouldStoreBodyAsBlob):
(WebKit::NetworkCache::Storage::dispatchWriteOperation):

  • NetworkProcess/cache/NetworkCacheStorage.h:
3:25 AM Changeset in webkit [187957] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8

Merge r187854 - [GTK] Accelerated 2D Canvas enabled when cairo-gl is not available
https://bugs.webkit.org/show_bug.cgi?id=147625

Reviewed by Martin Robinson.

Do not set the CAIRO_<COMPONENT>_* CMake variables for cairo-gl
components unless they were actually found, not to accidentally
enable Accelerated 2D canvas, which would cause the build to fail.

  • Source/cmake/FindCairoGL.cmake: Set this variables only when

pkg_check_modules() had actually found the relevant component.

3:21 AM Changeset in webkit [187956] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.8

Merge r184063 - CMake defines CAIROGL_FOUND, not CAIRO_GL_FOUND
https://bugs.webkit.org/show_bug.cgi?id=144846

Patch by Philip Chimento <philip.chimento@gmail.com> on 2015-05-10
Reviewed by Martin Robinson.

  • Source/cmake/FindCairoGL.cmake: Use CAIROGL_* instead of

CAIRO_GL_* throughout, because find_package will define
CAIROGL_FOUND.

  • Source/cmake/OptionsGTK.cmake: Ditto.
3:10 AM Changeset in webkit [187955] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r187740 - Crash when signing into twitter calling WebCore::DocumentLoader::responseReceived(WebCore::CachedResource*, WebCore::ResourceResponse const&).
<rdar://problem/22098457> and https://bugs.webkit.org/show_bug.cgi?id=147560

Reviewed by Alexey Proskuryakov.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::willSendRequest): Only grab identifierForLoadWithoutResourceLoader() if there's no ResourceLoader.

3:09 AM Changeset in webkit [187954] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.8

Merge r187733 - Investigate HashTable::HashTable(const HashTable&) and HashTable::operator=(const HashTable&) performance for hash-based static analyses
https://bugs.webkit.org/show_bug.cgi?id=118455

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-08-02
Reviewed by Filip Pizlo.

Source/JavaScriptCore:

LivenessAnalysisPhase lights up like a christmas tree in profiles.

This patch cuts its cost by 4.
About half of the gains come from removing many rehash() when copying
the HashSet.
The last quarter is achieved by having a special add() function for initializing
a HashSet.

This makes benchmarks progress by 1-2% here and there. Nothing massive.

  • dfg/DFGLivenessAnalysisPhase.cpp:

(JSC::DFG::LivenessAnalysisPhase::process):
The m_live HashSet is only useful per block. When we are done with it,
we can transfer it to liveAtHead to avoid a copy.

Source/WTF:

Previously, when copying a HashTable, we would start from scratch
with an empty table and insert elements one by one, growing-rehashing
the table as needed.

With this patch, we have 2 improvements to remove most of the cost.

First, we compute a good size from the start. This removes all the
reallocations and rehashs.
This is where the biggest gain comes from.

The second part is a simpler version of add() when we know that
we cannot find a bucket with the same key and there cannot
be any deleted bucket.
This removes most branches from the hot loop, cutting another 25%
of the time.

  • wtf/HashTable.h:

(WTF::KeyTraits>::addUniqueForInitialization):
(WTF::KeyTraits>::HashTable):

Tools:

  • TestWebKitAPI/Tests/WTF/HashSet.cpp:

(TestWebKitAPI::TEST):

2:37 AM Changeset in webkit [187953] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r187640 - [GTK] Have DataObjectGtk::unknownTypes() return a reference to the HashMap object
https://bugs.webkit.org/show_bug.cgi?id=147401

Reviewed by Carlos Garcia Campos.

Don't copy the DataObjectGtk::m_unknownTypes HashMap on every retrieval through
DataObjectGtk::unknownTypes(). The range-based for-loops that iterate over the
map in PasteboardGtk.cpp and PasteboardHelper.cpp are also cleaned up.

  • platform/gtk/DataObjectGtk.cpp:

(WebCore::DataObjectGtk::unknownTypes):

  • platform/gtk/DataObjectGtk.h:
  • platform/gtk/PasteboardGtk.cpp:

(WebCore::Pasteboard::writePasteboard):
(WebCore::Pasteboard::types):

  • platform/gtk/PasteboardHelper.cpp:

(WebCore::PasteboardHelper::fillSelectionData):

2:04 AM Changeset in webkit [187952] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r187586 - [GTK] Crashes when SoupSession is destroyed in exit handler
https://bugs.webkit.org/show_bug.cgi?id=145347

Reviewed by Carlos Garcia Campos.

Leak the default SoupSession with NeverDestroyed to avoid races at program exit.

  • platform/network/soup/SoupNetworkSession.cpp:

(WebCore::SoupNetworkSession::defaultSession):

  • platform/network/soup/SoupNetworkSession.h:
1:58 AM Changeset in webkit [187951] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r187557 - Crash in WebCore::DocumentLoader::stopLoadingForPolicyChange.
<rdar://problem/21412186> and https://bugs.webkit.org/show_bug.cgi?id=147418

Reviewed by Chris Dumez.

No new tests (No known reproducibility)

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::responseReceived): When setting to m_waitingForContentPolicy true, make sure we have a FrameLoader.
(WebCore::DocumentLoader::detachFromFrame): Always explicitly call cancelPolicyCheckIfNeeded().
(WebCore::DocumentLoader::cancelPolicyCheckIfNeeded): Cancel the policy check if there is one.
(WebCore::DocumentLoader::cancelMainResourceLoad): Use cancelPolicyCheckIfNeeded().

  • loader/DocumentLoader.h:

RELEASE_ASSERT followup to: Crash in WebCore::DocumentLoader::stopLoadingForPolicyChange.
https://bugs.webkit.org/show_bug.cgi?id=147418

Reviewed by Chris Dumez.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::cancelPolicyCheckIfNeeded): RELEASE_ASSERT we have a FrameLoader here.

We want to know if we ever get here without one.

Review feedback followup to: Crash in WebCore::DocumentLoader::stopLoadingForPolicyChange.
https://bugs.webkit.org/show_bug.cgi?id=147418

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::cancelPolicyCheckIfNeeded):

1:51 AM Changeset in webkit [187950] by Carlos Garcia Campos
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.8

Merge r187535 - Animations sometimes fail to start
https://bugs.webkit.org/show_bug.cgi?id=147394
rdar://problem/21852603

Reviewed by Dean Jackson.
Source/WebCore:

When an accelerated animation or transition was started at the same time as
a non-accelerated one, and then the node for the former was removed, we could
never kick off the non-accelerated animation.

AnimationControllerPrivate has logic to synchronize the two types of animation
when they start in the same animation update, which involves setting the
m_waitingForAsyncStartNotification flag, and waiting for a notifyAnimationStarted()
to come in from the graphics system.

However, it failed to handle the case where the accelerated animation was removed
before the callback was received, which left the m_waitingForAsyncStartNotification flag
set to true, preventing the non-accelerated animation from running.

Test: animations/remove-syncing-animation.html

  • page/animation/AnimationBase.h:

(WebCore::AnimationBase::isAccelerated): Make this public.

  • page/animation/AnimationController.cpp:

(WebCore::AnimationControllerPrivate::clear): Add logging.
(WebCore::AnimationControllerPrivate::receivedStartTimeResponse): Add logging.
(WebCore::AnimationControllerPrivate::animationWillBeRemoved): Add logging.
After removing animations from the maps, check to see if we expect any of the
remaining animations are waiting for a notifyAnimationStarted(). If not, clear
the m_waitingForAsyncStartNotification flag.
(WebCore::AnimationController::notifyAnimationStarted): Log the renderer.
(WebCore::AnimationControllerPrivate::AnimationControllerPrivate): Remove unneeded
initializations of HashMaps.

  • page/animation/CompositeAnimation.cpp:

(WebCore::CompositeAnimation::updateTransitions): Log renderers.
(WebCore::CompositeAnimation::updateKeyframeAnimations): Ditto.

LayoutTests:

Test that starts an accelerated and non-accelerated animation, then removes
the node for the accelerated one.

  • animations/remove-syncing-animation-expected.txt: Added.
  • animations/remove-syncing-animation.html: Added.
1:34 AM Changeset in webkit [187949] by Carlos Garcia Campos
  • 7 edits
    5 adds in releases/WebKitGTK/webkit-2.8

Merge r187527 - [Freetype] Always allow font matching for strong aliases
https://bugs.webkit.org/show_bug.cgi?id=147057

Reviewed by Martin Robinson.

Source/WebCore:

Tests: platform/gtk/fonts/font-family-fallback-ignores-weak-aliases.html

platform/gtk/fonts/font-family-fallback-respects-strong-aliases.html

Treat fonts that are strongly-aliased to each other as if they were identical for the
purposes of CSS font fallback. This improves the layout of many web pages by allowing
fontconfig to replace fonts with metric-compatible equivalents (e.g. Arial -> Liberation
Sans) instead of rejecting the metric-compatible font as unsuitable.

  • platform/graphics/cairo/RefPtrCairo.cpp:

(WTF::refIfNotNull):
(WTF::derefIfNotNull):

  • platform/graphics/cairo/RefPtrCairo.h:
  • platform/graphics/freetype/FcUniquePtr.h: Added.

(WebCore::FcPtrDeleter<FcFontSet>::operator()):
(WebCore::FcPtrDeleter<FcLangSet>::operator()):
(WebCore::FcPtrDeleter<FcObjectSet>::operator()):

  • platform/graphics/freetype/FontCacheFreeType.cpp:

(WebCore::strengthOfFirstAlias):
(WebCore::strongAliasesForFamily):
(WebCore::areStronglyAliased):
(WebCore::FontCache::createFontPlatformData):

Tools:

Create family aliases needed for the new layout tests.

  • WebKitTestRunner/gtk/fonts/fonts.conf:

LayoutTests:

  • platform/gtk/fonts/font-family-fallback-ignores-weak-aliases-expected.html: Added.
  • platform/gtk/fonts/font-family-fallback-ignores-weak-aliases.html: Added.
  • platform/gtk/fonts/font-family-fallback-respects-strong-aliases-expected.html: Added.
  • platform/gtk/fonts/font-family-fallback-respects-strong-aliases.html: Added.
1:10 AM Changeset in webkit [187948] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.8

Merge r187504 - Crash happens when calling removeEventListener for an SVG element which has an instance inside a <defs> element of shadow tree
https://bugs.webkit.org/show_bug.cgi?id=147290

Reviewed by Daniel Bates.

Source/WebCore:

When the shadow tree is built for a <use> element, all the SVG elements
are allowed to be cloned in the shadow tree but later some of the elements
are disallowed and removed. Make sure, when disallowing an element in the
shadow tree, to reset the correspondingElement relationship between all
the disallowed descendant SVG elements and all their original elements.

Test: svg/custom/remove-event-listener-shadow-disallowed-element.svg

*svg/SVGElement.cpp:
(WebCore::SVGElement::setCorrespondingElement)

  • svg/SVGUseElement.cpp:

(WebCore::removeDisallowedElementsFromSubtree):

LayoutTests:

Make sure we do not crash when when calling removeEventListener() for an
element which is cloned under a disallowed parent inside the shadow tree
of another <use> element.

  • svg/custom/remove-event-listener-shadow-disallowed-element-expected.txt: Added.
  • svg/custom/remove-event-listener-shadow-disallowed-element.svg: Added.
1:08 AM Changeset in webkit [187947] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.8

Merge r187502 - ASSERTION FAILED: !currBox->needsLayout() loading bing maps (and apple.com/music and nytimes)
https://bugs.webkit.org/show_bug.cgi?id=93891

Reviewed by Simon Fraser.

Source/WebCore:

Added new tests in fast/dynamic.

Change tracking of positioned objects to always insert objects that need a layout in the
end of the ListHashMap for RenderViews. This ensures that dependencies between nested
positioned objects that both need a layout by the RenderView are resolved in the correct order.

Don't cache the end object when walking the ListHashMap to do layouts of positioned objects,
since that list is getting updated dynamically as earlier objects can mark and insert new
objects into the list during their layouts.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutPositionedObject):
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::insertIntoTrackedRendererMaps):
(WebCore::RenderBlock::insertPositionedObject):
(WebCore::RenderBlock::removePositionedObject):

  • rendering/RenderBlock.h:

LayoutTests:

  • fast/dynamic/position-fixed-to-absolute-with-positioned-child-crash-expected.txt: Added.
  • fast/dynamic/position-fixed-to-absolute-with-positioned-child-crash.html: Added.
12:51 AM Changeset in webkit [187946] by Carlos Garcia Campos
  • 10 edits in releases/WebKitGTK/webkit-2.8/Source

Merge r187485 - [GTK] Use fastMalloc instead of g_slice
https://bugs.webkit.org/show_bug.cgi?id=147357

Reviewed by Sergio Villar Senin.

The use of g_slice is no longer encouraged by glib developers.

Source/WebCore:

  • platform/graphics/gstreamer/GStreamerUtilities.cpp:

(WebCore::mapGstBuffer):
(WebCore::unmapGstBuffer):

Source/WebKit2:

  • UIProcess/API/gtk/WebKitCredential.cpp:

(webkitCredentialCreate):
(webkit_credential_free):

  • UIProcess/API/gtk/WebKitJavascriptResult.cpp:

(webkitJavascriptResultCreate):
(webkit_javascript_result_unref):

  • UIProcess/API/gtk/WebKitMimeInfo.cpp:

(webkitMimeInfoCreate):
(webkit_mime_info_unref):

  • UIProcess/API/gtk/WebKitNavigationAction.cpp:

(webkitNavigationActionCreate):
(webkit_navigation_action_copy):
(webkit_navigation_action_free):

  • UIProcess/API/gtk/WebKitPrivate.h:
  • UIProcess/API/gtk/WebKitScriptDialog.cpp:

(webkitScriptDialogCopy):
(webkitScriptDialogFree):

  • UIProcess/API/gtk/WebKitUserContent.cpp:

(webkit_user_style_sheet_unref):
(webkit_user_style_sheet_new):
(webkit_user_script_unref):
(webkit_user_script_new):

12:33 AM Changeset in webkit [187945] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebKit2

Merge r187471 - First in-window viewStateChange synchronously blocks despite not previously being in-window
https://bugs.webkit.org/show_bug.cgi?id=147344
<rdar://problem/22021772>

Reviewed by Simon Fraser.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::updateViewState):
(WebKit::WebPageProxy::dispatchViewStateChange):
The whole point of m_viewWasEverInWindow was so that we would not
synchronously wait when a view was added to a window for the first time,
only all subsequent times.

However, since m_viewWasEverInWindow was being set *before* being
checked in dispatchViewStateChange, we were always blocking. This is
a huge waste of main-thread time, because there's no reason to wait
for the first paint if you've never seen the view before (and shouldn't
expect it to have content).

Instead, set the flag after dispatching a view state change, so it becomes
"have we ever sent a view state with IsInWindow set" instead.

12:28 AM Changeset in webkit [187944] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r187466 - Crash in WebCore::DocumentLoader::willSendRequest() with ContentFilter and AppCache.
<rdar://problem/21960398> and https://bugs.webkit.org/show_bug.cgi?id=147339

Reviewed by Alexey Proskuryakov.

No new tests (Not yet proven to be possible to test this).

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::willSendRequest): Grab the identifier from the CachedResource directly, not from the null ResourceLoader.
(WebCore::DocumentLoader::continueAfterNavigationPolicy): Null check the ResourceLoader, as it can definitely be gone by this point.

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::clearLoader): Save off the identifier for later use.

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::identifierForLoadWithoutResourceLoader): Expose the identifier that the ResourceLoader had when it went away.

12:19 AM Changeset in webkit [187943] by matthew_hanson@apple.com
  • 4 edits in branches/safari-601.1-branch/Source

Merge r187805. rdar://problem/21838271

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

Merge r187807. rdar://problem/21838271

12:17 AM Changeset in webkit [187941] by Carlos Garcia Campos
  • 7 edits in releases/WebKitGTK/webkit-2.8/Source

Merge r187432 - [GTK] Pass a GstInstallPluginsContext to gst_install_plugins_async
https://bugs.webkit.org/show_bug.cgi?id=147103

Reviewed by Philippe Normand.

Source/WebCore:

  • platform/graphics/gstreamer/GUniquePtrGStreamer.h: Allow to use

GUniquePtr with GstInstallPluginsContext.

Source/WebKit2:

This allows PackageKit to properly position the window and make it
transient to the web view window.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::setCursor): Disambiguate Cursor now that
we include gtkx.h.
(WebKit::PageClientImpl::createGstInstallPluginsContext): Create a
new GstInstallPluginsContext and set the web view window XID when
running on X11.

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/PageClient.h:
  • UIProcess/efl/WebViewEfl.h:
  • UIProcess/gstreamer/WebPageProxyGStreamer.cpp:

(WebKit::WebPageProxy::requestInstallMissingMediaPlugins): Use
PageClient::createGstInstallPluginsContext() to create a new
GstInstallPluginsContext and pass it to gst_install_plugins_async().

Note: See TracTimeline for information about the timeline view.