Migrate OnDisplayRemoved to OnDisplaysRemoved
Deprecate DisplayObserver::OnDisplayRemoved and use DisplayObserver::OnDisplaysRemoved instead. Bug: 329003664 Change-Id: I02dbad37ca850533ef2acf1a24464f911ffc188c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5502081 Commit-Queue: Vincent Chiang <vincentchiang@chromium.org> Reviewed-by: Avi Drissman <avi@chromium.org> Reviewed-by: Mitsuru Oshima <oshima@chromium.org> Cr-Commit-Position: refs/heads/main@{#1297147}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
44664fd8cd
commit
ba3cd346f1
ash
accessibility
display
cros_display_config.ccdisplay_color_manager.ccdisplay_color_manager.hdisplay_manager_unittest.ccresolution_notification_controller.ccresolution_notification_controller.hscreen_ash_unittest.cc
system
touch
webui
camera_app_ui
wm
chrome/browser
media
router
metrics
chromeos/components/cdm_factory_daemon
components
exo
remote_cocoa
content
app_shim_remote_cocoa
browser
extensions/browser/api/system_display
ui
display
display_change_notifier.ccdisplay_change_notifier_unittest.ccdisplay_list.ccdisplay_list_unittest.ccdisplay_observer.h
mac
manager
win
message_center
ozone
platform
@ -59,7 +59,7 @@ class ASH_EXPORT AccessibilityPanelLayoutManager
|
||||
|
||||
// DisplayObserver:
|
||||
void OnDisplayAdded(const display::Display& new_display) override {}
|
||||
void OnDisplayRemoved(const display::Display& old_display) override {}
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override {}
|
||||
void OnDisplayMetricsChanged(const display::Display& display,
|
||||
uint32_t changed_metrics) override;
|
||||
|
||||
|
@ -563,7 +563,7 @@ class CrosDisplayConfig::ObserverImpl
|
||||
NotifyObserversDisplayConfigChanged();
|
||||
}
|
||||
|
||||
void OnDisplayRemoved(const display::Display& old_display) override {
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override {
|
||||
NotifyObserversDisplayConfigChanged();
|
||||
}
|
||||
|
||||
|
@ -313,9 +313,11 @@ void DisplayColorManager::OnDisplayModeChanged(
|
||||
displays_ctm_support_ = DisplayCtmSupport::kMixed;
|
||||
}
|
||||
|
||||
void DisplayColorManager::OnDisplayRemoved(
|
||||
const display::Display& old_display) {
|
||||
displays_color_matrix_map_.erase(old_display.id());
|
||||
void DisplayColorManager::OnDisplaysRemoved(
|
||||
const display::Displays& removed_displays) {
|
||||
for (const auto& display : removed_displays) {
|
||||
displays_color_matrix_map_.erase(display.id());
|
||||
}
|
||||
}
|
||||
|
||||
void DisplayColorManager::ApplyDisplayColorCalibration(
|
||||
|
@ -77,7 +77,7 @@ class ASH_EXPORT DisplayColorManager
|
||||
display::MultipleDisplayState failed_new_state) override {}
|
||||
|
||||
// display::DisplayObserver:
|
||||
void OnDisplayRemoved(const display::Display& old_display) override;
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override;
|
||||
|
||||
protected:
|
||||
virtual void FinishLoadCalibrationForDisplay(
|
||||
|
@ -102,9 +102,11 @@ class DisplayManagerObserverValidator : public display::DisplayObserver,
|
||||
added_displays_.push_back(new_display);
|
||||
}
|
||||
}
|
||||
void OnDisplayRemoved(const display::Display& old_display) override {
|
||||
if (!base::Contains(added_displays_, old_display)) {
|
||||
removed_displays_.push_back(old_display);
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override {
|
||||
for (const auto& display : removed_displays) {
|
||||
if (!base::Contains(added_displays_, display)) {
|
||||
removed_displays_.push_back(display);
|
||||
}
|
||||
}
|
||||
}
|
||||
void OnDisplayMetricsChanged(const display::Display& display,
|
||||
@ -257,8 +259,8 @@ class DisplayManagerTest : public AshTestBase,
|
||||
void OnDisplayAdded(const display::Display& new_display) override {
|
||||
added_.push_back(new_display);
|
||||
}
|
||||
void OnDisplayRemoved(const display::Display& old_display) override {
|
||||
++removed_count_;
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override {
|
||||
removed_count_ += removed_displays.size();
|
||||
}
|
||||
|
||||
// display::DisplayManager::Observer:
|
||||
@ -2629,7 +2631,7 @@ class TestDisplayObserver : public display::DisplayObserver {
|
||||
EXPECT_TRUE(test_api.GetHosts().empty());
|
||||
changed_ = true;
|
||||
}
|
||||
void OnDisplayRemoved(const display::Display& old_display) override {
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override {
|
||||
// Mirror window should not be created until the external display
|
||||
// is removed.
|
||||
EXPECT_TRUE(test_api.GetHosts().empty());
|
||||
|
@ -234,16 +234,19 @@ void ResolutionNotificationController::RevertResolutionChange(
|
||||
}
|
||||
}
|
||||
|
||||
void ResolutionNotificationController::OnDisplayRemoved(
|
||||
const display::Display& old_display) {
|
||||
if (change_info_ && change_info_->display_id == old_display.id()) {
|
||||
if (confirmation_dialog_) {
|
||||
// Use CloseWithReason rather than CloseNow to make sure the screen
|
||||
// doesn't stay dimmed after the widget is closed. b/288485093.
|
||||
confirmation_dialog_->GetWidget()->CloseWithReason(
|
||||
views::Widget::ClosedReason::kLostFocus);
|
||||
void ResolutionNotificationController::OnDisplaysRemoved(
|
||||
const display::Displays& removed_displays) {
|
||||
for (const auto& display : removed_displays) {
|
||||
if (change_info_ && change_info_->display_id == display.id()) {
|
||||
if (confirmation_dialog_) {
|
||||
// Use CloseWithReason rather than CloseNow to make sure the screen
|
||||
// doesn't stay dimmed after the widget is closed. b/288485093.
|
||||
confirmation_dialog_->GetWidget()->CloseWithReason(
|
||||
views::Widget::ClosedReason::kLostFocus);
|
||||
}
|
||||
RevertResolutionChange(/*display_was_removed=*/true);
|
||||
break;
|
||||
}
|
||||
RevertResolutionChange(/*display_was_removed=*/true);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -91,7 +91,7 @@ class ASH_EXPORT ResolutionNotificationController
|
||||
void RevertResolutionChange(bool display_was_removed);
|
||||
|
||||
// display::DisplayObserver overrides:
|
||||
void OnDisplayRemoved(const display::Display& old_display) override;
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override;
|
||||
|
||||
// WindowTreeHostManager::Observer overrides:
|
||||
void OnDisplayConfigurationChanged() override;
|
||||
|
@ -73,9 +73,9 @@ class TestDisplayRemoveObserver : public display::DisplayObserver {
|
||||
++added_displays_;
|
||||
}
|
||||
|
||||
void OnDisplayRemoved(const display::Display& old_display) override {
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override {
|
||||
TestPrimaryDisplay();
|
||||
++removed_displays_;
|
||||
removed_displays_ += removed_displays.size();
|
||||
}
|
||||
|
||||
private:
|
||||
|
@ -48,16 +48,20 @@ void DisplaySpeakerController::OnDisplayAdded(
|
||||
CrasAudioHandler::Get()->SetActiveHDMIOutoutRediscoveringIfNecessary(true);
|
||||
}
|
||||
|
||||
void DisplaySpeakerController::OnDisplayRemoved(
|
||||
const display::Display& old_display) {
|
||||
if (!old_display.IsInternal())
|
||||
return;
|
||||
UpdateInternalSpeakerForDisplayRotation();
|
||||
void DisplaySpeakerController::OnDisplaysRemoved(
|
||||
const display::Displays& removed_displays) {
|
||||
for (const auto& display : removed_displays) {
|
||||
if (display.IsInternal()) {
|
||||
UpdateInternalSpeakerForDisplayRotation();
|
||||
|
||||
// This event will be triggered when the lid of the device is closed to enter
|
||||
// the docked mode, we should always start or re-start HDMI re-discovering
|
||||
// grace period right after this event.
|
||||
CrasAudioHandler::Get()->SetActiveHDMIOutoutRediscoveringIfNecessary(true);
|
||||
// This event will be triggered when the lid of the device is closed to
|
||||
// enter the docked mode, we should always start or re-start HDMI
|
||||
// re-discovering grace period right after this event.
|
||||
CrasAudioHandler::Get()->SetActiveHDMIOutoutRediscoveringIfNecessary(
|
||||
true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DisplaySpeakerController::OnDisplayMetricsChanged(
|
||||
|
@ -24,7 +24,7 @@ class DisplaySpeakerController : public display::DisplayObserver,
|
||||
|
||||
// display::DisplayObserver.
|
||||
void OnDisplayAdded(const display::Display& new_display) override;
|
||||
void OnDisplayRemoved(const display::Display& old_display) override;
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override;
|
||||
void OnDisplayMetricsChanged(const display::Display& display,
|
||||
uint32_t changed_metrics) override;
|
||||
|
||||
|
@ -74,10 +74,14 @@ void TouchObserverHud::OnWidgetDestroying(views::Widget* widget) {
|
||||
delete this;
|
||||
}
|
||||
|
||||
void TouchObserverHud::OnDisplayRemoved(const display::Display& old_display) {
|
||||
if (old_display.id() != display_id_)
|
||||
return;
|
||||
widget_->CloseNow();
|
||||
void TouchObserverHud::OnDisplaysRemoved(
|
||||
const display::Displays& removed_displays) {
|
||||
for (const auto& display : removed_displays) {
|
||||
if (display.id() == display_id_) {
|
||||
widget_->CloseNow();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void TouchObserverHud::OnDisplayMetricsChanged(const display::Display& display,
|
||||
|
@ -66,7 +66,7 @@ class ASH_EXPORT TouchObserverHud
|
||||
void OnWidgetDestroying(views::Widget* widget) override;
|
||||
|
||||
// display::DisplayObserver:
|
||||
void OnDisplayRemoved(const display::Display& old_display) override;
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override;
|
||||
void OnDisplayMetricsChanged(const display::Display& display,
|
||||
uint32_t metrics) override;
|
||||
|
||||
|
@ -565,8 +565,8 @@ void CameraAppHelperImpl::OnDisplayAdded(const display::Display& new_display) {
|
||||
CheckExternalScreenState();
|
||||
}
|
||||
|
||||
void CameraAppHelperImpl::OnDisplayRemoved(
|
||||
const display::Display& old_display) {
|
||||
void CameraAppHelperImpl::OnDisplaysRemoved(
|
||||
const display::Displays& removed_displays) {
|
||||
CheckExternalScreenState();
|
||||
}
|
||||
|
||||
|
@ -143,7 +143,7 @@ class CameraAppHelperImpl : public ScreenBacklightObserver,
|
||||
|
||||
// display::DisplayObserver overrides;
|
||||
void OnDisplayAdded(const display::Display& new_display) override;
|
||||
void OnDisplayRemoved(const display::Display& old_display) override;
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override;
|
||||
void OnDisplayTabletStateChanged(display::TabletState state) override;
|
||||
void OnLidStateChanged(cros::mojom::LidState state) override;
|
||||
|
||||
|
@ -1351,8 +1351,8 @@ void SplitViewController::OnOverviewModeEnded() {
|
||||
}
|
||||
}
|
||||
|
||||
void SplitViewController::OnDisplayRemoved(
|
||||
const display::Display& old_display) {
|
||||
void SplitViewController::OnDisplaysRemoved(
|
||||
const display::Displays& removed_displays) {
|
||||
// If the `root_window_`is the root window of the display which is going to
|
||||
// be removed, there's no need to start overview.
|
||||
if (GetRootWindowSettings(root_window_)->display_id ==
|
||||
|
@ -337,7 +337,7 @@ class ASH_EXPORT SplitViewController : public aura::WindowObserver,
|
||||
void OnOverviewModeEnded() override;
|
||||
|
||||
// display::DisplayObserver:
|
||||
void OnDisplayRemoved(const display::Display& old_display) override;
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override;
|
||||
void OnDisplayMetricsChanged(const display::Display& display,
|
||||
uint32_t metrics) override;
|
||||
void OnDisplayTabletStateChanged(display::TabletState state) override;
|
||||
|
@ -486,8 +486,8 @@ void TabletModeWindowManager::OnDisplayAdded(const display::Display& display) {
|
||||
DisplayConfigurationChanged();
|
||||
}
|
||||
|
||||
void TabletModeWindowManager::OnDisplayRemoved(
|
||||
const display::Display& display) {
|
||||
void TabletModeWindowManager::OnDisplaysRemoved(
|
||||
const display::Displays& removed_displays) {
|
||||
DisplayConfigurationChanged();
|
||||
}
|
||||
|
||||
|
@ -114,7 +114,7 @@ class ASH_EXPORT TabletModeWindowManager : public aura::WindowObserver,
|
||||
|
||||
// display::DisplayObserver:
|
||||
void OnDisplayAdded(const display::Display& display) override;
|
||||
void OnDisplayRemoved(const display::Display& display) override;
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override;
|
||||
|
||||
// SessionObserver:
|
||||
void OnActiveUserSessionChanged(const AccountId& account_id) override;
|
||||
|
@ -233,17 +233,20 @@ void WiredDisplayMediaRouteProvider::OnDisplayAdded(
|
||||
NotifySinkObservers();
|
||||
}
|
||||
|
||||
void WiredDisplayMediaRouteProvider::OnDisplayRemoved(
|
||||
const Display& old_display) {
|
||||
const std::string sink_id =
|
||||
WiredDisplayMediaRouteProvider::GetSinkIdForDisplay(old_display);
|
||||
auto it =
|
||||
base::ranges::find(presentations_, sink_id,
|
||||
[](const Presentations::value_type& presentation) {
|
||||
return presentation.second.route().media_sink_id();
|
||||
});
|
||||
if (it != presentations_.end())
|
||||
it->second.receiver()->ExitFullscreen();
|
||||
void WiredDisplayMediaRouteProvider::OnDisplaysRemoved(
|
||||
const display::Displays& removed_displays) {
|
||||
for (const auto& display : removed_displays) {
|
||||
const std::string sink_id =
|
||||
WiredDisplayMediaRouteProvider::GetSinkIdForDisplay(display);
|
||||
auto it =
|
||||
base::ranges::find(presentations_, sink_id,
|
||||
[](const Presentations::value_type& presentation) {
|
||||
return presentation.second.route().media_sink_id();
|
||||
});
|
||||
if (it != presentations_.end()) {
|
||||
it->second.receiver()->ExitFullscreen();
|
||||
}
|
||||
}
|
||||
NotifySinkObservers();
|
||||
}
|
||||
|
||||
|
@ -91,7 +91,7 @@ class WiredDisplayMediaRouteProvider : public mojom::MediaRouteProvider,
|
||||
|
||||
// display::DisplayObserver:
|
||||
void OnDisplayAdded(const display::Display& new_display) override;
|
||||
void OnDisplayRemoved(const display::Display& old_display) override;
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override;
|
||||
void OnDisplayMetricsChanged(const display::Display& display,
|
||||
uint32_t changed_metrics) override;
|
||||
|
||||
|
6
chrome/browser/media/router/providers/wired_display/wired_display_media_route_provider_unittest.cc
6
chrome/browser/media/router/providers/wired_display/wired_display_media_route_provider_unittest.cc
@ -270,7 +270,7 @@ TEST_F(WiredDisplayMediaRouteProviderTest, NotifyOnDisplayChange) {
|
||||
EXPECT_CALL(router_,
|
||||
OnSinksReceived(mojom::MediaRouteProviderId::WIRED_DISPLAY, _,
|
||||
IsEmpty(), _));
|
||||
provider_->OnDisplayRemoved(secondary_display1_);
|
||||
provider_->OnDisplaysRemoved({secondary_display1_});
|
||||
base::RunLoop().RunUntilIdle();
|
||||
|
||||
// Add a display that mirrors the primary display. The sink list should still
|
||||
@ -293,7 +293,7 @@ TEST_F(WiredDisplayMediaRouteProviderTest, NoDisplay) {
|
||||
// primary display, as it would be invalid.
|
||||
EXPECT_CALL(*provider_, GetPrimaryDisplayInternal()).Times(0);
|
||||
provider_->set_all_displays({});
|
||||
provider_->OnDisplayRemoved(primary_display_);
|
||||
provider_->OnDisplaysRemoved({primary_display_});
|
||||
base::RunLoop().RunUntilIdle();
|
||||
}
|
||||
|
||||
@ -404,7 +404,7 @@ TEST_F(WiredDisplayMediaRouteProviderTest, ExitFullscreenOnDisplayRemoved) {
|
||||
base::RunLoop().RunUntilIdle();
|
||||
|
||||
EXPECT_CALL(*receiver_creator_.receiver(), ExitFullscreen());
|
||||
provider_->OnDisplayRemoved(secondary_display1_);
|
||||
provider_->OnDisplaysRemoved({secondary_display1_});
|
||||
}
|
||||
|
||||
} // namespace media_router
|
||||
|
@ -1259,8 +1259,8 @@ void ChromeBrowserMainExtraPartsMetrics::OnDisplayAdded(
|
||||
RecordDisplayHDRStatus(new_display);
|
||||
}
|
||||
|
||||
void ChromeBrowserMainExtraPartsMetrics::OnDisplayRemoved(
|
||||
const display::Display& old_display) {
|
||||
void ChromeBrowserMainExtraPartsMetrics::OnDisplaysRemoved(
|
||||
const display::Displays& removed_displays) {
|
||||
EmitDisplaysChangedMetric();
|
||||
}
|
||||
|
||||
|
@ -92,7 +92,7 @@ class ChromeBrowserMainExtraPartsMetrics : public ChromeBrowserMainExtraParts,
|
||||
private:
|
||||
// DisplayObserver overrides.
|
||||
void OnDisplayAdded(const display::Display& new_display) override;
|
||||
void OnDisplayRemoved(const display::Display& old_display) override;
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override;
|
||||
void OnDisplayMetricsChanged(const display::Display& display,
|
||||
uint32_t changed_metrics) override;
|
||||
|
||||
|
@ -327,7 +327,8 @@ void OutputProtectionImpl::OnDisplayMetricsChanged(
|
||||
HandleDisplayChange();
|
||||
}
|
||||
|
||||
void OutputProtectionImpl::OnDisplayRemoved(const display::Display& display) {
|
||||
void OutputProtectionImpl::OnDisplaysRemoved(
|
||||
const display::Displays& removed_displays) {
|
||||
HandleDisplayChange();
|
||||
}
|
||||
|
||||
|
@ -101,7 +101,7 @@ class COMPONENT_EXPORT(CDM_FACTORY_DAEMON) OutputProtectionImpl
|
||||
void OnDisplayAdded(const display::Display& display) override;
|
||||
void OnDisplayMetricsChanged(const display::Display& display,
|
||||
uint32_t changed_metrics) override;
|
||||
void OnDisplayRemoved(const display::Display& display) override;
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override;
|
||||
|
||||
// Helper methods to report output protection UMAs.
|
||||
void ReportOutputProtectionQuery();
|
||||
|
@ -542,7 +542,8 @@ void WaylandRemoteShell::OnDisplayAdded(const display::Display& new_display) {
|
||||
ScheduleSendDisplayMetrics(0);
|
||||
}
|
||||
|
||||
void WaylandRemoteShell::OnDisplayRemoved(const display::Display& old_display) {
|
||||
void WaylandRemoteShell::OnDisplaysRemoved(
|
||||
const display::Displays& removed_displays) {
|
||||
ScheduleSendDisplayMetrics(0);
|
||||
}
|
||||
|
||||
|
@ -94,7 +94,7 @@ class WaylandRemoteShell : public display::DisplayObserver,
|
||||
|
||||
// Overridden from display::DisplayObserver:
|
||||
void OnDisplayAdded(const display::Display& new_display) override;
|
||||
void OnDisplayRemoved(const display::Display& old_display) override;
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override;
|
||||
void OnDisplayTabletStateChanged(display::TabletState state) override;
|
||||
void OnDisplayMetricsChanged(const display::Display& display,
|
||||
uint32_t changed_metrics) override;
|
||||
|
@ -197,7 +197,7 @@ class REMOTE_COCOA_APP_SHIM_EXPORT NativeWidgetNSWindowBridge
|
||||
|
||||
// display::DisplayObserver:
|
||||
void OnDisplayAdded(const display::Display& new_display) override;
|
||||
void OnDisplayRemoved(const display::Display& old_display) override;
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override;
|
||||
void OnDisplayMetricsChanged(const display::Display& display,
|
||||
uint32_t metrics) override;
|
||||
|
||||
|
@ -1315,8 +1315,8 @@ void NativeWidgetNSWindowBridge::OnDisplayAdded(
|
||||
UpdateWindowDisplay();
|
||||
}
|
||||
|
||||
void NativeWidgetNSWindowBridge::OnDisplayRemoved(
|
||||
const display::Display& display) {
|
||||
void NativeWidgetNSWindowBridge::OnDisplaysRemoved(
|
||||
const display::Displays& removed_displays) {
|
||||
UpdateWindowDisplay();
|
||||
}
|
||||
|
||||
|
@ -101,7 +101,7 @@ class RenderWidgetHostNSViewBridge : public mojom::RenderWidgetHostNSView,
|
||||
|
||||
// display::DisplayObserver implementation.
|
||||
void OnDisplayAdded(const display::Display&) override;
|
||||
void OnDisplayRemoved(const display::Display&) override;
|
||||
void OnDisplaysRemoved(const display::Displays&) override;
|
||||
void OnDisplayMetricsChanged(const display::Display&, uint32_t) override;
|
||||
|
||||
void OnSharingServiceInvoked(ShowSharingServicePickerCallback callback,
|
||||
|
@ -240,7 +240,7 @@ void RenderWidgetHostNSViewBridge::OnDisplayAdded(const display::Display&) {
|
||||
[cocoa_view_ updateScreenProperties];
|
||||
}
|
||||
|
||||
void RenderWidgetHostNSViewBridge::OnDisplayRemoved(const display::Display&) {
|
||||
void RenderWidgetHostNSViewBridge::OnDisplaysRemoved(const display::Displays&) {
|
||||
[cocoa_view_ updateScreenProperties];
|
||||
}
|
||||
|
||||
|
@ -384,9 +384,10 @@ void GpuDataManagerImpl::OnDisplayAdded(const display::Display& new_display) {
|
||||
private_->OnDisplayAdded(new_display);
|
||||
}
|
||||
|
||||
void GpuDataManagerImpl::OnDisplayRemoved(const display::Display& old_display) {
|
||||
void GpuDataManagerImpl::OnDisplaysRemoved(
|
||||
const display::Displays& removed_displays) {
|
||||
base::AutoLock auto_lock(lock_);
|
||||
private_->OnDisplayRemoved(old_display);
|
||||
private_->OnDisplaysRemoved(removed_displays);
|
||||
}
|
||||
|
||||
void GpuDataManagerImpl::OnDisplayMetricsChanged(
|
||||
|
@ -215,7 +215,7 @@ class CONTENT_EXPORT GpuDataManagerImpl : public GpuDataManager,
|
||||
|
||||
// DisplayObserver overrides.
|
||||
void OnDisplayAdded(const display::Display& new_display) override;
|
||||
void OnDisplayRemoved(const display::Display& old_display) override;
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override;
|
||||
void OnDisplayMetricsChanged(const display::Display& display,
|
||||
uint32_t changed_metrics) override;
|
||||
|
||||
|
@ -1482,8 +1482,8 @@ void GpuDataManagerImplPrivate::OnDisplayAdded(
|
||||
}));
|
||||
}
|
||||
|
||||
void GpuDataManagerImplPrivate::OnDisplayRemoved(
|
||||
const display::Display& old_display) {
|
||||
void GpuDataManagerImplPrivate::OnDisplaysRemoved(
|
||||
const display::Displays& removed_displays) {
|
||||
base::AutoUnlock unlock(owner_->lock_);
|
||||
|
||||
// Notify observers in the browser process.
|
||||
|
@ -146,7 +146,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate {
|
||||
void SetApplicationVisible(bool is_visible);
|
||||
|
||||
void OnDisplayAdded(const display::Display& new_display);
|
||||
void OnDisplayRemoved(const display::Display& old_display);
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays);
|
||||
void OnDisplayMetricsChanged(const display::Display& display,
|
||||
uint32_t changed_metrics);
|
||||
|
||||
|
@ -231,8 +231,8 @@ void DisplayInfoProvider::OnDisplayAdded(const display::Display& new_display) {
|
||||
DispatchOnDisplayChangedEvent();
|
||||
}
|
||||
|
||||
void DisplayInfoProvider::OnDisplayRemoved(
|
||||
const display::Display& old_display) {
|
||||
void DisplayInfoProvider::OnDisplaysRemoved(
|
||||
const display::Displays& removed_displays) {
|
||||
DispatchOnDisplayChangedEvent();
|
||||
}
|
||||
|
||||
|
@ -135,7 +135,7 @@ class DisplayInfoProvider : public display::DisplayObserver {
|
||||
|
||||
// DisplayObserver
|
||||
void OnDisplayAdded(const display::Display& new_display) override;
|
||||
void OnDisplayRemoved(const display::Display& old_display) override;
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override;
|
||||
void OnDisplayMetricsChanged(const display::Display& display,
|
||||
uint32_t metrics) override;
|
||||
|
||||
|
@ -35,9 +35,6 @@ void DisplayChangeNotifier::NotifyDisplaysChanged(
|
||||
++old_it) {
|
||||
if (!base::Contains(new_displays, old_it->id(), &Display::id)) {
|
||||
removed_displays.push_back(*old_it);
|
||||
for (DisplayObserver& observer : observer_list_) {
|
||||
observer.OnDisplayRemoved(*old_it);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -27,7 +27,9 @@ class MockDisplayObserver : public DisplayObserver {
|
||||
|
||||
void OnDisplayAdded(const Display& display) override { display_added_++; }
|
||||
|
||||
void OnDisplayRemoved(const Display& display) override { display_removed_++; }
|
||||
void OnDisplaysRemoved(const Displays& removed_displays) override {
|
||||
display_removed_ += removed_displays.size();
|
||||
}
|
||||
|
||||
void OnDisplayMetricsChanged(const Display& display,
|
||||
uint32_t metrics) override {
|
||||
|
@ -133,7 +133,6 @@ void DisplayList::RemoveDisplay(int64_t id) {
|
||||
const Display display = *iter;
|
||||
displays_.erase(iter);
|
||||
for (DisplayObserver& observer : observers_) {
|
||||
observer.OnDisplayRemoved(display);
|
||||
observer.OnDisplaysRemoved({display});
|
||||
}
|
||||
DCHECK(IsValid());
|
||||
|
@ -52,8 +52,10 @@ class DisplayObserverImpl : public DisplayObserver {
|
||||
void OnDisplayAdded(const Display& new_display) override {
|
||||
AddChange("Added id=" + base::NumberToString(new_display.id()));
|
||||
}
|
||||
void OnDisplayRemoved(const Display& old_display) override {
|
||||
AddChange("Removed id=" + base::NumberToString(old_display.id()));
|
||||
void OnDisplaysRemoved(const Displays& removed_displays) override {
|
||||
for (const auto& display : removed_displays) {
|
||||
AddChange("Removed id=" + base::NumberToString(display.id()));
|
||||
}
|
||||
}
|
||||
void OnDisplayMetricsChanged(const Display& display,
|
||||
uint32_t changed_metrics) override {
|
||||
|
@ -44,11 +44,6 @@ class DISPLAY_EXPORT DisplayObserver : public base::CheckedObserver {
|
||||
// Called before displays have been removed.
|
||||
virtual void OnWillRemoveDisplays(const Displays& removed_displays) {}
|
||||
|
||||
// [Deprecated] Use `OnDisplaysRemoved` instead.
|
||||
// Called when |old_display| has been removed.
|
||||
// TODO(crbug.com/329003664): Remove this method.
|
||||
virtual void OnDisplayRemoved(const Display& old_display) {}
|
||||
|
||||
// Called *after* `removed_displays` have been removed. Not called per
|
||||
// display.
|
||||
virtual void OnDisplaysRemoved(const Displays& removed_displays) {}
|
||||
|
@ -87,7 +87,7 @@ class VirtualDisplayUtilMac : public VirtualDisplayUtil,
|
||||
void OnDisplayMetricsChanged(const display::Display& display,
|
||||
uint32_t changed_metrics) override;
|
||||
void OnDisplayAdded(const display::Display& new_display) override;
|
||||
void OnDisplayRemoved(const display::Display& old_display) override;
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override;
|
||||
|
||||
void OnDisplayAddedOrRemoved(int64_t id);
|
||||
|
||||
|
@ -241,7 +241,7 @@ class DisplayMetricsChangeObserver : public display::DisplayObserver {
|
||||
run_loop_.Quit();
|
||||
}
|
||||
void OnDisplayAdded(const display::Display& new_display) override {}
|
||||
void OnDisplayRemoved(const display::Display& old_display) override {}
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override {}
|
||||
|
||||
const int64_t display_id_;
|
||||
const gfx::Size size_;
|
||||
@ -548,14 +548,15 @@ void VirtualDisplayUtilMac::OnDisplayAdded(
|
||||
OnDisplayAddedOrRemoved(new_display.id());
|
||||
}
|
||||
|
||||
void VirtualDisplayUtilMac::OnDisplayRemoved(
|
||||
const display::Display& old_display) {
|
||||
// TODO(crbug.com/40148077): Please remove this log or replace it with
|
||||
// [D]CHECK() ASAP when the TEST is stable.
|
||||
LOG(INFO) << "VirtualDisplayUtilMac::" << __func__
|
||||
<< " - display id: " << old_display.id() << ".";
|
||||
|
||||
OnDisplayAddedOrRemoved(old_display.id());
|
||||
void VirtualDisplayUtilMac::OnDisplaysRemoved(
|
||||
const display::Displays& removed_displays) {
|
||||
for (const auto& display : removed_displays) {
|
||||
// TODO(crbug.com/40148077): Please remove this log or replace it with
|
||||
// [D]CHECK() ASAP when the TEST is stable.
|
||||
LOG(INFO) << "VirtualDisplayUtilMac::" << __func__
|
||||
<< " - display id: " << display.id() << ".";
|
||||
OnDisplayAddedOrRemoved(display.id());
|
||||
}
|
||||
}
|
||||
|
||||
void VirtualDisplayUtilMac::OnDisplayAddedOrRemoved(int64_t id) {
|
||||
|
@ -1347,24 +1347,15 @@ void DisplayManager::UpdateDisplaysWith(
|
||||
}
|
||||
}
|
||||
|
||||
for (const auto& display : removed_displays) {
|
||||
NotifyDisplayRemoved(display);
|
||||
}
|
||||
|
||||
for (size_t index : added_display_indices) {
|
||||
NotifyDisplayAdded(active_display_list_[index]);
|
||||
if (!removed_displays.empty()) {
|
||||
NotifyDisplaysRemoved(removed_displays);
|
||||
}
|
||||
|
||||
active_display_list_.resize(active_display_list_size);
|
||||
is_updating_display_list_ = false;
|
||||
|
||||
// OnDidRemoveDisplays is called after the displays have been removed,
|
||||
// in comparison to NotifyDisplayRemoved/OnDisplayRemoved which on Ash
|
||||
// is called before.
|
||||
if (!removed_displays.empty()) {
|
||||
for (auto& display_observer : display_observers_) {
|
||||
display_observer.OnDisplaysRemoved(removed_displays);
|
||||
}
|
||||
for (size_t index : added_display_indices) {
|
||||
NotifyDisplayAdded(active_display_list_[index]);
|
||||
}
|
||||
|
||||
UpdatePrimaryDisplayIdIfNecessary();
|
||||
@ -2605,9 +2596,9 @@ void DisplayManager::NotifyWillRemoveDisplays(const Displays& displays) {
|
||||
}
|
||||
}
|
||||
|
||||
void DisplayManager::NotifyDisplayRemoved(const Display& display) {
|
||||
void DisplayManager::NotifyDisplaysRemoved(const Displays& displays) {
|
||||
for (auto& display_observer : display_observers_) {
|
||||
display_observer.OnDisplayRemoved(display);
|
||||
display_observer.OnDisplaysRemoved(displays);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -503,7 +503,7 @@ class DISPLAY_MANAGER_EXPORT DisplayManager
|
||||
void NotifyMetricsChanged(const Display& display, uint32_t metrics);
|
||||
void NotifyDisplayAdded(const Display& display);
|
||||
void NotifyWillRemoveDisplays(const Displays& display);
|
||||
void NotifyDisplayRemoved(const Display& display);
|
||||
void NotifyDisplaysRemoved(const Displays& displays);
|
||||
void NotifyWillProcessDisplayChanges();
|
||||
void NotifyDidProcessDisplayChanges(
|
||||
const DisplayManagerObserver::DisplayConfigurationChange& config_change);
|
||||
|
@ -150,13 +150,15 @@ void VirtualDisplayUtilWin::OnDisplayAdded(
|
||||
OnDisplayAddedOrRemoved(new_display.id());
|
||||
}
|
||||
|
||||
void VirtualDisplayUtilWin::OnDisplayRemoved(
|
||||
const display::Display& old_display) {
|
||||
base::EraseIf(virtual_displays_,
|
||||
[&old_display](const std::pair<unsigned short, int64_t>& obj) {
|
||||
return obj.second == old_display.id();
|
||||
});
|
||||
OnDisplayAddedOrRemoved(old_display.id());
|
||||
void VirtualDisplayUtilWin::OnDisplaysRemoved(
|
||||
const display::Displays& removed_displays) {
|
||||
for (const auto& display : removed_displays) {
|
||||
base::EraseIf(virtual_displays_,
|
||||
[&display](const std::pair<unsigned short, int64_t>& obj) {
|
||||
return obj.second == display.id();
|
||||
});
|
||||
OnDisplayAddedOrRemoved(display.id());
|
||||
}
|
||||
}
|
||||
|
||||
bool VirtualDisplayUtilWin::SetDriverProperties(DriverProperties properties) {
|
||||
|
@ -43,7 +43,7 @@ class VirtualDisplayUtilWin : public display::DisplayObserver,
|
||||
private:
|
||||
// display::DisplayObserver:
|
||||
void OnDisplayAdded(const display::Display& new_display) override;
|
||||
void OnDisplayRemoved(const display::Display& old_display) override;
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override;
|
||||
|
||||
bool SetDriverProperties(DriverProperties properties);
|
||||
void OnDisplayAddedOrRemoved(int64_t id);
|
||||
|
@ -115,9 +115,9 @@ void DesktopMessagePopupCollection::OnDisplayAdded(
|
||||
UpdatePrimaryDisplay();
|
||||
}
|
||||
|
||||
void DesktopMessagePopupCollection::OnDisplayRemoved(
|
||||
const display::Display& removed_display) {
|
||||
// The removed display may have been the primary display.
|
||||
void DesktopMessagePopupCollection::OnDisplaysRemoved(
|
||||
const display::Displays& removed_displays) {
|
||||
// One of the removed displays may have been the primary display.
|
||||
UpdatePrimaryDisplay();
|
||||
}
|
||||
|
||||
|
@ -67,7 +67,7 @@ class MESSAGE_CENTER_EXPORT DesktopMessagePopupCollection
|
||||
|
||||
// Overridden from display::DisplayObserver:
|
||||
void OnDisplayAdded(const display::Display& new_display) override;
|
||||
void OnDisplayRemoved(const display::Display& old_display) override;
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override;
|
||||
void OnDisplayMetricsChanged(const display::Display& display,
|
||||
uint32_t metrics) override;
|
||||
|
||||
|
@ -70,11 +70,8 @@ class TestDisplayObserver : public display::DisplayObserver {
|
||||
display_ = new_display;
|
||||
}
|
||||
|
||||
void OnDisplayRemoved(const display::Display& old_display) override {
|
||||
removed_display_ = old_display;
|
||||
}
|
||||
|
||||
void OnDisplaysRemoved(const display::Displays& removed_displays) override {
|
||||
removed_display_ = removed_displays.back();
|
||||
if (displays_removed_closure_) {
|
||||
displays_removed_closure_.Run();
|
||||
}
|
||||
|
@ -46,7 +46,8 @@ struct MockDisplayObserver : public display::DisplayObserver {
|
||||
~MockDisplayObserver() override = default;
|
||||
|
||||
MOCK_METHOD1(OnDisplayAdded, void(const display::Display& new_display));
|
||||
MOCK_METHOD1(OnDisplayRemoved, void(const display::Display& old_display));
|
||||
MOCK_METHOD1(OnDisplaysRemoved,
|
||||
void(const display::Displays& removed_displays));
|
||||
MOCK_METHOD2(OnDisplayMetricsChanged,
|
||||
void(const display::Display& display, uint32_t changed_metrics));
|
||||
};
|
||||
@ -132,7 +133,7 @@ TEST_F(X11ScreenOzoneTest, AddRemoveListDisplays) {
|
||||
// Initially only primary display is expected to be in place
|
||||
EXPECT_EQ(1u, screen()->GetAllDisplays().size());
|
||||
EXPECT_CALL(display_observer_, OnDisplayAdded(_)).Times(2);
|
||||
EXPECT_CALL(display_observer_, OnDisplayRemoved(_)).Times(2);
|
||||
EXPECT_CALL(display_observer_, OnDisplaysRemoved(_)).Times(2);
|
||||
|
||||
auto display_2 = CreateDisplay(gfx::Rect(800, 0, 1280, 720));
|
||||
AddDisplayForTest(*display_2);
|
||||
@ -230,7 +231,7 @@ TEST_F(X11ScreenOzoneTest, GetDisplayMatchingMultiple) {
|
||||
TEST_F(X11ScreenOzoneTest, BoundsChangeSingleMonitor) {
|
||||
EXPECT_CALL(display_observer_, OnDisplayMetricsChanged(_, _)).Times(1);
|
||||
EXPECT_CALL(display_observer_, OnDisplayAdded(_)).Times(0);
|
||||
EXPECT_CALL(display_observer_, OnDisplayRemoved(_)).Times(0);
|
||||
EXPECT_CALL(display_observer_, OnDisplaysRemoved(_)).Times(0);
|
||||
|
||||
std::vector<display::Display> displays;
|
||||
displays.emplace_back(primary_display().id(), gfx::Rect(0, 0, 1024, 768));
|
||||
@ -240,7 +241,7 @@ TEST_F(X11ScreenOzoneTest, BoundsChangeSingleMonitor) {
|
||||
TEST_F(X11ScreenOzoneTest, AddMonitorToTheRight) {
|
||||
EXPECT_CALL(display_observer_, OnDisplayMetricsChanged(_, _)).Times(0);
|
||||
EXPECT_CALL(display_observer_, OnDisplayAdded(_)).Times(1);
|
||||
EXPECT_CALL(display_observer_, OnDisplayRemoved(_)).Times(0);
|
||||
EXPECT_CALL(display_observer_, OnDisplaysRemoved(_)).Times(0);
|
||||
|
||||
std::vector<display::Display> displays;
|
||||
displays.emplace_back(primary_display().id(), kPrimaryDisplayBounds);
|
||||
@ -251,7 +252,7 @@ TEST_F(X11ScreenOzoneTest, AddMonitorToTheRight) {
|
||||
TEST_F(X11ScreenOzoneTest, AddMonitorToTheLeft) {
|
||||
EXPECT_CALL(display_observer_, OnDisplayMetricsChanged(_, _)).Times(1);
|
||||
EXPECT_CALL(display_observer_, OnDisplayAdded(_)).Times(1);
|
||||
EXPECT_CALL(display_observer_, OnDisplayRemoved(_)).Times(0);
|
||||
EXPECT_CALL(display_observer_, OnDisplaysRemoved(_)).Times(0);
|
||||
|
||||
std::vector<display::Display> displays;
|
||||
displays.emplace_back(primary_display().id(), gfx::Rect(0, 0, 1024, 768));
|
||||
@ -267,7 +268,7 @@ TEST_F(X11ScreenOzoneTest, RemoveMonitorOnRight) {
|
||||
|
||||
EXPECT_CALL(display_observer_, OnDisplayMetricsChanged(_, _)).Times(0);
|
||||
EXPECT_CALL(display_observer_, OnDisplayAdded(_)).Times(0);
|
||||
EXPECT_CALL(display_observer_, OnDisplayRemoved(_)).Times(1);
|
||||
EXPECT_CALL(display_observer_, OnDisplaysRemoved(_)).Times(1);
|
||||
|
||||
displays.clear();
|
||||
displays.emplace_back(primary_display().id(), kPrimaryDisplayBounds);
|
||||
@ -282,7 +283,7 @@ TEST_F(X11ScreenOzoneTest, RemoveMonitorOnLeft) {
|
||||
|
||||
EXPECT_CALL(display_observer_, OnDisplayMetricsChanged(_, _)).Times(1);
|
||||
EXPECT_CALL(display_observer_, OnDisplayAdded(_)).Times(0);
|
||||
EXPECT_CALL(display_observer_, OnDisplayRemoved(_)).Times(1);
|
||||
EXPECT_CALL(display_observer_, OnDisplaysRemoved(_)).Times(1);
|
||||
|
||||
displays.clear();
|
||||
displays.emplace_back(kSecondDisplay, gfx::Rect(0, 0, 1024, 768));
|
||||
@ -377,7 +378,7 @@ TEST_F(X11ScreenOzoneTest, RotationChange) {
|
||||
|
||||
EXPECT_CALL(display_observer_, OnDisplayMetricsChanged(_, _)).Times(5);
|
||||
EXPECT_CALL(display_observer_, OnDisplayAdded(_)).Times(0);
|
||||
EXPECT_CALL(display_observer_, OnDisplayRemoved(_)).Times(0);
|
||||
EXPECT_CALL(display_observer_, OnDisplaysRemoved(_)).Times(0);
|
||||
|
||||
displays[0].set_rotation(display::Display::ROTATE_90);
|
||||
UpdateDisplayListForTest(displays);
|
||||
@ -405,7 +406,7 @@ TEST_F(X11ScreenOzoneTest, WorkareaChange) {
|
||||
|
||||
EXPECT_CALL(display_observer_, OnDisplayMetricsChanged(_, _)).Times(4);
|
||||
EXPECT_CALL(display_observer_, OnDisplayAdded(_)).Times(0);
|
||||
EXPECT_CALL(display_observer_, OnDisplayRemoved(_)).Times(0);
|
||||
EXPECT_CALL(display_observer_, OnDisplaysRemoved(_)).Times(0);
|
||||
|
||||
displays[0].set_work_area(gfx::Rect(0, 0, 300, 300));
|
||||
UpdateDisplayListForTest(displays);
|
||||
@ -433,7 +434,7 @@ TEST_F(X11ScreenOzoneTest, DeviceScaleFactorChange) {
|
||||
|
||||
EXPECT_CALL(display_observer_, OnDisplayMetricsChanged(_, _)).Times(4);
|
||||
EXPECT_CALL(display_observer_, OnDisplayAdded(_)).Times(0);
|
||||
EXPECT_CALL(display_observer_, OnDisplayRemoved(_)).Times(0);
|
||||
EXPECT_CALL(display_observer_, OnDisplaysRemoved(_)).Times(0);
|
||||
|
||||
displays[0].set_device_scale_factor(2.5f);
|
||||
UpdateDisplayListForTest(displays);
|
||||
|
Reference in New Issue
Block a user