Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(756)

Unified Diff: ui/display/manager/display_layout_store.cc

Issue 2814843007: Fix expected PlacementList sort order. (Closed)
Patch Set: Don't register invalid layouts Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/display/manager/display_layout_store.cc
diff --git a/ui/display/manager/display_layout_store.cc b/ui/display/manager/display_layout_store.cc
index f064251944c5143311a9d33721b2272248061d40..7e94b343fee0a9e19f1ab5ab7ca9ec098f62cb45 100644
--- a/ui/display/manager/display_layout_store.cc
+++ b/ui/display/manager/display_layout_store.cc
@@ -72,9 +72,17 @@ void DisplayLayoutStore::RegisterLayoutForDisplayIdList(
layout->placement_list[0].parent_display_id = list[0];
}
}
- DCHECK(DisplayLayout::Validate(list, *layout.get()))
- << "ids=" << DisplayIdListToString(list)
- << ", layout=" << layout->ToString();
+
+ if (!DisplayLayout::Validate(list, *layout.get())) {
+ NOTREACHED() << "Attempting to register an invalid layout: ids="
+ << DisplayIdListToString(list)
+ << ", layout=" << layout->ToString();
+ // We never allow to register an invalid layout, instead, we revert back to
+ // a default layout.
+ CreateDefaultDisplayLayout(list);
+ return;
+ }
+
layouts_[list] = std::move(layout);
}

Powered by Google App Engine
This is Rietveld 408576698