Index: win8/metro_driver/chrome_app_view_ash.h |
diff --git a/win8/metro_driver/chrome_app_view_ash.h b/win8/metro_driver/chrome_app_view_ash.h |
deleted file mode 100644 |
index ffe1d7e203d5fd2efc10c72cba0f28b0541c018f..0000000000000000000000000000000000000000 |
--- a/win8/metro_driver/chrome_app_view_ash.h |
+++ /dev/null |
@@ -1,262 +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 WIN8_METRO_DRIVER_CHROME_APP_VIEW_ASH_H_ |
-#define WIN8_METRO_DRIVER_CHROME_APP_VIEW_ASH_H_ |
- |
-#include <stdint.h> |
-#include <windows.applicationmodel.core.h> |
-#include <windows.ui.core.h> |
-#include <windows.ui.input.h> |
-#include <windows.ui.viewmanagement.h> |
- |
-#include "base/memory/scoped_ptr.h" |
-#include "base/message_loop/message_loop.h" |
-#include "base/strings/string16.h" |
-#include "base/threading/thread.h" |
-#include "ipc/ipc_listener.h" |
-#include "ui/events/event_constants.h" |
-#include "win8/metro_driver/direct3d_helper.h" |
-#include "win8/metro_driver/ime/ime_popup_observer.h" |
-#include "win8/metro_driver/ime/input_source_observer.h" |
-#include "win8/metro_driver/ime/text_service_delegate.h" |
- |
-namespace base { |
-class FilePath; |
-} |
- |
-namespace IPC { |
-class Listener; |
-class ChannelProxy; |
-} |
- |
-namespace metro_driver { |
-class InputSource; |
-class TextService; |
-} |
- |
-namespace metro_viewer { |
-struct CharacterBounds; |
-struct UnderlineInfo; |
-} |
- |
-class OpenFilePickerSession; |
-class SaveFilePickerSession; |
-class FolderPickerSession; |
-class FilePickerSessionBase; |
- |
-struct MetroViewerHostMsg_SaveAsDialogParams; |
- |
-enum MetroTerminateMethod { |
- TERMINATE_USING_KEY_SEQUENCE = 1, |
- TERMINATE_USING_PROCESS_EXIT = 2, |
-}; |
- |
-class ChromeAppViewAsh |
- : public mswr::RuntimeClass<winapp::Core::IFrameworkView>, |
- public metro_driver::ImePopupObserver, |
- public metro_driver::InputSourceObserver, |
- public metro_driver::TextServiceDelegate { |
- public: |
- ChromeAppViewAsh(); |
- ~ChromeAppViewAsh() override; |
- |
- // IViewProvider overrides. |
- IFACEMETHOD(Initialize)(winapp::Core::ICoreApplicationView* view) override; |
- IFACEMETHOD(SetWindow)(winui::Core::ICoreWindow* window) override; |
- IFACEMETHOD(Load)(HSTRING entryPoint) override; |
- IFACEMETHOD(Run)() override; |
- IFACEMETHOD(Uninitialize)() override; |
- |
- // Helper function to unsnap the chrome metro app if it is snapped. |
- // Returns S_OK on success. |
- static HRESULT Unsnap(); |
- |
- void OnActivateDesktop(const base::FilePath& file_path, bool ash_exit); |
- void OnOpenURLOnDesktop(const base::FilePath& shortcut, |
- const base::string16& url); |
- void OnSetCursor(HCURSOR cursor); |
- void OnDisplayFileOpenDialog(const base::string16& title, |
- const base::string16& filter, |
- const base::FilePath& default_path, |
- bool allow_multiple_files); |
- void OnDisplayFileSaveAsDialog( |
- const MetroViewerHostMsg_SaveAsDialogParams& params); |
- void OnDisplayFolderPicker(const base::string16& title); |
- void OnSetCursorPos(int x, int y); |
- |
- // This function is invoked when the open file operation completes. The |
- // result of the operation is passed in along with the OpenFilePickerSession |
- // instance which is deleted after we read the required information from |
- // the OpenFilePickerSession class. |
- void OnOpenFileCompleted(OpenFilePickerSession* open_file_picker, |
- bool success); |
- |
- // This function is invoked when the save file operation completes. The |
- // result of the operation is passed in along with the SaveFilePickerSession |
- // instance which is deleted after we read the required information from |
- // the SaveFilePickerSession class. |
- void OnSaveFileCompleted(SaveFilePickerSession* save_file_picker, |
- bool success); |
- |
- // This function is invoked when the folder picker operation completes. The |
- // result of the operation is passed in along with the FolderPickerSession |
- // instance which is deleted after we read the required information from |
- // the FolderPickerSession class. |
- void OnFolderPickerCompleted(FolderPickerSession* folder_picker, |
- bool success); |
- |
- void OnImeCancelComposition(); |
- void OnImeUpdateTextInputClient( |
- const std::vector<int32_t>& input_scopes, |
- const std::vector<metro_viewer::CharacterBounds>& character_bounds); |
- |
- void OnMetroExit(MetroTerminateMethod method); |
- |
- HWND core_window_hwnd() const { return core_window_hwnd_; } |
- |
- |
- private: |
- class PointerInfoHandler; |
- |
- // ImePopupObserver overrides. |
- void OnImePopupChanged(ImePopupObserver::EventType event) override; |
- |
- // InputSourceObserver overrides. |
- void OnInputSourceChanged() override; |
- |
- // TextServiceDelegate overrides. |
- void OnCompositionChanged( |
- const base::string16& text, |
- int32_t selection_start, |
- int32_t selection_end, |
- const std::vector<metro_viewer::UnderlineInfo>& underlines) override; |
- void OnTextCommitted(const base::string16& text) override; |
- |
- // Convenience for sending a MetroViewerHostMsg_MouseButton with the specified |
- // parameters. |
- void SendMouseButton(int x, |
- int y, |
- int extra, |
- ui::EventType event_type, |
- uint32_t flags, |
- ui::EventFlags changed_button, |
- bool is_horizontal_wheel); |
- |
- // Win8 only generates a mouse press for the initial button that goes down and |
- // a release when the last button is released. Any intermediary presses (or |
- // releases) do not result in a new press/release event. Instead a move is |
- // generated with the winui::Input::PointerUpdateKind identifying what |
- // changed. This function generates the necessary intermediary events (as |
- // necessary). |
- void GenerateMouseEventFromMoveIfNecessary(const PointerInfoHandler& pointer); |
- |
- HRESULT OnActivate(winapp::Core::ICoreApplicationView* view, |
- winapp::Activation::IActivatedEventArgs* args); |
- |
- HRESULT OnPointerMoved(winui::Core::ICoreWindow* sender, |
- winui::Core::IPointerEventArgs* args); |
- |
- HRESULT OnPointerPressed(winui::Core::ICoreWindow* sender, |
- winui::Core::IPointerEventArgs* args); |
- |
- HRESULT OnPointerReleased(winui::Core::ICoreWindow* sender, |
- winui::Core::IPointerEventArgs* args); |
- |
- HRESULT OnWheel(winui::Core::ICoreWindow* sender, |
- winui::Core::IPointerEventArgs* args); |
- |
- HRESULT OnKeyDown(winui::Core::ICoreWindow* sender, |
- winui::Core::IKeyEventArgs* args); |
- |
- HRESULT OnKeyUp(winui::Core::ICoreWindow* sender, |
- winui::Core::IKeyEventArgs* args); |
- |
- // Invoked for system keys like Alt, etc. |
- HRESULT OnAcceleratorKeyDown(winui::Core::ICoreDispatcher* sender, |
- winui::Core::IAcceleratorKeyEventArgs* args); |
- |
- HRESULT OnCharacterReceived(winui::Core::ICoreWindow* sender, |
- winui::Core::ICharacterReceivedEventArgs* args); |
- |
- HRESULT OnWindowActivated(winui::Core::ICoreWindow* sender, |
- winui::Core::IWindowActivatedEventArgs* args); |
- |
- // Helper to handle search requests received via the search charm in ASH. |
- HRESULT HandleSearchRequest(winapp::Activation::IActivatedEventArgs* args); |
- // Helper to handle http/https url requests in ASH. |
- HRESULT HandleProtocolRequest(winapp::Activation::IActivatedEventArgs* args); |
- |
- HRESULT OnEdgeGestureCompleted(winui::Input::IEdgeGesture* gesture, |
- winui::Input::IEdgeGestureEventArgs* args); |
- |
- // Tasks posted to the UI thread to initiate the search/url navigation |
- // requests. |
- void OnSearchRequest(const base::string16& search_string); |
- void OnNavigateToUrl(const base::string16& url); |
- |
- HRESULT OnSizeChanged(winui::Core::ICoreWindow* sender, |
- winui::Core::IWindowSizeChangedEventArgs* args); |
- |
- // This function checks if the Chrome browser channel is initialized. If yes |
- // then it goes ahead and starts up the viewer in Chrome OS mode. If not it |
- // posts a delayed task and checks again. It does this for a duration of 10 |
- // seconds and then bails. |
- void StartChromeOSMode(); |
- |
- mswr::ComPtr<winui::Core::ICoreWindow> window_; |
- mswr::ComPtr<winapp::Core::ICoreApplicationView> view_; |
- EventRegistrationToken activated_token_; |
- EventRegistrationToken pointermoved_token_; |
- EventRegistrationToken pointerpressed_token_; |
- EventRegistrationToken pointerreleased_token_; |
- EventRegistrationToken wheel_token_; |
- EventRegistrationToken keydown_token_; |
- EventRegistrationToken keyup_token_; |
- EventRegistrationToken character_received_token_; |
- EventRegistrationToken accel_keydown_token_; |
- EventRegistrationToken accel_keyup_token_; |
- EventRegistrationToken window_activated_token_; |
- EventRegistrationToken sizechange_token_; |
- EventRegistrationToken edgeevent_token_; |
- |
- // Keep state about which button is currently down, if any, as PointerMoved |
- // events do not contain that state, but Ash's MouseEvents need it. Value is |
- // as a bitmask of ui::EventFlags. |
- uint32_t mouse_down_flags_; |
- |
- // Set the D3D swap chain and nothing else. |
- metro_driver::Direct3DHelper direct3d_helper_; |
- |
- // The IPC channel IO thread. |
- scoped_ptr<base::Thread> io_thread_; |
- |
- // The channel to Chrome, in particular to the MetroViewerProcessHost. |
- scoped_ptr<IPC::ChannelProxy> ui_channel_; |
- |
- // The actual window behind the view surface. |
- HWND core_window_hwnd_; |
- |
- // UI message loop to allow message passing into this thread. |
- base::MessageLoopForUI ui_loop_; |
- |
- // For IME support. |
- scoped_ptr<metro_driver::InputSource> input_source_; |
- scoped_ptr<metro_driver::TextService> text_service_; |
- |
- // The metro device scale factor as reported by the winrt interfaces. |
- float metro_dpi_scale_; |
- // The win32 dpi scale which is queried via GetDeviceCaps. Please refer to |
- // ui/gfx/win/dpi.cc for more information. |
- float win32_dpi_scale_; |
- |
- // The cursor set by the chroem browser process. |
- HCURSOR last_cursor_; |
- |
- // Pointer to the channel listener for the channel between the viewer and |
- // the browser. |
- IPC::Listener* channel_listener_; |
-}; |
- |
-#endif // WIN8_METRO_DRIVER_CHROME_APP_VIEW_ASH_H_ |