Commit Graph

57 Commits

Author SHA1 Message Date
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 8d6c760bbd - Add support for running unit tests without multi-threaded message loop mode (issue #338).
- Mac: Fix unit test expectations.
- Mac: cef_time_t.day_of_week is not supported.


git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@448 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-12-30 20:55:16 +00:00
Marshall Greenblatt eff39b0f11 Update to Chromium revision 113143.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@426 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-12-16 14:51:10 +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 c422ab5aa8 Allow for cases where CefBrowserImpl::UIT_CreateBrowser() may fail (issue #322).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@336 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-10-21 21:00:59 +00:00
Marshall Greenblatt 561bb6956b Add support for transparency on Windows (issue #99).
- Enable the use of Skia instead of GDI for text rendering.
- Add a new CefWindowInfo::m_bTransparentPainting member.
- Add transparent popup window and off-screen rendering examples to cefclient.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@334 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-10-21 19:35:19 +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 d260f78cb2 Update to Chromium revision 100584.
- Add a new CefSettings.graphics_implementation option for using different GL implementations.
- Disable accelerated compositing by default due to multiple issues (issue #334, issue #335, issue #337).
- Eliminate the "patcher" project and perform all patching during GYP project generation.
- Fix references to non-existent files in cef.gyp.
- Move BrowserWebKitInit method implementations to a separate .cc file.
- Add support for Flash on Mac (issue #305).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@284 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-09-10 19:40:03 +00:00
Marshall Greenblatt 16e468bb8c - [mac] Add selector implementations for edit commands (issue #276).
- [mac] Don't generate character events for arrow key presses (issue #294).
- Call OnSetFocus when the browser view receives focus/becomes first responder (issue #314).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@281 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-08-27 18:41:21 +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 da210afca7 Update to Chromium revision 91424.
- Add tools/gyp_cef to satisfy grit_info.py module load requirement.
- Add skia_gpu.patch to work around skia/Angle/WebGL bug.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@263 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-07-03 00:03:30 +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 d757adb020 Don't call SetFocus(NULL) from WM_KILLFOCUS in CefBrowserImpl (issue #256).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@254 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-06-07 13:33:03 +00:00
Marshall Greenblatt ffec7e754a Restore keyboard focus on window activation (issue #256).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@252 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-06-06 15:14:35 +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 abfc77abd1 - Update to Chromium revision 85305.
- Use the angle library for GL support (issue #136).
- Add a workaround for the SyncRequestProxy deadlock problem (issue #192).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@233 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-05-16 16:56:12 +00:00
Marshall Greenblatt 71a6f6548b Update to Chromium revision 80310.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@213 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-04-05 16:17:33 +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 11b831119a Mac:
- Fix compile errors.
- Add support for creating hidden windows and TEST_REDIRECT_POPUP_URLS.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@201 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-03-08 03:54:50 +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 163f8d6db9 Update to Chromium revision 74933.
- CefRegisterPlugin now only supports a single mime type per registration.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@186 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-02-15 18:07:24 +00:00
Marshall Greenblatt d2ce65040e Do not activate the select list window on Windows (issue #169).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@179 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-02-01 15:37:47 +00:00
Marshall Greenblatt 83dd15925f Introduce cef_runnable.h and cef_tuple.h and perform further thread-related cleanup (issue #175).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@176 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-01-29 22:52:34 +00:00
Marshall Greenblatt 7f1694fb68 Improve thread safety and documentation and add support for thread-specific APIs (issue #175).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@174 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-01-29 01:42:59 +00:00
Marshall Greenblatt ca3a392c33 - Add developer tools support (issue #127).
- Send title change notifications generated after page content is done loading.
- Restore windows and bring to the front in BrowserWebViewDelegate::show().

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@168 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-01-25 18:37:27 +00:00
Marshall Greenblatt 890200a098 - Update to Chromium revision 70742.
- Fix crash when calling CefInitialize with extra_plugins_paths specified (issue #164).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@159 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-01-07 21:34:20 +00:00
Marshall Greenblatt e826c9b1a0 - Fix Mac compile errors due to string type changes (issue #146).
- Fix Windows crash due to string type changes (issue #147).
- Add missing svn:eol-style properties.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@149 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2010-11-23 14:46:01 +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 c629ac966f Mac:
- Complete basic functionality in libcef.
- Port cefclient and unittests.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@135 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2010-11-15 15:39:56 +00:00
Marshall Greenblatt c6be988e89 Add initial Mac implementation files.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@123 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2010-10-23 17:00:47 +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 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 79134a77f2 Check for a valid pointer in all places where GetWebView() and GetWebViewHost() are directly used in order to prevent potential crashes after WM_DESTROY is processed (issue #84).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@97 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2010-08-31 14:10:31 +00:00
Marshall Greenblatt e5e560c64a Update to Chromium rev 55388. Note that the Windows 7 SDK is now required to build Chromium.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@93 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2010-08-09 19:13:43 +00:00
Marshall Greenblatt 06ceab7447 - Use base::WaitableEvent for thread synchronization to eliminate Windows dependency.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@91 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2010-07-24 16:49:42 +00:00
Marshall Greenblatt 7ffa037988 - Move to a unified thread model for CEF based on the CEF2 implementation.
- Add the ability to post user-defined tasks for execution on CEF threads (issue #25).
- Update the CEF swap image.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@90 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2010-07-24 01:13:55 +00:00
Marshall Greenblatt 669244ca18 libcef: Update due to underlying chromium changes.
- Calling AddStandardScheme() is now required for custom scheme handlers due to GURL changes.
- Add '--no-circular-check' flag in cef_create_projects.bat to avoid unnecessary GYP failures.
- nphostapi.h moved to third_party/npapi/bindings directory.
- UTF functions moved to base/utf_string_conversions.h
- app/gfx directory moved to gfx
- Add simple cookie jar implementation.
- Enable WebGL support.


git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@72 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2010-03-29 17:53:26 +00:00
Marshall Greenblatt 23e155dca1 libcef: Update due to underlying chromium changes.
- WebKit API upstreamed requiring header include path changes.
- AppCache, Database and ResourceLoader updates.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@65 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2010-01-12 01:37:00 +00:00
Marshall Greenblatt 5186e4a223 libcef: Update due to underlying chromium changes.
- WebKit API changes.
- Add WebSocketStreamHandleBridge implementation.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@60 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2009-10-21 23:27:29 +00:00
Marshall Greenblatt faabcb28c5 - Remove the generated CEF project files from source control. Run cef_create_projects.bat in your working copy to generate them locally.
libcef:
- Use LPCWSTR instead of LPCTSTR in cef_win.h (issue #58).
- Fix return of document text in CefBrowserImpl::GetText() (issue #59).


git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@59 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2009-10-19 14:03:23 +00:00
Marshall Greenblatt 0800cba74d libcef: Update due to underlying chromium changes.
- More webkit API refactoring.
- Webkit GYP projects moved upstream.
- Add ImplementsThreadSafeReferenceCounting() for all classes that use runnable methods.
- Enable application cache and databases.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@51 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2009-10-03 01:36:52 +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 8635aeb5cf libcef:
- Fix a leak of CachedResource objects due to the Cache never being cleared (issue #15).
- Fix a crash when the main application exits while popup windows exist due to a race condition when deleting CefBrowser objects.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@49 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2009-09-26 01:22:33 +00:00
Marshall Greenblatt 51181e1004 libcef: Update due to underlying chromium changes.
- Reorganization of BrowserWebViewDelegate due to WebViewDelegate being separated into different interfaces.
- icu38 renamed to icu with related project and namespace changes.
- New implementation of BrowserAppCacheSystem that integrates with BrowserResourceLoaderBridge.
- New webkit_glue_plugins.patch for RegisterInternalPlugin() issue 173107. Manually reverting the webkit/glue/plugins directory may be necessary before building.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@42 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2009-09-17 16:56:32 +00:00
Marshall Greenblatt 65b06ebf66 libcef: Update due to underlying chromium changes.
- Printing fix was committed as Chromium rev 23338, so the patches are no longer required.
- Add a patch for plugin loading support that was broken in Chromium rev 23501.
- NPAPI::PluginList static methods are replaced with methods provided by the singleton instance.
- WebPreferences now has an Apply() method.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@35 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2009-08-20 17:53:30 +00:00
Marshall Greenblatt cbb3124475 libcef: Update due to underlying chromium changes.
- Modifications due to WebFrame moving from webkit/glue to webkit/api
- Remove the ATL dependency from browser_drag_delegate.cc
- Use scoped_refptr instead of scoped_ptr for BrowserWebViewDelegate pointers in CefBrowserImpl.
- Allow cancellation of redirects before they're sent in browser_resource_loader_bridge.cc
- Enable remote fonts, local storage and session storage in context.cc
- Add vsprops files to the libcef project that used to exist in the webkit/build directory

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@34 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2009-08-13 17:23:08 +00:00
Marshall Greenblatt ea3a49abe1 Update all files to use Windows CRLF (\r\n) line endings (issue #45).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@33 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2009-07-24 19:11:01 +00:00
Marshall Greenblatt 6a7b6d5038 libcef: Update due to underlying chromium changes.
- Add the printing project and delete duplicated files from the CEF printing directory.
- Add media-related projects and support for <video> and <image> tags.
- Use WebKit::WebHTTPBody instead of net::UploadData for web requests.
- Numerous changes due to continued cleanup of webkit/glue and webkit/api/public.
- Use a separate BrowserWebViewDelegate instance for popup windows.

libcef:
- Add support for printing to file.
- Use WebFrame::GetFullPageHtml() instead of webkit_glue::GetDocumentString().
- Parse extra header values in RequestProxy for passing to CefHandler::HandleBeforeResourceLoad().
- Add urlmon.lib dependency in libcef.vsprops.

tools:
- Add the patch application tool (patcher.py).

patch:
- New project for applying required patches to the Chromium source tree (issue #47).
- Add webkit_glue.patch for http://codereview.chromium.org/160004

cefclient:
- Add new test for submitting and handling requests.
- Don't change navigation button state for popup windows.
- Fix problem on Vista where the string returned by EM_GETLINE is not NULL-terminated.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@32 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2009-07-24 18:37:00 +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