diff --git a/README.md b/README.md
index 03a3ce22..abc3d58c 100644
--- a/README.md
+++ b/README.md
@@ -3,15 +3,15 @@ CEF4Delphi is an open source project created by Salvador Díaz Fau to embed Chro
CEF4Delphi is based on DCEF3 and fpCEF3. The original license of those projects still applies to CEF4Delphi. Read the license terms in the LICENSE.md file.
-CEF4Delphi uses CEF 120.2.7 which includes Chromium 120.0.6099.234.
+CEF4Delphi uses CEF 121.2.14 which includes Chromium 121.0.6167.75.
The CEF binaries used by CEF4Delphi are available for download at Spotify :
-* [Windows 32 bits](https://cef-builds.spotifycdn.com/cef_binary_120.2.7%2Bg4bc6a59%2Bchromium-120.0.6099.234_windows32.tar.bz2)
-* [Windows 64 bits](https://cef-builds.spotifycdn.com/cef_binary_120.2.7%2Bg4bc6a59%2Bchromium-120.0.6099.234_windows64.tar.bz2)
-* [Linux x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_120.2.7%2Bg4bc6a59%2Bchromium-120.0.6099.234_linux64.tar.bz2)
-* [Linux ARM 32 bits](https://cef-builds.spotifycdn.com/cef_binary_120.2.7%2Bg4bc6a59%2Bchromium-120.0.6099.234_linuxarm.tar.bz2)
-* [Linux ARM 64 bits](https://cef-builds.spotifycdn.com/cef_binary_120.2.7%2Bg4bc6a59%2Bchromium-120.0.6099.234_linuxarm64.tar.bz2)
-* [MacOS x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_120.2.7%2Bg4bc6a59%2Bchromium-120.0.6099.234_macosx64.tar.bz2)
+* [Windows 32 bits](https://cef-builds.spotifycdn.com/cef_binary_121.2.14%2Bga44b59f%2Bchromium-121.0.6167.75_windows32.tar.bz2)
+* [Windows 64 bits](https://cef-builds.spotifycdn.com/cef_binary_121.2.14%2Bga44b59f%2Bchromium-121.0.6167.75_windows64.tar.bz2)
+* [Linux x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_121.2.14%2Bga44b59f%2Bchromium-121.0.6167.75_linux64.tar.bz2)
+* [Linux ARM 32 bits](https://cef-builds.spotifycdn.com/cef_binary_121.2.14%2Bga44b59f%2Bchromium-121.0.6167.75_linuxarm.tar.bz2)
+* [Linux ARM 64 bits](https://cef-builds.spotifycdn.com/cef_binary_121.2.14%2Bga44b59f%2Bchromium-121.0.6167.75_linuxarm64.tar.bz2)
+* [MacOS x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_121.2.14%2Bga44b59f%2Bchromium-121.0.6167.75_macosx64.tar.bz2)
CEF4Delphi was developed and tested on Delphi 12.0 and it has been tested in Delphi 7, Delphi XE, Delphi 10, Delphi 11 and Lazarus 3.0/FPC 3.2.2. CEF4Delphi includes VCL, FireMonkey (FMX) and Lazarus components.
diff --git a/docs/cef4delphi.chm b/docs/cef4delphi.chm
index 013c204b..5e650e61 100644
Binary files a/docs/cef4delphi.chm and b/docs/cef4delphi.chm differ
diff --git a/packages/cef4delphi_lazarus.lpk b/packages/cef4delphi_lazarus.lpk
index 2205d408..56f200e0 100644
--- a/packages/cef4delphi_lazarus.lpk
+++ b/packages/cef4delphi_lazarus.lpk
@@ -21,7 +21,7 @@
-
+
diff --git a/source/uCEFConstants.pas b/source/uCEFConstants.pas
index d2a0a7eb..fb54c88a 100644
--- a/source/uCEFConstants.pas
+++ b/source/uCEFConstants.pas
@@ -1964,10 +1964,27 @@ const
/// TCefShowState values.
/// CEF source file: /include/internal/cef_types.h (cef_show_state_t)
///
+ ///
+ /// Show the window as normal.
+ ///
CEF_SHOW_STATE_NORMAL = 1;
+ ///
+ /// Show the window as minimized.
+ ///
CEF_SHOW_STATE_MINIMIZED = 2;
+ ///
+ /// Show the window as maximized.
+ ///
CEF_SHOW_STATE_MAXIMIZED = 3;
+ ///
+ /// Show the window as fullscreen.
+ ///
CEF_SHOW_STATE_FULLSCREEN = 4;
+ ///
+ /// Show the window as hidden (no dock thumbnail).
+ /// Only supported on MacOS..
+ ///
+ CEF_SHOW_STATE_HIDDEN = 5;
///
/// Supported quick menu state bit flags.
diff --git a/source/uCEFInterfaces.pas b/source/uCEFInterfaces.pas
index a409ebae..1d2d411f 100644
--- a/source/uCEFInterfaces.pas
+++ b/source/uCEFInterfaces.pas
@@ -4347,7 +4347,7 @@ type
///
procedure OnRouteStateChanged(const route: ICefMediaRoute; state: TCefMediaRouteConnectionState);
///
- /// A message was recieved over |route|. |message| is only valid for the scope
+ /// A message was received over |route|. |message| is only valid for the scope
/// of this callback and should be copied if necessary.
///
procedure OnRouteMessageReceived(const route: ICefMediaRoute; const message_: ustring);
@@ -5552,28 +5552,30 @@ type
///
/// Sets the font list for the specified |command_id|. If |font_list| is NULL
/// the system font will be used. Returns true (1) on success. The format is
- /// ",[STYLES] ", where: - FONT_FAMILY_LIST is a
- /// comma-separated list of font family names, - STYLES is an optional space-
- /// separated list of style names
+ /// ",[STYLES] ", where:
+ /// - FONT_FAMILY_LIST is a comma-separated list of font family names,
+ /// - STYLES is an optional space-separated list of style names
/// (case-sensitive "Bold" and "Italic" are supported), and
/// - SIZE is an integer font size in pixels with the suffix "px".
///
- /// Here are examples of valid font description strings: - "Arial, Helvetica,
- /// Bold Italic 14px" - "Arial, 14px"
+ /// Here are examples of valid font description strings:
+ /// - "Arial, Helvetica, Bold Italic 14px"
+ /// - "Arial, 14px"
///
function SetFontList(commandId: Integer; const fontList: ustring): Boolean;
///
/// Sets the font list for the specified |index|. Specify an |index| value of
/// -1 to set the default font. If |font_list| is NULL the system font will be
/// used. Returns true (1) on success. The format is
- /// ",[STYLES] ", where: - FONT_FAMILY_LIST is a
- /// comma-separated list of font family names, - STYLES is an optional space-
- /// separated list of style names
+ /// ",[STYLES] ", where:
+ /// - FONT_FAMILY_LIST is a comma-separated list of font family names,
+ /// - STYLES is an optional space-separated list of style names
/// (case-sensitive "Bold" and "Italic" are supported), and
/// - SIZE is an integer font size in pixels with the suffix "px".
///
- /// Here are examples of valid font description strings: - "Arial, Helvetica,
- /// Bold Italic 14px" - "Arial, 14px"
+ /// Here are examples of valid font description strings:
+ /// - "Arial, Helvetica, Bold Italic 14px"
+ /// - "Arial, 14px"
///
function SetFontListAt(index: Integer; const fontList: ustring): Boolean;
end;
@@ -6163,7 +6165,7 @@ type
///
procedure OnAfterCreated(const browser: ICefBrowser);
///
- /// Called when a browser has recieved a request to close. This may result
+ /// Called when a browser has received a request to close. This may result
/// directly from a call to ICefBrowserHost.*CloseBrowser or indirectly
/// if the browser is parented to a top-level window created by CEF and the
/// user attempts to close that window (by clicking the 'X', for example). The
@@ -10171,14 +10173,15 @@ type
function GetSelectionBackgroundColor : TCefColor;
///
/// Sets the font list. The format is ",[STYLES] ",
- /// where: - FONT_FAMILY_LIST is a comma-separated list of font family names,
- /// - STYLES is an optional space-separated list of style names (case-
- /// sensitive
+ /// where:
+ /// - FONT_FAMILY_LIST is a comma-separated list of font family names,
+ /// - STYLES is an optional space-separated list of style names (case-sensitive
/// "Bold" and "Italic" are supported), and
/// - SIZE is an integer font size in pixels with the suffix "px".
///
- /// Here are examples of valid font description strings: - "Arial, Helvetica,
- /// Bold Italic 14px" - "Arial, 14px"
+ /// Here are examples of valid font description strings:
+ /// - "Arial, Helvetica, Bold Italic 14px"
+ /// - "Arial, 14px"
///
procedure SetFontList(const font_list: ustring);
///
@@ -10272,7 +10275,7 @@ type
ICefTextfieldDelegate = interface(ICefViewDelegate)
['{72612994-92BB-4DE9-BB38-6F49FB45F94B}']
///
- /// Called when |textfield| recieves a keyboard event. |event| contains
+ /// Called when |textfield| receives a keyboard event. |event| contains
/// information about the keyboard event. Return true (1) if the keyboard
/// event was handled or false (0) otherwise for default handling.
///
@@ -10635,14 +10638,15 @@ type
procedure SetEnabledTextColors(color: TCefColor);
///
/// Sets the font list. The format is ",[STYLES] ",
- /// where: - FONT_FAMILY_LIST is a comma-separated list of font family names,
- /// - STYLES is an optional space-separated list of style names (case-
- /// sensitive
+ /// where:
+ /// - FONT_FAMILY_LIST is a comma-separated list of font family names,
+ /// - STYLES is an optional space-separated list of style names (case-sensitive
/// "Bold" and "Italic" are supported), and
/// - SIZE is an integer font size in pixels with the suffix "px".
///
- /// Here are examples of valid font description strings: - "Arial, Helvetica,
- /// Bold Italic 14px" - "Arial, 14px"
+ /// Here are examples of valid font description strings:
+ /// - "Arial, Helvetica, Bold Italic 14px"
+ /// - "Arial, 14px"
///
procedure SetFontList(const font_list: ustring);
///
@@ -10854,8 +10858,9 @@ type
///
/// Add a View that will be overlayed on the Window contents with absolute
/// positioning and high z-order. Positioning is controlled by |docking_mode|
- /// as described below. The returned ICefOverlayController object is used
- /// to control the overlay. Overlays are hidden by default.
+ /// as described below. Setting |can_activate| to true (1) will allow the
+ /// overlay view to receive input focus. The returned cef_overlay_controller_t
+ /// object is used to control the overlay. Overlays are hidden by default.
///
/// With CEF_DOCKING_MODE_CUSTOM:
/// 1. The overlay is initially hidden, sized to |view|'s preferred size,
@@ -10880,7 +10885,7 @@ type
/// function last after all other child Views have been added so that the
/// overlay displays as the top-most child of the Window.
///
- function AddOverlayView(const view: ICefView; docking_mode: TCefDockingMode): ICefOverlayController;
+ function AddOverlayView(const view: ICefView; docking_mode: TCefDockingMode; can_activate: boolean): ICefOverlayController;
///
/// Show a menu with contents |menu_model|. |screen_point| specifies the menu
/// position in screen coordinates. |anchor_position| specifies how the menu
diff --git a/source/uCEFLabelButton.pas b/source/uCEFLabelButton.pas
index 481442d5..66375620 100644
--- a/source/uCEFLabelButton.pas
+++ b/source/uCEFLabelButton.pas
@@ -64,14 +64,15 @@ type
procedure SetEnabledTextColors(color: TCefColor);
///
/// Sets the font list. The format is ",[STYLES] ",
- /// where: - FONT_FAMILY_LIST is a comma-separated list of font family names,
- /// - STYLES is an optional space-separated list of style names (case-
- /// sensitive
+ /// where:
+ /// - FONT_FAMILY_LIST is a comma-separated list of font family names,
+ /// - STYLES is an optional space-separated list of style names (case-sensitive
/// "Bold" and "Italic" are supported), and
/// - SIZE is an integer font size in pixels with the suffix "px".
///
- /// Here are examples of valid font description strings: - "Arial, Helvetica,
- /// Bold Italic 14px" - "Arial, 14px"
+ /// Here are examples of valid font description strings:
+ /// - "Arial, Helvetica, Bold Italic 14px"
+ /// - "Arial, 14px"
///
procedure SetFontList(const font_list: ustring);
///
diff --git a/source/uCEFPDFPrintOptions.pas b/source/uCEFPDFPrintOptions.pas
index 40d67ed1..76e861b3 100644
--- a/source/uCEFPDFPrintOptions.pas
+++ b/source/uCEFPDFPrintOptions.pas
@@ -25,22 +25,23 @@ type
///
TPDFPrintOptions = class
protected
- FLandscape : boolean;
- FPrintBackground : boolean;
- FScale : double;
- FPaperWidth : double;
- FPaperHeight : double;
- FPreferCSSPageSize : boolean;
- FMarginType : TCefPdfPrintMarginType;
- FMarginTop : double;
- FMarginRight : double;
- FMarginBottom : double;
- FMarginLeft : double;
- FPageRanges : ustring;
- FDisplayHeaderFooter : boolean;
- FHeaderTemplate : ustring;
- FFooterTemplate : ustring;
- FGenerateTaggedPDF : boolean;
+ FLandscape : boolean;
+ FPrintBackground : boolean;
+ FScale : double;
+ FPaperWidth : double;
+ FPaperHeight : double;
+ FPreferCSSPageSize : boolean;
+ FMarginType : TCefPdfPrintMarginType;
+ FMarginTop : double;
+ FMarginRight : double;
+ FMarginBottom : double;
+ FMarginLeft : double;
+ FPageRanges : ustring;
+ FDisplayHeaderFooter : boolean;
+ FHeaderTemplate : ustring;
+ FFooterTemplate : ustring;
+ FGenerateTaggedPDF : boolean;
+ FGenerateDocumentOutline : boolean;
function GetScalePct: double;
function GetPaperWidthMM: double;
@@ -73,16 +74,16 @@ type
///
/// Set to true for landscape mode or false for portrait mode.
///
- property Landscape : boolean read FLandscape write FLandscape;
+ property Landscape : boolean read FLandscape write FLandscape;
///
/// Set to true to print background graphics.
///
- property PrintBackground : boolean read FPrintBackground write FPrintBackground;
+ property PrintBackground : boolean read FPrintBackground write FPrintBackground;
///
/// Set to true to prefer page size as defined by css. Defaults to false,
/// in which case the content will be scaled to fit the paper size.
///
- property PreferCSSPageSize : boolean read FPreferCSSPageSize write FPreferCSSPageSize;
+ property PreferCSSPageSize : boolean read FPreferCSSPageSize write FPreferCSSPageSize;
///
/// Paper ranges to print, one based, e.g., '1-5, 8, 11-13'. Pages are printed
/// in the document order, not in the order specified, and no more than once.
@@ -92,12 +93,12 @@ type
/// no pages to print, an error is reported. It is an error to specify a range
/// with start greater than end.
///
- property PageRanges : ustring read FPageRanges write FPageRanges;
+ property PageRanges : ustring read FPageRanges write FPageRanges;
///
/// Set to true to display the header and/or footer. Modify
/// HeaderTemplate and/or FooterTemplate to customize the display.
///
- property DisplayHeaderFooter : boolean read FDisplayHeaderFooter write FDisplayHeaderFooter;
+ property DisplayHeaderFooter : boolean read FDisplayHeaderFooter write FDisplayHeaderFooter;
///
/// HTML template for the print header. Only displayed if
/// DisplayHeaderFooter is true. Should be valid HTML markup with
@@ -112,87 +113,91 @@ type
/// For example, "" would generate a span containing
/// the title.
///
- property HeaderTemplate : ustring read FHeaderTemplate write FHeaderTemplate;
+ property HeaderTemplate : ustring read FHeaderTemplate write FHeaderTemplate;
///
/// HTML template for the print footer. Only displayed if
/// DisplayHeaderFooter is true. Uses the same format as
/// HeaderTemplate.
///
- property FooterTemplate : ustring read FFooterTemplate write FFooterTemplate;
+ property FooterTemplate : ustring read FFooterTemplate write FFooterTemplate;
///
/// Set to true to generate tagged (accessible) PDF.
///
- property GenerateTaggedPDF : boolean read FGenerateTaggedPDF write FGenerateTaggedPDF;
+ property GenerateTaggedPDF : boolean read FGenerateTaggedPDF write FGenerateTaggedPDF;
+ ///
+ /// Set to true to generate a document outline.
+ ///
+ property GenerateDocumentOutline : boolean read FGenerateDocumentOutline write FGenerateDocumentOutline;
///
/// The percentage to scale the PDF by before printing (e.g. .5 is 50%).
/// If this value is less than or equal to zero the default value of 1.0
/// will be used.
///
- property Scale : double read FScale write FScale;
+ property Scale : double read FScale write FScale;
///
/// The percentage value to scale the PDF by before printing (e.g. 50 is 50%).
///
- property ScalePct : double read GetScalePct write SetScalePct;
+ property ScalePct : double read GetScalePct write SetScalePct;
///
/// Output paper width in inches. If either of these values is less than or
/// equal to zero then the default paper size (letter, 8.5 x 11 inches) will
/// be used.
///
- property PaperWidthInch : double read FPaperWidth write FPaperWidth;
+ property PaperWidthInch : double read FPaperWidth write FPaperWidth;
///
/// Output paper height in inches. If either of these values is less than or
/// equal to zero then the default paper size (letter, 8.5 x 11 inches) will
/// be used.
///
- property PaperHeightInch : double read FPaperHeight write FPaperHeight;
+ property PaperHeightInch : double read FPaperHeight write FPaperHeight;
///
/// Output paper width in mm.
///
- property PaperWidthMM : double read GetPaperWidthMM write SetPaperWidthMM;
+ property PaperWidthMM : double read GetPaperWidthMM write SetPaperWidthMM;
///
/// Output paper height in mm.
///
- property PaperHeightMM : double read GetPaperHeightMM write SetPaperHeightMM;
+ property PaperHeightMM : double read GetPaperHeightMM write SetPaperHeightMM;
///
/// Margin type.
///
- property MarginType : TCefPdfPrintMarginType read FMarginType write FMarginType;
+ property MarginType : TCefPdfPrintMarginType read FMarginType write FMarginType;
///
/// Top margin in inches. Only used if MarginType is set to
/// PDF_PRINT_MARGIN_CUSTOM.
///
- property MarginTopInch : double read FMarginTop write FMarginTop;
+ property MarginTopInch : double read FMarginTop write FMarginTop;
///
/// Right margin in inches. Only used if MarginType is set to
/// PDF_PRINT_MARGIN_CUSTOM.
///
- property MarginRightInch : double read FMarginRight write FMarginRight;
+ property MarginRightInch : double read FMarginRight write FMarginRight;
///
/// Bottom margin in inches. Only used if MarginType is set to
/// PDF_PRINT_MARGIN_CUSTOM.
///
- property MarginBottomInch : double read FMarginBottom write FMarginBottom;
+ property MarginBottomInch : double read FMarginBottom write FMarginBottom;
///
/// Left margin in inches. Only used if MarginType is set to
/// PDF_PRINT_MARGIN_CUSTOM.
///
- property MarginLeftInch : double read FMarginLeft write FMarginLeft;
+ property MarginLeftInch : double read FMarginLeft write FMarginLeft;
///
/// Top margin in mm.
///
- property MarginTopMM : double read GetMarginTopMM write SetMarginTopMM;
+ property MarginTopMM : double read GetMarginTopMM write SetMarginTopMM;
///
/// Right margin in mm.
///
- property MarginRightMM : double read GetMarginRightMM write SetMarginRightMM;
+ property MarginRightMM : double read GetMarginRightMM write SetMarginRightMM;
///
/// Bottom margin in mm.
///
- property MarginBottomMM : double read GetMarginBottomMM write SetMarginBottomMM;
+ property MarginBottomMM : double read GetMarginBottomMM write SetMarginBottomMM;
///
/// Left margin in mm.
///
- property MarginLeftMM : double read GetMarginLeftMM write SetMarginLeftMM;
+ property MarginLeftMM : double read GetMarginLeftMM write SetMarginLeftMM;
end;
implementation
@@ -205,22 +210,23 @@ const
constructor TPDFPrintOptions.Create;
begin
- FLandscape := False;
- FPrintBackground := False;
- FScale := 0;
- FPaperWidth := 0;
- FPaperHeight := 0;
- FPreferCSSPageSize := False;
- FMarginType := PDF_PRINT_MARGIN_DEFAULT;
- FMarginTop := 0;
- FMarginRight := 0;
- FMarginBottom := 0;
- FMarginLeft := 0;
- FPageRanges := '';
- FDisplayHeaderFooter := False;
- FHeaderTemplate := '';
- FFooterTemplate := '';
- FGenerateTaggedPDF := False;
+ FLandscape := False;
+ FPrintBackground := False;
+ FScale := 0;
+ FPaperWidth := 0;
+ FPaperHeight := 0;
+ FPreferCSSPageSize := False;
+ FMarginType := PDF_PRINT_MARGIN_DEFAULT;
+ FMarginTop := 0;
+ FMarginRight := 0;
+ FMarginBottom := 0;
+ FMarginLeft := 0;
+ FPageRanges := '';
+ FDisplayHeaderFooter := False;
+ FHeaderTemplate := '';
+ FFooterTemplate := '';
+ FGenerateTaggedPDF := False;
+ FGenerateDocumentOutline := False;
end;
function TPDFPrintOptions.InchesToMM(const aInches: double): double;
@@ -329,22 +335,23 @@ end;
procedure TPDFPrintOptions.CopyToSettings(var aSettings : TCefPdfPrintSettings);
begin
- aSettings.landscape := Ord(FLandscape);
- aSettings.print_background := Ord(FPrintBackground);
- aSettings.scale := FScale;
- aSettings.paper_width := FPaperWidth;
- aSettings.paper_height := FPaperHeight;
- aSettings.prefer_css_page_size := Ord(FPreferCSSPageSize);
- aSettings.margin_type := FMarginType;
- aSettings.margin_top := FMarginTop;
- aSettings.margin_right := FMarginRight;
- aSettings.margin_bottom := FMarginBottom;
- aSettings.margin_left := FMarginLeft;
- aSettings.page_ranges := CefString(FPageRanges);
- aSettings.display_header_footer := Ord(FDisplayHeaderFooter);
- aSettings.header_template := CefString(FHeaderTemplate);
- aSettings.footer_template := CefString(FFooterTemplate);
- aSettings.generate_tagged_pdf := Ord(FGenerateTaggedPDF);
+ aSettings.landscape := Ord(FLandscape);
+ aSettings.print_background := Ord(FPrintBackground);
+ aSettings.scale := FScale;
+ aSettings.paper_width := FPaperWidth;
+ aSettings.paper_height := FPaperHeight;
+ aSettings.prefer_css_page_size := Ord(FPreferCSSPageSize);
+ aSettings.margin_type := FMarginType;
+ aSettings.margin_top := FMarginTop;
+ aSettings.margin_right := FMarginRight;
+ aSettings.margin_bottom := FMarginBottom;
+ aSettings.margin_left := FMarginLeft;
+ aSettings.page_ranges := CefString(FPageRanges);
+ aSettings.display_header_footer := Ord(FDisplayHeaderFooter);
+ aSettings.header_template := CefString(FHeaderTemplate);
+ aSettings.footer_template := CefString(FFooterTemplate);
+ aSettings.generate_tagged_pdf := Ord(FGenerateTaggedPDF);
+ aSettings.generate_document_outline := Ord(FGenerateDocumentOutline);
end;
end.
diff --git a/source/uCEFTextfield.pas b/source/uCEFTextfield.pas
index 5b0b9ba5..ffc9434b 100644
--- a/source/uCEFTextfield.pas
+++ b/source/uCEFTextfield.pas
@@ -119,14 +119,15 @@ type
function GetSelectionBackgroundColor : TCefColor;
///
/// Sets the font list. The format is ",[STYLES] ",
- /// where: - FONT_FAMILY_LIST is a comma-separated list of font family names,
- /// - STYLES is an optional space-separated list of style names (case-
- /// sensitive
+ /// where:
+ /// - FONT_FAMILY_LIST is a comma-separated list of font family names,
+ /// - STYLES is an optional space-separated list of style names (case-sensitive
/// "Bold" and "Italic" are supported), and
/// - SIZE is an integer font size in pixels with the suffix "px".
///
- /// Here are examples of valid font description strings: - "Arial, Helvetica,
- /// Bold Italic 14px" - "Arial, 14px"
+ /// Here are examples of valid font description strings:
+ /// - "Arial, Helvetica, Bold Italic 14px"
+ /// - "Arial, 14px"
///
procedure SetFontList(const font_list: ustring);
///
diff --git a/source/uCEFTextfieldDelegate.pas b/source/uCEFTextfieldDelegate.pas
index eb66dffd..e32fef9f 100644
--- a/source/uCEFTextfieldDelegate.pas
+++ b/source/uCEFTextfieldDelegate.pas
@@ -43,7 +43,7 @@ type
TCefTextfieldDelegateOwn = class(TCefViewDelegateOwn, ICefTextfieldDelegate)
protected
///
- /// Called when |textfield| recieves a keyboard event. |event| contains
+ /// Called when |textfield| receives a keyboard event. |event| contains
/// information about the keyboard event. Return true (1) if the keyboard
/// event was handled or false (0) otherwise for default handling.
///
diff --git a/source/uCEFTypes.pas b/source/uCEFTypes.pas
index 5c775aab..417ffd67 100644
--- a/source/uCEFTypes.pas
+++ b/source/uCEFTypes.pas
@@ -2776,8 +2776,9 @@ type
CEF_CPAIT_ZOOM,
CEF_CPAIT_SAVE_IBAN,
CEF_CPAIT_MANDATORY_REAUTH,
- CEF_CPAIT_PRICE_INSIGHTS
- {* CEF_CPAIT_MAX_VALUE = CEF_CPAIT_PRICE_INSIGHTS *}
+ CEF_CPAIT_PRICE_INSIGHTS,
+ CEF_CPAIT_PRICE_READ_ANYTHING
+ {* CEF_CPAIT_MAX_VALUE = CEF_CPAIT_PRICE_READ_ANYTHING *}
);
///
@@ -3906,6 +3907,10 @@ type
/// Set to true (1) to generate tagged (accessible) PDF.
///
generate_tagged_pdf : integer;
+ ///
+ /// Set to true (1) to generate a document outline.
+ ///
+ generate_document_outline : integer;
end;
///
@@ -4277,8 +4282,7 @@ type
///
CEF_CONTENT_SETTING_TYPE_FILE_SYSTEM_LAST_PICKED_DIRECTORY,
///
- /// Controls access to the getDisplayMedia API when {preferCurrentTab: true}
- /// is specified.
+ /// Controls access to the getDisplayMedia API.
///
CEF_CONTENT_SETTING_TYPE_DISPLAY_CAPTURE,
///
@@ -4320,9 +4324,9 @@ type
/// between a specified relying party and a specified identity provider for
/// a specified account. When this is present it allows access to session
/// management capabilities between the sites. This setting is associated
- /// with the relying party's origin.
+ /// with the relying party's origin. Obsolete on Nov 2023.
///
- CEF_CONTENT_SETTING_TYPE_FEDERATED_IDENTITY_ACTIVE_SESSION,
+ CEF_CONTENT_SETTING_TYPE_DEPRECATED_FEDERATED_IDENTITY_ACTIVE_SESSION,
///
/// Setting to indicate whether Chrome should automatically apply darkening to
/// web content.
@@ -4438,6 +4442,11 @@ type
/// heuristics.
///
CEF_CONTENT_SETTING_TYPE_TPCD_HEURISTICS_GRANTS,
+ ///
+ /// Whether the FSA Persistent Permissions restore prompt is eligible to be
+ /// shown to the user, for a given origin.
+ ///
+ CEF_CONTENT_SETTING_TYPE_FILE_SYSTEM_ACCESS_RESTORE_PERMISSION,
CEF_CONTENT_SETTING_TYPE_NUM_TYPES
);
@@ -7709,7 +7718,7 @@ type
get_window_icon : function(self: PCefWindow): PCefImage; stdcall;
set_window_app_icon : procedure(self: PCefWindow; image: PCefImage); stdcall;
get_window_app_icon : function(self: PCefWindow): PCefImage; stdcall;
- add_overlay_view : function(self: PCefWindow; view: PCefView; docking_mode: TCefDockingMode): PCefOverlayController; stdcall;
+ add_overlay_view : function(self: PCefWindow; view: PCefView; docking_mode: TCefDockingMode; can_activate: integer): PCefOverlayController; stdcall;
show_menu : procedure(self: PCefWindow; menu_model: PCefMenuModel; const screen_point: PCefPoint; anchor_position : TCefMenuAnchorPosition); stdcall;
cancel_menu : procedure(self: PCefWindow); stdcall;
get_display : function(self: PCefWindow): PCefDisplay; stdcall;
diff --git a/source/uCEFVersion.inc b/source/uCEFVersion.inc
index ba920806..60f266c8 100644
--- a/source/uCEFVersion.inc
+++ b/source/uCEFVersion.inc
@@ -1,9 +1,9 @@
- CEF_SUPPORTED_VERSION_MAJOR = 120;
- CEF_SUPPORTED_VERSION_MINOR = 2;
- CEF_SUPPORTED_VERSION_RELEASE = 7;
+ CEF_SUPPORTED_VERSION_MAJOR = 121;
+ CEF_SUPPORTED_VERSION_MINOR = 3;
+ CEF_SUPPORTED_VERSION_RELEASE = 2;
CEF_SUPPORTED_VERSION_BUILD = 0;
CEF_CHROMEELF_VERSION_MAJOR = CEF_SUPPORTED_VERSION_MAJOR;
CEF_CHROMEELF_VERSION_MINOR = 0;
- CEF_CHROMEELF_VERSION_RELEASE = 6099;
- CEF_CHROMEELF_VERSION_BUILD = 234;
+ CEF_CHROMEELF_VERSION_RELEASE = 6167;
+ CEF_CHROMEELF_VERSION_BUILD = 75;
diff --git a/source/uCEFWindow.pas b/source/uCEFWindow.pas
index 01128143..fdbe3a41 100644
--- a/source/uCEFWindow.pas
+++ b/source/uCEFWindow.pas
@@ -173,8 +173,9 @@ type
///
/// Add a View that will be overlayed on the Window contents with absolute
/// positioning and high z-order. Positioning is controlled by |docking_mode|
- /// as described below. The returned cef_overlay_controller_t object is used
- /// to control the overlay. Overlays are hidden by default.
+ /// as described below. Setting |can_activate| to true (1) will allow the
+ /// overlay view to receive input focus. The returned cef_overlay_controller_t
+ /// object is used to control the overlay. Overlays are hidden by default.
/// With CEF_DOCKING_MODE_CUSTOM:
///
/// 1. The overlay is initially hidden, sized to |view|'s preferred size,
@@ -200,7 +201,7 @@ type
/// function last after all other child Views have been added so that the
/// overlay displays as the top-most child of the Window.
///
- function AddOverlayView(const view: ICefView; docking_mode: TCefDockingMode): ICefOverlayController;
+ function AddOverlayView(const view: ICefView; docking_mode: TCefDockingMode; can_activate: boolean): ICefOverlayController;
///
/// Show a menu with contents |menu_model|. |screen_point| specifies the menu
@@ -435,11 +436,12 @@ begin
Result := TCefImageRef.UnWrap(PCefWindow(FData)^.get_window_app_icon(PCefWindow(FData)));
end;
-function TCefWindowRef.AddOverlayView(const view: ICefView; docking_mode: TCefDockingMode): ICefOverlayController;
+function TCefWindowRef.AddOverlayView(const view: ICefView; docking_mode: TCefDockingMode; can_activate: boolean): ICefOverlayController;
begin
Result := TCefOverlayControllerRef.UnWrap(PCefWindow(FData)^.add_overlay_view(PCefWindow(FData),
CefGetData(view),
- docking_mode));
+ docking_mode,
+ ord(can_activate)));
end;
procedure TCefWindowRef.ShowMenu(const menu_model : ICefMenuModel;
diff --git a/source/uCEFWindowComponent.pas b/source/uCEFWindowComponent.pas
index bf39f473..5bf19c83 100644
--- a/source/uCEFWindowComponent.pas
+++ b/source/uCEFWindowComponent.pas
@@ -161,8 +161,9 @@ type
///
/// Add a View that will be overlayed on the Window contents with absolute
/// positioning and high z-order. Positioning is controlled by |docking_mode|
- /// as described below. The returned cef_overlay_controller_t object is used
- /// to control the overlay. Overlays are hidden by default.
+ /// as described below. Setting |can_activate| to true (1) will allow the
+ /// overlay view to receive input focus. The returned cef_overlay_controller_t
+ /// object is used to control the overlay. Overlays are hidden by default.
/// With CEF_DOCKING_MODE_CUSTOM:
///
/// 1. The overlay is initially hidden, sized to |view|'s preferred size,
@@ -186,7 +187,7 @@ type
/// function last after all other child Views have been added so that the
/// overlay displays as the top-most child of the Window.
///
- function AddOverlayView(const view: ICefView; docking_mode: TCefDockingMode): ICefOverlayController;
+ function AddOverlayView(const view: ICefView; docking_mode: TCefDockingMode; can_activate: boolean): ICefOverlayController;
///
/// Show a menu with contents |menu_model|. |screen_point| specifies the menu
/// position in screen coordinates. |anchor_position| specifies how the menu
@@ -790,10 +791,10 @@ begin
Result := nil;
end;
-function TCEFWindowComponent.AddOverlayView(const view: ICefView; docking_mode: TCefDockingMode): ICefOverlayController;
+function TCEFWindowComponent.AddOverlayView(const view: ICefView; docking_mode: TCefDockingMode; can_activate: boolean): ICefOverlayController;
begin
if Initialized then
- Result := FWindow.AddOverlayView(view, docking_mode)
+ Result := FWindow.AddOverlayView(view, docking_mode, can_activate)
else
Result := nil;
end;
diff --git a/update_CEF4Delphi.json b/update_CEF4Delphi.json
index 8448acd9..e6c72e90 100644
--- a/update_CEF4Delphi.json
+++ b/update_CEF4Delphi.json
@@ -2,9 +2,9 @@
"UpdateLazPackages" : [
{
"ForceNotify" : true,
- "InternalVersion" : 556,
+ "InternalVersion" : 557,
"Name" : "cef4delphi_lazarus.lpk",
- "Version" : "120.2.7"
+ "Version" : "121.2.14"
}
],
"UpdatePackageData" : {