1
0
mirror of https://github.com/salvadordf/CEF4Delphi.git synced 2025-08-14 21:42:50 +02:00

Update to CEF 3.3578.1860.g36610bd

This commit is contained in:
Salvador Díaz Fau
2018-12-12 17:13:23 +01:00
parent 14410a722a
commit bab31cc0a2
17 changed files with 219 additions and 117 deletions

View File

@@ -89,7 +89,7 @@ type
procedure chrmosrPaint(Sender: TObject; const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer); procedure chrmosrPaint(Sender: TObject; const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer);
procedure chrmosrCursorChange(Sender: TObject; const browser: ICefBrowser; cursor: HICON; cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo); procedure chrmosrCursorChange(Sender: TObject; const browser: ICefBrowser; cursor: HICON; cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo);
procedure chrmosrGetViewRect(Sender: TObject; const browser: ICefBrowser; var rect: TCefRect; out Result: Boolean); procedure chrmosrGetViewRect(Sender: TObject; const browser: ICefBrowser; var rect: TCefRect);
procedure chrmosrGetScreenPoint(Sender: TObject; const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer; out Result: Boolean); procedure chrmosrGetScreenPoint(Sender: TObject; const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer; out Result: Boolean);
procedure chrmosrGetScreenInfo(Sender: TObject; const browser: ICefBrowser; var screenInfo: TCefScreenInfo; out Result: Boolean); procedure chrmosrGetScreenInfo(Sender: TObject; const browser: ICefBrowser; var screenInfo: TCefScreenInfo; out Result: Boolean);
procedure chrmosrPopupShow(Sender: TObject; const browser: ICefBrowser; show: Boolean); procedure chrmosrPopupShow(Sender: TObject; const browser: ICefBrowser; show: Boolean);
@@ -579,8 +579,7 @@ end;
procedure TFMXExternalPumpBrowserFrm.chrmosrGetViewRect(Sender : TObject; procedure TFMXExternalPumpBrowserFrm.chrmosrGetViewRect(Sender : TObject;
const browser : ICefBrowser; const browser : ICefBrowser;
var rect : TCefRect; var rect : TCefRect);
out Result : Boolean);
begin begin
if (GlobalCEFApp <> nil) then if (GlobalCEFApp <> nil) then
begin begin
@@ -588,10 +587,7 @@ begin
rect.y := 0; rect.y := 0;
rect.width := round(Panel1.Width); rect.width := round(Panel1.Width);
rect.height := round(Panel1.Height); rect.height := round(Panel1.Height);
Result := True; end;
end
else
Result := False;
end; end;
procedure TFMXExternalPumpBrowserFrm.chrmosrPaint(Sender : TObject; procedure TFMXExternalPumpBrowserFrm.chrmosrPaint(Sender : TObject;

View File

@@ -94,7 +94,7 @@ type
procedure chrmosrPaint(Sender: TObject; const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer); procedure chrmosrPaint(Sender: TObject; const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer);
procedure chrmosrCursorChange(Sender: TObject; const browser: ICefBrowser; cursor: HICON; cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo); procedure chrmosrCursorChange(Sender: TObject; const browser: ICefBrowser; cursor: HICON; cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo);
procedure chrmosrGetViewRect(Sender: TObject; const browser: ICefBrowser; var rect: TCefRect; out Result: Boolean); procedure chrmosrGetViewRect(Sender: TObject; const browser: ICefBrowser; var rect: TCefRect);
procedure chrmosrGetScreenPoint(Sender: TObject; const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer; out Result: Boolean); procedure chrmosrGetScreenPoint(Sender: TObject; const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer; out Result: Boolean);
procedure chrmosrGetScreenInfo(Sender: TObject; const browser: ICefBrowser; var screenInfo: TCefScreenInfo; out Result: Boolean); procedure chrmosrGetScreenInfo(Sender: TObject; const browser: ICefBrowser; var screenInfo: TCefScreenInfo; out Result: Boolean);
procedure chrmosrPopupShow(Sender: TObject; const browser: ICefBrowser; show: Boolean); procedure chrmosrPopupShow(Sender: TObject; const browser: ICefBrowser; show: Boolean);
@@ -479,8 +479,7 @@ end;
procedure TForm1.chrmosrGetViewRect( Sender : TObject; procedure TForm1.chrmosrGetViewRect( Sender : TObject;
const browser : ICefBrowser; const browser : ICefBrowser;
var rect : TCefRect; var rect : TCefRect);
out Result : Boolean);
begin begin
if (GlobalCEFApp <> nil) then if (GlobalCEFApp <> nil) then
begin begin
@@ -488,10 +487,7 @@ begin
rect.y := 0; rect.y := 0;
rect.width := DeviceToLogical(Panel1.Width, GlobalCEFApp.DeviceScaleFactor); rect.width := DeviceToLogical(Panel1.Width, GlobalCEFApp.DeviceScaleFactor);
rect.height := DeviceToLogical(Panel1.Height, GlobalCEFApp.DeviceScaleFactor); rect.height := DeviceToLogical(Panel1.Height, GlobalCEFApp.DeviceScaleFactor);
Result := True; end;
end
else
Result := False;
end; end;
procedure TForm1.chrmosrPaint( Sender : TObject; procedure TForm1.chrmosrPaint( Sender : TObject;

View File

@@ -153,6 +153,9 @@ object MiniBrowserFrm: TMiniBrowserFrm
'https://www.w3schools.com/Tags/tryit.asp?filename=tryhtml_iframe' + 'https://www.w3schools.com/Tags/tryit.asp?filename=tryhtml_iframe' +
'_name' '_name'
'http://www-db.deis.unibo.it/courses/TW/DOCS/w3schools/html/tryit' +
'.asp-filename=tryhtml5_html_manifest.html'
'https://www.browserleaks.com/webrtc' 'https://www.browserleaks.com/webrtc'
'https://frames-per-second.appspot.com/' 'https://frames-per-second.appspot.com/'
'chrome://version/' 'chrome://version/'

View File

@@ -88,7 +88,7 @@ type
procedure chrmosrPaint(Sender: TObject; const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer); procedure chrmosrPaint(Sender: TObject; const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer);
procedure chrmosrCursorChange(Sender: TObject; const browser: ICefBrowser; cursor: HICON; cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo); procedure chrmosrCursorChange(Sender: TObject; const browser: ICefBrowser; cursor: HICON; cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo);
procedure chrmosrGetViewRect(Sender: TObject; const browser: ICefBrowser; var rect: TCefRect; out Result: Boolean); procedure chrmosrGetViewRect(Sender: TObject; const browser: ICefBrowser; var rect: TCefRect);
procedure chrmosrGetScreenPoint(Sender: TObject; const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer; out Result: Boolean); procedure chrmosrGetScreenPoint(Sender: TObject; const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer; out Result: Boolean);
procedure chrmosrGetScreenInfo(Sender: TObject; const browser: ICefBrowser; var screenInfo: TCefScreenInfo; out Result: Boolean); procedure chrmosrGetScreenInfo(Sender: TObject; const browser: ICefBrowser; var screenInfo: TCefScreenInfo; out Result: Boolean);
procedure chrmosrPopupShow(Sender: TObject; const browser: ICefBrowser; show: Boolean); procedure chrmosrPopupShow(Sender: TObject; const browser: ICefBrowser; show: Boolean);
@@ -405,8 +405,7 @@ end;
procedure TOSRExternalPumpBrowserFrm.chrmosrGetViewRect(Sender : TObject; procedure TOSRExternalPumpBrowserFrm.chrmosrGetViewRect(Sender : TObject;
const browser : ICefBrowser; const browser : ICefBrowser;
var rect : TCefRect; var rect : TCefRect);
out Result : Boolean);
begin begin
if (GlobalCEFApp <> nil) then if (GlobalCEFApp <> nil) then
begin begin
@@ -414,10 +413,7 @@ begin
rect.y := 0; rect.y := 0;
rect.width := DeviceToLogical(Panel1.Width, GlobalCEFApp.DeviceScaleFactor); rect.width := DeviceToLogical(Panel1.Width, GlobalCEFApp.DeviceScaleFactor);
rect.height := DeviceToLogical(Panel1.Height, GlobalCEFApp.DeviceScaleFactor); rect.height := DeviceToLogical(Panel1.Height, GlobalCEFApp.DeviceScaleFactor);
Result := True; end;
end
else
Result := False;
end; end;
procedure TOSRExternalPumpBrowserFrm.chrmosrPaint(Sender : TObject; procedure TOSRExternalPumpBrowserFrm.chrmosrPaint(Sender : TObject;

View File

@@ -8,9 +8,10 @@
<Unit0> <Unit0>
<Filename Value="SimpleLazOSRBrowser.lpr"/> <Filename Value="SimpleLazOSRBrowser.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="31"/> <TopLine Value="24"/>
<CursorPos X="10" Y="43"/> <CursorPos X="46" Y="33"/>
<UsageCount Value="40"/> <UsageCount Value="40"/>
<DefaultSyntaxHighlighter Value="Delphi"/> <DefaultSyntaxHighlighter Value="Delphi"/>
</Unit0> </Unit0>
@@ -20,15 +21,14 @@
<ComponentName Value="Form1"/> <ComponentName Value="Form1"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<IsVisibleTab Value="True"/> <EditorIndex Value="-1"/>
<TopLine Value="639"/> <TopLine Value="285"/>
<CursorPos X="3" Y="641"/> <CursorPos Y="296"/>
<UsageCount Value="40"/> <UsageCount Value="40"/>
<Bookmarks Count="2"> <Bookmarks Count="2">
<Item0 Y="189" ID="1"/> <Item0 Y="189" ID="1"/>
<Item1 X="5" Y="805" ID="2"/> <Item1 X="5" Y="801" ID="2"/>
</Bookmarks> </Bookmarks>
<Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/> <DefaultSyntaxHighlighter Value="Delphi"/>
</Unit1> </Unit1>
<Unit2> <Unit2>
@@ -164,11 +164,9 @@
</Bookmarks> </Bookmarks>
</Unit18> </Unit18>
</Units> </Units>
<JumpHistory Count="1"> <General>
<Position1> <ActiveWindowIndexAtStart Value="-1"/>
<Filename Value="usimplelazosrbrowser.pas"/> </General>
<Caret Line="82" Column="21" TopLine="67"/> <JumpHistory HistoryIndex="-1"/>
</Position1>
</JumpHistory>
</ProjectSession> </ProjectSession>
</CONFIG> </CONFIG>

View File

@@ -86,7 +86,7 @@ type
procedure chrmosrPaint(Sender: TObject; const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; aWidth, aHeight: Integer); procedure chrmosrPaint(Sender: TObject; const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; aWidth, aHeight: Integer);
procedure chrmosrCursorChange(Sender: TObject; const browser: ICefBrowser; aCursor: HICON; cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo); procedure chrmosrCursorChange(Sender: TObject; const browser: ICefBrowser; aCursor: HICON; cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo);
procedure chrmosrGetViewRect(Sender: TObject; const browser: ICefBrowser; var rect: TCefRect; out Result: Boolean); procedure chrmosrGetViewRect(Sender: TObject; const browser: ICefBrowser; var rect: TCefRect);
procedure chrmosrGetScreenPoint(Sender: TObject; const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer; out Result: Boolean); procedure chrmosrGetScreenPoint(Sender: TObject; const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer; out Result: Boolean);
procedure chrmosrGetScreenInfo(Sender: TObject; const browser: ICefBrowser; var screenInfo: TCefScreenInfo; out Result: Boolean); procedure chrmosrGetScreenInfo(Sender: TObject; const browser: ICefBrowser; var screenInfo: TCefScreenInfo; out Result: Boolean);
procedure chrmosrPopupShow(Sender: TObject; const browser: ICefBrowser; aShow: Boolean); procedure chrmosrPopupShow(Sender: TObject; const browser: ICefBrowser; aShow: Boolean);
@@ -284,8 +284,7 @@ end;
procedure TForm1.chrmosrGetViewRect(Sender : TObject; procedure TForm1.chrmosrGetViewRect(Sender : TObject;
const browser : ICefBrowser; const browser : ICefBrowser;
var rect : TCefRect; var rect : TCefRect);
out Result : Boolean);
begin begin
if (GlobalCEFApp <> nil) then if (GlobalCEFApp <> nil) then
begin begin
@@ -293,10 +292,7 @@ begin
rect.y := 0; rect.y := 0;
rect.width := DeviceToLogical(Panel1.Width, GlobalCEFApp.DeviceScaleFactor); rect.width := DeviceToLogical(Panel1.Width, GlobalCEFApp.DeviceScaleFactor);
rect.height := DeviceToLogical(Panel1.Height, GlobalCEFApp.DeviceScaleFactor); rect.height := DeviceToLogical(Panel1.Height, GlobalCEFApp.DeviceScaleFactor);
Result := True; end;
end
else
Result := False;
end; end;
procedure TForm1.chrmosrPaint(Sender: TObject; const browser: ICefBrowser; procedure TForm1.chrmosrPaint(Sender: TObject; const browser: ICefBrowser;

View File

@@ -99,7 +99,6 @@ object Form1: TForm1
TabOrder = 1 TabOrder = 1
OnClick = SnapshotBtnClick OnClick = SnapshotBtnClick
OnEnter = SnapshotBtnEnter OnEnter = SnapshotBtnEnter
ExplicitLeft = 72
end end
end end
end end
@@ -120,7 +119,6 @@ object Form1: TForm1
OnMouseUp = Panel1MouseUp OnMouseUp = Panel1MouseUp
OnResize = Panel1Resize OnResize = Panel1Resize
OnMouseLeave = Panel1MouseLeave OnMouseLeave = Panel1MouseLeave
ExplicitHeight = 458
end end
object chrmosr: TChromium object chrmosr: TChromium
OnTooltip = chrmosrTooltip OnTooltip = chrmosrTooltip

View File

@@ -88,7 +88,7 @@ type
procedure chrmosrPaint(Sender: TObject; const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer); procedure chrmosrPaint(Sender: TObject; const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer);
procedure chrmosrCursorChange(Sender: TObject; const browser: ICefBrowser; cursor: HICON; cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo); procedure chrmosrCursorChange(Sender: TObject; const browser: ICefBrowser; cursor: HICON; cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo);
procedure chrmosrGetViewRect(Sender: TObject; const browser: ICefBrowser; var rect: TCefRect; out Result: Boolean); procedure chrmosrGetViewRect(Sender: TObject; const browser: ICefBrowser; var rect: TCefRect);
procedure chrmosrGetScreenPoint(Sender: TObject; const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer; out Result: Boolean); procedure chrmosrGetScreenPoint(Sender: TObject; const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer; out Result: Boolean);
procedure chrmosrGetScreenInfo(Sender: TObject; const browser: ICefBrowser; var screenInfo: TCefScreenInfo; out Result: Boolean); procedure chrmosrGetScreenInfo(Sender: TObject; const browser: ICefBrowser; var screenInfo: TCefScreenInfo; out Result: Boolean);
procedure chrmosrPopupShow(Sender: TObject; const browser: ICefBrowser; show: Boolean); procedure chrmosrPopupShow(Sender: TObject; const browser: ICefBrowser; show: Boolean);
@@ -384,8 +384,7 @@ end;
procedure TForm1.chrmosrGetViewRect(Sender : TObject; procedure TForm1.chrmosrGetViewRect(Sender : TObject;
const browser : ICefBrowser; const browser : ICefBrowser;
var rect : TCefRect; var rect : TCefRect);
out Result : Boolean);
begin begin
if (GlobalCEFApp <> nil) then if (GlobalCEFApp <> nil) then
begin begin
@@ -393,10 +392,7 @@ begin
rect.y := 0; rect.y := 0;
rect.width := DeviceToLogical(Panel1.Width, GlobalCEFApp.DeviceScaleFactor); rect.width := DeviceToLogical(Panel1.Width, GlobalCEFApp.DeviceScaleFactor);
rect.height := DeviceToLogical(Panel1.Height, GlobalCEFApp.DeviceScaleFactor); rect.height := DeviceToLogical(Panel1.Height, GlobalCEFApp.DeviceScaleFactor);
Result := True; end;
end
else
Result := False;
end; end;
procedure TForm1.chrmosrPaint(Sender : TObject; procedure TForm1.chrmosrPaint(Sender : TObject;

View File

@@ -58,14 +58,14 @@ uses
const const
CEF_SUPPORTED_VERSION_MAJOR = 3; CEF_SUPPORTED_VERSION_MAJOR = 3;
CEF_SUPPORTED_VERSION_MINOR = 3538; CEF_SUPPORTED_VERSION_MINOR = 3578;
CEF_SUPPORTED_VERSION_RELEASE = 1852; CEF_SUPPORTED_VERSION_RELEASE = 1860;
CEF_SUPPORTED_VERSION_BUILD = 0; CEF_SUPPORTED_VERSION_BUILD = 0;
CEF_CHROMEELF_VERSION_MAJOR = 70; CEF_CHROMEELF_VERSION_MAJOR = 71;
CEF_CHROMEELF_VERSION_MINOR = 0; CEF_CHROMEELF_VERSION_MINOR = 0;
CEF_CHROMEELF_VERSION_RELEASE = 3538; CEF_CHROMEELF_VERSION_RELEASE = 3578;
CEF_CHROMEELF_VERSION_BUILD = 102; CEF_CHROMEELF_VERSION_BUILD = 80;
LIBCEF_DLL = 'libcef.dll'; LIBCEF_DLL = 'libcef.dll';
CHROMEELF_DLL = 'chrome_elf.dll'; CHROMEELF_DLL = 'chrome_elf.dll';

View File

@@ -121,6 +121,7 @@ type
procedure NotifyScreenInfoChanged; procedure NotifyScreenInfoChanged;
procedure WasHidden(hidden: Boolean); procedure WasHidden(hidden: Boolean);
procedure Invalidate(kind: TCefPaintElementType); procedure Invalidate(kind: TCefPaintElementType);
procedure SendExternalBeginFrame;
procedure SendKeyEvent(const event: PCefKeyEvent); procedure SendKeyEvent(const event: PCefKeyEvent);
procedure SendMouseClickEvent(const event: PCefMouseEvent; kind: TCefMouseButtonType; mouseUp: Boolean; clickCount: Integer); procedure SendMouseClickEvent(const event: PCefMouseEvent; kind: TCefMouseButtonType; mouseUp: Boolean; clickCount: Integer);
procedure SendMouseMoveEvent(const event: PCefMouseEvent; mouseLeave: Boolean); procedure SendMouseMoveEvent(const event: PCefMouseEvent; mouseLeave: Boolean);
@@ -157,6 +158,9 @@ uses
uCEFRunFileDialogCallback, uCEFRequestContext, uCEFNavigationEntryVisitor, uCEFNavigationEntry, uCEFRunFileDialogCallback, uCEFRequestContext, uCEFNavigationEntryVisitor, uCEFNavigationEntry,
uCEFExtension, uCEFStringList; uCEFExtension, uCEFStringList;
// TCefBrowserRef
function TCefBrowserRef.GetHost: ICefBrowserHost; function TCefBrowserRef.GetHost: ICefBrowserHost;
begin begin
Result := TCefBrowserHostRef.UnWrap(PCefBrowser(FData)^.get_host(PCefBrowser(FData))); Result := TCefBrowserHostRef.UnWrap(PCefBrowser(FData)^.get_host(PCefBrowser(FData)));
@@ -305,11 +309,12 @@ begin
Result := nil; Result := nil;
end; end;
// TCefBrowserHostRef // TCefBrowserHostRef
procedure TCefBrowserHostRef.CloseDevTools; procedure TCefBrowserHostRef.CloseDevTools;
begin begin
PCefBrowserHost(FData)^.close_dev_tools(FData); PCefBrowserHost(FData)^.close_dev_tools(PCefBrowserHost(FData));
end; end;
procedure TCefBrowserHostRef.DownloadImage(const imageUrl : ustring; procedure TCefBrowserHostRef.DownloadImage(const imageUrl : ustring;
@@ -321,7 +326,12 @@ var
url: TCefString; url: TCefString;
begin begin
url := CefString(imageUrl); url := CefString(imageUrl);
PCefBrowserHost(FData)^.download_image(FData, @url, Ord(isFavicon), maxImageSize, Ord(bypassCache), CefGetData(callback)); PCefBrowserHost(FData)^.download_image(PCefBrowserHost(FData),
@url,
Ord(isFavicon),
maxImageSize,
Ord(bypassCache),
CefGetData(callback));
end; end;
procedure TCefBrowserHostRef.DownloadImageProc(const imageUrl : ustring; procedure TCefBrowserHostRef.DownloadImageProc(const imageUrl : ustring;
@@ -335,12 +345,12 @@ end;
procedure TCefBrowserHostRef.DragSourceEndedAt(x, y: Integer; op: TCefDragOperation); procedure TCefBrowserHostRef.DragSourceEndedAt(x, y: Integer; op: TCefDragOperation);
begin begin
PCefBrowserHost(FData)^.drag_source_ended_at(FData, x, y, op); PCefBrowserHost(FData)^.drag_source_ended_at(PCefBrowserHost(FData), x, y, op);
end; end;
procedure TCefBrowserHostRef.DragSourceSystemDragEnded; procedure TCefBrowserHostRef.DragSourceSystemDragEnded;
begin begin
PCefBrowserHost(FData)^.drag_source_system_drag_ended(FData); PCefBrowserHost(FData)^.drag_source_system_drag_ended(PCefBrowserHost(FData));
end; end;
function TCefBrowserHostRef.GetVisibleNavigationEntry : ICefNavigationEntry; function TCefBrowserHostRef.GetVisibleNavigationEntry : ICefNavigationEntry;
@@ -350,42 +360,42 @@ end;
procedure TCefBrowserHostRef.SetAccessibilityState(accessibilityState: TCefState); procedure TCefBrowserHostRef.SetAccessibilityState(accessibilityState: TCefState);
begin begin
PCefBrowserHost(FData)^.set_accessibility_state(FData, accessibilityState); PCefBrowserHost(FData)^.set_accessibility_state(PCefBrowserHost(FData), accessibilityState);
end; end;
procedure TCefBrowserHostRef.SetAutoResizeEnabled(enabled: boolean; const min_size, max_size: PCefSize); procedure TCefBrowserHostRef.SetAutoResizeEnabled(enabled: boolean; const min_size, max_size: PCefSize);
begin begin
PCefBrowserHost(FData)^.set_auto_resize_enabled(FData, Ord(enabled), min_size, max_size); PCefBrowserHost(FData)^.set_auto_resize_enabled(PCefBrowserHost(FData), Ord(enabled), min_size, max_size);
end; end;
function TCefBrowserHostRef.GetExtension : ICefExtension; function TCefBrowserHostRef.GetExtension : ICefExtension;
begin begin
Result := TCefExtensionRef.UnWrap(PCefBrowserHost(FData)^.get_extension(FData)); Result := TCefExtensionRef.UnWrap(PCefBrowserHost(FData)^.get_extension(PCefBrowserHost(FData)));
end; end;
function TCefBrowserHostRef.IsBackgroundHost : boolean; function TCefBrowserHostRef.IsBackgroundHost : boolean;
begin begin
Result := PCefBrowserHost(FData)^.is_background_host(FData) <> 0; Result := PCefBrowserHost(FData)^.is_background_host(PCefBrowserHost(FData)) <> 0;
end; end;
procedure TCefBrowserHostRef.DragTargetDragEnter(const dragData: ICefDragData; const event: PCefMouseEvent; allowedOps: TCefDragOperations); procedure TCefBrowserHostRef.DragTargetDragEnter(const dragData: ICefDragData; const event: PCefMouseEvent; allowedOps: TCefDragOperations);
begin begin
PCefBrowserHost(FData)^.drag_target_drag_enter(FData, CefGetData(dragData), event, allowedOps); PCefBrowserHost(FData)^.drag_target_drag_enter(PCefBrowserHost(FData), CefGetData(dragData), event, allowedOps);
end; end;
procedure TCefBrowserHostRef.DragTargetDragLeave; procedure TCefBrowserHostRef.DragTargetDragLeave;
begin begin
PCefBrowserHost(FData)^.drag_target_drag_leave(FData); PCefBrowserHost(FData)^.drag_target_drag_leave(PCefBrowserHost(FData));
end; end;
procedure TCefBrowserHostRef.DragTargetDragOver(const event: PCefMouseEvent; allowedOps: TCefDragOperations); procedure TCefBrowserHostRef.DragTargetDragOver(const event: PCefMouseEvent; allowedOps: TCefDragOperations);
begin begin
PCefBrowserHost(FData)^.drag_target_drag_over(FData, event, allowedOps); PCefBrowserHost(FData)^.drag_target_drag_over(PCefBrowserHost(FData), event, allowedOps);
end; end;
procedure TCefBrowserHostRef.DragTargetDrop(event: PCefMouseEvent); procedure TCefBrowserHostRef.DragTargetDrop(event: PCefMouseEvent);
begin begin
PCefBrowserHost(FData)^.drag_target_drop(FData, event); PCefBrowserHost(FData)^.drag_target_drop(PCefBrowserHost(FData), event);
end; end;
procedure TCefBrowserHostRef.Find(identifier: Integer; const searchText: ustring; forward, matchCase, findNext: Boolean); procedure TCefBrowserHostRef.Find(identifier: Integer; const searchText: ustring; forward, matchCase, findNext: Boolean);
@@ -393,7 +403,7 @@ var
TempText : TCefString; TempText : TCefString;
begin begin
TempText := CefString(searchText); TempText := CefString(searchText);
PCefBrowserHost(FData)^.find(FData, identifier, @TempText, Ord(forward), Ord(matchCase), Ord(findNext)); PCefBrowserHost(FData)^.find(PCefBrowserHost(FData), identifier, @TempText, Ord(forward), Ord(matchCase), Ord(findNext));
end; end;
function TCefBrowserHostRef.GetBrowser: ICefBrowser; function TCefBrowserHostRef.GetBrowser: ICefBrowser;
@@ -413,7 +423,7 @@ var
str: TCefString; str: TCefString;
begin begin
str := CefString(path); str := CefString(path);
PCefBrowserHost(FData)^.print_to_pdf(FData, @str, settings, CefGetData(callback)); PCefBrowserHost(FData)^.print_to_pdf(PCefBrowserHost(FData), @str, settings, CefGetData(callback));
end; end;
procedure TCefBrowserHostRef.PrintToPdfProc(const path : ustring; procedure TCefBrowserHostRef.PrintToPdfProc(const path : ustring;
@@ -428,7 +438,7 @@ var
str: TCefString; str: TCefString;
begin begin
str := CefString(word); str := CefString(word);
PCefBrowserHost(FData)^.replace_misspelling(FData, @str); PCefBrowserHost(FData)^.replace_misspelling(PCefBrowserHost(FData), @str);
end; end;
procedure TCefBrowserHostRef.RunFileDialog( mode : TCefFileDialogMode; procedure TCefBrowserHostRef.RunFileDialog( mode : TCefFileDialogMode;
@@ -475,7 +485,7 @@ var
str: TCefString; str: TCefString;
begin begin
str := CefString(word); str := CefString(word);
PCefBrowserHost(FData)^.add_word_to_dictionary(FData, @str); PCefBrowserHost(FData)^.add_word_to_dictionary(PCefBrowserHost(FData), @str);
end; end;
procedure TCefBrowserHostRef.CloseBrowser(forceClose: Boolean); procedure TCefBrowserHostRef.CloseBrowser(forceClose: Boolean);
@@ -485,17 +495,17 @@ end;
procedure TCefBrowserHostRef.SendCaptureLostEvent; procedure TCefBrowserHostRef.SendCaptureLostEvent;
begin begin
PCefBrowserHost(FData)^.send_capture_lost_event(FData); PCefBrowserHost(FData)^.send_capture_lost_event(PCefBrowserHost(FData));
end; end;
procedure TCefBrowserHostRef.SendFocusEvent(aSetFocus: Boolean); procedure TCefBrowserHostRef.SendFocusEvent(aSetFocus: Boolean);
begin begin
PCefBrowserHost(FData)^.send_focus_event(FData, Ord(aSetFocus)); PCefBrowserHost(FData)^.send_focus_event(PCefBrowserHost(FData), Ord(aSetFocus));
end; end;
procedure TCefBrowserHostRef.SendKeyEvent(const event: PCefKeyEvent); procedure TCefBrowserHostRef.SendKeyEvent(const event: PCefKeyEvent);
begin begin
PCefBrowserHost(FData)^.send_key_event(FData, event); PCefBrowserHost(FData)^.send_key_event(PCefBrowserHost(FData), event);
end; end;
procedure TCefBrowserHostRef.SendMouseClickEvent(const event : PCefMouseEvent; procedure TCefBrowserHostRef.SendMouseClickEvent(const event : PCefMouseEvent;
@@ -503,17 +513,17 @@ procedure TCefBrowserHostRef.SendMouseClickEvent(const event : PCefMouseEve
mouseUp : Boolean; mouseUp : Boolean;
clickCount : Integer); clickCount : Integer);
begin begin
PCefBrowserHost(FData)^.send_mouse_click_event(FData, event, kind, Ord(mouseUp), clickCount); PCefBrowserHost(FData)^.send_mouse_click_event(PCefBrowserHost(FData), event, kind, Ord(mouseUp), clickCount);
end; end;
procedure TCefBrowserHostRef.SendMouseMoveEvent(const event: PCefMouseEvent; mouseLeave: Boolean); procedure TCefBrowserHostRef.SendMouseMoveEvent(const event: PCefMouseEvent; mouseLeave: Boolean);
begin begin
PCefBrowserHost(FData)^.send_mouse_move_event(FData, event, Ord(mouseLeave)); PCefBrowserHost(FData)^.send_mouse_move_event(PCefBrowserHost(FData), event, Ord(mouseLeave));
end; end;
procedure TCefBrowserHostRef.SendMouseWheelEvent(const event: PCefMouseEvent; deltaX, deltaY: Integer); procedure TCefBrowserHostRef.SendMouseWheelEvent(const event: PCefMouseEvent; deltaX, deltaY: Integer);
begin begin
PCefBrowserHost(FData)^.send_mouse_wheel_event(FData, event, deltaX, deltaY); PCefBrowserHost(FData)^.send_mouse_wheel_event(PCefBrowserHost(FData), event, deltaX, deltaY);
end; end;
procedure TCefBrowserHostRef.SetFocus(focus: Boolean); procedure TCefBrowserHostRef.SetFocus(focus: Boolean);
@@ -548,12 +558,12 @@ end;
function TCefBrowserHostRef.GetRequestContext: ICefRequestContext; function TCefBrowserHostRef.GetRequestContext: ICefRequestContext;
begin begin
Result := TCefRequestContextRef.UnWrap(PCefBrowserHost(FData)^.get_request_context(FData)); Result := TCefRequestContextRef.UnWrap(PCefBrowserHost(FData)^.get_request_context(PCefBrowserHost(FData)));
end; end;
procedure TCefBrowserHostRef.GetNavigationEntries(const visitor: ICefNavigationEntryVisitor; currentOnly: Boolean); procedure TCefBrowserHostRef.GetNavigationEntries(const visitor: ICefNavigationEntryVisitor; currentOnly: Boolean);
begin begin
PCefBrowserHost(FData)^.get_navigation_entries(FData, CefGetData(visitor), Ord(currentOnly)); PCefBrowserHost(FData)^.get_navigation_entries(PCefBrowserHost(FData), CefGetData(visitor), Ord(currentOnly));
end; end;
procedure TCefBrowserHostRef.GetNavigationEntriesProc(const proc: TCefNavigationEntryVisitorProc; currentOnly: Boolean); procedure TCefBrowserHostRef.GetNavigationEntriesProc(const proc: TCefNavigationEntryVisitorProc; currentOnly: Boolean);
@@ -575,7 +585,12 @@ var
TempString : TCefString; TempString : TCefString;
begin begin
TempString := CefString(text); TempString := CefString(text);
PCefBrowserHost(FData)^.ime_set_composition(PCefBrowserHost(FData), @TempString, underlinesCount, underlines, replacement_range, selection_range); PCefBrowserHost(FData)^.ime_set_composition(PCefBrowserHost(FData),
@TempString,
underlinesCount,
underlines,
replacement_range,
selection_range);
end; end;
procedure TCefBrowserHostRef.IMECommitText(const text: ustring; const replacement_range : PCefRange; relative_cursor_pos : integer); procedure TCefBrowserHostRef.IMECommitText(const text: ustring; const replacement_range : PCefRange; relative_cursor_pos : integer);
@@ -598,27 +613,32 @@ end;
function TCefBrowserHostRef.HasDevTools: Boolean; function TCefBrowserHostRef.HasDevTools: Boolean;
begin begin
Result := PCefBrowserHost(FData)^.has_dev_tools(FData) <> 0; Result := PCefBrowserHost(FData)^.has_dev_tools(PCefBrowserHost(FData)) <> 0;
end; end;
function TCefBrowserHostRef.HasView: Boolean; function TCefBrowserHostRef.HasView: Boolean;
begin begin
Result := PCefBrowserHost(FData)^.has_view(FData) <> 0; Result := PCefBrowserHost(FData)^.has_view(PCefBrowserHost(FData)) <> 0;
end; end;
procedure TCefBrowserHostRef.Invalidate(kind: TCefPaintElementType); procedure TCefBrowserHostRef.Invalidate(kind: TCefPaintElementType);
begin begin
PCefBrowserHost(FData)^.invalidate(FData, kind); PCefBrowserHost(FData)^.invalidate(PCefBrowserHost(FData), kind);
end;
procedure TCefBrowserHostRef.SendExternalBeginFrame;
begin
PCefBrowserHost(FData)^.send_external_begin_frame(PCefBrowserHost(FData));
end; end;
function TCefBrowserHostRef.IsMouseCursorChangeDisabled: Boolean; function TCefBrowserHostRef.IsMouseCursorChangeDisabled: Boolean;
begin begin
Result := PCefBrowserHost(FData)^.is_mouse_cursor_change_disabled(FData) <> 0; Result := PCefBrowserHost(FData)^.is_mouse_cursor_change_disabled(PCefBrowserHost(FData)) <> 0;
end; end;
function TCefBrowserHostRef.IsWindowRenderingDisabled: Boolean; function TCefBrowserHostRef.IsWindowRenderingDisabled: Boolean;
begin begin
Result := PCefBrowserHost(FData)^.is_window_rendering_disabled(FData) <> 0; Result := PCefBrowserHost(FData)^.is_window_rendering_disabled(PCefBrowserHost(FData)) <> 0;
end; end;
procedure TCefBrowserHostRef.NotifyMoveOrResizeStarted; procedure TCefBrowserHostRef.NotifyMoveOrResizeStarted;
@@ -641,7 +661,11 @@ procedure TCefBrowserHostRef.ShowDevTools(const windowInfo : PCefWindowInf
const settings : PCefBrowserSettings; const settings : PCefBrowserSettings;
inspectElementAt : PCefPoint); inspectElementAt : PCefPoint);
begin begin
PCefBrowserHost(FData)^.show_dev_tools(FData, windowInfo, CefGetData(client), settings, inspectElementAt); PCefBrowserHost(FData)^.show_dev_tools(PCefBrowserHost(FData),
windowInfo,
CefGetData(client),
settings,
inspectElementAt);
end; end;
procedure TCefBrowserHostRef.StartDownload(const url: ustring); procedure TCefBrowserHostRef.StartDownload(const url: ustring);
@@ -654,12 +678,12 @@ end;
procedure TCefBrowserHostRef.StopFinding(clearSelection: Boolean); procedure TCefBrowserHostRef.StopFinding(clearSelection: Boolean);
begin begin
PCefBrowserHost(FData)^.stop_finding(FData, Ord(clearSelection)); PCefBrowserHost(FData)^.stop_finding(PCefBrowserHost(FData), Ord(clearSelection));
end; end;
function TCefBrowserHostRef.TryCloseBrowser: Boolean; function TCefBrowserHostRef.TryCloseBrowser: Boolean;
begin begin
Result := PCefBrowserHost(FData)^.try_close_browser(FData) <> 0; Result := PCefBrowserHost(FData)^.try_close_browser(PCefBrowserHost(FData)) <> 0;
end; end;
class function TCefBrowserHostRef.UnWrap(data: Pointer): ICefBrowserHost; class function TCefBrowserHostRef.UnWrap(data: Pointer): ICefBrowserHost;
@@ -672,12 +696,12 @@ end;
procedure TCefBrowserHostRef.WasHidden(hidden: Boolean); procedure TCefBrowserHostRef.WasHidden(hidden: Boolean);
begin begin
PCefBrowserHost(FData)^.was_hidden(FData, Ord(hidden)); PCefBrowserHost(FData)^.was_hidden(PCefBrowserHost(FData), Ord(hidden));
end; end;
procedure TCefBrowserHostRef.WasResized; procedure TCefBrowserHostRef.WasResized;
begin begin
PCefBrowserHost(FData)^.was_resized(FData); PCefBrowserHost(FData)^.was_resized(PCefBrowserHost(FData));
end; end;

View File

@@ -212,6 +212,7 @@ type
FOnPopupShow : TOnPopupShow; FOnPopupShow : TOnPopupShow;
FOnPopupSize : TOnPopupSize; FOnPopupSize : TOnPopupSize;
FOnPaint : TOnPaint; FOnPaint : TOnPaint;
FOnAcceleratedPaint : TOnAcceleratedPaint;
FOnCursorChange : TOnCursorChange; FOnCursorChange : TOnCursorChange;
FOnStartDragging : TOnStartDragging; FOnStartDragging : TOnStartDragging;
FOnUpdateDragCursor : TOnUpdateDragCursor; FOnUpdateDragCursor : TOnUpdateDragCursor;
@@ -435,12 +436,13 @@ type
// ICefRenderHandler // ICefRenderHandler
procedure doOnGetAccessibilityHandler(var aAccessibilityHandler : ICefAccessibilityHandler); virtual; procedure doOnGetAccessibilityHandler(var aAccessibilityHandler : ICefAccessibilityHandler); virtual;
function doOnGetRootScreenRect(const browser: ICefBrowser; var rect: TCefRect): Boolean; virtual; function doOnGetRootScreenRect(const browser: ICefBrowser; var rect: TCefRect): Boolean; virtual;
function doOnGetViewRect(const browser: ICefBrowser; var rect: TCefRect): Boolean; virtual; procedure doOnGetViewRect(const browser: ICefBrowser; var rect: TCefRect); virtual;
function doOnGetScreenPoint(const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer): Boolean; virtual; function doOnGetScreenPoint(const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer): Boolean; virtual;
function doOnGetScreenInfo(const browser: ICefBrowser; var screenInfo: TCefScreenInfo): Boolean; virtual; function doOnGetScreenInfo(const browser: ICefBrowser; var screenInfo: TCefScreenInfo): Boolean; virtual;
procedure doOnPopupShow(const browser: ICefBrowser; show: Boolean); virtual; procedure doOnPopupShow(const browser: ICefBrowser; show: Boolean); virtual;
procedure doOnPopupSize(const browser: ICefBrowser; const rect: PCefRect); virtual; procedure doOnPopupSize(const browser: ICefBrowser; const rect: PCefRect); virtual;
procedure doOnPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer); virtual; procedure doOnPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer); virtual;
procedure doOnAcceleratedPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; shared_handle: Pointer); virtual;
procedure doOnCursorChange(const browser: ICefBrowser; cursor: TCefCursorHandle; cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo); virtual; procedure doOnCursorChange(const browser: ICefBrowser; cursor: TCefCursorHandle; cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo); virtual;
function doOnStartDragging(const browser: ICefBrowser; const dragData: ICefDragData; allowedOps: TCefDragOperations; x, y: Integer): Boolean; virtual; function doOnStartDragging(const browser: ICefBrowser; const dragData: ICefDragData; allowedOps: TCefDragOperations; x, y: Integer): Boolean; virtual;
procedure doOnUpdateDragCursor(const browser: ICefBrowser; operation: TCefDragOperation); virtual; procedure doOnUpdateDragCursor(const browser: ICefBrowser; operation: TCefDragOperation); virtual;
@@ -544,6 +546,7 @@ type
procedure NotifyScreenInfoChanged; procedure NotifyScreenInfoChanged;
procedure NotifyMoveOrResizeStarted; procedure NotifyMoveOrResizeStarted;
procedure Invalidate(kind: TCefPaintElementType = PET_VIEW); procedure Invalidate(kind: TCefPaintElementType = PET_VIEW);
procedure SendExternalBeginFrame;
procedure SendKeyEvent(const event: PCefKeyEvent); procedure SendKeyEvent(const event: PCefKeyEvent);
procedure SendMouseClickEvent(const event: PCefMouseEvent; kind: TCefMouseButtonType; mouseUp: Boolean; clickCount: Integer); procedure SendMouseClickEvent(const event: PCefMouseEvent; kind: TCefMouseButtonType; mouseUp: Boolean; clickCount: Integer);
procedure SendMouseMoveEvent(const event: PCefMouseEvent; mouseLeave: Boolean); procedure SendMouseMoveEvent(const event: PCefMouseEvent; mouseLeave: Boolean);
@@ -719,6 +722,7 @@ type
property OnPopupShow : TOnPopupShow read FOnPopupShow write FOnPopupShow; property OnPopupShow : TOnPopupShow read FOnPopupShow write FOnPopupShow;
property OnPopupSize : TOnPopupSize read FOnPopupSize write FOnPopupSize; property OnPopupSize : TOnPopupSize read FOnPopupSize write FOnPopupSize;
property OnPaint : TOnPaint read FOnPaint write FOnPaint; property OnPaint : TOnPaint read FOnPaint write FOnPaint;
property OnAcceleratedPaint : TOnAcceleratedPaint read FOnAcceleratedPaint write FOnAcceleratedPaint;
property OnCursorChange : TOnCursorChange read FOnCursorChange write FOnCursorChange; property OnCursorChange : TOnCursorChange read FOnCursorChange write FOnCursorChange;
property OnStartDragging : TOnStartDragging read FOnStartDragging write FOnStartDragging; property OnStartDragging : TOnStartDragging read FOnStartDragging write FOnStartDragging;
property OnUpdateDragCursor : TOnUpdateDragCursor read FOnUpdateDragCursor write FOnUpdateDragCursor; property OnUpdateDragCursor : TOnUpdateDragCursor read FOnUpdateDragCursor write FOnUpdateDragCursor;
@@ -1071,6 +1075,7 @@ begin
FOnPopupShow := nil; FOnPopupShow := nil;
FOnPopupSize := nil; FOnPopupSize := nil;
FOnPaint := nil; FOnPaint := nil;
FOnAcceleratedPaint := nil;
FOnCursorChange := nil; FOnCursorChange := nil;
FOnStartDragging := nil; FOnStartDragging := nil;
FOnUpdateDragCursor := nil; FOnUpdateDragCursor := nil;
@@ -3460,11 +3465,9 @@ begin
if Assigned(FOnGetScreenPoint) then FOnGetScreenPoint(Self, browser, viewX, viewY, screenX, screenY, Result); if Assigned(FOnGetScreenPoint) then FOnGetScreenPoint(Self, browser, viewX, viewY, screenX, screenY, Result);
end; end;
function TChromium.doOnGetViewRect(const browser: ICefBrowser; var rect: TCefRect): Boolean; procedure TChromium.doOnGetViewRect(const browser: ICefBrowser; var rect: TCefRect);
begin begin
Result := False; if Assigned(FOnGetViewRect) then FOnGetViewRect(Self, browser, rect);
if Assigned(FOnGetViewRect) then FOnGetViewRect(Self, browser, rect, Result);
end; end;
procedure TChromium.doOnGotFocus(const browser: ICefBrowser); procedure TChromium.doOnGotFocus(const browser: ICefBrowser);
@@ -3552,6 +3555,15 @@ begin
if Assigned(FOnPaint) then FOnPaint(Self, browser, kind, dirtyRectsCount, dirtyRects, buffer, width, height); if Assigned(FOnPaint) then FOnPaint(Self, browser, kind, dirtyRectsCount, dirtyRects, buffer, width, height);
end; end;
procedure TChromium.doOnAcceleratedPaint(const browser : ICefBrowser;
kind : TCefPaintElementType;
dirtyRectsCount : NativeUInt;
const dirtyRects : PCefRectArray;
shared_handle : Pointer);
begin
if Assigned(FOnAcceleratedPaint) then FOnAcceleratedPaint(Self, browser, kind, dirtyRectsCount, dirtyRects, shared_handle);
end;
function TChromium.doOnSelectClientCertificate(const browser : ICefBrowser; function TChromium.doOnSelectClientCertificate(const browser : ICefBrowser;
isProxy : boolean; isProxy : boolean;
const host : ustring; const host : ustring;
@@ -3948,6 +3960,11 @@ begin
end; end;
end; end;
procedure TChromium.SendExternalBeginFrame;
begin
if Initialized then FBrowser.Host.SendExternalBeginFrame;
end;
procedure TChromium.SendKeyEvent(const event: PCefKeyEvent); procedure TChromium.SendKeyEvent(const event: PCefKeyEvent);
begin begin
if Initialized then FBrowser.Host.SendKeyEvent(event); if Initialized then FBrowser.Host.SendKeyEvent(event);

View File

@@ -134,12 +134,13 @@ type
// ICefRenderHandler // ICefRenderHandler
TOnGetAccessibilityHandler = procedure(Sender: TObject; var aAccessibilityHandler : ICefAccessibilityHandler) of Object; TOnGetAccessibilityHandler = procedure(Sender: TObject; var aAccessibilityHandler : ICefAccessibilityHandler) of Object;
TOnGetRootScreenRect = procedure(Sender: TObject; const browser: ICefBrowser; var rect: TCefRect; out Result: Boolean) of Object; TOnGetRootScreenRect = procedure(Sender: TObject; const browser: ICefBrowser; var rect: TCefRect; out Result: Boolean) of Object;
TOnGetViewRect = procedure(Sender: TObject; const browser: ICefBrowser; var rect: TCefRect; out Result: Boolean) of Object; TOnGetViewRect = procedure(Sender: TObject; const browser: ICefBrowser; var rect: TCefRect) of Object;
TOnGetScreenPoint = procedure(Sender: TObject; const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer; out Result: Boolean) of Object; TOnGetScreenPoint = procedure(Sender: TObject; const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer; out Result: Boolean) of Object;
TOnGetScreenInfo = procedure(Sender: TObject; const browser: ICefBrowser; var screenInfo: TCefScreenInfo; out Result: Boolean) of Object; TOnGetScreenInfo = procedure(Sender: TObject; const browser: ICefBrowser; var screenInfo: TCefScreenInfo; out Result: Boolean) of Object;
TOnPopupShow = procedure(Sender: TObject; const browser: ICefBrowser; show: Boolean) of Object; TOnPopupShow = procedure(Sender: TObject; const browser: ICefBrowser; show: Boolean) of Object;
TOnPopupSize = procedure(Sender: TObject; const browser: ICefBrowser; const rect: PCefRect) of Object; TOnPopupSize = procedure(Sender: TObject; const browser: ICefBrowser; const rect: PCefRect) of Object;
TOnPaint = procedure(Sender: TObject; const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer) of Object; TOnPaint = procedure(Sender: TObject; const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer) of Object;
TOnAcceleratedPaint = procedure(Sender: TObject; const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; shared_handle: Pointer) of Object;
TOnCursorChange = procedure(Sender: TObject; const browser: ICefBrowser; cursor: TCefCursorHandle; cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo) of Object; TOnCursorChange = procedure(Sender: TObject; const browser: ICefBrowser; cursor: TCefCursorHandle; cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo) of Object;
TOnStartDragging = procedure(Sender: TObject; const browser: ICefBrowser; const dragData: ICefDragData; allowedOps: TCefDragOperations; x, y: Integer; out Result: Boolean) of Object; TOnStartDragging = procedure(Sender: TObject; const browser: ICefBrowser; const dragData: ICefDragData; allowedOps: TCefDragOperations; x, y: Integer; out Result: Boolean) of Object;
TOnUpdateDragCursor = procedure(Sender: TObject; const browser: ICefBrowser; operation: TCefDragOperation) of Object; TOnUpdateDragCursor = procedure(Sender: TObject; const browser: ICefBrowser; operation: TCefDragOperation) of Object;

View File

@@ -342,12 +342,13 @@ type
// ICefRenderHandler // ICefRenderHandler
procedure doOnGetAccessibilityHandler(var aAccessibilityHandler : ICefAccessibilityHandler); procedure doOnGetAccessibilityHandler(var aAccessibilityHandler : ICefAccessibilityHandler);
function doOnGetRootScreenRect(const browser: ICefBrowser; var rect: TCefRect): Boolean; function doOnGetRootScreenRect(const browser: ICefBrowser; var rect: TCefRect): Boolean;
function doOnGetViewRect(const browser: ICefBrowser; var rect: TCefRect): Boolean; procedure doOnGetViewRect(const browser: ICefBrowser; var rect: TCefRect);
function doOnGetScreenPoint(const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer): Boolean; function doOnGetScreenPoint(const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer): Boolean;
function doOnGetScreenInfo(const browser: ICefBrowser; var screenInfo: TCefScreenInfo): Boolean; function doOnGetScreenInfo(const browser: ICefBrowser; var screenInfo: TCefScreenInfo): Boolean;
procedure doOnPopupShow(const browser: ICefBrowser; show: Boolean); procedure doOnPopupShow(const browser: ICefBrowser; show: Boolean);
procedure doOnPopupSize(const browser: ICefBrowser; const rect: PCefRect); procedure doOnPopupSize(const browser: ICefBrowser; const rect: PCefRect);
procedure doOnPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer); procedure doOnPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer);
procedure doOnAcceleratedPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; shared_handle: Pointer);
procedure doOnCursorChange(const browser: ICefBrowser; cursor: TCefCursorHandle; cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo); procedure doOnCursorChange(const browser: ICefBrowser; cursor: TCefCursorHandle; cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo);
function doOnStartDragging(const browser: ICefBrowser; const dragData: ICefDragData; allowedOps: TCefDragOperations; x, y: Integer): Boolean; function doOnStartDragging(const browser: ICefBrowser; const dragData: ICefDragData; allowedOps: TCefDragOperations; x, y: Integer): Boolean;
procedure doOnUpdateDragCursor(const browser: ICefBrowser; operation: TCefDragOperation); procedure doOnUpdateDragCursor(const browser: ICefBrowser; operation: TCefDragOperation);
@@ -478,6 +479,7 @@ type
procedure WasHidden(hidden: Boolean); procedure WasHidden(hidden: Boolean);
procedure NotifyScreenInfoChanged; procedure NotifyScreenInfoChanged;
procedure Invalidate(kind: TCefPaintElementType); procedure Invalidate(kind: TCefPaintElementType);
procedure SendExternalBeginFrame;
procedure SendKeyEvent(const event: PCefKeyEvent); procedure SendKeyEvent(const event: PCefKeyEvent);
procedure SendMouseClickEvent(const event: PCefMouseEvent; kind: TCefMouseButtonType; mouseUp: Boolean; clickCount: Integer); procedure SendMouseClickEvent(const event: PCefMouseEvent; kind: TCefMouseButtonType; mouseUp: Boolean; clickCount: Integer);
procedure SendMouseMoveEvent(const event: PCefMouseEvent; mouseLeave: Boolean); procedure SendMouseMoveEvent(const event: PCefMouseEvent; mouseLeave: Boolean);
@@ -1733,12 +1735,13 @@ type
['{1FC1C22B-085A-4741-9366-5249B88EC410}'] ['{1FC1C22B-085A-4741-9366-5249B88EC410}']
procedure GetAccessibilityHandler(var aAccessibilityHandler : ICefAccessibilityHandler); procedure GetAccessibilityHandler(var aAccessibilityHandler : ICefAccessibilityHandler);
function GetRootScreenRect(const browser: ICefBrowser; var rect: TCefRect): Boolean; function GetRootScreenRect(const browser: ICefBrowser; var rect: TCefRect): Boolean;
function GetViewRect(const browser: ICefBrowser; var rect: TCefRect): Boolean; procedure GetViewRect(const browser: ICefBrowser; var rect: TCefRect);
function GetScreenPoint(const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer): Boolean; function GetScreenPoint(const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer): Boolean;
function GetScreenInfo(const browser: ICefBrowser; var screenInfo: TCefScreenInfo): Boolean; function GetScreenInfo(const browser: ICefBrowser; var screenInfo: TCefScreenInfo): Boolean;
procedure OnPopupShow(const browser: ICefBrowser; show: Boolean); procedure OnPopupShow(const browser: ICefBrowser; show: Boolean);
procedure OnPopupSize(const browser: ICefBrowser; const rect: PCefRect); procedure OnPopupSize(const browser: ICefBrowser; const rect: PCefRect);
procedure OnPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer); procedure OnPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer);
procedure OnAcceleratedPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; shared_handle: Pointer);
procedure OnCursorChange(const browser: ICefBrowser; cursor: TCefCursorHandle; CursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo); procedure OnCursorChange(const browser: ICefBrowser; cursor: TCefCursorHandle; CursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo);
function OnStartDragging(const browser: ICefBrowser; const dragData: ICefDragData; allowedOps: TCefDragOperations; x, y: Integer): Boolean; function OnStartDragging(const browser: ICefBrowser; const dragData: ICefDragData; allowedOps: TCefDragOperations; x, y: Integer): Boolean;
procedure OnUpdateDragCursor(const browser: ICefBrowser; operation: TCefDragOperation); procedure OnUpdateDragCursor(const browser: ICefBrowser; operation: TCefDragOperation);

View File

@@ -493,6 +493,8 @@ begin
aWindowInfo.parent_window := aParent; aWindowInfo.parent_window := aParent;
aWindowInfo.menu := 0; aWindowInfo.menu := 0;
aWindowInfo.windowless_rendering_enabled := ord(False); aWindowInfo.windowless_rendering_enabled := ord(False);
aWindowInfo.shared_texture_enabled := ord(False);
aWindowInfo.external_begin_frame_enabled := ord(False);
aWindowInfo.window := 0; aWindowInfo.window := 0;
end; end;
@@ -508,6 +510,8 @@ begin
aWindowInfo.parent_window := aParent; aWindowInfo.parent_window := aParent;
aWindowInfo.menu := 0; aWindowInfo.menu := 0;
aWindowInfo.windowless_rendering_enabled := ord(False); aWindowInfo.windowless_rendering_enabled := ord(False);
aWindowInfo.shared_texture_enabled := ord(False);
aWindowInfo.external_begin_frame_enabled := ord(False);
aWindowInfo.window := 0; aWindowInfo.window := 0;
end; end;
@@ -523,6 +527,8 @@ begin
aWindowInfo.parent_window := aParent; aWindowInfo.parent_window := aParent;
aWindowInfo.menu := 0; aWindowInfo.menu := 0;
aWindowInfo.windowless_rendering_enabled := ord(True); aWindowInfo.windowless_rendering_enabled := ord(True);
aWindowInfo.shared_texture_enabled := ord(False);
aWindowInfo.external_begin_frame_enabled := ord(False);
aWindowInfo.window := 0; aWindowInfo.window := 0;
end; end;
{$ENDIF} {$ENDIF}
@@ -538,6 +544,8 @@ begin
aWindowInfo.hidden := Ord(aHidden); aWindowInfo.hidden := Ord(aHidden);
aWindowInfo.parent_view := aParent; aWindowInfo.parent_view := aParent;
aWindowInfo.windowless_rendering_enabled := ord(False); aWindowInfo.windowless_rendering_enabled := ord(False);
aWindowInfo.shared_texture_enabled := ord(False);
aWindowInfo.external_begin_frame_enabled := ord(False);
aWindowInfo.view := 0; aWindowInfo.view := 0;
end; end;
@@ -551,6 +559,8 @@ begin
aWindowInfo.hidden := Ord(aHidden); aWindowInfo.hidden := Ord(aHidden);
aWindowInfo.parent_view := aParent; aWindowInfo.parent_view := aParent;
aWindowInfo.windowless_rendering_enabled := ord(False); aWindowInfo.windowless_rendering_enabled := ord(False);
aWindowInfo.shared_texture_enabled := ord(False);
aWindowInfo.external_begin_frame_enabled := ord(False);
aWindowInfo.view := 0; aWindowInfo.view := 0;
end; end;
@@ -565,6 +575,8 @@ begin
aWindowInfo.hidden := Ord(aHidden); aWindowInfo.hidden := Ord(aHidden);
aWindowInfo.parent_view := aParent; aWindowInfo.parent_view := aParent;
aWindowInfo.windowless_rendering_enabled := ord(True); aWindowInfo.windowless_rendering_enabled := ord(True);
aWindowInfo.shared_texture_enabled := ord(False);
aWindowInfo.external_begin_frame_enabled := ord(False);
aWindowInfo.view := 0; aWindowInfo.view := 0;
end; end;
{$ENDIF} {$ENDIF}
@@ -578,6 +590,8 @@ begin
aWindowInfo.height := aRect.bottom - aRect.top; aWindowInfo.height := aRect.bottom - aRect.top;
aWindowInfo.parent_window := aParent; aWindowInfo.parent_window := aParent;
aWindowInfo.windowless_rendering_enabled := ord(False); aWindowInfo.windowless_rendering_enabled := ord(False);
aWindowInfo.shared_texture_enabled := ord(False);
aWindowInfo.external_begin_frame_enabled := ord(False);
aWindowInfo.window := 0; aWindowInfo.window := 0;
end; end;
@@ -589,6 +603,8 @@ begin
aWindowInfo.height := integer(CW_USEDEFAULT); aWindowInfo.height := integer(CW_USEDEFAULT);
aWindowInfo.parent_window := aParent; aWindowInfo.parent_window := aParent;
aWindowInfo.windowless_rendering_enabled := ord(False); aWindowInfo.windowless_rendering_enabled := ord(False);
aWindowInfo.shared_texture_enabled := ord(False);
aWindowInfo.external_begin_frame_enabled := ord(False);
aWindowInfo.window := 0; aWindowInfo.window := 0;
end; end;
@@ -600,6 +616,8 @@ begin
aWindowInfo.height := 0; aWindowInfo.height := 0;
aWindowInfo.parent_window := aParent; aWindowInfo.parent_window := aParent;
aWindowInfo.windowless_rendering_enabled := ord(False); aWindowInfo.windowless_rendering_enabled := ord(False);
aWindowInfo.shared_texture_enabled := ord(False);
aWindowInfo.external_begin_frame_enabled := ord(False);
aWindowInfo.window := 0; aWindowInfo.window := 0;
end; end;
{$ENDIF} {$ENDIF}

View File

@@ -56,12 +56,13 @@ type
protected protected
procedure GetAccessibilityHandler(var aAccessibilityHandler : ICefAccessibilityHandler); virtual; procedure GetAccessibilityHandler(var aAccessibilityHandler : ICefAccessibilityHandler); virtual;
function GetRootScreenRect(const browser: ICefBrowser; var rect: TCefRect): Boolean; virtual; function GetRootScreenRect(const browser: ICefBrowser; var rect: TCefRect): Boolean; virtual;
function GetViewRect(const browser: ICefBrowser; var rect: TCefRect): Boolean; virtual; procedure GetViewRect(const browser: ICefBrowser; var rect: TCefRect); virtual;
function GetScreenPoint(const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer): Boolean; virtual; function GetScreenPoint(const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer): Boolean; virtual;
function GetScreenInfo(const browser: ICefBrowser; var screenInfo: TCefScreenInfo): Boolean; virtual; function GetScreenInfo(const browser: ICefBrowser; var screenInfo: TCefScreenInfo): Boolean; virtual;
procedure OnPopupShow(const browser: ICefBrowser; show: Boolean); virtual; procedure OnPopupShow(const browser: ICefBrowser; show: Boolean); virtual;
procedure OnPopupSize(const browser: ICefBrowser; const rect: PCefRect); virtual; procedure OnPopupSize(const browser: ICefBrowser; const rect: PCefRect); virtual;
procedure OnPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer); virtual; procedure OnPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer); virtual;
procedure OnAcceleratedPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; shared_handle: Pointer); virtual;
procedure OnCursorChange(const browser: ICefBrowser; cursor: TCefCursorHandle; CursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo); virtual; procedure OnCursorChange(const browser: ICefBrowser; cursor: TCefCursorHandle; CursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo); virtual;
function OnStartDragging(const browser: ICefBrowser; const dragData: ICefDragData; allowedOps: TCefDragOperations; x, y: Integer): Boolean; virtual; function OnStartDragging(const browser: ICefBrowser; const dragData: ICefDragData; allowedOps: TCefDragOperations; x, y: Integer): Boolean; virtual;
procedure OnUpdateDragCursor(const browser: ICefBrowser; operation: TCefDragOperation); virtual; procedure OnUpdateDragCursor(const browser: ICefBrowser; operation: TCefDragOperation); virtual;
@@ -81,11 +82,12 @@ type
procedure GetAccessibilityHandler(var aAccessibilityHandler : ICefAccessibilityHandler); override; procedure GetAccessibilityHandler(var aAccessibilityHandler : ICefAccessibilityHandler); override;
function GetRootScreenRect(const browser: ICefBrowser; var rect: TCefRect): Boolean; override; function GetRootScreenRect(const browser: ICefBrowser; var rect: TCefRect): Boolean; override;
function GetViewRect(const browser: ICefBrowser; var rect: TCefRect): Boolean; override; procedure GetViewRect(const browser: ICefBrowser; var rect: TCefRect); override;
function GetScreenPoint(const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer): Boolean; override; function GetScreenPoint(const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer): Boolean; override;
procedure OnPopupShow(const browser: ICefBrowser; show: Boolean); override; procedure OnPopupShow(const browser: ICefBrowser; show: Boolean); override;
procedure OnPopupSize(const browser: ICefBrowser; const rect: PCefRect); override; procedure OnPopupSize(const browser: ICefBrowser; const rect: PCefRect); override;
procedure OnPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer); override; procedure OnPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer); override;
procedure OnAcceleratedPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; shared_handle: Pointer); override;
procedure OnCursorChange(const browser: ICefBrowser; cursor: TCefCursorHandle; cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo); override; procedure OnCursorChange(const browser: ICefBrowser; cursor: TCefCursorHandle; cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo); override;
function GetScreenInfo(const browser: ICefBrowser; var screenInfo: TCefScreenInfo): Boolean; override; function GetScreenInfo(const browser: ICefBrowser; var screenInfo: TCefScreenInfo): Boolean; override;
function OnStartDragging(const browser: ICefBrowser; const dragData: ICefDragData; allowedOps: TCefDragOperations; x, y: Integer): Boolean; override; function OnStartDragging(const browser: ICefBrowser; const dragData: ICefDragData; allowedOps: TCefDragOperations; x, y: Integer): Boolean; override;
@@ -143,18 +145,17 @@ begin
rect^)); rect^));
end; end;
function cef_render_handler_get_view_rect(self : PCefRenderHandler; procedure cef_render_handler_get_view_rect(self : PCefRenderHandler;
browser : PCefBrowser; browser : PCefBrowser;
rect : PCefRect): Integer; stdcall; rect : PCefRect); stdcall;
var var
TempObject : TObject; TempObject : TObject;
begin begin
Result := Ord(False);
TempObject := CefGetObject(self); TempObject := CefGetObject(self);
if (TempObject <> nil) and (TempObject is TCefRenderHandlerOwn) then if (TempObject <> nil) and (TempObject is TCefRenderHandlerOwn) then
Result := Ord(TCefRenderHandlerOwn(TempObject).GetViewRect(TCefBrowserRef.UnWrap(browser), TCefRenderHandlerOwn(TempObject).GetViewRect(TCefBrowserRef.UnWrap(browser),
rect^)); rect^);
end; end;
function cef_render_handler_get_screen_point(self : PCefRenderHandler; function cef_render_handler_get_screen_point(self : PCefRenderHandler;
@@ -238,6 +239,25 @@ begin
height); height);
end; end;
procedure cef_render_handler_on_accelerated_paint( self : PCefRenderHandler;
browser : PCefBrowser;
kind : TCefPaintElementType;
dirtyRectsCount : NativeUInt;
const dirtyRects : PCefRectArray;
shared_handle : Pointer); stdcall;
var
TempObject : TObject;
begin
TempObject := CefGetObject(self);
if (TempObject <> nil) and (TempObject is TCefRenderHandlerOwn) then
TCefRenderHandlerOwn(TempObject).OnAcceleratedPaint(TCefBrowserRef.UnWrap(browser),
kind,
dirtyRectsCount,
dirtyRects,
shared_handle);
end;
procedure cef_render_handler_on_cursor_change( self : PCefRenderHandler; procedure cef_render_handler_on_cursor_change( self : PCefRenderHandler;
browser : PCefBrowser; browser : PCefBrowser;
cursor : TCefCursorHandle; cursor : TCefCursorHandle;
@@ -348,6 +368,7 @@ begin
on_popup_show := {$IFDEF FPC}@{$ENDIF}cef_render_handler_on_popup_show; on_popup_show := {$IFDEF FPC}@{$ENDIF}cef_render_handler_on_popup_show;
on_popup_size := {$IFDEF FPC}@{$ENDIF}cef_render_handler_on_popup_size; on_popup_size := {$IFDEF FPC}@{$ENDIF}cef_render_handler_on_popup_size;
on_paint := {$IFDEF FPC}@{$ENDIF}cef_render_handler_on_paint; on_paint := {$IFDEF FPC}@{$ENDIF}cef_render_handler_on_paint;
on_accelerated_paint := {$IFDEF FPC}@{$ENDIF}cef_render_handler_on_accelerated_paint;
on_cursor_change := {$IFDEF FPC}@{$ENDIF}cef_render_handler_on_cursor_change; on_cursor_change := {$IFDEF FPC}@{$ENDIF}cef_render_handler_on_cursor_change;
start_dragging := {$IFDEF FPC}@{$ENDIF}cef_render_handler_start_dragging; start_dragging := {$IFDEF FPC}@{$ENDIF}cef_render_handler_start_dragging;
update_drag_cursor := {$IFDEF FPC}@{$ENDIF}cef_render_handler_update_drag_cursor; update_drag_cursor := {$IFDEF FPC}@{$ENDIF}cef_render_handler_update_drag_cursor;
@@ -377,9 +398,9 @@ begin
Result := False; Result := False;
end; end;
function TCefRenderHandlerOwn.GetViewRect(const browser: ICefBrowser; var rect: TCefRect): Boolean; procedure TCefRenderHandlerOwn.GetViewRect(const browser: ICefBrowser; var rect: TCefRect);
begin begin
Result := False; //
end; end;
procedure TCefRenderHandlerOwn.OnCursorChange(const browser: ICefBrowser; cursor: TCefCursorHandle; CursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo); procedure TCefRenderHandlerOwn.OnCursorChange(const browser: ICefBrowser; cursor: TCefCursorHandle; CursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo);
@@ -392,6 +413,11 @@ begin
// //
end; end;
procedure TCefRenderHandlerOwn.OnAcceleratedPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; shared_handle: Pointer);
begin
//
end;
procedure TCefRenderHandlerOwn.OnPopupShow(const browser: ICefBrowser; show: Boolean); procedure TCefRenderHandlerOwn.OnPopupShow(const browser: ICefBrowser; show: Boolean);
begin begin
// //
@@ -487,12 +513,12 @@ begin
Result := inherited GetScreenPoint(browser, viewX, viewY, screenX, screenY); Result := inherited GetScreenPoint(browser, viewX, viewY, screenX, screenY);
end; end;
function TCustomRenderHandler.GetViewRect(const browser: ICefBrowser; var rect: TCefRect): Boolean; procedure TCustomRenderHandler.GetViewRect(const browser: ICefBrowser; var rect: TCefRect);
begin begin
if (FEvents <> nil) then if (FEvents <> nil) then
Result := IChromiumEvents(FEvents).doOnGetViewRect(browser, rect) IChromiumEvents(FEvents).doOnGetViewRect(browser, rect)
else else
Result := inherited GetViewRect(browser, rect); inherited GetViewRect(browser, rect);
end; end;
procedure TCustomRenderHandler.OnCursorChange(const browser : ICefBrowser; procedure TCustomRenderHandler.OnCursorChange(const browser : ICefBrowser;
@@ -514,6 +540,15 @@ begin
if (FEvents <> nil) then IChromiumEvents(FEvents).doOnPaint(browser, kind, dirtyRectsCount, dirtyRects, buffer, width, height); if (FEvents <> nil) then IChromiumEvents(FEvents).doOnPaint(browser, kind, dirtyRectsCount, dirtyRects, buffer, width, height);
end; end;
procedure TCustomRenderHandler.OnAcceleratedPaint(const browser : ICefBrowser;
kind : TCefPaintElementType;
dirtyRectsCount : NativeUInt;
const dirtyRects : PCefRectArray;
shared_handle : Pointer);
begin
if (FEvents <> nil) then IChromiumEvents(FEvents).doOnAcceleratedPaint(browser, kind, dirtyRectsCount, dirtyRects, shared_handle);
end;
procedure TCustomRenderHandler.OnPopupShow(const browser: ICefBrowser; show: Boolean); procedure TCustomRenderHandler.OnPopupShow(const browser: ICefBrowser; show: Boolean);
begin begin
if (FEvents <> nil) then IChromiumEvents(FEvents).doOnPopupShow(browser, show); if (FEvents <> nil) then IChromiumEvents(FEvents).doOnPopupShow(browser, show);

View File

@@ -1013,6 +1013,8 @@ type
parent_window : TCefWindowHandle; parent_window : TCefWindowHandle;
menu : HMENU; menu : HMENU;
windowless_rendering_enabled : Integer; windowless_rendering_enabled : Integer;
shared_texture_enabled : Integer;
external_begin_frame_enabled : Integer;
window : TCefWindowHandle; window : TCefWindowHandle;
{$ENDIF} {$ENDIF}
{$IFDEF MACOS} {$IFDEF MACOS}
@@ -1024,6 +1026,8 @@ type
hidden : Integer; hidden : Integer;
parent_view : TCefWindowHandle; parent_view : TCefWindowHandle;
windowless_rendering_enabled : Integer; windowless_rendering_enabled : Integer;
shared_texture_enabled : Integer;
external_begin_frame_enabled : Integer;
view : TCefWindowHandle; view : TCefWindowHandle;
{$ENDIF} {$ENDIF}
{$IFDEF LINUX} {$IFDEF LINUX}
@@ -1033,6 +1037,8 @@ type
height : uint32; height : uint32;
parent_window : TCefWindowHandle; parent_window : TCefWindowHandle;
windowless_rendering_enabled : Integer; windowless_rendering_enabled : Integer;
shared_texture_enabled : Integer;
external_begin_frame_enabled : Integer;
window : TCefWindowHandle; window : TCefWindowHandle;
{$ENDIF} {$ENDIF}
end; end;
@@ -1399,12 +1405,13 @@ type
base : TCefBaseRefCounted; base : TCefBaseRefCounted;
get_accessibility_handler : function(self: PCefRenderHandler): PCefAccessibilityHandler; stdcall; get_accessibility_handler : function(self: PCefRenderHandler): PCefAccessibilityHandler; stdcall;
get_root_screen_rect : function(self: PCefRenderHandler; browser: PCefBrowser; rect: PCefRect): Integer; stdcall; get_root_screen_rect : function(self: PCefRenderHandler; browser: PCefBrowser; rect: PCefRect): Integer; stdcall;
get_view_rect : function(self: PCefRenderHandler; browser: PCefBrowser; rect: PCefRect): Integer; stdcall; get_view_rect : procedure(self: PCefRenderHandler; browser: PCefBrowser; rect: PCefRect); stdcall;
get_screen_point : function(self: PCefRenderHandler; browser: PCefBrowser; viewX, viewY: Integer; screenX, screenY: PInteger): Integer; stdcall; get_screen_point : function(self: PCefRenderHandler; browser: PCefBrowser; viewX, viewY: Integer; screenX, screenY: PInteger): Integer; stdcall;
get_screen_info : function(self: PCefRenderHandler; browser: PCefBrowser; screen_info: PCefScreenInfo): Integer; stdcall; get_screen_info : function(self: PCefRenderHandler; browser: PCefBrowser; screen_info: PCefScreenInfo): Integer; stdcall;
on_popup_show : procedure(self: PCefRenderHandler; browser: PCefBrowser; show: Integer); stdcall; on_popup_show : procedure(self: PCefRenderHandler; browser: PCefBrowser; show: Integer); stdcall;
on_popup_size : procedure(self: PCefRenderHandler; browser: PCefBrowser; const rect: PCefRect); stdcall; on_popup_size : procedure(self: PCefRenderHandler; browser: PCefBrowser; const rect: PCefRect); stdcall;
on_paint : procedure(self: PCefRenderHandler; browser: PCefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer); stdcall; on_paint : procedure(self: PCefRenderHandler; browser: PCefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer); stdcall;
on_accelerated_paint : procedure(self: PCefRenderHandler; browser: PCefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; shared_handle: Pointer); stdcall;
on_cursor_change : procedure(self: PCefRenderHandler; browser: PCefBrowser; cursor: TCefCursorHandle; type_: TCefCursorType; const custom_cursor_info: PCefCursorInfo); stdcall; on_cursor_change : procedure(self: PCefRenderHandler; browser: PCefBrowser; cursor: TCefCursorHandle; type_: TCefCursorType; const custom_cursor_info: PCefCursorInfo); stdcall;
start_dragging : function(self: PCefRenderHandler; browser: PCefBrowser; drag_data: PCefDragData; allowed_ops: TCefDragOperations; x, y: Integer): Integer; stdcall; start_dragging : function(self: PCefRenderHandler; browser: PCefBrowser; drag_data: PCefDragData; allowed_ops: TCefDragOperations; x, y: Integer): Integer; stdcall;
update_drag_cursor : procedure(self: PCefRenderHandler; browser: PCefBrowser; operation: TCefDragOperation); stdcall; update_drag_cursor : procedure(self: PCefRenderHandler; browser: PCefBrowser; operation: TCefDragOperation); stdcall;
@@ -2536,6 +2543,7 @@ type
was_hidden : procedure(self: PCefBrowserHost; hidden: Integer); stdcall; was_hidden : procedure(self: PCefBrowserHost; hidden: Integer); stdcall;
notify_screen_info_changed : procedure(self: PCefBrowserHost); stdcall; notify_screen_info_changed : procedure(self: PCefBrowserHost); stdcall;
invalidate : procedure(self: PCefBrowserHost; kind: TCefPaintElementType); stdcall; invalidate : procedure(self: PCefBrowserHost; kind: TCefPaintElementType); stdcall;
send_external_begin_frame : procedure(self: PCefBrowserHost); stdcall;
send_key_event : procedure(self: PCefBrowserHost; const event: PCefKeyEvent); stdcall; send_key_event : procedure(self: PCefBrowserHost; const event: PCefKeyEvent); stdcall;
send_mouse_click_event : procedure(self: PCefBrowserHost; const event: PCefMouseEvent; kind: TCefMouseButtonType; mouseUp, clickCount: Integer); stdcall; send_mouse_click_event : procedure(self: PCefBrowserHost; const event: PCefMouseEvent; kind: TCefMouseButtonType; mouseUp, clickCount: Integer); stdcall;
send_mouse_move_event : procedure(self: PCefBrowserHost; const event: PCefMouseEvent; mouseLeave: Integer); stdcall; send_mouse_move_event : procedure(self: PCefBrowserHost; const event: PCefMouseEvent; mouseLeave: Integer); stdcall;

View File

@@ -198,6 +198,7 @@ type
FOnPopupShow : TOnPopupShow; FOnPopupShow : TOnPopupShow;
FOnPopupSize : TOnPopupSize; FOnPopupSize : TOnPopupSize;
FOnPaint : TOnPaint; FOnPaint : TOnPaint;
FOnAcceleratedPaint : TOnAcceleratedPaint;
FOnCursorChange : TOnCursorChange; FOnCursorChange : TOnCursorChange;
FOnScrollOffsetChanged : TOnScrollOffsetChanged; FOnScrollOffsetChanged : TOnScrollOffsetChanged;
FOnIMECompositionRangeChanged : TOnIMECompositionRangeChanged; FOnIMECompositionRangeChanged : TOnIMECompositionRangeChanged;
@@ -406,12 +407,13 @@ type
// ICefRenderHandler // ICefRenderHandler
procedure doOnGetAccessibilityHandler(var aAccessibilityHandler : ICefAccessibilityHandler); virtual; procedure doOnGetAccessibilityHandler(var aAccessibilityHandler : ICefAccessibilityHandler); virtual;
function doOnGetRootScreenRect(const browser: ICefBrowser; var rect: TCefRect): Boolean; virtual; function doOnGetRootScreenRect(const browser: ICefBrowser; var rect: TCefRect): Boolean; virtual;
function doOnGetViewRect(const browser: ICefBrowser; var rect: TCefRect): Boolean; virtual; procedure doOnGetViewRect(const browser: ICefBrowser; var rect: TCefRect); virtual;
function doOnGetScreenPoint(const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer): Boolean; virtual; function doOnGetScreenPoint(const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer): Boolean; virtual;
function doOnGetScreenInfo(const browser: ICefBrowser; var screenInfo: TCefScreenInfo): Boolean; virtual; function doOnGetScreenInfo(const browser: ICefBrowser; var screenInfo: TCefScreenInfo): Boolean; virtual;
procedure doOnPopupShow(const browser: ICefBrowser; show: Boolean); virtual; procedure doOnPopupShow(const browser: ICefBrowser; show: Boolean); virtual;
procedure doOnPopupSize(const browser: ICefBrowser; const rect: PCefRect); virtual; procedure doOnPopupSize(const browser: ICefBrowser; const rect: PCefRect); virtual;
procedure doOnPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer); virtual; procedure doOnPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer); virtual;
procedure doOnAcceleratedPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; shared_handle: Pointer); virtual;
procedure doOnCursorChange(const browser: ICefBrowser; cursor: TCefCursorHandle; cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo); virtual; procedure doOnCursorChange(const browser: ICefBrowser; cursor: TCefCursorHandle; cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo); virtual;
function doOnStartDragging(const browser: ICefBrowser; const dragData: ICefDragData; allowedOps: TCefDragOperations; x, y: Integer): Boolean; virtual; function doOnStartDragging(const browser: ICefBrowser; const dragData: ICefDragData; allowedOps: TCefDragOperations; x, y: Integer): Boolean; virtual;
procedure doOnUpdateDragCursor(const browser: ICefBrowser; operation: TCefDragOperation); virtual; procedure doOnUpdateDragCursor(const browser: ICefBrowser; operation: TCefDragOperation); virtual;
@@ -510,6 +512,7 @@ type
procedure NotifyScreenInfoChanged; procedure NotifyScreenInfoChanged;
procedure NotifyMoveOrResizeStarted; procedure NotifyMoveOrResizeStarted;
procedure Invalidate(kind: TCefPaintElementType = PET_VIEW); procedure Invalidate(kind: TCefPaintElementType = PET_VIEW);
procedure SendExternalBeginFrame;
procedure SendKeyEvent(const event: PCefKeyEvent); procedure SendKeyEvent(const event: PCefKeyEvent);
procedure SendMouseClickEvent(const event: PCefMouseEvent; kind: TCefMouseButtonType; mouseUp: Boolean; clickCount: Integer); procedure SendMouseClickEvent(const event: PCefMouseEvent; kind: TCefMouseButtonType; mouseUp: Boolean; clickCount: Integer);
procedure SendMouseMoveEvent(const event: PCefMouseEvent; mouseLeave: Boolean); procedure SendMouseMoveEvent(const event: PCefMouseEvent; mouseLeave: Boolean);
@@ -684,6 +687,7 @@ type
property OnPopupShow : TOnPopupShow read FOnPopupShow write FOnPopupShow; property OnPopupShow : TOnPopupShow read FOnPopupShow write FOnPopupShow;
property OnPopupSize : TOnPopupSize read FOnPopupSize write FOnPopupSize; property OnPopupSize : TOnPopupSize read FOnPopupSize write FOnPopupSize;
property OnPaint : TOnPaint read FOnPaint write FOnPaint; property OnPaint : TOnPaint read FOnPaint write FOnPaint;
property OnAcceleratedPaint : TOnAcceleratedPaint read FOnAcceleratedPaint write FOnAcceleratedPaint;
property OnCursorChange : TOnCursorChange read FOnCursorChange write FOnCursorChange; property OnCursorChange : TOnCursorChange read FOnCursorChange write FOnCursorChange;
property OnScrollOffsetChanged : TOnScrollOffsetChanged read FOnScrollOffsetChanged write FOnScrollOffsetChanged; property OnScrollOffsetChanged : TOnScrollOffsetChanged read FOnScrollOffsetChanged write FOnScrollOffsetChanged;
property OnIMECompositionRangeChanged : TOnIMECompositionRangeChanged read FOnIMECompositionRangeChanged write FOnIMECompositionRangeChanged; property OnIMECompositionRangeChanged : TOnIMECompositionRangeChanged read FOnIMECompositionRangeChanged write FOnIMECompositionRangeChanged;
@@ -988,6 +992,7 @@ begin
FOnPopupShow := nil; FOnPopupShow := nil;
FOnPopupSize := nil; FOnPopupSize := nil;
FOnPaint := nil; FOnPaint := nil;
FOnAcceleratedPaint := nil;
FOnCursorChange := nil; FOnCursorChange := nil;
FOnScrollOffsetChanged := nil; FOnScrollOffsetChanged := nil;
FOnIMECompositionRangeChanged := nil; FOnIMECompositionRangeChanged := nil;
@@ -3087,11 +3092,9 @@ begin
if Assigned(FOnGetScreenPoint) then FOnGetScreenPoint(Self, browser, viewX, viewY, screenX, screenY, Result); if Assigned(FOnGetScreenPoint) then FOnGetScreenPoint(Self, browser, viewX, viewY, screenX, screenY, Result);
end; end;
function TFMXChromium.doOnGetViewRect(const browser: ICefBrowser; var rect: TCefRect): Boolean; procedure TFMXChromium.doOnGetViewRect(const browser: ICefBrowser; var rect: TCefRect);
begin begin
Result := False; if Assigned(FOnGetViewRect) then FOnGetViewRect(Self, browser, rect);
if Assigned(FOnGetViewRect) then FOnGetViewRect(Self, browser, rect, Result);
end; end;
procedure TFMXChromium.doOnGotFocus(const browser: ICefBrowser); procedure TFMXChromium.doOnGotFocus(const browser: ICefBrowser);
@@ -3179,6 +3182,15 @@ begin
if Assigned(FOnPaint) then FOnPaint(Self, browser, kind, dirtyRectsCount, dirtyRects, buffer, width, height); if Assigned(FOnPaint) then FOnPaint(Self, browser, kind, dirtyRectsCount, dirtyRects, buffer, width, height);
end; end;
procedure TFMXChromium.doOnAcceleratedPaint(const browser : ICefBrowser;
kind : TCefPaintElementType;
dirtyRectsCount : NativeUInt;
const dirtyRects : PCefRectArray;
shared_handle : Pointer);
begin
if Assigned(FOnAcceleratedPaint) then FOnAcceleratedPaint(Self, browser, kind, dirtyRectsCount, dirtyRects, shared_handle);
end;
function TFMXChromium.doOnSelectClientCertificate(const browser : ICefBrowser; function TFMXChromium.doOnSelectClientCertificate(const browser : ICefBrowser;
isProxy : boolean; isProxy : boolean;
const host : ustring; const host : ustring;
@@ -3647,6 +3659,11 @@ begin
end; end;
end; end;
procedure TFMXChromium.SendExternalBeginFrame;
begin
if Initialized then FBrowser.Host.SendExternalBeginFrame;
end;
procedure TFMXChromium.SendKeyEvent(const event: PCefKeyEvent); procedure TFMXChromium.SendKeyEvent(const event: PCefKeyEvent);
begin begin
if Initialized then FBrowser.Host.SendKeyEvent(event); if Initialized then FBrowser.Host.SendKeyEvent(event);