diff options
| author | anekos | 2008-12-18 13:57:26 +0000 | 
|---|---|---|
| committer | anekos | 2008-12-18 13:57:26 +0000 | 
| commit | 356cfec1fb32d4c4f202dfab16a85d935b057590 (patch) | |
| tree | effb4c026bb1ab7164a728590bd8b71ea9597fcc | |
| parent | d6f0e829fb8f2bd1783f2cc4b64ece322b2e2620 (diff) | |
| download | vimperator-plugins-356cfec1fb32d4c4f202dfab16a85d935b057590.tar.bz2 | |
高さが戻らないバグが修正されてなかったので修正。
ちょっと掃除。
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@27028 d0d07461-0603-4401-acd4-de1884942a52
| -rw-r--r-- | stella.js | 56 | 
1 files changed, 27 insertions, 29 deletions
| @@ -773,35 +773,6 @@ Thanks:      get fullscreen () !!this.storage.fullscreen,      set fullscreen (value) { -      value = !!value; -      if (this.storage.fullscreen === value) -        return; - -      this.storage.fullscreen = value; - -      let self = this, player = this.player, -          win = content.wrappedJSObject, doc = content.document.wrappedJSObject; - -      if (player.ext_getVideoSize() === 'fit') -        player.ext_setVideoSize('normal'); - -      if (value) { -        // toggleMaximizePlayer でサイズが変わってしまうのであらかじめ保存しておく… -        let oldStyle = content.getComputedStyle(player, ''); -        win.toggleMaximizePlayer(); -        turnOn(); -        // 保存したもので修正する -        player.style.__stella_backup.height = oldStyle.height; -        win.onresize = fixFullscreen; -      } else { -        win.toggleMaximizePlayer(); -        turnOff(); -        delete win.onresize; -      } -      win.scrollTo(0, 0); - -      // 以下関数定義のみ - setVariables turnOn/Off fixFullscreen -        function setVariables (fullscreen) {          NicoPlayer.Variables.forEach(function ([name, normal, full]) {            let v = fullscreen ? full : normal; @@ -811,6 +782,10 @@ Thanks:        }        function turnOn () { +        // toggleMaximizePlayer でサイズが変わってしまうのであらかじめ保存しておく… +        let oldHeight = content.getComputedStyle(player, '').height; +        win.toggleMaximizePlayer(); +          let viewer = {w: 544, h: 384};          let screen = {            w: content.innerWidth, @@ -821,6 +796,7 @@ Thanks:            h: Math.max(1, screen.h / viewer.h)          };          scale.v = Math.min(scale.w, scale.h); +          U.storeStyle(doc.body, {            backgroundImage:  'url()',            backgroundRepeat: '', @@ -840,12 +816,19 @@ Thanks:              marginTop:  ((screen.h - viewer.h * scale.w) / 2) + 'px'            }          ); +        // 保存したもので修正する for toggleMaximizePlayer問題 +        player.style.__stella_backup.height = oldHeight; +          player.SetVariable('videowindow._xscale', 100 * scale.v);          player.SetVariable('videowindow._yscale', 100 * scale.v);          setVariables(true); + +        win.onresize = fixFullscreen;        }        function turnOff () { +        delete win.onresize; +        win.toggleMaximizePlayer();          U.restoreStyle(doc.body, true);          U.restoreStyle(player, true);          player.style.marginLeft = ''; @@ -856,6 +839,21 @@ Thanks:        function fixFullscreen ()          ((InVimperator && liberator.mode === modes.COMMAND_LINE) || setTimeout(turnOn, 500)); +      // メイン +      value = !!value; +      if (this.storage.fullscreen === value) +        return; + +      this.storage.fullscreen = value; + +      let self = this, player = this.player, +          win = content.wrappedJSObject, doc = content.document.wrappedJSObject; + +      if (player.ext_getVideoSize() === 'fit') +        player.ext_setVideoSize('normal'); + +      (value ? turnOn : turnOff)(); +      win.scrollTo(0, 0);      },      get id () | 
