zalan@apple.com [Fri, 26 Oct 2018 17:34:55 +0000 (17:34 +0000)]
[iOS] Unreviewed test gardening.
* platform/ios/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237464
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Fri, 26 Oct 2018 17:07:49 +0000 (17:07 +0000)]
Use random() instead of begin() to limit cache sizes
https://bugs.webkit.org/show_bug.cgi?id=190957
Reviewed by Chris Dumez.
Source/WebCore:
We currently use cache.remove(cache.begin()) pattern to limit sized of various caches.
This is a bad pattern for tables that never rehash (because they have fixed maximum size) as most of the
keys get permanently stuck in the table.
* css/CSSValuePool.cpp:
(WebCore::CSSValuePool::createColorValue):
(WebCore::CSSValuePool::createFontFamilyValue):
(WebCore::CSSValuePool::createFontFaceValue):
* dom/InlineStyleSheetOwner.cpp:
(WebCore::InlineStyleSheetOwner::createSheet):
* dom/SelectorQuery.cpp:
* platform/graphics/FontCascade.cpp:
(WebCore::retrieveOrAddCachedFonts):
* platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::shouldAutoActivateFontIfNeeded):
* platform/mac/PublicSuffixMac.mm:
(WebCore::topPrivatelyControlledDomain):
Source/WebKit:
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::didCollectPrewarmInformation):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237463
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
keith_miller@apple.com [Fri, 26 Oct 2018 16:47:37 +0000 (16:47 +0000)]
JSC xcconfig should set DEFINES_MODULE
https://bugs.webkit.org/show_bug.cgi?id=190952
Reviewed by Mark Lam.
This should mean that the JavaScriptCore.framework will have a module map.
* Configurations/JavaScriptCore.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237462
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Fri, 26 Oct 2018 16:27:23 +0000 (16:27 +0000)]
hashSet.remove(hashSet.random()) doesn't build
https://bugs.webkit.org/show_bug.cgi?id=190953
Reviewed by Chris Dumez.
Source/WTF:
* wtf/HashSet.h:
Remove non-const random(). HashSet only returns const iterators (it is immutable via iterator).
* wtf/HashTable.h:
(WTF::HashTable::random const):
Invoke const_iterator() by using static_cast<> instead of trying to do it directly.
Tools:
* TestWebKitAPI/Tests/WTF/HashSet.cpp:
(TestWebKitAPI::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237461
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Fri, 26 Oct 2018 15:34:18 +0000 (15:34 +0000)]
Modernize / Simplify IPC::Connection::sendOutgoingMessage()
https://bugs.webkit.org/show_bug.cgi?id=190931
Reviewed by Alex Christensen.
* Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::sendOutgoingMessage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237460
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ajuma@chromium.org [Fri, 26 Oct 2018 15:29:11 +0000 (15:29 +0000)]
[GTK] Unreviewed test gardening.
https://bugs.webkit.org/show_bug.cgi?id=190962
Add a baseline for the test added in r237449.
* platform/gtk/fast/repaint/text-selection-overflow-hidden-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237459
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Fri, 26 Oct 2018 15:04:44 +0000 (15:04 +0000)]
Adopt -setOverrideRouteSharingPolicy:routingContextUID: SPI
https://bugs.webkit.org/show_bug.cgi?id=190951
<rdar://problem/
45213065>
Reviewed by Alex Christensen.
Source/WebCore:
Request the correct route policy and context from the VideoFullscreenModel.
* platform/cocoa/VideoFullscreenModel.h:
(WebCore::VideoFullscreenModel::requestRouteSharingPolicyAndContextUID):
* platform/cocoa/VideoFullscreenModelVideoElement.h:
* platform/cocoa/VideoFullscreenModelVideoElement.mm:
(WebCore::VideoFullscreenModelVideoElement::requestRouteSharingPolicyAndContextUID):
* platform/ios/VideoFullscreenInterfaceAVKit.h:
* platform/ios/VideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerViewController setWebKitOverrideRouteSharingPolicy:routingContextUID:]):
(VideoFullscreenInterfaceAVKit::setVideoFullscreenModel):
(VideoFullscreenInterfaceAVKit::doSetup):
Source/WebCore/PAL:
* pal/spi/cocoa/AVKitSPI.h:
Source/WebKit:
Add an asyncronous reply request to VideoFullscreenManager.
Drive-by fix: messages.py generates "WTFMove(*arg1, *arg2)" instead of "WTFMove(*arg1), WTFMove(*arg2)"
in its reply handler generation.
* Platform/IPC/MessageSender.h:
(IPC::MessageSender::sendWithAsyncReply):
* Scripts/webkit/messages.py:
* UIProcess/Cocoa/VideoFullscreenManagerProxy.h:
* UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
(WebKit::VideoFullscreenModelContext::requestRouteSharingPolicyAndContextUID):
* WebProcess/cocoa/VideoFullscreenManager.h:
* WebProcess/cocoa/VideoFullscreenManager.messages.in:
* WebProcess/cocoa/VideoFullscreenManager.mm:
(WebKit::VideoFullscreenManager::requestRouteSharingPolicyAndContextUID):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237458
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Fri, 26 Oct 2018 14:45:51 +0000 (14:45 +0000)]
[LFC][IFC] Add more inline information to outputLayoutTree
https://bugs.webkit.org/show_bug.cgi?id=190945
Reviewed by Antti Koivisto.
* layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::outputInlineRuns):
(WebCore::Layout::outputLayoutBox):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237457
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Fri, 26 Oct 2018 14:42:06 +0000 (14:42 +0000)]
[LFC][IFC] Layout floats as part of the inline content
https://bugs.webkit.org/show_bug.cgi?id=190942
Reviewed by Antti Koivisto.
Source/WebCore:
Add float handling to InlineFormattingContext::layoutInlineContent.
Note that floats don't actually generate inline runs.
Test: fast/block/basic/inline-content-with-floating-image.html
* layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layoutFormattingContextRoot const):
* layout/floats/FloatAvoider.cpp:
(WebCore::Layout::FloatAvoider::FloatAvoider): Check if any mapping is needed.
* layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::isTrimmableContent):
(WebCore::Layout::InlineFormattingContext::layoutInlineContent const):
(WebCore::Layout::trimLeadingRun): Deleted.
* layout/inlineformatting/InlineFormattingContext.h:
(WebCore::Layout::InlineFormattingContext::Line::isClosed const):
* layout/inlineformatting/Line.cpp:
(WebCore::Layout::InlineFormattingContext::Line::init):
(WebCore::Layout::InlineFormattingContext::Line::adjustLogicalLeft):
(WebCore::Layout::InlineFormattingContext::Line::adjustLogicalRight):
(WebCore::Layout::InlineFormattingContext::Line::appendContent):
(WebCore::Layout::InlineFormattingContext::Line::close):
Tools:
* LayoutReloaded/misc/LFC-passing-tests.txt:
LayoutTests:
* fast/block/basic/inline-content-with-floating-image-expected.txt: Added.
* fast/block/basic/inline-content-with-floating-image.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237456
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Fri, 26 Oct 2018 14:40:00 +0000 (14:40 +0000)]
[LFC][IFC] Adjust current line with float constraints.
https://bugs.webkit.org/show_bug.cgi?id=190940
Reviewed by Antti Koivisto.
* layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::initializeNewLine const):
(WebCore::Layout::InlineFormattingContext::layoutInlineContent const):
* layout/inlineformatting/InlineFormattingContext.h:
* layout/inlineformatting/InlineRun.h:
(WebCore::Layout::InlineRun::moveHorizontally):
* layout/inlineformatting/Line.cpp:
(WebCore::Layout::InlineFormattingContext::Line::adjustLogicalLeft):
(WebCore::Layout::InlineFormattingContext::Line::adjustLogicalRight):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237455
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Fri, 26 Oct 2018 14:36:30 +0000 (14:36 +0000)]
[LFC][IFC] Compute float box size and position
https://bugs.webkit.org/show_bug.cgi?id=190938
Reviewed by Antti Koivisto.
* layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computeWidthAndHeight const):
(WebCore::Layout::InlineFormattingContext::computeFloatPosition const):
* layout/inlineformatting/InlineFormattingContext.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237454
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Fri, 26 Oct 2018 14:34:54 +0000 (14:34 +0000)]
[LFC][IFC] Add line logical top and bottom
https://bugs.webkit.org/show_bug.cgi?id=190934
Reviewed by Antti Koivisto.
* layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::initializeNewLine const):
(WebCore::Layout::InlineFormattingContext::layoutInlineContent const):
* layout/inlineformatting/InlineFormattingContext.h:
(WebCore::Layout::InlineFormattingContext::Line::isFirstLine const):
(WebCore::Layout::InlineFormattingContext::Line::logicalTop const):
(WebCore::Layout::InlineFormattingContext::Line::logicalBottom const):
* layout/inlineformatting/Line.cpp:
(WebCore::Layout::InlineFormattingContext::Line::init):
(WebCore::Layout::InlineFormattingContext::Line::contentLogicalRight):
(WebCore::Layout::InlineFormattingContext::Line::close):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237453
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Fri, 26 Oct 2018 14:29:22 +0000 (14:29 +0000)]
[LFC][IFC] Find floating constraints for a given vertical position
https://bugs.webkit.org/show_bug.cgi?id=190928
Reviewed by Antti Koivisto.
https://www.w3.org/TR/CSS22/visuren.html#inline-formatting
"In general, the left edge of a line box touches the left edge of its containing block and the right edge touches the right edge of its containing block.
However, floating boxes may come between the containing block edge and the line box edge.
Thus, although line boxes in the same inline formatting context generally have the same width
(that of the containing block), they may vary in width if available horizontal space is reduced due to floats."
This patch adds support for retrieving left/right constraints for a given line (vertical position).
* layout/floats/FloatingState.cpp:
(WebCore::Layout::FloatingState::constraints const):
* layout/floats/FloatingState.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237452
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Fri, 26 Oct 2018 14:25:14 +0000 (14:25 +0000)]
[LFC] Inline formatting context has higher priority than block
https://bugs.webkit.org/show_bug.cgi?id=190924
Reviewed by Antti Koivisto.
When an element establishes both inline and block formatting contexts, we need to pick one to
create (and we choose the content driven formatting type (inline)). See example below:
<div style="overflow: hidden">This text should be inside an inlines formatting context.</div>
* layout/LayoutContext.cpp:
(WebCore::Layout::LayoutContext::formattingContext const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237451
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aboya@igalia.com [Fri, 26 Oct 2018 14:05:25 +0000 (14:05 +0000)]
[MSE][WTF][Media] Invalid MediaTime should be falsy
https://bugs.webkit.org/show_bug.cgi?id=190893
Reviewed by Jer Noble.
Source/WTF:
This patch modifies the definition of MediaTime so that invalid times
are evaluated to false in the context of a boolean expression.
* wtf/MediaTime.cpp:
(WTF::MediaTime::operator! const):
(WTF::MediaTime::operator bool const):
Tools:
This patch adds additional API tests for the conversions from
MediaTime to boolean.
* TestWebKitAPI/Tests/WTF/MediaTime.cpp:
(TestWebKitAPI::TEST):
LayoutTests:
A test is added that replicates a bug fixed by this patch.
* media/media-source/media-source-timestampoffset-then-zero-expected.txt: Added.
* media/media-source/media-source-timestampoffset-then-zero.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237450
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ajuma@chromium.org [Fri, 26 Oct 2018 13:16:03 +0000 (13:16 +0000)]
REGRESSION (r237255): Text selection is broken in form fields
https://bugs.webkit.org/show_bug.cgi?id=190899
Reviewed by Ryosuke Niwa.
Source/WebCore:
Fix missing negation when checking for a fully-clipped-out rect. This was causing
RenderObject::computeVisibleRectInContainer to incorrectly early-out.
Test: fast/repaint/text-selection-overflow-hidden.html
* rendering/RenderObject.cpp:
(WebCore::RenderObject::computeVisibleRectInContainer const):
LayoutTests:
Add layout test coverage.
* fast/repaint/text-selection-overflow-hidden-expected.txt: Added.
* fast/repaint/text-selection-overflow-hidden.html: Added.
* platform/win/fast/repaint/text-selection-overflow-hidden-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237449
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
keith_miller@apple.com [Fri, 26 Oct 2018 08:25:43 +0000 (08:25 +0000)]
Some internal projects include wtf headers and build with C++11
https://bugs.webkit.org/show_bug.cgi?id=190791
Reviewed by Alexey Proskuryakov.
C++11 doesn't support constexpr functions that contain
statements. This patch removes getLSBSet set from builds before
C++14 to avoid this for now.
* wtf/MathExtras.h:
(getLSBSet):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237448
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yusukesuzuki@slowstart.org [Fri, 26 Oct 2018 07:56:56 +0000 (07:56 +0000)]
[JSC] havingABadTimeWatchpoint is not required in Array#indexOf optimization
https://bugs.webkit.org/show_bug.cgi?id=190941
Reviewed by Saam Barati.
While "Rest" operation fast path requires havingABadTimeWatchpoint since it allocates
JSArray, Array#{indexOf,lastIndexOf} do not require it when we use the fast path for them.
This patch removes watching on havingABadTimeWatchpoint in Array#indexOf. The test causing
"havingABadTime" is already included in our test suites (e.g. array-indexof-have-a-bad-time.js).
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
* runtime/JSArrayInlines.h:
(JSC::JSArray::canDoFastIndexedAccess):
* runtime/JSGlobalObject.h:
* runtime/JSGlobalObjectInlines.h:
(JSC::JSGlobalObject::isArrayPrototypeIteratorProtocolFastAndNonObservable):
(JSC::JSGlobalObject::isArrayPrototypeIndexedAccessFastAndNonObservable): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237447
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Fri, 26 Oct 2018 05:06:24 +0000 (05:06 +0000)]
[PSON] Navigating cross-site with locked history but unlocked back/forward list fails to create a new BackForwardListItem
https://bugs.webkit.org/show_bug.cgi?id=190915
<rdar://problem/
45059069>
Reviewed by Geoffrey Garen.
Source/WebCore:
* history/PageCache.cpp:
(WebCore::canCacheFrame):
Make sure we do not put into PageCache a page whose main frame is showing the initial empty document.
We usually do not try to put those into PageCache because we do not have a HistoryItem to save the
PageCache entry on. However, when we process-swap on a navigation with the history locked, the new
process has a HistoryItem and is initially showing the initial empty document before continuing
the load from the previous process. Note that saving the initial empty document in PageCache would
lead to crashes later on previous the initial empty document's Window is taken and reused for the
next load.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::load):
Stop assuming that we're continuing a client-side redirect when lockHistory is Yes. It is
lockBackForwardList that is actually Yes when we're doing a client-side redirect.
* loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
Stop using calling the completion handler with an invalid URL when the policy decision is 'Suspend' and
use 'about:blank' instead. Without this change, FrameLoader::continueLoadAfterNavigationPolicy() would
not load 'about:blank' when its AllowNavigationToInvalidURL parameter is No.
Tools:
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237446
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yusukesuzuki@slowstart.org [Fri, 26 Oct 2018 04:51:59 +0000 (04:51 +0000)]
Unreviewed, partial rolling in r237254
https://bugs.webkit.org/show_bug.cgi?id=190340
We do not use the added function right now to investigate what is the reason of the regression.
If it causes the regression, it seems that Parser.cpp's inlining decision seems culprit.
* bytecode/UnlinkedFunctionExecutable.cpp:
(JSC::UnlinkedFunctionExecutable::fromGlobalCode):
* bytecode/UnlinkedFunctionExecutable.h:
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseInner):
(JSC::Parser<LexerType>::parseSingleFunction):
(JSC::Parser<LexerType>::parseFunctionInfo):
(JSC::Parser<LexerType>::parseFunctionDeclaration):
(JSC::Parser<LexerType>::parseAsyncFunctionDeclaration):
* parser/Parser.h:
(JSC::Parser<LexerType>::parse):
(JSC::parse):
(JSC::parseFunctionForFunctionConstructor):
* parser/ParserModes.h:
* parser/ParserTokens.h:
(JSC::JSTextPosition::JSTextPosition):
(JSC::JSTokenLocation::JSTokenLocation): Deleted.
* parser/SourceCodeKey.h:
(JSC::SourceCodeKey::SourceCodeKey):
(JSC::SourceCodeKey::operator== const):
* runtime/CodeCache.cpp:
(JSC::CodeCache::getUnlinkedGlobalCodeBlock):
(JSC::CodeCache::getUnlinkedGlobalFunctionExecutable):
* runtime/CodeCache.h:
* runtime/FunctionConstructor.cpp:
(JSC::constructFunctionSkippingEvalEnabledCheck):
* runtime/FunctionExecutable.cpp:
(JSC::FunctionExecutable::fromGlobalCode):
* runtime/FunctionExecutable.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237445
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Fri, 26 Oct 2018 00:59:04 +0000 (00:59 +0000)]
Layout Test http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=173041
Unreviewed test gardening.
* platform/ios/TestExpectations: Mark test as flaky.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237443
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sbarati@apple.com [Fri, 26 Oct 2018 00:44:44 +0000 (00:44 +0000)]
Check in corresponding C code in JetStream 2
https://bugs.webkit.org/show_bug.cgi?id=190733
Rubber-stamped by Filip Pizlo.
* JetStream2/simple/float-mm.c: Added.
* JetStream2/wasm/HashSet.cpp: Added.
* JetStream2/wasm/gcc-loops.cpp: Added.
* JetStream2/wasm/quicksort.c: Added.
* JetStream2/wasm/TSF: Added.
* JetStream2/wasm/TSF/build.sh: Added.
* JetStream2/wasm/TSF/config.h: Added.
* JetStream2/wasm/TSF/gpc.h: Added.
* JetStream2/wasm/TSF/gpc_code_gen_util.c: Added.
* JetStream2/wasm/TSF/gpc_instruction.c: Added.
* JetStream2/wasm/TSF/gpc_instruction_dispatch.gen: Added.
* JetStream2/wasm/TSF/gpc_instruction_size.gen: Added.
* JetStream2/wasm/TSF/gpc_instruction_stack_effects.gen: Added.
* JetStream2/wasm/TSF/gpc_instruction_static_size.gen: Added.
* JetStream2/wasm/TSF/gpc_instruction_to_string.gen: Added.
* JetStream2/wasm/TSF/gpc_int_common.h: Added.
* JetStream2/wasm/TSF/gpc_intable.c: Added.
* JetStream2/wasm/TSF/gpc_internal.h: Added.
* JetStream2/wasm/TSF/gpc_interpreter.gen: Added.
* JetStream2/wasm/TSF/gpc_program.c: Added.
* JetStream2/wasm/TSF/gpc_proto.c: Added.
* JetStream2/wasm/TSF/gpc_stack_height.c: Added.
* JetStream2/wasm/TSF/gpc_threaded.c: Added.
* JetStream2/wasm/TSF/gpc_worklist.h: Added.
* JetStream2/wasm/TSF/tsf.h: Added.
* JetStream2/wasm/TSF/tsf_adaptive_reader.c: Added.
* JetStream2/wasm/TSF/tsf_asprintf.c: Added.
* JetStream2/wasm/TSF/tsf_atomics.h: Added.
* JetStream2/wasm/TSF/tsf_buf_reader.c: Added.
* JetStream2/wasm/TSF/tsf_buf_writer.c: Added.
* JetStream2/wasm/TSF/tsf_buffer.c: Added.
* JetStream2/wasm/TSF/tsf_build_defines.h: Added.
* JetStream2/wasm/TSF/tsf_config.h: Added.
* JetStream2/wasm/TSF/tsf_config_stub.h: Added.
* JetStream2/wasm/TSF/tsf_copier.c: Added.
* JetStream2/wasm/TSF/tsf_define_helpers.c: Added.
* JetStream2/wasm/TSF/tsf_define_helpers.h: Added.
* JetStream2/wasm/TSF/tsf_destructor.c: Added.
* JetStream2/wasm/TSF/tsf_error.c: Added.
* JetStream2/wasm/TSF/tsf_format.h: Added.
* JetStream2/wasm/TSF/tsf_fsdb.c: Added.
* JetStream2/wasm/TSF/tsf_fsdb_protocol.c: Added.
* JetStream2/wasm/TSF/tsf_fsdb_protocol.h: Added.
* JetStream2/wasm/TSF/tsf_generator.c: Added.
* JetStream2/wasm/TSF/tsf_gpc_code_gen.c: Added.
* JetStream2/wasm/TSF/tsf_indent.h: Added.
* JetStream2/wasm/TSF/tsf_internal.h: Added.
* JetStream2/wasm/TSF/tsf_internal_config.h: Added.
* JetStream2/wasm/TSF/tsf_internal_config_stub.h: Added.
* JetStream2/wasm/TSF/tsf_inttypes.h: Added.
* JetStream2/wasm/TSF/tsf_io.c: Added.
* JetStream2/wasm/TSF/tsf_io_utils.c: Added.
* JetStream2/wasm/TSF/tsf_ir.c: Added.
* JetStream2/wasm/TSF/tsf_ir.h: Added.
* JetStream2/wasm/TSF/tsf_ir_different.c: Added.
* JetStream2/wasm/TSF/tsf_ir_different.h: Added.
* JetStream2/wasm/TSF/tsf_ir_speed.c: Added.
* JetStream2/wasm/TSF/tsf_limits.c: Added.
* JetStream2/wasm/TSF/tsf_named_type.c: Added.
* JetStream2/wasm/TSF/tsf_native.c: Added.
* JetStream2/wasm/TSF/tsf_parser.c: Added.
* JetStream2/wasm/TSF/tsf_primitive.c: Added.
* JetStream2/wasm/TSF/tsf_ra_type_man.c: Added.
* JetStream2/wasm/TSF/tsf_reflect.c: Added.
* JetStream2/wasm/TSF/tsf_region.h: Added.
* JetStream2/wasm/TSF/tsf_serial_in_man.c: Added.
* JetStream2/wasm/TSF/tsf_serial_out_man.c: Added.
* JetStream2/wasm/TSF/tsf_serial_protocol.h: Added.
* JetStream2/wasm/TSF/tsf_sha1.c: Added.
* JetStream2/wasm/TSF/tsf_sha1.h: Added.
* JetStream2/wasm/TSF/tsf_sha1_writer.c: Added.
* JetStream2/wasm/TSF/tsf_sort.c: Added.
* JetStream2/wasm/TSF/tsf_st.c: Added.
* JetStream2/wasm/TSF/tsf_st.h: Added.
* JetStream2/wasm/TSF/tsf_st_typetable.c: Added.
* JetStream2/wasm/TSF/tsf_stream_file_input.c: Added.
* JetStream2/wasm/TSF/tsf_stream_file_output.c: Added.
* JetStream2/wasm/TSF/tsf_type.c: Added.
* JetStream2/wasm/TSF/tsf_type_in_map.c: Added.
* JetStream2/wasm/TSF/tsf_type_out_map.c: Added.
* JetStream2/wasm/TSF/tsf_type_table.c: Added.
* JetStream2/wasm/TSF/tsf_types.h: Added.
* JetStream2/wasm/TSF/tsf_util.h: Added.
* JetStream2/wasm/TSF/tsf_version.c: Added.
* JetStream2/wasm/TSF/tsf_zip_abstract.c: Added.
* JetStream2/wasm/TSF/tsf_zip_abstract.h: Added.
* JetStream2/wasm/TSF/tsf_zip_attr.c: Added.
* JetStream2/wasm/TSF/tsf_zip_reader.c: Added.
* JetStream2/wasm/TSF/tsf_zip_writer.c: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237442
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Fri, 26 Oct 2018 00:39:36 +0000 (00:39 +0000)]
Fix build after r237431 for platforms that don't support FULLSCREEN_API
Need the bug URL (OOPS!).
Reviewed by Joseph Pecoraro.
No new tests. No change in behavior.
* inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::addEventListenersToNode):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237441
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Fri, 26 Oct 2018 00:21:00 +0000 (00:21 +0000)]
Unreviewed build fix for Visual Studio 2017
* API/tests/testapi.c:
(testMarkingConstraintsAndHeapFinalizers):
(main):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237440
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Thu, 25 Oct 2018 23:59:43 +0000 (23:59 +0000)]
Web Inspector: Canvas Recording loading goes significantly slower when "Frame" tree element is expanded
https://bugs.webkit.org/show_bug.cgi?id=190497
Reviewed by Joseph Pecoraro.
Source/WebInspectorUI:
Save the `WI.TreeElement` that are in the DOM, and compare that with any `WI.TreeElement`
that would be added to the DOM. If all of the following are true, don't edit the DOM:
- no focused `WI.TreeElement` that isn't currently visible (we would scroll otherwise)
- the set of previously visible `WI.TreeElement`s (e.g. not used for scroll padding) has at
least one of the `WI.TreeElement`s that would be added from this update
- this means that the user hasn't scrolled beyond the padding `WI.TreeElement`
- there are no `WI.TreeElement`s that would be added from this update that were NOT added
in a previous update
- this covers the case that a `WI.TreeElement` is inserted in the visible area
* UserInterface/Base/Utilities.js:
* UserInterface/Views/TreeOutline.js:
(WI.TreeOutline):
(WI.TreeOutline.prototype.registerScrollVirtualizer):
(WI.TreeOutline.prototype.updateVirtualizedElements.walk):
(WI.TreeOutline.prototype.updateVirtualizedElements):
LayoutTests:
* inspector/unit-tests/set-utilities-expected.txt: Added.
* inspector/unit-tests/set-utilities.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237436
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 25 Oct 2018 23:55:12 +0000 (23:55 +0000)]
JSContext Inspector: Broken frontend, DOMAgent is used but does not exist
https://bugs.webkit.org/show_bug.cgi?id=190922
<rdar://problem/
45569827>
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2018-10-25
Reviewed by Devin Rousso.
* UserInterface/Controllers/DOMManager.js:
(WI.DOMManager.prototype.requestDocument):
Feature check for agents that may not exist in a JSContext.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237435
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
realdawei@apple.com [Thu, 25 Oct 2018 23:42:26 +0000 (23:42 +0000)]
Layout Test compositing/iframes/display-none-subframe.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=186406
Unreviewed.
Patch by Dawei Fenton <realdawei@apple.com> on 2018-10-25
* platform/mac-wk1/TestExpectations: Mark test flaky.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237433
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Thu, 25 Oct 2018 23:09:59 +0000 (23:09 +0000)]
Web Inspector: add corner rounding to the network timing "blocks"
https://bugs.webkit.org/show_bug.cgi?id=190379
Reviewed by Timothy Hatcher.
* UserInterface/Views/NetworkTableContentView.css:
(.waterfall .block):
(body[dir=ltr] .waterfall .block): Added.
(body[dir=rtl] .waterfall .block): Added.
(.network-table .waterfall .block + .block): Added.
(.network-table .waterfall .block.filler + .block, .network-table .waterfall .block:not(.request, .response) + :matches(.request, .response)): Added.
(.network-table .waterfall .block:last-child): Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237432
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Thu, 25 Oct 2018 22:59:29 +0000 (22:59 +0000)]
Web Inspector: display fullscreen enter/exit events in Timelines and Network node waterfalls
https://bugs.webkit.org/show_bug.cgi?id=189874
<rdar://problem/
44700000>
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
* inspector/protocol/DOM.json:
Allow `data` to be passed to the frontend with `didFireEvent`.
Source/WebCore:
Updated existing test: http/tests/inspector/dom/didFireEvent.html
* inspector/agents/InspectorDOMAgent.h:
* inspector/agents/InspectorDOMAgent.cpp:
(WebCore::EventFiredCallback::handleEvent):
(WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMAgent::addEventListenersToNode):
(WebCore::InspectorDOMAgent::discardBindings):
(WebCore::InspectorDOMAgent::eventDidResetAfterDispatch): Added.
Prevent the same event from being sent to the frontend more than once.
* dom/Event.cpp:
(WebCore::Event::resetAfterDispatch):
* dom/Document.cpp:
(WebCore::Document::Document):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::eventDidResetAfterDispatch): Added.
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::eventDidResetAfterDispatchImpl): Added.
Source/WebInspectorUI:
* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Protocol/DOMObserver.js:
(WI.DOMObserver.prototype.didFireEvent):
* UserInterface/Controllers/DOMManager.js:
(WI.DOMManager.prototype.didFireEvent):
Allow `data` to be passed to the frontend with `didFireEvent`.
* UserInterface/Models/DOMNode.js:
(WI.DOMNode):
(WI.DOMNode.getFullscreenDOMEvents): Added.
(WI.DOMNode.prototype.didFireEvent):
(WI.DOMNode.prototype._handleDOMNodeDidFireEvent): Added.
(WI.DOMNode.prototype._addDOMEvent):
(WI.DOMNode.prototype._shouldListenForEventListeners): Added.
If an event is fired on an ancestor of this node, also record that event in this node's
`domEvents`, including the `originator` node.
* UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.prototype._populateWaterfallGraph):
* UserInterface/Views/NetworkTableContentView.css:
(.network-table :not(.header) .cell.waterfall .waterfall-container > .dom-fullscreen): Added.
* UserInterface/Views/DOMEventsBreakdownView.js:
(WI.DOMEventsBreakdownView.prototype.initialLayout):
(WI.DOMEventsBreakdownView.prototype._populateTable):
* UserInterface/Views/DOMEventsBreakdownView.css:
(.dom-events-breakdown .graph > .area.fullscreen): Added.
(.dom-events-breakdown .inherited > .name, .dom-events-breakdown .inherited > .graph > .point): Added.
(.dom-events-breakdown:not(.has-inherited) .originator): Added.
LayoutTests:
* http/tests/inspector/dom/didFireEvent-expected.txt:
* http/tests/inspector/dom/didFireEvent.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237431
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Thu, 25 Oct 2018 22:57:45 +0000 (22:57 +0000)]
Web Inspector: Network: more aggressively snap timing blocks together
https://bugs.webkit.org/show_bug.cgi?id=190439
Reviewed by Timothy Hatcher.
* UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.prototype._populateWaterfallGraph.appendBlock):
(WI.NetworkTableContentView.prototype._populateWaterfallGraph):
If the time difference between the end of the previous block and the start of this block
would result in less than 2px of space, extend the next block back to the previous block.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237430
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ross.kirsling@sony.com [Thu, 25 Oct 2018 22:23:23 +0000 (22:23 +0000)]
Cleanup: inline constexpr is redundant as constexpr implies inline
https://bugs.webkit.org/show_bug.cgi?id=190819
Reviewed by Mark Lam.
Source/bmalloc:
* bmalloc/Algorithm.h:
(bmalloc::max):
(bmalloc::min):
(bmalloc::mask):
(bmalloc::test):
(bmalloc::isPowerOfTwo):
(bmalloc::roundDownToMultipleOf):
(bmalloc::sizeOf):
(bmalloc::bitCount):
(bmalloc::log2):
* bmalloc/Bits.h:
(bmalloc::bitsArrayLength):
* bmalloc/Sizes.h:
(bmalloc::Sizes::maskSizeClass):
Source/JavaScriptCore:
* bytecode/ArrayProfile.h:
(JSC::asArrayModes):
* runtime/IndexingType.h:
(JSC::isCopyOnWrite):
* runtime/MathCommon.h:
(JSC::maxSafeInteger):
(JSC::minSafeInteger):
* runtime/StackAlignment.h:
(JSC::stackAlignmentBytes):
(JSC::stackAlignmentRegisters):
Source/WTF:
* wtf/Bitmap.h:
(WTF::WordType>::Bitmap):
* wtf/LEBDecoder.h:
(WTF::LEBDecoder::maxByteLength):
* wtf/MathExtras.h:
(defaultMinimumForClamp):
(defaultMaximumForClamp):
(clampToAccepting64):
(isLessThan):
(isLessThanEqual):
(isGreaterThan):
(isGreaterThanEqual):
(WTF::roundUpToPowerOfTwo):
(WTF::maskForSize):
* wtf/Optional.h:
* wtf/PtrTag.h:
(WTF::tagCodePtr):
(WTF::untagCodePtr):
(WTF::retagCodePtr):
(WTF::removeCodePtrTag):
* wtf/StdLibExtras.h:
(WTF::roundUpToMultipleOf):
* wtf/Variant.h:
(WTF::operator==):
(WTF::operator!=):
(WTF::operator>=):
(WTF::operator<=):
(WTF::operator>):
(WTF::operator<):
* wtf/text/StringImpl.h:
(WTF::StringImplShape::StringImplShape):
(WTF::StringImpl::StaticStringImpl::StaticStringImpl):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237429
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Thu, 25 Oct 2018 20:04:50 +0000 (20:04 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=175597
XMLHttpRequest should not sniff content encoding
Actually, the discussion in Bugzilla claims that it should always have worked on
iOS. Not sure why the test was not enabled from the start.
* platform/ios/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237426
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Thu, 25 Oct 2018 20:01:25 +0000 (20:01 +0000)]
Update test results for https://bugs.webkit.org/show_bug.cgi?id=175597
XMLHttpRequest should not sniff content encoding
This code doesn't work like planned on macOS High Sierra, and I'm not sure what's
up with iOS and other platforms. But I can to re-enable the test for Mojave.
* platform/mac/TestExpectations: As expected, this test is passing on macOS Mojave.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237425
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mcatanzaro@igalia.com [Thu, 25 Oct 2018 19:55:12 +0000 (19:55 +0000)]
Unreviewed, silence a -Wreturn-type warning
When every return is supposed to be covered by a switch statement, a release assert or CRASH
is required by GCC.
* Modules/mediastream/libwebrtc/LibWebRTCCertificateGenerator.cpp:
(WebCore::LibWebRTCCertificateGenerator::keyParamsFromCertificateType):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237424
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mcatanzaro@igalia.com [Thu, 25 Oct 2018 19:53:15 +0000 (19:53 +0000)]
Unreviewed, another try at fixing the GTK build with sandbox enabled
* UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::memfd_create): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237423
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 25 Oct 2018 19:51:42 +0000 (19:51 +0000)]
Web Inspector: Add a watchlist message rule to warn about feature checking new inspector protocol changes
https://bugs.webkit.org/show_bug.cgi?id=190896
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2018-10-25
Reviewed by Matt Baker.
* Scripts/webkitpy/common/config/watchlist:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237422
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
graouts@webkit.org [Thu, 25 Oct 2018 19:17:04 +0000 (19:17 +0000)]
[Web Animations] Turn Web Animations CSS Integration off by default
https://bugs.webkit.org/show_bug.cgi?id=190901
Reviewed by Dean Jackson.
Source/WebCore:
* page/RuntimeEnabledFeatures.h:
Source/WebKit:
* Shared/WebPreferences.yaml:
Source/WebKitLegacy/mac:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
Source/WebKitLegacy/win:
* WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237421
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pvollan@apple.com [Thu, 25 Oct 2018 17:44:38 +0000 (17:44 +0000)]
[High Sierra/Sierra Release] Layout Test media/track/track-cue-css.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=190876
Reviewed by Alexey Proskuryakov.
This is a speculative fix; avoid an unnecessary video seek step in test.
* media/track/track-cue-css-expected.html:
* media/track/track-cue-css.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237420
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Thu, 25 Oct 2018 17:41:35 +0000 (17:41 +0000)]
HashMap should support selecting a random entry
https://bugs.webkit.org/show_bug.cgi?id=190814
Reviewed by Antti Koivisto.
Source/WTF:
In some cases, remove(begin()) is not quite good enough as a random
eviction strategy. (See https://bugs.webkit.org/show_bug.cgi?id=190792.)
So, let's support real random eviction.
(And by "real" I mean "pseudo".)
* wtf/HashCountedSet.h:
* wtf/HashMap.h:
* wtf/HashSet.h:
* wtf/ListHashSet.h:
(WTF::ListHashSet::random):
(WTF::ListHashSet::random const):
* wtf/LoggingHashMap.h:
* wtf/LoggingHashSet.h: Plumb through the random() iterator.
* wtf/HashTable.h:
(WTF::HashTable::random):
(WTF::HashTable::random const): Implement the random() iterator.
makeIterator() already supports starting from any bucket, so this is
pretty easy.
In the subtle case where we select end(), we choose to wrap around and
return begin(). We expect that clients don't really think of the end()
bucket as being in the domain of the random search. Also, we don't want
to annoy clients who know their tables are non-empty with needless
checks for end().
* wtf/RandomNumber.cpp:
(WTF::weakRandomUint32):
* wtf/RandomNumber.h: Added a free function for weak random numbers so
that clients that want cheap random numbers aren't required to allocate
storage for a WeakRandom generator.
Tools:
Unit testing is fun and easy!
* TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::ZeroHash::hash):
(TestWebKitAPI::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237419
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jond@apple.com [Thu, 25 Oct 2018 17:09:23 +0000 (17:09 +0000)]
Source/WebCore:
Changed "Under Development" status to use "In Development" instead
https://bugs.webkit.org/show_bug.cgi?id=187615
Reviewed by Joseph Pecoraro.
* features.json: Updated CSS Painting API Level 1 and CSS Properties and Values API Level 1.
Websites/webkit.org:
Added support for "deprecated" feature status
https://bugs.webkit.org/show_bug.cgi?id=187615
Reviewed by Joseph Pecoraro.
* wp-content/themes/webkit/status.php:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237418
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mcatanzaro@igalia.com [Thu, 25 Oct 2018 17:06:53 +0000 (17:06 +0000)]
Unreviewed, try to fix GTK build with sandbox enabled
* UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237417
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
Hironori.Fujii@sony.com [Thu, 25 Oct 2018 16:33:33 +0000 (16:33 +0000)]
[CMake][Ninja][Win] midl.exe fails to create, open and write a temporary file in parallel build in Docker container
https://bugs.webkit.org/show_bug.cgi?id=187725
Reviewed by Michael Catanzaro.
* PlatformWin.cmake: Added USES_TERMINAL to serialize midl.exe
executions.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237416
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
csaavedra@igalia.com [Thu, 25 Oct 2018 15:55:35 +0000 (15:55 +0000)]
[WPE][GTK] Follow-up fixes to the certificate coders
https://bugs.webkit.org/show_bug.cgi?id=190900
Reviewed by Michael Catanzaro.
Cleanup the GRefPtr mess I created earlier. Also we now bail out
if any certificate in the chain has no data instead of returning a
cropped chain.
* Shared/soup/WebCoreArgumentCodersSoup.cpp:
(IPC::ArgumentCoder<CertificateInfo>::encode):
(IPC::ArgumentCoder<CertificateInfo>::decode):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237415
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mcatanzaro@igalia.com [Thu, 25 Oct 2018 14:53:09 +0000 (14:53 +0000)]
[GTK] Reenable the sandbox
Previously reviewed by, er, myself. This just reverts the sabotague as our bots should have
the required deps now. Hopefully.
* Source/cmake/OptionsGTK.cmake:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237414
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 25 Oct 2018 14:15:21 +0000 (14:15 +0000)]
REGRESSION (236779) scandinaviandesigns.com product pages auto redirect to product image
https://bugs.webkit.org/show_bug.cgi?id=190891
<rdar://problem/
45296796>
Reviewed by Antti Koivisto.
Source/WebCore:
When a radio element gets clicked, we should only fire the 'input' and 'change' if the checked state
of the radio element has changed.
Test: fast/dom/HTMLInputElement/radio-element-fires-change-event-only-when-checked-state-changes.html
* html/RadioInputType.cpp:
(WebCore::RadioInputType::didDispatchClick):
LayoutTests:
Add layout test coverage.
* fast/dom/HTMLInputElement/radio-element-fires-change-event-only-when-checked-state-changes-expected.txt: Added.
* fast/dom/HTMLInputElement/radio-element-fires-change-event-only-when-checked-state-changes.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237413
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fred.wang@free.fr [Thu, 25 Oct 2018 14:03:30 +0000 (14:03 +0000)]
Unreviewed test gardening.
Patch by Frederic Wang <fwang@igalia.com> on 2018-10-25
* platform/ios-wk1/TestExpectations: Add failures for tests requiring findString.
* platform/ios-wk1/fast/scrolling/adjust-scroll-offset-on-zoom-expected.txt: Added. Adjust
expectation to handle whitespace difference.
* platform/ios-wk1/fast/scrolling/scrolling-tree-includes-frame-expected.txt: Added. The
scrolling tree is not displayed on WK1.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237412
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fred.wang@free.fr [Thu, 25 Oct 2018 12:46:28 +0000 (12:46 +0000)]
Add more tests for the Find UI
https://bugs.webkit.org/show_bug.cgi?id=190823
Patch by Frederic Wang <fwang@igalia.com> on 2018-10-25
Reviewed by Antonio Gomes.
We add more tests for iOS's find UI to cover cases fixed by r224284. Equivalent tests for
subframes currently fails when frame flattening is disabled, they will be handled in bug
184297.
* platform/ios/fast/scrolling/find-text-in-overflow-node-indicator-position-expected.png: Added.
* platform/ios/fast/scrolling/find-text-in-overflow-node-indicator-position-expected.txt: Added.
* platform/ios/fast/scrolling/find-text-in-overflow-node-indicator-position-limit-expected.png: Added.
* platform/ios/fast/scrolling/find-text-in-overflow-node-indicator-position-limit-expected.txt: Added.
* platform/ios/fast/scrolling/find-text-in-overflow-node-indicator-position-limit.html: Added.
Test with a match at the limit of the scrolling element.
* platform/ios/fast/scrolling/find-text-in-overflow-node-indicator-position.html: Added. Test
with a match at the middle of the scrolling element.
* platform/ios/fast/scrolling/find-text-in-overflow-node.html: Use names for parameters to
make it more explicit.
* platform/ios/fast/scrolling/find-text-in-subframe-expected.txt: Added.
* platform/ios/fast/scrolling/find-text-in-subframe.html: Added. Test with a subframe instead
of an overflow node.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237411
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Thu, 25 Oct 2018 11:09:40 +0000 (11:09 +0000)]
[GTK][AC] Resizing the window doesn't always update the visible rect
https://bugs.webkit.org/show_bug.cgi?id=189743
Reviewed by Michael Catanzaro.
Disassociate resizing that can be done on an AcceleratedSurface object
between "host resizes" and "client resizes".
The former is done from ThreadedCoordinatedLayerTreeHost directly, and
is currently used only for GTK on X11, where a new pixmap object is
created on each resize, which affects the context ID that is based on
that pixmap object's address.
The latter is done from the composition thread. It's used for GTK on
Wayland and WPE. In both cases, the underlying window object does not
change on each resize, but it's necessary to perform the actual resize
on the composition thread.
So far it hasn't been performed there, which ended up pushing sizes of
the WebKit view and the underlying window object out of sync during
resizing, leaving parts of window unrendered.
* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::renderLayerTree):
* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
* WebProcess/WebPage/AcceleratedSurface.cpp:
(WebKit::AcceleratedSurface::hostResize):
(WebKit::AcceleratedSurface::resize): Deleted.
* WebProcess/WebPage/AcceleratedSurface.h:
(WebKit::AcceleratedSurface::clientResize):
* WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
(WebKit::ThreadedCoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
(WebKit::ThreadedCoordinatedLayerTreeHost::sizeDidChange):
* WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
* WebProcess/WebPage/gtk/AcceleratedSurfaceWayland.cpp:
(WebKit::AcceleratedSurfaceWayland::clientResize):
(WebKit::AcceleratedSurfaceWayland::resize): Deleted.
* WebProcess/WebPage/gtk/AcceleratedSurfaceWayland.h:
* WebProcess/WebPage/gtk/AcceleratedSurfaceX11.cpp:
(WebKit::AcceleratedSurfaceX11::hostResize):
(WebKit::AcceleratedSurfaceX11::resize): Deleted.
* WebProcess/WebPage/gtk/AcceleratedSurfaceX11.h:
* WebProcess/WebPage/wpe/AcceleratedSurfaceWPE.cpp:
(WebKit::AcceleratedSurfaceWPE::clientResize):
(WebKit::AcceleratedSurfaceWPE::resize): Deleted.
* WebProcess/WebPage/wpe/AcceleratedSurfaceWPE.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237410
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 25 Oct 2018 08:34:54 +0000 (08:34 +0000)]
InspectorCanvas is not getting cleared properly for OffscreenCanvas
https://bugs.webkit.org/show_bug.cgi?id=190894
<rdar://problem/
45498435>
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2018-10-25
Reviewed by Simon Fraser.
Covered by existing tests not crashing with guard malloc.
InspectorCanvasAgents tracks all CanvasRenderingContexts and needs to
remove its reference when the containing CanvasBase goes away. It does
this by registering as a notification observer, but if it can't map
from the CanvasBase back to the rendering context we were failing to
remove our reference. Enforce CanvasBase classes to notify observers
of destruction while they still have their CanvasRenderingContext.
* html/CanvasBase.cpp:
(WebCore::CanvasBase::~CanvasBase):
(WebCore::CanvasBase::notifyObserversCanvasDestroyed):
* html/CanvasBase.h:
Assert that subclasses notify observers of the canvas being destroyed,
since they will need to do this before m_context is cleared.
* html/CustomPaintCanvas.cpp:
(WebCore::CustomPaintCanvas::~CustomPaintCanvas):
* html/OffscreenCanvas.cpp:
(WebCore::OffscreenCanvas::~OffscreenCanvas):
Follow the new expected pattern of notifying observers before clearing
the context. HTMLCanvasElement already followed this pattern.
* inspector/agents/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::canvasDestroyed):
Add an assertion that would catch this earlier.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237409
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jiewen_tan@apple.com [Thu, 25 Oct 2018 07:24:59 +0000 (07:24 +0000)]
[WPT] Update resource-timing WPT tests to use the right cross origin
https://bugs.webkit.org/show_bug.cgi?id=190554
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
* web-platform-tests/resource-timing/resource_TAO_cross_origin_redirect_chain-expected.txt:
* web-platform-tests/resource-timing/resource_TAO_cross_origin_redirect_chain.html:
* web-platform-tests/resource-timing/resource_timing_cross_origin_redirect_chain-expected.txt:
* web-platform-tests/resource-timing/resource_timing_cross_origin_redirect_chain.html:
LayoutTests:
* TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237408
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Thu, 25 Oct 2018 06:12:50 +0000 (06:12 +0000)]
REGRESSION (r237331): DismissingActionSheetShouldNotDismissPresentingViewController times out
https://bugs.webkit.org/show_bug.cgi?id=190897
* TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
(TestWebKitAPI::TEST):
Disable the test for now.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237407
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Thu, 25 Oct 2018 00:19:22 +0000 (00:19 +0000)]
Clean up some obsolete macOS version guards
https://bugs.webkit.org/show_bug.cgi?id=190887
Reviewed by Dan Bernstein.
Source/WebCore:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
(WebCore::MediaPlayerPrivateAVFoundationObjC::maximumDurationToCacheMediaTime const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::didPassCORSAccessCheck const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::wouldTaintOrigin const):
Source/WebCore/PAL:
* pal/spi/mac/TUCallSPI.h:
Source/WebKit:
* PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in:
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
Source/WebKitLegacy/mac:
* Misc/WebNSPasteboardExtras.mm:
(+[NSPasteboard _web_dragTypesForURL]):
* WebCoreSupport/PopupMenuMac.mm:
(PopupMenuMac::show):
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::respondToChangedSelection):
* WebView/WebPDFView.mm:
(-[WebPDFView _clipViewForPDFDocumentView]):
Tools:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(__simulated_forceClickAssociatedEventsMask):
(-[TestWKWebViewHostWindow _mouseDownAtPoint:simulatePressure:clickCount:]):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):
* WebKitTestRunner/mac/EventSenderProxy.mm:
(-[EventSenderSyntheticEvent initPressureEventAtLocation:globalLocation:stage:pressure:stageTransition:phase:time:eventNumber:window:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237405
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Wed, 24 Oct 2018 22:51:03 +0000 (22:51 +0000)]
Attachment filenames with RTL characters should format similar to Finder
https://bugs.webkit.org/show_bug.cgi?id=190736
<rdar://problem/
44735946>
Reviewed by Dan Bernstein.
Source/WebCore:
Test: fast/attachment/attachment-title-with-rtl.html
* html/HTMLAttachmentElement.cpp:
(WebCore::HTMLAttachmentElement::attachmentTitleForDisplay const):
* html/HTMLAttachmentElement.h:
Add attachmentTitleForDisplay(), which wraps the non-extension part of
attachmentTitle in BiDi isolates, matching Finder's behavior.
* rendering/RenderThemeIOS.mm:
(WebCore::RenderAttachmentInfo::buildWrappedLines):
(WebCore::RenderAttachmentInfo::RenderAttachmentInfo):
* rendering/RenderThemeMac.mm:
(WebCore::AttachmentLayout::layOutTitle):
Adopt attachmentTitleForDisplay, and ask CoreText to use a subrange of
the original string for the last line, instead of splitting the string
ourselves. This ensures that BiDi control characters are respected
even in the last line of the string.
LayoutTests:
* fast/attachment/attachment-title-with-rtl-expected.html: Added.
* fast/attachment/attachment-title-with-rtl.html: Added.
Add a test that directionality marks in the attachment's title are
isolated from the file extension.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237403
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
megan_gardner@apple.com [Wed, 24 Oct 2018 22:28:42 +0000 (22:28 +0000)]
Turn on Conic Gradients
https://bugs.webkit.org/show_bug.cgi?id=190810
Reviewed by Tim Horton.
Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig:
Source/WebCore:
Added tests previously, only switching feature from experimental to always avaiable.
* Configurations/FeatureDefines.xcconfig:
* css/parser/CSSParserContext.cpp:
(WebCore::CSSParserContext::CSSParserContext):
(WebCore::operator==):
* css/parser/CSSParserContext.h:
(WebCore::CSSParserContextHash::hash):
* css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::consumeConicGradient):
* page/Settings.yaml:
Source/WebCore/PAL:
* Configurations/FeatureDefines.xcconfig:
Source/WebKit:
Remove conic gradients from experimental features and turn it on always.
* Configurations/FeatureDefines.xcconfig:
* Shared/WebPreferences.yaml:
Source/WebKitLegacy/mac:
* Configurations/FeatureDefines.xcconfig:
Source/WTF:
* wtf/FeatureDefines.h:
Tools:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
LayoutTests:
No longer necessary to manually turn on conic gradients for testing.
* http/wpt/css/css-images-4/conic-gradient-parsing.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237402
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Wed, 24 Oct 2018 22:12:54 +0000 (22:12 +0000)]
Web Inspector: popovers for function source code are malformed
https://bugs.webkit.org/show_bug.cgi?id=190859
Reviewed by Joseph Pecoraro.
Previously, the `WI.Popover` would be drawn twice: once when the
`WI.CodeMirrorTokenTrackingController` determines that the user has hovered on a function
token, and once again when the source for that function is formatted (after being retrieved).
In the case that the formatter is able to return the prettified source within a frame (or
two), the `WI.Popover` is still in the middle of animating to its new size, meaning that the
changes made by the formatted `update` will be overridden on the next rAF (creates a flash).
* UserInterface/Views/Popover.js:
(WI.Popover.prototype):
(WI.Popover.prototype._animateFrame.drawBackground):
(WI.Popover.prototype._drawBackground):
Add a member variable to make sure that there is only ever one rAF firing at a time.
Drive-by: rework the background code to only use one canvas.
* UserInterface/Views/SourceCodeTextEditor.js:
(WI.SourceCodeTextEditor.prototype._showPopoverForFunction.didGetDetails):
Don't show the `WI.Popover` until the formatter has finished prettifying the function's
source code, as otherwise there is brief moment that the popover appears and is empty.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237401
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
msaboff@apple.com [Wed, 24 Oct 2018 21:35:35 +0000 (21:35 +0000)]
2018-10-24 Michael Saboff <msaboff@apple.com>
Increase executable memory pool from 64MB to 128MB for ARM64
https://bugs.webkit.org/show_bug.cgi?id=190453
Unreviewed, rolling back in r237024.
The original change did impact ARES-6 performance by 4-8%. That will
be investigated separately.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237400
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Wed, 24 Oct 2018 21:01:27 +0000 (21:01 +0000)]
Add BPLATFORM(IOS_FAMILY)
https://bugs.webkit.org/show_bug.cgi?id=190878
Reviewed by Saam Barati.
* bmalloc/AvailableMemory.cpp:
(bmalloc::memorySizeAccordingToKernel):
(bmalloc::computeAvailableMemory):
* bmalloc/AvailableMemory.h:
(bmalloc::isUnderMemoryPressure):
* bmalloc/BPlatform.h:
* bmalloc/Gigacage.h:
* bmalloc/Logging.cpp:
(bmalloc::logVMFailure):
* bmalloc/VMAllocate.h:
(bmalloc::vmPageSizePhysical):
* bmalloc/bmalloc.h:
* bmalloc/darwin/MemoryStatusSPI.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237399
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Wed, 24 Oct 2018 20:19:39 +0000 (20:19 +0000)]
Web Inspector: REGRESSION (r237232): changing resources via up/down blurs the TreeOutline in Resources
https://bugs.webkit.org/show_bug.cgi?id=190862
Reviewed by Matt Baker.
* UserInterface/Views/TextEditor.js:
(WI.TextEditor.prototype.set selectedTextRange):
Don't `focus` unless the `activeElement` is not a WebInspector element (e.g. <body>),
meaning that the previously focused element has been removed from the DOM and no longer
needs to keep the focus.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237397
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Wed, 24 Oct 2018 19:27:27 +0000 (19:27 +0000)]
Web Inspector: CSP request payload on medium.com is unreadable, should be pretty-printed
https://bugs.webkit.org/show_bug.cgi?id=190354
<rdar://problem/
45090894>
Reviewed by Joseph Pecoraro.
* UserInterface/Views/TextEditor.js:
(WI.TextEditor.prototype.set string.update):
(WI.TextEditor.prototype._attemptToDetermineMIMEType): Added.
If the content doesn't already have a MIME type, attempt to determine one by trying to
format it as "javascript" (e.g. request JSON that is simply missing a MIME type).
* UserInterface/Views/TextContentView.js:
(WI.TextContentView):
(WI.TextContentView.prototype._handleTextEditorMIMETypeChanged): Added.
* UserInterface/Views/TextResourceContentView.js:
(WI.TextResourceContentView):
(WI.TextResourceContentView.prototype._handleTextEditorMIMETypeChanged): Added.
* UserInterface/Views/ScriptContentView.js:
(WI.ScriptContentView):
(WI.ScriptContentView.prototype._handleTextEditorMIMETypeChanged): Added.
Enable the "Pretty Print" navigation button if the MIME type changes to something that is
able to be formatted.
Drive-by: reorder the creation of the "Pretty Print" button so that it exists if
`_attemptToDetermineMIMEType` finishes synchronously.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237396
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jiewen_tan@apple.com [Wed, 24 Oct 2018 18:49:03 +0000 (18:49 +0000)]
Only report resource timing to parent frame for the first iframe load
https://bugs.webkit.org/show_bug.cgi?id=190498
<rdar://problem/
44347398>
Reviewed by Youenn Fablet.
Source/WebCore:
Only the first iframe navigation or the first iframe navigation after about:blank should be reported.
https://www.w3.org/TR/resource-timing-2/#resources-included-in-the-performanceresourcetiming-interface
Test: http/tests/misc/resource-timing-navigation-in-restored-iframe.html
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadWithDocumentLoader):
* loader/FrameLoader.h:
(WebCore::FrameLoader::shouldReportResourceTimingToParentFrame):
(WebCore::FrameLoader::setShouldReportResourceTimingToParentFrame): Deleted.
* loader/ResourceTimingInformation.cpp:
(WebCore::ResourceTimingInformation::addResourceTiming):
LayoutTests:
The layout test is from Chromium change:
https://chromium-review.googlesource.com/c/chromium/src/+/1186215.
* http/tests/misc/resource-timing-navigation-in-restored-iframe-expected.txt: Added.
* http/tests/misc/resource-timing-navigation-in-restored-iframe.html: Added.
* http/tests/misc/resources/alert-then-back.html: Added.
* http/tests/misc/resources/navigate-on-message.html: Added.
* http/tests/misc/resources/post-message-to-parent.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237395
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Wed, 24 Oct 2018 18:46:39 +0000 (18:46 +0000)]
Cure Windows Direct2D Backend of a nasty case of bitrot
https://bugs.webkit.org/show_bug.cgi?id=190875
<rdar://problem/
45523268>
Reviewed by Zalan Bujtas.
The Direct2D backend has drifted out of date with the rest of WebKit.
This patch updates things so we can get a runnable build.
* platform/graphics/FontPlatformData.h:
* platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::create):
* platform/graphics/ImageBuffer.h:
* platform/graphics/ImageDecoder.h:
* platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::setTargetContext):
* platform/graphics/opentype/OpenTypeMathData.cpp:
(WebCore::OpenTypeMathData::OpenTypeMathData): Need non-default constructor to make Visual
Studio happy.
* platform/graphics/win/GradientDirect2D.cpp:
(WebCore::Gradient::generateGradient):
* platform/graphics/win/GraphicsContextDirect2D.cpp: Update for new display list implementation.
(WebCore::GraphicsContextPlatformPrivate::setAlpha):
(WebCore::GraphicsContext::savePlatformState):
(WebCore::GraphicsContext::restorePlatformState):
(WebCore::GraphicsContext::drawNativeImage):
(WebCore::GraphicsContext::drawPattern):
(WebCore::GraphicsContext::drawRect):
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::drawEllipse):
(WebCore::GraphicsContext::drawPath):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::platformFillRoundedRect):
(WebCore::GraphicsContext::fillRectWithRoundedHole):
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::clipOut):
(WebCore::GraphicsContext::clipPath):
(WebCore::GraphicsContext::clipBounds const):
(WebCore::GraphicsContext::beginPlatformTransparencyLayer):
(WebCore::GraphicsContext::endPlatformTransparencyLayer):
(WebCore::GraphicsContext::setMiterLimit):
(WebCore::GraphicsContext::clearRect):
(WebCore::GraphicsContext::strokeRect):
(WebCore::GraphicsContext::setLineCap):
(WebCore::GraphicsContext::setLineDash):
(WebCore::GraphicsContext::setLineJoin):
(WebCore::GraphicsContext::scale):
(WebCore::GraphicsContext::rotate):
(WebCore::GraphicsContext::translate):
(WebCore::GraphicsContext::concatCTM):
(WebCore::GraphicsContext::setCTM):
(WebCore::GraphicsContext::getCTM const):
(WebCore::GraphicsContext::roundToDevicePixels):
(WebCore::GraphicsContext::drawLinesForText):
(WebCore::GraphicsContext::setURLForRect):
(WebCore::GraphicsContext::setIsCALayerContext):
(WebCore::GraphicsContext::isCALayerContext const):
(WebCore::GraphicsContext::setIsAcceleratedContext):
(WebCore::GraphicsContext::isAcceleratedContext const):
(WebCore::GraphicsContext::setPlatformShouldAntialias):
(WebCore::GraphicsContext::setPlatformShouldSmoothFonts):
(WebCore::GraphicsContext::setPlatformCompositeOperation):
(WebCore::GraphicsContext::platformFillEllipse):
(WebCore::GraphicsContext::platformStrokeEllipse):
* platform/graphics/win/GraphicsLayerDirect2D.cpp:
(WebCore::GraphicsLayer::create):
(): Deleted.
* platform/graphics/win/ImageBufferDataDirect2D.cpp:
(WebCore::ImageBufferData::putData):
* platform/graphics/win/ImageBufferDataDirect2D.h:
* platform/graphics/win/ImageBufferDirect2D.cpp:
(WebCore::ImageBuffer::createCompatibleBuffer):
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/win/ImageDecoderDirect2D.cpp:
(WebCore::ImageDecoderDirect2D::bytesDecodedToDetermineProperties const):
(WebCore::ImageDecoderDirect2D::encodedDataStatus const):
(WebCore::ImageDecoderDirect2D::repetitionCount const):
(WebCore::ImageDecoderDirect2D::frameOrientationAtIndex const):
(WebCore::ImageDecoderDirect2D::frameDurationAtIndex const):
(WebCore::ImageDecoderDirect2D::frameAllowSubsamplingAtIndex const):
(WebCore::ImageDecoderDirect2D::frameHasAlphaAtIndex const):
(WebCore::ImageDecoderDirect2D::createFrameImageAtIndex):
(WebCore::ImageDecoderDirect2D::setData):
(WebCore::ImageDecoderDirect2D::bytesDecodedToDetermineProperties): Deleted.
(WebCore::ImageDecoderDirect2D::createFrameImageAtIndex const): Deleted.
* platform/graphics/win/ImageDecoderDirect2D.h:
* platform/graphics/win/ImageDirect2D.cpp:
(WebCore::BitmapImage::drawFrameMatchingSourceSize):
* platform/graphics/win/PatternDirect2D.cpp:
(WebCore::Pattern::createPlatformPattern const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237394
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 24 Oct 2018 18:42:22 +0000 (18:42 +0000)]
Cleanup: MIMETypeRegistry functions
https://bugs.webkit.org/show_bug.cgi?id=190838
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2018-10-24
Reviewed by Simon Fraser.
Source/WebCore:
Modernize the initialization of the lists in MIMETypeRegistry. Make the
functions that return these list be self-contained. Use NeverDestroy<> to
allocate the local static variable. Use std::initializer_list() and
makeNeverDestroyed() to initialize NeverDestroy<> variables only once.
supportedImageResourceMIMETypes will be deleted and all the calls to it
will be replaced by supportedImageMIMETypes because they are identical.
* loader/archive/ArchiveFactory.cpp:
(WebCore::ArchiveFactory::registerKnownArchiveMIMETypes): This function
is called while initializing the supportedNonImageMIMETypes(). So it
should not have a direct call to it. Instead, supportedNonImageMIMETypes
is passed to it.
* loader/archive/ArchiveFactory.h:
* platform/MIMETypeRegistry.cpp:
(WebCore::MIMETypeRegistry::supportedImageMIMETypes):
(WebCore::supportedImageMIMETypesForEncoding):
(WebCore::supportedJavaScriptMIMETypes):
(WebCore::MIMETypeRegistry::supportedNonImageMIMETypes):
(WebCore::MIMETypeRegistry::supportedMediaMIMETypes):
(WebCore::pdfMIMETypes):
(WebCore::MIMETypeRegistry::unsupportedTextMIMETypes):
(WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
(WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
(WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
(WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
(WebCore::MIMETypeRegistry::isSupportedMediaMIMEType):
(WebCore::MIMETypeRegistry::isUnsupportedTextMIMEType):
(WebCore::MIMETypeRegistry::isPDFMIMEType):
(WebCore::MIMETypeRegistry::systemPreviewMIMETypes):
(WebCore::MIMETypeRegistry::isSystemPreviewMIMEType):
(WebCore::initializeSupportedImageMIMETypes): Deleted.
(WebCore::initializeSupportedImageMIMETypesForEncoding): Deleted.
(WebCore::initializeSupportedJavaScriptMIMETypes): Deleted.
(WebCore::initializePDFMIMETypes): Deleted.
(WebCore::initializeSupportedNonImageMimeTypes): Deleted.
(WebCore::initializeSupportedMediaMIMETypes): Deleted.
(WebCore::initializeUnsupportedTextMIMETypes): Deleted.
(WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType): Deleted.
(WebCore::MIMETypeRegistry::getSupportedImageMIMETypes): Deleted.
(WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes): Deleted.
(WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes): Deleted.
(WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes): Deleted.
(WebCore::MIMETypeRegistry::getPDFMIMETypes): Deleted.
(WebCore::MIMETypeRegistry::getUnsupportedTextMIMETypes): Deleted.
(WebCore::MIMETypeRegistry::getSystemPreviewMIMETypes): Deleted.
* platform/MIMETypeRegistry.h:
* platform/graphics/Image.cpp:
(WebCore::Image::supportsType):
* platform/graphics/cg/ImageDecoderCG.cpp:
(WebCore::ImageDecoderCG::encodedDataStatus const):
* platform/graphics/cg/UTIRegistry.cpp:
(WebCore::supportedDefaultImageSourceTypes):
(WebCore::isSupportImageSourceType):
(WebCore::allowedImageUTIs): Deleted.
(WebCore::isAllowedImageUTI): Deleted.
* platform/graphics/cg/UTIRegistry.h:
* platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::write):
Source/WebKit:
* UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm:
(-[WKWebViewContentProviderRegistry initWithConfiguration:]):
Source/WebKitLegacy/mac:
* Misc/WebNSPasteboardExtras.mm:
(-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
Replace isSupportedImageResourceMIMEType() by isSupportedImageMIMEType()
because they were identical.
* WebView/WebHTMLRepresentation.mm:
(+[WebHTMLRepresentation supportedMediaMIMETypes]):
(+[WebHTMLRepresentation supportedNonImageMIMETypes]):
(+[WebHTMLRepresentation supportedImageMIMETypes]):
(+[WebHTMLRepresentation unsupportedTextMIMETypes]):
* WebView/WebView.mm:
(+[WebView _unregisterViewClassAndRepresentationClassForMIMEType:]):
(+[WebView _registerViewClass:representationClass:forURLScheme:]):
(+[WebView registerViewClass:representationClass:forMIMEType:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237393
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Wed, 24 Oct 2018 18:26:57 +0000 (18:26 +0000)]
[macOS] Layout Test legacy-animation-engine/animations/suspend-resume-animation.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=190883
Unreviewed test gardening.
* platform/mac/TestExpectations: Mark test as flaky.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237392
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jlewis3@apple.com [Wed, 24 Oct 2018 18:24:02 +0000 (18:24 +0000)]
Marked webgl/1.0.2/conformance/glsl/misc/shader-with-reserved-words.html as a flaky timout.
https://bugs.webkit.org/show_bug.cgi?id=170877
Unreviewed test gardening.
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237391
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 24 Oct 2018 17:44:21 +0000 (17:44 +0000)]
[WPE] Fix CMake rules in for TestWebKitAPIBase library building in developer mode
https://bugs.webkit.org/show_bug.cgi?id=190328
Patch by Pablo Saavedra <psaavedra@igalia.com> on 2018-10-24
Reviewed by Michael Catanzaro.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformWPE.cmake:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237390
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Wed, 24 Oct 2018 16:39:19 +0000 (16:39 +0000)]
[PSON] When navigating back and forth, 'about:blank' shows up in the back/forward list
https://bugs.webkit.org/show_bug.cgi?id=190846
<rdar://problem/
45058938>
Reviewed by Antti Koivisto.
Source/WebCore:
When a page gets suspended after a process-swap, we navigate it to about:blank from inside the navigation
policy handler, by overriding the request URL. This normally works fine because we usually process-swap
on standard navigation. However, when we would process-swap on a back/forward navigation, we would end
up using the back/forward navigation load type to do the about:blank load. This would have repercussions
because history navigations update the current history item with the new URL (in this case 'about:blank').
To avoid the issue, switch to a standard load type whenever the client asks us to suspend and we load
'about:blank' as a result.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
Tools:
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237386
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tsavell@apple.com [Wed, 24 Oct 2018 16:33:19 +0000 (16:33 +0000)]
Marking Multiple tests as flakey at once
https://bugs.webkit.org/show_bug.cgi?id=190847
Unreviewed Test Gardening
* platform/ios-wk2/TestExpectations:
* platform/mac-wk1/TestExpectations:
* platform/mac-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237385
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Wed, 24 Oct 2018 15:38:26 +0000 (15:38 +0000)]
REGRESSION (r237257): [iOS] Crashes in com.apple.WebKit: WebKit::RemoteScrollingCoordinator::scheduleTreeStateCommit
https://bugs.webkit.org/show_bug.cgi?id=190804
Reviewed by Alex Christensen.
Fix null-dereference of the drawing area in RemoteScrollingCoordinator::scheduleTreeStateCommit.
With process-swap-on-navigation enabled, suspended pages' drawing area gets torn down.
* WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm:
(WebKit::RemoteScrollingCoordinator::scheduleTreeStateCommit):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237384
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
csaavedra@igalia.com [Wed, 24 Oct 2018 14:32:43 +0000 (14:32 +0000)]
[GTK] TestSSL failing because of missing libsoup patch
https://bugs.webkit.org/show_bug.cgi?id=190869
Reviewed by Michael Catanzaro.
* gtk/jhbuild.modules: Add the patch below to fix the API test TestSSL
* gtk/patches/libsoup-soup-socket-fix-critical-warning-when-the-peer-certi.patch: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237383
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
chris.reid@sony.com [Wed, 24 Oct 2018 14:27:13 +0000 (14:27 +0000)]
[Win] Add function call name information to stack traces
https://bugs.webkit.org/show_bug.cgi?id=190761
Reviewed by Fujii Hironori.
Add symbol information to stack traces using dbghelp.dll
This library will use symbols files from these sources:
- The current working directory
- The directory containing the application's executable
- _NT_SYMBOL_PATH environment variable
- _NT_ALTERNATE_SYMBOL_PATH environment variable
This functionality is currently only enabled in debug mode since dbghelp is not threadsafe.
The DbgHelper class attempts to synchronize calls to dbghelp.dll but external code
can still attempt to call the library at the same time as WebKit.
* wtf/CMakeLists.txt:
* wtf/PlatformWin.cmake:
* wtf/StackTrace.cpp:
* wtf/win/DbgHelperWin.cpp: Added.
* wtf/win/DbgHelperWin.h: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237382
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aestes@apple.com [Wed, 24 Oct 2018 14:15:15 +0000 (14:15 +0000)]
[macOS Debug WK2] Layout Test http/tests/ssl/applepay/ApplePayShippingAddressChangeEventErrorsV3.https.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=190650
<rdar://problem/
45341914>
Reviewed by Alex Christensen.
Source/WebCore:
In computeErrors, we intend to ignore errors when computing paymentMethodErrors. But we
weren't clearing exceptions generated from calling convert(), so they would end up being
logged as unhandled promise rejections.
Changed ApplePayPaymentHandler::computeErrors() to use a CatchScope to clear exceptions when
decoding paymentMethodErrors.
Also changed ApplePayShippingAddressChangeEventErrorsV3.https.html to catch promise
rejections from calling PaymentRequest.abort().
Covered by existing test.
* Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
(WebCore::ApplePayPaymentHandler::computeErrors const):
LayoutTests:
* http/tests/resources/payment-request.js:
(updateDetailsOnShippingAddressChange):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237381
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
csaavedra@igalia.com [Wed, 24 Oct 2018 13:45:26 +0000 (13:45 +0000)]
[WPE][GTK] Cleanups to the certificate decoder
https://bugs.webkit.org/show_bug.cgi?id=190867
Reviewed by Žan Doberšek.
* Shared/soup/WebCoreArgumentCodersSoup.cpp:
(IPC::ArgumentCoder<CertificateInfo>::decode):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237380
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Wed, 24 Oct 2018 10:20:34 +0000 (10:20 +0000)]
topPrivatelyControlledDomain is slow
https://bugs.webkit.org/show_bug.cgi?id=190792
Reviewed by Alex Christensen and Chris Dumez.
It calls into some slowish CFNetwork code and ends up showing up in profiles.
* platform/mac/PublicSuffixMac.mm:
(WebCore::topPrivatelyControlledDomain):
Add a cache that avoids calls into frameworks.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237379
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Wed, 24 Oct 2018 10:03:31 +0000 (10:03 +0000)]
Use WeakPtr and GenericTaskQueue within ObjC classes used by MediaPlayerPrivateAVFoundationObjC
https://bugs.webkit.org/show_bug.cgi?id=190790
Reviewed by Alex Christensen.
Move towards using WeakPtr callbacks instead of raw pointers within the utility objects used by
MediaPlayerPrivateAVFoundationObjC. Additionally, accessing WeakPtr off the thread which created
the pointer is not allowed, so use a GenericTaskQueue to schedule callbacks instead. Make
GenericTaskQueue<Timer> thread-safe by locking around access to m_pendingTasks, and by making
incrementing the pending task count atomic.
* platform/GenericTaskQueue.cpp:
(WebCore::TaskDispatcher<Timer>::postTask):
(WebCore::TaskDispatcher<Timer>::sharedLock):
(WebCore::TaskDispatcher<Timer>::sharedTimerFired):
(WebCore::TaskDispatcher<Timer>::dispatchOneTask):
(WebCore::TaskDispatcher<Timer>::pendingDispatchers):
* platform/GenericTaskQueue.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC):
(-[WebCoreAVFMovieObserver initWithPlayer:]):
(-[WebCoreAVFMovieObserver disconnect]):
(-[WebCoreAVFMovieObserver metadataLoaded]):
(-[WebCoreAVFMovieObserver didEnd:]):
(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
(-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):
(-[WebCoreAVFMovieObserver outputSequenceWasFlushed:]):
(-[WebCoreAVFLoaderDelegate initWithPlayer:]):
(-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
(-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]):
(-[WebCoreAVFPullDelegate initWithPlayer:]):
(-[WebCoreAVFPullDelegate outputMediaDataWillChange:]):
(-[WebCoreAVFMovieObserver initWithCallback:]): Deleted.
(-[WebCoreAVFLoaderDelegate initWithCallback:]): Deleted.
(-[WebCoreAVFLoaderDelegate setCallback:]): Deleted.
(-[WebCoreAVFPullDelegate initWithCallback:]): Deleted.
(-[WebCoreAVFPullDelegate setCallback:]): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237378
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
csaavedra@igalia.com [Wed, 24 Oct 2018 09:10:24 +0000 (09:10 +0000)]
[WPE][GTK] Cleanups to the certificate encoder
https://bugs.webkit.org/show_bug.cgi?id=190865
Reviewed by Žan Doberšek.
* Shared/soup/WebCoreArgumentCodersSoup.cpp:
(IPC::ArgumentCoder<CertificateInfo>::encode):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237377
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Wed, 24 Oct 2018 09:05:05 +0000 (09:05 +0000)]
TextTrack cues should be updated more often than every 250ms.
https://bugs.webkit.org/show_bug.cgi?id=190827
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/track/track-cue-timing.html
TextTracks cues are recalculated on the playback timer, which fires at least every 250ms.
In addition to this timer, add a method to MediaPlayer to provide a task which will be
performed at a particular media time, and use this new method to request cues be updated
at the next interesting media time. The next interesting time would be either when the
soonest current cue will end, or when the next non-current cue will start, whichever is
earlier.
(Determining the "next non-current cue" requires new API on PODIntervalTree, as that class
does not have iterators per-se.)
* html/HTMLMediaElement.cpp:
(WebCore::compareCueIntervalEndTime):
(WebCore::HTMLMediaElement::updateActiveTextTrackCues):
* platform/PODIntervalTree.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::performTaskAtMediaTime):
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::performTaskAtMediaTime):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::performTaskAtMediaTime):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::performTaskAtMediaTime):
LayoutTests:
Add a LayoutTest which plays back 6s of captions, each 50 ms in duration, and uses
when the "enter" and "exit" were fired (in media time) to check whether they were missed
or not. The test succeeds if fewer than 50 of the 120 cues were missed.
* media/track/track-cue-missing-expected.txt: Added.
* media/track/track-cue-missing.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237376
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
Hironori.Fujii@sony.com [Wed, 24 Oct 2018 04:58:27 +0000 (04:58 +0000)]
[Win] Assertion fails while destructing local static AtomicString of FontCache::lastResortFallbackFont
https://bugs.webkit.org/show_bug.cgi?id=190748
Reviewed by Myles C. Maxfield.
FontCache::lastResortFallbackFont had local static AtomicString
variables which are not capsuled by NeverDestroyed. Hence, those
variables are destructed on IPC thread when WebProcess exits.
Changed those AtomicString to NeverDestroyed<AtomicString> not to
be destructed on exit.
This change can't be tested automatically because WebKitTestRunner
doesn't support Windows port yet.
* platform/graphics/win/FontCacheWin.cpp:
(WebCore::FontCache::lastResortFallbackFont): Changed
fallbackFonts's type from AtomicString array to
NeverDestroyed<AtomicString> array.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237375
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justin_fan@apple.com [Tue, 23 Oct 2018 22:05:27 +0000 (22:05 +0000)]
[WebGPU] Rename old GPU* implementation files to GPULegacy* for WebMetal
https://bugs.webkit.org/show_bug.cgi?id=190817
Reviewed by Dean Jackson.
Source/WebCore:
No new tests. No change in behavior.
* [Large list of refactored classes and renamed files]: GPU* is now GPULegacy*
Tools:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/mac/GPULegacyBuffer.mm: Renamed from Tools/TestWebKitAPI/Tests/WebCore/mac/GPUBuffer.mm.
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/mac/GPULegacyCommandQueue.mm: Copied from Tools/TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm.
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/mac/GPULegacyDevice.mm: Renamed from Tools/TestWebKitAPI/Tests/WebCore/mac/GPUDevice.mm.
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/mac/GPULegacyFunction.mm: Renamed from Tools/TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm.
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/mac/GPULegacyLibrary.mm: Renamed from Tools/TestWebKitAPI/Tests/WebCore/mac/GPULibrary.mm.
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/mac/GPULegacyTest.h: Renamed from Tools/TestWebKitAPI/Tests/WebCore/mac/GPUTest.h.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237368
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Tue, 23 Oct 2018 21:07:14 +0000 (21:07 +0000)]
Unreviewed, rolling out r237261.
The layout test for this change crashes under GuardMalloc.
Reverted changeset:
"Handle MDNS resolution of candidates through libwebrtc
directly"
https://bugs.webkit.org/show_bug.cgi?id=190681
https://trac.webkit.org/changeset/237261
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237367
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tsavell@apple.com [Tue, 23 Oct 2018 20:53:20 +0000 (20:53 +0000)]
Unreviewed, rolling out r237357.
API test is now failing on all platforms.
Reverted changeset:
"topPrivatelyControlledDomain is slow"
https://bugs.webkit.org/show_bug.cgi?id=190792
https://trac.webkit.org/changeset/237357
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237366
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Tue, 23 Oct 2018 20:36:37 +0000 (20:36 +0000)]
Fix false positive leaks when using custom -init methods that don't start with -init
<https://webkit.org/b/190818>
<rdar://problem/
45476042>
Reviewed by Dan Bernstein.
Source/WebKit:
* UIProcess/Cocoa/WKWebViewContentProvider.h:
(-[WKWebViewContentProvider web_initWithFrame:webView:mimeType:]):
Add attribute to make this behave like an -init method.
Source/WebKitLegacy/mac:
* Misc/WebKitErrors.m: Move `descriptions` static global so that
it is accessible by both categories.
(-[NSError _webkit_initWithDomain:code:URL:]): Declare new
NSError (WebKitInternal) category. Add attribute to make this
behave like an -init method.
(-[NSError _webkit_initWithDomain:code:URL:]): Move into new
NSError (WebKitInternal) category. Modernize method. Replace
constant NSString with `NSURLErrorFailingURLStringErrorKey`.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237365
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tsavell@apple.com [Tue, 23 Oct 2018 20:02:52 +0000 (20:02 +0000)]
Unreviewed, rolling out r237350.
Caused several Crashes cross multiple tests and platforms.
Reverted changeset:
"Use WeakPtr and GenericTaskQueue within ObjC classes used by
MediaPlayerPrivateAVFoundationObjC"
https://bugs.webkit.org/show_bug.cgi?id=190790
https://trac.webkit.org/changeset/237350
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237364
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 23 Oct 2018 19:44:46 +0000 (19:44 +0000)]
Web Inspector: Remove unused css-rules pretty printing test expectation
https://bugs.webkit.org/show_bug.cgi?id=190834
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2018-10-23
Reviewed by Matt Baker.
* inspector/codemirror/prettyprinting-css-rules-expected.txt: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237363
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Tue, 23 Oct 2018 18:30:40 +0000 (18:30 +0000)]
Really prevent PLATFORM(IOS) from being used
https://bugs.webkit.org/show_bug.cgi?id=190813
Reviewed by Tim Horton.
* wtf/Platform.h: This relies on -Wundef, which we have enabled.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237361
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Tue, 23 Oct 2018 18:17:11 +0000 (18:17 +0000)]
Unreviewed, rolling out r237280.
Causes fast/box-shadow/box-shadow-with-zero-radius.html to
fail on iOS Simulator.
Reverted changeset:
"[CG] Adopt CG SPI for non-even cornered rounded rects"
https://bugs.webkit.org/show_bug.cgi?id=190155
https://trac.webkit.org/changeset/237280
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237359
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Tue, 23 Oct 2018 18:02:32 +0000 (18:02 +0000)]
topPrivatelyControlledDomain is slow
https://bugs.webkit.org/show_bug.cgi?id=190792
Reviewed by Alex Christensen.
It calls into some slowish CFNetwork code and ends up showing up in profiles.
* platform/mac/PublicSuffixMac.mm:
(WebCore::topPrivatelyControlledDomain):
Add a cache that avoids calls into frameworks.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237357
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Tue, 23 Oct 2018 17:54:57 +0000 (17:54 +0000)]
[macOS Debug WK1] Layout Test inspector/codemirror/prettyprinting-css.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=190833
Unreviewed test gardening.
* platform/mac-wk1/TestExpectations: Mark test as slow.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237356
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Tue, 23 Oct 2018 17:54:34 +0000 (17:54 +0000)]
[PSON] Add support for cross-site client-side redirects
https://bugs.webkit.org/show_bug.cgi?id=190806
<rdar://problem/
45047344>
Reviewed by Geoffrey Garen.
Source/WebCore:
Add support for cross-site client-side redirects so that it swaps process and so that the back
forward list looks as expected. To support this, the following changes had to be done:
- The NavigationAction now provides additional information so that the WebProcess can communicate
things about the client-side redirect to the UIProcess: lockHistory / lockBackForwardList and
clientRedirectSourceForHistory.
- If the UIProcess decides to process-swap on a client-side redirect, we pass the client-side
redirect information to the new WebContent process via LoadRequest struct. WebCore then takes
care of setting things up using this information so that it recognizes that it is continuing
a load that is a client side redirect.
- We also need to pass the current BackForwardListItem / HistoryItem to the new WebContent
process so that the new process can truly lock history and keep updating the *current*
HistoryItem, instead of creating a new HistoryItem.
- After a process swap, when we re-construct the WebFrameProxy for the main frame in the new
process, we now set the frame's URL in the UIProcess to the URL it had before we swapped.
Clients such as Safari, rely on the main frame's URL being the expected value (the last
committed load URL) until the next load is committed when receiving didPerformRedirect
calls. Because we are destroying the main frame on process-swapping, we were losing the
last committed URL and Safari would hit assertions.
With this model, the willPerformClientRedirect IPC is still sent from the previous WebProcess
and the didPerformClientRedirect IPC is now sent by the new WebProcess. No change should be
observable from the client's point of view.
* loader/FrameLoadRequest.h:
(WebCore::FrameLoadRequest::setLockHistory):
(WebCore::FrameLoadRequest::setlockBackForwardList):
(WebCore::FrameLoadRequest::clientRedirectSourceForHistory const):
(WebCore::FrameLoadRequest::setClientRedirectSourceForHistory):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::load):
* loader/HistoryController.cpp:
(WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
* loader/HistoryController.h:
* loader/NavigationAction.h:
(WebCore::NavigationAction::lockHistory const):
(WebCore::NavigationAction::setLockHistory):
(WebCore::NavigationAction::lockBackForwardList const):
(WebCore::NavigationAction::setLockBackForwardList):
Source/WebKit:
* Shared/LoadParameters.cpp:
(WebKit::LoadParameters::encode const):
(WebKit::LoadParameters::decode):
* Shared/LoadParameters.h:
* Shared/NavigationActionData.cpp:
(WebKit::NavigationActionData::encode const):
(WebKit::NavigationActionData::decode):
* Shared/NavigationActionData.h:
* Shared/WebBackForwardListItem.cpp:
(WebKit::WebBackForwardListItem::setSuspendedPage):
* UIProcess/API/APINavigation.h:
(API::Navigation::setLockHistory):
(API::Navigation::lockHistory const):
(API::Navigation::setLockBackForwardList):
(API::Navigation::lockBackForwardList const):
(API::Navigation::setClientRedirectSourceForHistory):
(API::Navigation::clientRedirectSourceForHistory const):
* UIProcess/API/APINavigationClient.h:
(API::NavigationClient::willPerformClientRedirect):
(API::NavigationClient::didPerformClientRedirect):
* UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::NavigationClient::didPerformClientRedirect):
* UIProcess/FrameLoadState.h:
(WebKit::FrameLoadState::setURL):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadRequestWithNavigation):
(WebKit::WebPageProxy::continueNavigationInNewProcess):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::didPerformClientRedirect):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadRequest):
(WebKit::WebPage::setCurrentHistoryItemForReattach):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
Tools:
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
(-[PSONNavigationDelegate _webView:willPerformClientRedirectToURL:delay:]):
(-[PSONNavigationDelegate _webView:didPerformClientRedirectFromURL:toURL:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237355
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tsavell@apple.com [Tue, 23 Oct 2018 17:26:55 +0000 (17:26 +0000)]
[ MacOS Debug WK1 ] Layout Test fast/forms/state-restore-to-non-edited-controls.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=190832
Unreviewed Test Gardening.
* platform/mac-wk1/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237354
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Tue, 23 Oct 2018 17:22:43 +0000 (17:22 +0000)]
Layout Test imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=176929
Unreviewed test gardening.
* platform/mac/TestExpectations: Mark test as flaky.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237353
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Tue, 23 Oct 2018 16:58:40 +0000 (16:58 +0000)]
REGRESSION (r236501?): Layout Test compositing/geometry/limit-layer-bounds-opacity-transition.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=190210
Unreviewed test gardening.
* platform/mac/TestExpectations: Mark test as flaky.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237352
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
csaavedra@igalia.com [Tue, 23 Oct 2018 15:52:11 +0000 (15:52 +0000)]
[WPE][GTK] Pass full certificate chain in CertificateInfo coder
https://bugs.webkit.org/show_bug.cgi?id=190789
Reviewed by Michael Catanzaro.
When the network process serializes certificate data to other
processes through the argument coders, the certificate chain, if
present, is lost. In practice this means that applications using
the public API to process certificate info have no details on the
certificate chain, other than the very basics included in the
certificate. Serialize the entire chain if available in the
certificate.
Source/WebKit:
* Shared/soup/WebCoreArgumentCodersSoup.cpp:
(IPC::ArgumentCoder<CertificateInfo>::encode): Encode the
certificate chain if present.
(IPC::ArgumentCoder<CertificateInfo>::decode): Decode the
entire certificate chain and rebuild it.
Tools:
* TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
(testSSL): Test that the self-signed certificate has no bogus
issuer certificate.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237351
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Tue, 23 Oct 2018 14:40:58 +0000 (14:40 +0000)]
Use WeakPtr and GenericTaskQueue within ObjC classes used by MediaPlayerPrivateAVFoundationObjC
https://bugs.webkit.org/show_bug.cgi?id=190790
Reviewed by Alex Christensen.
Move towards using WeakPtr callbacks instead of raw pointers within the utility objects used by
MediaPlayerPrivateAVFoundationObjC. Additionally, accessing WeakPtr off the thread which created
the pointer is not allowed, so use a GenericTaskQueue to schedule callbacks instead. Make
GenericTaskQueue<Timer> thread-safe by locking around access to m_pendingTasks, and by making
incrementing the pending task count atomic.
* platform/GenericTaskQueue.cpp:
(WebCore::TaskDispatcher<Timer>::postTask):
(WebCore::TaskDispatcher<Timer>::sharedLock):
(WebCore::TaskDispatcher<Timer>::sharedTimerFired):
(WebCore::TaskDispatcher<Timer>::dispatchOneTask):
(WebCore::TaskDispatcher<Timer>::pendingDispatchers):
* platform/GenericTaskQueue.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC):
(-[WebCoreAVFMovieObserver initWithPlayer:]):
(-[WebCoreAVFMovieObserver disconnect]):
(-[WebCoreAVFMovieObserver metadataLoaded]):
(-[WebCoreAVFMovieObserver didEnd:]):
(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
(-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):
(-[WebCoreAVFMovieObserver outputSequenceWasFlushed:]):
(-[WebCoreAVFLoaderDelegate initWithPlayer:]):
(-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
(-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]):
(-[WebCoreAVFPullDelegate initWithPlayer:]):
(-[WebCoreAVFPullDelegate outputMediaDataWillChange:]):
(-[WebCoreAVFMovieObserver initWithCallback:]): Deleted.
(-[WebCoreAVFLoaderDelegate initWithCallback:]): Deleted.
(-[WebCoreAVFLoaderDelegate setCallback:]): Deleted.
(-[WebCoreAVFPullDelegate initWithCallback:]): Deleted.
(-[WebCoreAVFPullDelegate setCallback:]): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237350
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Tue, 23 Oct 2018 09:52:54 +0000 (09:52 +0000)]
Uncaught Exception: TypeError: null is not an object (evaluating 'mouseBlock.addEventListener')
https://bugs.webkit.org/show_bug.cgi?id=190766
Reviewed by Brian Burg.
* UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.prototype._populateWaterfallGraph):
When creating the `mouseBlock`, if the `startTimestamp` and `endTimestamp` are equal, we
don't create an element. If this is true for the total range of the `WI.Resouce` (meaning
its `startTime` and `responseEnd`), don't even try to create blocks.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237349
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Tue, 23 Oct 2018 09:50:14 +0000 (09:50 +0000)]
Web Inspector: "Queued NaNms" in Network tab
https://bugs.webkit.org/show_bug.cgi?id=190767
<rdar://problem/
45420859>
Reviewed by Brian Burg.
* UserInterface/Models/ResourceTimingData.js:
(WI.ResourceTimingData.prototype.get fetchStart):
If the `WI.ResourceTimingData` has no `fetchStart` use the associated `WI.Resource`'s
`requestSentTimestamp` (just like `startTime`).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237348
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 23 Oct 2018 06:10:59 +0000 (06:10 +0000)]
Registered custom properties should support syntax parameter for <length> and *
https://bugs.webkit.org/show_bug.cgi?id=190039
Patch by Justin Michaud <justin_michaud@apple.com> on 2018-10-22
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
Update WPT test results to fail in a new way.
* web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing-expected.txt:
* web-platform-tests/css/css-properties-values-api/registered-properties-inheritance-expected.txt:
* web-platform-tests/css/css-properties-values-api/registered-property-cssom-expected.txt:
* web-platform-tests/css/css-properties-values-api/typedom.tentative-expected.txt:
* web-platform-tests/css/css-properties-values-api/var-reference-registered-properties-cycles-expected.txt:
* web-platform-tests/css/css-properties-values-api/var-reference-registered-properties-expected.txt:
Source/WebCore:
Refactor code so that:
- All properties applied in StyleResolver::applyMatchedProperties are only applied once.
- Custom properties are only resolved once, in StyleResolver, when they are applied to the RenderStyle. They were previously resolved
every time they were referenced, and again in RenderStyle.
- The font-size property is applied after its variable references, but before custom properties that depend on it.
- Cycles are detected at the same time as resolution.
- MutableStyleProperties' custom properties cannot be set from Javascript or WebKitLegacy if they do not parse for the property's type.
If they contain var(--...) references, however, then they can be set because we cannot check if the references are valid from setProperty.
This behaviour matches chrome, but is not documented in the spec.
- Custom property values have more explicit resolved/unresolved state.
- RenderStyle only ever holds resolved custom properties, and StyleResolver::CascadedProperties only holds unresolved properties.
Tests: css-custom-properties-api/crash.html
css-custom-properties-api/cycles.html
css-custom-properties-api/inline.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::customPropertyValue):
* css/CSSCustomPropertyValue.cpp:
(WebCore::CSSCustomPropertyValue::equals const):
(WebCore::CSSCustomPropertyValue::customCSSText const):
(WebCore::CSSCustomPropertyValue::tokens const):
(WebCore::CSSCustomPropertyValue::checkVariablesForCycles const): Deleted.
(WebCore::CSSCustomPropertyValue::resolveVariableReferences const): Deleted.
(WebCore::CSSCustomPropertyValue::setResolvedTypedValue): Deleted.
* css/CSSCustomPropertyValue.h:
* css/CSSRegisteredCustomProperty.cpp:
(WebCore::CSSRegisteredCustomProperty::CSSRegisteredCustomProperty):
* css/CSSRegisteredCustomProperty.h:
* css/CSSStyleSheet.h:
* css/CSSVariableData.cpp:
(WebCore::CSSVariableData::CSSVariableData):
(WebCore::CSSVariableData::consumeAndUpdateTokens): Deleted.
(WebCore::CSSVariableData::checkVariablesForCycles const): Deleted.
(WebCore::CSSVariableData::checkVariablesForCyclesWithRange const): Deleted.
(WebCore::CSSVariableData::resolveVariableFallback const): Deleted.
(WebCore::CSSVariableData::resolveVariableReference const): Deleted.
(WebCore::CSSVariableData::resolveVariableReferences const): Deleted.
(WebCore::CSSVariableData::resolveTokenRange const): Deleted.
* css/CSSVariableData.h:
(WebCore::CSSVariableData::create):
(WebCore::CSSVariableData::createResolved): Deleted.
(WebCore::CSSVariableData::needsVariableResolution const): Deleted.
(WebCore::CSSVariableData::CSSVariableData): Deleted.
* css/CSSVariableReferenceValue.cpp:
(WebCore::resolveVariableFallback):
(WebCore::resolveVariableReference):
(WebCore::resolveTokenRange):
(WebCore::CSSVariableReferenceValue::resolveVariableReferences const):
(WebCore::CSSVariableReferenceValue::checkVariablesForCycles const): Deleted.
* css/CSSVariableReferenceValue.h:
(WebCore::CSSVariableReferenceValue::create):
(WebCore::CSSVariableReferenceValue::equals const):
(WebCore::CSSVariableReferenceValue::variableDataValue const): Deleted.
* css/DOMCSSRegisterCustomProperty.cpp:
(WebCore::DOMCSSRegisterCustomProperty::registerProperty):
* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::setProperty):
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyInitialCustomProperty):
(WebCore::StyleBuilderCustom::applyValueCustomProperty):
* css/StyleProperties.cpp:
(WebCore::MutableStyleProperties::setCustomProperty):
* css/StyleProperties.h:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::State::setStyle):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::applyMatchedProperties):
(WebCore::StyleResolver::applyPropertyToCurrentStyle):
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::resolvedVariableValue const):
(WebCore::StyleResolver::CascadedProperties::applyDeferredProperties):
(WebCore::StyleResolver::CascadedProperties::Property::apply):
(WebCore::StyleResolver::applyCascadedCustomProperty):
(WebCore::StyleResolver::applyCascadedProperties):
* css/StyleResolver.h:
* css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseValueWithVariableReferences):
* css/parser/CSSParser.h:
* css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::CSSPropertyParser):
(WebCore::CSSPropertyParser::canParseTypedCustomPropertyValue):
(WebCore::CSSPropertyParser::parseTypedCustomPropertyValue):
(WebCore::CSSPropertyParser::collectParsedCustomPropertyValueDependencies):
(WebCore::CSSPropertyParser::parseValueStart):
(WebCore::CSSPropertyParser::parseSingleValue):
* css/parser/CSSPropertyParser.h:
* css/parser/CSSVariableParser.cpp:
(WebCore::CSSVariableParser::parseDeclarationValue):
* dom/ConstantPropertyMap.cpp:
(WebCore::ConstantPropertyMap::setValueForProperty):
(WebCore::variableDataForPositivePixelLength):
(WebCore::variableDataForPositiveDuration):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::checkVariablesInCustomProperties): Deleted.
* rendering/style/RenderStyle.h:
(WebCore::RenderStyle::setInheritedCustomPropertyValue):
(WebCore::RenderStyle::setNonInheritedCustomPropertyValue):
* rendering/style/StyleCustomPropertyData.h:
(WebCore::StyleCustomPropertyData::operator== const):
(WebCore::StyleCustomPropertyData::setCustomPropertyValue):
(WebCore::StyleCustomPropertyData::StyleCustomPropertyData):
(): Deleted.
LayoutTests:
Add tests for inline styles, font-size cycles with custom properties, and a crash that was reported.
* css-custom-properties-api/crash-expected.txt: Added.
* css-custom-properties-api/crash.html: Added.
* css-custom-properties-api/cycles-expected.txt: Added.
* css-custom-properties-api/cycles.html: Added.
* css-custom-properties-api/inline-expected.txt: Added.
* css-custom-properties-api/inline.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237347
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Tue, 23 Oct 2018 01:52:04 +0000 (01:52 +0000)]
REGRESSION (r237331): InteractionDeadlockAfterCrash API test fails
https://bugs.webkit.org/show_bug.cgi?id=190801
<rdar://problem/
43674361>
* TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm:
(TEST):
Use a parented WKWebView for this test, otherwise none of the assertions
about gesture recognizers work anymore.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237346
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Tue, 23 Oct 2018 00:52:37 +0000 (00:52 +0000)]
REGRESSION: [iOS] Layout Test media/media-fullscreen-pause-inline.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=187618
Unreviewed test gardening.
* platform/ios/TestExpectations: Mark test as flaky.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237345
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 23 Oct 2018 00:46:14 +0000 (00:46 +0000)]
CSS Paint API should give a 2d rendering context
https://bugs.webkit.org/show_bug.cgi?id=190762
Patch by Justin Michaud <justin_michaud@apple.com> on 2018-10-22
Reviewed by Dean Jackson.
Source/WebCore:
Add a new type of canvas and 2d rendering context to support the CSS Painting API.
Make many of the methods from HTMLCanvasElement virtual functions on CanvasBase, and
remove many of the downcasts in CanvasRenderingContext2DBase as a result.
* CMakeLists.txt:
* DerivedSources.make:
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSPaintRenderingContext2DCustom.cpp: Copied from Source/WebCore/css/CSSPaintCallback.h.
(WebCore::root):
(WebCore::JSPaintRenderingContext2DOwner::isReachableFromOpaqueRoots):
(WebCore::JSPaintRenderingContext2D::visitAdditionalChildren):
* bindings/js/WebCoreBuiltinNames.h:
* css/CSSPaintCallback.h:
* css/CSSPaintCallback.idl:
* html/CanvasBase.cpp:
(WebCore::CanvasBase::~CanvasBase):
* html/CanvasBase.h:
(WebCore::CanvasBase::isCustomPaintCanvas const):
* html/CustomPaintCanvas.cpp: Added.
(WebCore::CustomPaintCanvas::create):
(WebCore::CustomPaintCanvas::CustomPaintCanvas):
(WebCore::CustomPaintCanvas::~CustomPaintCanvas):
(WebCore::CustomPaintCanvas::width const):
(WebCore::CustomPaintCanvas::setWidth):
(WebCore::CustomPaintCanvas::height const):
(WebCore::CustomPaintCanvas::setHeight):
(WebCore::CustomPaintCanvas::size const):
(WebCore::CustomPaintCanvas::setSize):
(WebCore::CustomPaintCanvas::getContext):
(WebCore::CustomPaintCanvas::copiedImage const):
(WebCore::CustomPaintCanvas::drawingContext const):
(WebCore::CustomPaintCanvas::existingDrawingContext const):
(WebCore::CustomPaintCanvas::makeRenderingResultsAvailable):
* html/CustomPaintCanvas.h: Copied from Source/WebCore/html/OffscreenCanvas.h.
* html/HTMLCanvasElement.h:
* html/OffscreenCanvas.h:
* html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::wouldTaintOrigin):
* html/canvas/CanvasRenderingContext.h:
(WebCore::CanvasRenderingContext::isPaint const):
* html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::DisplayListDrawingContext::DisplayListDrawingContext):
(WebCore::CanvasRenderingContext2DBase::unwindStateStack):
(WebCore::CanvasRenderingContext2DBase::isAccelerated const):
(WebCore::CanvasRenderingContext2DBase::setStrokeStyle):
(WebCore::CanvasRenderingContext2DBase::setFillStyle):
(WebCore::CanvasRenderingContext2DBase::resetTransform):
(WebCore::CanvasRenderingContext2DBase::clearCanvas):
(WebCore::CanvasRenderingContext2DBase::transformAreaToDevice const):
(WebCore::CanvasRenderingContext2DBase::rectContainsCanvas const):
(WebCore::CanvasRenderingContext2DBase::calculateCompositingBufferRect):
(WebCore::CanvasRenderingContext2DBase::compositeBuffer):
(WebCore::CanvasRenderingContext2DBase::createPattern):
(WebCore::CanvasRenderingContext2DBase::didDrawEntireCanvas):
(WebCore::CanvasRenderingContext2DBase::didDraw):
(WebCore::CanvasRenderingContext2DBase::paintRenderingResultsToCanvas):
(WebCore::CanvasRenderingContext2DBase::drawingContext const):
* html/canvas/CanvasRenderingContext2DBase.h:
* html/canvas/PaintRenderingContext2D.cpp: Copied from Source/WebCore/css/CSSPaintCallback.h.
(WebCore::PaintRenderingContext2D::create):
(WebCore::PaintRenderingContext2D::PaintRenderingContext2D):
* html/canvas/PaintRenderingContext2D.h: Copied from Source/WebCore/css/CSSPaintCallback.h.
* html/canvas/PaintRenderingContext2D.idl: Copied from Source/WebCore/css/CSSPaintCallback.idl.
* html/canvas/WebMetalRenderPassAttachmentDescriptor.h:
* platform/graphics/CustomPaintImage.cpp:
(WebCore::CustomPaintImage::doCustomPaint):
LayoutTests:
* fast/css-custom-paint/basic.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237344
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Tue, 23 Oct 2018 00:21:30 +0000 (00:21 +0000)]
Unreviewed, update TestExpectations for imported/w3c/web-platform-tests/fetch/nosniff/importscripts.html.
https://bugs.webkit.org/show_bug.cgi?id=157068
* TestExpectations: Mark test as a flaky failure for release builds.
* platform/mac-wk1/TestExpectations: Remove duplicate expectation.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237342
268f45cc-cd09-0410-ab3c-
d52691b4dbfc