Closed k08045kk closed 8 months ago
調査結果
chrome.runtime.onStartup
が存在しない場合、起動直後に background.js が呼び出されない。そのため、コンテキストメニューの初期化が実施されない。 chrome.runtime.onStartup
を記載することで background.js が起動直後に実行することでコンテキストメニューが初期化される。
Firefox startup cache を削除した場合、コンテキストメニューの情報が失われるため、起動時にコンテキストメニューを初期化していないと表示されない。Firefox startup cache を削除しない通常の起動であれば、問題は発生しない。
回避策としては、 background.js を実行すれば良いため、ブラウザアクション、ショートカット、オプション画面から何らかのアクションをすることで background.js を呼び出すとコンテキストメニューは初期化される。
修正は、 chrome.runtime.onStartup
を明示的に呼び出すことで実現できる。その際、 chrome.runtime.onStartup
に関わる複数の問題を回避する必要がある。
これは、 Manifest V3 関連の処理であるため、 v2.3.2 では発生しないと思われる。 Chrome でもスタートアップキャッシュの削除機能があれば再現する可能性がある(再現手順は不明)
see https://addons.mozilla.org/ja/firefox/addon/copytabtitleurl/reviews/2052321/
The context menu is not displayed (after restarting Firefox). You can redisplay the context menu by changing the menu settings in the options.
Reproduce with 3.2.0.
Also reproduced in 2.3.2. (different from what was pointed out)(Error when checking)It seems that this can be avoided by rebuilding the context menu with
chrome.runtime.onStartup
.