| 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 #ifndef CHROME_BROWSER_UI_WEBUI_PRINT_PREVIEW_UI_H_ | 5 #ifndef CHROME_BROWSER_UI_WEBUI_PRINT_PREVIEW_UI_H_ |
| 6 #define CHROME_BROWSER_UI_WEBUI_PRINT_PREVIEW_UI_H_ | 6 #define CHROME_BROWSER_UI_WEBUI_PRINT_PREVIEW_UI_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 19 matching lines...) Expand all Loading... |
| 30 scoped_refptr<RefCountedBytes>* data); | 30 scoped_refptr<RefCountedBytes>* data); |
| 31 | 31 |
| 32 // Sets the print preview |data|. |index| is zero-based, and can be | 32 // Sets the print preview |data|. |index| is zero-based, and can be |
| 33 // |printing::COMPLETE_PREVIEW_DOCUMENT_INDEX| to set the entire preview | 33 // |printing::COMPLETE_PREVIEW_DOCUMENT_INDEX| to set the entire preview |
| 34 // document. | 34 // document. |
| 35 void SetPrintPreviewDataForIndex(int index, const RefCountedBytes* data); | 35 void SetPrintPreviewDataForIndex(int index, const RefCountedBytes* data); |
| 36 | 36 |
| 37 // Clear the existing print preview data. | 37 // Clear the existing print preview data. |
| 38 void ClearAllPreviewData(); | 38 void ClearAllPreviewData(); |
| 39 | 39 |
| 40 // Notify the Web UI that there is a print preview request. | 40 // Determines whether to cancel a print preview request based on |
| 41 // There should be a matching call to OnPreviewDataIsAvailable() or | 41 // |preview_ui_addr| and |request_id|. |
| 42 // OnPrintPreviewFailed(). | 42 // Can be called from any thread. |
| 43 void OnPrintPreviewRequest(); | 43 static void GetCurrentPrintPreviewStatus(const std::string& preview_ui_addr, |
| 44 int request_id, |
| 45 bool* cancel); |
| 46 |
| 47 // Returns a string to uniquely identify this PrintPreviewUI. |
| 48 std::string GetPrintPreviewUIAddress() const; |
| 49 |
| 50 // Notifies the Web UI of a print preview request with |request_id|. |
| 51 void OnPrintPreviewRequest(int request_id); |
| 44 | 52 |
| 45 // Notifies the Web UI about the page count of the request preview. | 53 // Notifies the Web UI about the page count of the request preview. |
| 46 void OnDidGetPreviewPageCount( | 54 void OnDidGetPreviewPageCount( |
| 47 const PrintHostMsg_DidGetPreviewPageCount_Params& params); | 55 const PrintHostMsg_DidGetPreviewPageCount_Params& params); |
| 48 | 56 |
| 49 // Notify the Web UI that the 0-based page |page_number| has been rendered. | 57 // Notify the Web UI that the 0-based page |page_number| has been rendered. |
| 50 // |preview_request_id| indicates wich request resulted in this response. | 58 // |preview_request_id| indicates wich request resulted in this response. |
| 51 void OnDidPreviewPage(int page_number, int preview_request_id); | 59 void OnDidPreviewPage(int page_number, int preview_request_id); |
| 52 | 60 |
| 53 // Notify the Web UI renderer that preview data is available. | 61 // Notify the Web UI renderer that preview data is available. |
| 54 // |expected_pages_count| specifies the total number of pages. | 62 // |expected_pages_count| specifies the total number of pages. |
| 55 // |job_title| is the title of the page being previewed. | 63 // |job_title| is the title of the page being previewed. |
| 56 // |preview_request_id| indicates wich request resulted in this response. | 64 // |preview_request_id| indicates wich request resulted in this response. |
| 57 void OnPreviewDataIsAvailable(int expected_pages_count, | 65 void OnPreviewDataIsAvailable(int expected_pages_count, |
| 58 const string16& job_title, | 66 const string16& job_title, |
| 59 int preview_request_id); | 67 int preview_request_id); |
| 60 | 68 |
| 61 void OnReusePreviewData(int preview_request_id); | 69 void OnReusePreviewData(int preview_request_id); |
| 62 | 70 |
| 63 // Notify the Web UI that a navigation has occurred in this tab. This is the | 71 // Notify the Web UI that a navigation has occurred in this tab. This is the |
| 64 // last chance to communicate with the source tab before the assocation is | 72 // last chance to communicate with the source tab before the assocation is |
| 65 // erased. | 73 // erased. |
| 66 void OnNavigation(); | 74 void OnNavigation(); |
| 67 | 75 |
| 68 // Notify the Web UI that the print preview failed to render. | 76 // Notify the Web UI that the print preview failed to render. |
| 69 void OnPrintPreviewFailed(); | 77 void OnPrintPreviewFailed(); |
| 70 | 78 |
| 71 // Notify the Web UI that the print preview request has been cancelled. | |
| 72 void OnPrintPreviewCancelled(); | |
| 73 | |
| 74 // Notify the Web UI that initiator tab is closed, so we can disable all | 79 // Notify the Web UI that initiator tab is closed, so we can disable all |
| 75 // the controls that need the initiator tab for generating the preview data. | 80 // the controls that need the initiator tab for generating the preview data. |
| 76 // |initiator_tab_url| is passed in order to display a more accurate error | 81 // |initiator_tab_url| is passed in order to display a more accurate error |
| 77 // message. | 82 // message. |
| 78 void OnInitiatorTabClosed(const std::string& initiator_tab_url); | 83 void OnInitiatorTabClosed(const std::string& initiator_tab_url); |
| 79 | 84 |
| 80 // Notify the Web UI renderer that file selection has been cancelled. | 85 // Notify the Web UI renderer that file selection has been cancelled. |
| 81 void OnFileSelectionCancelled(); | 86 void OnFileSelectionCancelled(); |
| 82 | 87 |
| 83 // Return true if there are pending requests. | |
| 84 bool HasPendingRequests(); | |
| 85 | |
| 86 int document_cookie(); | |
| 87 | |
| 88 private: | 88 private: |
| 89 // Helper function | 89 // Helper function |
| 90 PrintPreviewDataService* print_preview_data_service(); | 90 PrintPreviewDataService* print_preview_data_service(); |
| 91 | 91 |
| 92 void DecrementRequestCount(); | |
| 93 | |
| 94 base::TimeTicks initial_preview_start_time_; | 92 base::TimeTicks initial_preview_start_time_; |
| 95 | 93 |
| 96 // Store the PrintPreviewUI address string. | 94 // Store the PrintPreviewUI address string. |
| 97 std::string preview_ui_addr_str_; | 95 std::string preview_ui_addr_str_; |
| 98 | 96 |
| 99 // Weak pointer to the WebUI handler. | 97 // Weak pointer to the WebUI handler. |
| 100 PrintPreviewHandler* handler_; | 98 PrintPreviewHandler* handler_; |
| 101 | 99 |
| 102 // The number of print preview requests in flight. | |
| 103 uint32 request_count_; | |
| 104 | |
| 105 // Document cookie from the initiator renderer. | |
| 106 int document_cookie_; | |
| 107 | |
| 108 DISALLOW_COPY_AND_ASSIGN(PrintPreviewUI); | 100 DISALLOW_COPY_AND_ASSIGN(PrintPreviewUI); |
| 109 }; | 101 }; |
| 110 | 102 |
| 111 #endif // CHROME_BROWSER_UI_WEBUI_PRINT_PREVIEW_UI_H_ | 103 #endif // CHROME_BROWSER_UI_WEBUI_PRINT_PREVIEW_UI_H_ |
| OLD | NEW |