Commit Graph

3141 Commits

Author SHA1 Message Date
74fc5d5573 win: Fix 1px gap with maximized frameless windows on Win11 (fixes issue #3414) 2022-11-09 13:08:16 -05:00
7611c4dba6 win: tools: Add VS2022 to msvs_env.bat 2022-11-08 22:19:02 +00:00
25954e872e cefclient: mac: Support window state restore (see issue #3359)
The cefclient sample app on macOS will persist window state across application
restart if run with cache_path and persist_user_references enabled.

To test:
1. Run `cefclient --cache-path=/path/to/cache --persist-user-preferences`
2. Move or resize the window, maximize, minimize, etc.
3. Exit cefclient.
4. Run cefclient again with the same arguments. The previous window state will
   be restored.
2022-11-08 16:37:39 -05:00
e2a9236106 cefclient: win: Support window state restore (see issue #3359)
The cefclient sample app on Windows will persist window state across application
restart if run with cache_path and persist_user_references enabled.

To test:
1. Run `cefclient --cache-path=/path/to/cache --persist-user-preferences`
2. Move or resize the window, maximize, minimize, etc.
3. Exit cefclient.
4. Run cefclient again with the same arguments. The previous window state will
   be restored.
2022-11-07 15:21:46 -05:00
882bc19fdd cefclient: views: Support window state restore (see issue #3359)
The cefclient sample app will persist window state across application restart
if run with views, cache_path and persist_user_references enabled.

To test:
1. Run `cefclient --use-views --cache-path=/path/to/cache --persist-user-preferences`
2. Move or resize the window, maximize, minimize, etc.
3. Exit cefclient.
4. Run cefclient again with the same arguments. The previous window state will
   be restored.
2022-10-28 14:28:53 -04:00
09bb643ef6 Support registration of custom preferences.
Custom global and request context preferences can now be registered via
CefBrowserProcessHandler::OnRegisterCustomPreferences. CefRequestContext
now extends CefPreferenceManager and global preferences can be accessed
via CefPreferenceManager::GetGlobalPreferenceManager.
2022-10-26 16:54:33 -04:00
767c4422ac windows: Fix size/placement with multi-DPI screen setup (fixes issue #3359)
Use ScreenWin functions to correctly compute DIP/pixel conversions for
CEF-created top-level windows.

Fix incorrect DIPToScreenRect usage in DesktopWindowTreeHostWin when
|has_external_parent_| is true.
2022-10-24 19:53:05 -04:00
07bf5dbacc windows: Configure stack size for executables (fixes issue #3250)
Change the default stack size to 8 MiB for 64-bit and 0.5 MiB for 32-bit.

CEF's main thread needs at least a 1.5 MiB stack size in order to avoid
stack overflow crashes. However, if this is set in the PE file then other
threads get this size as well, leading to address-space exhaustion in 32-bit
CEF. A new CefRunWinMainWithPreferredStackSize function uses fibers to switch
the main thread to a 4 MiB stack (roughly the same effective size as the
64-bit build's 8 MiB stack) before running any other code.

This change additionally moves the existing Windows-only functions
CefSetOSModalLoop and CefEnableHighDPISupport from cef_app.h to cef_win.h.
2022-10-21 14:52:50 -04:00
dfd1917d9b Remove obsolete call to _set_FMA3_enable(0)
This call was longer required after the switch to VS2015 (see
https://crbug.com/586618).
2022-10-20 13:47:27 -04:00
a046794e68 alloy: Fix renderer crashes related to BadgeService (fixes issue #3005) 2022-10-20 12:49:43 -04:00
1e4e18240d Linux: Fix deprecated-volatile error with older glib version
Fix "error: use of result of assignment to object of volatile-
qualified type 'volatile gsize' (aka 'volatile unsigned long') is
deprecated [-Werror,-Wdeprecated-volatile]" when building with
use_sysroot=false on Ubuntu 18.04.
2022-10-18 17:58:41 -04:00
8b45f32b33 Update to Chromium version 108.0.5359.0 (#1058933) 2022-10-18 17:58:41 -04:00
25c75c5fc4 Use new PrintViewManagerBase::PrintToPdf method (fixes issue #3377) 2022-10-14 14:10:30 -04:00
485f0b9caf Add screen pixel to screen DIP conversion methods.
On Windows these new CefDisplay methods convert between screen pixel coordinates
and screen DIP coordinates. On macOS and Linux these methods just return a copy
of the input coordinates.
2022-10-14 13:55:07 -04:00
fa643b269e Add support for native creation and resolution of Promises (fixes issue #3305) 2022-10-11 14:55:12 -04:00
60ee4a34aa Add support for PGO builds (fixes issue #2956)
This configuration applies to Official Release builds only.

Chromium currently provides PGO profiles for Windows x86/x64, MacOS x64/ARM64
and Linux x64. Official builds for these platforms must run automate-git.py with
the `--with-pgo-profiles` command-line flag. Official builds for other platforms
must disable PGO builds by adding `chrome_pgo_phase=0` to GN_DEFINES.
2022-10-10 14:11:22 -04:00
f33c062d78 Don't include ceftests/resources in minimal distrib (fixes issue #3408) 2022-10-10 14:11:22 -04:00
fce5af14a8 widevine: Support CDM host verification and storage ID (fixes issue #3404)
This functionality will be enabled if .sig files exist in the required
locations. See the issue for details.
2022-10-04 18:21:31 -04:00
497e0d2d98 Support GN configuration of enable_rlz (see issue #3404) 2022-10-04 12:52:48 -04:00
e0c878df5f Add CefResolveURL function (fixes issue #3402) 2022-10-03 17:46:50 +00:00
5433d9fe5c alloy: Fix crash after file dialog selection (fixes issue #3401) 2022-09-30 14:09:37 -04:00
dc35b3a93e Linux: Remove the fatal_linker_warnings=false default GN arg
This value is no longer required with Ubuntu 16+ host systems.
2022-09-29 13:12:45 -04:00
4e43f90244 chrome: Fix shutdown crashes with multi-threaded-message-loop (fixes issue #3403) 2022-09-29 13:09:35 -04:00
4d1fd05740 Update to Chromium version 107.0.5304.0 (#1047731) 2022-09-29 13:09:35 -04:00
0089378a0a alloy: Fix crash when requesting periodic-background-sync permission (fixes issue #3393) 2022-09-09 11:58:22 -04:00
7e3b084819 cefclient: Fix infinite loop in FilterMenuModel (fixes issue #3392) 2022-09-08 12:41:25 -04:00
53c365b752 Fix more space in comments (see issue #3384) 2022-09-06 16:11:02 -04:00
9c359b682b docs: Fix API doc link in README.md (see issue #3385) 2022-09-06 16:10:29 -04:00
7174c4c328 docs: Add new API docs links to README.md (see issue #3385) 2022-09-06 14:44:38 -04:00
9ecd25a93b linux: cefclient: Fix MESA_GL_VERSION_OVERRIDE env variable name 2022-09-05 20:56:49 +00:00
5ea0c141b5 Convert base::size to std::size from C++17 (see issue #3362) 2022-09-05 16:31:47 -04:00
12fc72147c Format include/base comments for Doxygen (see issue #3384) 2022-09-05 16:17:57 -04:00
cf7e10aacc Fix space in comments (see issue #3384) 2022-09-05 14:10:30 -04:00
09b4cbd32c docs: Use README.md as the Doxygen main page (see issue #3384)
Also set FULL_SIDEBAR=NO for consistency with older Doxygen versions where
this option is not supported.
2022-09-05 14:06:23 -04:00
8645e88e0e tools: Add make_cppdocs.sh for Linux/MacOS (see issue #3385)
The make_distrib script will now generate Doxygen docs by default
if the doxygen command-line tool is installed. Run with `--no-docs`
(`--no-distrib-docs` with automate-git.py) to disable docs generation.
2022-09-02 11:27:22 -07:00
fa2464e843 cmake: Add a Doxygen target to the binary distribution (fixes issue #3386)
This change also writes a docs/index.html file to provide an easier entry point
for loading the documentation from the docs/html directory.
2022-09-02 13:17:30 -04:00
51699e671a Fix line wrapping in comments (see issue #3384) 2022-09-02 13:10:09 -04:00
14c0f74707 tools: Update make_cppdocs.bat for Doxygen support (see issue #3384) 2022-09-01 17:21:19 -04:00
77582a01b5 tools: Add initial Doxyfile configuration (see issue #3384)
This configuration can be summarized as:

```
$ doxygen.exe -x_noenv
// Difference with default Doxyfile 1.9.5
PROJECT_NAME           = "Chromium Embedded Framework (CEF)"
PROJECT_NUMBER         = $(PROJECT_NUMBER)
OUTPUT_DIRECTORY       = docs
STRIP_FROM_INC_PATH    = .
JAVADOC_AUTOBRIEF      = YES
PYTHON_DOCSTRING       = NO
TAB_SIZE               = 2
TYPEDEF_HIDES_STRUCT   = YES
EXTRACT_ALL            = YES
EXTRACT_STATIC         = YES
FORCE_LOCAL_INCLUDES   = YES
QUIET                  = YES
INPUT                  = include
RECURSIVE              = YES
EXCLUDE                = include/capi \
                         include/test \
                         include/base/internal
EXCLUDE_PATTERNS       = *_internal.h
EXCLUDE_SYMBOLS        = base::cef_internal \
                         base::cef_subtle \
                         base::internal \
                         cef_trace_event \
                         cef::logging
STRIP_CODE_COMMENTS    = NO
REFERENCES_LINK_SOURCE = NO
VERBATIM_HEADERS       = NO
IGNORE_PREFIX          = Cef \
                         cef_
DISABLE_INDEX          = YES
GENERATE_TREEVIEW      = YES
FULL_SIDEBAR           = YES
SEARCHENGINE           = NO
GENERATE_LATEX         = NO
PREDEFINED             = USING_CEF_SHARED \
                         __cplusplus \
                         OS_WIN \
                         OS_LINUX \
                         CEF_X11 \
                         OS_MAC
```
2022-09-01 17:20:54 -04:00
d7a153bdd4 Update include/ comments to Doxygen formatting (see issue #3384)
See related guidelines in the issue.
2022-09-01 17:14:30 -04:00
7b352159df tools: Update translator tool for Doxygen comment format (see issue #3384)
Comments for translated classes/methods/functions must now take the form:

///
/// ... text ...
///
2022-09-01 17:13:28 -04:00
00f34d5e68 cmake: Update supported Xcode to 13.4 2022-08-31 22:06:51 -04:00
f8d90a8972 Fix OnReceiveResponse expectations (fixes issue #3380)
OnHeadersReceived may not have been called for cached responses.
2022-08-30 14:20:19 -04:00
27d4f1fc97 alloy: Fix crashes related to permissions checks (fixes issue #3379, fixes issue #3381) 2022-08-26 12:23:48 -04:00
f2206b8dbc Windows: Enable big PDBs for libcef.dll.pdb in full-symbol builds
This fixes official build linker errors like:

lld-link: error: Output data is larger than 4 GiB. File size 4,341,682,176 too large for current PDB page size 4096
lld-link: error: failed to write PDB file ./libcef.dll.pdb

See https://crbug.com/1245726 for background.
2022-08-25 18:53:38 -04:00
713297ee04 Windows: Fix unresolved dependencies error on ARM64 2022-08-25 18:33:24 -04:00
37aee4d3a0 Improve the timing of OnLoadEnd (fixes issue #3341)
Use WebContentsDelegate::DidFinishLoad instead of a custom Mojo message.
This fixes flaky OnLoadEnd behavior with NavigationTest.Order.
2022-08-25 18:23:33 -04:00
5ec6e62656 tests: Fix DOMTest failure with fractional devicePixelRatio 2022-08-25 14:09:20 -04:00
bf467e136a tests: Disable HTTPS server reuse between tests (see issue #3348)
We can't currently reuse the HTTPS server between tests due to
https://crrev.com/dd2a57d753 causing certificate registration issues.
2022-08-25 14:09:20 -04:00
e95d1653ac tests: Fix failures on multiple execution of HSTSRedirectTest.Redirect (see issue #3336) 2022-08-25 14:09:20 -04:00