Timeline
Apr 28, 2018:
- 10:26 PM Changeset in webkit [231146] by
-
- 5 edits in trunk
[Cocoa] Set HTTPOnly flag when converting Cookie to NSHTTPCookie
https://bugs.webkit.org/show_bug.cgi?id=185052
Patch by Sihui Liu <sihui_liu@apple.com> on 2018-04-28
Reviewed by Geoffrey Garen.
Source/WebCore:
Set HTTPOnly for NSHTTPCookie when it's converted from Cookie, so the WebKit APIs could
create NSHTTPCookie with correct HTTPOnly flag. Also, reverted the change made to operator
function because we want the Cookie class to act as a wrapper for NSHTTPCookie and leverage
its equal function.
Modified API test: WebKit.WKHTTPCookieStoreHttpOnly
- platform/network/cocoa/CookieCocoa.mm:
(WebCore::Cookie::operator NSHTTPCookie * const):
(WebCore::Cookie::operator== const):
- platform/network/cocoa/NetworkStorageSessionCocoa.mm:
(WebCore::NetworkStorageSession::deleteCookie):
Tools:
Modified API test to provide correct test cases for HTTPOnly flag.
- TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
(TEST):
- 6:17 PM Changeset in webkit [231145] by
-
- 4 edits1 add in trunk
We don't model regexp effects properly
https://bugs.webkit.org/show_bug.cgi?id=185059
<rdar://problem/39736150>
Reviewed by Filip Pizlo.
JSTests:
- stress/regexp-exec-test-effectful-last-index.js: Added.
(assert):
(foo):
(i.regexLastIndex.toString):
(bar):
Source/JavaScriptCore:
RegExp exec/test can do arbitrary effects when toNumbering the lastIndex if
the regexp is global.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- 5:51 PM Changeset in webkit [231144] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Present an action sheet when long-pressing on PDF links
https://bugs.webkit.org/show_bug.cgi?id=185093
<rdar://problem/39356651>
Reviewed by Dan Bernstein.
- UIProcess/ios/WKPDFView.mm:
(-[WKPDFView dealloc]):
Called -[WKActionSheetAssistant cleanupSheet].
(-[WKPDFView web_setContentProviderData:suggestedFilename:]):
Created a WKActionSheetAssistant with the host view as the assistant view and
ourselves as the delegate.
(-[WKPDFView _URLWithPageIndex:]):
Added. Creates a URL to the current page with a page number fragment appended.
(-[WKPDFView _goToURL:atLocation:]):
Added. Navigates to a URL with a synthetic mouse click at a location in host view
coordinates.
(-[WKPDFView pdfHostViewController:goToURL:]):
(-[WKPDFView pdfHostViewController:goToPageIndex:withViewFrustum:]):
Called -_goToURL:atLocation:. Used -_URLWithPageIndex: to construct an NSURL from
a page index.
(-[WKPDFView _showActionSheetForURL:atLocation:]):
Added. Populates _positionInformation with a URL and location and calls
-[WKActionSheetAssistant showLinkSheet].
(-[WKPDFView pdfHostViewController:didLongPressURL:atLocation:]):
(-[WKPDFView pdfHostViewController:didLongPressPageIndex:atLocation:]):
Called -_showActionSheetForURL:atLocation:. Used -_URLWithPageIndex: to construct
an NSURL from a page index.
(-[WKPDFView positionInformationForActionSheetAssistant:]):
Returned _positionInformation.
(-[WKPDFView actionSheetAssistant:performAction:]):
Populated the pasteboard with plain text and URL representations of
_positionInformation.url.
(-[WKPDFView actionSheetAssistant:openElementAtLocation:]):
Called -_goToURL:atLocation.
(-[WKPDFView actionSheetAssistant:shareElementWithURL:rect:]):
Created a UIWKSelectionAssistant and called -showShareSheetFor:fromRect:.
(-[WKPDFView actionSheetAssistant:shouldIncludeAppLinkActionsForElement:]):
Returned API::UIClient::shouldIncludeAppLinkActionsForElement().
(-[WKPDFView actionSheetAssistant:decideActionsForElement:defaultActions:]):
Returned API::UIClient::actionsForElement()l
- 4:54 PM Changeset in webkit [231143] by
-
- 2 edits in tags/Safari-606.1.15.1/Source/WebKit
Cherry-pick r231139. rdar://problem/39808763
[iOS] Allow com.apple.WebKit.Networking to look up com.apple.wifi.manager
https://bugs.webkit.org/show_bug.cgi?id=185114
<rdar://problem/39808763>
Reviewed by Wenson Hsieh.
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231139 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:32 PM Changeset in webkit [231142] by
-
- 9 edits in trunk
Token misspelled "tocken" in error message string
https://bugs.webkit.org/show_bug.cgi?id=185030
Patch by Rick Waldron <waldron.rick@gmail.com> on 2018-04-28
Reviewed by Saam Barati.
JSTests:
- ChakraCore/test/Basics/IdsWithEscapes.baseline-jsc: Fix typo "tocken" => "token"
- stress/destructuring-assignment-syntax.js: Fix typo "tocken" => "token"
- stress/error-messages-for-in-operator-should-not-crash.js: Fix typo "tocken" => "token"
- stress/reserved-word-with-escape.js: Fix typo "tocken" => "token"
(testSyntaxError.String.raw.v):
(String.raw.SyntaxError.Cannot.use.the.keyword.string_appeared_here.as.a.name):
(testSyntaxError.String.raw.a):
Source/JavaScriptCore:
- parser/Parser.cpp: Fix typo "tocken" => "token" in SyntaxError message string
(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::didFinishParsing):
(JSC::Parser<LexerType>::parseSourceElements):
(JSC::Parser<LexerType>::parseAsyncGeneratorFunctionSourceElements):
(JSC::Parser<LexerType>::parseVariableDeclaration):
(JSC::Parser<LexerType>::parseWhileStatement):
(JSC::Parser<LexerType>::parseVariableDeclarationList):
(JSC::Parser<LexerType>::createBindingPattern):
(JSC::Parser<LexerType>::parseArrowFunctionSingleExpressionBodySourceElements):
(JSC::Parser<LexerType>::parseObjectRestElement):
(JSC::Parser<LexerType>::parseDestructuringPattern):
(JSC::Parser<LexerType>::parseForStatement):
(JSC::Parser<LexerType>::parseBreakStatement):
(JSC::Parser<LexerType>::parseContinueStatement):
(JSC::Parser<LexerType>::parseThrowStatement):
(JSC::Parser<LexerType>::parseWithStatement):
(JSC::Parser<LexerType>::parseSwitchStatement):
(JSC::Parser<LexerType>::parseSwitchClauses):
(JSC::Parser<LexerType>::parseTryStatement):
(JSC::Parser<LexerType>::parseBlockStatement):
(JSC::Parser<LexerType>::parseFormalParameters):
(JSC::Parser<LexerType>::parseFunctionParameters):
(JSC::Parser<LexerType>::parseFunctionInfo):
(JSC::Parser<LexerType>::parseExpressionOrLabelStatement):
(JSC::Parser<LexerType>::parseExpressionStatement):
(JSC::Parser<LexerType>::parseIfStatement):
(JSC::Parser<LexerType>::parseAssignmentExpression):
(JSC::Parser<LexerType>::parseConditionalExpression):
(JSC::Parser<LexerType>::parseBinaryExpression):
(JSC::Parser<LexerType>::parseObjectLiteral):
(JSC::Parser<LexerType>::parseStrictObjectLiteral):
(JSC::Parser<LexerType>::parseArrayLiteral):
(JSC::Parser<LexerType>::parseArguments):
(JSC::Parser<LexerType>::parseMemberExpression):
(JSC::operatorString):
(JSC::Parser<LexerType>::parseUnaryExpression):
(JSC::Parser<LexerType>::printUnexpectedTokenText):
Tools:
- Scripts/test262/test262-expectations.yaml: Fix typo "tocken" => "token"
- 4:13 PM Changeset in webkit [231141] by
-
- 15 edits1 copy1 add in trunk/Source/WebCore
[LFC] Add LayoutTreeBuilder class to generate the layout tree
https://bugs.webkit.org/show_bug.cgi?id=185108
Reviewed by Antti Koivisto.
This is for testing purposes.
- WebCore.xcodeproj/project.pbxproj:
- layout/FormattingState.cpp:
(WebCore::Layout::FormattingState::~FormattingState):
- layout/FormattingState.h:
- layout/LayoutContext.h:
- layout/blockformatting/BlockFormattingState.cpp:
(WebCore::Layout::BlockFormattingState::~BlockFormattingState):
- layout/blockformatting/BlockFormattingState.h:
- layout/inlineformatting/InlineFormattingState.cpp:
(WebCore::Layout::InlineFormattingState::~InlineFormattingState):
- layout/inlineformatting/InlineFormattingState.h:
- layout/layouttree/LayoutBlockContainer.h:
- layout/layouttree/LayoutBox.h:
- layout/layouttree/LayoutContainer.h:
- layout/layouttree/LayoutInlineContainer.h:
- layout/layouttree/LayoutTreeBuilder.cpp: Added.
(WebCore::Layout::TreeBuilder::createLayoutTree):
(WebCore::Layout::TreeBuilder::createSubTree):
(WebCore::Layout::outputLayoutBox):
(WebCore::Layout::outputLayoutTree):
(WebCore::Layout::TreeBuilder::showLayoutTree):
(WebCore::Layout::printLayoutTreeForLiveDocuments):
- layout/layouttree/LayoutTreeBuilder.h: Copied from Source/WebCore/layout/layouttree/LayoutBlockContainer.h.
- page/mac/PageMac.mm:
(WebCore::Page::platformInitialize):
- 4:12 PM Changeset in webkit [231140] by
-
- 4 edits in trunk/Source/WebCore
[LFC] Implement BlockMarginCollapse functions.
https://bugs.webkit.org/show_bug.cgi?id=185036
Reviewed by Antti Koivisto.
- layout/blockformatting/BlockMarginCollapse.cpp:
(WebCore::Layout::marginValue):
(WebCore::Layout::BlockMarginCollapse::BlockMarginCollapse):
(WebCore::Layout::BlockMarginCollapse::marginTop const):
(WebCore::Layout::BlockMarginCollapse::marginBottom const):
(WebCore::Layout::BlockMarginCollapse::isMarginTopCollapsedWithSibling const):
(WebCore::Layout::BlockMarginCollapse::isMarginBottomCollapsedWithSibling const):
(WebCore::Layout::BlockMarginCollapse::isMarginTopCollapsedWithParent const):
(WebCore::Layout::BlockMarginCollapse::isMarginBottomCollapsedWithParent const):
(WebCore::Layout::BlockMarginCollapse::nonCollapsedMarginTop const):
(WebCore::Layout::BlockMarginCollapse::nonCollapsedMarginBottom const):
(WebCore::Layout::BlockMarginCollapse::collapsedMarginTopFromFirstChild const):
(WebCore::Layout::BlockMarginCollapse::collapsedMarginBottomFromLastChild const):
(WebCore::Layout::BlockMarginCollapse::hasAdjoiningMarginTopAndBottom const):
- layout/blockformatting/BlockMarginCollapse.h:
- layout/layouttree/LayoutBox.h:
(WebCore::Layout::Box::style const):
- 4:10 PM Changeset in webkit [231139] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Allow com.apple.WebKit.Networking to look up com.apple.wifi.manager
https://bugs.webkit.org/show_bug.cgi?id=185114
<rdar://problem/39808763>
Reviewed by Wenson Hsieh.
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
- 2:18 PM Changeset in webkit [231138] by
-
- 4 edits in tags/Safari-606.1.15.1/Source/WebKit
Cherry-pick r231014. rdar://problem/39662827
Fix entitlements and sandbox configurations in WebKit after r230778
https://bugs.webkit.org/show_bug.cgi?id=184960
<rdar://problem/39662827>
Reviewed by Tim Horton.
Build fixes for watchOS and tvOS after r230778.
- Configurations/BaseXPCService.xcconfig:
- Configurations/NetworkService.xcconfig:
- Configurations/WebContentService.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231014 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:37 AM Changeset in webkit [231137] by
-
- 9 edits7 adds in trunk
[ESNext][BigInt] Implement support for "*" operation
https://bugs.webkit.org/show_bug.cgi?id=183721
Reviewed by Saam Barati.
JSTests:
- bigIntTests.yaml:
- stress/big-int-mul-jit.js: Added.
- stress/big-int-mul-to-primitive-precedence.js: Added.
- stress/big-int-mul-to-primitive.js: Added.
- stress/big-int-mul-type-error.js: Added.
- stress/big-int-mul-wrapped-value.js: Added.
- stress/big-int-multiplication.js: Added.
- stress/big-int-multiply-memory-stress.js: Added.
Source/JavaScriptCore:
Added BigInt support into times binary operator into LLInt and on
JITOperations profiledMul and unprofiledMul. We are also replacing all
uses of int to unsigned when there is no negative values for
variables.
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- jit/JITOperations.cpp:
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/JSBigInt.cpp:
(JSC::JSBigInt::JSBigInt):
(JSC::JSBigInt::allocationSize):
(JSC::JSBigInt::createWithLength):
(JSC::JSBigInt::toString):
(JSC::JSBigInt::multiply):
(JSC::JSBigInt::digitDiv):
(JSC::JSBigInt::internalMultiplyAdd):
(JSC::JSBigInt::multiplyAccumulate):
(JSC::JSBigInt::equals):
(JSC::JSBigInt::absoluteDivSmall):
(JSC::JSBigInt::calculateMaximumCharactersRequired):
(JSC::JSBigInt::toStringGeneric):
(JSC::JSBigInt::rightTrim):
(JSC::JSBigInt::allocateFor):
(JSC::JSBigInt::parseInt):
(JSC::JSBigInt::digit):
(JSC::JSBigInt::setDigit):
- runtime/JSBigInt.h:
- runtime/Operations.h:
(JSC::jsMul):
- 9:57 AM Changeset in webkit [231136] by
-
- 7 edits in tags/Safari-606.1.15.1/Source
Versioning.
- 9:57 AM Changeset in webkit [231135] by
-
- 3 edits in trunk/Source/WebKit
Revise sandboxes to allow additional IOKit property access
https://bugs.webkit.org/show_bug.cgi?id=185095
<rdar://problem/39809455>
Reviewed by Eric Carlson.
Update the WebContent and Plugin processes to allow additional IOKit property access.
- PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in:
- WebProcess/com.apple.WebProcess.sb.in:
- 9:42 AM Changeset in webkit [231134] by
-
- 1 copy in tags/Safari-606.1.15.1
New tag.
- 7:49 AM Changeset in webkit [231133] by
-
- 9 edits7 deletes in trunk
Unreviewed, rolling out r231131.
https://bugs.webkit.org/show_bug.cgi?id=185112
It is breaking Debug build due to unchecked exception
(Requested by caiolima on #webkit).
Reverted changeset:
"[ESNext][BigInt] Implement support for "*" operation"
https://bugs.webkit.org/show_bug.cgi?id=183721
https://trac.webkit.org/changeset/231131
- 2:49 AM Changeset in webkit [231132] by
-
- 2 edits in trunk/Source/WebKit
[GTK] WebProcess from WebKitGtk+ 2.19.92 SIGSEVs in WebCore::TextureMapperGL::~TextureMapperGL
https://bugs.webkit.org/show_bug.cgi?id=184040
Reviewed by Michael Catanzaro.
This can happen when using single shared process model or when the process limit is reached in multiple process
model. In this case, all pages in the same web process with accelerated compositing enabled share the same
compositing thread. Every page sets its GL context as current when rendering a frame, but not when invalidating
the threaded compositor when the page is closed. So, if a hidden tab is closed, the threaded compositor is
invalidated and the GL resources of the current context (the visible page) are destroyed. This is also causing
the blank pages issue when closing a tab related to another one, the current one stops rendering anything because
its GL context has been released. We should make the threaded compositor context current when invalidating it.
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::invalidate):
Apr 27, 2018:
- 11:11 PM Changeset in webkit [231131] by
-
- 9 edits7 adds in trunk
[ESNext][BigInt] Implement support for "*" operation
https://bugs.webkit.org/show_bug.cgi?id=183721
Reviewed by Saam Barati.
JSTests:
- bigIntTests.yaml:
- stress/big-int-mul-jit.js: Added.
- stress/big-int-mul-to-primitive-precedence.js: Added.
- stress/big-int-mul-to-primitive.js: Added.
- stress/big-int-mul-type-error.js: Added.
- stress/big-int-mul-wrapped-value.js: Added.
- stress/big-int-multiplication.js: Added.
- stress/big-int-multiply-memory-stress.js: Added.
Source/JavaScriptCore:
Added BigInt support into times binary operator into LLInt and on
JITOperations profiledMul and unprofiledMul. We are also replacing all
uses of int to unsigned when there is no negative values for
variables.
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- jit/JITOperations.cpp:
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/JSBigInt.cpp:
(JSC::JSBigInt::JSBigInt):
(JSC::JSBigInt::allocationSize):
(JSC::JSBigInt::createWithLength):
(JSC::JSBigInt::toString):
(JSC::JSBigInt::multiply):
(JSC::JSBigInt::digitDiv):
(JSC::JSBigInt::internalMultiplyAdd):
(JSC::JSBigInt::multiplyAccumulate):
(JSC::JSBigInt::equals):
(JSC::JSBigInt::absoluteDivSmall):
(JSC::JSBigInt::calculateMaximumCharactersRequired):
(JSC::JSBigInt::toStringGeneric):
(JSC::JSBigInt::rightTrim):
(JSC::JSBigInt::allocateFor):
(JSC::JSBigInt::parseInt):
(JSC::JSBigInt::digit):
(JSC::JSBigInt::setDigit):
- runtime/JSBigInt.h:
- runtime/Operations.h:
(JSC::jsMul):
- 10:53 PM Changeset in webkit [231130] by
-
- 7 edits in trunk/Source
Add logging when SpringBoard enables WebThread
<https://webkit.org/b/185100>
<rdar://problem/39746542>
Reviewed by Daniel Bates.
Source/WebCore:
- platform/RuntimeApplicationChecks.h:
(WebCore::IOSApplication::isSpringBoard): Add declaration.
- platform/cocoa/RuntimeApplicationChecksCocoa.mm:
(WebCore::IOSApplication::isSpringBoard): Add implementation.
- platform/ios/wak/WebCoreThread.mm:
(WebThreadEnable): Call RELEASE_LOG_FAULT() if this is called by
SpringBoard.
Source/WTF:
- wtf/Assertions.h:
(RELEASE_LOG_FAULT): Add macro to call os_log_fault().
- wtf/Platform.h: Drive-by fix to enable USE(OS_LOG) on
public iOS SDKs since <rdar://problem/27758343> was
fixed in iOS 11.0.
- 8:32 PM Changeset in webkit [231129] by
-
- 8 edits in trunk/Source/JavaScriptCore
Make the first 64 bits of JSString look like a double JSValue
https://bugs.webkit.org/show_bug.cgi?id=185081
Reviewed by Filip Pizlo.
We can be clever about how we lay out JSString so that, were it
reinterpreted as a JSValue, it would look like a double.
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::and16):
- assembler/X86Assembler.h:
(JSC::X86Assembler::andw_mr):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileMakeRope):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileMakeRope):
- ftl/FTLOutput.h:
(JSC::FTL::Output::store32As8):
(JSC::FTL::Output::store32As16):
- runtime/JSString.h:
(JSC::JSString::JSString):
- 6:09 PM Changeset in webkit [231128] by
-
- 2 edits in trunk/Source/WebCore
Fix crash in DocumentLoader::startLoadingMainResource
https://bugs.webkit.org/show_bug.cgi?id=185088
rdar://problem/39689263
Reviewed by Chris Dumez.
Add a "protectedThis" to address a case where a deleted "this" was
accessed in a RELEASE_LOG statement.
No new tests -- covered by existing tests, which now pass.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startLoadingMainResource):
- 5:53 PM Changeset in webkit [231127] by
-
- 5 edits in trunk/LayoutTests
Unreviewed test gardening for iOS and macOS.
- platform/ios-wk2/TestExpectations:
- platform/ios/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 5:52 PM Changeset in webkit [231126] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION: Touch events fail to dispatch to the page in all cases.
https://bugs.webkit.org/show_bug.cgi?id=185097
rdar://problem/39731995
Reviewed by Tim Horton.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
Consult internal gesture recognizers, otherwise NO might get returned.
- 5:27 PM Changeset in webkit [231125] by
-
- 47 edits in trunk/LayoutTests
Clean up color-filter tests.
Detab the files.
Remove calls to internals.settings.setColorFilterEnabled() which aren't needed, since
WebKitTestRunner and DumpRenderTree turn the feature on by default.
- css3/color-filters/color-filter-backgrounds-borders-expected.html:
- css3/color-filters/color-filter-backgrounds-borders.html:
- css3/color-filters/color-filter-box-shadow-expected.html:
- css3/color-filters/color-filter-box-shadow.html:
- css3/color-filters/color-filter-brightness-expected.html:
- css3/color-filters/color-filter-brightness.html:
- css3/color-filters/color-filter-color-property-expected.html:
- css3/color-filters/color-filter-color-property-list-item-expected.html:
- css3/color-filters/color-filter-color-property-list-item.html:
- css3/color-filters/color-filter-color-property.html:
- css3/color-filters/color-filter-color-text-decorations-expected.html:
- css3/color-filters/color-filter-color-text-decorations.html:
- css3/color-filters/color-filter-column-rule-expected.html:
- css3/color-filters/color-filter-column-rule.html:
- css3/color-filters/color-filter-contrast-expected.html:
- css3/color-filters/color-filter-contrast.html:
- css3/color-filters/color-filter-current-color-expected.html:
- css3/color-filters/color-filter-current-color.html:
- css3/color-filters/color-filter-filter-list-expected.html:
- css3/color-filters/color-filter-filter-list.html:
- css3/color-filters/color-filter-gradients-expected.html:
- css3/color-filters/color-filter-gradients.html:
- css3/color-filters/color-filter-grayscale-expected.html:
- css3/color-filters/color-filter-grayscale.html:
- css3/color-filters/color-filter-hue-rotate-expected.html:
- css3/color-filters/color-filter-hue-rotate.html:
- css3/color-filters/color-filter-inherits-expected.html:
- css3/color-filters/color-filter-inherits.html:
- css3/color-filters/color-filter-invert-expected.html:
- css3/color-filters/color-filter-invert.html:
- css3/color-filters/color-filter-opacity-expected.html:
- css3/color-filters/color-filter-opacity.html:
- css3/color-filters/color-filter-outline-expected.html:
- css3/color-filters/color-filter-outline.html:
- css3/color-filters/color-filter-parsing.html:
- css3/color-filters/color-filter-saturate-expected.html:
- css3/color-filters/color-filter-saturate.html:
- css3/color-filters/color-filter-sepia-expected.html:
- css3/color-filters/color-filter-sepia.html:
- css3/color-filters/color-filter-text-decoration-shadow-expected.html:
- css3/color-filters/color-filter-text-decoration-shadow.html:
- css3/color-filters/color-filter-text-emphasis-expected.html:
- css3/color-filters/color-filter-text-emphasis.html:
- css3/color-filters/color-filter-text-shadow-expected.html:
- css3/color-filters/color-filter-text-shadow.html:
- css3/color-filters/color-filter-text-stroke.html:
- 5:27 PM Changeset in webkit [231124] by
-
- 3 edits2 adds in trunk
Implement color-filter for text stroke
https://bugs.webkit.org/show_bug.cgi?id=185098
Reviewed by Alan Bujtas.
Source/WebCore:
Transform the text stroke color through color-filter.
Test: css3/color-filters/color-filter-text-stroke.html
- rendering/TextPaintStyle.cpp:
(WebCore::computeTextPaintStyle):
LayoutTests:
- css3/color-filters/color-filter-text-stroke-expected.html: Added.
- css3/color-filters/color-filter-text-stroke.html: Added.
- 5:27 PM Changeset in webkit [231123] by
-
- 12 edits2 adds in trunk
Implement animation for color-filter
https://bugs.webkit.org/show_bug.cgi?id=185092
rdar://problem/39773810
Reviewed by Tim Horton.
Source/WebCore:
Implement animation of color-filter.
This requires tracking whether the color-filter function lists match for both old and new
animation code paths.
The filter-related ProperyWappers in CSSPropertyAnimation are cleaned up to use a single wrapper,
which has to pass the propertyID to the blend function so we know which "lists match" to check.
This wrapper reports that its accelerated for filter and backdrop-filter, but not color-filter.
Test: css3/color-filters/color-filter-animation.html
- animation/CSSPropertyBlendingClient.h:
- animation/KeyframeEffectReadOnly.cpp:
(WebCore::KeyframeEffectReadOnly::setBlendingKeyframes):
(WebCore::KeyframeEffectReadOnly::checkForMatchingColorFilterFunctionLists):
- animation/KeyframeEffectReadOnly.h:
- page/animation/AnimationBase.h:
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc):
(WebCore::PropertyWrapperFilter::PropertyWrapperFilter):
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
(WebCore::PropertyWrapperAcceleratedFilter::PropertyWrapperAcceleratedFilter): Deleted.
(WebCore::PropertyWrapperAcceleratedBackdropFilter::PropertyWrapperAcceleratedBackdropFilter): Deleted.
(WebCore::PropertyWrapperAcceleratedBackdropFilter::animationIsAccelerated const): Deleted.
(WebCore::PropertyWrapperAcceleratedBackdropFilter::blend const): Deleted.
- page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::reset):
(WebCore::ImplicitAnimation::checkForMatchingColorFilterFunctionLists):
- page/animation/ImplicitAnimation.h:
- page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::KeyframeAnimation):
(WebCore::KeyframeAnimation::checkForMatchingColorFilterFunctionLists):
- page/animation/KeyframeAnimation.h:
LayoutTests:
Fix the testing to recognize unprefixed filter, and color-filter.
Add a color-filter animation test.
- animations/resources/animation-test-helpers.js:
(getPropertyValue):
(comparePropertyValue):
- css3/color-filters/color-filter-animation-expected.txt: Added.
- css3/color-filters/color-filter-animation.html: Added.
- 5:21 PM Changeset in webkit [231122] by
-
- 3 edits in trunk/Tools
[WinCairo] Support --no-copy for jsc tests in wincairo tests, add copying of dlls for copy case
https://bugs.webkit.org/show_bug.cgi?id=185049
Patch by Stephan Szabo <stephan.szabo@sony.com> on 2018-04-27
Reviewed by Keith Miller.
- Scripts/run-javascriptcore-tests:
(runJSCStressTests):
- Scripts/run-jsc-stress-tests:
- 5:07 PM Changeset in webkit [231121] by
-
- 2 edits in trunk/LayoutTests/imported/w3c
Rebaseline imported/w3c/web-platform-tests/url/url-setters.html after r231110.
Unreviewed test gardening..
- web-platform-tests/url/url-setters-expected.txt:
- 5:02 PM Changeset in webkit [231120] by
-
- 2 edits in trunk/LayoutTests
Update TestExpectations for fast/loader/submit-form-while-parsing-2.html.
https://bugs.webkit.org/show_bug.cgi?id=184051
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 5:02 PM Changeset in webkit [231119] by
-
- 2 edits in trunk/LayoutTests
Mark http/wpt/resource-timing/rt-resources-per-worker.html as flaky on iOS.
https://bugs.webkit.org/show_bug.cgi?id=180260
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 5:01 PM Changeset in webkit [231118] by
-
- 5 edits in trunk/Source/JavaScriptCore
[JSC][ARM64][Linux] Add collectCPUFeatures using auxiliary vector
https://bugs.webkit.org/show_bug.cgi?id=185055
Reviewed by JF Bastien.
This patch is paving the way to emitting jscvt instruction if possible.
To do that, we need to determine jscvt instruction is supported in the
given CPU.
We add a function collectCPUFeatures, which is responsible to collect
CPU features if necessary. In Linux, we can use auxiliary vector to get
the information without parsing /proc/cpuinfo.
Currently, nobody calls this function. It is later called when we emit
jscvt instruction. To make it possible, we also need to add disassembler
support too.
- assembler/AbstractMacroAssembler.h:
- assembler/MacroAssemblerARM64.cpp:
(JSC::MacroAssemblerARM64::collectCPUFeatures):
- assembler/MacroAssemblerARM64.h:
- assembler/MacroAssemblerX86Common.h:
- 4:46 PM Changeset in webkit [231117] by
-
- 7 edits in trunk/Source/WebCore
[LFC] Add FormattingContext::computeWidth/computeHeight logic.
https://bugs.webkit.org/show_bug.cgi?id=185091
Reviewed by Antti Koivisto.
Inflow width and height can't really be computed without knowing the exact context.
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeWidth const):
(WebCore::Layout::FormattingContext::computeHeight const):
(WebCore::Layout::FormattingContext::computeOutOfFlowWidth const):
(WebCore::Layout::FormattingContext::computeFloatingWidth const):
(WebCore::Layout::FormattingContext::computeOutOfFlowHeight const):
(WebCore::Layout::FormattingContext::computeFloatingHeight const):
- layout/FormattingContext.h:
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::computeInFlowWidth const):
(WebCore::Layout::BlockFormattingContext::computeInFlowHeight const):
(WebCore::Layout::BlockFormattingContext::computeWidth const): Deleted.
(WebCore::Layout::BlockFormattingContext::computeHeight const): Deleted.
- layout/blockformatting/BlockFormattingContext.h:
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computeInFlowWidth const):
(WebCore::Layout::InlineFormattingContext::computeInFlowHeight const):
- layout/inlineformatting/InlineFormattingContext.h:
- 4:43 PM Changeset in webkit [231116] by
-
- 2 edits in trunk/Source/JavaScriptCore
Also run foldPathConstants before mussing up SSA
https://bugs.webkit.org/show_bug.cgi?id=185069
Reviewed by Saam Barati.
This isn't needed now, but will be once I implement the phase in bug 185060.
This could be a speed-up, or a slow-down, independent of that phase. Most likely it's neutral.
Local testing seems to suggest that it's neutral. Anyway, whatever it ends up being, I want it to
be landed separately and measured separately from that phase.
It's probably nice for sanity to have this and reduceStrength run before tail duplication and
another round of reduceStrength, since that make for something that is closer to a fixpoint. But
it will increase FTL compile times. So, there's no way to guess if this change is good, bad, or
neutral. It all depends on what programs typically look like.
- b3/B3Generate.cpp:
(JSC::B3::generateToAir):
- 3:30 PM Changeset in webkit [231115] by
-
- 4 edits in trunk
PSON: Triggering a navigation to an invalid URL creates a new WebContent process
https://bugs.webkit.org/show_bug.cgi?id=185066
Reviewed by Youenn Fablet.
Source/WebKit:
Don't create a new WebContent process when the target URL is invalid as well as when the source URL is invalid.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForNavigationInternal):
Tools:
Added a new test case (ProcessSwap.NavigateToInvalidURL) for navigating to an invalid URL.
WebKit should not swap WebContent process in this case.
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
(-[PSONNavigationDelegate webView:didFailProvisionalNavigation:withError:]):
(-[PSONUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
- 3:11 PM Changeset in webkit [231114] by
-
- 91 edits1 delete in trunk/Source
Use WindowProxy instead of DOMWindow in our IDL
https://bugs.webkit.org/show_bug.cgi?id=185022
Reviewed by Sam Weinig.
Source/WebCore:
Stop using DOMWindow in all of our IDL files and use WindowProxy as
per their respective specifications. As a result, the implementation
as also updated to use WindowProxy type instead of DOMWindow.
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSDOMConvertWindowProxy.h: Removed.
- bindings/js/JSWindowProxy.cpp:
(WebCore::JSWindowProxy::windowProxy const):
(WebCore::JSWindowProxy::toWrapped):
- bindings/js/JSWindowProxy.h:
(WebCore::window):
Use static_cast<>() instead of jsCast<>() because jsCast<>()
relies on classInfo() which is not allowed to be called during
JS sweep due to an assertion inside classInfo(). The JSWindowProxy
objects are held strongly by the WindowProxy so we know the JSWindowProxy
object is not getting destroyed here.
(WebCore::toJS):
- bindings/js/WindowProxy.cpp:
(WebCore::WindowProxy::globalObject):
- bindings/js/WindowProxy.h:
(WebCore::WindowProxy::frame const):
- bindings/scripts/CodeGenerator.pm:
(IsBuiltinType):
(ComputeIsCallbackInterface):
(ComputeIsCallbackFunction):
- bindings/scripts/CodeGeneratorJS.pm:
(AddToIncludesForIDLType):
(GetBaseIDLType):
(NativeToJSValueDOMConvertNeedsState):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod9Body):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher):
- bindings/scripts/test/TestObj.idl:
- dom/CompositionEvent.cpp:
(WebCore::CompositionEvent::CompositionEvent):
(WebCore::CompositionEvent::initCompositionEvent):
- dom/CompositionEvent.h:
- dom/CompositionEvent.idl:
- dom/Document.cpp:
(WebCore::Document::defaultView const):
- dom/Document.h:
- dom/Document.idl:
- dom/DocumentTouch.cpp:
(WebCore::DocumentTouch::createTouch):
- dom/DocumentTouch.h:
- dom/DocumentTouch.idl:
- dom/FocusEvent.cpp:
(WebCore::FocusEvent::FocusEvent):
- dom/FocusEvent.h:
- dom/InputEvent.cpp:
(WebCore::InputEvent::create):
(WebCore::InputEvent::InputEvent):
- dom/InputEvent.h:
- dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::KeyboardEvent):
(WebCore::KeyboardEvent::create):
(WebCore::KeyboardEvent::initKeyboardEvent):
(WebCore::KeyboardEvent::charCode const):
- dom/KeyboardEvent.h:
- dom/KeyboardEvent.idl:
- dom/MessageEvent.h:
- dom/MessageEvent.idl:
- dom/MouseEvent.cpp:
(WebCore::MouseEvent::create):
(WebCore::MouseEvent::MouseEvent):
(WebCore::MouseEvent::initMouseEvent):
(WebCore::MouseEvent::initMouseEventQuirk):
- dom/MouseEvent.h:
- dom/MouseEvent.idl:
- dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::MouseRelatedEvent):
(WebCore::MouseRelatedEvent::init):
(WebCore::MouseRelatedEvent::frameViewFromWindowProxy):
(WebCore::MouseRelatedEvent::initCoordinates):
(WebCore::MouseRelatedEvent::documentToAbsoluteScaleFactor const):
(WebCore::MouseRelatedEvent::computePageLocation):
(WebCore::MouseRelatedEvent::locationInRootViewCoordinates const):
- dom/MouseRelatedEvent.h:
- dom/Node.cpp:
- dom/SimulatedClick.cpp:
- dom/TextEvent.cpp:
(WebCore::TextEvent::create):
(WebCore::TextEvent::createForPlainTextPaste):
(WebCore::TextEvent::createForFragmentPaste):
(WebCore::TextEvent::createForDrop):
(WebCore::TextEvent::createForDictation):
(WebCore::TextEvent::TextEvent):
(WebCore::TextEvent::initTextEvent):
- dom/TextEvent.h:
- dom/TextEvent.idl:
- dom/TouchEvent.idl:
- dom/UIEvent.cpp:
(WebCore::UIEvent::UIEvent):
(WebCore::UIEvent::initUIEvent):
- dom/UIEvent.h:
(WebCore::UIEvent::create):
(WebCore::UIEvent::view const):
- dom/UIEvent.idl:
- dom/UIEventInit.h:
- dom/UIEventInit.idl:
- dom/UIEventWithKeyState.h:
(WebCore::UIEventWithKeyState::UIEventWithKeyState):
- dom/WheelEvent.cpp:
(WebCore::WheelEvent::WheelEvent):
(WebCore::WheelEvent::create):
(WebCore::WheelEvent::initWebKitWheelEvent):
- dom/WheelEvent.h:
- dom/WheelEvent.idl:
- editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::insertDictatedText):
- editing/Editor.cpp:
(WebCore::Editor::pasteAsPlainText):
(WebCore::Editor::pasteAsFragment):
(WebCore::Editor::setComposition):
- html/HTMLDocument.cpp:
(WebCore::HTMLDocument::namedItem):
- html/HTMLDocument.h:
- html/HTMLDocument.idl:
- html/HTMLFrameElement.idl:
- html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::contentWindow const):
- html/HTMLFrameOwnerElement.h:
- html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::namedItem):
- html/HTMLFrameSetElement.h:
- html/HTMLFrameSetElement.idl:
- html/HTMLIFrameElement.idl:
- html/ImageDocument.cpp:
- page/DOMWindow.cpp:
(WebCore::PostMessageTimer::PostMessageTimer):
(WebCore::PostMessageTimer::event):
(WebCore::DOMWindow::postMessage):
- page/DragController.cpp:
(WebCore::DragController::dispatchTextInputEventFor):
- page/EventHandler.cpp:
(WebCore::EventHandler::handleTextInputEvent):
Source/WebKitLegacy/mac:
- DOM/DOMAbstractView.mm:
(kit):
(toWindowProxy):
- DOM/DOMAbstractViewInternal.h:
- DOM/DOMDocument.mm:
(-[DOMDocument defaultView]):
(-[DOMDocument getComputedStyle:pseudoElement:]):
(-[DOMDocument getMatchedCSSRules:pseudoElement:authorOnly:]):
- DOM/DOMHTMLFrameElement.mm:
(-[DOMHTMLFrameElement contentWindow]):
- DOM/DOMHTMLIFrameElement.mm:
(-[DOMHTMLIFrameElement contentWindow]):
- DOM/DOMKeyboardEvent.mm:
(-[DOMKeyboardEvent initKeyboardEvent:canBubble:cancelable:view:keyIdentifier:location:ctrlKey:altKey:shiftKey:metaKey:altGraphKey:]):
(-[DOMKeyboardEvent initKeyboardEvent:canBubble:cancelable:view:keyIdentifier:location:ctrlKey:altKey:shiftKey:metaKey:]):
(-[DOMKeyboardEvent initKeyboardEvent:canBubble:cancelable:view:keyIdentifier:keyLocation:ctrlKey:altKey:shiftKey:metaKey:altGraphKey:]):
(-[DOMKeyboardEvent initKeyboardEvent:canBubble:cancelable:view:keyIdentifier:keyLocation:ctrlKey:altKey:shiftKey:metaKey:]):
- DOM/DOMMouseEvent.mm:
(-[DOMMouseEvent initMouseEvent:canBubble:cancelable:view:detail:screenX:screenY:clientX:clientY:ctrlKey:altKey:shiftKey:metaKey:button:relatedTarget:]):
- DOM/DOMTextEvent.mm:
(-[DOMTextEvent initTextEvent:canBubbleArg:cancelableArg:viewArg:dataArg:]):
- DOM/DOMUIEvent.mm:
(-[DOMUIEvent view]):
(-[DOMUIEvent initUIEvent:canBubble:cancelable:view:detail:]):
- DOM/DOMWheelEvent.mm:
(-[DOMWheelEvent initWheelEvent:wheelDeltaY:view:screenX:screenY:clientX:clientY:ctrlKey:altKey:shiftKey:metaKey:]):
Source/WebKitLegacy/win:
- DOMCoreClasses.cpp:
(DOMDocument::getComputedStyle):
- 2:58 PM Changeset in webkit [231113] by
-
- 6 edits2 adds in trunk
AX: Accessibility needs to know which part of the content view is visible on iOS
https://bugs.webkit.org/show_bug.cgi?id=185085
<rdar://problem/39801363>
Reviewed by Chris Fleizach.
Source/WebCore:
Exposed unobscuredContentRect() to iOS accessibility object wrapper.
Test: accessibility/ios-simulator/unobscured-content-rect.html
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityVisibleContentRect]):
Tools:
- WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::stringAttributeValue):
LayoutTests:
- accessibility/ios-simulator/unobscured-content-rect-expected.txt: Added.
- accessibility/ios-simulator/unobscured-content-rect.html: Added.
- platform/ios-wk1/TestExpectations:
- 2:35 PM Changeset in webkit [231112] by
-
- 5 edits in trunk/Source/WebCore
Refactor filter list checking code
https://bugs.webkit.org/show_bug.cgi?id=185087
Reviewed by Alan Bujtas.
Deduplicate code between filter and backdrop-filter for checking whether function lists
match, by making a shared function that takes a std::function.
The call sites have to declare the return type (-> const FilterOperations&) to avoid std::function
converting the return type into a value.
- animation/KeyframeEffectReadOnly.cpp:
(WebCore::KeyframeEffectReadOnly::checkForMatchingFilterFunctionLists const):
(WebCore::KeyframeEffectReadOnly::checkForMatchingFilterFunctionLists):
(WebCore::KeyframeEffectReadOnly::checkForMatchingBackdropFilterFunctionLists):
- animation/KeyframeEffectReadOnly.h:
- page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::checkForMatchingFilterFunctionLists const):
(WebCore::KeyframeAnimation::checkForMatchingFilterFunctionLists):
(WebCore::KeyframeAnimation::checkForMatchingBackdropFilterFunctionLists):
- page/animation/KeyframeAnimation.h:
- 2:21 PM Changeset in webkit [231111] by
-
- 2 edits in trunk/Source/WebCore
Regression(r222392?): Events can have a negative timestamp which causes app breakage
https://bugs.webkit.org/show_bug.cgi?id=185040
<rdar://problem/39638051>
Reviewed by Wenson Hsieh.
The real fix is in UIKit when generating the touch timestamps. However, this patch
does some hardening to make sure that Event.timestamp can never return a negative
value even if something goes wrong.
- dom/Event.cpp:
(WebCore::Event::timeStampForBindings const):
- 12:44 PM Changeset in webkit [231110] by
-
- 3 edits2 adds in trunk
URL::appendEncodedHostName is using the deprecated uidna_IDNToASCII function
https://bugs.webkit.org/show_bug.cgi?id=184836
Patch by Christopher Reid <chris.reid@sony.com> on 2018-04-27
Reviewed by Alex Christensen.
Source/WebCore:
Update URL::appendEncodedHostName to use uidna_nameToASCII as done in r208902.
Test: LayoutTests\fast\url\url-hostname-encoding.html
- platform/URL.cpp:
LayoutTests:
Verify that setting the host or hostname of URL objects will use IDNA2008.
- fast/url/url-hostname-encoding-expected.txt: Added.
- fast/url/url-hostname-encoding.html: Added.
- 12:34 PM Changeset in webkit [231109] by
-
- 2 edits in trunk/Source/WebCore
CachedRawResource is not handling incremental data computation correctly
https://bugs.webkit.org/show_bug.cgi?id=184936
<rdar://problem/38798141>
Reviewed by Darin Adler.
- loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::updateBuffer): Fixing style.
- 11:17 AM Changeset in webkit [231108] by
-
- 10 edits in trunk/Source/WebCore
[LFC] Implement BlockFormattingContext::layout logic and its dependencies
https://bugs.webkit.org/show_bug.cgi?id=185024
Reviewed by Antti Koivisto.
This patch implements the logic for block formatting context according to
https://www.w3.org/TR/CSS22/visuren.html#block-formatting
- Traverse the tree iteratively (in post-order fashion) and compute the width/static position for the containers as
we visit the descendant nodes until we hit a leaf node.
- Compute the position/geometry of the leaf node and move over to its sibling(s).
- Finalize the container's height/final position as we climb back on the tree.
- Run layout on the out-of-flow descendants.
Note that subtrees with a formatting context root need to be laid out completely before moving on to the next box.
The formatting root box is laid out in the formatting context it lives in, however its descendants get laid out
in a separate formatting context (excluding out-of-flow boxes that don't belong to the root).
- layout/FloatingContext.cpp:
(WebCore::Layout::FloatingContext::FloatingContext):
(WebCore::Layout::FloatingContext::computePosition):
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::placeInFlowPositionedChildren const):
(WebCore::Layout::FormattingContext::layoutOutOfFlowDescendants const):
- layout/FormattingContext.h:
- layout/LayoutContext.cpp:
(WebCore::Layout::LayoutContext::updateLayout):
(WebCore::Layout::LayoutContext::establishedFormattingState):
- layout/LayoutContext.h:
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layout const):
(WebCore::Layout::BlockFormattingContext::layout): Deleted.
- layout/blockformatting/BlockFormattingContext.h:
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::layout const):
(WebCore::Layout::InlineFormattingContext::layout): Deleted.
- layout/inlineformatting/InlineFormattingContext.h:
- 11:10 AM Changeset in webkit [231107] by
-
- 30 edits16 copies2 adds in trunk
Use NetworkLoadChecker for XHR/fetch loads
https://bugs.webkit.org/show_bug.cgi?id=184741
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/XMLHttpRequest/send-authentication-basic-cors-expected.txt:
- web-platform-tests/XMLHttpRequest/send-network-error-async-events.sub-expected.txt:
- web-platform-tests/cors/late-upload-events-expected.txt:
- web-platform-tests/fetch/api/basic/mode-same-origin.any-expected.txt:
- web-platform-tests/fetch/api/basic/scheme-about.any-expected.txt:
- web-platform-tests/fetch/api/basic/scheme-about.any.worker-expected.txt:
- web-platform-tests/fetch/api/redirect/redirect-to-dataurl-expected.txt:
- web-platform-tests/service-workers/service-worker/redirected-response.https-expected.txt:
Source/WebCore:
Covered by existing tests.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::shouldSetHTTPHeadersToKeep const):
We need to set this option for CORS done in NetworkProcess.
(WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
Set httpHeadersTokeep when needed (service worker or CORS loads).
Remove the synchronous disabling of preflight since this is now also done for asynchronous loads.
(WebCore::DocumentThreadableLoader::checkURLSchemeAsCORSEnabled):
Helper routine to make the same check for both simple and preflight case.
This allows more consistent error logging between WK1 and WK2.
(WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequest):
Skip preflight in case this is done in NetworkProcess.
(WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
(WebCore::isResponseComingFromNetworkProcess):
(WebCore::DocumentThreadableLoader::redirectReceived):
Bypass security checks when they are already done in NetworkProcess.
(WebCore::DocumentThreadableLoader::didFail):
In case of AccessControl error, it might be due to a CSP check done in NetworkProcess.
Check it again to enable specific CSP console logging and error reporting.
(WebCore::DocumentThreadableLoader::loadRequest):
Recreating the error in case of synchronous loads to be able to log it adequately.
(WebCore::DocumentThreadableLoader::isDoingSecurityChecksInNetworkProcess const):
- loader/DocumentThreadableLoader.h:
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::checkResponseCrossOriginAccessControl):
Specific handling of SameOrigin credential mode for which cross-origin load will not use any credential.
(WebCore::SubresourceLoader::checkRedirectionCrossOriginAccessControl):
We keep the application headers so that DocumentThreadableLoader does not have to restart a brand new load.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
DocumentThreadableLoader is setting referrer and origin directly. Until we fix that, we remove them from the original requests
as applications are not supposed to set these headers.
Source/WebKit:
- NetworkProcess/NetworkCORSPreflightChecker.cpp:
(WebKit::NetworkCORSPreflightChecker::didCompleteWithError):
Pass the preflight error as completion error if any.
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::willPerformHTTPRedirection):
Set response source to Network so that checks relying on that are correct.
- NetworkProcess/NetworkLoadChecker.cpp:
(WebKit::NetworkLoadChecker::validateResponse):
Adding Oppaqueredirect tainting.
(NetworkLoadChecker::doesNotNeedCORSCheck):
Adding a check to only activate CORS checks for CORS enabled schemes.
Non CORS enabled schemes loads should have failed in WebProcess already.
(WebKit::NetworkLoadChecker::checkCORSRedirectedRequest):
Remove Authorization header as done by SubresourceLoader.
(WebKit::NetworkLoadChecker::checkCORSRequestWithPreflight):
If error is cancellation, we still want to call the completion handler.
- NetworkProcess/NetworkResourceLoader.cpp:
Activate network load checker for all types of loads.
(WebKit::NetworkResourceLoader::willSendRedirectedRequest):
Handle manual redirection by directly calling didReceiveResponse.
LayoutTests:
- TestExpectations:
- http/tests/security/contentSecurityPolicy/1.1/child-src/worker-redirect-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/connect-src-eventsource-redirect-to-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-redirect-to-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/worker-csp-blocks-xhr-redirect-cross-origin-expected.txt:
- http/tests/xmlhttprequest/access-control-and-redirects-async-expected.txt:
- http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
- platform/mac-wk1/http/tests/security/contentSecurityPolicy/connect-src-eventsource-redirect-to-blocked-expected.txt: Added.
- platform/mac-wk1/http/tests/security/contentSecurityPolicy/worker-csp-blocks-xhr-redirect-cross-origin-expected.txt: Added.
- platform/mac-wk1/http/tests/xmlhttprequest/access-control-and-redirects-async-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/XMLHttpRequest/late-upload-events-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-basic-cors-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/XMLHttpRequest/send-network-error-async-events.sub-expected.txt: Added.
- platform/win/http/tests/security/contentSecurityPolicy/connect-src-eventsource-redirect-to-blocked-expected.txt: Added.
- platform/win/http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-redirect-to-blocked-expected.txt: Added.
- platform/win/http/tests/security/contentSecurityPolicy/worker-csp-blocks-xhr-redirect-cross-origin-expected.txt: Added.
- platform/win/http/tests/xmlhttprequest/access-control-and-redirects-async-expected.txt: Added.
- platform/win/imported/w3c/web-platform-tests/XMLHttpRequest/late-upload-events-expected.txt: Added.
- platform/win/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-basic-cors-expected.txt: Added.
- platform/win/imported/w3c/web-platform-tests/XMLHttpRequest/send-network-error-async-events.sub-expected.txt: Added.
- 11:03 AM Changeset in webkit [231106] by
-
- 6 edits in trunk/Source
Add an experimental feature flag for viewport "min-device-width"
https://bugs.webkit.org/show_bug.cgi?id=185050
<rdar://problem/39624038>
Reviewed by Tim Horton.
Source/WebCore:
Add MinDeviceWidthEnabled as a new runtime-enabled feature.
- dom/ViewportArguments.cpp:
(WebCore::setViewportFeature):
Gate the parsing of "min-device-width" on the runtime-enabled feature being flipped on.
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setMinDeviceWidthEnabled):
(WebCore::RuntimeEnabledFeatures::minDeviceWidthEnabled const):
Source/WebKit:
Add MinDeviceWidthEnabled as a new experimental feature, on by default in extra zoom mode and off elsewhere.
- Shared/WebPreferences.yaml:
- Shared/WebPreferencesDefaultValues.h:
- 10:59 AM Changeset in webkit [231105] by
-
- 10 edits2 adds in trunk
Make color-filter transform gradient colors
https://bugs.webkit.org/show_bug.cgi?id=185080
Reviewed by Zalan Bujtas.
Source/WebCore:
In CSSGradientValue::computeStops(), transform the color of each gradient color
stop through the color filter. Having a color filter makes the gradient uncacheable.
Color filters can add alpha, so we also have to fix up CSSGradientValue::knownToBeOpaque()
to take a RenderStyle and convert the colors before testing opaqueness. Clean up some related
functions to take const RenderStyle&.
Test: css3/color-filters/color-filter-gradients.html
- css/CSSCrossfadeValue.cpp:
(WebCore::subimageKnownToBeOpaque):
- css/CSSFilterImageValue.cpp:
(WebCore::CSSFilterImageValue::knownToBeOpaque const):
- css/CSSFilterImageValue.h:
- css/CSSGradientValue.cpp:
(WebCore::CSSGradientValue::image):
(WebCore::CSSGradientValue::computeStops):
(WebCore::CSSGradientValue::knownToBeOpaque const):
(WebCore::CSSLinearGradientValue::createGradient):
(WebCore::CSSRadialGradientValue::createGradient):
- css/CSSGradientValue.h:
- css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::knownToBeOpaque const):
- css/CSSImageValue.cpp:
(WebCore::CSSImageValue::knownToBeOpaque const):
- css/CSSImageValue.h:
LayoutTests:
- css3/color-filters/color-filter-gradients-expected.html: Added.
- css3/color-filters/color-filter-gradients.html: Added.
- 10:22 AM Changeset in webkit [231104] by
-
- 9 edits7 deletes in trunk
Unreviewed, rolling out r231086.
Caused JSC test failures due to an unchecked exception.
Reverted changeset:
"[ESNext][BigInt] Implement support for "*" operation"
https://bugs.webkit.org/show_bug.cgi?id=183721
https://trac.webkit.org/changeset/231086
- 10:20 AM Changeset in webkit [231103] by
-
- 2 edits in trunk/Source/WebKit
UIDelegate::UIClient::didResignInputElementStrongPasswordAppearance() is applicable to both Mac and iOS
https://bugs.webkit.org/show_bug.cgi?id=185079
<rdar://problem/39794960>
I inadvertently forgot to move the UIDelegate field webViewDidResignInputElementStrongPasswordAppearanceWithUserInfo
outside the PLATFORM(MAC)-guard.
- UIProcess/Cocoa/UIDelegate.h:
- 10:11 AM Changeset in webkit [231102] by
-
- 3 edits in trunk/Source/WebKit
UIDelegate::UIClient::didResignInputElementStrongPasswordAppearance() is applicable to both Mac and iOS
https://bugs.webkit.org/show_bug.cgi?id=185079
<rdar://problem/39794960>
Reviewed by Andy Estes.
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::didResignInputElementStrongPasswordAppearance):
- 9:30 AM Changeset in webkit [231101] by
-
- 2 edits in trunk/LayoutTests
Disable color-filter tests on Windows for now
https://bugs.webkit.org/show_bug.cgi?id=185076
The experimental feature for color-filter is off by default, and Windows WebKit API
would have to change to enable it, so just skip the tests for now.
- platform/win/TestExpectations:
- 9:11 AM Changeset in webkit [231100] by
-
- 9 edits4 adds in trunk
Fix color-filter to apply to text decorations
https://bugs.webkit.org/show_bug.cgi?id=185068
<rdar://problem/39782136>
Reviewed by Alan Bujtas.
Source/WebCore:
Transform the colors of text shadows, and the shadows of text-decorations through
the color-filter.
Rather than clone the ShadowData stored on TextPainter and TextDecorationPainter
(which would have awkward ownership implications) we pass the color filters through
and just map the color through it before painting.
Re-order the members of TextPainter a little to optimize padding.
Also fix a bug where FilterOperations::transformColor() could transform an invalid
color to a valid one; we never want this.
Tests: css3/color-filters/color-filter-text-decoration-shadow.html
css3/color-filters/color-filter-text-shadow.html
- platform/graphics/filters/FilterOperations.cpp:
(WebCore::FilterOperations::transformColor const):
- rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintMarkedTextForeground):
(WebCore::InlineTextBox::paintMarkedTextDecoration):
- rendering/TextDecorationPainter.cpp:
(WebCore::TextDecorationPainter::paintTextDecoration):
- rendering/TextDecorationPainter.h:
(WebCore::TextDecorationPainter::setTextShadow):
(WebCore::TextDecorationPainter::setShadowColorFilter):
(WebCore::TextDecorationPainter::addTextShadow): Deleted.
- rendering/TextPainter.cpp:
(WebCore::ShadowApplier::ShadowApplier):
(WebCore::TextPainter::paintTextWithShadows):
(WebCore::TextPainter::paintTextAndEmphasisMarksIfNeeded): Simplify the logic that only paints the shadow
on the first iteration.
(WebCore::TextPainter::paintRange):
- rendering/TextPainter.h:
(WebCore::TextPainter::setShadowColorFilter):
- rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::paintTextWithShadows):
LayoutTests:
- css3/color-filters/color-filter-text-decoration-shadow-expected.html: Added.
- css3/color-filters/color-filter-text-decoration-shadow.html: Added.
- css3/color-filters/color-filter-text-shadow-expected.html: Added.
- css3/color-filters/color-filter-text-shadow.html: Added.
- 9:09 AM Changeset in webkit [231099] by
-
- 2 edits in trunk/LayoutTests
Mark CSS color filters tests as failing on Windows.
https://bugs.webkit.org/show_bug.cgi?id=185075
Unreviewed test gardening.
- platform/win/TestExpectations:
- 9:08 AM Changeset in webkit [231098] by
-
- 2 edits in trunk/JSTests
Unreviewed test gardening, update expectations for test262/intl402/PluralRules tests after r231047.
- test262.yaml: Mark tests as passing.
- 9:07 AM Changeset in webkit [231097] by
-
- 22 edits in trunk/Source
Rename minimumLayoutSize to viewLayoutSize
https://bugs.webkit.org/show_bug.cgi?id=185050
<rdar://problem/39624038>
Reviewed by Tim Horton.
Source/WebCore:
See WebKit/ChangeLog for more information. No change in behavior.
- page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::ViewportConfiguration):
(WebCore::ViewportConfiguration::setViewLayoutSize):
Remove a FIXME comment that is addressed by this refactoring.
(WebCore::ViewportConfiguration::shouldOverrideDeviceWidthWithMinDeviceWidth const):
(WebCore::ViewportConfiguration::initialScaleFromSize const):
(WebCore::ViewportConfiguration::minimumScale const):
(WebCore::ViewportConfiguration::updateMinimumLayoutSize):
(WebCore::ViewportConfiguration::setMinimumLayoutSize): Deleted.
- page/ViewportConfiguration.h:
(WebCore::ViewportConfiguration::viewLayoutSize const):
(WebCore::ViewportConfiguration::viewSize const): Deleted.
Source/WebKit:
Renames minimumLayoutSize to viewLayoutSize, since the minimum layout size in ViewportConfiguration is now
different from the minimum layout size that is currently pushed down from the UI process (e.g. WKWebView SPI) in
the case wheremin-device-widthis used to override the minimum layout size.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _processDidExit]):
(-[WKWebView activeViewLayoutSize:]):
(-[WKWebView _dispatchSetViewLayoutSize:]):
(-[WKWebView _frameOrBoundsChanged]):
(-[WKWebView _minimumLayoutSizeOverride]):
(-[WKWebView _setViewLayoutSizeOverride:]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _endAnimatedResize]):
(-[WKWebView _overrideLayoutParametersWithMinimumLayoutSize:maximumUnobscuredSizeOverride:]):
(-[WKWebView _clearOverrideLayoutParameters]):
(-[WKWebView _minimumLayoutWidth]):
(-[WKWebView _setMinimumLayoutWidth:]):
(-[WKWebView activeMinimumLayoutSize:]): Deleted.
(-[WKWebView _dispatchSetMinimumLayoutSize:]): Deleted.
(-[WKWebView _setMinimumLayoutSizeOverride:]): Deleted.
(-[WKWebView _overrideLayoutParametersWithMinimumLayoutSize:minimumLayoutSizeForMinimalUI:maximumUnobscuredSizeOverride:]): Deleted.
Remove unused SPI that has been deprecated since iOS 9, has a simple drop-in replacement, and no longer has any
internal clients.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::setMinimumSizeForAutoLayout):
(WebKit::WebViewImpl::minimumSizeForAutoLayout const):
(WebKit::WebViewImpl::setIntrinsicContentSize):
- UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::viewLayoutSizeDidChange):
(WebKit::DrawingAreaProxy::minimumLayoutSizeDidChange): Deleted.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::setViewLayoutSize):
(WebKit::WebPageProxy::setMinimumLayoutSize): Deleted.
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::viewLayoutSize const):
(WebKit::WebPageProxy::minimumLayoutSize const): Deleted.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::dynamicViewportSizeUpdate):
(WebKit::WebPageProxy::setViewportConfigurationViewLayoutSize):
(WebKit::WebPageProxy::setViewportConfigurationMinimumLayoutSize): Deleted.
- UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
- UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
(WebKit::TiledCoreAnimationDrawingAreaProxy::viewLayoutSizeDidChange):
(WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
(WebKit::TiledCoreAnimationDrawingAreaProxy::intrinsicContentSizeDidChange):
(WebKit::TiledCoreAnimationDrawingAreaProxy::willSendUpdateGeometry):
(WebKit::TiledCoreAnimationDrawingAreaProxy::minimumLayoutSizeDidChange): Deleted.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
- WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
(WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_credentialsMessenger):
(WebKit::WebPage::setViewLayoutSize):
(WebKit::WebPage::setMinimumLayoutSize): Deleted.
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::viewLayoutSize const):
(WebKit::WebPage::minimumLayoutSize const): Deleted.
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::setViewportConfigurationViewLayoutSize):
(WebKit::WebPage::dynamicViewportSizeUpdate):
(WebKit::WebPage::setViewportConfigurationMinimumLayoutSize): Deleted.
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updateIntrinsicContentSizeIfNeeded):
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
- 8:40 AM Changeset in webkit [231096] by
-
- 19 edits in trunk/Source/WebCore
[LFC] Formatting contexts should create floating states.
https://bugs.webkit.org/show_bug.cgi?id=185032
Reviewed by Antti Koivisto.
This patch implements the logic for sharing floating states across multiple formatting contexts.
At this point this is mostly about inline formatting contexts. They either create a new floating state
or inherit it from the parent formatting context.
- layout/FloatingState.cpp:
(WebCore::Layout::FloatingState::FloatingState):
- layout/FloatingState.h:
(WebCore::Layout::FloatingState::create):
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::FormattingContext):
- layout/FormattingContext.h:
(WebCore::Layout::FormattingContext::layoutContext const):
- layout/FormattingState.cpp:
(WebCore::Layout::FormattingState::FormattingState):
- layout/FormattingState.h:
(WebCore::Layout::FormattingState::floatingState const):
- layout/LayoutContext.cpp:
(WebCore::Layout::LayoutContext::updateLayout):
(WebCore::Layout::LayoutContext::formattingStateForBox const):
(WebCore::Layout::LayoutContext::establishedFormattingState):
(WebCore::Layout::LayoutContext::formattingContext):
(WebCore::Layout::LayoutContext::formattingState): Deleted.
- layout/LayoutContext.h:
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::BlockFormattingContext):
(WebCore::Layout::BlockFormattingContext::createFormattingState const):
(WebCore::Layout::BlockFormattingContext::createOrFindFloatingState const):
(WebCore::Layout::BlockFormattingContext::formattingState const): Deleted.
- layout/blockformatting/BlockFormattingContext.h:
- layout/blockformatting/BlockFormattingState.cpp:
(WebCore::Layout::BlockFormattingState::BlockFormattingState):
- layout/blockformatting/BlockFormattingState.h:
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::InlineFormattingContext):
(WebCore::Layout::InlineFormattingContext::createFormattingState const):
(WebCore::Layout::InlineFormattingContext::createOrFindFloatingState const):
(WebCore::Layout::InlineFormattingContext::formattingState const): Deleted.
- layout/inlineformatting/InlineFormattingContext.h:
- layout/inlineformatting/InlineFormattingState.cpp:
(WebCore::Layout::InlineFormattingState::InlineFormattingState):
- layout/inlineformatting/InlineFormattingState.h:
- layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::formattingContextRoot const):
- layout/layouttree/LayoutBox.h:
- 8:35 AM Changeset in webkit [231095] by
-
- 23 edits2 adds1 delete in trunk
[Extra zoom mode] Add a mechanism to override default viewport behaviors in extra zoom mode
https://bugs.webkit.org/show_bug.cgi?id=185050
<rdar://problem/39624038>
Reviewed by Tim Horton.
Source/WebCore:
Currently, in extra zoom mode, there's no way for web pages to opt out of the default viewport behaviors
(namely, laying out at a larger width and shrinking to fit) when the web view is very tall and narrow. This
patch adds a new experimental viewport attribute, "min-device-width", that can be used to prevent WebKit from
automatically clamping the web view width to a greater value for the device width in this scenario.
Note that after this patch, logic that plumbs a minimumLayoutSize from WKWebView to the viewport configuration
will need to be renamed to reflect that this size is no longer the minimum layout size, but rather, the view
size that is used for viewport device dimensions by default. This refactoring will be done in a followup part.
See per-method comments below for more detail.
Test: fast/viewport/extrazoom/viewport-change-min-device-width.html
- dom/ViewportArguments.cpp:
(WebCore::setViewportFeature):
(WebCore::operator<<):
- dom/ViewportArguments.h:
Removes
m_forceHorizontalShrinkToFit(more detail below).
- page/ViewportConfiguration.cpp:
(WebCore::computedMinDeviceWidth):
(WebCore::ViewportConfiguration::ViewportConfiguration):
(WebCore::ViewportConfiguration::setMinimumLayoutSize):
Instead of directly setting the minimum layout size, setMinimumLayoutSize now first sets the view size (i.e. the
size we use fordevice-widthin the viewport meta tag), and then updates the minimum layout size.
(WebCore::ViewportConfiguration::shouldOverrideDeviceWidthWithMinDeviceWidth const):
Replaces
m_forceHorizontalShrinkToFit. Whether or not we shrink to fit is now determined by whether the
min-device-width attribute is actively clamping the width of the view.
(WebCore::ViewportConfiguration::shouldIgnoreHorizontalScalingConstraints const):
(WebCore::ViewportConfiguration::shouldIgnoreScalingConstraintsRegardlessOfContentSize const):
(WebCore::ViewportConfiguration::updateMinimumLayoutSize):
Computes and sets the minimum layout size using the view size, taking the minimum device width into account if
needed.
(WebCore::ViewportConfiguration::description const):
(WebCore::ViewportConfiguration::setForceHorizontalShrinkToFit): Deleted.
- page/ViewportConfiguration.h:
Source/WebKit:
Remove the forceHorizontalViewportShrinkToFit and minimumAllowedLayoutWidth SPI hooks from WebKit, and
additionally remove all logic for plumbing viewSize to WebCore. See WebCore/ChangeLog for more information.
- Shared/VisibleContentRectUpdateInfo.cpp:
(WebKit::VisibleContentRectUpdateInfo::encode const):
(WebKit::VisibleContentRectUpdateInfo::decode):
(WebKit::operator<<):
- Shared/VisibleContentRectUpdateInfo.h:
(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
(WebKit::VisibleContentRectUpdateInfo::allowShrinkToFit const):
(WebKit::operator==):
(WebKit::VisibleContentRectUpdateInfo::forceHorizontalShrinkToFit const): Deleted.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
(-[WKWebView activeMinimumLayoutSize:]):
(-[WKWebView _dispatchSetMinimumLayoutSize:]):
(-[WKWebView _frameOrBoundsChanged]):
(-[WKWebView _setMinimumLayoutSizeOverride:]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _endAnimatedResize]):
(-[WKWebView _minimumAllowedLayoutWidth]): Deleted.
(-[WKWebView _setMinimumAllowedLayoutWidth:]): Deleted.
(-[WKWebView activeMinimumLayoutSizes:]): Deleted.
(-[WKWebView _dispatchSetMinimumLayoutSize:viewSize:]): Deleted.
(-[WKWebView _setForceHorizontalViewportShrinkToFit:]): Deleted.
(-[WKWebView _forceHorizontalViewportShrinkToFit]): Deleted.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentView.mm:
(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInsets:unobscuredSafeAreaInsets:inputViewBounds:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:enclosedInScrollableAncestorView:]):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::dynamicViewportSizeUpdate):
(WebKit::WebPageProxy::setViewportConfigurationMinimumLayoutSize):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_credentialsMessenger):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::setViewportConfigurationMinimumLayoutSize):
(WebKit::WebPage::dynamicViewportSizeUpdate):
(WebKit::WebPage::updateVisibleContentRects):
Tools:
Remove a test that's no longer useful, now that the SPI it was testing is gone. This functionality is now
tested by the layout test added in this patch.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/ios/ViewportSizingTests.mm: Removed.
LayoutTests:
Add a new layout test to check that:
- By default (with no
min-device-widthoverride), shrink-to-fit and expanded minimum layout sizes takes effect. min-device-widthcan be used to bail out of shrink-to-fit and viewport behaviors.- A large
min-device-widthcan be used to make extra zoom mode viewport heuristics even more aggressive.
- TestExpectations:
- fast/viewport/extrazoom/viewport-change-min-device-width.html: Added.
- resources/ui-helper.js:
(window.UIHelper.zoomScale):
(window.UIHelper):
- 7:40 AM Changeset in webkit [231094] by
-
- 9 edits in trunk/Source/WebCore
[LFC] Formatting contexts should take const Box&
https://bugs.webkit.org/show_bug.cgi?id=185031
Reviewed by Sam Weinig.
The formatting root boxes are supposed to be all const. The only reason why
they are not is because WeakPtr<> does not support const objects yet.
Use const_cast instead (remove it when WeakPtr<> gains const support).
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::FormattingContext):
- layout/FormattingContext.h:
- layout/LayoutContext.cpp:
(WebCore::Layout::LayoutContext::LayoutContext):
(WebCore::Layout::LayoutContext::formattingContext):
- layout/LayoutContext.h:
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::BlockFormattingContext):
- layout/blockformatting/BlockFormattingContext.h:
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::InlineFormattingContext):
- layout/inlineformatting/InlineFormattingContext.h:
- 7:34 AM Changeset in webkit [231093] by
-
- 2 edits3 adds in trunk/Source/WebCore
[LFC] Add layout tree iterators.
https://bugs.webkit.org/show_bug.cgi?id=185058
Reviewed by Antti Koivisto.
They work exactly like the renderer tree iterators.
- WebCore.xcodeproj/project.pbxproj:
- layout/layouttree/LayoutAncestorIterator.h: Added.
(WebCore::Layout::LayoutAncestorIterator<T>::LayoutAncestorIterator):
(WebCore::Layout::LayoutAncestorIterator<T>::operator):
(WebCore::Layout::LayoutAncestorIteratorAdapter<T>::LayoutAncestorIteratorAdapter):
(WebCore::Layout::LayoutAncestorIteratorAdapter<T>::begin const):
(WebCore::Layout::LayoutAncestorIteratorAdapter<T>::end const):
(WebCore::Layout::LayoutAncestorIteratorAdapter<T>::first const):
(WebCore::Layout::ancestorsOfType):
(WebCore::Layout::lineageOfType):
- layout/layouttree/LayoutBox.cpp:
- layout/layouttree/LayoutChildIterator.h: Added.
(WebCore::Layout::LayoutChildtIterator<T>::LayoutChildtIterator):
(WebCore::Layout::LayoutChildtIterator<T>::operator):
(WebCore::Layout::LayoutChildtIteratorAdapter<T>::LayoutChildtIteratorAdapter):
(WebCore::Layout::LayoutChildtIteratorAdapter<T>::begin const):
(WebCore::Layout::LayoutChildtIteratorAdapter<T>::end const):
(WebCore::Layout::LayoutChildtIteratorAdapter<T>::first const):
(WebCore::Layout::LayoutChildtIteratorAdapter<T>::last const):
(WebCore::Layout::childrenOfType):
- layout/layouttree/LayoutIterator.h: Added.
(WebCore::Layout::isLayoutBoxOfType):
(WebCore::Layout::Traversal::firstChild):
(WebCore::Layout::Traversal::lastChild):
(WebCore::Layout::Traversal::nextSibling):
(WebCore::Layout::Traversal::previousSibling):
(WebCore::Layout::Traversal::findAncestorOfType):
(WebCore::Layout::Traversal::nextAncestorSibling):
(WebCore::Layout::Traversal::nextWithin):
(WebCore::Layout::Traversal::firstWithin):
(WebCore::Layout::Traversal::next):
(WebCore::Layout::LayoutIterator<T>::LayoutIterator):
(WebCore::Layout::LayoutIterator<T>::traverseNextSibling):
(WebCore::Layout::LayoutIterator<T>::traverseNext):
(WebCore::Layout::LayoutIterator<T>::traversePreviousSibling):
(WebCore::Layout::LayoutIterator<T>::traverseAncestor):
(WebCore::Layout::LayoutIterator<T>::operator const):
(WebCore::Layout:: const):
(WebCore::Layout::= const):
- 4:47 AM Changeset in webkit [231092] by
-
- 2 edits in trunk/LayoutTests
[GTK] Mark a few new test failures
Unreviewed gardening.
- platform/gtk/TestExpectations: Related to r230817
- 3:07 AM Changeset in webkit [231091] by
-
- 6 edits in trunk/Source/WebCore
Unreviewed, rolling out r231089.
https://bugs.webkit.org/show_bug.cgi?id=185071
Broke and made crash some WPE EME tests (Requested by calvaris
on #webkit).
Reverted changeset:
"[EME][GStreamer] Move the decryptor from AppendPipeline to
PlaybackPipeline."
https://bugs.webkit.org/show_bug.cgi?id=181855
https://trac.webkit.org/changeset/231089
- 1:40 AM Changeset in webkit [231090] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION(r230812): [WPE][GTK] WebKitWebViewSessionState.cpp throws away encoded BackForwardList identifier
https://bugs.webkit.org/show_bug.cgi?id=184823
Reviewed by Michael Catanzaro.
Bump session sate format version to 2 and stop encoding the backfoward list item identifier, since it's always
regenerated.
- UIProcess/API/glib/WebKitWebViewSessionState.cpp:
(encodeBackForwardListItemState): Always encode version 2.
(encodeBackForwardListState): Ditto.
(encodeSessionState): Ditto.
(decodeBackForwardListItemStateV1): Decode list item state for version 1.
(decodeBackForwardListItemState): Receive the version and call decodeBackForwardListItemStateV1() if it's 1 or
use the version 2 otherwise.
(decodeSessionState): Load data for known formats and use the one that worked to decode it.
- 12:33 AM Changeset in webkit [231089] by
-
- 6 edits in trunk/Source/WebCore
[EME][GStreamer] Move the decryptor from AppendPipeline to PlaybackPipeline.
https://bugs.webkit.org/show_bug.cgi?id=181855
Patch by Yacine Bandou <yacine.bandou_ext@softathome.com> on 2018-04-27
Reviewed by Xabier Rodriguez-Calvar.
The goal of this move is to handle the limitation of SVP (Secure Video Path) memory size.
When the decryptor is in the AppendPipeline and we use SVP, we buffer in MediaSource queue
the decrypted GstBuffers that are in SVP memory.
This behavior cause an out-of-memory error, because we are limited in SVP memory size.
By moving the decryptor in PlaybackPipeline, we avoid to buffer the decrypted GstBuffers
which use the SVP memory and we buffer the encrypted GstBuffers that are in system memory.
This new architecture also allows to start the buffering before obtaining the DRM license
and it makes easier to manage dynamic change of the license or Key.
The decryptor is auto plugged by GStreamer playbin in PlaybackPipeline.
SVP: Secure Video Path also named trusted or protected video path, it is a memory which is
protected by a hardware access control engine, it is not accessible to other unauthorised
software or hardware components.
Tests:
media/encrypted-media/clearKey/clearKey-cenc-audio-playback-mse.html
media/encrypted-media/clearKey/clearKey-cenc-video-playback-mse.html
- platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:
(webkitMediaCommonEncryptionDecryptSinkEventHandler):
- platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::dumpAppendState):
(WebCore::AppendPipeline::AppendPipeline):
(WebCore::AppendPipeline::handleNeedContextSyncMessage):
(WebCore::AppendPipeline::handleAppsrcNeedDataReceived):
(WebCore::AppendPipeline::setAppendState):
(WebCore::AppendPipeline::parseDemuxerSrcPadCaps):
(WebCore::AppendPipeline::appsinkNewSample):
(WebCore::AppendPipeline::connectDemuxerSrcPadToAppsinkFromAnyThread):
(WebCore::AppendPipeline::disconnectDemuxerSrcPadFromAppsinkFromAnyThread):
(WebCore::appendPipelineElementMessageCallback): Deleted.
(WebCore::AppendPipeline::handleElementMessage): Deleted.
(WebCore::AppendPipeline::dispatchPendingDecryptionStructure): Deleted.
(WebCore::AppendPipeline::dispatchDecryptionStructure): Deleted.
- platform/graphics/gstreamer/mse/AppendPipeline.h:
- platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
(WebCore::MediaPlayerPrivateGStreamerMSE::attemptToDecryptWithInstance):
- platform/graphics/gstreamer/mse/PlaybackPipeline.cpp:
- 12:27 AM Changeset in webkit [231088] by
-
- 5 edits in trunk/Source/WebCore
[EME][GStreamer] Add a new message "decrypt-key-needed" send from the decryptor to the application.
https://bugs.webkit.org/show_bug.cgi?id=181858
Patch by Yacine Bandou <yacine.bandou_ext@softathome.com> on 2018-04-27
Reviewed by Xabier Rodriguez-Calvar.
Add a new message "decrypt-key-needed" that the decryptor can send when it doesn't have an available key.
This message should be handled by the application in order to dispatch or send the key to the decryptor.
This patch is a preparation for the patch 181855.
With the patch 181855, the decryptor will be in the PlaybackPipeline instead of AppendPipeline, thus we can
get the DRM license or key before to instantiate or load the decryptor plugin in PlaybackPipeline.
When the decryptor plugin is instantiated or loaded, it should able to ask the application to resend
the DRM license or key by using this new message "decrypt-key-needed".
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::dispatchCDMInstance):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
- platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:
(webkitMediaCommonEncryptionDecryptTransformInPlace):