| Index: chrome/browser/chromeos/app_launcher.h
|
| ===================================================================
|
| --- chrome/browser/chromeos/app_launcher.h (revision 42236)
|
| +++ chrome/browser/chromeos/app_launcher.h (working copy)
|
| @@ -1,242 +0,0 @@
|
| -// Copyright (c) 2010 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_CHROMEOS_APP_LAUNCHER_H_
|
| -#define CHROME_BROWSER_CHROMEOS_APP_LAUNCHER_H_
|
| -
|
| -#include <gtk/gtk.h>
|
| -
|
| -#include "app/active_window_watcher_x.h"
|
| -#include "base/scoped_ptr.h"
|
| -#include "base/task.h"
|
| -#include "chrome/browser/renderer_host/render_view_host_delegate.h"
|
| -#include "chrome/browser/tab_contents/render_view_host_delegate_helper.h"
|
| -#include "chrome/browser/tab_contents/tab_contents_delegate.h"
|
| -#include "chrome/common/renderer_preferences.h"
|
| -#include "views/view.h"
|
| -
|
| -class Browser;
|
| -class RenderWidgetHostViewGtk;
|
| -class SiteInstance;
|
| -class SkBitmap;
|
| -
|
| -namespace gfx {
|
| -class Point;
|
| -class Size;
|
| -}
|
| -namespace views {
|
| -class NativeViewHost;
|
| -class View;
|
| -class WidgetGtk;
|
| -}
|
| -
|
| -namespace chromeos {
|
| -
|
| -class NavigationBar;
|
| -
|
| -// AppLauncher manages showing the application launcher and optionally the
|
| -// navigation bar in compact navigation bar mode. The app launcher is
|
| -// currently an HTML page. When the user clicks a link on the page a
|
| -// new tab is added to the current browser and the app launcher is hidden.
|
| -// When the user opens a new page from the navigation bar, it opens a
|
| -// new tab on left, on right or clobbers the current tab depending on
|
| -// the configuration.
|
| -//
|
| -// To show the app launcher invoke Show.
|
| -//
|
| -// AppLauncher creates a RenderViewHost and corresponding RenderWidgetHostView
|
| -// to display the html page. AppLauncher acts as the RenderViewHostDelegate for
|
| -// the RenderViewHost. Clicking on a link results in creating a new
|
| -// TabContents (assigned to pending_contents_). One of two things can then
|
| -// happen:
|
| -// . If the page is a popup (ShowCreatedWindow passed NEW_POPUP), the
|
| -// TabContents is added to the Browser.
|
| -// . If the page requests a URL to be open (OpenURLFromTab), OpenURL is
|
| -// invoked on the browser.
|
| -//
|
| -// When a new url is opened, or the user clicks outsides the bounds of the
|
| -// widget the app launcher is closed.
|
| -class AppLauncher : public RenderViewHostDelegate,
|
| - public RenderViewHostDelegate::View,
|
| - public ActiveWindowWatcherX::Observer,
|
| - public views::AcceleratorTarget {
|
| - public:
|
| - AppLauncher(Browser* browser);
|
| - ~AppLauncher();
|
| -
|
| - // Shows the menu.
|
| - void Show();
|
| -
|
| - private:
|
| - // TabContentsDelegate and RenderViewHostDelegate::View have some methods
|
| - // in common (with differing signatures). The TabContentsDelegate methods are
|
| - // implemented by this class.
|
| - class TabContentsDelegateImpl : public TabContentsDelegate {
|
| - public:
|
| - explicit TabContentsDelegateImpl(AppLauncher* app_launcher);
|
| -
|
| - // TabContentsDelegate.
|
| - virtual void OpenURLFromTab(TabContents* source,
|
| - const GURL& url, const GURL& referrer,
|
| - WindowOpenDisposition disposition,
|
| - PageTransition::Type transition);
|
| - virtual void NavigationStateChanged(const TabContents* source,
|
| - unsigned changed_flags) {}
|
| - virtual void AddNewContents(TabContents* source,
|
| - TabContents* new_contents,
|
| - WindowOpenDisposition disposition,
|
| - const gfx::Rect& initial_pos,
|
| - bool user_gesture) {}
|
| - virtual void ActivateContents(TabContents* contents) {}
|
| - virtual void LoadingStateChanged(TabContents* source) {}
|
| - virtual void CloseContents(TabContents* source) {}
|
| - virtual void MoveContents(TabContents* source, const gfx::Rect& pos) {}
|
| - virtual bool IsPopup(TabContents* source) { return false; }
|
| - virtual void ToolbarSizeChanged(TabContents* source, bool is_animating) {}
|
| - virtual void URLStarredChanged(TabContents* source, bool starred) {}
|
| - virtual void UpdateTargetURL(TabContents* source, const GURL& url) {}
|
| -
|
| - private:
|
| - AppLauncher* app_launcher_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(TabContentsDelegateImpl);
|
| - };
|
| -
|
| - class TopContainer : public views::View {
|
| - public:
|
| - explicit TopContainer(AppLauncher* app_launcher);
|
| - virtual ~TopContainer() {}
|
| -
|
| - // views::View overrides.
|
| - virtual void Layout();
|
| - virtual bool OnMousePressed(const views::MouseEvent& event);
|
| -
|
| - private:
|
| - AppLauncher* app_launcher_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(TopContainer);
|
| - };
|
| -
|
| - class BubbleContainer : public views::View {
|
| - public:
|
| - explicit BubbleContainer(AppLauncher* app_launcher);
|
| -
|
| - // views::View overrides.
|
| - virtual void Layout();
|
| -
|
| - private:
|
| - AppLauncher* app_launcher_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(BubbleContainer);
|
| - };
|
| -
|
| - friend class BubbleContainer;
|
| - friend class NavigationBar;
|
| - friend class TabContentsDelegateImpl;
|
| - friend class TopContainer;
|
| -
|
| - // Hides the app launcher.
|
| - void Hide();
|
| -
|
| - // Cleans up state. This is invoked before showing and after a delay when
|
| - // hidden.
|
| - void Cleanup();
|
| -
|
| - // Updates the app launcher's state.
|
| - void Update();
|
| -
|
| - // RenderViewHostDelegate overrides.
|
| - virtual int GetBrowserWindowID() const {
|
| - return -1;
|
| - }
|
| - virtual ViewType::Type GetRenderViewType() const {
|
| - return ViewType::INVALID;
|
| - }
|
| - virtual RenderViewHostDelegate::View* GetViewDelegate() {
|
| - return this;
|
| - }
|
| - virtual void RequestMove(const gfx::Rect& new_bounds);
|
| - virtual RendererPreferences GetRendererPrefs(Profile* profile) const;
|
| -
|
| - // RenderViewHostDelegate::View overrides.
|
| - virtual void CreateNewWindow(int route_id);
|
| - virtual void CreateNewWidget(int route_id, bool activatable) {}
|
| - virtual void ShowCreatedWindow(int route_id,
|
| - WindowOpenDisposition disposition,
|
| - const gfx::Rect& initial_pos,
|
| - bool user_gesture);
|
| - virtual void ShowCreatedWidget(int route_id,
|
| - const gfx::Rect& initial_pos) {}
|
| - virtual void ShowContextMenu(const ContextMenuParams& params) {}
|
| - virtual void StartDragging(const WebDropData& drop_data,
|
| - WebKit::WebDragOperationsMask allowed_ops,
|
| - const SkBitmap& image,
|
| - const gfx::Point& image_offset);
|
| - virtual void UpdateDragCursor(WebKit::WebDragOperation operation) {}
|
| - virtual void GotFocus() {}
|
| - virtual void TakeFocus(bool reverse) {}
|
| - virtual bool PreHandleKeyboardEvent(const NativeWebKeyboardEvent& event,
|
| - bool* is_keyboard_shortcut) {
|
| - return false;
|
| - }
|
| - virtual void HandleKeyboardEvent(const NativeWebKeyboardEvent& event) {}
|
| - virtual void HandleMouseEvent() {}
|
| - virtual void HandleMouseLeave() {}
|
| - virtual void UpdatePreferredSize(const gfx::Size& pref_size) {}
|
| -
|
| - // ActiveWindowWatcherX::Observer implementation.
|
| - virtual void ActiveWindowChanged(GdkWindow* active_window);
|
| -
|
| - // views::AcceleratorTarget implementation:
|
| - virtual bool AcceleratorPressed(const views::Accelerator& accelerator);
|
| -
|
| - void AddTabWithURL(const GURL& url, PageTransition::Type transition);
|
| -
|
| - // The currently active browser. We use this to open urls.
|
| - Browser* browser_;
|
| -
|
| - // The widget displaying the rwvh_.
|
| - views::WidgetGtk* popup_;
|
| -
|
| - // SiteInstance for the RenderViewHosts we create.
|
| - SiteInstance* site_instance_;
|
| -
|
| - // RenderViewHost for the contents.
|
| - RenderViewHost* contents_rvh_;
|
| -
|
| - // RenderWidgetHostView from the contents_rvh_.
|
| - RenderWidgetHostViewGtk* rwhv_;
|
| -
|
| - // Handles creating the child TabContents.
|
| - RenderViewHostDelegateViewHelper helper_;
|
| -
|
| - // Delegate of the TabContents created by helper_.
|
| - TabContentsDelegateImpl tab_contents_delegate_;
|
| -
|
| - // TabContents created when the user clicks a link.
|
| - scoped_ptr<TabContents> pending_contents_;
|
| -
|
| - ScopedRunnableMethodFactory<AppLauncher> method_factory_;
|
| -
|
| - // Container of the background, NavigationBar and Renderer.
|
| - views::View* top_container_;
|
| -
|
| - // Container of the NavigationBar and Renderer (shown in a bubble).
|
| - views::View* bubble_container_;
|
| -
|
| - // The navigation bar. Only shown in compact navigation bar mode.
|
| - NavigationBar* navigation_bar_;
|
| -
|
| - // The view containing the renderer view.
|
| - views::NativeViewHost* render_view_container_;
|
| -
|
| - // True if the popup has ever been shown.
|
| - bool has_shown_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(AppLauncher);
|
| -};
|
| -
|
| -} // namespace chromeos
|
| -
|
| -#endif // CHROME_BROWSER_CHROMEOS_APP_LAUNCHER_H_
|
|
|