Commit Graph

1496 Commits

Author SHA1 Message Date
Marshall Greenblatt 06e73fff15 Implement Views framework on Windows and Linux (issue #1749).
- Add Views header files in a new include/views directory.
- Add initial top-level window (CefWindow), control (CefBrowserView,
  CefLabelButton, CefMenuButton, CefPanel, CefScrollView,
  CefTextfield) and layout (CefBoxLayout, CefFlowLayout) support.
  See libcef/browser/views/view_impl.h comments for implementation
  details.
- Add Views example usage in cefclient and cefsimple and Views unit
  tests in cef_unittests. Pass the `--use-views` command-line flag to
  cefclient, cefsimple and cef_unittests to run using the Views
  framework instead of platform APIs. For cefclient and cefsimple
  this will create the browser window and all related functionality
  using the Views framework. For cef_unittests this will run all
  tests (except OSR tests) in a Views-based browser window. Views-
  specific unit tests (`--gtest_filter=Views*`) will be run even if
  the the `--use-views` flag is not specified.
- Pass the `--hide-frame` command-line flag to cefclient to demo a
  frameless Views-based browser window.
- Pass the `--hide-controls` command-line flag to cefclient to demo a
  browser window without top controls. This also works in non-Views
  mode.
- Pass the `--enable-high-dpi-support` command-line flag to
  cef_unittests on Windows to test high-DPI support on a display
  that supports it.
- Add CefImage for reading/writing image file formats.
- Add CefBrowser::DownloadImage() for downloading image URLs as a
  CefImage representation. This is primarily for loading favicons.
- Add CefMenuModel::CreateMenuModel() and CefMenuModelDelegate for
  creating custom menus. This is primarily for use with
  CefMenuButton.
- Add CefBrowser::TryCloseBrowser() helper for closing a browser.
  Also improve related documentation in cef_life_span_handler.h.
- Rename cef_page_range_t to cef_range_t. It is now also used by
  CefTextfield.
- Remove CefLifeSpanHandler::RunModal() which is never called.
- Add draggable regions example to cefclient.
2016-04-26 11:58:13 -04:00
Marshall Greenblatt 84fe790035 make_distrib.py: Look for libcef instead of cefclient when running with --allow-partial (issue #1804) 2016-03-31 15:46:52 +02:00
Marshall Greenblatt 243a9c26d7 Update to Chromium revision 0bfd25d4 (#381305)
- Delete include/cef_runnable.h (issue #1336).
- Build the cef_unittests target using all Chromium headers. Add a
  USING_CHROMIUM_INCLUDES define and libcef_dll_wrapper_unittests
  target to support this. This change avoids compile errors due to
  the divergence of CEF and Chromium base/ header implementations.
  The libcef_dll_wrapper sources must now compile successfully with
  both CEF and Chromium base/ headers (issue #1632).
- The onbeforeunload message specified via JavaScript is no longer
  passed to the client (see http://crbug.com/587940).
2016-03-17 13:01:21 -04:00
Marshall Greenblatt 77746cfd1b Linux: Don't try to resolve missing package dependencies when use_sysroot==1 (issue #1804) 2016-03-10 12:35:57 -05:00
Marshall Greenblatt e1aa8cc109 Fix duplicate entries in CefRequest header map (issue #1840) 2016-03-01 19:11:08 -05:00
Marshall Greenblatt 1b7c5303ce Fix documentation errors (issue #1834) 2016-03-01 17:17:08 -05:00
Marshall Greenblatt 1b8f76dd69 Fix thread safety issue with CefBrowserHostImpl::IsWindowless 2016-02-29 15:23:44 -05:00
Marshall Greenblatt b4cf5bdb9c Windows: cmake: Add ws2_32.lib to CEF_STANDARD_LIBS (issue #1842) 2016-02-24 12:53:58 -05:00
Marshall Greenblatt efe88b2790 Windows: cmake: Disable VS2010 override warning (issue #1642) 2016-02-24 12:52:31 -05:00
Marshall Greenblatt e2576eb938 Add missing values to cef_resource_type_t 2016-02-24 12:42:18 -05:00
Marshall Greenblatt a1d9c22b58 Add DNS resolution methods to CefRequestContext (issue #1841) 2016-02-23 18:37:35 -05:00
Marshall Greenblatt fabd3db33e Allow clients to clear certificate exceptions and close connections (issue #1793) 2016-02-23 14:32:07 -05:00
Marshall Greenblatt e601e76445 Continue OnDownloadUpdated notifications after navigation (issue #1833) 2016-02-16 13:48:52 -05:00
Marshall Greenblatt 8972bbfcb6 Windows/Linux: Enable V8 deprecation warnings 2016-02-08 12:24:06 -08:00
Marshall Greenblatt f7aa98fe69 Update to Chromium revision 088f14a0 (#373530)
- Building on Windows now requires the Windows 10.0.10586 SDK.
- Remove CefParseCSSColor which was implemented using Blink code in the
  browser process. This is longer advisable now that the Oilpan GC is enabled.
- Avoid potential renderer process crashes by disabling script actions
  on the CefV8Context passed to CefRenderProcessHandler::OnContextReleased.
2016-02-08 13:16:11 -05:00
Marshall Greenblatt 70ab57ab23 Update to Chromium revision 92d77538 (#369907) 2016-02-02 22:16:48 -05:00
Marshall Greenblatt d6fa9ed3e3 Windows: Disable use of FMA3 versions of CRT functions on x64 (issue #1410) 2016-01-28 11:16:14 -05:00
Marshall Greenblatt c3d80a5658 Always pass callback object to CefRequestHandler::OnCertificateError (issue #1795) 2016-01-27 12:57:48 -05:00
Marshall Greenblatt 63d313de76 Persist visited link status (issue #287) 2016-01-13 15:38:50 -05:00
Marshall Greenblatt 6d7ee1e084 Add --built-target option to automate-git.py (issue #1804) 2016-01-11 13:55:46 -05:00
Marshall Greenblatt d829e80f5e Fix compile error in cef_thread_checker.h due to DCHECK_IS_ON not being defined in some cases. 2016-01-08 17:47:24 -05:00
Marshall Greenblatt c1efd5b5be Linux: Fix pkg-config execution with custom sysroot (issue #1804) 2016-01-08 11:50:34 -08:00
Marshall Greenblatt ff8c5a6caa Update generated file copyright year 2016-01-08 14:00:27 -05:00
Marshall Greenblatt d2372c3d11 Update to Chromium revision d7d5682a (#367535) 2016-01-07 11:53:39 -08:00
Marshall Greenblatt 12f19e3a33 Expose additional SSL certificate information.
- Provide access to the full certificate issuer chain (issue #1530)
- Add several missing certificate error codes to cef_errorcode_t (issue #1784)
- Provide the full certificate status bitmask (issue #1790)
2015-12-18 14:05:42 -05:00
Marshall Greenblatt 07e845ed31 CefRequestHandler::GetAuthCredentials |scheme| argument is optional for FTP sources (issue #1794) 2015-12-17 13:24:22 -05:00
Marshall Greenblatt ae25a352d0 Linux: Fix compile error due to Chromium update (issue #1788) 2015-12-14 14:57:29 -05:00
Marshall Greenblatt 5dec0c5f57 Update to Chromium revision c78c0ad7 (#363565) 2015-12-10 12:45:26 -05:00
Marshall Greenblatt 535c4fbc30 tools: Add `--patch` argument to patch_updater.py 2015-12-08 14:14:09 -05:00
Marshall Greenblatt f207a555a3 Add support for response filtering (issue #515).
- Add a new CefRequestHandler::GetResourceResponseFilter method and
  CefResponseFilter class.
2015-12-08 13:47:52 -05:00
Marshall Greenblatt 864db71f6b Mac: Fix Xcode 7 (10.11 SDK) build errors (issue #1732) 2015-12-08 12:59:42 -05:00
Marshall Greenblatt 626fc561ca Add new CefRequestHandler::OnResourceLoadComplete callback (issue #1781) 2015-12-04 13:59:14 -05:00
Marshall Greenblatt bd6e656747 cefsimple: Only instantiate SimpleApp in the browser process (issue #1776) 2015-12-03 17:27:32 -05:00
Marshall Greenblatt b4a159a1da Add CommandLineTest.IgnorePrefixes unit test to verify prefix removal behavior (issue #1778) 2015-12-03 17:13:23 -05:00
Marshall Greenblatt aaa5563582 Windows: Add CMake configuration option in the binary distribution to support /Z7 (issue #385) 2015-12-03 16:32:39 -05:00
Marshall Greenblatt 06e1a34850 Consider scale factor changes to OSR browsers when switching monitors (issue #1774) 2015-12-03 15:24:41 -05:00
Marshall Greenblatt 667f0edcf4 Do not remove OSR transparency when switching monitors (issue #1775) 2015-12-03 15:15:32 -05:00
Marshall Greenblatt 903e296621 Set visibility state correctly after OSR renderer process crashes and avoid DCHECKs (issue #1779) 2015-12-03 14:48:26 -05:00
Marshall Greenblatt 6824387c8d Allow blank URL when creating popup windows (issue #1289) 2015-12-03 13:41:40 -05:00
Marshall Greenblatt 26e68c3d26 Fix crash when receiving a title change notification without a navigation entry (issue #1764) 2015-12-03 13:40:16 -05:00
Marshall Greenblatt 9bc8da1e02 - Add CefPostData::HasExcludedElements which returns true if the underlying
POST data includes elements that are not represented (issue #1761).
- Add CefRequest::SetReferrer and CefRequest::GetReferrer[URL|Policy]. The
  Referer value will no longer be stored in the header map.
- Move request-related conversion logic to CefRequestImpl and standardize the
  implementation.
2015-12-02 17:23:16 -05:00
Marshall Greenblatt 2a658c414b Windows: Fix AtExitManager assertions on shutdown when running with multi-threaded message loop (issue #1680) 2015-11-25 22:46:08 -05:00
Marshall Greenblatt 269aaa2c3c Move network-related code to net/ folder 2015-11-25 21:53:12 -05:00
Marshall Greenblatt 6cccc3b8a7 - Factor platform-specific code out of CefBrowserHostImpl (issue #1749).
- Introduce native/ and osr/ folders for native (non-platform-agnostic) and
    osr (windowless) code respectively.
  - Introduce CefBrowserPlatformDelegate for abstracting platform-specific
    implementations of browser host functionality.
  - Move dialog and menu code to separate manager and platform-specific runner
    implementations exposed via CefBrowserPlatformDelegate.
  - Standardize focus-handling behavior between windowed and windowless
    implementations. CefFocusHandler::OnSetFocus() will now also be called for
    osr focus changes.
- Support multiple simultaneous popups (issue #1289).
2015-11-25 20:19:36 -05:00
Marshall Greenblatt 4b5f052e13 README.md edited online with Bitbucket 2015-11-21 05:38:17 +00:00
Marshall Greenblatt c199539747 Fix multi-part file uploads (issue #1761) 2015-11-16 17:20:34 -05:00
Marshall Greenblatt 694b45717c Windows: Fix VS2008SP1 compiler errors (issue #1758)
- override was being defined but this compiler doesn't support it.
- Warning C4355 wasn't being properly suppressed in cef_resource_manager.cc
2015-11-13 11:19:27 -05:00
Marshall Greenblatt 07d75e540f Improvements to automate-git.py for local mirror support (issue #1728)
- Add new command-line flags:
  --chromium-url: Allows overriding the synced Chromium URL.
  --no-cef-update: Allows bypassing the step to sync CEF.
  --no-chromium-update: Allows bypassing the step to sync Chromium.
  --no-depot-tools-update: Allows bypassing the step to update depot_tools.
  --distrib-subdir: Allows specifying the subdirectory name of
    chromium/src/cef/binary_distrib.
- Add support in make_distrib.py for the --distrib-subdir flag.
- Change CMake requirement from 2.8.12.2 to 2.8.12.1.
2015-11-13 11:02:17 -05:00
Marshall Greenblatt c6111d5947 Update to Chromium revision 304f01a1 (#358063)
- Improve ordering of CefLoadHandler callbacks. OnLoadingStateChange will
  be called before and after all calls to OnLoadStart and OnLoadEnd.
  OnLoadStart/OnLoadEnd calls will occur as matching pairs
  (see http://crbug.com/539952#c2).
- Remove the |requesting_url| argument to CefGeolocationHandler::
  OnCancelGeolocationPermission. Clients can use the |request_id| argument
  to track this information themselves.
- Fix a crash when loading the PDF extension in multiple browsers with a
  custom CefRequestContext (issue #1757).
2015-11-11 18:24:00 -05:00
Marshall Greenblatt e0974ea64d Add |has_external_parent| flag in Chromium patches to avoid behavior changes
when the widget is not parented to an external window (issue #1749).
2015-10-26 18:17:32 -04:00