Commit Graph

14 Commits

Author SHA1 Message Date
Marshall Greenblatt a0a0ae326c libcef:
- Initialize WebKit in the UI thread to avoid asserts due to WTF::isMainThread() returning false. (Issue #21, Issue #24).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@27 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2009-06-01 14:12:34 +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 52196814b2 libcef: Update due to underlying chromium changes.
- Add WebKit-based printing support.
- Add re-sizable text area support.
- In release build, only log error messages and above.
- Modify cef.sln to point at new file locations for dynamically generated project files.
- More webkit_glue and webkit_init reorganization.
- Movement towards using Web* basic types.
- Include WebKit headers using the full path.
- Add app cache support in ResourceLoaderBridge.
- Method/member changes in WebViewDelegate.
- Simplify code in PrintSettings.
- Remove the WM_DESTROY and WM_NCDESTROY cases in WebWidgetHost::WndProc() to avoid a crash when closing a browser window via a DestroyWindow() call on a parent window.

libcef_dll:
- Add webkit_resources.rc and webkit_strings_en-US.rc to the project in order to support localized strings.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@23 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2009-04-28 00:29:14 +00:00
Marshall Greenblatt 3f5a01e969 libcef: Update due to underlying chromium changes.
- Add unique IDs for browser instances because ResourceLoaderBridge::Create() now receives a routing ID instead of a WebFrame pointer.  The unique ID is assigned to a browser in CefContext::AddBrowser() and attached to a request in  BrowserWebViewDelegate::WillSendRequest().
- Add upload progress notification support to resource loader bridge.
- WebFrame::ExecuteJavaScript() changed to WebFrame::ExecuteScript().
- More functions moved into webkit_glue::WebKitClientImpl.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@22 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2009-03-24 15:06:38 +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 3aa0d4c0fa libcef:
- Add support for specifying the cache location (file path or in-memory) via a new 'cache_path' parameter to CefInitialize().
- Create popup windows with a NULL parent window handle so that they don't stay on top of the original application window.

cefclient:
- Properly handle address change and title change for popup windows.
- Add a test for creating a popup window.
- Define TEST_SINGLE_THREADED_MESSAGE_LOOP by default.


git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@18 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2009-03-06 19:20:44 +00:00
Marshall Greenblatt a5bdcddd1e libcef: Update due to underlying chromium changes.
- Fix problem displaying select lists due to ordering of focus events in WebWidgetHost::MouseEvent()  (issue #17).
- Add new BrowserWebKitInit class and related webkit_glue changes.
- Add webkit_glue::InitializeTextEncoding() function called from the main thread in CefContext::Initialize() to avoid an assert in  third_party\WebKit\WebCore\platform\text\TextEncodingRegistry.cpp buildBaseTextCodecMaps().
- V8NPObject::v8_object member renamed to V8NPObject::v8Object.
- Add WebKit project dependency.

libcef_dll:
- Fix crash when creating a popup window due to not duplicating the m_windowName member in cpptoc\handler_cpptoc.cc handler_handle_before_created().

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@17 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2009-03-05 17:14:16 +00:00
Marshall Greenblatt 577b8387cf libcef: Update due to underlying chromium changes.
- Add simple_clipboard_impl.cc to the libcef project because it is no longer included as part of the webkit/glue project.
- Add the FindProxyForUrl() function to browser_resource_loader_bridge.cc.
- NPAPI function pointers are now stored in a structure member of NPAPI::PluginVersionInfo.
- Change gfx::NativeWindow to gfx::NativeView in webview_host and webview_host.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@14 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2009-02-04 22:17:38 +00:00
Marshall Greenblatt 15f6c270fa libcef:
- Allow execution of CEF using the current application's message loop.
tests/cefclient:
- Support running of the cefclient application using a single message loop via the TEST_SINGLE_THREADED_MESSAGE_LOOP define.

Issue #1, Suggested implementation by: vridosh

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@13 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2009-01-29 18:53:17 +00:00
Marshall Greenblatt 73027bb5a9 libcef: Update due to underlying chromium changes.
- External plugin loading support is now provided by webkit/glue/plugins so the libcef/plugins directory has been eliminated, with related changes.
- Modify the CefPluginInfo structure to use a more friendly data organization format.
- Remove CefUnregisterPlugin() as it is no longer functional.
- WebViewDelegate::ShowContextMenu() now receives the menu type as a bit-masked flag, so adjust the API accordingly.
- WebViewDelegate::GetContainingView() now returns a gfx::NativeViewId instead of a gfx::NativeView.
- Modify BrowserRequestContext because GetUserAgent() is now a virtual method of URLRequestContext.
- The data buffer in RequestProxy is now a net::IOBuffer.
- Add webkit_glue::GetScreenInfo().

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@10 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2009-01-29 16:36:37 +00:00
Marshall Greenblatt a18491fbd5 libcef: Update due to underlying chromium changes.
- Glue now depends on WebCore_prebuild (and not WebCore).
- WebCore depends on WebCore_prebuild.
- libxml_config and libxslt_config projects are gone.
- Initialize the global CommandLine object in ThreadHandlerUI().
- Changes to WebPluginDelegate.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@8 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2009-01-21 21:57:19 +00:00
Marshall Greenblatt a08ad505ad libcef:
- Add support for embedded netscape-style plugins.
- Add new webkit_glue VisitedLinkHash() and IsLinkVisited() functions required by underlying chromium changes.
cefclient:
- Add sample netscape-style plugin implementation and related Plugin item on the Tests menu.
- Increase the speed of the update timer so that buttons refresh closer to real-time.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@5 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2008-12-14 04:49:18 +00:00
Marshall Greenblatt d0639c9f4e libcef: Modifications due to underlying chromium changes.
- Change gfx::WindowHandle to gfx::NativeWindow and gfx::ViewHandle to gfx::NativeView.
- Add proxy support to BrowserWebViewDelegate.
- Add webkit\port\platform\graphics\skia path to libcef_webkit_includes.vsprops due to relocation of PlatformContextSkia.h.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@4 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2008-12-13 18:42:19 +00:00
Marshall Greenblatt 9c58b671a8 Initial commit of libcef and cefclient projects.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
2008-12-02 15:48:14 +00:00