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

Unified Diff: chrome/browser/renderer_host/render_widget_host_view_gtk.h

Issue 7669040: content: Move render_widget_host_view_gtk to content/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: chromeos fix. Created 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/renderer_host/render_widget_host_view_gtk.h
diff --git a/chrome/browser/renderer_host/render_widget_host_view_gtk.h b/chrome/browser/renderer_host/render_widget_host_view_gtk.h
deleted file mode 100644
index 40824e926bc0ae7b0df7e5ec39169f04c5a6fd3a..0000000000000000000000000000000000000000
--- a/chrome/browser/renderer_host/render_widget_host_view_gtk.h
+++ /dev/null
@@ -1,277 +0,0 @@
-// Copyright (c) 2011 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.
-
-#ifndef CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_GTK_H_
-#define CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_GTK_H_
-#pragma once
-
-#include <gdk/gdk.h>
-
-#include <string>
-#include <vector>
-
-#include "base/memory/scoped_ptr.h"
-#include "base/time.h"
-#include "chrome/browser/ui/gtk/owned_widget_gtk.h"
-#include "content/browser/renderer_host/render_widget_host_view.h"
-#include "ui/base/animation/animation_delegate.h"
-#include "ui/base/animation/slide_animation.h"
-#include "ui/base/gtk/gtk_signal.h"
-#include "ui/gfx/native_widget_types.h"
-#include "ui/gfx/rect.h"
-#include "webkit/glue/webcursor.h"
-#include "webkit/plugins/npapi/gtk_plugin_container_manager.h"
-
-class RenderWidgetHost;
-class GtkIMContextWrapper;
-#if !defined(TOOLKIT_VIEWS)
-class MenuGtk;
-#endif
-struct NativeWebKeyboardEvent;
-
-#if defined(OS_CHROMEOS)
-namespace views {
-class TooltipWindowGtk;
-}
-#else
-class GtkKeyBindingsHandler;
-#endif // defined(OS_CHROMEOS)
-
-typedef struct _GtkClipboard GtkClipboard;
-typedef struct _GtkSelectionData GtkSelectionData;
-
-// -----------------------------------------------------------------------------
-// See comments in render_widget_host_view.h about this class and its members.
-// -----------------------------------------------------------------------------
-class RenderWidgetHostViewGtk : public RenderWidgetHostView,
- public ui::AnimationDelegate {
- public:
- explicit RenderWidgetHostViewGtk(RenderWidgetHost* widget);
- virtual ~RenderWidgetHostViewGtk();
-
- // Initialize this object for use as a drawing area.
- void InitAsChild();
-
- // RenderWidgetHostView implementation.
- virtual void InitAsPopup(RenderWidgetHostView* parent_host_view,
- const gfx::Rect& pos) OVERRIDE;
- virtual void InitAsFullscreen(
- RenderWidgetHostView* reference_host_view) OVERRIDE;
- virtual RenderWidgetHost* GetRenderWidgetHost() const OVERRIDE;
- virtual void DidBecomeSelected() OVERRIDE;
- virtual void WasHidden() OVERRIDE;
- virtual void SetSize(const gfx::Size& size) OVERRIDE;
- virtual void SetBounds(const gfx::Rect& rect) OVERRIDE;
- virtual gfx::NativeView GetNativeView() OVERRIDE;
- virtual void MovePluginWindows(
- const std::vector<webkit::npapi::WebPluginGeometry>& moves) OVERRIDE;
- virtual void Focus() OVERRIDE;
- virtual void Blur() OVERRIDE;
- virtual bool HasFocus() OVERRIDE;
- virtual void Show() OVERRIDE;
- virtual void Hide() OVERRIDE;
- virtual bool IsShowing() OVERRIDE;
- virtual gfx::Rect GetViewBounds() const OVERRIDE;
- virtual void UpdateCursor(const WebCursor& cursor) OVERRIDE;
- virtual void SetIsLoading(bool is_loading) OVERRIDE;
- virtual void ImeUpdateTextInputState(ui::TextInputType type,
- bool can_compose_inline,
- const gfx::Rect& caret_rect) OVERRIDE;
- virtual void ImeCancelComposition() OVERRIDE;
- virtual void DidUpdateBackingStore(
- const gfx::Rect& scroll_rect, int scroll_dx, int scroll_dy,
- const std::vector<gfx::Rect>& copy_rects) OVERRIDE;
- virtual void RenderViewGone(base::TerminationStatus status,
- int error_code) OVERRIDE;
- virtual void Destroy() OVERRIDE;
- virtual void WillDestroyRenderWidget(RenderWidgetHost* rwh) {}
- virtual void SetTooltipText(const std::wstring& tooltip_text) OVERRIDE;
- virtual void SelectionChanged(const std::string& text,
- const ui::Range& range,
- const gfx::Point& start,
- const gfx::Point& end) OVERRIDE;
- virtual void ShowingContextMenu(bool showing) OVERRIDE;
- virtual BackingStore* AllocBackingStore(const gfx::Size& size) OVERRIDE;
- virtual void SetBackground(const SkBitmap& background) OVERRIDE;
- virtual void CreatePluginContainer(gfx::PluginWindowHandle id) OVERRIDE;
- virtual void DestroyPluginContainer(gfx::PluginWindowHandle id) OVERRIDE;
- virtual void SetVisuallyDeemphasized(const SkColor* color,
- bool animate) OVERRIDE;
- virtual void UnhandledWheelEvent(
- const WebKit::WebMouseWheelEvent& event) OVERRIDE;
- virtual void SetHasHorizontalScrollbar(
- bool has_horizontal_scrollbar) OVERRIDE;
- virtual void SetScrollOffsetPinning(
- bool is_pinned_to_left, bool is_pinned_to_right) OVERRIDE;
- virtual void AcceleratedCompositingActivated(bool activated) OVERRIDE;
- virtual gfx::PluginWindowHandle GetCompositingSurface() OVERRIDE;
-
- // ui::AnimationDelegate implementation.
- virtual void AnimationEnded(const ui::Animation* animation) OVERRIDE;
- virtual void AnimationProgressed(const ui::Animation* animation) OVERRIDE;
- virtual void AnimationCanceled(const ui::Animation* animation) OVERRIDE;
-
- gfx::NativeView native_view() const { return view_.get(); }
-
- // If the widget is aligned with an edge of the monitor its on and the user
- // attempts to drag past that edge we track the number of times it has
- // occurred, so that we can force the widget to scroll when it otherwise
- // would be unable to.
- void ModifyEventForEdgeDragging(GtkWidget* widget, GdkEventMotion* event);
- void Paint(const gfx::Rect&);
-
- // Called by GtkIMContextWrapper to forward a keyboard event to renderer.
- // On Linux (not ChromeOS):
- // Before calling RenderWidgetHost::ForwardKeyboardEvent(), this method
- // calls GtkKeyBindingsHandler::Match() against the event and send matched
- // edit commands to renderer by calling
- // RenderWidgetHost::ForwardEditCommandsForNextKeyEvent().
- void ForwardKeyboardEvent(const NativeWebKeyboardEvent& event);
-
- GdkEventButton* last_mouse_down() const {
- return last_mouse_down_;
- }
-
-#if !defined(TOOLKIT_VIEWS)
- // Appends the input methods context menu to the specified |menu| object as a
- // submenu.
- void AppendInputMethodsContextMenu(MenuGtk* menu);
-#endif
-
- private:
- friend class RenderWidgetHostViewGtkWidget;
-
- CHROMEGTK_CALLBACK_1(RenderWidgetHostViewGtk,
- gboolean,
- OnWindowStateEvent,
- GdkEventWindowState*);
-
- CHROMEGTK_CALLBACK_0(RenderWidgetHostViewGtk,
- void,
- OnDestroy);
-
- // Returns whether the widget needs an input grab (GTK+ and X) to work
- // properly.
- bool NeedsInputGrab();
-
- // Returns whether this render view is a popup (<select> dropdown or
- // autocomplete window).
- bool IsPopup() const;
-
- // Do initialization needed by all InitAs*() methods.
- void DoSharedInit();
-
- // Do initialization needed just by InitAsPopup() and InitAsFullscreen().
- // We move and resize |window| to |bounds| and show it and its contents.
- void DoPopupOrFullscreenInit(GtkWindow* window, const gfx::Rect& bounds);
-
- // Update the display cursor for the render view.
- void ShowCurrentCursor();
-
- void set_last_mouse_down(GdkEventButton* event);
-
- // The model object.
- RenderWidgetHost* host_;
-
- // The native UI widget.
- OwnedWidgetGtk view_;
-
- // This is true when we are currently painting and thus should handle extra
- // paint requests by expanding the invalid rect rather than actually
- // painting.
- bool about_to_validate_and_paint_;
-
- // This is the rectangle which we'll paint.
- gfx::Rect invalid_rect_;
-
- // Whether or not this widget is hidden.
- bool is_hidden_;
-
- // Whether we are currently loading.
- bool is_loading_;
-
- // The cursor for the page. This is passed up from the renderer.
- WebCursor current_cursor_;
-
- // Whether we are showing a context menu.
- bool is_showing_context_menu_;
-
- // The time at which this view started displaying white pixels as a result of
- // not having anything to paint (empty backing store from renderer). This
- // value returns true for is_null() if we are not recording whiteout times.
- base::TimeTicks whiteout_start_time_;
-
- // The time it took after this view was selected for it to be fully painted.
- base::TimeTicks tab_switch_paint_time_;
-
- // A color we use to shade the entire render view. If 100% transparent, we do
- // not shade the render view.
- SkColor overlay_color_;
-
- // The animation used for the abovementioned shade effect. The animation's
- // value affects the alpha we use for |overlay_color_|.
- ui::SlideAnimation overlay_animation_;
-
- // The native view of our parent widget. Used only for popups.
- GtkWidget* parent_;
-
- // We ignore the first mouse release on popups so the popup will remain open.
- bool is_popup_first_mouse_release_;
-
- // Whether or not this widget's input context was focused before being
- // shadowed by another widget. Used in OnGrabNotify() handler to track the
- // focused state correctly.
- bool was_imcontext_focused_before_grab_;
-
- // True if we are responsible for creating an X grab. This will only be used
- // for <select> dropdowns. It should be true for most such cases, but false
- // for extension popups.
- bool do_x_grab_;
-
- // Is the widget fullscreen?
- bool is_fullscreen_;
-
- // For full-screen windows we have a OnDestroy handler that we need to remove,
- // so we keep it ID here.
- unsigned long destroy_handler_id_;
-
- // A convenience wrapper object for GtkIMContext;
- scoped_ptr<GtkIMContextWrapper> im_context_;
-
-#if !defined(OS_CHROMEOS)
- // A convenience object for handling editor key bindings defined in gtk
- // keyboard theme.
- scoped_ptr<GtkKeyBindingsHandler> key_bindings_handler_;
-#endif
-
- // Helper class that lets us allocate plugin containers and move them.
- webkit::npapi::GtkPluginContainerManager plugin_container_manager_;
-
- // The size that we want the renderer to be. We keep this in a separate
- // variable because resizing in GTK+ is async.
- gfx::Size requested_size_;
-
- // The number of times the user has dragged against horizontal edge of the
- // monitor (if the widget is aligned with that edge). Negative values
- // indicate the left edge, positive the right.
- int dragged_at_horizontal_edge_;
-
- // The number of times the user has dragged against vertical edge of the
- // monitor (if the widget is aligned with that edge). Negative values
- // indicate the top edge, positive the bottom.
- int dragged_at_vertical_edge_;
-
- gfx::PluginWindowHandle compositing_surface_;
-
- // The event for the last mouse down we handled. We need this for context
- // menus and drags.
- GdkEventButton* last_mouse_down_;
-
-#if defined(OS_CHROMEOS)
- // Custimized tooltip window.
- scoped_ptr<views::TooltipWindowGtk> tooltip_window_;
-#endif // defined(OS_CHROMEOS)
-};
-
-#endif // CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_GTK_H_

Powered by Google App Engine
This is Rietveld 408576698