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

Unified Diff: pdf/out_of_process_instance.cc

Issue 476733003: OOP PDF - Add support for "page" open pdf parameter (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Review feedback (hasParams -> paramIndex) Created 6 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/resources/pdf/pdf.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pdf/out_of_process_instance.cc
diff --git a/pdf/out_of_process_instance.cc b/pdf/out_of_process_instance.cc
index d1fd4173d8c48c40bc5b40b5f0835426b8a69e89..6a3a5181974977defb78713bc667e9171dd491f1 100644
--- a/pdf/out_of_process_instance.cc
+++ b/pdf/out_of_process_instance.cc
@@ -48,13 +48,6 @@
namespace chrome_pdf {
-// URL reference parameters.
-// For more possible parameters, see RFC 3778 and the "PDF Open Parameters"
-// document from Adobe.
-const char kDelimiters[] = "#&";
-const char kNamedDest[] = "nameddest";
-const char kPage[] = "page";
-
const char kChromePrint[] = "chrome://print/";
const char kChromeExtension[] =
"chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai";
@@ -1073,11 +1066,7 @@ void OutOfProcessInstance::DocumentLoadComplete(int page_count) {
// Note: If we are in print preview mode the scroll location is retained
// across document loads so we don't want to scroll again and override it.
- if (!IsPrintPreview()) {
- int initial_page = GetInitialPage(url_);
- if (initial_page >= 0)
- ScrollToPage(initial_page);
- } else {
+ if (IsPrintPreview()) {
AppendBlankPrintPreviewPages();
OnGeometryChanged(0, 0);
}
@@ -1304,49 +1293,6 @@ pp::URLLoader OutOfProcessInstance::CreateURLLoaderInternal() {
return loader;
}
-int OutOfProcessInstance::GetInitialPage(const std::string& url) {
- size_t found_idx = url.find('#');
- if (found_idx == std::string::npos)
- return -1;
-
- const std::string& ref = url.substr(found_idx + 1);
- std::vector<std::string> fragments;
- Tokenize(ref, kDelimiters, &fragments);
-
- // Page number to return, zero-based.
- int page = -1;
-
- // Handle the case of http://foo.com/bar#NAMEDDEST. This is not explicitly
- // mentioned except by example in the Adobe "PDF Open Parameters" document.
- if ((fragments.size() == 1) && (fragments[0].find('=') == std::string::npos))
- return engine_->GetNamedDestinationPage(fragments[0]);
-
- for (size_t i = 0; i < fragments.size(); ++i) {
- std::vector<std::string> key_value;
- base::SplitString(fragments[i], '=', &key_value);
- if (key_value.size() != 2)
- continue;
- const std::string& key = key_value[0];
- const std::string& value = key_value[1];
-
- if (base::strcasecmp(kPage, key.c_str()) == 0) {
- // |page_value| is 1-based.
- int page_value = -1;
- if (base::StringToInt(value, &page_value) && page_value > 0)
- page = page_value - 1;
- continue;
- }
- if (base::strcasecmp(kNamedDest, key.c_str()) == 0) {
- // |page_value| is 0-based.
- int page_value = engine_->GetNamedDestinationPage(value);
- if (page_value >= 0)
- page = page_value;
- continue;
- }
- }
- return page;
-}
-
void OutOfProcessInstance::SetZoom(double scale) {
double old_zoom = zoom_;
zoom_ = scale;
« no previous file with comments | « chrome/browser/resources/pdf/pdf.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698