summaryrefslogtreecommitdiffstats
path: root/content/browser/renderer_host/render_widget_host_view_gtk.h
diff options
context:
space:
mode:
authorerg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-22 22:26:53 +0000
committererg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-22 22:26:53 +0000
commit62cfbad7377b4db2497fec6e88821a36a1b767fe (patch)
treec7be44ea69ddb94285d7a779ade049411fb004e1 /content/browser/renderer_host/render_widget_host_view_gtk.h
parent078ed5486f50579a03463961738f6d57759d10ce (diff)
downloadchromium_src-62cfbad7377b4db2497fec6e88821a36a1b767fe.zip
chromium_src-62cfbad7377b4db2497fec6e88821a36a1b767fe.tar.gz
chromium_src-62cfbad7377b4db2497fec6e88821a36a1b767fe.tar.bz2
(shlib failure) Revert 97750 - content: Move render_widget_host_view_gtk to content/
This also moves some other files: - OwnedWidgetGtk now goes in ui/base/gtk/ - TruncateString moved from l10n_util:: to ui:: - GtkIMContextWrapper has part of its code split into chrome/ (IDC using code goes in RenderViewContextMenu) and the rest go in content/ (gtk using code goes with GtkIMContextWrapper). - gtk_key_bindings_handler[_unittest] now goes in content, as it's a utility class to RenderWidgetHostGtk. BUG=93804 TEST=existing unit tests Review URL: http://codereview.chromium.org/7669040 TBR=erg@google.com Review URL: http://codereview.chromium.org/7708017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97756 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/renderer_host/render_widget_host_view_gtk.h')
-rw-r--r--content/browser/renderer_host/render_widget_host_view_gtk.h273
1 files changed, 0 insertions, 273 deletions
diff --git a/content/browser/renderer_host/render_widget_host_view_gtk.h b/content/browser/renderer_host/render_widget_host_view_gtk.h
deleted file mode 100644
index c857651..0000000
--- a/content/browser/renderer_host/render_widget_host_view_gtk.h
+++ /dev/null
@@ -1,273 +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 CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_GTK_H_
-#define CONTENT_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 "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/base/gtk/owned_widget_gtk.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;
-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)
- // Builds a submenu containing all the gtk input method commands.
- GtkWidget* BuildInputMethodsGtkMenu();
-#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_