Commit Graph

182 Commits

Author SHA1 Message Date
Marshall Greenblatt 828d2f68b2 Fix identification of SVN revision after picking up incremental changes in the remote CEF Git repository.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1802 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-08-08 12:40:16 +00:00
Marshall Greenblatt 5587ccbd2d Fix automate-git.py to pick up incremental changes in the remote CEF Git repository.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1799 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-08-08 12:25:11 +00:00
Marshall Greenblatt a1fcfe8dc5 Add support for large zip files in make_distrib.py (issue #1350).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1795 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-08-07 14:41:41 +00:00
Marshall Greenblatt 9dfcf5c443 Update automate-git.py to explicitly fetch tags required for release branch builds.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1791 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-08-07 12:32:51 +00:00
Marshall Greenblatt 34ad23fa0b Add a new `--force-clean-deps` flag to automate-git.py that deletes/re-downloads all third-party git repos (issue #1348). Should be used in combination with the `--force-clean` flag.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1787 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-08-07 09:23:24 +00:00
Marshall Greenblatt f9bf8dfa10 Fix insertion of Chromium URL/revision info into the binary distribution README.txt file (issue #1330).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1772 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-07-15 01:10:09 +00:00
Marshall Greenblatt 122397acfc Introduce the use of Chromium types (issue #1336).
Changes to the CEF public API:
- Add base::Bind, base::Callback, base::Lock, base::WeakPtr, scoped_refptr, scoped_ptr and supporting types.
- Add include/wrapper/cef_closure_task.h helpers for converting a base::Closure to a CefTask.
- Change CefRefPtr to extend scoped_refptr.
-- Change CefBase method signatures to match RefCountedThreadSafeBase.
- Change IMPLEMENT_REFCOUNTING to use base::AtomicRefCount*.
-- Remove the CefAtomic* functions.
-- IMPLEMENT_REFCOUNTING now enforces via a compile-time error that the correct class name was passed to the macro.
- Change IMPLEMENT_LOCKING to use base::Lock.
-- Remove the CefCriticalSection class.
-- Deprecate the IMPLEMENT_LOCKING macro.
-- base::Lock will DCHECK() in Debug builds if lock usage is reentrant.
- Move include/internal/cef_tuple.h to include/base/cef_tuple.h.
- Allow an empty |callback| parameter passed to CefBeginTracing.

Changes to the CEF implementation:
- Fix incorrect names passed to the IMPLEMENT_REFCOUNTING macro.
- Fix instances of reentrant locking in the CefXmlObject and CefRequest implementations.
- Remove use of the IMPLEMENT_LOCKING macro.

Changes to cef_unittests:
- Add tests/unittests/chromium_includes.h and always include it first from unit test .cc files to avoid name conflicts with Chromium types.
- Fix wrong header include ordering.
- Remove use of the IMPLEMENT_LOCKING macro.

Changes to cefclient and cefsimple:
- Use base::Bind and cef_closure_task.h instead of NewCefRunnable*.
- Remove use of the IMPEMENT_LOCKING macro.
- Fix incorrect/unnecessary locking.
- Add additional runtime thread checks.
- Windows: Perform actions on the UI thread instead of the main thread when running in multi-threaded-message-loop mode to avoid excessive locking.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1769 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-07-14 22:18:51 +00:00
Marshall Greenblatt 6702fc573a Introduce the use of Chromium types (issue #1336).
- Move include/cef_build.h to include/base/cef_build.h.
- Move libcef_dll/cef_macros.h to include/base/cef_macros.h.
- Move include/cef_trace_event.h to include/base/cef_trace_event.h and include/internal/cef_trace_event_internal.h.
- Remove the "CEF_" prefix from TRACE macros.
- Add new include/base/cef_logging.h and include/internal/cef_logging_internal.h for logging support.
- Add new include/wrapper/cef_helpers.h for CEF_REQUIRE_*_THREAD macros and CefScopedArgArray.
- Delete the util.h headers used by tests that duplicated the above functionality.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1767 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-07-11 20:10:05 +00:00
Marshall Greenblatt 8313963a27 Linux: Add new CefPrintHandler and CefPrintSettings classes to support printing and a GTK implementation in cefclient (issue #1258).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1762 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-07-10 15:41:30 +00:00
Marshall Greenblatt 81f8883b4a Bundle pepper PDF plugin on all platforms (issue #1331).
- Add new libpdf.so library on Linux and PDF.plugin app bundle on OS X.
- Move scaled resources from cef.pak into separate cef_100_percent.pak and cef_200_percent.pak files.
- Password-protected PDF files are not currently supported.
- No fallback is provided for PDF files that contain unsupported features.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1758 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-07-07 22:17:33 +00:00
Marshall Greenblatt 479e69fd4e Windows: Add bundled pdf.dll and use it for printing support (issue #1313).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1757 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-07-03 18:34:58 +00:00
Marshall Greenblatt cb907f3649 Update to Chromium revision 280796.
- Mac: Remove Carbon interpose library (see http://crbug.com/157130).
- Remove unused LOGSEVERITY_ERROR_REPORT value (see http://crbug.com/352378).
- CefURLRequest in the render process will now always have the UR_FLAG_REPORT_LOAD_TIMING flag set (see http://crbug.com/376025#c15).
- Change CefGeolocationHandler::OnRequestGeolocationPermission return value from void to boolean.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1753 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-07-02 18:25:22 +00:00
Marshall Greenblatt dea4daffd7 Implement off-screen rendering support using delegated rendering (issue #1257).
This implementation supports both GPU compositing and software compositing (used when GPU is not supported or when passing `--disable-gpu --disable-gpu-compositing` command-line flags). GPU-accelerated features (WebGL and 3D CSS) that did not work with the previous off-screen rendering implementation do work with this implementation when GPU support is available.

Rendering now operates on a per-frame basis. The frame rate is configurable via CefBrowserSettings.windowless_frame_rate up to a maximum of 60fps (potentially limited by how fast the system can generate new frames). CEF generates a bitmap from the compositor backing and passes it to CefRenderHandler::OnPaint.

The previous CefRenderHandler/CefBrowserHost API for off-screen rendering has been restored mostly as-is with some minor changes:

- CefBrowserHost::Invalidate no longer accepts a CefRect region argument. Instead of invalidating a specific region it now triggers generation of a new frame.
- The |dirtyRects| argument to CefRenderHandler::OnPaint will now always be a single CefRect representing the whole view (frame) size. Previously, invalidated regions were listed separately.
- Linux: CefBrowserHost::SendKeyEvent now expects X11 event information instead of GTK event information. See cefclient for an example of converting GTK events to the necessary format.
- Sizes passed to the CefRenderHandler OnPaint and OnPopupSize methods are now already DPI scaled. Previously, the client had to perform DPI scaling.
- Includes drag&drop implementation from issue #1032.
- Includes unit test fixes from issue #1245.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1751 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-06-30 22:30:29 +00:00
Marshall Greenblatt 60e3c9c090 Fix generation of the binary distribution using gyp_chromium (issue #1304).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1746 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-06-13 16:28:05 +00:00
Marshall Greenblatt 4e0dddcfa8 Remove gyp_cef and use gyp_chromium instead (issue #1304).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1740 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-06-12 14:29:41 +00:00
Marshall Greenblatt 4da3c9ecaa Set DEPOT_TOOLS_WIN_TOOLCHAIN=0 by default (issue #1304).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1731 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-06-10 17:01:49 +00:00
Marshall Greenblatt 16c005e446 Update msvs_env.bat to include VS2013 paths (issue #1304).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1725 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-06-09 18:26:27 +00:00
Marshall Greenblatt 38d9a4c828 Remove gyp_cef and use gyp_chromium instead (issue #1304).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1723 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-06-06 21:36:18 +00:00
Marshall Greenblatt 3da202a5b9 Force revert local changes when using the --force-clean switch (issue #1300).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1720 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-06-06 19:14:56 +00:00
Marshall Greenblatt 3859457eef Linux: Remove GTK+ dependency and add initial Aura/X11 implementation (issue #1258)
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1708 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-05-22 21:01:22 +00:00
Marshall Greenblatt 84382ecbbb Fix patch_updater.py to work on non-Windows platforms.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1690 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-05-02 20:57:30 +00:00
Marshall Greenblatt 7f16f5fbd2 Update to Chromium revision 263053.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1683 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-04-30 17:14:40 +00:00
Marshall Greenblatt 95b76b30b5 Update automate-git.py to support release branches.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1681 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-04-25 23:56:07 +00:00
Marshall Greenblatt 1e239187a2 Add patch_updater.py tool for automatically updating patch files.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1677 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-04-23 18:51:22 +00:00
Marshall Greenblatt 58f04c7c4c Update automate-git.py to support the new Chromium git workflow and functionality similar to automate.py.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1675 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-04-22 15:35:29 +00:00
Marshall Greenblatt 7511f1e921 Fix error in exec_util.py.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1667 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-04-18 19:03:15 +00:00
Marshall Greenblatt da87cf449d Update scripts to support git checkouts of CEF and/or Chromium.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1664 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-04-18 18:31:22 +00:00
Marshall Greenblatt 5e5b753c4c Fix check_revision.py to not throw exceptions when using a Chromium git checkout.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1661 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-04-16 16:53:33 +00:00
Marshall Greenblatt 29ba85c53e Fix application of patch files created with `git diff --no-prefix --relative .`
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1659 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-04-16 16:32:39 +00:00
Marshall Greenblatt c2090fe967 Fix wrapping of comments in generated files.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1623 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-02-11 22:46:57 +00:00
Marshall Greenblatt 7b873addd0 Fix include of C API headers from C++ code (issue #1194).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1607 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-02-10 17:20:38 +00:00
Marshall Greenblatt 0ff8f923f6 Linux: Make translator tool output consistent with other platforms (issue #1177).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1606 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-02-10 16:56:37 +00:00
Marshall Greenblatt 8078afe7bf Update to Chromium revision 248478.
- Add new CefSettings.windowless_rendering_enabled value that must be enabled when using windowless (off-screen) rendering.
- Improve naming and documentation for CefWindowInfo members.
- CefBeginTracing now completes asynchronously.
- Rename CefEndTracingAsync to CefEndTracing.
- Rename CefCompletionHandler to CefCompletionCallback.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1592 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-02-05 20:35:45 +00:00
Marshall Greenblatt 796ddf27b4 Add <algorithm> include required by VS2013 (issue #1094).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1566 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-01-14 02:45:56 +00:00
Marshall Greenblatt 72660c6fed Fix C compiler errors when using the C API (issue #1165).
- Replace 'bool' with 'int' in cef_types[_*].h.
- Typedef enums in cef_types.h
- Add includes and struct forward declarations in C API header files.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1558 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-01-06 19:59:48 +00:00
Marshall Greenblatt b28ce63adb Add a CEF_ENABLE_SANDBOX define in cefclient and cefsimple to make disabling the sandbox easier for non-VS2010 builds of the binary distribution (issue #524).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1546 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-12-09 16:39:00 +00:00
Marshall Greenblatt e09948c37e Windows: Switch to aura/views architecture for content window creation (issue #180).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1542 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-12-07 01:55:22 +00:00
Marshall Greenblatt 916d8d08c4 Add the cefsimple sample application which demonstrates the minimal functionality required to create a browser window.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1535 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-11-26 22:02:14 +00:00
Marshall Greenblatt ec8b64e88a Add breakpad support (issue #1131).
- General usage instructions are available at https://sites.google.com/a/chromium.org/dev/developers/testing/webkit-layout-tests/using-breakpad-with-content-shell.
- Mac: Generate "Chromium Embedded Framework.framework" using a new cef_framework target (the libcef target is now only used on Windows and Linux). Rename "Libraries/libcef.dylib" to "Chromium Embedded Framework". Distribute Release and Debug builds of the "Chromium Embedded Framework.framework" folder as part of the binary distribution.
- Mac: Fix the Xcode target compiler setting for the binary distribution so that it no longer needs to be set manually.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1524 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-11-21 22:43:36 +00:00
Marshall Greenblatt f5bc72b234 Add sandbox support (issue #524).
- The sandbox is now enabled by default on all platforms. Use the CefSettings.no_sandbox option or the "no-sandbox" command-line flag to disable sandbox support.
- Windows: See cef_sandbox_win.h for requirements to enable sandbox support.
- Windows: If Visual Studio isn't installed in the standard location set the CEF_VCVARS environment variable before running make_distrib.py or automate.py (see msvs_env.bat).
- Linux: For binary distributions a new chrome-sandbox executable with SUID permissions must be placed next to the CEF executable. See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for details on setting up the development environment when building CEF from source code.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1518 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-11-15 18:47:02 +00:00
Marshall Greenblatt 133e06c50a Update to Chromium revision 233896.
- The CefBrowserSettings.author_and_user_styles option is now always enabled.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1512 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-11-08 21:28:56 +00:00
Marshall Greenblatt dbbaf51383 automate.py: Run update_depot_tools even if a depot-tools directory is specified on the command-line.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1505 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-11-05 20:26:02 +00:00
Marshall Greenblatt 81f3a75f6a Fix automate.py --dry-run output.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1497 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-10-29 21:30:43 +00:00
Marshall Greenblatt 0c45f66d37 Update to Chromium revision 231322.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1494 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-10-29 17:53:18 +00:00
Marshall Greenblatt bc1ea4974a Add support for printing via CefBrowserHost::Print() and JavaScript window.print() (issue #505).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1479 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-10-23 19:30:47 +00:00
Marshall Greenblatt 6a52564668 Fix svn:eol-style property.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1470 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-10-18 16:33:56 +00:00
Marshall Greenblatt bc90a7f854 Fix WebKit scripts path.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1469 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-10-17 22:35:50 +00:00
Marshall Greenblatt b00630d039 Windows: Pass shell=True so Popen can run a batch file (issue #1091).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1462 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-10-16 15:09:41 +00:00
Marshall Greenblatt 40892d9067 Fixes to automate.py (issue #1067):
- 'update_depot_tools' command fails on Linux without depot_tools in the PATH.
- Always generates build log files without looking at --build-log-file.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1449 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-09-19 15:32:11 +00:00
Marshall Greenblatt be69bf9eb1 Enhancements to automate.py and make_distrib.py (issue #1072):
- Update the depot tools checkout if the checkout is managed by automate.py (on windows it's mandatory to run depot tools update to install svn, git and python).
- Add "--no-update" switch to allow users to run only build and distrib steps without updating CEF and Chromium. This is useful when some custom actions have to be done between the checkout and build steps. 
- Add "--build-tests" switch to build the cef_unittests target in addition to the cefclient target.
- Add "--verbose" switch to have ninja output more details while building.
- Add "--build-log-file" switch to write build logs to a file on disk.
- Add 7z compression support based on the presence of a CEF_COMMAND_7ZIP environment variable.
- Create distrib folders using the architecture (32/64) string.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1434 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-09-10 20:02:09 +00:00