Timeline
May 2, 2017:
- 8:59 PM Changeset in webkit [216110] by
-
- 3 edits1 add in trunk/Tools
check-webkit-style should also keep js-test-post[-async].js in sync
<https://webkit.org/b/171568>
Reviewed by Joseph Pecoraro.
- Scripts/webkitpy/style/checker.py:
(_NEVER_SKIPPED_JS_FILES): Add new list that just contains
JavaScript files not to be skipped.
(_NEVER_SKIPPED_FILES): Update to use _NEVER_SKIPPED_JS_FILES.
(CheckerDispatcher._create_checker): Update to use
_NEVER_SKIPPED_JS_FILES.
- Scripts/webkitpy/style/checkers/jstest.py:
(ALL_JS_TEST_FUNCTION_FILES): Rename from ALL_JS_TEST_FILES.
This is the list of files containing functions that need to be
kept in sync.
(KEEP_JS_TEST_FILES_IN_SYNC): Change to list-of-lists format so
we can keep more sets of files in sync between
LayoutTests/resources and LayoutTests/http/tests/resources.
(JSTestChecker.check): Update to use KEEP_JS_TEST_FILES_IN_SYNC
as list of lists. Update for ALL_JS_TEST_FUNCTION_FILES rename.
(JSTestChecker.check_js_test_files): Add 'file_group' argument
for list of files to check instead of using
KEEP_JS_TEST_FILES_IN_SYNC.
(JSTestChecker.check_js_test_functions): Update for
ALL_JS_TEST_FUNCTION_FILES rename.
- Scripts/webkitpy/style/checkers/jstest_unittest.py:
(JSTestCheckerTestCase):
(JSTestCheckerTestCase.test_map_functions_to_dict):
- Add test case for map_functions_to_dict() in jstest.py.
- 7:48 PM Changeset in webkit [216109] by
-
- 2 edits in trunk/Source/JavaScriptCore
Build fix after r216078
https://bugs.webkit.org/show_bug.cgi?id=171554
Patch by Don Olmstead <don.olmstead@am.sony.com> on 2017-05-02
Reviewed by Saam Barati.
- API/tests/testapi.c:
- 7:48 PM Changeset in webkit [216108] by
-
- 2 edits in trunk/Tools
ews should indicate in logs when it fails to fetch the attachment
https://bugs.webkit.org/show_bug.cgi?id=171583
Reviewed by Alexey Proskuryakov.
- Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
(Bugzilla.fetch_attachment): Added log statement.
- 5:11 PM Changeset in webkit [216107] by
-
- 2 edits in trunk/Source/WebCore
Typo in AVAudioSessionCaptureDeviceManager.mm
https://bugs.webkit.org/show_bug.cgi?id=171572
Patch by Andrew Gold <agold@apple.com> on 2017-05-02
Reviewed by Jer Noble.
We attempt to call +[AVAudioSession sharedSession], but the actual method is
called +[AVAudioSession sharedInstance].
- platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm:
(WebCore::AVAudioSessionCaptureDeviceManager::refreshAudioCaptureDevices):
- 4:15 PM Changeset in webkit [216106] by
-
- 2 edits in trunk/Source
Source/WebCore:
Improve scrolling tree logging
https://bugs.webkit.org/show_bug.cgi?id=171574
Patch by Simon Fraser <Simon Fraser> on 2017-05-02
Reviewed by Tim Horton.
Make a call to showScrollingStateTree() print debugging-related information like node and layer IDs.
Required fixing scrolling state tree nodes to respect ScrollingStateTreeAsTextBehavior, and fixing
fixed and sticky nodes to call super.
Also enhance compositing logging to show layer IDs, and to log for layer scrolling tree registration.
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::scrollingStateTreeAsText):
- page/scrolling/AsyncScrollingCoordinator.h:
- page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::scrollingStateTreeAsText):
- page/scrolling/ScrollingCoordinator.h:
- page/scrolling/ScrollingStateFixedNode.cpp:
(WebCore::ScrollingStateFixedNode::dumpProperties):
- page/scrolling/ScrollingStateNode.cpp:
(WebCore::ScrollingStateNode::dumpProperties):
(WebCore::ScrollingStateNode::scrollingStateTreeAsText):
- page/scrolling/ScrollingStateNode.h:
- page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::dumpProperties):
- page/scrolling/ScrollingStateStickyNode.cpp:
(WebCore::ScrollingStateStickyNode::dumpProperties):
- page/scrolling/ScrollingStateTree.cpp:
(showScrollingStateTree):
- page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::commitTreeState):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::detachFromScrollingCoordinator):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::logLayerInfo):
(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):
Source/WTF:
Fix the build after <https://trac.webkit.org/changeset/216102>
(https://bugs.webkit.org/show_bug.cgi?id=170925)
Export into global scope ASCIICaseInsensitiveStringViewHashTranslator.
Also fix indentation of member functions of ASCIICaseInsensitiveStringViewHashTranslator.
- wtf/text/StringHash.h:
- 4:07 PM Changeset in webkit [216105] by
-
- 2 edits in trunk/Source/WTF
Fix the build after <https://trac.webkit.org/changeset/216102>
(https://bugs.webkit.org/show_bug.cgi?id=170925)
Export into global scope ASCIICaseInsensitiveStringViewHashTranslator.
Also fix indentation of member functions of ASCIICaseInsensitiveStringViewHashTranslator.
- wtf/text/StringHash.h:
- 4:06 PM Changeset in webkit [216104] by
-
- 3 edits2 adds in trunk
Dynamically added position:fixed element is in the wrong place
https://bugs.webkit.org/show_bug.cgi?id=170280
rdar://problem/31374008
Reviewed by Tim Horton.
Source/WebKit2:
Layers for position:fixed elements have their positions reconciled after scrolls
via AsyncScrollingCoordinator::reconcileViewportConstrainedLayerPositions() and GraphicsLayerCA::syncPosition(),
which updates the GraphicsLayer's position, but does not push it to the PlatformCALayer.
This bug was a case where a position:fixed element gained a fixed ancestor, so had a GraphicsLayerCA whose
position had been updated via syncPosition() in the past. A subsequent layout updated the GraphicsLayerCA position,
but to a value that was the same as its pre-sync position, so the PlatformCALayerRemote's position didn't change,
but there was no signal to the UI process to restore the layer's pre-scrolled position.
Fix by avoiding the early return in PlatformCALayerRemote::setPosition(), to ensure that GraphicsLayerCA
geometry updates in the web process always send new positions to the UI process.
- WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::setPosition):
LayoutTests:
- scrollingcoordinator/ios/nested-fixed-layer-positions-expected.html: Added.
- scrollingcoordinator/ios/nested-fixed-layer-positions.html: Added.
- 4:06 PM Changeset in webkit [216103] by
-
- 14 edits in trunk/Source/WebCore
Improve scrolling tree logging
https://bugs.webkit.org/show_bug.cgi?id=171574
Reviewed by Tim Horton.
Make a call to showScrollingStateTree() print debugging-related information like node and layer IDs.
Required fixing scrolling state tree nodes to respect ScrollingStateTreeAsTextBehavior, and fixing
fixed and sticky nodes to call super.
Also enhance compositing logging to show layer IDs, and to log for layer scrolling tree registration.
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::scrollingStateTreeAsText):
- page/scrolling/AsyncScrollingCoordinator.h:
- page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::scrollingStateTreeAsText):
- page/scrolling/ScrollingCoordinator.h:
- page/scrolling/ScrollingStateFixedNode.cpp:
(WebCore::ScrollingStateFixedNode::dumpProperties):
- page/scrolling/ScrollingStateNode.cpp:
(WebCore::ScrollingStateNode::dumpProperties):
(WebCore::ScrollingStateNode::scrollingStateTreeAsText):
- page/scrolling/ScrollingStateNode.h:
- page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::dumpProperties):
- page/scrolling/ScrollingStateStickyNode.cpp:
(WebCore::ScrollingStateStickyNode::dumpProperties):
- page/scrolling/ScrollingStateTree.cpp:
(showScrollingStateTree):
- page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::commitTreeState):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::detachFromScrollingCoordinator):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::logLayerInfo):
(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):
- 3:51 PM Changeset in webkit [216102] by
-
- 15 edits in trunk/Source
Using StringView.split() instead of String.split() in some places
https://bugs.webkit.org/show_bug.cgi?id=170925
Reviewed by Darin Adler.
Source/WebCore:
Replace some uses of String.split() with StringView.split() (added in r211087) as the latter
avoids the need to allocate an intermediary Vector of substrings. Instead StringView.split()
returns an iterator for traversing the substrings.
No functionality changed. So, no new tests.
- accessibility/AccessibilityObject.cpp: Convert some typedefs to modern C++ using declarations.
(WebCore::ASCIICaseInsensitiveStringViewHashTranslator::hash): Added.
(WebCore::ASCIICaseInsensitiveStringViewHashTranslator::equal): Added.
(WebCore::AccessibilityObject::ariaRoleToWebCoreRole): Modified code to use StringView.split().
(WebCore::AccessibilityObject::elementsFromAttribute): Ditto.
- dom/TreeScope.cpp:
(WebCore::TreeScope::getElementById): Added.
- dom/TreeScope.h:
- html/LinkRelAttribute.cpp:
(WebCore::LinkRelAttribute::LinkRelAttribute): Modified code to use StringView.split().
- html/parser/XSSAuditor.cpp:
(WebCore::semicolonSeparatedValueContainsJavaScriptURL): Ditto.
- platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:
(WebCore::CDMPrivateMediaSourceAVFObjC::createSession): Ditto.
- platform/network/CacheValidation.cpp:
(WebCore::collectVaryingRequestHeaders): Simplify code by using the String.split(UChar, Vector<String>&) overload.
- svg/SVGAnimationElement.cpp:
(WebCore::parseKeyTimes): Modified code to use StringView.split().
- svg/SVGToOTFFontConversion.cpp:
(WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter): Ditto.
- testing/Internals.cpp:
(WebCore::Internals::setMediaSessionRestrictions): Ditto.
(WebCore::Internals::setMediaElementRestrictions): Ditto.
(WebCore::Internals::setAudioContextRestrictions): Ditto.
(WebCore::Internals::setPageMuted): Ditto.
- testing/Internals.h:
Source/WTF:
Add HashMap::get() overload that takes a HashTranslator.
- wtf/HashMap.h:
- 3:50 PM Changeset in webkit [216101] by
-
- 13 edits in trunk/Source
[GTK] Drop coordinated surfaces from the compositing thread as soon as possible
https://bugs.webkit.org/show_bug.cgi?id=171544
Reviewed by Žan Doberšek.
Source/WebCore:
- platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
Remove atlasesToRemove from the GraphicsState. It is not a commit
state anymore.
Source/WebKit2:
Released coordinated surface from the main thread didn't be freed until
next commit message because the deletion of coordinated surfaces is
considered as a part of scene state. We need to release corresponding
surfaces whenever the compositing coordinator drops update atlases to
reduce memory usages.
No new tests, only an optimization.
- Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
Remove atlasesToRemove from the GraphicsState. it is not a commit
state anymore.
- Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::syncUpdateAtlases):
(WebKit::CoordinatedGraphicsScene::releaseUpdateAtlases):
- Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::CompositingCoordinator::releaseAtlases): Pass the list of
released update atlases to the compositing thread right after cleaning
up deactivated update atlases.
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
- WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
(WebKit::CompositingCoordinator::clearPendingStateChanges):
(WebKit::CompositingCoordinator::removeUpdateAtlas):
(WebKit::CompositingCoordinator::releaseAtlases):
- WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h:
- WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
(WebKit::ThreadedCoordinatedLayerTreeHost::releaseUpdateAtlases):
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
- 3:24 PM Changeset in webkit [216100] by
-
- 3 edits in trunk/LayoutTests
Move flaky expectation for svg/animations/getCurrentTime-pause-unpause.html ios-wk1 to ios TestExpectations file.
Unreviewed test gardening.
- platform/ios-wk1/TestExpectations:
- platform/ios/TestExpectations:
- 3:24 PM Changeset in webkit [216099] by
-
- 2 edits in trunk/LayoutTests
Mark imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker.html as flaky on macOS.
https://bugs.webkit.org/show_bug.cgi?id=170907
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 3:17 PM Changeset in webkit [216098] by
-
- 5 edits in trunk/Source/WebKit2
Inform clients when viewport-fit state changes, so they can recompute insets
https://bugs.webkit.org/show_bug.cgi?id=171573
<rdar://problem/31947614>
Reviewed by Simon Fraser.
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didChangeAvoidsUnsafeArea]):
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::didChangeAvoidsUnsafeArea):
For clients who use setObscuredInsets/setUnobscuredSafeAreaInsets
themselves, we need to let them know when the current state of
viewport-fit changes so that they can recompute the insets.
- 3:15 PM Changeset in webkit [216097] by
-
- 9 edits in trunk/Source
[GTK] Recycle textures while handling tiles
https://bugs.webkit.org/show_bug.cgi?id=171541
Reviewed by Žan Doberšek.
Source/WebCore:
- platform/graphics/texmap/TextureMapperTile.h:
Modified m_texture as a protected member to avoid unnessary
refcountings from the CoordinatedBackingStore.
- platform/graphics/texmap/coordinated/CoordinatedSurface.h:
Use reference instead of RefPtr to pass BitmapTexture
No new tests since there should be no change in behavior.
Source/WebKit2:
- Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStoreTile::swapBuffers):
Whenever we create new tiles or delete tiles, CoordGfx creates and
deletes textures accordingly. We should avoid this kind of heavy
operations whenever possible. This patch modifies to use the texture
pool to reduce texture allocations. Also this patch reduces number of
resetting textures, which is also expensive operation.
- Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
(WebKit::WebCoordinatedSurface::copyToTexture):
Modified to pass BitmapTexture as a reference.
- Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp:
(WebKit::ThreadSafeCoordinatedSurface::copyToTexture): Ditto.
- 2:29 PM Changeset in webkit [216096] by
-
- 6 edits2 adds in trunk
Defer AX cache update when text content changes until after layout is finished.
https://bugs.webkit.org/show_bug.cgi?id=171429
<rdar://problem/31885984>
Reviewed by Simon Fraser.
Source/WebCore:
When the content of the RenderText changes (even as the result of a text-transform change)
instead of updating the AX cache eagerly (and trigger layout on a half-backed render tree)
we should just defer it until after the subsequent layout is done.
Test: accessibility/crash-while-adding-text-child-with-transform.html
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::remove):
(WebCore::AXObjectCache::performDeferredCacheUpdate):
(WebCore::AXObjectCache::recomputeDeferredIsIgnored):
(WebCore::AXObjectCache::deferTextChanged):
(WebCore::AXObjectCache::performDeferredIsIgnoredChange): Deleted.
- accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::deferTextChanged):
(WebCore::AXObjectCache::performDeferredCacheUpdate):
(WebCore::AXObjectCache::performDeferredIsIgnoredChange): Deleted.
- page/FrameView.cpp:
(WebCore::FrameView::performPostLayoutTasks):
- rendering/RenderText.cpp:
(WebCore::RenderText::setText):
LayoutTests:
- accessibility/crash-while-adding-text-child-with-transform-expected.txt: Added.
- accessibility/crash-while-adding-text-child-with-transform.html: Added.
- 2:24 PM Changeset in webkit [216095] by
-
- 2 edits in trunk/Source/WebKit2
Stop using strcpy() in WebProcess::registerWithStateDumper() in WebProcessCocoa.mm
<https://webkit.org/b/171520>
Reviewed by Chris Dumez.
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::registerWithStateDumper): Switch from
strcpy() to strlcpy(), removing comment in the process.
- 2:13 PM Changeset in webkit [216094] by
-
- 2 edits in trunk/Source/WebCore
Remove an extraneous call to dispatch_group_async in WebItemProviderPasteboard.mm
https://bugs.webkit.org/show_bug.cgi?id=171561
Reviewed by Tim Horton.
In -[WebItemProviderPasteboard doAfterLoadingProvidedContentIntoFileURLs:], the lifetime of the dispatch group
fileLoadingGroupis already guarded by dispatch_group_enter/leave calls when beginning and concluding an
item provider load, respectively. As such, the call to dispatch_group_async serves no purpose and should be removed.
No new tests, since there is no change in behavior.
- platform/ios/WebItemProviderPasteboard.mm:
(-[WebItemProviderPasteboard doAfterLoadingProvidedContentIntoFileURLs:]):
- 2:04 PM Changeset in webkit [216093] by
-
- 3 edits in trunk/Source/WebKit2
MediaDevices is not enabled for MobileSafari
https://bugs.webkit.org/show_bug.cgi?id=171433
<rdar://problem/31923178>
Patch by Andrew Gold <agold@apple.com> on 2017-05-02
Reviewed by Youenn Fablet.
Added the Cocoa API for toggling this feature and removed API for toggling
MediaStreamEnabled since it will always be on.
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _mediaDevicesEnabled]):
(-[WKPreferences _setMediaDevicesEnabled:]):
(-[WKPreferences _mediaStreamEnabled]): Deleted.
(-[WKPreferences _setMediaStreamEnabled:]): Deleted.
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- 1:30 PM Changeset in webkit [216092] by
-
- 2 edits in trunk/Source/WebCore
[LibWebRTC] Set explicitly logging level in debug mode
https://bugs.webkit.org/show_bug.cgi?id=171562
Patch by Youenn Fablet <youenn@apple.com> on 2017-05-02
Reviewed by Eric Carlson.
No change of behavior.
- platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
(WebCore::initializePeerConnectionFactoryAndThreads): Setting explictly LibWebRTC logging to Info level for
debug builds if WebRTC channel is on.
- 1:28 PM Changeset in webkit [216091] by
-
- 1 edit1 delete in trunk/Tools
Rolling out jstest_unittest.py so it can be reviewed
Follow-up fix for:
check-webkit-style should keep JavaScript test functions in sync
<https://webkit.org/b/171424>
- Scripts/webkitpy/style/checkers/jstest_unittest.py: Remove.
- 1:10 PM Changeset in webkit [216090] by
-
- 9 edits2 adds in trunk
check-webkit-style should keep JavaScript test functions in sync
<https://webkit.org/b/171424>
Reviewed by Joseph Pecoraro.
JSTests:
This change makes shouldBe(), shouldNotBe(), shouldNotThrow()
and shouldThrow() in sync with other copies of these methods.
- stress/resources/standalone-pre.js:
(shouldBe): Fix whitespace. Prefix 'exception' and 'quiet'
variables with underscore.
(shouldThrow): Fix whitespace.
Tools:
Add a new JSTestChecker for check-webkit-style that keeps these
two files in sync:
LayoutTests/http/tests/resources/js-test-pre.js
LayoutTests/resources/js-test-pre.js
And keeps implementations of shouldBe(), shouldNotBe(),
shouldNotThrow(), and shouldThrow() in sync across multiple
files (with the ability to add more functions later):
JSTests/stress/resources/standalone-pre.js
LayoutTests/http/tests/resources/js-test-pre.js
LayoutTests/resources/js-test-pre.js
LayoutTests/resources/js-test.js
LayoutTests/resources/standalone-pre.js
- Scripts/webkitpy/style/checker.py: Remove unused import. Add
import for JSTestChecker.
(_NEVER_SKIPPED_FILES): Add array of file names that are never
skipped regardless of other rules.
(_all_categories): Add JSTestChecker categories.
(CheckerDispatcher.should_skip_without_warning): Use
_NEVER_SKIPPED_FILES.
(CheckerDispatcher._create_checker): Return JSTestChecker for
the files to check.
- Scripts/webkitpy/style/checkers/jstest.py: Add.
(map_functions_to_dict): Parse JavaScript source by splitting on
/function\s+/ regex. This is good enough for the sanity checks
to keep function implementations in sync.
(strip_blank_lines_and_comments): Strips blank lines and lines
with comments from the end of a chunk of text representing a
function.
(JSTestChecker): New checker.
(JSTestChecker.init):
(JSTestChecker.check):
(JSTestChecker.check_js_test_files): Keeps whole files in sync.
(JSTestChecker.check_js_test_functions): Keeps individual
functions in sync.
- Scripts/webkitpy/style/checkers/jstest_unittest.py: Add test
case.
(JSTestTestCase):
(JSTestTestCase.test_map_functions_to_dict):
LayoutTests:
This change attempts to fix all whitespace issues in these two
files (which are now identical and will be kept in sync by
check-webkit-style):
LayoutTests/http/tests/resources/js-test-pre.js
LayoutTests/resources/js-test-pre.js
It also syncs the implementation of shouldBe(), shouldNotBe(),
shouldNotThrow() and shouldThrow() across the following files:
JSTests/stress/resources/standalone-pre.js
LayoutTests/http/tests/resources/js-test-pre.js
LayoutTests/resources/js-test-pre.js
LayoutTests/resources/js-test.js
LayoutTests/resources/standalone-pre.js
Only interesting (non-whitespace) changes are listed below.
- http/tests/resources/js-test-pre.js: Copy from resources/js-test-pre.js.
(shouldBe): Prefix 'exception' and 'quiet' variables with
underscore.
(shouldNotBe): Ditto.
- resources/js-test-pre.js:
(shouldBe): Prefix 'exception' and 'quiet' variables with
underscore.
(shouldNotBe): Ditto.
- resources/js-test.js:
(shouldBe): Prefix 'quiet' variable with underscore. Use
stringify() when printing '_bv' value.
- resources/standalone-pre.js:
(shouldBe): Prefix 'exception' and 'quiet' variables with
underscore.
(shouldNotBe): Ditto.
- 1:07 PM Changeset in webkit [216089] by
-
- 9 edits2 moves in trunk
AX: Update implementation of aria-orientation
https://bugs.webkit.org/show_bug.cgi?id=171166
Reviewed by Chris Fleizach.
Source/WebCore:
Update AccessibilityRenderObject::orientation() to be consistent with what is
in the ARIA 1.1 spec. Also add an isTreeGrid() convenience method to be consistent
with what we do for other roles.
Test: accessibility/aria-orientation.html
- accessibility/AccessibilityARIAGridRow.cpp:
(WebCore::AccessibilityARIAGridRow::isARIATreeGridRow):
- accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isTreeGrid):
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::orientation):
Tools:
Return "AXUnknownOrientation" when ATK_STATE_VERTICAL and ATK_STATE_HORIZONTAL
are both absent from the state set. Before we were returning an empty string
which was not consistent with what the Mac port does, thus making shared tests
harder.
- WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::orientation):
LayoutTests:
Moved the mac aria-orientation.html test to the shared tests and add several
new test cases to it. Update the orientation-related assertion in two tests
to reflect the ARIA 1.1 behavior.
- accessibility/aria-orientation-expected.txt: Renamed from LayoutTests/accessibility/mac/aria-orientation-expected.txt.
- accessibility/aria-orientation.html: Renamed from LayoutTests/accessibility/mac/aria-orientation.html.
- accessibility/mac/slider-supports-actions.html: Updated.
- accessibility/gtk/combobox-descendants-orientation-crash-expected.txt: Updated.
- 12:35 PM Changeset in webkit [216088] by
-
- 4 edits2 adds in trunk
REGRESSION (r211382): Partial right-to-left text runs are painted at an offset (breaks Find indicators, Look Up, and custom ::selection style)
https://bugs.webkit.org/show_bug.cgi?id=169517
<rdar://problem/30652443>
Reviewed by Dean Jackson.
Source/WebCore:
FontCascade::getGlyphsAndAdvancesForComplexText() is tasked with calculating paint advances for a
subrange of RTL text. It does this by creating a ComplexTextController, telling it to iterate to
the beginning of the subrange (outputting to a GlyphBuffer), then telling it to iterate to the end
of the subrange (outputting to another GlyphBuffer). Because the text is RTL, the sum of the
advances gathered so far is the distance from the right edge of the text to the left edge of the
subrange (because we advance in logical order). Therefore, the x-coordinate we are at now is the
total width minus the sum of both of the GlyphBuffers. For some reason, when I wrote this code I
forgot to add in the contribution from the first GlyphBuffer. Unfortunately, this particular
codepath is rarely hit in practice and completely untested, which made me miss it when I wrote it.
Test: fast/text/complex-text-selection.html
- platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::FontCascade::getGlyphsAndAdvancesForComplexText):
LayoutTests:
- fast/text/complex-text-selection-expected.html: Added.
- fast/text/complex-text-selection.html: Added.
- platform/ios/TestExpectations:
- 12:22 PM Changeset in webkit [216087] by
-
- 2 edits in trunk/LayoutTests
[Mac] WK1: http/tests/inspector/network/resource-sizes tests are failing
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
Skip these tests on WebKit1. They depend on the NSURLSession
loading path which is not used in WebKit1.
- 12:14 PM Changeset in webkit [216086] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix pedantic C compilers.
- API/tests/testapi.c:
(markingConstraint):
(testMarkingConstraints):
- 12:13 PM Changeset in webkit [216085] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix cmake build.
- CMakeLists.txt:
- 12:03 PM Changeset in webkit [216084] by
-
- 9 edits in trunk
[macOS] Flaky Crash under EventTarget::fireEventListeners on imported/blink/paint/deprecatedpaintlayer/non-self-painting-layer-overrides-visibility.html
https://bugs.webkit.org/show_bug.cgi?id=171406
<rdar://problem/30945281>
Reviewed by Eric Carlson.
Source/WebCore:
I was unfortunately unable to reproduce the flaky crash locally. However, the crash trace
indicates that one of the EventTarget::scriptExecutionContext() overrides is returning a
stale ScriptExecutionContext pointer. Since a GenericEventQueue is involved, the EventTarget
is likely a media-related object. I therefore audited media classes that override
EventTarget::scriptExecutionContext() and found several that look unsafe. I am fixing those
by having them override ContextDestructionObserver, instead of having a raw
ScriptExecutionContext pointer member. This makes sure the pointer gets nulled out whenever
the scriptexecutioncontext gets destroyed, ensuring that those classes's
EventTarget::scriptExecutionContext() overrides can never return a stale pointer.
- Modules/mediasource/SourceBufferList.cpp:
(WebCore::SourceBufferList::SourceBufferList):
- Modules/mediasource/SourceBufferList.h:
- html/track/TextTrack.cpp:
(WebCore::TextTrack::TextTrack):
- html/track/TextTrack.h:
- html/track/TrackListBase.cpp:
(TrackListBase::TrackListBase):
- html/track/TrackListBase.h:
LayoutTests:
Unskip test.
- platform/mac/TestExpectations:
- 12:02 PM Changeset in webkit [216083] by
-
- 5 edits in trunk/Source/WebCore
Document style resolvers should share user rulesets
https://bugs.webkit.org/show_bug.cgi?id=171549
Reviewed by Andreas Kling.
Large user stylesheets (like those used by ad blockers) can end up using lots of memory if
a document uses large number of shadow trees. User style is inherently per-document and
the resulting rulesets can be shared between the document and the shadow trees.
- css/DocumentRuleSets.cpp:
(WebCore::DocumentRuleSets::DocumentRuleSets):
(WebCore::DocumentRuleSets::userStyle):
Return per-document user style for shadow trees.
(WebCore::DocumentRuleSets::collectFeatures):
- css/DocumentRuleSets.h:
(WebCore::DocumentRuleSets::setUsesSharedUserStyle):
(WebCore::DocumentRuleSets::userStyle): Deleted.
- css/StyleResolver.cpp:
(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::initializeUserStyle):
Separate user style initialization from construction.
- css/StyleResolver.h:
- style/StyleScope.cpp:
(WebCore::Style::Scope::resolver):
Don't initialize user style for user agents shadow trees.
- 11:46 AM Changeset in webkit [216082] by
-
- 2 edits in trunk/LayoutTests
Marked test svg/animations/animated-svg-image-removed-from-document-paused.html as flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=171559
Unreviewed test gardening.
Patch by Matt Lewis <Matt Lewis> on 2017-05-02
- platform/ios-wk2/TestExpectations:
- 11:45 AM Changeset in webkit [216081] by
-
- 2 edits in trunk/LayoutTests
Marked test imported/w3c/web-platform-tests/webrtc/rtcpeerconnection/setRemoteDescription.html as flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=170818
Unreviewed test gardening.
Patch by Matt Lewis <Matt Lewis> on 2017-05-02
- platform/mac-wk2/TestExpectations:
- 11:43 AM Changeset in webkit [216080] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION (r213036): Crash in -[WKContentView _webTouchEventsRecognized:] when a touch event arrives after a WebPageProxy has been invalidated
https://bugs.webkit.org/show_bug.cgi?id=171539
<rdar://problem/31614982>
Reviewed by Tim Horton.
Prior to r213036, the layer tree transaction at last touch start was tracked by
WebPageProxy::handleTouchEventSynchronously(), which would ask the drawing area proxy for
its most recent transaction ID after ensuring that the WebPageProxy was valid.
r213036 moved the tracking up to -[WKContentView _webTouchEventsRecognized:], but failed to
check if _page was valid before asking for its drawing area proxy's last transaction ID; the
drawing area proxy is set to null on WebPageProxy invalidation.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _webTouchEventsRecognized:]): Added an early return if _page isn't valid.
- 11:02 AM Changeset in webkit [216079] by
-
- 7 edits2 adds in trunk
Font Loading API specifies font is loaded but sizing of font after load reports inconsistent values
https://bugs.webkit.org/show_bug.cgi?id=168533
Reviewed by Zalan Bujtas.
Source/WebCore:
Previously, we were marking all local() fonts as immediately successful,
regardless of whether or not they were present on the system. Instead, we
should use the load() function to make this determination and mark the font
as failed if it doesn't exist. (This is, after all, the whole point of the
load() function). This brings us in-line with Firefox's and Chrome's
behavior.
Test: fast/text/font-loading-local.html
- css/CSSFontFace.cpp:
(WebCore::CSSFontFace::pump): Remote loading requires the FontSelector,
but it isn't available for local fonts. Now that load() is called for both
local and remote fonts, the ASSERT() should be lowered into the load()
function and scoped to just the case where we have a remote font.
(WebCore::CSSFontFace::font): Ditto.
- css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::CSSFontFaceSource): Don't immediatley set
the success/failure state for local fonts.
(WebCore::CSSFontFaceSource::load): Move loading logic from font() to
load(). None of this code is new; it just is moved.
(WebCore::CSSFontFaceSource::font): Delete code moved to load().
- css/CSSFontFaceSource.h:
- css/FontFace.cpp:
(WebCore::FontFace::create):
LayoutTests:
- fast/text/font-loading-local-expected.txt: Added.
- fast/text/font-loading-local.html: Added.
- fast/text/web-font-load-fallback-during-loading.html:
- 11:00 AM Changeset in webkit [216078] by
-
- 5 edits4 adds in trunk/Source/JavaScriptCore
JSC C API should expose GC marking constraints and weak references
https://bugs.webkit.org/show_bug.cgi?id=171554
Reviewed by Geoffrey Garen.
This exposes an API that lets you participate in the GC's fixpoint. You can ask the GC
what is marked and you can tell the GC to mark things. The constraint callback cannot
do a whole lot, but it can query marking state and it can dereference weak references.
Additionally, this exposes a very simple weak reference API in C.
- API/JSMarkingConstraintPrivate.cpp: Added.
(JSC::isMarked):
(JSC::mark):
(JSContextGroupRegisterMarkingConstraint):
- API/JSMarkingConstraintPrivate.h: Added.
- API/JSWeakPrivate.cpp: Added.
(OpaqueJSWeak::OpaqueJSWeak):
(JSWeakCreate):
(JSWeakRetain):
(JSWeakRelease):
(JSWeakGetObject):
- API/JSWeakPrivate.h: Added.
- API/tests/testapi.c:
(markingConstraint):
(testMarkingConstraints):
(main):
- JavaScriptCore.xcodeproj/project.pbxproj:
- heap/SlotVisitor.h:
- heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::appendHiddenUnbarriered):
(JSC::SlotVisitor::appendHidden):
- 11:00 AM Changeset in webkit [216077] by
-
- 2 edits in trunk/Source/WebCore/PAL
Make "PAL/pal" and "PAL/pal/crypto" directories private
https://bugs.webkit.org/show_bug.cgi?id=171524
Patch by Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com> on 2017-05-02
Reviewed by Myles C. Maxfield.
Make the "PAL/pal" and "PAL/pal/crypto" directories private to force WebCore sources
to include PAL headers in "#include <pal/*.h>" style.
- pal/CMakeLists.txt:
- 10:55 AM Changeset in webkit [216076] by
-
- 2 edits in trunk/Source/JavaScriptCore
JSFixedArray::allocationSize() should not allow for allocation failure.
https://bugs.webkit.org/show_bug.cgi?id=171516
Reviewed by Geoffrey Garen.
Since JSFixedArray::createFromArray() now handles allocation failures by throwing
OutOfMemoryErrors, its helper function allocationSize() (which computes the buffer
size to allocate) should also allow for allocation failure on overflow.
This issue is covered by the stress/js-fixed-array-out-of-memory.js test when
run on 32-bit builds.
- runtime/JSFixedArray.h:
(JSC::JSFixedArray::tryCreate):
(JSC::JSFixedArray::allocationSize):
- 10:49 AM Changeset in webkit [216075] by
-
- 3 edits3 adds in trunk
Source/WebCore:
Allow media stream based videos with sound to autoplay if the page is already playing sound
https://bugs.webkit.org/show_bug.cgi?id=171447
Patch by Youenn Fablet <youenn@apple.com> on 2017-05-02
Reviewed by Eric Carlson.
Test: http/tests/media/autoplay-if-audio-is-playing.html for ensuring non-mediastream based video will not autoplay.
Manual testing for the autoplay of media stream based videos since such a test should happen without using getUserMedia.
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::playbackPermitted):
LayoutTests:
Allow media stream based videos with sound autoplay if the page is already playing sound
https://bugs.webkit.org/show_bug.cgi?id=171447
Patch by Youenn Fablet <youenn@apple.com> on 2017-05-02
Reviewed by Eric Carlson.
- http/tests/media/autoplay-if-audio-is-playing-expected.txt: Added.
- http/tests/media/autoplay-if-audio-is-playing.html: Added.
- http/tests/media/resources/test-25fps.mp4: Added.
- 10:41 AM Changeset in webkit [216074] by
-
- 24 edits in trunk/Source/WebCore
Use PassRefPtr less in editing code
https://bugs.webkit.org/show_bug.cgi?id=171534
Reviewed by Geoffrey Garen.
Use PassRefPtr less in editing code.
- editing/AppendNodeCommand.cpp:
(WebCore::AppendNodeCommand::AppendNodeCommand):
(WebCore::AppendNodeCommand::getNodesInCommand):
- editing/AppendNodeCommand.h:
(WebCore::AppendNodeCommand::create):
- editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
(WebCore::ApplyStyleCommand::positionToComputeInlineStyleChange):
- editing/BreakBlockquoteCommand.cpp:
(WebCore::BreakBlockquoteCommand::doApply):
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::insertNodeBefore):
(WebCore::CompositeEditCommand::insertNodeAfter):
(WebCore::CompositeEditCommand::insertNodeAt):
(WebCore::CompositeEditCommand::appendNode):
(WebCore::CompositeEditCommand::moveRemainingSiblingsToNewParent):
(WebCore::CompositeEditCommand::mergeIdenticalElements):
(WebCore::CompositeEditCommand::insertNodeAtTabSpanPosition):
(WebCore::CompositeEditCommand::appendBlockPlaceholder):
(WebCore::CompositeEditCommand::insertBlockPlaceholder):
(WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
(WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt):
(WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
(WebCore::CompositeEditCommand::moveParagraphs):
- editing/CompositeEditCommand.h:
- editing/CreateLinkCommand.cpp:
(WebCore::CreateLinkCommand::doApply):
- editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss):
(WebCore::DeleteSelectionCommand::mergeParagraphs):
- editing/FormatBlockCommand.cpp:
(WebCore::FormatBlockCommand::formatRange):
- editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::tryIndentingAsListItem):
(WebCore::IndentOutdentCommand::indentIntoBlockquote):
(WebCore::IndentOutdentCommand::outdentParagraph):
- editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::doApply):
- editing/InsertLineBreakCommand.h:
- editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::fixOrphanedListChild):
(WebCore::InsertListCommand::doApplyForSingleParagraph):
(WebCore::InsertListCommand::unlistifyParagraph):
(WebCore::InsertListCommand::listifyParagraph):
- editing/InsertListCommand.h:
- editing/InsertNodeBeforeCommand.cpp:
(WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand):
(WebCore::InsertNodeBeforeCommand::doApply):
(WebCore::InsertNodeBeforeCommand::doUnapply):
(WebCore::InsertNodeBeforeCommand::getNodesInCommand):
- editing/InsertNodeBeforeCommand.h:
(WebCore::InsertNodeBeforeCommand::create):
- editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock):
(WebCore::InsertParagraphSeparatorCommand::doApply):
- editing/InsertParagraphSeparatorCommand.h:
- editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::positionInsideTextNode):
(WebCore::InsertTextCommand::insertTab):
- editing/ModifySelectionListLevel.cpp:
(WebCore::ModifySelectionListLevelCommand::insertSiblingNodeRangeBefore):
(WebCore::ModifySelectionListLevelCommand::insertSiblingNodeRangeAfter):
(WebCore::ModifySelectionListLevelCommand::appendSiblingNodeRange):
(WebCore::IncreaseSelectionListLevelCommand::doApply):
- editing/RemoveNodePreservingChildrenCommand.cpp:
(WebCore::RemoveNodePreservingChildrenCommand::doApply):
- editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::moveNodeOutOfAncestor):
(WebCore::ReplaceSelectionCommand::mergeEndIfNeeded):
(WebCore::ReplaceSelectionCommand::doApply):
(WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace):
(WebCore::ReplaceSelectionCommand::insertAsListItems):
- editing/SimplifyMarkupCommand.cpp:
(WebCore::SimplifyMarkupCommand::pruneSubsequentAncestorsToRemove):
- 9:58 AM Changeset in webkit [216073] by
-
- 4 edits in trunk
Set Response.blob() type correctly when body is a ReadableStream.
https://bugs.webkit.org/show_bug.cgi?id=171489
Patch by Ben Kelly <ben@wanderview.com> on 2017-05-02
Reviewed by Youenn Fablet
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/response/response-consume-expected.txt:
Source/WebCore:
The Fetch API specification requires setting the blob contentType
using the Content-Type header value, if present. Currently WebKit
only sets the type on the FetchBodyConsumer when FetchBody::blob()
is called. Unfortunately, this is never called if the body is
actually a ReadableStream.
This change allows WebKit to pass the "Consume response's body: from
stream to blob" case in the WPT response-consume.html test.
Test: http://w3c-test.org/fetch/api/response/response-consume.html
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::startConsumingStream): Modified to call
FetchBodyConsumer::setContentType() before processing the stream.
- 9:52 AM Changeset in webkit [216072] by
-
- 2 edits in trunk/LayoutTests
Marked test http/tests/xmlhttprequest/methods-async.html as flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=171530
Unreviewed test gardening.
Patch by Matt Lewis <Matt Lewis> on 2017-05-02
- platform/ios-wk2/TestExpectations:
- 9:22 AM Changeset in webkit [216071] by
-
- 6 edits in trunk/Source/WebCore
Unreviewed, rolling out r216069.
This change broke the build.
Reverted changeset:
"Document style resolvers should share user rulesets"
https://bugs.webkit.org/show_bug.cgi?id=171549
http://trac.webkit.org/changeset/216069
- 7:33 AM Changeset in webkit [216070] by
-
- 5 edits in trunk/Source/WebKit2
Web Automation: generate resizeWindowOfBrowsingContext and moveWindowOfBrowsingContext for all platforms
https://bugs.webkit.org/show_bug.cgi?id=171107
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2017-05-02
Reviewed by Brian Burg.
The implementation is actually cross-platform, so it could be moved from WebAutomationSessionMac.mm to
WebAutomationSession.cpp and simply return a NotImplemented error for iOS. This will allow to use these methods
in other platforms.
- UIProcess/Automation/Automation.json:
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::resizeWindowOfBrowsingContext):
(WebKit::WebAutomationSession::moveWindowOfBrowsingContext):
- UIProcess/Automation/WebAutomationSession.h:
- UIProcess/Automation/mac/WebAutomationSessionMac.mm:
(WebKit::WebAutomationSession::resizeWindowOfBrowsingContext): Deleted.
(WebKit::WebAutomationSession::moveWindowOfBrowsingContext): Deleted.
- 7:30 AM Changeset in webkit [216069] by
-
- 6 edits in trunk/Source/WebCore
Document style resolvers should share user rulesets
https://bugs.webkit.org/show_bug.cgi?id=171549
Reviewed by Andreas Kling.
Large user stylesheets (like those used by ad blockers) can end up using lots of memory if
a document uses large number of shadow trees. User style is inherently per-document and
the resulting rulesets can be shared between the document and the shadow trees.
- css/DocumentRuleSets.cpp:
(WebCore::DocumentRuleSets::DocumentRuleSets):
(WebCore::DocumentRuleSets::userStyle):
Return per-document user style for shadow trees.
(WebCore::DocumentRuleSets::collectFeatures):
- css/DocumentRuleSets.h:
(WebCore::DocumentRuleSets::setUsesSharedUserStyle):
(WebCore::DocumentRuleSets::userStyle): Deleted.
- css/StyleResolver.cpp:
(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::initializeUserStyle):
Separate user style initialization from construction.
- css/StyleResolver.h:
- style/StyleScope.cpp:
(WebCore::Style::Scope::resolver):
Don't initialize user style for user agents shadow trees.
- 3:52 AM Changeset in webkit [216068] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Remove undefined nativeImage method from the ImageBuffer's header
https://bugs.webkit.org/show_bug.cgi?id=171502
Unreviewed, remove a dead code accidentally committed in r194630.
- platform/graphics/ImageBuffer.h: Remove nativeImage method.
It is accidentally added during a refectorying at r194630, and there is
no definition for this method.
- 3:05 AM Changeset in webkit [216067] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Dailymotion live stream videos don't play
https://bugs.webkit.org/show_bug.cgi?id=170767
Reviewed by Sergio Villar Senin.
The video shows a message saying that an error occurred and nothing is played. There are actually several
problems with dailymotion. The main issue is that URLs are redirected by the server, and GStreamer needs to
know the redirected URL. Once GStreamer knows the redirected URL the error message no longer appears, the video
starts but it always stops after a few seconds. This is because the source receives an early EOS while still
downloading the fragments. The reason of the early EOS is because dailymotion sends a wrong Content-Length header,
something that is expected to happen and we correctly handle that case when receiving the data, by updating the
size accordingly if the bytes received are longer than the expected content length. This particular case
doesn't work well with GStreamer automatic EOS handling, which is the default. At some point, GStreamer detects
that the bytes received are at least the expected ones and emits a GST_EVENT_EOS that the GstUriDownloader
handles finishing the download early. We should always disable automatic EOS, since we know when EOS actually
happens and we already call gst_app_src_end_of_stream(). This patch also emits a GST_EVENT_CUSTOM_DOWNSTREAM_STICKY
event to let GStreamer know about the HTTP headers sent and received.
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webkit_web_src_init): Disable automatic EOS.
(webKitWebSrcGetProperty): Return the redirected URL in case of redirection.
(webKitWebSrcStart): Pass the ResourceRequest to the stream clients.
(webKitWebSrcQueryWithParent): Set the redirected URL in the query in case of redirection.
(webKitWebSrcSetUri): Clear also the redirected URL when setting a new URI.
(StreamingClient::StreamingClient): Use GRefPtr for the source and initialize the request too.
(StreamingClient::~StreamingClient): Remove explicit unref.
(StreamingClient::createReadBuffer):
(StreamingClient::handleResponseReceived): Initialize the redirected URL in case of redirection. Create and push
the HTTP headers event.
(StreamingClient::handleDataReceived):
(StreamingClient::handleNotifyFinished):
(CachedResourceStreamingClient::CachedResourceStreamingClient):
(CachedResourceStreamingClient::responseReceived):
(CachedResourceStreamingClient::accessControlCheckFailed):
(CachedResourceStreamingClient::loadFailed):
(ResourceHandleStreamingClient::ResourceHandleStreamingClient):
(ResourceHandleStreamingClient::didFail):
(ResourceHandleStreamingClient::wasBlocked):
(ResourceHandleStreamingClient::cannotShowURL):
- 1:55 AM Changeset in webkit [216066] by
-
- 3 edits in trunk/Source/WebCore
Adding logging to RTCPeerConnection to allow WebRTC application debugging
https://bugs.webkit.org/show_bug.cgi?id=171531
Patch by Youenn Fablet <youenn@apple.com> on 2017-05-02
Reviewed by Jon Lee.
No change of behavior.
This allows easier debugging of webrtc-enabled web pages.
- Modules/mediastream/PeerConnectionBackend.cpp:
(WebCore::PeerConnectionBackend::createOfferSucceeded):
(WebCore::PeerConnectionBackend::createOfferFailed):
(WebCore::PeerConnectionBackend::createAnswerSucceeded):
(WebCore::PeerConnectionBackend::createAnswerFailed):
(WebCore::PeerConnectionBackend::setLocalDescriptionSucceeded):
(WebCore::PeerConnectionBackend::setLocalDescriptionFailed):
(WebCore::PeerConnectionBackend::setRemoteDescriptionSucceeded):
(WebCore::PeerConnectionBackend::setRemoteDescriptionFailed):
(WebCore::PeerConnectionBackend::addIceCandidateSucceeded):
(WebCore::PeerConnectionBackend::addIceCandidateFailed):
(WebCore::PeerConnectionBackend::newICECandidate):
(WebCore::PeerConnectionBackend::doneGatheringCandidates):
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::queuedCreateOffer):
(WebCore::RTCPeerConnection::queuedCreateAnswer):
(WebCore::RTCPeerConnection::queuedSetLocalDescription):
(WebCore::RTCPeerConnection::queuedSetRemoteDescription):
(WebCore::RTCPeerConnection::queuedAddIceCandidate):
- 1:48 AM Changeset in webkit [216065] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Crash at WebCore::ResourceHandle::clearClient() when streaming live video from dailymotion
https://bugs.webkit.org/show_bug.cgi?id=169725
Reviewed by Michael Catanzaro.
Make ResourceHandleStreamingClient refcounted and add an invalidate method to do the cleanup in the networking
thread while keeping a reference.
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcStop): Call invalidate before reseting client pointer.
(webKitWebSrcStart): Ditto.
(ResourceHandleStreamingClient::ResourceHandleStreamingClient): Remove all cleanup code after the run loop run call.
(ResourceHandleStreamingClient::~ResourceHandleStreamingClient): Just detach the thread.
(ResourceHandleStreamingClient::invalidate): Schedule a task on the networking thread to clean up and fiish the
run loop, protecting this.
(ResourceHandleStreamingClient::setDefersLoading): Protect this.
(ResourceHandleStreamingClient::didReceiveResponse): Do nothing if client was invalidated.
(ResourceHandleStreamingClient::didReceiveBuffer): Ditto.
(ResourceHandleStreamingClient::didFinishLoading): Ditto.
- 1:39 AM Changeset in webkit [216064] by
-
- 1 edit1 delete in trunk/Source/WebInspectorUI
[GTK] Web Inspector: Remove GTK+ icon FontVariantSmallCaps.svg
https://bugs.webkit.org/show_bug.cgi?id=171542
Patch by Fujii Hironori <Fujii Hironori> on 2017-05-02
Reviewed by Carlos Garcia Campos.
This image is not used and Apple's one was removed in Bug 148720.
- UserInterface/Images/gtk/FontVariantSmallCaps.svg: Removed.
- 1:27 AM Changeset in webkit [216063] by
-
- 1 edit2 deletes in trunk/Source/WebInspectorUI
[GTK] Web Inspector: Remove GTK+ icons AnimationPlayStatePaused.svg and AnimationPlayStateRunning.svg
https://bugs.webkit.org/show_bug.cgi?id=171540
Patch by Fujii Hironori <Fujii Hironori> on 2017-05-02
Reviewed by Carlos Garcia Campos.
These images aren't used since r204152 (Bug 160566). Instead,
Plus13.svg and Minus.svg are used.
- UserInterface/Images/gtk/BreakpointActionAdd.svg: Removed.
- UserInterface/Images/gtk/BreakpointActionRemove.svg: Removed.
May 1, 2017:
- 11:49 PM Changeset in webkit [216062] by
-
- 4 edits in trunk
[GCrypt] ECDSA signing and verification support
https://bugs.webkit.org/show_bug.cgi?id=171103
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Implement WebCrypto ECDSA support for configurations that
are using libgcrypt.
For signing, the provided data is first hashed with the specified
digest algorithm and embedded into a data s-expression. It's then
passed to gcry_pk_sign() along with the private key, returning a
sig-val s-expression. The r and s parameters are then retrieved from
that sig-val and their data extracted and concatenated in the output
Vector<>.
For verification, the data is again hashed and embedded into a data
s-expression. The r and s parameters are extracted from the passed-in
signature Vector<> and embedded into a sig-val s-expression. The data
and sig-val s-expressions are then passed to gcry_pk_verify() along
with the public key. The verification succeeds if no error is returned
and fails if the returned error code is GPG_ERR_BAD_SIGNATURE.
- crypto/gcrypt/CryptoAlgorithmECDSAGCrypt.cpp:
(WebCore::hashCryptoDigestAlgorithm):
(WebCore::hashAlgorithmName):
(WebCore::mpiData):
(WebCore::gcryptSign):
(WebCore::gcryptVerify):
(WebCore::CryptoAlgorithmECDSA::platformSign):
(WebCore::CryptoAlgorithmECDSA::platformVerify):
LayoutTests:
- platform/gtk/TestExpectations: Enable the passing ECDSA tests under
crypto/subtle/. The ECDSA tests that utilize PKCS #8 and SPKI remain
skipped since support for that hasn't landed yet.
- 11:37 PM Changeset in webkit [216061] by
-
- 4 edits2 adds in trunk
[GCrypt] HKDF bit derivation support
https://bugs.webkit.org/show_bug.cgi?id=171074
Reviewed by Michael Catanzaro.
Source/WebCore:
Implement bit derivation support for the HKDF algorithm for configurations
that use libgcrypt.
libgcrypt doesn't provide HKDF support out of the box, so we have to
implement the two steps manually. In the first one, we retrieve the
pseudo-random key by using the specified MAC algorithm with the salt data
as the key and the key data as the input keying material.
In the expand step, we do the required amount of iterations to derive
a sufficient amount of data, using the same MAC algorithm with the
pseudo-random key from the previous step on the data we compose from the
previous block data, the info data, and the current iteration value. The
resulting blocks are appended together until they can be clipped to the
desired output length.
- crypto/gcrypt/CryptoAlgorithmHKDFGCrypt.cpp:
(WebCore::macAlgorithmForHashFunction):
(WebCore::gcryptDeriveBits):
(WebCore::CryptoAlgorithmHKDF::platformDeriveBits):
LayoutTests:
The crypto/subtle/hkdf-derive-bits-length-limits.html test is added, testing the
corner-case length values for which the bit derivation operation must succeed or
fail for any specified SHA hash algorithm. With HashLen as the algorithm's output
length, the operation should reject for lengths of 0 or above 255 * HashLen * 8.
The operation should resolve for lengths between the two limits, with testing
performed on lengths of 8 (the minimum output length), HashLen * 8 (matching the
output length of the hash algorithm), and 255 * HashLen * 8 (the maximum
derivation output length).
- crypto/subtle/hkdf-derive-bits-length-limits-expected.txt: Added.
- crypto/subtle/hkdf-derive-bits-length-limits.html: Added.
- platform/gtk/TestExpectations: Enable the HKDF tests under crypto/subtle/.
- 11:34 PM Changeset in webkit [216060] by
-
- 6 edits2 adds in trunk
[GCrypt] ECDH bit derivation support
https://bugs.webkit.org/show_bug.cgi?id=171070
Reviewed by Michael Catanzaro.
Source/WebCore:
Implement bit derivation support for the ECDH algorithm for configurations
that use libgcrypt.
This is done by retrieving the private key data and wrapping it in a new
data s-expression. That's then encrypted with the public key, and the
returned s-expression contains the shared point data. That data is then
decoded into an EC point, from which the x-coordinate is retrieved. This
coordinate data is finally our bit derivation result.
- crypto/gcrypt/CryptoAlgorithmECDHGCrypt.cpp:
(WebCore::gcryptDerive):
(WebCore::CryptoAlgorithmECDH::platformDeriveBits):
Source/WebCore/PAL:
Add PAL::GCrypt::HandleDeleter specialization for the
gcry_mpi_point_t type.
- pal/crypto/gcrypt/Handle.h:
(PAL::GCrypt::HandleDeleter<gcry_mpi_point_t>::operator()):
LayoutTests:
The crypto/subtle/ecdh-derive-bits-length-limits.html test is added, testing the
corner-case length values for which the bit derivation operation must succeed or
fail. When specifying 0 as the length, the returned result must match the EC key
size in length. 8, tested as the minimum non-zero value, and the key size for
each key must also correctly resolve and return a resulting ArrayBuffer whose
length in bytes must match the requested length. Derivations for byte-aligned
values should start rejecting immediately for length values that are bigger than
the EC key's length.
- crypto/subtle/ecdh-derive-bits-length-limits-expected.txt: Added.
- crypto/subtle/ecdh-derive-bits-length-limits.html: Added.
- platform/gtk/TestExpectations: Enable Web Crypto ECDH tests under crypto/subtle/
that are passing now that the proper implementation has been added. The remaining
failing ECDH tests use PKCS #8 and SPKI key import/export formats, which are not
supported yet.
- 10:30 PM Changeset in webkit [216059] by
-
- 2 edits in trunk/Source/WTF
[Xcode] It’s easy to accidentally install a WTF header outside /usr/local/include/wtf
https://bugs.webkit.org/show_bug.cgi?id=171533
Reviewed by Andy Estes.
- WTF.xcodeproj/project.pbxproj: Removed the WTF target’s Headers build phase. Its existence was making it easy to accidentally add a header to the target and make it Private, which would have Xcode install a copy of it right under /usr/local/include, in addition to the copy installed under /usr/local/include/wtf by the Copy WTF Headers target. Also got rid of INSTALL_PATH_PREFIX in the script build phase in the Copy WTF Headers target, because it is being never set anymore.
- 9:32 PM Changeset in webkit [216058] by
-
- 3 edits in trunk/Source/JavaScriptCore
[aarch64][Linux] m_allowScratchRegister assert hit in MacroAssemblerARM64 under B3::Air::CCallSpecial::generate()
https://bugs.webkit.org/show_bug.cgi?id=170672
Reviewed by Filip Pizlo.
In Air::CCallSpecial::admitsStack() we reject admitting the callee argument on
the stack for ARM64 because that can lead to disallowed usage of the scratch
register in MacroAssemblerARM64 when generating a call with an address Arg
in Air::CCallSpecial::generate().
The testLinearScanWithCalleeOnStack test is added to testb3. It reproduces the
original issue by force-spilling everything on the stack and enforcing the use
of the linear scan register allocation by using an optimization level of 1.
- b3/air/AirCCallSpecial.cpp:
(JSC::B3::Air::CCallSpecial::admitsStack):
- b3/testb3.cpp:
(JSC::B3::testLinearScanWithCalleeOnStack):
(JSC::B3::run):
- 8:14 PM Changeset in webkit [216057] by
-
- 2 edits in trunk/Source/WTF
WTF installs an extra copy of a header outside /usr/local/include/wtf
- WTF.xcodeproj/project.pbxproj: Demoted CPUTime.h from Private to Project.
- 7:04 PM Changeset in webkit [216056] by
-
- 4 edits in trunk/LayoutTests
REGRESSION: LayoutTest workers/wasm-hashset-many.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=171449
Unreviewed.
- platform/win/TestExpectations: Skip Wasm tests on Windows.
- workers/wasm-hashset-many-expected.txt:
- workers/wasm-hashset/many-test.js: Make wasm-hashset-many run fewer workers.
- 6:47 PM Changeset in webkit [216055] by
-
- 2 edits in trunk/Source/WebKit2
Use RELEASE_LOG_ERROR() to do process termination logging
https://bugs.webkit.org/show_bug.cgi?id=171521
Reviewed by Andreas Kling.
Use RELEASE_LOG_ERROR() to do process termination logging instead of RELEASE_LOG().
This makes the issue more visible in Console.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didExceedActiveMemoryLimit):
(WebKit::WebProcessProxy::didExceedInactiveMemoryLimit):
(WebKit::WebProcessProxy::didExceedBackgroundCPULimit):
- 6:33 PM Changeset in webkit [216054] by
-
- 6 edits in trunk
Ensure RealtimeOutgoingVideoSource sends a black frame when its related source is muted
https://bugs.webkit.org/show_bug.cgi?id=171497
Patch by Youenn Fablet <youenn@apple.com> on 2017-05-01
Reviewed by Eric Carlson.
Source/WebCore:
Covered by updated test.
When the track is being muted or disabled, send a black frame explicitly.
VideoToolBox sometimes does not output a frame until it receives the other.
That is why we end up sending two frames, the second asynchronously so that libwebrtc will not skip it.
Also storing the rotation so that we keep the same rotation for black frames.
Storing width and height for consistency as well.
- platform/mediastream/mac/RealtimeOutgoingVideoSource.cpp:
(WebCore::RealtimeOutgoingVideoSource::RealtimeOutgoingVideoSource):
(WebCore::RealtimeOutgoingVideoSource::setSource):
(WebCore::RealtimeOutgoingVideoSource::stop):
(WebCore::RealtimeOutgoingVideoSource::sourceMutedChanged):
(WebCore::RealtimeOutgoingVideoSource::sourceEnabledChanged):
(WebCore::RealtimeOutgoingVideoSource::setSizeFromSource):
(WebCore::RealtimeOutgoingVideoSource::sendBlackFrame):
(WebCore::RealtimeOutgoingVideoSource::sendFrame):
(WebCore::RealtimeOutgoingVideoSource::videoSampleAvailable):
- platform/mediastream/mac/RealtimeOutgoingVideoSource.h:
LayoutTests:
- webrtc/video-mute.html: Updating the test to make debugging clearer.
- 6:28 PM Changeset in webkit [216053] by
-
- 2 edits in trunk/Source/WebKit2
Only try to get sandbox extension handle for IndexedDB directory if it is set.
rdar://problem/31925828 and https://bugs.webkit.org/show_bug.cgi?id=171522
Reviewed by Andy Estes.
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary):
- 6:24 PM Changeset in webkit [216052] by
-
- 26 edits1 move in trunk/LayoutTests/imported/w3c
Eliminate ?pipe=sub from Resource Timing Tests
https://bugs.webkit.org/show_bug.cgi?id=171525
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-05-01
Reviewed by Youenn Fablet.
- web-platform-tests/resource-timing/resources/rt-utilities.sub.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/rt-utilities.js.
Rename with ".sub.js" to automatically get substitutions.
- web-platform-tests/resource-timing/resources/rt-iframe-1.html:
- web-platform-tests/resource-timing/resources/rt-iframe-2.html:
- web-platform-tests/resource-timing/resources/rt-worker-resources.js:
- web-platform-tests/resource-timing/rt-cors.html:
- web-platform-tests/resource-timing/rt-cors.worker.js:
- web-platform-tests/resource-timing/rt-initiatorType-css.html:
- web-platform-tests/resource-timing/rt-initiatorType-element.html:
- web-platform-tests/resource-timing/rt-initiatorType-fetch.html:
- web-platform-tests/resource-timing/rt-initiatorType-media.html:
- web-platform-tests/resource-timing/rt-initiatorType-other.html:
- web-platform-tests/resource-timing/rt-initiatorType-script-module.html:
- web-platform-tests/resource-timing/rt-initiatorType-xmlhttprequest.html:
- web-platform-tests/resource-timing/rt-initiatorType.worker.js:
- web-platform-tests/resource-timing/rt-nextHopProtocol.html:
- web-platform-tests/resource-timing/rt-nextHopProtocol.worker.js:
- web-platform-tests/resource-timing/rt-performance-extensions.html:
- web-platform-tests/resource-timing/rt-performance-extensions.worker.js:
- web-platform-tests/resource-timing/rt-resource-errors.html:
- web-platform-tests/resource-timing/rt-resource-ignored.html:
- web-platform-tests/resource-timing/rt-resources-per-frame.html:
- web-platform-tests/resource-timing/rt-resources-per-worker.html:
- web-platform-tests/resource-timing/rt-revalidate-requests.html:
- web-platform-tests/resource-timing/rt-serialization.html:
- web-platform-tests/resource-timing/rt-shared-resource-in-frames.html:
- web-platform-tests/resource-timing/rt-shared-resource-in-workers.html:
Update include of rt-utilities.
- 6:16 PM Changeset in webkit [216051] by
-
- 4 edits in trunk/Source/WebCore
Simplify Resource Timing handling of cached resource
https://bugs.webkit.org/show_bug.cgi?id=171526
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-05-01
Reviewed by Youenn Fablet.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::loadRequest):
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::init):
(WebCore::SubresourceLoader::reportResourceTiming):
Use auto in ResourceTiming construction.
Eliminate an outdated comment.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
We can avoid the checks around the request.origin. It should already
be the cases we were checking and asserting because of login in
CachedResourceLoader::prepareFetch.
- 6:07 PM Changeset in webkit [216050] by
-
- 7 edits1 move in trunk/Source/WebCore
Unreviewed, rolling out r216024.
This change caused ios-simulator LayoutTests to exit early
with assertion failures.
Reverted changeset:
"Add audio device change notifications to AudioSession."
https://bugs.webkit.org/show_bug.cgi?id=171403
http://trac.webkit.org/changeset/216024
- 6:00 PM Changeset in webkit [216049] by
-
- 4 edits in trunk
Stop using sprintf() in JavaScriptCore debugger
<https://webkit.org/b/171512>
Reviewed by Keith Miller.
Source/JavaScriptCore:
- disassembler/udis86/udis86.c:
(ud_insn_hex): Switch from sprintf() to snprintf().
Tools:
- Scripts/webkitpy/style/checker.py:
(_PATH_RULES_SPECIFIER): Ignore some formatting checkers since
Source/JavaScriptCore/disassembler/udis86/ is generated code.
- 5:51 PM Changeset in webkit [216048] by
-
- 2 edits in trunk/LayoutTests
Marked LayoutTest/http/tests/preload/not_delaying_window_onload_before_discovery.html as flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=171528
Unreviewed test Gardening.
Patch by Matt Lewis <Matt Lewis> on 2017-05-01
- platform/ios-wk2/TestExpectations:
- 5:08 PM Changeset in webkit [216047] by
-
- 53 edits6 adds4 deletes in trunk
Expose viewport-fit instead of clip-to-safe-area
https://bugs.webkit.org/show_bug.cgi?id=171503
<rdar://problem/31918249>
Reviewed by Simon Fraser.
Tests: fast/viewport/ios/viewport-fit-auto.html
fast/viewport/ios/viewport-fit-contain.html
fast/viewport/ios/viewport-fit-cover.html
- dom/ConstantPropertyMap.cpp:
(WebCore::ConstantPropertyMap::buildValues):
(WebCore::ConstantPropertyMap::updateConstantsForUnobscuredSafeAreaInsets):
(WebCore::ConstantPropertyMap::didChangeSafeAreaInsets):
(WebCore::ConstantPropertyMap::updateConstantsForObscuredInsets): Deleted.
(WebCore::ConstantPropertyMap::didChangeObscuredInsets): Deleted.
- dom/ConstantPropertyMap.h:
Retrieve the safe area insets from page, instead of assuming that we should
just expose the entire obscured inset. Also, do some renames.
- dom/ViewportArguments.cpp:
(WebCore::ViewportArguments::resolve):
(WebCore::parseViewportFitValue):
(WebCore::setViewportFeature):
- dom/ViewportArguments.h:
(WebCore::ViewportArguments::operator==):
- page/ChromeClient.h:
- page/FrameView.cpp:
(WebCore::FrameView::enableSpeculativeTilingIfNeeded):
(WebCore::FrameView::calculateExtendedBackgroundMode):
(WebCore::FrameView::setClipToSafeArea): Deleted.
- page/FrameView.h:
- page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::updateConfiguration):
(WebCore::operator<<):
(WebCore::ViewportConfiguration::description):
(WebCore::ViewportConfiguration::dump):
- page/ViewportConfiguration.h:
(WebCore::ViewportConfiguration::avoidsUnsafeArea):
(WebCore::ViewportConfiguration::Parameters::Parameters):
(WebCore::ViewportConfiguration::clipToSafeArea): Deleted.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateRootContentLayerClipping):
- rendering/RenderObject.cpp:
(WebCore::RenderObject::repaintUsingContainer):
Un-do changes to support clip-to-safe-area, and instead implement
a new viewport-fit argument in the viewport meta tag, which takes
"auto", "contain", and "cover". "auto" and "contain" cause web content
to lay out excluding the safe area inset from the layout size, while
"cover" causes web content to expand into the unsafe area.
- page/Page.cpp:
(WebCore::Page::setUnobscuredSafeAreaInsets):
(WebCore::Page::setObscuredInsets): Deleted.
- page/Page.h:
(WebCore::Page::setObscuredInsets):
(WebCore::Page::unobscuredSafeAreaInsets):
Keep safe area and obscured insets separately.
- Shared/VisibleContentRectUpdateInfo.cpp:
(WebKit::VisibleContentRectUpdateInfo::encode):
(WebKit::VisibleContentRectUpdateInfo::decode):
(WebKit::operator<<):
- Shared/VisibleContentRectUpdateInfo.h:
(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
(WebKit::VisibleContentRectUpdateInfo::unobscuredSafeAreaInsets):
(WebKit::operator==):
Plumb the safe area insets down from the UI process to the Web Content
process inside the visible content rect update, alongside the obscured
insets.
- Shared/mac/RemoteLayerTreeTransaction.h:
(WebKit::RemoteLayerTreeTransaction::avoidsUnsafeArea):
(WebKit::RemoteLayerTreeTransaction::setAvoidsUnsafeArea):
- Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::encode):
(WebKit::RemoteLayerTreeTransaction::decode):
(WebKit::RemoteLayerTreeTransaction::description):
- UIProcess/PageClient.h:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::didChangeAvoidsUnsafeArea):
(WebKit::PageClientImpl::didChangeClipToSafeArea): Deleted.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::didCommitLayerTree):
- UIProcess/mac/PageClientImpl.h:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::didChangeClipToSafeArea): Deleted.
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::willCommitLayerTree):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::viewportConfigurationChanged):
(WebKit::WebPage::updateVisibleContentRects):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::resetState):
(WebKit::WebPageProxy::setAvoidsUnsafeArea):
(WebKit::WebPageProxy::setClipToSafeArea): Deleted.
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::avoidsUnsafeArea):
(WebKit::WebPageProxy::clipToSafeArea): Deleted.
- UIProcess/WebPageProxy.messages.in:
Plumb the effective value of viewport-fit (whether or not to avoid
the safe area for layout purposes) from the Web Content process
to the UI process inside the layer tree transaction.
Also, remove clip-to-safe-area plumbing.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
(-[WKWebView _computedContentInset]):
(-[WKWebView _computedUnobscuredSafeAreaInset]):
(-[WKWebView _updateVisibleContentRects]):
(-[WKWebView _updateScrollViewInsetAdjustmentBehavior]):
(-[WKWebView _safeAreaShouldAffectObscuredInsets]):
(-[WKWebView _unobscuredSafeAreaInsets]):
(-[WKWebView _setUnobscuredSafeAreaInsets:]):
(-[WKWebView _contentMayDrawInObscuredInsets]): Deleted.
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
Make use of the effective value of viewport-fit to decide whether to
take the safe area into account when computing the obscured insets,
and expose this to clients (in the case that they need to know
because they push their own obscured insets down). Also expose a
safe area inset setter for that case as well.
- UIProcess/ios/WKContentView.h:
- UIProcess/ios/WKContentView.mm:
(-[WKContentView updateFixedClippingView:]):
(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInsets:unobscuredSafeAreaInsets:inputViewBounds:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:enclosedInScrollableAncestorView:]):
Remove a piece of the clip-to-safe-area implementation, and plumb
safe area insets into the visible content rect update info.
- UIProcess/ios/WKScrollView.h:
- UIProcess/ios/WKScrollView.mm:
(-[WKScrollView initWithFrame:]):
(-[WKScrollView _contentInsetAdjustmentBehaviorWasExternallyOverridden]):
(-[WKScrollView _setContentInsetAdjustmentBehavior:]):
(-[WKScrollView _setContentInsetAdjustmentBehaviorInternal:]):
Keep track of whether the client has ever touched the content inset adjustment
behavior; if they have, we won't manage it ourselves.
- DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::setSafeAreaInsets):
(WTR::UIScriptController::setObscuredInsets): Deleted.
- TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
- TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::setSafeAreaInsets):
(WTR::UIScriptController::setObscuredInsets): Deleted.
- TestRunnerShared/UIScriptContext/UIScriptController.h:
- WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
- WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView setOverrideSafeAreaInsets:]):
(-[TestRunnerWKWebView _safeAreaInsetsForFrame:inSuperview:]):
- WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
- WebKitTestRunner/ios/UIKitSPI.h:
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::setSafeAreaInsets):
(WTR::UIScriptController::setObscuredInsets): Deleted.
Expose a safe area inset setter instead of obscured insets.
- TestExpectations:
- fast/css/variables/constants/ios/safe-area-inset-set-expected.html:
- fast/css/variables/constants/ios/safe-area-inset-set.html:
- fast/viewport/ios/viewport-fit-auto-expected.txt: Added.
- fast/viewport/ios/viewport-fit-auto.html: Added.
- fast/viewport/ios/viewport-fit-contain-expected.txt: Added.
- fast/viewport/ios/viewport-fit-contain.html: Added.
- fast/viewport/ios/viewport-fit-cover-expected.txt: Added.
- fast/viewport/ios/viewport-fit-cover.html: Added.
- tiled-drawing/ios/viewport-clip-to-safe-area-no-gets-margin-tiles-expected.txt: Removed.
- tiled-drawing/ios/viewport-clip-to-safe-area-no-gets-margin-tiles.html: Removed.
- tiled-drawing/ios/viewport-clip-to-safe-area-yes-gets-no-margin-tiles-expected.txt: Removed.
- tiled-drawing/ios/viewport-clip-to-safe-area-yes-gets-no-margin-tiles.html: Removed.
Remove clip-to-safe-area tests and add some viewport-fit tests. Also, adjust
safe-area-inset-set to use the new UIScriptController setSafeAreaInset method.
- 5:02 PM Changeset in webkit [216046] by
-
- 6 edits2 adds in trunk
Documents created using DOMParser.parseFromString should inherit their context document's origin / URL
https://bugs.webkit.org/show_bug.cgi?id=171499
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Rebaseline web-platform-tests now that more checks are passing.
- web-platform-tests/domparsing/DOMParser-parseFromString-html-expected.txt:
- web-platform-tests/domparsing/DOMParser-parseFromString-xml-expected.txt:
Source/WebCore:
Documents created using DOMParser.parseFromString should inherit their context document's
origin / URL:
Test: fast/dom/domparser-parsefromstring-origin.html
- xml/DOMParser.cpp:
(WebCore::DOMParser::parseFromString):
LayoutTests:
Add layout test coverage. I have verified that this test passes in both Firefox and Chrome.
- fast/dom/domparser-parsefromstring-origin-expected.txt: Added.
- fast/dom/domparser-parsefromstring-origin.html: Added.
- 5:01 PM Changeset in webkit [216045] by
-
- 2 edits in trunk/LayoutTests
Mark inspector/debugger/tail-recursion.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=168387
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 5:01 PM Changeset in webkit [216044] by
-
- 3 edits in trunk/LayoutTests
Rebaseline two fast/visual-viewport tests for iOS.
Unreviewed test gardening.
- platform/ios/fast/visual-viewport/zoomed-fixed-expected.txt:
- platform/ios/fast/visual-viewport/zoomed-fixed-header-and-footer-expected.txt:
- 4:54 PM Changeset in webkit [216043] by
-
- 2 edits in trunk/Source/WebCore
Web Inspector: ASSERT(!m_startedComposite) fails when recording on non-Cocoa Timeline
https://bugs.webkit.org/show_bug.cgi?id=171363
Patch by Ross Kirsling <Ross Kirsling> on 2017-05-01
Reviewed by Matt Baker.
- page/FrameView.cpp:
(WebCore::FrameView::flushCompositingStateIncludingSubframes): Add PLATFORM(COCOA) guard.
- 4:18 PM Changeset in webkit [216042] by
-
- 2 edits in trunk/Tools
Unreviewed, fix the build on a new internal SDK
Replace usages of NSItemProviderRepresentationVisibilityAll with
UIItemProviderRepresentationOptionsVisibilityAll.
- TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(-[UIItemProvider registerDataRepresentationForTypeIdentifier:withData:]):
(TestWebKitAPI::TEST):
- 4:00 PM Changeset in webkit [216041] by
-
- 3 edits in trunk/Tools
[Cocoa] Replace uses of [get…Class() alloc] in TestWebKitAPI
<https://webkit.org/b/171493>
Reviewed by Dan Bernstein.
- TestWebKitAPI/Tests/WebKit/ios/AudioSessionCategoryIOS.mm:
Remove UIKit soft-link since TestWebKitAPI links to
UIKit.framework.
(TestWebKitAPI::WebKit1_AudioSessionCategoryIOS_Test): Use
UIWindow and UIWebView classes directly.
- TestWebKitAPI/Tests/WebKit2Cocoa/RequiresUserActionForPlayback.mm:
Remove UIKit soft-link since TestWebKitAPI links to
UIKit.framework.
(RequiresUserActionForPlaybackTest::createWebView): Use UIWindow
class directly.
- 3:55 PM Changeset in webkit [216040] by
-
- 2 edits in trunk/Source/WebCore
Stop using strcpy() in fullyQualifiedInfoTableName() from Database.cpp
<https://webkit.org/b/171517>
Reviewed by Brady Eidson.
- Modules/webdatabase/Database.cpp:
(WebCore::fullyQualifiedInfoTableName): Switch from strcpy() to
snprintf().
- 3:54 PM Changeset in webkit [216039] by
-
- 4 edits in trunk/LayoutTests
[GTK] Two test started to fail after due to unhandled promise rejection reported after r215916
https://bugs.webkit.org/show_bug.cgi?id=171491
Unreviewed test gardening.
- js/promises-tests/promises-tests-2-3-3.html:
Silence unhandled expectation messages for this test.
- media/video-fullscreen-restriction-removed-expected.txt:
Rebaseline expected results with unhandled expectation message.
- platform/gtk/TestExpectations:
- 3:52 PM Changeset in webkit [216038] by
-
- 11 edits3 adds in trunk
AX: Support time@datetime for verbosity clarification of dates, times, and durations
https://bugs.webkit.org/show_bug.cgi?id=171498
<rdar://problem/12985540>
Reviewed by Joanmarie Diggs.
Source/WebCore:
Expose the datetime attribute value.
Test: accessibility/datetime-attribute.html
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::datetimeAttributeValue):
- accessibility/AccessibilityObject.h:
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
(-[WebAccessibilityObjectWrapper accessibilityDatetimeValue]):
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
(createAccessibilityRoleMap):
(-[WebAccessibilityObjectWrapper subrole]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
LayoutTests:
- accessibility/datetime-attribute.html: Added.
- accessibility/roles-computedRoleString-expected.txt:
- platform/gtk/accessibility/datetime-attribute-expected.txt: Added.
- platform/gtk/accessibility/roles-exposed-expected.txt:
- platform/mac/accessibility/datetime-attribute-expected.txt: Added.
- platform/mac/accessibility/roles-computedRoleString-expected.txt:
- platform/mac/accessibility/roles-exposed-expected.txt:
- 3:41 PM Changeset in webkit [216037] by
-
- 22 edits9 moves in trunk
Update names in WKURLSchemeHandler/WKURLSchemeHandlerTask APIs.
<rdar://problem/31824838> and https://bugs.webkit.org/show_bug.cgi?id=171508
Reviewed by Andy Estes.
Source/WebKit2:
This patch:
- Renames WKURLSchemeHandlerTask to WKURLSchemeTask
- Renames the method "startTask" to "startURLSchemeTask"
- Renames the method "stopTask" to "stopURLSchemeTask"
To those effects it's basically a global replace.
- Shared/API/APIObject.h:
- Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
- UIProcess/API/APIURLSchemeTask.cpp: Renamed from Source/WebKit2/UIProcess/API/APIURLSchemeHandlerTask.cpp.
(API::URLSchemeTask::create):
(API::URLSchemeTask::URLSchemeTask):
- UIProcess/API/APIURLSchemeTask.h: Renamed from Source/WebKit2/UIProcess/API/APIURLSchemeHandlerTask.h.
- UIProcess/API/Cocoa/WKURLSchemeHandler.h:
- UIProcess/API/Cocoa/WKURLSchemeTask.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKURLSchemeHandlerTask.h.
- UIProcess/API/Cocoa/WKURLSchemeTask.mm: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKURLSchemeHandlerTask.mm.
(raiseExceptionIfNecessary):
(-[WKURLSchemeTaskImpl request]):
(-[WKURLSchemeTaskImpl didReceiveResponse:]):
(-[WKURLSchemeTaskImpl didReceiveData:]):
(-[WKURLSchemeTaskImpl didFinish]):
(-[WKURLSchemeTaskImpl didFailWithError:]):
(-[WKURLSchemeTaskImpl _apiObject]):
- UIProcess/API/Cocoa/WKURLSchemeTaskInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKURLSchemeHandlerTaskInternal.h.
(WebKit::wrapper):
- UIProcess/Cocoa/WebURLSchemeHandlerCocoa.h:
- UIProcess/Cocoa/WebURLSchemeHandlerCocoa.mm:
(WebKit::WebURLSchemeHandlerCocoa::platformStartTask):
(WebKit::WebURLSchemeHandlerCocoa::platformStopTask):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::startURLSchemeTask):
(WebKit::WebPageProxy::stopURLSchemeTask):
(WebKit::WebPageProxy::startURLSchemeHandlerTask): Deleted.
(WebKit::WebPageProxy::stopURLSchemeHandlerTask): Deleted.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/WebURLSchemeHandler.cpp:
(WebKit::WebURLSchemeHandler::startTask):
- UIProcess/WebURLSchemeHandler.h:
- UIProcess/WebURLSchemeTask.cpp: Renamed from Source/WebKit2/UIProcess/WebURLSchemeHandlerTask.cpp.
(WebKit::WebURLSchemeTask::create):
(WebKit::WebURLSchemeTask::WebURLSchemeTask):
(WebKit::WebURLSchemeTask::didReceiveResponse):
(WebKit::WebURLSchemeTask::didReceiveData):
(WebKit::WebURLSchemeTask::didComplete):
(WebKit::WebURLSchemeTask::pageDestroyed):
(WebKit::WebURLSchemeTask::stop):
- UIProcess/WebURLSchemeTask.h: Renamed from Source/WebKit2/UIProcess/WebURLSchemeHandlerTask.h.
(WebKit::WebURLSchemeTask::identifier):
(WebKit::WebURLSchemeTask::request):
- WebKit2.xcodeproj/project.pbxproj:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::addURLSchemeTaskProxy):
(WebKit::WebLoaderStrategy::removeURLSchemeTaskProxy):
(WebKit::WebLoaderStrategy::remove):
(WebKit::WebLoaderStrategy::addURLSchemeHandlerTaskProxy): Deleted.
(WebKit::WebLoaderStrategy::removeURLSchemeHandlerTaskProxy): Deleted.
- WebProcess/Network/WebLoaderStrategy.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::urlSchemeTaskDidReceiveResponse):
(WebKit::WebPage::urlSchemeTaskDidReceiveData):
(WebKit::WebPage::urlSchemeTaskDidComplete):
(WebKit::WebPage::urlSchemeHandlerTaskDidReceiveResponse): Deleted.
(WebKit::WebPage::urlSchemeHandlerTaskDidReceiveData): Deleted.
(WebKit::WebPage::urlSchemeHandlerTaskDidComplete): Deleted.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/WebURLSchemeHandlerProxy.cpp:
(WebKit::WebURLSchemeHandlerProxy::startNewTask):
(WebKit::WebURLSchemeHandlerProxy::taskDidComplete):
(WebKit::WebURLSchemeHandlerProxy::taskDidStopLoading):
- WebProcess/WebPage/WebURLSchemeHandlerProxy.h:
- WebProcess/WebPage/WebURLSchemeTaskProxy.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/WebURLSchemeHandlerTaskProxy.cpp.
(WebKit::WebURLSchemeTaskProxy::WebURLSchemeTaskProxy):
(WebKit::WebURLSchemeTaskProxy::startLoading):
(WebKit::WebURLSchemeTaskProxy::stopLoading):
(WebKit::WebURLSchemeTaskProxy::didReceiveResponse):
(WebKit::WebURLSchemeTaskProxy::didReceiveData):
(WebKit::WebURLSchemeTaskProxy::didComplete):
(WebKit::WebURLSchemeTaskProxy::hasLoader):
- WebProcess/WebPage/WebURLSchemeTaskProxy.h: Renamed from Source/WebKit2/WebProcess/WebPage/WebURLSchemeHandlerTaskProxy.h.
(WebKit::WebURLSchemeTaskProxy::request):
(WebKit::WebURLSchemeTaskProxy::identifier):
Tools:
- TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:
(-[SchemeHandler webView:startURLSchemeTask:]):
(-[SchemeHandler webView:stopURLSchemeTask:]):
(-[SchemeHandler webView:startTask:]): Deleted.
(-[SchemeHandler webView:stopTask:]): Deleted.
- 3:29 PM Changeset in webkit [216036] by
-
- 2 edits in trunk/LayoutTests
Marked fast/mediastream/getUserMedia-webaudio.html as flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=170960
Unreviewed test gardening.
Patch by Matt Lewis <Matt Lewis> on 2017-05-01
- platform/mac-wk2/TestExpectations:
- 3:24 PM Changeset in webkit [216035] by
-
- 29 edits3 adds in trunk
RejectedPromiseTracker should produce better callstacks and avoid capturing callstacks unless there is a debugger/inspector
https://bugs.webkit.org/show_bug.cgi?id=171416
<rdar://problem/31899425>
Reviewed by Saam Barati and Brian Burg.
LayoutTests/imported/w3c:
- web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits-expected.txt:
- web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys-expected.txt:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_pause_noautoplay-expected.txt:
- web-platform-tests/html/semantics/embedded-content/media-elements/event_play_noautoplay-expected.txt:
- web-platform-tests/html/semantics/embedded-content/media-elements/paused_true_during_pause-expected.txt:
- web-platform-tests/streams/piping/close-propagation-forward-expected.txt:
- web-platform-tests/streams/piping/error-propagation-backward-expected.txt:
- web-platform-tests/streams/piping/error-propagation-forward-expected.txt:
- web-platform-tests/streams/piping/flow-control-expected.txt:
- web-platform-tests/streams/piping/general-expected.txt:
Rebaseline results. Better stack trace for errors includes correct line numbers.
Explicit rejections with a value do not include backtraces without a debugger.
Source/WebCore:
Test: inspector/console/message-stack-trace.html
- dom/RejectedPromiseTracker.cpp:
(WebCore::UnhandledPromise::UnhandledPromise):
(WebCore::UnhandledPromise::callStack):
Switch to RefPtr to allow not capturing the stack.
(WebCore::createScriptCallStackFromReason):
Use the VM's lastException if the value in the exception is the
rejected promise value. Using the Exception call stack is important
because uncaught exceptions in promise rejections trigger a built-in
try/catch and re-enter JavaScript before passing the Error through
to the RejectionTracker. When possible, we don't want to capture the
new stack originating from the try/catch. Instead, we want the stack
from before the try/catch when the error was created.
- dom/ScriptExecutionContext.h:
- dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::reportUnhandledPromiseRejection):
Switch to a pointer since the stack could be empty.
LayoutTests:
- inspector/console/message-stack-trace-expected.txt: Added.
- inspector/console/message-stack-trace.html: Added.
Test console stack traces from various places where console messages
are generated and the stacks are important.
- inspector/console/resources/log-console-stack-trace.js: Added.
(TestPage.registerInitializer.logCallFrame):
(TestPage.registerInitializer.window.logConsoleMessageStackTrace):
Like the logger for Debugger StackTrace but for Console StackTrace.
- inspector/debugger/break-on-exception-throw-in-promise-expected.txt:
- inspector/debugger/break-on-uncaught-exception-throw-in-promise-expected.txt:
- fast/mediastream/MediaStream-MediaElement-setObject-null-expected.txt:
- http/tests/security/video-cross-origin-caching-expected.txt:
- js/dom/unhandled-promise-rejection-bindings-type-error-expected.txt:
- js/dom/unhandled-promise-rejection-console-report-expected.txt:
- js/promises-tests/promises-tests-2-2-6-expected.txt:
- streams/reference-implementation/pipe-to-options-expected.txt:
- streams/reference-implementation/readable-stream-templated-expected.txt:
- streams/reference-implementation/writable-stream-abort-expected.txt:
- streams/reference-implementation/writable-stream-expected.txt:
- webrtc/libwebrtc/release-while-creating-offer-expected.txt:
- webrtc/libwebrtc/release-while-setting-local-description-expected.txt:
Rebaseline results. Better stack trace for errors includes correct line numbers.
Explicit rejections with a value do not include backtraces without a debugger.
- 3:03 PM Changeset in webkit [216034] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix after r216033.
- platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioCaptureSource::create):
- 2:53 PM Changeset in webkit [216033] by
-
- 2 edits in trunk/LayoutTests
LayoutTest/imported/w3c/web-platform-tests/resource-timing/rt-revalidate-requests.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=171511
Unreviewed test gardening.
- 2:53 PM Changeset in webkit [216032] by
-
- 2 edits in trunk/Tools
Add a new function for getting the Git hash for a pure git directory.
https://bugs.webkit.org/show_bug.cgi?id=171450
Reviewed by David Kilzer.
- Scripts/VCSUtils.pm:
(gitHashForDirectory):
- 2:52 PM Changeset in webkit [216031] by
-
- 2 edits in trunk/LayoutTests
Update TestExpectations for http/tests/fetch/fetch-in-worker-crash.html.
Unreviewed test gardening.
- 2:49 PM Changeset in webkit [216030] by
-
- 11 edits in trunk
fix check-webkit-style errors in webkitpy about two blank lines before class definitions
https://bugs.webkit.org/show_bug.cgi?id=171509
Reviewed by Alexey Proskuryakov.
- Scripts/webkitpy/common/config/committers.py: Added two blank lines before class definition.
- Scripts/webkitpy/layout_tests/models/test_run_results.py: Ditto.
- Scripts/webkitpy/layout_tests/run_webkit_tests.py: Ditto.
- Scripts/webkitpy/port/base_unittest.py: Ditto.
- Scripts/webkitpy/port/device.py: Ditto.
- Scripts/webkitpy/port/linux_get_crash_log.py: Ditto.
- Scripts/webkitpy/style/checkers/featuredefines.py: Ditto.
- Scripts/webkitpy/style/checkers/jsonchecker.py: Ditto.
- Scripts/webkitpy/tool/bot/patchanalysistask.py: Ditto.
- Scripts/webkitpy/layout_tests/controllers/manager_unittest.py: Ditto.
(ManagerTest.test_uses_custom_device.MockCustomDevicePort): Added blank line before method.
(ManagerTest.test_uses_custom_device): Removed extra blank line at end of file.
- 2:38 PM Changeset in webkit [216029] by
-
- 3 edits in trunk/Source/WebCore
Use AVAudioSession to enumerate audio capture devices on iOS
https://bugs.webkit.org/show_bug.cgi?id=170861
<rdar://problem/31653658>
Reviewed by Eric Carlson.
Hook up the new AVAudioSessionCaptureDeviceManager class to CoreAudioCaptureSource and to the (increasingly ill-named)
RealtimeMediaSourceCenterMac.
- platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioCaptureSource::create):
- platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
(WebCore::RealtimeMediaSourceCenterMac::setUseAVFoundationAudioCapture):
- 2:19 PM Changeset in webkit [216028] by
-
- 9 edits in trunk
[ATK] Expose values of aria-rowcount, aria-colcount, aria-rowindex, aria-colindex, aria-rowspan, and aria-colspan as object attributes
https://bugs.webkit.org/show_bug.cgi?id=171496
Reviewed by Chris Fleizach.
Source/WebCore:
Expose valid, author-provided values as an object attribute. In order to distinguish
author-provided values from the default returned by WebCore Accessibility (1), change
the default return value to -1. We cannot return 0 because the ARIA spec states that
0 is a valid value for authors to provide to indicate that the cell spans the remaining
rows in the row group.
Also removed some legacy code. The "layout-guess" attribute was needed and expected
as a way for AT-SPI2-based assistive technologies to identify layout tables. WebCore
Accessibility does not expose tables which are purely for layout as accessible tables,
and WebKitGtk uses that implementation, thus this attribute is no longer relevant.
No new tests. Unskipped existing test which is now passing.
- accessibility/AccessibilityARIAGridCell.cpp:
(WebCore::AccessibilityARIAGridCell::ariaRowSpanWithRowIndex):
(WebCore::AccessibilityARIAGridCell::columnIndexRange):
- accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::ariaColumnSpan):
(WebCore::AccessibilityTableCell::ariaRowSpan):
- accessibility/AccessibilityTableCell.h:
- accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetAttributes):
Tools:
Add new attribute names so that the values of the object attributes can be tested.
- WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::numberAttributeValue):
LayoutTests:
- platform/gtk/TestExpectations: Unskip accessibility/aria-table-attributes.html
- 2:17 PM Changeset in webkit [216027] by
-
- 2 edits in trunk/Source/JavaScriptCore
Air::fixObviousSpills should remove totally redundant instructions
https://bugs.webkit.org/show_bug.cgi?id=171131
Reviewed by Saam Barati.
This is a modest compile-time-neutral improvement to fixObviousSpills. That phase
builds up a classic alias analysis data structure over spills and registers and then
uses it to remove the most common spill pathologies we encounter. For example, if you
use a spill but the spill is aliased to a register or constant, then we can replace the
use of the spill with a use of the register or constant.
But that phase was missing perhaps one of the most obvious fixups that its analysis
allows us to do: if any instruction creates an alias we already know about, then the
instruction is redundant. This turned out to be super important for
https://bugs.webkit.org/show_bug.cgi?id=171075. That patch didn't work out, but this
kind of optimization might be a good clean-up for many other kinds of optimizations.
- b3/air/AirFixObviousSpills.cpp:
- 2:15 PM Changeset in webkit [216026] by
-
- 2 edits in trunk/LayoutTests
Rebaseline fast/visual-viewport/rtl-zoomed-rects.html for mac-wk1.
https://bugs.webkit.org/show_bug.cgi?id=171500
Unreviewed test gardening.
- platform/mac-wk1/fast/visual-viewport/rtl-zoomed-rects-expected.txt:
- 2:13 PM Changeset in webkit [216025] by
-
- 8 edits in trunk/LayoutTests
Rebaselined fast/visual-viewport/ tests.
https://bugs.webkit.org/show_bug.cgi?id=171500
Unreviewed test gardening.
Patch by Matt Lewis <Matt Lewis> on 2017-05-01
- platform/ios-wk2/fast/visual-viewport/nonzoomed-rects-expected.txt:
- platform/ios-wk2/fast/visual-viewport/rtl-nonzoomed-rects-expected.txt:
- platform/ios-wk2/fast/visual-viewport/rtl-zoomed-rects-expected.txt:
- platform/ios-wk2/fast/visual-viewport/rubberbanding-viewport-rects-expected.txt:
- platform/ios-wk2/fast/visual-viewport/rubberbanding-viewport-rects-extended-background-expected.txt:
- platform/ios-wk2/fast/visual-viewport/rubberbanding-viewport-rects-header-footer-expected.txt:
- platform/ios-wk2/fast/visual-viewport/zoomed-fixed-expected.txt: Added.
- platform/ios-wk2/fast/visual-viewport/zoomed-fixed-header-and-footer-expected.txt: Added.
- platform/ios-wk2/fast/visual-viewport/zoomed-rects-expected.txt:
- 2:06 PM Changeset in webkit [216024] by
-
- 7 edits1 move in trunk/Source/WebCore
Add audio device change notifications to AudioSession.
https://bugs.webkit.org/show_bug.cgi?id=171403
Reviewed by Eric Carlson.
Add notifications to AudioSession which fire when the current input and output audio devices
change. Also add a notification when audio services are lost (which will only fire on iOS).
Take this opportunity to make the existing hardwareMutedStateDidChange() notification be
platform agnostic, to move the outputDeviceSupportsLowPowerMode() code from AudioHardwareListener,
and to do a few more clean-ups of the AudioSession code.
- WebCore.xcodeproj/project.pbxproj:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::~HTMLMediaElement):
- html/HTMLMediaElement.h:
- platform/audio/AudioSession.cpp:
(WebCore::AudioSession::AudioSession):
- platform/audio/AudioSession.h:
(WebCore::AudioSession::Observer::hardwareMutedStateDidChange):
(WebCore::AudioSession::Observer::audioInputDeviceChanged):
(WebCore::AudioSession::Observer::audioOutputDeviceChanged):
(WebCore::AudioSession::Observer::audioServicesLost):
(WebCore::AudioSession::Observer::audioServicesReset):
(WebCore::AudioSession::MutedStateObserver::~MutedStateObserver): Deleted.
- platform/audio/ios/AudioSessionIOS.mm:
(WebCore::AudioSessionPrivate::AudioSessionPrivate):
(WebCore::AudioSession::AudioSession):
(WebCore::AudioSession::setCategoryOverride):
(WebCore::AudioSession::categoryOverride):
(WebCore::AudioSession::isMuted):
(WebCore::AudioSession::outputDeviceSupportsLowPowerMode):
(WebCore::AudioSession::addObserver):
(WebCore::AudioSession::removeObserver):
- platform/audio/mac/AudioSessionMac.mm: Renamed from Source/WebCore/platform/audio/mac/AudioSessionMac.cpp.
(WebCore::defaultDevice):
(WebCore::AudioSessionPrivate::AudioSessionPrivate):
(WebCore::AudioSession::AudioSession):
(WebCore::AudioSession::~AudioSession):
(WebCore::AudioSession::category):
(WebCore::AudioSession::setCategory):
(WebCore::AudioSession::categoryOverride):
(WebCore::AudioSession::setCategoryOverride):
(WebCore::AudioSession::sampleRate):
(WebCore::AudioSession::bufferSize):
(WebCore::AudioSession::numberOfOutputChannels):
(WebCore::AudioSession::tryToSetActive):
(WebCore::AudioSession::preferredBufferSize):
(WebCore::AudioSession::setPreferredBufferSize):
(WebCore::AudioSession::isMuted):
(WebCore::currentDeviceSupportsLowPowerBufferSize):
(WebCore::AudioSession::outputDeviceSupportsLowPowerMode):
(WebCore::AudioSession::addObserver):
(WebCore::AudioSession::removeObserver):
- 1:40 PM Changeset in webkit [216023] by
-
- 3 edits2 adds in trunk
Do not dispatch SVG load event in frameless documents
https://bugs.webkit.org/show_bug.cgi?id=171505
<rdar://problem/31799776>
Reviewed by Andreas Kling.
Source/WebCore:
We should not dispatch SVG load events in frameless documents. <https://trac.webkit.org/changeset/173028/webkit>
took care of most load events but forgot the SVG load event.
Test: fast/dom/domparser-parsefromstring-svg-load-event.html
- dom/Document.cpp:
(WebCore::Document::implicitClose):
LayoutTests:
Add layout test coverage. I have verified that this test passes on both Firefox and Chrome.
- fast/dom/domparser-parsefromstring-svg-load-event-expected.txt: Added.
- fast/dom/domparser-parsefromstring-svg-load-event.html: Added.
- 11:50 AM Changeset in webkit [216022] by
-
- 2 edits in trunk/LayoutTests
Skip editing/execCommand/show-modal-dialog-during-execCommand.html on mac-wk1.
https://bugs.webkit.org/show_bug.cgi?id=171501
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 11:45 AM Changeset in webkit [216021] by
-
- 4 edits in trunk/LayoutTests
Rebaseline js/dom/global-constructors-attributes.html after r215956.
Unreviewed test gardening.
- platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
- platform/mac/js/dom/global-constructors-attributes-expected.txt:
- 11:09 AM Changeset in webkit [216020] by
-
- 2 edits in trunk/Source/WebKit2
Tweak how long we allow a process to go over its background CPU limit
https://bugs.webkit.org/show_bug.cgi?id=170460
<rdar://problem/31433141>
Reviewed by Geoffrey Garen.
Tweak how long we allow a process to go over its background CPU limit. We now use 8 minutes
intervals (instead of previously 15). This is less conservative and aligned with our memory
kills.
- WebProcess/cocoa/WebProcessCocoa.mm:
- 11:08 AM Changeset in webkit [216019] by
-
- 31 edits in trunk/Source
Remove some usage of PassRefPtr in editing code
https://bugs.webkit.org/show_bug.cgi?id=171490
Reviewed by Darin Adler.
Source/WebCore:
Remove some usage of PassRefPtr in editing code.
- dom/DocumentMarkerController.cpp:
(WebCore::DocumentMarkerController::markersInRange):
(DocumentMarkerController::hasMarkers):
(DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
- dom/DocumentMarkerController.h:
- editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::isSpellingMarkerAllowed):
(WebCore::AlternativeTextController::show):
(WebCore::AlternativeTextController::applyAlternativeTextToRange):
(WebCore::AlternativeTextController::timerFired):
(WebCore::AlternativeTextController::handleAlternativeTextUIResult):
(WebCore::AlternativeTextController::recordAutocorrectionResponse):
(WebCore::AlternativeTextController::markReversed):
(WebCore::AlternativeTextController::markCorrection):
(WebCore::AlternativeTextController::recordSpellcheckerResponseForModifiedCorrection):
(WebCore::AlternativeTextController::processMarkersOnTextToBeReplacedByResult):
(WebCore::AlternativeTextController::applyDictationAlternative):
- editing/AlternativeTextController.h:
(WebCore::AlternativeTextController::UNLESS_ENABLED):
- editing/ApplyStyleCommand.cpp:
(WebCore::createFontElement):
(WebCore::createStyleSpanElement):
(WebCore::ApplyStyleCommand::ApplyStyleCommand):
(WebCore::copyStyleOrCreateEmpty):
(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
(WebCore::ApplyStyleCommand::removeConflictingInlineStyleFromRun):
(WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
(WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle):
(WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
(WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
(WebCore::ApplyStyleCommand::removeInlineStyle):
(WebCore::ApplyStyleCommand::shouldSplitTextElement):
(WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
(WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
(WebCore::ApplyStyleCommand::positionToComputeInlineStyleChange):
(WebCore::ApplyStyleCommand::applyInlineStyleChange):
- editing/ApplyStyleCommand.h:
(WebCore::ApplyStyleCommand::create):
(WebCore::ApplyStyleCommand::shouldRemoveInlineStyleFromElement):
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::applyCommandToComposite):
(WebCore::CompositeEditCommand::applyStyledElement):
(WebCore::CompositeEditCommand::removeStyledElement):
(WebCore::CompositeEditCommand::replaceElementWithSpanPreservingChildrenAndAttributes):
(WebCore::CompositeEditCommand::inputText):
(WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
(WebCore::CompositeEditCommand::pushAnchorElementDown):
- editing/CompositeEditCommand.h:
- editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):
- editing/DictationCommand.cpp:
(WebCore::DictationCommand::insertTextRunWithoutNewlines):
- editing/EditingStyle.cpp:
(WebCore::copyEditingProperties):
(WebCore::copyPropertiesFromComputedStyle):
(WebCore::extractPropertyValue):
(WebCore::HTMLAttributeEquivalent::attributeValueAsCSSValue):
(WebCore::HTMLFontSizeEquivalent::attributeValueAsCSSValue):
(WebCore::EditingStyle::setStyle):
(WebCore::EditingStyle::copy):
(WebCore::EditingStyle::extractAndRemoveBlockProperties):
(WebCore::EditingStyle::extractAndRemoveTextDirection):
(WebCore::EditingStyle::mergeInlineStyleOfElement):
(WebCore::extractEditingProperties):
(WebCore::EditingStyle::styleAtSelectionStart):
(WebCore::getPropertiesNotIn):
- editing/EditingStyle.h:
- editing/Editor.cpp:
(WebCore::Editor::handleTextEvent):
(WebCore::Editor::replaceSelectionWithFragment):
(WebCore::Editor::insertOrderedList):
(WebCore::Editor::insertUnorderedList):
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
(WebCore::correctSpellcheckingPreservingTextCheckingParagraph):
(WebCore::Editor::markAndReplaceFor):
(WebCore::Editor::changeBackToReplacedString):
(WebCore::Editor::updateMarkersForWordsAffectedByEditing):
(WebCore::Editor::rangeForPoint):
- editing/Editor.h:
- editing/ModifySelectionListLevel.cpp:
(WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevel):
(WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelOrdered):
(WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelUnordered):
- editing/ModifySelectionListLevel.h:
- editing/SpellChecker.cpp:
(WebCore::SpellChecker::requestCheckingFor):
(WebCore::SpellChecker::didCheckSucceed):
- editing/SpellChecker.h:
(WebCore::SpellCheckRequest::checkingRange):
(WebCore::SpellCheckRequest::paragraphRange):
(WebCore::SpellCheckRequest::rootEditableElement):
- editing/SpellingCorrectionCommand.cpp:
(WebCore::SpellingCorrectionCommand::SpellingCorrectionCommand):
(WebCore::SpellingCorrectionCommand::willApplyCommand):
(WebCore::SpellingCorrectionCommand::doApply):
(WebCore::SpellingCorrectionCommand::targetRanges):
- editing/SpellingCorrectionCommand.h:
(WebCore::SpellingCorrectionCommand::create):
- editing/SurroundingText.h:
- editing/TextCheckingHelper.cpp:
(WebCore::TextCheckingParagraph::expandRangeToNextEnd):
(WebCore::TextCheckingParagraph::rangeLength):
(WebCore::TextCheckingParagraph::paragraphRange):
(WebCore::TextCheckingParagraph::subrange):
(WebCore::TextCheckingParagraph::offsetTo):
(WebCore::TextCheckingParagraph::offsetAsRange):
(WebCore::TextCheckingParagraph::text):
(WebCore::TextCheckingParagraph::checkingStart):
- editing/TextCheckingHelper.h:
- editing/TypingCommand.cpp:
(WebCore::TypingCommand::insertTextRunWithoutNewlines):
- editing/cocoa/HTMLConverter.mm:
(HTMLConverterCaches::computedStylePropertyForElement):
(HTMLConverterCaches::inlineStylePropertyForElement):
- page/ios/FrameIOS.mm:
(WebCore::Frame::interpretationsForCurrentRoot):
Source/WebKit/ios:
- WebCoreSupport/WebFrameIOS.mm:
(-[WebFrame previousUnperturbedDictationResultBoundaryFromPosition:]):
(-[WebFrame nextUnperturbedDictationResultBoundaryFromPosition:]):
Source/WebKit/mac:
- WebView/WebFrame.mm:
(-[WebFrame dictationResultMetadataForRange:]):
(-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
- 10:36 AM Changeset in webkit [216018] by
-
- 8 edits in trunk
On-screen panel for candidate bar is in the wrong place when the caret is at the
start of a paragraph
https://bugs.webkit.org/show_bug.cgi?id=171453
-and corresponding-
rdar://problem/29779764
Reviewed by Tim Horton.
Source/WebKit/mac:
This bug only happens when the caret is at the beginning of the paragraph, and it
is because Range::absoluteTextQuads() returns no quads in this case. I think it
might be correct that absoluteTextQuads() returns no quads in this case, so this
patch fixes the bug at the call site by using absoluteCaretBounds() in this case.
- WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::handleRequestedCandidates):
Source/WebKit2:
This bug only happens when the caret is at the beginning of the paragraph, and it
is because Range::absoluteTextQuads() returns no quads in this case. I think it
might be correct that absoluteTextQuads() returns no quads in this case, so this
patch fixes the bug at the call site by using absoluteCaretBounds() in this case.
SPI for testing.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _candidateRect]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
Bug fix.
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::platformEditorState):
Tools:
This test hard-codes the y-coordinate for the expected candidateRect.
- TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewCandidateTests.mm:
(TEST):
- 10:06 AM Changeset in webkit [216017] by
-
- 3 edits in trunk/Tools
check-webkit-style: Enable sprintf(), strcat(), strcpy() and printf() format checks
<https://webkit.org/b/171494>
Reviewed by Brent Fulgham.
- Scripts/webkitpy/style/checkers/cpp.py:
(check_language): Change categories for certain checkers from
'runtime/printf' to 'security/printf' so they are no longer
filtered.
(CppChecker.categories): Add 'security/printf'.
- Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_insecure_string_operations): Add new test for
sprintf(), strcat() and strcpy().
(CppStyleTest.test_format_strings): Update test results for new
'security/printf' category use.
- 10:06 AM Changeset in webkit [216016] by
-
- 6 edits5 adds in trunk/Source/WebCore
Add notifications from CaptureDeviceManager (and subclasses) when device lists change
https://bugs.webkit.org/show_bug.cgi?id=171442
Reviewed by Youenn Fablet.
Add a new callback-based notification to CaptureDeviceManager which fires when the underlying list
of devices changes. Add support for enumerating AVAudioSession capture devices.
- WebCore.xcodeproj/project.pbxproj:
- platform/mediastream/CaptureDeviceManager.cpp:
(nextObserverToken):
(CaptureDeviceManager::addCaptureDeviceChangedObserver):
(CaptureDeviceManager::removeCaptureDeviceChangedObserver):
- platform/mediastream/CaptureDeviceManager.h:
- platform/mediastream/ios/AVAudioSessionCaptureDevice.h: Added.
- platform/mediastream/ios/AVAudioSessionCaptureDevice.mm: Added.
(WebCore::AVAudioSessionCaptureDevice::create):
(WebCore::AVAudioSessionCaptureDevice::AVAudioSessionCaptureDevice):
- platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.h: Added.
- platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm: Added.
(-[WebAVAudioSessionAvailableInputsListener initWithCallback:]):
(-[WebAVAudioSessionAvailableInputsListener invalidate]):
(-[WebAVAudioSessionAvailableInputsListener observeValueForKeyPath:ofObject:change:context:]):
(WebCore::AVAudioSessionCaptureDeviceManager::singleton):
(WebCore::AVAudioSessionCaptureDeviceManager::captureDevices):
(WebCore::AVAudioSessionCaptureDeviceManager::audioSessionCaptureDevices):
(WebCore::AVAudioSessionCaptureDeviceManager::audioSessionDeviceWithUID):
(WebCore::AVAudioSessionCaptureDeviceManager::refreshAudioCaptureDevices):
- platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::AVCaptureDeviceManager::deviceConnected):
(WebCore::AVCaptureDeviceManager::deviceDisconnected):
- platform/mediastream/mac/CoreAudioCaptureDeviceManager.cpp:
(WebCore::CoreAudioCaptureDeviceManager::refreshAudioCaptureDevices):
(WebCore::CoreAudioCaptureDeviceManager::devicesChanged):
- 9:58 AM Changeset in webkit [216015] by
-
- 4 edits in trunk
AX: [GTK] Add support to query for aria-current
https://bugs.webkit.org/show_bug.cgi?id=149016
Reviewed by Chris Fleizach.
Tools:
Implement support for "AXARIACurrent" string attribute value.
- WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
LayoutTests:
- platform/gtk/TestExpectations: Unskip now-passing test.
- 9:11 AM Changeset in webkit [216014] by
-
- 2 edits in trunk/Source/WTF
Cleanup: Change ASCIICaseInsensitiveHash from a class to a struct
https://bugs.webkit.org/show_bug.cgi?id=171460
Reviewed by Sam Weinig.
All of the members of ASCIICaseInsensitiveHash have public visibility.
We are underutilizing the purpose of a class - defaults to private
visibility of members. We should change ASCIICaseInsensitiveHash from
a class to a struct, which by definition defaults to public visibility
for members.
- wtf/text/StringHash.h:
- 6:10 AM Changeset in webkit [216013] by
-
- 2 edits in trunk/Tools
REGRESSION (r216000): test-webkitpy fails after adding new soft-linked class checker
Unreviewed.
Follow-up fix for:
[Cocoa] Have check-webkit-style advise against use of [get…Class() alloc]
https://bugs.webkit.org/show_bug.cgi?id=171486
- Scripts/webkitpy/style/checkers/cpp.py:
(check_soft_link_class_alloc): Use (\w+) instead of ([\s]+) to
match and capture the function name. The latter also mistakenly
matches C-preprocessor directives.
(CppChecker.categories): Add 'runtime/soft-linked-alloc', which
is a requirement for the CppChecker class.
- 1:41 AM Changeset in webkit [216012] by
-
- 3 edits in trunk/LayoutTests
Unreviewed GTK+ gardening. Rebaseline giantRowspan tests after r215914.
- platform/gtk/fast/table/giantRowspan-expected.txt:
- platform/gtk/fast/table/giantRowspan2-expected.txt:
- 1:39 AM Changeset in webkit [216011] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK+ gardening. Update expectations of several test.
- platform/gtk/TestExpectations:
- 1:07 AM Changeset in webkit [216010] by
-
- 1 edit10 adds in trunk/LayoutTests
Unreviewed GTK+ gardening. Rebaseline several WPT fetch API tests.
- platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.worker-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any.worker-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any.worker-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any.worker-expected.txt: Added.
- 12:56 AM Changeset in webkit [216009] by
-
- 5 edits in trunk
AX: AccessibilityTable::ariaRowCount() and ariaColumnCount() should not return -1 unless that is the author-provided value
https://bugs.webkit.org/show_bug.cgi?id=171475
Reviewed by Chris Fleizach.
Source/WebCore:
If the author has provided a valid value, return it. Otherwise, return 0.
No new tests needed. Update existing test expectations to reflect the change.
- accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::ariaColumnCount):
(WebCore::AccessibilityTable::ariaRowCount):
LayoutTests:
- accessibility/table-detection-expected.txt: Updated.
- accessibility/table-with-rules-expected.txt: Updated.
- 12:53 AM Changeset in webkit [216008] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK+ gardening. Update expectations of several test.
- platform/gtk/TestExpectations:
- 12:49 AM Changeset in webkit [216007] by
-
- 19 edits in trunk
AX: Implement support for ARIA "figure" and "term" roles; update AXRoleDescription mapping for "feed" role
https://bugs.webkit.org/show_bug.cgi?id=171183
Reviewed by Chris Fleizach.
Source/WebCore:
Create FeedRole, FigureRole, and TermRole and map them on the Mac and Gtk
ports. Also rename AccessibilityObject::isFigure() to isFigureElement()
for clarity as this method is specific to the HTML element and not the role.
No new tests needed: We have existing tests that cover mappings. Add new test cases
to roles-exposed.html, xml-roles-exposed.html, and roles-computedRoleString.html.
- English.lproj/Localizable.strings:
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::captionForFigure):
(WebCore::AccessibilityNodeObject::alternativeText):
- accessibility/AccessibilityObject.cpp:
(WebCore::initializeRoleMap):
(WebCore::AccessibilityObject::isFigureElement): Added.
(WebCore::AccessibilityObject::isFigure): Deleted.
- accessibility/AccessibilityObject.h:
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::exposesTitleUIElement):
(WebCore::AccessibilityRenderObject::titleUIElement):
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
- accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole):
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(createAccessibilityRoleMap):
(-[WebAccessibilityObjectWrapper subrole]):
(-[WebAccessibilityObjectWrapper roleDescription]):
- platform/LocalizedStrings.cpp:
(WebCore::AXFeedText):
- platform/LocalizedStrings.h:
LayoutTests:
New test cases added and expectations updated.
- accessibility/gtk/xml-roles-exposed-expected.txt:
- accessibility/gtk/xml-roles-exposed.html:
- accessibility/roles-computedRoleString.html:
- accessibility/roles-exposed.html:
- platform/gtk/accessibility/roles-exposed-expected.txt:
- platform/mac/accessibility/roles-computedRoleString-expected.txt:
- platform/mac/accessibility/roles-exposed-expected.txt:
- 12:03 AM Changeset in webkit [216006] by
-
- 17 edits4 adds in trunk
[GTK] Add automation session API
https://bugs.webkit.org/show_bug.cgi?id=171428
Reviewed by Carlos Alberto Lopez Perez.
Source/WebCore/platform/gtk/po:
- POTFILES.in: Add WebKitAutomationSession.cpp.
Source/WebKit2:
Add new API to allow WebKitGTK+ to be controlled by automation. By default it's disabled, applications have to
explicitly call webkit_web_context_set_automation_allowed() to enabled it. When a new automation session is
requested, the signal WebKitWebContext::automation-started is emitted with a newly created
WebKitAutomationSession, similar to how WebKitWebContext::download-started works. The user should connect to it
have access to the WebKitAutomationSession and connect it its signals. When a new web view is requested to be
created in a WebKitAutomationSession, the signal WebKitAutomationSession::create-web-view is emitted. The user
should connect to it and return a WebKitWebView. The web views used for automation are special ones and need to
be created with the new WebKitWebView:is-controlled-by-automation construct property enabled, otherwise we will
refuse to create the requested browsing context.
- PlatformGTK.cmake:
- UIProcess/API/gtk/WebKitAutomationSession.cpp: Added.
(webkitAutomationSessionSetProperty):
(webkitAutomationSessionConstructed):
(webkit_automation_session_class_init):
(webkitAutomationSessionCreate):
(webkitAutomationSessionGetSession):
(webkit_automation_session_get_id):
- UIProcess/API/gtk/WebKitAutomationSession.h: Added.
- UIProcess/API/gtk/WebKitAutomationSessionPrivate.h: Added.
- UIProcess/API/gtk/WebKitWebContext.cpp:
(webkitWebContextConstructed):
(webkit_web_context_class_init):
(webkit_web_context_is_automation_allowed):
(webkit_web_context_set_automation_allowed):
(webkitWebContextCreatePageForWebView):
- UIProcess/API/gtk/WebKitWebContext.h:
- UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed):
(webkitWebViewSetProperty):
(webkitWebViewGetProperty):
(webkit_web_view_class_init):
(webkit_web_view_is_controlled_by_automation):
- UIProcess/API/gtk/WebKitWebView.h:
- UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
- UIProcess/API/gtk/docs/webkit2gtk-4.0.types:
- UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
- UIProcess/API/gtk/webkit2.h:
Tools:
Add an automation mode to MiniBrowser using the new API and add a unit test too.
- MiniBrowser/gtk/BrowserWindow.c:
(webViewTitleChanged):
(webViewDecidePolicy):
(newTabCallback):
(openPrivateWindow):
(browserWindowFinalize):
(browser_window_init):
(browser_window_get_or_create_web_view_for_automation):
- MiniBrowser/gtk/BrowserWindow.h:
- MiniBrowser/gtk/main.c:
(createBrowserTab):
(createWebViewForAutomationCallback):
(automationStartedCallback):
(main):
- TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
- TestWebKitAPI/Tests/WebKit2Gtk/TestAutomationSession.cpp: Added.
(testAutomationSessionRequestSession):
(beforeAll):
(afterAll):
- 12:02 AM Changeset in webkit [216005] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed. Fix GTK+ debug build after r216002.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMClientRectList.cpp:
(WebKit::wrapClientRectList):