15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2011 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)function reportHeight() {
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  var msg = JSON.stringify({type:"size", size:document.body.offsetHeight});
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  parent.postMessage(msg, "*");
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)function frameLoaded() {
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  var links = document.getElementsByTagName("A");
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  for (i = 0; i < links.length; i++) {
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    var c = links[i].className;
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    if (c != "item_title" && c != "open_box") {
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      links[i].addEventListener("click", showStory);
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    }
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  window.addEventListener("message", messageHandler);
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)function showStory(event) {
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  var href = event.currentTarget.href;
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  parent.postMessage(JSON.stringify({type:"show", url:href}), "*");
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  event.preventDefault();
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)function messageHandler(event) {
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  reportHeight();
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)document.addEventListener('DOMContentLoaded', frameLoaded);
32