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

Timeline



Mar 4, 2018:

6:33 PM Changeset in webkit [229209] by Yusuke Suzuki
  • 187 edits
    1 delete in trunk

[WTF] Move currentCPUTime and sleep(Seconds) to CPUTime.h and Seconds.h respectively
https://bugs.webkit.org/show_bug.cgi?id=183312

Reviewed by Mark Lam.

Source/JavaScriptCore:

Remove wtf/CurrentTime.h include pragma.

  • API/tests/ExecutionTimeLimitTest.cpp:

(currentCPUTimeAsJSFunctionCallback):
(testExecutionTimeLimit):

  • bytecode/SuperSampler.cpp:
  • dfg/DFGPlan.cpp:
  • heap/BlockDirectory.cpp:
  • heap/Heap.cpp:
  • heap/IncrementalSweeper.cpp:
  • inspector/agents/InspectorConsoleAgent.cpp:
  • inspector/agents/InspectorRuntimeAgent.cpp:
  • profiler/ProfilerDatabase.cpp:
  • runtime/CodeCache.h:
  • runtime/JSDateMath.cpp:
  • runtime/TypeProfilerLog.cpp:
  • runtime/VM.cpp:
  • runtime/Watchdog.cpp:

(JSC::Watchdog::shouldTerminate):
(JSC::Watchdog::startTimer):

  • testRegExp.cpp:
  • wasm/js/JSWebAssemblyCodeBlock.cpp:

Source/WebCore:

Remove wtf/CurrentTime.h include pragma.

  • Modules/geolocation/Geolocation.cpp:
  • Modules/mediasource/SourceBuffer.cpp:
  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
  • Modules/speech/SpeechSynthesis.cpp:
  • contentextensions/ContentExtensionCompiler.cpp:
  • contentextensions/ContentExtensionParser.cpp:
  • dom/Document.cpp:
  • dom/Element.cpp:
  • dom/Event.cpp:
  • dom/ScriptedAnimationController.cpp:
  • dom/SimulatedClick.cpp:
  • fileapi/File.cpp:
  • fileapi/FileReader.cpp:
  • history/CachedPage.cpp:
  • html/BaseDateAndTimeInputType.cpp:
  • html/DateTimeInputType.cpp:
  • html/HTMLMediaElement.cpp:
  • html/MediaController.cpp:
  • html/MediaElementSession.cpp:
  • html/MonthInputType.cpp:
  • html/TimeInputType.cpp:
  • html/parser/HTMLParserScheduler.h:
  • inspector/InspectorCanvas.cpp:
  • loader/FrameLoader.cpp:
  • loader/LoadTiming.cpp:
  • loader/NavigationScheduler.cpp:
  • loader/ProgressTracker.cpp:
  • loader/cache/CachedCSSStyleSheet.cpp:
  • loader/cache/CachedImage.cpp:
  • loader/cache/CachedResource.cpp:
  • loader/cache/MemoryCache.cpp:
  • page/DOMTimer.cpp:
  • page/DOMWindow.cpp:
  • page/DragController.cpp:
  • page/EventHandler.cpp:
  • page/FocusController.cpp:
  • page/FrameView.cpp:
  • page/Page.cpp:
  • page/Performance.cpp:
  • page/PerformanceTiming.cpp:
  • page/animation/AnimationBase.cpp:
  • page/animation/CSSAnimationController.cpp:
  • page/mac/WheelEventDeltaFilterMac.mm:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
  • platform/ScrollAnimationKinetic.cpp:
  • platform/ScrollAnimationSmooth.cpp:
  • platform/ThreadTimers.cpp:
  • platform/Timer.cpp:
  • platform/audio/mac/AudioSampleDataSource.mm:
  • platform/cocoa/ScrollController.mm:
  • platform/gamepad/cocoa/GameControllerGamepad.mm:
  • platform/gamepad/mac/HIDGamepad.cpp:
  • platform/graphics/BitmapImage.cpp:
  • platform/graphics/DisplayRefreshMonitorManager.cpp:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
  • platform/graphics/ca/GraphicsLayerCA.cpp:
  • platform/graphics/ca/LayerPool.cpp:
  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
  • platform/graphics/ca/win/CACFLayerTreeHost.cpp:
  • platform/graphics/ca/win/PlatformCALayerWin.cpp:
  • platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
  • platform/graphics/cg/GraphicsContextCG.cpp:
  • platform/graphics/cocoa/WebCoreDecompressionSession.mm:
  • platform/graphics/ios/DisplayRefreshMonitorIOS.mm:
  • platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
  • platform/graphics/texmap/BitmapTexturePool.h:
  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
  • platform/graphics/texmap/TextureMapper.cpp:
  • platform/graphics/texmap/TextureMapperAnimation.cpp:
  • platform/graphics/texmap/TextureMapperFPSCounter.cpp:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
  • platform/graphics/win/GraphicsContextDirect2D.cpp:
  • platform/graphics/win/GraphicsLayerDirect2D.cpp:
  • platform/gtk/PlatformKeyboardEventGtk.cpp:
  • platform/gtk/ScrollAnimatorGtk.cpp:
  • platform/ios/LegacyTileCache.mm:
  • platform/ios/LegacyTileLayerPool.mm:
  • platform/ios/ScrollViewIOS.mm:
  • platform/mediastream/RealtimeOutgoingVideoSource.cpp:
  • platform/mediastream/mac/DisplayCaptureSourceCocoa.cpp:
  • platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm:
  • platform/mock/MockRealtimeMediaSource.cpp:
  • platform/mock/MockRealtimeVideoSource.cpp:
  • platform/network/CacheValidation.cpp:
  • platform/network/DNSResolveQueue.cpp:
  • platform/network/ResourceResponseBase.cpp:
  • platform/network/curl/CurlCacheEntry.cpp:
  • platform/network/soup/ResourceHandleSoup.cpp:
  • platform/text/TextEncodingRegistry.cpp:
  • platform/text/win/LocaleWin.cpp:
  • platform/win/MainThreadSharedTimerWin.cpp:
  • platform/win/PlatformMouseEventWin.cpp:
  • rendering/RenderLayerCompositor.cpp:
  • rendering/RenderProgress.cpp:
  • svg/animation/SMILTimeContainer.cpp:
  • testing/MockGamepad.cpp:
  • workers/WorkerRunLoop.cpp:

Source/WebCore/PAL:

Remove wtf/CurrentTime.h include pragma.

  • pal/system/ClockGeneric.cpp:

Source/WebKit:

Remove wtf/CurrentTime.h include pragma.

  • NetworkProcess/NetworkResourceLoader.cpp:
  • NetworkProcess/cache/CacheStorageEngineCache.cpp:
  • NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
  • Platform/IPC/Connection.cpp:
  • Platform/unix/SharedMemoryUnix.cpp:
  • PluginProcess/WebProcessConnection.cpp:
  • Shared/ios/NativeWebTouchEventIOS.mm:
  • UIProcess/DrawingAreaProxyImpl.cpp:
  • UIProcess/ios/WKContentView.mm:
  • UIProcess/linux/MemoryPressureMonitor.cpp:
  • WebProcess/Gamepad/WebGamepad.cpp:
  • WebProcess/Plugins/PDF/PDFPlugin.mm:
  • WebProcess/WebCoreSupport/WebInspectorClient.cpp:
  • WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm:
  • WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp:
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.mm:
  • WebProcess/WebPage/WebURLSchemeTaskProxy.cpp:
  • WebProcess/WebProcess.cpp:
  • WebProcess/cocoa/WebProcessCocoa.mm:
  • WebProcess/gtk/WebProcessMainGtk.cpp:
  • WebProcess/win/WebProcessMainWin.cpp:
  • WebProcess/wpe/WebProcessMainWPE.cpp:

Source/WebKitLegacy/mac:

Remove wtf/CurrentTime.h include pragma.

  • WebView/WebFrame.mm:
  • WebView/WebPDFView.mm:

Source/WebKitLegacy/win:

Remove wtf/CurrentTime.h include pragma.

  • WebDownload.cpp:
  • WebDownloadCFNet.cpp:
  • WebDropSource.cpp:

Source/WTF:

  1. currentCPUTime to CPUTime.h. It is now defined as CPUTime::forCurrentThread.

We also removes fallback implementation for currentCPUTime since (1) that implementation
is wrong and (2) no environments we support needs this.

  1. sleep(Seconds) to Seconds.h. Since sleep(MonotonicTime) and sleep(WallTime) are defined

in MonotonicTime.h and WallTime.h, this code move is natural.

  1. Remove wtf/CurrentTime.h since nothing is defined now. But we keep CurrentTime.cpp to

consolidate various time-source implementations in one place.

  • WTF.xcodeproj/project.pbxproj:
  • benchmarks/ConditionSpeedTest.cpp:
  • benchmarks/LockFairnessTest.cpp:
  • benchmarks/LockSpeedTest.cpp:
  • wtf/CMakeLists.txt:
  • wtf/CPUTime.h:
  • wtf/CurrentTime.cpp:

(WTF::currentCPUTime): Deleted.
(WTF::sleep): Deleted.

  • wtf/CurrentTime.h: Removed.
  • wtf/DateMath.cpp:
  • wtf/DebugUtilities.h:
  • wtf/FastMalloc.cpp:
  • wtf/MainThread.cpp:
  • wtf/MonotonicTime.cpp:
  • wtf/ParkingLot.cpp:
  • wtf/Seconds.cpp:

(WTF::sleep):

  • wtf/Seconds.h:
  • wtf/StackShotProfiler.h:
  • wtf/Stopwatch.h:
  • wtf/ThreadingPthreads.cpp:
  • wtf/ThreadingWin.cpp:
  • wtf/cocoa/CPUTimeCocoa.mm:

(WTF::CPUTime::forCurrentThread):

  • wtf/cocoa/MemoryPressureHandlerCocoa.mm:
  • wtf/linux/MemoryPressureHandlerLinux.cpp:
  • wtf/unix/CPUTimeUnix.cpp:

(WTF::CPUTime::forCurrentThread):

  • wtf/win/CPUTimeWin.cpp:

(WTF::CPUTime::forCurrentThread):

  • wtf/win/RunLoopWin.cpp:

Tools:

Remove wtf/CurrentTime.h include pragma.

  • DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
  • DumpRenderTree/TestNetscapePlugIn/Tests/EvaluateJSWithinNPP_New.cpp:
  • DumpRenderTree/TestNetscapePlugIn/Tests/InvokeDestroysPluginWithinNPP_New.cpp:
  • DumpRenderTree/TestNetscapePlugIn/Tests/SlowNPPNew.cpp:
  • TestWebKitAPI/Tests/WTF/Condition.cpp:
  • TestWebKitAPI/Tests/WTF/Signals.cpp:
  • TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
  • TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
  • TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
  • TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
  • TestWebKitAPI/jsconly/PlatformUtilitiesJSCOnly.cpp:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:
6:15 PM Changeset in webkit [229208] by Yusuke Suzuki
  • 2 edits in trunk/Source/WTF

[WTF] Use builtin_xxx_overflow for CheckedArithmetic
https://bugs.webkit.org/show_bug.cgi?id=183319

Reviewed by Darin Adler.

GCC and Clang has the builtins for arithmetic operations with overflow flags.
CheckedArithmetic operations can be done with this builtins. Since the compiler
can use overflow flags, potentially this is more efficient. CheckedArithmetic
already has TestWebKitAPI tests and we ensured the tests pass.

  • wtf/CheckedArithmetic.h:
4:44 PM Changeset in webkit [229207] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark http/wpt/html/browsers/history/the-location-interface/location-protocol-setter-non-broken-async-delegate.html as failure on Windows.
https://bugs.webkit.org/show_bug.cgi?id=183322

Unreviewed test gardening.

  • platform/win/TestExpectations:
2:59 PM Changeset in webkit [229206] by BJ Burg
  • 2 edits in trunk/Source/WebKit

Web Automation: script evaluations via WebDriver should have a user gesture indicator
https://bugs.webkit.org/show_bug.cgi?id=183230
<rdar://problem/37959739>

Reviewed by Andy Estes.

APIs that normally require a user gesture should just work when using via WebDriver.
To support cases where tests need to simulate user actions with JavaScript, use a
fake user gesture, similar to how -[WKWebView evaluateJavaScript:] forces a user
gesture when clients evaluate JavaScript in their web view.

No new tests, this is covered by W3C tests that use the Fullscreen API.
This API does nothing if there is no user gesture; with this patch, it just works.

  • WebProcess/Automation/WebAutomationSessionProxy.cpp:

(WebKit::WebAutomationSessionProxy::evaluateJavaScriptFunction):

12:03 PM Changeset in webkit [229205] by timothy_horton@apple.com
  • 13 edits in trunk

Make !ENABLE(DATA_DETECTION) iOS build actually succeed
https://bugs.webkit.org/show_bug.cgi?id=183283
<rdar://problem/38062148>

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]):
(-[WKContentView _dataForPreviewItemController:atPosition:type:]):
Guard some more code with ENABLE(DATA_DETECTION).

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
11:37 AM Changeset in webkit [229204] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit

Building with ONLY_ACTIVE_ARCH=NO and ARCHS=x86_64 fails
https://bugs.webkit.org/show_bug.cgi?id=183320

Reviewed by Tim Horton.

  • Configurations/PluginService.32.xcconfig: If the Apple build tool specifies RC_ARCHS=x86_64, then let the service build for x86_64, but don’t install it.
8:57 AM WebKitGTK/2.20.x edited by Michael Catanzaro
(diff)
8:56 AM Changeset in webkit [229203] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[l10n] Updated Indonesian translation for WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=183318

Patch by Andika Triwidada <atriwidada@gnome.org> on 2018-03-04
Rubber-stamped by Michael Catanzaro.

  • id.po:
3:08 AM WebKitGTK/2.20.x edited by Philippe Normand
(diff)

Mar 3, 2018:

9:19 PM Changeset in webkit [229202] by commit-queue@webkit.org
  • 5 edits in trunk

Delete incorrect version of clampTo() function from SVGToOTFFontConversion.cpp
https://bugs.webkit.org/show_bug.cgi?id=183165

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2018-03-03
Reviewed by Darin Adler.

Source/WebCore:

Some of the calls in SVGToOTFFontConversion.cpp were directed to the function
in MathExtras.h while the rest were directed to this local static function.
There should not be two versions with the same name while they are supposed
to do the same thing. Besides, the local version does not work correctly
if the type of the argument's max limit is less the max limit of the returned
type, e.g. char -> uint16_t.

  • svg/SVGToOTFFontConversion.cpp:

(WebCore::clampTo): Deleted.

LayoutTests:

Re-baseline the results of these two tests since the local version of
clampTo() was not returning the expected results always.

  • platform/ios/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.txt:
  • platform/ios/svg/text/text-altglyph-01-b-expected.txt:
3:27 PM Changeset in webkit [229201] by Brent Fulgham
  • 6 edits in trunk/Source/WebKit

Notify the NetworkProcess when a session is servicing an automation client
https://bugs.webkit.org/show_bug.cgi?id=183306
<rdar://problem/37835783>

Reviewed by Brian Burg.

Network loads servicing WebDriver are done through an ephemeral session. While this is great
for protecting a developer's machine from sharing state with test runs, it has the unintended
effect of blocking certain logging operations.

We do not log content in ephemeral sessions to protect user privacy. However, ephemeral sessions
generated by WebDriver should participate in logging so that proper testing (with logging) can
be done.

This patch signals the NetworkProcess when an ephemeral session (created for automation purposes)
is created, so that it can allow logging.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::destroySession): Remove controlled-by-automation entry.
(WebKit::NetworkProcess::sessionIsControlledByAutomation const): Added.
(WebKit::NetworkProcess::setSessionIsControlledByAutomation): Added.

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::isAlwaysOnLoggingAllowed const): Checks if the relevant session
is servicing an automation client, and returns true if it is.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy): Signal the network process if this page is being created
for an automation client.

12:13 PM Changeset in webkit [229200] by Alan Bujtas
  • 10 edits in trunk

[RenderTreeBuilder] Move styleDidChange mutation logic to RenderTreeUpdater
https://bugs.webkit.org/show_bug.cgi?id=183273
<rdar://problem/38054892>

Reviewed by Antti Koivisto.

Source/WebCore:

Covered by existing tests.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::styleDidChange):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::styleDidChange):
(WebCore::RenderElement::noLongerAffectsParentBlock const): Deleted.

  • rendering/RenderElement.h:
  • rendering/updating/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::updateElementRenderer):

LayoutTests:

This is just a different repaint order.

  • fast/repaint/absolute-position-change-containing-block-expected.txt:
11:02 AM Changeset in webkit [229199] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[GTK] POTFILES.in is out of date
https://bugs.webkit.org/show_bug.cgi?id=183313

Unreviewed, remove WebErrorsGLib.cpp after r229193

  • POTFILES.in:
2:18 AM Changeset in webkit [229198] by bshafiei@apple.com
  • 7 edits in tags/Safari-606.1.6.0.1/Source

Versioning.

1:43 AM Changeset in webkit [229197] by bshafiei@apple.com
  • 1 copy in tags/Safari-606.1.6.0.1

Tag Safari-606.1.6.0.1.

12:57 AM Changeset in webkit [229196] by yoav@yoav.ws
  • 5 edits
    3 adds in trunk

Source/WebCore:
Link headers for subresources are not being processes
https://bugs.webkit.org/show_bug.cgi?id=181789

Reviewed by Youenn Fablet.

Triggers Link header processing when the Link headers arrive on a subresource.

Test: http/tests/preload/link-header-on-subresource.html

  • loader/LinkLoader.cpp:

(WebCore::LinkLoader::loadLinksFromHeader): Change the media check conditions.

  • loader/LinkLoader.h: Add a third state for media checks.
  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveResponse): Preload links from headers for subresources.

LayoutTests:
Link headers for subresources are not being processed
https://bugs.webkit.org/show_bug.cgi?id=181789

Reviewed by Youenn Fablet.

Adds tests to make sure Link headers on subresources are being processed.

  • http/tests/preload/link-header-on-subresource-expected.txt: Added.
  • http/tests/preload/link-header-on-subresource.html: Added.
  • http/tests/preload/resources/dummy-preloads-subresource.css.php: Added.
Note: See TracTimeline for information about the timeline view.