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

Timeline



Jun 18, 2018:

11:58 PM Changeset in webkit [232954] by keith_miller@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

JSImmutableButterfly should assert m_header is adjacent to the data
https://bugs.webkit.org/show_bug.cgi?id=186795

Reviewed by Saam Barati.

  • runtime/JSImmutableButterfly.cpp:
  • runtime/JSImmutableButterfly.h:
6:34 PM Changeset in webkit [232953] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix the build...

  • runtime/JSArray.cpp:

(JSC::JSArray::tryCreateUninitializedRestricted):

6:27 PM Changeset in webkit [232952] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, remove bad assertion.

  • runtime/JSArray.cpp:

(JSC::JSArray::tryCreateUninitializedRestricted):

4:53 PM Changeset in webkit [232951] by keith_miller@apple.com
  • 12 edits
    1 add in trunk

Properly zero unused property storage offsets
https://bugs.webkit.org/show_bug.cgi?id=186692

Reviewed by Filip Pizlo.

JSTests:

  • stress/butterfly-zero-unused-butterfly-properties.js: Added.

Source/JavaScriptCore:

Since the concurrent GC might see a property slot before the mutator has actually
stored the value there, we need to ensure that slot doesn't have garbage in it.

Right now when calling constructConvertedArrayStorageWithoutCopyingElements
or creating a RegExp matches array, we never cleared the unused
property storage. ObjectIntializationScope has also been upgraded
to look for our invariants around property storage. Additionally,
a new assertion has been added to check for JSValue() when adding
a new property.

We used to put undefined into deleted property offsets. To
make things simpler, this patch causes us to store JSValue() there
instead.

Lastly, this patch fixes an issue where we would initialize the
array storage of RegExpMatchesArray twice. First with 0 and
secondly with the actual result. Now we only zero memory between
vector length and public length.

  • runtime/Butterfly.h:

(JSC::Butterfly::offsetOfVectorLength):

  • runtime/ButterflyInlines.h:

(JSC::Butterfly::tryCreateUninitialized):
(JSC::Butterfly::createUninitialized):
(JSC::Butterfly::tryCreate):
(JSC::Butterfly::create):
(JSC::Butterfly::createOrGrowPropertyStorage):
(JSC::Butterfly::createOrGrowArrayRight):
(JSC::Butterfly::growArrayRight):
(JSC::Butterfly::resizeArray):

  • runtime/JSArray.cpp:

(JSC::JSArray::tryCreateUninitializedRestricted):
(JSC::createArrayButterflyInDictionaryIndexingMode): Deleted.

  • runtime/JSArray.h:

(JSC::tryCreateArrayButterfly):

  • runtime/JSObject.cpp:

(JSC::JSObject::createArrayStorageButterfly):
(JSC::JSObject::constructConvertedArrayStorageWithoutCopyingElements):
(JSC::JSObject::deleteProperty):
(JSC::JSObject::shiftButterflyAfterFlattening):

  • runtime/JSObject.h:
  • runtime/JSObjectInlines.h:

(JSC::JSObject::prepareToPutDirectWithoutTransition):

  • runtime/ObjectInitializationScope.cpp:

(JSC::ObjectInitializationScope::verifyPropertiesAreInitialized):

  • runtime/ObjectInitializationScope.h:

(JSC::ObjectInitializationScope::release):

  • runtime/RegExpMatchesArray.h:

(JSC::tryCreateUninitializedRegExpMatchesArray):
(JSC::createRegExpMatchesArray):

  • runtime/Butterfly.h:

(JSC::Butterfly::offsetOfVectorLength):

  • runtime/ButterflyInlines.h:

(JSC::Butterfly::tryCreateUninitialized):
(JSC::Butterfly::createUninitialized):
(JSC::Butterfly::tryCreate):
(JSC::Butterfly::create):
(JSC::Butterfly::createOrGrowPropertyStorage):
(JSC::Butterfly::createOrGrowArrayRight):
(JSC::Butterfly::growArrayRight):
(JSC::Butterfly::resizeArray):

  • runtime/JSArray.cpp:

(JSC::JSArray::tryCreateUninitializedRestricted):
(JSC::createArrayButterflyInDictionaryIndexingMode): Deleted.

  • runtime/JSArray.h:

(JSC::tryCreateArrayButterfly):

  • runtime/JSObject.cpp:

(JSC::JSObject::createArrayStorageButterfly):
(JSC::JSObject::constructConvertedArrayStorageWithoutCopyingElements):
(JSC::JSObject::deleteProperty):
(JSC::JSObject::shiftButterflyAfterFlattening):

  • runtime/JSObject.h:
  • runtime/JSObjectInlines.h:

(JSC::JSObject::prepareToPutDirectWithoutTransition):

  • runtime/ObjectInitializationScope.cpp:

(JSC::ObjectInitializationScope::verifyPropertiesAreInitialized):

  • runtime/RegExpMatchesArray.cpp:

(JSC::createEmptyRegExpMatchesArray):

  • runtime/RegExpMatchesArray.h:

(JSC::tryCreateUninitializedRegExpMatchesArray):
(JSC::createRegExpMatchesArray):

3:26 PM Changeset in webkit [232950] by wilander@apple.com
  • 2 edits in trunk/Source/WebKit

Resource Load Statistics: Make sure to call callbacks even if there is no store (test infrastructure)
https://bugs.webkit.org/show_bug.cgi?id=186777
<rdar://problem/41216181>

Reviewed by Chris Dumez.

  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:

(WKWebsiteDataStoreStatisticsUpdateCookiePartitioning):
(WKWebsiteDataStoreSetStatisticsShouldPartitionCookiesForHost):
(WKWebsiteDataStoreStatisticsClearInMemoryAndPersistentStore):
(WKWebsiteDataStoreStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours):

3:14 PM Changeset in webkit [232949] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Better pack ResourceRequest
https://bugs.webkit.org/show_bug.cgi?id=186717

Reviewed by Darin Adler.

Better pack ResourceRequest to reduce its size from 240 to 232 bytes
on Mac.

  • platform/network/ResourceRequestBase.h:
2:46 PM Changeset in webkit [232948] by Chris Dumez
  • 6 edits in trunk

Crash under WebProcessPool::networkProcessFailedToLaunch():
https://bugs.webkit.org/show_bug.cgi?id=186784
<rdar://problem/33535377>

Reviewed by Brady Eidson.

Source/WebKit:

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(+[WKProcessPool _allProcessPoolsForTesting]):
Add SPI to retrieve all WebProcessPool for testing purposes.

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::clearCallbackStates):
Make iteration over completion handlers robust against completion handlers
getting removed while we iterate.

(WebKit::NetworkProcessProxy::didClose):
Ref the WebProcessPool (which keeps the NetworkProcessProxy alive too)
as several calls within this method might cause the WebProcessPool /
NetworkProcessProxy to get destroyed.

Tools:

Add API test coverage.

  • TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:

(TEST):

2:45 PM Changeset in webkit [232947] by Chris Dumez
  • 4 edits in trunk/Source/WebKit

Implement IPC throttling to keep the main thread responsive when a process misbehaves
https://bugs.webkit.org/show_bug.cgi?id=186607

Reviewed by Geoffrey Garen.

Implement IPC throttling to keep the main thread responsive when a process misbehaves.
Instead of doing one main runloop dispatch per incoming message, we now do a single
runloop dispatch and process incoming messages in batch. We put a limit on the number
of messages to be processed in a batch (600). If the queue is larger that this limit,
we'll schedule a 0-timer to process remaining messages, giving the main runloop a chance
to process other events. Additionally, if an IPC connection keeps hitting this maximum
batch size limit, we implement back off and we'll further decrease the number of messages
we process in each batch (going as low as 60). This keeps Safari responsive enough to
allow the user to close the bad tab (even on older devices such as iPhone 5s).

Finally, if the incoming message queue becomes too large (50000), we go one step further
and kill the IPC connection in order to maintain performance / battery life.

Every time we apply throttling or terminate a connection due to throttling, we do a
RELEASE_LOG_ERROR() with useful information in order to help diagnose potential issues
in the future.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::Connection):
(IPC::Connection::enqueueIncomingMessage):
(IPC::Connection::MessagesThrottler::MessagesThrottler):
(IPC::Connection::MessagesThrottler::scheduleMessagesDispatch):
(IPC::Connection::MessagesThrottler::numberOfMessagesToProcess):
(IPC::Connection::dispatchIncomingMessages):

  • Platform/IPC/Connection.h:
  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::Connection::kill):

2:20 PM Changeset in webkit [232946] by graouts@webkit.org
  • 25 edits in trunk

[Web Animations] Implement "Starting of transitions" section from CSS Transitions
https://bugs.webkit.org/show_bug.cgi?id=186517
<rdar://problem/41000798>

Reviewed by Dean Jackson.

LayoutTests/imported/mozilla:

Mark some progressions in the Mozilla CSS Animations and CSS Transitions tests.

  • css-transitions/test_animation-cancel-expected.txt:
  • css-transitions/test_animation-ready-expected.txt:

Source/WebCore:

We implement the whole section at https://drafts.csswg.org/css-transitions-1/#starting so that we have spec-compliant starting of CSS Transitions.
To correctly implement this we now maintain two maps of transitions for a given property, a set of running transitions (m_elementToRunningCSSTransitionByCSSPropertyID)
and a set of completed transition (m_elementToCompletedCSSTransitionByCSSPropertyID).

  • animation/AnimationTimeline.cpp:

(WebCore::removeCSSTransitionFromMap): Add a utility to remove a CSSTransition from one of the two HashMap<Element*, HashMap<CSSPropertyID, RefPtr<CSSTransition>>>
managed by AnimationTimeline (m_elementToRunningCSSTransitionByCSSPropertyID and m_elementToCompletedCSSTransitionByCSSPropertyID).
(WebCore::AnimationTimeline::animationWasRemovedFromElement): Use the new removeCSSTransitionFromMap() utility.
(WebCore::AnimationTimeline::updateCSSAnimationsForElement): We rename "oldStyle" to "currentStyle" to align with the naming used by updateCSSAnimationsForElement().
We also remove an initial check that has been pushed up to Style::TreeResolver::createAnimatedElementUpdate().
(WebCore::propertyInStyleMatchesValueForTransitionInMap): When running the steps mandated by the spec we often need to check whether a given property has a transition
in an AnimationList that matches the value used in a given RenderStyle.
(WebCore::transitionCombinedDuration): We need to compute the combined duration twice while running the steps mandated by the spec, so we have a dedicated utility.
(WebCore::transitionMatchesProperty): New utility that indicates whether a WebCore::Animation matches a given property, by virtue of targeting it directly, targeting
a shorthand for which this property is a longhand, or targeting "all".
(WebCore::AnimationTimeline::updateCSSTransitionsForElement): This is where all of the new implementation for starting transitions happens. We implement the steps
as they appear in the spec.
(WebCore::shouldBackingAnimationBeConsideredForCSSTransition): Deleted.

  • animation/AnimationTimeline.h:
  • animation/CSSAnimation.cpp:

(WebCore::CSSAnimation::syncPropertiesWithBackingAnimation): Since only CSS Animations respect the delay and duration values as parsed directly in a WebCore:Animation
object, we move code that was previously in DeclarativeAnimation::syncPropertiesWithBackingAnimation to this method. CSS Transitions set those values based on the
delay and duration parameters passed to CSSTransition::create() and computed in AnimationTimeline::updateCSSTransitionsForElement().

  • animation/CSSTransition.cpp:

(WebCore::CSSTransition::create): Since the transition's delay and duration is computed in AnimationTimeline::updateCSSTransitionsForElement(), we now require them
to be passed when creating a CSSTransition and pass those to the new setTimingProperties() function. We also expect a target style and reversing-adjusted start style,
as well as a reversing-shortening factor.
(WebCore::CSSTransition::CSSTransition):
(WebCore::CSSTransition::resolve): We need to be able to query the last style computed by a call to resolve() from AnimationTimeline::updateCSSTransitionsForElement(),
we subclass this newly-virtual WebAnimation method and clone the style after we blended the property targeted by this transition.
(WebCore::CSSTransition::setTimingProperties): Set the transition delay and duration as provided in the call to create().
(WebCore::CSSTransition::canBeListed const): Fix a crash that was found while working on this bug where we could access a null effect.
(WebCore::CSSTransition::initialize): Deleted.
(WebCore::CSSTransition::matchesBackingAnimationAndStyles const): Deleted.

  • animation/CSSTransition.h:
  • animation/DeclarativeAnimation.cpp:

(WebCore::DeclarativeAnimation::syncPropertiesWithBackingAnimation): This virtual method now has an empty definition since the timing properties are now only set
for CSSAnimation.

  • animation/KeyframeEffectReadOnly.cpp:

(WebCore::KeyframeEffectReadOnly::stylesWouldYieldNewCSSTransitionsBlendingKeyframes const): Deleted.

  • animation/KeyframeEffectReadOnly.h:
  • animation/WebAnimation.h:
  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::AnimationPropertyWrapperBase::canInterpolate const): Since we need to be able to determine whether some property values can be interpolated, we add a new
canInterpolate() method to the base wrapper class so the cases where we can't interpolate values (length with an "auto" type) may return false.
(WebCore::LengthPropertyWrapper::LengthPropertyWrapper): Lengths can only be interpolated if both the start and end values are not "auto".
(WebCore::LengthVariantPropertyWrapper::LengthVariantPropertyWrapper):
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
(WebCore::CSSPropertyAnimation::canPropertyBeInterpolated):

  • page/animation/CSSPropertyAnimation.h:
  • style/StyleTreeResolver.cpp:

(WebCore::Style::TreeResolver::createAnimatedElementUpdate): Move a check found in both updateCSSAnimationsForElement() and updateCSSTransitionsForElement() to their
shared call site.

LayoutTests:

Implementing the CSS Transitions spec for starting transitions highlighted a couple of issues with existing tests.

  • TestExpectations: The test imported/mozilla/css-transitions/test_animation-ready.html now passes reliably.
  • animations/transition-and-animation-3-expected.txt:
  • animations/transition-and-animation-3.html: This test was mistakenly expecting a retargeted transition to pick

up from the underlying value (100px) rather than the interrupted transition's value (~0px). We update the test
to be more obvious about what it is testing and with the correct behavior per the spec.

  • transitions/background-position-transitions-expected.txt:
  • transitions/background-position-transitions.html: Shorthand properties are expected to yield a transitiong for

each shorthand property, so we update this test to check the background-position shorthand properties.

  • transitions/resources/transition-test-helpers.js: We uncovered a crash, which is not new to this patch, that forces

us to work around using the background-position longhand properties. So we work around this by reading from the shorthand
background-position property and manually parsing the value. Fixing this crash is tracked by webkit.org/b/186766.

  • transitions/transition-to-from-auto-expected.txt:
  • transitions/transition-to-from-auto.html: Update the test to check that we only yield transitions when interpolating

between non-auto values, as mandated by the spec.

2:14 PM Changeset in webkit [232945] by BJ Burg
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: TypeError: Array.prototype.sort passed bad value in NetworkTableContentView _updateSortAndFilteredEntries
https://bugs.webkit.org/show_bug.cgi?id=186787
<rdar://problem/41175680>

Reviewed by Timothy Hatcher.

  • UserInterface/Views/NetworkTableContentView.js:

(WI.NetworkTableContentView.prototype._updateSortAndFilteredEntries):

2:04 PM Changeset in webkit [232944] by n_wang@apple.com
  • 2 edits in trunk/Source/WebCore

AX: [macOS] When zoom is enabled, focus doesn't follow text cursor
https://bugs.webkit.org/show_bug.cgi?id=186697

Reviewed by Darin Adler.

Now that web process doesn't have access to NSScreen. The conversion of the
rects is wrong. Fixed this by using the right function that's available in
WebCore to get the rects.

  • editing/mac/FrameSelectionMac.mm:

(WebCore::accessibilityConvertScreenRect):

1:48 PM Changeset in webkit [232943] by youenn@apple.com
  • 12 edits in trunk

Expose RTCPeerConnectionIceEventInit constructor
https://bugs.webkit.org/show_bug.cgi?id=186770

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

  • web-platform-tests/webrtc/RTCPeerConnectionIceEvent-constructor-expected.txt:

Updated expectation as per patch.

  • web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl-expected.txt:

Rebasing this file, changes are unrelated but test is marked as flaky.

Source/WebCore:

Add event constructor as per specification.
Add support for the url attribute.
For that purpose, we need to pipe that information from LibWebRTCMediaEndpoint
up to RTCPeerConnectionIceEvent.

Covered by rebased test.

  • Modules/mediastream/PeerConnectionBackend.cpp:

(WebCore::PeerConnectionBackend::fireICECandidateEvent):
(WebCore::PeerConnectionBackend::disableICECandidateFiltering):
(WebCore::PeerConnectionBackend::newICECandidate):
(WebCore::PeerConnectionBackend::doneGatheringCandidates):
(WebCore::PeerConnectionBackend::finishedRegisteringMDNSName):

  • Modules/mediastream/PeerConnectionBackend.h:
  • Modules/mediastream/RTCPeerConnectionIceEvent.cpp:

(WebCore::RTCPeerConnectionIceEvent::create):
(WebCore::RTCPeerConnectionIceEvent::RTCPeerConnectionIceEvent):

  • Modules/mediastream/RTCPeerConnectionIceEvent.h:

(WebCore::RTCPeerConnectionIceEvent::url const):

  • Modules/mediastream/RTCPeerConnectionIceEvent.idl:
  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:

(WebCore::LibWebRTCMediaEndpoint::OnIceCandidate):

  • bindings/js/WebCoreBuiltinNames.h:
  • dom/EventNames.in:
1:11 PM Changeset in webkit [232942] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

SVGTransformListValues wastes 127KB of Vector capacity on nytimes.com
https://bugs.webkit.org/show_bug.cgi?id=186704

Reviewed by Said Abou-Hallawa.

SVGTransformListValues has inline capacity 1, and every SVGGraphicsElement has
a SVGSynchronizableAnimatedProperty<WebCore::SVGTransformListValues>, so the inline
capacity wastes space for every SVGGraphicsElement that doesn't have a transform (i.e.
most of them).

So make SVGTransformListValues have zero inline capacity, and set its min capacity to
2, rather than the default 16, since most transform lists are short.

  • svg/SVGTransformListValues.h:
12:28 PM Changeset in webkit [232941] by Said Abou-Hallawa
  • 3 edits
    2 adds in trunk

Document should not be mutated under SMILTimeContainer::updateAnimations()
https://bugs.webkit.org/show_bug.cgi?id=186658

Reviewed by Simon Fraser.

Source/WebCore:

To update the animation of an SVG <animate> element, we call
SVGAnimateElementBase::resetAnimatedType(). It ensures the pointer m_animator
is valid. If it animates a css property, it calls computeCSSPropertyValue()
which calls resolveStyle() via other calls. resolveStyle() may call delayed
callbacks through the destructor of PostResolutionCallbackDisabler. These
callbacks may fire events. These events may execute JS event handlers.
If one of these event handlers deletes the same SVG <animate> we animate,
we will end up calling SVGAnimateElementBase::resetAnimatedPropertyType()
of the same <animate> element. This function will delete the same m_animator
which resetAnimatedType() still holds and will use later. This code
re-entrance is unexpected and unwanted.

The fix is to disable mutating the DOM while updating the SVG animations.

Test: svg/dom/css-animate-input-foucs-crash.html

  • svg/animation/SMILTimeContainer.cpp:

(WebCore::SMILTimeContainer::updateAnimations):

LayoutTests:

  • svg/dom/css-animate-input-foucs-crash-expected.txt: Added.
  • svg/dom/css-animate-input-foucs-crash.html: Added.
12:13 PM Changeset in webkit [232940] by Wenson Hsieh
  • 2 edits in trunk/LayoutTests

fast/forms/button-set-display-flex-justifyContent-center.html is failing on macOS Mojave
https://bugs.webkit.org/show_bug.cgi?id=186776
<rdar://problem/41104962>

Fix a failing layout test by making the reference markup robust for changes to system button text color. This
system color is different in macOS Mojave, which causes this layout test to fail.

Reviewed by Beth Dakin.

  • fast/forms/button-set-display-flex-justifyContent-center-expected.html:
12:05 PM Changeset in webkit [232939] by Michael Catanzaro
  • 3 edits
    2 copies
    1 add
    1 delete in trunk/LayoutTests

Unreviewed GTK test gardening

  • TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/gtk/imported/w3c/web-platform-tests/css/WOFF2/directory-knowntags-001-expected.png: Renamed from LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/woff2/directory-knowntags-001-expected.png.
  • platform/gtk/imported/w3c/web-platform-tests/css/WOFF2/tabledata-glyf-origlength-003-expected.png: Renamed from LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/woff2/tabledata-glyf-origlength-003-expected.png.
12:01 PM Changeset in webkit [232938] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r232935.
https://bugs.webkit.org/show_bug.cgi?id=186783

This patch broke macOS 32-bit build (Requested by n_wang on
#webkit).

Reverted changeset:

"AX: [macOS] When zoom is enabled, focus doesn't follow text
cursor"
https://bugs.webkit.org/show_bug.cgi?id=186697
https://trac.webkit.org/changeset/232935

11:54 AM Changeset in webkit [232937] by jiewen_tan@apple.com
  • 4 edits in trunk/Source

Add a graceful exit for AuthenticationManager::initializeConnection
https://bugs.webkit.org/show_bug.cgi?id=186632
<rdar://problem/41041033>

Reviewed by Brent Fulgham.

Source/WebKit:

Add a graceful exit for AuthenticationManager::initializeConnection when the provided IPC connection
is null or the underlying xpc connection is null.

  • Shared/Authentication/cocoa/AuthenticationManagerCocoa.mm:

(WebKit::AuthenticationManager::initializeConnection):

Source/WTF:

  • wtf/spi/darwin/XPCSPI.h:
11:49 AM Changeset in webkit [232936] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk/Source/JavaScriptCore

Share structure across instances of classes exported through the ObjC API
https://bugs.webkit.org/show_bug.cgi?id=186579
<rdar://problem/40969212>

Patch by Tadeu Zagallo <Tadeu Zagallo> on 2018-06-18
Reviewed by Saam Barati.

A new structure was being created for each instance of exported ObjC
classes due to setting the prototype in the structure for every object,
since prototype transitions are not cached by the structure. Cache the
Structure in the JSObjcClassInfo to avoid the transition.

  • API/JSWrapperMap.mm:

(-[JSObjCClassInfo wrapperForObject:inContext:]):
(-[JSObjCClassInfo structureInContext:]):

  • API/tests/JSWrapperMapTests.h: Added.
  • API/tests/JSWrapperMapTests.mm: Added.

(+[JSWrapperMapTests testStructureIdentity]):
(runJSWrapperMapTests):

  • API/tests/testapi.mm:

(testObjectiveCAPIMain):

11:31 AM Changeset in webkit [232935] by n_wang@apple.com
  • 2 edits in trunk/Source/WebCore

AX: [macOS] When zoom is enabled, focus doesn't follow text cursor
https://bugs.webkit.org/show_bug.cgi?id=186697

Reviewed by Darin Adler.

Now that web process doesn't have access to NSScreen. The conversion of the
rects is wrong. Fixed this by using the right function that's available in
WebCore to convert the rects.

  • editing/mac/FrameSelectionMac.mm:

(WebCore::accessibilityConvertScreenRect):

10:55 AM Changeset in webkit [232934] by msaboff@apple.com
  • 16 edits in trunk

Support Unicode 11 in RegExp
https://bugs.webkit.org/show_bug.cgi?id=186685

Reviewed by Mark Lam.

JSTests:

  • test262/config.yaml: Removed from skip list Unicode 11 property tests as they

are now supported. Added new bug reference for still failing
test/built-ins/RegExp/property-escapes/character-class.js test.

  • test262/test/built-ins/RegExp/property-escapes/unsupported-binary-properties.js:

Removed "Extended_Pictographic" from unsupported properties since Unicode 11 now supports them.

Source/JavaScriptCore:

Updated the UCD tables used to generate RegExp property tables to version 11.0.

  • Scripts/generateYarrUnicodePropertyTables.py:
  • ucd/CaseFolding.txt:
  • ucd/DerivedBinaryProperties.txt:
  • ucd/DerivedCoreProperties.txt:
  • ucd/DerivedNormalizationProps.txt:
  • ucd/PropList.txt:
  • ucd/PropertyAliases.txt:
  • ucd/PropertyValueAliases.txt:
  • ucd/ScriptExtensions.txt:
  • ucd/Scripts.txt:
  • ucd/UnicodeData.txt:
  • ucd/emoji-data.txt:
10:30 AM Changeset in webkit [232933] by youenn@apple.com
  • 10 edits
    3 adds in trunk

Validate Cross-Origin-Resource-Policy for resources cached in the MemoryCache
https://bugs.webkit.org/show_bug.cgi?id=186639
<rdar://problem/41106984>

Reviewed by Geoffrey Garen.

Source/WebCore:

Add a method to check CORP.
Make use of it to validate any memory cached resource.
Whitelist CORP header so that it is not filtered out by Network Process.

Test: http/wpt/cross-origin-resource-policy/image-in-iframe-loads.html

  • loader/CrossOriginAccessControl.cpp:

(WebCore::shouldCrossOriginResourcePolicyCancelLoad):
(WebCore::validateCrossOriginResourcePolicy):

  • loader/CrossOriginAccessControl.h:
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):

  • platform/network/ResourceResponseBase.cpp:

(WebCore::isSafeRedirectionResponseHeader):
(WebCore::isSafeCrossOriginResponseHeader):

Source/WebKit:

Make use of WebCore method to check CORP.

  • NetworkProcess/NetworkLoadChecker.cpp:

(WebKit::NetworkLoadChecker::validateResponse):

  • NetworkProcess/NetworkLoadChecker.h:

LayoutTests:

  • http/wpt/cross-origin-resource-policy/image-in-iframe-loads-expected.txt: Added.
  • http/wpt/cross-origin-resource-policy/image-in-iframe-loads.html: Added.
  • http/wpt/cross-origin-resource-policy/resources/iframeImage.html: Added.
  • http/wpt/cross-origin-resource-policy/resources/image.py:

(main):

8:55 AM Changeset in webkit [232932] by clopez@igalia.com
  • 8 edits in trunk/Source

[WTF] Remove workarounds needed to support libstdc++-4
https://bugs.webkit.org/show_bug.cgi?id=186762

Reviewed by Michael Catanzaro.

Source/JavaScriptCore:

Revert r226299, r226300 r226301 and r226302.

  • API/tests/TypedArrayCTest.cpp:

(assertEqualsAsNumber):

Source/WebCore:

Revert r226299, r226300 r226301 and r226302.

No new tests, no change in behaviour.

  • platform/graphics/FontSelectionAlgorithm.h:

(WebCore::FontSelectionValue::clampFloat):

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::MediaPlayerPrivateAVFoundationCF::currentMediaTime const):

  • platform/graphics/win/UniscribeController.cpp:

(WebCore::UniscribeController::shapeAndPlaceItem):

Source/WTF:

Revert r226299, r226300 r226301 and r226302-

  • wtf/StdLibExtras.h:
8:40 AM Changeset in webkit [232931] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[Threaded paintingEngine] Fix rendering glitches
https://bugs.webkit.org/show_bug.cgi?id=186764

Patch by Karl Leplat <karl.leplat_ext@softathome.com> on 2018-06-18
Reviewed by Žan Doberšek.

Source/WebCore:

  • platform/graphics/nicosia/NicosiaPaintingEngineBasic.cpp:

(Nicosia::PaintingEngineBasic::paint):
To keep backwards compatibility with no multi-threaded,
we call Nicosia::Buffer functions beginPainting() and completePainting().

Source/WebKit:

  • Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp:

(WebKit::CoordinatedBackingStoreTile::swapBuffers):
We call Nicosia::Buffer function waitUntilPaintingComplete()
in order to synchronize of using Nicosia:buffer between MainThread
and ThreadedCompositor.

7:00 AM Changeset in webkit [232930] by zandobersek@gmail.com
  • 3 edits in trunk/Tools

[webkitpy] WPTRunner should remove any metadata content before (re)generating it
https://bugs.webkit.org/show_bug.cgi?id=186755

Reviewed by Carlos Garcia Campos.

WPTRunner generates the WPT-compliant metadata content before each test
run. Before it does so, it should remove the complete target directory
for this metadata, allowing any change in the expectations JSON to be
immediately reflected.

For example, if a test failure expectation is removed, the related .ini
metadata file is not generated anymore, but the stale .ini file isn't
removed from the current metadata directory. To avoid this, purging
the metadata directory and regenerating it from scratch should be done
for each test run.

  • Scripts/webkitpy/w3c/wpt_runner.py:

(WPTRunner._generate_metadata_directory):

  • Scripts/webkitpy/w3c/wpt_runner_unittest.py:

(WPTRunnerTest.test_generate_metadata_directory):

6:43 AM Changeset in webkit [232929] by tpopela@redhat.com
  • 2 edits in trunk/Source/WebCore

Properly check the sscanf return valua
https://bugs.webkit.org/show_bug.cgi?id=186757

Reviewed by Carlos Garcia Campos.

Check if we matched anything and if we matched the expected amount of
data.

  • page/linux/ResourceUsageThreadLinux.cpp:

(WebCore::cpuPeriod):

6:35 AM Changeset in webkit [232928] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore

[GTK] Wrong variable used in RenderThemeGtk
https://bugs.webkit.org/show_bug.cgi?id=186756

Patch by Tomas Popela <tpopela@redhat.com> on 2018-06-18
Reviewed by Carlos Garcia Campos.

Use SliderThumbHorizontalPart instead of SliderHorizontalPart.

  • rendering/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::adjustSliderThumbSize const):

3:45 AM Changeset in webkit [232927] by zandobersek@gmail.com
  • 2 edits in trunk

Unreviewed GTK+ gardening. Updating the WPT expectations by removing
failure expectations for 2dcontext tests covering CSS HSL/HSLA color
parsing and createImageBitmap() API that are nowadays passing.

  • WebPlatformTests/gtk/TestExpectations.json:
2:07 AM Changeset in webkit [232926] by zandobersek@gmail.com
  • 2 edits
    15 adds in trunk/LayoutTests

Unreviewed WPE gardening. Manage the current set of CSS3 Filters and
legacy animation engine failures. Add the necessary failure expectations
and missing layout test baselines.

  • platform/wpe/TestExpectations:
  • platform/wpe/legacy-animation-engine/css3/filters/composited-during-animation-layertree-expected.txt: Added.
  • platform/wpe/legacy-animation-engine/css3/filters/composited-during-transition-layertree-expected.txt: Added.
  • platform/wpe/legacy-animation-engine/fast/text/crash-complex-text-surrogate-expected.txt: Added.
  • platform/wpe/legacy-animation-engine/media/track/opera/track/webvtt/rendering/adhoc/cue_font_size_transition-expected.txt: Added.
1:54 AM Changeset in webkit [232925] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

[GStreamer] Crash when adding in-band text track with playbin3 enabled
https://bugs.webkit.org/show_bug.cgi?id=186654

Reviewed by Xabier Rodriguez-Calvar.

Text track indexes should be relative to the total amount of
in-band text tracks. The previous code would induce the creation
of in-band text tracks with indexes relative to the total amount
of all in-band (audio, video, text) tracks.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::updateTracks):

1:40 AM Changeset in webkit [232924] by zandobersek@gmail.com
  • 3 edits
    2 adds in trunk/LayoutTests

Unreviewed WPE gardening. Updating or adding baselines for a quadruple
of tests that are otherwise failing with a text-only failure.

  • platform/wpe/fast/canvas/webgl/index-validation-with-subsequent-draws-expected.txt: Added.
  • platform/wpe/fast/canvas/webgl/webgl-draw-buffers-expected.txt:
  • platform/wpe/fullscreen/full-screen-layer-dump-expected.txt: Added.
  • platform/wpe/js/dom/constructor-length-expected.txt:
12:38 AM Changeset in webkit [232923] by zandobersek@gmail.com
  • 1 edit
    8 adds in trunk/LayoutTests

Unreviewed WPE gardening. Adding platform-specific baselines for
WebCrypto tests whose baselines were changed in r232903.

  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.any-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.any.worker-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.any-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.any.worker-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any.worker-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.any-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.any.worker-expected.txt: Added.

Jun 17, 2018:

11:09 PM Changeset in webkit [232922] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed WPE gardening. Manage the 8 crashing tests that are failing
due to improper std::optional handling.

  • platform/wpe/TestExpectations:
10:38 PM Changeset in webkit [232921] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Crash under SuspendedPageProxy::~SuspendedPageProxy()
https://bugs.webkit.org/show_bug.cgi?id=186688
<rdar://problem/41060769>

Reviewed by Darin Adler.

Ref the WebProcessProxy before calling suspendedPageWasDestroyed() on it as this
might cause the WebProcessProxy / WebProcessPool to get destroyed otherwise, and
we would crash trying to call unregisterSuspendedPageProxy() on the WebProcessPool
on the next line.

  • UIProcess/SuspendedPageProxy.cpp:

(WebKit::SuspendedPageProxy::~SuspendedPageProxy):

1:40 PM Changeset in webkit [232920] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Anonymous block collapsing can destroy the renderer's parent.
https://bugs.webkit.org/show_bug.cgi?id=186655
<rdar://problem/41157554>

Reviewed by Antti Koivisto.

Source/WebCore:

While destroying a chain of renderers (text renderer -> first letter renderer), we need to
check if the anonymous block collapsing destroyed the parent renderer (see webkit.org/b/186746).

Test: fast/text/first-letter-with-anon-wrapper-crash.html

  • rendering/updating/RenderTreeBuilder.cpp:

(WebCore::RenderTreeBuilder::destroyAndCleanUpAnonymousWrappers):

LayoutTests:

  • fast/text/first-letter-with-anon-wrapper-crash-expected.txt: Added.
  • fast/text/first-letter-with-anon-wrapper-crash.html: Added.
12:32 PM Changeset in webkit [232919] by Michael Catanzaro
  • 2 edits in trunk/LayoutTests

More unreviewed GTK test gardening.

  • platform/gtk/TestExpectations:
12:16 PM Changeset in webkit [232918] by Michael Catanzaro
  • 2 edits in trunk

[CMake] Automatically disable JIT and enable USE_SYSTEM_MALLOC on unfamiliar architectures
https://bugs.webkit.org/show_bug.cgi?id=186722

Reviewed by Darin Adler.

We know that the JSC JIT and bmalloc both work on only a limited set of architectures. In
Fedora, we have to manually disable these when building for s390x, ppc64, and ppc64le. But
it's really easy to do the right thing automatically, so we might as well.

  • Source/cmake/WebKitFeatures.cmake:
12:12 PM Changeset in webkit [232917] by Michael Catanzaro
  • 2 edits
    11 adds in trunk/LayoutTests

Unreviewed GTK test gardening.

This primarily adds new expected results after the last WPT import.

  • platform/gtk/TestExpectations:
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.any-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.any.worker-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.any-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.any.worker-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any.worker-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.any-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.any.worker-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/css/woff2/directory-knowntags-001-expected.png: Added.
  • platform/gtk/imported/w3c/web-platform-tests/css/woff2/tabledata-glyf-origlength-003-expected.png: Added.
11:37 AM Changeset in webkit [232916] by Wenson Hsieh
  • 12 edits
    24 copies
    6 adds
    6 deletes in trunk

[WebKit on watchOS] Upstream watchOS source additions to OpenSource (Part 3)
https://bugs.webkit.org/show_bug.cgi?id=186442
<rdar://problem/40879364>

Reviewed by Darin Adler.

Source/WebCore:

Rename references to "Extra zoom mode". No change in behavior.

  • page/DisabledAdaptations.cpp:

(WebCore::watchAdaptationName):
(WebCore::extraZoomModeAdaptationName): Deleted.

  • page/DisabledAdaptations.h:
  • page/ViewportConfiguration.cpp:

(WebCore::needsUpdateAfterChangingDisabledAdaptations):
(WebCore::ViewportConfiguration::shouldOverrideDeviceWidthAndShrinkToFit const):

  • page/WindowFeatures.cpp:

(WebCore::parseDisabledAdaptations):

  • testing/Internals.cpp:

(WebCore::Internals::extraZoomModeAdaptationName const): Deleted.

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit:

Rename a category referencing "Extra zoom mode".

  • UIProcess/ios/WKContentViewInteraction.mm:

LayoutTests:

Rename extrazoom layout test directories to watchos.

  • TestExpectations:
  • fast/css/watchos/viewport-units-shrink-to-fit-expected.txt: Renamed from LayoutTests/fast/css/extrazoom/viewport-units-shrink-to-fit-expected.txt.
  • fast/css/watchos/viewport-units-shrink-to-fit.html: Renamed from LayoutTests/fast/css/extrazoom/viewport-units-shrink-to-fit.html.
  • fast/dom/Window/watchos/window-get-real-screen-dimensions-expected.txt: Renamed from LayoutTests/fast/dom/Window/extrazoom/window-get-real-screen-dimensions-expected.txt.
  • fast/dom/Window/watchos/window-get-real-screen-dimensions.html: Renamed from LayoutTests/fast/dom/Window/extrazoom/window-get-real-screen-dimensions.html.
  • fast/events/watchos/change-focus-during-change-event-expected.txt: Renamed from LayoutTests/fast/events/extrazoom/change-focus-during-change-event-expected.txt.
  • fast/events/watchos/change-focus-during-change-event.html: Renamed from LayoutTests/fast/events/extrazoom/change-focus-during-change-event.html.
  • fast/events/watchos/double-tap-to-zoom-on-full-width-text-expected.txt: Renamed from LayoutTests/fast/events/extrazoom/double-tap-to-zoom-on-full-width-text-expected.txt.
  • fast/events/watchos/double-tap-to-zoom-on-full-width-text.html: Renamed from LayoutTests/fast/events/extrazoom/double-tap-to-zoom-on-full-width-text.html.
  • fast/events/watchos/double-tap-to-zoom-with-large-text-expected.txt: Renamed from LayoutTests/fast/events/extrazoom/double-tap-to-zoom-with-large-text-expected.txt.
  • fast/events/watchos/double-tap-to-zoom-with-large-text.html: Renamed from LayoutTests/fast/events/extrazoom/double-tap-to-zoom-with-large-text.html.
  • fast/forms/watchos/delete-content-in-text-field-expected.txt: Renamed from LayoutTests/fast/forms/extrazoom/delete-content-in-text-field-expected.txt.
  • fast/forms/watchos/delete-content-in-text-field.html: Renamed from LayoutTests/fast/forms/extrazoom/delete-content-in-text-field.html.
  • fast/forms/watchos/edit-text-field-calls-injected-bundle-expected.txt: Renamed from LayoutTests/fast/forms/extrazoom/edit-text-field-calls-injected-bundle-expected.txt.
  • fast/forms/watchos/edit-text-field-calls-injected-bundle.html: Renamed from LayoutTests/fast/forms/extrazoom/edit-text-field-calls-injected-bundle.html.
  • fast/forms/watchos/form-control-label-text-expected.txt: Renamed from LayoutTests/fast/forms/extrazoom/form-control-label-text-expected.txt.
  • fast/forms/watchos/form-control-label-text.html: Renamed from LayoutTests/fast/forms/extrazoom/form-control-label-text.html.
  • fast/forms/watchos/time-picker-value-change-expected.txt: Renamed from LayoutTests/fast/forms/extrazoom/time-picker-value-change-expected.txt.
  • fast/forms/watchos/time-picker-value-change.html: Renamed from LayoutTests/fast/forms/extrazoom/time-picker-value-change.html.
  • fast/viewport/watchos/viewport-adaptations-after-navigation-expected.txt: Renamed from LayoutTests/fast/viewport/extrazoom/viewport-adaptations-after-navigation-expected.txt.
  • fast/viewport/watchos/viewport-adaptations-after-navigation.html: Renamed from LayoutTests/fast/viewport/extrazoom/viewport-adaptations-after-navigation.html.
  • fast/viewport/watchos/viewport-disable-extra-zoom-adaptations-expected.txt: Renamed from LayoutTests/fast/viewport/extrazoom/viewport-disable-extra-zoom-adaptations-expected.txt.
  • fast/viewport/watchos/viewport-disable-extra-zoom-adaptations.html: Renamed from LayoutTests/fast/viewport/extrazoom/viewport-disable-extra-zoom-adaptations.html.
  • fast/visual-viewport/watchos/layout-viewport-after-scrolling-and-resizing-expected.txt: Renamed from LayoutTests/fast/visual-viewport/extrazoom/layout-viewport-after-scrolling-and-resizing-expected.txt.
  • fast/visual-viewport/watchos/layout-viewport-after-scrolling-and-resizing.html: Renamed from LayoutTests/fast/visual-viewport/extrazoom/layout-viewport-after-scrolling-and-resizing.html.
11:03 AM Changeset in webkit [232915] by youenn@apple.com
  • 7 edits in trunk

Rename Document::hasHadActiveMediaStreamTrack to Document::hasHadCaptureMediaStreamTrack
https://bugs.webkit.org/show_bug.cgi?id=186743
rdar://problem/41151193

Reviewed by Eric Carlson.

Source/WebCore:

Covered by existing tests.

Rename setter and getter to be more accurate.
Move the place to call the setter to when creating a capture stream.

  • Modules/mediastream/MediaDevicesRequest.cpp:

(WebCore::MediaDevicesRequest::start):

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::statusDidChange):

  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::mediaStreamIsReady):

  • dom/Document.h:

(WebCore::Document::setHasCaptureMediaStreamTrack):
(WebCore::Document::hasHadCaptureMediaStreamTrack const):
(WebCore::Document::setHasActiveMediaStreamTrack): Deleted.
(WebCore::Document::hasHadActiveMediaStreamTrack const): Deleted.

LayoutTests:

  • fast/mediastream/media-devices-enumerate-devices.html:
9:37 AM Changeset in webkit [232914] by Alan Bujtas
  • 8 edits in trunk/Source/WebCore

[LFC] DisplayBox API should be more clear about height/width vs. contentBoxHeight/width
https://bugs.webkit.org/show_bug.cgi?id=186744

Reviewed by Antti Koivisto.

Display::Box::height/width -> border box size.
Display::Box::contentBoxHeight/width -> content box size.
Display::Box::top/left/bottom/right -> border box position in the containing box's coordinate system.
Display::Box::marginBox/borderBox/paddingBox/contentBox -> relative to border box (border box is { 0, 0 })

(This patch also removes the box-sizing logic from Display::Box. FormattingContext::Geometry should set the
correct contentBoxSize/borderBoxSize based on the CSS property.)

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeFloatingHeightAndMargin const):
(WebCore::Layout::FormattingContext::computeFloatingWidthAndMargin const):
(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry const):
(WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry const):
(WebCore::Layout::FormattingContext::validateGeometryConstraintsAfterLayout const):

  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::computedPadding):
(WebCore::Layout::FormattingContext::Geometry::computedNonCollapsedHorizontalMarginValue):
(WebCore::Layout::FormattingContext::Geometry::computedNonCollapsedVerticalMarginValue):

  • layout/LayoutContext.cpp:

(WebCore::Layout::LayoutContext::initializeRoot):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computeInFlowHeightAndMargin const):
(WebCore::Layout::BlockFormattingContext::computeInFlowWidthAndMargin const):

  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::staticPosition):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowPositionedPosition):

  • layout/displaytree/DisplayBox.cpp:

(WebCore::Display::Box::marginBox const):
(WebCore::Display::Box::borderBox const):
(WebCore::Display::Box::paddingBox const):
(WebCore::Display::Box::contentBox const):

  • layout/displaytree/DisplayBox.h:

(WebCore::Display::Box::top const):
(WebCore::Display::Box::left const):
(WebCore::Display::Box::bottom const):
(WebCore::Display::Box::right const):
(WebCore::Display::Box::topLeft const):
(WebCore::Display::Box::bottomRight const):
(WebCore::Display::Box::size const):
(WebCore::Display::Box::width const):
(WebCore::Display::Box::height const):
(WebCore::Display::Box::rect const):
(WebCore::Display::Box::setTopLeft):
(WebCore::Display::Box::setTop):
(WebCore::Display::Box::setLeft):
(WebCore::Display::Box::moveHorizontally):
(WebCore::Display::Box::moveVertically):
(WebCore::Display::Box::setHasValidContentHeight):
(WebCore::Display::Box::setHasValidContentWidth):
(WebCore::Display::Box::setContentBoxHeight):
(WebCore::Display::Box::setContentBoxWidth):
(WebCore::Display::Box::contentBoxHeight const):
(WebCore::Display::Box::contentBoxWidth const):
(WebCore::Display::Box::setWidth): Deleted.
(WebCore::Display::Box::setHeight): Deleted.
(WebCore::Display::Box::setSize): Deleted.

8:47 AM Changeset in webkit [232913] by commit-queue@webkit.org
  • 5 edits in trunk

[GTK] Correct behavior for dark themes
https://bugs.webkit.org/show_bug.cgi?id=186219

Source/WebCore:

Patch by Carlos Eduardo Ramalho <cadubentzen@gmail.com> on 2018-06-17
Reviewed by Michael Catanzaro.

Override RenderThemeGtk::isControlStyled() to not style
text inputs if color is set different than default.

No new tests. Manual theme test and existing layout tests already cover it.

  • rendering/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::isControlStyled const):

  • rendering/RenderThemeGtk.h:

LayoutTests:

Update expectations in reftests expected to fail due to not
styling text inputs with GTK when color is different than default color.

Patch by Carlos Eduardo Ramalho <cadubentzen@gmail.com> on 2018-06-17
Reviewed by Michael Catanzaro.

  • platform/gtk/TestExpectations:
8:29 AM Changeset in webkit [232912] by mark.lam@apple.com
  • 2 edits in branches/safari-605-branch/JSTests

Skipping test for disabled feature on branch.
rdar://problem/40564243

  • stress/function-caller-async-generator-body.js:
Note: See TracTimeline for information about the timeline view.