Commit Graph

858 Commits

Author SHA1 Message Date
Marshall Greenblatt de1bd286f8 Enable browser-side navigation by default and remove CefRenderHandler::OnBeforeNavigation (issue #2290) 2018-02-12 18:01:43 -05:00
Marshall Greenblatt d34d3d1b3b Add callbacks for network request access to cookies (issue #2374) 2018-02-06 16:06:44 -05:00
Marshall Greenblatt 50ca6928c3 Add CefURLRequest::ResponseWasCached method (issue #2283) 2018-01-03 16:14:29 -05:00
Marshall Greenblatt 0cd8169125 macOS: cmake: Don't create target name with spaces (issue #2342) 2018-01-03 15:03:15 -05:00
Dan Kegel 6e457d6bb1 - Linux: Disable gcc warning about code in comments (issue #2346).
- macOS: Fix clang warning about display_unittest.cc missing a newline (issue #2347).
2018-01-03 13:53:38 -05:00
Marshall Greenblatt a724e90d52 Windows: Fix 64-bit build warning C4267 (issue #2335) 2017-12-27 15:49:52 -05:00
Marshall Greenblatt 54a015f785 Fix crash when ALT+Clicking invalid protocol link (issue #2306) 2017-12-22 16:05:32 -05:00
Marshall Greenblatt 2fe9f7bd31 Windows: Fix x64 compile error (issue #2332) 2017-12-21 15:43:29 -05:00
Marshall Greenblatt cafa5954dc Fix crash when creating JS popup with no URL (issue #2330) 2017-12-21 14:57:42 -05:00
Marshall Greenblatt d8bc3d8372 Fix assertion when calling SendProcessMessage from non-UI thread (issue #2325) 2017-12-19 15:14:00 -05:00
Mario Pistrich 552a3bf353 Add log level to CefDisplayHandler::OnConsoleMessage (issue #2234) 2017-12-18 18:36:56 -05:00
Marshall Greenblatt 8d51acb9be Update to Chromium revision 5fdc0fab (#520840)
- Windows now builds with clang by default.
2017-12-14 15:31:07 -05:00
Marshall Greenblatt d5e141648b Fix OSR accessibility tests (issue #2312) 2017-12-12 15:57:46 -05:00
Marshall Greenblatt 69178d519e Fix bugs and test failures with browser-side navigation (issue #2290) 2017-11-30 18:20:24 -05:00
Marshall Greenblatt facee1f750 - Add cache awareness to CefURLRequest (issue #2283)
- Properly set referer values on server requests (issue #2278)
2017-11-17 17:14:05 -05:00
Marshall Greenblatt 89a1f2b372 Add CefServer API for handling HTTP/WebSocket requests (issue #2278) 2017-11-15 12:00:36 -05:00
Marshall Greenblatt 9f7bdcf7d5 Don't create 'GPUCache' and 'databases' directories when cache-path is unspecified (issue #2289) 2017-10-30 16:52:39 -04:00
Marshall Greenblatt 9334a09176 Set the correct response status on internal redirects 2017-10-26 15:58:43 -04:00
Marshall Greenblatt 607a1d9f49 Add chrome.tabs.create API support (issue #1947) 2017-09-28 15:41:10 +02:00
Ryan Shetley d8a602ed2f Add support for Chrome Storage Extension API (issue #1947)
- Supports chrome.storage.local and chrome.storage.sync
- chrome.storage.sync behaves identically to chrome.storage.local
2017-09-11 18:42:30 +00:00
Marshall Greenblatt a028976ac4 Update to Chromium revision fa6a5d87 (#499098) 2017-09-07 17:29:47 -04:00
Marshall Greenblatt ed5208366c Windows: Wait for WM_NCDESTROY before calling OnBeforeClose (issue #2248) 2017-08-31 18:10:51 -04:00
Ryan Shetley dddfce456c Add support for Chrome Alarms Extension API (issue #1947) 2017-08-30 11:46:21 +00:00
Marshall Greenblatt 9cff99dc4e Add support for loading extensions (issue #1947)
- Add CefRequestContext::LoadExtension, CefExtension, CefExtensionHandler and
  related methods/interfaces.
- Add chrome://extensions-support that lists supported Chrome APIs.
- Add CefBrowserHost::SetAutoResizeEnabled and CefDisplayHandler::OnAutoResize
  to support browser resize based on preferred web contents size.
- views: Add support for custom CefMenuButton popups.
- cefclient: Run with `--load-extension=set_page_color` command-line flag for
  an extension loading example. Add `--use-views` on Windows and Linux for an
  even better example.
2017-08-25 18:40:32 -04:00
Sergey Linev 5b12134a45 Linux: Fix error: suggest explicit braces to avoid ambiguous ‘else’ [-Werror=dangling-else] with gcc 7.1 2017-08-11 16:56:52 +00:00
Marshall Greenblatt f229796a39 Update to Chromium revision ff259bab (#488528) 2017-07-28 18:30:34 -04:00
Marshall Greenblatt 700123d3eb Add support for loading certificate revocation lists (issue #2213) 2017-07-11 15:44:35 -04:00
Marshall Greenblatt c080187908 Fix incorrect OSR browser display during navigation (issue #2209) 2017-07-05 15:18:52 -04:00
Marshall Greenblatt 2773518869 Windows: cefclient: Fix ATL-related build errors (issue #2200) 2017-06-19 15:00:18 +03:00
Marshall Greenblatt 70a01250e1 Linux: Don't pass NULL CefBrowser to PrintHandler::GetPdfPaperSize (issue #2199) 2017-06-17 12:49:41 +03:00
Marshall Greenblatt dce5d5c28f Linux: Pass CefBrowser to CefPrintHandler callbacks (issue #2196) 2017-06-15 08:58:54 -07:00
Marshall Greenblatt 5918d426b3 Fix gtest path (issue #2188) 2017-06-13 17:09:59 +03:00
Marshall Greenblatt 5c79944b31 Update to Chromium revision d483fb77 (#474934)
- CefLifeSpanHandler::OnBeforePopup is now called on the UI thread.
- Remove CefBrowserSettings.javascript_open_windows which is no
  longer supported.
2017-06-02 05:55:23 -07:00
Marshall Greenblatt d4f06e3806 Move matching h file to top of header list (issue #2171) 2017-05-19 11:11:18 +02:00
Marshall Greenblatt 31d9407ee2 Apply clang-format to all C, C++ and ObjC files (issue #2171) 2017-05-18 12:30:05 +02:00
Nishant Kaushik 816f700d3e Implement accessibility enhancements (issue #1217)
- Add new CefBrowserHost::SetAccessibilityState method for toggling
  accessibility state when readers are detected by the client.
- Add new CefAccessibilityHandler interface for the delivery of
  accessibility notifications to windowless (OSR) clients.
- Fix delivery of CefFocusHandler callbacks to windowless clients.
- cefclient: Add example windowless accessibility implementation on Windows and macOS.
- cefclient: Automatically detect screen readers on Windows and macOS.
2017-05-12 18:28:25 +00:00
Marshall Greenblatt 64fcfa6068 Linux: cefclient: Add OSR drag&drop implementation (issue #2008) 2017-05-11 12:06:32 -07:00
Marshall Greenblatt 67e23b472a Expose drag image via CefDragData (issue #1715) 2017-05-11 14:22:21 -04:00
Marshall Greenblatt 7a02419cac Fix crash when parent is destroyed during popup creation (issue #2041) 2017-05-09 18:54:34 -04:00
Marshall Greenblatt 3f970689a0 Popups must share the parent context to avoid crashes on parent browser destruction (issue #2162) 2017-05-04 18:17:24 -04:00
Marshall Greenblatt 6d97cfb761 cefclient: macOS: Fix Xcode 5 compile error (issue #2116) 2017-04-28 17:19:29 -04:00
Marshall Greenblatt 0a2b82757a cefclient: macOS: Fix crash during shutdown from full-screen (issue #2158) 2017-04-26 15:17:49 -04:00
Marshall Greenblatt f440f850ef cefclient: macOS: Fix CefBrowser leak during OSR shutdown (issue #2151) 2017-04-26 15:05:12 -04:00
Marshall Greenblatt 3f71138d64 Update to Chromium revision a106f0ab (#464641)
- Remove CefWindowInfo.transparent_painting_enabled. Set
  CefBrowserSettings.background_color to an opaque or transparent
  value instead.
2017-04-24 15:14:47 -04:00
Marshall Greenblatt b66cddb919 cefclient: Linux: Fix order and timing of OSR key events (issue #2139) 2017-04-04 12:39:01 -04:00
Marshall Greenblatt 54647945f1 Update to Chromium revision 939b32ee (#454471) 2017-03-08 13:33:05 -08:00
Marshall Greenblatt 8fa8af357b views: Support styling of menus (issue #2102) 2017-02-28 12:17:47 -05:00
Marshall Greenblatt 10f9a9484f views: Support ink drop effect on buttons (issue #2102) 2017-02-28 12:17:47 -05:00
Marshall Greenblatt 16125bdbbd views: Support accelerators in MenuButton label (issue #2102) 2017-02-23 12:47:20 -08:00
Marshall Greenblatt 6eaf11f07a views: Support top menu switching with mouse and arrow keys (issue #2102)
- cefclient: Add example ViewsMenuBar implementation and show top menu
  by default (specify `--hide-top-menu` to hide it).
2017-02-22 18:15:36 -05:00
Marshall Greenblatt c8c3ef4792 views: cefclient: Fix top menu placement (issue #2102) 2017-02-17 21:42:15 -05:00
Marshall Greenblatt 6ed4fe96b8 views: Add groups and focus/blur callbacks (issue #2102)
- cefclient: Only make menus focusable when ALT is pressed.
- cefclient: Display sample top menu when passed the `--show-top-menu`
  command-line flag.
2017-02-17 21:08:55 -05:00
Marshall Greenblatt bd1b80198f views: Add support for accelerators (issue #2102) 2017-02-17 14:11:19 -08:00
Marshall Greenblatt 897c0f01ed Simplify ownership of CefBrowserContext objects (issue #2083) 2017-02-15 08:53:34 -08:00
Marshall Greenblatt 0afcb82ee6 Rename CefBase to CefBaseRefCounted (issue #2090) 2017-02-09 17:50:59 -05:00
Marshall Greenblatt 07ba48b082 Add support for non-ref-counted interface classes (issue #2090) 2017-02-09 17:50:46 -05:00
Marshall Greenblatt caef479ae0 macOS: Update xib files to 10.9 deployment target 2017-02-02 18:16:43 -05:00
Marshall Greenblatt d6531b9fe6 macOS: cefclient: Create Tests menu with Interface Builder 2017-02-02 15:43:41 -05:00
Marshall Greenblatt dda50912ed macOS: Allow configuration of framework path (issue #1532) 2017-01-26 19:14:56 -05:00
Marshall Greenblatt 41a02dbe08 Add is_main_frame argument to CefRequestContextHandler::OnBeforePluginLoad (issue #2015) 2017-01-24 18:53:08 -05:00
Marshall Greenblatt b7b145fa4f Update to Chromium revision ad51088c (#444943) 2017-01-24 16:53:09 -05:00
Marshall Greenblatt da6f2864c2 cefclient: Fix typo in TempWindow comments 2017-01-17 12:46:49 -05:00
Marshall Greenblatt 7bdfe79e35 Add product name and version to crash_reporter.cfg (issue #1995) 2017-01-12 13:23:28 -05:00
Marshall Greenblatt a834487177 Improve crashpad integration (issue #1995)
- Crash reporting is enabled and configured using a "crash_reporter.cfg"
  file. See comments in include/cef_crash_util.h and tools/crash_server.py
  for usage.
2017-01-10 18:40:31 -05:00
Marshall Greenblatt c1a1dbdb7d Windows: Fix x64 build conversion from 'size_t' to 'int' error (issue #2054) 2016-11-30 15:23:04 -05:00
Marshall Greenblatt 12aeeb13f7 Update to Chromium revision 3a87aecc (#433059) 2016-11-29 16:56:29 -05:00
Marshall Greenblatt 4ecff1670e Windows: Fix x64 build conversion from 'size_t' to 'int' error (issue #2043) 2016-11-18 14:31:29 -05:00
Marshall Greenblatt 258c588b44 Mac: Fix resource copy when building the binary distrib with Ninja (issue #1632) 2016-11-18 13:34:32 -05:00
Marshall Greenblatt bd9a2c8069 Rename unittests to ceftests (issue #1632) 2016-11-18 12:44:46 -05:00
Marshall Greenblatt 8fee8ed05d Add unittests target to the binary distribution (issue #1632)
- Move all tests from the top-level directory to tests/.
- Move files shared by cefclient and unittests to tests/shared/.
- Add a fused (single header/source file) version of gtest in
  tests/gtest/ with associated CMake configuration.
- Test-only headers are now exposed in include/test/. Unit test
  targets must define UNIT_TEST in order to access them.
- Replace usage of USING_CEF_SHARED with WRAPPING_CEF_SHARED for
  clarity (only the libcef_dll_wrapper target should define it).
- Remove the RENAME_DIRECTORY CMake macro which is no longer used.
- Remove C++11 usage from unittests sources for compatibility with
  the binary distribution configuration.
- Windows: Fix build errors due to chrome_elf.dll and imm32.lib
  missing from the CMake configuration.
2016-11-18 03:19:17 -05:00
Marshall Greenblatt f557d325c1 Remove Chromium target dependencies for unit tests (issue #1632) 2016-11-16 12:51:44 -08:00
Marshall Greenblatt ef6df50bf9 Remove Chromium includes in unit tests (issue #1632) 2016-11-15 18:22:34 -05:00
Marshall Greenblatt 0e65f027d2 Remove usage of ui::KeyboardCode in unit tests (issue #1632) 2016-11-15 17:50:33 -05:00
Marshall Greenblatt 832654689f Add CefWaitableEvent interface for unit tests (issue #1632) 2016-11-15 16:18:41 -05:00
Marshall Greenblatt 04642e0480 Add CefScopedTempDir and file utility functions for unit tests (issue #1632) 2016-11-15 13:47:44 -05:00
Marshall Greenblatt a7195c0103 Remove usage of gfx in unit tests (issue #1632) 2016-11-14 13:47:31 -05:00
Marshall Greenblatt 9ed17519a9 Remove usage of base::StringPrintf in unit tests (issue #1632) 2016-11-14 13:28:05 -05:00
Marshall Greenblatt 03f3900d75 Remove usage of base::WrapUnique in unit tests (issue #1632) 2016-11-14 13:03:12 -05:00
Marshall Greenblatt 18d56feac0 Add CefThread interface (issue #1632) 2016-11-14 11:30:15 -05:00
Marshall Greenblatt 607d420baf Fix memory leak with IME on macOS (see http://crbug.com/654695) 2016-11-10 19:16:38 -05:00
Marshall Greenblatt 18763fde50 Add initial WebUI support (issue #2037)
- Visit chrome://webui-hosts for the list of supported hosts.
2016-11-08 16:56:11 -08:00
Marshall Greenblatt cdd2a40469 Change index parameter type from int to size_t (issue #1491) 2016-11-04 15:26:35 -04:00
Marshall Greenblatt f3a0ff98bb Add test for history navigation of pages containing dynamically created iframes (issue #2022) 2016-11-04 13:56:19 -04:00
Marshall Greenblatt d6b17a8fb5 Standardize IME callbacks for off-screen rendering (issue #1675) 2016-11-03 21:02:36 -04:00
Marshall Greenblatt ffab334e94 Fix translator error with X509CertificateList (issue #1824) 2016-10-27 15:46:58 -04:00
Marshall Greenblatt 29f7953677 Minor fixes for output consistency 2016-10-27 14:24:03 -04:00
Marshall Greenblatt 676cb1f07d Add callback for custom certificate selection (issue #1824) 2016-10-27 14:04:48 -04:00
Marshall Greenblatt e006ec0ab5 Add V8 interceptor support (issue #1159) 2016-10-27 14:03:53 -04:00
Marshall Greenblatt 0e97c527ae Allow CefV8Context::Eval to bypass CSP (issue #2024) 2016-10-27 14:03:53 -04:00
Marshall Greenblatt c9e81c082f Update to Chromium revision 614d31da (#423768)
- Fix PDF extension loading after showing the plugin placeholder (issue #2020)
2016-10-25 15:34:33 -04:00
Marshall Greenblatt 07d12b78e1 Update to Chromium revision 9cedf753 (#418732)
- Simplify usage of OnBeforePluginLoad (issue #2015)
- Switch crash reporting from crashpad to breakpad on Windows and OS X.
  Adds a new chrome_elf.dll dependency on Windows (issue #1995)
- Remove CefTextfield::GetPlaceholderTextColor() method which is no
  longer supported by Chromium.
2016-10-20 16:54:25 -04:00
Marshall Greenblatt a1fc6f1ad0 Add CefRegisterWidevineCdm function and remove component updater support (issue #2009)
Mac: Check in widevinecdmadapter.plugin binary until Widevine GN build errors are resolved (https://crbug.com/626436).
2016-10-17 14:16:31 -04:00
Marshall Greenblatt a312974ad9 Add CefDOMNode::GetElementBounds() method 2016-09-09 14:02:57 -04:00
Marshall Greenblatt 40558a0922 Mac: Set rpath instead of using install_name_tool from CMake (issue #1403) 2016-09-02 16:59:39 +03:00
Marshall Greenblatt 10c1fd6b8d Add API for SSL status and certificate retrieval (issue #1924) 2016-09-02 13:01:33 +03:00
Marshall Greenblatt 5068b50b48 Use DCHECK_IS_ON() instead of !NDEBUG for debug logic (issue #1961) 2016-09-01 14:24:30 +03:00
Marshall Greenblatt 9064e30296 Update to Chromium revision 1ae106db (#414607) 2016-09-01 11:52:50 +03:00
Marshall Greenblatt b89329b0fa Use the same PDF plugin name as official Chrome 2016-08-24 16:38:51 +03:00
Marshall Greenblatt 3b5fb0d526 Add CefResponse parameter to CefRequestHandler::OnResourceRedirect 2016-08-24 16:19:57 +03:00
Marshall Greenblatt 69334e22c2 Add StoragePartition and extension object proxy support (issue #1973) 2016-08-24 15:41:53 +03:00
Marshall Greenblatt 1c06d8e3f5 cefclient: Allow dragging of fragments and show message when blocking URLs/files (issue #1976) 2016-08-19 13:59:50 +02:00
Marshall Greenblatt 2e1d960f3f Linux: Flush display after showing window (issue #1946) 2016-08-17 07:56:43 -07:00
Marshall Greenblatt aa950f8bdb views: Restore hover state on menu buttons 2016-08-08 19:15:34 +03:00
Marshall Greenblatt 98f59f47fd Update to Chromium revision fc6aaca4 (#406441) 2016-07-26 13:28:54 -04:00
Marshall Greenblatt 188326bbc4 Pass transition type to CefLoadHandler::OnLoadStart (issue #1943) 2016-07-12 12:00:51 -04:00
Marshall Greenblatt c8681ea3e8 Mac: Remove duplicate focus change notification 2016-07-11 17:11:42 -04:00
Marshall Greenblatt a22b11d764 Fix crash in CefResourceDispatcherHostDelegate::HandleExternalProtocol when destroying a browser during redirect (issue #1941) 2016-07-08 15:28:53 -04:00
Marshall Greenblatt a60bb077a3 Update to Chromium revision 68623971 (#403382) 2016-07-07 16:24:12 -04:00
Marshall Greenblatt 05ee60b7b4 Update to Chromium revision 318e6f54 (#400326) 2016-06-21 12:41:21 -04:00
Marshall Greenblatt f5b910326d Improve binary distribution CMake macros (issue #1923) 2016-06-14 18:29:34 -04:00
Marshall Greenblatt 18d882b5d2 cefclient: Don't create multiple DevTools windows (issue #1920) 2016-06-10 14:33:07 -04:00
Marshall Greenblatt acdb4bb564 Mac: Fix window sharing type (issue #1884) 2016-06-09 14:48:59 -04:00
Marshall Greenblatt ab2636b012 Update to Chromium revision 2b3ae3b8 (#394939) 2016-05-25 08:10:01 -07:00
Marshall Greenblatt 575c968a55 Modernize binary distribution CMake configuration (issue #1897)
- Load CEF configuration using `find_package(CEF)`.
- Use per-target configuration via a new SET_EXECUTABLE_TARGET_PROPERTIES
  macro instead of setting global CMAKE_* variables.
- Support building projects more easily with an external binary
  distribution directory.
- Improve related documentation.
2016-05-12 18:10:31 -04:00
Marshall Greenblatt 958618359c Add error code to CefResponse (issue #1845) 2016-05-11 15:36:15 -04:00
Marshall Greenblatt 157f526d07 Fix Win 64-bit conversion from 'size_t' to 'int' error (issue #1887) 2016-05-09 12:04:06 -07:00
Marshall Greenblatt 1ff26aa02a Improve support for a host owned message pump (issue #1805)
- Add new CefSettings.external_message_pump option and
  CefBrowserProcessHandler::OnScheduleMessagePumpWork() callback.
- Improve documentation related to CefDoMessageLoopWork().
- Pass `--external-message-pump` command-line flag to cefclient or
  cef_unittests to test the new mode.
2016-05-04 18:35:49 -04:00
Marshall Greenblatt e690fa444c Update platform and build requirements.
- Mac: Require 10.7+ deployment target and 10.9+ system version
  (see https://codereview.chromium.org/1615823003/).
- Windows: Changes references from VS2013 to VS2015.
2016-04-29 13:16:28 -04:00
Marshall Greenblatt e7ddc933c9 Update to Chromium revision 6e53600d (#386251)
- Remove |accept_lang| parameter from CefJSDialogHandler::OnJSDialog
  and CefFormatUrlForSecurityDisplay (see https://crbug.com/336973#c36).
- Remove remaining NPAPI-related code including functions from
  cef_web_plugin.h (see https://crbug.com/493212#c55).
- Mac: 10.7+ deployment target is now required for client applications.
- Mac: Remove CefBrowserHost::SetWindowVisibility (issue #1375). No
  replacement is required for windowed rendering. Use WasHidden for
  off-screen rendering.
- Windows: Visual Studio 2015 Update 2 is now required when building
  CEF/Chromium.
2016-04-28 12:57:08 -04:00
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 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 e1aa8cc109 Fix duplicate entries in CefRequest header map (issue #1840) 2016-03-01 19:11:08 -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 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 63d313de76 Persist visited link status (issue #287) 2016-01-13 15:38:50 -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 5dec0c5f57 Update to Chromium revision c78c0ad7 (#363565) 2015-12-10 12:45:26 -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 06e1a34850 Consider scale factor changes to OSR browsers when switching monitors (issue #1774) 2015-12-03 15:24:41 -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 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 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 b731133713 Windows: cefclient: Size browser window correctly when RootWindow is initially shown as maximized (issue #1745) 2015-10-23 15:06:02 -04:00
Marshall Greenblatt 211c81cb14 CTRL + left click on a link in a PDF document should call OnOpenURLFromTab (issue #1737) 2015-10-21 17:06:53 -04:00
Marshall Greenblatt 936e595fe5 - Support runtime configuration of renderer-related preferences (issue #1501).
- Persist modified user preferences including per-host zoom settings when a
  cache_path value is specified and persist_user_preferences is set to true
  via CefSettings or CefRequestContextSettings.
- Avoid the need to duplicate files from chrome/ by having CefBrowserContext
  extend Chrome's Profile class.
2015-10-20 11:12:21 -04:00
Marshall Greenblatt 5033a27e58 Fix navigation from inside PDF files (issue #1737) 2015-10-14 15:27:05 -04:00
Marshall Greenblatt efbc200b51 Linux: Fix focus/activation handling and keyboard input (issue #1679). 2015-10-14 09:46:42 -07:00
Marshall Greenblatt fdf3088470 Linux: Fix BadWindow error when creating popup windows (issue #1717). 2015-10-14 09:46:02 -07:00
Marshall Greenblatt 16f8a66040 - Fix use-after-return in ReleaseAndWaitForDestructor if it times out
while running unit tests.
- Increase PluginTest PDF load timeout.
2015-10-14 09:42:44 -07:00
Marshall Greenblatt 3f4687a4cd Fix parsing of CefResourceManager::Request::url() when both query
and fragment components are present (issue #1733)
2015-10-13 16:51:52 -04:00
Marshall Greenblatt 1f21fe5412 Add CefPrintHandler::OnPrintStart callback (issue #1736) 2015-10-13 14:04:02 -04:00
Marshall Greenblatt 8aac23386e Update to Chromium revision cb947c01 (#352221)
- Implement CefRequestHandler::OnBeforeBrowse using NavigationThrottle
  instead of ResourceThrottle (see http://crbug.com/537634). The CefRequest
  object passed to OnBeforeBrowse will no longer have an associated request
  identifier.
- Mac: Remove additional helper apps which are no longer required (see
  http://crbug.com/520680)
- Remove the UR_FLAG_REPORT_RAW_HEADERS flag which is no longer supported (see
  http://crbug.com/517114)
- Remove the CefBrowserSettings.java parameter. Java is an NPAPI plugin and
  NPAPI plugins are no longer supported (see http://crbug.com/470301#c11)
- Add CefFormatUrlForSecurityDisplay function in cef_parser.h
- Fix crash when passing `--disable-extensions` command-line flag (issue #1721)
- Linux: Fix NSS handler loading (issue #1727)
2015-10-09 17:31:27 -04:00
Marshall Greenblatt 5780ea8baa Support configuration of preferences during runtime (issue #1709)
- Preferences are now associated with a CefRequestContext instead of
  being stored globally.
- Add methods to CefRequestContext for getting/setting preferences.
2015-10-06 18:14:11 -04:00
Marshall Greenblatt 2328b9be39 cefclient: Remove accidental change disabling plugin load (issue #1708) 2015-10-01 11:29:33 -04:00
Marshall Greenblatt 4149192d81 Call OnBeforePluginLoad when building the plugin list (issue #1708) 2015-09-30 18:09:28 -04:00
Marshall Greenblatt dc3aae19e8 Add plugin placeholder and policy support (issue #1708)
- Default plugin loading policy can be specified using the new
  `--plugin-policy=[allow|block|detect]` command-line flag.
- Move CefRequestHandler::OnBeforePluginLoad to
  CefRequestContextHandler and add a new policy argument that
  supports different actions (allow, block, detect, disable) on a
  per-plugin-instance basis.
- Add CefContextMenuHandler::RunContextMenu for providing a custom
  context menu implementation.
- Add CefResourceBundleHandler::GetDataResourceForScale for
  returning scaled resources (issue #1272).
- Add CefResourceBundle for retrieving resources from the resource
  bundle (*.pak) files loaded by CEF during startup or via the
  CefResourceBundleHandler.
- Linux: Fix Debug build IO access warning with CefGetMimeType.
- cef_unittests: Move the refcounting implementation from TestHandler
  to subclasses in order to support interface inheritance from
  subclasses.
2015-09-22 12:28:46 +03:00
Marshall Greenblatt c2086cf7c7 Mac: Fix 10.10 SDK compile and test errors (issue #1414) 2015-08-26 16:39:09 -04:00
Marshall Greenblatt aa72f402ba Always save cookies for http, https, ws and wss schemes (issue #1684) 2015-08-21 16:38:19 -04:00
Marshall Greenblatt e6e123d503 Windows: Fix warning C4267: 'argument' : conversion from 'size_t' to 'int' (issue #1695) 2015-08-21 13:55:13 -04:00
Marshall Greenblatt fda35eae80 Windows: Fix VS2015 build errors in the binary distribution (issue #1692) 2015-08-20 10:22:12 -04:00
Marshall Greenblatt aef9fd486a cefclient: Set recommended command-line switches for off-screen rendering 2015-08-17 18:14:59 -04:00
Marshall Greenblatt a08686e6a6 cefclient: Support dynamic configuration of the device scale factor with off-screen rendering (issue #1674) 2015-08-11 14:19:16 -04:00
Marshall Greenblatt 41669141eb Windows: cefclient: Improve high-dpi display (issue #1674).
- Add high-dpi support to the OSR example.
- Apply DPI scaling to the buttons and URL bar.
2015-08-10 14:08:15 -04:00
Marshall Greenblatt 9e0d84d94a Windows: Add CefEnableHighDPISupport function and fix high-dpi scaling issues (issue #1674) 2015-08-07 16:04:03 -04:00
Marshall Greenblatt 8da8a4fbf1 Update to Chromium revision 12bfc336 (#338390).
- The ffmpeg library is now statically linked (see https://codereview.chromium.org/1141703002).
- Off-screen rendering of the PDF viewer does not work in combination with surfaces. Pass the
  `--disable-surfaces` command-line flag if GPU is enabled (see https://codereview.chromium.org/1169983006).
2015-07-24 16:11:13 -04:00
Marshall Greenblatt 50a9343cec Fix warning C4267: 'argument' : conversion from 'size_t' to 'int' (issue #1647) 2015-07-23 14:29:54 -04:00
Marshall Greenblatt b7a56d9343 Add PDF extension support (issue #1565) 2015-07-23 14:02:03 -04:00
Marshall Greenblatt 378a64b39a Update to Chromium revision 14bd12d6 (#333041)
- Remove CefNavigationEntry::GetFrameName() (see http://crbug.com/477150#c5).
- Devirtualize base::BindState (see http://crbug.com/486594).
- Move Tuple to the base namespace.
2015-06-08 17:31:50 -04:00
Marshall Greenblatt d820080479 Add fullscreen API support (issue #562) 2015-06-04 18:33:24 -04:00
Alexei Bykov 85f83680d7 Add PDF printing support (issue #1478). 2015-06-04 13:15:26 -04:00
Marshall Greenblatt b6e5310bce Add CefResourceManager class for mapping requests to data providers (issue #1640). 2015-06-03 15:21:40 -04:00
Yu-Teh Shen d02f03a71a Add JSON parsing support (issue #1188). 2015-06-03 15:03:41 -04:00
Felix Bruns c5b8b8b9c8 Add support for draggable regions (issue #1645).
Regions are defined using the '-webkit-app-region: drag/no-drag'
CSS property and passed to the CefDragHandler::
OnDraggableRegionsChanged callback.
2015-06-03 14:48:28 -04:00
Marshall Greenblatt ead921a3f6 Mac: Use NSColor function available in older SDKs (issue #1605) 2015-05-19 14:54:39 -04:00
Marshall Greenblatt 483a841348 Add a new CefBrowserHost::SetWindowlessFrameRate method to support
dynamic configuration of the windowless frame rate (issue #1629).
2015-05-13 20:42:40 +03:00
Marshall Greenblatt 616fdbf3ff Improve inheritance support in the CEF API (issue #1623).
- Support single parent inheritance in CEF API classes.
- Support non-virtual inheritance in CEF API classes.
- Support translation of CEF API sub-directories.
- Add test sub-directories for testing-only functionality that will be
  available to unit tests but not exposed via the binary distribution.
- Add unit tests for the translator tool.
- Fix parsing of template parameter types that include commas.
2015-05-05 17:16:44 -04:00
Marshall Greenblatt 0369063810 - Add CefValue for wrapping various value types in a single object (issue #1607).
- Add IsSame() and IsEqual() methods for comparing CefValue* types.
- Improve CefValue* documentation.
2015-04-16 15:04:56 +02:00
Marshall Greenblatt ae91d8f4e5 - cefclient: Add `background-color` command-line argument (issue #1161).
- Rename cef_url.h to cef_parser.h.
- Add new CefParseCSSColor function.
2015-04-10 11:35:31 +02:00
Marshall Greenblatt 4a905f1e2b - Allow asynchronous continuation of OnBeforeResourceLoad (issue #1593).
- Use CefRequestCallback for most asynchronous CefRequestHandler methods.
2015-04-08 10:33:49 +02:00
Marshall Greenblatt 7acecd6b6b Change CEF version number format to remove SVN dependency (issue #1580). 2015-03-16 19:34:35 -04:00
Marshall Greenblatt 558a8a3658 Implement improvements for request handling (issue #1327).
- Add a new CefRequestHandler::OnResourceResponse() method for inspecting the request/response headers and potentially restarting or redirecting the request.
- Add a new CefRequest::GetIdentifier() method for tracking a request across multiple CefRequestHandler callbacks.
- Pass a CefRequest object instead of just the old URL to CefRequestHandler::OnResourceRedirect().

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2073 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-03-11 18:44:11 +00:00
Marshall Greenblatt 0b36550786 Linux: cefclient: Fix suggested file name display in the save file dialog (issue #1572).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2072 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-03-10 18:54:05 +00:00
Marshall Greenblatt c49473729d Add a new CefRequestHandler::OnOpenURLFromTab method for handling certain limited cases where navigating a new or different browser might be desirable (issue #1526).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2054 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-03-09 20:22:31 +00:00
Marshall Greenblatt 5de989e306 Add target disposition and user gesture parameters to CefLifeSpanHandler::OnBeforePopup (issue #1525).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2053 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-03-06 21:38:38 +00:00
Marshall Greenblatt ca0e381681 Add support for complete isolation of storage and permissions (cache, cookies, localStorage, access grants, etc) on a per-request-context basis (issue #1044).
- CefRequestContext instances can be configured using a new CefRequestContextSettings structure passed to CefRequestContext::CreateContext.
- Scheme registration is now per-request-context using new CefRequestContext::RegisterSchemeHandlerFactory and ClearSchemeHandlerFactories methods.
- Cookie managers are now per-request-context by default and can be retrieved using a new CefRequestContext::GetDefaultCookieManager method.
- CefURLRequest::Create now accepts an optional CefRequestContext argument for associating a URL request with a context (browser process only).
- The CefRequestContextHandler associated with a CefRequestContext will not be released until all objects related to that context have been destroyed.
- When the cache path is empty an in-memory cache ("incognito mode") will be used for storage and no data will be persisted to disk.
- Add CefSettings.user_data_path which specifies the location where user data such as spell checking dictionary files will be stored on disk.
- Add asynchronous callbacks for all CefCookieManager methods.
- Add PK_LOCAL_APP_DATA and PK_USER_DATA path keys for retrieving user directories via CefGetPath.
- cefclient: Add "New Window" test that creates a new window unrelated to existing windows. When used in combination with `--request-context-per-browser` the new window will be given a new and isolated request context.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2040 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-03-02 20:25:14 +00:00
Marshall Greenblatt f67b6fecaf Support configuration of the "Accept-Language" HTTP header globally or on a per-browser basis using new CefSettings.accept_language_list and CefBrowserSettings.accept_language_list members (issue #318).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2033 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-02-18 17:28:56 +00:00
Marshall Greenblatt 7a2ce64096 Fix issues related to request and context object lifespan (issue #1037, issue #1044).
- Simplify and document the relationship between the various context object types. See browser_context.h for a description of the new relationships.
- cefclient: Add `request-context-per-browser` command-line flag for testing multiple CefRequestContext instances.
- cefclient: Add a CefURLRequest example.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2032 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-02-13 23:17:08 +00:00
Marshall Greenblatt 7c5cb76692 - Pass SSL certificate information to CefRequestHandler::OnCertificateError via a new CefSSLInfo interface (issue #1530).
- cefclient: Improve error message text and use a data: URI instead of LoadString for loading error messages (issue #579).
- Add functions in cef_url.h for base64 and URI encoding/decoding (issue #579).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2028 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-02-11 18:15:04 +00:00
Marshall Greenblatt 4f301a098b cefclient: Fix/improve source code documentation (issue #1500).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2019 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-02-02 23:18:16 +00:00
Marshall Greenblatt 82655ea01a cefclient: Move files containing the main() program entry point to the top-level cefclient directory (issue #1500).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2018 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-02-02 22:33:35 +00:00
Marshall Greenblatt 3ae110bd92 cefclient: Restructure file lists in CMakeLists.txt.in to generate nicer output (issue #1500).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2017 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-02-02 22:29:50 +00:00
Marshall Greenblatt 6f8def12a5 cefclient: Add missing include (issue #1518).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2016 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-02-02 21:03:19 +00:00
Marshall Greenblatt 1ce99c0ed4 cefclient: Split ClientApp into process-specific types (issue #1500).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2015 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-31 04:41:36 +00:00
Marshall Greenblatt 5c28259c31 cefclient: Organize source files into directories by target process (browser, renderer, common) (issue #1500).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2014 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-31 00:55:56 +00:00
Marshall Greenblatt 52b02eb838 cefclient: Mac: Move the mac/ folder to resources/mac/ (issue #1500)
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2013 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-30 20:55:28 +00:00
Marshall Greenblatt 8fe95d54d9 cefclient: Windows: Move icon files to a new resources/win folder (issue #1500).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2012 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-30 20:26:16 +00:00
Marshall Greenblatt 0255e4c741 cefclient: Rename the res/ folder to resources/ (issue #1500).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2011 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-30 20:22:46 +00:00
Marshall Greenblatt 16b3817b82 cefclient: Mac: Reduce helper process file dependencies (issue #1500)
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2010 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-30 19:34:58 +00:00
Marshall Greenblatt c6f8c63a45 cefclient: Simplify TempWindow usage (issue #1500).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2009 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-30 19:08:53 +00:00
Marshall Greenblatt 50380c7be4 cefclient: Remove ClientHandler abstraction that is no longer necessary now that all platforms use RootWindow (issue #1500).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2008 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-30 18:55:55 +00:00
Marshall Greenblatt bd9b578f05 cefclient: Mac: Clean up ClientAppDelegate initialization (issue #1500)
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2007 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-30 18:13:39 +00:00
Marshall Greenblatt c44f6f7efb cefclient: Mac: Introduce RootWindow concept and associated window/client object hierarchy (issue #1500).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2006 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-30 18:07:13 +00:00
Marshall Greenblatt 0031e7c603 cefclient: Add missing include (issue #1500)
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2005 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-29 21:44:17 +00:00
Marshall Greenblatt 89de4a5bb6 - cefclient: Linux: Introduce RootWindow concept and associated window/client object hierarchy (issue #1500).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2004 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-29 20:53:53 +00:00
Marshall Greenblatt 37464c2a4c cefclient: Windows: Fix type conversion error (issue #1511).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2003 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-28 17:14:52 +00:00
Marshall Greenblatt fd5ededb27 - cefclient: Windows: Introduce RootWindow concept and associated window/client object hierarchy (issue #1500).
- cefclient: Remove locking from ClientHandlerShared that was only required for the Windows implementation (issue #1500).
- Add CefDeleteOnThread helper for deleting ref-counted types on a named CEF thread.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2001 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-27 00:03:25 +00:00
Marshall Greenblatt bcab7e0ebd cefclient: Mac: Fix compile error (issue #1500).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2000 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-26 22:49:36 +00:00
Marshall Greenblatt a66c401687 - cefclient: Split ClientHandler into an abstract base class and a concrete implementation for shared usage (issue #1500).
- cefclient: Show an alert box when selecting Tests > Popup Window while running in off-screen rendering mode.
- cefclient: Mac: Enable/disable UX buttons to match loading state.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1999 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-26 19:34:26 +00:00
Marshall Greenblatt 3f4c5acbe7 Add missing include statement (issue #1502).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1997 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-26 00:59:40 +00:00
Marshall Greenblatt f38c620e28 cefclient: Linux: Move GTK dialog handlers from ClientHandler into a separate class (issue #1500).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1991 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-23 20:03:47 +00:00
Marshall Greenblatt dfc2dfb0f5 cefclient: Move all remaining files to the `client` namespace (issue #1500).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1990 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-23 19:23:54 +00:00
Marshall Greenblatt 68cb4b6213 cefclient: Move all remaining files to the `client` namespace (issue #1500).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1989 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-23 19:09:34 +00:00
Marshall Greenblatt 87c41bf99f cefclient: Standardize osr-related file names and move to the `client` namespace (issue #1500).
cefclient: Windows: Move OSRWindow static methods to util_win (issue #1500).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1988 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-23 17:37:23 +00:00
Marshall Greenblatt 986e6fb939 cefclient: Don't specify `virtual` in combination with `OVERRIDE` since it's redundant (issue #1500).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1987 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-23 16:20:52 +00:00
Marshall Greenblatt 7a0b40e8c9 cefclient: Don't specify `virtual` in combination with `OVERRIDE` since it's redundant (issue #1500).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1986 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-22 23:34:29 +00:00
Marshall Greenblatt b9dd027411 cefclient: Replace global App* functions with singleton MainContext instance (issue #1500).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1985 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-22 23:11:30 +00:00
Marshall Greenblatt af0635bb34 cefclient: Use test_runner::Alert instead of platform-specific notifications (issue #1500).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1984 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-22 21:39:36 +00:00
Marshall Greenblatt 1428f022af - cefclient: Add test_runner as the single entry point for running test-related code and move test implementations to the client namespace (issue #1500).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1983 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-22 20:21:21 +00:00
Marshall Greenblatt 249ad7f6e4 cefclient: Use an abstraction for message loop functionality (Run/Quit/PostTask) instead of implementing the same logic multiple times in platform-specific files (issue #1500).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1982 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-22 17:55:55 +00:00
Marshall Greenblatt 4bf08b70d6 Rename .cpp file extensions to .cc for consistency (issue #1500).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1981 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-22 01:55:39 +00:00
Marshall Greenblatt f0bba98523 Add NavigationTest.PopupNavigateAfterCreation to verify that navigation of popup windows does not assert (issue #1392).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1980 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-21 17:26:42 +00:00
Marshall Greenblatt e50ea8c29f - Add open folder dialog support (FILE_DIALOG_OPEN_FOLDER mode) for CefBrowserHost::RunFileDialog (issue #1030).
- Standardize file dialog behavior across all platforms (issue #1492).
-- Show a file type filter list on OS X.
-- Show the file extensions as part of the filter list description on all platforms (e.g. "Image Types (*.png;*.gif;*.jpg)").
-- Rename the CefBrowserHost::RunFileDialog |accept_types| argument to |accept_filters| and expand support for filters that will be displayed as-is in addition to the currently supported mime-type and extension-based filters. For example, a filter value of "Supported Image Types|.png;.gif;.jpg" will display "Supported Image Types (*.png;*.gif;*.jpg)" in the filter drop-down list and accept *.png, *.gif and *.jpg files.
-- Persist the selected filter item index by passing a new |selected_accept_filter| argument to CefBrowserHost::RunFileDialog and returning the newly selected index via the CefRunFileDialogCallback and CefFileDialogCallback callbacks.
-- Rename the CefBrowserHost::RunFileDialog |default_file_name| argument to |default_file_path| and use the directory component, if any, to set the default directory location. If |default_file_path| ends in a trailing path separator it will be treated as a directory without a file name component.
-- Add FILE_DIALOG_OVERWRITEPROMPT_FLAG and FILE_DIALOG_HIDEREADONLY_FLAG values to cef_file_dialog_mode_t for controlling those behaviors where possible.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1973 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-20 18:24:54 +00:00
Marshall Greenblatt a2d690a9bd Use int64 instead of uint64 for CefURLRequestClient progress notifications (issue #1202).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1968 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-12 20:46:31 +00:00
Marshall Greenblatt 054300874d Improvements to unit test behavior.
- Standardize the test timeout implementation using a new TestHandler::SetTestTimeout method and enable timeouts for almost all tests. The test timeout can be disabled globally using a new `--disable-test-timeout` command-line flag.
- Wait for TestHandler object destruction at the end of each test using a new ReleaseAndWaitForDestructor function. This avoids test state leakage and verifies that no object references are leaked.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1964 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-09 23:40:26 +00:00
Marshall Greenblatt ba198e9ef1 Update to Chromium revision d3cf92ca (#310534).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1963 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-09 17:22:10 +00:00
Marshall Greenblatt b5e8914bde - Change ALLOW_UNUSED to ALLOW_UNUSED_TYPE and ALLOW_UNUSED_LOCAL to match Chromium.
- Windows: d3dcompiler_46.dll changed to d3dcompiler_47.dll due to 8.1 SDK update (issue #1484).
- Windows: Fix `local variable is initialized but not referenced` warning with Release build (issue #1484).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1962 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-08 02:42:59 +00:00
Marshall Greenblatt d0a45cfbbb Add support for begin frame scheduling and direct rendering when GPU compositing is disabled (issue #1368).
- Always set the browser process VSync rate (frame rate) to CefSettings.windowless_frame_rate.
- When the `enable-begin-frame-scheduling` command-line flag is specified the VSync rate for all processes will be synchronized to CefSettings.windowless_frame_rate. This flag cannot be used in combination with windowed rendering.
- When the `disable-gpu` and `disable-gpu-compositing` command-line flags are specified the CefRenderHandler::OnPaint method will be called directly from the compositor instead of requiring an additional copy for each frame.
- CefRenderHandler::OnPopupSize now passes view coordinates instead of (potentially scaled) pixel coordinates.
- Add OSR unit tests for 2x (HiDPI) pixel scaling.
- Improve CefRenderHandler documentation.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1960 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-01 16:51:56 +00:00
Marshall Greenblatt 5a5d2caff2 Update to Chromium revision 8cb76f56 (#307671)
- Linux/Mac: Load V8 initial snapshot from external bin files (see http://crbug.com/421063).
- Windows: 8.1 SDK is now required (issue #1470).
- Remove CefDOMDocument::GetSelectionStartNode and GetSelectionEndNode methods(see https://codereview.chromium.org/763043004).
- Rename internal namespace used in base headers to avoid linker conflicts with cef_sandbox.lib.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1956 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-12-13 20:18:31 +00:00
Marshall Greenblatt b12e172af0 Improve off-screen rendering behavior (issue #1257).
- The |dirtyRects| argument to CefRenderHandler::OnPaint is now a single rectangle representing the union of all dirty rectangles since the last frame was generated. In most cases this rectangle will be smaller than the view (frame) size.
- cefclient: Use a ScopedGLContext class on all platforms to manage the current GL context and avoid GL state leaks.
- cefclient: Add debug checks in ClientOSRenderer for GL errors and fix some errors that were discovered.
- cefclient: Add a new `--show-update-rect` command-line flag that provides visualization of the update rectangle by drawing a red border around it for each frame.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1945 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-12-02 11:23:57 +00:00
Marshall Greenblatt 93c1a7fcd7 Pass cursor type and custom cursor information to CefRenderHandler::OnCursorChange (issue #1443).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1928 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-11-24 21:56:12 +00:00
Marshall Greenblatt 8eb14dd71f Add CefBrowserHost::GetNavigationEntries for retrieving a snapshot of navigation history (issue #1442).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1924 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-11-24 19:23:26 +00:00
Marshall Greenblatt 8038ff9579 Update xmlhttprequest.html to use an async request since sync requests are now deprecated.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1922 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-11-21 21:49:52 +00:00
Marshall Greenblatt eef89ccdd3 Update to Chromium revision 40af916d (#303546).
- Standardize usage of virtual/override specifiers in CEF internals (see http://crbug.com/417463).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1903 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-11-12 19:25:15 +00:00
Marshall Greenblatt 470518a52e Windows/Linux: Fix positioning of select popups and dismissal on window move/resize by calling new CefBrowserHost::NotifyMoveOrResizeStarted() method from client applications (issue #1208).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1901 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-10-29 18:14:47 +00:00
Marshall Greenblatt 2109d76763 Windows: Fix reporting of WM_MOUSELEAVE coordinates by the cefclient OSR example (issue #1133).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1890 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-10-27 21:58:37 +00:00
Marshall Greenblatt a0f5f9c6c8 Use CMake configuration to detect ATL support (issue #1328).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1888 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-10-27 21:34:48 +00:00
Marshall Greenblatt a91de6d6db Generate CMake configuration for the binary distribution (issue #1404).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1881 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-10-22 21:48:11 +00:00
Marshall Greenblatt 7ddcaaf14e Fix type conversion compile error (issue #1397).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1874 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-10-14 17:57:24 +00:00
Marshall Greenblatt d15f6abc3a Add support for DevTools inspect element via a new |inspect_element_at| parameter added to CefBrowserHost::ShowDevTools (issue #586).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1870 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-10-11 00:12:01 +00:00
Marshall Greenblatt 57d47f64b5 Update to Chromium revision 267aeeb8 (#297060).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1863 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-10-10 17:54:35 +00:00
Marshall Greenblatt 02c3655ddb Fix type conversion compile error (issue #1397).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1860 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-10-09 16:09:07 +00:00
Marshall Greenblatt b26468be3f Mac: Add NSSupportsAutomaticGraphicsSwitching to Info.plist (issue #1396).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1855 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-10-03 17:00:56 +00:00
Marshall Greenblatt 58de0da301 Windows: Fix cancellation of drag&drop when using off-screen rendering and multi-threaded message loop and returning false from CefRenderHandler::StartDragging (issue #1364).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1853 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-09-30 18:52:26 +00:00
Marshall Greenblatt 25ed4dfefc Linux: Fix browser window position in cefclient when using integrated window menu bar (issue #1388).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1851 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-09-30 17:20:43 +00:00
Marshall Greenblatt 949bbc64bf Add missing cef_logging.h include (issue #1389).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1848 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-09-30 16:49:22 +00:00
Marshall Greenblatt 2ba756d3e1 Update to Chromium revision b0aa1fb5 (#296183).
- Restore CefRenderHandler::OnScrollOffsetChanged.
- Add new RT_PING and RT_SERVICE_WORKER resource type values.
- The resource type for image sub-resource loads has changed from RT_IMAGE to RT_PREFETCH (this is a regression, see http://crbug.com/415253#c23).
- Add a patch to fix a crash in Scheduler::swapQueuesRunPendingTasks* (http://crbug.com/415478).
- Add documentation for cef_key_event_type_t values.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1846 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-09-26 23:48:19 +00:00
Marshall Greenblatt 418303a1ff Linux: Install xlib error handlers to avoid crash on X11 error (issue #1337).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1844 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-09-24 17:22:27 +00:00
Marshall Greenblatt 39ca06a66d Add new FrameTest.* unit tests and fix discovered CefFrame-related bugs.
- Allow empty |name| argument to CefBrowser::GetFrame. This will return the main frame.
- Modify CefBrowser::GetFrame to search both assigned and unique frame names.
- Calling CefFrame::IsFocused on the main frame should return true when there are no other frames.
- Fix CefBrowser::GetFrameIdentifiers and GetFrameNames to return correct values in the renderer process (issue #1236).
- Delete NavigationTest.FrameNameIdent which is now obsoleted by the new FrameTests.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1842 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-09-24 15:38:11 +00:00
Marshall Greenblatt 61ffc55ec3 Linux: Reduce resource usage when the window is minimized (issue #1369).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1832 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-09-11 18:23:10 +00:00
Marshall Greenblatt fa5aa5fe4e Mac: Reduce resource usage on SetWindowVisibility(false) and fix delivery of application hide/unhide notifications (issue #1369)
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1830 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-09-10 21:32:30 +00:00
Marshall Greenblatt 7b5632d504 Linux: Fix compile error.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1825 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-09-09 21:53:06 +00:00
Marshall Greenblatt 70165e0ab8 Fix uninitialized variable warning on Windows.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1822 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-09-08 15:28:09 +00:00
Marshall Greenblatt 6308a7e03b Windows: Set browser window size to 0x0 when minimized to reduce resource usage (issue #1369).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1820 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-09-04 23:12:28 +00:00
Marshall Greenblatt df2242aff2 - Fix initial state of the |is_showing_| flag in CefRenderWidgetHostViewOSR (issue #1363).
- Windows: Modify the cefclient OSR example to call WasHidden(true) when the app is minimized.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1818 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-09-04 22:15:16 +00:00
Marshall Greenblatt 0b78461f5b Update to Chromium revision ad468e8b (#292352).
- Building Chromium using SVN is no longer supported.
- Remove CefDOMEvent and CefDOMEventListener (issue #933).
- Remove CefRenderHandler::OnScrollOffsetChanged (http://crbug.com/404656).
- Remove UR_FLAG_REPORT_LOAD_TIMING (https://codereview.chromium.org/451623002/).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1816 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-09-04 17:53:40 +00:00
Marshall Greenblatt 2d12b430d3 Linux: Fix type mismatch compile error (issue #1354).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1807 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-08-14 09:42:23 +00:00
Marshall Greenblatt b34963b743 Revert revision 1765 changes due to broken sub-frame loading.
- Move LoadRequest execution to the browser process and use data: URLs for LoadString (issue #579).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1780 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-07-16 21:27:25 +00:00
Marshall Greenblatt 18f634c11f Add base::string16 support (issue #1336).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1779 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-07-15 22:07:25 +00:00
Marshall Greenblatt 1a819fe284 Replace NewCefRunnable* usage with base::Bind and fix CefCreateClosureTask typo (issue #1336).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1776 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-07-15 18:10:40 +00:00
Marshall Greenblatt 515d4e6829 Remove unused include of cef_runnable.h (issue #1336).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1770 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-07-14 22:26:56 +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 c260a2d166 cefclient: Fix member variable naming to match Chromium style.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1768 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-07-11 20:28:37 +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 b9781aa000 Move LoadRequest execution to the browser process and use data: URLs for LoadString (issue #579).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1765 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-07-10 18:22:09 +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 6f63f5d4f8 - Linux: cefclient: Add a GTK implementation of CefDialogHandler (issue #1258).
- Add new CefGetExtensionsForMimeType function.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1761 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-07-09 18:03:43 +00:00
Marshall Greenblatt da1ac7dde5 Linux: cefclient: Add a GTK implementation of CefJSDialogHandler (issue #1258).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1760 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-07-09 17:13:06 +00:00
Marshall Greenblatt b3309086d9 Linux: Fix release build compile errors (issue #1316)
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1754 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-07-02 22:51:31 +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 4114dbd609 Add missing newline at end of file
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1752 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-06-30 22:54:35 +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 133317eeec Linux: Fix crash due to Chromium modifying the |argv| passed to main() (issue #620).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1750 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-06-25 19:47:06 +00:00
Marshall Greenblatt 62d9365b51 Fix delivery of focus/blur events (issue #1301).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1717 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-06-06 19:04:21 +00:00
Marshall Greenblatt 99faa3fda4 Linux: Fix release build compile error (issue #1245).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1716 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-05-30 19:29:45 +00:00
Marshall Greenblatt 74b35c30eb Update to Chromium revision 272007.
- Remove CefSettings.accelerated_compositing option (see https://crbug.com/363772).
- Remove experimental x-webkit-speech support (see https://crbug.com/223198).
- Execute CefGeolocationHandler callbacks on the UI thread (see https://crbug.com/304341#c212).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1711 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-05-29 17:15:34 +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 bee216cfb2 Fix ClientHandler::EndTracing to call correct method (issue #1254).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1696 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-05-06 17:33:00 +00:00
Marshall Greenblatt f6bc617bc5 Remove the legacy off-screen rendering implementation. A new implementation is required (issue #1257).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1678 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-04-25 01:36:58 +00:00
Marshall Greenblatt 078aae8bd8 Mac: Fix cefsimple shutdown problem when launching from Finder (issue #1203)
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1650 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-04-09 18:47:57 +00:00
Marshall Greenblatt 8b67278279 Mac: Change shutdown-related code to match Chromium (issue #1203)
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1648 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-04-09 18:29:51 +00:00
Marshall Greenblatt 199a3faafe Update to Chromium revision 261035.
- The CefSettings.release_dcheck_enabled option has been removed. This functionality can be enabled by setting the dcheck_always_on=1 gyp variable before building CEF/Chromium. See http://crbug.com/350462 for details.
- The UR_FLAG_ALLOW_COOKIES option has been removed and the functionality has been merged into UR_FLAG_ALLOW_CACHED_CREDENTIALS.
- Mac: [NSApplication sharedApplication] should no longer be called in the renderer process. See http://crbug.com/306348 for details.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1641 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-04-04 16:50:38 +00:00
Marshall Greenblatt 14f5464fa5 Add new URLRequestTest.BrowserInvalidURL test (issue #888).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1615 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-02-10 23:28:58 +00:00
Marshall Greenblatt 769616da5f Remove the CefBrowserHost::ParentWindowWillClose method that was added for modal dialog support but never implemented (issue #519).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1613 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-02-10 19:53:09 +00:00
Marshall Greenblatt 9de5343501 cefclient: Move router initialization to the UI thread to be compatible with multi-threaded-message-loop.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1609 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-02-10 18:53:56 +00:00
Marshall Greenblatt fc3d05f01d Fix completion status for asynchronous custom resource handler requests (issue #1066, issue #1187).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1594 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-02-06 00:18:33 +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 76f6ca0763 Mac: Fix compile errors.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1591 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-01-31 23:35:23 +00:00
Marshall Greenblatt 2534b67365 - Add MayBlock() method to stream classes which is used as a hint when determining the thread to access the stream from (issue #1187).
- In cases where MayBlock() returns true have CefStreamResourceReader perform the reads on the FILE thread (issue #1187).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1582 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-01-30 23:15:55 +00:00
Marshall Greenblatt b608dae758 Add a new CefURLParts.origin member for retrieving the origin when parsing a URL.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1578 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-01-28 19:19:41 +00:00
Marshall Greenblatt 2f8b024797 Add a CefGetMimeType function for retrieving the mime type of a file extension (issue #1098).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1577 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-01-28 17:26:59 +00:00
Marshall Greenblatt 0c8b381a46 Windows: Fix 64-bit compile errors (issue #1184).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1576 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-01-28 16:58:44 +00:00
Marshall Greenblatt 0df95ca529 Provide a generic JavaScript message router implementation (issue #1183).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1574 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-01-27 23:31:03 +00:00
Marshall Greenblatt 78bfefee5e Add <algorithm> include required by VS2013 (issue #1094).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1571 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-01-14 19:57:17 +00:00
Marshall Greenblatt 30c36156ea Update to Chromium revision 242756.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1553 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-01-02 22:41:11 +00:00
Marshall Greenblatt 099664fba0 Update to Chromium revision 241258.
- Update tracing implementation to use the new file-based approach (issue #1157).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1549 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-12-17 22:04:35 +00:00
Marshall Greenblatt 992cc56583 Update the CEF logo image in cefclient.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1548 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-12-09 19:03:49 +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 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 3d218e4442 Update to Chromium revision 237081.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1532 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-11-25 23:04:25 +00:00
Marshall Greenblatt 777e3c440e Mac: Fix equality test compile error (issue #1013).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1529 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-11-25 18:56:22 +00:00
Marshall Greenblatt 527f1aa5da Use file_util::WriteFile instead of ofstream (issue #1013).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1527 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-11-25 18:53:13 +00:00
Marshall Greenblatt 43d2ca32fa Support file uploads in CefURLRequests originating from the browser process (issue #1013).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1525 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-11-25 17:31:59 +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