| OLD | NEW | 
|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "chrome/browser/printing/print_dialog_cloud.h" | 5 #include "chrome/browser/printing/print_dialog_cloud.h" | 
| 6 #include "chrome/browser/printing/print_dialog_cloud_internal.h" | 6 #include "chrome/browser/printing/print_dialog_cloud_internal.h" | 
| 7 | 7 | 
| 8 #include "base/base64.h" | 8 #include "base/base64.h" | 
| 9 #include "base/bind.h" | 9 #include "base/bind.h" | 
| 10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" | 
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 99 // hitting the print button), the delegate is notified, and responds | 99 // hitting the print button), the delegate is notified, and responds | 
| 100 // that the dialog should be closed, at which point things are torn | 100 // that the dialog should be closed, at which point things are torn | 
| 101 // down and released. | 101 // down and released. | 
| 102 | 102 | 
| 103 // TODO(scottbyer): | 103 // TODO(scottbyer): | 
| 104 // http://code.google.com/p/chromium/issues/detail?id=44093 The | 104 // http://code.google.com/p/chromium/issues/detail?id=44093 The | 
| 105 // high-level flow (where the data is generated before even | 105 // high-level flow (where the data is generated before even | 
| 106 // bringing up the dialog) isn't what we want. | 106 // bringing up the dialog) isn't what we want. | 
| 107 | 107 | 
| 108 using content::BrowserThread; | 108 using content::BrowserThread; | 
|  | 109 using content::NavigationController; | 
| 109 using content::NavigationEntry; | 110 using content::NavigationEntry; | 
| 110 using content::WebContents; | 111 using content::WebContents; | 
| 111 using content::WebUIMessageHandler; | 112 using content::WebUIMessageHandler; | 
| 112 | 113 | 
| 113 namespace internal_cloud_print_helpers { | 114 namespace internal_cloud_print_helpers { | 
| 114 | 115 | 
| 115 // From the JSON parsed value, get the entries for the page setup | 116 // From the JSON parsed value, get the entries for the page setup | 
| 116 // parameters. | 117 // parameters. | 
| 117 bool GetPageSetupParameters(const std::string& json, | 118 bool GetPageSetupParameters(const std::string& json, | 
| 118                             PrintMsg_Print_Params& parameters) { | 119                             PrintMsg_Print_Params& parameters) { | 
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 296   web_ui()->RegisterMessageCallback("SendPrintData", | 297   web_ui()->RegisterMessageCallback("SendPrintData", | 
| 297       base::Bind(&CloudPrintFlowHandler::HandleSendPrintData, | 298       base::Bind(&CloudPrintFlowHandler::HandleSendPrintData, | 
| 298                  base::Unretained(this))); | 299                  base::Unretained(this))); | 
| 299   web_ui()->RegisterMessageCallback("SetPageParameters", | 300   web_ui()->RegisterMessageCallback("SetPageParameters", | 
| 300       base::Bind(&CloudPrintFlowHandler::HandleSetPageParameters, | 301       base::Bind(&CloudPrintFlowHandler::HandleSetPageParameters, | 
| 301                  base::Unretained(this))); | 302                  base::Unretained(this))); | 
| 302 | 303 | 
| 303   // Register for appropriate notifications, and re-direct the URL | 304   // Register for appropriate notifications, and re-direct the URL | 
| 304   // to the real server URL, now that we've gotten an HTML dialog | 305   // to the real server URL, now that we've gotten an HTML dialog | 
| 305   // going. | 306   // going. | 
| 306   content::NavigationController* controller = | 307   NavigationController* controller = | 
| 307       &web_ui()->web_contents()->GetController(); | 308       &web_ui()->web_contents()->GetController(); | 
| 308   NavigationEntry* pending_entry = controller->GetPendingEntry(); | 309   NavigationEntry* pending_entry = controller->GetPendingEntry(); | 
| 309   if (pending_entry) { | 310   if (pending_entry) { | 
| 310     Profile* profile = Profile::FromWebUI(web_ui()); | 311     Profile* profile = Profile::FromWebUI(web_ui()); | 
| 311     pending_entry->SetURL( | 312     pending_entry->SetURL( | 
| 312         CloudPrintURL(profile).GetCloudPrintServiceDialogURL()); | 313         CloudPrintURL(profile).GetCloudPrintServiceDialogURL()); | 
| 313   } | 314   } | 
| 314   registrar_.Add(this, content::NOTIFICATION_LOAD_STOP, | 315   registrar_.Add(this, content::NOTIFICATION_LOAD_STOP, | 
| 315                  content::Source<content::NavigationController>(controller)); | 316                  content::Source<NavigationController>(controller)); | 
| 316 } | 317 } | 
| 317 | 318 | 
| 318 void CloudPrintFlowHandler::Observe( | 319 void CloudPrintFlowHandler::Observe( | 
| 319     int type, | 320     int type, | 
| 320     const content::NotificationSource& source, | 321     const content::NotificationSource& source, | 
| 321     const content::NotificationDetails& details) { | 322     const content::NotificationDetails& details) { | 
| 322   if (type == content::NOTIFICATION_LOAD_STOP) { | 323   if (type == content::NOTIFICATION_LOAD_STOP) { | 
| 323     // Take the opportunity to set some (minimal) additional | 324     // Take the opportunity to set some (minimal) additional | 
| 324     // script permissions required for the web UI. | 325     // script permissions required for the web UI. | 
| 325     GURL url = web_ui()->web_contents()->GetURL(); | 326     GURL url = web_ui()->web_contents()->GetURL(); | 
| (...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 724                                                    file_type, | 725                                                    file_type, | 
| 725                                                    false, | 726                                                    false, | 
| 726                                                    delete_on_close); | 727                                                    delete_on_close); | 
| 727       return true; | 728       return true; | 
| 728     } | 729     } | 
| 729   } | 730   } | 
| 730   return false; | 731   return false; | 
| 731 } | 732 } | 
| 732 | 733 | 
| 733 }  // end namespace | 734 }  // end namespace | 
| OLD | NEW | 
|---|