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

Side by Side Diff: content/browser/web_contents/web_contents_view_gtk.cc

Issue 21777003: DevTools: [Android] implement RenderWidgetHostViewAndroid::CopyFromCompositingSurface (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix clang bots. Created 7 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/web_contents/web_contents_view_gtk.h" 5 #include "content/browser/web_contents/web_contents_view_gtk.h"
6 6
7 #include <gdk/gdk.h> 7 #include <gdk/gdk.h>
8 #include <gdk/gdkkeysyms.h> 8 #include <gdk/gdkkeysyms.h>
9 #include <gtk/gtk.h> 9 #include <gtk/gtk.h>
10 10
(...skipping 10 matching lines...) Expand all
21 #include "content/browser/web_contents/web_drag_dest_gtk.h" 21 #include "content/browser/web_contents/web_drag_dest_gtk.h"
22 #include "content/browser/web_contents/web_drag_source_gtk.h" 22 #include "content/browser/web_contents/web_drag_source_gtk.h"
23 #include "content/public/browser/web_contents_delegate.h" 23 #include "content/public/browser/web_contents_delegate.h"
24 #include "content/public/browser/web_contents_view_delegate.h" 24 #include "content/public/browser/web_contents_view_delegate.h"
25 #include "content/public/common/drop_data.h" 25 #include "content/public/common/drop_data.h"
26 #include "ui/base/gtk/gtk_expanded_container.h" 26 #include "ui/base/gtk/gtk_expanded_container.h"
27 #include "ui/gfx/image/image_skia.h" 27 #include "ui/gfx/image/image_skia.h"
28 #include "ui/gfx/point.h" 28 #include "ui/gfx/point.h"
29 #include "ui/gfx/rect.h" 29 #include "ui/gfx/rect.h"
30 #include "ui/gfx/size.h" 30 #include "ui/gfx/size.h"
31 #include "ui/snapshot/snapshot.h"
31 32
32 using WebKit::WebDragOperation; 33 using WebKit::WebDragOperation;
33 using WebKit::WebDragOperationsMask; 34 using WebKit::WebDragOperationsMask;
34 35
35 namespace content { 36 namespace content {
36 namespace { 37 namespace {
37 38
38 // Called when the mouse leaves the widget. We notify our delegate. 39 // Called when the mouse leaves the widget. We notify our delegate.
39 gboolean OnLeaveNotify(GtkWidget* widget, GdkEventCrossing* event, 40 gboolean OnLeaveNotify(GtkWidget* widget, GdkEventCrossing* event,
40 WebContentsImpl* web_contents) { 41 WebContentsImpl* web_contents) {
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
294 void WebContentsViewGtk::TakeFocus(bool reverse) { 295 void WebContentsViewGtk::TakeFocus(bool reverse) {
295 if (!web_contents_->GetDelegate()) 296 if (!web_contents_->GetDelegate())
296 return; 297 return;
297 if (!web_contents_->GetDelegate()->TakeFocus(web_contents_, reverse) && 298 if (!web_contents_->GetDelegate()->TakeFocus(web_contents_, reverse) &&
298 GetTopLevelNativeWindow()) { 299 GetTopLevelNativeWindow()) {
299 gtk_widget_child_focus(GTK_WIDGET(GetTopLevelNativeWindow()), 300 gtk_widget_child_focus(GTK_WIDGET(GetTopLevelNativeWindow()),
300 reverse ? GTK_DIR_TAB_BACKWARD : GTK_DIR_TAB_FORWARD); 301 reverse ? GTK_DIR_TAB_BACKWARD : GTK_DIR_TAB_FORWARD);
301 } 302 }
302 } 303 }
303 304
305 bool WebContentsViewGtk::GrabSnapshot(const std::string& format,
306 int quality,
307 double scale,
308 std::vector<uint8>* data) {
309 if (format != "png" || scale != 1) {
310 LOG(ERROR) << "Can only capture non-scaled PNG snapshots.";
311 return false;
312 }
313 return ui::GrabViewSnapshot(GetNativeView(), data, GetViewBounds());
314 }
315
304 void WebContentsViewGtk::InsertIntoContentArea(GtkWidget* widget) { 316 void WebContentsViewGtk::InsertIntoContentArea(GtkWidget* widget) {
305 gtk_container_add(GTK_CONTAINER(expanded_.get()), widget); 317 gtk_container_add(GTK_CONTAINER(expanded_.get()), widget);
306 } 318 }
307 319
308 void WebContentsViewGtk::UpdateDragDest(RenderViewHost* host) { 320 void WebContentsViewGtk::UpdateDragDest(RenderViewHost* host) {
309 gfx::NativeView content_view = host->GetView()->GetNativeView(); 321 gfx::NativeView content_view = host->GetView()->GetNativeView();
310 322
311 // If the host is already used by the drag_dest_, there's no point in deleting 323 // If the host is already used by the drag_dest_, there's no point in deleting
312 // the old one to create an identical copy. 324 // the old one to create an identical copy.
313 if (drag_dest_.get() && drag_dest_->widget() == content_view) 325 if (drag_dest_.get() && drag_dest_->widget() == content_view)
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 // We manually tell our RWHV to resize the renderer content. This avoids 421 // We manually tell our RWHV to resize the renderer content. This avoids
410 // spurious resizes from GTK+. 422 // spurious resizes from GTK+.
411 RenderWidgetHostView* rwhv = web_contents_->GetRenderWidgetHostView(); 423 RenderWidgetHostView* rwhv = web_contents_->GetRenderWidgetHostView();
412 if (rwhv) 424 if (rwhv)
413 rwhv->SetSize(size); 425 rwhv->SetSize(size);
414 if (web_contents_->GetInterstitialPage()) 426 if (web_contents_->GetInterstitialPage())
415 web_contents_->GetInterstitialPage()->SetSize(size); 427 web_contents_->GetInterstitialPage()->SetSize(size);
416 } 428 }
417 429
418 } // namespace content 430 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698