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

Unified Diff: ash/display/multi_display_manager.cc

Issue 10905242: add ash_resources.grd and necessary changes to use images in ash/resources (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: presubmit.py Created 8 years, 3 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: ash/display/multi_display_manager.cc
diff --git a/ash/display/multi_display_manager.cc b/ash/display/multi_display_manager.cc
index 37509be0e82e2522f11a472ae805ca36da0b220d..71b4fe4baa2506ddef71191385cac20995f1187a 100644
--- a/ash/display/multi_display_manager.cc
+++ b/ash/display/multi_display_manager.cc
@@ -78,10 +78,14 @@ void MultiDisplayManager::InitInternalDisplayInfo() {
return;
std::vector<XID> outputs;
ui::GetOutputDeviceHandles(&outputs);
- std::vector<std::string> output_names = ui::GetOutputNames(outputs);
- for (size_t i = 0; i < output_names.size(); ++i) {
+ // Output names are hardware specific and never changes.
+ output_names_ = ui::GetOutputNames(outputs);
+ for (size_t i = 0; i < output_names_.size(); ++i) {
if (chromeos::OutputConfigurator::IsInternalOutputName(
- output_names[i])) {
+ output_names_[i])) {
+ // Set internal as primary by default. This may be
+ // overritten by settings later.
+ primary_output_name_ = output_names_[i];
XID internal_output = outputs[i];
uint16 manufacturer_id = 0;
uint32 serial_number = 0;
@@ -95,6 +99,13 @@ void MultiDisplayManager::InitInternalDisplayInfo() {
#endif
}
+void MultiDisplayManager::SetOutputNameForPrimaryDisplay(
+ const std::string& name) {
+ primary_output_name_ = name;
+ std::vector<gfx::Display> update = displays_;
+ OnNativeDisplaysChanged(displays_);
+}
+
bool MultiDisplayManager::HasInternalDisplay() const {
return internal_display_id_ != gfx::Display::kInvalidDisplayID;
}
@@ -156,6 +167,8 @@ void MultiDisplayManager::OnNativeDisplaysChanged(
} else {
new_displays = updated_displays;
}
+ // Move the primary display to the first if any.
+ MovePrimaryToFirst();
size_t min = std::min(displays_.size(), new_displays.size());

Powered by Google App Engine
This is Rietveld 408576698