Missing file updates to compile Gecko components.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1520 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
Joshy 2011-03-04 10:22:15 +00:00
parent f02506ab90
commit d35cec6ab2
4 changed files with 142 additions and 19 deletions

View File

@ -63,3 +63,73 @@ LazarusResources.Add('TGeckoBrowser','BMP',[
+#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#0#0#128#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#128#0#0#128#0#0#0#0#0#0#0#0#0
]);
LazarusResources.Add('TGeckoPrompt','BMP',[
'BMv'#6#0#0#0#0#0#0'6'#4#0#0'('#0#0#0#24#0#0#0#24#0#0#0#1#0#8#0#0#0#0#0#0#0#0
+#0#196#14#0#0#196#14#0#0#0#1#0#0#0#1#0#0'@@@'#255'{bP'#255'}bR'#255'|dR'#255
+#127'gY'#255'~nb'#255#206'J.'#255#219'G)'#255#220'I,'#255#213'U:'#255#221'\='
+#255#226'R3'#255#226'S5'#255#234'V3'#255#228'Y;'#255#243'^9'#255#131'kZ'#255
+#133'n^'#255#156'n_'#255#142'q['#255#145't_'#255#160'm_'#255#133'tf'#255#138
+'ve'#255#143'ud'#255#140'wf'#255#141'vh'#255#142'xj'#255#147'{j'#255#146'~o'
+#255#150#127'o'#255#141#127'{'#255#145#127's'#255#168'wi'#255#229'fE'#255#237
+'aA'#255#237'cC'#255#245'fB'#255#246'hE'#255#254'iA'#255#252'mG'#255#252'pJ'
+#255#254'qI'#255#253'tN'#255#234'sQ'#255#236'tR'#255#235'{['#255#236'zY'#255
+#254'xR'#255#254'|X'#255#143#129'u'#255#144#129'u'#255#145#129'u'#255#146#130
+'v'#255#152#130'u'#255#153#133'v'#255#154#133'w'#255#147#132'x'#255#148#132
+'y'#255#149#133'z'#255#148#134'z'#255#149#134'z'#255#150#135'{'#255#149#135
+'|'#255#153#134'{'#255#151#136'}'#255#153#136'y'#255#155#139'~'#255#156#139
+#127#255#157#139'~'#255#180#135'{'#255#254#128'\'#255#236#129'b'#255#236#136
+'j'#255#254#136'f'#255#236#142's'#255#254#143'p'#255#255#143'p'#255#236#149
+'|'#255#254#150'z'#255'~v'#138#255'kr'#181#255'hp'#186#255#131'y'#139#255#129
+'y'#140#255#220#0#255#255'q'#178#218#255#128#128#128#255#134#134#134#255#135
+#134#134#255#133#128#140#255#153#139#129#255#157#140#128#255#158#142#130#255
+#156#144#129#255#157#144#134#255#149#148#147#255#148#148#148#255#149#149#149
+#255#160#145#133#255#161#146#134#255#162#146#135#255#163#147#136#255#165#145
+#136#255#164#148#137#255#165#150#138#255#166#150#139#255#161#148#140#255#162
+#149#140#255#168#151#138#255#167#153#142#255#171#152#139#255#169#153#142#255
+#181#149#135#255#189#157#143#255#162#146#145#255#162#151#147#255#173#160#149
+#255#177#165#156#255#136#139#180#255#185#169#160#255#186#175#174#255#236#156
+#132#255#254#158#132#255#255#159#133#255#196#166#154#255#236#163#141#255#254
+#166#141#255#236#170#150#255#254#173#151#255#254#174#152#255#255#175#153#255
+#236#177#159#255#210#179#168#255#208#180#170#255#236#182#167#255#232#187#173
+#255#254#182#162#255#255#183#163#255#255#189#170#255#254#190#172#255#255#190
+#173#255#225#185#176#255#254#195#179#255#254#197#182#255#254#198#183#255#244
+#203#191#255#254#205#191#255#239#225#189#255#167#187#206#255#170#191#208#255
+#176#197#208#255#201#200#199#255#201#193#203#255#198#200#200#255#199#200#201
+#255#200#201#202#255#204#203#203#255#206#204#203#255#205#203#204#255#204#204
+#205#255#207#205#204#255#213#197#194#255#218#198#195#255#208#207#207#255#220
+#202#206#255#214#201#208#255#212#202#210#255#212#203#212#255#213#205#215#255
+#213#207#217#255#211#210#209#255#212#212#211#255#218#216#215#255#212#208#219
+#255#212#210#221#255#214#212#223#255#236#202#192#255#226#204#204#255#233#207
+#203#255#237#206#200#255#242#204#194#255#238#208#201#255#239#208#200#255#253
+#208#196#255#237#224#194#255#237#227#205#255#246#233#200#255#225#224#223#255
+#218#216#224#255#225#221#227#255#228#228#228#255#229#229#229#255#231#231#231
+#255#233#226#228#255#239#230#229#255#231#232#231#255#237#235#231#255#232#231
+#232#255#233#232#232#255#235#234#234#255#236#235#235#255#238#237#235#255#238
+#237#237#255#238#238#238#255#239#239#239#255#243#233#231#255#244#234#230#255
+#240#240#239#255#240#240#240#255#242#241#241#255#253#253#253#255#255#255#255
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255'U'#0'UU'#0'U'#0'U'
+#0'UU'#0'UUU'#0'U'#0'UUU'#0'UUU'#0#0'U'#0#0'U'#0'U'#0'U'#0'U'#0'U'#0'U'#0#0
+'UU'#0'UUU'#0'U'#0#0'U'#0#0'U'#0'U'#0#0'U'#0#0'U'#0'U'#0'U'#0'UUU'#0#0'U'#0#0
+'UU'#0'UU'#0'UUU'#0'U'#0#0'U'#0#0#0'UUUUUUUUUUUUUUUUUUUUUUUUU'#22':5549>:454'
+'33<==5244444'#5'j'#209#209#209#209#209#209#209#209#209'YWWWY'#185#186'XWWWX'
+#193'5i'#209#209#209#209#209#209#209#209#209'W'#212#212#212'W'#187#148'W'#212
+#212#212'W'#191'9h'#209#209#209#209#209#209#209#209#209'bWWW`'#197#202'aWWWa'
+#204':f'#209#209#209#209#209#209#209#209#209#209#209#209#209#209#209#209#209
+#209#209#209#209#209':e'#209'YWWWWWWWWWWWWWWWWWWY'#209';d'#157'W'#212#212#212
+#212#212#212#212#212#212#212#212#212#212#212#212#212#212#212'W'#209'=e'#205
+'bWWWWWWWWWWWWWWWWWWb'#208'>f'#159#158#155#152#200#209#209#210's'#199#172#156
+#171#154#161#160#164#188#211#192#196#201'An'#209'YWWWWWWWWWWWWWWWWWWY'#203'['
+'u'#173'W'#212#212#212#212#212#212#212#212#212#212#212#212#212#212#212#212
+#212#212'W'#209'_v'#198'aWWWWWWWWWWWWWWWWWWb'#209'kx'#207#207#206#195#194#190
+#189#176#175#174#170#169#168#167#166#165#178#179#182#183#180#180'g'#134#147
+#181#177#163#143#139#137#129#127'{OLJG0*''('#15#13#14#8'F}'#184#162#150#149
,#145#141#138#131#127'|OMJG011)&#'#11#7'!r'#146#151'V'#153#144#140#137#130#127
+'{OMJG0G+)%$'#12#7#21'q'#136#133'y'#142#135#132#128'~zNKIH/-.-,"'#10#9#6#18
+'E^D\oDB'#27#26#16#1#2#3#3#4#24#19#20#30'6STP'#31'?]cpfmC@ '#29#23#17#17#25
+'87'#28#28'ltQwRZ'
]);

View File

@ -56,7 +56,7 @@ uses
LclIntf, LMessages, LclType, LResources, Graphics,
SysUtils, Classes, Controls, nsXPCOM,
nsGeckoStrings, nsTypes, CallbackInterfaces, nsXPCOMGlue, BrowserSupports,
nsXPCOM_std19
nsXPCOM_std19, GeckoPromptService
{$IFDEF LCLCarbon}, CarbonPrivate {$ENDIF}
{$IFDEF LCLCocoa}, CocoaPrivate, CocoaAll, CocoaUtils {$ENDIF}
{$IFDEF LCLGtk2}, gtk2,
@ -191,6 +191,9 @@ type
FGeckoComponentsStartupSucceeded: boolean;
//Linked event components
FPromptService: TGeckoPrompt;
//misc settings
FDisableJavaScript: Boolean;
FInitializationStarted: Boolean;
@ -327,6 +330,10 @@ type
property DisableJavaScript: Boolean
read GetDisableJavaScript write SetDisableJavascript;
property Initialized: Boolean read FInitialized;
// Linked components set
property Prompt: TGeckoPrompt
read FPromptService write FPromptService;
end;
TCustomGeckoBrowserChrome = class(TInterfacedObject,
@ -438,11 +445,14 @@ type
function GetURIString: UTF8String;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
property Title: WideString read FTitle;
property URIString: UTF8String read GetURIString;
class function GetGeckoBrowserWithDOMWindow(constref DOMWindow: nsIDOMWindow): TGeckoBrowser;
published
property OnDOMLoad: TGeckoBrowserDOMEventHandler
read FOnDOMLoad write FOnDOMLoad;
@ -514,7 +524,7 @@ type
property OnDirectoryService;
property DisableJavaScript;
property Prompt;
public
property ContentDocument;
property ContentWindow;
@ -523,6 +533,8 @@ type
end;
{ TGeckoBrowserChrome }
TGeckoBrowserChrome = class(TCustomGeckoBrowserChrome,
nsIInterfaceRequestor_std19,
nsIContextMenuListener2,
@ -724,6 +736,9 @@ uses
nsError, nsStream, nsMemory, nsNetUtil, GeckoInit,
Forms, TypInfo, Variants;
var
GeckoListBrowsers: TFPList=nil;
procedure Register;
begin
RegisterComponents('Gecko', [TGeckoBrowser]);
@ -1310,6 +1325,8 @@ begin
try
GeckoComponentsStartup;
FGeckoComponentsStartupSucceeded := true;
//Create the prompt service and register
RegisterPromptService;
except
FGeckoComponentsStartupSucceeded := false;
end;
@ -1403,7 +1420,7 @@ begin
FBrowser.OnStatusChange(FBrowser, status);
end;
function TGeckoBrowserChrome.GetWebBrowser
function TGeckoBrowserChrome.GetWebBrowser()
: nsIWebBrowser;
begin
Result := FBrowser.FWebBrowser;
@ -1415,7 +1432,7 @@ begin
FBrowser.FWebBrowser := aWebBrowser;
end;
function TGeckoBrowserChrome.GetChromeFlags
function TGeckoBrowserChrome.GetChromeFlags()
: PRUint32;
begin
//TODO 2 -cTGeckoBrowserChrome: Chrome フラグの扱いをどうしようか
@ -1428,7 +1445,7 @@ begin
UseParameter(aChromeFlags);
end;
procedure TGeckoBrowserChrome.DestroyBrowserWindow;
procedure TGeckoBrowserChrome.DestroyBrowserWindow();
begin
if Assigned(FBrowser.FOnCloseWindow) then
FBrowser.FOnCloseWindow(FBrowser);
@ -1442,11 +1459,11 @@ begin
FBrowser.Height:= aCY;
end;
procedure TGeckoBrowserChrome.ShowAsModal;
procedure TGeckoBrowserChrome.ShowAsModal();
begin
end;
function TGeckoBrowserChrome.IsWindowModal
function TGeckoBrowserChrome.IsWindowModal()
: PRBool;
begin
Result := False;
@ -1533,7 +1550,7 @@ begin
end;
end;
procedure TGeckoBrowserChrome.SetFocus;
procedure TGeckoBrowserChrome.SetFocus();
begin
if Assigned(FBrowser.FOnVisibleChange) then begin
//Give the browser a chance to become visible
@ -1546,7 +1563,7 @@ begin
end;
end;
function TGeckoBrowserChrome.GetVisibility: PRBool;
function TGeckoBrowserChrome.GetVisibility(): PRBool;
begin
// TODO 1 -cTGeckoBrowserChrome: TGeckoBrowserChrome.GetVisibility はどうすべきか
Result := True;
@ -1559,7 +1576,7 @@ begin
//TODO 1 -cTGeckoBrowserChrome: TGeckoBrowserChrome.SetVisibility の実装
end;
function TGeckoBrowserChrome.GetTitle: PWideChar;
function TGeckoBrowserChrome.GetTitle(): PWideChar;
var
pstr: PWideChar;
title: WideString;
@ -1581,7 +1598,7 @@ begin
FBrowser.OnTitleChange(FBrowser, FBrowser.FTitle);
end;
function TGeckoBrowserChrome.GetSiteWindow: Pointer;
function TGeckoBrowserChrome.GetSiteWindow(): Pointer;
begin
{$PUSH}
{$HINTS OFF}
@ -1779,6 +1796,8 @@ end;
constructor TGeckoBrowser.Create(AOwner: TComponent);
begin
if not Assigned(GeckoListBrowsers) then GeckoListBrowsers:=TFPList.Create;
GeckoListBrowsers.Add(Self);
inherited;
Chrome := TGeckoBrowserChrome.Create(Self);
Listener := TGeckoBrowserListener.Create(Self);
@ -1794,6 +1813,34 @@ begin
{$ENDIF}
end;
destructor TGeckoBrowser.Destroy;
begin
inherited Destroy;
GeckoListBrowsers.Remove(Self);
if GeckoListBrowsers.Count=0 then FreeAndNil(GeckoListBrowsers);
end;
class function TGeckoBrowser.GetGeckoBrowserWithDOMWindow(
constref DOMWindow: nsIDOMWindow): TGeckoBrowser;
var
ThisGecko: TGeckoBrowser;
t1,t2: nsIDOMWindow;
j: integer;
begin
Result:=nil;
if Assigned(GeckoListBrowsers) then begin
for j := 0 to GeckoListBrowsers.Count-1 do begin
ThisGecko:=TGeckoBrowser(GeckoListBrowsers[j]);
t1:=ThisGecko.GetContentWindow.Parent;
t2:=DOMWindow.Parent;
if t1=t2 then begin
Result:=ThisGecko;
break;
end;
end;
end;
end;
function TGeckoBrowserChrome.NS_GetInterface(constref uuid: TGUID; out _result): nsresult;
begin
if IsEqualGUID(uuid, nsIDOMWindow) then

View File

@ -5,9 +5,9 @@
<AddToProjectUsesSection Value="False"/>
<Author Value="Gecko Components for Delphi; ported to Lazarus by Phil Hess"/>
<CompilerOptions>
<Version Value="8"/>
<Version Value="9"/>
<SearchPaths>
<OtherUnitFiles Value="../;../each-version/"/>
<OtherUnitFiles Value="..;../each-version"/>
<UnitOutputDirectory Value="units/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Parsing>
@ -42,7 +42,7 @@
<Description Value="Gecko Components for Lazarus"/>
<License Value="MPL 1.1"/>
<Version Release="3"/>
<Files Count="20">
<Files Count="21">
<Item1>
<Filename Value="GeckoBrowser.pas"/>
<HasRegisterProc Value="True"/>
@ -124,6 +124,11 @@
<Filename Value="../each-version/nsXPCOM_std19.pas"/>
<UnitName Value="nsXPCOM_std19"/>
</Item20>
<Item21>
<Filename Value="GeckoPromptService.pas"/>
<HasRegisterProc Value="True"/>
<UnitName Value="GeckoPromptService"/>
</Item21>
</Files>
<Type Value="RunAndDesignTime"/>
<RequiredPkgs Count="2">

View File

@ -1,4 +1,4 @@
{ This file was automatically created by Lazarus. do not edit!
{ This file was automatically created by Lazarus. Do not edit!
This source is only used to compile and install the package.
}
@ -7,16 +7,17 @@ unit GeckoComponents;
interface
uses
GeckoBrowser, GeckoChromeWindow, GeckoInit, nsCID,
nsConsts, nsEnumerators, nsError, nsErrorUtils, nsGeckoStrings, nsInit,
nsMemory, nsNetUtil, nsStream, nsTypes, nsXPCOM, nsXPCOMGlue, nsXRE,
nsXPCOM_std19, LazarusPackageIntf;
GeckoBrowser, GeckoChromeWindow, GeckoInit, nsCID, nsConsts,
nsEnumerators, nsError, nsErrorUtils, nsGeckoStrings, nsInit, nsMemory,
nsNetUtil, nsStream, nsTypes, nsXPCOM, nsXPCOMGlue, nsXRE, nsXPCOM_std19,
GeckoPromptService, LazarusPackageIntf;
implementation
procedure Register;
begin
RegisterUnit('GeckoBrowser', @GeckoBrowser.Register);
RegisterUnit('GeckoPromptService', @GeckoPromptService.Register);
end;
initialization