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

Side by Side Diff: pdf/out_of_process_instance.cc

Issue 1303103003: PDF: Use PDF metadata for the title instead of the last path element. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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 | « chrome/test/data/pdf/title_test.js ('k') | pdf/pdf_engine.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 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 const char kJSDocumentWidth[] = "width"; 70 const char kJSDocumentWidth[] = "width";
71 const char kJSDocumentHeight[] = "height"; 71 const char kJSDocumentHeight[] = "height";
72 const char kJSPageDimensions[] = "pageDimensions"; 72 const char kJSPageDimensions[] = "pageDimensions";
73 const char kJSPageX[] = "x"; 73 const char kJSPageX[] = "x";
74 const char kJSPageY[] = "y"; 74 const char kJSPageY[] = "y";
75 const char kJSPageWidth[] = "width"; 75 const char kJSPageWidth[] = "width";
76 const char kJSPageHeight[] = "height"; 76 const char kJSPageHeight[] = "height";
77 // Document load progress arguments (Plugin -> Page) 77 // Document load progress arguments (Plugin -> Page)
78 const char kJSLoadProgressType[] = "loadProgress"; 78 const char kJSLoadProgressType[] = "loadProgress";
79 const char kJSProgressPercentage[] = "progress"; 79 const char kJSProgressPercentage[] = "progress";
80 // Bookmarks 80 // Metadata
81 const char kJSBookmarksType[] = "bookmarks"; 81 const char kJSMetadataType[] = "metadata";
82 const char kJSBookmarks[] = "bookmarks"; 82 const char kJSBookmarks[] = "bookmarks";
83 const char kJSTitle[] = "title";
83 // Get password arguments (Plugin -> Page) 84 // Get password arguments (Plugin -> Page)
84 const char kJSGetPasswordType[] = "getPassword"; 85 const char kJSGetPasswordType[] = "getPassword";
85 // Get password complete arguments (Page -> Plugin) 86 // Get password complete arguments (Page -> Plugin)
86 const char kJSGetPasswordCompleteType[] = "getPasswordComplete"; 87 const char kJSGetPasswordCompleteType[] = "getPasswordComplete";
87 const char kJSPassword[] = "password"; 88 const char kJSPassword[] = "password";
88 // Print (Page -> Plugin) 89 // Print (Page -> Plugin)
89 const char kJSPrintType[] = "print"; 90 const char kJSPrintType[] = "print";
90 // Save (Page -> Plugin) 91 // Save (Page -> Plugin)
91 const char kJSSaveType[] = "save"; 92 const char kJSSaveType[] = "save";
92 // Go to page (Plugin -> Page) 93 // Go to page (Plugin -> Page)
(...skipping 1026 matching lines...) Expand 10 before | Expand all | Expand 10 after
1119 document_load_state_ = LOAD_STATE_COMPLETE; 1120 document_load_state_ = LOAD_STATE_COMPLETE;
1120 UserMetricsRecordAction("PDF.LoadSuccess"); 1121 UserMetricsRecordAction("PDF.LoadSuccess");
1121 1122
1122 // Note: If we are in print preview mode the scroll location is retained 1123 // Note: If we are in print preview mode the scroll location is retained
1123 // across document loads so we don't want to scroll again and override it. 1124 // across document loads so we don't want to scroll again and override it.
1124 if (IsPrintPreview()) { 1125 if (IsPrintPreview()) {
1125 AppendBlankPrintPreviewPages(); 1126 AppendBlankPrintPreviewPages();
1126 OnGeometryChanged(0, 0); 1127 OnGeometryChanged(0, 0);
1127 } 1128 }
1128 1129
1129 pp::VarDictionary bookmarks_message; 1130 pp::VarDictionary metadata_message;
1130 bookmarks_message.Set(pp::Var(kType), pp::Var(kJSBookmarksType)); 1131 metadata_message.Set(pp::Var(kType), pp::Var(kJSMetadataType));
1131 bookmarks_message.Set(pp::Var(kJSBookmarks), engine_->GetBookmarks()); 1132 std::string title = engine_->GetMetadata("Title");
1132 PostMessage(bookmarks_message); 1133 if (!title.empty())
1134 metadata_message.Set(pp::Var(kJSTitle), pp::Var(title));
1135
1136 metadata_message.Set(pp::Var(kJSBookmarks), engine_->GetBookmarks());
1137 PostMessage(metadata_message);
1133 1138
1134 pp::VarDictionary progress_message; 1139 pp::VarDictionary progress_message;
1135 progress_message.Set(pp::Var(kType), pp::Var(kJSLoadProgressType)); 1140 progress_message.Set(pp::Var(kType), pp::Var(kJSLoadProgressType));
1136 progress_message.Set(pp::Var(kJSProgressPercentage), pp::Var(100)); 1141 progress_message.Set(pp::Var(kJSProgressPercentage), pp::Var(100));
1137 PostMessage(progress_message); 1142 PostMessage(progress_message);
1138 1143
1139 if (!full_) 1144 if (!full_)
1140 return; 1145 return;
1141 1146
1142 if (did_call_start_loading_) { 1147 if (did_call_start_loading_) {
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after
1431 const pp::FloatPoint& scroll_offset) { 1436 const pp::FloatPoint& scroll_offset) {
1432 float max_x = document_size_.width() * zoom_ - plugin_dip_size_.width(); 1437 float max_x = document_size_.width() * zoom_ - plugin_dip_size_.width();
1433 float x = std::max(std::min(scroll_offset.x(), max_x), 0.0f); 1438 float x = std::max(std::min(scroll_offset.x(), max_x), 0.0f);
1434 float min_y = -top_toolbar_height_; 1439 float min_y = -top_toolbar_height_;
1435 float max_y = document_size_.height() * zoom_ - plugin_dip_size_.height(); 1440 float max_y = document_size_.height() * zoom_ - plugin_dip_size_.height();
1436 float y = std::max(std::min(scroll_offset.y(), max_y), min_y); 1441 float y = std::max(std::min(scroll_offset.y(), max_y), min_y);
1437 return pp::FloatPoint(x, y); 1442 return pp::FloatPoint(x, y);
1438 } 1443 }
1439 1444
1440 } // namespace chrome_pdf 1445 } // namespace chrome_pdf
OLDNEW
« no previous file with comments | « chrome/test/data/pdf/title_test.js ('k') | pdf/pdf_engine.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698