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

Timeline



Sep 24, 2017:

10:57 PM Changeset in webkit [222439] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Incremental builds fail every time Web Inspector icons are removed
https://bugs.webkit.org/show_bug.cgi?id=177349

Patch by Fujii Hironori <Fujii Hironori> on 2017-09-24
Reviewed by Carlos Garcia Campos.

Removing GTK WebInspector image files always breaks the GTK and
WPE ports incremental builds.

  • Scripts/webkitdirs.pm:

(shouldRemoveCMakeCache): Check the timestamp of
Source/WebInspectorUI/UserInterface/Images/gtk directory if
isGtk() or isWPE().

8:02 PM Changeset in webkit [222438] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit

Viewport fit is no longer experimental
https://bugs.webkit.org/show_bug.cgi?id=177417

Reviewed by Darin Adler.

  • Shared/WebPreferencesDefinitions.h:
7:05 PM WebIDLToDo edited by sam@webkit.org
(diff)
4:52 PM Changeset in webkit [222437] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit

[GTK] Unreviewed, move webkit_hit_test_result_context_is_scrollbar in documentation

  • UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
11:55 AM Changeset in webkit [222436] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Reduce work during resizing
https://bugs.webkit.org/show_bug.cgi?id=177402

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-24
Reviewed by Matt Baker.

  • UserInterface/Views/ConsolePrompt.js:

(WI.ConsolePrompt.prototype.layout):
In the most common case there is no text so avoid doing work in CodeMirror.

11:30 AM Changeset in webkit [222435] by Antti Koivisto
  • 12 edits in trunk/Source/WebCore

Remove CSS regions related fields from RenderStyle
https://bugs.webkit.org/show_bug.cgi?id=177415

Reviewed by Sam Weinig.

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::operator RegionFragment const): Deleted.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::avoidsFloats const): Deleted.

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::hasNextPage const):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects const):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayout const):

  • rendering/style/RenderStyle.h:

(WebCore::pseudoElementRendererIsNeeded):
(WebCore::RenderStyle::hasFlowInto const): Deleted.
(WebCore::RenderStyle::flowThread const): Deleted.
(WebCore::RenderStyle::hasFlowFrom const): Deleted.
(WebCore::RenderStyle::regionThread const): Deleted.
(WebCore::RenderStyle::regionFragment const): Deleted.
(WebCore::RenderStyle::setFlowThread): Deleted.
(WebCore::RenderStyle::setRegionThread): Deleted.
(WebCore::RenderStyle::setRegionFragment): Deleted.
(WebCore::RenderStyle::initialFlowThread): Deleted.
(WebCore::RenderStyle::initialRegionThread): Deleted.
(WebCore::RenderStyle::initialRegionFragment): Deleted.

  • rendering/style/RenderStyleConstants.h:
  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator== const):

  • rendering/style/StyleRareNonInheritedData.h:
8:07 AM Changeset in webkit [222434] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit

Alphabetize experimental features list
https://bugs.webkit.org/show_bug.cgi?id=177374

Reviewed by Darin Adler.

  • Shared/WebPreferencesDefinitions.h:
4:52 AM Changeset in webkit [222433] by jdiggs@igalia.com
  • 8 edits
    4 moves in trunk

[ATK] Object attributes are missing for ARIA live region roles
https://bugs.webkit.org/show_bug.cgi?id=171174

Reviewed by Chris Fleizach.

Source/WebCore:

Expose the values of aria-live, aria-atomic, and aria-relevant via AtkObject
attributes on live region elements and their descendants. In order to accomplish
exposure on descendants, add AccessibilityObject::ariaLiveRegionAncestor(). Add an
optional argument, excludeIfOff, to AccessibilityObject::isInsideARIALiveRegion()
and AccessibilityObject::supportsARIALiveRegion(). This is needed because we need
to expose live region properties via ATK even in the case where the live region
is disabled/off, but supportsARIALiveRegion() deliberately checks if the live
region is enabled.

Tests: accessibility/aria-liveregion-marquee-default.html

accessibility/aria-liveregions-attributes.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isInsideARIALiveRegion const):
(WebCore::AccessibilityObject::ariaLiveRegionAncestor const):
(WebCore::AccessibilityObject::supportsARIALiveRegion const):

  • accessibility/AccessibilityObject.h:
  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetAttributes):

Tools:

Add support for testing property values for AXARIALive, AXARIAAtomic, and
AXARIARelevant. Also add handling for testing whether AXElementBusy is
"supported" (in ATK, busy is a state and is supported on all elements
regardless of whether the state is present or absent from the state set).

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::boolAttributeValue):
(WTR::AccessibilityUIElement::isAttributeSupported):

LayoutTests:

Move two macOS tests to the shared layout test set.

  • accessibility/aria-liveregion-marquee-default-expected.txt: Renamed from LayoutTests/accessibility/mac/aria-liveregion-marquee-default-expected.txt.
  • accessibility/aria-liveregion-marquee-default.html: Renamed from LayoutTests/accessibility/mac/aria-liveregion-marquee-default.html.
  • accessibility/aria-liveregions-attributes-expected.txt: Renamed from LayoutTests/accessibility/mac/aria-liveregions-attributes-expected.txt.
  • accessibility/aria-liveregions-attributes.html: Renamed from LayoutTests/accessibility/mac/aria-liveregions-attributes.html.
  • platform/win/TestExpectations: Add the above tests to the list of known failures.
3:32 AM Changeset in webkit [222432] by zandobersek@gmail.com
  • 5 edits in trunk

[WebKit] Changing EME setting through InjectedBundle should update WebPreferencesStore
https://bugs.webkit.org/show_bug.cgi?id=177312

Reviewed by Carlos Garcia Campos.

Source/WebKit:

When enabling EME through the InjectedBundle for testing purposes, it's
only enabled in RuntimeEnabledFeatures, but not in WebPreferencesStore.
This causes failures on imported W3C tests that cover EME persistent
state licenses and perform parts of that test in a new window, where
the original RuntimeEnabledFeatures state doesn't have any effect.

To avoid those failures, when enabling EME feature for testing purposes
through InjectedBundle, the feature should also be enabled in the
WebPreferencesStore.

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

LayoutTests:

Update test baselines for two tests that now properly execute (even if
they still fail) due to EME setting now also being updated in
WebPreferencesStore.

  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-destroy-persistent-license-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-license-expected.txt:

Sep 23, 2017:

11:22 PM Changeset in webkit [222431] by achristensen@apple.com
  • 14 edits
    1 add in branches/safari-604-branch

REGRESSION(r214201): WebProcess hangs during policy decisions
https://bugs.webkit.org/show_bug.cgi?id=177411
<rdar://problem/33362929>

Reviewed by Geoffrey Garen.

Source/WebKit:

decidePolicyForNavigationAction and decidePolicyForNavigationResponse used to have
a shortcut path for if you called the decisionHandler synchronously and a different path
for asynchronous decisionHandler calling. r214201 made it so there is one path but the
WebProcess hangs, which prevents us from executing JavaScript in the WebProcess where we
could before. This patch effectively reverts r214201 on the branch and pipes the WebsitePolicies
through the asynchronous decisionHandler path to be used only for decidePolicyForNavigationAction,
which is the only such callback that can set the WebsitePolicies.

This patch is for the safari-604-branch branch. I'll fix this problem on trunk by making all
policy messages async and using different message types for each policy check, and then I'll
get this same API test working on trunk.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageNavigationClient):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForResponseSync):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebKit::WebFrameLoaderClient::applyToDocumentLoader):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
(WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::setUpPolicyListener):
(WebKit::WebFrame::invalidatePolicyListener):
(WebKit::WebFrame::didReceivePolicyDecision):

  • WebProcess/WebPage/WebFrame.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didReceivePolicyDecision):

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

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2Cocoa/JavaScriptDuringNavigation.mm: Added.

(-[JSNavigationDelegate webView:didFinishNavigation:]):
(-[JSNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[JSNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
(-[JSNavigationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):

8:53 PM Changeset in webkit [222430] by commit-queue@webkit.org
  • 37 edits
    3 adds
    1 delete in trunk/Source/ThirdParty/libwebrtc

Export libwebrtc symbols through an export file
https://bugs.webkit.org/show_bug.cgi?id=177344

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-23
Reviewed by Darin Adler.

Removing export changes made to libwebrtc.
Exporting based on libwebrtc.exp file.

  • Configurations/Base.xcconfig:
  • Configurations/libwebrtc.exp: Added.
  • Configurations/libwebrtc.xcconfig:
  • Source/webrtc/api/jsep.h:

(): Deleted.

  • Source/webrtc/api/mediatypes.h:
  • Source/webrtc/api/peerconnectioninterface.h:
  • Source/webrtc/api/rtcerror.h:
  • Source/webrtc/api/stats/rtcstats.h:
  • Source/webrtc/api/stats/rtcstatsreport.h:

(): Deleted.

  • Source/webrtc/api/video/i420_buffer.h:
  • Source/webrtc/api/video/video_frame.h:

(): Deleted.

  • Source/webrtc/api/video/video_frame_buffer.h:
  • Source/webrtc/base/asyncpacketsocket.h:
  • Source/webrtc/base/asyncresolverinterface.h:

(): Deleted.

  • Source/webrtc/base/checks.h:

(): Deleted.

  • Source/webrtc/base/copyonwritebuffer.h:

(): Deleted.

  • Source/webrtc/base/event.h:

(): Deleted.

  • Source/webrtc/base/export.h: Removed.
  • Source/webrtc/base/helpers.h:
  • Source/webrtc/base/ipaddress.h:
  • Source/webrtc/base/location.h:

(): Deleted.

  • Source/webrtc/base/logging.h:
  • Source/webrtc/base/messagehandler.h:
  • Source/webrtc/base/network.h:
  • Source/webrtc/base/proxyinfo.h:
  • Source/webrtc/base/socketaddress.h:

(): Deleted.

  • Source/webrtc/base/thread.h:
  • Source/webrtc/common_video/include/i420_buffer_pool.h:

(): Deleted.

  • Source/webrtc/common_video/include/video_frame_buffer.h:

(): Deleted.

  • Source/webrtc/common_video/libyuv/include/webrtc_libyuv.h:
  • Source/webrtc/media/engine/webrtcvideoencoderfactory.h:

(): Deleted.

  • Source/webrtc/p2p/base/basicpacketsocketfactory.h:

(): Deleted.

  • Source/webrtc/p2p/client/basicportallocator.h:
  • Source/webrtc/pc/mediastream.h:
  • Source/webrtc/sdk/objc/Framework/Classes/Video/corevideo_frame_buffer.h:

(): Deleted.

  • Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.h:

(): Deleted.

  • Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.h:

(): Deleted.

  • libwebrtc.xcodeproj/project.pbxproj:
7:38 PM Changeset in webkit [222429] by commit-queue@webkit.org
  • 68 edits in trunk/Source/WebCore

Remove SetterMayThrowException
https://bugs.webkit.org/show_bug.cgi?id=177408

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-23
Reviewed by Sam Weinig.

No change of behavior.

Updating IDLs to remove SetterMayThrowException as it is no longer needed.
Updating AttributeSetter to compute the return type using Functor.

  • Modules/indexeddb/IDBIndex.idl:
  • Modules/indexeddb/IDBObjectStore.idl:
  • Modules/mediasource/MediaSource.idl:
  • Modules/mediasource/SourceBuffer.idl:
  • Modules/mediastream/RTCDataChannel.idl:
  • Modules/webaudio/AnalyserNode.idl:
  • Modules/webaudio/AudioNode.idl:
  • Modules/webaudio/ConvolverNode.idl:
  • Modules/webaudio/OscillatorNode.idl:
  • Modules/websockets/WebSocket.idl:
  • bindings/js/JSDOMAttribute.h:

(WebCore::AttributeSetter::call):
(WebCore::AttributeSetter<ExceptionOr<void>>::call): Deleted.
(WebCore::AttributeSetter<void>::call): Deleted.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateAttributeSetterBodyDefinition):

  • bindings/scripts/IDLAttributes.json:
  • bindings/scripts/test/JS/JSTestCEReactions.cpp:
  • bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
  • bindings/scripts/test/JS/JSTestCallTracer.cpp:
  • bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
  • bindings/scripts/test/JS/JSTestGlobalObject.cpp:
  • bindings/scripts/test/JS/JSTestInterface.cpp:
  • bindings/scripts/test/JS/JSTestNode.cpp:
  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/JS/JSTestSerialization.cpp:
  • bindings/scripts/test/JS/JSTestSerializationInherit.cpp:
  • bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  • bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
  • bindings/scripts/test/JS/JSTestTypedefs.cpp:
  • bindings/scripts/test/TestObj.idl:
  • bindings/scripts/test/TestTypedefs.idl:
  • css/CSSRule.idl:
  • css/CSSStyleDeclaration.idl:
  • css/DeprecatedCSSOMValue.idl:
  • css/FontFace.idl:
  • css/MediaList.idl:
  • dom/Document.idl:
  • dom/Element.idl:
  • dom/Node.idl:
  • dom/ShadowRoot.idl:
  • html/DOMURL.idl:
  • html/HTMLElement.idl:
  • html/HTMLInputElement.idl:
  • html/HTMLMarqueeElement.idl:
  • html/HTMLMediaElement.idl:
  • html/HTMLOptionsCollection.idl:
  • html/HTMLSelectElement.idl:
  • html/HTMLTableElement.idl:
  • html/HTMLTextAreaElement.idl:
  • html/MediaController.idl:
  • html/track/VTTCue.idl:
  • html/track/VTTRegion.idl:
  • page/History.idl:
  • page/Location.idl:
  • svg/SVGAltGlyphElement.idl:
  • svg/SVGAngle.idl:
  • svg/SVGAnimatedBoolean.idl:
  • svg/SVGAnimatedEnumeration.idl:
  • svg/SVGAnimatedInteger.idl:
  • svg/SVGAnimatedNumber.idl:
  • svg/SVGAnimatedString.idl:
  • svg/SVGLength.idl:
  • svg/SVGMatrix.idl:
  • svg/SVGNumber.idl:
  • svg/SVGPoint.idl:
  • svg/SVGPreserveAspectRatio.idl:
  • svg/SVGRect.idl:
  • svg/SVGViewSpec.idl:
  • xml/XMLHttpRequest.idl:
5:46 PM Changeset in webkit [222428] by keith_miller@apple.com
  • 3 edits in trunk/JSTests

Fix infinite looping test262 test
https://bugs.webkit.org/show_bug.cgi?id=177412

Reviewed by Yusuke Suzuki.

This test was poorly designed since failing it would cause the vm
to inifinite loop. I've fixed it locally and will fix it on github pending
the results of next weeks tc39 meeting.

  • test262.yaml:
  • test262/test/language/statements/for-of/iterator-next-reference.js:
2:05 PM Changeset in webkit [222427] by commit-queue@webkit.org
  • 5 edits in trunk/Source

Images may render partial frames even after loading all the encoded data
https://bugs.webkit.org/show_bug.cgi?id=177406

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-09-23
Reviewed by Simon Fraser.

Source/WebCore:

Because we do not want to block the main thread waiting for the image decoding
thread to terminate, we let the decoding thread finish its work even it will
be thrown away. If a new decoding thread is created and the SynchronizedFixedQueue
is reopened, the terminating decoding thread might have the chance to process
a new frame request. After it finishes decoding it, it realize that it is
terminating so it will drop the decoded frame to the floor. So the new request
was not processed by the new thread and because it was processed by the
terminating thread, nothing will be reported to the BitmapImage object and
the renderer will not be repainted.

The fix is to create a new SynchronizedFixedQueue every time a decoding
thread is created. This will guarantee that the terminating thread won't
have access to the new frame request and will shut down after being notified
by the old SynchronizedFixedQueue that it has been closed.

  • platform/graphics/ImageFrameCache.cpp:

(WebCore::ImageFrameCache::frameRequestQueue):
(WebCore::ImageFrameCache::startAsyncDecodingQueue):
(WebCore::ImageFrameCache::requestFrameAsyncDecodingAtIndex):
(WebCore::ImageFrameCache::stopAsyncDecodingQueue):

  • platform/graphics/ImageFrameCache.h:

Source/WTF:

Make it possible to create a RefPtr<SynchronizedFixedQueue>.

  • wtf/SynchronizedFixedQueue.h:

(WTF::SynchronizedFixedQueue::create):
(WTF::SynchronizedFixedQueue::enqueue):
(WTF::SynchronizedFixedQueue::dequeue):

12:17 PM Changeset in webkit [222426] by Michael Catanzaro
  • 2 edits in trunk/Tools

Unreviewed Mac CMake build fixup after r222194

  • DumpRenderTree/PlatformMac.cmake:
8:05 AM Changeset in webkit [222425] by gskachkov@gmail.com
  • 6 edits in trunk/Source/JavaScriptCore

[ESNext] Async iteration - Implement Async Generator - optimization
https://bugs.webkit.org/show_bug.cgi?id=175891

Reviewed by Yusuke Suzuki.

Add small optimization for async generators:

  1. merging async generator queue to async generator itself

generator.@first / generator.@last is enough, by doing so,

we remove one unnecessary object alloc.

  1. merging request with queue.
  • builtins/AsyncGeneratorPrototype.js:

(globalPrivate.asyncGeneratorQueueIsEmpty):
(globalPrivate.asyncGeneratorQueueCreateItem):
(globalPrivate.asyncGeneratorQueueEnqueue):
(globalPrivate.asyncGeneratorQueueDequeue):
(globalPrivate.asyncGeneratorDequeue):
(globalPrivate.isSuspendYieldState):
(globalPrivate.asyncGeneratorEnqueue):

  • builtins/BuiltinNames.h:
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitPutAsyncGeneratorFields):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::FunctionNode::emitBytecode):

4:01 AM Changeset in webkit [222424] by commit-queue@webkit.org
  • 4 edits in trunk

test262: $.agent became $262.agent in test262 update
https://bugs.webkit.org/show_bug.cgi?id=177407

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-23
Reviewed by Yusuke Suzuki.

JSTests:

  • test262.yaml:

~320 tests pass now that we correctly make $262 available.

Source/JavaScriptCore:

  • jsc.cpp:

(GlobalObject::finishCreation):
Alias $ and $262 for now.

Note: See TracTimeline for information about the timeline view.