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

Unified Diff: chrome/browser/chromeos/app_launcher.h

Issue 1145001: Porting the app launcher to Windows, and adding an experimental flag... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 9 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
« no previous file with comments | « chrome/browser/browser.cc ('k') | chrome/browser/chromeos/app_launcher.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_
« no previous file with comments | « chrome/browser/browser.cc ('k') | chrome/browser/chromeos/app_launcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698