summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorhashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-20 07:48:29 +0000
committerhashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-20 07:49:42 +0000
commit2accabecaa9144edef9a7495eb1783feee255021 (patch)
tree95e3b30a082589ab0422696ca0dbd9950ce4d0c3 /apps
parent6e3ef091c0e18f7a55b9a8520498910ffbd2bd87 (diff)
downloadchromium_src-2accabecaa9144edef9a7495eb1783feee255021.zip
chromium_src-2accabecaa9144edef9a7495eb1783feee255021.tar.gz
chromium_src-2accabecaa9144edef9a7495eb1783feee255021.tar.bz2
Move NativeAppWindow to extensions
Move native_app_window.h from apps/ui to extensions/browser/app_window. Change the namespace from apps to extensions. Add dependency on components/web_modal to extensions/browser. BUG=403726 TBR=sky@chromium.org for include fix under chrome/browser Review URL: https://codereview.chromium.org/479933003 Cr-Commit-Position: refs/heads/master@{#290786} git-svn-id: svn://svn.chromium.org/chrome/trunk/src@290786 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'apps')
-rw-r--r--apps/app_shim/app_shim_interactive_uitest_mac.mm2
-rw-r--r--apps/app_shim/extension_app_shim_handler_mac.cc2
-rw-r--r--apps/app_window.cc3
-rw-r--r--apps/app_window.h9
-rw-r--r--apps/app_window_browsertest.cc3
-rw-r--r--apps/app_window_contents.cc6
-rw-r--r--apps/app_window_contents.h3
-rw-r--r--apps/app_window_interactive_uitest.cc2
-rw-r--r--apps/app_window_registry.cc2
-rw-r--r--apps/apps.gypi1
-rw-r--r--apps/ui/apps_client.h7
-rw-r--r--apps/ui/native_app_window.h96
-rw-r--r--apps/ui/views/app_window_frame_view.cc4
-rw-r--r--apps/ui/views/app_window_frame_view.h10
-rw-r--r--apps/ui/views/native_app_window_views.h5
15 files changed, 32 insertions, 123 deletions
diff --git a/apps/app_shim/app_shim_interactive_uitest_mac.mm b/apps/app_shim/app_shim_interactive_uitest_mac.mm
index a51cc9b..f019c8e 100644
--- a/apps/app_shim/app_shim_interactive_uitest_mac.mm
+++ b/apps/app_shim/app_shim_interactive_uitest_mac.mm
@@ -9,7 +9,6 @@
#include "apps/app_shim/app_shim_host_manager_mac.h"
#include "apps/app_shim/extension_app_shim_handler_mac.h"
#include "apps/switches.h"
-#include "apps/ui/native_app_window.h"
#include "base/auto_reset.h"
#include "base/callback.h"
#include "base/files/file_path_watcher.h"
@@ -30,6 +29,7 @@
#include "chrome/common/chrome_switches.h"
#include "chrome/common/mac/app_mode_common.h"
#include "content/public/test/test_utils.h"
+#include "extensions/browser/app_window/native_app_window.h"
#include "extensions/browser/extension_registry.h"
#import "ui/events/test/cocoa_test_event_utils.h"
diff --git a/apps/app_shim/extension_app_shim_handler_mac.cc b/apps/app_shim/extension_app_shim_handler_mac.cc
index b33585c..2fa33a1 100644
--- a/apps/app_shim/extension_app_shim_handler_mac.cc
+++ b/apps/app_shim/extension_app_shim_handler_mac.cc
@@ -10,7 +10,6 @@
#include "apps/app_window.h"
#include "apps/app_window_registry.h"
#include "apps/launcher.h"
-#include "apps/ui/native_app_window.h"
#include "base/files/file_path.h"
#include "base/logging.h"
#include "chrome/browser/browser_process.h"
@@ -25,6 +24,7 @@
#include "content/public/browser/notification_details.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/notification_source.h"
+#include "extensions/browser/app_window/native_app_window.h"
#include "extensions/browser/extension_host.h"
#include "extensions/browser/extension_registry.h"
#include "ui/base/cocoa/focus_window_set.h"
diff --git a/apps/app_window.cc b/apps/app_window.cc
index 2366ca8..1fa8139 100644
--- a/apps/app_window.cc
+++ b/apps/app_window.cc
@@ -13,7 +13,6 @@
#include "apps/app_window_geometry_cache.h"
#include "apps/app_window_registry.h"
#include "apps/ui/apps_client.h"
-#include "apps/ui/native_app_window.h"
#include "apps/ui/web_contents_sizer.h"
#include "base/command_line.h"
#include "base/strings/string_util.h"
@@ -33,6 +32,7 @@
#include "content/public/browser/web_contents.h"
#include "content/public/common/content_switches.h"
#include "content/public/common/media_stream_request.h"
+#include "extensions/browser/app_window/native_app_window.h"
#include "extensions/browser/app_window/size_constraints.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_system.h"
@@ -58,6 +58,7 @@ using content::BrowserContext;
using content::ConsoleMessageLevel;
using content::WebContents;
using extensions::APIPermission;
+using extensions::NativeAppWindow;
using web_modal::WebContentsModalDialogHost;
using web_modal::WebContentsModalDialogManager;
diff --git a/apps/app_window.h b/apps/app_window.h
index 4239d01..87c3c45 100644
--- a/apps/app_window.h
+++ b/apps/app_window.h
@@ -36,6 +36,7 @@ class WebContents;
namespace extensions {
class Extension;
+class NativeAppWindow;
class PlatformAppBrowserTest;
class WindowController;
@@ -50,7 +51,6 @@ namespace apps {
class AppDelegate;
class AppWebContentsHelper;
-class NativeAppWindow;
// Manages the web contents for app windows. The implementation for this
// class should create and maintain the WebContents for the window, and handle
@@ -69,7 +69,8 @@ class AppWindowContents {
virtual void LoadContents(int32 creator_process_id) = 0;
// Called when the native window changes.
- virtual void NativeWindowChanged(NativeAppWindow* native_app_window) = 0;
+ virtual void NativeWindowChanged(
+ extensions::NativeAppWindow* native_app_window) = 0;
// Called when the native window closes.
virtual void NativeWindowClosed() = 0;
@@ -232,7 +233,7 @@ class AppWindow : public content::NotificationObserver,
bool is_hidden() const { return is_hidden_; }
const extensions::Extension* GetExtension() const;
- NativeAppWindow* GetBaseWindow();
+ extensions::NativeAppWindow* GetBaseWindow();
gfx::NativeWindow GetNativeWindow();
// Returns the bounds that should be reported to the renderer.
@@ -500,7 +501,7 @@ class AppWindow : public content::NotificationObserver,
// An object to load the badge as an extension resource.
scoped_ptr<extensions::IconImage> badge_icon_image_;
- scoped_ptr<NativeAppWindow> native_app_window_;
+ scoped_ptr<extensions::NativeAppWindow> native_app_window_;
scoped_ptr<AppWindowContents> app_window_contents_;
scoped_ptr<AppDelegate> app_delegate_;
scoped_ptr<AppWebContentsHelper> helper_;
diff --git a/apps/app_window_browsertest.cc b/apps/app_window_browsertest.cc
index 22446a3..a132a1b 100644
--- a/apps/app_window_browsertest.cc
+++ b/apps/app_window_browsertest.cc
@@ -2,10 +2,11 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "apps/ui/native_app_window.h"
#include "chrome/browser/apps/app_browsertest_util.h"
+#include "extensions/browser/app_window/native_app_window.h"
using extensions::Extension;
+using extensions::NativeAppWindow;
namespace apps {
diff --git a/apps/app_window_contents.cc b/apps/app_window_contents.cc
index 84cf13d..783564a 100644
--- a/apps/app_window_contents.cc
+++ b/apps/app_window_contents.cc
@@ -4,10 +4,9 @@
#include "apps/app_window_contents.h"
-#include <utility>
#include <string>
+#include <utility>
-#include "apps/ui/native_app_window.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/common/extensions/api/app_window.h"
#include "content/public/browser/browser_context.h"
@@ -18,6 +17,7 @@
#include "content/public/browser/site_instance.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/renderer_preferences.h"
+#include "extensions/browser/app_window/native_app_window.h"
#include "extensions/common/extension_messages.h"
namespace app_window = extensions::api::app_window;
@@ -65,7 +65,7 @@ void AppWindowContentsImpl::LoadContents(int32 creator_process_id) {
}
void AppWindowContentsImpl::NativeWindowChanged(
- NativeAppWindow* native_app_window) {
+ extensions::NativeAppWindow* native_app_window) {
base::ListValue args;
base::DictionaryValue* dictionary = new base::DictionaryValue();
args.Append(dictionary);
diff --git a/apps/app_window_contents.h b/apps/app_window_contents.h
index 47d082b..8762913 100644
--- a/apps/app_window_contents.h
+++ b/apps/app_window_contents.h
@@ -38,7 +38,8 @@ class AppWindowContentsImpl
virtual void Initialize(content::BrowserContext* context,
const GURL& url) OVERRIDE;
virtual void LoadContents(int32 creator_process_id) OVERRIDE;
- virtual void NativeWindowChanged(NativeAppWindow* native_app_window) OVERRIDE;
+ virtual void NativeWindowChanged(
+ extensions::NativeAppWindow* native_app_window) OVERRIDE;
virtual void NativeWindowClosed() OVERRIDE;
virtual void DispatchWindowShownForTests() const OVERRIDE;
virtual content::WebContents* GetWebContents() const OVERRIDE;
diff --git a/apps/app_window_interactive_uitest.cc b/apps/app_window_interactive_uitest.cc
index 4433ca9..665d4656 100644
--- a/apps/app_window_interactive_uitest.cc
+++ b/apps/app_window_interactive_uitest.cc
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "apps/ui/native_app_window.h"
#include "chrome/browser/apps/app_browsertest_util.h"
+#include "extensions/browser/app_window/native_app_window.h"
using extensions::PlatformAppBrowserTest;
using extensions::Extension;
diff --git a/apps/app_window_registry.cc b/apps/app_window_registry.cc
index 79a3373..0874a5e 100644
--- a/apps/app_window_registry.cc
+++ b/apps/app_window_registry.cc
@@ -9,7 +9,6 @@
#include "apps/app_window.h"
#include "apps/ui/apps_client.h"
-#include "apps/ui/native_app_window.h"
#include "components/keyed_service/content/browser_context_dependency_manager.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/devtools_agent_host.h"
@@ -17,6 +16,7 @@
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/site_instance.h"
#include "content/public/browser/web_contents.h"
+#include "extensions/browser/app_window/native_app_window.h"
#include "extensions/browser/extensions_browser_client.h"
#include "extensions/common/extension.h"
diff --git a/apps/apps.gypi b/apps/apps.gypi
index 2f7f9e9..e6580c5 100644
--- a/apps/apps.gypi
+++ b/apps/apps.gypi
@@ -65,7 +65,6 @@
'switches.h',
'ui/apps_client.cc',
'ui/apps_client.h',
- 'ui/native_app_window.h',
'ui/views/app_window_frame_view.cc',
'ui/views/app_window_frame_view.h',
'ui/views/native_app_window_views.cc',
diff --git a/apps/ui/apps_client.h b/apps/ui/apps_client.h
index 2f26dbc..da4b2bf 100644
--- a/apps/ui/apps_client.h
+++ b/apps/ui/apps_client.h
@@ -15,12 +15,11 @@ class BrowserContext;
namespace extensions {
class Extension;
+class NativeAppWindow;
}
namespace apps {
-class NativeAppWindow;
-
// Sets up global state for the apps system. Should be Set() once in each
// process. This should be implemented by the client of the apps system.
class AppsClient {
@@ -34,8 +33,8 @@ class AppsClient {
content::BrowserContext* context,
const extensions::Extension* extension) = 0;
- // Creates a new apps::NativeAppWindow for |window|.
- virtual NativeAppWindow* CreateNativeAppWindow(
+ // Creates a new extensions::NativeAppWindow for |window|.
+ virtual extensions::NativeAppWindow* CreateNativeAppWindow(
AppWindow* window,
const AppWindow::CreateParams& params) = 0;
diff --git a/apps/ui/native_app_window.h b/apps/ui/native_app_window.h
deleted file mode 100644
index 3ad531d..0000000
--- a/apps/ui/native_app_window.h
+++ /dev/null
@@ -1,96 +0,0 @@
-// Copyright 2013 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 APPS_UI_NATIVE_APP_WINDOW_H_
-#define APPS_UI_NATIVE_APP_WINDOW_H_
-
-#include "apps/app_window.h"
-#include "components/web_modal/web_contents_modal_dialog_host.h"
-#include "third_party/skia/include/core/SkColor.h"
-#include "ui/base/base_window.h"
-#include "ui/gfx/insets.h"
-
-namespace apps {
-
-// This is an interface to a native implementation of a app window, used for
-// new-style packaged apps. App windows contain a web contents, but no tabs
-// or URL bar.
-class NativeAppWindow : public ui::BaseWindow,
- public web_modal::WebContentsModalDialogHost {
- public:
- // Sets whether the window is fullscreen and the type of fullscreen.
- // |fullscreen_types| is a bit field of AppWindow::FullscreenType.
- virtual void SetFullscreen(int fullscreen_types) = 0;
-
- // Returns whether the window is fullscreen or about to enter fullscreen.
- virtual bool IsFullscreenOrPending() const = 0;
-
- // Called when the icon of the window changes.
- virtual void UpdateWindowIcon() = 0;
-
- // Called when the title of the window changes.
- virtual void UpdateWindowTitle() = 0;
-
- // Called to update the badge icon.
- virtual void UpdateBadgeIcon() = 0;
-
- // Called when the draggable regions are changed.
- virtual void UpdateDraggableRegions(
- const std::vector<extensions::DraggableRegion>& regions) = 0;
-
- // Returns the region used by frameless windows for dragging. May return NULL.
- virtual SkRegion* GetDraggableRegion() = 0;
-
- // Called when the window shape is changed. If |region| is NULL then the
- // window is restored to the default shape.
- virtual void UpdateShape(scoped_ptr<SkRegion> region) = 0;
-
- // Allows the window to handle unhandled keyboard messages coming back from
- // the renderer.
- virtual void HandleKeyboardEvent(
- const content::NativeWebKeyboardEvent& event) = 0;
-
- // Returns true if the window has no frame, as for a window opened by
- // chrome.app.window.create with the option 'frame' set to 'none'.
- virtual bool IsFrameless() const = 0;
-
- // Returns information about the window's frame.
- virtual bool HasFrameColor() const = 0;
- virtual SkColor ActiveFrameColor() const = 0;
- virtual SkColor InactiveFrameColor() const = 0;
-
- // Returns the difference between the window bounds (including titlebar and
- // borders) and the content bounds, if any.
- virtual gfx::Insets GetFrameInsets() const = 0;
-
- // Hide or show this window as part of hiding or showing the app.
- // This may have different logic to Hide, Show, and ShowInactive as those are
- // called via the AppWindow javascript API.
- virtual void ShowWithApp() = 0;
- virtual void HideWithApp() = 0;
-
- // Updates custom entries for the context menu of the app's taskbar/dock/shelf
- // icon.
- virtual void UpdateShelfMenu() = 0;
-
- // Returns the minimum size constraints of the content.
- virtual gfx::Size GetContentMinimumSize() const = 0;
-
- // Returns the maximum size constraints of the content.
- virtual gfx::Size GetContentMaximumSize() const = 0;
-
- // Updates the minimum and maximum size constraints of the content.
- virtual void SetContentSizeConstraints(const gfx::Size& min_size,
- const gfx::Size& max_size) = 0;
-
- // Returns false if the underlying native window ignores alpha transparency
- // when compositing.
- virtual bool CanHaveAlphaEnabled() const = 0;
-
- virtual ~NativeAppWindow() {}
-};
-
-} // namespace apps
-
-#endif // APPS_UI_NATIVE_APP_WINDOW_H_
diff --git a/apps/ui/views/app_window_frame_view.cc b/apps/ui/views/app_window_frame_view.cc
index 4fd0955..7ca0180 100644
--- a/apps/ui/views/app_window_frame_view.cc
+++ b/apps/ui/views/app_window_frame_view.cc
@@ -4,8 +4,8 @@
#include "apps/ui/views/app_window_frame_view.h"
-#include "apps/ui/native_app_window.h"
#include "base/strings/utf_string_conversions.h"
+#include "extensions/browser/app_window/native_app_window.h"
#include "extensions/common/draggable_region.h"
#include "grit/theme_resources.h"
#include "grit/ui_strings.h" // Accessibility names
@@ -38,7 +38,7 @@ const char AppWindowFrameView::kViewClassName[] =
"browser/ui/views/extensions/AppWindowFrameView";
AppWindowFrameView::AppWindowFrameView(views::Widget* widget,
- NativeAppWindow* window,
+ extensions::NativeAppWindow* window,
bool draw_frame,
const SkColor& active_frame_color,
const SkColor& inactive_frame_color)
diff --git a/apps/ui/views/app_window_frame_view.h b/apps/ui/views/app_window_frame_view.h
index d7cbf9f..19a982c 100644
--- a/apps/ui/views/app_window_frame_view.h
+++ b/apps/ui/views/app_window_frame_view.h
@@ -16,6 +16,10 @@
class SkRegion;
+namespace extensions {
+class NativeAppWindow;
+}
+
namespace gfx {
class Canvas;
class Point;
@@ -32,8 +36,6 @@ class Widget;
namespace apps {
-class NativeAppWindow;
-
// A frameless or non-Ash, non-panel NonClientFrameView for app windows.
class AppWindowFrameView : public views::NonClientFrameView,
public views::ButtonListener {
@@ -49,7 +51,7 @@ class AppWindowFrameView : public views::NonClientFrameView,
// TODO(benwells): Refactor this to split out frameless and colored frame
// views. See http://crbug.com/359432.
AppWindowFrameView(views::Widget* widget,
- NativeAppWindow* window,
+ extensions::NativeAppWindow* window,
bool draw_frame,
const SkColor& active_frame_color,
const SkColor& inactive_frame_color);
@@ -96,7 +98,7 @@ class AppWindowFrameView : public views::NonClientFrameView,
SkColor CurrentFrameColor();
views::Widget* widget_;
- NativeAppWindow* window_;
+ extensions::NativeAppWindow* window_;
bool draw_frame_;
SkColor active_frame_color_;
SkColor inactive_frame_color_;
diff --git a/apps/ui/views/native_app_window_views.h b/apps/ui/views/native_app_window_views.h
index 666d1a9..94bc960 100644
--- a/apps/ui/views/native_app_window_views.h
+++ b/apps/ui/views/native_app_window_views.h
@@ -5,9 +5,10 @@
#ifndef APPS_UI_VIEWS_NATIVE_APP_WINDOW_VIEWS_H_
#define APPS_UI_VIEWS_NATIVE_APP_WINDOW_VIEWS_H_
-#include "apps/ui/native_app_window.h"
+#include "apps/app_window.h"
#include "base/observer_list.h"
#include "content/public/browser/web_contents_observer.h"
+#include "extensions/browser/app_window/native_app_window.h"
#include "extensions/browser/app_window/size_constraints.h"
#include "ui/gfx/rect.h"
#include "ui/views/controls/webview/unhandled_keyboard_event_handler.h"
@@ -42,7 +43,7 @@ class AppWindowFrameView;
// A NativeAppWindow backed by a views::Widget. This class may be used alone
// as a stub or subclassed (for example, ChromeNativeAppWindowViews).
-class NativeAppWindowViews : public NativeAppWindow,
+class NativeAppWindowViews : public extensions::NativeAppWindow,
public content::WebContentsObserver,
public views::WidgetDelegateView,
public views::WidgetObserver {