Index: chrome/browser/resources/pdf/pdf.js |
diff --git a/chrome/browser/resources/pdf/pdf.js b/chrome/browser/resources/pdf/pdf.js |
index d4beae6f9cb67452e8f9801ab982b911f3bd0990..727991c0ba2cd95ea96b150c263e1a4787e01240 100644 |
--- a/chrome/browser/resources/pdf/pdf.js |
+++ b/chrome/browser/resources/pdf/pdf.js |
@@ -604,6 +604,28 @@ PDFViewer.prototype = { |
'&body=' + message.data.body; |
window.location.href = href; |
break; |
+ case 'getLinkPositionReply': |
+ var visiblePage = this.viewport_.getMostVisiblePage(); |
+ var visiblePageDimensions = |
+ this.viewport_.getPageScreenRect(visiblePage); |
+ |
+ var linkExists = false; |
+ var viewportCoordinateX; |
+ var viewportCoordinateY; |
+ if (message.data.x !== undefined && message.data.y !== undefined) { |
raymes
2016/07/13 02:03:25
The position of the first link in the test documen
|
+ linkExists = true; |
+ viewportCoordinateX = message.data.x + visiblePageDimensions.x; |
+ viewportCoordinateY = message.data.y + visiblePageDimensions.y + |
+ PDFViewer.MATERIAL_TOOLBAR_HEIGHT; |
+ } |
+ |
+ this.sendScriptingMessage_({ |
+ type: 'getLinkPositionReply', |
+ linkExists: linkExists, |
+ x: viewportCoordinateX, |
+ y: viewportCoordinateY |
+ }); |
+ break; |
case 'getPassword': |
// If the password screen isn't up, put it up. Otherwise we're |
// responding to an incorrect password so deny it. |
@@ -779,6 +801,7 @@ PDFViewer.prototype = { |
} |
switch (message.data.type.toString()) { |
+ case 'getLinkPosition': |
case 'getSelectedText': |
case 'print': |
case 'selectAll': |