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

Timeline



Apr 5, 2018:

11:56 PM Changeset in webkit [230329] by Ross Kirsling
  • 1 edit
    1 delete in trunk/JSTests

Unreviewed, rolling out r230320.

Revert fix, as the root cause lies elsewhere.

Reverted changeset:

"[test262] Mark line-terminator-normalisation-CR.js as a
binary file."
https://bugs.webkit.org/show_bug.cgi?id=184341
https://trac.webkit.org/changeset/230320

11:47 PM Changeset in webkit [230328] by youenn@apple.com
  • 3 edits
    5 adds in trunk/LayoutTests

Add a test for scoped cookies used to load AppCache resources
https://bugs.webkit.org/show_bug.cgi?id=184315

Reviewed by Ryosuke Niwa.

  • http/tests/appcache/document-cookie-http-only-expected.txt:
  • http/tests/appcache/document-cookie-http-only.php:
  • http/tests/appcache/resources/manifest-protected-script.php: Added.
  • http/tests/appcache/resources/scope1/cookie-protected-manifest.php: Added.
  • http/tests/appcache/resources/scope2/cookie-protected-script.php: Added.
11:18 PM Changeset in webkit [230327] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

MacroAssemblerCodePtr::retagged() should not re-decorate the pointer on ARMv7.
https://bugs.webkit.org/show_bug.cgi?id=184347
<rdar://problem/39183165>

Reviewed by Michael Saboff.

  • assembler/MacroAssemblerCodeRef.h:

(JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr):
(JSC::MacroAssemblerCodePtr::retagged const):

10:23 PM Changeset in webkit [230326] by youenn@apple.com
  • 7 edits in trunk/Source

REGRESSION (r230223): LayoutTest http/tests/contentextensions/css-display-none-overflows-rule-data-1.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=184306

Reviewed by Ryosuke Niwa.

Source/WebCore:

Add an option to not compile CSS rules since they are not useful in NetworkProcess.
Covered by tests no longer crashing in Debug WK2 bots.

  • contentextensions/ContentExtension.cpp:

(WebCore::ContentExtensions::ContentExtension::create):
(WebCore::ContentExtensions::ContentExtension::ContentExtension):

  • contentextensions/ContentExtension.h:
  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::addContentExtension):

  • contentextensions/ContentExtensionsBackend.h:

Source/WebKit:

  • NetworkProcess/NetworkContentRuleListManager.cpp:

(WebKit::NetworkContentRuleListManager::addContentRuleLists):

10:00 PM Changeset in webkit [230325] by youenn@apple.com
  • 3 edits in trunk/Tools

Test expectation updater should handle Win bot results
https://bugs.webkit.org/show_bug.cgi?id=184274

Reviewed by Ryosuke Niwa.

Add processing of win bot results.
They will update platform/win results.

Updated the script so that if there is no mac-wk2 results, it will still process specific results.

  • Scripts/webkitpy/common/net/bugzilla/test_expectation_updater.py:

(TestExpectationUpdater.init):
(TestExpectationUpdater._bot_type):
(TestExpectationUpdater.do_update):

  • Scripts/webkitpy/common/net/bugzilla/test_expectation_updater_unittest.py:

(MockAttachment):
(MockAttachment.init):
(MockAttachment.contents):
(MockBugzilla):
(MockBugzilla.init):
(MockBugzilla.fetch_bug):
(MockBugzilla.attachments):
(MockZip):
(MockZip.init):
(MockZip.unzip):
(MockZip.read):
(TestExpectationUpdaterTest.test_update_test_expectations):
(TestExpectationUpdaterTest):
(TestExpectationUpdaterTest.test_update_win_future_test_expectations):

9:57 PM Changeset in webkit [230324] by Alan Bujtas
  • 4 edits
    1 add in trunk/Tools

[LayoutReloaded] Fix static position for floating boxes when they don't fit the current line
https://bugs.webkit.org/show_bug.cgi?id=184354

Reviewed by Antti Koivisto.

Do not shrink the current line with the floating box unless it is on the current line.

  • LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:

(InlineFormattingContext.prototype._handleFloatingBox):
(InlineFormattingContext.prototype._mapFloatingVerticalPosition):

  • LayoutReloaded/FormattingContext/InlineFormatting/Line.js:

(Line.prototype.addFloatingBox):
(Line):

  • LayoutReloaded/test/index.html:
  • LayoutReloaded/test/inline-with-right-floats3.html: Added.
9:44 PM Changeset in webkit [230323] by Brent Fulgham
  • 9 edits in trunk/Source

WebContent process is calling CGDisplayUsesInvertedPolarity
https://bugs.webkit.org/show_bug.cgi?id=184337
<rdar://problem/39215702>

Reviewed by Zalan Bujtas.

The PlatformScreenMac code is still calling display-related routines directly, specifically
CGDisplayUsesInvertedPolarity and CGDisplayUsesForceToGray. These should be brokered from
the UIProcess.

There's also no reason to avoid the brokering behavior on current WebKit builds. Remove
the compile guards so all macOS builds use this behavior.

Finally, add some ProcessPrivilege assertions to guard against accidentally calling these
routines in the future.

Source/WebCore:

Tested by existing regression tests.

  • platform/PlatformScreen.h:
  • platform/ScreenProperties.h:

(WebCore::ScreenProperties::encode const): Add new values.
(WebCore::ScreenProperties::decode):

  • platform/mac/PlatformScreenMac.mm:

(WebCore::displayID): Add assertion that this is not calling display-related routines in
the WebContent process.
(WebCore::firstScreen): Ditto.
(WebCore::screenProperties): Moved higher in the file so it can be reused. Add calls to
CGDisplayUsesInvertedPolarity and CGDisplayUsesForceToGray.
(WebCore::getScreenProperties): Moved higher in the file so it can be reused. Stop
double-hashing displayID.
(WebCore::screenIsMonochrome): Use cached values in WebContent process. Assert if this
code attempts a display-related routine in the WebContent process.
(WebCore::screenHasInvertedColors): Ditto.
(WebCore::screenDepth): Add assertion that this is not calling display-related routines in
the WebContent process.
(WebCore::screenDepthPerComponent): Ditto.
(WebCore::screenRect): Ditto.
(WebCore::screenAvailableRect): Ditto.
(WebCore::screen): Ditto.
(WebCore::screenColorSpace): Ditto.
(WebCore::screenSupportsExtendedColor): Ditto.

Source/WebKit:

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::initializeNewWebProcess): Activate screen brokering code for all builds.

  • WebProcess/WebProcess.cpp: Ditto.
  • WebProcess/WebProcess.h: Ditto.
  • WebProcess/WebProcess.messages.in: Ditto.
8:18 PM Changeset in webkit [230322] by Dewei Zhu
  • 2 edits in trunk/Websites/perf.webkit.org

Fix a bug introduced in r230295 that A/B test result is not shown.
https://bugs.webkit.org/show_bug.cgi?id=184350

Reviewed by Ryosuke Niwa.

result.label should be assigned in TestGroup._computeRequestedCommitSets.

  • public/v3/models/test-group.js:

(TestGroup.prototype._computeRequestedCommitSets):

8:10 PM Changeset in webkit [230321] by Alan Bujtas
  • 4 edits
    2 adds in trunk/Tools

[LayoutReloaded] Add support for right floating boxes in inline formatting context
https://bugs.webkit.org/show_bug.cgi?id=184351

Reviewed by Antti Koivisto.

  • LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:

(InlineFormattingContext.prototype._handleFloatingBox):
(InlineFormattingContext.prototype._mapFloatingVerticalPosition):

  • LayoutReloaded/FormattingContext/InlineFormatting/Line.js:

(Line.prototype.addFloatingBox):
(Line):

  • LayoutReloaded/test/index.html:
  • LayoutReloaded/test/inline-with-right-float-simple.html: Added.
  • LayoutReloaded/test/inline-with-right-floats2.html: Added.
7:38 PM Changeset in webkit [230320] by Ross Kirsling
  • 1 edit
    1 add in trunk/JSTests

[test262] Mark line-terminator-normalisation-CR.js as a binary file.
https://bugs.webkit.org/show_bug.cgi?id=184341

Reviewed by Yusuke Suzuki.

This test is all about CR line endings, but svn-apply can't deal with them.
Treating the file as binary ensures that its contents never are never shown in a diff.

  • .gitattributes: Added.
7:25 PM Changeset in webkit [230319] by wilander@apple.com
  • 2 edits in trunk/Source/WebCore

Resource Load Statistics: Apply cookie blocking to setCookiesFromDOM()
https://bugs.webkit.org/show_bug.cgi?id=184346
<rdar://problem/39226036>

Reviewed by Brent Fulgham.

Since these cookies can't be seen and are not sent in requests, I
can't write an automated test for them. This really should have been
done as part of: https://bugs.webkit.org/show_bug.cgi?id=180682.
That said, I have tested this manually.

  • platform/network/mac/CookieJarMac.mm:

(WebCore::setCookiesFromDOM):

7:12 PM Changeset in webkit [230318] by Alan Bujtas
  • 5 edits
    1 add in trunk/Tools

[LayoutReloaded] Move floating box to the next line when needed
https://bugs.webkit.org/show_bug.cgi?id=184349

Reviewed by Antti Koivisto.

  • LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:

(InlineFormattingContext.prototype.layout):
(InlineFormattingContext.prototype._handleContent):
(InlineFormattingContext.prototype._handleText):
(InlineFormattingContext.prototype._handleFloatingBox):
(InlineFormattingContext.prototype._mapFloatingHorizontalPosition):
(InlineFormattingContext):
(InlineFormattingContext.prototype._handleFloatingBoxes): Deleted.
(InlineFormattingContext.prototype._floatingBoxes): Deleted.

  • LayoutReloaded/FormattingContext/InlineFormatting/Line.js:

(Line.prototype.addTextLineBox):
(Line.prototype.addFloatingBox):
(Line):

  • LayoutReloaded/Utils.js:

(LayoutRect.prototype.moveHorizontally):
(LayoutRect.prototype.moveVertically):

  • LayoutReloaded/test/index.html:
  • LayoutReloaded/test/inline-with-floats-when-they-dont-fit.html: Added.
6:29 PM Changeset in webkit [230317] by sbarati@apple.com
  • 4 edits in trunk/Source/bmalloc

IsoHeapImpl not IsoHeapImplBase should add itself to AllIsoHeaps
https://bugs.webkit.org/show_bug.cgi?id=184174

Reviewed by Filip Pizlo.

Otherwise, another thread may see a non-fully formed IsoHeapImpl.

  • bmalloc/IsoHeapImpl.cpp:

(bmalloc::IsoHeapImplBase::IsoHeapImplBase):
(bmalloc::IsoHeapImplBase::addToAllIsoHeaps):

  • bmalloc/IsoHeapImpl.h:
  • bmalloc/IsoHeapImplInlines.h:

(bmalloc::IsoHeapImpl<Config>::IsoHeapImpl):

5:45 PM Changeset in webkit [230316] by jmarcell@apple.com
  • 1 copy in tags/Safari-605.2.2

Tag Safari-605.2.2.

4:18 PM Changeset in webkit [230315] by beidson@apple.com
  • 4 edits in trunk

Process Swap on Navigation causes many webpages to hang due to attempted process swap for iframe navigations.
<rdar://problem/39162236> and https://bugs.webkit.org/show_bug.cgi?id=184318

Reviewed by Andy Estes.

Source/WebKit:

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::receivedPolicyDecision): Don't consider a swap if the navigation is not in the main frame.

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:

(-[PSONMessageHandler userContentController:didReceiveScriptMessage:]):
(-[PSONScheme addMappingFromURLString:toData:]):
(-[PSONScheme webView:startURLSchemeTask:]):

2:21 PM Changeset in webkit [230314] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebKit

WebContent process sometimes hangs in WebProcess::ensureNetworkProcessConnection
https://bugs.webkit.org/show_bug.cgi?id=184326

Reviewed by Chris Dumez.

The hang was caused by UI process never sending the reply back to GetNetworkProcessConnection
due to m_pendingOutgoingMachMessage being set and the event handler for DISPATCH_MACH_SEND_POSSIBLE
never getting called. This is because the event handler registration happens asynchronously,
and may not have completed by the time we send the first IPC to the web content process
in which case it can timeout and we may never get the callback.

Fixed the hang by waiting for the event handler registration to be completed using
dispatch_source_set_registration_handler. To do this, this patch adds a new boolean instance variable,
m_isInitializingSendSource, to Connection which is set to true between the time mach port is created
and until the event handler registration has been completed. platformCanSendOutgoingMessages returns
false while m_isInitializingSendSource is set to prevent the attempt to send messages like we do when
m_pendingOutgoingMachMessage is set to true.

  • Platform/IPC/Connection.h:

(IPC::Connection::m_isInitializingSendSource): Added.

  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::Connection::platformInvalidate): Set m_isInitializingSendSource to false.
(IPC::Connection::sendMessage): Assert that m_isInitializingSendSource is false.
(IPC::Connection::platformCanSendOutgoingMessages const): Return false if m_isInitializingSendSource
is set to true.
(IPC::Connection::sendOutgoingMessage): Assert that m_isInitializingSendSource is false.
(IPC::Connection::initializeSendSource): Set m_isInitializingSendSource to true temporarily until
dispatch_source_set_registration_handler's callback is called. Resume and send any pending outgoing
messages.
(IPC::Connection::resumeSendSource): Extracted from initializeSendSource.

2:14 PM Changeset in webkit [230313] by Alan Bujtas
  • 4 edits
    2 adds in trunk

Folding anonymous blocks should not result in deleting content.
https://bugs.webkit.org/show_bug.cgi?id=184339
<rdar://problem/37327428>

Reviewed by Antti Koivisto.

Source/WebCore:

While folding multiple anonymous blocks (moving the children from next sibling over to previous sibling)
we should ensure that the block we are about to destroy does not gain new descendants.
In case of 4 sibling anonymous blocks (A B C D), while destroying B

  1. we move C's children to A and destroy C.
  2. While destroying C, we notice B and C as sibling anonymous blocks and we move

D's children over to B (even though B is going to be destroyed as we climb back on the stack).

In this patch, B is detached from the tree before we start moving renderers around so that a subsequent folding won't
find B anymore as a candidate.

Test: fast/block/crash-while-folding-anonymous-blocks.html

  • rendering/updating/RenderTreeBuilderBlock.cpp:

(WebCore::RenderTreeBuilder::Block::detach):

LayoutTests:

  • fast/block/crash-when-subtree-is-still-attached-expected.txt: Progressing. This test does not

intend to remove "foobar" text at all.

  • fast/block/crash-while-folding-anonymous-blocks-expected.txt: Added.
  • fast/block/crash-while-folding-anonymous-blocks.html: Added.
1:09 PM Changeset in webkit [230312] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

Mark Payment Request as "Supported" in features.json
https://bugs.webkit.org/show_bug.cgi?id=184338

Reviewed by Anders Carlsson.

  • features.json:
1:02 PM Changeset in webkit [230311] by wilander@apple.com
  • 2 edits in trunk/Source/WebCore/PAL

Add necessary colon to CFNetwork selector
https://bugs.webkit.org/show_bug.cgi?id=184335
<rdar://problem/39213124>

Reviewed by Brent Fulgham.

  • pal/spi/cf/CFNetworkSPI.h:

(setIgnoreHSTS):

12:12 PM Changeset in webkit [230310] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[MIPS] Optimize generated JIT code for branches
https://bugs.webkit.org/show_bug.cgi?id=183130

Patch by Stanislav Ocovaj <stanislav.ocovaj@rt-rk.com> on 2018-04-05
Reviewed by Yusuke Suzuki.

The patch https://bugs.webkit.org/show_bug.cgi?id=101328 added two nop instructions to
branchEqual() and branchNotEqual() in order to allow the code generated by branchPtrWithPatch()
to be reverted back to branchPtrWithPatch after replacing it with a 4-instruction jump.
However, this adds a significant overhead for all other types of branches. Since these nop's
protect the code that is generated by branchPtrWithPatch, this function seems like a better
place to add them.

  • assembler/MIPSAssembler.h:

(JSC::MIPSAssembler::repatchInt32):
(JSC::MIPSAssembler::revertJumpToMove):

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::branchAdd32):
(JSC::MacroAssemblerMIPS::branchMul32):
(JSC::MacroAssemblerMIPS::branchSub32):
(JSC::MacroAssemblerMIPS::branchNeg32):
(JSC::MacroAssemblerMIPS::branchPtrWithPatch):
(JSC::MacroAssemblerMIPS::branchEqual):
(JSC::MacroAssemblerMIPS::branchNotEqual):

12:03 PM WebKitGTK/2.20.x edited by Michael Catanzaro
(diff)
11:50 AM Changeset in webkit [230309] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebCore

Cherry-pick r228334. rdar://problem/38712636

11:07 AM Changeset in webkit [230308] by Yusuke Suzuki
  • 37 edits
    1 move
    1 delete in trunk/Source/bmalloc

bmalloc StaticMutex's constructor should be constexpr
https://bugs.webkit.org/show_bug.cgi?id=180600

Reviewed by Mark Lam.

StaticMutex and Mutex can be unified. This patch changes std::atomic_flag in StaticMutex
to std::atomic<bool> to add constexpr constructor to StaticMutex. Then, StaticMutex can
be initialized in static storage without calling any static initializers.
And we also rename StaticMutex to Mutex simply.

  • CMakeLists.txt:
  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/AllIsoHeaps.cpp:

(bmalloc::AllIsoHeaps::AllIsoHeaps):

  • bmalloc/AllIsoHeaps.h:
  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::tryAllocate):
(bmalloc::Allocator::allocateImpl):
(bmalloc::Allocator::reallocate):
(bmalloc::Allocator::refillAllocatorSlowCase):
(bmalloc::Allocator::allocateLarge):

  • bmalloc/CryptoRandom.cpp:

(bmalloc::ARC4RandomNumberGenerator::ARC4RandomNumberGenerator):

  • bmalloc/Deallocator.cpp:

(bmalloc::Deallocator::scavenge):
(bmalloc::Deallocator::processObjectLog):
(bmalloc::Deallocator::deallocateSlowCase):

  • bmalloc/Deallocator.h:

(bmalloc::Deallocator::lineCache):

  • bmalloc/DebugHeap.cpp:

(bmalloc::DebugHeap::DebugHeap):

  • bmalloc/DebugHeap.h:
  • bmalloc/Environment.cpp:

(bmalloc::Environment::Environment):

  • bmalloc/Environment.h:
  • bmalloc/Gigacage.cpp:

(Gigacage::disablePrimitiveGigacage):
(Gigacage::addPrimitiveDisableCallback):
(Gigacage::removePrimitiveDisableCallback):

  • bmalloc/Heap.cpp:

(bmalloc::Heap::Heap):
(bmalloc::Heap::freeableMemory):
(bmalloc::Heap::scavenge):
(bmalloc::Heap::deallocateLineCache):
(bmalloc::Heap::allocateSmallChunk):
(bmalloc::Heap::allocateSmallPage):
(bmalloc::Heap::deallocateSmallLine):
(bmalloc::Heap::allocateSmallBumpRangesByMetadata):
(bmalloc::Heap::allocateSmallBumpRangesByObject):
(bmalloc::Heap::splitAndAllocate):
(bmalloc::Heap::tryAllocateLarge):
(bmalloc::Heap::allocateLarge):
(bmalloc::Heap::isLarge):
(bmalloc::Heap::largeSize):
(bmalloc::Heap::shrinkLarge):
(bmalloc::Heap::deallocateLarge):
(bmalloc::Heap::externalCommit):
(bmalloc::Heap::externalDecommit):

  • bmalloc/Heap.h:

(bmalloc::Heap::mutex):
(bmalloc::Heap::allocateSmallBumpRanges):
(bmalloc::Heap::derefSmallLine):

  • bmalloc/IsoDeallocator.h:
  • bmalloc/IsoHeap.h:
  • bmalloc/IsoTLSDeallocatorEntry.h:
  • bmalloc/IsoTLSDeallocatorEntryInlines.h:

(bmalloc::IsoTLSDeallocatorEntry<Config>::IsoTLSDeallocatorEntry):

  • bmalloc/IsoTLSInlines.h:

(bmalloc::IsoTLS::ensureHeap):

  • bmalloc/IsoTLSLayout.cpp:

(bmalloc::IsoTLSLayout::IsoTLSLayout):
(bmalloc::IsoTLSLayout::add):

  • bmalloc/IsoTLSLayout.h:
  • bmalloc/Mutex.cpp: Renamed from Source/bmalloc/bmalloc/StaticMutex.cpp.

(bmalloc::Mutex::lockSlowCase):

  • bmalloc/Mutex.h:

(bmalloc::sleep):
(bmalloc::waitUntilFalse):
(bmalloc::Mutex::try_lock):
(bmalloc::Mutex::lock):
(bmalloc::Mutex::unlock):
(bmalloc::Mutex::Mutex): Deleted.

  • bmalloc/ObjectType.cpp:

(bmalloc::objectType):

  • bmalloc/PerProcess.cpp:

(bmalloc::getPerProcessData):

  • bmalloc/PerProcess.h:

(bmalloc::PerProcess::mutex):
(bmalloc::PerProcess::getSlowCase):

  • bmalloc/Scavenger.cpp:

(bmalloc::Scavenger::Scavenger):
(bmalloc::Scavenger::scavenge):
(bmalloc::Scavenger::freeableMemory):

  • bmalloc/Scavenger.h:
  • bmalloc/SmallLine.h:

(bmalloc::SmallLine::refCount):
(bmalloc::SmallLine::ref):
(bmalloc::SmallLine::deref):

  • bmalloc/SmallPage.h:

(bmalloc::SmallPage::refCount):
(bmalloc::SmallPage::hasFreeLines const):
(bmalloc::SmallPage::setHasFreeLines):
(bmalloc::SmallPage::ref):
(bmalloc::SmallPage::deref):

  • bmalloc/StaticMutex.h: Removed.
  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::VMHeap):

  • bmalloc/VMHeap.h:
  • bmalloc/Zone.cpp:

(bmalloc::Zone::Zone):

  • bmalloc/Zone.h:
  • bmalloc/bmalloc.cpp:

(bmalloc::api::tryLargeZeroedMemalignVirtual):
(bmalloc::api::freeLargeVirtual):
(bmalloc::api::isEnabled):
(bmalloc::api::setScavengerThreadQOSClass):

  • bmalloc/bmalloc.h:
10:43 AM Changeset in webkit [230307] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

WebRTC data channel only applications require capture permissions for direct connections
https://bugs.webkit.org/show_bug.cgi?id=174500
<rdar://problem/34134281>

Unreviewed.
Changed the code to suppress: "error: unused variable 'error' [-Werror,-Wunused-variable]"
Added some logging to this error case as a side bonus.

  • NetworkProcess/webrtc/NetworkMDNSRegister.cpp:

(WebKit::NetworkMDNSRegister::registerMDNSName):

10:37 AM Changeset in webkit [230306] by Ryan Haddad
  • 2 edits in trunk/JSTests

Fix testcase (missing try/catch).
https://bugs.webkit.org/show_bug.cgi?id=183657

Unreviewed.

  • stress/large-unshift-splice.js

Patch by Robin Morisset <rmorisset@apple.com> on 2018-04-05

10:32 AM Changeset in webkit [230305] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r230042.

It is no longer needed now that it is safe to construct a
SecurityOrigin from an on-main thread

Reverted changeset:

"WebSocket::didReceiveMessage() may construct a SecurityOrigin
object on a non-main thread"
https://bugs.webkit.org/show_bug.cgi?id=184068
https://trac.webkit.org/changeset/230042

10:22 AM Changeset in webkit [230304] by Ryan Haddad
  • 3 edits
    2 copies in trunk/LayoutTests

Rebaseline tests for High Sierra.

Unreviewed test gardening.

  • platform/mac-sierra/fast/forms/input-table-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-table-expected.txt.
  • platform/mac-sierra/tables/mozilla/bugs/bug30692-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug30692-expected.txt.
  • platform/mac/fast/forms/input-table-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug30692-expected.txt:
10:22 AM Changeset in webkit [230303] by Yusuke Suzuki
  • 74 edits in trunk

[WTF] Remove StaticLock
https://bugs.webkit.org/show_bug.cgi?id=184332

Reviewed by Mark Lam.

Source/JavaScriptCore:

  • API/JSValue.mm:

(handerForStructTag):

  • API/JSVirtualMachine.mm:

(+[JSVMWrapperCache addWrapper:forJSContextGroupRef:]):
(+[JSVMWrapperCache wrapperForJSContextGroupRef:]):

  • API/glib/JSCVirtualMachine.cpp:

(addWrapper):
(removeWrapper):

  • assembler/testmasm.cpp:
  • b3/air/testair.cpp:
  • b3/testb3.cpp:
  • bytecode/SuperSampler.cpp:
  • dfg/DFGCommon.cpp:
  • dfg/DFGCommonData.cpp:
  • dynbench.cpp:
  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::tryCopyOtherThreadStacks):

  • inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:

(Inspector::RemoteTargetHandleRunSourceGlobal):
(Inspector::RemoteTargetQueueTaskOnGlobalQueue):

  • interpreter/CLoopStack.cpp:
  • parser/SourceProvider.cpp:
  • profiler/ProfilerDatabase.cpp:
  • profiler/ProfilerUID.cpp:

(JSC::Profiler::UID::create):

  • runtime/IntlObject.cpp:

(JSC::numberingSystemsForLocale):

  • runtime/JSLock.cpp:
  • runtime/JSLock.h:
  • runtime/SamplingProfiler.cpp:

(JSC::SamplingProfiler::registerForReportAtExit):

  • runtime/VM.cpp:
  • wasm/WasmFaultSignalHandler.cpp:

Source/WebCore:

No behavior change.

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::Database):
(WebCore::Database::performOpenAndVerify):
(WebCore::Database::closeDatabase):
(WebCore::Database::getCachedVersion const):
(WebCore::Database::setCachedVersion):

  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::openDatabaseMutex):

  • Modules/webdatabase/DatabaseTracker.h:
  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::allActiveWebSocketsMutex):

  • Modules/websockets/WebSocket.h:
  • bridge/objc/WebScriptObject.mm:
  • crypto/CryptoAlgorithmRegistry.cpp:

(WebCore::CryptoAlgorithmRegistry::identifier):
(WebCore::CryptoAlgorithmRegistry::name):
(WebCore::CryptoAlgorithmRegistry::create):
(WebCore::CryptoAlgorithmRegistry::registerAlgorithm):

  • dom/Node.cpp:
  • platform/URL.cpp:
  • platform/graphics/FontCache.cpp:
  • platform/graphics/MediaPlayer.cpp:
  • platform/ios/QuickLook.mm:
  • platform/ios/WebSQLiteDatabaseTrackerClient.mm:
  • platform/ios/wak/WebCoreThread.mm:
  • platform/ios/wak/WebCoreThreadRun.cpp:
  • platform/network/cf/LoaderRunLoopCF.cpp:

(WebCore::loaderRunLoop):

  • platform/network/curl/CurlContext.cpp:

(WebCore::CurlShareHandle::mutexFor):

  • platform/network/curl/CurlContext.h:
  • platform/sql/SQLiteDatabaseTracker.cpp:

(WebCore::SQLiteDatabaseTracker::incrementTransactionInProgressCount):
(WebCore::SQLiteDatabaseTracker::decrementTransactionInProgressCount):

  • platform/text/TextEncodingRegistry.cpp:

(WebCore::buildBaseTextCodecMaps):
(WebCore::newTextCodec):
(WebCore::atomicCanonicalTextEncodingName):

  • workers/WorkerThread.cpp:

(WebCore::WorkerThread::workerThreadCount):
(WebCore::WorkerThread::WorkerThread):
(WebCore::WorkerThread::~WorkerThread):
(WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads):

Source/WebKitLegacy/ios:

  • WebCoreSupport/WebFixedPositionContent.mm:

Source/WebKitLegacy/mac:

  • DOM/DOMInternal.mm:

(getDOMWrapper):
(addDOMWrapper):
(removeDOMWrapper):

Source/WebKitLegacy/win:

  • WebKitQuartzCoreAdditions/CAView.cpp:

(WKQCA::CAView::releaseAllD3DResources):

  • WebLocalizableStrings.cpp:

Source/WTF:

Now, WTF::StaticLock is using StaticLock = Lock. Lock just works
in either static storage and dynamic storage. Remove StaticLock and
always use Lock.

We also remove StaticWordLock and StaticReadWriteLock. And we add
WTF::RecursiveLock, which is RecursiveLockAdapter<Lock>.

  • wtf/HashTable.cpp:

(WTF::HashTableStats::recordCollisionAtCount):
(WTF::HashTableStats::dumpStats):

  • wtf/Language.cpp:

(WTF::userPreferredLanguages):

  • wtf/Lock.h:
  • wtf/MainThread.cpp:

(WTF::dispatchFunctionsFromMainThread):
(WTF::callOnMainThread):

  • wtf/ParkingLot.cpp:
  • wtf/ReadWriteLock.h:
  • wtf/RecursiveLockAdapter.h:
  • wtf/StackStats.cpp:

(WTF::StackStats::CheckPoint::CheckPoint):
(WTF::StackStats::CheckPoint::~CheckPoint):
(WTF::StackStats::probe):
(WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint):
(WTF::StackStats::LayoutCheckPoint::~LayoutCheckPoint):

  • wtf/StackStats.h:
  • wtf/ThreadMessage.cpp:

(WTF::sendMessageScoped):

  • wtf/ThreadingPthreads.cpp:
  • wtf/ThreadingWin.cpp:
  • wtf/WordLock.h:
  • wtf/cf/LanguageCF.cpp:

(WTF::languagePreferencesDidChange):
(WTF::platformUserPreferredLanguages):

  • wtf/dtoa.cpp:
  • wtf/text/AtomicStringImpl.cpp:
  • wtf/text/StringView.cpp:

(WTF::StringView::invalidate):
(WTF::StringView::adoptUnderlyingString):
(WTF::StringView::setUnderlyingString):

  • wtf/unicode/icu/CollatorICU.cpp:

(WTF::Collator::Collator):
(WTF::Collator::~Collator):

  • wtf/win/LanguageWin.cpp:

(WTF::platformLanguage):

Tools:

  • DumpRenderTree/JavaScriptThreading.cpp:
10:05 AM Changeset in webkit [230302] by jmarcell@apple.com
  • 8 edits
    2 adds in branches/safari-605-branch

Cherry-pick r230287. rdar://problem/39208588

REGRESSION(r222563): removed DoubleReal type check causes tons of crashes because CSE has never known how to handle SaneChain
https://bugs.webkit.org/show_bug.cgi?id=184319

Reviewed by Saam Barati.

JSTests:

  • stress/array-push-nan-to-double-array-cse-sane-and-insane-chain.js: Added. (foo): (bar):
  • stress/array-push-nan-to-double-array.js: Added. (foo): (bar):

Source/JavaScriptCore:

In r222581, we replaced type checks about DoubleReal in ArrayPush in the DFG/FTL backends with
assertions. That's correct because FixupPhase was emitting those checks as Check(DoubleRealRep:) before
the ArrayPush.

But this revealed a longstanding CSE bug: CSE will happily match a SaneChain GetByVal with a InBounds
GetByVal. SaneChain can return NaN while InBounds cannot. This means that if we first use AI to
eliminate the Check(DoubleRealRep:) based on the input being a GetByVal(InBounds) but then replace that
with a GetByVal(SaneChain), then we will hit the assertion.

This teaches CSE to not replace GetByVal(InBounds) with GetByVal(SaneChain) and vice versa. That gets
tricky because PutByVal can match either. So, we use the fact that it's legal for a store to def() more
than once: PutByVal now defs() a HeapLocation for InBounds and a HeapLocation for SaneChain.

  • dfg/DFGCSEPhase.cpp:
  • dfg/DFGClobberize.h: (JSC::DFG::clobberize):
  • dfg/DFGHeapLocation.cpp: (WTF::printInternal):
  • dfg/DFGHeapLocation.h:
  • dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileArrayPush):

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

10:05 AM Changeset in webkit [230301] by jmarcell@apple.com
  • 4 edits
    7 adds in branches/safari-605-branch

Apply patch. rdar://problem/39191858

fix-httponly-cookie

8:50 AM Changeset in webkit [230300] by Alan Bujtas
  • 4 edits
    1 add in trunk/Tools

[LayoutReloaded] Find the correct left edge for a line when floating boxes are in parent formatting context.
https://bugs.webkit.org/show_bug.cgi?id=184330

Reviewed by Antti Koivisto.

In inline formatting context, the floating boxes can come from the parent (block) formatting context. Let's
take them into account when computing the line edges.

  • LayoutReloaded/FormattingContext/FloatingContext.js:

(FloatingContext.prototype.left):
(FloatingContext.prototype.right):

  • LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:

(InlineFormattingContext.prototype._createNewLine):
(InlineFormattingContext.prototype._mapFloatingVerticalPosition):
(InlineFormattingContext.prototype._mapFloatingHorizontalPosition):
(InlineFormattingContext.prototype._mapFloatingPosition): Deleted.

  • LayoutReloaded/test/index.html:
  • LayoutReloaded/test/multiple-left-floats-on-line-from-parent-formatting-context.html: Added.
8:21 AM Changeset in webkit [230299] by Alan Bujtas
  • 4 edits
    1 add in trunk/Tools

[LayoutReloaded] Collect floating boxes in inline formatting context and layout them first.
https://bugs.webkit.org/show_bug.cgi?id=184329

Reviewed by Antti Koivisto.

Let's do this for now. There might be some cases where this violates layout.

  • LayoutReloaded/FormattingContext/FormattingContext.js:

(FormattingContext.prototype._outOfFlowDescendants):
(FormattingContext):

  • LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:

(InlineFormattingContext.prototype.layout):
(InlineFormattingContext.prototype._handleFloatingBoxes):
(InlineFormattingContext.prototype._handleFloatingBox):
(InlineFormattingContext.prototype._floatingBoxes):
(InlineFormattingContext):

  • LayoutReloaded/test/index.html:
  • LayoutReloaded/test/multiple-left-floats-on-line-simple.html: Added.
2:01 AM Changeset in webkit [230298] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

REGRESSION(r229831): Test WebKit2.ProvisionalURLAfterWillSendRequestCallback times out since r229831
https://bugs.webkit.org/show_bug.cgi?id=184293

Reviewed by Alex Christensen.

The problem is that after willSendRequest callback changes the request, the load is cancelled while
transitioning to committed state. This happens because the load is not waiting for the response policy check, so
it continues and when transitioning to committed, FrameLoader::closeURL() invalidates the current policy check
that causes a load failure. The new request returned by the API doesn't have any requester, so it's no longer
considered a main resource load. In the network process the resource load task doesn't wait for the response
policy and continues the load, sending the data to the web process. Once the first data is received, the load
transitions to commit, but the response policy check is still ongoing. This can only happen when using the C API
(I don't know about the Cocoa API), but not with the GLib API because it doesn't allow to create a new request,
only to modify the passed in one. With the C API we loss other internal things of the request like the priority,
but I guess the most important one is the requester.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchWillSendRequest):

1:00 AM Changeset in webkit [230297] by commit-queue@webkit.org
  • 2 edits
    4 adds in trunk/Source/ThirdParty/libwebrtc

[GTK] Add CMake package search for vpx and libevent libraries
https://bugs.webkit.org/show_bug.cgi?id=184257

Patch by Alejandro G. Castro <alex@igalia.com> on 2018-04-05
Reviewed by Michael Catanzaro.

Add new cmake search files for libevent, vpx and alsa-lib, this
makes a cleaner detection of the libraries.

  • CMakeLists.txt: Use the new cmake find files to detect the

package and add a better error message when the library is not
there.

  • Source/cmake/FindAlsaLib.cmake: Added.
  • Source/cmake/FindLibEvent.cmake: Added.
  • Source/cmake/FindVpx.cmake: Added.

Apr 4, 2018:

10:00 PM Changeset in webkit [230296] by Ryan Haddad
  • 3 edits in trunk/LayoutTests

Update TestExpectations for http/tests/media/video-buffered-range-contains-currentTime.html.
https://trac.webkit.org/changeset/223243/webkit

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
9:49 PM Changeset in webkit [230295] by Dewei Zhu
  • 13 edits in trunk/Websites/perf.webkit.org

Added UI to show potential regressions in chart with t-testing against segmentations.
https://bugs.webkit.org/show_bug.cgi?id=184131

Reviewed by Ryosuke Niwa.

Added UI in the chart-pane so that user can use new option in trendline which not only
shows the segmentation, but also t-test against potential changes indicated by segmentation.

Fix a bug in AnalysisTaskPage that chart is not updated when change type of task changes.

  • public/shared/statistics.js: Added a function to t-test certain range based on segmentation results.

(Statistics.supportedOneSideTTestProbabilities):
(Statistics.findRangesForChangeDetectionsWithWelchsTTest): The argument segmentations, every 2 items in the list defines
segmentation, that is why the index incremental is 2 in this funcion.

  • public/v3/components/chart-pane-base.js: Will select the range if user clicks on a suggested annotation.

(ChartPaneBase.prototype.configure):
(ChartPaneBase.prototype._didClickAnnotation):

  • public/v3/components/chart-styles.js:

(ChartStyles.annotationFillStyleForTask): Added 'annotationFillStyleForTask' to determine the fillStyle for annotation based on change type of a analysis task.

  • public/v3/components/interactive-time-series-chart.js:

(InteractiveTimeSeriesChart.prototype._findAnnotation): Also need to search among suggested annotaions.

  • public/v3/components/time-series-chart.js: Introduced 'suggested annotaion' which does not have an existing task and is suggested by t-test based on segmentation.

(TimeSeriesChart):
(TimeSeriesChart.prototype.setSuggestedAnnotations):
(TimeSeriesChart.prototype.allAnnotations): Returns both annotations with and without analysis task.
(TimeSeriesChart.prototype._layoutAnnotationBars): Should take all annotations in the calculation.

  • public/v3/models/measurement-set.js:

(MeasurementSet.prototype.metricId): Returns metric id.

  • public/v3/models/metric.js:

(Metric.prototype.summarizeForValues): Added helper function to summarize a given value

  • public/v3/models/test-group.js:

(TestGroup.prototype.compareTestResults): Adapted to use 'Metric.summarizeForValues'.

  • public/v3/pages/chart-pane.js: Added 'Segmentation with t-test analysis' to 'ChartTrendLineTypes'.

(ChartPane.prototype._renderTrendLinePopover):
(ChartPane.prototype.async._updateTrendLine): make it an async function.

  • unit-tests/statistics-tests.js: Added unit tests for 'findRangesForChangeDetectionsWithWelchsTTest'.
9:30 PM Changeset in webkit [230294] by mark.lam@apple.com
  • 34 edits
    1 delete in trunk/Source/JavaScriptCore

Add pointer profiling support to the DFG and supporting files.
https://bugs.webkit.org/show_bug.cgi?id=184316
<rdar://problem/39188524>

Reviewed by Filip Pizlo.

  1. Profile lots of pointers with PtrTags.
  1. Remove PtrTag.cpp and make ptrTagName() into an inline function. It's only used for debugging anyway, and not normally called in the code. Making it an inline function prevents it from taking up code space in builds when not in use.
  1. Change the call to the the arityFixupThunk in DFG code to be a near call. It doesn't need to be a far call.
  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • assembler/testmasm.cpp:

(JSC::testProbeModifiesProgramCounter):

  • b3/B3LowerMacros.cpp:
  • b3/air/AirCCallSpecial.cpp:

(JSC::B3::Air::CCallSpecial::generate):

  • b3/air/AirCCallSpecial.h:
  • b3/testb3.cpp:

(JSC::B3::testInterpreter):

  • bytecode/AccessCase.cpp:

(JSC::AccessCase::generateImpl):

  • bytecode/HandlerInfo.h:

(JSC::HandlerInfo::initialize):

  • bytecode/PolymorphicAccess.cpp:

(JSC::PolymorphicAccess::regenerate):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compileExceptionHandlers):
(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::compileFunction):
(JSC::DFG::JITCompiler::noticeCatchEntrypoint):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::appendCall):

  • dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareOSREntry):

  • dfg/DFGOSRExit.cpp:

(JSC::DFG::reifyInlinedCallFrames):
(JSC::DFG::adjustAndJumpToTarget):
(JSC::DFG::OSRExit::emitRestoreArguments):
(JSC::DFG::OSRExit::compileOSRExit):

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::handleExitCounts):
(JSC::DFG::reifyInlinedCallFrames):
(JSC::DFG::osrWriteBarrier):
(JSC::DFG::adjustAndJumpToTarget):

  • dfg/DFGOperations.cpp:
  • dfg/DFGSlowPathGenerator.h:

(JSC::DFG::CallResultAndArgumentsSlowPathGenerator::CallResultAndArgumentsSlowPathGenerator):
(JSC::DFG::CallResultAndArgumentsSlowPathGenerator::unpackAndGenerate):
(JSC::DFG::slowPathCall):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileMathIC):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):
(JSC::DFG::SpeculativeJIT::appendCall):
(JSC::DFG::SpeculativeJIT::appendCallSetResult):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis):
(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGThunks.cpp:

(JSC::DFG::osrExitThunkGenerator):
(JSC::DFG::osrExitGenerationThunkGenerator):
(JSC::DFG::osrEntryThunkGenerator):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitDumbVirtualCall):

  • jit/JIT.cpp:

(JSC::JIT::emitEnterOptimizationCheck):
(JSC::JIT::compileWithoutLinking):

  • jit/JITCall.cpp:

(JSC::JIT::compileOpCallSlowCase):

  • jit/JITMathIC.h:

(JSC::isProfileEmpty):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_catch):
(JSC::JIT::emitSlow_op_loop_hint):

  • jit/JITOperations.cpp:
  • jit/Repatch.cpp:

(JSC::linkSlowFor):
(JSC::linkFor):
(JSC::revertCall):
(JSC::unlinkFor):
(JSC::linkVirtualFor):
(JSC::linkPolymorphicCall):

  • jit/ThunkGenerators.cpp:

(JSC::throwExceptionFromCallSlowPathGenerator):
(JSC::linkCallThunkGenerator):
(JSC::linkPolymorphicCallThunkGenerator):
(JSC::virtualThunkFor):
(JSC::arityFixupGenerator):
(JSC::unreachableGenerator):

  • runtime/PtrTag.cpp: Removed.
  • runtime/PtrTag.h:

(JSC::ptrTagName):

  • runtime/VMEntryScope.cpp:
  • wasm/js/WasmToJS.cpp:

(JSC::Wasm::wasmToJS):

8:15 PM Changeset in webkit [230293] by Ryan Haddad
  • 30 edits in trunk/Source/WebKit

Unreviewed, rolling out r230283.

Caused webkitpy test failures.

Reverted changeset:

"Use CompletionHandlers for DelayedReplies"
https://bugs.webkit.org/show_bug.cgi?id=182269
https://trac.webkit.org/changeset/230283

7:40 PM Changeset in webkit [230292] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

webrtc/video-update-often.html is flakily crashing on iOS simulator Debug
https://bugs.webkit.org/show_bug.cgi?id=184022

Reviewed by Jer Noble.

Remove client context once the new context identifier is set.
Covered by test no longer crashing locally.

  • WebProcess/cocoa/PlaybackSessionManager.mm:

(WebKit::PlaybackSessionManager::setUpPlaybackControlsManager):

7:06 PM Changeset in webkit [230291] by youenn@apple.com
  • 2 edits in trunk/LayoutTests

http/wpt/loading/redirect-headers.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=184317

Reviewed by Ryosuke Niwa.

Wait for the completion of the fetch to end the test.

  • http/wpt/loading/redirect-headers.html:
7:05 PM Changeset in webkit [230290] by youenn@apple.com
  • 31 edits
    1 copy
    7 adds in trunk

WebRTC data channel only applications require capture permissions for direct connections
https://bugs.webkit.org/show_bug.cgi?id=174500
<rdar://problem/34134281>

Reviewed by Eric Carlson.

Source/WebCore:

Test: webrtc/datachannel/mdns-ice-candidates.html

Add support at PeerConnectionBackend to obfuscate any gathered host candidate
by replacing the IP address with an opaque name that can be resolved by MDNS.
An opaque name is generated for each IP address and is scoped by the document owning the peer connection object.

Add support to resolve any such MDNS ICE candidate.
A limit of 250 ms is fixed for the resolution to happen.
After 250 ms, the candidate is discarded.

Add an experimental flag around this feature, off by default.

  • Modules/mediastream/PeerConnectionBackend.cpp:

(WebCore::extractIPAddres):
(WebCore::PeerConnectionBackend::addIceCandidate):
(WebCore::PeerConnectionBackend::addIceCandidateSucceeded):
(WebCore::PeerConnectionBackend::addIceCandidateFailed):
(WebCore::PeerConnectionBackend::newICECandidate):
(WebCore::PeerConnectionBackend::doneGatheringCandidates):
(WebCore::PeerConnectionBackend::registerMDNSName):
(WebCore::PeerConnectionBackend::finishedRegisteringMDNSName):

  • Modules/mediastream/PeerConnectionBackend.h:
  • Modules/mediastream/RTCIceCandidate.h:

(WebCore::RTCIceCandidate::setCandidate):

  • Modules/mediastream/RTCPeerConnection.h:
  • dom/Document.cpp:

(WebCore::Document::prepareForDestruction):
(WebCore::Document::suspend):

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::mdnsICECandidatesEnabled const):
(WebCore::RuntimeEnabledFeatures::setMDNSICECandidatesEnabled):

  • platform/mediastream/libwebrtc/LibWebRTCProvider.h:

Source/WebKit:

Add support for MDNS registration and resolution by NetworkProcess.
WebProcess gives instruction to do the actual registrations/resolutions.

  • CMakeLists.txt:
  • DerivedSources.make:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):

  • NetworkProcess/NetworkConnectionToWebProcess.h:

(WebKit::NetworkConnectionToWebProcess::mdnsRegister):

  • NetworkProcess/webrtc/NetworkMDNSRegister.cpp: Added.

(WebKit::NetworkMDNSRegister::NetworkMDNSRegister):
(WebKit::NetworkMDNSRegister::~NetworkMDNSRegister):
(WebKit::NetworkMDNSRegister::unregisterMDNSNames):
(WebKit::PendingRegistrationRequest::PendingRegistrationRequest):
(WebKit::registerMDNSNameCallback):
(WebKit::NetworkMDNSRegister::registerMDNSName):
(WebKit::PendingResolutionRequest::PendingResolutionRequest):
(WebKit::PendingResolutionRequest::~PendingResolutionRequest):
(WebKit::PendingResolutionRequest::timeout):
(WebKit::resolveMDNSNameCallback):
(WebKit::NetworkMDNSRegister::resolveMDNSName):

  • NetworkProcess/webrtc/NetworkMDNSRegister.h: Added.
  • NetworkProcess/webrtc/NetworkMDNSRegister.messages.in: Added.
  • Shared/WebPreferences.yaml:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetWebRTCMDNSICECandidatesEnabled):
(WKPreferencesGetWebRTCMDNSICECandidatesEnabled):

  • UIProcess/API/C/WKPreferencesRef.h:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::didReceiveMessage):

  • WebProcess/Network/webrtc/LibWebRTCNetwork.h:

(WebKit::LibWebRTCNetwork::mdnsRegister):

  • WebProcess/Network/webrtc/LibWebRTCProvider.cpp:

(WebKit::LibWebRTCProvider::unregisterMDNSNames):
(WebKit::LibWebRTCProvider::registerMDNSName):
(WebKit::LibWebRTCProvider::resolveMDNSName):

  • WebProcess/Network/webrtc/LibWebRTCProvider.h:
  • WebProcess/Network/webrtc/WebMDNSRegister.cpp: Added.

(WebKit::WebMDNSRegister::finishedRegisteringMDNSName):
(WebKit::WebMDNSRegister::finishedResolvingMDNSName):
(WebKit::WebMDNSRegister::unregisterMDNSNames):
(WebKit::WebMDNSRegister::registerMDNSName):
(WebKit::WebMDNSRegister::resolveMDNSName):

  • WebProcess/Network/webrtc/WebMDNSRegister.h: Added.
  • WebProcess/Network/webrtc/WebMDNSRegister.messages.in: Added.

Tools:

Adding options to enable MDNS ICE candidates.

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

(WTR::TestRunner::setMediaDevicesEnabled):
(WTR::TestRunner::setMDNSICECandidatesEnabled):

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

(WTR::TestController::resetPreferencesToConsistentValues):

LayoutTests:

  • webrtc/datachannel/mdns-ice-candidates-expected.txt: Added.
  • webrtc/datachannel/mdns-ice-candidates.html: Added.
6:03 PM Changeset in webkit [230289] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark storage/websql/database-lock-after-reload.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=173928

Unreviewed test gardening.

  • platform/ios/TestExpectations:
6:03 PM Changeset in webkit [230288] by Ryan Haddad
  • 2 edits in trunk/Tools

Disable failing WKWebViewAutofillTests
https://bugs.webkit.org/show_bug.cgi?id=184196

Unreviewed test gardening.

  • TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:

(TestWebKitAPI::TEST):

5:30 PM Changeset in webkit [230287] by fpizlo@apple.com
  • 8 edits
    2 adds in trunk

REGRESSION(r222563): removed DoubleReal type check causes tons of crashes because CSE has never known how to handle SaneChain
https://bugs.webkit.org/show_bug.cgi?id=184319

Reviewed by Saam Barati.

JSTests:

  • stress/array-push-nan-to-double-array-cse-sane-and-insane-chain.js: Added.

(foo):
(bar):

  • stress/array-push-nan-to-double-array.js: Added.

(foo):
(bar):

Source/JavaScriptCore:

In r222581, we replaced type checks about DoubleReal in ArrayPush in the DFG/FTL backends with
assertions. That's correct because FixupPhase was emitting those checks as Check(DoubleRealRep:) before
the ArrayPush.

But this revealed a longstanding CSE bug: CSE will happily match a SaneChain GetByVal with a InBounds
GetByVal. SaneChain can return NaN while InBounds cannot. This means that if we first use AI to
eliminate the Check(DoubleRealRep:) based on the input being a GetByVal(InBounds) but then replace that
with a GetByVal(SaneChain), then we will hit the assertion.

This teaches CSE to not replace GetByVal(InBounds) with GetByVal(SaneChain) and vice versa. That gets
tricky because PutByVal can match either. So, we use the fact that it's legal for a store to def() more
than once: PutByVal now defs() a HeapLocation for InBounds and a HeapLocation for SaneChain.

  • dfg/DFGCSEPhase.cpp:
  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGHeapLocation.cpp:

(WTF::printInternal):

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

(JSC::DFG::SpeculativeJIT::compileArrayPush):

5:22 PM Changeset in webkit [230286] by BJ Burg
  • 2 edits in trunk/Source/WebCore

[Cocoa] WebDriver: test imported/w3c/webdriver/tests/cookies/add_cookie.py::test_add_non_session_cookie fails
https://bugs.webkit.org/show_bug.cgi?id=184314
<rdar://problem/39186578>

Reviewed by Timothy Hatcher.

Covered by several tests in add_cookie.py per the bug title.

  • platform/network/cocoa/CookieCocoa.mm:

(WebCore::Cookie::operator NSHTTPCookie * const):
By converting an integral UNIX timestamp to |maxAge| fractional seconds into the future, we introduce unwanted
precision that is truncated when switching back to a UNIX timestamp later. Always round up maxAge so that
the truncated value and actual value are the same.

4:33 PM Changeset in webkit [230285] by commit-queue@webkit.org
  • 45 edits
    2 copies
    6 moves
    3 adds
    12 deletes in trunk/LayoutTests

Resync idlharness web-platform-tests up to 94b33b573a069ae5170104ca581a354a35762536
https://bugs.webkit.org/show_bug.cgi?id=184278

Patch by Brendan McLoughlin <brendan@bocoup.com> on 2018-04-04
Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

  • web-platform-tests/FileAPI/idlharness-expected.txt:
  • web-platform-tests/FileAPI/idlharness.html:
  • web-platform-tests/FileAPI/idlharness.idl: Removed.
  • web-platform-tests/FileAPI/idlharness.worker.js:
  • web-platform-tests/IndexedDB/interfaces.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.worker-expected.txt.
  • web-platform-tests/IndexedDB/interfaces.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.worker.html.
  • web-platform-tests/IndexedDB/interfaces.any.js: Added.
  • web-platform-tests/IndexedDB/interfaces.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.worker-expected.txt.
  • web-platform-tests/IndexedDB/interfaces.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.worker.html.
  • web-platform-tests/IndexedDB/interfaces.html: Removed.
  • web-platform-tests/IndexedDB/interfaces.idl: Removed.
  • web-platform-tests/IndexedDB/interfaces.worker.js: Removed.
  • web-platform-tests/WebCryptoAPI/WebCryptoAPI.idl: Removed.
  • web-platform-tests/WebCryptoAPI/idlharness.html: Removed.
  • web-platform-tests/WebCryptoAPI/idlharness.https.html:
  • web-platform-tests/WebCryptoAPI/idlharness.https.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.worker-expected.txt.
  • web-platform-tests/WebCryptoAPI/idlharness.https.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.worker.html.
  • web-platform-tests/WebCryptoAPI/idlharness.https.worker.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.worker.js.
  • web-platform-tests/WebIDL/interfaces-expected.txt:
  • web-platform-tests/XMLHttpRequest/interfaces-expected.txt:
  • web-platform-tests/background-fetch/interfaces-expected.txt:
  • web-platform-tests/background-fetch/interfaces.html:
  • web-platform-tests/background-fetch/interfaces.idl: Removed.
  • web-platform-tests/background-fetch/interfaces.worker.js:

(promise_test):

  • web-platform-tests/css/geometry/interfaces-expected.txt:
  • web-platform-tests/css/geometry/interfaces.html:
  • web-platform-tests/css/geometry/interfaces.worker-expected.txt:
  • web-platform-tests/css/geometry/support/interfaces.js:

(doTest):

  • web-platform-tests/cssom-view/interfaces-expected.txt:
  • web-platform-tests/cssom/interfaces-expected.txt:
  • web-platform-tests/dom/interfaces-expected.txt:
  • web-platform-tests/encoding/idlharness-expected.txt:
  • web-platform-tests/encoding/idlharness.html:
  • web-platform-tests/encrypted-media/EncryptedMediaExtensions.idl: Removed.
  • web-platform-tests/encrypted-media/idlharness.https-expected.txt: Added.
  • web-platform-tests/encrypted-media/idlharness.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/encrypted-media/idlharness.html.
  • web-platform-tests/eventsource/interfaces-expected.txt:
  • web-platform-tests/eventsource/interfaces.html:
  • web-platform-tests/fetch/api/request/request-idl.html:
  • web-platform-tests/fetch/api/response/response-idl.html:
  • web-platform-tests/hr-time/idlharness-expected.txt:
  • web-platform-tests/hr-time/idlharness.html:
  • web-platform-tests/html/webappapis/animation-frames/idlharness-expected.txt:
  • web-platform-tests/html/webappapis/animation-frames/idlharness.html:
  • web-platform-tests/interfaces/encoding.idl: Added.
  • web-platform-tests/mediacapture-streams/MediaDevices-IDL-all-expected.txt:
  • web-platform-tests/mediacapture-streams/MediaDevices-IDL-enumerateDevices-expected.txt:
  • web-platform-tests/notifications/interfaces-expected.txt:
  • web-platform-tests/notifications/interfaces.html:
  • web-platform-tests/payment-request/interfaces.https-expected.txt:
  • web-platform-tests/payment-request/interfaces.https.html:
  • web-platform-tests/resources/idlharness.js:

(self.IdlHarnessError):
(IdlHarnessError.prototype.toString):
(IdlArray.prototype.add_untested_idls):
(IdlArray.prototype.internal_add_idls):
(IdlArray.prototype.recursively_get_implements):
(IdlArray.prototype.recursively_get_includes):
(set exposed_in):
(IdlArray.prototype.assert_throws):
(IdlArray.prototype.test):
(IdlArray.prototype.assert_type_is):
(IdlInterface.prototype.test_self):
(IdlInterface.prototype.test_member_const):
(IdlInterface.prototype.test_to_json_operation):
(IdlInterface.prototype.test_object):

  • web-platform-tests/service-workers/service-worker/interfaces-window.https-expected.txt:
  • web-platform-tests/url/interfaces.any-expected.txt:
  • web-platform-tests/url/interfaces.any.js:

(promise_test.async):

  • web-platform-tests/url/interfaces.any.worker-expected.txt:
  • web-platform-tests/webrtc/RTCPeerConnection-idl-expected.txt: Removed.
  • web-platform-tests/webrtc/RTCPeerConnection-idl.html: Removed.
  • web-platform-tests/webrtc/datachannel-idlharness-expected.txt: Removed.
  • web-platform-tests/webrtc/datachannel-idlharness.html: Removed.
  • web-platform-tests/webrtc/interfaces.https-expected.txt:
  • web-platform-tests/webrtc/interfaces.https.html:

LayoutTests:

  • TestExpectations:
  • http/wpt/webauthn/idl.https.html:
  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
4:28 PM Changeset in webkit [230284] by jmarcell@apple.com
  • 7 edits in trunk/Source

Versioning.

4:20 PM Changeset in webkit [230283] by achristensen@apple.com
  • 30 edits in trunk/Source/WebKit

Use CompletionHandlers for DelayedReplies
https://bugs.webkit.org/show_bug.cgi?id=182269

Reviewed by Youenn Fablet.

DelayedReplies should be a noncopyable, non-refcountable type. They should be
called once and only once. This is what CompletionHandlers are for.

No change in behavior. Just cleaner code.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::SynchronousLoadData::SynchronousLoadData):
(WebKit::sendReplyToSynchronousRequest):
(WebKit::NetworkResourceLoader::NetworkResourceLoader):

  • NetworkProcess/NetworkResourceLoader.h:
  • Platform/IPC/Connection.h:
  • Platform/IPC/HandleMessage.h:

(IPC::callMemberFunctionImpl):
(IPC::callMemberFunction):
(IPC::handleMessageDelayed):

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::setInitializationReply):
(WebKit::PluginControllerProxy::takeInitializationReply):

  • PluginProcess/PluginControllerProxy.h:
  • PluginProcess/WebProcessConnection.cpp:

(WebKit::WebProcessConnection::destroyPlugin):
(WebKit::WebProcessConnection::createPlugin):
(WebKit::WebProcessConnection::createPluginAsynchronously):

  • PluginProcess/WebProcessConnection.h:
  • Scripts/webkit/messages.py:

(message_to_struct_declaration):
(generate_message_handler):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::getNetworkProcessConnection):
(WebKit::NetworkProcessProxy::networkProcessCrashed):
(WebKit::NetworkProcessProxy::networkProcessFailedToLaunch):
(WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Plugins/PluginProcessManager.cpp:

(WebKit::PluginProcessManager::getPluginProcessConnection):

  • UIProcess/Plugins/PluginProcessManager.h:
  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::getPluginProcessConnection):
(WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
(WebKit::PluginProcessProxy::didCreateWebProcessConnection):

  • UIProcess/Plugins/PluginProcessProxy.h:
  • UIProcess/Storage/StorageProcessProxy.cpp:

(WebKit::StorageProcessProxy::getStorageProcessConnection):
(WebKit::StorageProcessProxy::didClose):
(WebKit::StorageProcessProxy::didCreateStorageToWebProcessConnection):

  • UIProcess/Storage/StorageProcessProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::ExceededDatabaseQuotaRecords::createRecord):
(WebKit::WebPageProxy::createNewPage):
(WebKit::WebPageProxy::runJavaScriptAlert):
(WebKit::WebPageProxy::runJavaScriptConfirm):
(WebKit::WebPageProxy::runJavaScriptPrompt):
(WebKit::WebPageProxy::webGLPolicyForURL):
(WebKit::WebPageProxy::resolveWebGLPolicyForURL):
(WebKit::WebPageProxy::getToolbarsAreVisible):
(WebKit::WebPageProxy::getMenuBarIsVisible):
(WebKit::WebPageProxy::getStatusBarIsVisible):
(WebKit::WebPageProxy::getWindowFrame):
(WebKit::WebPageProxy::screenToRootView):
(WebKit::WebPageProxy::rootViewToScreen):
(WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
(WebKit::WebPageProxy::exceededDatabaseQuota):
(WebKit::WebPageProxy::reachedApplicationCacheOriginQuota):

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

(WebKit::WebProcessPool::networkProcessCrashed):
(WebKit::WebProcessPool::getNetworkProcessConnection):
(WebKit::WebProcessPool::getStorageProcessConnection):

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::getPluginProcessConnection):
(WebKit::WebProcessProxy::getNetworkProcessConnection):
(WebKit::WebProcessProxy::getStorageProcessConnection):

  • UIProcess/WebProcessProxy.h:
  • WebProcess/Storage/WebSWContextManagerConnection.cpp:

(WebKit::WebSWContextManagerConnection::syncTerminateWorker):

  • WebProcess/Storage/WebSWContextManagerConnection.h:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::computePagesForPrintingAndDrawToPDF):

3:58 PM Changeset in webkit [230282] by jmarcell@apple.com
  • 7 edits in tags/Safari-606.1.12/Source/WebKit

Cherry-pick r230268. rdar://problem/39164641

Fix the print formatter build
https://bugs.webkit.org/show_bug.cgi?id=184289
-and corresponding-
rdar://problem/39164641

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _webViewPrintFormatter]):
  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/_WKWebViewPrintFormatter.h:
  • UIProcess/_WKWebViewPrintFormatter.mm:
  • UIProcess/_WKWebViewPrintFormatterInternal.h:
  • UIProcess/ios/WKContentView.mm:
  • UIProcess/ios/WKPDFView.mm:

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

3:58 PM Changeset in webkit [230281] by jmarcell@apple.com
  • 2 edits in tags/Safari-606.1.12/Source/WebCore

Cherry-pick r230272. rdar://problem/39007591

RELEASE_ASSERT in CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF() when MediaToolbox.framework missing
https://bugs.webkit.org/show_bug.cgi?id=184247
<rdar://problem/39007591>

Rubber-stamped by Eric Carlson.

Use SOFT_LINK_FRAMEWORK_OPTIONAL for frameworks which are not guaranteed to be present.

  • page/CaptionUserPreferencesMediaAF.cpp: (WebCore::CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF):

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

3:29 PM Changeset in webkit [230280] by achristensen@apple.com
  • 8 edits in trunk/Source/WebKit

Remove legacyCustomProtocolManager from NetworkSessionCreationParameters
https://bugs.webkit.org/show_bug.cgi?id=182178

Reviewed by Youenn Fablet.

Now that we only make NetworkSessions in the NetworkProcess, we don't need to pass this parameter around.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):

  • NetworkProcess/NetworkSessionCreationParameters.h:

(WebKit::NetworkSessionCreationParameters::decode):

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):

  • NetworkProcess/mac/RemoteNetworkingContext.mm:

(WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession):

  • Shared/WebsiteDataStoreParameters.cpp:

(WebKit::WebsiteDataStoreParameters::privateSessionParameters):

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::parameters):

3:28 PM Changeset in webkit [230279] by achristensen@apple.com
  • 7 edits
    1 move in trunk/Source

Move PingHandle to WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=184145

Reviewed by Youenn Fablet.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • platform/network/PingHandle.h: Removed.

Source/WebKit:

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

Source/WebKitLegacy:

  • WebCoreSupport/PingHandle.h: Copied from Source/WebCore/platform/network/PingHandle.h.

(): Deleted.

  • WebCoreSupport/WebResourceLoadScheduler.cpp:
  • WebKitLegacy.xcodeproj/project.pbxproj:
2:52 PM Changeset in webkit [230278] by pvollan@apple.com
  • 6 edits in trunk/Source/WebCore

The layout test fast/canvas/canvas-blending-global-alpha.html is failing when the WebContent process does not have WindowServer access.
https://bugs.webkit.org/show_bug.cgi?id=183752
Source/WebCore:

<rdar://problem/38635731>

The test is failing because the system is only providing software rendering when there is no access
to the WindowServer, and software rendering is producing slightly different results than hardware
rendering. To enable accelerated rendering, the GPU to be used for IOSurface rendering needs to be
selected by handing over the OpenGL display mask to the IOSurface CGContext.

Reviewed by Brent Fulgham.

No new tests, covered by existing tests.

  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/cocoa/GraphicsContext3DCocoa.mm:

(WebCore::GraphicsContext3D::getOpenGLDisplayMask):

  • platform/graphics/cocoa/IOSurface.mm:

(WebCore::IOSurface::ensurePlatformContext):

Source/WebCore/PAL:

Reviewed by Brent Fulgham.

  • pal/spi/cg/CoreGraphicsSPI.h:
2:20 PM Changeset in webkit [230277] by aestes@apple.com
  • 2 edits in trunk/Websites/webkit.org

Unreviewed. Correct the path to merchant-validation-config.php.

  • demos/payment-request/merchant-validation.php:
2:18 PM Changeset in webkit [230276] by Ryan Haddad
  • 2 edits in branches/safari-605-branch/Source/WebCore

Cherry-pick r230016. rdar://problem/38154623

2:15 PM Changeset in webkit [230275] by jmarcell@apple.com
  • 58 edits in tags/Safari-606.1.12/Source

Revert r230129. rdar://problem/39057300

1:56 PM Changeset in webkit [230274] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk/Source/WebCore

Track the paint frequency through a new class named PaintFrequencyTracker
https://bugs.webkit.org/show_bug.cgi?id=184311

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2018-04-04
Reviewed by Antti Koivisto.

PaintFrequencyTracker is a class which detects when a layer is painted
frequently. SinglePaintFrequencyTracking is used in conjunction with
PaintFrequencyTracker to recored a single paint timing.

  • rendering/PaintFrequencyTracker.h: Added.

(WebCore::PaintFrequencyTracker::begin):
(WebCore::PaintFrequencyTracker::end):
(WebCore::PaintFrequencyTracker::paintingFrequently const):
Simplify the logic for tracking the paint frequency and move it from
RenderLayer.cpp.

(WebCore::SinglePaintFrequencyTracking::SinglePaintFrequencyTracking):
(WebCore::SinglePaintFrequencyTracking::~SinglePaintFrequencyTracking):
A convenient way to bracket the begin() and the end() methods of
PaintFrequencyTracker.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::calculateClipRects const):
(WebCore::PaintFrequencyInfo::PaintFrequencyInfo): Deleted.
(WebCore::PaintFrequencyInfo::setPaintedCacheableResource): Deleted.
(WebCore::PaintFrequencyInfo::paintingFrequently const): Deleted.
(WebCore::PaintFrequencyInfo::updatePaintFrequency): Deleted.
(WebCore::PaintFrequencyInfo::paintingCacheableResource): Deleted.

  • rendering/RenderLayer.h:

Rename PaintFrequencyInfo to PaintFrequencyTracker and move it a separate
header file.

1:29 PM Changeset in webkit [230273] by fpizlo@apple.com
  • 18 edits in trunk/Source/JavaScriptCore

Remove poisoning of typed array vector
https://bugs.webkit.org/show_bug.cgi?id=184313

Reviewed by Saam Barati.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::checkArray):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::jumpForTypedArrayIsNeuteredIfOutOfBounds):
(JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayByteOffset):
(JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize):

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

(JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage):
(JSC::FTL::DFG::LowerDFGToB3::compileGetTypedArrayByteOffset):
(JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray):
(JSC::FTL::DFG::LowerDFGToB3::speculateTypedArrayIsNotNeutered):

  • jit/IntrinsicEmitter.cpp:

(JSC::IntrinsicGetterAccessCase::emitIntrinsicGetter):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitIntTypedArrayGetByVal):
(JSC::JIT::emitFloatTypedArrayGetByVal):
(JSC::JIT::emitIntTypedArrayPutByVal):
(JSC::JIT::emitFloatTypedArrayPutByVal):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
  • offlineasm/arm64.rb:
  • offlineasm/x86.rb:
  • runtime/CagedBarrierPtr.h:
  • runtime/JSArrayBufferView.cpp:

(JSC::JSArrayBufferView::JSArrayBufferView):
(JSC::JSArrayBufferView::finalize):
(JSC::JSArrayBufferView::neuter):

  • runtime/JSArrayBufferView.h:

(JSC::JSArrayBufferView::vector const):
(JSC::JSArrayBufferView::offsetOfVector):
(JSC::JSArrayBufferView::offsetOfPoisonedVector): Deleted.
(JSC::JSArrayBufferView::poisonFor): Deleted.
(JSC::JSArrayBufferView::Poison::key): Deleted.

  • runtime/JSCPoison.cpp:

(JSC::initializePoison):

  • runtime/JSCPoison.h:
  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::estimatedSize):
(JSC::JSGenericTypedArrayView<Adaptor>::visitChildren):
(JSC::JSGenericTypedArrayView<Adaptor>::slowDownAndWasteMemory):

  • runtime/JSObject.h:
1:19 PM Changeset in webkit [230272] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

RELEASE_ASSERT in CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF() when MediaToolbox.framework missing
https://bugs.webkit.org/show_bug.cgi?id=184247
<rdar://problem/39007591>

Rubber-stamped by Eric Carlson.

Use SOFT_LINK_FRAMEWORK_OPTIONAL for frameworks which are not guaranteed to be present.

  • page/CaptionUserPreferencesMediaAF.cpp:

(WebCore::CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF):

12:54 PM Changeset in webkit [230271] by mitz@apple.com
  • 9 copies
    1 add in releases/Apple/Safari Technology Preview 53

Added a tag for Safari Technology Preview release 53.

12:51 PM Changeset in webkit [230270] by aestes@apple.com
  • 1 edit
    6 adds in trunk/Websites/webkit.org

Add Payment Request demo content.

Rubber-stamped by Zalan Bujtas.

  • demos/payment-request/demo.js: Added.

(string_appeared_here.async.applePayButtonClicked):

  • demos/payment-request/index.html: Added.
  • demos/payment-request/merchant-validation.php: Added.
  • demos/payment-request/squirrelfish.png: Added.
  • demos/payment-request/style.css: Added.

(@supports (-webkit-appearance: -apple-pay-button)):
(.apple-pay-not-supported::before):
(.hidden):
(#black-buttons > .apple-pay-button):
(#white-buttons > .apple-pay-button):
(#demo):
(#description):

12:43 PM Changeset in webkit [230269] by Brent Fulgham
  • 54 edits
    2 moves in trunk/Source

Failures from mach port reference handling should be fatal
https://bugs.webkit.org/show_bug.cgi?id=184202
<rdar://problem/37771114>

Reviewed by Anders Carlsson.

Source/WebCore:

We may corrupt the Mach port space by improperly matching the equivalent of reference counting
retains (mach_port_mod_refs) with releases (mach_port_deallocate).

Our current implementation of MachSendRights::create does not grab a reference if the passed
port is MACH_PORT_DEAD, but we unconditionally call mach_port_deallocate on the port, which
could lead to a reference count mismatch.

Likewise, our MachSendRight destructor does not release the port if it has changed to MACH_PORT_DEAD
(e.g., if a child process dies), again leading to a mismatch in retain/releases.

Finally, failures in mach_port_deallocate should be fatal because they indicate that the
application was attempting to remove an unowned right. This is a fatal condition for Mach, and
should lead to an abort.

This patch does the following:

  1. It creates a helper function that does the right thing for safely deallocating a mach port.
  2. It uses it in multiple places.
  3. It revises 'MachSendRight::create" so that it properly handles the condition of a dead port.
  4. It revises the MachSendRight destructor to properly handle the condition of a dead port.

No new tests, no change in behavior expected.

  • SourcesCocoa.txt: Update for move of MachSendRight files.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • page/cocoa/ResourceUsageThreadCocoa.mm:

(WebCore::getMachThreads): Added.
(WebCore::cpuUsage): Use the new cleanup helper function.

  • platform/cocoa/MachSendRight.cpp: Removed.
  • platform/cocoa/MachSendRight.h: Removed.
  • platform/graphics/avfoundation/objc/VideoFullscreenLayerManagerObjC.mm:

(WebCore::VideoFullscreenLayerManagerObjC::setVideoFullscreenLayer):

  • platform/graphics/cocoa/IOSurface.h:
  • platform/graphics/cocoa/IOSurface.mm:

Source/WebKit:

Update for new location of MachSendRight.h. Switch to
#pragma once in a few places.

  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::Connection::platformInvalidate): Adopt new 'safe mach_port_t deallocation' function.
(IPC::Connection::initializeSendSource): Ditto.
(IPC::Connection::receiveSourceEventHandler): Ditto.

  • Platform/SharedMemory.h:
  • Platform/cocoa/SharedMemoryCocoa.cpp:

(WebKit::SharedMemory::Handle::clear): Ditto.
(WebKit::makeMemoryEntry): Ditto.
(WebKit::SharedMemory::createSendRight const): Ditto.

  • Platform/mac/LayerHostingContext.h:
  • Platform/mac/LayerHostingContext.mm:
  • PluginProcess/PluginControllerProxy.h:
  • PluginProcess/PluginProcess.h:

(WebKit::PluginProcess::compositingRenderServerPort const):

  • Scripts/messages.py:

(headers_for_type): Update for new location of MachSendRight.

  • Shared/Plugins/PluginProcessCreationParameters.h:
  • Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::encode const):

  • Shared/WebCoreArgumentCoders.h:
  • Shared/WebProcessCreationParameters.h:
  • Shared/mac/WebCoreArgumentCodersMac.mm:
  • UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
  • UIProcess/DrawingAreaProxy.cpp:
  • UIProcess/DrawingAreaProxy.h:
  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::ProcessLauncher::launchProcess): Ditto. Remove uneeded mach_port_dealloc called after
xpc_dictionary_set_mach_send. While '..._set_mach_send' retains the send right, it gets automatically
released when the message is handled. We only want to manually deallocate the send right if
the message failed to send.

  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
  • UIProcess/WebPageProxy.cpp:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
  • UIProcess/mac/WKViewLayoutStrategy.mm:
  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
  • WebProcess/Plugins/Netscape/NetscapePlugin.h:
  • WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
  • WebProcess/Plugins/PluginController.h:
  • WebProcess/Plugins/PluginView.h:
  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::addFence):
(WebKit::DrawingArea::updateGeometry):

  • WebProcess/WebPage/DrawingArea.messages.in:
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::updateGeometry):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setTopContentInsetFenced):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):

  • WebProcess/WebProcess.h:

(WebKit::WebProcess::compositingRenderServerPort const):

  • WebProcess/cocoa/VideoFullscreenManager.mm:

(WebKit::VideoFullscreenManager::setVideoLayerFrameFenced):

Source/WebKitLegacy/mac:

  • Plugins/Hosted/NetscapePluginHostManager.mm:

(WebKit::NetscapePluginHostManager::spawnPluginHost): Adopt new 'safe mach_port_t deallocation' function.

Source/WTF:

  • WTF.xcodeproj/project.pbxproj:
  • wtf/MachSendRight.h: Copied from WebCore/platform/cocoa/MachSendRight.h.

(WebCore::MachSendRight::operator bool const): Deleted.
(WebCore::MachSendRight::sendRight const): Deleted.

  • wtf/PlatformMac.cmake:
  • wtf/cocoa/CPUTimeCocoa.mm:

(WTF::CPUTime::forCurrentThread): Do proper cleanup if the port is invalid.

  • wtf/cocoa/MachSendRight.cpp: Copied from WebCore/platform/cocoa/MachSendRight.cpp.

(WTF::retainSendRight):
(WTF::releaseSendRight):
(WTF::deallocateSendRightSafely):
(WebCore::retainSendRight): Deleted.
(WebCore::releaseSendRight): Deleted.
(WebCore::MachSendRight::adopt): Deleted.
(WebCore::MachSendRight::create): Deleted.
(WebCore::MachSendRight::MachSendRight): Deleted.
(WebCore::MachSendRight::~MachSendRight): Deleted.
(WebCore::MachSendRight::operator=): Deleted.
(WebCore::MachSendRight::copySendRight const): Deleted.
(WebCore::MachSendRight::leakSendRight): Deleted.

11:28 AM Changeset in webkit [230268] by Beth Dakin
  • 7 edits in trunk/Source/WebKit

Fix the print formatter build
https://bugs.webkit.org/show_bug.cgi?id=184289
-and corresponding-
rdar://problem/39164641

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _webViewPrintFormatter]):

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/_WKWebViewPrintFormatter.h:
  • UIProcess/_WKWebViewPrintFormatter.mm:
  • UIProcess/_WKWebViewPrintFormatterInternal.h:
  • UIProcess/ios/WKContentView.mm:
  • UIProcess/ios/WKPDFView.mm:
11:26 AM Changeset in webkit [230267] by youenn@apple.com
  • 4 edits in trunk/Source/WebCore

Remove unused HTTP header names
https://bugs.webkit.org/show_bug.cgi?id=184272

Reviewed by Alex Christensen.

No change of behavior.
Removed some names that are not used in the code base.
This allows to strengthen filtering of responses sent to WebProcess.
Added two headers used by web inspector.
Updated existing code to use indexed HTTP header names.

  • html/parser/XSSAuditor.cpp:

(WebCore::XSSAuditor::init):

  • inspector/agents/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::sourceMapURLForResource):

  • platform/network/HTTPHeaderNames.in:
10:55 AM Changeset in webkit [230266] by fpizlo@apple.com
  • 19 edits
    1 delete in trunk/Source/JavaScriptCore

Don't do index masking or poisoning for DirectArguments
https://bugs.webkit.org/show_bug.cgi?id=184280

Reviewed by Saam Barati.

(JSC::AccessCase::generateWithGuard):

  • dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h:

(JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator):

  • dfg/DFGCallCreateDirectArgumentsWithKnownLengthSlowPathGenerator.h: Removed.
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments):
(JSC::DFG::SpeculativeJIT::compileGetArrayLength):
(JSC::DFG::SpeculativeJIT::compileCreateDirectArguments):
(JSC::DFG::SpeculativeJIT::compileGetFromArguments):
(JSC::DFG::SpeculativeJIT::compilePutToArguments):

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

(JSC::FTL::DFG::LowerDFGToB3::compileGetArrayLength):
(JSC::FTL::DFG::LowerDFGToB3::compileGetByVal):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments):
(JSC::FTL::DFG::LowerDFGToB3::compileGetFromArguments):
(JSC::FTL::DFG::LowerDFGToB3::compilePutToArguments):
(JSC::FTL::DFG::LowerDFGToB3::compileCheckSubClass):
(JSC::FTL::DFG::LowerDFGToB3::dynamicPoison):
(JSC::FTL::DFG::LowerDFGToB3::dynamicPoisonOnLoadedType):
(JSC::FTL::DFG::LowerDFGToB3::dynamicPoisonOnType):
(JSC::FTL::DFG::LowerDFGToB3::allocateVariableSizedHeapCell): Deleted.

  • heap/SecurityKind.h:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_from_arguments):
(JSC::JIT::emit_op_put_to_arguments):
(JSC::JIT::emitDirectArgumentsGetByVal):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_get_from_arguments):
(JSC::JIT::emit_op_put_to_arguments):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/DirectArguments.cpp:

(JSC::DirectArguments::DirectArguments):
(JSC::DirectArguments::createUninitialized):
(JSC::DirectArguments::create):
(JSC::DirectArguments::createByCopying):
(JSC::DirectArguments::estimatedSize):
(JSC::DirectArguments::visitChildren):
(JSC::DirectArguments::overrideThings):
(JSC::DirectArguments::copyToArguments):
(JSC::DirectArguments::mappedArgumentsSize):

  • runtime/DirectArguments.h:
  • runtime/JSCPoison.h:
  • runtime/JSLexicalEnvironment.h:
  • runtime/JSSymbolTableObject.h:
10:43 AM Changeset in webkit [230265] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Fix the !HAVE(AVFOUNDATION_VIDEO_OUTPUT) build
https://bugs.webkit.org/show_bug.cgi?id=184309
-and corresponding-
rdar://problem/39179126

Reviewed by Jer Noble.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoFullscreenInlineImage):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenLayer):

10:42 AM Changeset in webkit [230264] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

JSArray::appendMemcpy seems to be missing a barrier
https://bugs.webkit.org/show_bug.cgi?id=184290

Reviewed by Mark Lam.

If you write to an array that may contain pointers and you didn't just allocate it, then you need to
barrier right after.

I don't know if this is really a bug - it's possible that all callers of appendMemcpy do things that
obviate the need for this barrier. But these barriers are cheap, so we should do them if in doubt.

  • runtime/JSArray.cpp:

(JSC::JSArray::appendMemcpy):

10:41 AM Changeset in webkit [230263] by youenn@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Add a test for HttpOnly cookies used to load AppCache resources
https://bugs.webkit.org/show_bug.cgi?id=184305
<rdar://problem/39175648>

Reviewed by Brady Eidson.

  • http/tests/appcache/document-cookie-http-only-expected.txt: Added.
  • http/tests/appcache/document-cookie-http-only.php: Added.
10:34 AM Changeset in webkit [230262] by youenn@apple.com
  • 3 edits in trunk/Source/WebCore

MockRealtimeVideoSourceMac should produce kCVPixelFormatType_420YpCbCr8Planar buffers
https://bugs.webkit.org/show_bug.cgi?id=184304

Reviewed by Eric Carlson.

Allows covering RealtimeOutgoingVideoSourceMac code path handling native buffers produced by capture video sources.
ARGB buffer coverage is done through canvas capture streams.

  • platform/mediastream/mac/MockRealtimeVideoSourceMac.h:
  • platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:

(WebCore::MockRealtimeVideoSourceMac::CMSampleBufferFromPixelBuffer):

10:16 AM Changeset in webkit [230261] by aestes@apple.com
  • 3 edits
    2 moves in trunk/Source/WebKit

[iOS] Rename WKPDFView to WKLegacyPDFView
https://bugs.webkit.org/show_bug.cgi?id=184286

Rubber-stamped by Wenson Hsieh.

A series of upcoming patches will implement a new WKPDFView based on PDFKit.

  • UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm:

(-[WKWebViewContentProviderRegistry init]):

  • UIProcess/ios/WKLegacyPDFView.h: Renamed from Source/WebKit/UIProcess/ios/WKPDFView.h.
  • UIProcess/ios/WKLegacyPDFView.mm: Renamed from Source/WebKit/UIProcess/ios/WKPDFView.mm.

(-[WKLegacyPDFView _computeMatchesForString:options:maxCount:completionHandler:]):

  • WebKit.xcodeproj/project.pbxproj:
10:00 AM Changeset in webkit [230260] by Fujii Hironori
  • 1 edit
    2 adds in trunk/Source/WebKit

[WinCairo] Add WebKit Shared/win files for wincairo webkit
https://bugs.webkit.org/show_bug.cgi?id=183044

Reviewed by Alex Christensen.

  • Shared/win/ChildProcessMainWin.cpp: Added.
9:40 AM Changeset in webkit [230259] by youenn@apple.com
  • 9 edits in trunk

Introduce a ThreadSafeRefCounted parameter to ensure being destroyed on the main thread
https://bugs.webkit.org/show_bug.cgi?id=183988

Reviewed by Darin Adler.

Source/WebCore:

No change of behavior, TrackPrivate remains destroyed on the main thread.

  • platform/graphics/TrackPrivateBase.h:
  • platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp:

(WebCore::AudioTrackPrivateMediaStreamCocoa::audioSamplesAvailable):
(WebCore::AudioTrackPrivateMediaStreamCocoa::render):

Source/WTF:

  • wtf/ThreadSafeRefCounted.h:

(WTF::ThreadSafeRefCounted::deref const):

Tools:

  • TestWebKitAPI/Tests/WTF/RefPtr.cpp:

(TestWebKitAPI::ThreadSafeRefCountedObject::create):
(TestWebKitAPI::ThreadSafeRefCountedObject::~ThreadSafeRefCountedObject):
(TestWebKitAPI::MainThreadSafeRefCountedObject::create):
(TestWebKitAPI::MainThreadSafeRefCountedObject::~MainThreadSafeRefCountedObject):
(TestWebKitAPI::TEST):

9:17 AM Changeset in webkit [230258] by jmarcell@apple.com
  • 1 copy in tags/Safari-606.1.12

Tag Safari-606.1.12.

9:12 AM Changeset in webkit [230257] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

[Extra zoom mode] Remove effective font size constraints when determining focus zoom scale
https://bugs.webkit.org/show_bug.cgi?id=184287
<rdar://problem/39063886>

Reviewed by Timothy Hatcher.

As it turns out, form controls on some important websites can be very wide, with a small font size, which
renders the approach taken in <https://trac.webkit.org/r230171> moot, since we'll just end up zooming to a scale
that is too large anyways. To mitigate this for now, remove the minimum font scaling threshold while we think of
more clever ways to account for this scenario.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _zoomToFocusRect:selectionRect:insideFixed:fontSize:minimumScale:maximumScale:allowScaling:forceScroll:]):

8:20 AM Changeset in webkit [230256] by Konstantin Tokarev
  • 2 edits in trunk/Source/WebKit

[Win] WebFrameLoaderClient: 'getpid': identifier not found
https://bugs.webkit.org/show_bug.cgi?id=184291

Patch by Fujii Hironori <Fujii Hironori> on 2018-04-04
Reviewed by Konstantin Tokarev.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
Use WTF::getCurrentProcessID() instead of getpid().
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Ditto.

8:00 AM Changeset in webkit [230255] by Konstantin Tokarev
  • 3 edits
    1 add in trunk/Source/bmalloc

Enable Gigacage unconditionally when building JSCOnly on macOS (build fix)
https://bugs.webkit.org/show_bug.cgi?id=184301

Reviewed by Yusuke Suzuki.

bmalloc/ProcessCheck.mm implements specific behavior for Mac and iOS ports,
which is guarded with BPLATFORM(COCOA). if we don't enable BPLATFORM(MAC)
or BPLATFORM(IOS) in JSCOnly, then BPLATFORM(COCOA) won't be defined
as well, and code path from ProcessCheck.mm will not be taken.

  • CMakeLists.txt: Exclude ProcessCheck.mm from port-independent file

list.

  • PlatformMac.cmake: Build ProcessCheck.mm for Mac port.
  • bmalloc/BPlatform.h: Don't enable BPLATFORM(MAC) or BPLATFORM(IOS)

when building JSCOnly port.

6:46 AM Changeset in webkit [230254] by Yusuke Suzuki
  • 2 edits
    1 delete in trunk/Source/WTF

[WTF] Remove Atomics.cpp
https://bugs.webkit.org/show_bug.cgi?id=184300

Reviewed by Konstantin Tokarev.

This Atomics.cpp is a workaround for GCC which version is < 4.8.
Our compiler requirement is now 5.0.0. This workaround is no
longer necessary.

  • wtf/Atomics.cpp: Removed.
  • wtf/CMakeLists.txt:
6:34 AM Changeset in webkit [230253] by Ms2ger@igalia.com
  • 7 edits in trunk

Test gardening for GTK.
https://bugs.webkit.org/show_bug.cgi?id=184298

Unreviewed test gardening.

LayoutTests/imported/w3c:

  • web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin-expected.txt: update expectations: the test started passing in r230066, but this was not noticed because it is marked as flaky on macOS.

Tools:

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: Add pointer to

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

LayoutTests:

5:58 AM WebKitGTK/Gardening/Calendar edited by Ms2ger@igalia.com
(diff)
2:31 AM Changeset in webkit [230252] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix the build with libsoup < 2.49.91 after r230251.

Stop using ResourceHandle in SoupNetworkSession.

  • platform/network/soup/SoupNetworkSession.cpp:

(WebCore::SoupNetworkSession::SoupNetworkSession):
(WebCore::authenticateCallback): Deleted.
(WebCore::requestStartedCallback): Deleted.

Note: See TracTimeline for information about the timeline view.