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

Unified Diff: chrome/browser/ui/views/app_list/win/app_list_win.cc

Issue 2143893002: Purge the App Launcher code from Windows. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comment Created 4 years, 5 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: chrome/browser/ui/views/app_list/win/app_list_win.cc
diff --git a/chrome/browser/ui/views/app_list/win/app_list_win.cc b/chrome/browser/ui/views/app_list/win/app_list_win.cc
deleted file mode 100644
index 4b08c48847ac329aaefbb987f6b7fbd5b34dee5c..0000000000000000000000000000000000000000
--- a/chrome/browser/ui/views/app_list/win/app_list_win.cc
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/ui/views/app_list/win/app_list_win.h"
-
-#include "chrome/browser/ui/app_list/app_list_positioner.h"
-#include "ui/app_list/app_list_switches.h"
-#include "ui/app_list/views/app_list_view.h"
-#include "ui/display/screen.h"
-#include "ui/views/widget/widget.h"
-
-namespace {
-
-static const wchar_t kTrayClassName[] = L"Shell_TrayWnd";
-
-// If the mouse cursor is less than this distance, in pixels, away from the
-// taskbar, it is considered to be in the taskbar for the purpose of anchoring.
-static const int kSnapDistance = 50;
-
-// The minimum distance, in pixels, to position the app list from the taskbar or
-// edge of screen.
-static const int kMinDistanceFromEdge = 3;
-
-// Utility methods for showing the app list.
-// Attempts to find the bounds of the Windows taskbar. Returns true on success.
-// |rect| is in screen coordinates. If the taskbar is in autohide mode and is
-// not visible, |rect| will be outside the current monitor's bounds, except for
-// one pixel of overlap where the edge of the taskbar is shown.
-bool GetTaskbarRect(gfx::Rect* rect) {
- HWND taskbar_hwnd = FindWindow(kTrayClassName, NULL);
- if (!taskbar_hwnd)
- return false;
-
- RECT win_rect;
- if (!GetWindowRect(taskbar_hwnd, &win_rect))
- return false;
-
- *rect = gfx::Rect(win_rect);
- return true;
-}
-
-} // namespace
-
-// static
-gfx::Point AppListWin::FindAnchorPoint(const gfx::Size& view_size,
- const display::Display& display,
- const gfx::Point& cursor,
- const gfx::Rect& taskbar_rect,
- bool center_window) {
- AppListPositioner positioner(display, view_size, kMinDistanceFromEdge);
-
- // Subtract the taskbar area since the display's default work_area will not
- // subtract it if the taskbar is set to auto-hide, and the app list should
- // never overlap the taskbar.
- positioner.WorkAreaSubtract(taskbar_rect);
-
- // Special case for app list in the center of the screen.
- if (center_window)
- return positioner.GetAnchorPointForScreenCenter();
-
- // Find which edge of the screen the taskbar is attached to.
- AppListPositioner::ScreenEdge edge = positioner.GetShelfEdge(taskbar_rect);
-
- // Snap to the taskbar edge. If the cursor is greater than kSnapDistance away,
- // anchor to the corner. Otherwise, anchor to the cursor position.
- gfx::Point anchor;
- if (edge == AppListPositioner::SCREEN_EDGE_UNKNOWN) {
- // If we can't find the taskbar, snap to the bottom left.
- return positioner.GetAnchorPointForScreenCorner(
- AppListPositioner::SCREEN_CORNER_BOTTOM_LEFT);
- }
-
- if (positioner.GetCursorDistanceFromShelf(edge, cursor) > kSnapDistance)
- return positioner.GetAnchorPointForShelfCorner(edge);
-
- return positioner.GetAnchorPointForShelfCursor(edge, cursor);
-}
-
-// static
-void AppListWin::MoveNearCursor(app_list::AppListView* view) {
- display::Screen* screen = display::Screen::GetScreen();
- gfx::Point cursor = screen->GetCursorScreenPoint();
- display::Display display = screen->GetDisplayNearestPoint(cursor);
-
- view->SetBubbleArrow(views::BubbleBorder::FLOAT);
- gfx::Rect taskbar_rect;
- GetTaskbarRect(&taskbar_rect);
- view->SetAnchorPoint(FindAnchorPoint(view->GetPreferredSize(),
- display,
- cursor,
- taskbar_rect,
- view->ShouldCenterWindow()));
-}

Powered by Google App Engine
This is Rietveld 408576698