Commit Graph

177 Commits

Author SHA1 Message Date
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 9a69e96950 Add support for navigator.onLine and online/offline window events (issue #234).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@234 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-05-18 15:49:52 +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 2c0f941830 - Explicitly load the URL after calling UIT_CreatePopupWindow (issue #215).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@231 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-05-10 16:41:41 +00:00
Marshall Greenblatt 092c4e4a9f Force Flash and Silverlight plugins to use opaque (windowless) mode when rendering off-screen (issue #214).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@230 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-05-10 15:55:18 +00:00
Marshall Greenblatt 82a5bb1259 Force Flash and Silverlight plugins to use opaque (windowless) mode when rendering off-screen (issue #214).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@229 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-05-10 15:47:46 +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 5923d34661 Handle the WM_GETDLGCODE message on Windows so that the browser receives all keyboard input when used as a dialog window (issue # 223).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@226 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-05-09 15:21:12 +00:00
Marshall Greenblatt bc438a5022 Fix plugin enabled check in ShouldDownload (issue #227).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@225 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-05-09 15:12:13 +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 1f7a4b4566 Mac:
- Implement the WebExternalPopupMenu interface to fix select popup menu display.
- Remove the kCFRunLoopBeforeTimers option from CFRunLoopObserverCreate to reduce CPU usage (issue #211).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@218 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-04-09 16:54:59 +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 0419b51036 Make modal popup windows behave the same as non-modal popup windows (issue #216).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@216 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-04-07 18:51:22 +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 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 029fbc8865 Fix incorrect screen size information (issue #189).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@212 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-03-25 19:53:01 +00:00
Marshall Greenblatt b8c655fe10 Fix bug in WebWidgetHost::DidInvalidateRect().
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@211 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-03-25 18:24:36 +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 658c53e87c Add support for retrieving values from DOM form elements.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@207 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-03-24 15:49:41 +00:00
Marshall Greenblatt 9bd6ea0c0a Add a history entry when navigating to anchors within the same page (issue #207).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@206 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-03-22 23:53:10 +00:00
Marshall Greenblatt c480b409cd Fix next browser ID value reset (issue #204).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@205 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-03-22 23:11:26 +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 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 1f01d6b2a8 Allow registration of non-standard schemes (issue #195).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@199 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-03-04 17:56:01 +00:00
Marshall Greenblatt 377bd880b4 Add persistent storage support for cookie data (issue #193).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@196 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-03-02 02:25:01 +00:00
Marshall Greenblatt 14f2536b27 Add drag and drop support for Windows (issue #140).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@194 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-02-28 00:33:11 +00:00
Marshall Greenblatt 6ca5cff06c Add asserts to verify correct DOM object usage.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@192 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-02-23 14:56:10 +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
Marshall Greenblatt 42846e6e31 Fix Mac compile error.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@187 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-02-16 03:19:07 +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 44ca592cff - Add missing files.
- Fix Mac compile errors.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@185 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-02-10 01:17:54 +00:00
Marshall Greenblatt a125c0d964 - Add CefWebURLRequest implementation (issue #51).
- Default new CefRequest objects to the "GET" method.
- Send URL and title change notifications for CefFrame::LoadString().
- Disable the RequestTest.HistoryNav test which requires WebKit patches.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@184 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-02-09 22:04:35 +00:00
Marshall Greenblatt af12107c33 Mac: Use NSView* instead of void* for cef_window_handle_t.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@183 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-02-02 16:30:24 +00:00
Marshall Greenblatt 02bd128046 Mac:
- Add support for popup windows.
- Fix select list bugs.
- Add additional tests to cefclient.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@182 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-02-02 02:25:32 +00:00
Marshall Greenblatt 5911e7027c The |isMainContent| parameter to HandleLoadEnd should be true for reloads (issue #183).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@181 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-02-01 16:52:32 +00:00
Marshall Greenblatt 7cd53aea4d Fix a crash when closing the browser window with WebKit Inspector open (issue #182).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@180 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-02-01 15:45:38 +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 64d9d8294c Add support for creating and parsing URLs (issue #181).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@177 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-01-31 20:47:04 +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 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 2ec061c1df Fix ParseDialogResultEx to use correct page range variables (issue #179).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@172 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-01-27 18:46:19 +00:00
Marshall Greenblatt 9eb1744d83 Mac:
- Fix compile error (issue #176).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@170 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-01-26 23:54:54 +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 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 c9b8e88dd9 Add zoom support (issue #116).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@167 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2011-01-25 15:34:50 +00:00