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

Timeline



Feb 11, 2019:

6:19 PM Changeset in webkit [241288] by mmaxfield@apple.com
  • 25 edits
    2 adds
    2 deletes in trunk

[Cocoa] Ask platform for generic font family mappings
https://bugs.webkit.org/show_bug.cgi?id=187723
<rdar://problem/41892438>

Reviewed by Brent Fulgham.

Source/WebCore:

WebKit API allows setting the generic font families for the USCRIPT_COMMON script.
When trying to style a character with a generic font family, we first look to see if
we have a mapping for the particular script the character is rendered with, and if we
don't find a match, we then check USCRIPT_COMMON.

In the Cocoa ports, the only way families get set for non-USCRIPT_COMMON scripts (aka
the only scripts which won't use the API families) is in
SettingsBase::initializeDefaultFontFamilies(). That function only sets the families
for the CJK scripts.

The mappings inside SettingsBase are incorrect and conflict with our policy regarding
user-installed fonts. Instead, we should be consulting with the platform for some of
these mappings, by calling CTFontDescriptorCreateForCSSFamily(). However, the WebKit
API still has to work to set the mappings for untagged content. Therefore, we use the
system mappings for language-tagged content, and the API mappings for non-language-tagged
content. This is a good balance that makes sure we always have a good mapping for every
language, but API clients can still set the mappings, too.

Test: fast/text/ja-sans-serif.html

  • css/CSSComputedStyleDeclaration.cpp:
  • css/CSSFontSelector.cpp:

(WebCore::resolveGenericFamily):

  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeFontFamily):

  • page/cocoa/SettingsBaseCocoa.mm:

(WebCore::SettingsBase::initializeDefaultFontFamilies):
(WebCore::osakaMonoIsInstalled): Deleted.

  • platform/graphics/FontDescription.cpp:

(WebCore::FontDescription::platformResolveGenericFamily):

  • platform/graphics/FontDescription.h:
  • platform/graphics/cocoa/FontDescriptionCocoa.cpp:

(WebCore::computeSpecializedChineseLocale):
(WebCore::cachedSpecializedChineseLocale):
(WebCore::languageChanged):
(WebCore::FontDescription::platformResolveGenericFamily):

  • platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:

(WebCore::SystemFontDatabaseCoreText::clear):
(WebCore::genericFamily):
(WebCore::SystemFontDatabaseCoreText::serifFamily):
(WebCore::SystemFontDatabaseCoreText::sansSerifFamily):
(WebCore::SystemFontDatabaseCoreText::cursiveFamily):
(WebCore::SystemFontDatabaseCoreText::fantasyFamily):
(WebCore::SystemFontDatabaseCoreText::monospaceFamily):

  • platform/graphics/cocoa/SystemFontDatabaseCoreText.h:

Source/WebCore/PAL:

  • pal/spi/cocoa/CoreTextSPI.h:

Source/WTF:

Add an ENABLE in Platform.

  • wtf/Platform.h:

Tools:

Allow testing infrastructure to use fonts that are returned from CTFontDescriptorCreateForCSSFamily().

  • DumpRenderTree/mac/DumpRenderTree.mm:

(allowedFontFamilySet):

  • WebKitTestRunner/mac/TestControllerMac.mm:

(WTR::allowedFontFamilySet):

LayoutTests:

Update the tests to work with this new model.

  • fast/text/international/font-fallback-to-common-script-expected.html: Removed.
  • fast/text/international/font-fallback-to-common-script.html: Removed.
  • fast/text/international/lang-sensitive-fonts-expected.html:
  • fast/text/international/lang-sensitive-fonts-xml-expected.html:
  • fast/text/international/lang-sensitive-fonts-xml.xhtml:
  • fast/text/international/lang-sensitive-fonts.html:
  • fast/text/international/locale-sensitive-fonts-expected.html:
  • fast/text/international/locale-sensitive-fonts.html:
  • fast/text/ja-sans-serif-expected-mismatch.html: Added.
  • fast/text/ja-sans-serif.html: Added.
  • platform/ios/fast/block/float/016-expected.txt:
5:50 PM Changeset in webkit [241287] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Remove noisy and unnecessary logs added in r241223
https://bugs.webkit.org/show_bug.cgi?id=194427

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::ProcessLauncher::launchProcess):
Errors occur all the time in the XPC connection's event handler, like when a process terminates.
We don't need to print an "error" every time any process terminates.

5:16 PM Changeset in webkit [241286] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Updating for all of Mac WK2 for flaky test
https://bugs.webkit.org/show_bug.cgi?id=185994

Unreviewed test gardening.

Patch by Shawn Roberts <Shawn Roberts> on 2019-02-11

  • platform/mac-wk2/TestExpectations:
5:15 PM Changeset in webkit [241285] by BJ Burg
  • 2 edits in trunk/Source/WebKit

[Cocoa] Web Automation: client callbacks are not called if delegate does not override
https://bugs.webkit.org/show_bug.cgi?id=194519
<rdar://problem/47981961>

Reviewed by Joseph Pecoraro.

Call the completion handler directly if the delegate does not implement the relevant method.

  • UIProcess/Cocoa/AutomationSessionClient.mm:

(WebKit::AutomationSessionClient::requestNewPageWithOptions):
(WebKit::AutomationSessionClient::requestSwitchToPage):
(WebKit::AutomationSessionClient::requestHideWindowOfPage):
(WebKit::AutomationSessionClient::requestRestoreWindowOfPage):
(WebKit::AutomationSessionClient::requestMaximizeWindowOfPage):

5:04 PM Changeset in webkit [241284] by dbates@webkit.org
  • 4 edits
    4 adds in trunk

[iOS] Adopt SPI to support Emacs bindings: transpose and delete to end of paragraph
https://bugs.webkit.org/show_bug.cgi?id=194505
<rdar://problem/47743533>

Reviewed by Tim Horton.

Source/WebKit:

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _deleteToEndOfParagraph]): Added.
(-[WKContentView _transpose]): Added.

LayoutTests:

Add tests to ensure that Control + t and Control + k perform a transpose and delete to the
end of the line/paragraph. Skip the tests for now until we have the UIKit fix <rdar://problem/44928156>.

  • fast/events/ios/key-command-delete-to-end-of-paragraph-expected.txt: Added.
  • fast/events/ios/key-command-delete-to-end-of-paragraph.html: Added.
  • fast/events/ios/key-command-transpose-expected.txt: Added.
  • fast/events/ios/key-command-transpose.html: Added.
  • platform/ios/TestExpectations: Skip tests for now.
4:07 PM Changeset in webkit [241283] by Adrian Perez de Castro
  • 26 edits
    1 copy in trunk

[GTK][WPE] Add content extensions support in WKTR and unskip layout tests
https://bugs.webkit.org/show_bug.cgi?id=193622

Reviewed by Michael Catanzaro.

.:

  • Source/cmake/OptionsGTK.cmake: Enable CONTENT_EXTENSIONS by default.
  • Source/cmake/OptionsWPE.cmake: Ditto.
  • Source/cmake/WebKitFeatures.cmake: Add a private CONTENT_EXTENSIONS option.

Source/WebCore:

No new tests needed.

  • SourcesCocoa.txt: Remove loader/ResourceLoadInfo.cpp, it's not Cocoa-specific anymore.
  • Sources.txt: Add loader/ResourceLoadInfo.cpp, all ports use it now.

Source/WebKit:

  • NetworkProcess/cache/NetworkCacheData.h: Define an adoptAndMapFile() implementation

for GFileIOStream objects.

  • NetworkProcess/cache/NetworkCacheDataSoup.cpp:

(WebKit::NetworkCache::adoptAndMapFile): Added implementation, which extracts the file
descriptor from a GFileIOStream, as it inherits from GFileDescriptorBased, and then
reuses the version of adoptAndMapFile() which takes a file descritor for the actual work.

  • NetworkProcess/NetworkLoadChecker.cpp:

(Webkit::NetworkLoadChecker::checkRequest): Use "this" when referring to
processContentExtensionRulesForLoad() in order to avoid ambiguity.

  • Sources.txt: Add WKUserContentExtensionStoreRef.cpp, all ports use it now.
  • SourcesCocoa.txt: Remove WKUserContentExtensionStoreRef.cpp, because it is not

Cocoa-specific anymore.

  • SourcesGTK.txt: Add APIContentRuleListStoreGLib.cpp.
  • SourcesWPE.txt: Ditto.
  • UIProcess/API/C/WKUserContentExtensionStoreRef.cpp:

(WKUserContentExtensionStoreCreate): Added.
(toResult): Added.
(WKUserContentExtensionStoreCompile): Added.
(WKUserContentExtensionStoreLookup): Added.
(WKUserContentExtensionStoreRemove): Added.

  • UIProcess/API/C/WKUserContentExtensionStoreRef.h: Add declarations for the new C API

functions and for the WKUserContentExtensionStoreResult status enum.

  • UIProcess/API/glib/APIContentRuleListStoreGLib.cpp: Added.

(API::ContentRuleListStore::defaultStorePath): Add a dummy implementation. The public API
for the GLib based ports (GTK+ and WPE) will not allow using the default store and will
always indicating a path.

Tools:

This adds support for loading content extension rule sets from the JSON files which
accompany the corresponding layout test, using the C API. The Cocoa specific parts
of WKTR for this could be removed, but that is left for a follow-up patch with
cleanups.

  • Scripts/webkitperl/FeatureList.pm: Add an option to toggle CONTENT_EXTENSIONS.
  • WebKitTestRunner/TestController.cpp:

(WTR::testPath): Subtract one from the length when constructing the result std::string to
avoid having the null-terminator copied into the result.
(WTR::TestController::configureViewForTest): Call configureContentExtensionForTest() as
part of the preparations to run a test.
(WTR::ContentExtensionStoreCallbackContext::ContentExtensionStoreCallbackContext): Added.
(WTR::contentExtensionStoreCallback): Added.
(WTR::contentExtensionJSONPath): Used to calculate the path to the JSON rule set to be
used for content extensions test.
(WTR::TestController::configureContentExtensionForTest): Added, handles enabling content
extensions and compiling the JSON rule set for tests involving content extensions.
(WTR::TestController::resetContentExtensions): Removes the content extension built for
testing and disables content extensions.
(WTR::TestController::resetPreferencesToConsistentValues): Add a call to
resetContentExtensions().
(WTR::TestController::userContentController): Added implementation for ports other than Cocoa.

  • WebKitTestRunner/TestController.h: Add declarations for resetContentExtensions(),

configureContentExtensionForTest(), and userContentController().

LayoutTests:

  • platform/gtk/TestExpectations: Un-skip tests for content extensions and add expectations.
3:24 PM Changeset in webkit [241282] by dbates@webkit.org
  • 32 edits
    7 adds in trunk

[iOS] Mouse/Touch/Pointer events are missing modifier keys
https://bugs.webkit.org/show_bug.cgi?id=191446
<rdar://problem/45929460>

Reviewed by Tim Horton.

Source/WebCore:

Extract the modifier flags from the WebEvent. This code is only used by Legacy WebKit
on iOS and we will need to fix <rdar://problem/47929759> in order for modifier flags
to be passed to WebKit.

Tests: fast/events/touch/ios/mouse-events-with-modifiers.html

fast/events/touch/ios/pointer-events-with-modifiers.html
fast/events/touch/ios/touch-events-with-modifiers.html

  • platform/ios/PlatformEventFactoryIOS.mm:

(WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder):

  • platform/ios/WebEvent.h:
  • platform/ios/WebEvent.mm:

(-[WebEvent initWithMouseEventType:timeStamp:location:]):
(-[WebEvent initWithMouseEventType:timeStamp:location:modifiers:]):

Source/WebKit:

Make use of UIKit SPI to retreive the modifier flags when dispatching mouse and touch events.
Add new WebKit SPI for iOS, -[WKNavigationAction modifierFlags], to retrieve the the modifier
flags held when a navigation action was initiated.

  • Platform/spi/ios/UIKitSPI.h: Expose SPI.
  • Shared/NativeWebTouchEvent.h: Re-arrange macro guards so that we can expose the helper function

WebKit::webEventModifierFlags(). This is a bit more involved that usual since this header is included
from both C++ and Objective-C source files. It only makes sense to expose this function when
compiling as part of an Objective-C source file.

  • Shared/ios/NativeWebTouchEventIOS.mm:

(WebKit::NativeWebTouchEvent::NativeWebTouchEvent): Modified to take the modifier flags held down
when the platform touch event was received and pass them through to the base constructor.
(WebKit::webEventModifierFlags): Added. Converts from the platform-speciifc UIKeyModifierFlags to
OptionSet<WebKit::WebEvent::Modifier>.

  • Shared/ios/WebIOSEventFactory.h:
  • Shared/ios/WebIOSEventFactory.mm:

(WebIOSEventFactory::toUIKeyModifierFlags): Added. Converts from OptionSet<WebKit::WebEvent::Modifier>
to the platform-specific UIKeyModifierFlags.

  • UIProcess/API/Cocoa/WKNavigationAction.mm:

(-[WKNavigationAction modifierFlags]): Added.

  • UIProcess/API/Cocoa/WKNavigationActionPrivate.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(gestureRecognizerModifierFlags): Added.

(-[WKContentView _webTouchEventsRecognized:]):
(-[WKContentView _highlightLongPressRecognized:]):
(-[WKContentView _twoFingerSingleTapGestureRecognized:]):
(-[WKContentView _singleTapCommited:]):
Pass modifier flags through.

(-[WKContentView _attemptClickAtLocation:modifierFlags:]): Added.
(-[WKContentView actionSheetAssistant:openElementAtLocation:]): This is invoked when a person opens a link
via the action sheet. We don't have access to the modifier flags to pass. It also seems like an implementation
detail that this action is implemented via mouse click and we should re-evaluate this decision in light of
the fact tht the action sheet is browser UI and we tend to be very reserved on what UI actions are visible
to the page. On Mac, opening a link via the context menu is not visible to the page, at least from a mouse
event perspective.
(webEventFlagsForUIKeyModifierFlags): Added.
(-[WKContentView _hoverGestureRecognizerChanged:]): Pass modifier flags through.
(-[WKContentView _attemptClickAtLocation:]): Deleted.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::handleTwoFingerTapAtPoint):
(WebKit::WebPageProxy::commitPotentialTap):
(WebKit::WebPageProxy::handleTap):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::handleSyntheticClick):
(WebKit::WebPage::completePendingSyntheticClickForContentChangeObserver):
(WebKit::WebPage::completeSyntheticClick):
(WebKit::WebPage::handleTap):
(WebKit::WebPage::handleTwoFingerTapAtPoint):
(WebKit::WebPage::commitPotentialTap):
Pass modifier flags through.

Tools:

Add support infrastructure for testing touch and stylus taps when holding modifier keys.

  • DumpRenderTree/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptController::singleTapAtPointWithModifiers): Added.
(WTR::UIScriptController::stylusTapAtPointWithModifiers): Added.

  • TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
  • TestRunnerShared/UIScriptContext/UIScriptController.cpp:

(WTR::UIScriptController::singleTapAtPointWithModifiers): Added.
(WTR::UIScriptController::stylusTapAtPointWithModifiers): Added.

  • TestRunnerShared/UIScriptContext/UIScriptController.h:
  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::arrayLength):
(WTR::parseModifierArray):
(WTR::UIScriptController::singleTapAtPoint): Implemented in terms of singleTapAtPointWithModifiers().
(WTR::UIScriptController::singleTapAtPointWithModifiers): Added.
(WTR::UIScriptController::stylusTapAtPoint): Implemented in terms of stylusTapAtPointWithModifiers().
(WTR::UIScriptController::stylusTapAtPointWithModifiers): Added.

LayoutTests:

Refactor existing iOS key events tests to share code. Add new tests to ensure touch and mouse events
have accurate modifier key details.

  • fast/events/ios/key-events-meta-alt-combinations.html:
  • fast/events/ios/resources/key-tester.js:

(computeSubsets.compareByModifierOrder): Deleted.

  • fast/events/resources/compute-subsets.js: Added.

(computeSubsets.compareByOriginalArrayOrder):
(computeSubsets):

  • fast/events/touch/ios/mouse-events-with-modifiers-expected.txt: Added.
  • fast/events/touch/ios/mouse-events-with-modifiers.html: Added.
  • fast/events/touch/ios/pointer-events-with-modifiers-expected.txt: Added.
  • fast/events/touch/ios/pointer-events-with-modifiers.html: Added.
  • fast/events/touch/ios/touch-events-with-modifiers-expected.txt: Added.
  • fast/events/touch/ios/touch-events-with-modifiers.html: Added.
  • http/tests/adClickAttribution/anchor-tag-attributes-validation-expected.txt: Update expected result

due to changes to ui-helper.js.

  • http/tests/security/anchor-download-block-crossorigin-expected.txt: Ditto.
  • platform/ios/TestExpectations:
  • resources/ui-helper.js:

(window.UIHelper.tapAt.return.new.Promise):
(window.UIHelper.tapAt):
(window.UIHelper.stylusTapAt.return.new.Promise):
(window.UIHelper.stylusTapAt):

2:52 PM Changeset in webkit [241281] by jer.noble@apple.com
  • 15 edits
    1 move in trunk/Source

[Cocoa] Notify AVSystemController of our presenting PID before registering as a Now Playing app.
https://bugs.webkit.org/show_bug.cgi?id=194504

Reviewed by Eric Carlson.

Source/WebCore:

This allows the MediaRemote framework to associate the WebContent process with its host application.

  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::start):

  • platform/audio/PlatformMediaSessionManager.h:

(WebCore::PlatformMediaSessionManager::prepareToSendUserMediaPermissionRequest):

  • platform/audio/cocoa/MediaSessionManagerCocoa.h:
  • platform/audio/cocoa/MediaSessionManagerCocoa.mm:

(MediaSessionManagerCocoa::prepareToSendUserMediaPermissionRequest):
(MediaSessionManagerCocoa::providePresentingApplicationPIDIfNecessary):
(MediaSessionManagerCocoa::updateNowPlayingInfo):

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj:
  • pal/spi/ios/CelestialSPI.h: Renamed from Source/WebKit/Platform/spi/ios/CelestialSPI.h.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebUserMediaClient.cpp:

(WebKit::WebUserMediaClient::requestUserMediaAccess):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::prepareToSendUserMediaPermissionRequest): Deleted.

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::userMediaPermissionRequestManager):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::prepareToSendUserMediaPermissionRequest): Deleted.

2:44 PM Changeset in webkit [241280] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Randomize insertion of deallocated StructureIDs into the StructureIDTable's free list.
https://bugs.webkit.org/show_bug.cgi?id=194512
<rdar://problem/47975465>

Reviewed by Yusuke Suzuki.

  • runtime/StructureIDTable.cpp:

(JSC::StructureIDTable::StructureIDTable):
(JSC::StructureIDTable::allocateID):
(JSC::StructureIDTable::deallocateID):

  • runtime/StructureIDTable.h:
2:27 PM Changeset in webkit [241279] by Devin Rousso
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: add context menu items to copy a resource's HTTP request/response data
https://bugs.webkit.org/show_bug.cgi?id=194261
<rdar://problem/21693696>

Reviewed by Joseph Pecoraro.

  • UserInterface/Models/Resource.js:

(WI.Resource.prototype.stringifyHTTPRequest): Added.
(WI.Resource.prototype.stringifyHTTPResponse): Added.
Don't include the request/response data, as that can be very large, and can easily be
accessed by actually selecting the resource in the Resources/Network tab.

  • UserInterface/Views/ContextMenuUtilities.js:

(WI.appendContextMenuItemsForSourceCode):

  • Localizations/en.lproj/localizedStrings.js:
1:55 PM Changeset in webkit [241278] by commit-queue@webkit.org
  • 32 edits
    7 deletes in trunk

Unreviewed, rolling out r241272 and r241276.
https://bugs.webkit.org/show_bug.cgi?id=194514

Broke the Apple Internal build and the fix requires human
intervention :( (Requested by dydz on #webkit).

Reverted changesets:

"[iOS] Mouse/Touch/Pointer events are missing modifier keys"
https://bugs.webkit.org/show_bug.cgi?id=191446
https://trac.webkit.org/changeset/241272

"Fix internal iOS build after r241272"
https://bugs.webkit.org/show_bug.cgi?id=191446
https://trac.webkit.org/changeset/241276

1:47 PM Changeset in webkit [241277] by Truitt Savell
  • 3 edits in trunk/Tools

Unreviewed, rolling out r241269.

Caused 5 layout tests crashes on Mac WK1

Reverted changeset:

"DumpRenderTree should report unknown options"
https://bugs.webkit.org/show_bug.cgi?id=191303
https://trac.webkit.org/changeset/241269

12:43 PM Changeset in webkit [241276] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Fix internal iOS build after r241272
https://bugs.webkit.org/show_bug.cgi?id=191446

  • Platform/spi/ios/UIKitSPI.h:

Declare the _modifierFlags when using the internal SDK also.

11:30 AM Changeset in webkit [241275] by Wenson Hsieh
  • 15 edits in trunk

fast/forms/ios/force-gregorian-calendar-for-credit-card-expiry.html does not work on iPad
https://bugs.webkit.org/show_bug.cgi?id=194313

Reviewed by Tim Horton.

Source/WebKit:

Make -dateTimePickerCalendarType work on iPad by handling the case where the date picker control is a
WKDateTimePopover. This fixes UIScriptController::calendarType() returning null on iPad.

  • UIProcess/ios/forms/WKFormInputControl.mm:

(-[WKFormInputControl dateTimePickerCalendarType]):
(-[WKDateTimePopover calendarType]):

Tools:

Add a helper to determine whether the web view is presenting modal UI.

  • DumpRenderTree/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptController::isPresentingModally const):

  • TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
  • TestRunnerShared/UIScriptContext/UIScriptController.cpp:

(WTR::UIScriptController::isPresentingModally const):

  • TestRunnerShared/UIScriptContext/UIScriptController.h:
  • WebKitTestRunner/UIScriptControllerCocoa.mm:

(WTR::UIScriptController::calendarType const): Deleted.

  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptController::isPresentingModally const):
(WTR::UIScriptController::calendarType const):

  • WebKitTestRunner/mac/UIScriptControllerMac.mm:

(WTR::UIScriptController::calendarType const):

LayoutTests:

Adjusts an existing layout test to work on both iPhone and iPad simulators.

  • fast/forms/ios/force-gregorian-calendar-for-credit-card-expiry-expected.txt:
  • fast/forms/ios/force-gregorian-calendar-for-credit-card-expiry.html:

Make this test wait after blurring the currently focused element, such that tapping to focus the next form
control doesn't fail. Notably on iPad, not waiting for the popover to dismiss meant that subsequent taps would
be dispatched too soon, and hit-test to the popover view being dismissed rather than WKWebView.

  • platform/ipad/TestExpectations:

Unskip the test on iPad.

  • resources/ui-helper.js:

Add helpers to query whether or not the keyboard is shown, and whether or not a view controller is being modally
presented over the current root view controller (this is the case when interacting with date pickers on iPad).

(window.UIHelper.isShowingKeyboard):
(window.UIHelper.isPresentingModally):
(window.UIHelper.deactivateFormControl):

Add a new helper method to blur the given form control element and wait for web view chrome to finish dismissing
(on iOS, this is either the date picker input view in the keyboard on iPhone, or the date picker popover view
controller on iPad).

(window.UIHelper.isShowingDataListSuggestions):

Drive-by fix: remove an extraneous ternary conditional statement.

11:25 AM Changeset in webkit [241274] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

GCHeapInspector: Show the retained sizes in more places
https://bugs.webkit.org/show_bug.cgi?id=194464

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2019-02-11
Reviewed by Simon Fraser.

  • GCHeapInspector/gc-heap-inspector.html:
  • GCHeapInspector/script/interface.js:

(HeapInspectorUtils.humanReadableSize):
(HeapInspectorUtils.spanForNode.let.nodeHTML.node.className.span):
(HeapInspectorUtils.spanForNode.span.span):
(HeapSnapshotInspector.prototype.buildAllObjectsByType):
(HeapSnapshotInspector.prototype.buildRoots):

11:02 AM Changeset in webkit [241273] by achristensen@apple.com
  • 6 edits in trunk/Source/WebCore

Stop using setDefersLoading from WebCore
https://bugs.webkit.org/show_bug.cgi?id=194315

Reviewed by Jer Noble.

That is what CompletionHandlers are for.

  • loader/MediaResourceLoader.cpp:

(WebCore::MediaResource::responseReceived):
(WebCore::MediaResource::setDefersLoading): Deleted.

  • loader/MediaResourceLoader.h:
  • platform/graphics/PlatformMediaResourceLoader.h:

(WebCore::PlatformMediaResourceClient::responseReceived):
(WebCore::PlatformMediaResource::stop):
(WebCore::PlatformMediaResource::setDefersLoading): Deleted.

  • platform/network/cocoa/WebCoreNSURLSession.mm:

(WebCore::WebCoreNSURLSessionDataTaskClient::responseReceived):
(-[WebCoreNSURLSessionDataTask resource:receivedResponse:completionHandler:]):
(-[WebCoreNSURLSessionDataTask _setDefersLoading:]): Deleted.
(-[WebCoreNSURLSessionDataTask resource:receivedResponse:]): Deleted.

11:01 AM Changeset in webkit [241272] by dbates@webkit.org
  • 32 edits
    7 adds in trunk

[iOS] Mouse/Touch/Pointer events are missing modifier keys
https://bugs.webkit.org/show_bug.cgi?id=191446
<rdar://problem/45929460>

Reviewed by Tim Horton.

Source/WebCore:

Extract the modifier flags from the WebEvent. This code is only used by Legacy WebKit
on iOS and we will need to fix <rdar://problem/47929759> in order for modifier flags
to be passed to WebKit.

Tests: fast/events/touch/ios/mouse-events-with-modifiers.html

fast/events/touch/ios/pointer-events-with-modifiers.html
fast/events/touch/ios/touch-events-with-modifiers.html

  • platform/ios/PlatformEventFactoryIOS.mm:

(WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder):

  • platform/ios/WebEvent.h:
  • platform/ios/WebEvent.mm:

(-[WebEvent initWithMouseEventType:timeStamp:location:]):
(-[WebEvent initWithMouseEventType:timeStamp:location:modifiers:]):

Source/WebKit:

Make use of UIKit SPI to retreive the modifier flags when dispatching mouse and touch events.
Add new WebKit SPI for iOS, -[WKNavigationAction modifierFlags], to retrieve the the modifier
flags held when a navigation action was initiated.

  • Platform/spi/ios/UIKitSPI.h: Expose SPI.
  • Shared/NativeWebTouchEvent.h: Re-arrange macro guards so that we can expose the helper function

WebKit::webEventModifierFlags(). This is a bit more involved that usual since this header is included
from both C++ and Objective-C source files. It only makes sense to expose this function when
compiling as part of an Objective-C source file.

  • Shared/ios/NativeWebTouchEventIOS.mm:

(WebKit::NativeWebTouchEvent::NativeWebTouchEvent): Modified to take the modifier flags held down
when the platform touch event was received and pass them through to the base constructor.
(WebKit::webEventModifierFlags): Added. Converts from the platform-speciifc UIKeyModifierFlags to
OptionSet<WebKit::WebEvent::Modifier>.

  • Shared/ios/WebIOSEventFactory.h:
  • Shared/ios/WebIOSEventFactory.mm:

(WebIOSEventFactory::toUIKeyModifierFlags): Added. Converts from OptionSet<WebKit::WebEvent::Modifier>
to the platform-specific UIKeyModifierFlags.

  • UIProcess/API/Cocoa/WKNavigationAction.mm:

(-[WKNavigationAction modifierFlags]): Added.

  • UIProcess/API/Cocoa/WKNavigationActionPrivate.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(gestureRecognizerModifierFlags): Added.

(-[WKContentView _webTouchEventsRecognized:]):
(-[WKContentView _highlightLongPressRecognized:]):
(-[WKContentView _twoFingerSingleTapGestureRecognized:]):
(-[WKContentView _singleTapCommited:]):
Pass modifier flags through.

(-[WKContentView _attemptClickAtLocation:modifierFlags:]): Added.
(-[WKContentView actionSheetAssistant:openElementAtLocation:]): This is invoked when a person opens a link
via the action sheet. We don't have access to the modifier flags to pass. It also seems like an implementation
detail that this action is implemented via mouse click and we should re-evaluate this decision in light of
the fact tht the action sheet is browser UI and we tend to be very reserved on what UI actions are visible
to the page. On Mac, opening a link via the context menu is not visible to the page, at least from a mouse
event perspective.
(webEventFlagsForUIKeyModifierFlags): Added.
(-[WKContentView _hoverGestureRecognizerChanged:]): Pass modifier flags through.
(-[WKContentView _attemptClickAtLocation:]): Deleted.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::handleTwoFingerTapAtPoint):
(WebKit::WebPageProxy::commitPotentialTap):
(WebKit::WebPageProxy::handleTap):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::handleSyntheticClick):
(WebKit::WebPage::completePendingSyntheticClickForContentChangeObserver):
(WebKit::WebPage::completeSyntheticClick):
(WebKit::WebPage::handleTap):
(WebKit::WebPage::handleTwoFingerTapAtPoint):
(WebKit::WebPage::commitPotentialTap):
Pass modifier flags through.

Tools:

Add support infrastructure for testing touch and stylus taps when holding modifier keys.

  • DumpRenderTree/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptController::singleTapAtPointWithModifiers): Added.
(WTR::UIScriptController::stylusTapAtPointWithModifiers): Added.

  • TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
  • TestRunnerShared/UIScriptContext/UIScriptController.cpp:

(WTR::UIScriptController::singleTapAtPointWithModifiers): Added.
(WTR::UIScriptController::stylusTapAtPointWithModifiers): Added.

  • TestRunnerShared/UIScriptContext/UIScriptController.h:
  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::arrayLength):
(WTR::parseModifierArray):
(WTR::UIScriptController::singleTapAtPoint): Implemented in terms of singleTapAtPointWithModifiers().
(WTR::UIScriptController::singleTapAtPointWithModifiers): Added.
(WTR::UIScriptController::stylusTapAtPoint): Implemented in terms of stylusTapAtPointWithModifiers().
(WTR::UIScriptController::stylusTapAtPointWithModifiers): Added.

LayoutTests:

Refactor existing iOS key events tests to share code. Add new tests to ensure touch and mouse events
have accurate modifier key details.

  • fast/events/ios/key-events-meta-alt-combinations.html:
  • fast/events/ios/resources/key-tester.js:

(computeSubsets.compareByModifierOrder): Deleted.

  • fast/events/resources/compute-subsets.js: Added.

(computeSubsets.compareByOriginalArrayOrder):
(computeSubsets):

  • fast/events/touch/ios/mouse-events-with-modifiers-expected.txt: Added.
  • fast/events/touch/ios/mouse-events-with-modifiers.html: Added.
  • fast/events/touch/ios/pointer-events-with-modifiers-expected.txt: Added.
  • fast/events/touch/ios/pointer-events-with-modifiers.html: Added.
  • fast/events/touch/ios/touch-events-with-modifiers-expected.txt: Added.
  • fast/events/touch/ios/touch-events-with-modifiers.html: Added.
  • http/tests/adClickAttribution/anchor-tag-attributes-validation-expected.txt: Update expected result

due to changes to ui-helper.js.

  • http/tests/security/anchor-download-block-crossorigin-expected.txt: Ditto.
  • platform/ios/TestExpectations:
  • resources/ui-helper.js:

(window.UIHelper.tapAt.return.new.Promise):
(window.UIHelper.tapAt):
(window.UIHelper.stylusTapAt.return.new.Promise):
(window.UIHelper.stylusTapAt):

11:00 AM Changeset in webkit [241271] by dbates@webkit.org
  • 4 edits in trunk/Source/WebCore

Separate out outline-style: auto user-agent appearance from Mac animated focus ring drawing
https://bugs.webkit.org/show_bug.cgi?id=193591

Reviewed by Simon Fraser.

Untangle the Mac-specific concept of animated focus ring drawing from the concepts of using
the fancy shrink-wrapped focus ring appearance and using the platform focus ring color when
outline-style: auto.

No functionality changed. So, no new tests.

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cocoa/GraphicsContextCocoa.mm:

(WebCore::drawFocusRing):
(WebCore::drawFocusRingToContextAtTime):
Change some macro guards.

  • rendering/RenderElement.cpp:

(WebCore::usePlatformFocusRingColorForOutlineStyleAuto): Added.
(WebCore::useShrinkWrappedFocusRingForOutlineStyleAuto): Added.
(WebCore::drawFocusRing): Added.
(WebCore::RenderElement::paintFocusRing): Write in terms of drawFocusRing().

10:49 AM Changeset in webkit [241270] by youenn@apple.com
  • 9 edits
    2 adds in trunk

Filter out Overconstrainederror.constraint when getUserMedia is not granted
https://bugs.webkit.org/show_bug.cgi?id=194240

Reviewed by Eric Carlson.

Source/WebKit:

Make sure in UIProcess to filter out constraint if either the page was not granted gum access or it has no persistent access.

Refactor UserMediaPermissionRequestManagerProxy to make the implementation easier to understand.

Covered by added test.

  • UIProcess/UserMediaPermissionCheckProxy.cpp:

(WebKit::UserMediaPermissionCheckProxy::setUserMediaAccessInfo):

  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp:

(WebKit::UserMediaPermissionRequestManagerProxy::captureDevicesChanged):
(WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted):
(WebKit::UserMediaPermissionRequestManagerProxy::grantAccess):
(WebKit::UserMediaPermissionRequestManagerProxy::getRequestAction):
(WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame):
(WebKit::UserMediaPermissionRequestManagerProxy::processUserMediaPermissionRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::processUserMediaPermissionInvalidRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::processUserMediaPermissionValidRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::getUserMediaPermissionInfo):
(WebKit::UserMediaPermissionRequestManagerProxy::wasGrantedVideoOrAudioAccess):
(WebKit::UserMediaPermissionRequestManagerProxy::computeFilteredDeviceList):
(WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame):
(WebKit::UserMediaPermissionRequestManagerProxy::createPermissionRequest): Deleted.

  • UIProcess/UserMediaPermissionRequestManagerProxy.h:
  • UIProcess/UserMediaPermissionRequestProxy.h:

(WebKit::UserMediaPermissionRequestProxy::isPending const):
(WebKit::UserMediaPermissionRequestProxy::setEligibleVideoDeviceUIDs):
(WebKit::UserMediaPermissionRequestProxy::setEligibleAudioDeviceUIDs):
(WebKit::UserMediaPermissionRequestProxy::hasAudioDevice const):
(WebKit::UserMediaPermissionRequestProxy::hasVideoDevice const):
(WebKit::UserMediaPermissionRequestProxy::hasPersistentAccess const):
(WebKit::UserMediaPermissionRequestProxy::setHasPersistentAccess):
(WebKit::UserMediaPermissionRequestProxy::userMediaID const):
(WebKit::UserMediaPermissionRequestProxy::topLevelDocumentSecurityOrigin const):
(WebKit::UserMediaPermissionRequestProxy::userMediaDocumentSecurityOrigin const):
(WebKit::UserMediaPermissionRequestProxy::userRequest const):
(WebKit::UserMediaPermissionRequestProxy::setDeviceIdentifierHashSalt):
(WebKit::UserMediaPermissionRequestProxy::deviceIdentifierHashSalt const):
(WebKit::UserMediaPermissionRequestProxy::audioDevice const):
(WebKit::UserMediaPermissionRequestProxy::videoDevice const):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::requestUserMediaPermissionForFrame):

  • UIProcess/WebPageProxy.h:

LayoutTests:

  • fast/mediastream/overconstrainederror-constraint-expected.txt: Added.
  • fast/mediastream/overconstrainederror-constraint.html: Added.
10:32 AM Changeset in webkit [241269] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

DumpRenderTree should report unknown options
https://bugs.webkit.org/show_bug.cgi?id=191303

Patch by Darshan Kadu <dkadu@igalia.com> on 2019-02-11
Reviewed by Frédéric Wang.

Added RELEASE_ASSERT_NOT_REACHED for DumpRenderTree/TestOptions.cpp
to report unknown options.
Added and assigned test options which are currently used in tests.

  • DumpRenderTree/TestOptions.cpp:

(TestOptions::TestOptions):

10:22 AM Changeset in webkit [241268] by Truitt Savell
  • 25 edits
    1 copy
    1 add
    2 deletes in trunk

Unreviewed, rolling out r241229.

Revision broke internal builds for watchOS.

Reverted changeset:

"[Cocoa] Ask platform for generic font family mappings"
https://bugs.webkit.org/show_bug.cgi?id=187723
https://trac.webkit.org/changeset/241229

10:10 AM Changeset in webkit [241267] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Remove the RELEASE_ASSERT check for duplicate cases in the BinarySwitch constructor.
https://bugs.webkit.org/show_bug.cgi?id=194493
<rdar://problem/36380852>

Reviewed by Yusuke Suzuki.

Having duplicate cases in the BinarySwitch is not a correctness issue. It is
however not good for performance and memory usage. As such, a debug ASSERT will
do. We'll also do an audit of the clients of BinarySwitch to see if it's
possible to be instantiated with duplicate cases in
https://bugs.webkit.org/show_bug.cgi?id=194492 later.

Also added some value dumps to the RELEASE_ASSERT to help debug the issue when we
see duplicate cases.

  • jit/BinarySwitch.cpp:

(JSC::BinarySwitch::BinarySwitch):

9:29 AM Changeset in webkit [241266] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[WinCairo][MiniBrowser] Basic authentication always fails.
https://bugs.webkit.org/show_bug.cgi?id=194496

Patch by Takashi Komori <Takashi.Komori@sony.com> on 2019-02-11
Reviewed by Don Olmstead.

  • MiniBrowser/win/DialogHelper.h:

(Dialog::getText):

9:20 AM Changeset in webkit [241265] by youenn@apple.com
  • 4 edits in trunk

Make Request constructor throw if FetchRequestInit.signal is not undefined, null or an AbortSignal object
https://bugs.webkit.org/show_bug.cgi?id=194404
<rdar://problem/47891915>

Reviewed by Geoffrey Garen.

Source/WebCore:

Align with the spec, except for known problematic web sites.
Covered by updated test.

  • Modules/fetch/FetchRequest.cpp:

(WebCore::needsSignalQuirk):
(WebCore::processInvalidSignal):
(WebCore::FetchRequest::initializeWith):

LayoutTests:

  • http/wpt/fetch/request-abort-expected.txt:
8:23 AM Changeset in webkit [241264] by Alan Bujtas
  • 12 edits in trunk/Source/WebCore

[LFC] FormattingContext::Geometry::floatingHeightAndMargin should take UsedHorizontalValues
https://bugs.webkit.org/show_bug.cgi?id=194490

Reviewed by Antti Koivisto.

This is in preparation for adding floating preferred width computation support. It requires height computaiton
which uses containing block width to resolve vertical margins.

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeBorderAndPadding const):

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

(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::complicatedCases):
(WebCore::Layout::FormattingContext::Geometry::floatingHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::computedVerticalMargin):

  • layout/FormattingContextQuirks.cpp:

(WebCore::Layout::FormattingContext::Quirks::heightValueOfNearestContainingBlockWithFixedHeight):

  • layout/LayoutUnits.h:

(WebCore::Layout::UsedHorizontalValues::UsedHorizontalValues):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin const):

  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowHeightAndMargin):

  • layout/blockformatting/BlockFormattingContextQuirks.cpp:

(WebCore::Layout::BlockFormattingContext::Quirks::stretchedInFlowHeight):

  • layout/blockformatting/BlockMarginCollapse.cpp:

(WebCore::Layout::BlockFormattingContext::MarginCollapse::positiveNegativeValues):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::estimatedMarginBefore):

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::layout const):
(WebCore::Layout::InlineFormattingContext::computeHeightAndMargin const):

  • layout/inlineformatting/InlineFormattingContextGeometry.cpp:

(WebCore::Layout::InlineFormattingContext::Geometry::inlineBlockHeightAndMargin):

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

[LFC] FormattingContext::intrinsicWidthConstraints should compute and save the intrinsic widths consistently.
https://bugs.webkit.org/show_bug.cgi?id=194483

Reviewed by Antti Koivisto.

Rename intrinsicWidthConstraints to computeIntrinsicWidthConstraints (it does not return the width values anymore).

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

(WebCore::Layout::FormattingContext::Geometry::shrinkToFitWidth):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computeIntrinsicWidthConstraints const):
(WebCore::Layout::BlockFormattingContext::intrinsicWidthConstraints const): Deleted.

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

(WebCore::Layout::InlineFormattingContext::computeIntrinsicWidthConstraints const):
(WebCore::Layout::InlineFormattingContext::computeIntrinsicWidthForFormattingContextRoot const):
(WebCore::Layout::InlineFormattingContext::intrinsicWidthConstraints const): Deleted.

  • layout/inlineformatting/InlineFormattingContext.h:
6:08 AM Changeset in webkit [241262] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

[WPE] Do not try to create empty egl windows
https://bugs.webkit.org/show_bug.cgi?id=194497

Reviewed by Žan Doberšek.

In AcceleratedSurfaceWPE we ensure the size we pass to wpe is at least 0x0, but wl_egl_window_create() returns
nullptr if 0 is passed as width or height. We should use at least 1x1 instead.

  • WebProcess/WebPage/wpe/AcceleratedSurfaceWPE.cpp:

(WebKit::AcceleratedSurfaceWPE::initialize):
(WebKit::AcceleratedSurfaceWPE::clientResize):

4:14 AM Changeset in webkit [241261] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[GStreamer] GstMappedBuffer testsuite build fails
https://bugs.webkit.org/show_bug.cgi?id=194495

Patch by Philippe Normand <pnormand@igalia.com> on 2019-02-11
Reviewed by Carlos Garcia Campos.

Fix the build by explicitely adding the gstreamer1.0-audio include
directories to the include path.

  • TestWebKitAPI/PlatformGTK.cmake:
  • TestWebKitAPI/PlatformWPE.cmake:
12:12 AM Changeset in webkit [241260] by Carlos Garcia Campos
  • 15 edits
    5 deletes in trunk/Source/WebKit

[WPE] Do not use a sync IPC message to send the host FD to the web process
https://bugs.webkit.org/show_bug.cgi?id=194216

Reviewed by Darin Adler.

It can be sent as a web page creation parameter instead.

  • PlatformWPE.cmake:
  • Shared/WebPageCreationParameters.cpp:

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

  • Shared/WebPageCreationParameters.h:
  • SourcesWPE.txt:
  • UIProcess/API/wpe/CompositingManagerProxy.cpp: Removed.
  • UIProcess/API/wpe/CompositingManagerProxy.h: Removed.
  • UIProcess/API/wpe/CompositingManagerProxy.messages.in: Removed.
  • UIProcess/API/wpe/PageClientImpl.cpp:

(WebKit::PageClientImpl::hostFileDescriptor):

  • UIProcess/API/wpe/PageClientImpl.h:
  • UIProcess/API/wpe/WPEView.cpp:

(WKWPE::m_backend):

  • UIProcess/API/wpe/WPEView.h:

(WKWPE::View::create):

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::creationParameters):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_hostFileDescriptor):

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::releaseHostFileDescriptor):

  • WebProcess/WebPage/wpe/AcceleratedSurfaceWPE.cpp:

(WebKit::AcceleratedSurfaceWPE::AcceleratedSurfaceWPE):
(WebKit::AcceleratedSurfaceWPE::initialize):

  • WebProcess/WebPage/wpe/AcceleratedSurfaceWPE.h:
  • WebProcess/WebPage/wpe/CompositingManager.cpp: Removed.
  • WebProcess/WebPage/wpe/CompositingManager.h: Removed.
12:06 AM Changeset in webkit [241259] by zandobersek@gmail.com
  • 9 edits
    5 adds in trunk/LayoutTests

Unreviewed WPE gardening. Adding additional baselines after font variations
enablement. Additionally rebaselining a couple other WPT and WebGL tests.

  • platform/wpe/TestExpectations:
  • platform/wpe/fast/css/getComputedStyle: Added.
  • platform/wpe/fast/css/getComputedStyle/computed-style-expected.txt: Added.
  • platform/wpe/fast/css/getComputedStyle/computed-style-font-family-expected.txt: Added.
  • platform/wpe/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Added.
  • platform/wpe/fast/dom/52776-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any.worker-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt:
  • platform/wpe/svg/css/getComputedStyle-basic-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance/canvas/buffer-offscreen-test-expected.txt:
  • platform/wpe/webgl/2.0.0/conformance/canvas/buffer-preserve-test-expected.txt:
  • platform/wpe/webgl/2.0.0/conformance/context/context-attribute-preserve-drawing-buffer-expected.txt:

Feb 10, 2019:

10:36 PM Changeset in webkit [241258] by Carlos Garcia Campos
  • 8 edits in trunk

[GTK][WPE] Add enable-javascript-markup setting
https://bugs.webkit.org/show_bug.cgi?id=193439

Reviewed by Michael Catanzaro.

Source/WebKit:

Expose JavaScriptMarkupEnabled setting in the GLib API.

  • UIProcess/API/glib/WebKitSettings.cpp:

(webKitSettingsSetProperty):
(webKitSettingsGetProperty):
(webkit_settings_class_init):
(webkit_settings_get_enable_javascript_markup):
(webkit_settings_set_enable_javascript_markup):

  • UIProcess/API/gtk/WebKitSettings.h:
  • UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
  • UIProcess/API/wpe/WebKitSettings.h:
  • UIProcess/API/wpe/docs/wpe-0.1-sections.txt:

Tools:

Add test cases to check the new setting.

  • TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:

(testWebKitSettings):
(testWebKitSettingsJavaScriptMarkup):
(beforeAll):

10:17 PM Changeset in webkit [241257] by Alan Bujtas
  • 9 edits in trunk/Source/WebCore

[LFC] Fix spelling error.
https://bugs.webkit.org/show_bug.cgi?id=194489

Reviewed by Simon Fraser.

instrinsic -> intrinsic

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

(WebCore::Layout::FormattingContext::Geometry::shrinkToFitWidth):

  • layout/FormattingState.h:

(WebCore::Layout::FormattingState::setIntrinsicWidthConstraints):
(WebCore::Layout::FormattingState::clearIntrinsicWidthConstraints):
(WebCore::Layout::FormattingState::intrinsicWidthConstraints const):
(WebCore::Layout::FormattingState::setInstrinsicWidthConstraints): Deleted.
(WebCore::Layout::FormattingState::clearInstrinsicWidthConstraints): Deleted.
(WebCore::Layout::FormattingState::instrinsicWidthConstraints const): Deleted.

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::intrinsicWidthConstraints const):
(WebCore::Layout::BlockFormattingContext::instrinsicWidthConstraints const): Deleted.

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

(WebCore::Layout::BlockFormattingContext::Geometry::intrinsicWidthConstraintsNeedChildrenWidth):
(WebCore::Layout::BlockFormattingContext::Geometry::intrinsicWidthConstraints):
(WebCore::Layout::BlockFormattingContext::Geometry::instrinsicWidthConstraintsNeedChildrenWidth): Deleted.
(WebCore::Layout::BlockFormattingContext::Geometry::instrinsicWidthConstraints): Deleted.

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::intrinsicWidthConstraints const):
(WebCore::Layout::InlineFormattingContext::computeIntrinsicWidthForFormattingContextRoot const):
(WebCore::Layout::InlineFormattingContext::instrinsicWidthConstraints const): Deleted.

  • layout/inlineformatting/InlineFormattingContext.h:
10:02 PM Changeset in webkit [241256] by Darin Adler
  • 20 edits in trunk

Switch uses of StringBuilder with String::format for hex numbers to use HexNumber.h instead
https://bugs.webkit.org/show_bug.cgi?id=194485

Reviewed by Daniel Bates.

Source/JavaScriptCore:

  • heap/HeapSnapshotBuilder.cpp:

(JSC::HeapSnapshotBuilder::json): Use appendUnsignedAsHex along with
reinterpret_cast<uintptr_t> to replace uses of String::format with "%p".

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::encode): Removed some unneeded casts in StringBuilder code,
including one in a call to appendByteAsHex.
(JSC::globalFuncEscape): Ditto.

Source/WebCore:

  • Modules/websockets/WebSocket.cpp:

(WebCore::encodeProtocolString): Use appendUnsignedAsHexFixedSize instead of String::format.

  • css/parser/CSSParserToken.cpp:

(WebCore::CSSParserToken::serialize const): Fixed style of many return statements
that called a function returning void; doesn't match WebKit's prevailing style.
Also use break instead of return. Used appendLiteral instead of append in many
cases, and append character instead of single-character literal in others.
Use appendUnsignedAsHex instead of String::format.

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::generateHashedName): Use appendUnsignedAsHex instad of appendUnsigned64AsHex.
Should come back here and use makeString once we make HexNumber.h work with that.

  • platform/mac/WebCoreNSURLExtras.mm: Removed unnecessary include of HexNumber.h.
  • rendering/RenderTreeAsText.cpp:

(WebCore::quoteAndEscapeNonPrintables): Use appendLiteral instead of multiple calls
to character append. Touched because it was next to a call to appendUnsignedAsHex.

Source/WebKit:

  • UIProcess/DeviceIdHashSaltStorage.cpp:

(WebKit::DeviceIdHashSaltStorage::completeDeviceIdHashSaltForOriginCall): Use
appendUnsignedAsHex instead of appendUnsigned64AsHex.

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::loggingString): Use appendUnsignedAsHex and
reinterpret_cast<uintptr_t> instead of String::format and "%p".

Source/WTF:

  • wtf/HexNumber.h: Removed unused functions placeByteAsHexCompressIfPossible and

placeByteAsHex. Can always bring them back if someone needs them. Updated
appendUnsignedAsHex to be a template so we can use it on any integer type,
got rid of unnecessary use of Vector and unnecessary reversing, and got rid of
appendUnsigned64AsHex since callers can now just use appendUnsignedAsHex.
Rewrote appendUnsignedAsHexFixedSize to share mode code rather than replicating.

  • wtf/Logger.h: Use appendUnsignedAsHex instead of appendUnsigned64AsHex.
  • wtf/URL.cpp: Removed unnecessary include of HexNumber.h.
  • wtf/cocoa/NSURLExtras.h: Added missing include of Foundation.h that was

worked around in NSURLExtras.mm.

  • wtf/cocoa/NSURLExtras.mm: Removed unnecessary includes of HexNumber.h

and Foundation.h.

Tools:

  • WebKitTestRunner/TestController.cpp: Removed unnecessary include of HexNumber.h.
8:10 PM Changeset in webkit [241255] by commit-queue@webkit.org
  • 6 edits in trunk/Source/JavaScriptCore

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

"It regressed JetStream2 by ~6%" (Requested by saamyjoon on
#webkit).

Reverted changeset:

"We should only make rope strings when concatenating strings
long enough."
https://bugs.webkit.org/show_bug.cgi?id=194465
https://trac.webkit.org/changeset/241230

7:25 PM Changeset in webkit [241254] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

BBQ-Air: Emit better code for switch
https://bugs.webkit.org/show_bug.cgi?id=194053

Reviewed by Yusuke Suzuki.

Instead of emitting a linear set of jumps for Switch, this patch
makes the BBQ-Air backend emit a binary switch.

  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::addSwitch):

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

libWPEWebKit-0.1.so: undefined reference to `JSC::JSValue::asCell() const
https://bugs.webkit.org/show_bug.cgi?id=194484

Patch by Pablo Saavedra <Pablo Saavedra> on 2019-02-10
Reviewed by Darin Adler.

  • bindings/js/JSUndoItemCustom.cpp:
11:44 AM Changeset in webkit [241252] by commit-queue@webkit.org
  • 9 edits
    2 deletes in trunk

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

Broke the GTK mediastream tests (Requested by philn on
#webkit).

Reverted changeset:

"Filter out Overconstrainederror.constraint when getUserMedia
is not granted"
https://bugs.webkit.org/show_bug.cgi?id=194240
https://trac.webkit.org/changeset/241167

11:34 AM Changeset in webkit [241251] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

Unreviewed, GTK Debug build fix after r241148.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::removeSamplesFromTrackBuffer):
SourceBuffer::logClassName and friends are declared for
!RELEASE_LOG_DISABLED builds so adapt calling sites accordingly.

10:03 AM Changeset in webkit [241250] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][IFC] Add intrinsic width support for inline-block boxes
https://bugs.webkit.org/show_bug.cgi?id=194479

Reviewed by Antti Koivisto.

Compute the intrinsic width for the inline-block (formatting context root) and set it as the content box width while
laying out the content for the min/max width.

<div style="position: absolute">before<span id=inline-block style="display: inline-block">inline_block content<span>after</div>

The "inline-block" formatting root returns "inline_block" width for the minimum and "inline_block width" for
the maximum width. These min/max values are used to figure out the intrinsic width for the parent <div>.

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::instrinsicWidthConstraints const):
(WebCore::Layout::InlineFormattingContext::computeIntrinsicWidthForFormattingContextRoot const):
(WebCore::Layout::InlineFormattingContext::computeMargin const):

  • layout/inlineformatting/InlineFormattingContext.h:
  • page/FrameViewLayoutContext.cpp:

(WebCore::layoutUsingFormattingContext):

8:53 AM Changeset in webkit [241249] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Add intrinsic width support for replaced boxes
https://bugs.webkit.org/show_bug.cgi?id=194478

Reviewed by Antti Koivisto.

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::layout const):
(WebCore::Layout::InlineFormattingContext::instrinsicWidthConstraints const):
(WebCore::Layout::InlineFormattingContext::computeMargin const):
(WebCore::Layout::InlineFormattingContext::computeBorderAndPadding const):
(WebCore::Layout::InlineFormattingContext::layoutFormattingContextRoot const):
(WebCore::Layout::InlineFormattingContext::computeWidthAndHeightForReplacedInlineBox const):
(WebCore::Layout::InlineFormattingContext::computeMarginBorderAndPadding const): Deleted.

  • layout/inlineformatting/InlineFormattingContext.h:
6:38 AM Changeset in webkit [241248] by aboya@igalia.com
  • 2 edits in trunk/Source/WebCore

[MSE][GStreamer] Add missing return type to lambda
https://bugs.webkit.org/show_bug.cgi?id=194414

Reviewed by Darin Adler.

Since g_signal_connect() is untyped, a compiler error was not
generated when a lambda with a missing GstFlowReturn return type was
provided for a signal that expects it.

This used to work before r240784 because a recent function call had
set GST_FLOW_OK in the return value register and it happened to
survive until the lambda function call ended. Starting on that commit
such return value was removed and it stopped working on debug.

Of course, the actual problem is in the signature of the lambda
function, and this patch fixes that.

  • platform/graphics/gstreamer/mse/AppendPipeline.cpp:

(WebCore::AppendPipeline::AppendPipeline):

Note: See TracTimeline for information about the timeline view.