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

Timeline



Dec 21, 2015:

10:07 PM Changeset in webkit [194360] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

WebInspector: Can't open a new tab: Uncaught Exception: TypeError: this.isNewTabWithTypeAllowed is not a function
https://bugs.webkit.org/show_bug.cgi?id=152471

Reviewed by Timothy Hatcher.

  • UserInterface/Base/Main.js:

(WebInspector._updateNewTabButtonState):
Don't use arrow functions because of https://webkit.org/b/152497 "Arrow functions: 'this' isn't lexically bound"

9:50 PM Changeset in webkit [194359] by Hunseop Jeong
  • 8 edits in trunk

[EFL] test_ewk2_context failed after r192808
https://bugs.webkit.org/show_bug.cgi?id=151846

Reviewed by Gyuyoung Kim.

Source/WebKit2:

As we can make the single WebProcess behavior by setting the miximum number
of WebProcess to 1 after r192808, I remove the ewk_context_process_model_{set|get}
apis and add the ewk_context_web_process_count_limit_{set|get} apis and tests.

  • UIProcess/API/efl/ewk_context.cpp:

(EwkContext::EwkContext):
(EwkContext::setProcessCountLimit):
(EwkContext::processCountLimit):
(ewk_context_web_process_count_limit_set):
(ewk_context_web_process_count_limit_get):
(EwkContext::setProcessModel): Deleted.
(EwkContext::processModel): Deleted.
(ewk_context_process_model_set): Deleted.
(ewk_context_process_model_get): Deleted.

  • UIProcess/API/efl/ewk_context.h:
  • UIProcess/API/efl/ewk_context_private.h:
  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:

(EWK2UnitTest::EWK2UnitTestBase::SetUp):

  • UIProcess/API/efl/tests/test_ewk2_context.cpp:

(TEST_F): Changed the ewk_context_{web|network}_process_model tests to
ewk_context_{web|network}_process_count_limit tests.

Tools:

Used the added ewk_context_web_process_count_limit_set api
instead of the deprecated ewk_context_process_model_set.

  • MiniBrowser/efl/main.c:

(elm_main):

7:37 PM Changeset in webkit [194358] by jh718.park@samsung.com
  • 2 edits in trunk/Source/WebKit2

[WK2][EFL] Use cacheDirectoryFileSystemRepresentation and websiteDataDirectoryFileSystemRepresentation
to refactor APIWebsiteDataStoreEfl
https://bugs.webkit.org/show_bug.cgi?id=152475

Reviewed by Gyuyoung Kim.

Use cacheDirectoryFileSystemRepresentation and websiteDataDirectoryFileSystemRepresentation
instead of to use efreet_cache_home_get
and efreet_data_home_get directly.
And also use EINA_PATH_SEP_S instead of "/" as directory separator,
and WebCore::pathByAppendingComponent instead of operator+.

  • UIProcess/API/efl/APIWebsiteDataStoreEfl.cpp:

(API::WebsiteDataStore::defaultApplicationCacheDirectory):
(API::WebsiteDataStore::defaultNetworkCacheDirectory):
(API::WebsiteDataStore::defaultIndexedDBDatabaseDirectory):
(API::WebsiteDataStore::defaultLocalStorageDirectory):
(API::WebsiteDataStore::defaultMediaKeysStorageDirectory):
(API::WebsiteDataStore::defaultWebSQLDatabaseDirectory):
(API::WebsiteDataStore::cacheDirectoryFileSystemRepresentation):
(API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):

6:45 PM Changeset in webkit [194357] by Michael Catanzaro
  • 2 edits in trunk/Tools

Unreviewed, move myself to reviewer list.

  • Scripts/webkitpy/common/config/contributors.json:
5:42 PM Changeset in webkit [194356] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Remove unused WebInspector.Object.removeAllListeners
https://bugs.webkit.org/show_bug.cgi?id=152474

Reviewed by Timothy Hatcher.

  • UserInterface/Base/Object.js:

(WebInspector.Object.removeAllListeners): Deleted.
(WebInspector.Object.prototype.removeAllListeners): Deleted.

3:49 PM Changeset in webkit [194355] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Address review feedback from Saam. I should have landed it in r194354.

  • b3/testb3.cpp:

(JSC::B3::testStore16Arg):

3:40 PM Changeset in webkit [194354] by fpizlo@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

B3 should be able to compile Store16
https://bugs.webkit.org/show_bug.cgi?id=152493

Reviewed by Saam Barati.

This adds comprehensive Store16 support to our assembler, Air, and B3->Air lowering.

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::store16):

  • assembler/X86Assembler.h:

(JSC::X86Assembler::movb_rm):
(JSC::X86Assembler::movw_rm):

  • b3/B3LowerToAir.cpp:

(JSC::B3::Air::LowerToAir::lower):

  • b3/air/AirOpcode.opcodes:
  • b3/testb3.cpp:

(JSC::B3::testStorePartial8BitRegisterOnX86):
(JSC::B3::testStore16Arg):
(JSC::B3::testStore16Imm):
(JSC::B3::testTrunc):
(JSC::B3::run):

3:32 PM Changeset in webkit [194353] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, remove highBitsAreZero(), it's unused.

  • b3/B3LowerToAir.cpp:

(JSC::B3::Air::LowerToAir::run):
(JSC::B3::Air::LowerToAir::shouldCopyPropagate):
(JSC::B3::Air::LowerToAir::highBitsAreZero): Deleted.

3:05 PM Changeset in webkit [194352] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Skipping unsupported test on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=152491

Unreviewed test gardening.

  • platform/ios-simulator/TestExpectations:
2:39 PM Changeset in webkit [194351] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking inspector/debugger/break-on-exception-catch.html as a flaky timeout on mac-wk2 debug
https://bugs.webkit.org/show_bug.cgi?id=152492

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
2:27 PM Changeset in webkit [194350] by bshafiei@apple.com
  • 11 edits in branches/safari-601.1.46-branch

Merged r194114. rdar://problem/23978924

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

Merged r188802. rdar://problem/23978917

2:22 PM Changeset in webkit [194348] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.46-branch/Source/WebKit/ios

Merged r194307. rdar://problem/23976350

1:19 PM Changeset in webkit [194347] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix the !FTL_USES_B3 build after r194334.

  • ftl/FTLLowerDFGToLLVM.cpp: Mark forwarding unused variable.

(JSC::FTL::DFG::LowerDFGToLLVM::compileCallOrConstructVarargs):

1:14 PM Changeset in webkit [194346] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

Unreviewed, add myself to the committers list.

  • Scripts/webkitpy/common/config/contributors.json:
1:01 PM Changeset in webkit [194345] by bshafiei@apple.com
  • 5 edits in branches/safari-601.4-branch/Source

Versioning.

1:01 PM Changeset in webkit [194344] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.46-branch/Source

Versioning.

12:58 PM Changeset in webkit [194343] by bshafiei@apple.com
  • 5 edits in branches/safari-601-branch/Source

Versioning.

12:58 PM Changeset in webkit [194342] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.46.60-branch/Source

Versioning.

12:54 PM Changeset in webkit [194341] by fpizlo@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

FTL B3 should do doubleToInt32
https://bugs.webkit.org/show_bug.cgi?id=152484

Reviewed by Saam Barati.

We used to have a DToI32 opcode in B3 that we never implemented. This removes that opcode,
since double-to-int conversion has dramatically different semantics on different
architectures. We let FTL get the conversion instruction it wants by using a patchpoint.

  • b3/B3Opcode.cpp:

(WTF::printInternal):

  • b3/B3Opcode.h:
  • b3/B3Validate.cpp:
  • b3/B3Value.cpp:

(JSC::B3::Value::effects):
(JSC::B3::Value::key):
(JSC::B3::Value::typeFor):

  • b3/B3ValueKey.cpp:

(JSC::B3::ValueKey::materialize):

  • ftl/FTLB3Output.cpp:

(JSC::FTL::Output::Output):
(JSC::FTL::Output::appendTo):
(JSC::FTL::Output::lockedStackSlot):
(JSC::FTL::Output::load):
(JSC::FTL::Output::doublePowi):
(JSC::FTL::Output::hasSensibleDoubleToInt):
(JSC::FTL::Output::doubleToInt):
(JSC::FTL::Output::doubleToUInt):
(JSC::FTL::Output::load8SignExt32):
(JSC::FTL::Output::load8ZeroExt32):
(JSC::FTL::Output::load16SignExt32):
(JSC::FTL::Output::load16ZeroExt32):
(JSC::FTL::Output::store):
(JSC::FTL::Output::store32As8):
(JSC::FTL::Output::store32As16):
(JSC::FTL::Output::branch):

  • ftl/FTLB3Output.h:

(JSC::FTL::Output::doubleLog):
(JSC::FTL::Output::signExt32To64):
(JSC::FTL::Output::zeroExt):
(JSC::FTL::Output::zeroExtPtr):
(JSC::FTL::Output::intToDouble):
(JSC::FTL::Output::unsignedToDouble):
(JSC::FTL::Output::castToInt32):
(JSC::FTL::Output::hasSensibleDoubleToInt): Deleted.
(JSC::FTL::Output::sensibleDoubleToInt): Deleted.
(JSC::FTL::Output::fpToInt32): Deleted.
(JSC::FTL::Output::fpToUInt32): Deleted.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::compileArithPow):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::DFG::LowerDFGToLLVM::compileSwitch):
(JSC::FTL::DFG::LowerDFGToLLVM::doubleToInt32):
(JSC::FTL::DFG::LowerDFGToLLVM::sensibleDoubleToInt32):
(JSC::FTL::DFG::LowerDFGToLLVM::convertDoubleToInt32):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::hasSensibleDoubleToInt):
(JSC::FTL::Output::doubleToInt):
(JSC::FTL::Output::doubleToUInt):
(JSC::FTL::Output::signExt32To64):
(JSC::FTL::Output::zeroExt):

12:40 PM Changeset in webkit [194340] by commit-queue@webkit.org
  • 6 edits in trunk

Unexpected exception assigning to this._property inside arrow function
https://bugs.webkit.org/show_bug.cgi?id=152028

Patch by Skachkov Oleksandr <gskachkov@gmail.com> on 2015-12-21
Reviewed by Saam Barati.

Source/JavaScriptCore:

The issue appeared in case if in arrow function created base-level lexical envioronment, and in this case
|this| value was loaded from wrong scope. The problem was that loading of the |this| happened too early when
compiling bytecode because the bytecode generators's scope stack wasn't in sync with runtime scope stack.
To fix issue loading of |this| was moved after initializeDefaultParameterValuesAndSetupFunctionScopeStack
in BytecodeGenerator.cpp

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):

  • tests/stress/arrowfunction-lexical-bind-this-2.js:

LayoutTests:

Added new test cases for arrow function, to force create lexical env in body of function.

  • js/arrowfunction-lexical-bind-this-expected.txt:
  • js/script-tests/arrowfunction-lexical-bind-this.js:
12:26 PM Changeset in webkit [194339] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking inspector/debugger/command-line-api-exception-nested-catch.html as a flaky timeout on mac-wk1
https://bugs.webkit.org/show_bug.cgi?id=152487

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
12:01 PM Changeset in webkit [194338] by Antti Koivisto
  • 3 edits in trunk/Source/WebKit2

Factor NetworkResourceLoader code for storing a cache entry into a function
https://bugs.webkit.org/show_bug.cgi?id=152467

Reviewed by Andreas Kling.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didFinishLoading):

Having m_cacheEntryForValidation already implies canUseCache() so remove the test from this path.
Move storing to the end of the function so we don't delay DidFinishResourceLoad message on it.

(WebKit::NetworkResourceLoader::sendBufferMaybeAborting):
(WebKit::NetworkResourceLoader::tryStoreAsCacheEntry):

Factor to a function.
Remove m_response.isHTTP() test as it is covered by NetworkCache::store().
Remove !isPrivateSession test as it is covered by NetworkResourceLoader::canUseCache().

(WebKit::NetworkResourceLoader::didRetrieveCacheEntry):

  • NetworkProcess/NetworkResourceLoader.h:
11:54 AM Changeset in webkit [194337] by Antti Koivisto
  • 4 edits
    3 adds in trunk

Limit cached redirect chain length
https://bugs.webkit.org/show_bug.cgi?id=152477

Reviewed by Andreas Kling.

Source/WebKit2:

Networking layer prevents cycles and limits the redirect chain length so creating cache cycles is difficult.
For robustness the network cache should still limit the maximum redirect chain length.

This patch adds a limit of five redirects both when storing and retrieving cache entries.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::canUseCache):
(WebKit::NetworkResourceLoader::canUseCachedRedirect):
(WebKit::NetworkResourceLoader::willSendRedirectedRequest):
(WebKit::NetworkResourceLoader::continueWillSendRequest):
(WebKit::NetworkResourceLoader::dispatchWillSendRequestForCacheEntry):

  • NetworkProcess/NetworkResourceLoader.h:

LayoutTests:

  • http/tests/cache/disk-cache/redirect-chain-limits-expected.txt: Added.
  • http/tests/cache/disk-cache/redirect-chain-limits.html: Added.
  • http/tests/cache/disk-cache/resources/redirect-chain.phpl: Added.
11:49 AM Changeset in webkit [194336] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking webaudio/audiocontext-state-interrupted.html as a flaky crasher on mac-wk1
https://bugs.webkit.org/show_bug.cgi?id=152485

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
11:20 AM Changeset in webkit [194335] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Skipping fast/events/can-click-element-on-page-with-active-pseudo-class-and-search-field.html on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=152449

Unreviewed teset gardening.

  • platform/ios-simulator/TestExpectations:
10:56 AM Changeset in webkit [194334] by fpizlo@apple.com
  • 5 edits
    3 adds in trunk/Source/JavaScriptCore

FTL B3 should do vararg calls
https://bugs.webkit.org/show_bug.cgi?id=152468

Reviewed by Benjamin Poulain.

This adds FTL->B3 lowering of all kinds of varargs calls - forwarding or not, tail or not,
and construct or not. Like all other such lowerings, all of the code is in one place in
FTLLower.

I removed code for varargs and exception spill slots from the B3 path, since it won't need
it. The plan is to rely on B3 doing the spilling for us by using some combination of early
clobber and late use.

This adds ValueRep::emitRestore(), a helpful method for emitting code to restore any ValueRep
into any 64-bit Reg (FPR or GPR).

I wrote new tests for vararg calls, because I wasn't sure which of the existing ones we can
run. These are short-running tests, so I'm not worried about bloating our test suite.

  • b3/B3ValueRep.cpp:

(JSC::B3::ValueRep::dump):
(JSC::B3::ValueRep::emitRestore):

  • b3/B3ValueRep.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::lower):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCallOrConstructVarargs):
(JSC::FTL::DFG::LowerDFGToLLVM::compileInvalidationPoint):

  • ftl/FTLState.h:
  • tests/stress/varargs-no-forward.js: Added.
  • tests/stress/varargs-simple.js: Added.
  • tests/stress/varargs-two-level.js: Added.
10:40 AM Changeset in webkit [194333] by mark.lam@apple.com
  • 2 edits
    6 adds in trunk/Source/JavaScriptCore

Add unary operator tests to compare JIT and LLINT results.
https://bugs.webkit.org/show_bug.cgi?id=152453

Reviewed by Benjamin Poulain.

Also fixed a few things in the binary-op-test.js.

  • tests/stress/op_negate.js: Added.

(o1.valueOf):

  • tests/stress/op_postdec.js: Added.

(o1.valueOf):

  • tests/stress/op_postinc.js: Added.

(o1.valueOf):

  • tests/stress/op_predec.js: Added.

(o1.valueOf):

  • tests/stress/op_preinc.js: Added.

(o1.valueOf):

  • tests/stress/resources/binary-op-test.js:

(stringifyIfNeeded):
(isIdentical):
(run):

  • tests/stress/resources/unary-op-test.js: Added.

(stringifyIfNeeded):
(generateBinaryTests):
(isIdentical):
(runTest):
(run):

10:20 AM Changeset in webkit [194332] by Ryan Haddad
  • 11 edits
    1 delete in trunk

Unreviewed, rolling out r194328.

This change appears to have caused failures in JSC tests

Reverted changeset:

"[INTL] Implement String.prototype.localeCompare in ECMA-402"
https://bugs.webkit.org/show_bug.cgi?id=147607
http://trac.webkit.org/changeset/194328

8:16 AM Changeset in webkit [194331] by fpizlo@apple.com
  • 27 edits
    2 adds in trunk/Source/JavaScriptCore

B3->Air lowering incorrectly copy-propagates over ZExt32's
https://bugs.webkit.org/show_bug.cgi?id=152365

Reviewed by Benjamin Poulain.

The instruction selector thinks that Value's that return Int32's are going to always be lowered
to instructions that zero-extend the destination. But this isn't actually true. If you have an
Add32 with a destination on the stack (i.e. spilled) then it only writes 4 bytes. Then, the
filler will load 8 bytes from the stack at the point of use. So, the use of the Add32 will see
garbage in the high bits.

The fact that the spiller chose to use 8 bytes for a Tmp that gets defined by an Add32 is a
pretty sad bug, but:

  • It's entirely up to the spiller to decide how many bytes to use for a Tmp, since we do not ascribe a type to Tmps. We could ascribe types to Tmps, but then coalescing would become harder. Our goal is to fix the bug while still enabling coalescing in cases like "a[i]" where "i" is a 32-bit integer that is computed using operations that already do zero-extension.
  • More broadly, it's strange that the instruction selector decides whether a Value will be lowered to something that zero-extends. That's too constraining, since the most optimal instruction selection might involve something that doesn't zero-extend in cases of spilling, so the zero-extension should only happen if it's actually needed. This means that we need to understand which Air instructions cause zero-extensions.
  • If we know which Air instructions cause zero-extensions, then we don't need the instruction selector to copy-propagate ZExt32's. We have copy-propagation in Air thanks to the register allocator.

In fact, the register allocator is exactly where all of the pieces come together. It's there that
we want to know which operations zero-extend and which don't. It also wants to know how many bits
of a Tmp each instruction reads. Armed with that information, the register allocator can emit
more optimal spill code, use less stack space for spill slots, and coalesce Move32's. As a bonus,
on X86, it replaces Move's with Move32's whenever it can. On X86, Move32 is cheaper.

This fixes a crash bug in V8/encrypt. After fixing this, I only needed two minor fixes to get
V8/encrypt to run. We're about 10% behind LLVM on steady state throughput on this test. It
appears to be mostly due to excessive spilling caused by CCall slow paths. That's fixable: we
could make CCalls on slow paths use a variant of CCallSpecial that promises not to clobber any
registers, and then have it emit spill code around the call itself. LLVM probably gets this
optimization from its live range splitting.

I tried writing a regression test. The problem is that you need garbage on the stack for this to
work, and I didn't feel like writing a flaky test. It appears that running V8/encrypt will cover
this, so we do have coverage.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/AbstractMacroAssembler.h:

(JSC::isX86):
(JSC::isX86_64):
(JSC::optimizeForARMv7IDIVSupported):
(JSC::optimizeForX86):
(JSC::optimizeForX86_64):

  • b3/B3LowerToAir.cpp:

(JSC::B3::Air::LowerToAir::highBitsAreZero):
(JSC::B3::Air::LowerToAir::shouldCopyPropagate):
(JSC::B3::Air::LowerToAir::lower):

  • b3/B3PatchpointSpecial.cpp:

(JSC::B3::PatchpointSpecial::forEachArg):

  • b3/B3StackmapSpecial.cpp:

(JSC::B3::StackmapSpecial::forEachArgImpl):

  • b3/B3Value.h:
  • b3/air/AirAllocateStack.cpp:

(JSC::B3::Air::allocateStack):

  • b3/air/AirArg.cpp:

(WTF::printInternal):

  • b3/air/AirArg.h:

(JSC::B3::Air::Arg::pointerWidth):
(JSC::B3::Air::Arg::isAnyUse):
(JSC::B3::Air::Arg::isColdUse):
(JSC::B3::Air::Arg::isEarlyUse):
(JSC::B3::Air::Arg::isDef):
(JSC::B3::Air::Arg::isZDef):
(JSC::B3::Air::Arg::widthForB3Type):
(JSC::B3::Air::Arg::conservativeWidth):
(JSC::B3::Air::Arg::minimumWidth):
(JSC::B3::Air::Arg::bytes):
(JSC::B3::Air::Arg::widthForBytes):
(JSC::B3::Air::Arg::Arg):
(JSC::B3::Air::Arg::forEachTmp):

  • b3/air/AirCCallSpecial.cpp:

(JSC::B3::Air::CCallSpecial::forEachArg):

  • b3/air/AirEliminateDeadCode.cpp:

(JSC::B3::Air::eliminateDeadCode):

  • b3/air/AirFixPartialRegisterStalls.cpp:

(JSC::B3::Air::fixPartialRegisterStalls):

  • b3/air/AirInst.cpp:

(JSC::B3::Air::Inst::hasArgEffects):

  • b3/air/AirInst.h:

(JSC::B3::Air::Inst::forEachTmpFast):
(JSC::B3::Air::Inst::forEachTmp):

  • b3/air/AirInstInlines.h:

(JSC::B3::Air::Inst::forEachTmpWithExtraClobberedRegs):

  • b3/air/AirIteratedRegisterCoalescing.cpp:
  • b3/air/AirLiveness.h:

(JSC::B3::Air::AbstractLiveness::AbstractLiveness):
(JSC::B3::Air::AbstractLiveness::LocalCalc::execute):

  • b3/air/AirOpcode.opcodes:
  • b3/air/AirSpillEverything.cpp:

(JSC::B3::Air::spillEverything):

  • b3/air/AirTmpWidth.cpp: Added.

(JSC::B3::Air::TmpWidth::TmpWidth):
(JSC::B3::Air::TmpWidth::~TmpWidth):

  • b3/air/AirTmpWidth.h: Added.

(JSC::B3::Air::TmpWidth::width):
(JSC::B3::Air::TmpWidth::defWidth):
(JSC::B3::Air::TmpWidth::useWidth):
(JSC::B3::Air::TmpWidth::Widths::Widths):

  • b3/air/AirUseCounts.h:

(JSC::B3::Air::UseCounts::UseCounts):

  • b3/air/opcode_generator.rb:
  • b3/testb3.cpp:

(JSC::B3::testCheckMegaCombo):
(JSC::B3::testCheckTrickyMegaCombo):
(JSC::B3::testCheckTwoMegaCombos):
(JSC::B3::run):

7:16 AM Changeset in webkit [194330] by mitz@apple.com
  • 7 edits in trunk/Source/WebKit2

Different and incorrect flags are passed to sendSync when accessibility is enabled, SpinRunLoopWhileWaitingForReply
https://bugs.webkit.org/show_bug.cgi?id=126021

Reviewed by Darin Adler.

Get rid of SpinRunLoopWhileWaitingForReply because it’s not used anymore.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::waitForSyncReply): Removed the SpinRunLoopWhileWaitingForReply branch.

  • Platform/IPC/Connection.h: Removed SpinRunLoopWhileWaitingForReply.
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::runBeforeUnloadConfirmPanel): Don’t check

WebPage::synchronousMessagesShouldSpinRunLoop() and don’t specify
SpinRunLoopWhileWaitingForReply.

(WebKit::WebChromeClient::runJavaScriptAlert): Ditto.
(WebKit::WebChromeClient::runJavaScriptConfirm): Ditto.
(WebKit::WebChromeClient::runJavaScriptPrompt): Ditto.
(WebKit::WebChromeClient::print): Ditto.
(WebKit::WebChromeClient::exceededDatabaseQuota): Ditto.
(WebKit::WebChromeClient::reachedApplicationCacheOriginQuota): Ditto.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): Ditto.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::synchronousMessagesShouldSpinRunLoop): Deleted.

  • WebProcess/WebPage/WebPage.h:
7:15 AM Changeset in webkit [194329] by calvaris@igalia.com
  • 4 edits in trunk/LayoutTests/imported/w3c

[Streams API] imported/w3c/web-platform-tests/streams-api/readable-streams/cancel.html has a flaky test
https://bugs.webkit.org/show_bug.cgi?id=152065

Reviewed by Youenn Fablet.

https://github.com/whatwg/streams/pull/414 and https://github.com/whatwg/streams/issues/413 was closed. Changes
I did on the spec were integrated so they were brought back to the imported tests in WebKit.

  • web-platform-tests/streams-api/README.txt: Updated version.
  • web-platform-tests/streams-api/readable-streams/cancel-expected.txt: Expectations.
  • web-platform-tests/streams-api/readable-streams/cancel.js: Changed to cancel test.
2:03 AM Changeset in webkit [194328] by commit-queue@webkit.org
  • 11 edits
    1 add in trunk

[INTL] Implement String.prototype.localeCompare in ECMA-402
https://bugs.webkit.org/show_bug.cgi?id=147607

Patch by Andy VanWagoner <thetalecrafter@gmail.com> on 2015-12-21
Reviewed by Darin Adler.

Source/JavaScriptCore:

Add localeCompare in builtin JavaScript that delegates comparing to Intl.Collator.
Keep existing native implementation for use if INTL flag is disabled.

  • CMakeLists.txt:
  • DerivedSources.make:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • builtins/StringPrototype.js: Added.

(localeCompare):

  • runtime/StringPrototype.cpp:

(JSC::StringPrototype::finishCreation):

LayoutTests:

  • js/script-tests/string-localeCompare.js:
  • js/script-tests/string-prototype-properties.js: Update error message.
  • js/string-localeCompare-expected.txt:
  • js/string-prototype-properties-expected.txt: Update error message.
  • js/string-localeCompare.html:
1:04 AM Changeset in webkit [194327] by Michael Catanzaro
  • 2 edits in trunk/Tools

[GTK] jquery.min.js violates DFSG
https://bugs.webkit.org/show_bug.cgi?id=152428

Reviewed by Joseph Pecoraro.

Stop distributing Source/WebInspectorUI/Tools. It is not needed in tarballs. This brings us
into compliance with DFSG by removing a bundled, minified copy of jQuery from our tarball.

  • gtk/manifest.txt.in:

Dec 20, 2015:

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

Don't allocate a NSImage and skip unneeded call to TIFFRepresentation when copying image to clipboard.
https://bugs.webkit.org/show_bug.cgi?id=152374

Patch by Jeremy Zerfas <WebKit@JeremyZerfas.com> on 2015-12-20
Reviewed by Darin Adler.

Source/WebCore:

When copying an image to the clipboard, don't bother allocating a
NSImage and skip the unneeded call to TIFFRepresentation since the data
from the previous getTIFFRepresentation call can be used instead. This
considerably reduces the amount of memory and CPU time used for large
images/animations.

Test: fast/images/image-copy-memory-usage.html

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::write):

LayoutTests:

Added test to make sure that when copying a 50 frame 500x500 animation
(50 MB uncompressed) to the clipboard, the additional memory usage is
kept to less than 200 MB.

  • fast/images/image-copy-memory-usage-expected.txt: Added.
  • fast/images/image-copy-memory-usage.html: Added.
  • fast/images/resources/dot-moving-in-a-circle-animation.gif: Added.
6:54 PM Changeset in webkit [194325] by jh718.park@samsung.com
  • 7 edits
    1 copy in trunk/Source/WebKit2

[WK2][EFL] Use WebsiteDataStore instead of WebDatabaseManager which has been deleted in r194295
https://bugs.webkit.org/show_bug.cgi?id=152460

Reviewed by Gyuyoung Kim.

Use WebsiteDataStore to support EFL WebDatabase API and to fix build break.

  • PlatformEfl.cmake:
  • UIProcess/API/APIWebsiteDataStore.cpp:
  • UIProcess/API/efl/APIWebsiteDataStoreEfl.cpp: Copied from Source/WebKit2/UIProcess/API/APIWebsiteDataStore.cpp.

(API::WebsiteDataStore::defaultApplicationCacheDirectory):
(API::WebsiteDataStore::defaultNetworkCacheDirectory):
(API::WebsiteDataStore::defaultIndexedDBDatabaseDirectory):
(API::WebsiteDataStore::defaultLocalStorageDirectory):
(API::WebsiteDataStore::defaultMediaKeysStorageDirectory):
(API::WebsiteDataStore::defaultWebSQLDatabaseDirectory):
(API::WebsiteDataStore::cacheDirectoryFileSystemRepresentation):
(API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):
(API::WebsiteDataStore::defaultDataStoreConfiguration):

  • UIProcess/API/efl/ewk_context.cpp:

(EwkContext::EwkContext):

  • UIProcess/API/efl/ewk_database_manager.cpp:

(EwkDatabaseManager::EwkDatabaseManager):
(EwkDatabaseManager::getDatabaseOrigins):

  • UIProcess/API/efl/ewk_database_manager_private.h:
  • UIProcess/efl/WebProcessPoolEfl.cpp:

(WebKit::WebProcessPool::legacyPlatformDefaultApplicationCacheDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultNetworkCacheDirectory):

6:10 PM Changeset in webkit [194324] by Gyuyoung Kim
  • 15 edits in trunk/Source/WebCore

Reduce PassRefPtr uses in dom - 2
https://bugs.webkit.org/show_bug.cgi?id=151936

Reviewed by Darin Adler.

Change PassRefPtr with RefPtr<Foo>&&, WTF::move(), Foo*, and Foo&.

  • dom/ScopedEventQueue.h:
  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::registerCallback):

  • dom/ScriptedAnimationController.h:
  • dom/StaticNodeList.h:
  • dom/Traversal.cpp:

(WebCore::NodeIteratorBase::NodeIteratorBase):

  • dom/Traversal.h:
  • dom/TreeWalker.cpp:

(WebCore::TreeWalker::TreeWalker):
(WebCore::TreeWalker::setCurrentNode):

  • dom/TreeWalker.h:

(WebCore::TreeWalker::create):

  • dom/UserActionElementSet.h:
  • dom/WebKitNamedFlow.cpp:

(WebCore::WebKitNamedFlow::WebKitNamedFlow):
(WebCore::WebKitNamedFlow::create):
(WebCore::WebKitNamedFlow::getRegionsByContent):
(WebCore::WebKitNamedFlow::getRegions):
(WebCore::WebKitNamedFlow::getContent):

  • dom/WebKitNamedFlow.h:
  • dom/WheelEvent.cpp:

(WebCore::WheelEvent::WheelEvent):
(WebCore::WheelEvent::initWheelEvent):
(WebCore::WheelEvent::initWebKitWheelEvent):

  • dom/WheelEvent.h:
5:19 PM Changeset in webkit [194323] by Michael Catanzaro
  • 7 edits in trunk/Source

[SOUP] Performs DNS prefetch when a proxy is configured (information leak)
https://bugs.webkit.org/show_bug.cgi?id=145542

Reviewed by Darin Adler.

Source/WebCore:

Perform DNS prefetch only when no proxy is configured.

No new tests. Test this manually with Wireshark. Run the simple-proxy example program found
in libsoup's examples directory, set that as your system HTTP proxy, and see if DNS queries
show up in Wireshark when refreshing a page sent over HTTP. They should appear only when the
proxy is not configured.

  • platform/network/DNSResolveQueue.cpp:

(WebCore::DNSResolveQueue::DNSResolveQueue):
(WebCore::DNSResolveQueue::isUsingProxy):

  • platform/network/DNSResolveQueue.h:
  • platform/network/cf/DNSCFNet.cpp:

(WebCore::DNSResolveQueue::updateIsUsingProxy):
(WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences): Deleted.

  • platform/network/soup/DNSSoup.cpp:

(WebCore::didResolveProxy):
(WebCore::proxyResolvedForHttpUriCallback):
(WebCore::proxyResolvedForHttpsUriCallback):
(WebCore::DNSResolveQueue::updateIsUsingProxy):
(WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences): Deleted.

Source/WTF:

Specialize GUniquePtr<char*>, using g_strfreev.

  • wtf/glib/GUniquePtr.h:
1:57 PM Changeset in webkit [194322] by mitz@apple.com
  • 26 edits in trunk/Source

Remove unused setToolbarHeight
https://bugs.webkit.org/show_bug.cgi?id=152466

Reviewed by Darin Adler.

Source/WebCore:

  • inspector/InspectorFrontendClient.h:
  • inspector/InspectorFrontendHost.cpp:

(WebCore::InspectorFrontendHost::setToolbarHeight): Deleted.

  • inspector/InspectorFrontendHost.h:
  • inspector/InspectorFrontendHost.idl:
  • testing/Internals.cpp:

Source/WebInspectorUI:

  • UserInterface/Base/Main.js:

(WebInspector.contentLoaded):

  • UserInterface/Protocol/InspectorFrontendHostStub.js:

(window.InspectorFrontendHost.WebInspector.InspectorFrontendHostStub.prototype.setToolbarHeight): Deleted.

Source/WebKit/ios:

  • WebCoreSupport/WebInspectorClientIOS.mm:

(WebInspectorFrontendClient::setToolbarHeight): Deleted.

Source/WebKit/mac:

  • WebCoreSupport/WebInspectorClient.h:
  • WebCoreSupport/WebInspectorClient.mm::

(WebInspectorFrontendClient::setToolbarHeight): Deleted.

Source/WebKit/win:

  • WebCoreSupport/WebInspectorClient.cpp:

(WebInspectorFrontendClient::setToolbarHeight): Deleted.

  • WebCoreSupport/WebInspectorClient.h:

Source/WebKit2:

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::platformSetToolbarHeight): Deleted.

  • UIProcess/WebInspectorProxy.h:

(WebKit::WebInspectorProxy::setToolbarHeight): Deleted.

  • UIProcess/WebInspectorProxy.messages.in:
  • UIProcess/efl/WebInspectorProxyEfl.cpp:

(WebKit::WebInspectorProxy::platformSetToolbarHeight): Deleted.

  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformSetToolbarHeight): Deleted.

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::platformSetToolbarHeight): Deleted.

  • WebProcess/WebPage/WebInspectorUI.cpp:

(WebKit::WebInspectorUI::setToolbarHeight): Deleted.

  • WebProcess/WebPage/WebInspectorUI.h:
12:08 PM Changeset in webkit [194321] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

German translation update
https://bugs.webkit.org/show_bug.cgi?id=152228

Unreviewed.

Patch by Bernd Homuth <dev@hmt.im> on 2015-12-20

  • de.po:
11:53 AM Changeset in webkit [194320] by fpizlo@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Implement compareDouble in B3/Air
https://bugs.webkit.org/show_bug.cgi?id=150903

Reviewed by Benjamin Poulain.

A hole in our coverage is that we don't fuse a double comparison into a branch, then we will
crash in the instruction selector. Obviously, we *really* want to fuse double comparisons,
but we can't guarantee that this will always happen.

This also removes all uses of WTF::Dominators verification, since it's extremely slow even in
a release build. This speeds up testb3 with validateGraphAtEachPhase=true by an order of
magnitude.

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::moveDoubleConditionallyFloat):
(JSC::MacroAssembler::compareDouble):
(JSC::MacroAssembler::compareFloat):
(JSC::MacroAssembler::lea):

  • b3/B3Dominators.h:

(JSC::B3::Dominators::Dominators):

  • b3/B3LowerToAir.cpp:

(JSC::B3::Air::LowerToAir::createCompare):
(JSC::B3::Air::LowerToAir::lower):

  • b3/air/AirOpcode.opcodes:
  • b3/testb3.cpp:

(JSC::B3::testCompare):
(JSC::B3::testEqualDouble):
(JSC::B3::simpleFunction):
(JSC::B3::run):

  • dfg/DFGDominators.h:

(JSC::DFG::Dominators::Dominators):

2:27 AM Changeset in webkit [194319] by commit-queue@webkit.org
  • 34 edits
    1 delete in trunk

Unreviewed, rolling out r194033 and r194267.
https://bugs.webkit.org/show_bug.cgi?id=152465

Caused crashes on Mac WK1 bots (Requested by youenn on
#webkit).

Reverted changesets:

"[Streams API] Expose ReadableStream and relatives to Worker"
https://bugs.webkit.org/show_bug.cgi?id=152066
http://trac.webkit.org/changeset/194033

"[Streams API] imported/w3c/web-platform-tests/streams-api
/readable-streams/cancel.html has a flaky test"
https://bugs.webkit.org/show_bug.cgi?id=152065
http://trac.webkit.org/changeset/194267

Note: See TracTimeline for information about the timeline view.