Timeline



Jun 4, 2018:

11:44 PM Changeset in webkit [232505] by eocanha@igalia.com
  • 4 edits in trunk/Source/WebCore

[GStreamer][MSE] MediaPlayerPrivateGStreamerMSE.h includes and forward declares PlaybackPipeline
https://bugs.webkit.org/show_bug.cgi?id=186190

Reviewed by Xabier Rodriguez-Calvar.

This is just a compilation improvement.

  • platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
  • platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:
  • platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.cpp:
10:38 PM Changeset in webkit [232504] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebDriver

[WPE] WebDriver: stop making mandatory to provide a browser path if wpe:browserOptions is present in capabilities
https://bugs.webkit.org/show_bug.cgi?id=186264

Reviewed by Žan Doberšek.

Everything should be optional. Do not consider invalid to not provide a browser binary when wpe:browserOptions
is present.

  • wpe/WebDriverServiceWPE.cpp:

(WebDriver::WebDriverService::platformParseCapabilities const):

9:40 PM Changeset in webkit [232503] by mitz@apple.com
  • 2 edits in trunk/Tools

Fixed building ImageDiff with the default build system in the Xcode 10 developer beta.

  • ImageDiff/cg/Configurations/Base.xcconfig: Use #include? to include HaveInternalSDK.xcconfig, since it may not be preent.
9:21 PM Changeset in webkit [232502] by mitz@apple.com
  • 2 edits in trunk/Tools

Fixed building with a shared build directory with XCBuild, which is the default build system
in the Xcode 10 developer beta.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Changed the reference to the built libWTF.a to be relative to the built products directory.
9:13 PM Changeset in webkit [232501] by Darin Adler
  • 52 edits in trunk/Source/WebCore

[Cocoa] Update more code to be more ARC-compatible to prepare for future ARC adoption
https://bugs.webkit.org/show_bug.cgi?id=186245

Reviewed by Daniel Bates.

  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

(convertToNSArray): Explicitly cast to WebAccessibilityObjectWrapperBase so we don't
make method calls on WebAccessibilityObjectWrapper, a forward-declared class.
(-[WebAccessibilityObjectWrapperBase convertPathToScreenSpace:]): Use CFAutorelease
for the CGPathRef return value instead of Objective-C autorelease. Another option
would be to use RetainPtr for the return type instead.

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(AXObjectIsTextMarker): Use bridge for bridging typecast.
(AXObjectIsTextMarkerRange): Ditto.
(AXTextMarkerRange): Ditto.
(AXTextMarkerRangeStart): Ditto.
(AXTextMarkerRangeEnd): Ditto.
(isTextMarkerIgnored): Ditto.
(accessibilityObjectForTextMarker): Ditto.
(-[WebAccessibilityObjectWrapper characterOffsetForTextMarker:]): Ditto.
(-[WebAccessibilityObjectWrapper visiblePositionForTextMarker:]): Ditto.
(visiblePositionForStartOfTextMarkerRange): Ditto.
(visiblePositionForEndOfTextMarkerRange): Ditto.
(AXAttributeStringSetFont): Ditto. Also use @{} syntax to make NSDictionary
and @() to make NSNumber.
(AXAttributeStringSetColor): Use
bridge for bridging typecast, rearranging
code so that the typecasts are on function arguments, not local variables,
which makes lifetimes clearer.
(AXAttributeStringSetElement): Use bridge for bridging typecast.
(WebTransformCGPathToNSBezierPath):
(-[WebAccessibilityObjectWrapper bezierPathFromPath:]): Added a bridging
typecast when passing an NSBezierPath through as a void* context argument;
silent conversion to void* is not compatible with ARC.
(createAccessibilityRoleMap): Use
unsafe_unretained for a table of
NSString constants.

  • bindings/js/ScriptControllerMac.mm:

(WebCore::ScriptController::createScriptInstanceForWidget): Use bridge
for bridging typecast.

  • bridge/objc/objc_class.mm:

(JSC::Bindings::ObjcClass::classForIsA): Added bridging typecasts
to convert a Class into a CFTypeRef.
(JSC::Bindings::ObjcClass::methodNamed const): Use bridge for bridging
typecast.
(JSC::Bindings::ObjcClass::fieldNamed const): Ditto.

  • bridge/objc/objc_instance.mm:

(ObjcInstance::invokeObjcMethod): Ditto.

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::ObjcField::valueFromInstance const): Ditto.
(JSC::Bindings::ObjcField::setValueToInstance const): Ditto.

  • bridge/objc/objc_utility.mm:

(JSC::Bindings::convertObjcValueToValue): Ditto. Also add a missing const
to make it clearer to the compiler that the code is correct.

  • crypto/mac/SerializedCryptoKeyWrapMac.mm:

(WebCore::createAndStoreMasterKey): Ditto.
(WebCore::findMasterKey): Ditto.

  • editing/cocoa/DataDetection.mm:

(WebCore::detectItemAtPositionWithRange): Ditto.

  • editing/cocoa/EditorCocoa.mm:

(WebCore::Editor::fontAttributesForSelectionStart const): Ditto.

  • editing/cocoa/HTMLConverter.mm:

(_font): Ditto.
(fileWrapperForElement): Ditto.

  • fileapi/FileCocoa.mm:

(WebCore::File::shouldReplaceFile): Ditto.

  • loader/archive/cf/LegacyWebArchiveMac.mm:

(WebCore::LegacyWebArchive::createResourceResponseFromMacArchivedData): Ditto.

  • page/mac/TextIndicatorWindow.mm:

(-[WebTextIndicatorView initWithFrame:textIndicator:margin:offset:]): Ditto.
(createContentCrossfadeAnimation): Ditto.

  • platform/cocoa/LocalizedStringsCocoa.mm:

(WebCore::localizedString): Ditto.

  • platform/cocoa/SharedBufferCocoa.mm:

(WebCore::SharedBuffer::create): Ditto.
(WebCore::SharedBuffer::append): Ditto.

  • platform/graphics/FontPlatformData.h:

(WebCore::toCTFont): Ditto.
(WebCore::toNSFont): Ditto.

  • platform/graphics/avfoundation/objc/AVAssetTrackUtilities.mm:

(WebCore::assetTrackMeetsHardwareDecodeRequirements): Ditto.

  • platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:

(WebCore::ImageDecoderAVFObjC::storeSampleBuffer): Ditto.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateLastImage): Ditto.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateCurrentFrameImage): Ditto.

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(WebCore::MediaDescriptionAVFObjC::MediaDescriptionAVFObjC): Ditto.
(WebCore::bufferWasConsumedCallback): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::enqueueSample): Ditto.

  • platform/graphics/avfoundation/objc/VideoFullscreenLayerManagerObjC.mm:

(WebCore::VideoFullscreenLayerManagerObjC::updateVideoFullscreenInlineImage): Ditto.
(WebCore::VideoFullscreenLayerManagerObjC::setVideoFullscreenLayer): Ditto.

  • platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:

(PlatformCALayerCocoa::create): Ditto.
(PlatformCALayer::platformCALayer): Ditto.
(PlatformCALayerCocoa::superlayer const): Ditto.
(PlatformCALayerCocoa::contents const): Ditto.
(PlatformCALayerCocoa::setContents): Ditto.

  • platform/graphics/cocoa/IOSurface.h: Ditto.
  • platform/graphics/cocoa/TextTrackRepresentationCocoa.mm:

(TextTrackRepresentationCocoa::update): Ditto.

  • platform/graphics/cocoa/WebCoreDecompressionSession.mm:

(WebCore::WebCoreDecompressionSession::ensureDecompressionSessionForSample): Ditto.
(WebCore::WebCoreDecompressionSession::resetQosTier): Ditto.

  • platform/graphics/cocoa/WebGLLayer.mm:

(-[WebGLLayer display]): Ditto.

  • platform/graphics/mac/ImageMac.mm:

(WebCore::BitmapImage::nsImage): Ditto.
(WebCore::BitmapImage::snapshotNSImage): Ditto.

  • platform/graphics/mac/WebLayer.mm:

(-[WebLayer drawInContext:]): Ditto.
(-[WebSimpleLayer setNeedsDisplay]): Ditto.
(-[WebSimpleLayer setNeedsDisplayInRect:]): Ditto.
(-[WebSimpleLayer display]): Ditto.
(-[WebSimpleLayer drawInContext:]): Ditto.

  • platform/mac/CursorMac.mm:

(WebCore::cursor): Mark pointer strong to match the globals it points to.

  • platform/mac/FileSystemMac.mm:

(WebCore::FileSystem::setMetadataURL): Use RetainPtr instead of autorelease.

  • platform/mac/PlatformPasteboardMac.mm:

(WebCore::PlatformPasteboard::bufferForType): Use bridge for bridging
typecast.

  • platform/mac/PlatformSpeechSynthesizerMac.mm:

(WebCore::speechSynthesisGetVoiceIdentifiers): Ditto.
(WebCore::speechSynthesisGetDefaultVoiceIdentifierForLocale): Ditto.

  • platform/mac/PluginBlacklist.h: Use RetainPtr instead of explicit retain

and release for NSDictionary and NSSet.

  • platform/mac/PluginBlacklist.mm:

(WebCore::PluginBlacklist::create): Use bridge for bridging typecast.
(WebCore::PluginBlacklist::~PluginBlacklist): Remove explicit CFRelease calls.
(WebCore::PluginBlacklist::PluginBlacklist): Add adoptNS calls and remove
explciit CFRetain/release pairs.

  • platform/mac/PublicSuffixMac.mm:

(WebCore::isPublicSuffix): Use bridge for bridging typecast.

  • platform/mac/RemoteCommandListenerMac.mm:

(WebCore::RemoteCommandListenerMac::RemoteCommandListenerMac): Ditto.

  • platform/mac/SerializedPlatformRepresentationMac.mm:

(WebCore::jsValueWithDictionaryInContext): Ditto.

  • platform/mac/URLMac.mm:

(WebCore::URL::URL): Ditto.
(WebCore::URL::createCFURL const): Ditto.

  • platform/mac/WebCoreNSURLExtras.mm:

(WebCore::collectRangesThatNeedMapping): Mark pointer strong to match the
local variable it eventually points to.
(WebCore::stringByTrimmingWhitespace): Use
bridge for bridging typecast.
(WebCore::URLByTruncatingOneCharacterBeforeComponent): Use
CFBridgingRelease instead of autorelease, reducing typecasts.
(WebCore::URLByRemovingComponentAndSubsequentCharacter): Ditto.
(WebCore::userVisibleString): Use bridge for bridging typecast.
(WebCore::isUserVisibleURL): Ditto.

  • platform/mac/WebGLBlacklist.mm:

(WebCore::WebGLBlacklist::create): Use bridge for bridging typecast.

  • platform/mediastream/mac/AVVideoCaptureSource.mm:

(WebCore::AVVideoCaptureSource::setPreset): Ditto.
(WebCore::AVVideoCaptureSource::setupCaptureSession): Ditto. Also use @()
instead of NSNumber.

  • platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:

(WebCore::MockRealtimeVideoSourceMac::CMSampleBufferFromPixelBuffer): Ditto.

  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::doUpdatePlatformHTTPBody): Ditto.

  • platform/network/cocoa/ResourceResponseCocoa.mm: Use CFStringRef and

CFSTR for constant string array commonHeaderFields rather than using
NSString * and then relying on implicit bridging conversion.

  • platform/network/mac/CertificateInfoMac.mm:

(WebCore::CertificateInfo::dump const): Use bridge for bridging typecast.

  • platform/network/mac/FormDataStreamMac.mm:

(WebCore::createHTTPBodyNSInputStream): Ditto.
(WebCore::httpBodyFromStream): Ditto.

  • platform/network/mac/ResourceErrorMac.mm:

(WebCore::ResourceError::ResourceError): Ditto.
(WebCore::ResourceError::cfError const): Ditto.

  • rendering/RenderThemeMac.mm:

(-[WebCoreTextFieldCell _coreUIDrawOptionsWithFrame:inView:includeFocus:]):
Use CFSTR("") instead of @"" for a string that is passed to CFDIctionaryRef.
(WebCore::AttachmentLayout::layOutTitle): Use bridge for bridging typecast.
(WebCore::AttachmentLayout::layOutSubtitle): Ditto.

  • testing/cocoa/WebArchiveDumpSupport.mm:

(WebCoreTestSupport::createCFURLResponseFromResponseData): Use bridge for
bridging typecast.
(WebCoreTestSupport::supportedNonImageMIMETypes): Deleted.
(WebCoreTestSupport::convertWebResourceDataToString): Use the
MIMETypeRegistry::isSupportedNonImageMIMEType function directly instead of
building a CFArray out of MIMETypeRegistry::getSupportedNonImageMIMETypes
and using CFArrayContainsValue. This is both much more direct and much more
efficient as well.

9:12 PM Changeset in webkit [232500] by timothy@apple.com
  • 3 edits in trunk/Source/WebCore

[Win] REGRESSION(r232486) 'WebCore::RenderTheme::activeListBoxSelectionBackgroundColor': function does not take 0 arguments
https://bugs.webkit.org/show_bug.cgi?id=186296

Unreviewed build fix.

  • platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenuWin::paint):

  • rendering/RenderThemeWin.cpp:

(WebCore::RenderThemeWin::platformInactiveSelectionForegroundColor const):

9:11 PM Changeset in webkit [232499] by Chris Dumez
  • 33 edits
    11 copies
    11 adds
    2 deletes in trunk

Rename "Cross-Origin-Options" HTTP header to "Cross-Origin-Window-Policy"
https://bugs.webkit.org/show_bug.cgi?id=186287
<rdar://problem/40783352>

Reviewed by Youenn Fablet.

Source/WebCore:

Tests: http/wpt/cross-origin-window-policy/allow-postmessage-from-deny.html

http/wpt/cross-origin-window-policy/allow-postmessage.html
http/wpt/cross-origin-window-policy/cross-origin-window-policy-header.html
http/wpt/cross-origin-window-policy/navigation-from-opener-via-open-target.html
http/wpt/cross-origin-window-policy/navigation-from-subframe-via-anchor-target.html

  • bindings/js/JSDOMBindingSecurity.cpp:

(WebCore::BindingSecurity::shouldAllowAccessToDOMWindowGivenMinimumCrossOriginWindowPolicy):

  • bindings/js/JSDOMBindingSecurity.h:
  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::effectiveCrossOriginWindowPolicyForAccess):
(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
(WebCore::addCrossOriginWindowPropertyNames):
(WebCore::addScopedChildrenIndexes):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateAttributeGetterBodyDefinition):
(GetCrossOriginsOptionsFromExtendedAttributeValue):
(GenerateAttributeSetterBodyDefinition):
(GenerateOperationBodyDefinition):

  • bindings/scripts/IDLAttributes.json:
  • dom/Document.cpp:

(WebCore::Document::canNavigate):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::didBeginDocument):

  • page/AbstractDOMWindow.cpp:

(WebCore::AbstractDOMWindow::AbstractDOMWindow):

  • page/AbstractDOMWindow.h:

(WebCore::AbstractDOMWindow::crossOriginWindowPolicy):
(WebCore::AbstractDOMWindow::setCrossOriginWindowPolicy):

  • page/DOMWindow.idl:
  • page/Settings.yaml:
  • platform/network/HTTPHeaderNames.in:
  • platform/network/HTTPParsers.cpp:

(WebCore::parseCrossOriginWindowPolicyHeader):

  • platform/network/HTTPParsers.h:

Source/WebKit:

  • Shared/WebPreferences.yaml:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::frameBecameRemote):

Source/WebKitLegacy/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences crossOriginWindowPolicySupportEnabled]):
(-[WebPreferences setCrossOriginWindowPolicySupportEnabled:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKitLegacy/win:

  • Interfaces/IWebPreferencesPrivate.idl:
  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings):
(WebPreferences::crossOriginWindowPolicySupportEnabled):
(WebPreferences::setCrossOriginWindowPolicySupportEnabled):

  • WebPreferences.h:
  • WebView.cpp:

(WebView::notifyPreferencesChanged):

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(enableExperimentalFeatures):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(enableExperimentalFeatures):

LayoutTests:

  • http/wpt/cross-origin-options/allow-postmessage-expected.txt: Removed.
  • http/wpt/cross-origin-options/allow-postmessage-from-deny-expected.txt: Removed.
  • http/wpt/cross-origin-options/allow-postmessage-from-deny.html.headers: Removed.
  • http/wpt/cross-origin-options/cross-origin-options-header-expected.txt: Removed.
  • http/wpt/cross-origin-options/navigation-from-opener-via-open-target-expected.txt: Removed.
  • http/wpt/cross-origin-options/navigation-from-subframe-via-anchor-target-expected.txt: Removed.
  • http/wpt/cross-origin-options/resources/cross-origin-options-allow-postmessage-pong.html.headers: Removed.
  • http/wpt/cross-origin-window-policy/allow-postmessage-expected.txt: Added.
  • http/wpt/cross-origin-window-policy/allow-postmessage-from-deny-expected.txt: Added.
  • http/wpt/cross-origin-window-policy/allow-postmessage-from-deny.html: Renamed from LayoutTests/http/wpt/cross-origin-options/allow-postmessage-from-deny.html.
  • http/wpt/cross-origin-window-policy/allow-postmessage-from-deny.html.headers: Added.
  • http/wpt/cross-origin-window-policy/allow-postmessage.html: Renamed from LayoutTests/http/wpt/cross-origin-options/allow-postmessage.html.
  • http/wpt/cross-origin-window-policy/cross-origin-window-policy-header-expected.txt: Added.
  • http/wpt/cross-origin-window-policy/cross-origin-window-policy-header.html: Renamed from LayoutTests/http/wpt/cross-origin-options/cross-origin-options-header.html.
  • http/wpt/cross-origin-window-policy/navigation-from-opener-via-open-target-expected.txt: Added.
  • http/wpt/cross-origin-window-policy/navigation-from-opener-via-open-target.html: Renamed from LayoutTests/http/wpt/cross-origin-options/navigation-from-opener-via-open-target.html.
  • http/wpt/cross-origin-window-policy/navigation-from-subframe-via-anchor-target-expected.txt: Added.
  • http/wpt/cross-origin-window-policy/navigation-from-subframe-via-anchor-target.html: Renamed from LayoutTests/http/wpt/cross-origin-options/navigation-from-subframe-via-anchor-target.html.
  • http/wpt/cross-origin-window-policy/resources/cross-origin-window-policy-allow-postmessage-pong.html: Renamed from LayoutTests/http/wpt/cross-origin-options/resources/cross-origin-options-allow-postmessage-pong.html.
  • http/wpt/cross-origin-window-policy/resources/cross-origin-window-policy-allow-postmessage-pong.html.headers: Added.
  • http/wpt/cross-origin-window-policy/resources/destination.html: Renamed from LayoutTests/http/wpt/cross-origin-options/resources/destination.html.
  • http/wpt/cross-origin-window-policy/resources/navigate-parent-via-anchor.html: Renamed from LayoutTests/http/wpt/cross-origin-options/resources/navigate-parent-via-anchor.html.
  • http/wpt/cross-origin-window-policy/resources/navigation-from-subframe-frame.py: Renamed from LayoutTests/http/wpt/cross-origin-options/resources/navigation-from-subframe-frame.py.

(main):

  • http/wpt/cross-origin-window-policy/resources/serve-cross-origin-window-policy-header.py: Renamed from LayoutTests/http/wpt/cross-origin-options/resources/serve-cross-origin-options-header.py.

(main):

  • http/wpt/cross-origin-window-policy/resources/utils.js: Renamed from LayoutTests/http/wpt/cross-origin-options/resources/utils.js.
9:04 PM Changeset in webkit [232498] by dbates@webkit.org
  • 2 edits in trunk/Tools

Typo in MockBugzillaQueries.fetch_attachment_ids_from_review_queue()
https://bugs.webkit.org/show_bug.cgi?id=186290

Reviewed by Aakash Jain.

Although the usefulness of the code in MockBugzillaQueries.fetch_attachment_ids_from_review_queue() is
questionable we should fix a typo when calling this mocked function with argument since.

  • Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:

(MockBugzillaQueries.fetch_attachment_ids_from_review_queue):

7:52 PM Changeset in webkit [232497] by mitz@apple.com
  • 2 edits in trunk/Tools

Fixed building with the macOS Mojave seed SDK.

  • TestWebKitAPI/Tests/mac/MediaPlaybackSleepAssertion.mm:
7:31 PM Changeset in webkit [232496] by Brent Fulgham
  • 24 edits in trunk/Source/WebCore

REGRESSION(r231291): InputType should hold a WeakPtr to its HTMLInputElement
https://bugs.webkit.org/show_bug.cgi?id=186096
<rdar://problem/40651015>

Reviewed by Ryosuke Niwa.

Now that the InputType may be kept alive as part of in-flight form submissions, we
shouldn't assume that the referenced HTMLInputElement is still valid before using it.

The only time we should be lacking a referencing element is in cases where the InputType
is changing, either through a change in the HTMLInputElement's type attribute. In those
cases we should check for a valid HTMLInputElement. In other cases, we should ASSERT.

  • html/BaseButtonInputType.cpp:

(WebCore::BaseButtonInputType::createInputRenderer):
(WebCore::BaseButtonInputType::setValue):

  • html/BaseCheckableInputType.cpp:

(WebCore::BaseCheckableInputType::saveFormControlState const):
(WebCore::BaseCheckableInputType::restoreFormControlState):
(WebCore::BaseCheckableInputType::appendFormData const):
(WebCore::BaseCheckableInputType::handleKeydownEvent):
(WebCore::BaseCheckableInputType::accessKeyAction):
(WebCore::BaseCheckableInputType::setValue):

  • html/BaseChooserOnlyDateAndTimeInputType.cpp:

(WebCore::BaseChooserOnlyDateAndTimeInputType::attributeChanged): Add a nullptr check
here, since this is called directly by code that causes the old InputType to be removed,
which could leave us with a nullptr element().

  • html/BaseClickableWithKeyInputType.cpp:

(WebCore::BaseClickableWithKeyInputType::handleKeydownEvent):
(WebCore::BaseClickableWithKeyInputType::handleKeypressEvent):
(WebCore::BaseClickableWithKeyInputType::accessKeyAction):

  • html/BaseDateAndTimeInputType.cpp:

(WebCore::BaseDateAndTimeInputType::attributeChanged): Add a nullptr check
here, since this is called directly by code that causes the old InputType to be removed,
which could leave us with a nullptr element().

  • html/BaseTextInputType.cpp:

(WebCore::BaseTextInputType::patternMismatch const):

  • html/CheckboxInputType.cpp:

(WebCore::CheckboxInputType::valueMissing const):
(WebCore::CheckboxInputType::willDispatchClick):
(WebCore::CheckboxInputType::didDispatchClick):
(WebCore::CheckboxInputType::shouldAppearIndeterminate const):

  • html/ColorInputType.cpp:

(WebCore::ColorInputType::valueAsColor const):
(WebCore::ColorInputType::createShadowSubtree):
(WebCore::ColorInputType::handleDOMActivateEvent):
(WebCore::ColorInputType::didChooseColor):
(WebCore::ColorInputType::updateColorSwatch):
(WebCore::ColorInputType::shadowColorSwatch const):
(WebCore::ColorInputType::elementRectRelativeToRootView const):
(WebCore::ColorInputType::shouldShowSuggestions const):
(WebCore::ColorInputType::suggestions const):

  • html/EmailInputType.cpp:

(WebCore::EmailInputType::typeMismatchFor const):
(WebCore::EmailInputType::typeMismatch const):
(WebCore::EmailInputType::typeMismatchText const):
(WebCore::EmailInputType::sanitizeValue const):

  • html/FileInputType.cpp:

(WebCore::FileInputType::appendFormData const):
(WebCore::FileInputType::attributeChanged): Add a nullptr check here, since
this is called directly by code that causes the old InputType to be removed,
which could leave us with a nullptr element().
(WebCore::FileInputType::valueMissing const):
(WebCore::FileInputType::valueMissingText const):
(WebCore::FileInputType::handleDOMActivateEvent):
(WebCore::FileInputType::createInputRenderer):
(WebCore::FileInputType::setValue):
(WebCore::FileInputType::createShadowSubtree):
(WebCore::FileInputType::disabledAttributeChanged):
(WebCore::FileInputType::multipleAttributeChanged):
(WebCore::FileInputType::allowsDirectories const):
(WebCore::FileInputType::setFiles):
(WebCore::FileInputType::iconLoaded):
(WebCore::FileInputType::receiveDroppedFiles):
(WebCore::FileInputType::defaultToolTip const):

  • html/HTMLInputElement.h:

(WebCore::HTMLInputElement::weakPtrFactory const):

  • html/HiddenInputType.cpp:

(WebCore::HiddenInputType::saveFormControlState const):
(WebCore::HiddenInputType::restoreFormControlState):
(WebCore::HiddenInputType::setValue):
(WebCore::HiddenInputType::appendFormData const):

  • html/ImageInputType.cpp:

(WebCore::ImageInputType::appendFormData const):
(WebCore::ImageInputType::handleDOMActivateEvent):
(WebCore::ImageInputType::createInputRenderer):
(WebCore::ImageInputType::altAttributeChanged):
(WebCore::ImageInputType::srcAttributeChanged):
(WebCore::ImageInputType::attach):
(WebCore::ImageInputType::height const):
(WebCore::ImageInputType::width const):

  • html/InputType.cpp:

(WebCore::InputType::saveFormControlState const):
(WebCore::InputType::restoreFormControlState):
(WebCore::InputType::isFormDataAppendable const):
(WebCore::InputType::appendFormData const):
(WebCore::InputType::sizeShouldIncludeDecoration const):
(WebCore::InputType::validationMessage const):
(WebCore::InputType::createInputRenderer):
(WebCore::InputType::blur):
(WebCore::InputType::destroyShadowSubtree):
(WebCore::InputType::dispatchSimulatedClickIfActive const):
(WebCore::InputType::chrome const):
(WebCore::InputType::isKeyboardFocusable const):
(WebCore::InputType::isMouseFocusable const):
(WebCore::InputType::accessKeyAction):
(WebCore::InputType::setValue):
(WebCore::InputType::visibleValue const):
(WebCore::InputType::applyStep):
(WebCore::InputType::stepUpFromRenderer):

  • html/InputType.h:

(WebCore::InputType::InputType):
(WebCore::InputType::element const):

  • html/NumberInputType.cpp:

(WebCore::NumberInputType::attributeChanged): Add a nullptr check here, since
this is called directly by code that causes the old InputType to be removed,
which could leave us with a nullptr element().
(WebCore::NumberInputType::setValue):
(WebCore::NumberInputType::valueAsDouble const):
(WebCore::NumberInputType::setValueAsDouble const):
(WebCore::NumberInputType::setValueAsDecimal const):
(WebCore::NumberInputType::typeMismatch const):
(WebCore::NumberInputType::createStepRange const):
(WebCore::NumberInputType::sizeShouldIncludeDecoration const):
(WebCore::NumberInputType::decorationWidth const):
(WebCore::NumberInputType::localizeValue const):
(WebCore::NumberInputType::visibleValue const):
(WebCore::NumberInputType::convertFromVisibleValue const):
(WebCore::NumberInputType::hasBadInput const):
(WebCore::NumberInputType::minOrMaxAttributeChanged):
(WebCore::NumberInputType::stepAttributeChanged):

  • html/RadioInputType.cpp:

(WebCore::RadioInputType::valueMissing const):
(WebCore::RadioInputType::handleKeydownEvent):
(WebCore::RadioInputType::handleKeyupEvent):
(WebCore::RadioInputType::isKeyboardFocusable const):
(WebCore::RadioInputType::shouldSendChangeEventAfterCheckedChanged):
(WebCore::RadioInputType::willDispatchClick):
(WebCore::RadioInputType::didDispatchClick):
(WebCore::RadioInputType::matchesIndeterminatePseudoClass const):

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::attributeChanged): Add a nullptr check here, since
this is called directly by code that causes the old InputType to be removed,
which could leave us with a nullptr element().
(WebCore::RangeInputType::valueAsDouble const):
(WebCore::RangeInputType::setValueAsDecimal const):
(WebCore::RangeInputType::createStepRange const):
(WebCore::RangeInputType::handleMouseDownEvent):
(WebCore::RangeInputType::handleTouchEvent):
(WebCore::RangeInputType::handleKeydownEvent):
(WebCore::RangeInputType::createShadowSubtree):
(WebCore::RangeInputType::sliderTrackElement const):
(WebCore::RangeInputType::createInputRenderer):
(WebCore::RangeInputType::accessKeyAction):
(WebCore::RangeInputType::minOrMaxAttributeChanged):
(WebCore::RangeInputType::setValue):
(WebCore::RangeInputType::updateTickMarkValues):

  • html/ResetInputType.cpp:

(WebCore::ResetInputType::handleDOMActivateEvent):

  • html/SearchInputType.cpp:

(WebCore::SearchInputType::addSearchResult):
(WebCore::SearchInputType::maxResultsAttributeChanged):
(WebCore::SearchInputType::createInputRenderer):
(WebCore::SearchInputType::createShadowSubtree):
(WebCore::SearchInputType::handleKeydownEvent):
(WebCore::SearchInputType::startSearchEventTimer):
(WebCore::SearchInputType::searchEventTimerFired):
(WebCore::SearchInputType::searchEventsShouldBeDispatched const):
(WebCore::SearchInputType::didSetValueByUserEdit):
(WebCore::SearchInputType::sizeShouldIncludeDecoration const):

  • html/SubmitInputType.cpp:

(WebCore::SubmitInputType::appendFormData const):
(WebCore::SubmitInputType::handleDOMActivateEvent):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::attributeChanged): Add a nullptr check here, since
this is called directly by code that causes the old InputType to be removed,
which could leave us with a nullptr element().
(WebCore::TextFieldInputType::isKeyboardFocusable const):
(WebCore::TextFieldInputType::isMouseFocusable const):
(WebCore::TextFieldInputType::valueMissing const):
(WebCore::TextFieldInputType::setValue):
(WebCore::TextFieldInputType::handleKeydownEvent):
(WebCore::TextFieldInputType::handleKeydownEventForSpinButton):
(WebCore::TextFieldInputType::forwardEvent):
(WebCore::TextFieldInputType::elementDidBlur):
(WebCore::TextFieldInputType::handleFocusEvent):
(WebCore::TextFieldInputType::handleBlurEvent):
(WebCore::TextFieldInputType::createInputRenderer):
(WebCore::TextFieldInputType::shouldHaveSpinButton const):
(WebCore::TextFieldInputType::shouldHaveCapsLockIndicator const):
(WebCore::TextFieldInputType::createShadowSubtree):
(WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
(WebCore::TextFieldInputType::updatePlaceholderText):
(WebCore::TextFieldInputType::appendFormData const):
(WebCore::TextFieldInputType::subtreeHasChanged):
(WebCore::TextFieldInputType::didSetValueByUserEdit):
(WebCore::TextFieldInputType::updateInnerTextValue):
(WebCore::TextFieldInputType::focusAndSelectSpinButtonOwner):
(WebCore::TextFieldInputType::shouldSpinButtonRespondToMouseEvents):
(WebCore::TextFieldInputType::shouldSpinButtonRespondToWheelEvents):
(WebCore::TextFieldInputType::shouldDrawCapsLockIndicator const):
(WebCore::TextFieldInputType::shouldDrawAutoFillButton const):
(WebCore::TextFieldInputType::autoFillButtonElementWasClicked):
(WebCore::TextFieldInputType::createContainer):
(WebCore::TextFieldInputType::createAutoFillButton):
(WebCore::TextFieldInputType::updateAutoFillButton):

  • html/URLInputType.cpp:

(WebCore::URLInputType::typeMismatch const):

7:29 PM Changeset in webkit [232495] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Remove missing files from JavaScriptCore Xcode project
https://bugs.webkit.org/show_bug.cgi?id=186297

Reviewed by Saam Barati.

7:17 PM Changeset in webkit [232494] by keith_miller@apple.com
  • 3 edits
    1 add in trunk

Add test for CoW conversions in the DFG/FTL
https://bugs.webkit.org/show_bug.cgi?id=186295

Reviewed by Saam Barati.

JSTests:

  • stress/arrayprofile-should-not-convert-get-by-val-cow.js: Added.

(assertEq):
(withArrayArgInt32):
(withArrayLiteralInt32):
(withArrayArgDouble):
(withArrayLiteralDouble):
(withArrayArgContiguous):
(withArrayLiteralContiguous):
(test):

Source/JavaScriptCore:

Add a function to $vm that returns a JSString containing the
dataLog dump of the indexingMode of an Object.

  • tools/JSDollarVM.cpp:

(JSC::functionIndexingMode):
(JSC::JSDollarVM::finishCreation):

6:45 PM Changeset in webkit [232493] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed iOS build fix with recent SDKs.

  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

6:29 PM Changeset in webkit [232492] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit

Restored code signing behavior when WK_USE_RESTRICTED_ENTITLEMENTS isn’t set.

  • Configurations/DebugRelease.xcconfig: Use ad-hoc code signing when WK_USE_RESTRICTED_ENTITLEMENTS isn’t set.
6:25 PM Changeset in webkit [232491] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit

Removed a reference to a file that was deleted in r231190.

  • WebKit.xcodeproj/project.pbxproj: Removed the reference to WebProcessShim.xcconfig.
6:12 PM Changeset in webkit [232490] by sbarati@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Set the activeLength of all ScratchBuffers to zero when exiting the VM
https://bugs.webkit.org/show_bug.cgi?id=186284
<rdar://problem/40780738>

Reviewed by Keith Miller.

Simon recently found instances where we leak global objects from the
ScratchBuffer. Yusuke found that we forgot to set the active length
back to zero when doing catch OSR entry in the DFG/FTL. His solution
to this was adding a node that cleared the active length. This is
a good node to have, but it's not a complete solution: the DFG/FTL
could OSR exit before that node executes, which would cause us to leak
the data in it.

This patch makes it so that we set each scratch buffer's active length
to zero on VM exit. This helps prevent leaks for JS code that eventually
exits the VM (which is essentially all code on the web and all API users).

  • runtime/VM.cpp:

(JSC::VM::clearScratchBuffers):

  • runtime/VM.h:
  • runtime/VMEntryScope.cpp:

(JSC::VMEntryScope::~VMEntryScope):

6:03 PM Changeset in webkit [232489] by mitz@apple.com
  • 3 edits in trunk/Source/WebCore/PAL

Made PAL build with the macOS Mojave SDK.

  • pal/cf/CoreMediaSoftLink.cpp:
  • pal/cf/CoreMediaSoftLink.h:
5:32 PM Changeset in webkit [232488] by rniwa@webkit.org
  • 1 edit
    2 moves in trunk/LayoutTests

Moved the corresponding expected results for the tests moved in r232430.

  • platform/ios/editing/selection/simple-line-layout-caret-is-gone-expected.txt: Moved from LayoutTests/platform/ios/editing/simple-line-layout-caret-is-gone-expected.txt.
  • platform/wincairo/editing/selection/simple-line-layout-caret-is-gone-expected.txt: Moved from LayoutTests/platform/wincairo/editing/simple-line-layout-caret-is-gone-expected.txt.
5:09 PM Changeset in webkit [232487] by dino@apple.com
  • 4 edits
    1 add in trunk

AR Badging on transparent thumbnail images makes the glyph look really dark
https://bugs.webkit.org/show_bug.cgi?id=186289
<rdar://problem/40627111>

Reviewed by Anders Carlsson.

Source/WebCore:

Clip out the shape for the drop shadow, so that it isn't visible if
there is transparent pixel data on top of it.

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintSystemPreviewBadge):

LayoutTests:

Update the test to exercise more background colors. Include the results for the AR badge.

  • system-preview/badge-expected.html: Added.
  • system-preview/badge.html:
4:38 PM Changeset in webkit [232486] by timothy@apple.com
  • 13 edits in trunk/Source/WebCore

Selection color is dark when using Safari in dark mode.

https://bugs.webkit.org/show_bug.cgi?id=186288
rdar://problem/38438625

Reviewed by Simon Fraser.

Pass StyleColor::Options to all of the selection color functions.
Removed supportsSelectionForegroundColors() from RenderThemeMac,
to get the default of true, since the forground colors in dark mode
can be different now. Use new semantic color methods on NSColor.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::selectionColor const):
(WebCore::RenderElement::selectionBackgroundColor const):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::paintItemForeground):
(WebCore::RenderListBox::paintItemBackground):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::activeSelectionBackgroundColor const):
(WebCore::RenderTheme::inactiveSelectionBackgroundColor const):
(WebCore::RenderTheme::activeSelectionForegroundColor const):
(WebCore::RenderTheme::inactiveSelectionForegroundColor const):
(WebCore::RenderTheme::activeListBoxSelectionBackgroundColor const):
(WebCore::RenderTheme::activeListBoxSelectionForegroundColor const):
(WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor const):
(WebCore::RenderTheme::platformActiveSelectionBackgroundColor const):
(WebCore::RenderTheme::platformActiveSelectionForegroundColor const):
(WebCore::RenderTheme::platformInactiveSelectionBackgroundColor const):
(WebCore::RenderTheme::platformInactiveSelectionForegroundColor const):
(WebCore::RenderTheme::platformActiveListBoxSelectionBackgroundColor const):
(WebCore::RenderTheme::platformActiveListBoxSelectionForegroundColor const):
(WebCore::RenderTheme::platformInactiveListBoxSelectionBackgroundColor const):
(WebCore::RenderTheme::platformInactiveListBoxSelectionForegroundColor const):

  • rendering/RenderTheme.h:
  • rendering/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor const):
(WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor const):
(WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor const):
(WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor const):
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionBackgroundColor const):
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionForegroundColor const):
(WebCore::RenderThemeGtk::platformInactiveListBoxSelectionForegroundColor const):

  • rendering/RenderThemeGtk.h:
  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::platformActiveSelectionBackgroundColor const):
(WebCore::RenderThemeIOS::platformInactiveSelectionBackgroundColor const):

  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor const):
(WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor const):
(WebCore::RenderThemeMac::platformActiveSelectionForegroundColor const):
(WebCore::RenderThemeMac::platformInactiveSelectionForegroundColor const):
(WebCore::RenderThemeMac::platformActiveListBoxSelectionBackgroundColor const):
(WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor const):
(WebCore::RenderThemeMac::platformActiveListBoxSelectionForegroundColor const):
(WebCore::RenderThemeMac::platformInactiveListBoxSelectionForegroundColor const):

  • rendering/RenderThemeWin.cpp:

(WebCore::RenderThemeWin::platformActiveSelectionBackgroundColor const):
(WebCore::RenderThemeWin::platformInactiveSelectionBackgroundColor const):
(WebCore::RenderThemeWin::platformActiveSelectionForegroundColor const):
(WebCore::RenderThemeWin::platformInactiveSelectionForegroundColor const):

  • rendering/RenderThemeWin.h:
4:28 PM Changeset in webkit [232485] by Kocsen Chung
  • 1 copy in tags/Safari-605.3.6

Tag Safari-605.3.6.

4:17 PM Changeset in webkit [232484] by Chris Dumez
  • 24 edits in trunk

Update Fetch code to provide more useful exception messages
https://bugs.webkit.org/show_bug.cgi?id=186156

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Rebaseline tests that have different output.

  • web-platform-tests/fetch/api/headers/header-values-expected.txt:
  • web-platform-tests/fetch/api/headers/header-values-normalize-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event-network-error.https-expected.txt:

Source/WebCore:

Provide more useful error messages in our Loading / Fetch code.

  • Modules/fetch/FetchBodyOwner.cpp:

(WebCore::FetchBodyOwner::arrayBuffer):
(WebCore::FetchBodyOwner::blob):
(WebCore::FetchBodyOwner::consumeOnceLoadingFinished):
(WebCore::FetchBodyOwner::formData):
(WebCore::FetchBodyOwner::json):
(WebCore::FetchBodyOwner::text):

  • Modules/fetch/FetchHeaders.cpp:

(WebCore::canWriteHeader):
(WebCore::FetchHeaders::get const):
(WebCore::FetchHeaders::has const):

  • Modules/fetch/FetchRequest.cpp:

(WebCore::FetchRequest::setBody):
(WebCore::FetchRequest::clone):

  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::redirect):
(WebCore::FetchResponse::clone):

  • workers/service/context/ServiceWorkerFetch.cpp:

(WebCore::ServiceWorkerFetch::processResponse):
(WebCore::ServiceWorkerFetch::dispatchFetchEvent):

  • workers/service/context/ServiceWorkerFetch.h:

Source/WebKit:

Provide more useful error messages in our Loading / Fetch code.

  • StorageProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::didFailFetch):

  • StorageProcess/ServiceWorker/WebSWServerConnection.h:
  • StorageProcess/StorageProcess.cpp:

(WebKit::StorageProcess::didFailFetch):

  • StorageProcess/StorageProcess.h:
  • StorageProcess/StorageProcess.messages.in:
  • WebProcess/Storage/ServiceWorkerClientFetch.cpp:

(WebKit::ServiceWorkerClientFetch::didFail):
(WebKit::ServiceWorkerClientFetch::continueLoadingAfterCheckingResponse):

  • WebProcess/Storage/ServiceWorkerClientFetch.h:
  • WebProcess/Storage/ServiceWorkerClientFetch.messages.in:
  • WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:

(WebKit::WebServiceWorkerFetchTaskClient::didReceiveFormDataAndFinish):
(WebKit::WebServiceWorkerFetchTaskClient::didFail):

  • WebProcess/Storage/WebServiceWorkerFetchTaskClient.h:

LayoutTests:

Rebaseline tests that have different output.

  • http/tests/workers/service/basic-fetch.https-expected.txt:
3:49 PM Changeset in webkit [232483] by ap@apple.com
  • 11 edits
    3 adds in trunk

Add Mojave support to WebKit tools
https://bugs.webkit.org/show_bug.cgi?id=186282

Reviewed by Daniel Bates.

Tools:

Nightly build support will be added separately.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Mojave.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Mojave@2x.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

Added dashboard support.

  • BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
  • BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:

Trigger the right build queues on check-in.

  • Scripts/webkitpy/common/version_name_map.py:
  • Scripts/webkitpy/common/version_name_map_unittest.py:

The main version mapping class updated.

  • Scripts/webkitpy/layout_tests/models/test_expectations.py:
  • Scripts/webkitpy/port/mac_unittest.py:

Updated for more platforms in unit tests.

  • TestResultServer/static-dashboards/flakiness_dashboard.js:

Added the new platform to flakiness dashboard.

LayoutTests:

  • platform/mac-mojave: Added an empty directory to avoid breaking scripts.
2:51 PM Changeset in webkit [232482] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

JSLock should clear last exception when releasing the lock
https://bugs.webkit.org/show_bug.cgi?id=186277

Reviewed by Mark Lam.

If we don't clear the last exception we essentially leak the
object and everything referenced by it until another exception is
thrown.

  • runtime/JSLock.cpp:

(JSC::JSLock::willReleaseLock):

2:49 PM Changeset in webkit [232481] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Cannot copy a link address in Elements tab
https://bugs.webkit.org/show_bug.cgi?id=186281
<rdar://problem/39193355>

Reviewed by Brian Burg.

  • UserInterface/Views/ContextMenuUtilities.js:

(WI.appendContextMenuItemsForURL):

2:29 PM Changeset in webkit [232480] by dbates@webkit.org
  • 8 edits in trunk

Update Strong Password appearance
https://bugs.webkit.org/show_bug.cgi?id=186239
<rdar://problem/38183795>

Reviewed by Brent Fulgham.

Source/WebCore:

Fix up the gradient mask to start half-way through the visible text and size it to the
width of the visible text. Also change the color of the Strong Password label to 80% black.

We achieve sizing of the gradient to the width of the visible text by changing the CSS display
of the inner text element to be an inline-block and specifying "max-width: 100%" so that
its maximum width is less than or equal to the width of its containing block. Additionally,
only apply strong password-specific inner text element styles when the field is not disabled
or read-only and has a strong password appearance. Otherwise these styles, specifically the
display type, will adversely effect rendering of the text when the field is disabled or readonly.

  • css/html.css:

(input::-webkit-strong-password-auto-fill-button):

  • html/HTMLInputElement.cpp:

(WebCore::autoFillStrongPasswordMaskImage):
(WebCore::HTMLInputElement::createInnerTextStyle):

LayoutTests:

Update expected results as necessary for the change in appearance.

  • platform/ios/fast/forms/auto-fill-button/input-strong-confirmation-password-auto-fill-button-expected.txt:
  • platform/ios/fast/forms/auto-fill-button/input-strong-password-auto-fill-button-expected.txt:
  • platform/mac/fast/forms/auto-fill-button/input-strong-confirmation-password-auto-fill-button-expected.txt:
  • platform/mac/fast/forms/auto-fill-button/input-strong-password-auto-fill-button-expected.txt:
2:02 PM Changeset in webkit [232479] by Wenson Hsieh
  • 31 edits in trunk

[WebKit on watchOS] Remove all uses of the EXTRA_ZOOM_MODE compiler flag
https://bugs.webkit.org/show_bug.cgi?id=186279

Reviewed by Tim Horton.

Source/WebCore:

Replaces uses of ENABLE(EXTRA_ZOOM_MODE) with PLATFORM(WATCHOS). No change in behavior.

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::compactMode const):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updatePlayState):

  • page/Page.cpp:

(WebCore::relevantViewRect):

  • page/SettingsBase.cpp:

(WebCore::SettingsBase::defaultMinimumZoomFontSize):
(WebCore::SettingsBase::defaultDownloadableBinaryFontsEnabled):

  • page/ViewportConfiguration.cpp:

(WebCore::platformDeviceWidthOverride):
(WebCore::shouldOverrideShrinkToFitArgument):
(WebCore::needsUpdateAfterChangingDisabledAdaptations):

  • platform/LocalizedStrings.cpp:
  • platform/LocalizedStrings.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManageriOS::configureWireLessTargetMonitoring):
(-[WebMediaSessionHelper dealloc]):
(-[WebMediaSessionHelper hasWirelessTargetsAvailable]):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenMode):

  • platform/ios/PlaybackSessionInterfaceAVKit.mm:

(WebCore::PlaybackSessionInterfaceAVKit::seekableRangesChanged):

  • platform/ios/VideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerViewController initWithFullscreenInterface:]):
(-[WebAVPlayerViewController enterFullScreenAnimated:completionHandler:]):
(-[WebAVPlayerViewController exitFullScreenAnimated:completionHandler:]):
(-[WebAVPlayerViewController MY_NO_RETURN]):
(-[WebAVPlayerViewController isPictureInPicturePossible]):
(-[WebAVPlayerViewController isPictureInPictureActive]):
(-[WebAVPlayerViewController pictureInPictureActive]):
(-[WebAVPlayerViewController pictureInPictureWasStartedWhenEnteringBackground]):
(-[WebAVPlayerViewController showsPlaybackControls]):
(-[WebAVPlayerViewController setShowsPlaybackControls:]):
(-[WebAVPlayerViewController setAllowsPictureInPicturePlayback:]):
(-[WebAVPlayerViewController setDelegate:]):
(VideoFullscreenInterfaceAVKit::setupFullscreen):
(VideoFullscreenInterfaceAVKit::shouldExitFullscreenWithReason):
(VideoFullscreenInterfaceAVKit::doSetup):
(WebCore::supportsPictureInPicture):

  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(VideoFullscreenControllerContext::willExitFullscreen):

  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

Source/WebCore/PAL:

Replaces uses of ENABLE(EXTRA_ZOOM_MODE) with PLATFORM(WATCHOS).

  • pal/cf/CoreMediaSoftLink.h:
  • pal/spi/cocoa/AVKitSPI.h:

Source/WebKit:

Replaces uses of ENABLE(EXTRA_ZOOM_MODE) with PLATFORM(WATCHOS).

  • Shared/WebPreferencesDefaultValues.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _initializeWithConfiguration:]):
(-[WKWebView _zoomToFocusRect:selectionRect:insideFixed:fontSize:minimumScale:maximumScale:allowScaling:forceScroll:]):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration init]):

  • UIProcess/WebProcessProxy.cpp:
  • UIProcess/WebProcessProxy.h:
  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _willStartScrollingOrZooming]):
(-[WKContentView _didEndScrollingOrZooming]):
(-[WKContentView _startAssistingKeyboard]):
(-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:changingActivityState:userObject:]):
(-[WKContentView _stopAssistingNode]):
(-[WKContentView reloadContextViewForPresentedListViewController]):
(-[WKContentView _wheelChangedWithEvent:]):
(-[WKContentView _simulateTextEntered:]):
(-[WKContentView selectFormAccessoryPickerRow:]):
(-[WKContentView formInputLabel]):
(-[WKContentView setTimePickerValueToHour:minute:]):

  • UIProcess/ios/WKScrollView.mm:

(-[WKScrollView initWithFrame:]):
(-[WKScrollView addGestureRecognizer:]):

  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(-[WKFileUploadPanel platformSupportsPickerViewController]):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::platformPrefersTextLegibilityBasedZoomScaling const):

Tools:

Replaces uses of ENABLE(EXTRA_ZOOM_MODE) with PLATFORM(WATCHOS).

  • TestWebKitAPI/Tests/ios/RenderingProgressTests.mm:
11:23 AM WebKitGTK/2.20.x edited by Michael Catanzaro
(diff)
11:23 AM WebKitGTK/2.20.x edited by Michael Catanzaro
(diff)
11:13 AM Changeset in webkit [232478] by Kocsen Chung
  • 14 edits in branches/safari-605-branch/Source

Apply patch. rdar://problem/40688638

11:10 AM Changeset in webkit [232477] by Kocsen Chung
  • 7 edits in branches/safari-605-branch/Source

Versioning.

10:56 AM Changeset in webkit [232476] by bshafiei@apple.com
  • 2 edits in tags/Safari-606.1.19.2/Source/WebKit

Cherry-pick r232414. rdar://problem/40727218

Unreviewed, build fix for r232276.

iOS sandbox profiles don't preprocess macros. Therefore, remove the whole
macro condition block.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232414 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:56 AM Changeset in webkit [232475] by bshafiei@apple.com
  • 3 edits in tags/Safari-606.1.19.2/Source/WebKit

Cherry-pick r232303. rdar://problem/40727218

Unreviewed, a quick build fix for r232276.

Enabled SecItemShim again as it turns out to be useful for CFNetwork APIs that
query Keychains underneath us.

  • NetworkProcess/ios/NetworkProcessIOS.mm: (WebKit::NetworkProcess::platformInitializeNetworkProcess):
  • NetworkProcess/mac/NetworkProcessMac.mm: (WebKit::NetworkProcess::platformInitializeNetworkProcess):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232303 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:56 AM Changeset in webkit [232474] by bshafiei@apple.com
  • 8 edits in tags/Safari-606.1.19.2/Source/WebKit

Cherry-pick r232276. rdar://problem/40727218

Tighten sandbox profiles for Networking Processes to restrict accesses to macOS/iOS Keychains
https://bugs.webkit.org/show_bug.cgi?id=162948
<rdar://problem/40558894>

Reviewed by Brent Fulgham.

The patch conditionally tighten sandbox profiles for Networking Processes to remove Keychain related
permissions and some security permisssions that are not needed. Also it conditionally remove the
Process Privilege for Networking Processes to access Credentials.

In addition, it remove process privilege assertions for SecItemShim as it is supposed to work in processes
that don't have privileges to access Keychains and delegate all operations to UI Process via IPC. Also,
the patch disables SecItemShim for Networking Process conditionally.

  • Configurations/Network-iOS.entitlements:
  • NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::initializeNetworkProcess):
  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
  • Shared/mac/SecItemShim.cpp: (WebKit::sendSecItemRequest): (WebKit::webSecItemCopyMatching): (WebKit::webSecItemAdd): (WebKit::webSecItemUpdate): (WebKit::webSecItemDelete): (WebKit::initializeSecItemShim):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232276 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:44 AM Changeset in webkit [232473] by bshafiei@apple.com
  • 7 edits in tags/Safari-606.1.19.2/Source

Versioning.

10:35 AM Changeset in webkit [232472] by bshafiei@apple.com
  • 1 copy in tags/Safari-606.1.19.2

New tag.

10:26 AM Changeset in webkit [232471] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Disable keyboard in fullscreen ios.
https://bugs.webkit.org/show_bug.cgi?id=186058

Patch by Jeremy Jones <jeremyj@apple.com> on 2018-06-04
Reviewed by Jer Noble.

Disallow keyboard in ios fullscreen. This will still allow select keys useful for playback.

  • UIProcess/WebFullScreenManagerProxy.cpp:

(WebKit::WebFullScreenManagerProxy::supportsFullScreen):

10:21 AM Changeset in webkit [232470] by youenn@apple.com
  • 9 edits in trunk

NetworkCORSPreflightChecker should set the preflight request User-Agent header
https://bugs.webkit.org/show_bug.cgi?id=186254
<rdar://problem/40293504>

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/cors/cors-preflight.any-expected.txt:
  • web-platform-tests/fetch/api/cors/cors-preflight.any.js:

(corsPreflight):

  • web-platform-tests/fetch/api/cors/cors-preflight.any.worker-expected.txt:
  • web-platform-tests/fetch/api/resources/preflight.py:

(main):

Source/WebKit:

Some servers misbehave if the User-Agent header is not set properly on preflight requests.
Set it to the same value as the request triggering the preflight.

  • NetworkProcess/NetworkCORSPreflightChecker.cpp:

(WebKit::NetworkCORSPreflightChecker::startPreflight):

  • NetworkProcess/NetworkCORSPreflightChecker.h:
  • NetworkProcess/NetworkLoadChecker.cpp:

(WebKit::NetworkLoadChecker::checkCORSRequestWithPreflight):

10:20 AM Changeset in webkit [232469] by youenn@apple.com
  • 7 edits in trunk/Source

[WK1] Add an option to restrict communication to localhost sockets
https://bugs.webkit.org/show_bug.cgi?id=186249

Reviewed by Eric Carlson.

Source/ThirdParty/libwebrtc:

Export new symbols used for WK1.

  • Configurations/libwebrtc.iOS.exp:
  • Configurations/libwebrtc.iOSsim.exp:
  • Configurations/libwebrtc.mac.exp:

Source/WebCore:

Covered by existing tests.
Set explicitly webrtc socket IP address to 127.0.0.1 in testing mode.
For that purpose, we need WK1 to create a wrapper around a socket factory,
this wrapper being responsible of setting or not the IP address to 127.0.0.1.

  • platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:

(WebCore::prepareSocketAddress):
(WebCore::BasicPacketSocketFactory::BasicPacketSocketFactory):
(WebCore::BasicPacketSocketFactory::setDisableNonLocalhostConnections):
(WebCore::BasicPacketSocketFactory::CreateClientTcpSocket):
(WebCore::LibWebRTCProvider::createPeerConnection):

  • platform/mediastream/libwebrtc/LibWebRTCProvider.h:
9:35 AM Changeset in webkit [232468] by pvollan@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

Rebaseline editing/style/apply-style-iframe-crash.html on Windows.

Unreviewed test gardening.

  • platform/win/editing/style/apply-style-iframe-crash-expected.txt: Added.
9:17 AM Changeset in webkit [232467] by jonlee@apple.com
  • 5 edits in trunk/PerformanceTests

Remove unnecessary MotionMark controllers
https://bugs.webkit.org/show_bug.cgi?id=186255

Reviewed by Said Abou-Hallawa.

Get rid of the ramp30 and the fixed-with-a-step controllers, which aren't used for testing
or debugging.

  • MotionMark/developer.html: Move the "ramp" option as first, since that is the default

controller for the benchmark.

  • MotionMark/resources/debug-runner/motionmark.js:
  • MotionMark/resources/runner/motionmark.js: Added missing copyright notice.
  • MotionMark/tests/resources/main.js:
7:58 AM Changeset in webkit [232466] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC] Merge width and margin computation for block-level, non-replaced and inline,replaced element in normal flow
https://bugs.webkit.org/show_bug.cgi?id=186225

Reviewed by Antti Koivisto.

This patch merges the width and horizontal margin computation for
https://www.w3.org/TR/CSS22/visudet.html#inline-replaced-width and https://www.w3.org/TR/CSS22/visudet.html#blockwidth

  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):

  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):

7:43 AM Changeset in webkit [232465] by Alan Bujtas
  • 10 edits in trunk/Source/WebCore

[LFC] Merge width and horizontal margin computation
https://bugs.webkit.org/show_bug.cgi?id=186217

Reviewed by Antti Koivisto.

We could certainly compute width and maring separately, but to match each steps defined
at https://www.w3.org/TR/CSS22/visudet.html, we should just merge width and horizontal margin computations
(followed by height and vertical margins).
Use 0 computed marings for now.

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeFloatingWidthAndMargin const):
(WebCore::Layout::FormattingContext::computeOutOfFlowWidthAndMargin const):
(WebCore::Layout::FormattingContext::computeOutOfFlowHeight const):
(WebCore::Layout::FormattingContext::layoutOutOfFlowDescendants const):
(WebCore::Layout::FormattingContext::computeOutOfFlowWidth const): Deleted.
(WebCore::Layout::FormattingContext::computeFloatingWidth const): Deleted.

  • layout/FormattingContext.h:
  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::computedPadding):
(WebCore::Layout::outOfFlowNonReplacedWidth): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedWidth): Deleted.
(WebCore::Layout::floatingNonReplacedWidth): Deleted.
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidth): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowWidth): Deleted.
(WebCore::Layout::FormattingContext::Geometry::floatingWidth): Deleted.
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidth): Deleted.

  • layout/LayoutContext.cpp:

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

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::layout const):
(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin const):
(WebCore::Layout::BlockFormattingContext::computeInFlowWidthAndMargin const):
(WebCore::Layout::BlockFormattingContext::computeWidth const): Deleted.
(WebCore::Layout::BlockFormattingContext::computeInFlowWidth const): Deleted.
(WebCore::Layout::BlockFormattingContext::computeMargin const): Deleted.

  • layout/blockformatting/BlockFormattingContext.h:
  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidth): Deleted.
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowWidth): Deleted.
(WebCore::Layout::BlockFormattingContext::Geometry::computedMargin): Deleted.

  • layout/displaytree/DisplayBox.cpp:

(WebCore::Display::Box::marginBox const):

  • layout/displaytree/DisplayBox.h:

(WebCore::Display::Box::setHasValidVerticalMargin):
(WebCore::Display::Box::setHasValidHorizontalMargin):
(WebCore::Display::Box::invalidateMargin):
(WebCore::Display::Box::setHorizontalMargin):
(WebCore::Display::Box::setVerticalMargin):
(WebCore::Display::Box::marginTop const):
(WebCore::Display::Box::marginLeft const):
(WebCore::Display::Box::marginBottom const):
(WebCore::Display::Box::marginRight const):
(WebCore::Display::Box::Edges::Edges): Deleted.
(WebCore::Display::Box::setHasValidMargin): Deleted.
(WebCore::Display::Box::setMargin): Deleted.

3:19 AM Changeset in webkit [232464] by zandobersek@gmail.com
  • 3 edits
    5 adds in trunk/LayoutTests

Unreviewed WPE gardening.

Adding platform-specific baselines for three http/tests/cache/ tests.
Updating baseline for the security/block-test.html test.
Adding failure expectations for a few other failures, linking to existing bugs.

  • platform/wpe/TestExpectations:
  • platform/wpe/http/tests/cache: Added.
  • platform/wpe/http/tests/cache/disk-cache: Added.
  • platform/wpe/http/tests/cache/disk-cache/redirect-chain-limits-expected.txt: Added.
  • platform/wpe/http/tests/cache/iframe-304-crash-expected.txt: Added.
  • platform/wpe/http/tests/cache/network-error-during-revalidation-expected.txt: Added.
  • platform/wpe/security/block-test-expected.txt:
12:42 AM Changeset in webkit [232463] by Yusuke Suzuki
  • 4 edits
    1 delete in trunk/Source/JavaScriptCore

Get rid of UnconditionalFinalizers and WeakReferenceHarvesters
https://bugs.webkit.org/show_bug.cgi?id=180248

Reviewed by Sam Weinig.

As a final step, this patch removes ListableHandler from JSC.
Nobody uses UnconditionalFinalizers and WeakReferenceHarvesters now.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • heap/Heap.h:
  • heap/ListableHandler.h: Removed.
12:28 AM Changeset in webkit [232462] by zandobersek@gmail.com
  • 10 edits
    18 adds in trunk/LayoutTests

Unreviewed WPE gardening.

Manage the W3C test failures by rebaselining what can be rebaselined, and adding
failing expectations for the rest of the failures. This mostly addresses the
new CSS Text tests that were imported lately, as well as changes in console logging.

  • platform/wpe/TestExpectations:
  • platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/FileAPI/url/sandboxed-iframe-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/XMLHttpRequest/access-control-basic-cors-safelisted-request-headers-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/XMLHttpRequest/access-control-basic-get-fail-non-simple-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/XMLHttpRequest/access-control-basic-post-with-non-cors-safelisted-content-type-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/XMLHttpRequest/send-redirect-infinite-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/XMLHttpRequest/send-redirect-infinite-sync-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-network-error-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-network-error-sync-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-text: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-text/white-space: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-text/white-space/seg-break-transformation-001-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-text/white-space/seg-break-transformation-004-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-text/white-space/seg-break-transformation-016-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-text/white-space/seg-break-transformation-017-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-text/white-space/white-space-collapse-002-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any.worker-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-worker-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/request/request-keepalive-quota-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/fetch/security: Added.
  • platform/wpe/imported/w3c/web-platform-tests/fetch/security/embedded-credentials.tentative.sub-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt:

Jun 3, 2018:

9:13 PM Changeset in webkit [232461] by Yusuke Suzuki
  • 18 edits in trunk/Source/JavaScriptCore

LayoutTests/fast/css/parsing-css-matches-7.html always abandons its Document (disabling JIT fixes it)
https://bugs.webkit.org/show_bug.cgi?id=186223

Reviewed by Keith Miller.

After preparing catchOSREntryBuffer, we do not clear the active length of this scratch buffer.
It makes this buffer conservative GC root, and allows it to hold GC objects unnecessarily long.

This patch introduces DFG ClearCatchLocals node, which clears catchOSREntryBuffer's active length.
We model ExtractCatchLocal and ClearCatchLocals appropriately in DFG clobberize too to make
this ClearCatchLocals valid.

The existing tests for ExtractCatchLocal just pass.

  • dfg/DFGAbstractHeap.h:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGMayExit.cpp:
  • dfg/DFGNodeType.h:
  • dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareCatchOSREntry):

  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileClearCatchLocals):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileClearCatchLocals):

9:02 PM Changeset in webkit [232460] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit

[Wi-Fi Assertions] Resume assertions when NetworkProcess::cancelPrepareToSuspend is called
https://bugs.webkit.org/show_bug.cgi?id=186247

Reviewed by Tim Horton.

Since we suspended assertions in prepareToSuspend, we need to resume them if
cancelPrepareToSuspend is called.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::cancelPrepareToSuspend):

9:01 PM Changeset in webkit [232459] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] Add a needed networking process entitlement
https://bugs.webkit.org/show_bug.cgi?id=186246
<rdar://problem/39578861>

Reviewed by Brent Fulgham.

Also sorted the existing entitlements.

  • Configurations/Network-iOS.entitlements:
8:26 PM Changeset in webkit [232458] by Fujii Hironori
  • 7 edits in trunk/Tools

[Win][MiniBrowser] Remove gMiniBrowser global variable
https://bugs.webkit.org/show_bug.cgi?id=186134

Reviewed by Brent Fulgham.

It should not be assumed there is only one main window and one browser
window to support multiple windows properly. gMainWindow and
gMiniBrowser global variables should be removed. This change
removes gMiniBrowser.

  • MiniBrowser/win/Common.cpp: Removed gMiniBrowser global variable.
  • MiniBrowser/win/Common.h: Ditto.
  • MiniBrowser/win/MainWindow.cpp:

(MainWindow::init):
(MainWindow::WndProc):
(EditProc): Post WM_COMMAND if the enter key is pressed in URL bar.
(MainWindow::cachesDialogProc): Renamed from Caches.
(MainWindow::customUserAgentDialogProc): Renamed from CustomUserAgent.
(MainWindow::onURLBarEnter): Extracted from EditProc.
(BackButtonProc): Deleted.
(ForwardButtonProc): Deleted.
(Caches): Renamed to MainWindow::cachesDialogProc.
(CustomUserAgent): Renamed to MainWindow::customUserAgentDialogProc.

  • MiniBrowser/win/MainWindow.h: Convert hCacheWnd global variable to a member variable of MainWindow.
  • MiniBrowser/win/MiniBrowserLibResource.h:
  • MiniBrowser/win/WinMain.cpp:

(wWinMain):

7:44 PM Changeset in webkit [232457] by Michael Catanzaro
  • 2 edits in trunk/LayoutTests

More unreviewed GTK test gardening

  • platform/gtk/TestExpectations:
4:14 PM Changeset in webkit [232456] by Michael Catanzaro
  • 3 edits
    2 moves in trunk/LayoutTests

Unreviewed GTK test expectations gardening

  • TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/gtk/editing/selection/simple-line-layout-caret-is-gone-expected.txt: Renamed from LayoutTests/platform/gtk/editing/simple-line-layout-caret-is-gone-expected.txt.
  • platform/gtk/editing/style/apply-style-iframe-crash-expected.txt: Renamed from LayoutTests/platform/gtk/editing/apply-style-iframe-crash-expected.txt.
3:24 PM Changeset in webkit [232455] by Michael Catanzaro
  • 5 edits in trunk/Source/WebCore

REGRESSION(r232338): [GTK] Broke a few layout tests
https://bugs.webkit.org/show_bug.cgi?id=186244

Unreviewed, also rollout r232392.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustStyle):

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::adjustListboxStyle const): Deleted.

  • rendering/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::adjustListboxStyle const): Deleted.

  • rendering/RenderThemeGtk.h:
3:15 PM Changeset in webkit [232454] by Michael Catanzaro
  • 4 edits in trunk/Source/WebCore

REGRESSION(r232338): [GTK] Broke a few layout tests
https://bugs.webkit.org/show_bug.cgi?id=186244

Unreviewed, rollout r232338.

  • platform/gtk/RenderThemeGadget.cpp:

(WebCore::RenderThemeGadget::RenderThemeGadget):
(WebCore::baseStyleContext): Deleted.

  • rendering/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::adjustButtonStyle const):
(WebCore::RenderThemeGtk::adjustTextFieldStyle const):
(WebCore::RenderThemeGtk::adjustSearchFieldStyle const):
(WebCore::styleColor):
(WebCore::RenderThemeGtk::adjustTextAreaStyle const): Deleted.

  • rendering/RenderThemeGtk.h:
1:22 PM Changeset in webkit [232453] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] MediaPlayer.framework is not always available
https://bugs.webkit.org/show_bug.cgi?id=186220
<rdar://problem/40571286>

Reviewed by Tim Horton.

  • platform/ios/RemoteCommandListenerIOS.mm:

(WebCore::RemoteCommandListener::create):

12:46 PM Changeset in webkit [232452] by Darin Adler
  • 39 edits in trunk

[Cocoa] Update some code to be more ARC-compatible to prepare for future ARC adoption
https://bugs.webkit.org/show_bug.cgi?id=186227

Reviewed by Dan Bernstein.

Source/JavaScriptCore:

  • API/JSContext.mm:

(-[JSContext name]): Use CFBridgingRelease instead of autorelease.

  • API/JSValue.mm:

(valueToObjectWithoutCopy): Use CFBridgingRelease instead of autorelease.
(containerValueToObject): Use adoptCF instead of autorelease. This is not only more
ARC-compatible, but more efficient.
(valueToString): Use CFBridgingRelease instead of autorelease.

Source/WebCore:

  • bridge/objc/objc_instance.mm:

(ObjcInstance::~ObjcInstance): Use @autoreleasepool instead of NSAutoreleasePool.

  • platform/ios/wak/WAKView.mm:

(-[WAKView _appendDescriptionToString:atLevel:]): Ditto.

Source/WebKitLegacy/mac:

  • Misc/WebKitErrors.m:

(+[NSError _registerWebKitErrors]): Use @autoreleasepool instead of NSAutoreleasePool.

  • Plugins/WebPluginDatabase.mm:

(-[WebPluginDatabase refresh]): Ditto.

  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::setStatusbarText): Ditto.

Tools:

  • DumpRenderTree/mac/AccessibilityCommonMac.mm:

(+[NSString stringWithJSStringRef:]): Use CFBridgingRelease instead of autorelease.
(-[NSString createJSStringRef]): Add bridge to a bridging typecast.

  • DumpRenderTree/mac/AccessibilityControllerMac.mm: Add a missing include.
  • DumpRenderTree/mac/AccessibilityNotificationHandler.mm:

(-[NSString createJSStringRef]): Add bridge to a bridging typecast.

  • DumpRenderTree/mac/AccessibilityTextMarkerMac.mm:

(AccessibilityTextMarker::isEqual): Ditto.
(AccessibilityTextMarkerRange::isEqual): Ditto.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(-[DumpRenderTree _waitForWebThread]): Use @autoreleasepool instead of NSAutoreleasePool.
(DumpRenderTreeMain): Ditto.
(WebThreadLockAfterDelegateCallbacksHaveCompleted): Ditto.
(runTest): Ditto.

  • DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:

(copyFile): Use a std::pair to return both a URL and an error rather than using an
out argument for the NSError.
(-[DumpRenderTreeFilePromiseReceiver receivePromisedFilesAtDestination:options:operationQueue:reader:]):
Updated for the above change.

  • DumpRenderTree/mac/DumpRenderTreeWindow.mm:

(-[DumpRenderTreeWindow _addToOpenWindows]): Add bridge to a bridging typecast.
(-[DumpRenderTreeWindow close]): Ditto.

  • DumpRenderTree/mac/LayoutTestHelper.m:

(setDisplayColorProfile): Ditto.

  • DumpRenderTree/mac/PolicyDelegate.mm: Add a missing include.
  • DumpRenderTree/mac/ResourceLoadDelegate.mm:

(-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):
Add bridge to a bridging typecast.

  • DumpRenderTree/mac/TestRunnerMac.mm:

(-[APITestDelegateIPhone initWithTestRunner:utf8Data:baseURL:]): Ditto.
(TestRunner::apiTestNewWindowDataLoadBaseURL): Use @autoreleasepool instead of NSAutoreleasePool.

  • DumpRenderTree/mac/TextInputControllerMac.m: Fix a comment.
  • DumpRenderTree/mac/UIScriptControllerMac.mm:

(WTR::UIScriptController::replaceTextAtRange): Add bridge to a bridging typecast.
(WTR::UIScriptController::contentsOfUserInterfaceItem const): Ditto.
(WTR::UIScriptController::overridePreference): Ditto.

  • DumpRenderTree/mac/WorkQueueItemMac.mm:

(LoadItem::invoke const): Ditto.
(LoadHTMLStringItem::invoke const): Ditto.
(ScriptItem::invoke const): Ditto.

  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:

(+[NSString stringWithJSStringRef:]): Use CFBridgingRelease instead of autorelease.
(-[NSString createJSStringRef]): Add bridge to a bridging typecast.

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm:

(+[NSString stringWithJSStringRef:]): Use CFBridgingRelease instead of autorelease.
(-[NSString createJSStringRef]): Add bridge to a bridging typecast.

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:

(WTR::AccessibilityController::accessibleElementById): Add bridge to a bridging typecast.

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:

(-[NSString createJSStringRef]): Ditto.

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityTextMarkerMac.mm:

(WTR::AccessibilityTextMarker::isEqual): Ditto.

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityTextMarkerRangeMac.mm:

(WTR::AccessibilityTextMarkerRange::isEqual): Ditto.

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::setSelectedVisibleTextRange): Ditto.
(WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker): Ditto.
(WTR::AccessibilityUIElement::textMarkerRangeLength): Ditto.
(WTR::AccessibilityUIElement::previousTextMarker): Ditto.
(WTR::AccessibilityUIElement::nextTextMarker): Ditto.
(WTR::AccessibilityUIElement::stringForTextMarkerRange): Ditto.
(WTR::AccessibilityUIElement::textMarkerRangeForMarkers): Ditto.
(WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange): Ditto.
(WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange): Ditto.
(WTR::AccessibilityUIElement::accessibilityElementForTextMarker): Ditto.
(WTR::createJSStringRef): Ditto.
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeContainsAttribute): Ditto.
(WTR::AccessibilityUIElement::indexForTextMarker): Ditto.
(WTR::AccessibilityUIElement::isTextMarkerValid): Ditto.
(WTR::AccessibilityUIElement::leftWordTextMarkerRangeForTextMarker): Ditto.
(WTR::AccessibilityUIElement::rightWordTextMarkerRangeForTextMarker): Ditto.
(WTR::AccessibilityUIElement::previousWordStartTextMarkerForTextMarker): Ditto.
(WTR::AccessibilityUIElement::nextWordEndTextMarkerForTextMarker): Ditto.
(WTR::AccessibilityUIElement::paragraphTextMarkerRangeForTextMarker): Ditto.
(WTR::AccessibilityUIElement::previousParagraphStartTextMarkerForTextMarker): Ditto.
(WTR::AccessibilityUIElement::nextParagraphEndTextMarkerForTextMarker): Ditto.
(WTR::AccessibilityUIElement::sentenceTextMarkerRangeForTextMarker): Ditto.
(WTR::AccessibilityUIElement::previousSentenceStartTextMarkerForTextMarker): Ditto.
(WTR::AccessibilityUIElement::nextSentenceEndTextMarkerForTextMarker): Ditto.

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::initializeWebViewConfiguration): Ditto.
(WTR::TestController::platformContext): Ditto.
(WTR::TestController::platformPreferences): Ditto.
(WTR::TestController::platformAdjustContext): Ditto.

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(WTR::PlatformWebView::PlatformWebView): Ditto.

  • WebKitTestRunner/mac/TestControllerMac.mm:

(WTR::TestController::initializeInjectedBundlePath): Ditto.
(WTR::TestController::initializeTestPluginDirectory): Ditto.
(WTR::TestController::platformConfigureViewForTest): Ditto.

  • WebKitTestRunner/mac/UIScriptControllerMac.mm:

(WTR::nsString): Use CFBridgingRelease instead of autorelease.
(WTR::UIScriptController::platformPlayBackEventStream): Add bridge to a bridging
typecast.

  • WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.mm: Add a missing include.
  • WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:

(-[LocalPasteboard setPropertyList:forType:]): Add _bridge to a bridging typecast.
(-[LocalPasteboard setString:forType:]): Ditto.

  • WebKitTestRunner/mac/main.mm:

(main): Use @autoreleasepool instead of NSAutoreleasePool.

11:28 AM Changeset in webkit [232451] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

Make sure that the fencePort received over IPC has the expected disposition (SEND)
https://bugs.webkit.org/show_bug.cgi?id=186211
<rdar://problem/37814171>

Reviewed by Geoffrey Garen.

It is possible (though very unlikely) for a message to be recevied that has the wrong mach port disposition.
If this happens, we shouldn't manipulate the passed mach_port_t or pass it on to other API. We already
drop messages that violate this expectation in the IPC layer, but code handling IPC::Attachment data types
are not checking this value.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setTopContentInsetFenced):

  • WebProcess/cocoa/VideoFullscreenManager.mm:

(WebKit::VideoFullscreenManager::setVideoLayerFrameFenced):

10:35 AM Changeset in webkit [232450] by zandobersek@gmail.com
  • 4 edits in trunk/Source/WebCore

[WebGL] GL_EXT_robustness utilization should depend on CONTEXT_ROBUST_ACCESS value
https://bugs.webkit.org/show_bug.cgi?id=186187

Reviewed by Carlos Garcia Campos.

Don't utilize the GL_EXT_robustness extension for reading pixels from
the GPU if the underlying OpenGL context did not enable robust access
support upon creation. For EGL contexts, this would be done by passing
EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT and EGL_TRUE key-value pair in the
attribute list passed to eglCreateContext() (as specified in the
EGL_EXT_create_context_robustness extension), but at the moment this
capability is not utilized.

As such, on drivers that implement GL_EXT_robustness support, pixel
reads done in WebGLRenderingContextBase end up using glReadnPixels(),
but that fails to successfully read anything due to the context
rejecting such calls.

GL_EXT_robustness is specific to OpenGL ES versions, so to fix this,
Extensions3DOpenGLES overrides the isEnabled() method. That override
returns false immediately if the inherited isEnabled() implementation
returns false. Otherwise it returns true, unless the tested extension
is GL_EXT_robustness, in which case we now check that the context's
CONTEXT_ROBUST_ACCESS state value is true, meaning the context was
created with robust access support enabled.

No new tests are possible because this is optional driver-provided
functionality that Web content cannot have effect on.

  • platform/graphics/Extensions3D.h:
  • platform/graphics/opengl/Extensions3DOpenGLES.cpp:

(WebCore::Extensions3DOpenGLES::isEnabled):

  • platform/graphics/opengl/Extensions3DOpenGLES.h:

Jun 2, 2018:

7:22 PM Changeset in webkit [232449] by Caio Lima
  • 11 edits
    14 adds in trunk

[ESNext][BigInt] Implement support for addition operations
https://bugs.webkit.org/show_bug.cgi?id=179002

Reviewed by Yusuke Suzuki.

JSTests:

  • bigIntTests.yaml:
  • stress/addition-order-evaluation.js: Added.
  • stress/big-int-add-wrapped-value.js: Added.
  • stress/big-int-addition-basic.js: Added.
  • stress/big-int-addition-jit.js: Added.
  • stress/big-int-addition-memory-stress.js: Added.
  • stress/big-int-addition-string-coercion.js: Added.
  • stress/big-int-addition-to-primitive-precedence.js: Added.
  • stress/big-int-addition-to-primitive.js: Added.
  • stress/big-int-addition-type-error.js: Added.
  • stress/big-int-no-conversion-to-number.js:
  • stress/big-int-sub-wrapped-value.js: Added.
  • stress/big-int-subtraction-basic.js: Added.
  • stress/big-int-subtraction-jit.js: Added.
  • stress/big-int-subtraction-type-error.js: Added.
  • stress/sub-order-evaluation.js: Added.

Source/JavaScriptCore:

This patch is implementing support to BigInt Operands into binary "+"
and binary "-" operators. Right now, we have limited support to DFG
and FTL JIT layers, but we plan to fix this support in future
patches.

  • jit/JITOperations.cpp:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/JSBigInt.cpp:

(JSC::JSBigInt::parseInt):
(JSC::JSBigInt::stringToBigInt):
(JSC::JSBigInt::toString):
(JSC::JSBigInt::multiply):
(JSC::JSBigInt::divide):
(JSC::JSBigInt::remainder):
(JSC::JSBigInt::add):
(JSC::JSBigInt::sub):
(JSC::JSBigInt::absoluteAdd):
(JSC::JSBigInt::absoluteSub):
(JSC::JSBigInt::toStringGeneric):
(JSC::JSBigInt::allocateFor):
(JSC::JSBigInt::toNumber const):
(JSC::JSBigInt::getPrimitiveNumber const):

  • runtime/JSBigInt.h:
  • runtime/JSCJSValueInlines.h:
  • runtime/Operations.cpp:

(JSC::jsAddSlowCase):

  • runtime/Operations.h:

(JSC::jsSub):

5:49 PM Changeset in webkit [232448] by keith_miller@apple.com
  • 2 edits in trunk/Tools

run-jsc should pass the option to use dollar vm by default
https://bugs.webkit.org/show_bug.cgi?id=186170

Reviewed by Yusuke Suzuki.

  • Scripts/run-jsc:
4:34 PM Changeset in webkit [232447] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed, rolling out r232275.

May have caused a ~1% PLT regression on iOS

Reverted changeset:

"Store 0-lifetime stylesheets / scripts into the disk cache
for faster history navigations"
https://bugs.webkit.org/show_bug.cgi?id=186060
https://trac.webkit.org/changeset/232275

4:03 PM Changeset in webkit [232446] by commit-queue@webkit.org
  • 11 edits
    14 deletes in trunk

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

It breaks gtk-linux-32-release (Requested by caiolima on
#webkit).

Reverted changeset:

"[ESNext][BigInt] Implement support for addition operations"
https://bugs.webkit.org/show_bug.cgi?id=179002
https://trac.webkit.org/changeset/232439

4:02 PM Changeset in webkit [232445] by commit-queue@webkit.org
  • 6 edits
    3 deletes in trunk/Tools

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

Breaks webkitpy tests (Requested by aakashjain on #webkit).

Reverted changeset:

"Add some tests for lldb_webkit.py"
https://bugs.webkit.org/show_bug.cgi?id=183744
https://trac.webkit.org/changeset/232421

2:13 PM Changeset in webkit [232444] by Yusuke Suzuki
  • 10 edits
    2 adds in trunk

Baseline op_jtrue emits an insane amount of code
https://bugs.webkit.org/show_bug.cgi?id=185708

Reviewed by Filip Pizlo.

JSTests:

  • stress/logical-not-masquerades-as-undefined.js: Added.

(shouldBe):
(test):

  • stress/logical-not.js: Added.

(shouldBe):
(test):

Source/JavaScriptCore:

op_jtrue / op_jfalse bloats massive amount of code. This patch attempts to reduce the size of this code by,

  1. op_jtrue / op_jfalse immediately jumps if the condition met. We add AssemblyHelpers::branchIf{Truthy,Falsey} to jump directly. This tightens the code.
  1. Align our emitConvertValueToBoolean implementation to FTL's boolify function. It emits less code.

This reduces the code size of op_jtrue in x64 from 220 bytes to 164 bytes.

[ 12] jtrue arg1, 6(->18)

0x7f233170162c: mov 0x30(%rbp), %rax
0x7f2331701630: mov %rax, %rsi
0x7f2331701633: xor $0x6, %rsi
0x7f2331701637: test $0xfffffffffffffffe, %rsi
0x7f233170163e: jnz 0x7f2331701654
0x7f2331701644: cmp $0x7, %eax
0x7f2331701647: setz %sil
0x7f233170164b: movzx %sil, %esi
0x7f233170164f: jmp 0x7f2331701705
0x7f2331701654: test %rax, %r14
0x7f2331701657: jz 0x7f233170169c
0x7f233170165d: cmp %r14, %rax
0x7f2331701660: jb 0x7f2331701675
0x7f2331701666: test %eax, %eax
0x7f2331701668: setnz %sil
0x7f233170166c: movzx %sil, %esi
0x7f2331701670: jmp 0x7f2331701705
0x7f2331701675: lea (%r14,%rax), %rsi
0x7f2331701679: movq %rsi, %xmm0
0x7f233170167e: xorps %xmm1, %xmm1
0x7f2331701681: ucomisd %xmm1, %xmm0
0x7f2331701685: jz 0x7f2331701695
0x7f233170168b: mov $0x1, %esi
0x7f2331701690: jmp 0x7f2331701705
0x7f2331701695: xor %esi, %esi
0x7f2331701697: jmp 0x7f2331701705
0x7f233170169c: test %rax, %r15
0x7f233170169f: jnz 0x7f2331701703
0x7f23317016a5: cmp $0x1, 0x5(%rax)
0x7f23317016a9: jnz 0x7f23317016c1
0x7f23317016af: mov 0x8(%rax), %esi
0x7f23317016b2: test %esi, %esi
0x7f23317016b4: setnz %sil
0x7f23317016b8: movzx %sil, %esi
0x7f23317016bc: jmp 0x7f2331701705
0x7f23317016c1: test $0x1, 0x6(%rax)
0x7f23317016c5: jz 0x7f23317016f9
0x7f23317016cb: mov (%rax), %esi
0x7f23317016cd: mov $0x7f23315000c8, %rdx
0x7f23317016d7: mov (%rdx), %rdx
0x7f23317016da: mov (%rdx,%rsi,8), %rsi
0x7f23317016de: mov $0x7f2330de0000, %rdx
0x7f23317016e8: cmp %rdx, 0x18(%rsi)
0x7f23317016ec: jnz 0x7f23317016f9
0x7f23317016f2: xor %esi, %esi
0x7f23317016f4: jmp 0x7f2331701705
0x7f23317016f9: mov $0x1, %esi
0x7f23317016fe: jmp 0x7f2331701705
0x7f2331701703: xor %esi, %esi
0x7f2331701705: test %esi, %esi
0x7f2331701707: jnz 0x7f233170171b

[ 12] jtrue arg1, 6(->18)

0x7f6c8710156c: mov 0x30(%rbp), %rax
0x7f6c87101570: test %rax, %r15
0x7f6c87101573: jnz 0x7f6c871015c8
0x7f6c87101579: cmp $0x1, 0x5(%rax)
0x7f6c8710157d: jnz 0x7f6c87101592
0x7f6c87101583: cmp $0x0, 0x8(%rax)
0x7f6c87101587: jnz 0x7f6c87101623
0x7f6c8710158d: jmp 0x7f6c87101615
0x7f6c87101592: test $0x1, 0x6(%rax)
0x7f6c87101596: jz 0x7f6c87101623
0x7f6c8710159c: mov (%rax), %esi
0x7f6c8710159e: mov $0x7f6c86f000e0, %rdx
0x7f6c871015a8: mov (%rdx), %rdx
0x7f6c871015ab: mov (%rdx,%rsi,8), %rsi
0x7f6c871015af: mov $0x7f6c867e0000, %rdx
0x7f6c871015b9: cmp %rdx, 0x18(%rsi)
0x7f6c871015bd: jnz 0x7f6c87101623
0x7f6c871015c3: jmp 0x7f6c87101615
0x7f6c871015c8: cmp %r14, %rax
0x7f6c871015cb: jb 0x7f6c871015de
0x7f6c871015d1: test %eax, %eax
0x7f6c871015d3: jnz 0x7f6c87101623
0x7f6c871015d9: jmp 0x7f6c87101615
0x7f6c871015de: test %rax, %r14
0x7f6c871015e1: jz 0x7f6c87101602
0x7f6c871015e7: lea (%r14,%rax), %rsi
0x7f6c871015eb: movq %rsi, %xmm0
0x7f6c871015f0: xorps %xmm1, %xmm1
0x7f6c871015f3: ucomisd %xmm1, %xmm0
0x7f6c871015f7: jz 0x7f6c87101615
0x7f6c871015fd: jmp 0x7f6c87101623
0x7f6c87101602: mov $0x7, %r11
0x7f6c8710160c: cmp %r11, %rax
0x7f6c8710160f: jz 0x7f6c87101623

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::emitBranch):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::emitBranch):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitConvertValueToBoolean):
(JSC::AssemblyHelpers::branchIfValue):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::branchIfTruthy):
(JSC::AssemblyHelpers::branchIfFalsey):

  • jit/JIT.h:
  • jit/JITInlines.h:

(JSC::JIT::addJump):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_jfalse):
(JSC::JIT::emit_op_jtrue):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_jfalse):
(JSC::JIT::emit_op_jtrue):

2:11 PM Changeset in webkit [232443] by Yusuke Suzuki
  • 11 edits
    1 add
    1 delete in trunk

[JSC] Remove WeakReferenceHarvester
https://bugs.webkit.org/show_bug.cgi?id=186102

Reviewed by Filip Pizlo.

JSTests:

  • microbenchmarks/create-many-weak-map.js: Added.

Source/JavaScriptCore:

After several cleanups, now JSWeakMap becomes the last user of WeakReferenceHarvester.
Since JSWeakMap is already managed in IsoSubspace, we can iterate marked JSWeakMap
by using output constraints & Subspace iteration.

This patch removes WeakReferenceHarvester. Instead of managing this linked-list, our
output constraint set iterates marked JSWeakMap by using Subspace.

And we also add locking for JSWeakMap's rehash and output constraint visiting.

Attached microbenchmark does not show any regression.

  • API/JSAPIWrapperObject.h:
  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • heap/Heap.cpp:

(JSC::Heap::endMarking):
(JSC::Heap::addCoreConstraints):

  • heap/Heap.h:
  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::addWeakReferenceHarvester): Deleted.

  • heap/SlotVisitor.h:
  • heap/WeakReferenceHarvester.h: Removed.
  • runtime/WeakMapImpl.cpp:

(JSC::WeakMapImpl<WeakMapBucket>::visitChildren):
(JSC::WeakMapImpl<WeakMapBucket<WeakMapBucketDataKey>>::visitOutputConstraints):
(JSC::WeakMapImpl<WeakMapBucket<WeakMapBucketDataKeyValue>>::visitOutputConstraints):
(JSC::WeakMapImpl<WeakMapBucket<WeakMapBucketDataKey>>::visitWeakReferences): Deleted.
(JSC::WeakMapImpl<WeakMapBucket<WeakMapBucketDataKeyValue>>::visitWeakReferences): Deleted.

  • runtime/WeakMapImpl.h:

(JSC::WeakMapImpl::WeakMapImpl):
(JSC::WeakMapImpl::finishCreation):
(JSC::WeakMapImpl::rehash):
(JSC::WeakMapImpl::makeAndSetNewBuffer):
(JSC::WeakMapImpl::DeadKeyCleaner::target): Deleted.

2:08 PM Changeset in webkit [232442] by Yusuke Suzuki
  • 25 edits
    9 adds in trunk

[JSC] Object.create should have intrinsic
https://bugs.webkit.org/show_bug.cgi?id=186200

Reviewed by Filip Pizlo.

JSTests:

  • microbenchmarks/object-create-null.js: Added.

(test):

  • microbenchmarks/object-create-unknown-object-prototype.js: Added.

(test):

  • microbenchmarks/object-create-untyped-prototype.js: Added.

(test):

  • stress/get-by-pname-only-prototype-properties.js: Added.

(foo):

  • stress/object-create-define.js: Added.

(shouldBe):
(test):

  • stress/object-create-null-external.js: Added.

(shouldBe):
(test):

  • stress/object-create-null.js: Added.

(shouldBe):
(test):

  • stress/object-create-prototype.js: Added.

(shouldBe):
(test):

  • stress/object-create-undefined.js: Added.

(shouldThrow):
(i.shouldThrow):

Source/JavaScriptCore:

Object.create is used in various JS code. Object.create(null) is particularly used
to create empty plain object with null Prototype?. We can find Object.create(null)
call in ARES-6/Babylon code.

This patch adds ObjectCreateIntrinsic to JSC. DFG recognizes it and produces ObjectCreate
DFG node. DFG AI and constant folding attempt to convert it to NewObject when prototype
object is null. It offers significant performance boost for Object.create(null).

baseline patched

object-create-null 53.7940+-1.5297 19.8846+-0.6584 definitely 2.7053x faster
object-create-unknown-object-prototype 38.9977+-1.1364 37.2207+-0.6143 definitely 1.0477x faster
object-create-untyped-prototype 22.5632+-0.6917 22.2539+-0.6876 might be 1.0139x faster

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsicCall):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToNewObject):

  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileObjectCreate):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileObjectCreate):

  • runtime/Intrinsic.cpp:

(JSC::intrinsicName):

  • runtime/Intrinsic.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::nullPrototypeObjectStructure const):

  • runtime/ObjectConstructor.cpp:
10:43 AM Changeset in webkit [232441] by mitz@apple.com
  • 9 copies
    1 add in releases/Apple/Safari 11.1.1

Added a tag for Safari 11.1.1.

10:43 AM Changeset in webkit [232440] by mitz@apple.com
  • 8 copies
    1 add in releases/Apple/iOS 11.4

Added a tag for iOS 11.4.

9:03 AM Changeset in webkit [232439] by Caio Lima
  • 11 edits
    14 adds in trunk

[ESNext][BigInt] Implement support for addition operations
https://bugs.webkit.org/show_bug.cgi?id=179002

Reviewed by Yusuke Suzuki.

JSTests:

  • bigIntTests.yaml:
  • stress/addition-order-evaluation.js: Added.
  • stress/big-int-add-wrapped-value.js: Added.
  • stress/big-int-addition-basic.js: Added.
  • stress/big-int-addition-jit.js: Added.
  • stress/big-int-addition-memory-stress.js: Added.
  • stress/big-int-addition-string-coercion.js: Added.
  • stress/big-int-addition-to-primitive-precedence.js: Added.
  • stress/big-int-addition-to-primitive.js: Added.
  • stress/big-int-addition-type-error.js: Added.
  • stress/big-int-no-conversion-to-number.js:
  • stress/big-int-sub-wrapped-value.js: Added.
  • stress/big-int-subtraction-basic.js: Added.
  • stress/big-int-subtraction-jit.js: Added.
  • stress/big-int-subtraction-type-error.js: Added.
  • stress/sub-order-evaluation.js: Added.

Source/JavaScriptCore:

This patch is implementing support to BigInt Operands into binary "+"
and binary "-" operators. Right now, we have limited support to DFG
and FTL JIT layers, but we plan to fix this support in future
patches.

  • jit/JITOperations.cpp:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/JSBigInt.cpp:

(JSC::JSBigInt::parseInt):
(JSC::JSBigInt::stringToBigInt):
(JSC::JSBigInt::toString):
(JSC::JSBigInt::multiply):
(JSC::JSBigInt::divide):
(JSC::JSBigInt::remainder):
(JSC::JSBigInt::add):
(JSC::JSBigInt::sub):
(JSC::JSBigInt::absoluteAdd):
(JSC::JSBigInt::absoluteSub):
(JSC::JSBigInt::toStringGeneric):
(JSC::JSBigInt::allocateFor):
(JSC::JSBigInt::toNumber const):
(JSC::JSBigInt::getPrimitiveNumber const):

  • runtime/JSBigInt.h:
  • runtime/JSCJSValueInlines.h:
  • runtime/Operations.cpp:

(JSC::jsAddSlowCase):

  • runtime/Operations.h:

(JSC::jsSub):

9:03 AM Changeset in webkit [232438] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Make WKWebView firstResponder after entering or exiting fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=186088
rdar://problem/40387859

Patch by Jeremy Jones <jeremyj@apple.com> on 2018-06-02
Reviewed by Jer Noble.

Update first responder when WKWebView moves to a new window, otherwise there won't be a first responder.

  • UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:

(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]):
(-[WKFullScreenWindowController _completedExitFullScreen]):

9:02 AM Changeset in webkit [232437] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

Exit fullscreen when javascript alerts are presented.
https://bugs.webkit.org/show_bug.cgi?id=185619
rdar://problem/35724264

Patch by Jeremy Jones <jeremyj@apple.com> on 2018-06-02
Reviewed by Jer Noble.

Prevent users from being trapped in fullscreen by alert cycles.
Prevent fullscreen from becoming unresponsive due to alerts hidden behind fullscreen.

Fullscreen exit is initiated here in the UI process so that fullscreen UI is torn down immediately,
before the alert is shown.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::exitFullscreenImmediately):
(WebKit::WebPageProxy::runJavaScriptAlert):
(WebKit::WebPageProxy::runJavaScriptConfirm):
(WebKit::WebPageProxy::runJavaScriptPrompt):

  • UIProcess/WebPageProxy.h:
8:59 AM Changeset in webkit [232436] by youenn@apple.com
  • 3 edits
    1 add in trunk/Source/WebKit

Add a sandbox profile for com.cisco.webex.plugin.gpc64 plugin
https://bugs.webkit.org/show_bug.cgi?id=186110

Reviewed by Brent Fulgham.

  • PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in: Webex needs to create some symlinks.
  • Resources/PlugInSandboxProfiles/com.cisco.webex.plugin.gpc64.sb: Added.
  • WebKit.xcodeproj/project.pbxproj:

Jun 1, 2018:

11:54 PM Changeset in webkit [232435] by Wenson Hsieh
  • 3 edits
    2 adds in trunk

[Extra zoom mode] The user should always be able to double tap to zoom to a scale of at least 1
https://bugs.webkit.org/show_bug.cgi?id=186209
<rdar://problem/40529255>

Reviewed by Tim Horton.

Source/WebKit:

Tweaks the way double-tap-to-zoom scales are determined in extra zoom mode. Rather than zooming to make the 50th
and 90th percentiles of text in the document legible, only consider the 90th percentile of text size when
determining zoom scale, and fix the other potential zoom scale at 1; additionally, if the zoom scales are close
(within 0.3 of each other), snap the lower zoom scale to the higher value.

This results in the following changes in behavior:

  • Enables double tap to zoom in cases where all the text in the page is already legible.
  • On pages with mobile viewports, usually allows the user to toggle between initial scale and a scale of 1.
  • If a significant portion of text is unusually small, the zoomed-in scale may exceed 1.

Test: fast/events/extrazoom/double-tap-to-zoom-with-large-text.html

  • WebProcess/WebPage/ViewGestureGeometryCollector.cpp:

(WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
(WebKit::ViewGestureGeometryCollector::computeTextLegibilityScales):

LayoutTests:

Add a test to verify that double tapping zooms in on a page where all the text is large enough to be legible at
initial scale.

  • fast/events/extrazoom/double-tap-to-zoom-with-large-text-expected.txt: Added.
  • fast/events/extrazoom/double-tap-to-zoom-with-large-text.html: Added.
9:09 PM Changeset in webkit [232434] by rniwa@webkit.org
  • 6 edits
    2 adds in trunk

Editor can hold references to Documents after you navigate away
https://bugs.webkit.org/show_bug.cgi?id=186215

Reviewed by Simon Fraser.

Source/WebCore:

Clear the various member variables that can hold onto a document in Editor::clear and FrameSelection::prepareForDestruction.

Test: editing/selection/navigation-clears-editor-state.html

  • editing/Editor.cpp:

(WebCore::Editor::clear):

  • editing/Editor.h:
  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::FrameSelection):
(WebCore::FrameSelection::prepareForDestruction):

  • editing/FrameSelection.h:

LayoutTests:

Added a regression test.

  • editing/selection/navigation-clears-editor-state-expected.txt: Added.
  • editing/selection/navigation-clears-editor-state.html: Added.
5:21 PM Changeset in webkit [232433] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

ResourceLoader::cancel() shouldn't synchronously fire load event on document
https://bugs.webkit.org/show_bug.cgi?id=185284

Revert the erroneous change to SSFontSelector::beginLoadTimerFired(), which broke CancelLoading.CancelFontSubresource.
FrameLoader::loadDone calls checkCompleted, not checkLoadComplete so we still need to call checkLoadComplete here.

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::beginLoadTimerFired):

5:07 PM Changeset in webkit [232432] by bshafiei@apple.com
  • 2 edits in tags/Safari-606.1.18.2/Source/WebKit

Revert r231903. rdar://problem/40690985

5:05 PM Changeset in webkit [232431] by bshafiei@apple.com
  • 7 edits in tags/Safari-606.1.18.2/Source

Versioning.

5:04 PM Changeset in webkit [232430] by rniwa@webkit.org
  • 1 edit
    10 moves in trunk/LayoutTests

Move tests in LayoutTests/editing to appropriate subdirectories
https://bugs.webkit.org/show_bug.cgi?id=186212

Rubber-stamped by Wenson Hsieh.

Moved the following four tests in LayoutTests/editing to its subdirectories.

  • editing/input/composition-underline-color-expected-mismatch.html: Moved from editing/composition-underline-color-expected-mismatch.html.
  • editing/input/composition-underline-color.html: Move from editing/composition-underline-color.html.
  • editing/input/marked-text-appearance-expected-mismatch.html: Copied from LayoutTests/editing/marked-text-appearance-expected-mismatch.html.
  • editing/input/marked-text-appearance.html: Moved from editing/marked-text-appearance.html.
  • editing/selection/rtl-to-ltr-editing-word-move-spin-expected.txt: Moved from editing/rtl-to-ltr-editing-word-move-spin-expected.txt.
  • editing/selection/rtl-to-ltr-editing-word-move-spin.html: Moved from editing/rtl-to-ltr-editing-word-move-spin.html.
  • editing/selection/simple-line-layout-caret-is-gone-expected.txt: Moved from editing/simple-line-layout-caret-is-gone-expected.txt.
  • editing/selection/simple-line-layout-caret-is-gone.html: Moved from editing/simple-line-layout-caret-is-gone.html.
  • editing/style/apply-style-iframe-crash-expected.txt: Moved from editing/apply-style-iframe-crash-expected.txt.
  • editing/style/apply-style-iframe-crash.html: Moved from editing/apply-style-iframe-crash.html.
5:02 PM Changeset in webkit [232429] by bshafiei@apple.com
  • 1 copy in tags/Safari-606.1.18.2

New tag.

4:25 PM Changeset in webkit [232428] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Skip fetch/api/redirect/redirect-method.html and fetch/api/redirect/redirect-method-worker.html on macOS debug.
https://bugs.webkit.org/show_bug.cgi?id=184365

Unreviewed test gardening.

Patch by David Fenton <david_fenton@apple.com> on 2018-06-01

  • platform/mac/TestExpectations:
4:22 PM Changeset in webkit [232427] by commit-queue@webkit.org
  • 7 edits in trunk/Source

Keyboard focus should exit fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=185617
rdar://problem/34697938

Patch by Jeremy Jones <jeremyj@apple.com> on 2018-06-01
Reviewed by Ryosuke Niwa.

Source/WebCore:

No opensource test because feature is not enabled.

While in element fullscreen, initiating keyboard focus should exit fullscreen in iOS.

Improve fullscreen testability by exposing isAnimatingFullScreen.

  • dom/Document.h:
  • testing/Internals.cpp:

(WebCore::Internals::isAnimatingFullScreen const):

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

Source/WebKit:

While in element fullscreen, initiating keyboard focus should exit fullscreen in iOS.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::elementDidFocus):

4:19 PM Changeset in webkit [232426] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Don't continue playing in background when auto-picture-in-picture is disabled.
https://bugs.webkit.org/show_bug.cgi?id=186089
rdar://problem/40314314

Patch by Jeremy Jones <jeremyj@apple.com> on 2018-06-01
Reviewed by Eric Carlson.

No new tests because we don't have a way to test auto-pip.

With the refactoring work done in VideoFullscreenInterfaceAVKit, HTMLMediaElement no longer has to anticipate
auto-pip when if it should pause on suspend. Instead VideoFullscreenInterfaceAVKit proactively updates
videoFullscreenMode, so checking for PIP is sufficient.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction const):

4:15 PM Changeset in webkit [232425] by Kocsen Chung
  • 1 copy in tags/Safari-605.3.5

Tag Safari-605.3.5.

4:09 PM Changeset in webkit [232424] by Chris Dumez
  • 5 edits in trunk/Source

REGRESSION (r231456): Colloquy is broken
https://bugs.webkit.org/show_bug.cgi?id=186197
<rdar://problem/40722960>

Reviewed by Timothy Hatcher.

Restore pre-r231456 behavior for Colloquy app so that it works again.

Source/WebCore:

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::openURL):

  • page/Settings.yaml:

Source/WebKitLegacy/mac:

  • WebView/WebView.mm:

(-[WebView _needsFrameNameFallbackToIdQuirk]):
(-[WebView _preferencesChanged:]):

3:56 PM Changeset in webkit [232423] by Chris Dumez
  • 11 edits in trunk/Source

Regression(r230567): Unable to log into twitter.com in private sessions
https://bugs.webkit.org/show_bug.cgi?id=186205
<rdar://problem/40670799>

Reviewed by Youenn Fablet.

We were using the same SWServer for all private sessions and the SWServer's sessionID would
be legacyPrivateSessionID(). As a result, the service worker's sessionID would be legacyPrivateSessionID()
Source/WebCore:

as well and would not match the sessionID of its client pages. This sessionID mismatch was
causing the breakage.

Instead of using the same SWServer of all private sessions, we now go back to using a SWServer
per private session. However, we now make sure that the SWServer gets destroyed whenever its
corresponding session gets destroyed.

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::~SWServer):

Source/WebKit:

as well and would not match the sessionID of its client pages. This sessionID mismatch was
causing the breakage.

Instead of using the same SWServer of all private sessions, we now go back to using a SWServer
per private session. However, we now make sure that the SWServer gets destroyed whenever its
corresponding session gets destroyed.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::destroySession):

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::from):

  • StorageProcess/StorageProcess.cpp:

(WebKit::StorageProcess::destroySession):
(WebKit::StorageProcess::swServerForSession):

  • StorageProcess/StorageProcess.h:
  • StorageProcess/StorageProcess.messages.in:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::setAnyPageGroupMightHavePrivateBrowsingEnabled):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::~WebsiteDataStore):

(WebKit::WebsiteDataStore::enableResourceLoadStatisticsAndSetTestingCallback):

  • UIProcess/WebsiteData/WebsiteDataStore.h:

(WebKit::WebsiteDataStore::weakPtrFactory const):
Fix memory leak caused by a reference cycle between the WebsiteDataStore and its
WebResourceLoadStatisticsStore, by using WeakPtr to break the cycle. This was causing
us to leak WebsiteDataStore objects, which would prevent the destruction of sessions.

3:55 PM Changeset in webkit [232422] by Kocsen Chung
  • 13 edits in branches/safari-605-branch/Source

Revert "Apply patch. rdar://problem/40688638"

3:54 PM Changeset in webkit [232421] by dbates@webkit.org
  • 6 edits
    11 adds in trunk/Tools

Add some tests for lldb_webkit.py
https://bugs.webkit.org/show_bug.cgi?id=183744

Reviewed by Alexey Proskuryakov.

Adds some tests to ensure we do not regress LLDB pretty-printing of WTF::StringImpl
and WTF::String objects.

The tests make use of the LLDB Python API (lldb.py) and a simple debug-built test
program, lldbWebKitTester, to run. For now, we only support building lldbWebKitTester
on Mac.

  • Makefile: Build the simple test tool lldbWebKitTester on Mac.
  • Scripts/build-lldbwebkittester: Added.

(buildProjectOrDie):

  • Scripts/dump-class-layout: Extract logic to compute the path to the LLDB Python module

from here to Scripts/webkitpy/common/system/systemhost.py so that it can used by both
this script and lldb/lldb_webkit_unittest.py. Also import the lldb module at the top of
the file and take advantage of Python's default error semantics to throw an exception
if the import fails instead of handling it ourself. This has the side effect that we
now always import the LLDB Python module even if this script is invoked with --help.
If this turns out to be a significant annoyance then we can look to dynamically import
the module as we did before this change.
(webkit_build_dir):
(main):
(developer_dir): Deleted.
(import_lldb): Deleted.

  • Scripts/webkitpy/common/checkout/scm/scm_unittest.py: Update FIXME comment to reflect

that fact that test-webkitpy does not support class and module fixtures. This is because
test-webkitpy currently implements parallelism by breaking down existing test classes
into individual test methods itself and having each worker run exactly one test method (via
unittest.TestLoader.loadTestsFromName()) at a time. As a result of this reorganization,
setUpModule()/setUpClass() are called for each test method as opposed to once per test
class/test module.
(remove_dir): Ditto.

  • Scripts/webkitpy/common/system/systemhost.py:

(SystemHost):
(SystemHost.path_to_lldb_python_directory): Added.

  • Scripts/webkitpy/test/main.py:

(_find_lldb_webkit_tester): Returns whether there exists a Debug or Release-built lldbWebKitTester.
(_build_lldb_webkit_tester): Builds lldbWebKitTester. For now, we only support building
lldbWebKitTester on Mac.
(main): Add Tools/lldb to the test search path if the platform has lldb.py.
(Tester.run): Pass a boolean as to whether we will run the lldb_webkit unit tests.
(Tester._run_tests): Modified to take a boolean as to whether to run the lldb_webkit unit tests.
If we will run these tests then build lldbWebKitTester if it has not already been built as the
unit tests depend on this program.

  • lldb/lldbWebKitTester/Configurations/Base.xcconfig: Added.
  • lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig: Added.
  • lldb/lldbWebKitTester/Configurations/lldbWebKitTester.xcconfig: Added.
  • lldb/lldbWebKitTester/Makefile: Added.
  • lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj: Added.
  • lldb/lldbWebKitTester/main.cpp: Added.

(breakForTestingSummaryProviders):
(utf16String):
(testSummaryProviders):
(main):

  • lldb/lldb_webkit_unittest.py: Added.

(destroy_cached_debug_session):
(LLDBDebugSession):
(LLDBDebugSession.setup):
(LLDBDebugSession.tearDown):
(TestSummaryProviders):
(TestSummaryProviders.setUpClass):
(TestSummaryProviders._sbFrame):
(TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_null_string):
(TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_empty_string):
(TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_8bit_string):
(TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_16bit_string):
(TestSummaryProviders.serial_test_WTFString_SummaryProvider_null_string):
(TestSummaryProviders.serial_test_WTFString_SummaryProvider_empty_string):
(TestSummaryProviders.serial_test_WTFString_SummaryProvider_8bit_string):
(TestSummaryProviders.serial_test_WTFString_SummaryProvider_16bit_string):

3:34 PM Changeset in webkit [232420] by youenn@apple.com
  • 9 edits in trunk/Source

Add an option to restrict communication to localhost sockets
https://bugs.webkit.org/show_bug.cgi?id=186208

Reviewed by Eric Carlson.

Source/WebCore:

Covered by existing tests.
Add an option in LibWebRTCProvider to restrict to localhost sockets.
Use that option when Internals is used.

  • platform/mediastream/libwebrtc/LibWebRTCProvider.h:
  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):

Source/WebKit:

Implement restriction to localhost sockets by setting any IP address to 127.0.0.1.
This is done on WebProcess side just before requesting to open the socket by NetworkProcess.

  • WebProcess/Network/webrtc/LibWebRTCNetwork.h:

(WebKit::LibWebRTCNetwork::disableNonLocalhostConnections):

  • WebProcess/Network/webrtc/LibWebRTCProvider.cpp:

(WebKit::LibWebRTCProvider::disableNonLocalhostConnections):
(WebKit::LibWebRTCProvider::registerMDNSName):

  • WebProcess/Network/webrtc/LibWebRTCProvider.h:
  • WebProcess/Network/webrtc/LibWebRTCSocketFactory.cpp:

(WebKit::prepareSocketAddress):
(WebKit::LibWebRTCSocketFactory::CreateServerTcpSocket):
(WebKit::LibWebRTCSocketFactory::CreateUdpSocket):
(WebKit::LibWebRTCSocketFactory::CreateClientTcpSocket):

  • WebProcess/Network/webrtc/LibWebRTCSocketFactory.h:
3:30 PM Changeset in webkit [232419] by rniwa@webkit.org
  • 19 edits in trunk

ResourceLoader::cancel() shouldn't synchronously fire load event on document
https://bugs.webkit.org/show_bug.cgi?id=185284
Source/WebCore:

Reviewed by Antti Koivisto.

Because a resource loading can be canceled as a node is removed a document or CachedResource is destructed,
it's not safe to synchronously fire load event on document upon cancelation. This patch makes the cancellation
of a resource load schedule m_checkTimer in FrameLoader to fire a load event asynchronously instead.

Specifically, this patch makes FrameLoader::loadDone call FrameLoader::scheduleCheckCompleted when the load
had failed or cancled instead of calling FrameLoader::checkCompleted which can synchronously fire load event.
To differentiate the two cases, new enum LoadCompletionType has been added to FrameLoader::loadDone and related
functions. To avoid calling the navigation delegate too early, the same abstraction for checkLoadComplete()
has been added in the form of FrameLoader::subresourceLoadDone.

Unfortunately, delaying calls to checkCompleted() and checkLoadComplete() by a timer can result in client
callbacks such as didFinishLoadForFrame and didFailLoadWithError to never get called when the frame gets
detached from the parent after the last resource had stopped loading but before the timer fires. To preserve
these deleagte callbacks, this patch expedites the timer in FrameLoader::frameDetached and Page::goToItem by
by invoking newly added stopAllLoadersAndCheckCompleteness, which stops all loading and then immediately invokes
checkCompleted() and checkLoadComplete() synchronously if m_checkTimer had been started.

Tests: http/tests/preload/dynamic_removing_preload.html

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::beginLoadTimerFired): Removed superfluous call to checkLoadComplete since
cachedResourceLoader's loadDone would call checkLoadComplete anyway.

  • html/HTMLFrameOwnerElement.cpp:

(WebCore::HTMLFrameOwnerElement::disconnectContentFrame): Removed the misleading comment added in r140090.
Firefox DOES indeed fire unload event in the content document of a removed frame. While this comment made
it sound like this function isn't called when a frame is removed from the tree when in reality we simply
remove a frame prior to removing the node via disconnectSubframesIfNeeded.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::removeSubresourceLoader):

  • loader/DocumentLoader.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::loadDone):
(WebCore::FrameLoader::subresourceLoadDone):
(WebCore::FrameLoader::checkCompleted): Added a release assert that this function is only called when it's safe
to execute scripts.
(WebCore::FrameLoader::checkTimerFired):
(WebCore::FrameLoader::checkCompletenessNow):Extracted from checkTimerFired.
(WebCore::FrameLoader::stopAllLoaders): Removed the code to stop m_checkTimer introduced in r53655.
Stopping the timer here would prevent FrameLoader::frameDetached to detect the case when stopping the loader
scheduled a load completion check. Also stopping this timer without clearing the corresponding booleans:
m_checkingLoadCompleteForDetachment and m_checkingLoadCompleteForDetachment is problematic. The assertion
r53655 addressed is now addressed by explicitly checking & clearing the timer in frameDetached.
(WebCore::FrameLoader::stopAllLoadersAndCheckCompleteness): Added.
(WebCore::FrameLoader::checkLoadCompleteForThisFrame): Avoid an early exit when the newly added boolean
m_checkingLoadCompleteForDetachment is set since m_isStopping is no longer set in frameDetached in order
to invoke didFailLoadWithError when detaching a frame.
(WebCore::FrameLoader::frameDetached): Call checkCompletenessNow in the case the frame had already been
completed loading. Also call stopAllLoadersAndCheckCompleteness in the case stopping loading would complete
the loading before stopping active DOM objects.

  • loader/FrameLoader.h:

(WebCore::FrameLoader::m_checkingLoadCompleteForDetachment): Added.

  • loader/FrameLoaderTypes.h:

(WebCore::LoadCompletionType): Added.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didFinishLoading):
(WebCore::SubresourceLoader::didFail):
(WebCore::SubresourceLoader::didCancel):
(WebCore::SubresourceLoader::notifyDone):

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

(WebCore::CachedResourceLoader::loadDone):

  • loader/cache/CachedResourceLoader.h:
  • page/Page.cpp:

(WebCore::Page::goToItem): Call stopAllLoadersAndCheckCompleteness instead of stopAllLoaders since stopping
loading here may complete loading.

LayoutTests:

<rdar://problem/39994507>

Reviewed by Antti Koivisto.

Fixed the tests as needed, and skipped more drag & drop tests in WebKitTestRunner as drag & drop isn't supported.

  • editing/pasteboard/drag-image-to-contenteditable-in-iframe.html: Fixed the test. Explicitly invoke

testRunner.waitUntilDone() to wait until the iframe is loaded. Because "load" event in DOM only fires after
all subframes are loaded but the load delegate callback fires as long as subresources in the main frame
had finished loading, DumpRenderTree would finish the test prematurely otherwise. The old code happens to
work before this patch because we happen to not invoke FrameLoader::checkComplete at the "right" moment.
The WebCore change now triggers such a check and prematurely end the test without this fix to the test.

  • http/tests/xmlhttprequest/reentrant-cancel-expected.txt:
  • http/tests/xmlhttprequest/reentrant-cancel.html: Canceling XHR inside addElement is no longer

firing load event synchronously as expected. Added a code to end the test after the load event.

  • http/wpt/service-workers/clone-opaque-being-loaded-response.html:
  • platform/mac-wk2/TestExpectations:
  • platform/wk2/TestExpectations:
2:40 PM Changeset in webkit [232418] by Kocsen Chung
  • 13 edits in branches/safari-605-branch/Source

Apply patch. rdar://problem/40688638

2:28 PM Changeset in webkit [232417] by rniwa@webkit.org
  • 8 edits in trunk/LayoutTests

Some tests for webkitdirectory API fail when tests are in an APFS file system
https://bugs.webkit.org/show_bug.cgi?id=186184

Reviewed by Chris Dumez.

On an APFS volume, files may not be listed in the lexicologically order and the size of a directory
may defer from that of HFS+. To make the test results consistent on either file systems,
sort file entries lexicologically by the name and list two possible directory sizes as the expectation.

Added a new helper function, shouldBeOneOfValues, which takes an array of values as the expectation.

  • editing/pasteboard/entries-api/datatransfer-items-drop-directoryReader.html:
  • editing/pasteboard/entries-api/datatransfer-items-drop-getAsEntry-expected.txt:
  • editing/pasteboard/entries-api/datatransfer-items-drop-getAsEntry.html:
  • fast/forms/file/entries-api/drag-folder-webkitEntries-expected.txt:
  • fast/forms/file/entries-api/drag-folder-webkitEntries.html:
  • fast/forms/file/entries-api/webkitdirectory-drag-folder.html:
  • resources/js-test.js:

(shouldBeOneOfValues): Added.

1:58 PM Changeset in webkit [232416] by Chris Dumez
  • 10 edits in trunk/Source/WebKit

Regression(r230876): Swipe navigation snapshot may get removed too early
https://bugs.webkit.org/show_bug.cgi?id=186168
<rdar://problem/39743617>

Reviewed by Tim Horton.

The swipe navigation snapshot would get removed too early when receiving a paint
event after requesting a history navigation but before the provisional load has
actually started. This is because of the asynchronous navigation policy decision
which occurs after requesting to navigate. To address the issue, we now start
listening for events only after the provisional load has started.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didStartProvisionalLoadForMainFrame]):

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/Cocoa/ViewGestureController.cpp:

(WebKit::ViewGestureController::didStartProvisionalLoadForMainFrame):
(WebKit::ViewGestureController::didReachMainFrameLoadTerminalState):
(WebKit::ViewGestureController::didSameDocumentNavigationForMainFrame):

  • UIProcess/Cocoa/ViewGestureController.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::didStartProvisionalLoadForMainFrame):

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::endSwipeGesture):

  • UIProcess/mac/PageClientImplMac.h:
  • UIProcess/mac/PageClientImplMac.mm:

(WebKit::PageClientImpl::didStartProvisionalLoadForMainFrame):

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::endSwipeGesture):

1:57 PM Changeset in webkit [232415] by aestes@apple.com
  • 1 edit in trunk/Source/JavaScriptCore/bytecode/InByIdStatus.cpp

Fix the !ENABLE(DFG_JIT) build.

  • bytecode/InByIdStatus.cpp:

(JSC::InByIdStatus::computeFor):

1:52 PM Changeset in webkit [232414] by jiewen_tan@apple.com
  • 2 edits in trunk/Source/WebKit

Unreviewed, build fix for r232276.

iOS sandbox profiles don't preprocess macros. Therefore, remove the whole
macro condition block.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
1:41 PM Changeset in webkit [232413] by dbates@webkit.org
  • 4 edits in trunk/LayoutTests

http/tests/inspector/network/har/har-page.html should actually sort dumped cookies by name
https://bugs.webkit.org/show_bug.cgi?id=186137

Reviewed by Joseph Pecoraro.

JavaScript does not support comparison of String data types using the minus operator. Instead
implement the string comparator using relational operators and the identity operator.

  • http/tests/inspector/network/har/har-page-expected.txt:
  • http/tests/inspector/network/har/har-page.html:
  • platform/gtk/TestExpectations: Unskip test.
1:24 PM Changeset in webkit [232412] by bshafiei@apple.com
  • 1 delete in tags/Safari-#606.1.19.1

Remove tag.

1:13 PM Changeset in webkit [232411] by Wenson Hsieh
  • 2 edits in trunk/Source/JavaScriptCore

Fix the watchOS build after r232385
https://bugs.webkit.org/show_bug.cgi?id=186203

Reviewed by Keith Miller.

Add a missing header include for JSImmutableButterfly.

  • runtime/ArrayPrototype.cpp:
1:13 PM Changeset in webkit [232410] by sihui_liu@apple.com
  • 8 edits in trunk/Source

Stop using StorageTracker.db in LocalStorageDatabaseTracker
https://bugs.webkit.org/show_bug.cgi?id=186104

Reviewed by Geoffrey Garen.

Source/WebCore:

No behavior change.

  • platform/sql/SQLiteFileSystem.h:

Source/WebKit:

Stop using StorageTracker.db and stop caching origins in LocalStorageDatabaseTracker for efficiency
and simplicity. Since functions in LocalStorageDatabaseTracker are not frequently called, we get
little benefits from caching origins.

  • Platform/Logging.h:
  • UIProcess/API/C/WKKeyValueStorageManager.cpp:

(WKKeyValueStorageManagerGetStorageDetailsByOrigin):

  • UIProcess/WebStorage/LocalStorageDatabaseTracker.cpp:

(WebKit::LocalStorageDatabaseTracker::LocalStorageDatabaseTracker):
(WebKit::LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin):
(WebKit::LocalStorageDatabaseTracker::deleteDatabaseWithOrigin):
(WebKit::LocalStorageDatabaseTracker::deleteAllDatabases):
(WebKit::LocalStorageDatabaseTracker::databasesModifiedSince):
(WebKit::LocalStorageDatabaseTracker::origins const):
(WebKit::LocalStorageDatabaseTracker::originDetails):
(WebKit::LocalStorageDatabaseTracker::databasePath const):
(WebKit::fileCreationTime): Deleted.
(WebKit::fileModificationTime): Deleted.
(WebKit::LocalStorageDatabaseTracker::trackerDatabasePath const): Deleted.
(WebKit::LocalStorageDatabaseTracker::openTrackerDatabase): Deleted.
(WebKit::LocalStorageDatabaseTracker::importOriginIdentifiers): Deleted.
(WebKit::LocalStorageDatabaseTracker::updateTrackerDatabaseFromLocalStorageDatabaseFiles): Deleted.
(WebKit::LocalStorageDatabaseTracker::addDatabaseWithOriginIdentifier): Deleted.
(WebKit::LocalStorageDatabaseTracker::removeDatabaseWithOriginIdentifier): Deleted.
(WebKit::LocalStorageDatabaseTracker::pathForDatabaseWithOriginIdentifier): Deleted.

  • UIProcess/WebStorage/LocalStorageDatabaseTracker.h:
  • UIProcess/WebStorage/StorageManager.h:
12:53 PM Changeset in webkit [232409] by youenn@apple.com
  • 3 edits in trunk/LayoutTests

http/tests/appcache/deferred-events.html is flaky due to console log messages
https://bugs.webkit.org/show_bug.cgi?id=185543

Reviewed by Chris Dumez.

Update the test to wait for the onerror callback.
At that time, all console logging should be done.

  • http/tests/appcache/deferred-events-expected.txt:
  • http/tests/appcache/deferred-events.html:
12:41 PM Changeset in webkit [232408] by Kocsen Chung
  • 8 edits in tags/Safari-606.1.19.1/Source/WebKit

Revert r232276. rdar://problem/40728289

12:41 PM Changeset in webkit [232407] by Kocsen Chung
  • 2 edits in tags/Safari-606.1.19.1/Source/WebKit

Revert r232186. rdar://problem/40708108

12:11 PM Changeset in webkit [232406] by Kocsen Chung
  • 7 edits in tags/Safari-606.1.19.1/Source

Versioning.

12:07 PM Changeset in webkit [232405] by Kocsen Chung
  • 1 copy in tags/Safari-606.1.19.1

New tag.

12:06 PM Changeset in webkit [232404] by Yusuke Suzuki
  • 8 edits
    1 add in trunk

[JSC] Add Symbol.prototype.description getter
https://bugs.webkit.org/show_bug.cgi?id=186053

Reviewed by Keith Miller.

JSTests:

  • stress/symbol-description.js: Added.

(shouldBe):
(shouldThrow):

Source/JavaScriptCore:

Symbol.prototype.description accessor is now stage 3[1].
This adds a getter to retrieve Description? value from Symbol.
Previously, Symbol#toString() returns Symbol(${description}) value.
So users need to extract description part if they want it.

[1]: https://tc39.github.io/proposal-Symbol-description/

  • runtime/Symbol.cpp:

(JSC::Symbol::description const):

  • runtime/Symbol.h:
  • runtime/SymbolPrototype.cpp:

(JSC::tryExtractSymbol):
(JSC::symbolProtoGetterDescription):
(JSC::symbolProtoFuncToString):
(JSC::symbolProtoFuncValueOf):

LayoutTests:

  • js/Object-getOwnPropertyNames-expected.txt:
  • js/script-tests/Object-getOwnPropertyNames.js:
12:02 PM Changeset in webkit [232403] by Kocsen Chung
  • 1 copy in tags/Safari-#606.1.19.1

New tag.

11:55 AM Changeset in webkit [232402] by dino@apple.com
  • 1 edit
    2 adds in trunk/Websites/webkit.org

Add a demo for passive touch listeners.

  • demos/passive-touches/index.html: Added.
11:47 AM Changeset in webkit [232401] by Yusuke Suzuki
  • 3 edits in trunk/Source/JavaScriptCore

[JSC] Correct values and members of JSBigInt appropriately
https://bugs.webkit.org/show_bug.cgi?id=186196

Reviewed by Darin Adler.

This patch cleans up a bit to select more appropriate values and members of JSBigInt.

  1. JSBigInt's structure should be StructureIsImmortal.
  2. JSBigInt::allocationSize should be annotated with inline.
  3. Remove JSBigInt::visitChildren since it is completely the same to JSCell::visitChildren.
  4. Remove JSBigInt::finishCreation since it is completely the same to JSCell::finishCreation.
  • runtime/JSBigInt.cpp:

(JSC::JSBigInt::allocationSize):
(JSC::JSBigInt::allocateFor):
(JSC::JSBigInt::compareToDouble):
(JSC::JSBigInt::visitChildren): Deleted.
(JSC::JSBigInt::finishCreation): Deleted.

  • runtime/JSBigInt.h:
11:39 AM Changeset in webkit [232400] by Yusuke Suzuki
  • 6 edits
    9 adds in trunk

[DFG] InById should be converted to MatchStructure
https://bugs.webkit.org/show_bug.cgi?id=185803

Reviewed by Keith Miller.

JSTests:

  • microbenchmarks/in-by-id-match.js: Added.

(test):

  • microbenchmarks/in-by-id-removed.js: Added.

(test):

  • stress/in-by-id-constant.js: Added.

(shouldBe):
(test1):

  • stress/in-by-id-match-invalid.js: Added.

(shouldBe):
(test1):

  • stress/in-by-id-match.js: Added.

(shouldBe):
(test1):

Source/JavaScriptCore:

MatchStructure is introduced for instanceof optimization. But this node
is also useful for InById node. This patch converts InById to MatchStructure
node with CheckStructures if possible by using InByIdStatus.

Added microbenchmarks show improvements.

baseline patched

in-by-id-removed 18.1196+-0.8108 16.1702+-0.9773 definitely 1.1206x faster
in-by-id-match 16.3912+-0.2608 15.2736+-0.8173 definitely 1.0732x faster

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • bytecode/InByIdStatus.cpp: Added.

(JSC::InByIdStatus::appendVariant):
(JSC::InByIdStatus::computeFor):
(JSC::InByIdStatus::hasExitSite):
(JSC::InByIdStatus::computeForStubInfo):
(JSC::InByIdStatus::computeForStubInfoWithoutExitSiteFeedback):
(JSC::InByIdStatus::filter):
(JSC::InByIdStatus::dump const):

  • bytecode/InByIdStatus.h: Added.

(JSC::InByIdStatus::InByIdStatus):
(JSC::InByIdStatus::state const):
(JSC::InByIdStatus::isSet const):
(JSC::InByIdStatus::operator bool const):
(JSC::InByIdStatus::isSimple const):
(JSC::InByIdStatus::numVariants const):
(JSC::InByIdStatus::variants const):
(JSC::InByIdStatus::at const):
(JSC::InByIdStatus::operator[] const):
(JSC::InByIdStatus::takesSlowPath const):

  • bytecode/InByIdVariant.cpp: Added.

(JSC::InByIdVariant::InByIdVariant):
(JSC::InByIdVariant::attemptToMerge):
(JSC::InByIdVariant::dump const):
(JSC::InByIdVariant::dumpInContext const):

  • bytecode/InByIdVariant.h: Added.

(JSC::InByIdVariant::isSet const):
(JSC::InByIdVariant::operator bool const):
(JSC::InByIdVariant::structureSet const):
(JSC::InByIdVariant::structureSet):
(JSC::InByIdVariant::conditionSet const):
(JSC::InByIdVariant::offset const):
(JSC::InByIdVariant::isHit const):

  • bytecode/PolyProtoAccessChain.h:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

11:11 AM Changeset in webkit [232399] by keith_miller@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

move should only emit the move if it's actually needed
https://bugs.webkit.org/show_bug.cgi?id=186123

Reviewed by Saam Barati.

This patch relpaces move with moveToDestinationIfNeeded. This
will prevent us from emiting moves to the same location. The old
move, has been renamed to emitMove and made private.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitMove):
(JSC::BytecodeGenerator::emitGetGlobalPrivate):
(JSC::BytecodeGenerator::emitGetAsyncIterator):
(JSC::BytecodeGenerator::move): Deleted.

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::move):
(JSC::BytecodeGenerator::moveToDestinationIfNeeded): Deleted.

  • bytecompiler/NodesCodegen.cpp:

(JSC::ThisNode::emitBytecode):
(JSC::SuperNode::emitBytecode):
(JSC::NewTargetNode::emitBytecode):
(JSC::ResolveNode::emitBytecode):
(JSC::TaggedTemplateNode::emitBytecode):
(JSC::ArrayNode::emitBytecode):
(JSC::ObjectLiteralNode::emitBytecode):
(JSC::EvalFunctionCallNode::emitBytecode):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_putByIdDirect):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_putByIdDirectPrivate):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_putByValDirect):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_toNumber):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_toString):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_toObject):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_idWithProfile):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_isJSArray):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_isProxyObject):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_isRegExpObject):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_isObject):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_isDerivedArray):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_isMap):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_isSet):
(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::emitPostIncOrDec):
(JSC::PostfixNode::emitBracket):
(JSC::PostfixNode::emitDot):
(JSC::PrefixNode::emitResolve):
(JSC::PrefixNode::emitBracket):
(JSC::PrefixNode::emitDot):
(JSC::LogicalOpNode::emitBytecode):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::AssignDotNode::emitBytecode):
(JSC::AssignBracketNode::emitBytecode):
(JSC::FunctionNode::emitBytecode):
(JSC::ClassExprNode::emitBytecode):
(JSC::DestructuringAssignmentNode::emitBytecode):
(JSC::ArrayPatternNode::emitDirectBinding):
(JSC::ObjectPatternNode::bindValue const):
(JSC::AssignmentElementNode::bindValue const):
(JSC::ObjectSpreadExpressionNode::emitBytecode):

9:36 AM Changeset in webkit [232398] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

export-w3c-test-changes cannot apply patches when some w3c-import.log files are changed
https://bugs.webkit.org/show_bug.cgi?id=186133

Patch by Frederic Wang <fwang@igalia.com> on 2018-06-01
Reviewed by Youenn Fablet.

  • Scripts/webkitpy/w3c/test_exporter.py: Exclude w3c-import.log from the diff.
  • Scripts/webkitpy/w3c/test_exporter_unittest.py: Add unit test.
9:25 AM WebKitGTK/2.20.x edited by Michael Catanzaro
(diff)
9:12 AM Changeset in webkit [232397] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit

[GTK] Crash in WebKitFaviconDatabase when pageURL is unset
https://bugs.webkit.org/show_bug.cgi?id=186164

Reviewed by Carlos Garcia Campos.

PageURL can legitimately be null here if JavaScript does something silly with window.open.

  • UIProcess/API/glib/WebKitFaviconDatabase.cpp:

(webkitFaviconDatabaseSetIconURLForPageURL):
(webkitFaviconDatabaseSetIconForPageURL):

9:08 AM Changeset in webkit [232396] by BJ Burg
  • 4 edits in trunk/Source/WebKit

[Cocoa] Web Automation: use the session delegate to perform window maximize
https://bugs.webkit.org/show_bug.cgi?id=186167
<rdar://problem/40544391>

Reviewed by Timothy Hatcher.

Add plumbing to hand off window maximizing to the session delegate.

  • UIProcess/API/Cocoa/_WKAutomationSessionDelegate.h:
  • UIProcess/Cocoa/AutomationSessionClient.h:
  • UIProcess/Cocoa/AutomationSessionClient.mm:

(WebKit::AutomationSessionClient::AutomationSessionClient):
(WebKit::AutomationSessionClient::requestMaximizeWindowOfPage):

9:00 AM Changeset in webkit [232395] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

Unskip fast/html/marquee-reparent-check.html on macOS debug.
https://bugs.webkit.org/show_bug.cgi?id=178465
<rdar://problem/35052953>

Reviewed by Geoffrey Garen.

Unskipping test since the debug assertion is no longer reproducible in
current sources on shipping software.

  • platform/mac/TestExpectations:
7:39 AM Changeset in webkit [232394] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

[LFC] Simplify the formatting class implementation by pushing down some of the logic to the Geometry class
https://bugs.webkit.org/show_bug.cgi?id=186179

Reviewed by Antti Koivisto.

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeOutOfFlowPosition 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/FormattingContextGeometry.cpp:

(WebCore::Layout::outOfFlowNonReplacedHeight):
(WebCore::Layout::outOfFlowNonReplacedWidth):
(WebCore::Layout::outOfFlowReplacedHeight):
(WebCore::Layout::outOfFlowReplacedWidth):
(WebCore::Layout::floatingNonReplacedHeight):
(WebCore::Layout::floatingNonReplacedWidth):
(WebCore::Layout::floatingReplacedHeight):
(WebCore::Layout::floatingReplacedWidth):
(WebCore::Layout::outOfFlowNonReplacedPosition):
(WebCore::Layout::outOfFlowReplacedPosition):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowHeight):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowWidth):
(WebCore::Layout::FormattingContext::Geometry::floatingHeight):
(WebCore::Layout::FormattingContext::Geometry::floatingWidth):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowPosition):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeight):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidth):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHeight): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedWidth): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHeight): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedWidth): Deleted.
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedHeight): Deleted.
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidth): Deleted.
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedHeight): Deleted.
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidth): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedPosition): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedPosition): Deleted.
(WebCore::Layout::FormattingContext::Geometry::replacedHeight): Deleted.
(WebCore::Layout::FormattingContext::Geometry::replacedWidth): Deleted.

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computeStaticPosition const):
(WebCore::Layout::BlockFormattingContext::computeInFlowPositionedPosition const):
(WebCore::Layout::BlockFormattingContext::computeInFlowHeight const):
(WebCore::Layout::BlockFormattingContext::computeInFlowWidth const):

  • layout/blockformatting/BlockFormattingContext.h:
  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::inFlowNonReplacedHeight):
(WebCore::Layout::inFlowNonReplacedWidth):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowHeight):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowWidth):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeight): Deleted.
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidth): Deleted.

7:07 AM Changeset in webkit [232393] by Alan Bujtas
  • 8 edits in trunk/Source/WebCore

[LFC] Push FormattingContext::computeWidth/computeHeight logic from the base to the subclasses.
https://bugs.webkit.org/show_bug.cgi?id=186172

Reviewed by Antti Koivisto.

FormattingContext::computeWidth/computeHeight virtual functions have very little benefit and in the long run
it's better if we keep the number of virtual functions to the minimum necessary.

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeFloatingWidth const):
(WebCore::Layout::FormattingContext::computeStaticPosition const): Deleted.
(WebCore::Layout::FormattingContext::computeInFlowPositionedPosition const): Deleted.
(WebCore::Layout::FormattingContext::computeWidth const): Deleted.
(WebCore::Layout::FormattingContext::computeHeight const): Deleted.
(WebCore::Layout::FormattingContext::computeMargin const): Deleted.

  • layout/FormattingContext.h:
  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHeight):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedWidth):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedHeight):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidth):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeight):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidth):
(WebCore::Layout::FormattingContext::Geometry::replacedHeight): Deleted.
(WebCore::Layout::FormattingContext::Geometry::replacedWidth): Deleted.

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computeWidth const):
(WebCore::Layout::BlockFormattingContext::computeHeight const):
(WebCore::Layout::BlockFormattingContext::computeInFlowHeight const):
(WebCore::Layout::BlockFormattingContext::computeInFlowWidth const):

  • layout/blockformatting/BlockFormattingContext.h:
  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computeStaticPosition const):
(WebCore::Layout::InlineFormattingContext::computeInFlowPositionedPosition const):
(WebCore::Layout::InlineFormattingContext::computeInFlowWidth const): Deleted.
(WebCore::Layout::InlineFormattingContext::computeInFlowHeight const): Deleted.

  • layout/inlineformatting/InlineFormattingContext.h:
6:02 AM Changeset in webkit [232392] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[GTK] Difficult to read combo box text in dark theme
https://bugs.webkit.org/show_bug.cgi?id=165072

Patch by Carlos Eduardo Ramalho <cadubentzen@gmail.com> on 2018-06-01
Reviewed by Carlos Garcia Campos.

Set listbox foreground color to theme color to fix hard-to-read
text color in combo box while using dark theme.

No new tests required. ManualTests/gtk/theme.html already covers it.
See the "Option Lists" section.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustStyle):
Adjust style for ListboxPart as well.

  • rendering/RenderTheme.h: Add adjustListboxStyle()
  • rendering/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::adjustListboxStyle const):
Set color to the theme foreground color.

  • rendering/RenderThemeGtk.h: adjustListboxStyle() overriden.
1:09 AM Changeset in webkit [232391] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

Unreviewed. Try to fix GTK+ build with old versions of GTK+ after r232390.

  • UIProcess/gtk/WebPopupMenuProxyGtk.cpp:

(WebKit::WebPopupMenuProxyGtk::showPopupMenu):

12:44 AM Changeset in webkit [232390] by Carlos Garcia Campos
  • 7 edits in trunk/Source

[GTK] Switch to use a popup window with a tree view instead of a menu for option menu default implementation
https://bugs.webkit.org/show_bug.cgi?id=186146

Reviewed by Michael Catanzaro.

Source/WebCore:

Make it possible to use GUniquePtr with GtkTreePath.

  • platform/gtk/GUniquePtrGtk.h:

Source/WebKit:

It's more convenient to use than the menu.

  • UIProcess/API/gtk/WebKitPopupMenu.cpp:

(WebKit::menuCloseCallback):
(WebKit::WebKitPopupMenu::activateItem):

  • UIProcess/API/gtk/WebKitPopupMenu.h:
  • UIProcess/gtk/WebPopupMenuProxyGtk.cpp:

(WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk):
(WebKit::WebPopupMenuProxyGtk::selectItem):
(WebKit::WebPopupMenuProxyGtk::activateItem):
(WebKit::WebPopupMenuProxyGtk::activateItemAtPath):
(WebKit::WebPopupMenuProxyGtk::treeViewRowActivatedCallback):
(WebKit::WebPopupMenuProxyGtk::treeViewButtonReleaseEventCallback):
(WebKit::WebPopupMenuProxyGtk::buttonPressEventCallback):
(WebKit::WebPopupMenuProxyGtk::keyPressEventCallback):
(WebKit::WebPopupMenuProxyGtk::createPopupMenu):
(WebKit::WebPopupMenuProxyGtk::show):
(WebKit::WebPopupMenuProxyGtk::showPopupMenu):
(WebKit::WebPopupMenuProxyGtk::hidePopupMenu):
(WebKit::WebPopupMenuProxyGtk::cancelTracking):
(WebKit::WebPopupMenuProxyGtk::typeAheadFindIndex):
(WebKit::WebPopupMenuProxyGtk::typeAheadFind):

  • UIProcess/gtk/WebPopupMenuProxyGtk.h:

May 31, 2018:

11:06 PM Changeset in webkit [232389] by fred.wang@free.fr
  • 4 edits in trunk/Tools

export-w3c-test-changes should use the new location & name of the WPT repo
https://bugs.webkit.org/show_bug.cgi?id=186135

Patch by Frederic Wang <fwang@igalia.com> on 2018-05-31
Reviewed by Youenn Fablet.

Web platform tests have been moved to GitHub's web-platform-tests/wpt. This patch updates the
corresponding variables to use the new organization and repository name. It also refactors a
bit the code to reduce the amount of hardcoded strings.

  • Scripts/webkitpy/w3c/common.py: Use org web-platform-tests, repo name wpt. Also removes the

final slash to WPT_GH_URL, so it can be used for repo URL too.

  • Scripts/webkitpy/w3c/test_exporter.py: Import more symbols and define WPT_PR_URL from

WPT_GH_URL.
(WebPlatformTestExporter._wpt_fork_branch_github_url): Use WPT_GH_REPO_NAME.
(WebPlatformTestExporter._wpt_fork_push_url): Use WPT_GH_REPO_NAME.
(WebPlatformTestExporter._git): Use WPT_GH_URL.
(WebPlatformTestExporter._ensure_username_and_token): Use WPT_GH_ORG, WPT_GH_REPO_NAME.
(WebPlatformTestExporter.make_pull_request): Use WPT_GH_ORG, WPT_GH_REPO_NAME.
(parse_args): Use WPT_GH_REPO_NAME, WPT_GH_URL.

  • Scripts/webkitpy/w3c/test_exporter_unittest.py:

(TestExporterTest.test_export): Update organization and repository names for the remote
branch and pull request.
(TestExporterTest.test_export_with_specific_branch): Update repository name.

9:46 PM Changeset in webkit [232388] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Skip http/tests/security/referrer-policy-header.html on Windows.
https://bugs.webkit.org/show_bug.cgi?id=186183

Unreviewed test gardening.

  • platform/win/TestExpectations:
9:45 PM Changeset in webkit [232387] by Yusuke Suzuki
  • 3 edits in trunk/Source/JavaScriptCore

[Baseline] Store constant directly in emit_op_mov
https://bugs.webkit.org/show_bug.cgi?id=186182

Reviewed by Saam Barati.

In the old code, we first move a constant to a register and store it to the specified address.
But in 64bit JSC, we can directly store a constant to the specified address. This reduces the
generated code size. Since the old code was emitting a constant in a code anyway, this change
never increases the size of the generated code.

  • jit/JITInlines.h:

(JSC::JIT::emitGetVirtualRegister):
We remove this obsolete comment. Our OSR relies on the fact that values are stored and loaded
from the stack. If we transfer values in registers without loading values from the stack, it
breaks this assumption.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_mov):

8:30 PM Changeset in webkit [232386] by Caio Lima
  • 5 edits
    8 adds in trunk

[ESNext][BigInt] Implement support for "=<" and ">=" relational operation
https://bugs.webkit.org/show_bug.cgi?id=185929

Reviewed by Yusuke Suzuki.

JSTests:

  • bigIntTests.yaml:
  • stress/big-int-greater-than-or-equal-jit.js: Added.
  • stress/big-int-greater-than-or-equal-order-of-evaluation.js: Added.
  • stress/big-int-greater-than-or-equal-wrapped-values.js: Added.
  • stress/big-int-greater-than-or-equal.js: Added.
  • stress/big-int-less-than-or-equal-general.js: Added.
  • stress/big-int-less-than-or-equal-jit.js: Added.
  • stress/big-int-less-than-or-equal-order-of-evaluation.js: Added.
  • stress/big-int-less-than-or-equal-wrapped-values.js: Added.

Source/JavaScriptCore:

This patch is introducing support to BigInt operands into ">=" and
"<=" operators.
Here we introduce bigIntCompareResult that is a helper function
to reuse code between "less than" and "less than or equal" operators.

  • runtime/JSBigInt.h:
  • runtime/Operations.h:

(JSC::bigIntCompareResult):
(JSC::bigIntCompare):
(JSC::jsLess):
(JSC::jsLessEq):
(JSC::bigIntCompareLess): Deleted.

8:07 PM Changeset in webkit [232385] by sbarati@apple.com
  • 5 edits
    1 add in trunk

Cache toString results for CoW arrays
https://bugs.webkit.org/show_bug.cgi?id=186160

Reviewed by Keith Miller.

JSTests:

  • microbenchmarks/to-string-on-cow-array.js: Added.

(foo):

Source/JavaScriptCore:

This patch makes it so that we cache the result of toString on
arrays with a CoW butterfly. This cache lives on Heap and is
cleared after every GC. We only cache the toString result when
the CoW butterfly doesn't have a hole (currently, all CoW arrays
have a hole, but this isn't an invariant we want to rely on). The
reason for this is that if there is a hole, the value may be loaded
from the prototype, and the cache may produce a stale result.

This is a ~4% speedup on the ML subtest in ARES. And is a ~1% overall
progression on ARES.

  • heap/Heap.cpp:

(JSC::Heap::finalize):
(JSC::Heap::addCoreConstraints):

  • heap/Heap.h:
  • runtime/ArrayPrototype.cpp:

(JSC::canUseFastJoin):
(JSC::holesMustForwardToPrototype):
(JSC::isHole):
(JSC::containsHole):
(JSC::fastJoin):
(JSC::arrayProtoFuncToString):

8:06 PM Changeset in webkit [232384] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

PutStructure AI rule needs to call didFoldClobberStructures when the incoming value's structure set is clear
https://bugs.webkit.org/show_bug.cgi?id=186169

Reviewed by Mark Lam.

If we don't do this, the CFA validation rule about StructureID being
clobbered but AI not clobbering or folding a clobber will cause us
to crash. Simon was running into this yesterday on arstechnica.com.
I couldn't come up with a test case for this, but it's obvious
what the issue is by looking at the IR dump at the time of the crash.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

5:43 PM Changeset in webkit [232383] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

JSImmutableButterfly should align its variable storage
https://bugs.webkit.org/show_bug.cgi?id=186159

Reviewed by Mark Lam.

I'm also making the use of reinterpret_cast and bitwise_cast consistent
inside of JSImmutableButterfly. I switched everything to use bitwise_cast.

  • runtime/JSImmutableButterfly.h:

(JSC::JSImmutableButterfly::toButterfly const):
(JSC::JSImmutableButterfly::fromButterfly):
(JSC::JSImmutableButterfly::offsetOfData):
(JSC::JSImmutableButterfly::allocationSize):

5:19 PM Changeset in webkit [232382] by Kocsen Chung
  • 10 edits
    2 adds in branches/safari-605-branch

Cherry-pick r232313. rdar://problem/40050814

LLInt get_by_id prototype caching doesn't properly handle changes
https://bugs.webkit.org/show_bug.cgi?id=186112

Reviewed by Filip Pizlo.

JSTests:

  • stress/llint-proto-get-by-id-cache-change-prototype.js: Added. (foo):
  • stress/llint-proto-get-by-id-cache-intercept-value.js: Added. (foo):

Source/JavaScriptCore:

The caching would sometimes fail to track that a prototype had changed
and wouldn't update its set of watchpoints.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::finalizeLLIntInlineCaches):
  • bytecode/CodeBlock.h:
  • bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.h: (JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::key const):
  • bytecode/ObjectPropertyConditionSet.h: (JSC::ObjectPropertyConditionSet::size const):
  • bytecode/Watchpoint.h: (JSC::Watchpoint::Watchpoint): Deleted.
  • llint/LLIntSlowPaths.cpp: (JSC::LLInt::setupGetByIdPrototypeCache):

Source/WTF:

Mark some methods const.

  • wtf/Bag.h: (WTF::Bag::begin const): (WTF::Bag::end const): (WTF::Bag::unwrappedHead const): (WTF::Bag::end): Deleted. (WTF::Bag::unwrappedHead): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232313 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5:19 PM Changeset in webkit [232381] by Kocsen Chung
  • 17 edits in branches/safari-605-branch/Source/JavaScriptCore

Revert r231595. rdar://problem/40050814

5:19 PM Changeset in webkit [232380] by Kocsen Chung
  • 2 edits in branches/safari-605-branch/Source/JavaScriptCore

Revert r231540. rdar://problem/40050814

5:19 PM Changeset in webkit [232379] by Kocsen Chung
  • 2 edits in branches/safari-605-branch/Source/WebCore

Cherry-pick r232315. rdar://problem/40641066

Revert changes made to URLWithUserTypedString made in https://trac.webkit.org/changeset/232281
https://bugs.webkit.org/show_bug.cgi?id=186108
<rdar://problem/40663065>

Reviewed by Alex Christensen.

Covered by existing API tests.

  • platform/mac/WebCoreNSURLExtras.mm: (WebCore::URLWithUserTypedString): Return early if WebCore::URL is not able to create a CFURL. Use CFURL otherwise to keep the existing behavior as much as possible.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232315 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5:19 PM Changeset in webkit [232378] by Kocsen Chung
  • 13 edits in branches/safari-605-branch

Cherry-pick r232281. rdar://problem/40641066

Add a consistency check between URL and CFURL
Source/WebCore:

https://bugs.webkit.org/show_bug.cgi?id=186057
<rdar://problem/40258457>

Reviewed by Geoff Garen.

It is important that WebCore::URL used in WebCore and CFURL that gets serialized in the network pipe remain consistent.
Otherwise, we will end-up with odd bugs.

We add such a check when creating a CFURL from an URL.
To make things more consistent, we also rely now more on WebCore::URL instead of directly creating a CFURL.

  • platform/URL.h:
  • platform/cf/CFURLExtras.cpp: (WebCore::isCFURLSameOrigin):
  • platform/cf/CFURLExtras.h:
  • platform/cf/URLCF.cpp: (WebCore::URL::createCFURL const):
  • platform/mac/URLMac.mm: (WebCore::URL::createCFURL const):
  • platform/mac/WebCoreNSURLExtras.mm: (WebCore::URLWithUserTypedString):

Source/WebKit:

https://bugs.webkit.org/show_bug.cgi?id=186057
<rdar://problem/40258457>

Reviewed by Geoff Garen.

  • Shared/Cocoa/WKNSURLExtras.mm: (+[NSURL _web_URLWithWTFString:relativeToURL:]): (urlWithWTFString): Deleted. (+[NSURL _web_URLWithWTFString:]): Deleted.

Tools:

https://bugs.webkit.org/show_bug.cgi?id=182444
<rdar://problem/37164835>

Reviewed by Geoff Garen.

DRT code expected a non null URL which is no longer the case now.
Updated DRT to remove that assumption.

  • DumpRenderTree/TestRunner.cpp: (TestRunner::redirectionDestinationForURL):
  • DumpRenderTree/TestRunner.h:
  • DumpRenderTree/mac/ResourceLoadDelegate.mm: (-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232281 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5:19 PM Changeset in webkit [232377] by Kocsen Chung
  • 5 edits
    1 add in branches/safari-605-branch

Cherry-pick r232219. rdar://problem/40641075

for-in loops should preserve and restore the TDZ stack for each of its internal loops.
https://bugs.webkit.org/show_bug.cgi?id=185995
<rdar://problem/40173142>

Reviewed by Saam Barati.

JSTests:

  • stress/regress-185995.js: Added.

Source/JavaScriptCore:

This is because there's no guarantee that any of the loop bodies will be
executed. Hence, there's no guarantee that the TDZ variables will have been
initialized after each loop body.

  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::preserveTDZStack): (JSC::BytecodeGenerator::restoreTDZStack):
  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp: (JSC::ForInNode::emitBytecode):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232219 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4:50 PM Changeset in webkit [232376] by keith_miller@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

DFGArrayModes needs to know more about CoW arrays
https://bugs.webkit.org/show_bug.cgi?id=186162

Reviewed by Filip Pizlo.

This patch fixes two issues in DFGArrayMode.

1) fromObserved was missing switch cases for when the only observed ArrayModes are CopyOnWrite.
2) DFGArrayModes needs to track if the ArrayClass is an OriginalCopyOnWriteArray in order
to vend an accurate original structure.

Additionally, this patch fixes some places in Bytecode parsing where we told the array mode
we were doing a read but actually doing a write. Also, DFGArrayMode will now print the
action it is expecting when being dumped.

  • bytecode/ArrayProfile.h:

(JSC::hasSeenWritableArray):

  • dfg/DFGArrayMode.cpp:

(JSC::DFG::ArrayMode::fromObserved):
(JSC::DFG::ArrayMode::refine const):
(JSC::DFG::ArrayMode::originalArrayStructure const):
(JSC::DFG::arrayActionToString):
(JSC::DFG::arrayClassToString):
(JSC::DFG::ArrayMode::dump const):
(WTF::printInternal):

  • dfg/DFGArrayMode.h:

(JSC::DFG::ArrayMode::withProfile const):
(JSC::DFG::ArrayMode::isJSArray const):
(JSC::DFG::ArrayMode::isJSArrayWithOriginalStructure const):
(JSC::DFG::ArrayMode::arrayModesWithIndexingShape const):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::jumpSlowForUnwantedArrayMode):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::isArrayTypeForArrayify):

4:43 PM Changeset in webkit [232375] by pvollan@apple.com
  • 8 edits in trunk/Source

Add OpenGL display mask to WebPage creation parameters.
https://bugs.webkit.org/show_bug.cgi?id=186163
<rdar://problem/40634504>

Reviewed by Brent Fulgham.

To make sure the OpenGL display mask is always available, include it in the WebPage creation parameters.
The OpenGL display mask is sent to the WebProcess when the platform display ID changes, but that is not
early enough in all cases. If the OpenGL display mask is not set, only OpenGL software rendering is offered
on some hardware configurations.
Source/WebCore:


No new tests, since it is not trivial to test whether OpenGL rendering is hardware accelerated.

  • platform/PlatformScreen.h:
  • platform/mac/PlatformScreenMac.mm:

(WebCore::displayID):

Source/WebKit:

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::creationParameters):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_credentialsMessenger):

3:02 PM Changeset in webkit [232374] by Kocsen Chung
  • 7 edits in trunk/Source

Versioning.

2:23 PM Changeset in webkit [232373] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

Add a rule to allow reading files with prefix /private/var/db/CVMS/cvmsCodeSignObj
https://bugs.webkit.org/show_bug.cgi?id=186157
<rdar://problem/40666437>

Reviewed by Eric Carlson.

  • WebProcess/com.apple.WebProcess.sb.in:
2:03 PM Changeset in webkit [232372] by Megan Gardner
  • 8 edits in trunk/Source

Add setting to allow override screen size to be disabled.
https://bugs.webkit.org/show_bug.cgi?id=186109

Reviewed by Andy Estes.

Source/WebCore:

Not Testable, and for debug only.

Pipe settings and use them to ignore override screen size if setting is set.

  • page/DeprecatedGlobalSettings.cpp:
  • page/DeprecatedGlobalSettings.h:

(WebCore::DeprecatedGlobalSettings::setDisableScreenSizeOverride):
(WebCore::DeprecatedGlobalSettings::disableScreenSizeOverride):

  • page/Settings.yaml:
  • platform/ios/PlatformScreenIOS.mm:

Source/WebKit:

Pipe the needed settings through to WebCore.

  • Shared/WebPreferences.yaml:
  • UIProcess/WebPageProxy.cpp:

(WebKit::m_configurationPreferenceValues):

1:58 PM Changeset in webkit [232371] by Manuel Rego Casasnovas
  • 5 edits
    70 adds
    490 deletes in trunk/LayoutTests

[css-text] Update test suite
https://bugs.webkit.org/show_bug.cgi?id=186145

Reviewed by Youenn Fablet.

These tests used to have problems in Mac and iOS platforms,
but they were reworked in WPT upstream:
https://github.com/web-platform-tests/wpt/pull/10860

Importing the new version of the tests in this patch.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-001-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-001.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-002-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-002.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-003-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-003.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-004-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-004.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-005-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-005.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-006-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-006.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-007-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-007.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-008-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-008.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-009-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-009.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-010-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-010.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-011-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-011.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-012-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-012.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-013-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-013.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-014-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-014.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-015-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-015.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-016-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-016.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-017-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-017.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-018-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-018.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-019-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-019.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-020-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-020.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-021-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-021.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-022-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-022.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-023-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-023.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-024-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-024.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-025-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-025.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-026-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-026.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-027-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-027.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-028-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-028.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-029-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-029.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-030-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-030.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-031-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-031.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-032-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-032.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-033-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-033.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-034-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-034.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-035-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-035.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-036-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-036.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-037-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-037.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-038-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-038.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-039-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-039.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-040-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-040.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-041-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-041.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-042-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-042.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-043-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-043.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-044-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-044.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-045-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-045.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-046-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-046.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-047-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-047.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-048-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-048.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-049-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-049.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-050-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-050.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-051-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-051.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-052-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-052.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-054-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-054.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-055-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-055.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-056-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-056.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-057-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-057.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-058-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-058.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-059-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-059.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-060-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-060.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-101-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-101.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-102-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-102.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-103-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-103.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-104-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-104.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-105-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-105.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-106-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-106.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-107-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-107.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-108-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-108.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-109-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-109.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-110-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-110.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-111-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-111.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-112-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-112.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-113-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-113.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-114-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-114.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-115-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-115.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-116-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-116.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-117-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-117.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-118-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-118.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-119-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-119.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-120-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-120.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-121-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-121.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-122-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-122.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-123-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-123.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-124-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-124.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-125-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-125.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-126-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-126.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-127-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-127.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-128-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-128.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-129-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-129.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-130-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-130.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-131-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-131.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-132-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-132.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-133-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-133.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-134-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-134.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-135-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-135.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-138-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-138.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-139-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-139.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-140-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-140.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-141-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-141.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-144-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-144.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-145-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-145.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-146-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-146.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-147-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-147.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-148-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-148.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-149-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-149.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-152-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-152.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-154-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-154.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-155-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-155.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-156-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-156.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-157-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-157.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-158-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-158.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-159-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-159.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-160-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-160.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-201-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-201.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-202-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-202.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-203-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-203.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-204-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-204.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-205-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-205.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-206-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-206.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-207-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-207.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-208-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-208.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-209-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-209.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-210-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-210.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-211-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-211.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-212-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-212.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-213-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-213.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-214-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-214.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-215-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-215.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-216-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-216.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-217-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-217.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-218-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-218.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-219-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-219.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-220-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-220.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-221-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-221.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-222-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-222.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-223-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-223.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-224-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-224.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-225-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-225.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-226-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-226.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-227-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-227.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-228-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-228.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-229-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-229.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-230-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-230.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-231-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-231.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-232-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-232.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-233-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-233.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-234-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-234.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-235-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-235.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-236-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-236.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-237-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-237.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-238-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-238.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-239-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-239.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-240-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-240.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-241-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-241.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-242-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-242.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-243-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-243.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-244-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-244.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-245-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-245.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-246-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-246.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-247-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-247.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-248-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-248.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-249-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-249.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-250-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-250.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-251-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-251.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-252-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-252.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-254-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-254.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-255-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-255.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-256-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-256.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-257-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-257.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-258-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-258.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-259-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-259.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-260-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-260.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-301-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-301.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-302-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-302.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-303-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-303.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-304-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-304.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-305-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-305.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-306-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-306.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-307-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-307.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-308-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-308.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-309-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-309.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-310-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-310.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-311-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-311.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-312-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-312.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-313-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-313.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-314-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-314.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-315-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-315.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-316-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-316.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-317-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-317.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-318-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-318.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-319-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-319.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-320-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-320.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-321-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-321.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-322-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-322.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-323-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-323.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-324-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-324.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-325-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-325.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-326-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-326.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-327-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-327.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-351-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-351.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-352-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-352.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-353-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-353.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-354-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-354.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-355-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-355.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-358-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-358.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-359-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-359.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-362-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-362.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-363-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-363.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-364-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-364.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-365-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-365.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-366-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-366.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-367-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-367.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-370-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-370.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-372-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-372.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-373-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-373.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-374-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-374.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-375-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-375.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-376-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-376.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-377-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-377.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-401-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-401.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-402-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-402.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-403-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-403.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-404-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-404.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-405-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-405.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-406-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-406.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-407-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-407.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-408-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-408.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-409-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-409.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-410-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-410.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-411-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-411.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-412-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-412.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-413-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-413.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-414-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-414.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-415-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-415.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-416-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-416.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-417-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-417.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-418-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-418.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-419-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-419.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-420-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-420.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-421-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-421.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-422-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-422.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-423-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-423.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-424-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-424.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-425-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-425.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-426-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-426.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-427-expected.html: Removed.
  • web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-427.html: Removed.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-loose-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-loose.html: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-normal-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-normal.html: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-strict-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-strict.html: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-loose-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-loose.html: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-normal-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-normal.html: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-strict-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-strict.html: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-loose-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-loose.html: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-normal-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-normal.html: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-strict-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-strict.html: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-loose-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-loose.html: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-normal-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-normal.html: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-strict-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-strict.html: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-loose-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-loose.html: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-normal-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-normal.html: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-strict-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-strict.html: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-loose-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-loose.html: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-normal-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-normal.html: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-strict-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-strict.html: Added.
  • web-platform-tests/css/css-text/i18n/ja/w3c-import.log: Added.
  • web-platform-tests/css/css-text/i18n/w3c-import.log:
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-loose-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-loose.html: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-normal-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-normal.html: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-strict-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-strict.html: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-loose-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-loose.html: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-normal-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-normal.html: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-strict-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-strict.html: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-loose-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-loose.html: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-normal-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-normal.html: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-strict-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-strict.html: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-loose-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-loose.html: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-normal-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-normal.html: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-strict-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-strict.html: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-loose-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-loose.html: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-normal-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-normal.html: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-strict-expected.txt: Added.
  • web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-strict.html: Added.
  • web-platform-tests/css/css-text/i18n/zh/w3c-import.log: Added.

LayoutTests:

  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
1:54 PM Changeset in webkit [232370] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

REGRESSION(r216119): DocumentLoader::detachFromFrame still encounters nullptr frame
https://bugs.webkit.org/show_bug.cgi?id=186081
<rdar://problem/34918109>

Reviewed by David Kilzer.

The nullptr check that was removed in r216119 was still needed because when the DocumentLoader
is in 'm_waitingForNavigationPolicy' or in 'm_waitingForContentPolicy', a call to the policy checker
to stopCheck we will clear the frame as part of the cleanup phase.

If m_frame is nullptr after cancelPolicyCheckIfNeeded, our work is already done so just return.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::detachFromFrame):

1:49 PM Changeset in webkit [232369] by bshafiei@apple.com
  • 7 edits in tags/Safari-606.1.18.1/Source

Versioning.

1:44 PM Changeset in webkit [232368] by bshafiei@apple.com
  • 1 copy in tags/Safari-606.1.18.1

Tag Safari-606.1.18.1.

1:37 PM Changeset in webkit [232367] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Don't paint the System Preview badge if the image isn't fully decoded
https://bugs.webkit.org/show_bug.cgi?id=186158
<rdar://problem/40454866>

Reviewed by Antoine Quint.

Only paint the system preview badge if the image itself said
that it succeeded in drawing.

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::paintIntoRect): Check the ImageDrawResult.

1:19 PM Changeset in webkit [232366] by Kocsen Chung
  • 2 edits in tags/Safari-606.1.19/Source/WebKit

Cherry-pick r232299. rdar://problem/40691662

Fix a few issues in WKFullScreenViewController
https://bugs.webkit.org/show_bug.cgi?id=186067
<rdar://problem/40630944>

Reviewed by Darin Adler.

The check in setInterface() is checking the wrong pointer:

  • UIProcess/ios/fullscreen/WKFullScreenViewController.mm: (WKFullScreenViewControllerPlaybackSessionModelClient::setInterface):

The check in -_effectiveFullscreenInsetTop is backwards:
(-[WKFullScreenViewController _effectiveFullscreenInsetTop]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232299 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:51 PM Changeset in webkit [232365] by ddkilzer@apple.com
  • 2 edits
    1 add in trunk/Source/ThirdParty/libwebrtc

Fix leak of AudioDeviceID array due to an early return in AudioDeviceMac::GetNumberDevices()
<https://webkit.org/b/186152>
<rdar://problem/40692824>

Reviewed by Alex Christensen.

  • Source/webrtc/modules/audio_device/mac/audio_device_mac.cc:

Use std::make_unique<> so that memory is allocated and
deallocated automatically. Remove manual calls to free().

  • WebKit/0011-Fix-AudioDeviceID-array-leak.patch: Add.
12:46 PM Changeset in webkit [232364] by Brent Fulgham
  • 4 edits
    1 copy in trunk/Source/WebKit

[macOS] Add JIT entitlements to WebContent process and plugin process on macOS
https://bugs.webkit.org/show_bug.cgi?id=184485
<rdar://problem/37556535>

Reviewed by Dan Bernstein.

This patch builds on the changes from Bug 185526 to add support for a JIT entitlement. It makes the
following changes:

  1. Adds a new 'WebContent-OSX.entitlements file that unconditionally adds the JIT entitlement for all builds.
  2. Modifies the PluginService.entitlements to unconditionally add the JIT entitlement.
  • Configurations/PluginService.entitlements: Updated to add the JIT entitlement.
  • Configurations/WebContent-OSX.entitlements: Updated to add the JIT entitlement.
  • Configurations/WebContentService.xcconfig: Updated to use the new 'WebContent-OSX.entitlements' file.
  • WebKit.xcodeproj/project.pbxproj:
12:36 PM Changeset in webkit [232363] by Ryan Haddad
  • 2 edits in trunk/Tools

Update expected results for BuildStepsConstructorTest
https://bugs.webkit.org/show_bug.cgi?id=186119

Reviewed by Alex Christensen.

  • BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Add missing entries for 'WinCairo 64-bit' bots.
12:33 PM Changeset in webkit [232362] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

Implement checked cast for DDResultRef once DDResultGetCFTypeID() is available
<https://webkit.org/b/184554>
<rdar://problem/36241894>

Reviewed by Brent Fulgham.

  • editing/cocoa/DataDetection.mm:

(WebCore::detectItemAtPositionWithRange): Implement checked cast
for DDResultRef.

12:15 PM Changeset in webkit [232361] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Fix Windows build after r232246.
https://bugs.webkit.org/show_bug.cgi?id=186024

  • rendering/svg/SVGTextLayoutEngineBaseline.cpp:

(WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift const):

12:13 PM Changeset in webkit [232360] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

Don't attempt to extend sandbox when running tests with mock media devices
https://bugs.webkit.org/show_bug.cgi?id=186150
<rdar://problem/40690875>

Reviewed by Alexey Proskuryakov.

Avoid attempting to issue a sandbox extension to actual media devices when
running with Mock capture devices.

Also handle the 'denyNextRequest' test state outside of the USE(APPLE_INTERNAL_SDK)
guards, since it is needed for Open Source builds as well.

  • UIProcess/UserMediaProcessManager.cpp:

(WebKit::UserMediaProcessManager::willCreateMediaStream):

11:43 AM Changeset in webkit [232359] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

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

broke build (Requested by alexchristensen on #webkit).

Reverted changeset:

"JavaScriptCore: Disable 32-bit JIT on Windows"
https://bugs.webkit.org/show_bug.cgi?id=185989
https://trac.webkit.org/changeset/232212

11:06 AM Changeset in webkit [232358] by Kocsen Chung
  • 2 edits in tags/Safari-606.1.19/Source/WebKit

Revert r231903. rdar://problem/40690985

11:04 AM Changeset in webkit [232357] by sihui_liu@apple.com
  • 2 edits in trunk/Tools

[iOS] TestWebKitAPI.WebKit.WKHTTPCookieStoreWithoutProcessPool fails because cookies use different files with/without processpool
https://bugs.webkit.org/show_bug.cgi?id=185831
<rdar://problem/40468716>

Reviewed by David Kilzer.

  • TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:

(-[CookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):

10:55 AM Changeset in webkit [232356] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit

WebKit memory management: Safari jetsams on some websites when zooming and scrolling
https://bugs.webkit.org/show_bug.cgi?id=186091
<rdar://problem/36315010>

Reviewed by Geoff Garen.

When zooming a page rapidly the visible rect and the page zoom level may get momentarily out of sync.
When this happens we may generate tiles for a much larger area than needed and run out of memory
building the next layer tree transaction. Running out of memory is more likely if the page has lots of
tiled layers in addition to the main content layer.

We already have code for dealing with the scale mismatch for zoom-out case (where this would cause
visibly missing tiles). This patch enables the same exact adjustment for zoom-in case (where the
symptom is creating too many tiles).

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::adjustExposedRectForNewScale):

Do some renames to make it clear that this can both expand and contract the visible rect.
Bail out if there is nothing to do.

(WebKit::WebPage::updateVisibleContentRects):

Call adjustExposedRectForNewScale directly and unconditionally.

(WebKit::adjustExposedRectForBoundedScale): Deleted.

10:42 AM Changeset in webkit [232355] by keith_miller@apple.com
  • 2 edits in trunk/JSTests

Rebaseline test for change in Error.stack behavior.

  • stress/error-stack-trace-limit.js:

(numberOfFrames):

10:38 AM Changeset in webkit [232354] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Fix memory leak under NetworkStateNotifier::updateStateWithoutNotifying()
https://bugs.webkit.org/show_bug.cgi?id=186149
<rdar://problem/40674537>

Reviewed by Geoffrey Garen.

  • platform/network/mac/NetworkStateNotifierMac.cpp:

(WebCore::NetworkStateNotifier::updateStateWithoutNotifying):

9:58 AM Changeset in webkit [232353] by Chris Dumez
  • 3 edits in trunk/LayoutTests

Update http/wpt/service-workers/header-filtering.https.html to use a valid Referrer-Policy
https://bugs.webkit.org/show_bug.cgi?id=186148

Reviewed by Youenn Fablet.

Update http/wpt/service-workers/header-filtering.https.html to use a valid Referrer-Policy to
avoid logging a console message.

  • http/wpt/service-workers/header-filtering.https-expected.txt:
  • http/wpt/service-workers/resources/response-full-of-headers.py:

(main):

9:52 AM Changeset in webkit [232352] by aestes@apple.com
  • 1 edit in trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm

Fix the macOS High Sierra build.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:
9:47 AM Changeset in webkit [232351] by Chris Dumez
  • 2 edits in trunk/Tools

[iOS] API test ScrollViewInsetTests.InnerHeightWithLargeTopContentInset is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=184893
<rdar://problem/39747271>

Reviewed by Wenson Hsieh.

Update test to wait until the view is the expected height instead of
calling waitForNextPresentationUpdate once and expect the view to
have the right height. This fixes the flakiness.

  • TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:

(TestWebKitAPI::waitUntilInnerHeightIs):
(TestWebKitAPI::TEST):

9:43 AM Changeset in webkit [232350] by Alan Bujtas
  • 12 edits in trunk/Source/WebCore

[LFC] Layout code needs to know the type of the Element associated with a Layout::Box
https://bugs.webkit.org/show_bug.cgi?id=186117

Reviewed by Antti Koivisto.

Since these attributes don't change during layout, we could just pass them in to Layout::Box instead
of keep querying the Element.

  • layout/layouttree/LayoutBlockContainer.cpp:

(WebCore::Layout::BlockContainer::BlockContainer):

  • layout/layouttree/LayoutBlockContainer.h:
  • layout/layouttree/LayoutBox.cpp:

(WebCore::Layout::Box::Box):
(WebCore::Layout::Box::isPaddingApplicable const):
(WebCore::Layout::Box::isDocumentBox const): Deleted.
(WebCore::Layout::Box::isBodyBox const): Deleted.

  • layout/layouttree/LayoutBox.h:

(WebCore::Layout::Box::isAnonymous const):
(WebCore::Layout::Box::isDocumentBox const):
(WebCore::Layout::Box::isBodyBox const):
(WebCore::Layout::Box::ElementAttributes::ElementAttributes):
(WebCore::Layout::Box::setPreviousSibling):
(WebCore::Layout::Box::setIsAnonymous): Deleted.

  • layout/layouttree/LayoutContainer.cpp:

(WebCore::Layout::Container::Container):

  • layout/layouttree/LayoutContainer.h:
  • layout/layouttree/LayoutInlineBox.cpp:

(WebCore::Layout::InlineBox::InlineBox):

  • layout/layouttree/LayoutInlineBox.h:
  • layout/layouttree/LayoutInlineContainer.cpp:

(WebCore::Layout::InlineContainer::InlineContainer):

  • layout/layouttree/LayoutInlineContainer.h:
  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::TreeBuilder::createLayoutTree):
(WebCore::Layout::TreeBuilder::createSubTree):

9:24 AM Changeset in webkit [232349] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Unreviewed iOS build fix after r232335.

  • html/BaseChooserOnlyDateAndTimeInputType.h:
  • html/BaseDateAndTimeInputType.h:
8:47 AM Changeset in webkit [232348] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed, apply review comments from Darin after r232310.

  • platform/ReferrerPolicy.cpp:

(WebCore::parseReferrerPolicy):

7:59 AM Changeset in webkit [232347] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC] Margin box is border box + margins.
https://bugs.webkit.org/show_bug.cgi?id=186124

Reviewed by Antti Koivisto.

  • layout/displaytree/DisplayBox.cpp:

(WebCore::Display::Box::marginBox const):

7:58 AM Changeset in webkit [232346] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC] Add quirks mode setter/getting to LayoutContext
https://bugs.webkit.org/show_bug.cgi?id=186122

Reviewed by Antti Koivisto.

  • layout/LayoutContext.h:

(WebCore::Layout::LayoutContext::setInQuirksMode):
(WebCore::Layout::LayoutContext::inQuirksMode const):

  • page/FrameViewLayoutContext.cpp:

(WebCore::layoutUsingFormattingContext):

6:58 AM WebKitGTK/2.20.x edited by Michael Catanzaro
(diff)
4:00 AM Changeset in webkit [232345] by commit-queue@webkit.org
  • 9 edits in trunk/LayoutTests

[wpe] update the TestExpectations for encrypted-media after some investigations
https://bugs.webkit.org/show_bug.cgi?id=185593

Patch by Yacine Bandou <yacine.bandou_ext@softathome.com> on 2018-05-31
Reviewed by Xabier Rodriguez-Calvar.

After the fix 185725 and some investigations, the WPE platform TestExpectations should be updated

  • platform/wpe/TestExpectations:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-destroy-persistent-license.https-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-license.https-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted.https-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-readyState.https-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential.https-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-waitingforkey.https-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-waiting-for-a-key.https-expected.txt:
3:31 AM WebKitGTK/Gardening/Calendar edited by magomez@igalia.com
(diff)
3:27 AM Changeset in webkit [232344] by magomez@igalia.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK+ gardening after r232336.

  • platform/gtk/TestExpectations:
3:20 AM Changeset in webkit [232343] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

test262-runner should run in verbose mode in automation
https://bugs.webkit.org/show_bug.cgi?id=186115

Patch by Leo Balter <Leo Balter> on 2018-05-31
Reviewed by Yusuke Suzuki.

This patch toggles the verbose mode in the build bot and reports every test file
in order to avoid the '1200 seconds without output' issue.

  • BuildSlaveSupport/build.webkit.org-config/steps.py:

(RunTest262Tests):

  • Scripts/test262/Runner.pm:

(processResult):

12:10 AM Changeset in webkit [232342] by Kocsen Chung
  • 2 edits in tags/Safari-606.1.19/Source/WebCore

Cherry-pick r232320. rdar://problem/40662705

WebContent crashes with system preview content
https://bugs.webkit.org/show_bug.cgi?id=186118

Reviewed by Myles Maxfield.

We were receiving crash reports on iOS devices when getting
platformContext() from a GraphicsContext. This usually
occurred when the page was invisible. Debugging showed that
it was trying to draw with a disabled context.

  • rendering/RenderThemeIOS.mm: (WebCore::RenderThemeIOS::paintSystemPreviewBadge): Early return if the context has painting disabled.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232320 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:10 AM Changeset in webkit [232341] by Kocsen Chung
  • 13 edits in tags/Safari-606.1.19/Source

Cherry-pick r232312. rdar://problem/39338957

[Cocoa] Add an SPI to suppress connection termination errors from CFNetwork when network interfaces change
https://bugs.webkit.org/show_bug.cgi?id=186107
<rdar://problem/39338957>

Reviewed by Brady Eidson.

Source/WebCore/PAL:

  • pal/spi/cf/CFNetworkSPI.h: Declared new SPI.

Source/WebKit:

Added an SPI which configures a process pool's networking process to set the
kCFStreamPropertyAutoErrorOnSystemChange to NO on its NSURLSessionConfigurations.
This instructs CFNetwork to not terminate active connections when the system's
network interfaces change.

  • NetworkProcess/NetworkProcess.h: (WebKit::NetworkProcess::suppressesConnectionTerminationOnSystemChange const):
  • NetworkProcess/NetworkProcessCreationParameters.cpp: (WebKit::NetworkProcessCreationParameters::encode const): (WebKit::NetworkProcessCreationParameters::decode):
  • NetworkProcess/NetworkProcessCreationParameters.h:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm: (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm: (WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
  • UIProcess/API/APIProcessPoolConfiguration.cpp: (API::ProcessPoolConfiguration::copy):
  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: (-[_WKProcessPoolConfiguration suppressesConnectionTerminationOnSystemChange]): (-[_WKProcessPoolConfiguration setSuppressesConnectionTerminationOnSystemChange:]):
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::platformInitializeNetworkProcess):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232312 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Note: See TracTimeline for information about the timeline view.