| 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_
|
|
|