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

Side by Side Diff: chrome/browser/ui/webui/print_preview/print_preview_ui.cc

Issue 10535045: TabContentsWrapper -> TabContents, for printing code. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 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/ui/webui/print_preview/print_preview_ui.h" 5 #include "chrome/browser/ui/webui/print_preview/print_preview_ui.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/memory/ref_counted_memory.h" 10 #include "base/memory/ref_counted_memory.h"
11 #include "base/metrics/histogram.h" 11 #include "base/metrics/histogram.h"
12 #include "base/string_util.h" 12 #include "base/string_util.h"
13 #include "base/synchronization/lock.h" 13 #include "base/synchronization/lock.h"
14 #include "base/values.h" 14 #include "base/values.h"
15 #include "chrome/browser/browser_process.h" 15 #include "chrome/browser/browser_process.h"
16 #include "chrome/browser/printing/background_printing_manager.h" 16 #include "chrome/browser/printing/background_printing_manager.h"
17 #include "chrome/browser/printing/print_preview_data_service.h" 17 #include "chrome/browser/printing/print_preview_data_service.h"
18 #include "chrome/browser/printing/print_preview_tab_controller.h" 18 #include "chrome/browser/printing/print_preview_tab_controller.h"
19 #include "chrome/browser/profiles/profile.h" 19 #include "chrome/browser/profiles/profile.h"
20 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" 20 #include "chrome/browser/ui/tab_contents/tab_contents.h"
21 #include "chrome/browser/ui/webui/chrome_url_data_manager.h" 21 #include "chrome/browser/ui/webui/chrome_url_data_manager.h"
22 #include "chrome/browser/ui/webui/print_preview/print_preview_data_source.h" 22 #include "chrome/browser/ui/webui/print_preview/print_preview_data_source.h"
23 #include "chrome/browser/ui/webui/print_preview/print_preview_handler.h" 23 #include "chrome/browser/ui/webui/print_preview/print_preview_handler.h"
24 #include "chrome/common/print_messages.h" 24 #include "chrome/common/print_messages.h"
25 #include "content/public/browser/web_contents.h" 25 #include "content/public/browser/web_contents.h"
26 #include "printing/page_size_margins.h" 26 #include "printing/page_size_margins.h"
27 #include "printing/print_job_constants.h" 27 #include "printing/print_job_constants.h"
28 #include "ui/gfx/rect.h" 28 #include "ui/gfx/rect.h"
29 #include "ui/web_dialogs/web_dialog_delegate.h" 29 #include "ui/web_dialogs/web_dialog_delegate.h"
30 #include "ui/web_dialogs/web_dialog_ui.h" 30 #include "ui/web_dialogs/web_dialog_ui.h"
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 } 123 }
124 124
125 void PrintPreviewUI::SetInitiatorTabURLAndTitle( 125 void PrintPreviewUI::SetInitiatorTabURLAndTitle(
126 const std::string& initiator_url, 126 const std::string& initiator_url,
127 const string16& job_title) { 127 const string16& job_title) {
128 initiator_url_ = initiator_url; 128 initiator_url_ = initiator_url;
129 initiator_tab_title_ = job_title; 129 initiator_tab_title_ = job_title;
130 } 130 }
131 131
132 // static 132 // static
133 void PrintPreviewUI::SetSourceIsModifiable( 133 void PrintPreviewUI::SetSourceIsModifiable(TabContents* print_preview_tab,
134 TabContentsWrapper* print_preview_tab, 134 bool source_is_modifiable) {
135 bool source_is_modifiable) {
136 if (!print_preview_tab || !print_preview_tab->web_contents()->GetWebUI()) 135 if (!print_preview_tab || !print_preview_tab->web_contents()->GetWebUI())
137 return; 136 return;
138 PrintPreviewUI* print_preview_ui = static_cast<PrintPreviewUI*>( 137 PrintPreviewUI* print_preview_ui = static_cast<PrintPreviewUI*>(
139 print_preview_tab->web_contents()->GetWebUI()->GetController()); 138 print_preview_tab->web_contents()->GetWebUI()->GetController());
140 print_preview_ui->source_is_modifiable_ = source_is_modifiable; 139 print_preview_ui->source_is_modifiable_ = source_is_modifiable;
141 } 140 }
142 141
143 // static 142 // static
144 void PrintPreviewUI::GetCurrentPrintPreviewStatus( 143 void PrintPreviewUI::GetCurrentPrintPreviewStatus(
145 const std::string& preview_ui_addr, 144 const std::string& preview_ui_addr,
146 int request_id, 145 int request_id,
147 bool* cancel) { 146 bool* cancel) {
148 int current_id = -1; 147 int current_id = -1;
149 if (!g_print_preview_request_id_map.Get().Get(preview_ui_addr, &current_id)) { 148 if (!g_print_preview_request_id_map.Get().Get(preview_ui_addr, &current_id)) {
150 *cancel = true; 149 *cancel = true;
151 return; 150 return;
152 } 151 }
153 *cancel = (request_id != current_id); 152 *cancel = (request_id != current_id);
154 } 153 }
155 154
156 std::string PrintPreviewUI::GetPrintPreviewUIAddress() const { 155 std::string PrintPreviewUI::GetPrintPreviewUIAddress() const {
157 // Store the PrintPreviewUIAddress as a string. 156 // Store the PrintPreviewUIAddress as a string.
158 // "0x" + deadc0de + '\0' = 2 + 2 * sizeof(this) + 1; 157 // "0x" + deadc0de + '\0' = 2 + 2 * sizeof(this) + 1;
159 char preview_ui_addr[2 + (2 * sizeof(this)) + 1]; 158 char preview_ui_addr[2 + (2 * sizeof(this)) + 1];
160 base::snprintf(preview_ui_addr, sizeof(preview_ui_addr), "%p", this); 159 base::snprintf(preview_ui_addr, sizeof(preview_ui_addr), "%p", this);
161 return preview_ui_addr; 160 return preview_ui_addr;
162 } 161 }
163 162
164 void PrintPreviewUI::OnPrintPreviewTabClosed() { 163 void PrintPreviewUI::OnPrintPreviewTabClosed() {
165 TabContentsWrapper* preview_tab = 164 TabContents* preview_tab =
166 TabContentsWrapper::GetCurrentWrapperForContents( 165 TabContents::GetCurrentWrapperForContents(web_ui()->GetWebContents());
167 web_ui()->GetWebContents());
168 printing::BackgroundPrintingManager* background_printing_manager = 166 printing::BackgroundPrintingManager* background_printing_manager =
169 g_browser_process->background_printing_manager(); 167 g_browser_process->background_printing_manager();
170 if (background_printing_manager->HasPrintPreviewTab(preview_tab)) 168 if (background_printing_manager->HasPrintPreviewTab(preview_tab))
171 return; 169 return;
172 OnClosePrintPreviewTab(); 170 OnClosePrintPreviewTab();
173 } 171 }
174 172
175 void PrintPreviewUI::OnInitiatorTabClosed() { 173 void PrintPreviewUI::OnInitiatorTabClosed() {
176 TabContentsWrapper* preview_tab = 174 TabContents* preview_tab =
177 TabContentsWrapper::GetCurrentWrapperForContents( 175 TabContents::GetCurrentWrapperForContents(web_ui()->GetWebContents());
178 web_ui()->GetWebContents());
179 printing::BackgroundPrintingManager* background_printing_manager = 176 printing::BackgroundPrintingManager* background_printing_manager =
180 g_browser_process->background_printing_manager(); 177 g_browser_process->background_printing_manager();
181 if (background_printing_manager->HasPrintPreviewTab(preview_tab)) 178 if (background_printing_manager->HasPrintPreviewTab(preview_tab))
182 web_ui()->CallJavascriptFunction("cancelPendingPrintRequest"); 179 web_ui()->CallJavascriptFunction("cancelPendingPrintRequest");
183 else 180 else
184 OnClosePrintPreviewTab(); 181 OnClosePrintPreviewTab();
185 } 182 }
186 183
187 void PrintPreviewUI::OnPrintPreviewRequest(int request_id) { 184 void PrintPreviewUI::OnPrintPreviewRequest(int request_id) {
188 g_print_preview_request_id_map.Get().Set(preview_ui_addr_str_, request_id); 185 g_print_preview_request_id_map.Get().Set(preview_ui_addr_str_, request_id);
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 283
287 void PrintPreviewUI::OnInvalidPrinterSettings() { 284 void PrintPreviewUI::OnInvalidPrinterSettings() {
288 web_ui()->CallJavascriptFunction("invalidPrinterSettings"); 285 web_ui()->CallJavascriptFunction("invalidPrinterSettings");
289 } 286 }
290 287
291 PrintPreviewDataService* PrintPreviewUI::print_preview_data_service() { 288 PrintPreviewDataService* PrintPreviewUI::print_preview_data_service() {
292 return PrintPreviewDataService::GetInstance(); 289 return PrintPreviewDataService::GetInstance();
293 } 290 }
294 291
295 void PrintPreviewUI::OnHidePreviewTab() { 292 void PrintPreviewUI::OnHidePreviewTab() {
296 TabContentsWrapper* preview_tab = 293 TabContents* preview_tab =
297 TabContentsWrapper::GetCurrentWrapperForContents( 294 TabContents::GetCurrentWrapperForContents(web_ui()->GetWebContents());
298 web_ui()->GetWebContents());
299 printing::BackgroundPrintingManager* background_printing_manager = 295 printing::BackgroundPrintingManager* background_printing_manager =
300 g_browser_process->background_printing_manager(); 296 g_browser_process->background_printing_manager();
301 if (background_printing_manager->HasPrintPreviewTab(preview_tab)) 297 if (background_printing_manager->HasPrintPreviewTab(preview_tab))
302 return; 298 return;
303 299
304 ConstrainedWebDialogDelegate* delegate = GetConstrainedDelegate(); 300 ConstrainedWebDialogDelegate* delegate = GetConstrainedDelegate();
305 if (!delegate) 301 if (!delegate)
306 return; 302 return;
307 delegate->ReleaseTabContentsOnDialogClose(); 303 delegate->ReleaseTabContentsOnDialogClose();
308 background_printing_manager->OwnPrintPreviewTab(preview_tab); 304 background_printing_manager->OwnPrintPreviewTab(preview_tab);
(...skipping 11 matching lines...) Expand all
320 delegate->OnDialogCloseFromWebUI(); 316 delegate->OnDialogCloseFromWebUI();
321 } 317 }
322 318
323 void PrintPreviewUI::OnReloadPrintersList() { 319 void PrintPreviewUI::OnReloadPrintersList() {
324 web_ui()->CallJavascriptFunction("reloadPrintersList"); 320 web_ui()->CallJavascriptFunction("reloadPrintersList");
325 } 321 }
326 322
327 void PrintPreviewUI::OnPrintPreviewScalingDisabled() { 323 void PrintPreviewUI::OnPrintPreviewScalingDisabled() {
328 web_ui()->CallJavascriptFunction("printScalingDisabledForSourcePDF"); 324 web_ui()->CallJavascriptFunction("printScalingDisabledForSourcePDF");
329 } 325 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698