[webkit-changes] [225320] trunk/Source
Title: [225320] trunk/Source Revision 225320 Author jfbast...@apple.com Date 2017-11-29 23:53:21 -0800 (Wed, 29 Nov 2017) Log Message WTF / bmalloc: don't write to 0xbbadbeef when ASAN is looking https://bugs.webkit.org/show_bug.cgi?id=180175 Reviewed by Mark Lam. ASAN knows that 0xbbadbeef is a bbad aaddress, and tells us so when we write to it, say in an assert. That creates bbad error reports where ASAN thinks we write to an invalid address, instead of thinking that we hit an assertion. In some cases, tooling that use fuzzers aggregate similar issues, and think that we just have the one bug and not a bunch of different asserts. Source/bmalloc: At the same time, bmalloc's version of CRASH just writes to 0xbbadbeef and assumes that's invalid and will crash, which isn't necessarily true on non-Mac platforms. WTF's version then makes sure there's a crash, so bmalloc should do the same. * bmalloc.xcodeproj/project.pbxproj: * bmalloc/BAssert.h: * bmalloc/BCompiler.h: Added. * bmalloc/BPlatform.h: Source/WTF: * wtf/Assertions.cpp: * wtf/Assertions.h: Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/Assertions.cpp trunk/Source/WTF/wtf/Assertions.h trunk/Source/bmalloc/ChangeLog trunk/Source/bmalloc/bmalloc/BAssert.h trunk/Source/bmalloc/bmalloc/BPlatform.h trunk/Source/bmalloc/bmalloc.xcodeproj/project.pbxproj Added Paths trunk/Source/bmalloc/bmalloc/BCompiler.h Diff Modified: trunk/Source/WTF/ChangeLog (225319 => 225320) --- trunk/Source/WTF/ChangeLog 2017-11-30 07:45:55 UTC (rev 225319) +++ trunk/Source/WTF/ChangeLog 2017-11-30 07:53:21 UTC (rev 225320) @@ -1,3 +1,20 @@ +2017-11-29 JF Bastien+ +WTF / bmalloc: don't write to 0xbbadbeef when ASAN is looking +https://bugs.webkit.org/show_bug.cgi?id=180175 + +Reviewed by Mark Lam. + +ASAN knows that 0xbbadbeef is a bbad aaddress, and tells us so +when we write to it, say in an assert. That creates bbad error +reports where ASAN thinks we write to an invalid address, instead +of thinking that we hit an assertion. In some cases, tooling that +use fuzzers aggregate similar issues, and think that we just have +the one bug and not a bunch of different asserts. + +* wtf/Assertions.cpp: +* wtf/Assertions.h: + 2017-11-29 Filip Pizlo GC should support isoheaps Modified: trunk/Source/WTF/wtf/Assertions.cpp (225319 => 225320) --- trunk/Source/WTF/wtf/Assertions.cpp 2017-11-30 07:45:55 UTC (rev 225319) +++ trunk/Source/WTF/wtf/Assertions.cpp 2017-11-30 07:53:21 UTC (rev 225320) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003, 2006, 2007, 2013 Apple Inc. All rights reserved. + * Copyright (C) 2003-2017 Apple Inc. All rights reserved. * Copyright (C) 2007-2009 Torch Mobile, Inc. * Copyright (C) 2011 University of Szeged. All rights reserved. * @@ -267,6 +267,9 @@ globalHook(); WTFReportBacktrace(); +#if ASAN_ENABLED +__builtin_trap(); +#else *(int *)(uintptr_t)0xbbadbeef = 0; // More reliable, but doesn't say BBADBEEF. #if COMPILER(GCC_OR_CLANG) @@ -273,7 +276,8 @@ __builtin_trap(); #else ((void(*)())0)(); -#endif +#endif // COMPILER(GCC_OR_CLANG) +#endif // ASAN_ENABLED } #else // We need to keep WTFCrash() around (even on non-debug OS(DARWIN) builds) as a workaround Modified: trunk/Source/WTF/wtf/Assertions.h (225319 => 225320) --- trunk/Source/WTF/wtf/Assertions.h 2017-11-30 07:45:55 UTC (rev 225319) +++ trunk/Source/WTF/wtf/Assertions.h 2017-11-30 07:53:21 UTC (rev 225320) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003, 2006, 2007, 2013 Apple Inc. All rights reserved. + * Copyright (C) 2003-2017 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -206,7 +206,9 @@ WTF_EXPORT_PRIVATE bool WTFIsDebuggerAttached(); -#if CPU(X86_64) || CPU(X86) +#if ASAN_ENABLED +#define WTFBreakpointTrap() __builtin_trap() +#elif CPU(X86_64) || CPU(X86) #define WTFBreakpointTrap() __asm__ volatile ("int3") #elif CPU(ARM_THUMB2) #define WTFBreakpointTrap() __asm__ volatile ("bkpt #0") Modified: trunk/Source/bmalloc/ChangeLog (225319 => 225320) --- trunk/Source/bmalloc/ChangeLog 2017-11-30 07:45:55 UTC (rev 225319) +++ trunk/Source/bmalloc/ChangeLog 2017-11-30 07:53:21 UTC (rev 225320) @@ -1,3 +1,27 @@ +2017-11-29 JF Bastien + +WTF / bmalloc: don't write to 0xbbadbeef when ASAN is looking +https://bugs.webkit.org/show_bug.cgi?id=180175 + +Reviewed by Mark Lam. + +ASAN knows that 0xbbadbeef is a bbad aaddress, and tells us so +when we write to it, say in an assert. That creates bbad error +reports where ASAN thinks we write to an invalid address, instead +of thinking that we hit an assertion. In some cases, tooling that +use fuzzers
[webkit-changes] [225319] trunk/Tools
Title: [225319] trunk/Tools Revision 225319 Author aakash_j...@apple.com Date 2017-11-29 23:45:55 -0800 (Wed, 29 Nov 2017) Log Message Fix build.webkit.org broken unit-test after r225080 https://bugs.webkit.org/show_bug.cgi?id=180176 Reviewed by Carlos Garcia Campos. * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Updated expected_build_steps. Modified Paths trunk/Tools/BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py trunk/Tools/ChangeLog Diff Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py (225318 => 225319) --- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py 2017-11-30 06:49:09 UTC (rev 225318) +++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py 2017-11-30 07:45:55 UTC (rev 225319) @@ -471,7 +471,7 @@ 'WinCairo 64-Bit Release' : ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'compile-webkit'], 'WPE Linux 64-bit Release (Build)' : ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'jhbuild', 'compile-webkit', 'archive-built-product', 'upload', 'transfer-to-s3', 'trigger'], -'WPE Linux 64-bit Release (Tests)' : ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'jhbuild', 'download-built-product', 'extract-built-product', 'jscore-test', 'layout-test', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'archive-test-results', 'upload', 'MasterShellCommand'], +'WPE Linux 64-bit Release (Tests)' : ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'jhbuild', 'download-built-product', 'extract-built-product', 'jscore-test', 'layout-test', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generator-tests', 'dashboard-tests', 'archive-test-results', 'upload', 'MasterShellCommand', 'API tests'], } Modified: trunk/Tools/ChangeLog (225318 => 225319) --- trunk/Tools/ChangeLog 2017-11-30 06:49:09 UTC (rev 225318) +++ trunk/Tools/ChangeLog 2017-11-30 07:45:55 UTC (rev 225319) @@ -1,3 +1,12 @@ +2017-11-29 Aakash Jain+ +Fix build.webkit.org broken unit-test after r225080 +https://bugs.webkit.org/show_bug.cgi?id=180176 + +Reviewed by Carlos Garcia Campos. + +* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Updated expected_build_steps. + 2017-11-29 Wenson Hsieh [Attachment Support] Implement SPI for clients to make an attachment element display in-place ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225318] tags/Safari-605.1.15/
Title: [225318] tags/Safari-605.1.15/ Revision 225318 Author jmarc...@apple.com Date 2017-11-29 22:49:09 -0800 (Wed, 29 Nov 2017) Log Message Tag Safari-605.1.15. Added Paths tags/Safari-605.1.15/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225317] trunk/LayoutTests
Title: [225317] trunk/LayoutTests Revision 225317 Author grao...@webkit.org Date 2017-11-29 22:15:24 -0800 (Wed, 29 Nov 2017) Log Message Move modern media controls test expectations from ios-simulator to ios https://bugs.webkit.org/show_bug.cgi?id=180158 Reviewed by Dean Jackson. We shouldn't be using the ios-simulator platform for these, ios is the right one. * platform/ios-simulator/TestExpectations: * platform/ios/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios/TestExpectations trunk/LayoutTests/platform/ios-simulator/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (225316 => 225317) --- trunk/LayoutTests/ChangeLog 2017-11-30 06:13:40 UTC (rev 225316) +++ trunk/LayoutTests/ChangeLog 2017-11-30 06:15:24 UTC (rev 225317) @@ -1,3 +1,15 @@ +2017-11-29 Antoine Quint+ +Move modern media controls test expectations from ios-simulator to ios +https://bugs.webkit.org/show_bug.cgi?id=180158 + +Reviewed by Dean Jackson. + +We shouldn't be using the ios-simulator platform for these, ios is the right one. + +* platform/ios-simulator/TestExpectations: +* platform/ios/TestExpectations: + 2017-11-29 Chris Dumez LayoutTest http/tests/workers/service/registration-clear-redundant-worker.html is a flaky failure Modified: trunk/LayoutTests/platform/ios/TestExpectations (225316 => 225317) --- trunk/LayoutTests/platform/ios/TestExpectations 2017-11-30 06:13:40 UTC (rev 225316) +++ trunk/LayoutTests/platform/ios/TestExpectations 2017-11-30 06:15:24 UTC (rev 225317) @@ -3070,9 +3070,6 @@ svg/W3C-SVG-1.1/text-intro-04-t.svg [ Failure ] svg/custom/acid3-test-77.html [ Failure ] -# -media/modern-media-controls/time-labels-support/elapsed-time.html [ Skip ] - # REGRESSION: Multiple Layout test from webgl/1.0.2/conformance are timing out. webgl/1.0.2/conformance/attribs/gl-vertex-attrib-zero-issues.html [ Skip ] webgl/1.0.2/conformance/ogles/GL/acos/acos_001_to_006.html [ Skip ] @@ -3175,3 +3172,106 @@ webkit.org/b/179773 imported/w3c/web-platform-tests/fetch/api/abort/serviceworker-intercepted.https.html [ Pass Failure ] webkit.org/b/179784 svg/in-html/by-reference.html [ Failure Timeout ] + +# The modern-media-controls tests are disabled due to past flakiness and some major code changes. +# As a result, a host of tests need to be updated and being turned on selectively here. +media/modern-media-controls/airplay-button [ Pass ] +media/modern-media-controls/airplay-placard [ Pass ] +media/modern-media-controls/audio [ Pass ] +media/modern-media-controls/background-tint [ Pass ] +media/modern-media-controls/button [ Pass ] +media/modern-media-controls/buttons-container [ Pass ] +media/modern-media-controls/controls-bar [ Pass ] +media/modern-media-controls/controls-visibility-support [ Pass ] +media/modern-media-controls/css [ Pass ] +media/modern-media-controls/forward-button [ Pass ] +media/modern-media-controls/fullscreen-button [ Pass ] +media/modern-media-controls/fullscreen-support [ Pass ] +media/modern-media-controls/icon-service [ Pass ] +media/modern-media-controls/invalid-placard [ Pass ] +media/modern-media-controls/layout-item [ Pass ] +media/modern-media-controls/layout-node [ Pass ] +media/modern-media-controls/localized-strings [ Pass ] +media/modern-media-controls/media-controller [ Pass ] +media/modern-media-controls/media-controls/media-controls-display-above-captions.html [ Pass ] +media/modern-media-controls/media-documents [ Pass ] +media/modern-media-controls/mute-button [ Pass ] +media/modern-media-controls/mute-support [ Pass ] +media/modern-media-controls/pip-button [ Pass ] +media/modern-media-controls/pip-placard [ Pass ] +media/modern-media-controls/pip-support/ipad [ Pass ] +media/modern-media-controls/placard [ Pass ] +media/modern-media-controls/placard-support [ Pass ] +media/modern-media-controls/play-pause-button [ Pass ] +media/modern-media-controls/playback-support [ Pass ] +media/modern-media-controls/rewind-button [ Pass ] +media/modern-media-controls/scheduler [ Pass ] +media/modern-media-controls/scrubber [ Pass ] +media/modern-media-controls/scrubber-support [ Pass ] +media/modern-media-controls/skip-back-button [ Pass ] +media/modern-media-controls/skip-forward-button [ Pass ] +media/modern-media-controls/slider [ Pass ] +media/modern-media-controls/status-label [ Pass ] +media/modern-media-controls/status-support [ Pass ] +media/modern-media-controls/time-control [ Pass ] +media/modern-media-controls/time-label [ Pass ] +media/modern-media-controls/time-labels-support [ Pass ] + +# accessibilityController.role cannot be tested on iOS +media/modern-media-controls/time-label/time-label.html [ Skip ] +media/modern-media-controls/tracks-button [ Pass ] + +# AirPlay cannot be tested on iOS +webkit.org/b/166062 media/modern-media-controls/airplay-support [ Skip ] +webkit.org/b/166062
[webkit-changes] [225316] trunk/Source/WebCore
Title: [225316] trunk/Source/WebCore Revision 225316 Author cdu...@apple.com Date 2017-11-29 22:13:40 -0800 (Wed, 29 Nov 2017) Log Message ServiceWorker WebProcess sometimes crashes in JSVMClientData::~JSVMClientData() https://bugs.webkit.org/show_bug.cgi?id=180173 Reviewed by Alex Christensen. The leak was caused by EventListeners remaining when destroying the VM, because JSEventListener refs the DOMWrapperWorld. To address the issue, we now call removeAllEventListeners() in the stop() method of ServiceWorkerContainer, ServiceWorkerRegistration and ServiceWorker. Those event listeners are no longer needed after ActiveDOMObject::stop() is called since the script execution context is about to be destroyed. This is the same pattern used in IDBDatabase::stop(), IDBRequest::stop(). No new tests, already covered by existing test. * workers/service/ServiceWorker.cpp: (WebCore::ServiceWorker::stop): * workers/service/ServiceWorkerContainer.cpp: (WebCore::ServiceWorkerContainer::stop): * workers/service/ServiceWorkerContainer.h: * workers/service/ServiceWorkerRegistration.cpp: (WebCore::ServiceWorkerRegistration::stop): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/workers/service/ServiceWorker.cpp trunk/Source/WebCore/workers/service/ServiceWorkerContainer.cpp trunk/Source/WebCore/workers/service/ServiceWorkerContainer.h trunk/Source/WebCore/workers/service/ServiceWorkerRegistration.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (225315 => 225316) --- trunk/Source/WebCore/ChangeLog 2017-11-30 04:48:52 UTC (rev 225315) +++ trunk/Source/WebCore/ChangeLog 2017-11-30 06:13:40 UTC (rev 225316) @@ -1,3 +1,29 @@ +2017-11-29 Chris Dumez+ +ServiceWorker WebProcess sometimes crashes in JSVMClientData::~JSVMClientData() +https://bugs.webkit.org/show_bug.cgi?id=180173 + +Reviewed by Alex Christensen. + +The leak was caused by EventListeners remaining when destroying the VM, because +JSEventListener refs the DOMWrapperWorld. To address the issue, we now call +removeAllEventListeners() in the stop() method of ServiceWorkerContainer, +ServiceWorkerRegistration and ServiceWorker. Those event listeners are no +longer needed after ActiveDOMObject::stop() is called since the script +execution context is about to be destroyed. + +This is the same pattern used in IDBDatabase::stop(), IDBRequest::stop(). + +No new tests, already covered by existing test. + +* workers/service/ServiceWorker.cpp: +(WebCore::ServiceWorker::stop): +* workers/service/ServiceWorkerContainer.cpp: +(WebCore::ServiceWorkerContainer::stop): +* workers/service/ServiceWorkerContainer.h: +* workers/service/ServiceWorkerRegistration.cpp: +(WebCore::ServiceWorkerRegistration::stop): + 2017-11-29 Filip Pizlo GC should support isoheaps Modified: trunk/Source/WebCore/workers/service/ServiceWorker.cpp (225315 => 225316) --- trunk/Source/WebCore/workers/service/ServiceWorker.cpp 2017-11-30 04:48:52 UTC (rev 225315) +++ trunk/Source/WebCore/workers/service/ServiceWorker.cpp 2017-11-30 06:13:40 UTC (rev 225316) @@ -149,6 +149,7 @@ void ServiceWorker::stop() { m_isStopped = true; +removeAllEventListeners(); scriptExecutionContext()->unregisterServiceWorker(*this); updatePendingActivityForEventDispatch(); } Modified: trunk/Source/WebCore/workers/service/ServiceWorkerContainer.cpp (225315 => 225316) --- trunk/Source/WebCore/workers/service/ServiceWorkerContainer.cpp 2017-11-30 04:48:52 UTC (rev 225315) +++ trunk/Source/WebCore/workers/service/ServiceWorkerContainer.cpp 2017-11-30 06:13:40 UTC (rev 225316) @@ -445,6 +445,12 @@ }); } +void ServiceWorkerContainer::stop() +{ +m_isStopped = true; +removeAllEventListeners(); +} + } // namespace WebCore #endif // ENABLE(SERVICE_WORKER) Modified: trunk/Source/WebCore/workers/service/ServiceWorkerContainer.h (225315 => 225316) --- trunk/Source/WebCore/workers/service/ServiceWorkerContainer.h 2017-11-30 04:48:52 UTC (rev 225315) +++ trunk/Source/WebCore/workers/service/ServiceWorkerContainer.h 2017-11-30 06:13:40 UTC (rev 225316) @@ -105,7 +105,7 @@ EventTargetInterface eventTargetInterface() const final { return ServiceWorkerContainerEventTargetInterfaceType; } void refEventTarget() final; void derefEventTarget() final; -void stop() final { m_isStopped = true; } +void stop() final; ReadyPromise m_readyPromise; Modified: trunk/Source/WebCore/workers/service/ServiceWorkerRegistration.cpp (225315 => 225316) --- trunk/Source/WebCore/workers/service/ServiceWorkerRegistration.cpp 2017-11-30 04:48:52 UTC (rev 225315) +++ trunk/Source/WebCore/workers/service/ServiceWorkerRegistration.cpp 2017-11-30 06:13:40 UTC (rev 225316) @@ -221,6 +221,7 @@ void ServiceWorkerRegistration::stop() { m_isStopped = true; +
[webkit-changes] [225315] trunk/Source/JavaScriptCore
Title: [225315] trunk/Source/_javascript_Core Revision 225315 Author fpi...@apple.com Date 2017-11-29 20:48:52 -0800 (Wed, 29 Nov 2017) Log Message CodeBlockSet::deleteUnmarkedAndUnreferenced can be a little more efficient https://bugs.webkit.org/show_bug.cgi?id=180108 Reviewed by Saam Barati. This was creating a vector of things to remove and then removing them. I think I remember writing this code, and I did that because at the time we did not have removeAllMatching, which is definitely better. This is a minuscule optimization for Speedometer. I wanted to land this obvious improvement before I did more fundamental things to this code. * heap/CodeBlockSet.cpp: (JSC::CodeBlockSet::deleteUnmarkedAndUnreferenced): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/heap/CodeBlockSet.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (225314 => 225315) --- trunk/Source/_javascript_Core/ChangeLog 2017-11-30 04:39:50 UTC (rev 225314) +++ trunk/Source/_javascript_Core/ChangeLog 2017-11-30 04:48:52 UTC (rev 225315) @@ -1,3 +1,18 @@ +2017-11-28 Filip Pizlo+ +CodeBlockSet::deleteUnmarkedAndUnreferenced can be a little more efficient +https://bugs.webkit.org/show_bug.cgi?id=180108 + +Reviewed by Saam Barati. + +This was creating a vector of things to remove and then removing them. I think I remember writing +this code, and I did that because at the time we did not have removeAllMatching, which is +definitely better. This is a minuscule optimization for Speedometer. I wanted to land this +obvious improvement before I did more fundamental things to this code. + +* heap/CodeBlockSet.cpp: +(JSC::CodeBlockSet::deleteUnmarkedAndUnreferenced): + 2017-11-29 Filip Pizlo GC should support isoheaps Modified: trunk/Source/_javascript_Core/heap/CodeBlockSet.cpp (225314 => 225315) --- trunk/Source/_javascript_Core/heap/CodeBlockSet.cpp 2017-11-30 04:39:50 UTC (rev 225314) +++ trunk/Source/_javascript_Core/heap/CodeBlockSet.cpp 2017-11-30 04:48:52 UTC (rev 225315) @@ -28,6 +28,7 @@ #include "CodeBlock.h" #include "JSCInlines.h" +#include "SuperSampler.h" #include namespace JSC { @@ -74,19 +75,26 @@ void CodeBlockSet::deleteUnmarkedAndUnreferenced(VM& vm, CollectionScope scope) { LockHolder locker(_lock); -Vector unmarked; +// Destroying a CodeBlock takes about 1us on average in Speedometer. Full collections in Speedometer +// usually have ~2000 CodeBlocks to process. The time it takes to process the whole list varies a +// lot. In one extreme case I saw 18ms (on my fast MBP). +// +// FIXME: use Subspace instead of HashSet and adopt Subspace-based constraint solving. This may +// remove the need to eagerly destruct CodeBlocks. +// https://bugs.webkit.org/show_bug.cgi?id=180089 +// +// FIXME: make CodeBlock::~CodeBlock a lot faster. It seems insane for that to take 1us or more. +// https://bugs.webkit.org/show_bug.cgi?id=180109 + auto consider = [&] (HashSet & set) { -for (CodeBlock* codeBlock : set) { -if (Heap::isMarked(codeBlock)) -continue;; -unmarked.append(codeBlock); -} -for (CodeBlock* codeBlock : unmarked) { -codeBlock->structure(vm)->classInfo()->methodTable.destroy(codeBlock); -set.remove(codeBlock); -} -unmarked.shrink(0); +set.removeIf( +[&] (CodeBlock* codeBlock) -> bool { +if (Heap::isMarked(codeBlock)) +return false; +codeBlock->structure(vm)->classInfo()->methodTable.destroy(codeBlock); +return true; +}); }; switch (scope) { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225313] trunk/Source/WebCore
Title: [225313] trunk/Source/WebCore Revision 225313 Author eric.carl...@apple.com Date 2017-11-29 19:36:26 -0800 (Wed, 29 Nov 2017) Log Message [MediaStream] Clean up audio and video capture factories https://bugs.webkit.org/show_bug.cgi?id=180156 Reviewed by Youenn Fablet. No new tests, no behavior change. * platform/mediastream/RealtimeMediaSourceCenter.cpp: (WebCore::RealtimeMediaSourceCenter::setAudioFactory): Deleted. (WebCore::RealtimeMediaSourceCenter::unsetAudioFactory): Deleted. (WebCore::RealtimeMediaSourceCenter::audioFactory): Deleted. (WebCore::RealtimeMediaSourceCenter::setVideoFactory): Deleted. (WebCore::RealtimeMediaSourceCenter::unsetVideoFactory): Deleted. (WebCore::RealtimeMediaSourceCenter::videoFactory): Deleted. (WebCore::RealtimeMediaSourceCenter::setAudioCaptureDeviceManager): Deleted. (WebCore::RealtimeMediaSourceCenter::unsetAudioCaptureDeviceManager): Deleted. (WebCore::RealtimeMediaSourceCenter::audioCaptureDeviceManager): Deleted. (WebCore::RealtimeMediaSourceCenter::setVideoCaptureDeviceManager): Deleted. (WebCore::RealtimeMediaSourceCenter::unsetVideoCaptureDeviceManager): Deleted. (WebCore::RealtimeMediaSourceCenter::videoCaptureDeviceManager): Deleted. * platform/mediastream/RealtimeMediaSourceCenter.h: (WebCore::RealtimeMediaSourceCenter::setAudioFactory): (WebCore::RealtimeMediaSourceCenter::unsetAudioFactory): * platform/mediastream/RealtimeMediaSourceSettings.cpp: (WebCore::RealtimeMediaSourceSettings::facingMode): (WebCore::RealtimeMediaSourceSettings::videoFacingModeEnum): (WebCore::userFacing): Deleted. (WebCore::environmentFacing): Deleted. (WebCore::leftFacing): Deleted. (WebCore::rightFacing): Deleted. * platform/mediastream/RealtimeMediaSourceSettings.h: (WebCore::RealtimeMediaSourceSettings::RealtimeMediaSourceSettings): Deleted. * platform/mediastream/mac/AVVideoCaptureSource.h: * platform/mediastream/mac/AVVideoCaptureSource.mm: (WebCore::AVVideoCaptureSource::create): (WebCore::AVVideoCaptureSource::~AVVideoCaptureSource): (WebCore::AVVideoCaptureSource::setupCaptureSession): (): Deleted. (WebCore::AVVideoCaptureSourceFactory::setVideoCapturePageState): Deleted. (WebCore::avVideoCaptureSourceFactory): Deleted. (WebCore::AVVideoCaptureSource::factory): Deleted. * platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp: (WebCore::videoCaptureSourceFactory): (WebCore::RealtimeMediaSourceCenterMac::audioFactory): (WebCore::RealtimeMediaSourceCenterMac::videoFactory): (WebCore::RealtimeMediaSourceCenterMac::audioCaptureDeviceManager): (WebCore::RealtimeMediaSourceCenterMac::videoCaptureDeviceManager): (WebCore::RealtimeMediaSourceCenterMac::RealtimeMediaSourceCenterMac): Deleted. (WebCore::RealtimeMediaSourceCenterMac::defaultAudioFactory): Deleted. (WebCore::RealtimeMediaSourceCenterMac::defaultVideoFactory): Deleted. (WebCore::RealtimeMediaSourceCenterMac::defaultAudioCaptureDeviceManager): Deleted. (WebCore::RealtimeMediaSourceCenterMac::defaultVideoCaptureDeviceManager): Deleted. * platform/mediastream/mac/RealtimeMediaSourceCenterMac.h: * platform/mock/MockRealtimeAudioSource.cpp: (WebCore::MockRealtimeAudioSource::~MockRealtimeAudioSource): (WebCore::MockRealtimeAudioSource::startProducingData): * platform/mock/MockRealtimeMediaSourceCenter.h: * platform/mock/MockRealtimeVideoSource.cpp: (WebCore::MockRealtimeVideoSource::~MockRealtimeVideoSource): (WebCore::MockRealtimeVideoSource::startProducingData): * platform/mock/MockRealtimeVideoSource.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/mediastream/RealtimeMediaSource.h trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.cpp trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceSettings.cpp trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceSettings.h trunk/Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.h trunk/Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm trunk/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.h trunk/Source/WebCore/platform/mock/MockRealtimeAudioSource.cpp trunk/Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.h trunk/Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp trunk/Source/WebCore/platform/mock/MockRealtimeVideoSource.h Diff Modified: trunk/Source/WebCore/ChangeLog (225312 => 225313) --- trunk/Source/WebCore/ChangeLog 2017-11-30 02:31:43 UTC (rev 225312) +++ trunk/Source/WebCore/ChangeLog 2017-11-30 03:36:26 UTC (rev 225313) @@ -1,3 +1,68 @@ +2017-11-29 Eric Carlson+ +[MediaStream] Clean up audio and video capture factories +https://bugs.webkit.org/show_bug.cgi?id=180156 + + +Reviewed by Youenn Fablet. + +No new tests, no behavior change.
[webkit-changes] [225312] trunk/LayoutTests
Title: [225312] trunk/LayoutTests Revision 225312 Author cdu...@apple.com Date 2017-11-29 18:31:43 -0800 (Wed, 29 Nov 2017) Log Message LayoutTest http/tests/workers/service/registration-clear-redundant-worker.html is a flaky failure https://bugs.webkit.org/show_bug.cgi?id=179778 Reviewed by Youenn Fablet. As per the specification [1], when clearing a registration, the registration's workers are first marked as redundant *before* the registration's worker is set to null. The test was waiting for the service worker's state to become redundant and then checking in a setTimeout(0) that the registration's worker became null. However, a setTimeout(0) is racy here. To address the issue, we now use setInterval() and wait until the worker becomes null. [1] https://w3c.github.io/ServiceWorker/#clear-registration-algorithm * TestExpectations: * http/tests/workers/service/registration-clear-redundant-worker.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/http/tests/workers/service/registration-clear-redundant-worker.html Diff Modified: trunk/LayoutTests/ChangeLog (225311 => 225312) --- trunk/LayoutTests/ChangeLog 2017-11-30 02:23:44 UTC (rev 225311) +++ trunk/LayoutTests/ChangeLog 2017-11-30 02:31:43 UTC (rev 225312) @@ -1,3 +1,22 @@ +2017-11-29 Chris Dumez+ +LayoutTest http/tests/workers/service/registration-clear-redundant-worker.html is a flaky failure +https://bugs.webkit.org/show_bug.cgi?id=179778 + +Reviewed by Youenn Fablet. + +As per the specification [1], when clearing a registration, the registration's workers are first +marked as redundant *before* the registration's worker is set to null. + +The test was waiting for the service worker's state to become redundant and then checking in a +setTimeout(0) that the registration's worker became null. However, a setTimeout(0) is racy here. +To address the issue, we now use setInterval() and wait until the worker becomes null. + +[1] https://w3c.github.io/ServiceWorker/#clear-registration-algorithm + +* TestExpectations: +* http/tests/workers/service/registration-clear-redundant-worker.html: + 2017-11-29 Youenn Fablet ServiceWorkerClient objects should be reused if there is already one existing with the same identifier Modified: trunk/LayoutTests/TestExpectations (225311 => 225312) --- trunk/LayoutTests/TestExpectations 2017-11-30 02:23:44 UTC (rev 225311) +++ trunk/LayoutTests/TestExpectations 2017-11-30 02:31:43 UTC (rev 225312) @@ -183,7 +183,6 @@ imported/w3c/web-platform-tests/service-workers/service-worker/websocket-in-service-worker.https.html [ Skip ] imported/w3c/web-platform-tests/service-workers/service-worker/client-navigate.https.html [ Skip ] -webkit.org/b/179778 http/tests/workers/service/registration-clear-redundant-worker.html [ Pass Failure ] http/tests/workers/service/service-worker-cache-api.https.html [ Pass Failure ] webkit.org/b/179137 imported/w3c/web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https.html [ Pass Failure ] imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event.https.html [ Pass Failure ] Modified: trunk/LayoutTests/http/tests/workers/service/registration-clear-redundant-worker.html (225311 => 225312) --- trunk/LayoutTests/http/tests/workers/service/registration-clear-redundant-worker.html 2017-11-30 02:23:44 UTC (rev 225311) +++ trunk/LayoutTests/http/tests/workers/service/registration-clear-redundant-worker.html 2017-11-30 02:31:43 UTC (rev 225312) @@ -15,22 +15,23 @@ }).then(function() { waitForState(worker, "redundant").then(function() { log("PASS: Worker became redundant after unregistering"); -setTimeout(function() { -if (registration.installing) -log("FAIL: registration.installing should be null"); -else -log("PASS: registration.installing is null"); +if (registration.installing) +log("FAIL: registration.installing should be null"); +else +log("PASS: registration.installing is null"); -if (registration.waiting) -log("FAIL: registration.waiting should be null"); -else -log("PASS: registration.waiting is null"); +if (registration.waiting) +log("FAIL: registration.waiting should be null"); +else +log("PASS: registration.waiting is null"); +handle = setInterval(function() { if (registration.active) -log("FAIL: registration.active should be null"); -else -log("PASS:
[webkit-changes] [225311] trunk
Title: [225311] trunk Revision 225311 Author wenson_hs...@apple.com Date 2017-11-29 18:23:44 -0800 (Wed, 29 Nov 2017) Log Message [Attachment Support] Implement SPI for clients to make an attachment element display in-place https://bugs.webkit.org/show_bug.cgi?id=180153 Reviewed by Tim Horton. Source/WebCore: Adds SPI support for inserting attachments using in-place display style, and updating display options for existing attachments. See comments below for more detail. Tests: WKAttachmentTests.InPlaceImageAttachmentToggleDisplayMode WKAttachmentTests.InPlaceImageAttachmentParagraphInsertion WKAttachmentTests.InPlaceVideoAttachmentInsertionWithinList WKAttachmentTests.InPlacePDFAttachmentCutAndPaste * WebCore.xcodeproj/project.pbxproj: * editing/Editor.cpp: (WebCore::Editor::insertAttachment): (WebCore::Editor::insertAttachmentFromFile): Update display options for the attachment before inserting into the document. * editing/Editor.h: * html/AttachmentTypes.h: Added. Add a new header to define the new attachment display types. This lets us avoid importing HTMLAttachmentElement.h and instead just import AttachmentTypes.h in some places in WebKit that only deal with plumbing AttachmentDisplayOptions to the web process. (WebCore::AttachmentDisplayOptions::encode const): (WebCore::AttachmentDisplayOptions::decode): Support serializing and deserializing attachment display options. * html/HTMLAttachmentElement.cpp: (WebCore::HTMLAttachmentElement::setFile): Regenerate the shadow root if needed when setting the file. (WebCore::HTMLAttachmentElement::updateDisplayMode): Introduce a new method to update the display mode of an attachment element. This builds up the shadow root of the attachment if it is displayed in-place. (WebCore::HTMLAttachmentElement::ensureInnerImage): (WebCore::HTMLAttachmentElement::ensureInnerVideo): Helpers to insert image and video elements into the shadow root if needed, and return the image or video element. (WebCore::HTMLAttachmentElement::innerImage const): (WebCore::HTMLAttachmentElement::innerVideo const): Helpers to retrieve existing image and video elements in the shadow root. (WebCore::HTMLAttachmentElement::populateShadowRootIfNecessary): Appends and configures the attachment element's shadow root for inline display, initializing an image or video element or neither, depending on the attachment type. * html/HTMLAttachmentElement.h: Introduce an AttachmentDisplayOptions struct which mirrors _WKAttachmentDisplayOptions in the WebKit layer. For now, this only contains a display mode enum. * platform/audio/ios/AudioSessionIOS.mm: Avoid this AVAudioSession assertion when targeting iOS simulator. AVAudioSession always throws this error when setting an audio session category in the simulator, even in a basic test app, since AVFoundation doesn't support audio sessions in the simulator. (WebCore::AudioSession::setCategory): Source/WebKit: Add new WebKit SPI, -[_WKAttachment setDisplayOptions:completion:], and add plumbing for attachment display options to the web content process. Changes covered by 4 new API tests. * Scripts/webkit/messages.py: (headers_for_type): * UIProcess/API/APIAttachment.cpp: (API::Attachment::setDisplayOptions): * UIProcess/API/APIAttachment.h: * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _insertAttachmentWithFilename:contentType:data:options:completion:]): Respect given display options when inserting a new attachment. * UIProcess/API/Cocoa/_WKAttachment.h: * UIProcess/API/Cocoa/_WKAttachment.mm: (-[_WKAttachmentDisplayOptions coreDisplayOptions]): Introduce a helper to convert from the Cocoa _WKAttachmentDisplayOptions object to platform-agnostic AttachmentDisplayOptions. (-[_WKAttachment setDisplayOptions:completion:]): (WebKit::if): Deleted. * UIProcess/API/Cocoa/_WKAttachmentInternal.h: * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::insertAttachment): (WebKit::WebPageProxy::setAttachmentDisplayOptions): * UIProcess/WebPageProxy.h: * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::insertAttachment): (WebKit::WebPage::requestAttachmentData): (WebKit::WebPage::setAttachmentDisplayOptions): (WebKit::WebPage::attachmentElementWithIdentifier const): Pull common logic to retrieve an attachment element matching a given identifier out into a helper. * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/WebPage.messages.in: Tools: Adds new API tests to cover inserting in-place attachments and updating the display mode of existing attachments, as well as performing a few editing operations (paragraph insertion, cut/paste, list insertion) on attachment elements. * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (platformAttachmentIconElementSize): (testVideoData): (testPDFData): (displayOptionsWithMode): (-[TestWKWebView waitForAttachmentElementSizeToBecome:]): (-[_WKAttachment synchronouslySetDisplayOptions:error:]): (TestWebKitAPI::TEST): Modified Paths trunk/Source/WebCore/ChangeLog
[webkit-changes] [225310] trunk/Source/WebCore
Title: [225310] trunk/Source/WebCore Revision 225310 Author simon.fra...@apple.com Date 2017-11-29 17:50:14 -0800 (Wed, 29 Nov 2017) Log Message Missing layer content when animating elements on-screen https://bugs.webkit.org/show_bug.cgi?id=180178 rdar://problem/34923438 Reviewed by Dean Jackson. If a delayed animation starts, that animates layers from offscreen, then we would fail to run the logic that ensures that those layers have backing store. Fix by ensuring that if any layer starts or ends a transform animation, we re-evaluate backing store attachment on all its descendants. I tried to make a test, but layer flushing is timing-sensitive and the test would have taken 5s, and not been reliable. There's a manual test in the bug. * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::recursiveCommitChanges): * platform/graphics/ca/GraphicsLayerCA.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h Diff Modified: trunk/Source/WebCore/ChangeLog (225309 => 225310) --- trunk/Source/WebCore/ChangeLog 2017-11-30 01:40:56 UTC (rev 225309) +++ trunk/Source/WebCore/ChangeLog 2017-11-30 01:50:14 UTC (rev 225310) @@ -1,3 +1,24 @@ +2017-11-29 Simon Fraser+ +Missing layer content when animating elements on-screen +https://bugs.webkit.org/show_bug.cgi?id=180178 +rdar://problem/34923438 + +Reviewed by Dean Jackson. + +If a delayed animation starts, that animates layers from offscreen, then we would fail +to run the logic that ensures that those layers have backing store. + +Fix by ensuring that if any layer starts or ends a transform animation, we re-evaluate +backing store attachment on all its descendants. + +I tried to make a test, but layer flushing is timing-sensitive and the test would have taken +5s, and not been reliable. There's a manual test in the bug. + +* platform/graphics/ca/GraphicsLayerCA.cpp: +(WebCore::GraphicsLayerCA::recursiveCommitChanges): +* platform/graphics/ca/GraphicsLayerCA.h: + 2017-11-29 Youenn Fablet ServiceWorkerClient objects should be reused if there is already one existing with the same identifier Modified: trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp (225309 => 225310) --- trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp 2017-11-30 01:40:56 UTC (rev 225309) +++ trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp 2017-11-30 01:50:14 UTC (rev 225310) @@ -1462,6 +1462,9 @@ } setVisibleAndCoverageRects(rects, m_isViewportConstrained || commitState.ancestorIsViewportConstrained); +if (commitState.ancestorStartedOrEndedTransformAnimation) +addUncommittedChanges(CoverageRectChanged); + #ifdef VISIBLE_TILE_WASH // Use having a transform as a key to making the tile wash layer. If every layer gets a wash, // they start to obscure useful information. @@ -1501,9 +1504,18 @@ if (affectedByPageScale) baseRelativePosition += m_position; +bool wasRunningTransformAnimation = isRunningTransformAnimation(); + commitLayerChangesBeforeSublayers(childCommitState, pageScaleFactor, baseRelativePosition); -if (isRunningTransformAnimation()) { +bool nowRunningTransformAnimation = wasRunningTransformAnimation; +if (m_uncommittedChanges & AnimationChanged) +nowRunningTransformAnimation = isRunningTransformAnimation(); + +if (wasRunningTransformAnimation != nowRunningTransformAnimation) +childCommitState.ancestorStartedOrEndedTransformAnimation = true; + +if (nowRunningTransformAnimation) { childCommitState.ancestorHasTransformAnimation = true; if (m_intersectsCoverageRect) childCommitState.ancestorWithTransformAnimationIntersectsCoverageRect = true; Modified: trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h (225309 => 225310) --- trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h 2017-11-30 01:40:56 UTC (rev 225309) +++ trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h 2017-11-30 01:50:14 UTC (rev 225310) @@ -157,6 +157,7 @@ int treeDepth { 0 }; bool ancestorHadChanges { false }; bool ancestorHasTransformAnimation { false }; +bool ancestorStartedOrEndedTransformAnimation { false }; bool ancestorWithTransformAnimationIntersectsCoverageRect { false }; bool ancestorIsViewportConstrained { false }; }; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225309] trunk/Source
Title: [225309] trunk/Source Revision 225309 Author bfulg...@apple.com Date 2017-11-29 17:40:56 -0800 (Wed, 29 Nov 2017) Log Message Part 2: Adopt updated NSKeyed[Un]Archiver API when available https://bugs.webkit.org/show_bug.cgi?id=180127 Reviewed by Simon Fraser. The API that accepts a user-allocated NSMutableData is deprecated. Switch (for macOS 10.12 and newer) to the modern API. Use the original API for macOS builds prior to 10.12. Source/WebCore/PAL: * pal/spi/cocoa/NSKeyedArchiverSPI.h: (secureArchiver): Added. (secureArchiverFromMutableData): Deleted. Source/WebKit: * Shared/Cocoa/DataDetectionResult.mm: (WebKit::DataDetectionResult::encode const): * Shared/Cocoa/WebCoreArgumentCodersCocoa.mm: (IPC::ArgumentCoder::encode): (IPC::ArgumentCoder::encode): (IPC::ArgumentCoder::encode): (IPC::ArgumentCoder::encode): * Shared/ios/InteractionInformationAtPosition.mm: (WebKit::InteractionInformationAtPosition::encode const): * Shared/mac/WebCoreArgumentCodersMac.mm: (IPC::ArgumentCoder::encodePlatformData): (IPC::ArgumentCoder::encodePlatformData): (IPC::ArgumentCoder::encode): (IPC::ArgumentCoder::encodePlatformData): * Shared/mac/WebHitTestResultData.mm: (WebKit::WebHitTestResultData::platformEncode const): * UIProcess/API/Cocoa/WKProcessPool.mm: (-[WKProcessPool _setObject:forBundleParameter:]): (-[WKProcessPool _setObjectsForBundleParametersWithDictionary:]): * UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::platformInitializeWebProcess): * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: (-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]): Modified Paths trunk/Source/WebCore/PAL/ChangeLog trunk/Source/WebCore/PAL/pal/spi/cocoa/NSKeyedArchiverSPI.h trunk/Source/WebCore/loader/archive/cf/LegacyWebArchiveMac.mm trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Shared/Cocoa/DataDetectionResult.mm trunk/Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.mm trunk/Source/WebKit/Shared/ios/InteractionInformationAtPosition.mm trunk/Source/WebKit/Shared/mac/WebCoreArgumentCodersMac.mm trunk/Source/WebKit/Shared/mac/WebHitTestResultData.mm trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm trunk/Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm Diff Modified: trunk/Source/WebCore/PAL/ChangeLog (225308 => 225309) --- trunk/Source/WebCore/PAL/ChangeLog 2017-11-30 01:19:25 UTC (rev 225308) +++ trunk/Source/WebCore/PAL/ChangeLog 2017-11-30 01:40:56 UTC (rev 225309) @@ -1,3 +1,18 @@ +2017-11-29 Brent Fulgham+ +Part 2: Adopt updated NSKeyed[Un]Archiver API when available +https://bugs.webkit.org/show_bug.cgi?id=180127 + + +Reviewed by Simon Fraser. + +The API that accepts a user-allocated NSMutableData is deprecated. Switch (for macOS 10.12 and newer) +to the modern API. Use the original API for macOS builds prior to 10.12. + +* pal/spi/cocoa/NSKeyedArchiverSPI.h: +(secureArchiver): Added. +(secureArchiverFromMutableData): Deleted. + 2017-11-29 Alex Christensen Fix Mac CMake build. Modified: trunk/Source/WebCore/PAL/pal/spi/cocoa/NSKeyedArchiverSPI.h (225308 => 225309) --- trunk/Source/WebCore/PAL/pal/spi/cocoa/NSKeyedArchiverSPI.h 2017-11-30 01:19:25 UTC (rev 225308) +++ trunk/Source/WebCore/PAL/pal/spi/cocoa/NSKeyedArchiverSPI.h 2017-11-30 01:40:56 UTC (rev 225309) @@ -104,10 +104,14 @@ #pragma clang diagnostic pop } -inline RetainPtr secureArchiverFromMutableData(NSMutableData *_Nonnull mutableData) +inline RetainPtr secureArchiver() { -NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:mutableData]; +#if USE(SECURE_ARCHIVER_API) +NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initRequiringSecureCoding:YES]; +#else +NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] init]; [archiver setRequiresSecureCoding:YES]; +#endif return adoptNS(archiver); } Modified: trunk/Source/WebCore/loader/archive/cf/LegacyWebArchiveMac.mm (225308 => 225309) --- trunk/Source/WebCore/loader/archive/cf/LegacyWebArchiveMac.mm 2017-11-30 01:19:25 UTC (rev 225308) +++ trunk/Source/WebCore/loader/archive/cf/LegacyWebArchiveMac.mm 2017-11-30 01:40:56 UTC (rev 225309) @@ -72,17 +72,19 @@ if (!nsResponse) return nullptr; +#if USE(SECURE_ARCHIVER_API) +auto archiver = secureArchiver(); +[archiver encodeObject:nsResponse forKey:LegacyWebArchiveResourceResponseKey]; +return retainPtr((__bridge CFDataRef)archiver.get().encodedData); +#else +// Because of we can't use this for encoding in older OS's. CFMutableDataRef responseData = CFDataCreateMutable(0, 0); - auto archiver = adoptNS([[NSKeyedArchiver alloc] initForWritingWithMutableData:(NSMutableData *)responseData]); -#if USE(SECURE_ARCHIVER_API) -
[webkit-changes] [225308] trunk
Title: [225308] trunk Revision 225308 Author commit-qu...@webkit.org Date 2017-11-29 17:19:25 -0800 (Wed, 29 Nov 2017) Log Message ServiceWorkerClient objects should be reused if there is already one existing with the same identifier https://bugs.webkit.org/show_bug.cgi?id=180143 Patch by Youenn Fableton 2017-11-29 Reviewed by Chris Dumez. Source/WebCore: Covered by updated tests. ServiceWorkerGlobalScope keeps a map of all live ServiceWorkerClient objects. Before creating a new client, it checks whether the map has one such object with the same identifier. If so, it reuses this object. Otherwise it creates either a ServiceWorkerWindowClient or ServiceWorkerClient. Add support for using a ServiceWorkerClientIdentifier as a HashMap key. * workers/service/ServiceWorkerClient.cpp: (WebCore::ServiceWorkerClient::ServiceWorkerClient): (WebCore::ServiceWorkerClient::~ServiceWorkerClient): * workers/service/ServiceWorkerClient.h: (WebCore::ServiceWorkerClient::getOrCreate): * workers/service/ServiceWorkerClientIdentifier.h: (WebCore::ServiceWorkerClientIdentifier::hash const): (WTF::ServiceWorkerClientIdentifierHash::hash): (WTF::ServiceWorkerClientIdentifierHash::equal): (WTF::HashTraits::emptyValue): (WTF::HashTraits::constructDeletedValue): (WTF::HashTraits::isDeletedValue): * workers/service/ServiceWorkerGlobalScope.cpp: (WebCore::ServiceWorkerGlobalScope::serviceWorkerClient): (WebCore::ServiceWorkerGlobalScope::addServiceWorkerClient): (WebCore::ServiceWorkerGlobalScope::removeServiceWorkerClient): * workers/service/ServiceWorkerGlobalScope.h: * workers/service/ServiceWorkerWindowClient.cpp: (WebCore::ServiceWorkerWindowClient::ServiceWorkerWindowClient): * workers/service/ServiceWorkerWindowClient.h: * workers/service/context/ServiceWorkerThread.cpp: (WebCore::ServiceWorkerThread::postMessageToServiceWorkerGlobalScope): LayoutTests: * http/tests/workers/service/resources/basic-ServiceWorker-postMessage-worker.js: (event.else): * http/tests/workers/service/resources/basic-ServiceWorker-postMessage.js: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/http/tests/workers/service/resources/basic-ServiceWorker-postMessage-worker.js trunk/LayoutTests/http/tests/workers/service/resources/basic-ServiceWorker-postMessage.js trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/workers/service/ServiceWorkerClient.cpp trunk/Source/WebCore/workers/service/ServiceWorkerClient.h trunk/Source/WebCore/workers/service/ServiceWorkerClientIdentifier.h trunk/Source/WebCore/workers/service/ServiceWorkerGlobalScope.cpp trunk/Source/WebCore/workers/service/ServiceWorkerGlobalScope.h trunk/Source/WebCore/workers/service/ServiceWorkerWindowClient.cpp trunk/Source/WebCore/workers/service/ServiceWorkerWindowClient.h trunk/Source/WebCore/workers/service/context/ServiceWorkerThread.cpp Diff Modified: trunk/LayoutTests/ChangeLog (225307 => 225308) --- trunk/LayoutTests/ChangeLog 2017-11-30 01:05:01 UTC (rev 225307) +++ trunk/LayoutTests/ChangeLog 2017-11-30 01:19:25 UTC (rev 225308) @@ -1,3 +1,14 @@ +2017-11-29 Youenn Fablet + +ServiceWorkerClient objects should be reused if there is already one existing with the same identifier +https://bugs.webkit.org/show_bug.cgi?id=180143 + +Reviewed by Chris Dumez. + +* http/tests/workers/service/resources/basic-ServiceWorker-postMessage-worker.js: +(event.else): +* http/tests/workers/service/resources/basic-ServiceWorker-postMessage.js: + 2017-11-29 Ryan Haddad Mark imported/w3c/web-platform-tests/XMLHttpRequest/firing-events-http-no-content-length.html as flaky. Modified: trunk/LayoutTests/http/tests/workers/service/resources/basic-ServiceWorker-postMessage-worker.js (225307 => 225308) --- trunk/LayoutTests/http/tests/workers/service/resources/basic-ServiceWorker-postMessage-worker.js 2017-11-30 01:05:01 UTC (rev 225307) +++ trunk/LayoutTests/http/tests/workers/service/resources/basic-ServiceWorker-postMessage-worker.js 2017-11-30 01:19:25 UTC (rev 225308) @@ -1,4 +1,15 @@ +var client = null; self.addEventListener("message", (event) => { -event.source.postMessage("Service worker received message '" + event.data + "' from origin '" + event.origin + "'"); +if (!client) { +client = event.source; +if (!(client instanceof WindowClient)) { +event.source.postMessage("FAIL: client source is not a WindowClient"); +return; +} +} else if (client !== event.source) { +event.source.postMessage("FAIL: client source of the second message is not the same as the first message"); +return; +} +event.source.postMessage("PASS: Service worker received message '" + event.data + "' from origin '" + event.origin + "'"); }); Modified: trunk/LayoutTests/http/tests/workers/service/resources/basic-ServiceWorker-postMessage.js (225307 => 225308) ---
[webkit-changes] [225307] trunk/Source/JavaScriptCore
Title: [225307] trunk/Source/_javascript_Core Revision 225307 Author sbar...@apple.com Date 2017-11-29 17:05:01 -0800 (Wed, 29 Nov 2017) Log Message Remove pointer caging for double arrays https://bugs.webkit.org/show_bug.cgi?id=180163 Reviewed by Mark Lam. This patch removes pointer caging from double arrays. Like my previous removals of pointer caging, this is a security vs performance tradeoff. We believe that butterflies being allocated in the cage and with a 32GB runway gives us enough security that pointer caging the butterfly just for double arrays does not add enough security benefit for the performance hit it incurs. This patch also removes the GetButterflyWithoutCaging node and the FixedButterflyAccessUncaging phase. The node is no longer needed because now all GetButterfly nodes are not caged. The phase is removed since we no longer have two nodes. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixedButterflyAccessUncagingPhase.cpp: Removed. * dfg/DFGFixedButterflyAccessUncagingPhase.h: Removed. * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGNodeType.h: * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileGetButterfly): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGTypeCheckHoistingPhase.cpp: (JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks): (JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileGetButterfly): * jit/JITPropertyAccess.cpp: (JSC::JIT::emitDoubleLoad): (JSC::JIT::emitGenericContiguousPutByVal): * runtime/Butterfly.h: (JSC::Butterfly::pointer): (JSC::Butterfly::contiguousDouble): (JSC::Butterfly::caged): Deleted. * runtime/ButterflyInlines.h: (JSC::Butterfly::createOrGrowPropertyStorage): * runtime/JSObject.cpp: (JSC::JSObject::ensureLengthSlow): (JSC::JSObject::reallocateAndShrinkButterfly): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj trunk/Source/_javascript_Core/Sources.txt trunk/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h trunk/Source/_javascript_Core/dfg/DFGArgumentsEliminationPhase.cpp trunk/Source/_javascript_Core/dfg/DFGClobberize.h trunk/Source/_javascript_Core/dfg/DFGDoesGC.cpp trunk/Source/_javascript_Core/dfg/DFGFixupPhase.cpp trunk/Source/_javascript_Core/dfg/DFGHeapLocation.cpp trunk/Source/_javascript_Core/dfg/DFGHeapLocation.h trunk/Source/_javascript_Core/dfg/DFGNodeType.h trunk/Source/_javascript_Core/dfg/DFGPlan.cpp trunk/Source/_javascript_Core/dfg/DFGPredictionPropagationPhase.cpp trunk/Source/_javascript_Core/dfg/DFGSafeToExecute.h trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp trunk/Source/_javascript_Core/dfg/DFGTypeCheckHoistingPhase.cpp trunk/Source/_javascript_Core/ftl/FTLCapabilities.cpp trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp trunk/Source/_javascript_Core/jit/JITPropertyAccess.cpp trunk/Source/_javascript_Core/runtime/Butterfly.h trunk/Source/_javascript_Core/runtime/ButterflyInlines.h trunk/Source/_javascript_Core/runtime/JSObject.cpp Removed Paths trunk/Source/_javascript_Core/dfg/DFGFixedButterflyAccessUncagingPhase.cpp trunk/Source/_javascript_Core/dfg/DFGFixedButterflyAccessUncagingPhase.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (225306 => 225307) --- trunk/Source/_javascript_Core/ChangeLog 2017-11-30 00:39:14 UTC (rev 225306) +++ trunk/Source/_javascript_Core/ChangeLog 2017-11-30 01:05:01 UTC (rev 225307) @@ -1,3 +1,71 @@ +2017-11-29 Saam Barati+ +Remove pointer caging for double arrays +https://bugs.webkit.org/show_bug.cgi?id=180163 + +Reviewed by Mark Lam. + +This patch removes pointer caging from double arrays. Like +my previous removals of pointer caging, this is a security vs +performance tradeoff. We believe that butterflies being allocated +in the cage and with a 32GB runway gives us enough security that +pointer caging the butterfly just for double arrays does not add +enough security benefit for the performance hit it incurs. + +This patch also
[webkit-changes] [225305] trunk/LayoutTests
Title: [225305] trunk/LayoutTests Revision 225305 Author ryanhad...@apple.com Date 2017-11-29 16:39:12 -0800 (Wed, 29 Nov 2017) Log Message Mark media/modern-media-controls/pip-support/pip-support-click.html as flaky. https://bugs.webkit.org/show_bug.cgi?id=165311 Unreviewed test gardening. * platform/mac/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/mac/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (225304 => 225305) --- trunk/LayoutTests/ChangeLog 2017-11-30 00:39:10 UTC (rev 225304) +++ trunk/LayoutTests/ChangeLog 2017-11-30 00:39:12 UTC (rev 225305) @@ -1,5 +1,14 @@ 2017-11-29 Ryan Haddad+Mark media/modern-media-controls/pip-support/pip-support-click.html as flaky. +https://bugs.webkit.org/show_bug.cgi?id=165311 + +Unreviewed test gardening. + +* platform/mac/TestExpectations: + +2017-11-29 Ryan Haddad + Mark http/tests/workers/service/registration-clear-redundant-worker.html as flaky. https://bugs.webkit.org/show_bug.cgi?id=179778 Modified: trunk/LayoutTests/platform/mac/TestExpectations (225304 => 225305) --- trunk/LayoutTests/platform/mac/TestExpectations 2017-11-30 00:39:10 UTC (rev 225304) +++ trunk/LayoutTests/platform/mac/TestExpectations 2017-11-30 00:39:12 UTC (rev 225305) @@ -1756,3 +1756,4 @@ [ HighSierra+ ] imported/w3c/web-platform-tests/media-source/mediasource-redundant-seek.html [ Failure ] [ HighSierra+ ] imported/w3c/web-platform-tests/media-source/mediasource-remove.html [ Failure ] +webkit.org/b/165311 [ Sierra+ ] media/modern-media-controls/pip-support/pip-support-click.html [ Pass Failure ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225304] trunk/LayoutTests
Title: [225304] trunk/LayoutTests Revision 225304 Author ryanhad...@apple.com Date 2017-11-29 16:39:10 -0800 (Wed, 29 Nov 2017) Log Message Mark http/tests/workers/service/registration-clear-redundant-worker.html as flaky. https://bugs.webkit.org/show_bug.cgi?id=179778 Unreviewed test gardening. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (225303 => 225304) --- trunk/LayoutTests/ChangeLog 2017-11-30 00:31:50 UTC (rev 225303) +++ trunk/LayoutTests/ChangeLog 2017-11-30 00:39:10 UTC (rev 225304) @@ -1,3 +1,12 @@ +2017-11-29 Ryan Haddad+ +Mark http/tests/workers/service/registration-clear-redundant-worker.html as flaky. +https://bugs.webkit.org/show_bug.cgi?id=179778 + +Unreviewed test gardening. + +* TestExpectations: + 2017-11-29 Youenn Fablet Add support for service worker generated redirections Modified: trunk/LayoutTests/TestExpectations (225303 => 225304) --- trunk/LayoutTests/TestExpectations 2017-11-30 00:31:50 UTC (rev 225303) +++ trunk/LayoutTests/TestExpectations 2017-11-30 00:39:10 UTC (rev 225304) @@ -183,6 +183,7 @@ imported/w3c/web-platform-tests/service-workers/service-worker/websocket-in-service-worker.https.html [ Skip ] imported/w3c/web-platform-tests/service-workers/service-worker/client-navigate.https.html [ Skip ] +webkit.org/b/179778 http/tests/workers/service/registration-clear-redundant-worker.html [ Pass Failure ] http/tests/workers/service/service-worker-cache-api.https.html [ Pass Failure ] webkit.org/b/179137 imported/w3c/web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https.html [ Pass Failure ] imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event.https.html [ Pass Failure ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225306] trunk/LayoutTests
Title: [225306] trunk/LayoutTests Revision 225306 Author ryanhad...@apple.com Date 2017-11-29 16:39:14 -0800 (Wed, 29 Nov 2017) Log Message Mark imported/w3c/web-platform-tests/XMLHttpRequest/firing-events-http-no-content-length.html as flaky. https://bugs.webkit.org/show_bug.cgi?id=179775 Unreviewed test gardening. * platform/mac-wk1/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/mac-wk1/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (225305 => 225306) --- trunk/LayoutTests/ChangeLog 2017-11-30 00:39:12 UTC (rev 225305) +++ trunk/LayoutTests/ChangeLog 2017-11-30 00:39:14 UTC (rev 225306) @@ -1,5 +1,14 @@ 2017-11-29 Ryan Haddad+Mark imported/w3c/web-platform-tests/XMLHttpRequest/firing-events-http-no-content-length.html as flaky. +https://bugs.webkit.org/show_bug.cgi?id=179775 + +Unreviewed test gardening. + +* platform/mac-wk1/TestExpectations: + +2017-11-29 Ryan Haddad + Mark media/modern-media-controls/pip-support/pip-support-click.html as flaky. https://bugs.webkit.org/show_bug.cgi?id=165311 Modified: trunk/LayoutTests/platform/mac-wk1/TestExpectations (225305 => 225306) --- trunk/LayoutTests/platform/mac-wk1/TestExpectations 2017-11-30 00:39:12 UTC (rev 225305) +++ trunk/LayoutTests/platform/mac-wk1/TestExpectations 2017-11-30 00:39:14 UTC (rev 225306) @@ -468,3 +468,5 @@ webkit.org/b/177563 [ HighSierra ] http/tests/xmlhttprequest/response-empty-arraybuffer.html [ Failure ] webkit.org/b/172397 [ Debug ] animations/needs-layout.html [ Pass ImageOnlyFailure ] + +webkit.org/b/179775 imported/w3c/web-platform-tests/XMLHttpRequest/firing-events-http-no-content-length.html [ Pass Failure ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225303] trunk/Source/WebCore
Title: [225303] trunk/Source/WebCore Revision 225303 Author za...@apple.com Date 2017-11-29 16:31:50 -0800 (Wed, 29 Nov 2017) Log Message Add missing WTF_MAKE_ISO_ALLOCATED macros https://bugs.webkit.org/show_bug.cgi?id=180165 Reviewed by Simon Fraser. * rendering/RenderFrame.h: * rendering/RenderFullScreen.cpp: * rendering/RenderIFrame.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderFrame.cpp trunk/Source/WebCore/rendering/RenderFrame.h trunk/Source/WebCore/rendering/RenderFullScreen.cpp trunk/Source/WebCore/rendering/RenderIFrame.cpp trunk/Source/WebCore/rendering/RenderIFrame.h Diff Modified: trunk/Source/WebCore/ChangeLog (225302 => 225303) --- trunk/Source/WebCore/ChangeLog 2017-11-30 00:18:05 UTC (rev 225302) +++ trunk/Source/WebCore/ChangeLog 2017-11-30 00:31:50 UTC (rev 225303) @@ -1,3 +1,15 @@ +2017-11-29 Zalan Bujtas+ +Add missing WTF_MAKE_ISO_ALLOCATED macros +https://bugs.webkit.org/show_bug.cgi?id=180165 + + +Reviewed by Simon Fraser. + +* rendering/RenderFrame.h: +* rendering/RenderFullScreen.cpp: +* rendering/RenderIFrame.h: + 2017-11-29 Said Abou-Hallawa Remove the ImageSource from the class hierarchy that connects BitmapImage to ImageFrame Modified: trunk/Source/WebCore/rendering/RenderFrame.cpp (225302 => 225303) --- trunk/Source/WebCore/rendering/RenderFrame.cpp 2017-11-30 00:18:05 UTC (rev 225302) +++ trunk/Source/WebCore/rendering/RenderFrame.cpp 2017-11-30 00:31:50 UTC (rev 225303) @@ -29,6 +29,8 @@ namespace WebCore { +WTF_MAKE_ISO_ALLOCATED_IMPL(RenderFrame); + RenderFrame::RenderFrame(HTMLFrameElement& frame, RenderStyle&& style) : RenderFrameBase(frame, WTFMove(style)) { Modified: trunk/Source/WebCore/rendering/RenderFrame.h (225302 => 225303) --- trunk/Source/WebCore/rendering/RenderFrame.h 2017-11-30 00:18:05 UTC (rev 225302) +++ trunk/Source/WebCore/rendering/RenderFrame.h 2017-11-30 00:31:50 UTC (rev 225303) @@ -30,6 +30,7 @@ struct FrameEdgeInfo; class RenderFrame final : public RenderFrameBase { +WTF_MAKE_ISO_ALLOCATED(RenderFrame); public: RenderFrame(HTMLFrameElement&, RenderStyle&&); Modified: trunk/Source/WebCore/rendering/RenderFullScreen.cpp (225302 => 225303) --- trunk/Source/WebCore/rendering/RenderFullScreen.cpp 2017-11-30 00:18:05 UTC (rev 225302) +++ trunk/Source/WebCore/rendering/RenderFullScreen.cpp 2017-11-30 00:31:50 UTC (rev 225303) @@ -38,6 +38,7 @@ WTF_MAKE_ISO_ALLOCATED_IMPL(RenderFullScreen); class RenderFullScreenPlaceholder final : public RenderBlockFlow { +WTF_MAKE_ISO_ALLOCATED(RenderFullScreenPlaceholder); public: RenderFullScreenPlaceholder(Document& document, RenderStyle&& style) : RenderBlockFlow(document, WTFMove(style)) @@ -48,6 +49,8 @@ bool isRenderFullScreenPlaceholder() const override { return true; } }; +WTF_MAKE_ISO_ALLOCATED_IMPL(RenderFullScreenPlaceholder); + RenderFullScreen::RenderFullScreen(Document& document, RenderStyle&& style) : RenderFlexibleBox(document, WTFMove(style)) { Modified: trunk/Source/WebCore/rendering/RenderIFrame.cpp (225302 => 225303) --- trunk/Source/WebCore/rendering/RenderIFrame.cpp 2017-11-30 00:18:05 UTC (rev 225302) +++ trunk/Source/WebCore/rendering/RenderIFrame.cpp 2017-11-30 00:31:50 UTC (rev 225303) @@ -36,6 +36,8 @@ namespace WebCore { +WTF_MAKE_ISO_ALLOCATED_IMPL(RenderIFrame); + using namespace HTMLNames; RenderIFrame::RenderIFrame(HTMLIFrameElement& element, RenderStyle&& style) Modified: trunk/Source/WebCore/rendering/RenderIFrame.h (225302 => 225303) --- trunk/Source/WebCore/rendering/RenderIFrame.h 2017-11-30 00:18:05 UTC (rev 225302) +++ trunk/Source/WebCore/rendering/RenderIFrame.h 2017-11-30 00:31:50 UTC (rev 225303) @@ -32,6 +32,7 @@ class RenderView; class RenderIFrame final : public RenderFrameBase { +WTF_MAKE_ISO_ALLOCATED(RenderIFrame); public: RenderIFrame(HTMLIFrameElement&, RenderStyle&&); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225302] trunk/Tools
Title: [225302] trunk/Tools Revision 225302 Author simon.fra...@apple.com Date 2017-11-29 16:18:05 -0800 (Wed, 29 Nov 2017) Log Message API test fix after r225288. Make the test work on iOS. * TestWebKitAPI/Tests/WebKit/NoHistoryItemScrollToFragment.mm: (-[DidScrollToFragmentScrollViewDelegate scrollViewDidScroll:]): (TestWebKitAPI::TEST): Modified Paths trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKit/NoHistoryItemScrollToFragment.mm Diff Modified: trunk/Tools/ChangeLog (225301 => 225302) --- trunk/Tools/ChangeLog 2017-11-30 00:16:19 UTC (rev 225301) +++ trunk/Tools/ChangeLog 2017-11-30 00:18:05 UTC (rev 225302) @@ -1,5 +1,15 @@ 2017-11-29 Simon Fraser+API test fix after r225288. + +Make the test work on iOS. + +* TestWebKitAPI/Tests/WebKit/NoHistoryItemScrollToFragment.mm: +(-[DidScrollToFragmentScrollViewDelegate scrollViewDidScroll:]): +(TestWebKitAPI::TEST): + +2017-11-29 Simon Fraser + REGRESSION (r213590): Scrolling to anchors broken in web views when content loaded via HTML string https://bugs.webkit.org/show_bug.cgi?id=180155 rdar://problem/34220827 Modified: trunk/Tools/TestWebKitAPI/Tests/WebKit/NoHistoryItemScrollToFragment.mm (225301 => 225302) --- trunk/Tools/TestWebKitAPI/Tests/WebKit/NoHistoryItemScrollToFragment.mm 2017-11-30 00:16:19 UTC (rev 225301) +++ trunk/Tools/TestWebKitAPI/Tests/WebKit/NoHistoryItemScrollToFragment.mm 2017-11-30 00:18:05 UTC (rev 225302) @@ -37,6 +37,7 @@ static bool testDone; +#if PLATFORM(MAC) @interface DidScrollToFragmentDelegate : NSObject @end @@ -49,6 +50,25 @@ @end +#endif +#if PLATFORM(IOS) + +@interface DidScrollToFragmentScrollViewDelegate : NSObject + +@end + +@implementation DidScrollToFragmentScrollViewDelegate + +- (void)scrollViewDidScroll:(UIScrollView *)scrollView +{ +// Ignore scrolls to 0,0 and from inset changes. +if (scrollView.contentOffset.y > 300) +testDone = true; +} + +@end +#endif + namespace TestWebKitAPI { TEST(WebKit, NoHistoryItemScrollToFragment) @@ -56,8 +76,15 @@ auto configuration = adoptNS([[WKWebViewConfiguration alloc] init]); auto processPoolConfig = adoptNS([[_WKProcessPoolConfiguration alloc] init]); auto webView = adoptNS([[TestWKWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 500) configuration:configuration.get() processPoolConfiguration:processPoolConfig.get()]); + +#if PLATFORM(MAC) auto delegate = adoptNS([[DidScrollToFragmentDelegate alloc] init]); [webView setUIDelegate:delegate.get()]; +#endif +#if PLATFORM(IOS) +auto delegateForScrollView = adoptNS([[DidScrollToFragmentScrollViewDelegate alloc] init]); +[webView scrollView].delegate = delegateForScrollView.get(); +#endif NSURL* resourceURL = [[NSBundle mainBundle] URLForResource:@"scroll-to-anchor" withExtension:@"html" subdirectory:@"TestWebKitAPI.resources"]; NSString *testFileContents = [NSString stringWithContentsOfURL:resourceURL encoding:NSUTF8StringEncoding error:nil]; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225301] trunk/Source
Title: [225301] trunk/Source Revision 225301 Author clo...@igalia.com Date 2017-11-29 16:16:19 -0800 (Wed, 29 Nov 2017) Log Message Source/_javascript_Core: [MIPS][JSC] Implement MacroAssembler::probe support on MIPS https://bugs.webkit.org/show_bug.cgi?id=175447 Patch by Stanislav Ocovajon 2017-11-29 Reviewed by Carlos Alberto Lopez Perez. This patch allows DFG JIT to be enabled on MIPS platforms. * Sources.txt: * assembler/MIPSAssembler.h: (JSC::MIPSAssembler::lastSPRegister): (JSC::MIPSAssembler::numberOfSPRegisters): (JSC::MIPSAssembler::sprName): * assembler/MacroAssemblerMIPS.cpp: Added. (JSC::MacroAssembler::probe): * assembler/ProbeContext.cpp: (JSC::Probe::executeProbe): * assembler/ProbeContext.h: (JSC::Probe::CPUState::pc): * assembler/testmasm.cpp: (JSC::isSpecialGPR): (JSC::testProbePreservesGPRS): (JSC::testProbeModifiesStackPointer): (JSC::testProbeModifiesStackValues): Source/WTF: [DFG][MIPS] Enable DFG JIT on MIPS. https://bugs.webkit.org/show_bug.cgi?id=175447 Patch by Stanislav Ocovaj on 2017-11-29 Reviewed by Carlos Alberto Lopez Perez. * wtf/Platform.h: Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/Sources.txt trunk/Source/_javascript_Core/assembler/MIPSAssembler.h trunk/Source/_javascript_Core/assembler/ProbeContext.cpp trunk/Source/_javascript_Core/assembler/ProbeContext.h trunk/Source/_javascript_Core/assembler/testmasm.cpp trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/Platform.h Added Paths trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.cpp Property Changed trunk/Source/_javascript_Core/ChangeLog trunk/Source/WTF/ChangeLog Diff Modified: trunk/Source/_javascript_Core/ChangeLog (225300 => 225301) --- trunk/Source/_javascript_Core/ChangeLog 2017-11-29 23:23:54 UTC (rev 225300) +++ trunk/Source/_javascript_Core/ChangeLog 2017-11-30 00:16:19 UTC (rev 225301) @@ -1,3 +1,29 @@ +2017-11-29 Stanislav Ocovaj + +[MIPS][JSC] Implement MacroAssembler::probe support on MIPS +https://bugs.webkit.org/show_bug.cgi?id=175447 + +Reviewed by Carlos Alberto Lopez Perez. + +This patch allows DFG JIT to be enabled on MIPS platforms. + +* Sources.txt: +* assembler/MIPSAssembler.h: +(JSC::MIPSAssembler::lastSPRegister): +(JSC::MIPSAssembler::numberOfSPRegisters): +(JSC::MIPSAssembler::sprName): +* assembler/MacroAssemblerMIPS.cpp: Added. +(JSC::MacroAssembler::probe): +* assembler/ProbeContext.cpp: +(JSC::Probe::executeProbe): +* assembler/ProbeContext.h: +(JSC::Probe::CPUState::pc): +* assembler/testmasm.cpp: +(JSC::isSpecialGPR): +(JSC::testProbePreservesGPRS): +(JSC::testProbeModifiesStackPointer): +(JSC::testProbeModifiesStackValues): + 2017-11-29 Matt Lewis Unreviewed, rolling out r225286. Property changes on: trunk/Source/_javascript_Core/ChangeLog ___ Deleted: svn:executable -* \ No newline at end of property Modified: trunk/Source/_javascript_Core/Sources.txt (225300 => 225301) --- trunk/Source/_javascript_Core/Sources.txt 2017-11-29 23:23:54 UTC (rev 225300) +++ trunk/Source/_javascript_Core/Sources.txt 2017-11-30 00:16:19 UTC (rev 225301) @@ -47,6 +47,7 @@ assembler/MacroAssemblerARM64.cpp assembler/MacroAssemblerARMv7.cpp assembler/MacroAssemblerCodeRef.cpp +assembler/MacroAssemblerMIPS.cpp assembler/MacroAssemblerPrinter.cpp assembler/MacroAssemblerX86Common.cpp assembler/Printer.cpp Modified: trunk/Source/_javascript_Core/assembler/MIPSAssembler.h (225300 => 225301) --- trunk/Source/_javascript_Core/assembler/MIPSAssembler.h 2017-11-29 23:23:54 UTC (rev 225300) +++ trunk/Source/_javascript_Core/assembler/MIPSAssembler.h 2017-11-30 00:16:19 UTC (rev 225301) @@ -113,7 +113,8 @@ fccr = 25, fexr = 26, fenr = 28, -fcsr = 31 +fcsr = 31, +pc } SPRegisterID; typedef enum { @@ -165,8 +166,8 @@ static constexpr unsigned numberOfRegisters() { return lastRegister() - firstRegister() + 1; } static constexpr SPRegisterID firstSPRegister() { return MIPSRegisters::fir; } -static constexpr SPRegisterID lastSPRegister() { return MIPSRegisters::fcsr; } -static constexpr unsigned numberOfSPRegisters() { return 5; } +static constexpr SPRegisterID lastSPRegister() { return MIPSRegisters::pc; } +static constexpr unsigned numberOfSPRegisters() { return lastSPRegister() - firstSPRegister() + 1; } static constexpr FPRegisterID firstFPRegister() { return MIPSRegisters::f0; } static constexpr FPRegisterID lastFPRegister() { return MIPSRegisters::f31; } @@ -197,6 +198,8 @@ return "fenr"; case MIPSRegisters::fcsr: return "fcsr"; +case MIPSRegisters::pc: +return
[webkit-changes] [225300] trunk/Source
Title: [225300] trunk/Source Revision 225300 Author commit-qu...@webkit.org Date 2017-11-29 15:23:54 -0800 (Wed, 29 Nov 2017) Log Message Remove the ImageSource from the class hierarchy that connects BitmapImage to ImageFrame https://bugs.webkit.org/show_bug.cgi?id=175595 Patch by Said Abou-Hallawaon 2017-11-29 Reviewed by Darin Adler. Source/WebCore: The class hierarchy that connects BitmapImage to ImageFrame has been troublesome. ImageSource does not have a clear responsibility other than a bridge that connects BitmapIamge to ImageFrameCache. Sharing the ImageDecoder between ImageSource and ImageFrameCache is ugly and caused few crashes in the past. This patch will do the first step for fixing this issue. First get rid of ImageSource by moving its APIs to ImageFrameCache and BitmapImage. Replace all the instances of ImageSource by ImageFrameCache. The next step will be to rename ImageFrameCache to ImageSource. But this will be done in a follow-up patch * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::BitmapImage): (WebCore::BitmapImage::~BitmapImage): (WebCore::BitmapImage::destroyDecodedData): (WebCore::BitmapImage::destroyDecodedDataIfNecessary): (WebCore::BitmapImage::dataChanged): (WebCore::BitmapImage::frameImageAtIndexCacheIfNeeded): (WebCore::BitmapImage::draw): (WebCore::BitmapImage::canUseAsyncDecodingForLargeImages const): (WebCore::BitmapImage::shouldUseAsyncDecodingForAnimatedImages const): (WebCore::BitmapImage::subsamplingLevelForScaleFactor): (WebCore::BitmapImage::canDestroyDecodedData): (WebCore::BitmapImage::internalStartAnimation): (WebCore::BitmapImage::stopAnimation): (WebCore::BitmapImage::decode): (WebCore::BitmapImage::imageFrameAvailableAtIndex): (WebCore::BitmapImage::dump const): * platform/graphics/BitmapImage.h: * platform/graphics/GraphicsContext3D.h: * platform/graphics/ImageFrameCache.cpp: (WebCore::ImageFrameCache::ImageFrameCache): (WebCore::ImageFrameCache::ensureDecoderAvailable): (WebCore::ImageFrameCache::setData): (WebCore::ImageFrameCache::resetData): (WebCore::ImageFrameCache::dataChanged): (WebCore::ImageFrameCache::isAllDataReceived): (WebCore::ImageFrameCache::clearFrameBufferCache): (WebCore::ImageFrameCache::canUseAsyncDecoding): (WebCore::ImageFrameCache::maximumSubsamplingLevel): (WebCore::ImageFrameCache::setTargetContext): (WebCore::ImageFrameCache::createFrameImageAtIndex): (WebCore::ImageFrameCache::dump): (WebCore::ImageFrameCache::setDecoder): Deleted. (WebCore::ImageFrameCache::decoder const): Deleted. * platform/graphics/ImageFrameCache.h: (WebCore::ImageFrameCache::create): (WebCore::ImageFrameCache::requestFrameAsyncDecodingAtIndex): * platform/graphics/ImageSource.cpp: Removed. * platform/graphics/ImageSource.h: Removed. * platform/graphics/cairo/GraphicsContext3DCairo.cpp: (WebCore::GraphicsContext3D::ImageExtractor::~ImageExtractor): (WebCore::GraphicsContext3D::ImageExtractor::extractImage): * platform/graphics/cg/GraphicsContext3DCG.cpp: (WebCore::GraphicsContext3D::ImageExtractor::extractImage): * platform/graphics/cg/ImageSourceCG.h: Source/WebKitLegacy/mac: * WebView/WebPreferences.mm: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Sources.txt trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebCore/platform/graphics/BitmapImage.cpp trunk/Source/WebCore/platform/graphics/BitmapImage.h trunk/Source/WebCore/platform/graphics/GraphicsContext3D.h trunk/Source/WebCore/platform/graphics/ImageFrameCache.cpp trunk/Source/WebCore/platform/graphics/ImageFrameCache.h trunk/Source/WebCore/platform/graphics/cairo/GraphicsContext3DCairo.cpp trunk/Source/WebCore/platform/graphics/cg/GraphicsContext3DCG.cpp trunk/Source/WebCore/platform/graphics/cg/ImageSourceCG.h trunk/Source/WebKitLegacy/mac/ChangeLog trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm Removed Paths trunk/Source/WebCore/platform/graphics/ImageSource.cpp trunk/Source/WebCore/platform/graphics/ImageSource.h Diff Modified: trunk/Source/WebCore/ChangeLog (225299 => 225300) --- trunk/Source/WebCore/ChangeLog 2017-11-29 23:16:20 UTC (rev 225299) +++ trunk/Source/WebCore/ChangeLog 2017-11-29 23:23:54 UTC (rev 225300) @@ -1,3 +1,70 @@ +2017-11-29 Said Abou-Hallawa + +Remove the ImageSource from the class hierarchy that connects BitmapImage to ImageFrame +https://bugs.webkit.org/show_bug.cgi?id=175595 + +Reviewed by Darin Adler. + +The class hierarchy that connects BitmapImage to ImageFrame has been +troublesome. ImageSource does not have a clear responsibility other than +a bridge that connects BitmapIamge to ImageFrameCache. Sharing the +ImageDecoder between ImageSource and ImageFrameCache is ugly and caused +few crashes in the past. + +This patch will do the first step for fixing this issue. First get rid of +ImageSource by
[webkit-changes] [225299] trunk/Source/WebInspectorUI
Title: [225299] trunk/Source/WebInspectorUI Revision 225299 Author nvasil...@apple.com Date 2017-11-29 15:16:20 -0800 (Wed, 29 Nov 2017) Log Message Web Inspector: Styles Redesign: can't add new property after property without trailing semicolon https://bugs.webkit.org/show_bug.cgi?id=179587 Reviewed by Timothy Hatcher. * UserInterface/Models/CSSProperty.js: (WI.CSSProperty.prototype._updateOwnerStyleText): (WI.CSSProperty.prototype._appendSemicolonIfNeeded): Add a semicolon before the new property if the last property doesn't have it already. Modified Paths trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/UserInterface/Models/CSSProperty.js Diff Modified: trunk/Source/WebInspectorUI/ChangeLog (225298 => 225299) --- trunk/Source/WebInspectorUI/ChangeLog 2017-11-29 23:16:03 UTC (rev 225298) +++ trunk/Source/WebInspectorUI/ChangeLog 2017-11-29 23:16:20 UTC (rev 225299) @@ -1,3 +1,16 @@ +2017-11-29 Nikita Vasilyev+ +Web Inspector: Styles Redesign: can't add new property after property without trailing semicolon +https://bugs.webkit.org/show_bug.cgi?id=179587 + + +Reviewed by Timothy Hatcher. + +* UserInterface/Models/CSSProperty.js: +(WI.CSSProperty.prototype._updateOwnerStyleText): +(WI.CSSProperty.prototype._appendSemicolonIfNeeded): +Add a semicolon before the new property if the last property doesn't have it already. + 2017-11-29 Joseph Pecoraro Web Inspector: Console Tab navigation bar sometimes does not include filter bar, clear console sometimes does not work Modified: trunk/Source/WebInspectorUI/UserInterface/Models/CSSProperty.js (225298 => 225299) --- trunk/Source/WebInspectorUI/UserInterface/Models/CSSProperty.js 2017-11-29 23:16:03 UTC (rev 225298) +++ trunk/Source/WebInspectorUI/UserInterface/Models/CSSProperty.js 2017-11-29 23:16:20 UTC (rev 225299) @@ -361,7 +361,7 @@ console.assert(oldText === styleText.slice(range.startOffset, range.endOffset), "_styleSheetTextRange data is invalid."); -let newStyleText = styleText.slice(0, range.startOffset) + newText + styleText.slice(range.endOffset); +let newStyleText = this._appendSemicolonIfNeeded(styleText.slice(0, range.startOffset)) + newText + styleText.slice(range.endOffset); let lineDelta = newText.lineCount - oldText.lineCount; let columnDelta = newText.lastLine.length - oldText.lastLine.length; @@ -372,6 +372,14 @@ let propertyWasRemoved = !newText; this._ownerStyle.shiftPropertiesAfter(this, lineDelta, columnDelta, propertyWasRemoved); } + +_appendSemicolonIfNeeded(styleText) +{ +if (/[^;\s]\s*$/.test(styleText)) +return styleText.trimRight() + "; "; + +return styleText; +} }; WI.CSSProperty.Event = { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225298] trunk/Source
Title: [225298] trunk/Source Revision 225298 Author beid...@apple.com Date 2017-11-29 15:16:03 -0800 (Wed, 29 Nov 2017) Log Message When managing context startups, make ServiceWorkerJobDataIdentifier's optional. https://bugs.webkit.org/show_bug.cgi?id=180166 Reviewed by Chris Dumez. Source/WebCore: No new tests (No behavior change). We'll sometimes be starting SW contexts without an associated job, so ServiceWorkerContextData should not required actually having a job identifier. * workers/service/ServiceWorkerContextData.h: (WebCore::ServiceWorkerContextData::decode): * workers/service/context/SWContextManager.h: * workers/service/server/SWServer.cpp: (WebCore::SWServer::scriptContextFailedToStart): (WebCore::SWServer::scriptContextStarted): (WebCore::SWServer::didFinishInstall): * workers/service/server/SWServer.h: * workers/service/server/SWServerToContextConnection.cpp: (WebCore::SWServerToContextConnection::scriptContextFailedToStart): (WebCore::SWServerToContextConnection::scriptContextStarted): (WebCore::SWServerToContextConnection::didFinishInstall): * workers/service/server/SWServerToContextConnection.h: * workers/service/server/SWServerWorker.cpp: (WebCore::SWServerWorker::scriptContextFailedToStart): (WebCore::SWServerWorker::scriptContextStarted): (WebCore::SWServerWorker::didFinishInstall): * workers/service/server/SWServerWorker.h: Source/WebKit: * StorageProcess/ServiceWorker/WebSWServerToContextConnection.messages.in: * WebProcess/Storage/WebSWContextManagerConnection.cpp: (WebKit::WebSWContextManagerConnection::serviceWorkerStartedWithMessage): (WebKit::WebSWContextManagerConnection::didFinishInstall): * WebProcess/Storage/WebSWContextManagerConnection.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/workers/service/ServiceWorkerContextData.h trunk/Source/WebCore/workers/service/context/SWContextManager.h trunk/Source/WebCore/workers/service/server/SWServer.cpp trunk/Source/WebCore/workers/service/server/SWServer.h trunk/Source/WebCore/workers/service/server/SWServerToContextConnection.cpp trunk/Source/WebCore/workers/service/server/SWServerToContextConnection.h trunk/Source/WebCore/workers/service/server/SWServerWorker.cpp trunk/Source/WebCore/workers/service/server/SWServerWorker.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/StorageProcess/ServiceWorker/WebSWServerToContextConnection.messages.in trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.h Diff Modified: trunk/Source/WebCore/ChangeLog (225297 => 225298) --- trunk/Source/WebCore/ChangeLog 2017-11-29 23:03:49 UTC (rev 225297) +++ trunk/Source/WebCore/ChangeLog 2017-11-29 23:16:03 UTC (rev 225298) @@ -1,3 +1,38 @@ +2017-11-29 Brady Eidson+ +When managing context startups, make ServiceWorkerJobDataIdentifier's optional. +https://bugs.webkit.org/show_bug.cgi?id=180166 + +Reviewed by Chris Dumez. + +No new tests (No behavior change). + +We'll sometimes be starting SW contexts without an associated job, so ServiceWorkerContextData +should not required actually having a job identifier. + +* workers/service/ServiceWorkerContextData.h: +(WebCore::ServiceWorkerContextData::decode): + +* workers/service/context/SWContextManager.h: + +* workers/service/server/SWServer.cpp: +(WebCore::SWServer::scriptContextFailedToStart): +(WebCore::SWServer::scriptContextStarted): +(WebCore::SWServer::didFinishInstall): +* workers/service/server/SWServer.h: + +* workers/service/server/SWServerToContextConnection.cpp: +(WebCore::SWServerToContextConnection::scriptContextFailedToStart): +(WebCore::SWServerToContextConnection::scriptContextStarted): +(WebCore::SWServerToContextConnection::didFinishInstall): +* workers/service/server/SWServerToContextConnection.h: + +* workers/service/server/SWServerWorker.cpp: +(WebCore::SWServerWorker::scriptContextFailedToStart): +(WebCore::SWServerWorker::scriptContextStarted): +(WebCore::SWServerWorker::didFinishInstall): +* workers/service/server/SWServerWorker.h: + 2017-11-29 Youenn Fablet Add support for service worker generated redirections Modified: trunk/Source/WebCore/workers/service/ServiceWorkerContextData.h (225297 => 225298) --- trunk/Source/WebCore/workers/service/ServiceWorkerContextData.h 2017-11-29 23:03:49 UTC (rev 225297) +++ trunk/Source/WebCore/workers/service/ServiceWorkerContextData.h 2017-11-29 23:16:03 UTC (rev 225298) @@ -36,7 +36,7 @@ namespace WebCore { struct ServiceWorkerContextData { -ServiceWorkerJobDataIdentifier jobDataIdentifier; +std::optional jobDataIdentifier; ServiceWorkerRegistrationData registration; ServiceWorkerIdentifier serviceWorkerIdentifier; String script; @@
[webkit-changes] [225297] trunk
Title: [225297] trunk Revision 225297 Author commit-qu...@webkit.org Date 2017-11-29 15:03:49 -0800 (Wed, 29 Nov 2017) Log Message Add support for service worker generated redirections https://bugs.webkit.org/show_bug.cgi?id=179498 Patch by Youenn Fableton 2017-11-29 Reviewed by Darin Adler. Source/WebCore: Test: http/tests/workers/service/service-worker-redirection-fetch.https.html Added redirection routines following fetch specification to: - check whether a response is a redirection - generate a redirected request from a request and its redirection response. Added some specific redirect request generation following existing WebKit networking code. * Modules/fetch/FetchResponse.cpp: (WebCore::FetchResponse::redirect): (WebCore::isRedirectStatus): Deleted. * platform/network/ResourceRequestBase.cpp: (WebCore::shouldUseGet): (WebCore::ResourceRequestBase::redirectedRequest const): * platform/network/ResourceRequestBase.h: * platform/network/ResourceResponseBase.h: (WebCore::ResourceResponseBase::isRedirectionStatusCode): (WebCore::ResourceResponseBase::isRedirection const): Source/WebKit: Small refactoring to allow a service worker redirected fetch to follow the redirection through the service worker. * WebProcess/Network/WebLoaderStrategy.cpp: (WebKit::WebLoaderStrategy::scheduleLoad): Make use of the loader request in case a network load is needed after a service worker redirection. * WebProcess/Storage/ServiceWorkerClientFetch.cpp: (WebKit::ServiceWorkerClientFetch::create): (WebKit::ServiceWorkerClientFetch::~ServiceWorkerClientFetch): (WebKit::ServiceWorkerClientFetch::ServiceWorkerClientFetch): (WebKit::ServiceWorkerClientFetch::start): (WebKit::ServiceWorkerClientFetch::didReceiveResponse): Check for response. Generate redirected request if needed and call loader callback to process the redirection. Adding some states so that if didFinish is called before the willSendRequest callback, redirection is followed. (WebKit::ServiceWorkerClientFetch::didFinish): In case redirection should be followed, wait for didFinish to follow it. This simplifies the model although introducing some limited latency. * WebProcess/Storage/ServiceWorkerClientFetch.h: * WebProcess/Storage/WebSWClientConnection.cpp: (WebKit::WebSWClientConnection::startFetch): * WebProcess/Storage/WebSWClientConnection.h: * WebProcess/Storage/WebServiceWorkerProvider.cpp: (WebKit::WebServiceWorkerProvider::handleFetch): LayoutTests: * http/tests/workers/service/resources/service-worker-redirection-fetch-worker.js: Added. (event.event.request.url.indexOf): (event.event.request.url.endsWith): * http/tests/workers/service/service-worker-redirection-fetch.https-expected.txt: Added. * http/tests/workers/service/service-worker-redirection-fetch.https.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/fetch/FetchResponse.cpp trunk/Source/WebCore/platform/network/HTTPHeaderNames.in trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp trunk/Source/WebCore/platform/network/ResourceRequestBase.h trunk/Source/WebCore/platform/network/ResourceResponseBase.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp trunk/Source/WebKit/WebProcess/Storage/ServiceWorkerClientFetch.cpp trunk/Source/WebKit/WebProcess/Storage/ServiceWorkerClientFetch.h trunk/Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp trunk/Source/WebKit/WebProcess/Storage/WebSWClientConnection.h trunk/Source/WebKit/WebProcess/Storage/WebServiceWorkerProvider.cpp trunk/Source/WebKit/WebProcess/Storage/WebServiceWorkerProvider.h Diff Modified: trunk/LayoutTests/ChangeLog (225296 => 225297) --- trunk/LayoutTests/ChangeLog 2017-11-29 22:19:23 UTC (rev 225296) +++ trunk/LayoutTests/ChangeLog 2017-11-29 23:03:49 UTC (rev 225297) @@ -1,3 +1,16 @@ +2017-11-29 Youenn Fablet + +Add support for service worker generated redirections +https://bugs.webkit.org/show_bug.cgi?id=179498 + +Reviewed by Darin Adler. + +* http/tests/workers/service/resources/service-worker-redirection-fetch-worker.js: Added. +(event.event.request.url.indexOf): +(event.event.request.url.endsWith): +* http/tests/workers/service/service-worker-redirection-fetch.https-expected.txt: Added. +* http/tests/workers/service/service-worker-redirection-fetch.https.html: Added. + 2017-11-29 Chris Dumez Start exposing self.registration inside service workers Modified: trunk/Source/WebCore/ChangeLog (225296 => 225297) --- trunk/Source/WebCore/ChangeLog 2017-11-29 22:19:23 UTC (rev 225296) +++ trunk/Source/WebCore/ChangeLog 2017-11-29 23:03:49 UTC (rev 225297) @@ -1,3 +1,28 @@ +2017-11-29 Youenn Fablet + +Add support for service worker generated redirections +https://bugs.webkit.org/show_bug.cgi?id=179498 + +Reviewed
[webkit-changes] [225296] trunk
Title: [225296] trunk Revision 225296 Author cdu...@apple.com Date 2017-11-29 14:19:23 -0800 (Wed, 29 Nov 2017) Log Message Start exposing self.registration inside service workers https://bugs.webkit.org/show_bug.cgi?id=180162 Reviewed by Brady Eidson. LayoutTests/imported/w3c: * web-platform-tests/service-workers/service-worker/redirected-response.https-expected.txt: Source/WebCore: Start exposing self.registration inside service workers as per: - https://w3c.github.io/ServiceWorker/#serviceworkerglobalscope-interface This is very initial support: - The operations on the registration (such as update) will reject the promise for now. - The registration's service workers are not yet populated. This will be implemented in a follow-up. Tests: http/tests/workers/service/ServiceWorkerGlobalScope_registration_SameObject.html http/tests/workers/service/self_registration.html * bindings/js/JSServiceWorkerGlobalScopeCustom.cpp: (WebCore::JSServiceWorkerGlobalScope::visitAdditionalChildren): * workers/service/ServiceWorkerContainer.cpp: (WebCore::ServiceWorkerContainer::addRegistration): * workers/service/ServiceWorkerContextData.cpp: (WebCore::ServiceWorkerContextData::isolatedCopy const): * workers/service/ServiceWorkerContextData.h: (WebCore::ServiceWorkerContextData::encode const): (WebCore::ServiceWorkerContextData::decode): * workers/service/ServiceWorkerGlobalScope.cpp: (WebCore::ServiceWorkerGlobalScope::ServiceWorkerGlobalScope): * workers/service/ServiceWorkerGlobalScope.h: (WebCore::ServiceWorkerGlobalScope::registration): * workers/service/server/SWServer.cpp: (WebCore::SWServer::updateWorker): (WebCore::SWServer::installContextData): * workers/service/server/SWServer.h: * workers/service/server/SWServerJobQueue.cpp: (WebCore::SWServerJobQueue::scriptFetchFinished): LayoutTests: Add layout test coverage. * TestExpectations: Skip test that covers self.registration.update() because it now times out. We do not support update() on registrations inside service workers yet so the test times out waiting for the updatefound event on the registration. * http/tests/workers/service/ServiceWorkerGlobalScope_registration_SameObject-expected.txt: Added. * http/tests/workers/service/ServiceWorkerGlobalScope_registration_SameObject.html: Added. * http/tests/workers/service/resources/ServiceWorkerGlobalScope_registration_SameObject-worker.js: Added. * http/tests/workers/service/resources/self_registration-worker.js: Added. * http/tests/workers/service/self_registration-expected.txt: Added. * http/tests/workers/service/self_registration.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/registration-attribute.https-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/unregister.https-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/update.https-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/navigation-redirect.https-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/redirected-response.https-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/register-foreign-fetch-errors.https-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/js/JSServiceWorkerGlobalScopeCustom.cpp trunk/Source/WebCore/workers/service/ServiceWorkerContainer.cpp trunk/Source/WebCore/workers/service/ServiceWorkerContextData.cpp trunk/Source/WebCore/workers/service/ServiceWorkerContextData.h trunk/Source/WebCore/workers/service/ServiceWorkerGlobalScope.cpp trunk/Source/WebCore/workers/service/ServiceWorkerGlobalScope.h trunk/Source/WebCore/workers/service/server/SWServer.cpp trunk/Source/WebCore/workers/service/server/SWServer.h trunk/Source/WebCore/workers/service/server/SWServerJobQueue.cpp Added Paths trunk/LayoutTests/http/tests/workers/service/ServiceWorkerGlobalScope_registration_SameObject-expected.txt trunk/LayoutTests/http/tests/workers/service/ServiceWorkerGlobalScope_registration_SameObject.html trunk/LayoutTests/http/tests/workers/service/resources/ServiceWorkerGlobalScope_registration_SameObject-worker.js trunk/LayoutTests/http/tests/workers/service/resources/self_registration-worker.js trunk/LayoutTests/http/tests/workers/service/self_registration-expected.txt trunk/LayoutTests/http/tests/workers/service/self_registration.html Diff Modified: trunk/LayoutTests/ChangeLog (225295 => 225296) --- trunk/LayoutTests/ChangeLog 2017-11-29 21:53:28 UTC (rev 225295) +++ trunk/LayoutTests/ChangeLog 2017-11-29 22:19:23 UTC (rev 225296) @@ -1,3 +1,24 @@ +2017-11-29 Chris Dumez+ +Start exposing self.registration
[webkit-changes] [225295] branches/safari-604-branch
Title: [225295] branches/safari-604-branch Revision 225295 Author jmarc...@apple.com Date 2017-11-29 13:53:28 -0800 (Wed, 29 Nov 2017) Log Message Cherry-pick r224539. rdar://problem/35698788 Modified Paths branches/safari-604-branch/JSTests/ChangeLog branches/safari-604-branch/Source/_javascript_Core/ChangeLog branches/safari-604-branch/Source/_javascript_Core/bytecode/AccessCase.cpp Added Paths branches/safari-604-branch/JSTests/stress/regress-179355.js Diff Modified: branches/safari-604-branch/JSTests/ChangeLog (225294 => 225295) --- branches/safari-604-branch/JSTests/ChangeLog 2017-11-29 21:47:37 UTC (rev 225294) +++ branches/safari-604-branch/JSTests/ChangeLog 2017-11-29 21:53:28 UTC (rev 225295) @@ -1,3 +1,17 @@ +2017-11-28 Jason Marcell+ +Cherry-pick r224539. rdar://problem/35698788 + +2017-11-07 Mark Lam + +AccessCase::generateImpl() should exclude the result register when restoring registers after a call. +https://bugs.webkit.org/show_bug.cgi?id=179355 + + +Reviewed by Saam Barati. + +* stress/regress-179355.js: Added. + 2017-11-22 Jason Marcell Cherry-pick r224366. rdar://problem/35329723 Added: branches/safari-604-branch/JSTests/stress/regress-179355.js (0 => 225295) --- branches/safari-604-branch/JSTests/stress/regress-179355.js (rev 0) +++ branches/safari-604-branch/JSTests/stress/regress-179355.js 2017-11-29 21:53:28 UTC (rev 225295) @@ -0,0 +1,25 @@ +var arr0 = [1,2,3,4]; +var arr1 = new Array(1000); + +Array.prototype.__defineGetter__(1, function() { +[].concat(arr1); //generate to invalid JIT code here? +}); + +Array.prototype.__defineGetter__(Symbol.isConcatSpreadable, (function() { +for(var i=0;i<1;i++) { +if(i==0) +arr1[i]; +this.x = 1.1; +arr1.legnth = 1; +} +})); + +var exception; +try { +arr1[1].toString(); +} catch (e) { +exception = e; +} + +if (exception != "RangeError: Maximum call stack size exceeded.") +throw "FAILED"; Modified: branches/safari-604-branch/Source/_javascript_Core/ChangeLog (225294 => 225295) --- branches/safari-604-branch/Source/_javascript_Core/ChangeLog 2017-11-29 21:47:37 UTC (rev 225294) +++ branches/safari-604-branch/Source/_javascript_Core/ChangeLog 2017-11-29 21:53:28 UTC (rev 225295) @@ -1,3 +1,26 @@ +2017-11-28 Jason Marcell + +Cherry-pick r224539. rdar://problem/35698788 + +2017-11-07 Mark Lam + +AccessCase::generateImpl() should exclude the result register when restoring registers after a call. +https://bugs.webkit.org/show_bug.cgi?id=179355 + + +Reviewed by Saam Barati. + +In the Transition case in AccessCase::generateImpl(), we were restoring registers +using restoreLiveRegistersFromStackForCall() without excluding the scratchGPR +where we previously stashed the reallocated butterfly. If the generated code is +under heavy register pressure, scratchGPR could have been from the set of preserved +registers, and hence, would be restored by restoreLiveRegistersFromStackForCall(). +As a result, the restoration would trash the butterfly result we stored there. +This patch fixes the issue by excluding the scratchGPR in the restoration. + +* bytecode/AccessCase.cpp: +(JSC::AccessCase::generateImpl): + 2017-11-22 Jason Marcell Cherry-pick r224426. rdar://problem/35364697 Modified: branches/safari-604-branch/Source/_javascript_Core/bytecode/AccessCase.cpp (225294 => 225295) --- branches/safari-604-branch/Source/_javascript_Core/bytecode/AccessCase.cpp 2017-11-29 21:47:37 UTC (rev 225294) +++ branches/safari-604-branch/Source/_javascript_Core/bytecode/AccessCase.cpp 2017-11-29 21:53:28 UTC (rev 225295) @@ -937,7 +937,9 @@ state.emitExplicitExceptionHandler(); noException.link(); -state.restoreLiveRegistersFromStackForCall(spillState); +RegisterSet resultRegisterToExclude; +resultRegisterToExclude.set(scratchGPR); +state.restoreLiveRegistersFromStackForCall(spillState, resultRegisterToExclude); } } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225294] trunk
Title: [225294] trunk Revision 225294 Author commit-qu...@webkit.org Date 2017-11-29 13:47:37 -0800 (Wed, 29 Nov 2017) Log Message Add support for FetchEvent.clientId https://bugs.webkit.org/show_bug.cgi?id=180052 Patch by Youenn Fableton 2017-11-29 Reviewed by Chris Dumez. LayoutTests/imported/w3c: * web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt: * web-platform-tests/service-workers/service-worker/resources/clients-get-worker.js: * web-platform-tests/service-workers/service-worker/resources/fetch-event-test-worker.js: Source/WebCore: Covered by updated test. Add script execution context identifier as a FetchOptions parameter. This is then sent to the service worker process which can then set FetchEvent.clientId appropriately. If the fetch is for a subresource, clientId is used directly. If it is a navigation, clientId is set to targetClientId. * loader/FetchOptions.h: (WebCore::FetchOptions::encode const): (WebCore::FetchOptions::decode): * loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::prepareFetch): * loader/cache/CachedResourceRequest.cpp: (WebCore::CachedResourceRequest::setClientIdentifierIfNeeded): * loader/cache/CachedResourceRequest.h: * workers/service/context/ServiceWorkerFetch.cpp: (WebCore::ServiceWorkerFetch::dispatchFetchEvent): * workers/service/context/ServiceWorkerFetch.h: * workers/service/context/ServiceWorkerThread.cpp: (WebCore::ServiceWorkerThread::postFetchTask): * workers/service/context/ServiceWorkerThread.h: Source/WebKit: Using FetchOption persistency coders for cache API and modernizing IPC FetchOptions decoding. * WebKit/Shared/WebCoreArgumentCoders.cpp: * NetworkProcess/cache/CacheStorageEngineCache.cpp: (WebKit::CacheStorage::Cache::encode): (WebKit::CacheStorage::Cache::decodeRecordHeader): * WebProcess/Storage/WebSWContextManagerConnection.cpp: (WebKit::WebSWContextManagerConnection::startFetch): * WebProcess/Storage/WebSWContextManagerConnection.cpp: (WebKit::WebSWContextManagerConnection::startFetch): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/clients-get-worker.js trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/fetch-event-test-worker.js trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/loader/FetchOptions.h trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp trunk/Source/WebCore/loader/cache/CachedResourceRequest.cpp trunk/Source/WebCore/loader/cache/CachedResourceRequest.h trunk/Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp trunk/Source/WebCore/workers/service/context/ServiceWorkerFetch.h trunk/Source/WebCore/workers/service/context/ServiceWorkerThread.cpp trunk/Source/WebCore/workers/service/context/ServiceWorkerThread.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.cpp trunk/Source/WebKit/Shared/WebCoreArgumentCoders.cpp trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (225293 => 225294) --- trunk/LayoutTests/imported/w3c/ChangeLog 2017-11-29 21:42:00 UTC (rev 225293) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2017-11-29 21:47:37 UTC (rev 225294) @@ -1,3 +1,14 @@ +2017-11-29 Youenn Fablet + +Add support for FetchEvent.clientId +https://bugs.webkit.org/show_bug.cgi?id=180052 + +Reviewed by Chris Dumez. + +* web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt: +* web-platform-tests/service-workers/service-worker/resources/clients-get-worker.js: +* web-platform-tests/service-workers/service-worker/resources/fetch-event-test-worker.js: + 2017-11-29 Ms2ger Rebaseline imported/w3c/web-platform-tests/resource-timing/single-entry-per-resource.html. Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt (225293 => 225294) --- trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt 2017-11-29 21:42:00 UTC (rev 225293) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt 2017-11-29 21:47:37 UTC (rev 225294) @@ -4,7 +4,7 @@ FAIL Service Worker responds to fetch event with string assert_unreached: unexpected rejection: assert_equals: The character set of the response created with a string should be UTF-8 expected "UTF-8" but got "windows-1252" Reached unreachable code FAIL Service Worker responds to fetch event with blob body assert_unreached: unexpected rejection: assert_equals: Service Worker should respond to fetch with a test string expected
[webkit-changes] [225293] trunk/Source
Title: [225293] trunk/Source Revision 225293 Author jlew...@apple.com Date 2017-11-29 13:42:00 -0800 (Wed, 29 Nov 2017) Log Message Unreviewed, rolling out r225286. The source files within this patch have been marked as executable. Reverted changeset: "[MIPS][JSC] Implement MacroAssembler::probe support on MIPS" https://bugs.webkit.org/show_bug.cgi?id=175447 https://trac.webkit.org/changeset/225286 Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/Sources.txt trunk/Source/_javascript_Core/assembler/MIPSAssembler.h trunk/Source/_javascript_Core/assembler/ProbeContext.cpp trunk/Source/_javascript_Core/assembler/ProbeContext.h trunk/Source/_javascript_Core/assembler/testmasm.cpp trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/Platform.h Removed Paths trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.cpp Property Changed trunk/Source/_javascript_Core/Sources.txt trunk/Source/_javascript_Core/assembler/MIPSAssembler.h trunk/Source/_javascript_Core/assembler/ProbeContext.cpp trunk/Source/_javascript_Core/assembler/ProbeContext.h trunk/Source/_javascript_Core/assembler/testmasm.cpp trunk/Source/WTF/wtf/Platform.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (225292 => 225293) --- trunk/Source/_javascript_Core/ChangeLog 2017-11-29 21:41:59 UTC (rev 225292) +++ trunk/Source/_javascript_Core/ChangeLog 2017-11-29 21:42:00 UTC (rev 225293) @@ -1,3 +1,16 @@ +2017-11-29 Matt Lewis+ +Unreviewed, rolling out r225286. + +The source files within this patch have been marked as +executable. + +Reverted changeset: + +"[MIPS][JSC] Implement MacroAssembler::probe support on MIPS" +https://bugs.webkit.org/show_bug.cgi?id=175447 +https://trac.webkit.org/changeset/225286 + 2017-11-29 Alex Christensen Fix Mac CMake build. Modified: trunk/Source/_javascript_Core/Sources.txt (225292 => 225293) --- trunk/Source/_javascript_Core/Sources.txt 2017-11-29 21:41:59 UTC (rev 225292) +++ trunk/Source/_javascript_Core/Sources.txt 2017-11-29 21:42:00 UTC (rev 225293) @@ -47,7 +47,6 @@ assembler/MacroAssemblerARM64.cpp assembler/MacroAssemblerARMv7.cpp assembler/MacroAssemblerCodeRef.cpp -assembler/MacroAssemblerMIPS.cpp assembler/MacroAssemblerPrinter.cpp assembler/MacroAssemblerX86Common.cpp assembler/Printer.cpp Property changes on: trunk/Source/_javascript_Core/Sources.txt ___ Deleted: svn:executable -* \ No newline at end of property Modified: trunk/Source/_javascript_Core/assembler/MIPSAssembler.h (225292 => 225293) --- trunk/Source/_javascript_Core/assembler/MIPSAssembler.h 2017-11-29 21:41:59 UTC (rev 225292) +++ trunk/Source/_javascript_Core/assembler/MIPSAssembler.h 2017-11-29 21:42:00 UTC (rev 225293) @@ -113,8 +113,7 @@ fccr = 25, fexr = 26, fenr = 28, -fcsr = 31, -pc +fcsr = 31 } SPRegisterID; typedef enum { @@ -166,8 +165,8 @@ static constexpr unsigned numberOfRegisters() { return lastRegister() - firstRegister() + 1; } static constexpr SPRegisterID firstSPRegister() { return MIPSRegisters::fir; } -static constexpr SPRegisterID lastSPRegister() { return MIPSRegisters::pc; } -static constexpr unsigned numberOfSPRegisters() { return lastSPRegister() - firstSPRegister() + 1; } +static constexpr SPRegisterID lastSPRegister() { return MIPSRegisters::fcsr; } +static constexpr unsigned numberOfSPRegisters() { return 5; } static constexpr FPRegisterID firstFPRegister() { return MIPSRegisters::f0; } static constexpr FPRegisterID lastFPRegister() { return MIPSRegisters::f31; } @@ -198,8 +197,6 @@ return "fenr"; case MIPSRegisters::fcsr: return "fcsr"; -case MIPSRegisters::pc: -return "pc"; default: RELEASE_ASSERT_NOT_REACHED(); } Property changes on: trunk/Source/_javascript_Core/assembler/MIPSAssembler.h ___ Deleted: svn:executable -* \ No newline at end of property Deleted: trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.cpp (225292 => 225293) --- trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.cpp 2017-11-29 21:41:59 UTC (rev 225292) +++ trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.cpp 2017-11-29 21:42:00 UTC (rev 225293) @@ -1,577 +0,0 @@ -/* - * Copyright (C) 2013-2017 Apple Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - *notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - *notice, this list of conditions and
[webkit-changes] [225292] trunk/Source/WebKit
Title: [225292] trunk/Source/WebKit Revision 225292 Author achristen...@apple.com Date 2017-11-29 13:41:59 -0800 (Wed, 29 Nov 2017) Log Message Make WebFrameLoaderClient more robust against null pointer dereferencing https://bugs.webkit.org/show_bug.cgi?id=180157 Reviewed by Tim Horton. There has always been rare null pointer crashes in this code, but they have become more common now that we are waiting for completion handlers for redirects, which makes it more likely that we are hitting this code after we have detached from the core frame. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::page const): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp Diff Modified: trunk/Source/WebKit/ChangeLog (225291 => 225292) --- trunk/Source/WebKit/ChangeLog 2017-11-29 21:39:56 UTC (rev 225291) +++ trunk/Source/WebKit/ChangeLog 2017-11-29 21:41:59 UTC (rev 225292) @@ -1,5 +1,24 @@ 2017-11-29 Alex Christensen+Make WebFrameLoaderClient more robust against null pointer dereferencing +https://bugs.webkit.org/show_bug.cgi?id=180157 + + +Reviewed by Tim Horton. + +There has always been rare null pointer crashes in this code, but they have become more common +now that we are waiting for completion handlers for redirects, which makes it more likely that +we are hitting this code after we have detached from the core frame. + +* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: +(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): +(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): +(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): +* WebProcess/WebPage/WebFrame.cpp: +(WebKit::WebFrame::page const): + +2017-11-29 Alex Christensen + Fix Mac CMake build. * PlatformMac.cmake: Modified: trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (225291 => 225292) --- trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp 2017-11-29 21:39:56 UTC (rev 225291) +++ trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp 2017-11-29 21:41:59 UTC (rev 225292) @@ -692,7 +692,7 @@ void WebFrameLoaderClient::dispatchDecidePolicyForResponse(const ResourceResponse& response, const ResourceRequest& request, FramePolicyFunction&& function) { -WebPage* webPage = m_frame->page(); +WebPage* webPage = m_frame ? m_frame->page() : nullptr; if (!webPage) { function(PolicyAction::Ignore); return; @@ -721,6 +721,8 @@ Ref protect(*m_frame); WebCore::Frame* coreFrame = m_frame->coreFrame(); +if (!coreFrame) +return function(PolicyAction::Ignore); auto navigationID = static_cast (*coreFrame->loader().provisionalDocumentLoader()).navigationID(); if (!webPage->sendSync(Messages::WebPageProxy::DecidePolicyForResponseSync(m_frame->frameID(), SecurityOriginData::fromFrame(coreFrame), navigationID, response, request, canShowMIMEType, listenerID, UserData(WebProcess::singleton().transformObjectsToHandles(userData.get()).get())), Messages::WebPageProxy::DecidePolicyForResponseSync::Reply(receivedPolicyAction, policyAction, downloadID), Seconds::infinity(), IPC::SendSyncOption::InformPlatformProcessWillSuspend)) { m_frame->didReceivePolicyDecision(listenerID, PolicyAction::Ignore, 0, { }, { }); @@ -734,7 +736,7 @@ void WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction(const NavigationAction& navigationAction, const ResourceRequest& request, FormState* formState, const String& frameName, FramePolicyFunction&& function) { -WebPage* webPage = m_frame->page(); +WebPage* webPage = m_frame ? m_frame->page() : nullptr; if (!webPage) { function(PolicyAction::Ignore); return; @@ -821,7 +823,7 @@ void WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction(const NavigationAction& navigationAction, const ResourceRequest& request, bool didReceiveRedirectResponse, FormState* formState, FramePolicyFunction&& function) { -WebPage* webPage = m_frame->page(); +WebPage* webPage = m_frame ? m_frame->page() : nullptr; if (!webPage) { function(PolicyAction::Ignore); return; @@ -835,10 +837,10 @@ RefPtr userData; -RefPtr action = "" navigationAction, formState); +Ref action = "" navigationAction, formState); // Notify the bundle client. -WKBundlePagePolicyAction policy =
[webkit-changes] [225291] trunk/Source/WebCore
Title: [225291] trunk/Source/WebCore Revision 225291 Author commit-qu...@webkit.org Date 2017-11-29 13:39:56 -0800 (Wed, 29 Nov 2017) Log Message Flaky crash in WebCore::DOMGuardedObject::clear() during service worker tests https://bugs.webkit.org/show_bug.cgi?id=180045 Patch by Youenn Fableton 2017-11-29 Reviewed by Chris Dumez. Manually tested by running concurrently service worker tests using FetchEvents which store promise references. Before the patch, on workers, clearing of DOMGuardedObjects happens at the time WorkerGlobalScope is destroyed. This is too late as it is expected that the JSDOMGlobalObject is still alive. This patch adds a clearDOMGuardedObjects method on JSWorkerGlobalScopeBase. It is called when stopping a WorkerThread, just before releasing the strong reference to JSWorkerGlobalScopeBase. * bindings/js/JSDOMGuardedObject.h: * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::JSWorkerGlobalScopeBase::clearDOMGuardedObjects): * bindings/js/JSWorkerGlobalScopeBase.h: * bindings/js/WorkerScriptController.cpp: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/js/JSDOMGuardedObject.h trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.h trunk/Source/WebCore/bindings/js/WorkerScriptController.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (225290 => 225291) --- trunk/Source/WebCore/ChangeLog 2017-11-29 21:31:07 UTC (rev 225290) +++ trunk/Source/WebCore/ChangeLog 2017-11-29 21:39:56 UTC (rev 225291) @@ -1,3 +1,25 @@ +2017-11-29 Youenn Fablet + +Flaky crash in WebCore::DOMGuardedObject::clear() during service worker tests +https://bugs.webkit.org/show_bug.cgi?id=180045 + + +Reviewed by Chris Dumez. + +Manually tested by running concurrently service worker tests using FetchEvents which store promise references. + +Before the patch, on workers, clearing of DOMGuardedObjects happens at the time WorkerGlobalScope is destroyed. +This is too late as it is expected that the JSDOMGlobalObject is still alive. + +This patch adds a clearDOMGuardedObjects method on JSWorkerGlobalScopeBase. +It is called when stopping a WorkerThread, just before releasing the strong reference to JSWorkerGlobalScopeBase. + +* bindings/js/JSDOMGuardedObject.h: +* bindings/js/JSWorkerGlobalScopeBase.cpp: +(WebCore::JSWorkerGlobalScopeBase::clearDOMGuardedObjects): +* bindings/js/JSWorkerGlobalScopeBase.h: +* bindings/js/WorkerScriptController.cpp: + 2017-11-29 Alex Christensen Fix Mac CMake build. Modified: trunk/Source/WebCore/bindings/js/JSDOMGuardedObject.h (225290 => 225291) --- trunk/Source/WebCore/bindings/js/JSDOMGuardedObject.h 2017-11-29 21:31:07 UTC (rev 225290) +++ trunk/Source/WebCore/bindings/js/JSDOMGuardedObject.h 2017-11-29 21:39:56 UTC (rev 225291) @@ -45,10 +45,11 @@ JSC::JSValue guardedObject() const { return m_guarded.get(); } JSDOMGlobalObject* globalObject() const { return m_globalObject.get(); } +void clear(); + protected: DOMGuardedObject(JSDOMGlobalObject&, JSC::JSCell&); -void clear(); void contextDestroyed() override; bool isEmpty() { return !m_guarded; } Modified: trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp (225290 => 225291) --- trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp 2017-11-29 21:31:07 UTC (rev 225290) +++ trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp 2017-11-29 21:39:56 UTC (rev 225291) @@ -79,6 +79,13 @@ ASSERT(inherits(vm, info())); } +void JSWorkerGlobalScopeBase::clearDOMGuardedObjects() +{ +auto guardedObjects = m_guardedObjects; +for (auto& guarded : guardedObjects) +guarded->clear(); +} + void JSWorkerGlobalScopeBase::visitChildren(JSCell* cell, SlotVisitor& visitor) { JSWorkerGlobalScopeBase* thisObject = jsCast (cell); Modified: trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.h (225290 => 225291) --- trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.h 2017-11-29 21:31:07 UTC (rev 225290) +++ trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.h 2017-11-29 21:39:56 UTC (rev 225291) @@ -67,6 +67,8 @@ static JSC::RuntimeFlags _javascript_RuntimeFlags(const JSC::JSGlobalObject*); static void queueTaskToEventLoop(JSC::JSGlobalObject&, Ref&&); +void clearDOMGuardedObjects(); + protected: JSWorkerGlobalScopeBase(JSC::VM&, JSC::Structure*, RefPtr&&); void finishCreation(JSC::VM&, JSC::JSProxy*); Modified: trunk/Source/WebCore/bindings/js/WorkerScriptController.cpp (225290 => 225291) --- trunk/Source/WebCore/bindings/js/WorkerScriptController.cpp 2017-11-29 21:31:07 UTC (rev 225290) +++ trunk/Source/WebCore/bindings/js/WorkerScriptController.cpp 2017-11-29 21:39:56 UTC (rev
[webkit-changes] [225290] trunk
Title: [225290] trunk Revision 225290 Author achristen...@apple.com Date 2017-11-29 13:31:07 -0800 (Wed, 29 Nov 2017) Log Message Fix Mac CMake build. .: * Source/cmake/OptionsMac.cmake: Source/_javascript_Core: * PlatformMac.cmake: Source/WebCore: * PlatformMac.cmake: Source/WebCore/PAL: * pal/PlatformMac.cmake: Source/WebKit: * PlatformMac.cmake: Modified Paths trunk/ChangeLog trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/PlatformMac.cmake trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/PAL/ChangeLog trunk/Source/WebCore/PAL/pal/PlatformMac.cmake trunk/Source/WebCore/PlatformMac.cmake trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/PlatformMac.cmake trunk/Source/cmake/OptionsMac.cmake Diff Modified: trunk/ChangeLog (225289 => 225290) --- trunk/ChangeLog 2017-11-29 21:11:04 UTC (rev 225289) +++ trunk/ChangeLog 2017-11-29 21:31:07 UTC (rev 225290) @@ -1,3 +1,9 @@ +2017-11-29 Alex Christensen+ +Fix Mac CMake build. + +* Source/cmake/OptionsMac.cmake: + 2017-11-28 Michael Catanzaro REGRESSION(r225098): [WPE] Some features have changed of value (70 new failures) Modified: trunk/Source/_javascript_Core/ChangeLog (225289 => 225290) --- trunk/Source/_javascript_Core/ChangeLog 2017-11-29 21:11:04 UTC (rev 225289) +++ trunk/Source/_javascript_Core/ChangeLog 2017-11-29 21:31:07 UTC (rev 225290) @@ -1,3 +1,9 @@ +2017-11-29 Alex Christensen + +Fix Mac CMake build. + +* PlatformMac.cmake: + 2017-11-29 Stanislav Ocovaj [MIPS][JSC] Implement MacroAssembler::probe support on MIPS Modified: trunk/Source/_javascript_Core/PlatformMac.cmake (225289 => 225290) --- trunk/Source/_javascript_Core/PlatformMac.cmake 2017-11-29 21:11:04 UTC (rev 225289) +++ trunk/Source/_javascript_Core/PlatformMac.cmake 2017-11-29 21:31:07 UTC (rev 225290) @@ -12,6 +12,7 @@ list(APPEND _javascript_Core_INCLUDE_DIRECTORIES ${_javascript_CORE_DIR}/disassembler/udis86 ${_javascript_CORE_DIR}/icu +${_javascript_CORE_DIR}/inspector/cocoa ${_javascript_CORE_DIR}/inspector/remote/cocoa ) Modified: trunk/Source/WebCore/ChangeLog (225289 => 225290) --- trunk/Source/WebCore/ChangeLog 2017-11-29 21:11:04 UTC (rev 225289) +++ trunk/Source/WebCore/ChangeLog 2017-11-29 21:31:07 UTC (rev 225290) @@ -1,3 +1,9 @@ +2017-11-29 Alex Christensen + +Fix Mac CMake build. + +* PlatformMac.cmake: + 2017-11-29 Simon Fraser REGRESSION (r213590): Scrolling to anchors broken in web views when content loaded via HTML string Modified: trunk/Source/WebCore/PAL/ChangeLog (225289 => 225290) --- trunk/Source/WebCore/PAL/ChangeLog 2017-11-29 21:11:04 UTC (rev 225289) +++ trunk/Source/WebCore/PAL/ChangeLog 2017-11-29 21:31:07 UTC (rev 225290) @@ -1,3 +1,9 @@ +2017-11-29 Alex Christensen + +Fix Mac CMake build. + +* pal/PlatformMac.cmake: + 2017-11-28 Brent Fulgham Adopt updated NSKeyed[Un]Archiver API when available Modified: trunk/Source/WebCore/PAL/pal/PlatformMac.cmake (225289 => 225290) --- trunk/Source/WebCore/PAL/pal/PlatformMac.cmake 2017-11-29 21:11:04 UTC (rev 225289) +++ trunk/Source/WebCore/PAL/pal/PlatformMac.cmake 2017-11-29 21:31:07 UTC (rev 225290) @@ -3,6 +3,7 @@ cf/CoreMediaSoftLink.cpp +cocoa/FileSizeFormatterCocoa.mm cocoa/LoggingCocoa.mm crypto/commoncrypto/CryptoDigestCommonCrypto.cpp @@ -22,5 +23,6 @@ list(APPEND PAL_PRIVATE_INCLUDE_DIRECTORIES "${PAL_DIR}/pal/cf" "${PAL_DIR}/pal/spi/cf" +"${PAL_DIR}/pal/spi/cocoa" "${PAL_DIR}/pal/spi/mac" ) Modified: trunk/Source/WebCore/PlatformMac.cmake (225289 => 225290) --- trunk/Source/WebCore/PlatformMac.cmake 2017-11-29 21:11:04 UTC (rev 225289) +++ trunk/Source/WebCore/PlatformMac.cmake 2017-11-29 21:31:07 UTC (rev 225290) @@ -90,6 +90,7 @@ "${WEBCORE_DIR}/ForwardingHeaders/replay" "${WEBCORE_DIR}/ForwardingHeaders/runtime" "${WEBCORE_DIR}/ForwardingHeaders/yarr" +"${WEBCORE_DIR}/html/shadow/cocoa" "${WEBCORE_DIR}/icu" "${WEBCORE_DIR}/loader/archive/cf" "${WEBCORE_DIR}/loader/cf" @@ -293,7 +294,6 @@ platform/graphics/cg/IOSurfacePool.cpp platform/graphics/cg/ImageBufferCG.cpp platform/graphics/cg/ImageBufferDataCG.cpp -platform/graphics/cg/ImageCG.cpp platform/graphics/cg/ImageDecoderCG.cpp platform/graphics/cg/ImageSourceCGMac.mm platform/graphics/cg/IntPointCG.cpp @@ -470,6 +470,8 @@ rendering/RenderThemeCocoa.mm rendering/RenderThemeMac.mm rendering/TextAutoSizing.cpp + +xml/SoftLinkLibxslt.cpp ) # FIXME: We do not need everything from all of these directories. @@ -526,6 +528,8 @@ html/parser html/shadow +inspector/agents +
[webkit-changes] [225289] trunk/Source/WebKit
Title: [225289] trunk/Source/WebKit Revision 225289 Author cdu...@apple.com Date 2017-11-29 13:11:04 -0800 (Wed, 29 Nov 2017) Log Message StorageToWebProcessConnection & WebSWServerToContextConnection should use the same underlying IPC::Connection https://bugs.webkit.org/show_bug.cgi?id=180147 Reviewed by Brady Eidson. StorageToWebProcessConnection & WebSWServerToContextConnection should use the same underlying IPC::Connection. Otherwise, we have with 2 IPC::Connections between the StorageProcess and the ServiceWorker (aka Context) process, which makes synchronization of IPC messages difficult. * StorageProcess/StorageProcess.cpp: (WebKit::StorageProcess::createStorageToWebProcessConnection): (WebKit::StorageProcess::createServerToContextConnection): * StorageProcess/StorageProcess.h: * StorageProcess/StorageProcess.messages.in: * StorageProcess/StorageToWebProcessConnection.cpp: (WebKit::StorageToWebProcessConnection::didReceiveMessage): * UIProcess/ServiceWorkerProcessProxy.cpp: (WebKit::ServiceWorkerProcessProxy::start): * UIProcess/ServiceWorkerProcessProxy.h: * UIProcess/Storage/StorageProcessProxy.cpp: (WebKit::StorageProcessProxy::getStorageProcessConnection): (WebKit::StorageProcessProxy::didFinishLaunching): (WebKit::StorageProcessProxy::establishWorkerContextConnectionToStorageProcess): * UIProcess/Storage/StorageProcessProxy.h: * UIProcess/Storage/StorageProcessProxy.messages.in: * UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::getStorageProcessConnection): (WebKit::WebProcessPool::establishWorkerContextConnectionToStorageProcess): * UIProcess/WebProcessPool.h: * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::getStorageProcessConnection): * UIProcess/WebProcessProxy.h: (WebKit::WebProcessProxy::isServiceWorkerProcess const): * UIProcess/WebProcessProxy.messages.in: * WebProcess/Storage/WebToStorageProcessConnection.cpp: (WebKit::WebToStorageProcessConnection::didReceiveMessage): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::didReceiveMessage): (WebKit::WebProcess::establishWorkerContextConnectionToStorageProcess): * WebProcess/WebProcess.h: * WebProcess/WebProcess.messages.in: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/StorageProcess/StorageProcess.cpp trunk/Source/WebKit/StorageProcess/StorageProcess.h trunk/Source/WebKit/StorageProcess/StorageProcess.messages.in trunk/Source/WebKit/StorageProcess/StorageToWebProcessConnection.cpp trunk/Source/WebKit/UIProcess/ServiceWorkerProcessProxy.cpp trunk/Source/WebKit/UIProcess/ServiceWorkerProcessProxy.h trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.cpp trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.h trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.messages.in trunk/Source/WebKit/UIProcess/WebProcessPool.cpp trunk/Source/WebKit/UIProcess/WebProcessPool.h trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp trunk/Source/WebKit/UIProcess/WebProcessProxy.h trunk/Source/WebKit/UIProcess/WebProcessProxy.messages.in trunk/Source/WebKit/WebProcess/Storage/WebToStorageProcessConnection.cpp trunk/Source/WebKit/WebProcess/WebProcess.cpp trunk/Source/WebKit/WebProcess/WebProcess.h trunk/Source/WebKit/WebProcess/WebProcess.messages.in Diff Modified: trunk/Source/WebKit/ChangeLog (225288 => 225289) --- trunk/Source/WebKit/ChangeLog 2017-11-29 20:41:47 UTC (rev 225288) +++ trunk/Source/WebKit/ChangeLog 2017-11-29 21:11:04 UTC (rev 225289) @@ -1,5 +1,49 @@ 2017-11-29 Chris Dumez+StorageToWebProcessConnection & WebSWServerToContextConnection should use the same underlying IPC::Connection +https://bugs.webkit.org/show_bug.cgi?id=180147 + +Reviewed by Brady Eidson. + +StorageToWebProcessConnection & WebSWServerToContextConnection should use the same underlying IPC::Connection. +Otherwise, we have with 2 IPC::Connections between the StorageProcess and the ServiceWorker (aka Context) process, +which makes synchronization of IPC messages difficult. + +* StorageProcess/StorageProcess.cpp: +(WebKit::StorageProcess::createStorageToWebProcessConnection): +(WebKit::StorageProcess::createServerToContextConnection): +* StorageProcess/StorageProcess.h: +* StorageProcess/StorageProcess.messages.in: +* StorageProcess/StorageToWebProcessConnection.cpp: +(WebKit::StorageToWebProcessConnection::didReceiveMessage): +* UIProcess/ServiceWorkerProcessProxy.cpp: +(WebKit::ServiceWorkerProcessProxy::start): +* UIProcess/ServiceWorkerProcessProxy.h: +* UIProcess/Storage/StorageProcessProxy.cpp: +(WebKit::StorageProcessProxy::getStorageProcessConnection): +(WebKit::StorageProcessProxy::didFinishLaunching): +(WebKit::StorageProcessProxy::establishWorkerContextConnectionToStorageProcess): +* UIProcess/Storage/StorageProcessProxy.h: +* UIProcess/Storage/StorageProcessProxy.messages.in: +*
[webkit-changes] [225288] trunk
Title: [225288] trunk Revision 225288 Author simon.fra...@apple.com Date 2017-11-29 12:41:47 -0800 (Wed, 29 Nov 2017) Log Message REGRESSION (r213590): Scrolling to anchors broken in web views when content loaded via HTML string https://bugs.webkit.org/show_bug.cgi?id=180155 rdar://problem/34220827 Reviewed by Zalan Bujtas. Source/WebCore: When content is loaded in a UIWebView or WKWebView via an HTML string, history().currentItem() is null so itemAllowsScrollRestoration() would return false, preventing scrolling to anchors. Fix by allowing scroll restoration if the the history item is null. Tested by WebKit.NoHistoryItemScrollToFragment API test. * loader/FrameLoader.cpp: (WebCore::itemAllowsScrollRestoration): Tools: API test that loads a page with a relative anchor, and simulates a click to scroll to it. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/MediaStreamTrackDetached.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/NoHistoryItemScrollToFragment.mm: Added. (-[DidScrollToFragmentDelegate _webViewDidScroll:]): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/scroll-to-anchor.html: Added. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/loader/FrameLoader.cpp trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj trunk/Tools/TestWebKitAPI/Tests/WebKit/MediaStreamTrackDetached.mm Added Paths trunk/Tools/TestWebKitAPI/Tests/WebKit/NoHistoryItemScrollToFragment.mm trunk/Tools/TestWebKitAPI/Tests/WebKit/scroll-to-anchor.html Diff Modified: trunk/Source/WebCore/ChangeLog (225287 => 225288) --- trunk/Source/WebCore/ChangeLog 2017-11-29 20:30:37 UTC (rev 225287) +++ trunk/Source/WebCore/ChangeLog 2017-11-29 20:41:47 UTC (rev 225288) @@ -1,3 +1,21 @@ +2017-11-29 Simon Fraser+ +REGRESSION (r213590): Scrolling to anchors broken in web views when content loaded via HTML string +https://bugs.webkit.org/show_bug.cgi?id=180155 +rdar://problem/34220827 + +Reviewed by Zalan Bujtas. + +When content is loaded in a UIWebView or WKWebView via an HTML string, history().currentItem() +is null so itemAllowsScrollRestoration() would return false, preventing scrolling to anchors. + +Fix by allowing scroll restoration if the the history item is null. + +Tested by WebKit.NoHistoryItemScrollToFragment API test. + +* loader/FrameLoader.cpp: +(WebCore::itemAllowsScrollRestoration): + 2017-11-29 Chris Dumez Introduce ServiceWorkerContainer::ensureSWClientConnection() Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (225287 => 225288) --- trunk/Source/WebCore/loader/FrameLoader.cpp 2017-11-29 20:30:37 UTC (rev 225287) +++ trunk/Source/WebCore/loader/FrameLoader.cpp 2017-11-29 20:41:47 UTC (rev 225288) @@ -2889,7 +2889,7 @@ static bool itemAllowsScrollRestoration(HistoryItem* historyItem) { -return historyItem && historyItem->shouldRestoreScrollPosition(); +return !historyItem || historyItem->shouldRestoreScrollPosition(); } static bool isSameDocumentReload(bool isNewNavigation, FrameLoadType loadType) Modified: trunk/Tools/ChangeLog (225287 => 225288) --- trunk/Tools/ChangeLog 2017-11-29 20:30:37 UTC (rev 225287) +++ trunk/Tools/ChangeLog 2017-11-29 20:41:47 UTC (rev 225288) @@ -1,3 +1,21 @@ +2017-11-29 Simon Fraser + +REGRESSION (r213590): Scrolling to anchors broken in web views when content loaded via HTML string +https://bugs.webkit.org/show_bug.cgi?id=180155 +rdar://problem/34220827 + +Reviewed by Zalan Bujtas. + +API test that loads a page with a relative anchor, and simulates a click to scroll to it. + +* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: +* TestWebKitAPI/Tests/WebKit/MediaStreamTrackDetached.mm: +(TestWebKitAPI::TEST): +* TestWebKitAPI/Tests/WebKit/NoHistoryItemScrollToFragment.mm: Added. +(-[DidScrollToFragmentDelegate _webViewDidScroll:]): +(TestWebKitAPI::TEST): +* TestWebKitAPI/Tests/WebKit/scroll-to-anchor.html: Added. + 2017-11-29 Ryan Haddad webkitpy EWS should be present on the dashboard. Modified: trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj (225287 => 225288) --- trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj 2017-11-29 20:30:37 UTC (rev 225287) +++ trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj 2017-11-29 20:41:47 UTC (rev 225288) @@ -37,6 +37,8 @@ 0F2C20B81DCD545000542D9E /* Time.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F2C20B71DCD544800542D9E /* Time.cpp */; }; 0F3B94A71A77267400DE3272 /* WKWebViewEvaluateJavaScript.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0F3B94A51A77266C00DE3272 /* WKWebViewEvaluateJavaScript.mm */; };
[webkit-changes] [225287] trunk/Tools
Title: [225287] trunk/Tools Revision 225287 Author ryanhad...@apple.com Date 2017-11-29 12:30:37 -0800 (Wed, 29 Nov 2017) Log Message webkitpy EWS should be present on the dashboard. https://bugs.webkit.org/show_bug.cgi?id=179801 Reviewed by Aakash Jain. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js: (BubbleQueueServer): Add Webkitpy EWS. Modified Paths trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js trunk/Tools/ChangeLog Diff Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js (225286 => 225287) --- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js 2017-11-29 20:12:32 UTC (rev 225286) +++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js 2017-11-29 20:30:37 UTC (rev 225287) @@ -32,6 +32,7 @@ "ios-ews": {platform: Dashboard.Platform.iOS11Device, shortName: "ios", title: "Release\xa0Build\xa0EWS"}, "ios-sim-ews": {platform: Dashboard.Platform.iOS11Simulator, shortName: "ios-sim", title: "WebKit2\xa0Release\xa0Tests\xa0EWS"}, "bindings-ews": {platform: Dashboard.Platform.MacOSXElCapitan, shortName: "bindings", title: "Bindings\xa0EWS"}, +"webkitpy-ews": {platform: Dashboard.Platform.MacOSXElCapitan, shortName: "webkitpy", title: "Webkitpy\xa0EWS"}, "jsc-ews": {platform: Dashboard.Platform.MacOSXElCapitan, shortName: "jsc", title: "Release\xa0JSC\xa0Tests\xa0EWS"}, "mac-ews": {platform: Dashboard.Platform.MacOSXElCapitan, shortName: "mac", title: "WebKit1\xa0Release\xa0Tests\xa0EWS"}, "mac-wk2-ews": {platform: Dashboard.Platform.MacOSXElCapitan, shortName: "mac-wk2", title: "WebKit2\xa0Release\xa0Tests\xa0EWS"}, Modified: trunk/Tools/ChangeLog (225286 => 225287) --- trunk/Tools/ChangeLog 2017-11-29 20:12:32 UTC (rev 225286) +++ trunk/Tools/ChangeLog 2017-11-29 20:30:37 UTC (rev 225287) @@ -1,3 +1,13 @@ +2017-11-29 Ryan Haddad+ +webkitpy EWS should be present on the dashboard. +https://bugs.webkit.org/show_bug.cgi?id=179801 + +Reviewed by Aakash Jain. + +* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js: +(BubbleQueueServer): Add Webkitpy EWS. + 2017-11-29 Simon Fraser Viewport unit values affected by Comand-+ zoom ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225286] trunk/Source
Title: [225286] trunk/Source Revision 225286 Author commit-qu...@webkit.org Date 2017-11-29 12:12:32 -0800 (Wed, 29 Nov 2017) Log Message Source/_javascript_Core: [MIPS][JSC] Implement MacroAssembler::probe support on MIPS https://bugs.webkit.org/show_bug.cgi?id=175447 Patch by Stanislav Ocovajon 2017-11-29 Reviewed by Carlos Alberto Lopez Perez. This patch allows DFG JIT to be enabled on MIPS platforms. * Sources.txt: * assembler/MIPSAssembler.h: (JSC::MIPSAssembler::lastSPRegister): (JSC::MIPSAssembler::numberOfSPRegisters): (JSC::MIPSAssembler::sprName): * assembler/MacroAssemblerMIPS.cpp: Added. (JSC::MacroAssembler::probe): * assembler/ProbeContext.cpp: (JSC::Probe::executeProbe): * assembler/ProbeContext.h: (JSC::Probe::CPUState::pc): * assembler/testmasm.cpp: (JSC::isSpecialGPR): (JSC::testProbePreservesGPRS): (JSC::testProbeModifiesStackPointer): (JSC::testProbeModifiesStackValues): Source/WTF: [DFG][MIPS] Enable DFG JIT on MIPS. https://bugs.webkit.org/show_bug.cgi?id=175447 Patch by Stanislav Ocovaj on 2017-11-29 Reviewed by Carlos Alberto Lopez Perez. * wtf/Platform.h: Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/Sources.txt trunk/Source/_javascript_Core/assembler/MIPSAssembler.h trunk/Source/_javascript_Core/assembler/ProbeContext.cpp trunk/Source/_javascript_Core/assembler/ProbeContext.h trunk/Source/_javascript_Core/assembler/testmasm.cpp trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/Platform.h Added Paths trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.cpp Property Changed trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/Sources.txt trunk/Source/_javascript_Core/assembler/MIPSAssembler.h trunk/Source/_javascript_Core/assembler/ProbeContext.cpp trunk/Source/_javascript_Core/assembler/ProbeContext.h trunk/Source/_javascript_Core/assembler/testmasm.cpp trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/Platform.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (225285 => 225286) --- trunk/Source/_javascript_Core/ChangeLog 2017-11-29 20:05:29 UTC (rev 225285) +++ trunk/Source/_javascript_Core/ChangeLog 2017-11-29 20:12:32 UTC (rev 225286) @@ -1,3 +1,29 @@ +2017-11-29 Stanislav Ocovaj + +[MIPS][JSC] Implement MacroAssembler::probe support on MIPS +https://bugs.webkit.org/show_bug.cgi?id=175447 + +Reviewed by Carlos Alberto Lopez Perez. + +This patch allows DFG JIT to be enabled on MIPS platforms. + +* Sources.txt: +* assembler/MIPSAssembler.h: +(JSC::MIPSAssembler::lastSPRegister): +(JSC::MIPSAssembler::numberOfSPRegisters): +(JSC::MIPSAssembler::sprName): +* assembler/MacroAssemblerMIPS.cpp: Added. +(JSC::MacroAssembler::probe): +* assembler/ProbeContext.cpp: +(JSC::Probe::executeProbe): +* assembler/ProbeContext.h: +(JSC::Probe::CPUState::pc): +* assembler/testmasm.cpp: +(JSC::isSpecialGPR): +(JSC::testProbePreservesGPRS): +(JSC::testProbeModifiesStackPointer): +(JSC::testProbeModifiesStackValues): + 2017-11-28 JF Bastien Strict and sloppy functions shouldn't share structure Property changes on: trunk/Source/_javascript_Core/ChangeLog ___ Added: svn:executable +* \ No newline at end of property Modified: trunk/Source/_javascript_Core/Sources.txt (225285 => 225286) --- trunk/Source/_javascript_Core/Sources.txt 2017-11-29 20:05:29 UTC (rev 225285) +++ trunk/Source/_javascript_Core/Sources.txt 2017-11-29 20:12:32 UTC (rev 225286) @@ -47,6 +47,7 @@ assembler/MacroAssemblerARM64.cpp assembler/MacroAssemblerARMv7.cpp assembler/MacroAssemblerCodeRef.cpp +assembler/MacroAssemblerMIPS.cpp assembler/MacroAssemblerPrinter.cpp assembler/MacroAssemblerX86Common.cpp assembler/Printer.cpp Property changes on: trunk/Source/_javascript_Core/Sources.txt ___ Added: svn:executable +* \ No newline at end of property Modified: trunk/Source/_javascript_Core/assembler/MIPSAssembler.h (225285 => 225286) --- trunk/Source/_javascript_Core/assembler/MIPSAssembler.h 2017-11-29 20:05:29 UTC (rev 225285) +++ trunk/Source/_javascript_Core/assembler/MIPSAssembler.h 2017-11-29 20:12:32 UTC (rev 225286) @@ -113,7 +113,8 @@ fccr = 25, fexr = 26, fenr = 28, -fcsr = 31 +fcsr = 31, +pc } SPRegisterID; typedef enum { @@ -165,8 +166,8 @@ static constexpr unsigned numberOfRegisters() { return lastRegister() - firstRegister() + 1; } static constexpr SPRegisterID firstSPRegister() { return MIPSRegisters::fir; } -static constexpr SPRegisterID lastSPRegister() { return MIPSRegisters::fcsr; } -static constexpr unsigned numberOfSPRegisters() { return 5; } +
[webkit-changes] [225285] tags/Safari-605.1.14.2/Source
Title: [225285] tags/Safari-605.1.14.2/Source Revision 225285 Author jmarc...@apple.com Date 2017-11-29 12:05:29 -0800 (Wed, 29 Nov 2017) Log Message Versioning. Modified Paths tags/Safari-605.1.14.2/Source/_javascript_Core/Configurations/Version.xcconfig tags/Safari-605.1.14.2/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig tags/Safari-605.1.14.2/Source/WebCore/Configurations/Version.xcconfig tags/Safari-605.1.14.2/Source/WebCore/PAL/Configurations/Version.xcconfig tags/Safari-605.1.14.2/Source/WebInspectorUI/Configurations/Version.xcconfig tags/Safari-605.1.14.2/Source/WebKit/Configurations/Version.xcconfig tags/Safari-605.1.14.2/Source/WebKitLegacy/mac/Configurations/Version.xcconfig Diff Modified: tags/Safari-605.1.14.2/Source/_javascript_Core/Configurations/Version.xcconfig (225284 => 225285) --- tags/Safari-605.1.14.2/Source/_javascript_Core/Configurations/Version.xcconfig 2017-11-29 20:02:43 UTC (rev 225284) +++ tags/Safari-605.1.14.2/Source/_javascript_Core/Configurations/Version.xcconfig 2017-11-29 20:05:29 UTC (rev 225285) @@ -24,7 +24,7 @@ MAJOR_VERSION = 605; MINOR_VERSION = 1; TINY_VERSION = 14; -MICRO_VERSION = 1; +MICRO_VERSION = 2; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: tags/Safari-605.1.14.2/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (225284 => 225285) --- tags/Safari-605.1.14.2/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2017-11-29 20:02:43 UTC (rev 225284) +++ tags/Safari-605.1.14.2/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2017-11-29 20:05:29 UTC (rev 225285) @@ -24,7 +24,7 @@ MAJOR_VERSION = 605; MINOR_VERSION = 1; TINY_VERSION = 14; -MICRO_VERSION = 1; +MICRO_VERSION = 2; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: tags/Safari-605.1.14.2/Source/WebCore/Configurations/Version.xcconfig (225284 => 225285) --- tags/Safari-605.1.14.2/Source/WebCore/Configurations/Version.xcconfig 2017-11-29 20:02:43 UTC (rev 225284) +++ tags/Safari-605.1.14.2/Source/WebCore/Configurations/Version.xcconfig 2017-11-29 20:05:29 UTC (rev 225285) @@ -24,7 +24,7 @@ MAJOR_VERSION = 605; MINOR_VERSION = 1; TINY_VERSION = 14; -MICRO_VERSION = 1; +MICRO_VERSION = 2; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: tags/Safari-605.1.14.2/Source/WebCore/PAL/Configurations/Version.xcconfig (225284 => 225285) --- tags/Safari-605.1.14.2/Source/WebCore/PAL/Configurations/Version.xcconfig 2017-11-29 20:02:43 UTC (rev 225284) +++ tags/Safari-605.1.14.2/Source/WebCore/PAL/Configurations/Version.xcconfig 2017-11-29 20:05:29 UTC (rev 225285) @@ -24,7 +24,7 @@ MAJOR_VERSION = 605; MINOR_VERSION = 1; TINY_VERSION = 14; -MICRO_VERSION = 1; +MICRO_VERSION = 2; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: tags/Safari-605.1.14.2/Source/WebInspectorUI/Configurations/Version.xcconfig (225284 => 225285) --- tags/Safari-605.1.14.2/Source/WebInspectorUI/Configurations/Version.xcconfig 2017-11-29 20:02:43 UTC (rev 225284) +++ tags/Safari-605.1.14.2/Source/WebInspectorUI/Configurations/Version.xcconfig 2017-11-29 20:05:29 UTC (rev 225285) @@ -1,7 +1,7 @@ MAJOR_VERSION = 605; MINOR_VERSION = 1; TINY_VERSION = 14; -MICRO_VERSION = 1; +MICRO_VERSION = 2; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: tags/Safari-605.1.14.2/Source/WebKit/Configurations/Version.xcconfig (225284 => 225285) --- tags/Safari-605.1.14.2/Source/WebKit/Configurations/Version.xcconfig 2017-11-29 20:02:43 UTC (rev 225284) +++ tags/Safari-605.1.14.2/Source/WebKit/Configurations/Version.xcconfig 2017-11-29 20:05:29 UTC (rev 225285) @@ -24,7 +24,7 @@ MAJOR_VERSION = 605; MINOR_VERSION = 1; TINY_VERSION = 14; -MICRO_VERSION = 1; +MICRO_VERSION = 2; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: tags/Safari-605.1.14.2/Source/WebKitLegacy/mac/Configurations/Version.xcconfig (225284 => 225285) --- tags/Safari-605.1.14.2/Source/WebKitLegacy/mac/Configurations/Version.xcconfig 2017-11-29 20:02:43 UTC (rev 225284) +++ tags/Safari-605.1.14.2/Source/WebKitLegacy/mac/Configurations/Version.xcconfig 2017-11-29 20:05:29 UTC (rev 225285) @@ -24,7 +24,7 @@ MAJOR_VERSION = 605; MINOR_VERSION = 1; TINY_VERSION = 14; -MICRO_VERSION = 1; +MICRO_VERSION = 2; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225284] tags/Safari-605.1.14.2/
Title: [225284] tags/Safari-605.1.14.2/ Revision 225284 Author jmarc...@apple.com Date 2017-11-29 12:02:43 -0800 (Wed, 29 Nov 2017) Log Message New tag. Added Paths tags/Safari-605.1.14.2/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225283] trunk/Source/WebCore
Title: [225283] trunk/Source/WebCore Revision 225283 Author cdu...@apple.com Date 2017-11-29 11:41:22 -0800 (Wed, 29 Nov 2017) Log Message Introduce ServiceWorkerContainer::ensureSWClientConnection() https://bugs.webkit.org/show_bug.cgi?id=180146 Reviewed by Youenn Fablet. Introduce ServiceWorkerContainer::ensureSWClientConnection() to reduce code duplication. Also use callOnMainThread() in preparation for this getting called from a service worker thread (now that ServiceWorkerContainer is exposed to service workers). This is needed because constructing the SWClientConnection initializes the IPC connection from the WebProcess to the StorageProcess, which involves a synchronous IPC with the UIProcess. Doing a synchronous IPC from a background thread is unsupported. * workers/service/ServiceWorkerContainer.cpp: (WebCore::ServiceWorkerContainer::addRegistration): (WebCore::ServiceWorkerContainer::getRegistration): (WebCore::ServiceWorkerContainer::getRegistrations): (WebCore::ServiceWorkerContainer::ensureSWClientConnection): * workers/service/ServiceWorkerContainer.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/workers/service/ServiceWorkerContainer.cpp trunk/Source/WebCore/workers/service/ServiceWorkerContainer.h Diff Modified: trunk/Source/WebCore/ChangeLog (225282 => 225283) --- trunk/Source/WebCore/ChangeLog 2017-11-29 19:40:12 UTC (rev 225282) +++ trunk/Source/WebCore/ChangeLog 2017-11-29 19:41:22 UTC (rev 225283) @@ -1,3 +1,25 @@ +2017-11-29 Chris Dumez+ +Introduce ServiceWorkerContainer::ensureSWClientConnection() +https://bugs.webkit.org/show_bug.cgi?id=180146 + +Reviewed by Youenn Fablet. + +Introduce ServiceWorkerContainer::ensureSWClientConnection() to reduce +code duplication. Also use callOnMainThread() in preparation for this +getting called from a service worker thread (now that ServiceWorkerContainer +is exposed to service workers). This is needed because constructing the +SWClientConnection initializes the IPC connection from the WebProcess to +the StorageProcess, which involves a synchronous IPC with the UIProcess. +Doing a synchronous IPC from a background thread is unsupported. + +* workers/service/ServiceWorkerContainer.cpp: +(WebCore::ServiceWorkerContainer::addRegistration): +(WebCore::ServiceWorkerContainer::getRegistration): +(WebCore::ServiceWorkerContainer::getRegistrations): +(WebCore::ServiceWorkerContainer::ensureSWClientConnection): +* workers/service/ServiceWorkerContainer.h: + 2017-11-29 Antoine Quint [iOS] Media controls should stop updating while media is playing in fullscreen Modified: trunk/Source/WebCore/workers/service/ServiceWorkerContainer.cpp (225282 => 225283) --- trunk/Source/WebCore/workers/service/ServiceWorkerContainer.cpp 2017-11-29 19:40:12 UTC (rev 225282) +++ trunk/Source/WebCore/workers/service/ServiceWorkerContainer.cpp 2017-11-29 19:41:22 UTC (rev 225283) @@ -102,11 +102,8 @@ return; } -if (!m_swConnection) -m_swConnection = ::singleton().serviceWorkerConnectionForSession(scriptExecutionContext()->sessionID()); +ServiceWorkerJobData jobData(ensureSWClientConnection().serverConnectionIdentifier()); -ServiceWorkerJobData jobData(m_swConnection->serverConnectionIdentifier()); - jobData.scriptURL = context->completeURL(relativeScriptURL); if (!jobData.scriptURL.isValid()) { promise->reject(Exception { TypeError, ASCIILiteral("serviceWorker.register() must be called with a valid relative script URL") }); @@ -231,10 +228,7 @@ return; } -if (!m_swConnection) -m_swConnection = ::singleton().serviceWorkerConnectionForSession(context->sessionID()); - -return m_swConnection->matchRegistration(context->topOrigin(), parsedURL, [promise = WTFMove(promise), protectingThis = makePendingActivity(*this), this] (auto&& result) mutable { +return ensureSWClientConnection().matchRegistration(context->topOrigin(), parsedURL, [promise = WTFMove(promise), protectingThis = makePendingActivity(*this), this] (auto&& result) mutable { if (m_isStopped) return; @@ -278,10 +272,7 @@ return; } -if (!m_swConnection) -m_swConnection = ::singleton().serviceWorkerConnectionForSession(context->sessionID()); - -return m_swConnection->getRegistrations(context->topOrigin(), context->url(), [this, pendingActivity = makePendingActivity(*this), promise = WTFMove(promise)] (auto&& registrationDatas) mutable { +return ensureSWClientConnection().getRegistrations(context->topOrigin(), context->url(), [this, pendingActivity = makePendingActivity(*this), promise = WTFMove(promise)] (auto&& registrationDatas) mutable { if (m_isStopped) return; @@ -418,6 +409,17 @@ return !hasPendingActivity(); }
[webkit-changes] [225282] trunk/Source/WebKit
Title: [225282] trunk/Source/WebKit Revision 225282 Author cdu...@apple.com Date 2017-11-29 11:40:12 -0800 (Wed, 29 Nov 2017) Log Message ensure*Connection() methods on WebProcess should return a reference https://bugs.webkit.org/show_bug.cgi?id=180149 Reviewed by Alex Christensen. ensure*Connection() methods on WebProcess should return a reference instead of not returning anything. Also get rid of the non-ensure variants which called "ensure" internally and are no longer needed. * Shared/mac/CookieStorageShim.mm: (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL): * WebProcess/Cache/WebCacheStorageConnection.cpp: (WebKit::WebCacheStorageConnection::connection): * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp: (WebKit::WebIDBConnectionToServer::messageSenderConnection): (WebKit::preregisterSandboxExtensionsIfNecessary): * WebProcess/Databases/WebDatabaseProvider.cpp: (WebKit::WebDatabaseProvider::idbConnectionToServerForSession): * WebProcess/FileAPI/BlobRegistryProxy.cpp: (WebKit::BlobRegistryProxy::registerFileBlobURL): (WebKit::BlobRegistryProxy::registerBlobURL): (WebKit::BlobRegistryProxy::registerBlobURLOptionallyFileBacked): (WebKit::BlobRegistryProxy::unregisterBlobURL): (WebKit::BlobRegistryProxy::registerBlobURLForSlice): (WebKit::BlobRegistryProxy::blobSize): (WebKit::BlobRegistryProxy::writeBlobsToTemporaryFiles): * WebProcess/Network/NetworkProcessConnection.cpp: (WebKit::NetworkProcessConnection::writeBlobsToTemporaryFiles): * WebProcess/Network/WebLoaderStrategy.cpp: (WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess): (WebKit::WebLoaderStrategy::remove): (WebKit::WebLoaderStrategy::setDefersLoading): (WebKit::WebLoaderStrategy::loadResourceSynchronously): (WebKit::WebLoaderStrategy::startPingLoad): (WebKit::WebLoaderStrategy::preconnectTo): (WebKit::WebLoaderStrategy::storeDerivedDataToCache): (WebKit::WebLoaderStrategy::setCaptureExtraNetworkLoadMetricsEnabled): * WebProcess/Network/WebResourceLoader.cpp: (WebKit::WebResourceLoader::messageSenderConnection): * WebProcess/Network/WebSocketStream.cpp: (WebKit::WebSocketStream::WebSocketStream): (WebKit::WebSocketStream::messageSenderConnection): * WebProcess/Network/webrtc/LibWebRTCResolver.cpp: (WebKit::sendOnMainThread): * WebProcess/Network/webrtc/LibWebRTCSocket.cpp: (WebKit::sendOnMainThread): * WebProcess/Network/webrtc/LibWebRTCSocketFactory.cpp: (WebKit::LibWebRTCSocketFactory::CreateServerTcpSocket): (WebKit::LibWebRTCSocketFactory::CreateUdpSocket): (WebKit::LibWebRTCSocketFactory::CreateClientTcpSocket): (WebKit::LibWebRTCSocketFactory::createNewConnectionSocket): * WebProcess/Network/webrtc/WebRTCMonitor.cpp: (WebKit::sendOnMainThread): * WebProcess/Storage/WebServiceWorkerProvider.cpp: (WebKit::WebServiceWorkerProvider::serviceWorkerConnectionForSession): (WebKit::WebServiceWorkerProvider::handleFetch): * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: (WebKit::WebPlatformStrategies::cookiesForDOM): (WebKit::WebPlatformStrategies::setCookiesFromDOM): (WebKit::WebPlatformStrategies::cookiesEnabled): (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue): (WebKit::WebPlatformStrategies::getRawCookies): (WebKit::WebPlatformStrategies::deleteCookie): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::startDownload): (WebKit::WebFrame::convertMainResourceLoadToDownload): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::ensureLegacyPrivateBrowsingSessionInNetworkProcess): (WebKit::WebProcess::ensureNetworkProcessConnection): (WebKit::WebProcess::ensureWebToStorageProcessConnection): (WebKit::WebProcess::prefetchDNS): * WebProcess/WebProcess.h: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Shared/mac/CookieStorageShim.mm trunk/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.cpp trunk/Source/WebKit/WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp trunk/Source/WebKit/WebProcess/Databases/WebDatabaseProvider.cpp trunk/Source/WebKit/WebProcess/FileAPI/BlobRegistryProxy.cpp trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp trunk/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp trunk/Source/WebKit/WebProcess/Network/WebSocketStream.cpp trunk/Source/WebKit/WebProcess/Network/webrtc/LibWebRTCResolver.cpp trunk/Source/WebKit/WebProcess/Network/webrtc/LibWebRTCSocket.cpp trunk/Source/WebKit/WebProcess/Network/webrtc/LibWebRTCSocketFactory.cpp trunk/Source/WebKit/WebProcess/Network/webrtc/WebRTCMonitor.cpp trunk/Source/WebKit/WebProcess/Storage/WebServiceWorkerProvider.cpp trunk/Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp trunk/Source/WebKit/WebProcess/WebProcess.cpp trunk/Source/WebKit/WebProcess/WebProcess.h Diff Modified: trunk/Source/WebKit/ChangeLog (225281 => 225282) --- trunk/Source/WebKit/ChangeLog 2017-11-29 19:22:24 UTC (rev 225281) +++ trunk/Source/WebKit/ChangeLog
[webkit-changes] [225281] trunk/LayoutTests
Title: [225281] trunk/LayoutTests Revision 225281 Author commit-qu...@webkit.org Date 2017-11-29 11:22:24 -0800 (Wed, 29 Nov 2017) Log Message [GTK] Test gardening https://bugs.webkit.org/show_bug.cgi?id=180150 Unreviewed test gardening Patch by Javier M. Mellidon 2017-11-29 * platform/gtk/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/gtk/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (225280 => 225281) --- trunk/LayoutTests/ChangeLog 2017-11-29 19:07:11 UTC (rev 225280) +++ trunk/LayoutTests/ChangeLog 2017-11-29 19:22:24 UTC (rev 225281) @@ -1,3 +1,12 @@ +2017-11-29 Javier M. Mellid + +[GTK] Test gardening +https://bugs.webkit.org/show_bug.cgi?id=180150 + +Unreviewed test gardening + +* platform/gtk/TestExpectations: + 2017-11-29 Antoine Quint [iOS] Media controls should stop updating while media is playing in fullscreen Modified: trunk/LayoutTests/platform/gtk/TestExpectations (225280 => 225281) --- trunk/LayoutTests/platform/gtk/TestExpectations 2017-11-29 19:07:11 UTC (rev 225280) +++ trunk/LayoutTests/platform/gtk/TestExpectations 2017-11-29 19:22:24 UTC (rev 225281) @@ -1202,6 +1202,9 @@ webkit.org/b/179989 fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last-inherited.html [ Failure ] webkit.org/b/179989 fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last.html [ Failure ] +webkit.org/b/180148 accessibility/alternative-presentation-button-input-type.html [ Failure ] +webkit.org/b/180148 accessibility/alternative-presentation-button.html [ Failure ] + # # End of Expected failures # ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225280] trunk/Source/WebInspectorUI
Title: [225280] trunk/Source/WebInspectorUI Revision 225280 Author joep...@webkit.org Date 2017-11-29 11:07:11 -0800 (Wed, 29 Nov 2017) Log Message Web Inspector: Console Tab navigation bar sometimes does not include filter bar, clear console sometimes does not work https://bugs.webkit.org/show_bug.cgi?id=180124 Reviewed by Brian Burg. * UserInterface/Views/LogContentView.js: (WI.LogContentView.prototype.closed): Avoid removing event listeners if this LogContentView singleton is ever closed. The singleton will always be alive so we don't want to remove the event listeners without a way to add them back. * UserInterface/Base/Main.js: (WI.showSplitConsole): * UserInterface/Views/ConsoleTabContentView.js: (WI.ConsoleTabContentView.prototype.shown): When showing the ConsoleTab immediately collapse the split console so that any following code that checks WI.isShowingSplitConsole will get the expected value. It is also now possible to share a ContentView across ContentBrowsers via tombstones, so remove the old code that would frequently close the LogContentView. Modified Paths trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/UserInterface/Base/Main.js trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleTabContentView.js trunk/Source/WebInspectorUI/UserInterface/Views/LogContentView.js Diff Modified: trunk/Source/WebInspectorUI/ChangeLog (225279 => 225280) --- trunk/Source/WebInspectorUI/ChangeLog 2017-11-29 19:05:10 UTC (rev 225279) +++ trunk/Source/WebInspectorUI/ChangeLog 2017-11-29 19:07:11 UTC (rev 225280) @@ -1,3 +1,26 @@ +2017-11-29 Joseph Pecoraro+ +Web Inspector: Console Tab navigation bar sometimes does not include filter bar, clear console sometimes does not work +https://bugs.webkit.org/show_bug.cgi?id=180124 + + +Reviewed by Brian Burg. + +* UserInterface/Views/LogContentView.js: +(WI.LogContentView.prototype.closed): +Avoid removing event listeners if this LogContentView singleton is ever closed. +The singleton will always be alive so we don't want to remove the event listeners +without a way to add them back. + +* UserInterface/Base/Main.js: +(WI.showSplitConsole): +* UserInterface/Views/ConsoleTabContentView.js: +(WI.ConsoleTabContentView.prototype.shown): +When showing the ConsoleTab immediately collapse the split console so that any +following code that checks WI.isShowingSplitConsole will get the expected value. +It is also now possible to share a ContentView across ContentBrowsers via +tombstones, so remove the old code that would frequently close the LogContentView. + 2017-11-28 Devin Rousso Web Inspector: remove extra space before call frames in Canvas backtraces Modified: trunk/Source/WebInspectorUI/UserInterface/Base/Main.js (225279 => 225280) --- trunk/Source/WebInspectorUI/UserInterface/Base/Main.js 2017-11-29 19:05:10 UTC (rev 225279) +++ trunk/Source/WebInspectorUI/UserInterface/Base/Main.js 2017-11-29 19:07:11 UTC (rev 225280) @@ -886,10 +886,6 @@ if (this.consoleDrawer.currentContentView === this.consoleContentView) return; -// Be sure to close the view in the tab content browser before showing it in the -// split content browser. We can only show a content view in one browser at a time. -if (this.consoleContentView.parentContainer) -this.consoleContentView.parentContainer.closeContentView(this.consoleContentView); this.consoleDrawer.showContentView(this.consoleContentView); }; Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleTabContentView.js (225279 => 225280) --- trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleTabContentView.js 2017-11-29 19:05:10 UTC (rev 225279) +++ trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleTabContentView.js 2017-11-29 19:07:11 UTC (rev 225280) @@ -52,18 +52,13 @@ { super.shown(); -WI.consoleContentView.prompt.focus(); +WI.hideSplitConsole(); -if (this.contentBrowser.currentContentView === WI.consoleContentView) -return; +this.contentBrowser.showContentView(WI.consoleContentView); +WI.consoleContentView.dispatchEventToListeners(WI.ContentView.Event.NavigationItemsDidChange); -// Be sure to close the view in the split content browser before showing it in the -// tab content browser. We can only show a content view in one browser at a time. -if (WI.consoleContentView.parentContainer) -WI.consoleContentView.parentContainer.closeContentView(WI.consoleContentView); +WI.consoleContentView.prompt.focus(); -this.contentBrowser.showContentView(WI.consoleContentView); - console.assert(this.contentBrowser.currentContentView === WI.consoleContentView); } Modified:
[webkit-changes] [225279] trunk
Title: [225279] trunk Revision 225279 Author commit-qu...@webkit.org Date 2017-11-29 11:05:10 -0800 (Wed, 29 Nov 2017) Log Message [iOS] Media controls should stop updating while media is playing in fullscreen https://bugs.webkit.org/show_bug.cgi?id=180144 Patch by Antoine Quinton 2017-11-29 Reviewed by Eric Carlson. Source/WebCore: Updating inline media controls while playing media in fullscreen is useless since we're guaranteed not to have those controls visible, and hurtful since this has impact on battery life. To avoid this, we remove all media event listeners while in fullscreen on iOS, which will prevent the UI to be udpated since all updates are driven by media events. To implement this, we remove the MediaControllerSupport destroy() method and make it a disable() method, and factor code out of the MediaControllerSupport constructor into an enable() method that registers the media event listeners. Then, as we enter and exit fullscreen, we call the disable() and enable() method on the various MediaControllerSupport objects that were created to support the iOS inline media controls. Test: media/modern-media-controls/media-controller/ios/media-controller-stop-updates-in-fullscreen.html * Modules/modern-media-controls/media/controls-visibility-support.js: (ControlsVisibilitySupport): (ControlsVisibilitySupport.prototype.enable): (ControlsVisibilitySupport.prototype.disable): (ControlsVisibilitySupport.prototype.destroy): Deleted. * Modules/modern-media-controls/media/media-controller-support.js: (MediaControllerSupport): (MediaControllerSupport.prototype.enable): (MediaControllerSupport.prototype.disable): (MediaControllerSupport.prototype.destroy): Deleted. * Modules/modern-media-controls/media/media-controller.js: (MediaController.prototype.handleEvent): (MediaController.prototype._updateControlsIfNeeded): (MediaController.prototype._updateSupportingObjectsEnabledState): (MediaController): LayoutTests: Add a new test that enters fullscreen, checks that the elapsed time shown in the inline media controls are the same at this time and after a few "timeupdate" events, ensuring the DOM is no longer updated while in fullscreen, and then exits fullscreen and checks that the elapsed time controls now update as expected. This test is skipped in OpenSource since it uses touch events. * media/modern-media-controls/media-controller/ios/media-controller-stop-updates-in-fullscreen-expected.txt: Added. * media/modern-media-controls/media-controller/ios/media-controller-stop-updates-in-fullscreen.html: Added. * platform/ios-simulator/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios-simulator/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/modern-media-controls/media/controls-visibility-support.js trunk/Source/WebCore/Modules/modern-media-controls/media/media-controller-support.js trunk/Source/WebCore/Modules/modern-media-controls/media/media-controller.js Added Paths trunk/LayoutTests/media/modern-media-controls/media-controller/ios/media-controller-stop-updates-in-fullscreen-expected.txt trunk/LayoutTests/media/modern-media-controls/media-controller/ios/media-controller-stop-updates-in-fullscreen.html Diff Modified: trunk/LayoutTests/ChangeLog (225278 => 225279) --- trunk/LayoutTests/ChangeLog 2017-11-29 19:03:23 UTC (rev 225278) +++ trunk/LayoutTests/ChangeLog 2017-11-29 19:05:10 UTC (rev 225279) @@ -1,3 +1,20 @@ +2017-11-29 Antoine Quint + +[iOS] Media controls should stop updating while media is playing in fullscreen +https://bugs.webkit.org/show_bug.cgi?id=180144 + + +Reviewed by Eric Carlson. + +Add a new test that enters fullscreen, checks that the elapsed time shown in the inline media controls are the same +at this time and after a few "timeupdate" events, ensuring the DOM is no longer updated while in fullscreen, and then +exits fullscreen and checks that the elapsed time controls now update as expected. This test is skipped in OpenSource +since it uses touch events. + +* media/modern-media-controls/media-controller/ios/media-controller-stop-updates-in-fullscreen-expected.txt: Added. +* media/modern-media-controls/media-controller/ios/media-controller-stop-updates-in-fullscreen.html: Added. +* platform/ios-simulator/TestExpectations: + 2017-11-29 Simon Fraser Viewport unit values affected by Comand-+ zoom Added: trunk/LayoutTests/media/modern-media-controls/media-controller/ios/media-controller-stop-updates-in-fullscreen-expected.txt (0 => 225279) --- trunk/LayoutTests/media/modern-media-controls/media-controller/ios/media-controller-stop-updates-in-fullscreen-expected.txt (rev 0) +++ trunk/LayoutTests/media/modern-media-controls/media-controller/ios/media-controller-stop-updates-in-fullscreen-expected.txt
[webkit-changes] [225278] trunk/Source/WebKit
Title: [225278] trunk/Source/WebKit Revision 225278 Author commit-qu...@webkit.org Date 2017-11-29 11:03:23 -0800 (Wed, 29 Nov 2017) Log Message Modernize API::SerializedScriptValue https://bugs.webkit.org/show_bug.cgi?id=180115 Patch by Alex Christensenon 2017-11-29 Reviewed by Brady Eidson. Also remove some SPI that hasn't been used anywhere since Mountain Lion. * Shared/API/APISerializedScriptValue.h: (API::SerializedScriptValue::create): (API::SerializedScriptValue::internalRepresentation): (API::SerializedScriptValue::SerializedScriptValue): * Shared/API/c/WKSerializedScriptValue.cpp: (WKSerializedScriptValueDeserialize): (WKSerializedScriptValueCreateWithInternalRepresentation): Deleted. (WKSerializedScriptValueGetInternalRepresentation): Deleted. * Shared/API/c/WKSerializedScriptValuePrivate.h: Removed. * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _evaluateJavaScript:forceUserGesture:completionHandler:]): * WebKit.xcodeproj/project.pbxproj: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Shared/API/APISerializedScriptValue.h trunk/Source/WebKit/Shared/API/c/WKSerializedScriptValue.cpp trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm trunk/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj Removed Paths trunk/Source/WebKit/Shared/API/c/WKSerializedScriptValuePrivate.h Diff Modified: trunk/Source/WebKit/ChangeLog (225277 => 225278) --- trunk/Source/WebKit/ChangeLog 2017-11-29 18:59:39 UTC (rev 225277) +++ trunk/Source/WebKit/ChangeLog 2017-11-29 19:03:23 UTC (rev 225278) @@ -1,3 +1,25 @@ +2017-11-29 Alex Christensen + +Modernize API::SerializedScriptValue +https://bugs.webkit.org/show_bug.cgi?id=180115 + +Reviewed by Brady Eidson. + +Also remove some SPI that hasn't been used anywhere since Mountain Lion. + +* Shared/API/APISerializedScriptValue.h: +(API::SerializedScriptValue::create): +(API::SerializedScriptValue::internalRepresentation): +(API::SerializedScriptValue::SerializedScriptValue): +* Shared/API/c/WKSerializedScriptValue.cpp: +(WKSerializedScriptValueDeserialize): +(WKSerializedScriptValueCreateWithInternalRepresentation): Deleted. +(WKSerializedScriptValueGetInternalRepresentation): Deleted. +* Shared/API/c/WKSerializedScriptValuePrivate.h: Removed. +* UIProcess/API/Cocoa/WKWebView.mm: +(-[WKWebView _evaluateJavaScript:forceUserGesture:completionHandler:]): +* WebKit.xcodeproj/project.pbxproj: + 2017-11-29 Michael Catanzaro REGRESSION(r218064): [GTK] Broke entering fullscreen mode in debug builds Modified: trunk/Source/WebKit/Shared/API/APISerializedScriptValue.h (225277 => 225278) --- trunk/Source/WebKit/Shared/API/APISerializedScriptValue.h 2017-11-29 18:59:39 UTC (rev 225277) +++ trunk/Source/WebKit/Shared/API/APISerializedScriptValue.h 2017-11-29 19:03:23 UTC (rev 225278) @@ -36,7 +36,7 @@ class SerializedScriptValue : public API::ObjectImpl { public: -static Ref create(RefPtr&& serializedValue) +static Ref create(Ref&& serializedValue) { return adoptRef(*new SerializedScriptValue(WTFMove(serializedValue))); } @@ -46,7 +46,7 @@ RefPtr serializedValue = WebCore::SerializedScriptValue::create(context, value, exception); if (!serializedValue) return nullptr; -return adoptRef(*new SerializedScriptValue(serializedValue.get())); +return adoptRef(*new SerializedScriptValue(serializedValue.releaseNonNull())); } static Ref adopt(Vector&& buffer) @@ -65,15 +65,15 @@ IPC::DataReference dataReference() const { return m_serializedScriptValue->data(); } -WebCore::SerializedScriptValue* internalRepresentation() { return m_serializedScriptValue.get(); } +WebCore::SerializedScriptValue& internalRepresentation() { return m_serializedScriptValue.get(); } private: -explicit SerializedScriptValue(RefPtr&& serializedScriptValue) +explicit SerializedScriptValue(Ref&& serializedScriptValue) : m_serializedScriptValue(WTFMove(serializedScriptValue)) { } -RefPtr m_serializedScriptValue; +Ref m_serializedScriptValue; }; } Modified: trunk/Source/WebKit/Shared/API/c/WKSerializedScriptValue.cpp (225277 => 225278) --- trunk/Source/WebKit/Shared/API/c/WKSerializedScriptValue.cpp 2017-11-29 18:59:39 UTC (rev 225277) +++ trunk/Source/WebKit/Shared/API/c/WKSerializedScriptValue.cpp 2017-11-29 19:03:23 UTC (rev 225278) @@ -25,7 +25,6 @@ #include "config.h" #include "WKSerializedScriptValue.h" -#include "WKSerializedScriptValuePrivate.h" #include "APISerializedScriptValue.h" #include "WKAPICast.h" @@ -43,18 +42,7 @@ return toAPI(serializedValue.leakRef()); } -WKSerializedScriptValueRef
[webkit-changes] [225277] trunk
Title: [225277] trunk Revision 225277 Author simon.fra...@apple.com Date 2017-11-29 10:59:39 -0800 (Wed, 29 Nov 2017) Log Message Viewport unit values affected by Comand-+ zoom https://bugs.webkit.org/show_bug.cgi?id=145614 Reviewed by Zalan Bujtas. Source/WebCore: Don't apply zooming when resolving viewport-relative lengths, since they should not change based on the zoom level. Test: fast/css/viewport-units-zoom.html * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::computeNonCalcLengthDouble): Tools: Fix Command+ and Command- in MiniBrowser to do zooming, rather than being tied to editing commands. * MiniBrowser/mac/MainMenu.xib: LayoutTests: * fast/css/viewport-units-zoom-expected.html: Added. * fast/css/viewport-units-zoom.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/CSSPrimitiveValue.cpp trunk/Tools/ChangeLog trunk/Tools/MiniBrowser/mac/MainMenu.xib Added Paths trunk/LayoutTests/fast/css/viewport-units-zoom-expected.html trunk/LayoutTests/fast/css/viewport-units-zoom.html Diff Modified: trunk/LayoutTests/ChangeLog (225276 => 225277) --- trunk/LayoutTests/ChangeLog 2017-11-29 18:59:01 UTC (rev 225276) +++ trunk/LayoutTests/ChangeLog 2017-11-29 18:59:39 UTC (rev 225277) @@ -1,3 +1,13 @@ +2017-11-29 Simon Fraser+ +Viewport unit values affected by Comand-+ zoom +https://bugs.webkit.org/show_bug.cgi?id=145614 + +Reviewed by Zalan Bujtas. + +* fast/css/viewport-units-zoom-expected.html: Added. +* fast/css/viewport-units-zoom.html: Added. + 2017-11-29 Ms2ger Enable imported/w3c/web-platform-tests/resource-timing/single-entry-per-resource.html. Added: trunk/LayoutTests/fast/css/viewport-units-zoom-expected.html (0 => 225277) --- trunk/LayoutTests/fast/css/viewport-units-zoom-expected.html (rev 0) +++ trunk/LayoutTests/fast/css/viewport-units-zoom-expected.html 2017-11-29 18:59:39 UTC (rev 225277) @@ -0,0 +1,25 @@ + + + + + +body { +margin: 0; +} +.box { +background-color: green; +margin-top: 10px; +} + +.width { +width: 50vw; +height: 100px; +} + + + +Both boxes should be the same width. + + + + Added: trunk/LayoutTests/fast/css/viewport-units-zoom.html (0 => 225277) --- trunk/LayoutTests/fast/css/viewport-units-zoom.html (rev 0) +++ trunk/LayoutTests/fast/css/viewport-units-zoom.html 2017-11-29 18:59:39 UTC (rev 225277) @@ -0,0 +1,25 @@ + + + + + +body { +margin: 0; +} +.box { +background-color: green; +margin-top: 10px; +} + +.width { +width: 50vw; +height: 100px; +} + + + +Both boxes should be the same width. + + + + Modified: trunk/Source/WebCore/ChangeLog (225276 => 225277) --- trunk/Source/WebCore/ChangeLog 2017-11-29 18:59:01 UTC (rev 225276) +++ trunk/Source/WebCore/ChangeLog 2017-11-29 18:59:39 UTC (rev 225277) @@ -1,3 +1,18 @@ +2017-11-29 Simon Fraser + +Viewport unit values affected by Comand-+ zoom +https://bugs.webkit.org/show_bug.cgi?id=145614 + +Reviewed by Zalan Bujtas. + +Don't apply zooming when resolving viewport-relative lengths, since they should not +change based on the zoom level. + +Test: fast/css/viewport-units-zoom.html + +* css/CSSPrimitiveValue.cpp: +(WebCore::CSSPrimitiveValue::computeNonCalcLengthDouble): + 2017-11-29 Brent Fulgham Unreviewed test fix after r225264. Modified: trunk/Source/WebCore/css/CSSPrimitiveValue.cpp (225276 => 225277) --- trunk/Source/WebCore/css/CSSPrimitiveValue.cpp 2017-11-29 18:59:01 UTC (rev 225276) +++ trunk/Source/WebCore/css/CSSPrimitiveValue.cpp 2017-11-29 18:59:39 UTC (rev 225277) @@ -640,6 +640,7 @@ double CSSPrimitiveValue::computeNonCalcLengthDouble(const CSSToLengthConversionData& conversionData, UnitType primitiveType, double value) { double factor; +bool applyZoom = true; switch (primitiveType) { case CSS_EMS: @@ -692,15 +693,19 @@ return -1.0; case CSS_VH: factor = conversionData.viewportHeightFactor(); +applyZoom = false; break; case CSS_VW: factor = conversionData.viewportWidthFactor(); +applyZoom = false; break; case CSS_VMAX: factor = conversionData.viewportMaxFactor(); +applyZoom = false; break; case CSS_VMIN: factor = conversionData.viewportMinFactor(); +applyZoom = false; break; default: ASSERT_NOT_REACHED(); @@ -714,7 +719,10 @@ if (conversionData.computingFontSize() || isFontRelativeLength(primitiveType)) return
[webkit-changes] [225276] trunk/Source/WebCore
Title: [225276] trunk/Source/WebCore Revision 225276 Author bfulg...@apple.com Date 2017-11-29 10:59:01 -0800 (Wed, 29 Nov 2017) Log Message Unreviewed test fix after r225264. The changes in r225264 were meant to have no changes in behavior. However, I mistakenly switched to a secure coding API call in the PlatformPasteboard::write method. This should have used the 'insecure' version of this function. * platform/ios/PlatformPasteboardIOS.mm: (WebCore::PlatformPasteboard::write): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm Diff Modified: trunk/Source/WebCore/ChangeLog (225275 => 225276) --- trunk/Source/WebCore/ChangeLog 2017-11-29 18:53:11 UTC (rev 225275) +++ trunk/Source/WebCore/ChangeLog 2017-11-29 18:59:01 UTC (rev 225276) @@ -1,3 +1,15 @@ +2017-11-29 Brent Fulgham+ +Unreviewed test fix after r225264. + + +The changes in r225264 were meant to have no changes in behavior. However, I mistakenly +switched to a secure coding API call in the PlatformPasteboard::write method. This should +have used the 'insecure' version of this function. + +* platform/ios/PlatformPasteboardIOS.mm: +(WebCore::PlatformPasteboard::write): + 2017-11-29 Youenn Fablet LibWebRTCPeerConnectionBackend should clean its stats promises when being cleaned Modified: trunk/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm (225275 => 225276) --- trunk/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm 2017-11-29 18:53:11 UTC (rev 225275) +++ trunk/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm 2017-11-29 18:59:01 UTC (rev 225276) @@ -265,7 +265,7 @@ [representationsToRegister addData:content.dataInWebArchiveFormat->createNSData().get() forType:WebArchivePboardType]; if (content.dataInAttributedStringFormat) { -NSAttributedString *attributedString = securelyUnarchiveObjectOfClassFromData([NSAttributedString class], content.dataInAttributedStringFormat->createNSData().get()); +NSAttributedString *attributedString = insecurelyUnarchiveObjectOfClassFromData(content.dataInAttributedStringFormat->createNSData().get()); if (attributedString) [representationsToRegister addRepresentingObject:attributedString]; } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225275] trunk/Tools
Title: [225275] trunk/Tools Revision 225275 Author achristen...@apple.com Date 2017-11-29 10:53:11 -0800 (Wed, 29 Nov 2017) Log Message Add test for _WKVisitedLinkStore.addVisitedLinkWithString https://bugs.webkit.org/show_bug.cgi?id=180152 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WebKitCocoa/VisitedLinkStore.mm: (TestWebKitAPI::TEST): Modified Paths trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/VisitedLinkStore.mm Diff Modified: trunk/Tools/ChangeLog (225274 => 225275) --- trunk/Tools/ChangeLog 2017-11-29 18:04:06 UTC (rev 225274) +++ trunk/Tools/ChangeLog 2017-11-29 18:53:11 UTC (rev 225275) @@ -1,3 +1,13 @@ +2017-11-29 Alex Christensen+ +Add test for _WKVisitedLinkStore.addVisitedLinkWithString +https://bugs.webkit.org/show_bug.cgi?id=180152 + +Reviewed by Chris Dumez. + +* TestWebKitAPI/Tests/WebKitCocoa/VisitedLinkStore.mm: +(TestWebKitAPI::TEST): + 2017-11-29 Jonathan Bedard webkitpy: Trying to use iOS versions from machines without iOS SDKs doesn't make sense Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/VisitedLinkStore.mm (225274 => 225275) --- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/VisitedLinkStore.mm 2017-11-29 18:04:06 UTC (rev 225274) +++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/VisitedLinkStore.mm 2017-11-29 18:53:11 UTC (rev 225275) @@ -103,10 +103,14 @@ NSURL *appleURL = [NSURL URLWithString:@"https://www.apple.com"]; NSURL *webkitURL = [NSURL URLWithString:@"https://www.webkit.org"]; NSURL *bugzillaURL = [NSURL URLWithString:@"https://bugs.webkit.org"]; +NSURL *tracURL = [NSURL URLWithString:@"https://trac.webkit.org"]; +NSString *tracString = @"https://trac.webkit.org"; [visitedLinkStore addVisitedLinkWithURL:appleURL]; +[visitedLinkStore addVisitedLinkWithString:tracString]; EXPECT_TRUE([visitedLinkStore containsVisitedLinkWithURL:appleURL]); EXPECT_FALSE([visitedLinkStore containsVisitedLinkWithURL:webkitURL]); EXPECT_FALSE([visitedLinkStore containsVisitedLinkWithURL:bugzillaURL]); +EXPECT_TRUE([visitedLinkStore containsVisitedLinkWithURL:tracURL]); [visitedLinkStore addVisitedLinkWithURL:appleURL]; [visitedLinkStore removeVisitedLinkWithURL:appleURL]; [visitedLinkStore addVisitedLinkWithURL:webkitURL]; @@ -113,12 +117,17 @@ EXPECT_FALSE([visitedLinkStore containsVisitedLinkWithURL:appleURL]); EXPECT_TRUE([visitedLinkStore containsVisitedLinkWithURL:webkitURL]); EXPECT_FALSE([visitedLinkStore containsVisitedLinkWithURL:bugzillaURL]); +EXPECT_TRUE([visitedLinkStore containsVisitedLinkWithURL:tracURL]); [visitedLinkStore removeVisitedLinkWithURL:appleURL]; +[visitedLinkStore removeVisitedLinkWithURL:tracURL]; [visitedLinkStore addVisitedLinkWithURL:appleURL]; [visitedLinkStore addVisitedLinkWithURL:bugzillaURL]; +EXPECT_FALSE([visitedLinkStore containsVisitedLinkWithURL:tracURL]); EXPECT_TRUE([visitedLinkStore containsVisitedLinkWithURL:appleURL]); EXPECT_TRUE([visitedLinkStore containsVisitedLinkWithURL:webkitURL]); EXPECT_TRUE([visitedLinkStore containsVisitedLinkWithURL:bugzillaURL]); +[visitedLinkStore removeVisitedLinkWithURL:tracURL]; +EXPECT_FALSE([visitedLinkStore containsVisitedLinkWithURL:tracURL]); } } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225274] trunk/Tools
Title: [225274] trunk/Tools Revision 225274 Author jbed...@apple.com Date 2017-11-29 10:04:06 -0800 (Wed, 29 Nov 2017) Log Message webkitpy: Trying to use iOS versions from machines without iOS SDKs doesn't make sense https://bugs.webkit.org/show_bug.cgi?id=179534 Reviewed by Brent Fulgham. Provide more specific information in builders.py so that machines do not try and calculate an iOS SDK version while running tests. * Scripts/webkitpy/port/builders.py: Explicitly specify a version for iOS Simulator. * Scripts/webkitpy/port/ios_simulator.py: (IOSSimulatorPort._version_from_name): Attempt to extract the iOS version from the name of the port. (IOSSimulatorPort.ios_version): Use specified iOS version if a version is detected in in the provided name string (just like Mac). Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/port/builders.py trunk/Tools/Scripts/webkitpy/port/ios_simulator.py Diff Modified: trunk/Tools/ChangeLog (225273 => 225274) --- trunk/Tools/ChangeLog 2017-11-29 17:46:26 UTC (rev 225273) +++ trunk/Tools/ChangeLog 2017-11-29 18:04:06 UTC (rev 225274) @@ -1,3 +1,21 @@ +2017-11-29 Jonathan Bedard+ +webkitpy: Trying to use iOS versions from machines without iOS SDKs doesn't make sense +https://bugs.webkit.org/show_bug.cgi?id=179534 + + +Reviewed by Brent Fulgham. + +Provide more specific information in builders.py so that machines do not try and calculate +an iOS SDK version while running tests. + +* Scripts/webkitpy/port/builders.py: Explicitly specify a version for iOS Simulator. +* Scripts/webkitpy/port/ios_simulator.py: +(IOSSimulatorPort._version_from_name): Attempt to extract the iOS version from the name +of the port. +(IOSSimulatorPort.ios_version): Use specified iOS version if a version is detected in +in the provided name string (just like Mac). + 2017-11-29 Robin Morisset The recursive tail call optimisation is wrong on closures Modified: trunk/Tools/Scripts/webkitpy/port/builders.py (225273 => 225274) --- trunk/Tools/Scripts/webkitpy/port/builders.py 2017-11-29 17:46:26 UTC (rev 225273) +++ trunk/Tools/Scripts/webkitpy/port/builders.py 2017-11-29 18:04:06 UTC (rev 225274) @@ -88,8 +88,8 @@ _ports_without_builders = [ -r"ios-simulator", -r"ios-simulator-wk2", +r"ios-simulator-11", +r"ios-simulator-11-wk2", ] Modified: trunk/Tools/Scripts/webkitpy/port/ios_simulator.py (225273 => 225274) --- trunk/Tools/Scripts/webkitpy/port/ios_simulator.py 2017-11-29 17:46:26 UTC (rev 225273) +++ trunk/Tools/Scripts/webkitpy/port/ios_simulator.py 2017-11-29 18:04:06 UTC (rev 225274) @@ -108,6 +108,12 @@ runtime = Runtime.from_version(self.host.platform.xcode_sdk_version('iphonesimulator')) return runtime +@staticmethod +def _version_from_name(name): +if len(name.split('-')) > 2 and name.split('-')[2].isdigit(): +return Version.from_string(name.split('-')[2]) +return None + @memoized def ios_version(self): runtime_identifier = self.get_option('runtime') @@ -115,7 +121,7 @@ return Version.from_string(self.get_option('version')) if runtime_identifier: return Runtime.from_identifier(runtime_identifier).version -return self.host.platform.xcode_sdk_version('iphonesimulator') +return IOSSimulatorPort._version_from_name(self._name) if IOSSimulatorPort._version_from_name(self._name) else self.host.platform.xcode_sdk_version('iphonesimulator') def simulator_device_type(self): device_type_identifier = self.get_option('device_type') ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225273] trunk
Title: [225273] trunk Revision 225273 Author jfbast...@apple.com Date 2017-11-29 09:46:26 -0800 (Wed, 29 Nov 2017) Log Message Strict and sloppy functions shouldn't share structure Modified Paths trunk/JSTests/ChangeLog trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp trunk/Source/_javascript_Core/runtime/FunctionConstructor.cpp trunk/Source/_javascript_Core/runtime/JSFunction.cpp trunk/Source/_javascript_Core/runtime/JSFunctionInlines.h trunk/Source/_javascript_Core/runtime/JSGlobalObject.cpp trunk/Source/_javascript_Core/runtime/JSGlobalObject.h Added Paths trunk/JSTests/stress/get-by-id-strict-arguments.js trunk/JSTests/stress/get-by-id-strict-callee.js trunk/JSTests/stress/get-by-id-strict-caller.js trunk/JSTests/stress/get-by-id-strict-nested-arguments-2.js trunk/JSTests/stress/get-by-id-strict-nested-arguments.js trunk/JSTests/stress/strict-function-structure.js trunk/JSTests/stress/strict-nested-function-structure.js Diff Modified: trunk/JSTests/ChangeLog (225272 => 225273) --- trunk/JSTests/ChangeLog 2017-11-29 17:45:19 UTC (rev 225272) +++ trunk/JSTests/ChangeLog 2017-11-29 17:46:26 UTC (rev 225273) @@ -1,3 +1,52 @@ +2017-11-28 JF Bastien+ +Strict and sloppy functions shouldn't share structure +https://bugs.webkit.org/show_bug.cgi?id=180103 + + +Reviewed by Saam Barati. + +* stress/get-by-id-strict-arguments.js: Added. Used to not throw +because the IC was wrong. +(foo): +(bar): +(baz): +(catch): +* stress/get-by-id-strict-callee.js: Added. Not strictly necessary +in this patch, but may as well test odd strict mode corner cases. +(bar): +(baz): +(catch): +* stress/get-by-id-strict-caller.js: Added. Also IC'd wrong. +(foo): +(bar): +(baz): +(catch): +* stress/get-by-id-strict-nested-arguments-2.js: Added. Same as +next file, but with invalidation of the FunctionExecutable's +singletonFunction() to hit SpeculativeJIT::compileNewFunction's +slower path. +(foo): +(bar.const.x): +(bar.const.y): +(bar): +(catch): +* stress/get-by-id-strict-nested-arguments.js: Added. Make sure +strict nesting works correctly. +(foo): +(bar.baz): +(bar): +* stress/strict-function-structure.js: Added. The test used to +assert in objectProtoFuncHasOwnProperty. +(foo): +(bar): +(baz): +* stress/strict-nested-function-structure.js: Added. Nesting. +(foo): +(bar): +(baz.boo): +(baz): + 2017-11-29 Robin Morisset The recursive tail call optimisation is wrong on closures Added: trunk/JSTests/stress/get-by-id-strict-arguments.js (0 => 225273) --- trunk/JSTests/stress/get-by-id-strict-arguments.js (rev 0) +++ trunk/JSTests/stress/get-by-id-strict-arguments.js 2017-11-29 17:46:26 UTC (rev 225273) @@ -0,0 +1,28 @@ +let warm = 1000; + +function foo(f) { +return f.arguments; +} +noInline(foo); + +function bar() { +for (let i = 0; i < warm; ++i) +foo(bar); +} +function baz() { +"use strict"; +foo(baz); +} + +bar(); + +let caught = false; + +try { +baz(); +} catch (e) { +caught = true; +} + +if (!caught) +throw new Error(`bad!`); Added: trunk/JSTests/stress/get-by-id-strict-callee.js (0 => 225273) --- trunk/JSTests/stress/get-by-id-strict-callee.js (rev 0) +++ trunk/JSTests/stress/get-by-id-strict-callee.js 2017-11-29 17:46:26 UTC (rev 225273) @@ -0,0 +1,24 @@ +let warm = 1000; + +function bar() { +for (let i = 0; i < warm; ++i) +arguments.callee; +} + +function baz() { +"use strict"; +arguments.callee; +} + +bar(); + +let caught = false; + +try { +baz(); +} catch (e) { +caught = true; +} + +if (!caught) +throw new Error(`bad!`); Added: trunk/JSTests/stress/get-by-id-strict-caller.js (0 => 225273) --- trunk/JSTests/stress/get-by-id-strict-caller.js (rev 0) +++ trunk/JSTests/stress/get-by-id-strict-caller.js 2017-11-29 17:46:26 UTC (rev 225273) @@ -0,0 +1,28 @@ +let warm = 1000; + +function foo(f) { +return f.caller; +} +noInline(foo); + +function bar() { +for (let i = 0; i < warm; ++i) +foo(bar); +} +function baz() { +"use strict"; +foo(baz); +} + +bar(); + +let caught = false; + +try { +baz(); +} catch (e) { +caught = true; +} + +if (!caught) +throw new Error(`bad!`); Added: trunk/JSTests/stress/get-by-id-strict-nested-arguments-2.js (0 => 225273) --- trunk/JSTests/stress/get-by-id-strict-nested-arguments-2.js (rev 0) +++
[webkit-changes] [225272] trunk/Source/WebCore
Title: [225272] trunk/Source/WebCore Revision 225272 Author commit-qu...@webkit.org Date 2017-11-29 09:45:19 -0800 (Wed, 29 Nov 2017) Log Message LibWebRTCPeerConnectionBackend should clean its stats promises when being cleaned https://bugs.webkit.org/show_bug.cgi?id=180101 Patch by Youenn Fableton 2017-11-29 Reviewed by Eric Carlson. No change of behavior. * Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp: (WebCore::LibWebRTCPeerConnectionBackend::doStop): Cleaning stat promises hash map. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (225271 => 225272) --- trunk/Source/WebCore/ChangeLog 2017-11-29 17:37:36 UTC (rev 225271) +++ trunk/Source/WebCore/ChangeLog 2017-11-29 17:45:19 UTC (rev 225272) @@ -1,3 +1,15 @@ +2017-11-29 Youenn Fablet + +LibWebRTCPeerConnectionBackend should clean its stats promises when being cleaned +https://bugs.webkit.org/show_bug.cgi?id=180101 + +Reviewed by Eric Carlson. + +No change of behavior. + +* Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp: +(WebCore::LibWebRTCPeerConnectionBackend::doStop): Cleaning stat promises hash map. + 2017-11-29 Zan Dobersek [CoordGraphics] Rename CoordinatedBuffer to Nicosia::Buffer Modified: trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp (225271 => 225272) --- trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp 2017-11-29 17:37:36 UTC (rev 225271) +++ trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp 2017-11-29 17:45:19 UTC (rev 225272) @@ -192,6 +192,7 @@ m_endpoint->stop(); +m_statsPromises.clear(); m_remoteStreams.clear(); m_pendingReceivers.clear(); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225271] trunk/Source/JavaScriptCore
Title: [225271] trunk/Source/_javascript_Core Revision 225271 Author utatane@gmail.com Date 2017-11-29 09:37:36 -0800 (Wed, 29 Nov 2017) Log Message [JSC] Add MacroAssembler::getEffectiveAddress in all platforms https://bugs.webkit.org/show_bug.cgi?id=180070 Reviewed by Saam Barati. This patch adds getEffectiveAddress in all JIT platforms. This is abstracted version of x86 lea. We also fix a bug in Yarr that uses branch32 instead of branchPtr for addresses. * assembler/MacroAssemblerARM.h: (JSC::MacroAssemblerARM::getEffectiveAddress): * assembler/MacroAssemblerARM64.h: (JSC::MacroAssemblerARM64::getEffectiveAddress): (JSC::MacroAssemblerARM64::getEffectiveAddress64): Deleted. * assembler/MacroAssemblerARMv7.h: (JSC::MacroAssemblerARMv7::getEffectiveAddress): * assembler/MacroAssemblerMIPS.h: (JSC::MacroAssemblerMIPS::getEffectiveAddress): * assembler/MacroAssemblerX86.h: (JSC::MacroAssemblerX86::getEffectiveAddress): * assembler/MacroAssemblerX86_64.h: (JSC::MacroAssemblerX86_64::getEffectiveAddress): (JSC::MacroAssemblerX86_64::getEffectiveAddress64): Deleted. * assembler/testmasm.cpp: (JSC::testGetEffectiveAddress): (JSC::run): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileArrayPush): * yarr/YarrJIT.cpp: (JSC::Yarr::YarrGenerator::tryReadUnicodeCharImpl): (JSC::Yarr::YarrGenerator::tryReadUnicodeChar): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/assembler/MacroAssemblerARM.h trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.h trunk/Source/_javascript_Core/assembler/MacroAssemblerARMv7.h trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h trunk/Source/_javascript_Core/assembler/MacroAssemblerX86.h trunk/Source/_javascript_Core/assembler/MacroAssemblerX86_64.h trunk/Source/_javascript_Core/assembler/testmasm.cpp trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp trunk/Source/_javascript_Core/yarr/YarrJIT.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (225270 => 225271) --- trunk/Source/_javascript_Core/ChangeLog 2017-11-29 17:31:54 UTC (rev 225270) +++ trunk/Source/_javascript_Core/ChangeLog 2017-11-29 17:37:36 UTC (rev 225271) @@ -1,3 +1,38 @@ +2017-11-29 Yusuke Suzuki+ +[JSC] Add MacroAssembler::getEffectiveAddress in all platforms +https://bugs.webkit.org/show_bug.cgi?id=180070 + +Reviewed by Saam Barati. + +This patch adds getEffectiveAddress in all JIT platforms. +This is abstracted version of x86 lea. + +We also fix a bug in Yarr that uses branch32 instead of branchPtr for addresses. + +* assembler/MacroAssemblerARM.h: +(JSC::MacroAssemblerARM::getEffectiveAddress): +* assembler/MacroAssemblerARM64.h: +(JSC::MacroAssemblerARM64::getEffectiveAddress): +(JSC::MacroAssemblerARM64::getEffectiveAddress64): Deleted. +* assembler/MacroAssemblerARMv7.h: +(JSC::MacroAssemblerARMv7::getEffectiveAddress): +* assembler/MacroAssemblerMIPS.h: +(JSC::MacroAssemblerMIPS::getEffectiveAddress): +* assembler/MacroAssemblerX86.h: +(JSC::MacroAssemblerX86::getEffectiveAddress): +* assembler/MacroAssemblerX86_64.h: +(JSC::MacroAssemblerX86_64::getEffectiveAddress): +(JSC::MacroAssemblerX86_64::getEffectiveAddress64): Deleted. +* assembler/testmasm.cpp: +(JSC::testGetEffectiveAddress): +(JSC::run): +* dfg/DFGSpeculativeJIT.cpp: +(JSC::DFG::SpeculativeJIT::compileArrayPush): +* yarr/YarrJIT.cpp: +(JSC::Yarr::YarrGenerator::tryReadUnicodeCharImpl): +(JSC::Yarr::YarrGenerator::tryReadUnicodeChar): + 2017-11-29 Robin Morisset The recursive tail call optimisation is wrong on closures Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerARM.h (225270 => 225271) --- trunk/Source/_javascript_Core/assembler/MacroAssemblerARM.h 2017-11-29 17:31:54 UTC (rev 225270) +++ trunk/Source/_javascript_Core/assembler/MacroAssemblerARM.h 2017-11-29 17:37:36 UTC (rev 225271) @@ -128,6 +128,13 @@ m_assembler.adds(dest, src, m_assembler.getImm(imm.m_value, ARMRegisters::S0)); } +void getEffectiveAddress(BaseIndex address, RegisterID dest) +{ +m_assembler.add(dest, address.base, m_assembler.lsl(address.index, static_cast(address.scale))); +if (address.offset) +add32(TrustedImm32(address.offset), dest); +} + void and32(RegisterID src, RegisterID dest) { m_assembler.bitAnds(dest, dest, src); Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.h (225270 => 225271) --- trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.h 2017-11-29 17:31:54 UTC (rev 225270) +++ trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.h 2017-11-29 17:37:36 UTC (rev 225271) @@ -1540,7 +1540,7 @@ m_assembler.strb(src, dest, simm); } -
[webkit-changes] [225270] trunk
Title: [225270] trunk Revision 225270 Author rmoris...@apple.com Date 2017-11-29 09:31:54 -0800 (Wed, 29 Nov 2017) Log Message The recursive tail call optimisation is wrong on closures https://bugs.webkit.org/show_bug.cgi?id=179835 Reviewed by Saam Barati. JSTests: * stress/closure-recursive-tail-call.js: Added. (makeClosure): PerformanceTests: This new benchmark is a very close variant of the merge-sort benchmark, that writes mergeSorted in a kinda CPS style, to stress the use of closures, and of polymorphic calls. * TailBench9000/merge-sort-cps.js: Added. (createRNG): (mergeSorted): (checkSorted.check): (add): (build): (compare): (checkSpectrum): (buildArray): (test): Source/_javascript_Core: The problem is that we only check the executable of the callee, not whatever variables might have been captured. As a stopgap measure this patch just does not do the optimisation for closures. * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::handleRecursiveTailCall): Tools: This just includes merge-sort-cps.js to the list of benchmarks ran by run-jsc-benchmarks --tail-bench * Scripts/run-jsc-benchmarks: Modified Paths trunk/JSTests/ChangeLog trunk/PerformanceTests/ChangeLog trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp trunk/Tools/ChangeLog trunk/Tools/Scripts/run-jsc-benchmarks Added Paths trunk/JSTests/stress/closure-recursive-tail-call.js trunk/PerformanceTests/TailBench9000/merge-sort-cps.js Diff Modified: trunk/JSTests/ChangeLog (225269 => 225270) --- trunk/JSTests/ChangeLog 2017-11-29 17:11:36 UTC (rev 225269) +++ trunk/JSTests/ChangeLog 2017-11-29 17:31:54 UTC (rev 225270) @@ -1,3 +1,13 @@ +2017-11-29 Robin Morisset+ +The recursive tail call optimisation is wrong on closures +https://bugs.webkit.org/show_bug.cgi?id=179835 + +Reviewed by Saam Barati. + +* stress/closure-recursive-tail-call.js: Added. +(makeClosure): + 2017-11-27 JF Bastien _javascript_ rest function parameter with negative index leads to bad DFG abstract interpretation Added: trunk/JSTests/stress/closure-recursive-tail-call.js (0 => 225270) --- trunk/JSTests/stress/closure-recursive-tail-call.js (rev 0) +++ trunk/JSTests/stress/closure-recursive-tail-call.js 2017-11-29 17:31:54 UTC (rev 225270) @@ -0,0 +1,21 @@ +"use strict"; + +function makeClosure(x) +{ +return (f) => { +if (x == 42) { +x = 0; +return f(f); +} +else +return x; +} +} + +for (var i = 0; i < 1000; ++i) { +var g = makeClosure(42); +var h = makeClosure(41); +var value = g(h); +if (value != 41) +throw "Wrong result, got: " + value; +} Modified: trunk/PerformanceTests/ChangeLog (225269 => 225270) --- trunk/PerformanceTests/ChangeLog 2017-11-29 17:11:36 UTC (rev 225269) +++ trunk/PerformanceTests/ChangeLog 2017-11-29 17:31:54 UTC (rev 225270) @@ -1,3 +1,24 @@ +2017-11-29 Robin Morisset + +The recursive tail call optimisation is wrong on closures +https://bugs.webkit.org/show_bug.cgi?id=179835 + +Reviewed by Saam Barati. + +This new benchmark is a very close variant of the merge-sort benchmark, that writes mergeSorted in a kinda CPS style, +to stress the use of closures, and of polymorphic calls. + +* TailBench9000/merge-sort-cps.js: Added. +(createRNG): +(mergeSorted): +(checkSorted.check): +(add): +(build): +(compare): +(checkSpectrum): +(buildArray): +(test): + 2017-11-22 Antti Koivisto Add performance test for inlines and inline-blocks without text Added: trunk/PerformanceTests/TailBench9000/merge-sort-cps.js (0 => 225270) --- trunk/PerformanceTests/TailBench9000/merge-sort-cps.js (rev 0) +++ trunk/PerformanceTests/TailBench9000/merge-sort-cps.js 2017-11-29 17:31:54 UTC (rev 225270) @@ -0,0 +1,150 @@ +"use strict"; + +function createRNG(seed) +{ +return function() { +// Robert Jenkins' 32 bit integer hash function. +seed = ((seed + 0x7ed55d16) + (seed << 12)) & 0x; +seed = ((seed ^ 0xc761c23c) ^ (seed >>> 19)) & 0x; +seed = ((seed + 0x165667b1) + (seed << 5)) & 0x; +seed = ((seed + 0xd3a2646c) ^ (seed << 9)) & 0x; +seed = ((seed + 0xfd7046c5) + (seed << 3)) & 0x; +seed = ((seed ^ 0xb55a4f09) ^ (seed >>> 16)) & 0x; +return (seed & 0xfff) / 0x1000; +}; +} + +let random = createRNG(0x7a11bec8); + +function mergeSorted(array, cont) +{ +if (array.length <= 1) +return cont(array); + +let midIndex = Math.floor(array.length / 2); +return mergeSorted(array.slice(0, midIndex), (left) => { +return
[webkit-changes] [225269] trunk/LayoutTests
Title: [225269] trunk/LayoutTests Revision 225269 Author ms2...@igalia.com Date 2017-11-29 09:11:36 -0800 (Wed, 29 Nov 2017) Log Message LayoutTests/imported/w3c: Rebaseline imported/w3c/web-platform-tests/resource-timing/single-entry-per-resource.html. https://bugs.webkit.org/show_bug.cgi?id=180142 Unreviewed test gardening. * web-platform-tests/resource-timing/single-entry-per-resource-expected.txt: LayoutTests: Enable imported/w3c/web-platform-tests/resource-timing/single-entry-per-resource.html. https://bugs.webkit.org/show_bug.cgi?id=180142 Unreviewed test gardening. The -expected file was updated to list a PASS result. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/resource-timing/single-entry-per-resource-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (225268 => 225269) --- trunk/LayoutTests/ChangeLog 2017-11-29 17:09:57 UTC (rev 225268) +++ trunk/LayoutTests/ChangeLog 2017-11-29 17:11:36 UTC (rev 225269) @@ -1,5 +1,16 @@ 2017-11-29 Ms2ger+Enable imported/w3c/web-platform-tests/resource-timing/single-entry-per-resource.html. +https://bugs.webkit.org/show_bug.cgi?id=180142 + +Unreviewed test gardening. + +The -expected file was updated to list a PASS result. + +* TestExpectations: + +2017-11-29 Ms2ger + [GTK][WPE] Test gardening https://bugs.webkit.org/show_bug.cgi?id=180136 Modified: trunk/LayoutTests/TestExpectations (225268 => 225269) --- trunk/LayoutTests/TestExpectations 2017-11-29 17:09:57 UTC (rev 225268) +++ trunk/LayoutTests/TestExpectations 2017-11-29 17:11:36 UTC (rev 225269) @@ -279,7 +279,6 @@ imported/w3c/web-platform-tests/eventsource/request-credentials.htm [ Failure ] imported/w3c/web-platform-tests/mediacapture-fromelement/capture.html [ Failure ] imported/w3c/web-platform-tests/mediacapture-fromelement/ended.html [ Failure ] -imported/w3c/web-platform-tests/resource-timing/single-entry-per-resource.html [ Failure ] imported/w3c/web-platform-tests/html/browsers/history/the-history-interface/traverse_the_history_4.html [ Failure ] imported/w3c/web-platform-tests/html/dom/interfaces.worker.html [ Pass Failure ] imported/w3c/web-platform-tests/mediacapture-fromelement/creation.html [ Pass Failure ] Modified: trunk/LayoutTests/imported/w3c/ChangeLog (225268 => 225269) --- trunk/LayoutTests/imported/w3c/ChangeLog 2017-11-29 17:09:57 UTC (rev 225268) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2017-11-29 17:11:36 UTC (rev 225269) @@ -1,3 +1,12 @@ +2017-11-29 Ms2ger + +Rebaseline imported/w3c/web-platform-tests/resource-timing/single-entry-per-resource.html. +https://bugs.webkit.org/show_bug.cgi?id=180142 + +Unreviewed test gardening. + +* web-platform-tests/resource-timing/single-entry-per-resource-expected.txt: + 2017-11-28 Chris Dumez Unreviewed, rebaseline a few skipped / flaky service worker tests Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/resource-timing/single-entry-per-resource-expected.txt (225268 => 225269) --- trunk/LayoutTests/imported/w3c/web-platform-tests/resource-timing/single-entry-per-resource-expected.txt 2017-11-29 17:09:57 UTC (rev 225268) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/resource-timing/single-entry-per-resource-expected.txt 2017-11-29 17:11:36 UTC (rev 225269) @@ -4,5 +4,5 @@ If the user agent is to reuse the data from another existing or completed fetch initiated from the current document, abort the remaining steps. -FAIL Only one resource entry per resource assert_equals: expected 1 but got 0 +PASS Only one resource entry per resource ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225268] trunk/LayoutTests
Title: [225268] trunk/LayoutTests Revision 225268 Author ms2...@igalia.com Date 2017-11-29 09:09:57 -0800 (Wed, 29 Nov 2017) Log Message [GTK][WPE] Test gardening https://bugs.webkit.org/show_bug.cgi?id=180136 Unreviewed test gardening. * TestExpectations: Skip more alternative-presentation-button tests. * platform/gtk/TestExpectations: Updated expectations: - fast/attachment/attachment-without-appearance.html: recently added test for a disabled feature. - fast/dom/MutationObserver/end-of-task-delivery.html: flaky. - http/tests/local/link-stylesheet-load-order-preload.html: flaky. * platform/gtk/compositing/overflow/composited-scrolling-paint-phases-expected.txt: rebaseline for r225220. * platform/mac/TestExpectations: Enable the skipped alternative-presentation-button tests. * platform/wpe/TestExpectations: Updated expectations: - fast/canvas/canvas-createPattern-video-modify.html: passing since r225060. - webanimations/*: failing since they were added; bug filed. * platform/wpe/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt: DeviceMotionEvent and DeviceMotionEvent were disabled in r225098 (matching mac ports); the remaining difference with the platform-neutral expectation is that TouchEvent is enabled here. * platform/wpe/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent-expected.txt: DeviceMotionEvent and DeviceMotionEvent were disabled in r225098 (matching mac ports); the remaining difference with the platform-neutral expectation is that TouchEvent is enabled here. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/platform/gtk/TestExpectations trunk/LayoutTests/platform/gtk/compositing/overflow/composited-scrolling-paint-phases-expected.txt trunk/LayoutTests/platform/mac/TestExpectations trunk/LayoutTests/platform/wpe/TestExpectations trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (225267 => 225268) --- trunk/LayoutTests/ChangeLog 2017-11-29 17:06:58 UTC (rev 225267) +++ trunk/LayoutTests/ChangeLog 2017-11-29 17:09:57 UTC (rev 225268) @@ -1,3 +1,29 @@ +2017-11-29 Ms2ger+ +[GTK][WPE] Test gardening +https://bugs.webkit.org/show_bug.cgi?id=180136 + +Unreviewed test gardening. + +* TestExpectations: Skip more alternative-presentation-button tests. +* platform/gtk/TestExpectations: Updated expectations: + - fast/attachment/attachment-without-appearance.html: recently added test for a disabled feature. + - fast/dom/MutationObserver/end-of-task-delivery.html: flaky. + - http/tests/local/link-stylesheet-load-order-preload.html: flaky. +* platform/gtk/compositing/overflow/composited-scrolling-paint-phases-expected.txt: rebaseline for r225220. +* platform/mac/TestExpectations: Enable the skipped alternative-presentation-button tests. +* platform/wpe/TestExpectations: Updated expectations: + - fast/canvas/canvas-createPattern-video-modify.html: passing since r225060. + - webanimations/*: failing since they were added; bug filed. +* platform/wpe/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt: + DeviceMotionEvent and DeviceMotionEvent were disabled in r225098 + (matching mac ports); the remaining difference with the platform-neutral + expectation is that TouchEvent is enabled here. +* platform/wpe/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent-expected.txt: + DeviceMotionEvent and DeviceMotionEvent were disabled in r225098 + (matching mac ports); the remaining difference with the platform-neutral + expectation is that TouchEvent is enabled here. + 2017-11-29 Antoine Quint Pressing the space bar while watching a fullscreen video doesn't play or pause Modified: trunk/LayoutTests/TestExpectations (225267 => 225268) --- trunk/LayoutTests/TestExpectations 2017-11-29 17:06:58 UTC (rev 225267) +++ trunk/LayoutTests/TestExpectations 2017-11-29 17:09:57 UTC (rev 225268) @@ -23,6 +23,8 @@ fast/zooming/ios [ Skip ] fast/forms/ios [ Skip ] fast/forms/alternative-presentation-button [ Skip ] +accessibility/alternative-presentation-button-input-type.html [ Skip ] +accessibility/alternative-presentation-button.html [ Skip ] fast/viewport/ios [ Skip ] fast/visual-viewport/ios/ [ Skip ] fast/events/ios [ Skip ] Modified: trunk/LayoutTests/platform/gtk/TestExpectations (225267 => 225268) --- trunk/LayoutTests/platform/gtk/TestExpectations 2017-11-29 17:06:58 UTC (rev 225267) +++ trunk/LayoutTests/platform/gtk/TestExpectations 2017-11-29 17:09:57 UTC (rev 225268) @@ -847,6 +847,7 @@
[webkit-changes] [225267] trunk/Source/WebKit
Title: [225267] trunk/Source/WebKit Revision 225267 Author mcatanz...@igalia.com Date 2017-11-29 09:06:58 -0800 (Wed, 29 Nov 2017) Log Message REGRESSION(r218064): [GTK] Broke entering fullscreen mode in debug builds https://bugs.webkit.org/show_bug.cgi?id=180120 Reviewed by Carlos Garcia Campos. These assertions need to be swapped. Fixes /webkit2/WebKitWebView/fullscreen in debug mode. * UIProcess/API/gtk/WebKitWebViewBase.cpp: (webkitWebViewBaseEnterFullScreen): (webkitWebViewBaseExitFullScreen): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp Diff Modified: trunk/Source/WebKit/ChangeLog (225266 => 225267) --- trunk/Source/WebKit/ChangeLog 2017-11-29 14:30:27 UTC (rev 225266) +++ trunk/Source/WebKit/ChangeLog 2017-11-29 17:06:58 UTC (rev 225267) @@ -1,3 +1,16 @@ +2017-11-29 Michael Catanzaro+ +REGRESSION(r218064): [GTK] Broke entering fullscreen mode in debug builds +https://bugs.webkit.org/show_bug.cgi?id=180120 + +Reviewed by Carlos Garcia Campos. + +These assertions need to be swapped. Fixes /webkit2/WebKitWebView/fullscreen in debug mode. + +* UIProcess/API/gtk/WebKitWebViewBase.cpp: +(webkitWebViewBaseEnterFullScreen): +(webkitWebViewBaseExitFullScreen): + 2017-11-29 Zan Dobersek [CoordGraphics] Rename CoordinatedBuffer to Nicosia::Buffer Modified: trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp (225266 => 225267) --- trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp 2017-11-29 14:30:27 UTC (rev 225266) +++ trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp 2017-11-29 17:06:58 UTC (rev 225267) @@ -1304,7 +1304,7 @@ { #if ENABLE(FULLSCREEN_API) WebKitWebViewBasePrivate* priv = webkitWebViewBase->priv; -ASSERT(priv->fullScreenModeActive); +ASSERT(!priv->fullScreenModeActive); WebFullScreenManagerProxy* fullScreenManagerProxy = priv->pageProxy->fullScreenManager(); fullScreenManagerProxy->willEnterFullScreen(); @@ -1322,7 +1322,7 @@ { #if ENABLE(FULLSCREEN_API) WebKitWebViewBasePrivate* priv = webkitWebViewBase->priv; -ASSERT(!priv->fullScreenModeActive); +ASSERT(priv->fullScreenModeActive); WebFullScreenManagerProxy* fullScreenManagerProxy = priv->pageProxy->fullScreenManager(); fullScreenManagerProxy->willExitFullScreen(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225266] trunk/Source
Title: [225266] trunk/Source Revision 225266 Author zandober...@gmail.com Date 2017-11-29 06:30:27 -0800 (Wed, 29 Nov 2017) Log Message [CoordGraphics] Rename CoordinatedBuffer to Nicosia::Buffer https://bugs.webkit.org/show_bug.cgi?id=180135 Reviewed by Carlos Garcia Campos. Source/WebCore: Rename CoordinatedBuffer to Nicosia::Buffer, starting an abstraction layer that will in the future allow us to prototype and potentially support different 2D rasterization libraries. The layer is envisioned as separate from the CoordinatedGraphics code, but will in the mid-term only be used there. In order to keep CMake changes to a minimum for now, the source code is included in the build along with the CoordinatedGraphics source files, in TextureMapper.cmake. No new tests -- no change in functionality. * platform/TextureMapper.cmake: * platform/graphics/nicosia/NicosiaBuffer.cpp: Renamed from Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBuffer.cpp. (Nicosia::Buffer::create): (Nicosia::Buffer::Buffer): (Nicosia::Buffer::context): (Nicosia::Buffer::uploadImage): * platform/graphics/nicosia/NicosiaBuffer.h: Renamed from Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBuffer.h. (Nicosia::Buffer::size const): * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: (WebCore::CoordinatedGraphicsLayer::updateContentBuffers): * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h: * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h: * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp: (WebCore::CoordinatedImageBacking::update): * platform/graphics/texmap/coordinated/CoordinatedImageBacking.h: * platform/graphics/texmap/coordinated/Tile.h: Source/WebKit: Adjust code to the CoordinatedBuffer -> Nicosia::Buffer transition. * Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp: (WebKit::CoordinatedBackingStoreTile::setBackBuffer): (WebKit::CoordinatedBackingStore::updateTile): * Shared/CoordinatedGraphics/CoordinatedBackingStore.h: * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: (WebKit::CoordinatedGraphicsScene::createUpdateAtlas): (WebKit::CoordinatedGraphicsScene::updateImageBacking): * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h: * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp: (WebKit::CompositingCoordinator::updateImageBacking): (WebKit::CompositingCoordinator::createUpdateAtlas): (WebKit::CompositingCoordinator::getCoordinatedBuffer): * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h: * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp: (WebKit::UpdateAtlas::UpdateAtlas): (WebKit::UpdateAtlas::getCoordinatedBuffer): * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/TextureMapper.cmake trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedImageBacking.h trunk/Source/WebCore/platform/graphics/texmap/coordinated/Tile.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp trunk/Source/WebKit/Shared/CoordinatedGraphics/CoordinatedBackingStore.h trunk/Source/WebKit/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp trunk/Source/WebKit/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h Added Paths trunk/Source/WebCore/platform/graphics/nicosia/ trunk/Source/WebCore/platform/graphics/nicosia/NicosiaBuffer.cpp trunk/Source/WebCore/platform/graphics/nicosia/NicosiaBuffer.h Removed Paths trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBuffer.cpp trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBuffer.h Diff Modified: trunk/Source/WebCore/ChangeLog (225265 => 225266) --- trunk/Source/WebCore/ChangeLog 2017-11-29 13:31:36 UTC (rev 225265) +++ trunk/Source/WebCore/ChangeLog 2017-11-29 14:30:27 UTC (rev 225266) @@ -1,3 +1,39 @@ +2017-11-29 Zan Dobersek+ +[CoordGraphics] Rename CoordinatedBuffer to Nicosia::Buffer +https://bugs.webkit.org/show_bug.cgi?id=180135 + +Reviewed by Carlos Garcia Campos. + +Rename CoordinatedBuffer to Nicosia::Buffer, starting an abstraction +layer that will in the future allow us to prototype and potentially +
[webkit-changes] [225265] trunk
Title: [225265] trunk Revision 225265 Author grao...@webkit.org Date 2017-11-29 05:31:36 -0800 (Wed, 29 Nov 2017) Log Message Pressing the space bar while watching a fullscreen video doesn't play or pause https://bugs.webkit.org/show_bug.cgi?id=180033 Reviewed by Eric Carlson. Source/WebCore: We register a "keydown" event to track when the space bar is pressed, and if the media is playing in fullscreen, we toggle playback. This does not interfere with full keyboard access since activating one of the media controls using the keyboard will not let the events we register for be dispatched this far along the event dispatch phase. Test: media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html * Modules/modern-media-controls/media/media-controller.js: (MediaController): (MediaController.prototype.togglePlayback): Add a catch() statement since calling play() could sometime lead to some extraneous unhandled promise console logging that pollutes test output. (MediaController.prototype.handleEvent): LayoutTests: Adding a new macOS-only test that checks that pressing the space bar while playing fullscreen pauses the media and resumes it when pressing the space bar again. * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt: Added. * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html: Added. * media/video-test.js: (runWithKeyDown): Update the key to not be space since this would cause media to be paused when entering fullscreen. * platform/ios-simulator/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/media/video-test.js trunk/LayoutTests/platform/ios-simulator/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/modern-media-controls/media/media-controller.js Added Paths trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html Diff Modified: trunk/LayoutTests/ChangeLog (225264 => 225265) --- trunk/LayoutTests/ChangeLog 2017-11-29 07:52:47 UTC (rev 225264) +++ trunk/LayoutTests/ChangeLog 2017-11-29 13:31:36 UTC (rev 225265) @@ -1,3 +1,20 @@ +2017-11-29 Antoine Quint+ +Pressing the space bar while watching a fullscreen video doesn't play or pause +https://bugs.webkit.org/show_bug.cgi?id=180033 + + +Reviewed by Eric Carlson. + +Adding a new macOS-only test that checks that pressing the space bar while playing fullscreen +pauses the media and resumes it when pressing the space bar again. + +* media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt: Added. +* media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html: Added. +* media/video-test.js: +(runWithKeyDown): Update the key to not be space since this would cause media to be paused when entering fullscreen. +* platform/ios-simulator/TestExpectations: + 2017-11-28 Zan Dobersek [Cairo] Limit the number of active contexts in GraphicsContext3DCairo Added: trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt (0 => 225265) --- trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt (rev 0) +++ trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt 2017-11-29 13:31:36 UTC (rev 225265) @@ -0,0 +1,29 @@ +Testing media is paused and resumed when pressing the space bar in fullscreen. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + + +Obtained a 'play' event. + +Entering fullscreen. + +Obtained a 'webkitfullscreenchange' event. +media.webkitDisplayingFullscreen = true. +PASS media.paused is false + +Pressing the space bar. + +Obtained a 'pause' event. + +Pressing the space bar. + +Obtained a 'play' event. + +Obtained a 'webkitfullscreenchange' event. +media.webkitDisplayingFullscreen = false. + +PASS successfullyParsed is true + +TEST COMPLETE + Added: trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html (0 => 225265) --- trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html (rev 0) +++ trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html 2017-11-29 13:31:36 UTC (rev 225265) @@ -0,0 +1,87 @@ + + + + + + +window.jsTestIsAsync = true; + +description("Testing media is paused and resumed when pressing the space bar in