| 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_preview_message_handler.h" | 5 #include "chrome/browser/printing/print_preview_message_handler.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/memory/ref_counted.h" | 9 #include "base/memory/ref_counted.h" |
| 10 #include "chrome/browser/browser_process.h" | 10 #include "chrome/browser/browser_process.h" |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 112 TabContentsWrapper* wrapper = | 112 TabContentsWrapper* wrapper = |
| 113 TabContentsWrapper::GetCurrentWrapperForContents(print_preview_tab); | 113 TabContentsWrapper::GetCurrentWrapperForContents(print_preview_tab); |
| 114 | 114 |
| 115 if (params.reuse_existing_data) { | 115 if (params.reuse_existing_data) { |
| 116 // Need to match normal rendering where we are expected to send this. | 116 // Need to match normal rendering where we are expected to send this. |
| 117 print_preview_ui->OnDidGetPreviewPageCount(params.expected_pages_count); | 117 print_preview_ui->OnDidGetPreviewPageCount(params.expected_pages_count); |
| 118 | 118 |
| 119 print_preview_ui->OnPreviewDataIsAvailable( | 119 print_preview_ui->OnPreviewDataIsAvailable( |
| 120 params.expected_pages_count, | 120 params.expected_pages_count, |
| 121 wrapper->print_view_manager()->RenderSourceName(), | 121 wrapper->print_view_manager()->RenderSourceName(), |
| 122 params.modifiable); | 122 params.modifiable, |
| 123 params.preview_request_id); |
| 123 return; | 124 return; |
| 124 } | 125 } |
| 125 | 126 |
| 126 base::SharedMemory* shared_buf = | 127 base::SharedMemory* shared_buf = |
| 127 new base::SharedMemory(params.metafile_data_handle, true); | 128 new base::SharedMemory(params.metafile_data_handle, true); |
| 128 if (!shared_buf->Map(params.data_size)) { | 129 if (!shared_buf->Map(params.data_size)) { |
| 129 NOTREACHED(); | 130 NOTREACHED(); |
| 130 delete shared_buf; | 131 delete shared_buf; |
| 131 return; | 132 return; |
| 132 } | 133 } |
| 133 | 134 |
| 134 wrapper->print_view_manager()->OverrideTitle(tab_contents()); | 135 wrapper->print_view_manager()->OverrideTitle(tab_contents()); |
| 135 | 136 |
| 136 char* preview_data = static_cast<char*>(shared_buf->memory()); | 137 char* preview_data = static_cast<char*>(shared_buf->memory()); |
| 137 uint32 preview_data_size = params.data_size; | 138 uint32 preview_data_size = params.data_size; |
| 138 | 139 |
| 139 scoped_refptr<RefCountedBytes> html_bytes(new RefCountedBytes); | 140 scoped_refptr<RefCountedBytes> html_bytes(new RefCountedBytes); |
| 140 html_bytes->data.resize(preview_data_size); | 141 html_bytes->data.resize(preview_data_size); |
| 141 std::vector<unsigned char>::iterator it = html_bytes->data.begin(); | 142 std::vector<unsigned char>::iterator it = html_bytes->data.begin(); |
| 142 for (uint32 i = 0; i < preview_data_size; ++i, ++it) | 143 for (uint32 i = 0; i < preview_data_size; ++i, ++it) |
| 143 *it = *(preview_data + i); | 144 *it = *(preview_data + i); |
| 144 | 145 |
| 145 print_preview_ui->SetPrintPreviewData(html_bytes.get()); | 146 print_preview_ui->SetPrintPreviewData(html_bytes.get()); |
| 146 print_preview_ui->OnPreviewDataIsAvailable( | 147 print_preview_ui->OnPreviewDataIsAvailable( |
| 147 params.expected_pages_count, | 148 params.expected_pages_count, |
| 148 wrapper->print_view_manager()->RenderSourceName(), | 149 wrapper->print_view_manager()->RenderSourceName(), |
| 149 params.modifiable); | 150 params.modifiable, |
| 151 params.preview_request_id); |
| 150 } | 152 } |
| 151 | 153 |
| 152 void PrintPreviewMessageHandler::OnPrintPreviewFailed(int document_cookie) { | 154 void PrintPreviewMessageHandler::OnPrintPreviewFailed(int document_cookie) { |
| 153 // Always need to stop the worker. | 155 // Always need to stop the worker. |
| 154 StopWorker(document_cookie); | 156 StopWorker(document_cookie); |
| 155 | 157 |
| 156 // Inform the print preview tab of the failure. | 158 // Inform the print preview tab of the failure. |
| 157 TabContents* print_preview_tab = GetPrintPreviewTab(); | 159 TabContents* print_preview_tab = GetPrintPreviewTab(); |
| 158 // User might have closed it already. | 160 // User might have closed it already. |
| 159 if (!print_preview_tab) | 161 if (!print_preview_tab) |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 208 } | 210 } |
| 209 | 211 |
| 210 void PrintPreviewMessageHandler::DidStartLoading() { | 212 void PrintPreviewMessageHandler::DidStartLoading() { |
| 211 if (tab_contents()->delegate() && | 213 if (tab_contents()->delegate() && |
| 212 printing::PrintPreviewTabController::IsPrintPreviewTab(tab_contents())) { | 214 printing::PrintPreviewTabController::IsPrintPreviewTab(tab_contents())) { |
| 213 tab_contents()->SetContentRestrictions(CONTENT_RESTRICTION_PRINT); | 215 tab_contents()->SetContentRestrictions(CONTENT_RESTRICTION_PRINT); |
| 214 } | 216 } |
| 215 } | 217 } |
| 216 | 218 |
| 217 } // namespace printing | 219 } // namespace printing |
| OLD | NEW |