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

Side by Side Diff: pdf/out_of_process_instance.cc

Issue 554893002: [WORK_IN_PROGRESS] PDF::Save() fix for out-of-process-pdf. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: better fix for constrained windows Created 6 years, 3 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
« no previous file with comments | « pdf/instance.cc ('k') | ppapi/c/private/ppb_pdf.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "pdf/out_of_process_instance.h" 5 #include "pdf/out_of_process_instance.h"
6 6
7 #include <algorithm> // for min/max() 7 #include <algorithm> // for min/max()
8 #define _USE_MATH_DEFINES // for M_PI 8 #define _USE_MATH_DEFINES // for M_PI
9 #include <cmath> // for log() and pow() 9 #include <cmath> // for log() and pow()
10 #include <math.h> 10 #include <math.h>
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 // Document load progress arguments (Plugin -> Page) 78 // Document load progress arguments (Plugin -> Page)
79 const char kJSLoadProgressType[] = "loadProgress"; 79 const char kJSLoadProgressType[] = "loadProgress";
80 const char kJSProgressPercentage[] = "progress"; 80 const char kJSProgressPercentage[] = "progress";
81 // Get password arguments (Plugin -> Page) 81 // Get password arguments (Plugin -> Page)
82 const char kJSGetPasswordType[] = "getPassword"; 82 const char kJSGetPasswordType[] = "getPassword";
83 // Get password complete arguments (Page -> Plugin) 83 // Get password complete arguments (Page -> Plugin)
84 const char kJSGetPasswordCompleteType[] = "getPasswordComplete"; 84 const char kJSGetPasswordCompleteType[] = "getPasswordComplete";
85 const char kJSPassword[] = "password"; 85 const char kJSPassword[] = "password";
86 // Print (Page -> Plugin) 86 // Print (Page -> Plugin)
87 const char kJSPrintType[] = "print"; 87 const char kJSPrintType[] = "print";
88 // Save (Page -> Plugin)
89 const char kJSSaveType[] = "save";
88 // Go to page (Plugin -> Page) 90 // Go to page (Plugin -> Page)
89 const char kJSGoToPageType[] = "goToPage"; 91 const char kJSGoToPageType[] = "goToPage";
90 const char kJSPageNumber[] = "page"; 92 const char kJSPageNumber[] = "page";
91 // Reset print preview mode (Page -> Plugin) 93 // Reset print preview mode (Page -> Plugin)
92 const char kJSResetPrintPreviewModeType[] = "resetPrintPreviewMode"; 94 const char kJSResetPrintPreviewModeType[] = "resetPrintPreviewMode";
93 const char kJSPrintPreviewUrl[] = "url"; 95 const char kJSPrintPreviewUrl[] = "url";
94 const char kJSPrintPreviewGrayscale[] = "grayscale"; 96 const char kJSPrintPreviewGrayscale[] = "grayscale";
95 const char kJSPrintPreviewPageCount[] = "pageCount"; 97 const char kJSPrintPreviewPageCount[] = "pageCount";
96 // Load preview page (Page -> Plugin) 98 // Load preview page (Page -> Plugin)
97 const char kJSLoadPreviewPageType[] = "loadPreviewPage"; 99 const char kJSLoadPreviewPageType[] = "loadPreviewPage";
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 if (password_callback_) { 370 if (password_callback_) {
369 pp::CompletionCallbackWithOutput<pp::Var> callback = *password_callback_; 371 pp::CompletionCallbackWithOutput<pp::Var> callback = *password_callback_;
370 password_callback_.reset(); 372 password_callback_.reset();
371 *callback.output() = dict.Get(pp::Var(kJSPassword)).pp_var(); 373 *callback.output() = dict.Get(pp::Var(kJSPassword)).pp_var();
372 callback.Run(PP_OK); 374 callback.Run(PP_OK);
373 } else { 375 } else {
374 NOTREACHED(); 376 NOTREACHED();
375 } 377 }
376 } else if (type == kJSPrintType) { 378 } else if (type == kJSPrintType) {
377 Print(); 379 Print();
380 } else if (type == kJSSaveType) {
381 printf("url_: %s\n", url_.c_str());
382 pp::PDF::SaveAs(this, url_);
378 } else if (type == kJSResetPrintPreviewModeType && 383 } else if (type == kJSResetPrintPreviewModeType &&
379 dict.Get(pp::Var(kJSPrintPreviewUrl)).is_string() && 384 dict.Get(pp::Var(kJSPrintPreviewUrl)).is_string() &&
380 dict.Get(pp::Var(kJSPrintPreviewGrayscale)).is_bool() && 385 dict.Get(pp::Var(kJSPrintPreviewGrayscale)).is_bool() &&
381 dict.Get(pp::Var(kJSPrintPreviewPageCount)).is_int()) { 386 dict.Get(pp::Var(kJSPrintPreviewPageCount)).is_int()) {
382 url_ = dict.Get(pp::Var(kJSPrintPreviewUrl)).AsString(); 387 url_ = dict.Get(pp::Var(kJSPrintPreviewUrl)).AsString();
383 preview_pages_info_ = std::queue<PreviewPageInfo>(); 388 preview_pages_info_ = std::queue<PreviewPageInfo>();
384 preview_document_load_state_ = LOAD_STATE_COMPLETE; 389 preview_document_load_state_ = LOAD_STATE_COMPLETE;
385 document_load_state_ = LOAD_STATE_LOADING; 390 document_load_state_ = LOAD_STATE_LOADING;
386 LoadUrl(url_); 391 LoadUrl(url_);
387 preview_engine_.reset(); 392 preview_engine_.reset();
(...skipping 972 matching lines...) Expand 10 before | Expand all | Expand 10 after
1360 pp::Point OutOfProcessInstance::BoundScrollOffsetToDocument( 1365 pp::Point OutOfProcessInstance::BoundScrollOffsetToDocument(
1361 const pp::Point& scroll_offset) { 1366 const pp::Point& scroll_offset) {
1362 int max_x = document_size_.width() * zoom_ - plugin_dip_size_.width(); 1367 int max_x = document_size_.width() * zoom_ - plugin_dip_size_.width();
1363 int x = std::max(std::min(scroll_offset.x(), max_x), 0); 1368 int x = std::max(std::min(scroll_offset.x(), max_x), 0);
1364 int max_y = document_size_.height() * zoom_ - plugin_dip_size_.height(); 1369 int max_y = document_size_.height() * zoom_ - plugin_dip_size_.height();
1365 int y = std::max(std::min(scroll_offset.y(), max_y), 0); 1370 int y = std::max(std::min(scroll_offset.y(), max_y), 0);
1366 return pp::Point(x, y); 1371 return pp::Point(x, y);
1367 } 1372 }
1368 1373
1369 } // namespace chrome_pdf 1374 } // namespace chrome_pdf
OLDNEW
« no previous file with comments | « pdf/instance.cc ('k') | ppapi/c/private/ppb_pdf.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698