aboutsummaryrefslogtreecommitdiffstats
path: root/vimiumFrontend.js
diff options
context:
space:
mode:
Diffstat (limited to 'vimiumFrontend.js')
-rw-r--r--vimiumFrontend.js23
1 files changed, 7 insertions, 16 deletions
diff --git a/vimiumFrontend.js b/vimiumFrontend.js
index 80f3eeb1..9301ee28 100644
--- a/vimiumFrontend.js
+++ b/vimiumFrontend.js
@@ -33,27 +33,18 @@ chrome.extension.onConnect.addListener(function (port, name) {
else if (port.name == "getScrollPosition")
{
port.onMessage.addListener(function (args) {
-
- // These conditionals are necessary due to the following chrome/webkit bug:
- // http://code.google.com/p/chromium/issues/detail?id=2891
- //
- // There may be another bug or some javascript trickery necessary because scrollTop occasionally returns
- // 3 or 108 on some sites (cnn.com, nytimes.com for example).
- //
- // TODO(ilya): Is this actually also necessary for scrollLeft?
- var scrollTop = document.documentElement.scrollTop >= document.body.scrollTop ? document.documentElement.scrollTop :
- document.body.scrollTop;
- var scrollLeft = document.documentElement.scrollLeft >= document.body.scrollLeft ? document.documentElement.scrollLeft :
- document.body.scrollLeft;
- var scrollPort = chrome.extension.connect({name: "returnScrollPosition"});
- scrollPort.postMessage({ scrollTop: scrollTop, scrollLeft: scrollLeft, currentTab: args.currentTab });
-
+ var scrollPort = chrome.extension.connect({ name: "returnScrollPosition" });
+ scrollPort.postMessage({
+ scrollX: window.scrollX,
+ scrollY: window.scrollY,
+ currentTab: args.currentTab
+ });
});
}
else if (port.name == "setScrollPosition")
{
port.onMessage.addListener(function (args) {
- if (args.scrollTop > 0 || args.scrollLeft > 0) { window.scrollBy(args.scrollLeft, args.scrollTop); }
+ if (args.scrollX > 0 || args.scrollY > 0) { window.scrollBy(args.scrollX, args.scrollY); }
});
}
});