{"push_id":2635567394,"size":65,"distinct_size":65,"ref":"refs/heads/master","head":"8278d8ee53c874bf72be3ffedb9937fa6149a8ee","before":"c11336d53e29d7efdb434d8a1540bdad775e8462","commits":[{"sha":"12b2250eba7cb5e40cbb432be78355836f43671b","author":{"name":"mitz@apple.com","email":"c67cad03cd1356332f3ef3eb273740e931d7b0ec@apple.com"},"message":"Don’t install process-webcontent-entitlements.sh into the built XPC services.\n\n* WebKit.xcodeproj/project.pbxproj:\n\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@232611 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/caiolima/webkit/commits/12b2250eba7cb5e40cbb432be78355836f43671b"},{"sha":"6f148e5746ea3eae5733fe5e2ad47b693e0c5edc","author":{"name":"dewei_zhu@apple.com","email":"db4208ede2465a36e4547bb7d883614f4abba331@apple.com"},"message":"Added sending notification feature when test group finishes.\nhttps://bugs.webkit.org/show_bug.cgi?id=184340\n\nReviewed by Ryosuke Niwa.\n\nAdded 'testgroup_needs_notification' filed to 'analysis_test_group' table to indicate whether a test group\nhas a pending notification.\nAdded 'testgroup_notification_sent_at' to record the last notification sent time.\nSQL queries to update existing database are:\n    'ALTER TABLE analysis_test_groups ADD COLUMN testgroup_needs_notification boolean NOT NULL DEFAULT FALSE;'\n    'ALTER TABLE analysis_test_groups ADD COLUMN testgroup_notification_sent_at timestamp DEFAULT NULL;'\nUpdated 'run-analysis' script to be able to send notification when test group finishes.\nAdded 'Notify on completion' checkbox while creating/retrying/bisecting a test group.\n\n* browser-tests/test-group-form-tests.js: Updated existing tests and added a new test.\n* browser-tests/test-group-result-page-tests.js: Added unit tests for TestGroupResultPage.\n* init-database.sql: Added 'testgroup_needs_notification' filed to 'analysis_test_group' table.\n* public/api/test-groups.php: Added '/api/test-groups/ready-for-notification' API to 'test-group' to show all\ntest groups that need to send notification. Only the ones with 'completed', 'failed' or 'cancelled' status and its\n'testgroup_needs_notification' is true will be returned by this API.\n* public/include/build-requests-fetcher.php: Added 'fetch_requests_for_groups' to return test groups with given ids.\n* public/include/commit-sets-helpers.php: Updated the logic to support setting 'testgroup_needs_notification'\nwhile create an analysis_test_groups.\n* public/privileged-api/create-analysis-task.php: Updated the logic to support setting 'testgroup_needs_notification'.\n* public/privileged-api/create-test-group.php: Updated the logic to support setting 'testgroup_needs_notification'.\n* public/privileged-api/update-test-group.php: Updated the logic to support updating 'testgroup_needs_notification'.\nExtended this API to allow authentication both from CSRF token and slave.\n* public/v3/components/custom-configuration-test-group-form.js:\n(CustomConfigurationTestGroupForm.prototype.startTesting): Pass 'notifyOnCompletion' information which represents\n'testgroup_needs_notification' from API perspective.\n* public/v3/components/customizable-test-group-form.js:\n(CustomizableTestGroupForm.prototype.startTesting): Pass 'notifyOnCompletion' information which represents\n'testgroup_needs_notification' from API perspective.\n(CustomizableTestGroupForm.cssTemplate): Added space between 'Notify on completion' checkbox and test group iteration selection list.\n* public/v3/components/test-group-form.js:\n(TestGroupForm): Added '_notifyOnCompletion' instance variable.\n(TestGroupForm.prototype.didConstructShadowTree): Added 'onchange' event for notify on completion checkbox.\n(TestGroupForm.prototype.startTesting): Pass 'notifyOnCompletion' information which represents\n'testgroup_needs_notification' from API perspective.\n(TestGroupForm.cssTemplate): Added space between 'Notify on completion' checkbox and test group iteration selection list.\n* public/v3/models/analysis-results.js: Export 'AnalysisResults'.\n(AnalysisResults.fetch): Update API path to use absolute url.\n(AnalysisResults):\n* public/v3/models/analysis-task.js:\n(AnalysisTask.async.create): Extend this function to take notifyOnCompletion as argument which will be used as\n'needsNotification' to send to server.\n(AnalysisTask):\n* public/v3/models/test-group.js:\n(TestGroup): Added '_needsNotification' field.\n(TestGroup.prototype.updateSingleton): Added logic to update '_needsNotification' field.\n(TestGroup.prototype.needsNotification): Returns '_needsNotification' field.\n(TestGroup.prototype.author): Returns author information.\n(TestGroup.prototype.async.didSendNotification): API that updates 'testgroup_needs_notification' to true.\n(TestGroup.prototype.async.fetchTask): API to fetch the task when it has not been fetched.\n(TestGroup.createWithTask): Updated this function to accept 'notifyOnCompletion' which will be used as\n'needsNotification' to send to server.\n(TestGroup.createWithCustomConfiguration): Updated this function to accept 'notifyOnCompletion' which will be used as\n'needsNotification' to send to server.\n(TestGroup.createAndRefetchTestGroups): Updated this function to accept 'notifyOnCompletion' which will be used as\n'needsNotification' to send to server.\n(TestGroup.fetchAllWithNotificationReady): New function that invokes '/api/test-groups/ready-for-notification'.\n* public/v3/pages/analysis-task-page.js: Update logic to 'notifyOnCompletion' around\n(AnalysisTaskChartPane.prototype.didConstructShadowTree):\n(AnalysisTaskResultsPane.prototype.didConstructShadowTree):\n(AnalysisTaskTestGroupPane.prototype.didConstructShadowTree):\n(AnalysisTaskPage.prototype.didConstructShadowTree):\n(AnalysisTaskPage.prototype._retryCurrentTestGroup):\n(AnalysisTaskPage.prototype.async._bisectCurrentTestGroup):\n(AnalysisTaskPage.prototype._createTestGroupAfterVerifyingCommitSetList.set const):\n(AnalysisTaskPage.prototype._createTestGroupAfterVerifyingCommitSetList):\n(AnalysisTaskPage.prototype._createCustomTestGroup):\n* public/v3/pages/chart-pane.js: Added 'Notify on completion' checkbox.\n(ChartPane.prototype.didConstructShadowTree):\n(ChartPane.prototype.async._analyzeRange):\n* public/v3/pages/create-analysis-task-page.js: Adapted API change.\n(CreateAnalysisTaskPage.prototype._createAnalysisTaskWithGroup):\n* server-tests/api-test-groups.js: Added tests for '/api/test-groups/ready-for-notification'.\n* server-tests/privileged-api-create-analysis-task-tests.js: Updated tests to adapt this change.\nAdded new tests.\n* server-tests/privileged-api-create-test-group-tests.js: Added new tests.\n* server-tests/privileged-api-update-test-group-tests.js: Added unit test for 'update-test-group' API.\n* server-tests/resources/mock-data.js: addMockData should set 'testgroup_needs_notification' to be true.\n* server-tests/tools-sync-buildbot-integration-tests.js: Updated tests to adapt this change.\n(async.createTestGroupWihPatch):\n(createTestGroupWihOwnedCommit):\n* tools/js/analysis-results-notifier.js: Added notifier to send notification for completed test groups.\n(AnalysisResultsNotifier):\n(AnalysisResultsNotifier.prototype.async.sendNotificationsForTestGroups):\n(AnalysisResultsNotifier.prototype._sendNotification): Invoke remote API to send notification.\n(AnalysisResultsNotifier.prototype._constructMessageByRules):\n(AnalysisResultsNotifier._matchesRule):\n(AnalysisResultsNotifier._applyUpdate):\n(AnalysisResultsNotifier.async._messageForTestGroup): Build html as message body for a test group.\n(AnalysisResultsNotifier._URLForAnalysisTask): Returns URL for an analysis task.\n(AnalysisResultsNotifier._instantiateNotificationTemplate):\n* tools/js/test-group-result-page.js: Added 'TestGroupResultPage' and 'BarGraph' to show test group result.\n(TestGroupResultPage):\n(TestGroupResultPage.prototype.async.setTestGroup):\n(TestGroupResultPage._urlForAnalysisTask):\n(TestGroupResultPage.prototype._URLForAnalysisTask):\n(TestGroupResultPage.prototype.constructTables):\n(TestGroupResultPage.prototype._constructTableForMetric):\n(TestGroupResultPage.):\n(TestGroupResultPage.prototype.get pageContent):\n(TestGroupResultPage.prototype.get styleTemplate):\n(BarGraph):\n(BarGraph.prototype.setWidth):\n(BarGraph.prototype._constructBarGraph):\n(BarGraph.prototype.get pageContent):\n(BarGraph.prototype.get styleTemplate):\n* tools/js/measurement-set-analyzer.js: Adapted 'AnalysisTask.create' change.\n(MeasurementSetAnalyzer.prototype.async._analyzeMeasurementSet):\n(MeasurementSetAnalyzer):\n* tools/js/v3-models.js:\n* tools/run-analysis.js: Added the logic that sends notification for completed test groups.\n(main):\n(async.analysisLoop):\n* unit-tests/analysis-task-tests.js:\n* unit-tests/analysis-results-notifier-tests.js: Added a unit test for 'AnalysisResultsNotifier' and 'NotificationService'.\n* unit-tests/measurement-set-analyzer-tests.js: Updated unit tests per this change.\n* unit-tests/test-groups-tests.js: Added unit tests for 'TestGroup.needsNotification'.\n* unit-tests/resources/mock-remote-api.js: Only set 'privilegedAPI' when it exits.\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@232612 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/caiolima/webkit/commits/6f148e5746ea3eae5733fe5e2ad47b693e0c5edc"},{"sha":"72332a68d011ffe8bd1ba3d4d4686647da622b50","author":{"name":"cdumez@apple.com","email":"083d44ce61b1f946a3aa6fbd704954e0195d0658@apple.com"},"message":"Add base class to get WeakPtrFactory member and avoid some boilerplate code\nhttps://bugs.webkit.org/show_bug.cgi?id=186407\n\nReviewed by Brent Fulgham.\n\nSource/JavaScriptCore:\n\nAdd CanMakeWeakPtr base class to get WeakPtrFactory member and its getter, in\norder to avoid some boilerplate code in every class needing a WeakPtrFactory.\nThis also gets rid of old-style createWeakPtr() methods in favor of the newer\nmakeWeakPtr().\n\n* wasm/WasmInstance.h:\n* wasm/WasmMemory.cpp:\n(JSC::Wasm::Memory::registerInstance):\n\nSource/WebCore:\n\nAdd CanMakeWeakPtr base class to get WeakPtrFactory member and its getter, in\norder to avoid some boilerplate code in every class needing a WeakPtrFactory.\nThis also gets rid of old-style createWeakPtr() methods in favor of the newer\nmakeWeakPtr().\n\n* Modules/credentialmanagement/CredentialsMessenger.h:\n* Modules/credentialmanagement/NavigatorCredentials.cpp:\n(WebCore::NavigatorCredentials::credentials):\n* Modules/encryptedmedia/CDM.cpp:\n(WebCore::CDM::doSupportedConfigurationStep):\n(WebCore::CDM::getConsentStatus):\n* Modules/encryptedmedia/CDM.h:\n* Modules/encryptedmedia/MediaKeySession.cpp:\n(WebCore::MediaKeySession::generateRequest):\n(WebCore::MediaKeySession::load):\n(WebCore::MediaKeySession::update):\n(WebCore::MediaKeySession::close):\n(WebCore::MediaKeySession::remove):\n* Modules/encryptedmedia/MediaKeySession.h:\n* Modules/encryptedmedia/MediaKeys.cpp:\n(WebCore::MediaKeys::createSession):\n* Modules/encryptedmedia/MediaKeys.h:\n* Modules/gamepad/GamepadManager.cpp:\n(WebCore::GamepadManager::platformGamepadDisconnected):\n(WebCore::GamepadManager::makeGamepadVisible):\n* Modules/mediastream/MediaDevices.cpp:\n(WebCore::MediaDevices::MediaDevices):\n* Modules/mediastream/MediaDevices.h:\n* Modules/mediastream/MediaStreamTrack.cpp:\n(WebCore::MediaStreamTrack::applyConstraints):\n* Modules/mediastream/MediaStreamTrack.h:\n* Modules/webauthn/cocoa/LocalAuthenticator.h:\n* Modules/webauthn/cocoa/LocalAuthenticator.mm:\n(WebCore::LocalAuthenticator::makeCredential):\n* accessibility/AccessibilityRenderObject.h:\n* accessibility/AccessibilitySVGRoot.cpp:\n(WebCore::AccessibilitySVGRoot::setParent):\n* crypto/SubtleCrypto.cpp:\n(WebCore::SubtleCrypto::encrypt):\n(WebCore::SubtleCrypto::decrypt):\n(WebCore::SubtleCrypto::sign):\n(WebCore::SubtleCrypto::verify):\n(WebCore::SubtleCrypto::digest):\n(WebCore::SubtleCrypto::generateKey):\n(WebCore::SubtleCrypto::deriveKey):\n(WebCore::SubtleCrypto::deriveBits):\n(WebCore::SubtleCrypto::importKey):\n(WebCore::SubtleCrypto::exportKey):\n(WebCore::SubtleCrypto::wrapKey):\n(WebCore::SubtleCrypto::unwrapKey):\n* crypto/SubtleCrypto.h:\n* css/CSSFontFace.cpp:\n(WebCore::CSSFontFace::CSSFontFace):\n(WebCore::CSSFontFace::wrapper):\n(WebCore::CSSFontFace::setWrapper):\n* css/DeprecatedCSSOMValue.h:\n* css/FontFace.cpp:\n* css/FontFace.h:\n* css/MediaQueryEvaluator.cpp:\n(WebCore::MediaQueryEvaluator::MediaQueryEvaluator):\n* css/StyleSheetContents.h:\n* css/parser/CSSDeferredParser.cpp:\n(WebCore::CSSDeferredParser::CSSDeferredParser):\n* dom/DataTransferItemList.cpp:\n(WebCore::DataTransferItemList::add):\n(WebCore::DataTransferItemList::ensureItems const):\n(WebCore::DataTransferItemList::didSetStringData):\n* dom/DataTransferItemList.h:\n* dom/Document.cpp:\n(WebCore::Document::postTask):\n(WebCore::Document::hasStorageAccess):\n(WebCore::Document::requestStorageAccess):\n* dom/Document.h:\n(WebCore::Document::setContextDocument):\n* dom/MessagePort.h:\n* html/HTMLImageElement.cpp:\n(WebCore::HTMLImageElement::setPictureElement):\n* html/HTMLInputElement.h:\n* html/HTMLMediaElement.cpp:\n(WebCore::HTMLMediaElement::mediaPlayerCreateResourceLoader):\n* html/HTMLMediaElement.h:\n* html/HTMLPictureElement.h:\n* html/parser/HTMLResourcePreloader.h:\n* layout/layouttree/LayoutBox.h:\n(WebCore::Layout::Box::style const):\n* loader/FormState.h:\n* loader/LinkLoader.cpp:\n(WebCore::LinkLoader::preconnectIfNeeded):\n* loader/LinkLoader.h:\n* loader/LinkPreloadResourceClients.cpp:\n(WebCore::LinkPreloadResourceClient::LinkPreloadResourceClient):\n* loader/MediaResourceLoader.cpp:\n(WebCore::MediaResourceLoader::MediaResourceLoader):\n* loader/MediaResourceLoader.h:\n* page/DOMWindow.h:\n* page/EventHandler.cpp:\n(WebCore::widgetForElement):\n(WebCore::EventHandler::updateLastScrollbarUnderMouse):\n* platform/GenericTaskQueue.cpp:\n(WebCore::TaskDispatcher<Timer>::postTask):\n* platform/GenericTaskQueue.h:\n(WebCore::GenericTaskQueue::enqueueTask):\n(WebCore::GenericTaskQueue::cancelAllTasks):\n* platform/ScrollView.h:\n* platform/ScrollableArea.h:\n* platform/Scrollbar.h:\n* platform/Widget.cpp:\n(WebCore::Widget::setParent):\n* platform/Widget.h:\n* platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:\n(WebCore::AudioFileReader::decodeAudioForBusCreation):\n* platform/audio/mac/AudioHardwareListenerMac.cpp:\n(WebCore::AudioHardwareListenerMac::AudioHardwareListenerMac):\n* platform/audio/mac/AudioHardwareListenerMac.h:\n* platform/encryptedmedia/clearkey/CDMClearKey.cpp:\n(WebCore::CDMInstanceClearKey::requestLicense):\n(WebCore::CDMInstanceClearKey::updateLicense):\n(WebCore::CDMInstanceClearKey::loadSession):\n(WebCore::CDMInstanceClearKey::closeSession):\n(WebCore::CDMInstanceClearKey::removeSessionData):\n* platform/encryptedmedia/clearkey/CDMClearKey.h:\n* platform/graphics/FontCascade.h:\n* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:\n(WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):\n(WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):\n* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:\n* platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:\n* platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:\n(WebCore::CDMInstanceFairPlayStreamingAVFObjC::didProvideRequest):\n* platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h:\n* platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:\n(WebCore::CDMSessionAVFoundationObjC::CDMSessionAVFoundationObjC):\n* platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.h:\n* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:\n* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:\n(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):\n(WebCore::MediaPlayerPrivateAVFoundationObjC::checkPlayability):\n(WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata):\n(WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):\n(WebCore::MediaPlayerPrivateAVFoundationObjC::createSession):\n(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldPlayToPlaybackTarget):\n(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):\n* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:\n* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:\n(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::requestNotificationWhenReadyForVideoData):\n(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::scheduleDeferredTask):\n* platform/graphics/cv/TextureCacheCV.h:\n* platform/graphics/cv/TextureCacheCV.mm:\n(WebCore::TextureCacheCV::textureFromImage):\n* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:\n(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):\n(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):\n(WebCore::MediaPlayerPrivateGStreamer::handleMessage):\n* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:\n* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:\n(WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage):\n(WebCore::MediaPlayerPrivateGStreamerBase::initializationDataEncountered):\n* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:\n* platform/graphics/gstreamer/mse/AppendPipeline.cpp:\n(WebCore::AppendPipeline::connectDemuxerSrcPadToAppsink):\n* platform/graphics/mac/DisplayRefreshMonitorMac.cpp:\n(WebCore::DisplayRefreshMonitorMac::displayLinkFired):\n* platform/graphics/mac/DisplayRefreshMonitorMac.h:\n* platform/graphics/texmap/TextureMapperLayer.cpp:\n(WebCore::TextureMapperLayer::setMaskLayer):\n(WebCore::TextureMapperLayer::setReplicaLayer):\n* platform/graphics/texmap/TextureMapperLayer.h:\n* platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:\n(WebCore::MediaPlayerPrivateMediaFoundation::endCreatedMediaSource):\n(WebCore::MediaPlayerPrivateMediaFoundation::endGetEvent):\n(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::processInputNotify):\n* platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:\n* platform/ios/RemoteCommandListenerIOS.h:\n* platform/ios/RemoteCommandListenerIOS.mm:\n(WebCore::RemoteCommandListenerIOS::RemoteCommandListenerIOS):\n* platform/mac/RemoteCommandListenerMac.h:\n* platform/mac/RemoteCommandListenerMac.mm:\n(WebCore::RemoteCommandListenerMac::RemoteCommandListenerMac):\n* platform/mediastream/MediaStreamPrivate.cpp:\n(WebCore::MediaStreamPrivate::scheduleDeferredTask):\n* platform/mediastream/MediaStreamPrivate.h:\n* platform/mediastream/RealtimeMediaSource.cpp:\n(WebCore::RealtimeMediaSource::scheduleDeferredTask):\n* platform/mediastream/RealtimeMediaSource.h:\n* platform/mediastream/mac/ScreenDisplayCaptureSourceMac.h:\n* platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm:\n(WebCore::ScreenDisplayCaptureSourceMac::createDisplayStream):\n* platform/vr/VRPlatformDisplay.h:\n* platform/vr/openvr/VRPlatformManagerOpenVR.cpp:\n(WebCore::VRPlatformManagerOpenVR::getVRDisplays):\n* rendering/FloatingObjects.h:\n(WebCore::FloatingObject::setOriginatingLine):\n* rendering/RenderObject.h:\n* rendering/RootInlineBox.cpp:\n* rendering/RootInlineBox.h:\n* svg/SVGPathElement.h:\n* svg/SVGPathSegWithContext.h:\n(WebCore::SVGPathSegWithContext::SVGPathSegWithContext):\n(WebCore::SVGPathSegWithContext::setContextAndRole):\n* svg/SVGTransformList.h:\n* svg/properties/SVGAnimatedListPropertyTearOff.h:\n(WebCore::SVGAnimatedListPropertyTearOff::baseVal):\n(WebCore::SVGAnimatedListPropertyTearOff::animVal):\n* svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:\n* svg/properties/SVGAnimatedPropertyTearOff.h:\n* svg/properties/SVGAnimatedTransformListPropertyTearOff.h:\n* svg/properties/SVGListProperty.h:\n(WebCore::SVGListProperty::initializeValuesAndWrappers):\n(WebCore::SVGListProperty::getItemValuesAndWrappers):\n(WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):\n(WebCore::SVGListProperty::replaceItemValuesAndWrappers):\n(WebCore::SVGListProperty::appendItemValuesAndWrappers):\n* svg/properties/SVGMatrixTearOff.h:\n* svg/properties/SVGPropertyTearOff.h:\n* testing/MockCDMFactory.cpp:\n(WebCore::MockCDMFactory::createCDM):\n(WebCore::MockCDM::createInstance):\n* testing/MockCDMFactory.h:\n* workers/service/ExtendableEvent.h:\n* workers/service/FetchEvent.cpp:\n(WebCore::FetchEvent::respondWith):\n* workers/service/server/SWServer.h:\n* xml/DOMParser.cpp:\n(WebCore::DOMParser::DOMParser):\n\nSource/WebCore/PAL:\n\n186407_CanMakeWeakPtr\n\n* pal/system/mac/SystemSleepListenerMac.h:\n* pal/system/mac/SystemSleepListenerMac.mm:\n(PAL::SystemSleepListenerMac::SystemSleepListenerMac):\n\nSource/WebKit:\n\nAdd CanMakeWeakPtr base class to get WeakPtrFactory member and its getter, in\norder to avoid some boilerplate code in every class needing a WeakPtrFactory.\nThis also gets rid of old-style createWeakPtr() methods in favor of the newer\nmakeWeakPtr().\n\n* NetworkProcess/NetworkLoadChecker.h:\n* NetworkProcess/NetworkProcess.cpp:\n(WebKit::NetworkProcess::canAuthenticateAgainstProtectionSpace):\n* NetworkProcess/PreconnectTask.h:\n* NetworkProcess/cache/CacheStorageEngine.h:\n* Shared/Authentication/AuthenticationManager.h:\n* UIProcess/API/APIAttachment.cpp:\n(API::Attachment::Attachment):\n* UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp:\n(WebKit::WebPaymentCoordinatorProxy::canMakePaymentsWithActiveCard):\n(WebKit::WebPaymentCoordinatorProxy::openPaymentSetup):\n* UIProcess/ApplePay/WebPaymentCoordinatorProxy.h:\n* UIProcess/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm:\n(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):\n* UIProcess/ApplicationStateTracker.h:\n* UIProcess/ApplicationStateTracker.mm:\n(WebKit::ApplicationStateTracker::ApplicationStateTracker):\n* UIProcess/Cocoa/ViewGestureController.cpp:\n(WebKit::ViewGestureController::setAlternateBackForwardListSourcePage):\n* UIProcess/Cocoa/WebViewImpl.h:\n* UIProcess/Cocoa/WebViewImpl.mm:\n(WebKit::WebViewImpl::updateWindowAndViewFrames):\n(WebKit::WebViewImpl::setTopContentInset):\n(WebKit::WebViewImpl::viewDidMoveToWindow):\n(WebKit::WebViewImpl::prepareForMoveToWindow):\n(WebKit::WebViewImpl::validateUserInterfaceItem):\n(WebKit::WebViewImpl::requestCandidatesForSelectionIfNeeded):\n(WebKit::WebViewImpl::interpretKeyEvent):\n(WebKit::WebViewImpl::firstRectForCharacterRange):\n(WebKit::WebViewImpl::performKeyEquivalent):\n(WebKit::WebViewImpl::keyUp):\n(WebKit::WebViewImpl::keyDown):\n* UIProcess/CredentialManagement/WebCredentialsMessengerProxy.cpp:\n(WebKit::WebCredentialsMessengerProxy::makeCredential):\n(WebKit::WebCredentialsMessengerProxy::getAssertion):\n* UIProcess/CredentialManagement/WebCredentialsMessengerProxy.h:\n* UIProcess/Downloads/DownloadProxy.cpp:\n(WebKit::DownloadProxy::setOriginatingPage):\n* UIProcess/Launcher/ProcessLauncher.h:\n* UIProcess/Launcher/mac/ProcessLauncherMac.mm:\n(WebKit::ProcessLauncher::launchProcess):\n* UIProcess/ProcessAssertion.h:\n* UIProcess/WebPageProxy.h:\n* UIProcess/WebsiteData/WebsiteDataStore.h:\n* UIProcess/gtk/WaylandCompositor.cpp:\n(WebKit::WaylandCompositor::Surface::attachBuffer):\n* UIProcess/gtk/WaylandCompositor.h:\n* UIProcess/ios/ProcessAssertionIOS.mm:\n(WebKit::ProcessAssertion::ProcessAssertion):\n* UIProcess/mac/DisplayLink.cpp:\n(WebKit::DisplayLink::displayLinkCallback):\n* WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.mm:\n(WebKit::RemoteLayerTreeDisplayRefreshMonitor::RemoteLayerTreeDisplayRefreshMonitor):\n* WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:\n\nSource/WebKitLegacy/mac:\n\nAdd CanMakeWeakPtr base class to get WeakPtrFactory member and its getter, in\norder to avoid some boilerplate code in every class needing a WeakPtrFactory.\nThis also gets rid of old-style createWeakPtr() methods in favor of the newer\nmakeWeakPtr().\n\n* WebCoreSupport/WebEditorClient.h:\n* WebCoreSupport/WebEditorClient.mm:\n(WebEditorClient::requestCandidatesForSelection):\n\nSource/WTF:\n\nAdd CanMakeWeakPtr base class to get WeakPtrFactory member and its getter, in\norder to avoid some boilerplate code in every class needing a WeakPtrFactory.\nThis also gets rid of old-style createWeakPtr() methods in favor of the newer\nmakeWeakPtr().\n\n* wtf/WeakPtr.h:\n(WTF::CanMakeWeakPtr::weakPtrFactory const):\n(WTF::CanMakeWeakPtr::weakPtrFactory):\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@232613 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/caiolima/webkit/commits/72332a68d011ffe8bd1ba3d4d4686647da622b50"},{"sha":"2d357e4efc47d02046f30e7d217a19b1c78affb7","author":{"name":"dewei_zhu@apple.com","email":"db4208ede2465a36e4547bb7d883614f4abba331@apple.com"},"message":"Fix browser test failed assertions and a bug in 'common-component-base'\nhttps://bugs.webkit.org/show_bug.cgi?id=186423\n\nReviewed by Ryosuke Niwa.\n\nFixed serveral assertion failures in browser tests.\nFixed a bug in common-component-base that null/undefined as attribute value is not allowed.\n\n* browser-tests/chart-revision-range-tests.js: Should not import 'lazily-evaluated-function.js' twice.\n* browser-tests/chart-status-evaluator-tests.js: Should not import 'lazily-evaluated-function.js' twice.\n* browser-tests/component-base-tests.js: Added a unit test for element attributes being null or undefined.\n* browser-tests/index.html: Make mocked data from makeSampleCluster also contains commit_order.\n* public/shared/common-component-base.js: Make it allow to take null as attribute value.\n(CommonComponentBase.createElement):\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@232614 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/caiolima/webkit/commits/2d357e4efc47d02046f30e7d217a19b1c78affb7"},{"sha":"565db14b3b5a83c8ef015e08c6f184848c06a9ac","author":{"name":"Hironori.Fujii@sony.com","email":"971e0a2e67015c911922af2a0f60b33be7f978b8@sony.com"},"message":"Add base class to get WeakPtrFactory member and avoid some boilerplate code\nhttps://bugs.webkit.org/show_bug.cgi?id=186407\n<rdar://problem/40922716>\n\nUnreviewed WinCairo build fix\n\nMediaPlayerPrivateMediaFoundation.cpp(1726): error C2039: 'makeWeakPtr': is not a member of 'WebCore::MediaPlayerPrivateMediaFoundation'\n\nNo new tests (No behavior change).\n\n* platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:\n(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::processInputNotify):\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@232615 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/caiolima/webkit/commits/565db14b3b5a83c8ef015e08c6f184848c06a9ac"},{"sha":"164a08074dc29b18fca53f9c085327cc0989aec4","author":{"name":"Hironori.Fujii@sony.com","email":"971e0a2e67015c911922af2a0f60b33be7f978b8@sony.com"},"message":"[Win][MiniBrowser] Add a new BrowserWindow interface to abstract WK1 and WK2 BrowserWindow\nhttps://bugs.webkit.org/show_bug.cgi?id=186421\n\nReviewed by Ryosuke Niwa.\n\nThis is the core patch to make MiniBrowser to support WK1 and WK2\nwindows (Bug 184770).\n\nI will rename MiniBrowser class to WK1BrowserWindow in a follow-up\npatch (Bug 184770 Comment 12).\n\n* MiniBrowser/win/BrowserWindow.h: Added.\n* MiniBrowser/win/MainWindow.cpp:\n(MainWindow::WndProc):\n* MiniBrowser/win/MainWindow.h:\n(MainWindow::browserWindow const):\n* MiniBrowser/win/MiniBrowser.cpp:\n(MiniBrowser::create):\n(MiniBrowser::navigateForwardOrBackward): Removed the unsed first argument hWnd.\n(MiniBrowser::navigateToHistory): Ditto.\n* MiniBrowser/win/MiniBrowser.h: Inherit BrowserWindow interface.\nMake all other methods private and make delegates classes friends.\n* MiniBrowser/win/PrintWebUIDelegate.cpp:\n(PrintWebUIDelegate::createWebViewWithRequest):\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@232616 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/caiolima/webkit/commits/164a08074dc29b18fca53f9c085327cc0989aec4"},{"sha":"1fae4942b8177653dd8dd73bc855de67e8d78001","author":{"name":"dewei_zhu@apple.com","email":"db4208ede2465a36e4547bb7d883614f4abba331@apple.com"},"message":"Related task may not have a metric or platform.\nhttps://bugs.webkit.org/show_bug.cgi?id=186426\n\nReviewed by Ryosuke Niwa.\n\nRelated task in the related task list can be a custom analysis task which\nmay not have platform or metric.\n\n* public/v3/pages/analysis-task-page.js: Added null checks for platform and metric.\n(AnalysisTaskPage.prototype._renderRelatedTasks):\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@232617 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/caiolima/webkit/commits/1fae4942b8177653dd8dd73bc855de67e8d78001"},{"sha":"0caddbd26efc366d6eac9ba6c5faa20fca6287de","author":{"name":"magomez@igalia.com","email":"4d1ec31a30a4a9aa74e0b3db66536ac43ae69f15@igalia.com"},"message":"[GTK][WPE] Wrong result when calling ImageBufferCairo's getImageData()\nhttps://bugs.webkit.org/show_bug.cgi?id=186384\n\nReviewed by Michael Catanzaro.\n\nFix calculations so the result is the expected one.\n\n* platform/graphics/cairo/ImageBufferCairo.cpp:\n(WebCore::getImageData):\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@232618 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/caiolima/webkit/commits/0caddbd26efc366d6eac9ba6c5faa20fca6287de"},{"sha":"c476d1635d84e64cf3fdf41ec7fc3f29292b0a2c","author":{"name":"utatane.tea@gmail.com","email":"177bef41247b2b039b4b4d4f7428c2c16069ba8f@gmail.com"},"message":"[WTF] Add WorkerPool\nhttps://bugs.webkit.org/show_bug.cgi?id=174569\n\nReviewed by Carlos Garcia Campos.\n\nSource/WebCore:\n\nWe start using WorkerPool for NicosiaPaintingEngineThreaded instead of glib thread pool.\nThis makes NicosiaPaintingEngineThreaded platform-independent and usable for WinCairo.\n\n* platform/graphics/nicosia/NicosiaPaintingEngineThreaded.cpp:\n(Nicosia::PaintingEngineThreaded::PaintingEngineThreaded):\n(Nicosia::PaintingEngineThreaded::~PaintingEngineThreaded):\n(Nicosia::PaintingEngineThreaded::paint):\n(Nicosia::s_threadFunc): Deleted.\n* platform/graphics/nicosia/NicosiaPaintingEngineThreaded.h:\n\nSource/WTF:\n\nThis patch adds WorkerPool, which is a thread pool that consists of AutomaticThread.\nSince it is based on AutomaticThread, this WorkerPool can take `timeout`: once `timeout`\npasses without any tasks, threads in WorkerPool will be destroyed.\n\nWe add shouldSleep handler to AutomaticThread to make destruction of threads in WorkerPool moderate.\nWithout this, all threads are destroyed at once after `timeout` passes.\n\n* WTF.xcodeproj/project.pbxproj:\n* wtf/AutomaticThread.cpp:\n(WTF::AutomaticThread::AutomaticThread):\n(WTF::AutomaticThread::start):\n* wtf/AutomaticThread.h:\n* wtf/CMakeLists.txt:\n* wtf/WorkerPool.cpp: Added.\n(WTF::WorkerPool::WorkerPool):\n(WTF::WorkerPool::~WorkerPool):\n(WTF::WorkerPool::shouldSleep):\n(WTF::WorkerPool::postTask):\n* wtf/WorkerPool.h: Added.\n(WTF::WorkerPool::create):\n\nTools:\n\n* TestWebKitAPI/CMakeLists.txt:\n* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:\n* TestWebKitAPI/Tests/WTF/WorkerPool.cpp: Added.\n(TestWebKitAPI::TEST):\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@232619 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/caiolima/webkit/commits/c476d1635d84e64cf3fdf41ec7fc3f29292b0a2c"},{"sha":"75672a245ac917418d1a48465779b4ea62144dd2","author":{"name":"zalan@apple.com","email":"d85155df5f11c7dea01135ad65d46852edb35997@apple.com"},"message":"[LFC] Add vertical margin computation for inline, block-level, inline-block and floating replaced elements\nhttps://bugs.webkit.org/show_bug.cgi?id=186432\n\nReviewed by Antti Koivisto.\n\n* layout/FormattingContext.h:\n* layout/FormattingContextGeometry.cpp:\n(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):\n(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin): Use the computed non-auto values when margin is not auto.\n(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin):\n(WebCore::Layout::FormattingContext::Geometry::computedNonCollapsedHorizontalMarginValue):\n(WebCore::Layout::FormattingContext::Geometry::computedNonCollapsedVerticalMarginValue):\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@232620 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/caiolima/webkit/commits/75672a245ac917418d1a48465779b4ea62144dd2"},{"sha":"860706636ca0efd138f27c43c796801d942bf3a2","author":{"name":"darin@apple.com","email":"b626abb8f335fb56884ab84af7ce09cd9151230f@apple.com"},"message":"[Cocoa] Turn on ARC for the single Objective-C++ source file in bmalloc\nhttps://bugs.webkit.org/show_bug.cgi?id=186398\n\nReviewed by Saam Barati.\n\n* Configurations/Base.xcconfig: Turn on ARC.\n* bmalloc/ProcessCheck.mm:\n(bmalloc::gigacageEnabledForProcess): Removed the globals from this function,\nsince it's only called once. If it was called more than once, we could optimize\nthat with a single boolean global rather than two strings and two booleans.\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@232626 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/caiolima/webkit/commits/860706636ca0efd138f27c43c796801d942bf3a2"},{"sha":"cd476613e36c2b120044ecb3cc84efb4b1dd7854","author":{"name":"kocsen_chung@apple.com","email":"852e29412e2e469bc176e7c3fff4f2f01766b74f@apple.com"},"message":"Versioning.\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@232627 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/caiolima/webkit/commits/cd476613e36c2b120044ecb3cc84efb4b1dd7854"},{"sha":"8d571acba7a0df69bf90405b2ab586a0e11deaa4","author":{"name":"bfulgham@apple.com","email":"40fc0cb507030a081616f25547d9cd1b104aae47@apple.com"},"message":"REGRESSION (r230930): Link drag image is very blurry\nhttps://bugs.webkit.org/show_bug.cgi?id=186435\n<rdar://problem/40797202>\n\nReviewed by Tim Horton.\n\nSource/WebCore:\n\nTell NSImage the proper display scale factor it needs when performing a 'lockFocus' by passing\nthe correct scaling transform as an NSImageHintCTM.\n\nI reviewed the other drag operations (selection, image, and attachment) and confirmed through\nmanual testing that these operations already properly scale the images. It appears that links\nwere the only place where we relied on NSImage to determine and use the relevant device scale\nfactor.\n\n* SourcesCocoa.txt: Add new WebKitNSImageExtras.mm file.\n* WebCore.xcodeproj/project.pbxproj: Update for new files.\n* platform/graphics/mac/WebKitNSImageExtras.h: Added.\n* platform/graphics/mac/WebKitNSImageExtras.mm: Added.\n(-[NSImage _web_lockFocusWithTransform:]): Helper method that takes a device scale factor, creates the\nrelevant scaling NSAffineTransform and passes it to the internal NSImage 'lockFocusWithRect' as the\nNSImageHintCTM hint.\n* platform/mac/DragImageMac.mm:\n(WebCore::createDragImageForLink): Use the new helper function.\n\nSource/WebCore/PAL:\n\nAdd the necessary NSImage SPI to our SPI headers.\n\n* PAL.xcodeproj/project.pbxproj:\n* pal/spi/mac/NSImageSPI.h: Added.\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@232628 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/caiolima/webkit/commits/8d571acba7a0df69bf90405b2ab586a0e11deaa4"},{"sha":"4a5f5eb4d1be26d177b72adf1c4ea9ac0eed8377","author":{"name":"dewei_zhu@apple.com","email":"db4208ede2465a36e4547bb7d883614f4abba331@apple.com"},"message":"CommitSet range bisector should use commits occur in commit sets which specify the range as valid commits for commits without ordering.\nhttps://bugs.webkit.org/show_bug.cgi?id=186062\n\nReviewed by Ryosuke Niwa.\n\nFor commits without ordering, we should use the commits occurs in the commit sets which specify the range as valid commits.\nCommit sets in range should only contain those valid commits for corresponding repositories.\n\n* public/v3/commit-set-range-bisector.js: Updated logic to add check on commits without ordering.\n(CommitSetRangeBisector.async.commitSetClosestToMiddleOfAllCommits):\n* unit-tests/commit-set-range-bisector-tests.js: Added a unit test for this case.\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@232629 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/caiolima/webkit/commits/4a5f5eb4d1be26d177b72adf1c4ea9ac0eed8377"},{"sha":"0f4bf10d27f861ffc7cd31bc4571fff5d02ca7c8","author":{"name":"pvollan@apple.com","email":"c01dd8b3cf64f63a4fc69b433db602f1bbd7ea8c@apple.com"},"message":"Send display link IPC message from display link thread.\nhttps://bugs.webkit.org/show_bug.cgi?id=186429\n\nReviewed by Geoffrey Garen.\n\nWhen the display link callback is firing on the display link thread in the UI process,\nwe schedule a function to be called on the main thread to send the IPC message to the\nWebContent process. Since Connection::send is thread-safe, we can just send the message\nfrom the display link thread, instead. This should be a small performance improvement.\n\n* UIProcess/mac/DisplayLink.cpp:\n(WebKit::DisplayLink::DisplayLink):\n(WebKit::DisplayLink::displayLinkCallback):\n* UIProcess/mac/DisplayLink.h:\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@232632 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/caiolima/webkit/commits/0f4bf10d27f861ffc7cd31bc4571fff5d02ca7c8"},{"sha":"202485519364f8a7c60af9a7cf66d5f49e59c40c","author":{"name":"aboya@igalia.com","email":"199f407b4350a39abdc0c56cc9a882cac8bc8483@igalia.com"},"message":"[GTK] Update to libva-2.1.0 in jhbuild\nhttps://bugs.webkit.org/show_bug.cgi?id=186434\n\nReviewed by Philippe Normand.\n\n* gstreamer/jhbuild.modules:\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@232633 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/caiolima/webkit/commits/202485519364f8a7c60af9a7cf66d5f49e59c40c"},{"sha":"6ab68664c1ffd0277e58e698f431b0e9077599e4","author":{"name":"pvollan@apple.com","email":"c01dd8b3cf64f63a4fc69b433db602f1bbd7ea8c@apple.com"},"message":"Run display links in the UI process when ENABLE(WEBPROCESS_WINDOWSERVER_BLOCKING) is true.\nhttps://bugs.webkit.org/show_bug.cgi?id=186379\n\nReviewed by Brent Fulgham.\n\nReplace __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400 with ENABLE(WEBPROCESS_WINDOWSERVER_BLOCKING).\n\n* UIProcess/WebPageProxy.cpp:\n(WebKit::WebPageProxy::dispatchActivityStateChange):\n* UIProcess/WebPageProxy.h:\n* UIProcess/WebPageProxy.messages.in:\n* UIProcess/mac/DisplayLink.cpp:\n* UIProcess/mac/DisplayLink.h:\n* UIProcess/mac/WebPageProxyMac.mm:\n* WebProcess/WebPage/DrawingArea.cpp:\n* WebProcess/WebPage/mac/DrawingAreaMac.cpp:\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@232634 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/caiolima/webkit/commits/6ab68664c1ffd0277e58e698f431b0e9077599e4"},{"sha":"bb9468e44027036be144a4713b73eb3fdb316d15","author":{"name":"rniwa@webkit.org","email":"c77ba1f13dd683021409b41cf8bcdadfeaa22cff@webkit.org"},"message":"REGRESSION(macOS Mojave): move-by-word-visually-inline-block-positioned-element.html fails\nhttps://bugs.webkit.org/show_bug.cgi?id=186424\n\nReviewed by Wenson Hsieh.\n\nThe test failure is ultimately caused by the change in ICU's behavior. With the CPU in the latest macOS Mojave,\nubrk_getRuleStatus returns 200 / UBRK_WORD_LETTER at the end of a buffer given to UBreakIterator. This caused\nisWordTextBreak to return true instead of false in isLogicalStartOfWord at the end of the buffer.\n\nThis ICU behavior shouldn't have caused a problem in theory. However, WebKit had a bug in visualWordPosition which\ncaused UBreakIterator to not include the succeeding word when traversing words to the left (backwards in LTR text)\nat the beginning of the last block element with exactly one line box after an non-statically positioned element.\n\nIn this case, visualWordPosition invokes wordBreakIteratorForMaxOffsetBoundary (because adjacentCharacterPosition\nis now at the end of the last word in the non-statically positioned element) to setup UBreakIterator. Because\nthere are no line boxes left in the current line (in the last block element with exactly one line box),\nlogicallyNextBox enters the while loop and invoke nextRootInlineBoxCandidatePosition to find the next root line box.\nHowever, the visible position given to this function is at the beginning of the first word in the block element.\nAs a result, nextRootInlineBoxCandidatePosition skips over this entire line and finds no line box after the one\nwe had in the non-statically positioned element.\n\nLet us consider the following concrete example in which a position: static div is followed by another div, and each\ndiv contains text nodes \"hello\" and \"world\" respectively:\n- div position: static (1)\n    - \"hello\"\n- div (2)\n    - \"world\"\nSuppose we're at the offset 0 of \"world\", and trying to move to the left. In this case, adjacentCharacterPosition is\nat offset 5 of \"world\". The next line box should be that of \"world\". However, because we invoke logicallyNextBox via\nwordBreakIteratorForMaxOffsetBoundary with the visible position at offset 0 of \"world\", it skips this line and return\nnullptr.\n\nThis patch addresses this test failure by fixing visualWordPosition by passing adjacentCharacterPosition (at offset 5\nof \"hello\") as the visible position to find the next text box so that nextRootInlineBoxCandidatePosition invoked in\nlogicallyNextBox would not skip the line (\"world\") from which we started the traversal to find the next line box.\n\nTests: editing/selection/move-by-word-visually-inline-block-positioned-element.html\n\n* editing/VisibleUnits.cpp:\n(WebCore::visualWordPosition):\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@232635 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/caiolima/webkit/commits/bb9468e44027036be144a4713b73eb3fdb316d15"},{"sha":"01fce8a2a457f23b5486d4a927c88b0f310a10aa","author":{"name":"bburg@apple.com","email":"154c89f342e79b0ddb664ee118ab7b586cf9a56a@apple.com"},"message":"[Cocoa] Web Automation: include browser name and version in listing for automation targets\nhttps://bugs.webkit.org/show_bug.cgi?id=186204\n<rdar://problem/36950423>\n\nReviewed by Darin Adler.\n\nSource/JavaScriptCore:\n\nAsk the client what the reported browser name and version should be, then\nsend this as part of the listing for an automation target.\n\n* inspector/remote/RemoteInspectorConstants.h:\n* inspector/remote/cocoa/RemoteInspectorCocoa.mm:\n(Inspector::RemoteInspector::listingForAutomationTarget const):\n\nSource/WebKit:\n\nAdd a new delegate method that allows the client to set the name and version\nof the browser as returned in the 'browserName' and 'browserVersion' capabilities.\nIf the delegate methods are not implemented, try to get this information from\nthe main bundle.\n\nIn the RWI protocol, these fields are added to automation target listings.\n\n* UIProcess/API/Cocoa/_WKAutomationDelegate.h:\n* UIProcess/Cocoa/AutomationClient.h:\n* UIProcess/Cocoa/AutomationClient.mm:\n(WebKit::AutomationClient::AutomationClient):\n(WebKit::AutomationClient::browserName const):\n(WebKit::AutomationClient::browserVersion const):\n\nSource/WTF:\n\n* wtf/spi/cf/CFBundleSPI.h: Add needed infoDictionary key values.\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@232636 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/caiolima/webkit/commits/01fce8a2a457f23b5486d4a927c88b0f310a10aa"},{"sha":"fffa24a22d445e5a367e11bb9ec231805f71b4bc","author":{"name":"cdumez@apple.com","email":"083d44ce61b1f946a3aa6fbd704954e0195d0658@apple.com"},"message":"http/tests/cache/partitioned-cache.html fails with PSON enabled\nhttps://bugs.webkit.org/show_bug.cgi?id=186438\n\nReviewed by Geoffrey Garen.\n\nhttp/tests/cache/partitioned-cache.html was overriding a setting then navigating\ncross-origin, expecting the setting override to persist. However, with process\nswap on navigation enabled, the setting does not persist. To address the issue,\nwe override the setting again in the document we navigate to.\n\n* http/tests/cache/partitioned-cache-expected.txt:\n* http/tests/cache/resources/partitioned-cache-loader.html:\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@232637 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/caiolima/webkit/commits/fffa24a22d445e5a367e11bb9ec231805f71b4bc"}]}
{"actor":{"display_login":"caiolima"}}