Index: chrome/browser/browser_about_handler.cc |
diff --git a/chrome/browser/browser_about_handler.cc b/chrome/browser/browser_about_handler.cc |
index 8b6f8ae282fa711d6e979b858917db4ce24b157c..731aeb05bb5cbbd4f60d144cc17b0ed84089e212 100644 |
--- a/chrome/browser/browser_about_handler.cc |
+++ b/chrome/browser/browser_about_handler.cc |
@@ -47,6 +47,7 @@ |
#include "content/browser/gpu/gpu_process_host.h" |
#include "content/browser/renderer_host/render_process_host.h" |
#include "content/browser/renderer_host/render_view_host.h" |
+#include "content/browser/sensors/provider.h" |
#include "content/common/gpu/gpu_messages.h" |
#include "crypto/nss_util.h" |
#include "googleurl/src/gurl.h" |
@@ -1496,6 +1497,23 @@ bool WillHandleBrowserAboutURL(GURL* url, Profile* profile) { |
} else if (host == chrome::kChromeUIGpuHangHost) { |
GpuProcessHost::SendOnIO( |
0, content::CAUSE_FOR_GPU_LAUNCH_ABOUT_GPUHANG, new GpuMsg_Hang()); |
+#if defined(OS_CHROMEOS) |
+ } else if (host == chrome::kChromeUIRotateHost) { |
+ sensors::ScreenOrientation change; |
+ std::string query(url->query()); |
+ if (query == "left") { |
+ change.upward = sensors::ScreenOrientation::LEFT; |
+ } else if (query == "right") { |
+ change.upward = sensors::ScreenOrientation::RIGHT; |
+ } else if (query == "top") { |
+ change.upward = sensors::ScreenOrientation::TOP; |
+ } else if (query == "bottom") { |
+ change.upward = sensors::ScreenOrientation::BOTTOM; |
+ } |
+ sensors::Provider::GetInstance()->ScreenOrientationChanged(change); |
+ host = chrome::kChromeUIBlankHost; |
+ *url = GURL(chrome::kChromeUIBlankHost); |
+#endif |
} |
// Initialize any potentially corresponding AboutSource handler. |