| 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_
|
|
|