[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 06/09 15:13 / Filesize : 225 KB / Number-of Response : 901
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Geckoベースのブラウザを作ろう。



1 名前:デフォルトの名無しさん [02/06/08 23:31]
Mozillaも1.0がでてAPIが固定されたことだし、ここいらでGeckoベースのブラウザを開発してみませんか?


369 名前:デフォルトの名無しさん mailto:sage [03/04/17 00:47]
開発側から見たMozillaの良さは無いのかと小一時間問い詰めたい。

370 名前:はしのえみ好きー mailto:sage [03/04/17 00:54]
>>369
どのレスに対してそう思われたのですか?もう少し詳しくお願いします。

371 名前:デフォルトの名無しさん mailto:sage [03/04/17 01:02]
> Geckoのメリットを語るのはMozillaユーザ達に任せておけば良いでしょう。
> 開発側から訴えてもどうかと思いますが。
に脊髄反射しただけ。

372 名前:はしのえみ好きー mailto:sage [03/04/17 01:09]
あ、なんとなく分かりました。
上記で挙げたメリットは全てユーザ側の視点だということですね。

取り合えずGeckoにもActiveXコンポーネントが付いているわけですから、
ActiveXコンポーネントを使うことに関しては開発側のメリットはありません。
つまりGeckoを使おうともIEを使おうとも変わりません。
それは>>361のページに掲載されている「C#で最小のGecko」を見ていただければ分かると思います。
C++やVB等でも、IEコンポーネントとほとんど同じ記述で動かすことができます。使用するdllを差し替えれば良いだけですから。

Geckoはそれに加えて、ソースが公開されているため、
Gtk+やQt等のツールキットや、cocoa等でも動作させることが可能になっています。


っと、書いてる間にレスが。
>>371
えっとですね、GeckoEmbeddedなブラウザが普及するためには
まずモノがないといけないと思うわけです。
----- ここから個人的主観 -----
いまだ、どのブラウザを見てもMozillaの亜流という感じで、
IEコンポーネントを利用した多くのブラウザに負けているのではという感は否めないのです(反論されるでしょうね)
しかしGecko自体は速いのですから、Syleraのようなブラウザがどんどん出てくればその状況がひっくり返りそうな予感はあります。
----- ここまで個人的主観 -----
ですから、開発側からユーザに訴えるのは、実際に素晴らしいと評価されるブラウザを作ることができて初めて実行に移せると思うのです。
いかがでしょうか?

373 名前:はしのえみ好きー mailto:sage [03/04/17 01:12]
記述が抜けてしまいました。
>IEコンポーネントを利用した多くのブラウザに負けているのではという感は否めないのです(反論されるでしょうね)
これは主に起動速度とUIのレスポンスの良さに関してです。Geckoが悪いわけではないのに、です。

374 名前:デフォルトの名無しさん mailto:sage [03/04/17 01:15]
おもしろそうだからやる。これで良いと思うんだが。
ここに限らず、言語でも排他的に一番を決めないと気が済まない奴がいるが、
そんなのをいちいち相手にしているときりがないぞ。

375 名前:はしのえみ好きー mailto:sage [03/04/17 01:25]
>>374
そうですね。以後気を付けます。
確かに今自分はJava+Swing+Geckoという「UIのレスポンスの良さ」に疑問を感じるブラウザを作っているのですが、
これはただ単にWindowsでもLinuxでもUNIXでも一つのファイル(*.zip)を配布するだけで実行できるのが面白そうだなと
思って作っているわけで、全然普及には貢献してないですしね。

サイトのタイトルはただの思い付きです。素晴らしいブラウザは誰かに作っていただこうという他人任せ精神です。
そのために少しでも情報を載せていこうとは思っていますが。

376 名前:はしのえみ好きー mailto:sage [03/04/17 01:40]
突っ込まれる前にカキコ。今の所、Jazillaに対抗してMojallaって名前になってます。

377 名前:山崎渉 mailto:(^^) [03/04/17 15:34]
(^^)



378 名前:デフォルトの名無しさん [03/04/17 21:51]
>・Web標準に準拠(しようという姿勢が見える)

………。

379 名前:デフォルトの名無しさん [03/04/17 22:07]
マァマァみんな、ゲコーリしよーよ。

380 名前:デフォルトの名無しさん mailto:sage [03/04/17 22:12]
>>378
ttp://www.mozilla.gr.jp/standards/

381 名前:営農ギコClassic ◆WezejEOhSo mailto:sage [03/04/17 22:35]
なんか凄いことになってるな・・・w

はしのえみ好きーさん、乙です。

382 名前:はしのえみ好きー mailto:sage [03/04/17 23:52]
>>378
やっぱ理想と現実は違うってことですか?
準拠しようとしていない部分は具体的にはどの部分でしょうか?

>>381
ども。マターリがんばります。

383 名前:デフォルトの名無しさん mailto:sage [03/04/18 00:46]
>あと、あなたは煽ってるつもりかも知れませけど、あんまり効果ないですよ。

痛々しい…。


384 名前:seven mailto:sage [03/04/18 05:20]
>>342
>なんとかActiveXコントロールを使わずにDelphiでGecko使えてます。

ふ〜む、そんなこともできるのか。

385 名前:はしのえみ好きー mailto:sage [03/04/18 06:19]
    _, ._
  ( ゚ Д゚)   ガシャ
  ( つ O. __
  と_)_) (__()、;.o:。
          ゚*・:.。

2日間悩み続けてバグは、終了時にハングするというものだったのですが、
原因はBrowserControlをdeleteする順番・・・みたいです。
org.mozilla.webclient.test.EmbeddedWindowImplでも再現を確認しました。
詳しくはサイトのほうに書きますが。

・・・つっか、どっかにドキュメント残しといてくれたら一発じゃんかよ。ヽ(`Д´)ノ
JavaDocも空っぽだし、ソースおっかけるの大変。
(・・・それとも気づいてないのか?testの方もそのバグ出てるし・・・)
まあ何にせよ、解決して良かたー。(iдi)

386 名前:はしのえみ好きー mailto:sage [03/04/18 06:25]
誤:2日間悩み続けてバグは、
正:2日間悩み続けてきたバグは

なお、>>385のバグは複数のBrowserControlを使う場合の話です。

387 名前:74 mailto:sage [03/04/18 15:12]
再びコソーリ
GeckoBrowserをDelphiのコンポーネント(≠ActiveX)にできますた。
テキストボックスの問題は解決しましたが
タブフォーカスがうまくいかなかったりabout:configが表示されなかったりしてます。



388 名前:seven mailto:sage [03/04/18 21:14]
>>387
>GeckoBrowserをDelphiのコンポーネント(≠ActiveX)にできますた。
わ〜ぃ、クレクレ。
>テキストボックスの問題は解決しましたが
なら、完成だよね。
>タブフォーカスがうまくいかなかったりabout:configが表示されなかったりしてます。
こんなのは、素人にはバレないし、そのうちなんとかなるかも。

さて、問題は、このコントロールを使って、何をやるかだ。
3年前なら、文句無く2ch専用ブラウザだったのだが、、、
やぱDBMSのフロントエンドかな?

389 名前:74 mailto:sage [03/04/18 22:20]
えーと、先ほど新たな問題が発生しまして、ページの読込中にブラウザを閉じようとするとエラーが出ます。
読込中でなければ問題はないんですがちょっと気持ち悪いかも

390 名前:はしのえみ好きー mailto:sage [03/04/18 22:54]
>>389
その現象って最初の読み込みだけじゃなくて、使用途中でも発生しますか?

391 名前:74 mailto:sage [03/04/18 23:25]
今回新たに発覚した問題については解決してしまいました。
オブジェクトが破棄されたあとにもListenerとして呼び出されたのが原因だったようです。
で、フォーカスとabout:configについてはまだまだ調査中です。
せめてフォーカスの問題は解決したいなぁ

392 名前:74 mailto:sage [03/04/18 23:56]
じっくり使ってみて新たに発覚した問題
・httpsにアクセスできない。
・ファイルのダウンロードができない。
ダウンロードの問題は解決方法はだいたいわかってるけど(でも面倒くさい)
HTTPSの方は全くわからない。
MfcEmbedでもMozctl.dllでも使えないからソース見て何とかすることもできないし。
#Mozilla本体のソース見ろとか言うのは却下。そこまで気力無いです。

393 名前:デフォルトの名無しさん mailto:sage [03/04/19 01:16]
about:config はもろに XUL なんで難しいんじゃぁ。
HTTPS は nightly にある embed-win32.zip に入ってる MfcEmbed で
yahoo の SSL ログインできたけど。

394 名前:デフォルトの名無しさん mailto:sage [03/04/19 03:08]
結論:ActiveX > DLL >>>>>>>>>>>>>>>>>>>>>> ソース

395 名前:山崎渉 mailto:(^^)sage [03/04/20 03:12]
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

396 名前:山崎渉 mailto:(^^)sage [03/04/20 03:46]
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

397 名前:デフォルトの名無しさん mailto:sage [03/04/24 23:21]
コレでGecko使ってブラウザ作る人確実に増えるな
期待age



398 名前:デフォルトの名無しさん mailto:sage [03/04/25 08:48]
俺の目が節穴なだけかも知れんが、上がってないよなあ・・・?

399 名前:デフォルトの名無しさん [03/04/25 17:02]
74さん、とりあえず現在できてるものでも
do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1024228628
あたりに、UPしてみませんか? 
あっ、もちろん嫌ならいいですけど。

400 名前:74 mailto:sage [03/04/25 21:52]
>>399
アップロードしておきました。2つのZIPファイルになっています。
GeckoSDK.zipに入っているファイルは
以前アップロードしたnsXPCOM.pasを1から作り直したものです。
gecko-sdk-win32.zipに含まれていたものだけ変換してあります。
nsXXX.pasとnsXXX_S.pasという2種類のソースがありますが、
nsXXX_S.pasの方は出来る限りsafecallを使えるものにしたものです。
ミスの修正はnsXXX.pasの方にしかしてないものも多いです。
HOGE.TXTには秀丸の正規表現でnsXXX_S.pasからnsXXX.pasに
変換するための検索ワードを入れてあります。
文字列クラスは使えるレベルまでは出来てはいますが、
仮想関数しか実装してないので使いづらいかもしれません。

GeckoComponent.zipに入っているのはGeckoを
Delphiのコンポーネントとして使えるようにしたものです。
上のGeckoSDK.zipが必要です。
機能を統合している最中なのでGeckoBrowserコンポーネントと
そのほかのコンポーネントで機能がかぶっているものがあります。

現在わかっている問題点は
1.ファイルのダウンロードが出来ない
2.印刷が出来ない
3.証明書が不明なSSLサイトにアクセスできない。
4.タブフォーカスがおかしい。
5.about:configがおかしい。
1〜3については解決方法自体はわかっているのですが、
ちょっとやる気がなくて実装していません。
4、5については原因がわかりません。わかる人教えてください。


401 名前:デフォルトの名無しさん mailto:sage [03/05/05 12:59]
>>400
ダウンロードしてみました。
COMとか詳しくないですけど、人柱くらいならできると思います。

402 名前:デフォルトの名無しさん mailto:sage [03/05/16 14:56]
IE>>>>>>>>>>>>>>>GECKO

403 名前:デフォルトの名無しさん mailto:sage [03/05/17 00:25]
そんな当然の事を今更書かれてもなぁ。

404 名前:seven mailto:sage [03/05/18 10:17]
エンジソと本体のシェアを比較されてもなぁ。
つーか、シェアなんてのは、水物で、10年後には昔話なのは、業界の常。
つか、まだ、ためしてない、ゴメソ。
去年、2chブラウザ作るのに悩んでいたとき、これがあれば、即採用だったんだろうけど。


405 名前:デフォルトの名無しさん mailto:sage [03/05/18 10:45]
エンジンとしても
IEコンポーネント >>>>>>>>>>>>>>>>>>> GECKOソース
なワケだが。

406 名前:デフォルトの名無しさん mailto:sage [03/05/18 11:55]
>>405
性能の話してる時に数で比較するなよ。
話のピントがずれてる。
だから君は友達いないんだよ。キモオタだし。

407 名前:デフォルトの名無しさん mailto:さらしあげ [03/05/18 19:40]
これのどこが「性能の話」なのか、と、小1時間(r
----
404 名前:seven[sage] 投稿日:03/05/18 10:17
エンジソと本体のシェアを比較されてもなぁ。
つーか、シェアなんてのは、水物で、10年後には昔話なのは、業界の常。
つか、まだ、ためしてない、ゴメソ。
去年、2chブラウザ作るのに悩んでいたとき、これがあれば、即採用だったんだろうけど。
----



408 名前:seven mailto:sage [03/05/21 19:04]
なぜ、さらしあげなのか、ポカーンです。
ところで、>>407は、まだ、生きてますか?

409 名前:デフォルトの名無しさん mailto:sage [03/05/21 20:59]
sevenは他のスレでも的外れなレスをすることで有名だからなあ

410 名前:seven mailto:sage [03/05/22 04:19]
閑話休題

ブラウザから0.1mmくらいの誤差で、紙への印刷とかができないのかなー?
PDFがあるくらいだから、まだ、無理なのかなー。
もし、これが可能なのなら、帳票ツールとして、使えるような気もする。

411 名前:デフォルトの名無しさん mailto:sage [03/05/22 20:10]

「ブラウザから」ってのが意味不明。
画面の実測の大きさ?WYSIWYGは10年前に崩壊したよ。

412 名前:デフォルトの名無しさん mailto:sage [03/05/23 01:04]
CSS2を解するブラウザが現れたならprint系のプロパティを解釈してくれるでしょうけどね

413 名前:山崎渉 mailto:(^^) [03/05/28 12:58]
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉

414 名前:デフォルトの名無しさん [03/06/04 04:23]
この中でVC++使える人いる?
いいブラウザのソースあるんだけど

415 名前:デフォルトの名無しさん mailto:sage [03/06/10 18:17]
399をインストールしました。
ですが、TGeckoBrowserだけを貼り付けて実行してみたのですが

function TGeckoBrowser.GetCurrentProfile: WideString;の
rv := sProfileService.GetCurrentProfile(str);部分でエラーが出てしまいます。

CurrentProfileNameも指定しているのですが、なぜでしょうか?

こちらの環境はwin2k、Delphi6、Mozilla1.です。

あと、英語ですが良さそうなページがあったので張っておきます。(流し読みしたからもしかしたら関係ないページかも……)
www.mozilla.org/projects/xpcom/book/cxc/

416 名前:デフォルトの名無しさん [03/06/17 22:57]
なんなとなく、あげ

417 名前:デフォルトの名無しさん mailto:sage [03/06/18 19:11]
C++でGeckoをやり始めたんですが、
NS_InitXPCOM2は成功するのにNS_InitEmbeddedが失敗します。
質問というより報告ですが、何か心当たりがある方は情報いただけると嬉しいです。



418 名前:417 mailto:sage [03/06/22 19:12]
Geckoの基本を教えてください。環境はWindows2000+MozillaFirebird0.6です。

nsCOMPtr<nsIWebBrowser> webBrowser(do_CreateInstance(NS_WEBBROWSER_CONTRACTID));

でnsIWebBrowserを得るまでのプロセスが分かりません。
調べたところ、NS_InitEmbeddingを行えばよさそうですが、これに失敗します。

現状では、
NS_InitXPCOM2は成功します。
NS_GetComponentRegistrar、NS_GetServiceManager、NS_GetComponentManagerは成功します。
nsIComponentRegistrar#AutoRegisterは失敗します。(NS_InitEmbeddingの失敗の原因はこれのようです)
do_CreateInstanceは失敗します。

どなたかご教授ください。

419 名前:417 mailto:sage [03/06/25 14:25]
自己解決しました。どうやらMozillaFirebird0.6ではダメみたいです。

何故かDOSプロンプトからC:\Program Files\MozillaFirebirdにCDできなかったので、
もしやと思いGRE入れてやってみたらうまくいきました。
#CDできないのはすごく謎

420 名前:デフォルトの名無しさん mailto:sage [03/06/27 01:52]
ディレクトリ名にスペースが入ってるからだろ>Program Files。
ショートネームにしる。

421 名前:417 mailto:sage [03/06/27 05:28]
>>420
いえいえ、そこまで阿呆じゃないつもりです。ショートネームでも無理ぽ。
C:\Progra~1> DIR /X
(ry
2003/06/22 02:47 <DIR> MozillaFirebird
2002/10/01 03:25 <DIR> NETMEE~1 NetMeeting
2003/06/21 12:08 <DIR> nsmsgs
(ry

C:\PROGRA~1>cd MozillaFirebird
ディレクトリの指定が違います.

C:\PROGRA~1>cd Mozill~1
ディレクトリの指定が違います.

C:\PROGRA~1>cd NetMeeting
ディレクトリの指定が違います.

C:\PROGRA~1>cd NetMee~1

C:\PROGRA~1\NETMEE~1>cd ..

C:\PROGRA~1>cd nsmsgs

C:\PROGRA~1\NSMSGS>

422 名前:417 mailto:sage [03/06/27 05:38]
長々と貼ってすいません。結局、DIR /Xで見たところショートネームが定義されてないんです。
#よく考えたら結構阿呆なことかも。windows板かPC初心者板逝ってきます。

ところで質問です。
現在、Windows2000+GRE 1.4f_2003062408+C++でやっているんですが、
nsIBaseWindow#Createで固まってしまいます。

nsCOMPtr<nsIBaseWindow> baseWindow = do_QueryInterface(webBrowser);
baseWindow->InitWindow(nativeWindow, nsnull, 10, 10, 100, 100);
baseWindow->Create();

原因が分かる方、心当たりのある方はいらっしゃいませんか?

こちらの情報が少ないですが、何が必要な情報なのかよく分かりません。
取り敢えずNS_InitEmbedding,do_CreateInstance(NS_WEBBROWSER_CONTRACTID)は成功しています。

423 名前:デフォルトの名無しさん mailto:sage [03/06/27 10:22]
>>422
www.mozilla.org/projects/embedding/embedoverview/EmbeddingBasics14.html
見ただけだけど、NS_InitEmbedding() から nsIBaseWindow#InitWindow のあいだの手順は
ちゃんとやってる?

424 名前:417 mailto:sage [03/06/27 13:08]
>>423
nsIBaseWindow#Create(); までで異なる点はSetContainerWindowするクラスです。
CBrowserImpl は

nsIInterfaceRequestor,
nsIWebBrowserChrome,
nsIWebBrowserChromeFocus,
nsIEmbeddingSiteWindow,
nsIWebProgressListener,
nsIContextMenuListener,
nsSupportsWeakReference,
nsISHistoryListener
nsIStreamListener,
nsITooltipListener,
nsIURIContentListener

をimplementしていますが、こちらのWebBrowserSiteObjectは
nsIWebBrowserChromeのみimplementしています。
今What You Provideを眺めていたところ、nsIEmbeddingSiteWindow,nsIWebProgressListener が
must be implementedだったのに気付いたので今からやってみます。

425 名前:417 mailto:sage [03/06/27 13:30]
nsIWebBrowserChrome、nsIEmbeddingSiteWindow、nsIWebProgressListenerを実装してみましたが、
全てのメソッドがnsIBaseWindow#Createまでに一度も呼ばれていませんでした(関数コールするとexitするようにしています)
もう少しがんばってみます(できたら稚拙なページで最小限の手順を公開させていただきます)

426 名前:417 mailto:sage [03/06/28 15:04]
www.mozilla.org/projects/embedding/PublicAPIs.html

www.mozilla.org/projects/embedding/public-apis-image3.gif
にWebBrowserSiteObject,
nsIWebBrowserChrome,
nsIEmbeddingSiteWindow,
nsIWebProgressListener,
nsIContextMenuListener,
nsIPrompt
をimplementしなければならないと書いてあったので、これらのインターフェイスを
exitするコードにしましたが、結果は同じようにnsIBaseWindow#Createで固まりました。
何が足らないんだろう。。次のレスで今の状態を書きますので「お前はアフォか」と思われる点があれば指摘してください。

427 名前:デフォルトの名無しさん mailto:sage [03/06/28 15:07]
結論:初心者がWebブラウザ作りたい時は、VBにIEコンポーネントをぺたり。



428 名前:417 mailto:sage [03/06/28 15:10]
WNDCLASSEX wc
RegisterClassEx(&wc); //いつものアレ
nsCOMPtr<nsILocalFile> appDir;
NS_NewLocalFile(NS_LITERAL_STRING("D:\\program\\mozilla\\GRE"), 0, getter_AddRefs(appDir)); // GREディレクトリ取得
NS_InitEmbedding(appDir, nsnull); // 初期化
HWND hWnd = CreateWindow(szClassNme, "", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, ghInstanceApp, NULL); // 窓を作る
ShowWindow(hWnd, SW_SHOW);UpdateWindow(hWnd); // 表示

// 以下メッセージループ(winEmbed.cppから流用)

HANDLE hFakeEvent = ::CreateEvent(NULL, TRUE, FALSE, NULL);
PRBool active = PR_TRUE;
while (active) {
while (::PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE)) {
if (!::GetMessage(&msg, NULL, 0, 0)) {
active = PR_FALSE;
break;
}
PRBool wasHandled = PR_FALSE;
::NS_HandleEmbeddingEvent(msg, wasHandled);
if (!wasHandled) {
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}
}
::MsgWaitForMultipleObjects(1, &hFakeEvent, FALSE, 100, QS_ALLEVENTS);
}
::CloseHandle(hFakeEvent);


429 名前:417 mailto:sage [03/06/28 15:17]
// で、作った窓のウィンドウプロシージャ
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {
if (左クリックされたら) {
newWnd = CreateWindow(szClassNme, "", WS_CHILD | WS_VISIBLE |WS_BORDER|WS_VSCROLL, 0, 0, 400, 400, hWnd, NULL, ghInstanceApp, NULL);
// ウェブブラウザ
nsCOMPtr<nsIWebBrowser> webBrowser;
NS_ENSURE_TRUE(webBrowser = do_CreateInstance(NS_WEBBROWSER_CONTRACTID), NS_ERROR_FAILURE);
// サイトオブジェクト(WebBrowserSiteObject implement >>426
webBrowserSiteObject = new WebBrowserSiteObject;
NS_ENSURE_TRUE(webBrowserSiteObject, NS_ERROR_OUT_OF_MEMORY);
NS_ADDREF(webBrowserSiteObject);
// クローム登録
NS_ENSURE_SUCCESS(webBrowser->SetContainerWindow(NS_STATIC_CAST(nsIWebBrowserChrome*, webBrowserSiteObject)), NS_ERROR_FAILURE);
// セットアップ(まだよく分かってません)
nsCOMPtr<nsIWebBrowserSetup> setup;
NS_ENSURE_TRUE(setup = do_QueryInterface(webBrowser), NS_ERROR_FAILURE);
setup->SetProperty(nsIWebBrowserSetup::SETUP_IS_CHROME_WRAPPER, PR_TRUE);
// ベースウィンドウ
nsCOMPtr<nsIBaseWindow> baseWindow;
NS_ENSURE_TRUE(baseWindow = do_QueryInterface(webBrowser), NS_ERROR_FAILURE);
// 新しく作った子ウィンドウで初期化
NS_ENSURE_SUCCESS(baseWindow->InitWindow(nsNativeWidget(newWnd), nsnull, 10,10,100,100),NS_ERROR_FAILURE);
// Create(ここが無限ループになる)
cout << "出力される" <<endl;
NS_ENSURE_SUCCESS(baseWindow->Create(), NS_ERROR_FAILURE);
cout << "出力されない" <<endl;
}

以上です。何かあればよろしくお願いします。

430 名前:417 mailto:sage [03/06/28 15:26]
>>426間違えてました。must be implementedなのはnsIWebBrowserChromeと
nsWebBrowserSiteWindowの2つだけでした。失礼。

431 名前:417 mailto:sage [03/06/28 16:51]
うぅ・・・自己解決しました。
GRE使うのをやめてmozilla1.0.1にするとnsIBaseWindow#Createが無事帰ってきました。
mozilla1.4rc3でも試しましたが、きちんとnsIBaseWindow#Createは帰ってきました。
まだ何故かnsIBaseWindow#SetVisibility(PR_TRUE), nsIWebNavigation#LoadURIをしても表示されませんが、
一歩前進した感じです。(GREはまだ手を出しちゃいけないのかな)

432 名前:デフォルトの名無しさん [03/06/28 18:50]
長文コピペウザイ。

433 名前:417 mailto:sage [03/06/28 19:31]
>>432
すみません。Geckoの処理は長いので丸コピしたわけではないです。(見れば分かると思いますが)
必要な部分だけ選んだんですがそれでも長いですね。

434 名前:417 mailto:sage [03/06/30 01:44]
取り敢えず動くようになりましたのでこれで消えます。長々と失礼しました。

435 名前:デフォルトの名無しさん [03/06/30 22:41]
還元無しかよ!

436 名前:417 mailto:sage [03/06/30 23:15]
>>435
いや、>>425で言った通り、ページを作ってますよ。
取り敢えず極限まで小さくしたソースはこちらにあります。
ttp://www004.upp.so-net.ne.jp/rcl/program/gecko/cpp/cpp_index.html
今解説(らしきもの)を書いてます。

437 名前:デフォルトの名無しさん mailto:sage [03/07/01 16:43]
>>417
ガンガレ



438 名前:デフォルトの名無しさん mailto:sage [03/07/01 22:47]
Geckoを使って、モジラよりショボイWebブラウザ作って何がしたいのだろう。

439 名前:デフォルトの名無しさん mailto:sage [03/07/01 23:26]
>>438
Mozilla糞
pc2.2ch.net/test/read.cgi/software/1020350827/


440 名前:デフォルトの名無しさん mailto:sage [03/07/02 00:03]
>>438
別にブラウザしか作れないわけじゃないだろう。
Geckoはブラウザじゃなくてただのレンダリングエンジン。

441 名前:デフォルトの名無しさん mailto:sage [03/07/03 15:12]
>>436のアドレス変わりました。
www004.upp.so-net.ne.jp/rcl/program/gecko/cpp/MinimumGecko.html
です。解説は
www004.upp.so-net.ne.jp/rcl/program/gecko/cpp/
で、トップは
www004.upp.so-net.ne.jp/rcl/program/gecko/
です。

442 名前:デフォルトの名無しさん [03/07/03 17:09]
>>441
おつかれ〜。いろいろ参考にさしてもらうね。

443 名前:デフォルトの名無しさん mailto:sage [03/07/03 23:08]
>>440
Geckoを使った、Webブラウザ以外のAPって何かある?

444 名前:デフォルトの名無しさん mailto:sage [03/07/03 23:22]
>>443
www.oeone.com/

445 名前:デフォルトの名無しさん mailto:sage [03/07/03 23:34]
>>443
# Komodo (IDE)
# Chatzilla (IRCクライアント)
# Games (MozInvaders、Xultris、その他)
# Jabberzilla (インスタント・メッセージ)

使ってないからどんなものかは知らんけどね。
と、2chブラウザとかもある。あっ、あれはXULアプリか。

446 名前:デフォルトの名無しさん mailto:sage [03/07/04 14:02]
>>443
ByzantineOS
(アプリかって言われると微妙だけど)

447 名前:デフォルトの名無しさん [03/07/05 00:11]
>>446
ByzantineOSって、linuxのディストリビューション?



448 名前:デフォルトの名無しさん mailto:sage [03/07/05 00:46]
>>446
XULでUIを実現していてて、CD1枚入れれば起動できるOSだったよな。
ドンキーコングが遊べるのが謎。
ネタ用にいつも持ち歩いてるよ。

449 名前:デフォルトの名無しさん mailto:sage [03/07/05 12:08]
XULってGeckoが処理するの?

450 名前:デフォルトの名無しさん mailto:sage [03/07/05 12:38]
表示はね

451 名前:デフォルトの名無しさん mailto:age [03/07/13 20:52]
保守

452 名前:デフォルトの名無しさん mailto:sage [03/07/13 21:43]
>>ドンキーコングが遊べるのが謎
著作権違反だろ

453 名前:デフォルトの名無しさん mailto:sage [03/07/14 04:58]
windows2000でMinGW-3.0.0-rc-1, gecko-sdk-win32-1.4, mozilla-source-1.4を用いて
ttp://www004.upp.so-net.ne.jp/rcl/program/gecko/cpp/MinimumGecko.html
にある最小のソースをコンパイルしてみたのですが失敗しました。
ディレクトリ構成は以下のようにしています。
gecko-sdk/
mozilla/
MinimumGecko/ ここでmakeしています。

Makefileに不備があるのでしょうか。分かる方、お願いします。
以下にMakefileとエラーを示します。

454 名前:453 mailto:sage [03/07/14 05:00]
# 使用したMakefile
CPP = g++.exe
CC = gcc.exe
OBJ = main.o $(RES)
LINKOBJ = main.o $(RES)
LIBS = -L"D:/MinGW/lib" \
-L"../gecko-sdk/embed_base/bin" -L"../gecko-sdk/embedstring/bin" -L"../gecko-sdk/nspr/bin" \
-L"../gecko-sdk/xpcom/bin" -luser32 -lgdi32 -lembed_base_s -lembedstring -lplc4 -lxpcom
INCS = -I"D:/MinGW/include"
CXXINCS = -DMOZILLA_STRICT_API -DDEBUG -I"D:/MinGW/include/3.2.3" -I"D:/MinGW/include/3.2.3/mingw32" \
-I"D:/MinGW/include/3.2.3/backward" -I"D:/MinGW/include" \
-I"../gecko-sdk" -I"../gecko-sdk/embed_base/include" \
-I"../gecko-sdk/embedstring/include" -I"../gecko-sdk/nspr/include" \
-I"../gecko-sdk/string/include" -I"../gecko-sdk/webbrwsr/include" \
-I"../gecko-sdk/xpcom/include" -I"../mozilla/docshell/base" \
-I"../mozilla/embedding/browser/webBrowser" \
-I"../mozilla/string/public" -I"../mozilla/widget/public" \
-I"../mozilla/xpcom/base" -I"../mozilla/xpcom/components"
BIN = MinimumGecko.exe
CXXFLAGS = $(CXXINCS)
CFLAGS = $(INCS)

$(BIN): $(LINKOBJ)
$(CPP) $(LINKOBJ) -o "MinimumGecko.exe" $(LIBS)

main.o: main.cpp
$(CPP) -c main.cpp -o main.o $(CXXFLAGS)


455 名前:453 mailto:sage [03/07/14 05:02]
以下コンパイルエラーです。
In file included from ../gecko-sdk/string/include/nsAString.h:36,
from ../gecko-sdk/xpcom/include/nsILocalFile.h:20,
from ../gecko-sdk/embed_base/include/nsEmbedAPI.h:28,
from main.cpp:2:
../gecko-sdk/string/include/nsCharTraits.h:383: ISO C++ forbids declaration of `difference_type' with no type
../gecko-sdk/string/include/nsCharTraits.h:383: `::difference_type' is not a valid declarator
../gecko-sdk/string/include/nsCharTraits.h:383: parse error before `;' token
../gecko-sdk/string/include/nsCharTraits.h:409: ISO C++ forbids declaration of `value_type' with no type
../gecko-sdk/string/include/nsCharTraits.h:409: `::value_type' is not a valid declarator
../gecko-sdk/string/include/nsCharTraits.h:409: parse error before `*' token
../gecko-sdk/string/include/nsCharTraits.h:417: type specifier omitted for parameter `difference_type'
../gecko-sdk/string/include/nsCharTraits.h:417: parse error before `)' token
../gecko-sdk/string/include/nsCharTraits.h:418: ISO C++ forbids defining types within return type
../gecko-sdk/string/include/nsCharTraits.h:418: two or more data types in declaration of `advance'
../gecko-sdk/string/include/nsCharTraits.h:418: semicolon missing after declaration of `struct nsCharSourceTraits<InputIterator>'
../gecko-sdk/string/include/nsCharTraits.h:421: parse error before `}' token
../gecko-sdk/string/include/nsCharTraits.h:473: non-template type ` nsCharSourceTraits' used as a template
../gecko-sdk/string/include/nsCharTraits.h:474: confused by earlier errors, bailing out
make: *** [main.o]

456 名前:はしのえみ好き〜&rlo;ッ゚ホ(`Д´*)&lro; mailto:sage [03/07/14 13:37]
gecko-sdk-winはgccでコンパイルできないんですよ。cl.exeを使うとできます。
VC++を持ってなければ、NET Framework SDKを使うと良いと思います。

どうしてもgccでやるなら、gecko-sdk-winの*.libとgecko-sdk-linuxの*.hを使うといけるかも・・・。


457 名前:はしのえみ好き〜&rlo;ッ゚ホ(`Д´*)&lro; mailto:sage [03/07/14 13:45]
ごめん。>>456の最後多分無理だわ。やっぱWin上ではcl.exe使うしかないかも。



458 名前:??? [03/07/14 23:50]
ッ゚ホ(`Д´*)‭


459 名前:デフォルトの名無しさん mailto:sage [03/07/15 02:02]
mingw の場合は一度 mozilla を build するとできる mozilla/dist/sdk 内を
使えばいいのかも。

embed_base_s.lib -> libembed_base_s.a
embedstring.lib -> libembedstring.a
plc4.lib -> plc4.dll
xpcom.lib -> xpcom.dll

と思われるので注意(つーか自信ない、やってみるべか…)


460 名前:459 mailto:sage [03/07/15 08:51]
ちょっとやってみた。
・/cygdrive/e/build 内に mozilla/ を展開、
www5e.biglobe.ne.jp/~level0/mozilla/news200304.html#20030519_MinGW
を参考にMozillaをbuild (CVS checkout もしたのでソースは最新)
・/cygdrive/e/build/MinimumGecko/ 以下にMakefileを作成、
>>453-455 と違って、Mingw-2.0.0-3 を使用。
・ んで Make したら、以下のエラーメッセージ

main.cpp: In function `int main()':
main.cpp:60: invalid conversion from `const wchar_t*' to `const PRUnichar*'
main.cpp:60: initializing argument 1 of `nsEmbedString::nsEmbedString(const
PRUnichar*)'
make: *** [main.o] Error 1

あと一息かな?

461 名前:459 mailto:sage [03/07/15 08:55]
#使った Makefile
MINGW= /cygdrive/c/mingw
GECKO_SDK= ../mozilla/dist/sdk
MOZ_INC= ../mozilla/dist/include
CPP= g++
CC= gcc
OBJ= main.o $(RES)
LINKOBJ= main.o $(RES)
LIBS= -L$(MINGW)/lib -L$(GECKO_SDK)/embed_base/bin \
-L$(GECKO_SDK)/embedstring/bin -L$(GECKO_SDK)/nspr/bin \
-L$(GECKO_SDK)/xpcom/bin -luser32 -lgdi32 -lembed_base_s -lembedstring -lplc4 -lxpcom
INCS= -I$(MINGW)/include
CXXINCS= -DMOZILLA_STRICT_API -DDEBUG -I$(MINGW)/include/c++/3.2.2 \
-I$(MINGW)/include/c++/3.2.2/mingw32/bits -I$(MINGW)/include/c++/3.2.2/backward \
-I$(MINGW)/include -I$(GECKO_SDK) -I$(GECKO_SDK)/embed_base/include \
-I$(GECKO_SDK)/embedstring/include -I$(GECKO_SDK)/nspr/include \
-I$(GECKO_SDK)/string/include -I$(GECKO_SDK)/webbrwsr/include \
-I$(GECKO_SDK)/xpcom/include -I$(MOZ_INC)/docshell -I$(MOZ_INC)/webbrwsr \
-I$(MOZ_INC)/string -I$(MOZ_INC)/widget -I$(MOZ_INC)/xpcom

BIN= MinimumGecko.exe
CXXFLAGS= $(CXXINCS)
CFLAGS= $(INCS)
$(BIN): $(LINKOBJ)
$(CPP) $(LINKOBJ) -o $(BIN) $(LIBS)
main.o: main.cpp
$(CPP) -c main.cpp -o main.o $(CXXFLAGS)

462 名前:山崎 渉 mailto:(^^) [03/07/15 09:39]

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

463 名前:はしのえみ好き〜&rlo;ッ゚ホ(`Д´*)&lro; mailto:sage [03/07/15 09:51]
>>460
やべー。そのエラーを見る限り俺が間違ってるっぽい。

L""はwchar_t*なんだけど、PRUnicharがwchar_tになってないからだと思う。
PRUnicharの型が何になってるのか、プリプロセスだけやって調べてみてもらえないかな。(prtypes.h#471辺りを参考
多分typedef PRUint16 PRUnicharになってると思うんだけど。

うーん。結構Stringには悩まされたんだよなあ。ドキュメントも古いし。

464 名前:はしのえみ好き〜&rlo;ッ゚ホ(`Д´*)&lro; mailto:sage [03/07/15 10:01]
ところで>>455のエラーの原因は何だった?
Mingw-2.0.0-3に変えたから起きなくなっただけなのかな。
それともbuildせないかんかった?
>>455はただの構文解析エラーだから*.libには関係ないと思うんだけど。

#ちなみにMakefileは貼らなくてもいいと思うよ。

465 名前:459 mailto:sage [03/07/15 12:07]
>>463
gcc -E でプリプロセス出してみたら
# 234 "../mozilla/dist/sdk/xpcom/include/nscore.h"
typedef PRUint16 PRUnichar;
ってなってたんで
lxr.mozilla.org/mozilla/source/xpcom/base/nscore.h#234
見て -D_WIN32 つけたらオブジェクトファイルのコンパイルは通りましたぁ。
でも exe 作る段階で、
main.o(.eh_frame+0x12):main.cpp: undefined reference to `___gxx_personality_v0'
/cygdrive/c/mingw/lib/libstdc++.a(vterminate.o)(.text+0xaf): undefined reference
to `__Unwind_SjLj_Register'
/cygdrive/c/mingw/lib/libstdc++.a(vterminate.o)(.text+0x127): undefined referenc
e to `__imp___iob'
/cygdrive/c/mingw/lib/libstdc++.a(vterminate.o)(.text+0x17e): undefined referenc
e to `__imp___iob'
/cygdrive/c/mingw/lib/libstdc++.a(new_opv.o)(.text+0x2f): undefined reference to
`__Unwind_SjLj_Register'
.....以下ぞろぞろとエラーが(T_T)
Mingw 固有の問題っぽいのでbug 203303見直してみますわ...

466 名前:459 mailto:sage [03/07/15 13:06]
言い忘れてたけど、わたしゃ >>453-455 とは別人っすよー

467 名前:459 mailto:sage [03/07/15 14:02]
スマソ、大ボケかましてましたわ。
MingwのPATHをcygwinの前に通しておくの忘れてた(汗
無事にコンパイル完了、mozilla/dist/bin に入れたら起動できました〜



468 名前:はしのえみ好き〜&rlo;ッ゚ホ(`Д´*)&lro; mailto:sage [03/07/15 22:59]
>>466
ああ、そうでしたか。何とタイムリーな。。。

では>>464の質問は>>453-455宛ということでよろしく。


469 名前:453 mailto:sage [03/07/15 23:50]
どうも453です。

>>はしのえみ好き〜&rlo;ッ゚ホ(`Д´*)&lro;さん
>ところで>>455のエラーの原因は何だった?
STL関係がおかしいのかと思い、STLportを入れたりしたのですがエラー内容は変わりませんでした。
MinGW-3.0.0-rc-1の前に試したMingw-2.0.0-3でも同じで原因はよくわかりません。

>gecko-sdk-winはgccでコンパイルできないんですよ。cl.exeを使うとできます。
>VC++を持ってなければ、NET Framework SDKを使うと良いと思います。
.NET Frame SDKでcl.exeが使えるって初めて知りました。早速インストールしてみます。

>>459さん
>mingw の場合は一度 mozilla を build するとできる mozilla/dist/sdk 内を
>使えばいいのかも。
そうか、その手がありました。

さっそく色々試してみたいと思います。
はしのえみ好き〜&rlo;ッ゚ホ(`Д´*)&lro;さん、459さん色々と情報ありがとうございました。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<225KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef