ウェブブラウザ開発ブログ
 
ウェブブラウザ開発ブログ

ExplorerBarPlus 1.4.1

更新内容  ダウンロード Ancia0.8.0.6で分かったBSTRのパラメータ渡し誤りのバグを修正しています。そのほか、あまりバージョンアップしていなかったので、気になったところを直しています。SimpleFavPanelのアイコンを変更していますが、元のアイコンは、削除していないので、パネルのアイコン設定から変更できます。 BSTRのパラメータ渡し誤りというのは、 inline void func(BSTR bstr){ ・・・ } 関数1 inline void func(LPWCSTR psz) 関数2 { BSTR bstr=SysAllocString(psz); func(bstr); SysFreeString(bstr); } というのがあるとき、 TCHAR sz[256]; //CStringもなぜか、関数1が呼ばれる lstrcpy(sz, _T(“aaa”)); func(sz); が、関数2ではなく関数1を呼んでしまうというものです。これは、オーバーロードの仕様?で、constより、完全一致のBSTR(WCHAR*)が優先的に一致していることだと思います。関数1の名前を変更したので、全て直っているはずです。直した後はAnciaで落ちなくなりました。 v1.4.0の4/25日のインストーラで、インストールが不十分だったので、インストーラを差し替えています。もし、v1.4.0をインストールした方は、v1.4.1をインストール、または、再度v1.4.0のインストールをお願いします。
この投稿を読む

ExplorerBarPlusのタブモード表示対応

更新履歴 download ExplorerBarPlusのタブモードとお気に入りを表示できるようになりました。ほかのIEツールバー、サイドバーはまだ表示できません。ExplorerBarPlusの表示は、メニュー[表示(V)]->エクスプローラバーから行えます。スクリプトでの表示/非表示もまだ出来ません。 タブマネージャでCPUの詳細情報を表示するようにしました。この表示情報でできればcup-zの様にCPUのロゴを表示したいのですが、AMDの場合は、http://www.amd.com/jp-ja/0,,3715_7374_15589,00.htmlからそのままのイメージを使うことでよさそうですが、インテルの場合は、そう簡単にはいかないようです。なんとかインテルのロゴも表示したいのですが、、 CPU情報の表示はCPUIDを元にしていますが、確認マシンが少ないので、間違った表示になるかもしれません。Aero Glassの表示は、結構大変でした。これで、ドロップアクションの背景もAero Glassに出来るかも、、
この投稿を読む

タブマネージャ機能

更新履歴 download タブを強制終了可能なタブマネージャ機能を追加しています。短時間で作ったのでThemeが効いていなかったりします。TabManagerの下の方は、グラス表示にしてみようかと思います。今の強制終了は、WM_QUITで終了できなければ、Terminateしています。ここは、安全に終了できるとき(タブの閉じる履歴が残る)は、そちらを優先するように変える予定です。CPU使用率や、メモリ表示、強制終了したタブはabout:crash表示する、も追加予定です。 プロセスで強制終了は、アドレス領域が分かれているので、メインが落ちずに終了できるというのは、わかりますが、スレッドでもこれを可能にしています。これは、子スレッド<->メインとデータ結合※として動作しているためです。マルチプロセスにする時点で、データを共有とした動作は選択せず、データ結合で作ったところ、スレッドでもできてしまいました。共有だと、排他が絡みせっかくの子処理の効率が悪くなります。 マルチスレッド/プロセスもだいぶできてきて、あと残っているものは、IEプラグイン、タブ<->タブ間操作、localhomeなどの閉じたタブの表示ぐらいです。 マルチプロセスのとき、pixivでページが表示できない場合があり、リファラなどが原因かもしれません。 ※ここでのデータ結合という言葉を正しい意味で使用しているかは、よく知らない。
この投稿を読む

Ver0.8.0.4

更新履歴 download 二転三転していたのですが、やっと設定の同期が落ち着きました。なぜかタスクバーサムネイルが出なくなったので、次に直します。ステータスバーは、テキストだけ表示できるようにしています。 WTLのコマンドバーのマウスフックが原因でたまにメインスレッドが落ちてしまう場合があるようです。
この投稿を読む

互換表示

IE8のヘッダとIEブログを見ているうちに、互換表示が変更できそうな怪しい部分があったので、試してみると、、変更できたっぽいです。ですが、変更できずに失敗するタイミングがあります。もう少し試してみて、できそうなら入れてみます。変更の仕方自体は、想像していたとおり単純で、大体5行程度です。
この投稿を読む

設定の同期で苦戦中

設定の同期、というか子処理は、メイン処理と同じ設定値のコピー値で動作させるところで、直す部分が多すぎて、大変です。ビットフィールドは使うんじゃなかったかな。 struct A { UINT isA:1; UINT isB:1; UINT isC:1; UINT isD:1; } a; a.isA = TRUE; a.isB = FALSE; a.isC = TRUE; a.isD = FALSE; int v = (int)&a; で無理やり変換してもいいですが、if(a.isB)のアセンブリ mov edx,dword ptr [a] shr edx,1 and edx,1 がif(v & 0x2)のandの mov eax,dword ptr [v] and eax,2 に比べ1命令多いので、ビットフィールドはやめることにします。たった1命令減ってもナノセカンドも差が出ないと思いますが、ifの使用箇所が多いのと、命令が少なくなることはデメリットではないので
この投稿を読む

AnciaでIE9 Platform Previewを使用する

もう情報が出ていますが、Dynamic-Link Library Redirection (Windows)を利用することで、 AnciaでIE9 Platform Previewを動作させることが可能です。 IE9プレビューをインストールした後、Ancia.exe.localという空ファイルを作成し、IE9プレビューインストール配下のiepreview.exe.localフォルダの中身を全てAncia.exeがあるところにコピー またはiepreview.exe.localフォルダをそのままAncia.exeのあるフォルダにコピーし、Ancia.exe.localに名前変更 で、どちらでも使用できました。 IE9でページの互換表示の変更方法が公開されればいいのですが、今のところまったく不明です。
この投稿を読む

Ver0.8.0.3

更新履歴 download マウスジェスチャ、ドロップアクション、スクリプトをマルチスレッド/プロセスで使用可能にしています。が、まだスクリプトで他のタブへの処理(全タブでハイライトが該当)や、細々した機能(タブの複製、ハイライト継承/設定の同期など)の動作が不十分です。 タブのスレッドが落ちても、メインスレッドが落ちないようにしたので、タブマネージャのようなexeを作るつもりです。固まっても、タブマネージャでスレッド/プロセスを強制終了することで、メインスレッドを救えるはずです。ただ強制終了はTerminateThread/Processを使用しますが、これで強制終了したとき、コンポーネントがおかしくならないか心配ですが、、 スクリプトの実行が少し複雑になってしまいました。ツールバーのボタンやマウスジェスチャからスクリプトを実行したときは、タブが動作しているスレッド/プロセス内で、スクリプトを動かします。それ以外、ドロップアクションなどは、メインスレッド内で動作させています。 戻るメニューの順序がおかしいのを修正するのを忘れましたが、次回直します。
この投稿を読む
ページ上部に戻る