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

Unified Diff: chrome/browser/ui/gtk/extensions/shell_window_gtk.cc

Issue 11028125: Remove legacy draggable region code and refactor to share common draggable region code (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix Created 8 years, 2 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/gtk/extensions/shell_window_gtk.cc
diff --git a/chrome/browser/ui/gtk/extensions/shell_window_gtk.cc b/chrome/browser/ui/gtk/extensions/shell_window_gtk.cc
index 268ae302e737a6bffb2edd14fb46558aeabf4e0a..049ef81e2bc839ab0d6d74bca03c565da03cb088 100644
--- a/chrome/browser/ui/gtk/extensions/shell_window_gtk.cc
+++ b/chrome/browser/ui/gtk/extensions/shell_window_gtk.cc
@@ -10,7 +10,6 @@
#include "chrome/browser/ui/gtk/gtk_util.h"
#include "chrome/browser/ui/gtk/gtk_window_util.h"
#include "chrome/browser/web_applications/web_app.h"
-#include "chrome/common/extensions/draggable_region.h"
#include "chrome/common/extensions/extension.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/render_widget_host_view.h"
@@ -31,6 +30,7 @@ const int kDebounceTimeoutMilliseconds = 100;
ShellWindowGtk::ShellWindowGtk(ShellWindow* shell_window,
const ShellWindow::CreateParams& params)
: shell_window_(shell_window),
+ window_(NULL),
state_(GDK_WINDOW_STATE_WITHDRAWN),
is_active_(!ui::ActiveWindowWatcherX::WMSupportsActivation()),
content_thinks_its_fullscreen_(false),
@@ -287,8 +287,8 @@ gboolean ShellWindowGtk::OnWindowState(GtkWidget* sender,
gboolean ShellWindowGtk::OnButtonPress(GtkWidget* widget,
GdkEventButton* event) {
- if (!draggable_region_.isEmpty() &&
- draggable_region_.contains(event->x, event->y)) {
+ if (!draggable_region_->isEmpty() &&
+ draggable_region_->contains(event->x, event->y)) {
if (event->button == 1) {
if (GDK_BUTTON_PRESS == event->type) {
if (!suppress_window_raise_)
@@ -353,51 +353,7 @@ void ShellWindowGtk::UpdateDraggableRegions(
if (!frameless_)
return;
- SkRegion draggable_region;
-
- // By default, the whole window is non-draggable. We need to explicitly
- // include those draggable regions.
- for (std::vector<extensions::DraggableRegion>::const_iterator iter =
- regions.begin();
- iter != regions.end(); ++iter) {
- const extensions::DraggableRegion& region = *iter;
- draggable_region.op(
- region.bounds.x(),
- region.bounds.y(),
- region.bounds.right(),
- region.bounds.bottom(),
- region.draggable ? SkRegion::kUnion_Op : SkRegion::kDifference_Op);
- }
-
- draggable_region_ = draggable_region;
-}
-
-void ShellWindowGtk::UpdateLegacyDraggableRegions(
- const std::vector<extensions::DraggableRegion>& regions) {
- // Draggable region is not supported for non-frameless window.
- if (!frameless_)
- return;
-
- SkRegion draggable_region;
-
- // By default, the whole window is draggable.
- gfx::Rect bounds = GetBounds();
- draggable_region.op(0, 0, bounds.right(), bounds.bottom(),
- SkRegion::kUnion_Op);
-
- // Exclude those designated as non-draggable.
- for (std::vector<extensions::DraggableRegion>::const_iterator iter =
- regions.begin();
- iter != regions.end(); ++iter) {
- const extensions::DraggableRegion& region = *iter;
- draggable_region.op(region.bounds.x(),
- region.bounds.y(),
- region.bounds.right(),
- region.bounds.bottom(),
- SkRegion::kDifference_Op);
- }
-
- draggable_region_ = draggable_region;
+ draggable_region_.reset(ShellWindow::RawDraggableRegionsToSkRegion(regions));
}
// static
« no previous file with comments | « chrome/browser/ui/gtk/extensions/shell_window_gtk.h ('k') | chrome/browser/ui/views/extensions/shell_window_views.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698