summaryrefslogtreecommitdiffstats
path: root/win8/metro_driver/chrome_app_view.h
diff options
context:
space:
mode:
authorerikwright@chromium.org <erikwright@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-07 19:38:20 +0000
committererikwright@chromium.org <erikwright@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-07 19:38:20 +0000
commita990cadcd72c85cdb4988fc0d4438c45feae7fa8 (patch)
treeef016cd48e52e16fce90348333a67504144a84d5 /win8/metro_driver/chrome_app_view.h
parent9079783b942daa474fe3d1b8ca1ef3919081716b (diff)
downloadchromium_src-a990cadcd72c85cdb4988fc0d4438c45feae7fa8.zip
chromium_src-a990cadcd72c85cdb4988fc0d4438c45feae7fa8.tar.gz
chromium_src-a990cadcd72c85cdb4988fc0d4438c45feae7fa8.tar.bz2
Revert 155444 - Integrate the Windows 8 code into the Chromium tree (take 2).
14>delegate_execute.cc(113):error C2039: 'kWaitForHandle' : is not a member of 'switches' 14>delegate_execute.cc(113):error C2065: 'kWaitForHandle' : undeclared identifier http://build.chromium.org/p/chromium/builders/Win%20Builder%20%28dbg%29/builds/38971/steps/compile/logs/stdio#error1 This time, also: fix invalid path in metro_driver.gyp. Also, set executable bit on check_sdk_patch.py and post_build.bat. This reverts "Revert 155429 - Integrate the Windows 8 code into the Chromium tree." Original CL: https://chromiumcodereview.appspot.com/10875008 BUG=127799 TEST=A Chromium build can run as the immersive browser on Windows 8. TBR=ben Review URL: https://chromiumcodereview.appspot.com/10912152 TBR=robertshield@chromium.org Review URL: https://chromiumcodereview.appspot.com/10918127 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155452 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'win8/metro_driver/chrome_app_view.h')
-rw-r--r--win8/metro_driver/chrome_app_view.h177
1 files changed, 0 insertions, 177 deletions
diff --git a/win8/metro_driver/chrome_app_view.h b/win8/metro_driver/chrome_app_view.h
deleted file mode 100644
index 80f309d..0000000
--- a/win8/metro_driver/chrome_app_view.h
+++ /dev/null
@@ -1,177 +0,0 @@
-// Copyright (c) 2012 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_UI_METRO_DRIVER_CHROME_APP_VIEW_H_
-#define CHROME_BROWSER_UI_METRO_DRIVER_CHROME_APP_VIEW_H_
-
-#include <windows.applicationmodel.core.h>
-#include <windows.ui.core.h>
-#include <windows.ui.input.h>
-#include <windows.ui.viewmanagement.h>
-
-#include <list>
-#include <map>
-#include <string>
-#include <utility>
-
-#include "base/memory/scoped_ptr.h"
-#include "base/message_loop.h"
-#include "base/synchronization/lock.h"
-#include "win8/metro_driver/chrome_url_launch_handler.h"
-#include "win8/metro_driver/devices_handler.h"
-#include "win8/metro_driver/metro_dialog_box.h"
-#include "win8/metro_driver/settings_handler.h"
-#include "win8/metro_driver/toast_notification_handler.h"
-
-class ChromeAppView
- : public mswr::RuntimeClass<winapp::Core::IFrameworkView> {
- public:
- ChromeAppView();
- ~ChromeAppView();
-
- // IViewProvider overrides.
- IFACEMETHOD(Initialize)(winapp::Core::ICoreApplicationView* view);
- IFACEMETHOD(SetWindow)(winui::Core::ICoreWindow* window);
- IFACEMETHOD(Load)(HSTRING entryPoint);
- IFACEMETHOD(Run)();
- IFACEMETHOD(Uninitialize)();
-
- static LRESULT CALLBACK CoreWindowProc(HWND window, UINT message, WPARAM wp,
- LPARAM lp);
-
- HRESULT TileRequestCreateDone(winfoundtn::IAsyncOperation<bool>* async,
- AsyncStatus status);
-
- bool osk_visible_notification_received() const {
- return osk_visible_notification_received_;
- }
-
- // Displays the notification.
- void DisplayNotification(
- const ToastNotificationHandler::DesktopNotification& notification);
-
- // Cancels the notification.
- void CancelNotification(const std::string& notification);
-
- // Returns true if the notification passed in is valid.
- bool IsValidNotification(const std::string& notification);
-
- // Displays a dialog box.
- void ShowDialogBox(const MetroDialogBox::DialogBoxInfo& dialog_box_info);
- // Dismisses the dialog box.
- void DismissDialogBox();
-
- // Helper function to unsnap the chrome metro app if it is snapped.
- // Returns S_OK on success.
- static HRESULT Unsnap();
-
- // Notification from chrome that a full screen operation is being performed.
- void SetFullscreen(bool fullscreen);
-
- private:
- HRESULT OnActivate(winapp::Core::ICoreApplicationView* view,
- winapp::Activation::IActivatedEventArgs* args);
-
- HRESULT OnSizeChanged(winui::Core::ICoreWindow* sender,
- winui::Core::IWindowSizeChangedEventArgs* args);
-
- HRESULT OnEdgeGestureCompleted(winui::Input::IEdgeGesture* gesture,
- winui::Input::IEdgeGestureEventArgs* args);
-
- HRESULT OnShareDataRequested(
- winapp::DataTransfer::IDataTransferManager* data_transfer_mgr,
- winapp::DataTransfer::IDataRequestedEventArgs* event_args);
-
- HRESULT OnInputPaneVisible(
- winui::ViewManagement::IInputPane* input_pane,
- winui::ViewManagement::IInputPaneVisibilityEventArgs* event_args);
-
- HRESULT OnInputPaneHiding(
- winui::ViewManagement::IInputPane* input_pane,
- winui::ViewManagement::IInputPaneVisibilityEventArgs* event_args);
-
- HRESULT OnPositionChanged(int x, int y);
-
- void CheckForOSKActivation();
-
- HRESULT RegisterInputPaneNotifications();
-
- void HandleInputPaneVisible(const RECT& osk_rect);
- void HandleInputPaneHidden(const RECT& osk_rect);
-
- mswr::ComPtr<winui::Core::ICoreWindow> window_;
- mswr::ComPtr<winapp::Core::ICoreApplicationView> view_;
- EventRegistrationToken activated_token_;
- EventRegistrationToken edgeevent_token_;
- EventRegistrationToken sizechange_token_;
- EventRegistrationToken share_data_requested_token_;
- EventRegistrationToken input_pane_visible_token_;
- EventRegistrationToken input_pane_hiding_token_;
- EventRegistrationToken app_exit_token_;
-
- ChromeUrlLaunchHandler url_launch_handler_;
- metro_driver::DevicesHandler devices_handler_;
- SettingsHandler settings_handler_;
- mswr::ComPtr<winui::ViewManagement::IInputPane> input_pane_;
- mswr::ComPtr<winui::ViewManagement::IApplicationViewStatics> app_view_;
-
- bool osk_visible_notification_received_;
-
- // map of notification id to the ToastNotificationHandler instance.
- typedef std::map<std::string, scoped_ptr<ToastNotificationHandler> >
- NotificationMap;
- NotificationMap notification_map_;
-
- // Synchronizes access to the notification_map_ member.
- base::Lock notification_lock_;
-
- // If the OSK covers the input area we scroll the window by the height of the
- // OSK + an additional offset. This member holds this offset. Set to 0 if the
- // window was not scrolled.
- int osk_offset_adjustment_;
-
- MetroDialogBox dialog_box_;
-};
-
-class ChromeAppViewFactory
- : public mswr::RuntimeClass<winapp::Core::IFrameworkViewSource> {
- public:
- ChromeAppViewFactory(winapp::Core::ICoreApplication* icore_app,
- LPTHREAD_START_ROUTINE host_main,
- void* host_context);
- IFACEMETHOD(CreateView)(winapp::Core::IFrameworkView** view);
-};
-
-// This function is exported by chrome.exe.
-typedef int (__cdecl *BreakpadExceptionHandler)(EXCEPTION_POINTERS* info);
-
-// Global information used across the metro driver.
-struct Globals {
- LPTHREAD_START_ROUTINE host_main;
- void* host_context;
- HWND core_window;
- // The pair below contains the HWND and a bool which indicates whether the
- // window was displaced to ensure that the focused region is visible when
- // the OSK is displayed.
- std::list<std::pair<HWND, bool> > host_windows;
- HANDLE host_thread;
- DWORD main_thread_id;
- ChromeAppView* view;
- WNDPROC g_core_proc;
- string16 navigation_url;
- string16 search_string;
- winapp::Activation::ApplicationExecutionState previous_state;
- winapp::Activation::ActivationKind initial_activation_kind;
- bool is_initial_activation;
- // This message loop lives in the app view's thread. Some operations have
- // to be initiated from that thread, notably spawning file pickers.
- base::MessageLoopProxy* appview_msg_loop;
- winapp::Core::ICoreApplicationExit* app_exit;
- BreakpadExceptionHandler breakpad_exception_handler;
- string16 metro_command_line_switches;
-};
-
-extern Globals globals;
-
-#endif // CHROME_BROWSER_UI_METRO_DRIVER_CHROME_APP_VIEW_H_