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

Unified Diff: win8/metro_driver/chrome_url_launch_handler.cc

Issue 1815463002: Remove win8/metro_driver (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 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 | « win8/metro_driver/chrome_url_launch_handler.h ('k') | win8/metro_driver/devices_handler.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: win8/metro_driver/chrome_url_launch_handler.cc
diff --git a/win8/metro_driver/chrome_url_launch_handler.cc b/win8/metro_driver/chrome_url_launch_handler.cc
deleted file mode 100644
index f37706c3735b807c24fe386001f82f2575291cc6..0000000000000000000000000000000000000000
--- a/win8/metro_driver/chrome_url_launch_handler.cc
+++ /dev/null
@@ -1,207 +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.
-
-#include "stdafx.h"
-#include "chrome_url_launch_handler.h"
-#include "chrome_app_view.h"
-
-#include <assert.h>
-#include <shellapi.h>
-#include <shlobj.h>
-#include <string>
-
-#include "base/command_line.h"
-
-#include "winrt_utils.h"
-
-typedef winfoundtn::ITypedEventHandler<
- winapp::Search::SearchPane*,
- winapp::Search::SearchPaneQuerySubmittedEventArgs*> QuerySubmittedHandler;
-
-ChromeUrlLaunchHandler::ChromeUrlLaunchHandler() {
- globals.is_initial_activation = true;
- globals.initial_activation_kind = winapp::Activation::ActivationKind_Launch;
- DVLOG(1) << __FUNCTION__;
-}
-
-// TODO(ananta)
-// Remove this once we consolidate metro driver with chrome.
-const wchar_t kMetroNavigationAndSearchMessage[] =
- L"CHROME_METRO_NAV_SEARCH_REQUEST";
-
-ChromeUrlLaunchHandler::~ChromeUrlLaunchHandler() {
- DVLOG(1) << __FUNCTION__;
- search_pane_->remove_QuerySubmitted(query_submitted_token_);
-}
-
-HRESULT ChromeUrlLaunchHandler::Initialize() {
- mswr::ComPtr<winapp::Search::ISearchPaneStatics> search_pane_statics;
- HRESULT hr = winrt_utils::CreateActivationFactory(
- RuntimeClass_Windows_ApplicationModel_Search_SearchPane,
- search_pane_statics.GetAddressOf());
- CheckHR(hr, "Failed to activate ISearchPaneStatics");
-
- hr = search_pane_statics->GetForCurrentView(&search_pane_);
- if (FAILED(hr)) {
- LOG(ERROR) << "Failed to get search pane for current view";
- return hr;
- }
-
- hr = search_pane_->add_QuerySubmitted(mswr::Callback<QuerySubmittedHandler>(
- this,
- &ChromeUrlLaunchHandler::OnQuerySubmitted).Get(),
- &query_submitted_token_);
- if (FAILED(hr)) {
- LOG(ERROR) << "Failed to register for Query Submitted event";
- return hr;
- }
- return hr;
-}
-
-HRESULT ChromeUrlLaunchHandler::OnQuerySubmitted(
- winapp::Search::ISearchPane* search_pane,
- winapp::Search::ISearchPaneQuerySubmittedEventArgs* args) {
- DVLOG(1) << "OnQuerySubmitted";
- HandleSearchRequest(args);
- return S_OK;
-}
-
-template<class T>
-void ChromeUrlLaunchHandler::HandleSearchRequest(T* args) {
- DVLOG(1) << __FUNCTION__;
- mswrw::HString search_string;
- args->get_QueryText(search_string.GetAddressOf());
- base::string16 search_text(MakeStdWString(search_string.Get()));
- globals.search_string = search_text;
- DVLOG(1) << search_text.c_str();
- // If this is the initial activation then we wait for Chrome to initiate the
- // navigation. In all other cases navigate right away.
- if (!globals.is_initial_activation)
- InitiateNavigationOrSearchRequest(NULL, globals.search_string.c_str());
-}
-
-void ChromeUrlLaunchHandler::HandleProtocolLaunch(
- winapp::Activation::IProtocolActivatedEventArgs* args) {
- DVLOG(1) << __FUNCTION__;
- mswr::ComPtr<winfoundtn::IUriRuntimeClass> uri;
- args->get_Uri(&uri);
- mswrw::HString url;
- uri->get_AbsoluteUri(url.GetAddressOf());
- base::string16 actual_url(MakeStdWString(url.Get()));
- globals.navigation_url = actual_url;
-
- // If this is the initial activation then we wait for Chrome to initiate the
- // navigation. In all other cases navigate right away.
- if (!globals.is_initial_activation)
- InitiateNavigationOrSearchRequest(globals.navigation_url.c_str(), 0);
-}
-
-// |launch_args| is an encoded command line, minus the executable name. To
-// find the URL to launch the first argument is used. If any other parameters
-// are encoded in |launch_args| they are ignored.
-base::string16 ChromeUrlLaunchHandler::GetUrlFromLaunchArgs(
- const base::string16& launch_args) {
- if (launch_args == L"opennewwindow") {
- VLOG(1) << "Returning new tab url";
- return L"chrome://newtab";
- }
- base::string16 dummy_command_line(L"dummy.exe ");
- dummy_command_line.append(launch_args);
- base::CommandLine command_line =
- base::CommandLine::FromString(dummy_command_line);
- base::CommandLine::StringVector args = command_line.GetArgs();
- if (args.size() > 0)
- return args[0];
-
- return base::string16();
-}
-
-void ChromeUrlLaunchHandler::HandleLaunch(
- winapp::Activation::ILaunchActivatedEventArgs* args) {
- mswrw::HString launch_args;
- args->get_Arguments(launch_args.GetAddressOf());
- base::string16 actual_launch_args(MakeStdWString(launch_args.Get()));
- globals.navigation_url = GetUrlFromLaunchArgs(actual_launch_args);
- DVLOG(1) << __FUNCTION__ << ", launch_args=" << actual_launch_args
- << ", url=" << globals.navigation_url
- << ", is_initial_activation=" << globals.is_initial_activation;
-
- // If this is the initial launch then we wait for Chrome to initiate the
- // navigation. In all other cases navigate right away.
- if (!globals.is_initial_activation)
- InitiateNavigationOrSearchRequest(globals.navigation_url.c_str(), 0);
-}
-
-void ChromeUrlLaunchHandler::Activate(
- winapp::Activation::IActivatedEventArgs* args) {
- winapp::Activation::ActivationKind activation_kind;
- CheckHR(args->get_Kind(&activation_kind));
-
- DVLOG(1) << __FUNCTION__ << ", activation_kind=" << activation_kind;
-
- if (globals.is_initial_activation)
- globals.initial_activation_kind = activation_kind;
-
- if (activation_kind == winapp::Activation::ActivationKind_Launch) {
- mswr::ComPtr<winapp::Activation::ILaunchActivatedEventArgs> launch_args;
- if (args->QueryInterface(winapp::Activation::IID_ILaunchActivatedEventArgs,
- &launch_args) == S_OK) {
- DVLOG(1) << "Activate: ActivationKind_Launch";
- HandleLaunch(launch_args.Get());
- }
- } else if (activation_kind ==
- winapp::Activation::ActivationKind_Search) {
- mswr::ComPtr<winapp::Activation::ISearchActivatedEventArgs> search_args;
- if (args->QueryInterface(winapp::Activation::IID_ISearchActivatedEventArgs,
- &search_args) == S_OK) {
- DVLOG(1) << "Activate: ActivationKind_Search";
- HandleSearchRequest(search_args.Get());
- }
- } else if (activation_kind ==
- winapp::Activation::ActivationKind_Protocol) {
- mswr::ComPtr<winapp::Activation::IProtocolActivatedEventArgs>
- protocol_args;
- if (args->QueryInterface(
- winapp::Activation::IID_IProtocolActivatedEventArgs,
- &protocol_args) == S_OK) {
- DVLOG(1) << "Activate: ActivationKind_Protocol";
- HandleProtocolLaunch(protocol_args.Get());
- }
- } else {
- DVLOG(1) << "Activate: Unhandled mode: " << activation_kind;
- }
-}
-
-void ChromeUrlLaunchHandler::InitiateNavigationOrSearchRequest(
- const wchar_t* url, const wchar_t* search_string) {
- DVLOG(1) << __FUNCTION__;
- if (!url && !search_string) {
- NOTREACHED();
- return;
- }
-
- DVLOG(1) << (url ? url : L"NULL url");
- DVLOG(1) << (search_string ? search_string : L"NULL search string");
-
- if (globals.host_windows.empty()) {
- DVLOG(1) << "No chrome windows registered. Ignoring nav request";
- return;
- }
-
- // Custom registered message to navigate or search in chrome. WPARAM
- // points to the URL and LPARAM contains the search string. They are
- // mutually exclusive.
- static const UINT navigation_search_message =
- RegisterWindowMessage(kMetroNavigationAndSearchMessage);
-
- if (url) {
- VLOG(1) << "Posting url:" << url;
- PostMessage(globals.host_windows.front().first, navigation_search_message,
- reinterpret_cast<WPARAM>(url), 0);
- } else {
- VLOG(1) << "Posting search string:" << search_string;
- PostMessage(globals.host_windows.front().first, navigation_search_message,
- 0, reinterpret_cast<LPARAM>(search_string));
- }
-}
« no previous file with comments | « win8/metro_driver/chrome_url_launch_handler.h ('k') | win8/metro_driver/devices_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698