Commit Graph

390 Commits

Author SHA1 Message Date
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 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 ff8c5a6caa Update generated file copyright year 2016-01-08 14:00:27 -05:00
Marshall Greenblatt 12f19e3a33 Expose additional SSL certificate information.
- Provide access to the full certificate issuer chain (issue #1530)
- Add several missing certificate error codes to cef_errorcode_t (issue #1784)
- Provide the full certificate status bitmask (issue #1790)
2015-12-18 14:05:42 -05:00
Marshall Greenblatt 07e845ed31 CefRequestHandler::GetAuthCredentials |scheme| argument is optional for FTP sources (issue #1794) 2015-12-17 13:24:22 -05:00
Marshall Greenblatt 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 626fc561ca Add new CefRequestHandler::OnResourceLoadComplete callback (issue #1781) 2015-12-04 13:59:14 -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 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 1f21fe5412 Add CefPrintHandler::OnPrintStart callback (issue #1736) 2015-10-13 14:04:02 -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 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 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
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 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 b849e7fb70 Return CefTime instead of time_t from CefZipReader::GetFileLastModified (issue #1625) 2015-05-05 19:12:10 -04: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 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 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 9dc7d2a398 Add a new CefRequestHandler::OnRenderViewReady method which is called when a browser is ready to receive/handle IPC messages in the render process (issue #1564).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2055 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-03-09 21:05:22 +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 36fd5e3ed0 Pass the scroll offset to CefRenderHandler::OnScrollOffsetChanged (issue #1561).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2052 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-03-06 17:50:14 +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 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 3dc9072f58 Update to Chromium revision beafd8cb (#314338).
- Remove unused CefContextMenuHandler::GetMisspellingHash() method.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2020 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-02-04 18:10:14 +00:00
Marshall Greenblatt c71cae325f Add CefDownloadItem::GetOriginalUrl method (issue #1201).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1976 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-20 22:48:32 +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 758d5c23c5 Add CefFindHandler for reporting find results (issue #1482).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1969 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-12 21:04:08 +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 833f762273 Add the ability to Pause/Resume downloads via new CefDownloadItemCallback methods (issue #1425).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1966 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-12 19:47:40 +00:00
Marshall Greenblatt ad536f769f Add CefDisplayHandler::OnFaviconURLChange callback (issue #964).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1965 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-12 19:37:52 +00:00
Marshall Greenblatt 7fe86e0b26 Update copyright year in generated files.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1961 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2015-01-05 13:03:50 +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 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 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 ff77107e73 Further improvements to spell checking support (issue #137).
- Add "Add to dictionary" context menu option.
- Use available translations for "Add to dictionary" and "No spelling suggestions".
- Fix placement of context menu separators.
- Display the "No spelling suggestions" option as grayed out.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1879 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-10-19 01:47:27 +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 77aa0be191 Add spell checking support (issue #137).
This includes:
- Red underline of misspelled words in html text areas.
- Right-click context menu options to correct the misspelled word.
- New CefBrowser::ReplaceMisspelling method for accepting a word replacement.
- Methods added to CefContextMenuParams for retrieving spelling-related information.
- Uses the unified text checker when auto-correct is not enabled to match Google Chrome behavior.
- On Windows and Linux a hunspell dictionary file will be downloaded to the "<cache_path>/Dictionaries" directory as needed, or used from the <cache_path> directory if the file already exists there. The dictionary file will be downloaded from http://cache.pack.google.com/edgedl/chrome/dict/<LANG>-3-0.bdic where <LANG> is the language abbreviation.
- On OS X the spell checking implementation will use the system NSSpellChecker implementation.

The following command-line flags have been added:
--disable-spell-checking => Disable spell-checking support (no red underline, no dictionary file download, etc).
--enable-spelling-auto-correct => Automatically correct common misspellings while typing (like 'omre' to 'more' on Windows/Linux or 'ehlo' to 'helo' on OS X).
--enable-spelling-service => Enable use of the remote Google spelling service (this requires Google API keys).
--override-spell-check-lang=<LANG> => Use the specified dictionary language <LANG> instead of the language specified in the locales.pak file. To see the default/supported dictionary languages: https://code.google.com/p/chromium/codesearch#search/&q=IDS_SPELLCHECK_DICTIONARY%20xtb&sq=package:chromium


git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1859 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-10-07 20:44:33 +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 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 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 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 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 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 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 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 1d798844b6 Make |string| parameter to CefStringVisitor::Visit optional (issue #1216).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1635 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-03-12 14:49:11 +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 b5700a6f4c Make |origin_url| parameter to CefJSDialogHandler::OnJsDialog optional since it may be empty for non-standard schemes (issue #1106).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1621 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-02-11 20:23:00 +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 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 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 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 7074154725 Update copyright year in generated files.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1557 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2014-01-06 19:48:18 +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 7428e45dd2 Restore CefRenderProcessHandler::OnBeforeNavigation (issue #1076). This method is still needed for some use cases due to issue #1129.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1519 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-11-21 20:59:28 +00:00
Marshall Greenblatt d789d84c30 Remove CefBrowserHost::GetDevToolsURL(). It is now possible to use DevTools without remote debugging, and the ability to load a remote debugging URL without first loading the discovery page is no longer supported (issue #659).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1511 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-11-08 16:27:22 +00:00
Marshall Greenblatt d2dfded03a - Support DevTools without remote debugging via CefBrowserHost::ShowDevTools and CloseDevTools methods (issue #659).
- Fix loading of DevTools frontend from chrome-devtools scheme (issue #1095).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1510 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-11-08 16:06:06 +00:00
Marshall Greenblatt c7d7b9fbbf Add search/find support (issue #513).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1482 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-10-23 22:44:12 +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 8adb86e7e6 Remove CefRenderProcessHandler::OnBeforeNavigation (issue #1076).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1443 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-09-16 15:26:08 +00:00
Marshall Greenblatt 71125f76d8 Expose CefLoadHandler in the render process (issue #1077).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1442 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-09-12 23:36:54 +00:00
Marshall Greenblatt c577293d96 Initial changes to allow use of CefLoadHandler in the render process (issue #1077).
- Move OnLoadingStateChange from CefDisplayHandler to CefLoadHandler.
- Move OnRenderProcessTerminated and OnPluginCrashed from CefLoadHandler to CefRequestHandler.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1441 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-09-12 20:34:18 +00:00
Marshall Greenblatt 4eafb2ea24 Add CefRequestHandler::OnBeforeBrowse callback (issue #1076).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1440 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-09-12 17:44:54 +00:00
Marshall Greenblatt 31dd95c3f8 Expose resource type and transition type via CefRequest (issue #1071).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1433 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-09-10 19:42:53 +00:00
Marshall Greenblatt 97dd8beb4f Update to Chromium revision 220934.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1427 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-09-03 21:48:12 +00:00
Marshall Greenblatt 385be456c3 Structural improvements for request handling (issue #1044)
- Add new CefRequestContext and CefRequestContextHandler classes.
- Add CefRequestContext argument to CefBrowserHost static factory methods.
- Move GetCookieManager from CefRequestHandler to CefRequestContextHandler.
- Use BrowserContext as the root proxy object for network requests.
- Move accessors for CefBrowserMainParts members from CefContext to CefContentBrowserClient.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1424 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-09-03 16:43:31 +00:00
Marshall Greenblatt ac22cfaad2 Add CefURLRequestClient::GetAuthCredentials callback (issue #975).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1416 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-08-27 18:58:08 +00:00
Marshall Greenblatt a2a3513620 Update to Chromium revision 213078.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1338 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-07-24 20:15:18 +00:00
Marshall Greenblatt 0b46579e99 Add CefRenderHandler::OnScrollOffsetChanged callback (issue #889).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1309 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-07-18 19:26:11 +00:00
Marshall Greenblatt 828e6ffe46 Add support for CefDragHandler::OnDragEnter (issue #601).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1282 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-06-24 15:45:58 +00:00
Marshall Greenblatt b3cd2ae6a8 Add CefJSDialogHandler::OnDialogClosed callback (issue #943).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1263 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-05-31 13:45:21 +00:00
Marshall Greenblatt ac4c19159c Mac: Add IME support with off-screen rendering (issue #973).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1259 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-05-31 12:46:56 +00:00
Marshall Greenblatt c41127f236 Mac: Add off-screen rendering support (issue #518).
- Build with the 10.7 SDK (set GYP_DEFINES='mac_sdk=10.7') to include Retina support in the cefclient OSR example.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1226 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-04-16 19:23:00 +00:00
Marshall Greenblatt 0ffaf01b5b Remove V8 worker bindings (issue #451).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1209 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-04-11 20:46:04 +00:00
Marshall Greenblatt 67d59cb2b9 Add CefBrowserHost::WasHidden() method for notifying a windowless browser that it has been hidden or shown (issue #909).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1180 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-04-05 17:37:40 +00:00
Marshall Greenblatt 0343aa5236 Add CefBrowserHost::SetMouseCursorChangeDisabled() method for disabling mouse cursor changes (issue #884).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1178 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-04-05 17:05:37 +00:00
Marshall Greenblatt 9e0ba3801e Add CefRequestHandler::OnCertificateError() callback (issue #345).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1176 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-04-04 17:50:35 +00:00
Marshall Greenblatt 7ded60a218 - Change the way that application shutdown works in order to support JavaScript 'onbeforeunload' handling (issue #853). See comments in cef_life_span_handler.h for a detailed description of the new shutdown process.
- Fix a crash on Linux during window destruction (issue #681).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1149 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-03-19 22:59:33 +00:00
Marshall Greenblatt 7f3d1ccf78 Add a new CefBrowserHost::StartDownload method for starting a download that can then be handled via CefDownloadHandler (issue #883).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1100 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-02-13 22:47:04 +00:00
Marshall Greenblatt d65179c135 Add the ability to persist session cookies (issue #881).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1098 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-02-13 19:53:41 +00:00
Marshall Greenblatt 6604af5462 Fix popup window behavioral errors introduced by revision 1085 changes (issue #816).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1093 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-02-09 22:38:24 +00:00
Marshall Greenblatt 02587eba55 Add a new CefLifeSpanHandler::CanCreatePopup() method for canceling the creation of popup windows (issue #816).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1085 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-02-08 00:07:41 +00:00
Marshall Greenblatt 81d27df883 Introduce chrome proxy implementation based on command-line flags (issue #600).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1080 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-02-06 20:41:54 +00:00
Marshall Greenblatt 7d3bac19a9 Windows: Improvements to off-screen rendering support (issue #518).
- Implement support for transparency. Change the backing store to use Skia instead of GDI and to keep alpha values.
- Implement support for select popups. Requires a patch to Chromium (content_popups.patch).
- Implicitly disable accelerated compositing when using off-screen rendering.
- Introduce a new CefMouseEvent structure for representing mouse event information passed to CefBrowser methods.
- Merge cef_key_event_modifiers_t into cef_event_flags_t.
- Add a new argument to CefBrowser::Invalidate telling the browser whether to invalidate the select popup or the main view.
- Add a new cefclient "transparent-painting-enabled" command-line flag to test transparent off-screen rendering.
- Add a new cefclient "Transparency" test.
- Fix the cefclient off-screen rendering rotation effect to work even when the underlying web content is not updating.
- Add unit tests for transparent painting and select popups.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@979 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-01-11 23:00:39 +00:00
Marshall Greenblatt afe3cb1d67 Support custom V8 bindings on WebWorker threads (issue #451).
- Add CefRenderProcessHandler callbacks for WebWorker context creation, release and uncaught exceptions.
- Add CefTaskRunner class that supports posting of tasks to standard threads and WebWorker threads.
- Organize V8 internal state information on a per-thread/per-Isolate basis.
- Add webkit_451.patch that provides the WebKit implementation.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@972 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-01-03 17:24:24 +00:00
Marshall Greenblatt 22ed9d9140 Update the copyright year on auto-generated files.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@969 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2013-01-02 10:13:43 +00:00
Marshall Greenblatt e33ea0aff4 - Move browser object tracking from CefContext to CefContentBrowserClient and introduce a new CefBrowserInfo class to simplify ID management (issue #830).
- Add a new CefBrowser::IsSame method (issue #830).
- Improve CefRenderProcessHandler::OnBrowserCreated documentation (issue #830).
- Add a new NavigationTest.CrossOrigin test for cross-origin navigation (issue #830).
- Fix existing NavigationTest tests to run in single-process mode.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@963 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-12-30 11:17:49 +00:00
Marshall Greenblatt 9accdc8b01 Allow empty |client| parameter to CreateBrowser and CreateBrowserSync.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@949 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-12-12 14:43:57 +00:00
Marshall Greenblatt 6b7716f64b Windows: Add off-screen rendering support (issue #518).
- Popup menus, drag&drop and GPU acceleration are not currently supported.
- Testing is enabled in cefclient by passing the "off-screen-rendering-enabled" command-line flag.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@919 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-11-21 00:40:15 +00:00
Marshall Greenblatt 1e871cc2c8 - Pass information to the renderer process synchronously on render thread creation and new browser creation to avoid race conditions (issue #744).
- Add the ability to pass extra information to child processes using a new CefBrowserProcessHandler::OnRenderProcessThreadCreated callback (issue #744).
- Fix OnBeforeChildProcessLaunch documentation (issue #754).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@910 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-11-20 20:08:36 +00:00
Marshall Greenblatt 79f3683beb Add new CefRenderProcessHandler::OnBeforeNavigation callback (issue #722).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@904 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-11-09 18:47:09 +00:00
Marshall Greenblatt d7493c57a1 - Update to Chromium revision 165669.
- Fix Linux/OS-X compile errors (issue #751).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@897 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-11-05 20:18:20 +00:00
Marshall Greenblatt e599cc1fab Add CefV8ContextHandler::OnUncaughtException callback (issue #736).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@890 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-11-02 18:16:28 +00:00
Marshall Greenblatt 0cea9668fe Support implicit detachment of CEF V8 references when the associated context is released (issue #484).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@881 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-10-29 21:46:02 +00:00
Marshall Greenblatt e45ff9e838 Add a new CefGetGeolocation function for retrieving geolocation information via an API callback (issue #764).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@868 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-10-19 18:39:44 +00:00
Marshall Greenblatt e1f2be1785 - Expose tracing functionality via new cef_trace.h and cef_trace_event.h headers (issue #711).
- Add about:tracing UI support (issue #711).
- Avoid unnecessary string type conversions for values and process messages.
- Add support for a 'note' attribute in patch.cfg.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@865 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-10-17 22:45:49 +00:00
Marshall Greenblatt eda69594ef - Provide default implementations of the file chooser dialogs (open, open multiple, save) on all platforms (issue #761).
- Add a new CefBrowserHost::RunFileDialog method that displays the specified file chooser dialog and returns the results asynchronously (issue #761).
- Add a new CefDialogHandler::OnFileDialog callback that allows the application to provide custom UI for file chooser dialogs (issue #761).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@862 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-10-16 19:28:07 +00:00
Marshall Greenblatt a3ac7b446f Add new CefRequestHandler::OnBeforePluginLoad callback and functions for controlling plugin loading and life span (issue #645).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@822 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-09-28 20:14:02 +00:00
Marshall Greenblatt 149ae3df88 Add CefRequestHandler::OnQuotaRequest callback for handling webkitStorageInfo.requestQuota requests (issue #732).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@816 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-09-27 22:52:15 +00:00
Marshall Greenblatt 8957947cff Add CefBrowserProcessHandler::OnBeforeChildProcessLaunch and CefCommandLine::PrependWrapper to support custom construction of the command line for child processes (issue #628).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@810 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-09-27 17:07:31 +00:00
Marshall Greenblatt 7de4dc5aad Allow use of an empty key string with CefV8Value methods (issue #718).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@806 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-09-26 21:26:32 +00:00
Marshall Greenblatt 0d086ee6fb Implement CefDisplayHandler OnStatusMessage and OnConsoleMessage callbacks (issue #662).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@772 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-09-07 21:01:27 +00:00
Marshall Greenblatt c15048d75f - Add CefCommandLine::GetArgv method (issue #707).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@751 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-09-04 15:12:50 +00:00
Marshall Greenblatt e99d9c86a6 Revert the CefMenuModel separator changes added in revision 747.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@749 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-08-29 16:58:40 +00:00
Marshall Greenblatt 2e83d58814 Update to Chromium revision 153668.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@748 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-08-28 22:26:35 +00:00
Marshall Greenblatt c91f8132d5 Add new CefV8StackTrace and CefV8StackFrame interfaces to support retrieval of the JavaScript stack trace for the currently active V8 context (issue #682).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@728 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-07-25 11:52:03 +00:00
Marshall Greenblatt 0c81037621 Allow an empty |download_path| argument to CefBeforeDownloadCallback::Continue (issue #516).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@716 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-06-28 17:46:40 +00:00
Marshall Greenblatt 421001ba9d - Add download handling support via new CefDownloadHandler and CefDownloadItem interfaces (issue #516).
- Fix setting of CefKeyEvent.focus_on_editable_field when the underlying RenderViewHost changes.
- Fix potential crash if URLRequest objects are still in-progress upon shutdown.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@715 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-06-28 17:21:18 +00:00
Marshall Greenblatt d13cc9de1c Add OnProtocolExecution callback to CefRequestHandler (issue #582).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@711 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-06-25 21:21:27 +00:00
Marshall Greenblatt 89c70a8b11 Add OnRenderProcessTerminated and OnPluginCrashed notifications to CefLoadHandler (issue #633).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@710 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-06-25 19:49:17 +00:00
Marshall Greenblatt 9df142f832 - Add CefURLRequest support (issue #517).
- Add CefBrowserProcessHandler interface (issue #650).
- Internally re-register supported schemes with CefCookieManager after changing the storage path (issue #651).
- Add CefResourceHandler callbacks for blocking cookie loading and saving (issue #652).
- Allow custom scheme handlers for requests that do not originate from browser content (issue #653).
- Use 'int' instead of 'RequestFlags' for CefRequest::GetFlags and SetFlags (issue #654).
- Rename cef_request.h CreateObject methods to Create (issue #655).
- Add #ifdef guards to cef_tuple.h to allow the use of both cef_runnable.h and base/bind.h in the same unit test source file.
- Retrieve cookieable schemes as part of ClientApp::RegisterCustomSchemes and register with the global cookie manager.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@697 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-06-19 16:29:49 +00:00
Marshall Greenblatt fd5c3c0d75 Add zoom support (issue #514).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@695 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-06-12 19:50:24 +00:00
Marshall Greenblatt 11fb746e95 Fix spelling error in OnProcessMessageReceived (issue #636).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@689 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-06-11 20:03:49 +00:00
Marshall Greenblatt d8caf27e3b - Add keyboard and focus notifications (issue #508).
- Add CefDOMNode::IsEditable method.
- List interfaces alphabetically in CefClient.
- Correct error checking for code and command input.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@680 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-06-11 15:52:49 +00:00
Marshall Greenblatt 761187a673 - Update to Chromium revision 136953.
- Add chrome-devtools scheme handler implementation.
- Change the CefBrowser::GetDevToolsURL() method to allow retrieval of both http and chrome-devtools URLs.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@630 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-05-18 15:04:56 +00:00
Marshall Greenblatt db3a9817ed Add direct DOM access (issue #511).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@610 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-04-27 21:19:06 +00:00
Marshall Greenblatt 4fe0ddf640 Add ability to directly retrieve plugin information (issue #575).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@609 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-04-27 19:12:01 +00:00
Marshall Greenblatt 9017c0e74e - Update to Chromium revision 133962.
- Mac: Fix path discovery for non-native frameworks (issue #576).
- Avoid loading Chrome-specific pack files (issue #578).
- Make DevTools remote debugging URLs harder to guess (issue #583)
- Add CefBrowser::GetDevToolsURL() method (issue #583).
- Add DevTools example to cefclient (must run with --remote-debugging-port=XXXX command-line flag) (issue #583).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@608 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-04-26 22:20:18 +00:00
Marshall Greenblatt 6c8f4644aa - Update to Chromium revision 133430.
- Move custom scheme registration to CefApp::OnRegisterCustomSchemes(). This is required by the introduction of ContentClient::AddAdditionalSchemes() and fixes a race condition when registering standard schemes in different processes.
- Execute V8 functions using V8Proxy. This is required for inspector instrumentation to work correctly and fixes an assertion in WebCore related to V8RecursionScope.
- Enable verbose V8 TryCatch logging.
- Mac: Expose UnderlayOpenGLHostingWindow interface that should be used for all CEF windows.
- Add CefSettings.remote_debugging_port option.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@602 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-04-24 18:01:48 +00:00
Marshall Greenblatt 7bc494880f Add context menu support (issue #509):
- Add new CefContextMenuHandler, CefContextMenuParams and CefMenuModel classes.
- Add cef_strings.grd and related infrastructure for supporting translation of CEF strings.
- Generate include/cef_pack_resources.h and include/cef_pack_strings.h files at build time that include all IDs used by CEF pack files.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@595 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-04-19 20:31:46 +00:00
Marshall Greenblatt 07bba96106 Add support for JavaScript alert, confirm, prompt and onbeforeunload dialogs (issue #507).
- Add CefJSDialogHandler and CefJSDialogCallback interfaces.
- Add default dialog implementations for Windows and Mac OS-X.
- Add "JavaScript Dialogs" example to cefclient.
- Change TestHandler::AddResource to ignore the query component when matching URLs.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@594 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-04-16 21:15:27 +00:00
Marshall Greenblatt 0b3ef6e2cd CEF3: Add CefCookieManager::SetSupportedSchemes method which supports cookie storage for non-http(s) schemes (issue #567).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@577 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-04-03 22:14:28 +00:00
Marshall Greenblatt 34adee805c Branch CEF3 files from /branches/cef3 to /trunk/cef3 (issue #564).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@571 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-04-03 01:34:16 +00:00
Marshall Greenblatt b568f160d9 Rename CEF1 files from /trunk to /trunk/cef1 (issue #564).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@570 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-04-03 01:27:13 +00:00
Marshall Greenblatt c814366421 - Add CefCookieManager interface and CefRequestHandler::GetCookieManager for custom cookie handling (issue #542).
- Support getting and setting cookies with custom scheme handlers (issue #555).
- Support calling CefFrame::GetIdentifier and CefFrame::GetURL on any thread (issue #556).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@542 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-03-22 22:08:05 +00:00
Marshall Greenblatt e258cbc536 Revert revision 534 changes: Add CefCookieManager interface and CefRequestHandler::GetCookieManager for custom cookie handling (issue #542).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@541 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-03-21 16:14:14 +00:00
Marshall Greenblatt ef43df264a Add CefCookieManager interface and CefRequestHandler::GetCookieManager for custom cookie handling (issue #542).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@534 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-03-15 22:38:02 +00:00
Marshall Greenblatt 52aade3759 Update to Chromium revision 122508.
- CefDragData::GetFileExtension() has been removed.
- Audio playback no longer works (issue #530).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@509 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-02-18 00:19:52 +00:00
Marshall Greenblatt c24c257eb8 Use includes instead of forward class declarations in header files to simplify usage (issue #142).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@506 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-02-17 17:31:19 +00:00
Marshall Greenblatt 1a092a0c1a Add the ability to (issue #236):
1. Disable pack file loading via CefSettings.pack_loading_disabled.
2. Customize pack file load paths via CefSettings.pack_file_path and CefSettings.locales_dir_path.
3. Provide custom resource bundle handling via CefResourceBundleHandler.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@501 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-02-16 17:11:49 +00:00
Marshall Greenblatt 0352efec64 Add methods to CefV8Value for specifying the amount of externally allocated memory associated with the V8 object (issue #478).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@469 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-01-19 18:52:59 +00:00
Marshall Greenblatt 1073577d03 Make CEF compliant with Google/Chromium style (issue #473).
- Add a new check_style tool based on Google's cpplint that can be used to verify compliance of pending changes and specific files/directories.
- Update existing CEF source code to be compliant with the style requirements.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@463 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-01-09 23:46:23 +00:00
Marshall Greenblatt b8ba27a671 Add the ability to restrict V8 extension loading by frame using a new CefPermissionHandler::OnBeforeScriptExtensionLoad() callback (issue #471).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@457 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2012-01-05 19:34:20 +00:00
Marshall Greenblatt ff976bc07f Break cef.h into multiple headers (issue #142).
- Move wrapper classes from cef_wrapper.h to wrapper/ directory.
- Move C API functions/classes from cef_capi.h to capi/ directory.
- Move global function implementations from cef_context.cc to *_impl.cc files.
- Output auto-generated file paths in cef_paths.gypi.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@442 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-12-23 17:36:30 +00:00
Marshall Greenblatt cc3a3a68d8 Remove CefV8Value::CreateObject variant that accepts only one argument (issue #449).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@440 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-12-22 17:08:35 +00:00
Marshall Greenblatt ec797bafe5 Make the |url| parameter to OnBeforePopup() optional.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@434 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-12-20 22:07:45 +00:00
Marshall Greenblatt 9fadd1724f Make the realm parameter to GetAuthCredentials() optional (issue #355).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@425 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-12-16 13:50:15 +00:00
Marshall Greenblatt bfcc2dbb8c Add the ability to observe and modify resource redirects (issue #346).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@416 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-12-12 17:34:24 +00:00
Marshall Greenblatt 64f91d5d9b Expose unique identifiers for frames and the ability to retrieve a frame's parent frame (issue #450).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@410 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-12-08 11:44:30 +00:00
Marshall Greenblatt ef64033467 - Revert: Change index parameter types from int to size_t to make 0-based range implicit.
- Add checks that index values are >= 0.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@409 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-12-08 10:22:15 +00:00
Marshall Greenblatt 64e08c2918 - Auto-generate all C/C++ translation code (issue #33).
- Change index parameter types from int to size_t to make 0-based range implicit.
- Make CefPrintOptions and CefMenuInfo proper wrapper classes.
- Normalize the naming of menu-related types.
- Remove unused command_line variable from test_suite.cc.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@408 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-12-08 01:38:30 +00:00
Marshall Greenblatt 7361732f92 - Add a new CefApp interface that provides global handlers and gets passed to CefInitialize() (issue #399).
- Add a new CefProxyHandler interface to allow applications to resolve proxy information (issue #389).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@394 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-11-23 22:47:09 +00:00
Marshall Greenblatt 605753c3b8 Replace JSBindingHandler with a new V8ContextHandler interface that contains callbacks for V8 context creation and release (issue #359).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@392 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-11-21 21:21:55 +00:00
Marshall Greenblatt ead9b4508c - Allow registration of V8 extensions with no native function handler (issue #433).
- Add a CefV8Context::InContext() method to test if V8 is currently in a context (issue #427).
- Verify that a current context exists when creating V8 arrays, functions and objects (issue #427).
- Add a v8::HandleScope in GetCurrentContext() and GetEnteredContext() to avoid "Cannot create a handle without a HandleScope" V8 errors (issue #427).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@391 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-11-21 19:01:22 +00:00
Marshall Greenblatt 268675fdbe Add additional error checking for CefV8Value methods (issue #427).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@381 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-11-16 22:12:54 +00:00
Marshall Greenblatt cc175e4fbe - Expose command line parsing support with a new CefCommandLine class (issue #422).
- cefclient: Add the ability to specify CefSettings and CefBrowserSettings values on the command line.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@378 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-11-14 23:43:52 +00:00
Marshall Greenblatt 28f171b26f Introduce CefV8Exception for returning detailed exception information from CefV8Value::ExecuteFunction*() and add the ability to re-throw exceptions. (issue #317).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@371 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-11-10 22:57:23 +00:00
Marshall Greenblatt 587eb7871d - Win: Improve redraw and scrolling performance (issue #360).
- Win: Fix CefBrowser::GetImage() and add "Get Image" example to cefclient (issue #377).
- Pass the list of dirty rectangles to CefRenderHandler::Paint(). (issue #415).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@368 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-11-09 20:09:24 +00:00
Marshall Greenblatt 8e45560a02 Pass the |redirectUrl| parameter to GetResponseHeaders() instead of ProcessRequest() (issue #414).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@362 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-11-07 22:23:51 +00:00
Marshall Greenblatt c451702e0c - Hide CEF internal V8 attributes from JavaScript (issue #316).
- Add a PropertyAttribute parameter to CefV8Value::SetValue() (issue #412).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@358 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-11-04 19:34:14 +00:00
Marshall Greenblatt 058e9ef2f2 - Add new call to OnKeyEvent() to allow handling of keyboard events before they're passed to the renderer (issue #406).
- Windows: only scroll with middle mouse button when the cursor is over the view (issue #410).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@356 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-11-04 18:19:14 +00:00
Marshall Greenblatt ef80d4ae6b Use multimap type for storing header values (issue #386).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@346 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-10-28 21:31:26 +00:00
Marshall Greenblatt 0ec9541b78 Add CefFrame::GetV8Context() method for retrieving the V8 context of a frame (issue #344).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@345 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-10-28 20:30:19 +00:00
Marshall Greenblatt 7a91ff899f Add initial Linux support (issue #40).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@338 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-10-24 20:20:52 +00:00
Marshall Greenblatt 2085cc9ce2 Add CefDisplayHandler::OnContentsSizeChange() notificiation (issue #341).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@330 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-10-21 14:09:04 +00:00
Marshall Greenblatt 9c6dcab73a - Add CefFocusHandler::OnFocusedNodeChanged() notification (issue #379).
- Add CefDOMNode::IsFormControlElement() and CefDOMNode::GetFormControlElementType() methods (issue #379).
- Add space bar handling example to cefclient.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@318 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-10-14 12:40:40 +00:00
Marshall Greenblatt 69331e2064 - Update to Chromium revision 105051.
- Enable use of clang compiler on Mac.
- Add CefSettings.threaded_compositing_enabled option.
- Begin converting NewRunnable usage to base::Bind.
- Avoid assertion when an empty message is passed to OnConsoleMessage().
- Add an "--allow-partial" option to the make_distrib tool.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@316 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-10-12 19:09:15 +00:00
Marshall Greenblatt 1c2f102bb0 Add a FocusSource parameter to OnSetFocus() that indicates where the focus request is originating from (issue #369).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@306 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-10-07 10:30:10 +00:00
Marshall Greenblatt 7a3154c9ba Pass the originating browser to CefSchemeHandlerFactory::Create() (issue #362).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@305 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-10-07 10:13:04 +00:00
Marshall Greenblatt 6b134b4def - Add CefSettings.local_storage_quota and session_storage_quota options for setting localStorage and sessionStorage quota limits respectively (issue #348).
- Add Cef*Storage() functions and CefStorageVisitor interface for accessing localStorage and sessionStorage data via the native API (issue #361).
- Add a "cache_path" command-line flag option to cef_unittests for running the unit tests with a cache path value (issue #368).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@302 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-10-06 13:34:47 +00:00
Marshall Greenblatt 50b909a417 - Add a CefBrowser::ClearHistory() method for clearing back/forward browsing history (issue #352).
- Move RegisterDevToolsSchemeHandler() call to CefContext::Initialize() to fix assertion when using multi-threaded message loop on Windows.
- Add new NavigationTest.History test.
- Remove unused RequestTest.HistoryNav test.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@301 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-10-04 11:49:36 +00:00
Marshall Greenblatt 0fc3af0dbb Update to Chromium revision 102269.
- Disable use of clang on Mac for the time being.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@292 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-09-23 00:16:03 +00:00
Marshall Greenblatt 32402b2287 - Fix memory leaks in V8 usage (issue #323).
- Improve performance of V8 string conversions (issue #323).
- Add V8 performance test to cefclient (issue #323).
- Add the ability to return exceptions from V8 accessors (issue #327).
- Return undefined instead of null from a V8 handler if no return value is specified (issue #329).


git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@291 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-09-20 20:41:54 +00:00
Marshall Greenblatt f636510101 Issue #307:
- Add a CefBrowser::HasDocument() method that tests if a document has been loaded in the browser window.
- Modify ClientHandler::GetDownloadHandler() to demonstrate how to close a download popup window.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@282 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-08-30 16:20:27 +00:00
Marshall Greenblatt 1b1255c92d - Add CefDragHandler to support examination of drag data and cancellation of drag requests (issue #297).
- Mac: Fix dragging of URLs by providing a default image if no drag image is supplied.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@279 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-08-22 01:31:55 +00:00
Marshall Greenblatt 88a46e0b44 Support asynchronous continuation of custom scheme handler responses (issue #269).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@278 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-08-17 01:55:07 +00:00
Marshall Greenblatt 512b864639 - Clean up implementation of modal window callbacks (issue #281).
- Fix CefBrowser::GoForward documentation typo (issue #291).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@271 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-08-03 15:35:51 +00:00
Marshall Greenblatt 572f9f13d6 Fix OnResourceResponse spelling error (issue #270).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@260 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-07-02 17:57:00 +00:00
Marshall Greenblatt 02d6f3e384 Add support for modal dialogs (issue #250).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@255 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-06-14 15:09:55 +00:00
Marshall Greenblatt 63aa102a6a Improvements to scheme handling (issue #246).
- Break CefRegisterScheme into separate CefRegisterCustomScheme and CefRegisterSchemeHandlerFactory functions.
- Allow registration of handlers for built-in schemes.
- Supply scheme and request information to CefSchemeHandlerFactory::Create.
- Add CrossOriginWhitelist functions for bypassing the same-origin policy with both built-in and custom standard schemes.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@247 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-05-27 16:20:32 +00:00
Marshall Greenblatt 387b24e382 Remove the url check from life_span_handler_on_before_popup because the URL will be NULL when clicking a link with target="_blank" (issue #247).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@244 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-05-25 13:20:20 +00:00
Marshall Greenblatt 73f4d5a5e6 Add OnResourceReponse and CefContentFilter for viewing and filtering response content (issue #241).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@243 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-05-23 23:39:07 +00:00
Marshall Greenblatt 338b9c0cc9 Add Date type support to CefV8Value (issue #190).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@242 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-05-23 17:43:53 +00:00
Marshall Greenblatt dbe8de277f Significant API changes for issue #218:
- Replace CefHandler with a new CefClient interface and separate handler interfaces.
- Add support for virtual inheritance to allow multiple CefBase parented interfaces to be implemented in the same class.
- Replace CefThreadSafeBase with IMPLEMENT_* macros to support virtual inheritance and to only provide locking implementations when needed.
- Move the CefBrowserSettings parameter from CefInitialize to CreateBrowser.
- Add a new cef_build.h header that provides platform-specific and OS_* defines.
- Introduce the use of OVERRIDE to generate compiler errors on Windows if a child virtual method declaration doesn't match the parent declaration.
- Use NDEBUG instead of _DEBUG because _DEBUG is not defined on Mac. (issue #240).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@235 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-05-20 14:42:25 +00:00
Marshall Greenblatt 4bc8e47fad Add CefDOMNode::IsSame() method.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@228 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-05-10 14:17:32 +00:00
Marshall Greenblatt 2669a3b6c3 - Don't load URLs twice for popup windows (issue #215).
- Make the |url| parameter to HandleBeforeCreated constant (issue #215).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@227 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-05-10 13:55:06 +00:00
Marshall Greenblatt 06718b4049 Allow custom schemes to cause redirects (issue #98).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@223 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-04-21 18:17:46 +00:00
Marshall Greenblatt f18083e5df - Add support for returning an HTTP status code from HandleBeforeResourceLoad and custom scheme handlers via the CefResponse class (issue #202).
- Add unit tests for custom scheme handlers (issue #221).
- Fix reversed enable/disable of stop and reload buttons in cefclient.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@222 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-04-21 16:46:16 +00:00
Marshall Greenblatt a66c733ab6 - Add cookie get/set support (issue #88).
- Move classes that extend structures to cef_types_wrappers.h and implement using the new CefStructBase template class.
- Change the HandleProtocolExecution |allow_os_execution| argument to pass by reference to maintain consistency with other API functions.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@217 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-04-09 01:05:30 +00:00
Marshall Greenblatt 7ec29b5d87 - Add support for entering a V8 context asynchronously (issue #203).
- Add support for V8 accessors (issue #203).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@215 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-04-07 01:58:49 +00:00
Marshall Greenblatt ff983a6e72 - Add off-screen rendering support on Windows. This involves a number of new CefBrowser and CefHandler methods. See the "Off-Screen Rendering Example" in cefclient for example usage.
- Add CefRunMessageLoop() for efficient message loop usage and modify cefclient to use it.
- Add CefHandler::HandleNavStateChange() for back/forward state notifications and modify cefclient to use it.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@208 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-03-24 20:36:47 +00:00
Marshall Greenblatt 327ad9d9de - HandleAddressChange and HandleTitleChange will always be called for the main frame and only the main frame (issue #200).
- The |frame| parameter to HandleLoadStart and HandleLoadEnd will always be non-empty. The CefFrame::IsMain() method can be used to check if the notification is for the main frame. The |isMainContent| parameter has been removed.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@202 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-03-08 19:33:18 +00:00
Marshall Greenblatt 7b1166b18a - Respect the WS_VISIBLE flag when creating browser windows (issue #201).
- Add a CefBrowser::CloseBrowser() method.
- Add a TEST_REDIRECT_POPUP_URLS test to cefclient.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@200 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-03-08 01:07:47 +00:00
Marshall Greenblatt 60736ac4e0 Add support for accessing and modifying the DOM (issue #60).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@191 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-02-23 03:45:13 +00:00
Marshall Greenblatt 06a6f0ce7c Issue #188:
- Add a CefV8Context object and CefV8Value::ExecuteFunctionWithContext method to support asynchronous V8 ExecuteFunction callbacks.
- Add a CefFrame::GetBrowser() method.
- Ensure that V8 types are only referenced on the UI thread.
- Accept a empty |object| parameter to CefV8Value::ExecuteFunction.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@188 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-02-21 22:44:06 +00:00