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

Unified Diff: chrome/browser/chromeos/dbus/printer_service_provider.cc

Issue 1130933005: Remove code for showing cloud print page on plugging-in a printer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update histograms Created 5 years, 7 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
Index: chrome/browser/chromeos/dbus/printer_service_provider.cc
diff --git a/chrome/browser/chromeos/dbus/printer_service_provider.cc b/chrome/browser/chromeos/dbus/printer_service_provider.cc
index 33cf85e3407598300e35121ec1be979912d7afe8..71edd30cf0c965a6002f081b246fbd8ad7a0e639 100644
--- a/chrome/browser/chromeos/dbus/printer_service_provider.cc
+++ b/chrome/browser/chromeos/dbus/printer_service_provider.cc
@@ -8,9 +8,6 @@
#include <limits>
-#include "ash/session/session_state_delegate.h"
-#include "ash/shell.h"
-#include "ash/wm/window_util.h"
#include "base/bind.h"
#include "base/bind_helpers.h"
#include "base/command_line.h"
@@ -20,28 +17,17 @@
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
-#include "base/sys_info.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/notifications/notification.h"
#include "chrome/browser/notifications/notification_delegate.h"
#include "chrome/browser/notifications/notification_ui_manager.h"
-#include "chrome/browser/profiles/profile_manager.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/browser_tabstrip.h"
-#include "chrome/browser/ui/browser_window.h"
-#include "chrome/browser/ui/scoped_tabbed_browser_displayer.h"
-#include "chrome/browser/ui/tab_contents/tab_contents_iterator.h"
-#include "chrome/browser/ui/tabs/tab_strip_model.h"
-#include "chrome/common/chrome_version_info.h"
#include "chrome/common/extensions/api/webstore_widget_private.h"
#include "chrome/common/extensions/extension_constants.h"
#include "chrome/grit/generated_resources.h"
#include "chromeos/chromeos_switches.h"
#include "components/user_manager/user.h"
#include "components/user_manager/user_manager.h"
-#include "content/public/browser/browser_thread.h"
-#include "content/public/browser/web_contents.h"
#include "dbus/bus.h"
#include "dbus/exported_object.h"
#include "dbus/message.h"
@@ -54,9 +40,7 @@
#include "extensions/common/permissions/permissions_data.h"
#include "extensions/common/permissions/usb_device_permission.h"
#include "grit/theme_resources.h"
-#include "net/base/escape.h"
#include "third_party/cros_system_api/dbus/service_constants.h"
-#include "ui/aura/window.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/resource/resource_bundle.h"
@@ -75,29 +59,13 @@ const char kNoPrinterProviderNotificationID[] =
enum PrinterServiceEvent {
PRINTER_ADDED,
- PAGE_DISPLAYED,
+ DEPRECATED_PAGE_DISPLAYED,
+ NOTIFICATION_SHOWN_PRINTER_SUPPORTED,
+ NOTIFICATION_SHOWN_PRINTER_NOT_SUPPORTED,
+ WEBSTORE_WIDGET_APP_LAUNCHED,
PRINTER_SERVICE_EVENT_MAX,
};
-// TODO(vitalybuka): update URL with more relevant information.
-const char kCloudPrintLearnUrl[] =
- "https://www.google.com/landing/cloudprint/index.html";
-
-void ActivateContents(Browser* browser, content::WebContents* contents) {
- browser->tab_strip_model()->ActivateTabAt(
- browser->tab_strip_model()->GetIndexOfWebContents(contents), false);
-}
-
-Browser* ActivateAndGetBrowserForUrl(GURL url) {
- for (TabContentsIterator it; !it.done(); it.Next()) {
- if (it->GetLastCommittedURL() == url) {
- ActivateContents(it.browser(), *it);
- return it.browser();
- }
- }
- return nullptr;
-}
-
bool HexStringToUInt16(const std::string& input, uint16* output) {
uint32 output_uint = 0;
if (!base::HexStringToUInt(input, &output_uint) ||
@@ -107,32 +75,6 @@ bool HexStringToUInt16(const std::string& input, uint16* output) {
return true;
}
-void FindOrOpenCloudPrintPage(const std::string& /* vendor */,
- const std::string& /* product */) {
- UMA_HISTOGRAM_ENUMERATION("PrinterService.PrinterServiceEvent", PRINTER_ADDED,
- PRINTER_SERVICE_EVENT_MAX);
- if (!ash::Shell::GetInstance()->session_state_delegate()->
- IsActiveUserSessionStarted() ||
- ash::Shell::GetInstance()->session_state_delegate()->IsScreenLocked()) {
- return;
- }
-
- Profile* profile = ProfileManager::GetLastUsedProfile();
- if (!profile)
- return;
-
- GURL url(kCloudPrintLearnUrl);
-
- if (!ActivateAndGetBrowserForUrl(url)) {
- chrome::ScopedTabbedBrowserDisplayer displayer(
- profile, chrome::HOST_DESKTOP_TYPE_ASH);
- UMA_HISTOGRAM_ENUMERATION("PrinterService.PrinterServiceEvent",
- PAGE_DISPLAYED, PRINTER_SERVICE_EVENT_MAX);
- chrome::AddSelectedTabWithURL(displayer.browser(), url,
- ui::PAGE_TRANSITION_LINK);
- }
-}
-
base::string16 GetNotificationTitle(uint16 vendor_id, uint16 product_id) {
const char* vendor_name = device::UsbIds::GetVendorName(vendor_id);
if (vendor_name) {
@@ -223,6 +165,9 @@ class SearchPrinterAppNotificationDelegate : public NotificationDelegate {
bool HasClickedListener() override { return true; }
void Click() override {
+ UMA_HISTOGRAM_ENUMERATION("PrinterService.PrinterServiceEvent",
+ WEBSTORE_WIDGET_APP_LAUNCHED,
+ PRINTER_SERVICE_EVENT_MAX);
webstore_widget_private_api::Options options;
options.type = webstore_widget_private_api::TYPE_PRINTER_PROVIDER;
options.usb_id.reset(new webstore_widget_private_api::UsbId());
@@ -282,6 +227,9 @@ void ShowPrinterPluggedNotification(
scoped_ptr<Notification> notification;
if (HasAppThatSupportsPrinter(profile, vendor_id, product_id)) {
+ UMA_HISTOGRAM_ENUMERATION("PrinterService.PrinterServiceEvent",
+ NOTIFICATION_SHOWN_PRINTER_SUPPORTED,
+ PRINTER_SERVICE_EVENT_MAX);
notification.reset(new Notification(
message_center::NOTIFICATION_TYPE_SIMPLE,
GURL(kPrinterProviderFoundNotificationID),
@@ -296,6 +244,9 @@ void ShowPrinterPluggedNotification(
new PrinterProviderExistsNotificationDelegate(vendor_id_str,
product_id_str)));
} else {
+ UMA_HISTOGRAM_ENUMERATION("PrinterService.PrinterServiceEvent",
+ NOTIFICATION_SHOWN_PRINTER_NOT_SUPPORTED,
+ PRINTER_SERVICE_EVENT_MAX);
message_center::RichNotificationData options;
options.clickable = true;
notification.reset(new Notification(
@@ -358,13 +309,6 @@ void PrinterServiceProvider::OnExported(
DVLOG(1) << "Method exported: " << interface_name << "." << method_name;
}
-void PrinterServiceProvider::ShowCloudPrintHelp(const std::string& vendor,
- const std::string& product) {
- content::BrowserThread::PostTask(content::BrowserThread::UI, FROM_HERE,
- base::Bind(&FindOrOpenCloudPrintPage, vendor,
- product));
-}
-
void PrinterServiceProvider::PrinterAdded(
dbus::MethodCall* method_call,
dbus::ExportedObject::ResponseSender response_sender) {
@@ -382,25 +326,18 @@ void PrinterServiceProvider::PrinterAdded(
// Send an empty response.
response_sender.Run(dbus::Response::FromMethodCall(method_call));
- if (base::CommandLine::ForCurrentProcess()->HasSwitch(
+ UMA_HISTOGRAM_ENUMERATION("PrinterService.PrinterServiceEvent", PRINTER_ADDED,
+ PRINTER_SERVICE_EVENT_MAX);
+
+ if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kEnablePrinterAppSearch)) {
- ShowPrinterPluggedNotification(
- notification_ui_manager_ ? notification_ui_manager_
- : g_browser_process->notification_ui_manager(),
- vendor_id, product_id);
return;
}
- // Disable showing Cloudprint help on canary and dev channel, as these have
- // support for printerProvider API.
- // TODO(tbarzic): Remove this and offer the user to search for an extension
- // that can act as a print driver (using printerProvider API) for USB printers
- // detected by this service. http://crbug.com/439448
- if (base::SysInfo::IsRunningOnChromeOS() &&
- chrome::VersionInfo::GetChannel() <= chrome::VersionInfo::CHANNEL_DEV)
- return;
-
- ShowCloudPrintHelp(vendor_id, product_id);
+ ShowPrinterPluggedNotification(
+ notification_ui_manager_ ? notification_ui_manager_
+ : g_browser_process->notification_ui_manager(),
+ vendor_id, product_id);
}
} // namespace chromeos

Powered by Google App Engine
This is Rietveld 408576698