Home | History | Annotate | Download | only in printing
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "chrome/browser/printing/print_preview_context_menu_observer.h"
      6 
      7 #include "base/logging.h"
      8 #include "chrome/app/chrome_command_ids.h"
      9 #include "chrome/browser/printing/print_preview_dialog_controller.h"
     10 
     11 PrintPreviewContextMenuObserver::PrintPreviewContextMenuObserver(
     12     content::WebContents* contents) : contents_(contents) {
     13 }
     14 
     15 PrintPreviewContextMenuObserver::~PrintPreviewContextMenuObserver() {
     16 }
     17 
     18 bool PrintPreviewContextMenuObserver::IsPrintPreviewDialog() {
     19   printing::PrintPreviewDialogController* controller =
     20       printing::PrintPreviewDialogController::GetInstance();
     21   if (!controller)
     22     return false;
     23   return (controller->GetPrintPreviewForContents(contents_) != NULL);
     24 }
     25 
     26 bool PrintPreviewContextMenuObserver::IsCommandIdSupported(int command_id) {
     27   switch (command_id) {
     28     case IDC_PRINT:
     29     case IDC_VIEW_SOURCE:
     30     case IDC_CONTENT_CONTEXT_VIEWFRAMESOURCE:
     31     case IDC_CONTENT_CONTEXT_VIEWPAGEINFO:
     32     case IDC_CONTENT_CONTEXT_SEARCHWEBFOR:
     33       return IsPrintPreviewDialog();
     34 
     35     default:
     36       return false;
     37   }
     38 }
     39 
     40 bool PrintPreviewContextMenuObserver::IsCommandIdEnabled(int command_id) {
     41   switch (command_id) {
     42     case IDC_PRINT:
     43     case IDC_VIEW_SOURCE:
     44     case IDC_CONTENT_CONTEXT_VIEWFRAMESOURCE:
     45     case IDC_CONTENT_CONTEXT_VIEWPAGEINFO:
     46     case IDC_CONTENT_CONTEXT_SEARCHWEBFOR:
     47       return false;
     48 
     49     default:
     50       NOTREACHED();
     51       return true;
     52   }
     53 }
     54