Commit Graph

25 Commits

Author SHA1 Message Date
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 c89349cf5a Pass HTTP status code to HandleLoadEnd (issue #177).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@173 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-01-28 18:02:16 +00:00
Marshall Greenblatt e8436018ef Add CefHandler::HandleStatus for status messages, mouse over URLs and keyboard focus URLs (issue #61).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@169 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-01-26 15:12:49 +00:00
Marshall Greenblatt 013c008775 Add HandleProtocolExecution event for unregistered protocols (issue #155).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@163 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-01-12 01:33:03 +00:00
Marshall Greenblatt bf02152631 - Update to Chromium revision 71081.
- Add a new |isMainContent| boolean argument to HandleLoadStart and HandleLoadEnd (issue #166).
- Only call HandleAddressChange and HandleTitleChange for the main content load (issue #166).
- Pass the URL for new popup windows to HandleBeforeCreated (issue #5).
- cefclient: Add a test for XMLHttpRequest.
- cefclient: Size popup windows in ClientHandler::HandleBeforeCreated.


git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@162 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-01-11 23:46:14 +00:00
Marshall Greenblatt 874c73b1e1 Add CefHandler::HandleAuthenticationRequest for handling authentication requests (issue #150).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@158 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-01-07 01:24:17 +00:00
Marshall Greenblatt 7d60642638 Introduce CefString and cef_string_t implementations that support string type conversions and customization of the API string type (issue #146).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@145 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2010-11-22 17:49:46 +00:00
Marshall Greenblatt 1e1c2ad8d7 Add global and per-browser settings (issue #145).
This exposes the following new capabilities:
- Ability to disable drag & drop from other windows.
- Ability to specify additional plugin search paths.
- Ability to customize WebPreferences values, including enabling cross-site scripting.
- Ability to set User-Agent or product version.
- Ability to set default locale.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@144 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2010-11-18 21:05:25 +00:00
Marshall Greenblatt 6ad535823a Expose popup window feature information with CefPopupFeatures argument to CefHandler::HandleBeforeCreated (issue #135).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@139 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2010-11-16 16:45:49 +00:00
Marshall Greenblatt 9aa285ac8d - Add the CefHandler::HandleDownloadResponse() method and CefDownloadHandler class to support file download in response to 'Content-Disposition' headers (issue #6).
- Fix parsing error in cef_parser.py due to space between angle brackets in template type definitions, and add support for int64 type.
- Update copyright messages in Python and generated files.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@117 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2010-10-16 19:10:11 +00:00
Marshall Greenblatt 46b831304c Set eol-style property on all files. Future commits will use the subversion auto-props configuration at http://src.chromium.org/viewvc/chrome/trunk/tools/buildbot/slave/config
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@109 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2010-10-03 21:04:50 +00:00
Marshall Greenblatt e8cc5669f0 - Fix bug in CefV8Value handling of weak references. (issue #72)
- Reintroduce support for CefHandler::HandleJSBinding(). (issue #72)

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@100 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2010-08-31 17:52:34 +00:00
Marshall Greenblatt d51d871a52 Allow customization of print options via CefHandler::HandlePrintOptions() (issue #112).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@98 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2010-08-31 15:19:33 +00:00
Marshall Greenblatt c439ed160f - Add CefHandler::HandleTooltip and default tooltip implementation (issue #61).
- Add Common Controls to cefclient manifest because it's required for the default tooltip implementation.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@96 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2010-08-30 20:54:13 +00:00
Marshall Greenblatt 0e29c2e840 - Add find in page support.
- Fix loading of resources from libcef.dll (Issue 76).
- Fix leak of CefMessageLoopForUI object when not in multi threaded message loop mode.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@88 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2010-07-19 22:19:30 +00:00
Marshall Greenblatt de4cee4415 - Add CefHandler::HandleConsoleMessage callback for handling console messages (issue #90).
- Normalize newlines in browser_webkit_init.h.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@84 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2010-06-22 14:49:03 +00:00
Marshall Greenblatt 6a0f9a6d40 Eliminate the CefBrowser::HandleJSBinding() method to avoid memory leaks (issue #72).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@73 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2010-04-07 14:45:40 +00:00
Marshall Greenblatt 606b342147 Add support for intercepting key events (Issue #63, patch by cpinfold.joinerysoft)
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@70 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2010-02-03 19:25:11 +00:00
Marshall Greenblatt d7f7f45147 Move to GYP-based project file generation (issue #48).
- Add cef_create_projects.bat to generate the CEF project files.
- Change include paths to be relative to the root CEF directory.
- Add patch_build configuration and build.patch to modify the Chromium build system for required CEF dependencies.
- Remove old .vcproj and .vsprops files.
- Eliminate use of precompiled headers.
- Commit generated project files (these will go away in the near future).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@50 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2009-10-02 17:59:38 +00:00
Marshall Greenblatt 8a04c0f0c1 - Add the CEF translator tool for generating the C API header and cpptoc/ctocpp wrapper files.
- Update to files generated by the CEF translator tool.  This introduces minor changes in cef.h and cef_capi.h for naming and translation consistency.
- C API global function names that were previously in the cef_create_classname*() format are now in the cef_classname_create*() format.
- cef_frame_t::get_frame_names() now returns void instead of size_t.
- cef_frame_t::execute_javascript() has been renamed to cef_frame_t::execute_java_script().
- The 'arguments' attribute of CefV8Handler::Execute() and CefV8Value::ExecuteFunction() is now const.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@30 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2009-06-20 22:09:28 +00:00
Marshall Greenblatt d953faf7f8 Add a CefHandler::HandleSetFocus() callback that gets called when the browser control or a child widget requests focus. This callback gives the client an opportunity to cancel the focus change. (Issue #34, initial patch by tux316).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@29 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2009-06-16 13:52:35 +00:00
Marshall Greenblatt c295931b1e - Move frame-related methods from CefBrowser into a new CefFrame class.
- Add CefBrowser::Get*Frame() methods for retrieving the appropriate CefFrame instance.
- Add a CefFrame attribute to CefHandler callback methods where appropriate.
- Add support for V8 JavaScript extensions and values via CefV8Value and CefV8Handler.  Native C++ and user-defined JavaScript object hierarchies may now be created and accessed using the CEF API.
- Remove the CefHandler and CefVariant classes and related CefBrowser methods that have been obsoleted by the addition of CEF V8 support.
- Add the CefRegisterExtension() function for registering system-wide V8 extensions.
- Add the CefHandler::HandleJSBinding() callback method for attaching V8 values to the global frame JavaScript object.  This method replaces the previous technique of calling CefBrowser::AddJSHandler().
- Add new wrapper template methods for simplifying DLL wrapper implementations.
- Move cef_string* files from libcef_dll to libcef so that projects can link libcef statically without errors.
- Fix crashes when CEF exits due to object constructors being executed on non-UI threads if the application is closed while a page is still loading.
- Update the cefclient project to reflect changes and demonstrate the new APIs.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@26 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2009-05-28 00:31:21 +00:00
Marshall Greenblatt 08a19d5384 libcef:
- Add the CefBrowser::CreateBrowserSync() method for synchronously creating a browser instance. (Issue #13, Suggested implementation by: vridosh)
- Add CefBrowser::SetFocus() and CefHandler::HandleTakeFocus() methods to deal with keyboard focus changes. (Issue #13, Suggested implementation by: vridosh)
- Add CefHandler::HandleBeforeWindowClose() to perform actions immediately before the browser window is destroyed. (Issue #13, Suggested implementation by: vridosh)
- Replace windows-specific address resolution code with GURL() in CefBrowserImpl::UIT_LoadURLForRequest(), CefBrowserImpl::UIT_LoadHTML() and CefBrowserImpl::UIT_LoadHTMLForStreamRef(), and move the methods from browser_impl_win.cc to browser_impl.cc. (Issue #13, Suggested implementation by: vridosh)
- Fix reference counting bugs, class definition problems and CefContext::Shutdown() bug resulting in Cef object leaks. (Issue #15)
- Add WebKit dependancy to libcef project.
- Add basic object count debugging for CefCToCpp and CefCppToC classes.

cefclient:
- Initialize the strPtr parameter to avoid URLs suffixed with garbage. (Issue #13, Fix by: vridosh)

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@19 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2009-03-08 02:26:16 +00:00
Marshall Greenblatt 35e21da884 Add DLL build support and wrapper that allows clients to transparently switch between static and dynamic CEF builds.
- The libcef project now builds libcef_static.lib instead of libcef.lib.
- The libcef_dll project builds libcef.lib and libcef.dll.  This DLL exports the new CEF C API defined in cef_capi.h, cef_nplugin_capi.h, cef_string.h and cef_string_map.h.
- The libcef_dll_wrapper project builds libcef_dll_wrapper.lib.  This static library wraps the new C API calls with an implementation of the CEF C++ interface as defined in cef.h and cef_nplugin.h.
- The cefclient project now uses the DLL instead of the static library.
- Type definitions have been moved from cef.h to cef_types.h so that they can be shared by both cef.h and cef_capi.h.  This change required some enumeration member name modifications throughout the code base.
- Fixed variable naming inconsistencies.
- Added CefVariant::GetArraySize() method and _NPN_ArrayObjectGetVectorSize() function.
- Remove the ProjectSection(WebsiteProperties) sections from cef.sln to improve VS2005 performance.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@16 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2009-03-05 01:10:06 +00:00