Timeline
Nov 18, 2018:
- 11:29 PM Changeset in webkit [238369] by
-
- 2 edits in trunk/Source/WebKit
Regression(r238330) ProcessSwap.WebInspector API test is a flaky crash in debug
https://bugs.webkit.org/show_bug.cgi?id=191812
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-11-18
Reviewed by Chris Dumez.
- WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::setFrontendConnection):
It can be possible to receive a frontend connection multiple times
if another WebProcess opened the inspector and this WebProcess got
swapped in before the InspectorProcess notified the WebProcess of
a connection to use. It is always best to use the latest connection
we have received, since any others would have been invalidated.
- 11:14 PM Changeset in webkit [238368] by
-
- 5 edits1 add in trunk
[PSON] Received an invalid message "WebPageProxy.DidPerformClientRedirect" from the web process
https://bugs.webkit.org/show_bug.cgi?id=191828
Reviewed by Antti Koivisto.
Source/WebKit:
WebPageProxy::didPerformClientRedirect() had a MESSAGE_CHECK_URL() for both the source
and the destination URL. The macro calls WebProcessProxy::checkURLReceivedFromWebProcess()
to make sure that both URLs were actually loaded by this WebContent process.
However, now that we're enabled process-swap on cross-site navigation, these checks are no
longer fully valid. If the client-side redirect is cross-site, then the source and destination
URLs get loaded by 2 different WebContent processes. Since didPerformClientRedirect() gets
called after the redirect and gets set by the new WebContent process, only the destination URL
is guaranteed to have been loaded by this process. The source URL may have been loaded in
another process so this patch drops the message check for the source URL.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didPerformClientRedirect):
Tools:
Add API test coverage.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- TestWebKitAPI/Tests/WebKitCocoa/client-side-redirect.html: Added.
- 10:51 PM Changeset in webkit [238367] by
-
- 7 edits in trunk/Source/JavaScriptCore
Consider removing double load for accessing the instructions from LLInt
https://bugs.webkit.org/show_bug.cgi?id=190932
Reviewed by Mark Lam.
Changing InstructionStream to RefCountedArray like structure involves so much changes
including BytecodeGraph, PreciseJumpTargets etc. Instead, CodeBlock simply hold a raw
pointer to the InstructionStream's data. Since InstructionStream is not changed
anymore, this pointer is valid while CodeBlock is live.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
- bytecode/CodeBlock.h:
- bytecode/InstructionStream.h:
(JSC::InstructionStream::rawPointer const):
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- 9:23 PM Changeset in webkit [238366] by
-
- 3 edits in trunk/Source/JavaScriptCore
REGRESSION(r238039) WebCore::JSDOMGlobalObject::createStructure is using JSC::Structure::create without including StructureInlines.h
https://bugs.webkit.org/show_bug.cgi?id=191626
Reviewed by Yusuke Suzuki.
JSC::Structure::create is used everywhere. It should be defined in
Structure.h, not in StructureInlines.h.
- runtime/Structure.h:
(JSC::Structure::create): Moved.
- runtime/StructureInlines.h: Moved JSC::Structure::create.
- 11:10 AM Changeset in webkit [238365] by
-
- 19 edits2 adds in trunk
Unreviewed, rolling in the rest of r237254
https://bugs.webkit.org/show_bug.cgi?id=190340
JSTests:
- ChakraCore/test/Function/FuncBodyES5.baseline-jsc:
- stress/function-cache-with-parameters-end-position.js: Added.
(shouldBe):
(shouldThrow):
(i.anonymous):
- stress/function-constructor-name.js: Added.
(shouldBe):
(GeneratorFunction):
(AsyncFunction.async):
(AsyncGeneratorFunction.async):
(anonymous):
(async.anonymous):
- test262/expectations.yaml:
LayoutTests/imported/w3c:
- web-platform-tests/html/webappapis/scripting/events/inline-event-handler-ordering-expected.txt:
- web-platform-tests/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-late-expected.txt:
- web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-attribute-expected.txt:
- web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-body-onerror-expected.txt:
Source/JavaScriptCore:
- parser/ParserModes.h:
- parser/ParserTokens.h:
(JSC::JSTextPosition::JSTextPosition):
(JSC::JSTokenLocation::JSTokenLocation): Deleted.
- runtime/CodeCache.cpp:
(JSC::CodeCache::getUnlinkedGlobalFunctionExecutable):
- runtime/FunctionConstructor.cpp:
(JSC::constructFunctionSkippingEvalEnabledCheck):
LayoutTests:
- fast/dom/attribute-event-listener-errors-expected.txt:
- fast/events/attribute-listener-deletion-crash-expected.txt:
- fast/events/window-onerror-syntax-error-in-attr-expected.txt:
- js/dom/invalid-syntax-for-function-expected.txt:
- js/dom/script-start-end-locations-expected.txt:
- 10:20 AM Changeset in webkit [238364] by
-
- 3 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r238363 - HarfBuzzFace::CacheEntry should use 32-bit values in its HashMap
https://bugs.webkit.org/show_bug.cgi?id=191825
Patch by Zan Dobersek <zdobersek@igalia.com> on 2018-11-18
Reviewed by Michael Catanzaro.
The HashMap-based glyph cache contained in HarfBuzzFace::CacheEntry
objects is used to map given Unicode codepoints to corresponding
glyph indices (which occurs in the harfBuzzGetGlyph() function that's
invoked by HarfBuzz).
The 16-bit unsigned integer as the map's value type is not enough here
when the glyph index mapping is done through Freetype -- its API returns
32-bit glyph indices, and Cairo assigns this value to the 64-bit
unsigned index variable in the cairo_glyph_t struct. The value type is
thus bumped to 32 bits to match the unsigned type size of the index's
origin.
- platform/graphics/harfbuzz/HarfBuzzFace.h:
- platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:
- 9:26 AM Changeset in webkit [238363] by
-
- 3 edits in trunk/Source/WebCore
HarfBuzzFace::CacheEntry should use 32-bit values in its HashMap
https://bugs.webkit.org/show_bug.cgi?id=191825
Patch by Zan Dobersek <zdobersek@igalia.com> on 2018-11-18
Reviewed by Michael Catanzaro.
The HashMap-based glyph cache contained in HarfBuzzFace::CacheEntry
objects is used to map given Unicode codepoints to corresponding
glyph indices (which occurs in the harfBuzzGetGlyph() function that's
invoked by HarfBuzz).
The 16-bit unsigned integer as the map's value type is not enough here
when the glyph index mapping is done through Freetype -- its API returns
32-bit glyph indices, and Cairo assigns this value to the 64-bit
unsigned index variable in the cairo_glyph_t struct. The value type is
thus bumped to 32 bits to match the unsigned type size of the index's
origin.
- platform/graphics/harfbuzz/HarfBuzzFace.h:
- platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:
- 9:07 AM Changeset in webkit [238362] by
-
- 8 edits2 deletes in releases/WebKitGTK/webkit-2.22
Revert "Merge r237837 - [MediaStream] An audio track should be muted when capture is interrupted by the OS."
This reverts commit b8cbeaf8a2a641e7b2db25972dc6956778da8c2a.
This commit only affects Apple ports, so I shouldn't have backported it. It's harmless here and does not really need to be reverted, except this will serve as a useful reminder to myself that it was not needed here.
- 4:50 AM Changeset in webkit [238361] by
-
- 2 edits in trunk/Source/WebKit
Use Box<BinarySemaphore> instead of dispatch_semaphore_t
https://bugs.webkit.org/show_bug.cgi?id=189691
Reviewed by Ryosuke Niwa.
Use Box<BinarySemaphore> instead, which utilizes our WTF::Lock mechanism.
- NetworkProcess/watchos/NetworkProximityManager.mm:
(WebKit::NetworkProximityManager::updateRecommendation):
Nov 17, 2018:
- 10:17 PM Changeset in webkit [238360] by
-
- 16 edits in trunk
[iOS] Remove all usages of UIItemProvider, UIItemProviderReading, and related classes
https://bugs.webkit.org/show_bug.cgi?id=191819
Reviewed by Dan Bernstein.
Replace UIItemProvider (and related classes) with NSItemProvider.
Source/WebCore:
- platform/ios/PlatformPasteboardIOS.mm:
(WebCore::registerItemToPasteboard):
- platform/ios/WebItemProviderPasteboard.h:
- platform/ios/WebItemProviderPasteboard.mm:
(-[WebItemProviderDataRegistrar registerItemProvider:]):
(-[WebItemProviderWritableObjectRegistrar initWithObject:]):
(-[WebItemProviderWritableObjectRegistrar representingObject]):
(-[WebItemProviderWritableObjectRegistrar registerItemProvider:]):
(-[WebItemProviderRegistrationInfoList addRepresentingObject:]):
(-[WebItemProviderRegistrationInfoList itemProvider]):
(-[WebItemProviderPasteboard pasteboardTypes]):
(-[WebItemProviderPasteboard _preLoadedDataConformingToType:forItemProviderAtIndex:]):
(-[WebItemProviderPasteboard dataForPasteboardType:inItemSet:]):
(allLoadableClasses):
(classForTypeIdentifier):
(-[WebItemProviderPasteboard valuesForPasteboardType:inItemSet:]):
(-[WebItemProviderPasteboard numberOfFiles]):
(-[WebItemProviderPasteboard itemProviderAtIndex:]):
(-[WebItemProviderPasteboard enumerateItemProvidersWithBlock:]):
- platform/mac/DragDataMac.mm:
(WebCore::DragData::containsURL const):
Source/WebCore/PAL:
- pal/spi/ios/UIKitSPI.h:
Source/WebKit:
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _itemsForBeginningOrAddingToSessionWithRegistrationList:stagedDragSource:]):
(-[WKContentView dropInteraction:performDrop:]):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(platformCopyPNG):
- TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(-[NSItemProvider registerDataRepresentationForTypeIdentifier:withData:]):
Replace usages of this deprecated method with
-registerDataRepresentationForTypeIdentifier:visibility:loadHandler:.
(checkEstimatedSize):
(checkSuggestedNameAndEstimatedSize):
(TestWebKitAPI::TEST):
(-[UIItemProvider registerDataRepresentationForTypeIdentifier:withData:]): Deleted.
- TestWebKitAPI/cocoa/DragAndDropSimulator.h:
- TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
(-[MockDragDropSession canLoadObjectsOfClass:]):
(-[MockDragDropSession canLoadObjectsOfClasses:]):
(-[MockDropSession initWithProviders:location:window:allowMove:]):
(-[MockDropSession canCreateItemsOfClass:]):
(-[DragAndDropSimulator _advanceProgress]):
(-[DragAndDropSimulator _webView:dataInteractionOperationWasHandled:forSession:itemProviders:]):
(-[DragAndDropSimulator _webView:adjustedDataInteractionItemProvidersForItemProvider:representingObjects:additionalData:]):
- TestWebKitAPI/ios/UIKitSPI.h:
- 7:14 PM Changeset in webkit [238359] by
-
- 37 edits in trunk/Source/WebCore
Remove superfluous LayoutUnit initializations
https://bugs.webkit.org/show_bug.cgi?id=191791
Reviewed by Simon Fraser.
First step toward making LayoutUnit constructors explicit:
eliminate= 0when constructing LayoutUnit lvalues.
- editing/Editor.cpp:
(WebCore::Editor::firstRectForRange const):
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::modify):
(WebCore::FrameSelection::lineDirectionPointForBlockDirectionNavigation):
- html/shadow/SliderThumbElement.cpp:
(WebCore::RenderSliderContainer::computeLogicalHeight const):
- layout/inlineformatting/InlineFormattingContextGeometry.cpp:
(WebCore::Layout::InlineFormattingContext::Geometry::justifyRuns):
- page/FrameView.cpp:
(WebCore::FrameView::forceLayoutForPagination):
- page/SpatialNavigation.cpp:
(WebCore::scrollInDirection):
(WebCore::distanceDataForNode):
- rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::layout):
- rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::marginIntrinsicLogicalWidthForChild):
(WebCore::GridTrackSizingAlgorithm::gridAreaBreadthForChild const):
- rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):
(WebCore::InlineFlowBox::paintFillLayer):
(WebCore::InlineFlowBox::paintBoxDecorations):
(WebCore::InlineFlowBox::paintMask):
(WebCore::InlineFlowBox::computeOverAnnotationAdjustment const):
(WebCore::InlineFlowBox::computeUnderAnnotationAdjustment const):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::marginIntrinsicLogicalWidthForChild const):
(WebCore::RenderBlock::layoutPositionedObject):
(WebCore::RenderBlock::selectionGapRectsForRepaint):
(WebCore::RenderBlock::paintSelection):
(WebCore::RenderBlock::textIndentOffset const):
(WebCore::RenderBlock::computeBlockPreferredLogicalWidths const):
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats):
(WebCore::RenderBlockFlow::layoutBlock):
(WebCore::RenderBlockFlow::layoutBlockChildren):
(WebCore::RenderBlockFlow::marginValuesForChild const):
(WebCore::RenderBlockFlow::estimateLogicalTopPosition):
(WebCore::RenderBlockFlow::applyBeforeBreak):
(WebCore::RenderBlockFlow::applyAfterBreak):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::clearFloats):
(WebCore::RenderBlockFlow::lowestFloatLogicalBottom const):
(WebCore::RenderBlockFlow::lowestInitialLetterLogicalBottom const):
(WebCore::RenderBlockFlow::addOverhangingFloats):
(WebCore::RenderBlockFlow::getClearDelta):
(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths const):
- rendering/RenderBlockLineLayout.cpp:
(WebCore::setLogicalWidthForTextRun):
(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
(WebCore::RenderBlockFlow::determineStartPosition):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::fillAvailableMeasure const):
(WebCore::RenderBox::computeIntrinsicLogicalWidthUsing const):
(WebCore::RenderBox::computeLogicalWidthInFragmentUsing const):
(WebCore::RenderBox::computePercentageLogicalHeight const):
(WebCore::RenderBox::computeReplacedLogicalWidthUsing const):
(WebCore::RenderBox::computePositionedLogicalWidthUsing const):
(WebCore::RenderBox::computePositionedLogicalHeightUsing const):
(WebCore::RenderBox::computePositionedLogicalWidthReplaced const):
(WebCore::RenderBox::computePositionedLogicalHeightReplaced const):
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::computedCSSPadding const):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry const):
- rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::marginWidthForChild):
(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
- rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject):
- rendering/RenderFragmentedFlow.cpp:
(WebCore::RenderFragmentedFlow::validateFragments):
(WebCore::RenderFragmentedFlow::adjustedPositionRelativeToOffsetParent const):
(WebCore::RenderFragmentedFlow::updateFragmentsFragmentedFlowPortionRect):
- rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::paint):
- rendering/RenderListItem.cpp:
(WebCore::RenderListItem::positionListMarker):
- rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::computePreferredLogicalWidths):
(WebCore::RenderListMarker::updateMargins):
- rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::initialBlockOffsetForPainting const):
- rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::layoutBlock):
- rendering/RenderTable.cpp:
(WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
(WebCore::RenderTable::layout):
(WebCore::RenderTable::offsetWidthForColumn const):
(WebCore::RenderTable::offsetHeightForColumn const):
(WebCore::RenderTable::outerBorderBefore const):
(WebCore::RenderTable::outerBorderAfter const):
(WebCore::RenderTable::outerBorderStart const):
(WebCore::RenderTable::outerBorderEnd const):
- rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::logicalWidthFromColumns const):
(WebCore::RenderTableCell::computeIntrinsicPadding):
- rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcRowLogicalHeight):
(WebCore::RenderTableSection::distributeExtraLogicalHeightToPercentRows):
(WebCore::RenderTableSection::distributeExtraLogicalHeightToAutoRows):
(WebCore::RenderTableSection::distributeRemainingExtraLogicalHeight):
(WebCore::RenderTableSection::layoutRows):
(WebCore::RenderTableSection::calcOuterBorderBefore const):
(WebCore::RenderTableSection::calcOuterBorderAfter const):
(WebCore::RenderTableSection::calcOuterBorderStart const):
(WebCore::RenderTableSection::calcOuterBorderEnd const):
- rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::alignBoxesInBlockDirection):
(WebCore::RootInlineBox::beforeAnnotationsAdjustment const):
(WebCore::RootInlineBox::lineSnapAdjustment const):
(WebCore::RootInlineBox::verticalPositionForBox):
- rendering/line/BreakingContext.h:
(WebCore::inlineLogicalWidth):
- rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::layoutItems):
- rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::layoutBlock):
- rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
- rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::computePreferredLogicalWidths):
(WebCore::RenderMathMLRoot::paint):
- rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::computePreferredLogicalWidths):
- rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::RenderMathMLScripts::layoutBlock):
- rendering/mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::stretchHorizontalOperatorsAndLayoutChildren):
(WebCore::RenderMathMLUnderOver::layoutBlock):
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::getShadowInsetExtent const):
- rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::layout):
- 5:54 PM Changeset in webkit [238358] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed WinCairo build fix for r238353.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::continueNavigationInNewProcess):
- 4:51 PM Changeset in webkit [238357] by
-
- 3 edits in trunk/Source/WebCore
Avoid triggering compositing updates when only the root layer is composited
https://bugs.webkit.org/show_bug.cgi?id=191813
Reviewed by Zalan Bujtas.
If we know that the only composited layer is the root, we can avoid triggering deep
compositing updates sometimes, for example when layout changes size or position,
or when z-order lists change.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::addChild):
(WebCore::RenderLayer::removeChild):
(WebCore::RenderLayer::updateLayerPosition):
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::updateCompositingLayersAfterScroll):
(WebCore::outputPaintOrderTreeRecursive):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateBackingAndHierarchy): Consult the layer.hasCompositingDescendant()
flag to cut off descendants traversal when possible.
(WebCore::RenderLayerCompositor::layerStyleChanged):
- 4:25 PM Changeset in webkit [238356] by
-
- 6 edits in trunk
ASSERTION FAILED: m_messageReceivers.contains(...) under ViewGestureController removeMessageReceiver
https://bugs.webkit.org/show_bug.cgi?id=191734
<rdar://problem/46151497>
Reviewed by Ryosuke Niwa.
Source/WebKit:
When a WebProcess crashes, we destroy the ViewGestureController and reconstruct it later
after we've relaunched a new WebProcess. The ViewGestureController controller takes care
of adding itself as an IPC message receiver to the WebProcessProxy, and the destructor
takes care of removing itself as an IPC message receiver.
However, when process-swapping on navigation, we do not destroy the ViewGestureController
because doing so would take down the swipe gesture snapshot on cross-site swipe navigation.
This led to hitting this assertion later on because the ViewGestureController is still
registered as an IPC message receiver with the old process after process swapping.
To address the issue, we now make sure the ViewGestureController unregisters itself from
the old process and registers itself with the new process on process-swap.
- UIProcess/Cocoa/ViewGestureController.cpp:
(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::~ViewGestureController):
(WebKit::ViewGestureController::disconnectFromProcess):
(WebKit::ViewGestureController::connectToProcess):
- UIProcess/Cocoa/ViewGestureController.h:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::processWillSwap):
(WebKit::WebViewImpl::didRelaunchProcess):
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- 3:27 PM Changeset in webkit [238355] by
-
- 2 edits in trunk/Source/WebCore
Fix an error in 238354 - !=, not ==.
Fixes test failures.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::layerBecameNonComposited):
- 2:12 PM Changeset in webkit [238354] by
-
- 3 edits in trunk/Source/WebCore
Clarify RenderLayerCompositor::hasAnyAdditionalCompositedLayers() and related code.
https://bugs.webkit.org/show_bug.cgi?id=191810
Reviewed by Zalan Bujtas.
Rename m_compositedLayerCount to m_contentLayersCount and have it track layers other
than the RenderView's layer.
hasAnyAdditionalCompositedLayers() is really about whether we can drop out of compositing
because no content layer is composited, and overlays don't require compositing, so
rename it.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateCompositingLayers):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::needsCompositingForContentOrOverlays const):
(WebCore::RenderLayerCompositor::layerBecameComposited):
(WebCore::RenderLayerCompositor::layerBecameNonComposited):
(WebCore::RenderLayerCompositor::layerTreeAsText):
(WebCore::RenderLayerCompositor::hasAnyAdditionalCompositedLayers const): Deleted.
- rendering/RenderLayerCompositor.h:
- 2:06 PM Changeset in webkit [238353] by
-
- 5 edits in trunk/Source/WebKit
[PSON] ASSERTION FAILED: m_uncommittedState.state == State::Committed
https://bugs.webkit.org/show_bug.cgi?id=191781
Reviewed by Ryosuke Niwa.
The crash was happening when switching to a suspended page that is not yet done
suspending (e.g. in case of very fast back/forward navigation). The WebPageProxy
would reattach to the suspended process and get load notifications that it did
not expect since it did not schedule any load yet. Those notifications are for
the about:blank load we do for page suspension.
To address the issue, make swapToWebProcess() asynchronous and take a completion
handler. When we try to unsuspend a SuspendedPageProxy, we first make sure it
is actually done suspending. If it is not done suspending, we wait until it is
before telling in to unsuspend and proceeding with the new load.
- UIProcess/SuspendedPageProxy.cpp:
(WebKit::SuspendedPageProxy::unsuspend):
(WebKit::SuspendedPageProxy::didFinishLoad):
- UIProcess/SuspendedPageProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::swapToWebProcess):
(WebKit::WebPageProxy::continueNavigationInNewProcess):
- UIProcess/WebPageProxy.h:
- 2:01 PM Changeset in webkit [238352] by
-
- 7 edits in trunk/Source/WebCore
Rename RenderLayerCompositor::inCompositingMode() to usesCompositing()
https://bugs.webkit.org/show_bug.cgi?id=191808
Reviewed by Zalan Bujtas.
Other code uses "usesCompositing" so standardize on that (future changes will make
"compositing mode" more ambiguous). Also remove a FrameView function that only
had one caller.
- page/FrameView.cpp:
(WebCore::FrameView::clearBackingStores):
(WebCore::FrameView::handleDeferredScrollbarsUpdateAfterDirectionChange):
(WebCore::FrameView::delegatesScrollingDidChange):
(WebCore::FrameView::hasCompositedContent const): Deleted.
- page/FrameView.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::addChild):
(WebCore::RenderLayer::removeChild):
(WebCore::RenderLayer::rebuildZOrderLists):
(WebCore::RenderLayer::updateLayerPosition):
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::updateCompositingLayersAfterScroll):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateCompositingPolicy):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::layerStyleChanged):
(WebCore::RenderLayerCompositor::updateBacking):
(WebCore::RenderLayerCompositor::parentFrameContentLayers):
(WebCore::RenderLayerCompositor::setIsInWindow):
(WebCore::RenderLayerCompositor::needsToBeComposited const):
(WebCore::RenderLayerCompositor::reasonsForCompositing const):
(WebCore::RenderLayerCompositor::requiresCompositingForAnimation const):
(WebCore::RenderLayerCompositor::rootOrBodyStyleChanged):
(WebCore::RenderLayerCompositor::rootBackgroundColorOrTransparencyChanged):
- rendering/RenderLayerCompositor.h:
- rendering/RenderView.cpp:
(WebCore::RenderView::repaintViewAndCompositedLayers):
(WebCore::RenderView::usesCompositing const):
- 12:04 PM Changeset in webkit [238351] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed follow-up to r238343 to address debug assertions in 2 API tests.
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::networkProcessCrashed):
- 10:27 AM Changeset in webkit [238350] by
-
- 60 edits2 adds3 deletes in trunk
Web Inspector: Network: add button to show system certificate dialog
https://bugs.webkit.org/show_bug.cgi?id=191458
<rdar://problem/45977019>
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
- inspector/protocol/Network.json:
Add
getSerializedCertificatecommand.
Source/WebCore:
Test: http/tests/inspector/network/getSerializedCertificate.html
- inspector/agents/InspectorNetworkAgent.h:
- inspector/agents/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::getSerializedCertificate): Added.
- inspector/InspectorFrontendHost.idl:
- inspector/InspectorFrontendHost.h:
- inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::supportsShowCertificate): Added.
(WebCore::InspectorFrontendHost::showCertificate): Added.
- inspector/InspectorFrontendClient.h:
(InspectorFrontendClient::showCertificate): Added.
- testing/Internals.cpp:
(InspectorStubFrontend::showCertificate): Added.
- platform/network/cf/CertificateInfo.h:
(WTF::Persistence::encodeCFData): Added.
(WTF::Persistence::decodeCFData): Added.
(WTF::Persistence::encodeSecTrustRef): Added.
(WTF::Persistence::decodeSecTrustRef): Added.
(WTF::Persistence::encodeCertificateChain): Added.
(WTF::Persistence::decodeCertificateChain): Added.
(WTF::Persistence::Coder<WebCore::CertificateInfo>::encode): Added.
(WTF::Persistence::Coder<WebCore::CertificateInfo>::decode): Added.
- platform/network/cf/CertificateInfoCFNet.cpp:
- platform/network/cocoa/CertificateInfoCocoa.mm:
- platform/network/curl/CertificateInfo.h:
(WTF::Persistence::Coder<WebCore::CertificateInfo>::encode): Added.
(WTF::Persistence::Coder<WebCore::CertificateInfo>::decode): Added.
- platform/network/soup/CertificateInfo.h:
(WTF::Persistence::Coder<GRefPtr<GByteArray>>::encode): Added.
(WTF::Persistence::Coder<GRefPtr<GByteArray>>::decode): Added.
(WTF::Persistence::certificatesDataListFromCertificateInfo): Added.
(WTF::Persistence::certificateFromCertificatesDataList): Added.
(WTF::Persistence::Coder<WebCore::CertificateInfo>::encode): Added.
(WTF::Persistence::Coder<WebCore::CertificateInfo>::decode): Added.
Source/WebInspectorUI:
- UserInterface/Controllers/NetworkManager.js:
(WI.NetworkManager.supportsShowCertificate): Added.
- UserInterface/Models/Resource.js:
(WI.Resource.prototype.showCertificate): Added.
- UserInterface/Views/ResourceSecurityContentView.js:
(WI.ResourceSecurityContentView.prototype._refreshCetificateSection):
- UserInterface/Views/ResourceSecurityContentView.css:
(.resource-security .details > .show-certificate > .key): Added.
(.resource-security .details > .show-certificate > .key > .error): Added.
- Localizations/en.lproj/localizedStrings.js:
Source/WebKit:
- UIProcess/WebInspectorProxy.messages.in:
- UIProcess/WebInspectorProxy.h:
- UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::showCertificate): Added.
(WebKit::WebInspectorProxy::platformShowCertificate): Added.
- UIProcess/mac/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformShowCertificate): Added.
- UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformShowCertificate): Added.
- UIProcess/mac/WebInspectorProxyWPE.cpp:
(WebKit::WebInspectorProxy::platformShowCertificate): Added.
- UIProcess/mac/WebInspectorProxyWin.cpp:
(WebKit::WebInspectorProxy::platformShowCertificate): Added.
- WebProcess/WebPage/WebInspectorUI.h:
- WebProcess/WebPage/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::showCertificate): Added.
- UIProcess/RemoteWebInspectorProxy.messages.in:
- UIProcess/RemoteWebInspectorProxy.h:
- UIProcess/RemoteWebInspectorProxy.cpp:
(WebKit::RemoteWebInspectorProxy::showCertificate): Added.
(WebKit::RemoteWebInspectorProxy::platformShowCertificate): Added.
- UIProcess/mac/RemoteWebInspectorProxyGtk.cpp:
(WebKit::RemoteWebInspectorProxy::platformShowCertificate): Added.
- UIProcess/mac/RemoteWebInspectorProxyMac.mm:
(WebKit::RemoteWebInspectorProxy::platformShowCertificate): Added.
- WebProcess/WebPage/RemoteWebInspectorUI.h:
- WebProcess/WebPage/RemoteWebInspectorUI.cpp:
(WebKit::RemoteWebInspectorUI::showCertificate): Added.
- NetworkProcess/cache/NetworkCacheCoders.h:
- NetworkProcess/cache/NetworkCacheCodersCocoa.cpp: Removed.
- NetworkProcess/cache/NetworkCacheCodersCurl.cpp: Removed.
- NetworkProcess/cache/NetworkCacheCodersSoup.cpp: Removed.
Moved
WebCore::CertificateInfocode forWTF::EncoderandWTF::Decoderinto their
respective platform's CertificateInfo.h file.
- UIProcess/Authentication/mac/WebCredentialMac.mm:
- Configurations/WebKit.xcconfig:
- PlatformMac.cmake:
- PlatformWin.cmake:
- SourcesCocoa.txt:
- SourcesGTK.txt:
- SourcesWPE.txt:
- WebKit.xcodeproj/project.pbxproj:
Source/WebKitLegacy:
- WebCoreSupport/WebInspectorClientIOS.mm:
(WebInspectorFrontendClient::showCertificate): Added.
Source/WebKitLegacy/mac:
- WebCoreSupport/WebInspectorClient.h:
- WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::showCertificate): Added.
- Configurations/WebKitLegacy.xcconfig:
Source/WebKitLegacy/win:
- WebCoreSupport/WebInspectorClient.h:
- WebCoreSupport/WebInspectorClient.cpp:
(WebInspectorFrontendClient::showCertificate): Added.
LayoutTests:
- http/tests/inspector/network/getSerializedCertificate-expected.txt: Added.
- http/tests/inspector/network/getSerializedCertificate.html: Added.
- platform/gtk/TestExpectations:
- platform/wincairo/TestExpectations:
- platform/wpe/TestExpectations:
- 8:11 AM Changeset in webkit [238349] by
-
- 7 edits2 adds in trunk
[LFC][IFC] InlineFormattingState::addDetachingRule should accumulate rules.
https://bugs.webkit.org/show_bug.cgi?id=191801
Reviewed by Antti Koivisto.
Source/WebCore:
before<span style="position: relative">positioned</span>after
In the example above the <positioned> inline box has both the BreakAtStart and the BreakAtEnd rules.
While walking through the inline tree, we add BreakAtStart first and when we figure it's the last child too,
we add BreakAtEnd as well. BreakAtEnd should not clear the BreakAtStart rule.
Test: fast/inline/simple-inline-with-out-of-flow-descendant2.html
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::collectInlineContentForSubtree const):
- layout/inlineformatting/InlineFormattingState.cpp:
(WebCore::Layout::InlineFormattingState::addDetachingRule):
- layout/inlineformatting/InlineFormattingState.h:
(WebCore::Layout::InlineFormattingState::addDetachingRule): Deleted.
Tools:
- LayoutReloaded/misc/LFC-passing-tests.txt:
LayoutTests:
- fast/inline/simple-inline-with-out-of-flow-descendant2-expected.txt: Added.
- fast/inline/simple-inline-with-out-of-flow-descendant2.html: Added.
- 7:13 AM Changeset in webkit [238348] by
-
- 4 edits in trunk/Tools
Regression(r233865): Causes synchronous IPC in the middle of layout
https://bugs.webkit.org/show_bug.cgi?id=188307
<rdar://problem/42807306>
Reviewed by Eric Carlson.
Follow-up test fix for r238322:
In ExitFullscreenOnEnterPiP.ElementFullScreen, explicitly make the video
element in element fullscreen the "main content" by playing the video during
a user gesture; only "main content" videos will cause fullscreen mode to exit
when that element is taken into PiP.
In FullscreenZoomInitialFrame.WebKit, the WebView is not visible, so the Page
is considered hidden, and fullscreen is not allowed when the WebView is hidden.
Make the WebView visible by ordering the test window on-screen.
- TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.html:
- TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/mac/FullscreenZoomInitialFrame.mm:
(TestWebKitAPI::FullscreenZoomInitialFrame::runTest):
- 3:01 AM WebKitGTK/2.22.x edited by
- (diff)
- 3:01 AM Changeset in webkit [238347] by
-
- 7 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merged r237487 - Fix release build with -DLOG_DISABLED=0
https://bugs.webkit.org/show_bug.cgi?id=190866
Reviewed by Xabier Rodriguez-Calvar.
No new tests since no functionality changed.
- platform/graphics/Font.cpp:
- platform/graphics/Font.h:
- platform/graphics/FontPlatformData.h:
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
- platform/graphics/freetype/FontPlatformDataFreeType.cpp:
- platform/graphics/win/FontPlatformDataWin.cpp:
- 2:33 AM Changeset in webkit [238346] by
-
- 6 edits in trunk/Source/JavaScriptCore
Fix build with disabled DFG/FTL
https://bugs.webkit.org/show_bug.cgi?id=191256
Reviewed by Yusuke Suzuki.
Fix compilation errors and warnings with both DFG and FTL
disabled at compile-time.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::getICStatusMap):
- bytecode/InByIdStatus.cpp:
(JSC::InByIdStatus::computeFor):
- bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeFor):
(JSC::PutByIdStatus::hasExitSite): Deleted.
- bytecode/PutByIdStatus.h:
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_catch):
- 2:04 AM Changeset in webkit [238345] by
-
- 6 edits2 adds in trunk
Caret stops blinking after context menu shown
https://bugs.webkit.org/show_bug.cgi?id=191715
Patch by Jonathan Hammer <jonathan@e3software.com> on 2018-11-17
Reviewed by Ryosuke Niwa.
Source/WebCore:
Changed EventHandler::sendContextMenuEvent to un-suspend caret blinking so that
the caret continues to blink even after the context menu is dismissed. The normal
way of un-suspendeding caret blinking (in EventHandler::handleMouseReleaseEvent) does
not apply in the case of context menus because handleMouseReleaseEvent is not
called once the context menu is up.
Test: fast/events/contextmenu-dismiss-blink-caret.html
- page/EventHandler.cpp:
(WebCore::EventHandler::sendContextMenuEvent):
- testing/Internals.cpp:
(WebCore::Internals::isCaretBlinkingSuspended):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- fast/events/contextmenu-dismiss-blink-caret-expected.txt: Added.
- fast/events/contextmenu-dismiss-blink-caret.html: Added.
- 1:29 AM Changeset in webkit [238344] by
-
- 5 edits2 adds in trunk
[Pointer Events] event.isPrimary doesn't always represent the oldest active touch
https://bugs.webkit.org/show_bug.cgi?id=191752
<rdar://problem/46129270>
Reviewed by Dean Jackson.
Source/WebCore:
Provide isPrimary to the constructor so its value can be determined at the call site.
Test: pointerevents/ios/pointer-events-is-primary.html
- dom/PointerEvent.h:
- dom/ios/PointerEventIOS.cpp:
(WebCore::PointerEvent::create):
(WebCore::PointerEvent::PointerEvent):
(WebCore::m_isPrimary):
LayoutTests:
Add a new test that checks that adding a touch after another existing touch does not make it be
the primary touch, but that removing the first touch makes the second touch become the primary touch.
To do this we add a new ui.sequence() method that allows a series of touch actions to be performed
in a linear sequence. The test author can create a finger and call various actions on it, currently
begin(), move() and end().
When these actions are processed, we compute all "stationary" actions for each part of the sequence
so that we can provide this to the uiController.sendEventStream() function.
Finally, we add a way to track events received by the target and assert that the events that were
received match those that were expected.
- pointerevents/ios/pointer-events-is-primary-expected.txt: Added.
- pointerevents/ios/pointer-events-is-primary.html: Added.
- pointerevents/utils.js:
(prototype.handleEvent):
(prototype.assertMatchesEvents):
(const.ui.new.UIController):
(const.ui.new.UIController.prototype.finger):
(const.ui.new.UIController.prototype.pinchOut):
(const.ui.new.UIController.prototype.sequence):
(const.ui.new.UIController.prototype._runEvents):
(prototype.begin):
(prototype.move):
(prototype.end):
(prototype.stationary):
(prototype._action):