OLD | NEW |
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 "pdf/out_of_process_instance.h" | 5 #include "pdf/out_of_process_instance.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <algorithm> // for min/max() | 10 #include <algorithm> // for min/max() |
(...skipping 830 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
841 void OutOfProcessInstance::DidOpen(int32_t result) { | 841 void OutOfProcessInstance::DidOpen(int32_t result) { |
842 if (result == PP_OK) { | 842 if (result == PP_OK) { |
843 if (!engine_->HandleDocumentLoad(embed_loader_)) { | 843 if (!engine_->HandleDocumentLoad(embed_loader_)) { |
844 document_load_state_ = LOAD_STATE_LOADING; | 844 document_load_state_ = LOAD_STATE_LOADING; |
845 DocumentLoadFailed(); | 845 DocumentLoadFailed(); |
846 } | 846 } |
847 } else if (result != PP_ERROR_ABORTED) { // Can happen in tests. | 847 } else if (result != PP_ERROR_ABORTED) { // Can happen in tests. |
848 NOTREACHED(); | 848 NOTREACHED(); |
849 DocumentLoadFailed(); | 849 DocumentLoadFailed(); |
850 } | 850 } |
851 | |
852 // If it's a progressive load, cancel the stream URL request so that requests | |
853 // can be made on the original URL. | |
854 // TODO(raymes): Make this clearer once the in-process plugin is deleted. | |
855 if (engine_->IsProgressiveLoad()) { | |
856 pp::VarDictionary message; | |
857 message.Set(kType, kJSCancelStreamUrlType); | |
858 PostMessage(message); | |
859 } | |
860 } | 851 } |
861 | 852 |
862 void OutOfProcessInstance::DidOpenPreview(int32_t result) { | 853 void OutOfProcessInstance::DidOpenPreview(int32_t result) { |
863 if (result == PP_OK) { | 854 if (result == PP_OK) { |
864 preview_client_.reset(new PreviewModeClient(this)); | 855 preview_client_.reset(new PreviewModeClient(this)); |
865 preview_engine_.reset(PDFEngine::Create(preview_client_.get())); | 856 preview_engine_.reset(PDFEngine::Create(preview_client_.get())); |
866 preview_engine_->HandleDocumentLoad(embed_preview_loader_); | 857 preview_engine_->HandleDocumentLoad(embed_preview_loader_); |
867 } else { | 858 } else { |
868 NOTREACHED(); | 859 NOTREACHED(); |
869 } | 860 } |
(...skipping 601 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1471 } | 1462 } |
1472 | 1463 |
1473 bool OutOfProcessInstance::IsPrintPreview() { | 1464 bool OutOfProcessInstance::IsPrintPreview() { |
1474 return IsPrintPreviewUrl(url_); | 1465 return IsPrintPreviewUrl(url_); |
1475 } | 1466 } |
1476 | 1467 |
1477 uint32_t OutOfProcessInstance::GetBackgroundColor() { | 1468 uint32_t OutOfProcessInstance::GetBackgroundColor() { |
1478 return background_color_; | 1469 return background_color_; |
1479 } | 1470 } |
1480 | 1471 |
| 1472 void OutOfProcessInstance::CancelBrowserDownload() { |
| 1473 pp::VarDictionary message; |
| 1474 message.Set(kType, kJSCancelStreamUrlType); |
| 1475 PostMessage(message); |
| 1476 } |
| 1477 |
1481 void OutOfProcessInstance::IsSelectingChanged(bool is_selecting) { | 1478 void OutOfProcessInstance::IsSelectingChanged(bool is_selecting) { |
1482 pp::VarDictionary message; | 1479 pp::VarDictionary message; |
1483 message.Set(kType, kJSSetIsSelectingType); | 1480 message.Set(kType, kJSSetIsSelectingType); |
1484 message.Set(kJSIsSelecting, pp::Var(is_selecting)); | 1481 message.Set(kJSIsSelecting, pp::Var(is_selecting)); |
1485 PostMessage(message); | 1482 PostMessage(message); |
1486 } | 1483 } |
1487 | 1484 |
1488 void OutOfProcessInstance::ProcessPreviewPageInfo(const std::string& url, | 1485 void OutOfProcessInstance::ProcessPreviewPageInfo(const std::string& url, |
1489 int dst_page_index) { | 1486 int dst_page_index) { |
1490 if (!IsPrintPreview()) | 1487 if (!IsPrintPreview()) |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1527 const pp::FloatPoint& scroll_offset) { | 1524 const pp::FloatPoint& scroll_offset) { |
1528 float max_x = document_size_.width() * zoom_ - plugin_dip_size_.width(); | 1525 float max_x = document_size_.width() * zoom_ - plugin_dip_size_.width(); |
1529 float x = std::max(std::min(scroll_offset.x(), max_x), 0.0f); | 1526 float x = std::max(std::min(scroll_offset.x(), max_x), 0.0f); |
1530 float min_y = -top_toolbar_height_; | 1527 float min_y = -top_toolbar_height_; |
1531 float max_y = document_size_.height() * zoom_ - plugin_dip_size_.height(); | 1528 float max_y = document_size_.height() * zoom_ - plugin_dip_size_.height(); |
1532 float y = std::max(std::min(scroll_offset.y(), max_y), min_y); | 1529 float y = std::max(std::min(scroll_offset.y(), max_y), min_y); |
1533 return pp::FloatPoint(x, y); | 1530 return pp::FloatPoint(x, y); |
1534 } | 1531 } |
1535 | 1532 |
1536 } // namespace chrome_pdf | 1533 } // namespace chrome_pdf |
OLD | NEW |