Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Linuxのfirefox 3.6でウインドウの中身が描画されない #14

Closed
smbd opened this Issue Jan 29, 2010 · 20 comments

Comments

Projects
None yet
4 participants

smbd commented Jan 29, 2010

Linuxのfirefox 3.6で拡張をtombloo 0.4.8のみ入れている状態で、ページのコンテキストメニューから"Share ..."を選択した際に、ウインドウの枠は出るのですが中身は全く表示されません(後ろが透けています)
screenshotを取りましたので、参照ください。 http://smbd.jp/tombloo-linux-firefox3.6-bug.png

この状態でウインドウを拡大するようにリサイズすると枠の中身が表示されます。対して、縮小するようにリサイズや、ウインドウの移動をしても透明のままです。

tombloo 0.4.6でどうだったかは覚えていないのですが、0.4.7, 0.4.8では発生しています(した)

私の環境 (Momonga Linux 6/trunk) でも同じような現象が起こります。ウインドウマネージャは LXDE というものを使っています。次のスクリーンショットを見ていただけますでしょうか。

http://toshiharu.jp/tombloo.png

一見、わかりにくいと思うのですが、黒いタイトルバーがコンテクストメニューから "Share ..." を選択した後に出てくるはずのウインドウのタイトルバーです。このタイトルバーをダブルクリックすると、このウインドウが最大化され、もう一度ダブルクリックすると元のサイズに戻り、期待通りのウインドウが表示されます。

この現象は、かなり前の tombloo でも起こっていました。少なくとも 0.4.6、0.4.7、0.4.8 では起きています。

Linux 環境に対応するのは手間のかかることかもしれませんので、何かしらのヒントをいただければ、こちらでも原因を探っていきたいと思っています。

些細なことでかまいませんので、ご助言をいただけると幸いです。

申し訳ない、追記させていただきます。

Firefox は 3.6 だけでなく 3.5 でも、上記の不具合は起きていました。

Owner

to commented Jan 29, 2010

いろいろありがとうございます。
クイックポストフォームは、位置調整のため、最初に透明で表示して、適切な位置になってから透明でなくするような処理が行われています。
この間でなんらかのエラーが発生し、不透明にする処理まで到達しなかったのではないかと思います。

http://github.com/to/tombloo/blob/master/xpi/chrome/content/quickPostForm.js#L81

またタイトルバーが表示されているのも気になりますね。
WindowsやMacでは、たぶん非表示になっているはずです。

http://github.com/to/tombloo/blob/master/xpi/chrome/content/library/40_ui.js#L109

この近辺に状況を改善するヒントがありそうです。
Firefoxのエラーコンソールにエラーが表示されていれば、大きな手がかりになります。
あとクイックポストフォームのタイプが写真かそれ以外かも関係あるかもしれません。
コンテキストメニューから表示したか、ショートカットキーで表示したかも関係あります。
また何かありましたらお知らせください。

smbd commented Jan 29, 2010

さっそくのreplyありがとうございます。

クイックポストフォームというのがどれを指しているのかよくわかっていないのですが、ショートカットキーで"Linkクイックポスト"をしたときや、コンテキストメニューの"Share - Link"で直接POSTした際には問題ないようです。ただし、ログインしていないなどでエラーが発生してウインドウが表示されたときには透明なウインドウが表示されます。

また、画像を右クリック>コンテキストメニュー>Share ...>Photo で表示されるものはタイトルバーがついているものの、描画はちゃんとされています。

最後に、右クリック>コンテキストメニュー>Share ...>Link を実行し、中身が透明なウインドウが出た際のコンテキストメニューのメッセージは以下のURLにupしました
http://smbd.jp/firefox-error-console.txt
試行直前にエラーコンソールを消去していますので、上記のアクションを実行した際のメッセージのみだと思われます。
エラーは発生していませんが、警告が大量に出ていますね。

Owner

to commented Jan 29, 2010

ショートカットキーでLinkフォームを表示した場合は表示されるんですね。
あとPhotoフォームが表示されるというのも気になります。
エラーコンソールは「すべて」ではなく「エラー」がみやすいかもしれません。警告は問題ありません。
とりあえず、必ず不透明処理をするようにしたファイルをコミットしました(右上rawリンクから)。

http://github.com/to/tombloo/blob/master/tombloo.xpi

もしかしたら、リサイズ処理がバグっていて、すごく小さくなってしまっているのかもしれません。
またフォームは前回の表示状態を保存しているため、ある時点からおかしくなる可能性もあります(ログインエラーの件など)。
再起動すると、これはクリアされるので、それで直るようでしたら、このサイズ記憶機能がおかしいのかも。

smbd commented Jan 29, 2010

ありがとうございます、各々replyを…

エラーコンソールは「すべて」ではなく「エラー」がみやすいかもしれません。警告は問題ありません。

エラーコンソールは警告だけでエラーは出ていませんでした。

とりあえず、必ず不透明処理をするようにしたファイルをコミットしました(右上rawリンクから)。

tombloo 0.4.8.1になったのを確認しましたが、0.4.8と同じように中身が空っぽのウインドウが表示されました。

再起動すると、これはクリアされるので、それで直るようでしたら、このサイズ記憶機能がおかしいのかも。

firefoxを起動してすぐの状態でも中身のないウインドウが表示されています。

また、今回の件と同じかはわからないのですがtwitterで検索してみたところ、以下の発言がひっかりました。自分のところではこのようなエラーは出ていないのですが、FYIで張っておきます
http://twitter.com/stillpedant/statuses/8056812729

Owner

to commented Jan 29, 2010

ふっふっふTwitterはキーワードで2フィード読んでるのでだいたいキャッチしてます。
issue 10で解決済みなんです。

http://github.com/to/tombloo/issues/closed#issue/10

あと気付いたんですけど、お二人のエラー状況違うのかも…。toshiharuさんは枠ないし。
ちょっと混乱してました。
一度、拡大すると表示されて、その後、その時は使えるんですね?
スキン/テーマなどは使ってますか?
うーんLinuxのFirefoxの問題とTomblooの問題が組み合わさっちゃってるかんじですね…。僕は使ってないのでよくわからないな。
後で誰かこのissue見た人は、ここらへんのパラメーター(dependent/titlebar)を変えてみる(無くしてみる)と何か変わるかもしれない(Firefox 3.6で動作が変わりWindowsでもRCまで正常に動かなかったため)。

http://github.com/to/tombloo/blob/master/xpi/chrome/content/library/40_ui.js#L109

上記の 0.4.8.1 をインストールして、こちらの環境で GNOME と KDE の場合にどうなるか確認しました。

GNOME の場合は smbd さんと同様の症状になります。KDE では一瞬ウインドウが見えますが、すぐに完全に透明になります。どちらの場合もウインドウをリサイズすると見えるようになります。

おそらく smbd さんと私のエラーは同じなのではないかと思います。

Contributor

dragon3 commented Jan 31, 2010

こんばんは!
自分の環境でも同じように中が透明になっています。

  • Ubuntu9.10 (GNOME)
  • Firefox 3.5.7
  • Tombloo 0.4.8

画面キャプチャは以下です。
http://img.f.hatena.ne.jp/images/fotolife/d/dragon3/20100131/20100131222713_original.png

で、「#14 Linuxで表示されない問題対策(このパッチで何が起きるかを確認する) 」のものをインストールしてみたんですが、最初透明でなくなって表示されて、やったー!と思ったんですが、その後、また透明になったり、ならなかったりです。

smbd commented Jan 31, 2010

ふっふっふTwitterはキーワードで2フィード読んでるのでだいたいキャッチしてます。
issue 10で解決済みなんです。

あぁ、そうだったんですね。失礼しました。

一度、拡大すると表示されて、その後、その時は使えるんですね?

はい。そのときは使えます。一度閉じて再度コンテキストメニューから表示させると枠がついた透明ウインドウが出ますが。

スキン/テーマなどは使ってますか?

いえ、使ってないです。

Owner

to commented Feb 3, 2010

その後、僕は調査してません…。
3.5.7でも動かないということは、ここ最近の修正のせいで動かなくなったと思われるので、quickPostForm.jsのdiffが問題解決のヒントになりそうです。
Macでウインドウが小さくなっていってしまう不具合や、Windowsでウィンドウを操作できない不具合を解決するために行われた修正がほとんどだったと思います。
(あとポスト先のアイコンの形が異常になってしまう不具合)

Linuxで動く状態でコミットされたら、Windowsで動作確認しマージします。
環境で動作を切り替えるコードになりそうですね。
画像の自動拡大周辺がかなりつらいコードになっているので、うまく見せられるならサイズ固定に変えてしまってもいいと思います。

コードのことなど、わからないことがあったらお気軽にご質問ください。

Contributor

dragon3 commented Feb 3, 2010

いろいろ全然分かってないですが、まずはquickPostForm.jsのdiffを追ってみます。
もし原因がわかったり、うまくいくようなコードができたらお知らせします!

わからないことがあれば質問させてください。よろしくお願いします!

Owner

to commented Feb 3, 2010

よろしくお願いしますー。
基本的には書き換え -> Tomblooのリロード -> フォームを開き直すのサイクルで修正します(Firefoxの再起動やウィンドウを開き直す必要はない)。
リロードはメニューにもありますが、僕はショートカットキーを割り当ててます。

http://github.com/to/tombloo/blob/master/patches/shortcutkey.reloadEnvironment.js

openDialogというかサブウィンドウの挙動は各プラットフォームで違うのが鬼門なのかなと思ってます。
dependentとかtitlebarの指定順序が関係あったりするのかな…。
もしかしたらLinuxの不具合がBugzillaにあがってるのかも。
タイトルバーが出てるからウィンドウのサイズが変わって縮んでいってしまってるのかなとも思ったりします。

Owner

to commented Feb 3, 2010

集中的にポストフォームを直す時は、以下を追加してリロードの後にフォームを開いちゃってもいいかもしれないす。

http://pastebin.mozilla.org/700862

Contributor

dragon3 commented Feb 3, 2010

ありがとうございます!

どう手をつけていいものか悩んでますが、ひとまず以下はわかりました。

  • そもそも透明にしなければ、必ず表示されますね(当たり前ですが...)
    http://gist.github.com/293648
  • 「コントロールと画像のロード後に体裁を整える」部分のsetTimeoutの処理を遅らせると、必ず透明のままの状態になる
    http://gist.github.com/293650

的を射ているのかどうかもわからないのですが、、、
引き続きいろいろ試してみます。

Owner

to commented Feb 4, 2010

setTimeutは今回の改修で追加された部分で以前はなかったですね…そういえば。
透明にしなければ表示されるというのも予想外でした。
もっと違う部分でバグってるのかと。
透明にしないでチカチカ(表示される時に移動する処理が見える現象)しないならそれでいいですね。
チカチカしても見えないよりはいいな。
ひとつ今よりいい状態にして、次に直す人が表れるのを待つのも手かもしれませんよ。

Contributor

dragon3 commented Feb 4, 2010

コメント、ありがとうございます。

透明にしない場合、若干チカチカしますが、
チカッくらいで、自分はあまり気にならないかなーと思っています。
(これはみなさんにも確認してもらうのがいいですね)

なので、ひとまず透明にしない方法を自分のにpushしました。
http://github.com/dragon3/tombloo/commit/d82b434460dde12b3f87b74b56088b50c676465f
(pull request も送ってみます!)

さらに良い解決策をお持ちの方を待ちたいと思いますー :-)

基本的にはdragon3さんの変更でいいと思います。

こちらでも調べてみたのですが、詳しいことはよく分かりませんでした。

分かったのは、何度もインストールを繰り返していると、
たまには正常に動く場合もあるということだけです。

再現条件が明らかではないので、あまり深追いせずに
dragon3さんのworkaroundで済ませるのが現実的かと思います。

Contributor

dragon3 commented Feb 7, 2010

toshiharuさん、コメントありがとうございました。
toさん、対応ありがとうございました。

Owner

to commented Feb 7, 2010

いえいえとんでもないす。
みんな助かりました。
とりあえず閉めちゃおうっと。

wantora pushed a commit to wantora/tombfix-core that referenced this issue May 13, 2016

Rename Tombfix.Service.extractors to Extractors
* Leave Tombfix.Service.extractors Object for Tombloo Patches
* Update api_test_patch.js
* Stop using with statement for Tombfix.Service.extractors #19

Close #14

wantora pushed a commit to wantora/tombfix-core that referenced this issue May 13, 2016

v0.0.9
* Update minVersion from 21.0 to 22.0
* Add "Photo - pixiv" Extractor #33
* Photo Extractor should be able to post pixiv image to services #33
* Account Changer should notify the status of progress
* Fix a bug that Tumblr Account Changer doesn't work #34
* Fix a bug about Hatena Account Changer
* Update support for Flickr #30
* Update "Video - Vimeo" Extractor #35
* Fix "Photo - ITmedia" Extractor
* "ReBlog - Dashboard" Extractor shouldn't work in Drafts and Queue #29
* Import from Tombloo: Prevent radio icon size from larging over 16x16 in Options Post
* Rename Tombfix.Service.extractors to Extractors #14
* Rename models to Models #15
* request() should use simpleRequest() if opts has responseType #18
* utility.js: Add downloadWithReferrer(), simpleRequest(), getCSVList(), Taberareloo's queryHash(), Taberareloo's queryString() #32
* component.js: Add Request()

This issue was closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment