From 0a98edff56bbd6141e21fa9e5442c38e7e97e0b4 Mon Sep 17 00:00:00 2001 From: Marshall Greenblatt Date: Fri, 15 May 2009 15:09:51 +0000 Subject: [PATCH] libcef: - Fix ASSERT in CefBrowserImpl::UIT_GetPagesCount() when no default printer is configured (Issue #20). - Remove non-existent WebFrame objects while iterating over the bound object list in CefJSContainer::BindToJavascript(). WebFrame objects are destroyed when navigating from a page with more frames to a page with less frames. If we don't remove the non-existent frames they will remain in the list until the browser window is destroyed. - Don't call UIT_* functions from class destructors as destruction may occur on a different thread. libcef: Update due to underlying chromium changes. - Header file locations changed from third_party/WebKit/WebKit to webkit/api as a result of WebKit unforking. - Project file locations changed due to GYP now being used for WebKit builds. - Add simple_clipboard_impl.cc in the libcef directory because it has been moved from webkit/glue to test_shell. - Changes related to navigation. - New parameters added to WebViewDelegate methods. libcef_dll: Update due to underlying chromium changes. - webkit_resources.rc and webkit_strings_en-US.rc moved from grit_derived_sources to obj/global_intermediate/webkit. git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@24 5089003a-bbd8-11dd-ad1f-f1f9622dbc98 --- CHROMIUM_BUILD_COMPATIBILITY.txt | 1 + cef.sln | 139 ++++++++---------------- libcef/browser_drag_delegate.cc | 2 +- libcef/browser_drop_delegate.cc | 4 +- libcef/browser_impl.cc | 7 +- libcef/browser_impl_win.cc | 9 +- libcef/browser_navigation_controller.cc | 21 +--- libcef/browser_navigation_controller.h | 10 +- libcef/browser_request_context.cc | 5 +- libcef/browser_webkit_glue.cc | 1 - libcef/browser_webkit_glue_win.cc | 5 +- libcef/browser_webkit_init.h | 10 +- libcef/browser_webview_delegate.cc | 20 ++-- libcef/browser_webview_delegate.h | 9 +- libcef/browser_webview_delegate_win.cc | 6 +- libcef/jscontainer.cc | 33 +++++- libcef/libcef.vcproj | 28 +---- libcef/libcef.vsprops | 2 +- libcef/printing/page_range.cc | 2 +- libcef/simple_clipboard_impl.cc | 57 ++++++++++ libcef/webwidget_host.cc | 10 +- libcef_dll/libcef_dll.vcproj | 4 +- 22 files changed, 190 insertions(+), 195 deletions(-) create mode 100644 libcef/simple_clipboard_impl.cc diff --git a/CHROMIUM_BUILD_COMPATIBILITY.txt b/CHROMIUM_BUILD_COMPATIBILITY.txt index 87c825337..36645868b 100644 --- a/CHROMIUM_BUILD_COMPATIBILITY.txt +++ b/CHROMIUM_BUILD_COMPATIBILITY.txt @@ -30,3 +30,4 @@ Date | CEF Revision | Chromium Revision 2009-03-09 | /trunk@21 | /trunk@11252 2009-03-24 | /trunk@22 | /trunk@11768 2009-04-27 | /trunk@23 | /trunk@14651 +2009-05-15 | /trunk@24 | /trunk@16080 diff --git a/cef.sln b/cef.sln index 04ef42d14..697f8c4ff 100644 --- a/cef.sln +++ b/cef.sln @@ -2,32 +2,36 @@ Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebKit (readonly)", "WebKit (readonly)", "{1088577A-0C49-4DE0-85CD-B68AD0BE55AA}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCore", "..\webkit\build\WebCore\WebCore.vcproj", "{1C16337B-ACF3-4D03-AA90-851C5B5EADA6}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "webcore", "..\webkit\WebCore.vcproj", "{1C16337B-ACF3-4D03-AA90-851C5B5EADA6}" ProjectSection(ProjectDependencies) = postProject + {2E2D3301-2EC4-4C0F-B889-87073B30F673} = {2E2D3301-2EC4-4C0F-B889-87073B30F673} + {C564F145-9172-42C3-BFCB-6014CA97DBCD} = {C564F145-9172-42C3-BFCB-6014CA97DBCD} {6EAD4A4B-2BBC-4974-8E45-BB5C16CC2AC9} = {6EAD4A4B-2BBC-4974-8E45-BB5C16CC2AC9} - {2F7EDFA2-EE27-4D83-8454-9EFBD5779203} = {2F7EDFA2-EE27-4D83-8454-9EFBD5779203} - {1444235E-0E97-4C80-A73E-EE73F3706C32} = {1444235E-0E97-4C80-A73E-EE73F3706C32} - {2E2D3301-2EC4-4C0F-B889-87073B30F673} = {2E2D3301-2EC4-4C0F-B889-87073B30F673} + {CD9CA56E-4E94-444C-87D4-58CA1E6F300D} = {CD9CA56E-4E94-444C-87D4-58CA1E6F300D} + {238CE175-76CE-4A25-A676-69D115885601} = {238CE175-76CE-4A25-A676-69D115885601} + {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {AA8A5A85-592B-4357-BC60-E0E91E026AF6} + {21E22961-22BF-4493-BD3A-868F93DA5179} = {21E22961-22BF-4493-BD3A-868F93DA5179} + {EF5E94AB-B646-4E5B-A058-52EF07B8351C} = {EF5E94AB-B646-4E5B-A058-52EF07B8351C} + {FC0E1FD0-5DD7-4041-A1C9-CD3C376E4EED} = {FC0E1FD0-5DD7-4041-A1C9-CD3C376E4EED} + {F9810DE8-CBC3-4605-A7B1-ECA2D5292FD7} = {F9810DE8-CBC3-4605-A7B1-ECA2D5292FD7} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Port", "..\webkit\build\port\port.vcproj", "{5597AD47-3494-4750-A235-4F9C2F864700}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glue", "..\webkit\glue.vcproj", "{C66B126D-0ECE-4CA2-B6DC-FA780AFBBF09}" ProjectSection(ProjectDependencies) = postProject - {2F7EDFA2-EE27-4D83-8454-9EFBD5779203} = {2F7EDFA2-EE27-4D83-8454-9EFBD5779203} - {2E2D3301-2EC4-4C0F-B889-87073B30F673} = {2E2D3301-2EC4-4C0F-B889-87073B30F673} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Glue", "..\webkit\glue\glue.vcproj", "{C66B126D-0ECE-4CA2-B6DC-FA780AFBBF09}" - ProjectSection(ProjectDependencies) = postProject - {1444235E-0E97-4C80-A73E-EE73F3706C32} = {1444235E-0E97-4C80-A73E-EE73F3706C32} {60B43839-95E6-4526-A661-209F16335E0E} = {60B43839-95E6-4526-A661-209F16335E0E} - {2F7EDFA2-EE27-4D83-8454-9EFBD5779203} = {2F7EDFA2-EE27-4D83-8454-9EFBD5779203} {0B469837-3D46-484A-AFB3-C5A6C68730B9} = {0B469837-3D46-484A-AFB3-C5A6C68730B9} + {326E9795-E760-410A-B69A-3F79DB3F5243} = {326E9795-E760-410A-B69A-3F79DB3F5243} + {5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65} = {5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65} + {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} {2E2D3301-2EC4-4C0F-B889-87073B30F673} = {2E2D3301-2EC4-4C0F-B889-87073B30F673} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "skia", "..\skia\skia.vcproj", "{CD9CA56E-4E94-444C-87D4-58CA1E6F300D}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTF", "..\webkit\build\JavaScriptCore\WTF.vcproj", "{AA8A5A85-592B-4357-BC60-E0E91E026AF6}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wtf", "..\webkit\WTF.vcproj", "{AA8A5A85-592B-4357-BC60-E0E91E026AF6}" + ProjectSection(ProjectDependencies) = postProject + {2E2D3301-2EC4-4C0F-B889-87073B30F673} = {2E2D3301-2EC4-4C0F-B889-87073B30F673} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite", "..\third_party\sqlite\sqlite.vcproj", "{6EAD4A4B-2BBC-4974-8E45-BB5C16CC2AC9}" ProjectSection(ProjectDependencies) = postProject @@ -62,12 +66,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libxslt", "..\third_party\l {F9810DE8-CBC3-4605-A7B1-ECA2D5292FD7} = {F9810DE8-CBC3-4605-A7B1-ECA2D5292FD7} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "V8Bindings", "..\webkit\build\V8Bindings\V8Bindings.vcproj", "{625A8F11-2B4E-45B4-BD99-C6D629C606C0}" - ProjectSection(ProjectDependencies) = postProject - {2E2D3301-2EC4-4C0F-B889-87073B30F673} = {2E2D3301-2EC4-4C0F-B889-87073B30F673} - {2F7EDFA2-EE27-4D83-8454-9EFBD5779203} = {2F7EDFA2-EE27-4D83-8454-9EFBD5779203} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bzip2", "..\third_party\bzip2\bzip2.vcproj", "{2A70CBF0-847E-4E3A-B926-542A656DC7FE}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcef", "libcef\libcef.vcproj", "{FA39524D-3067-4141-888D-28A86C66F2B9}" @@ -94,10 +92,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcef", "libcef\libcef.vcp {8C27D792-2648-4F5E-9ED0-374276327308} = {8C27D792-2648-4F5E-9ED0-374276327308} {8423AF0D-4B88-4EBF-94E1-E4D00D00E21C} = {8423AF0D-4B88-4EBF-94E1-E4D00D00E21C} {7100F41F-868D-4E99-80A2-AF8E6574749D} = {7100F41F-868D-4E99-80A2-AF8E6574749D} - {625A8F11-2B4E-45B4-BD99-C6D629C606C0} = {625A8F11-2B4E-45B4-BD99-C6D629C606C0} {5916D37D-8C97-424F-A904-74E52594C2D6} = {5916D37D-8C97-424F-A904-74E52594C2D6} - {5597AD47-3494-4750-A235-4F9C2F864700} = {5597AD47-3494-4750-A235-4F9C2F864700} - {49909552-0B0C-4C14-8CF6-DB8A2ADE0934} = {49909552-0B0C-4C14-8CF6-DB8A2ADE0934} {2A70CBF0-847E-4E3A-B926-542A656DC7FE} = {2A70CBF0-847E-4E3A-B926-542A656DC7FE} {5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65} = {5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65} {60B43839-95E6-4526-A661-209F16335E0E} = {60B43839-95E6-4526-A661-209F16335E0E} @@ -133,10 +128,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "default_plugin", "..\webkit {60B43839-95E6-4526-A661-209F16335E0E} = {60B43839-95E6-4526-A661-209F16335E0E} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCore_pcre", "..\webkit\build\JavaScriptCore\JavaScriptCore_pcre.vcproj", "{49909552-0B0C-4C14-8CF6-DB8A2ADE0934}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "V8Bindings_prebuild", "..\webkit\build\V8Bindings\V8Bindings_prebuild.vcproj", "{2F7EDFA2-EE27-4D83-8454-9EFBD5779203}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "v8_snapshot", "..\v8\tools\visual_studio\v8_snapshot.vcproj", "{C0334F9A-1168-4101-9DD8-C30FB252D435}" ProjectSection(ProjectDependencies) = postProject {0DDBDA8B-A49F-4CC7-A1D5-5BB8297C8A3F} = {0DDBDA8B-A49F-4CC7-A1D5-5BB8297C8A3F} @@ -168,9 +159,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "v8", "..\v8\tools\visual_st EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "v8_base", "..\v8\tools\visual_studio\v8_base.vcproj", "{EC8B7909-62AF-470D-A75D-E1D89C837142}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "V8Config", "..\webkit\build\JSConfig\V8Config.vcproj", "{2E2D3301-2EC4-4C0F-B889-87073B30F673}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "webkit_strings", "..\webkit\build\webkit_strings\webkit_strings.vcproj", "{60B43839-95E6-4526-A661-209F16335E0E}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "webkit_strings", "..\webkit\webkit_strings.vcproj", "{60B43839-95E6-4526-A661-209F16335E0E}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cefclient", "tests\cefclient\cefclient.vcproj", "{6617FED9-C5D4-4907-BF55-A90062A6683F}" ProjectSection(ProjectDependencies) = postProject @@ -182,9 +171,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icudt", "..\third_party\icu EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "net_resources", "..\net\net_resources.vcproj", "{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "webkit_resources", "..\webkit\build\webkit_resources\webkit_resources.vcproj", "{0B469837-3D46-484A-AFB3-C5A6C68730B9}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCore_prebuild", "..\webkit\build\WebCore\WebCore_prebuild.vcproj", "{1444235E-0E97-4C80-A73E-EE73F3706C32}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "webkit_resources", "..\webkit\webkit_resources.vcproj", "{0B469837-3D46-484A-AFB3-C5A6C68730B9}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "v8_snapshot_cc", "..\v8\tools\visual_studio\v8_snapshot_cc.vcproj", "{0DDBDA8B-A49F-4CC7-A1D5-5BB8297C8A3F}" ProjectSection(ProjectDependencies) = postProject @@ -193,6 +180,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "v8_snapshot_cc", "..\v8\too EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcef_dll", "libcef_dll\libcef_dll.vcproj", "{C13650D5-CF1A-4259-BE45-B1EBA6280E47}" ProjectSection(ProjectDependencies) = postProject + {49909552-0B0C-4C14-8CF6-DB8A2ADE0934} = {49909552-0B0C-4C14-8CF6-DB8A2ADE0934} + {5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65} = {5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65} {2A70CBF0-847E-4E3A-B926-542A656DC7FE} = {2A70CBF0-847E-4E3A-B926-542A656DC7FE} {A508ADD3-CECE-4E0F-8448-2F5E454DF551} = {A508ADD3-CECE-4E0F-8448-2F5E454DF551} {FC0E1FD0-5DD7-4041-A1C9-CD3C376E4EED} = {FC0E1FD0-5DD7-4041-A1C9-CD3C376E4EED} @@ -213,15 +202,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcef_dll", "libcef_dll\li {21E22961-22BF-4493-BD3A-868F93DA5179} = {21E22961-22BF-4493-BD3A-868F93DA5179} {F54ABC59-5C00-414A-A9BA-BAF26D1699F0} = {F54ABC59-5C00-414A-A9BA-BAF26D1699F0} {FA39524D-3067-4141-888D-28A86C66F2B9} = {FA39524D-3067-4141-888D-28A86C66F2B9} - {5597AD47-3494-4750-A235-4F9C2F864700} = {5597AD47-3494-4750-A235-4F9C2F864700} {C564F145-9172-42C3-BFCB-6014CA97DBCD} = {C564F145-9172-42C3-BFCB-6014CA97DBCD} {60B43839-95E6-4526-A661-209F16335E0E} = {60B43839-95E6-4526-A661-209F16335E0E} {0B469837-3D46-484A-AFB3-C5A6C68730B9} = {0B469837-3D46-484A-AFB3-C5A6C68730B9} {7100F41F-868D-4E99-80A2-AF8E6574749D} = {7100F41F-868D-4E99-80A2-AF8E6574749D} - {625A8F11-2B4E-45B4-BD99-C6D629C606C0} = {625A8F11-2B4E-45B4-BD99-C6D629C606C0} {8423AF0D-4B88-4EBF-94E1-E4D00D00E21C} = {8423AF0D-4B88-4EBF-94E1-E4D00D00E21C} {EC8B7909-62AF-470D-A75D-E1D89C837142} = {EC8B7909-62AF-470D-A75D-E1D89C837142} - {5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65} = {5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcef_dll_wrapper", "libcef_dll\wrapper\libcef_dll_wrapper.vcproj", "{A9D6DC71-C0DC-4549-AEA0-3B15B44E86A9}" @@ -230,13 +216,16 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcef_dll_wrapper", "libce {1832A374-8A74-4F9E-B536-69A699B3E165} = {1832A374-8A74-4F9E-B536-69A699B3E165} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit", "..\webkit\build\WebKit\WebKit.vcproj", "{5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "webkit", "..\webkit\WebKit.vcproj", "{5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65}" ProjectSection(ProjectDependencies) = postProject + {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} {2E2D3301-2EC4-4C0F-B889-87073B30F673} = {2E2D3301-2EC4-4C0F-B889-87073B30F673} - {1444235E-0E97-4C80-A73E-EE73F3706C32} = {1444235E-0E97-4C80-A73E-EE73F3706C32} - {2F7EDFA2-EE27-4D83-8454-9EFBD5779203} = {2F7EDFA2-EE27-4D83-8454-9EFBD5779203} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "config", "..\webkit\config.vcproj", "{2E2D3301-2EC4-4C0F-B889-87073B30F673}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pcre", "..\webkit\pcre.vcproj", "{49909552-0B0C-4C14-8CF6-DB8A2ADE0934}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Mixed Platforms = Debug|Mixed Platforms @@ -253,14 +242,6 @@ Global {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Mixed Platforms.Build.0 = Release|Win32 {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.ActiveCfg = Release|Win32 {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.Build.0 = Release|Win32 - {5597AD47-3494-4750-A235-4F9C2F864700}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 - {5597AD47-3494-4750-A235-4F9C2F864700}.Debug|Mixed Platforms.Build.0 = Debug|Win32 - {5597AD47-3494-4750-A235-4F9C2F864700}.Debug|Win32.ActiveCfg = Debug|Win32 - {5597AD47-3494-4750-A235-4F9C2F864700}.Debug|Win32.Build.0 = Debug|Win32 - {5597AD47-3494-4750-A235-4F9C2F864700}.Release|Mixed Platforms.ActiveCfg = Release|Win32 - {5597AD47-3494-4750-A235-4F9C2F864700}.Release|Mixed Platforms.Build.0 = Release|Win32 - {5597AD47-3494-4750-A235-4F9C2F864700}.Release|Win32.ActiveCfg = Release|Win32 - {5597AD47-3494-4750-A235-4F9C2F864700}.Release|Win32.Build.0 = Release|Win32 {C66B126D-0ECE-4CA2-B6DC-FA780AFBBF09}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 {C66B126D-0ECE-4CA2-B6DC-FA780AFBBF09}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {C66B126D-0ECE-4CA2-B6DC-FA780AFBBF09}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -349,14 +330,6 @@ Global {FC0E1FD0-5DD7-4041-A1C9-CD3C376E4EED}.Release|Mixed Platforms.Build.0 = Release|Win32 {FC0E1FD0-5DD7-4041-A1C9-CD3C376E4EED}.Release|Win32.ActiveCfg = Release|Win32 {FC0E1FD0-5DD7-4041-A1C9-CD3C376E4EED}.Release|Win32.Build.0 = Release|Win32 - {625A8F11-2B4E-45B4-BD99-C6D629C606C0}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 - {625A8F11-2B4E-45B4-BD99-C6D629C606C0}.Debug|Mixed Platforms.Build.0 = Debug|Win32 - {625A8F11-2B4E-45B4-BD99-C6D629C606C0}.Debug|Win32.ActiveCfg = Debug|Win32 - {625A8F11-2B4E-45B4-BD99-C6D629C606C0}.Debug|Win32.Build.0 = Debug|Win32 - {625A8F11-2B4E-45B4-BD99-C6D629C606C0}.Release|Mixed Platforms.ActiveCfg = Release|Win32 - {625A8F11-2B4E-45B4-BD99-C6D629C606C0}.Release|Mixed Platforms.Build.0 = Release|Win32 - {625A8F11-2B4E-45B4-BD99-C6D629C606C0}.Release|Win32.ActiveCfg = Release|Win32 - {625A8F11-2B4E-45B4-BD99-C6D629C606C0}.Release|Win32.Build.0 = Release|Win32 {2A70CBF0-847E-4E3A-B926-542A656DC7FE}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 {2A70CBF0-847E-4E3A-B926-542A656DC7FE}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {2A70CBF0-847E-4E3A-B926-542A656DC7FE}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -428,22 +401,6 @@ Global {5916D37D-8C97-424F-A904-74E52594C2D6}.Release|Mixed Platforms.Build.0 = Release|Win32 {5916D37D-8C97-424F-A904-74E52594C2D6}.Release|Win32.ActiveCfg = Release|Win32 {5916D37D-8C97-424F-A904-74E52594C2D6}.Release|Win32.Build.0 = Release|Win32 - {49909552-0B0C-4C14-8CF6-DB8A2ADE0934}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 - {49909552-0B0C-4C14-8CF6-DB8A2ADE0934}.Debug|Mixed Platforms.Build.0 = Debug|Win32 - {49909552-0B0C-4C14-8CF6-DB8A2ADE0934}.Debug|Win32.ActiveCfg = Debug|Win32 - {49909552-0B0C-4C14-8CF6-DB8A2ADE0934}.Debug|Win32.Build.0 = Debug|Win32 - {49909552-0B0C-4C14-8CF6-DB8A2ADE0934}.Release|Mixed Platforms.ActiveCfg = Release|Win32 - {49909552-0B0C-4C14-8CF6-DB8A2ADE0934}.Release|Mixed Platforms.Build.0 = Release|Win32 - {49909552-0B0C-4C14-8CF6-DB8A2ADE0934}.Release|Win32.ActiveCfg = Release|Win32 - {49909552-0B0C-4C14-8CF6-DB8A2ADE0934}.Release|Win32.Build.0 = Release|Win32 - {2F7EDFA2-EE27-4D83-8454-9EFBD5779203}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 - {2F7EDFA2-EE27-4D83-8454-9EFBD5779203}.Debug|Mixed Platforms.Build.0 = Debug|Win32 - {2F7EDFA2-EE27-4D83-8454-9EFBD5779203}.Debug|Win32.ActiveCfg = Debug|Win32 - {2F7EDFA2-EE27-4D83-8454-9EFBD5779203}.Debug|Win32.Build.0 = Debug|Win32 - {2F7EDFA2-EE27-4D83-8454-9EFBD5779203}.Release|Mixed Platforms.ActiveCfg = Release|Win32 - {2F7EDFA2-EE27-4D83-8454-9EFBD5779203}.Release|Mixed Platforms.Build.0 = Release|Win32 - {2F7EDFA2-EE27-4D83-8454-9EFBD5779203}.Release|Win32.ActiveCfg = Release|Win32 - {2F7EDFA2-EE27-4D83-8454-9EFBD5779203}.Release|Win32.Build.0 = Release|Win32 {C0334F9A-1168-4101-9DD8-C30FB252D435}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 {C0334F9A-1168-4101-9DD8-C30FB252D435}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {C0334F9A-1168-4101-9DD8-C30FB252D435}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -492,14 +449,6 @@ Global {EC8B7909-62AF-470D-A75D-E1D89C837142}.Release|Mixed Platforms.Build.0 = Release|Win32 {EC8B7909-62AF-470D-A75D-E1D89C837142}.Release|Win32.ActiveCfg = Release|Win32 {EC8B7909-62AF-470D-A75D-E1D89C837142}.Release|Win32.Build.0 = Release|Win32 - {2E2D3301-2EC4-4C0F-B889-87073B30F673}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 - {2E2D3301-2EC4-4C0F-B889-87073B30F673}.Debug|Mixed Platforms.Build.0 = Debug|Win32 - {2E2D3301-2EC4-4C0F-B889-87073B30F673}.Debug|Win32.ActiveCfg = Debug|Win32 - {2E2D3301-2EC4-4C0F-B889-87073B30F673}.Debug|Win32.Build.0 = Debug|Win32 - {2E2D3301-2EC4-4C0F-B889-87073B30F673}.Release|Mixed Platforms.ActiveCfg = Release|Win32 - {2E2D3301-2EC4-4C0F-B889-87073B30F673}.Release|Mixed Platforms.Build.0 = Release|Win32 - {2E2D3301-2EC4-4C0F-B889-87073B30F673}.Release|Win32.ActiveCfg = Release|Win32 - {2E2D3301-2EC4-4C0F-B889-87073B30F673}.Release|Win32.Build.0 = Release|Win32 {60B43839-95E6-4526-A661-209F16335E0E}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 {60B43839-95E6-4526-A661-209F16335E0E}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {60B43839-95E6-4526-A661-209F16335E0E}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -540,14 +489,6 @@ Global {0B469837-3D46-484A-AFB3-C5A6C68730B9}.Release|Mixed Platforms.Build.0 = Release|Win32 {0B469837-3D46-484A-AFB3-C5A6C68730B9}.Release|Win32.ActiveCfg = Release|Win32 {0B469837-3D46-484A-AFB3-C5A6C68730B9}.Release|Win32.Build.0 = Release|Win32 - {1444235E-0E97-4C80-A73E-EE73F3706C32}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 - {1444235E-0E97-4C80-A73E-EE73F3706C32}.Debug|Mixed Platforms.Build.0 = Debug|Win32 - {1444235E-0E97-4C80-A73E-EE73F3706C32}.Debug|Win32.ActiveCfg = Debug|Win32 - {1444235E-0E97-4C80-A73E-EE73F3706C32}.Debug|Win32.Build.0 = Debug|Win32 - {1444235E-0E97-4C80-A73E-EE73F3706C32}.Release|Mixed Platforms.ActiveCfg = Release|Win32 - {1444235E-0E97-4C80-A73E-EE73F3706C32}.Release|Mixed Platforms.Build.0 = Release|Win32 - {1444235E-0E97-4C80-A73E-EE73F3706C32}.Release|Win32.ActiveCfg = Release|Win32 - {1444235E-0E97-4C80-A73E-EE73F3706C32}.Release|Win32.Build.0 = Release|Win32 {0DDBDA8B-A49F-4CC7-A1D5-5BB8297C8A3F}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 {0DDBDA8B-A49F-4CC7-A1D5-5BB8297C8A3F}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {0DDBDA8B-A49F-4CC7-A1D5-5BB8297C8A3F}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -580,6 +521,22 @@ Global {5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65}.Release|Mixed Platforms.Build.0 = Release|Win32 {5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65}.Release|Win32.ActiveCfg = Release|Win32 {5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65}.Release|Win32.Build.0 = Release|Win32 + {2E2D3301-2EC4-4C0F-B889-87073B30F673}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {2E2D3301-2EC4-4C0F-B889-87073B30F673}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {2E2D3301-2EC4-4C0F-B889-87073B30F673}.Debug|Win32.ActiveCfg = Debug|Win32 + {2E2D3301-2EC4-4C0F-B889-87073B30F673}.Debug|Win32.Build.0 = Debug|Win32 + {2E2D3301-2EC4-4C0F-B889-87073B30F673}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {2E2D3301-2EC4-4C0F-B889-87073B30F673}.Release|Mixed Platforms.Build.0 = Release|Win32 + {2E2D3301-2EC4-4C0F-B889-87073B30F673}.Release|Win32.ActiveCfg = Release|Win32 + {2E2D3301-2EC4-4C0F-B889-87073B30F673}.Release|Win32.Build.0 = Release|Win32 + {49909552-0B0C-4C14-8CF6-DB8A2ADE0934}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {49909552-0B0C-4C14-8CF6-DB8A2ADE0934}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {49909552-0B0C-4C14-8CF6-DB8A2ADE0934}.Debug|Win32.ActiveCfg = Debug|Win32 + {49909552-0B0C-4C14-8CF6-DB8A2ADE0934}.Debug|Win32.Build.0 = Debug|Win32 + {49909552-0B0C-4C14-8CF6-DB8A2ADE0934}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {49909552-0B0C-4C14-8CF6-DB8A2ADE0934}.Release|Mixed Platforms.Build.0 = Release|Win32 + {49909552-0B0C-4C14-8CF6-DB8A2ADE0934}.Release|Win32.ActiveCfg = Release|Win32 + {49909552-0B0C-4C14-8CF6-DB8A2ADE0934}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -587,18 +544,14 @@ Global GlobalSection(NestedProjects) = preSolution {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {1088577A-0C49-4DE0-85CD-B68AD0BE55AA} {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {1088577A-0C49-4DE0-85CD-B68AD0BE55AA} - {49909552-0B0C-4C14-8CF6-DB8A2ADE0934} = {1088577A-0C49-4DE0-85CD-B68AD0BE55AA} - {2E2D3301-2EC4-4C0F-B889-87073B30F673} = {1088577A-0C49-4DE0-85CD-B68AD0BE55AA} {5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65} = {1088577A-0C49-4DE0-85CD-B68AD0BE55AA} + {49909552-0B0C-4C14-8CF6-DB8A2ADE0934} = {1088577A-0C49-4DE0-85CD-B68AD0BE55AA} {C66B126D-0ECE-4CA2-B6DC-FA780AFBBF09} = {CB43561E-A6F8-49E2-96A2-3F2BA1FFF21E} - {5597AD47-3494-4750-A235-4F9C2F864700} = {CB43561E-A6F8-49E2-96A2-3F2BA1FFF21E} - {625A8F11-2B4E-45B4-BD99-C6D629C606C0} = {CB43561E-A6F8-49E2-96A2-3F2BA1FFF21E} {F4F4BCAA-EA59-445C-A119-3E6C29647A51} = {CB43561E-A6F8-49E2-96A2-3F2BA1FFF21E} {5916D37D-8C97-424F-A904-74E52594C2D6} = {CB43561E-A6F8-49E2-96A2-3F2BA1FFF21E} - {2F7EDFA2-EE27-4D83-8454-9EFBD5779203} = {CB43561E-A6F8-49E2-96A2-3F2BA1FFF21E} {60B43839-95E6-4526-A661-209F16335E0E} = {CB43561E-A6F8-49E2-96A2-3F2BA1FFF21E} {0B469837-3D46-484A-AFB3-C5A6C68730B9} = {CB43561E-A6F8-49E2-96A2-3F2BA1FFF21E} - {1444235E-0E97-4C80-A73E-EE73F3706C32} = {CB43561E-A6F8-49E2-96A2-3F2BA1FFF21E} + {2E2D3301-2EC4-4C0F-B889-87073B30F673} = {CB43561E-A6F8-49E2-96A2-3F2BA1FFF21E} {6EAD4A4B-2BBC-4974-8E45-BB5C16CC2AC9} = {EF78C1F9-AA17-4CA5-B6CB-39B37A73A3DA} {CD9CA56E-4E94-444C-87D4-58CA1E6F300D} = {EF78C1F9-AA17-4CA5-B6CB-39B37A73A3DA} {1AFC1EC3-24FA-4260-B099-76319EC9977A} = {EF78C1F9-AA17-4CA5-B6CB-39B37A73A3DA} diff --git a/libcef/browser_drag_delegate.cc b/libcef/browser_drag_delegate.cc index f796674eb..8ecdc4dbc 100644 --- a/libcef/browser_drag_delegate.cc +++ b/libcef/browser_drag_delegate.cc @@ -8,7 +8,7 @@ #include -#include "third_party/WebKit/WebKit/chromium/public/WebPoint.h" +#include "webkit/api/public/WebPoint.h" #include "webkit/glue/webview.h" using WebKit::WebPoint; diff --git a/libcef/browser_drop_delegate.cc b/libcef/browser_drop_delegate.cc index 2669ef658..c942e2cf7 100644 --- a/libcef/browser_drop_delegate.cc +++ b/libcef/browser_drop_delegate.cc @@ -6,8 +6,8 @@ #include "precompiled_libcef.h" #include "browser_drop_delegate.h" -#include "third_party/WebKit/WebKit/chromium/public/WebDragData.h" -#include "third_party/WebKit/WebKit/chromium/public/WebPoint.h" +#include "webkit/api/public/WebDragData.h" +#include "webkit/api/public/WebPoint.h" #include "webkit/glue/webdropdata.h" #include "webkit/glue/webview.h" diff --git a/libcef/browser_impl.cc b/libcef/browser_impl.cc index bd3d6f5d5..0e03f0c02 100644 --- a/libcef/browser_impl.cc +++ b/libcef/browser_impl.cc @@ -9,9 +9,9 @@ #include "request_impl.h" #include "base/string_util.h" -#include "third_party/WebKit/WebKit/chromium/public/WebScriptSource.h" -#include "third_party/WebKit/WebKit/chromium/public/WebString.h" -#include "third_party/WebKit/WebKit/chromium/public/WebURL.h" +#include "webkit/api/public/WebScriptSource.h" +#include "webkit/api/public/WebString.h" +#include "webkit/api/public/WebURL.h" #include "webkit/glue/webframe.h" using WebKit::WebScriptSource; @@ -33,7 +33,6 @@ CefBrowserImpl::CefBrowserImpl(CefWindowInfo& windowInfo, bool popup, CefBrowserImpl::~CefBrowserImpl() { RemoveAllJSHandlers(); - UIT_GetWebView()->SetDelegate(NULL); } void CefBrowserImpl::GoBack() diff --git a/libcef/browser_impl_win.cc b/libcef/browser_impl_win.cc index f659fef30..3e4ad4c38 100644 --- a/libcef/browser_impl_win.cc +++ b/libcef/browser_impl_win.cc @@ -13,8 +13,8 @@ #include "base/string_util.h" #include "base/win_util.h" #include "skia/ext/vector_canvas.h" -#include "third_party/WebKit/WebKit/chromium/public/WebRect.h" -#include "third_party/WebKit/WebKit/chromium/public/WebSize.h" +#include "webkit/api/public/WebRect.h" +#include "webkit/api/public/WebSize.h" #include "webkit/glue/webframe.h" #include "webkit/glue/webkit_glue.h" @@ -55,6 +55,7 @@ LRESULT CALLBACK CefBrowserImpl::WndProc(HWND hwnd, UINT message, // Notify the handler that the window is about to be closed handler->HandleBeforeWindowClose(browser); } + RevokeDragDrop(browser->UIT_GetWebViewWndHandle()); // Remove the browser from the list maintained by the context _Context->RemoveBrowser(browser); } @@ -632,6 +633,10 @@ int CefBrowserImpl::UIT_GetPagesCount(WebFrame* frame) settings.RenderParams(¶ms); + // The dbi will be 0 if no default printer is configured. + if(params.dpi == 0) + return 0; + int page_count = 0; gfx::Size canvas_size; diff --git a/libcef/browser_navigation_controller.cc b/libcef/browser_navigation_controller.cc index ac86502a6..da116bf5c 100644 --- a/libcef/browser_navigation_controller.cc +++ b/libcef/browser_navigation_controller.cc @@ -9,7 +9,6 @@ #include "base/logging.h" #include "net/base/upload_data.h" -#include "webkit/glue/webhistoryitem.h" // ---------------------------------------------------------------------------- // BrowserNavigationEntry @@ -38,24 +37,9 @@ BrowserNavigationEntry::~BrowserNavigationEntry() { } void BrowserNavigationEntry::SetContentState(const std::string& state) { - cached_history_item_ = NULL; // invalidate our cached item state_ = state; } -WebHistoryItem* BrowserNavigationEntry::GetHistoryItem() const { - // TODO(port): temporary hack to get a basic test shell executable going. -#if !defined(OS_LINUX) - if (!cached_history_item_) { - BrowserExtraRequestData* extra_data = - new BrowserExtraRequestData(GetPageID()); - cached_history_item_ = - WebHistoryItem::Create(GetURL(), GetTitle(), GetContentState(), - extra_data); - } -#endif - return cached_history_item_; -} - // ---------------------------------------------------------------------------- // BrowserNavigationController @@ -141,9 +125,8 @@ int BrowserNavigationController::GetCurrentEntryIndex() const { } -BrowserNavigationEntry* BrowserNavigationController::GetEntryAtOffset( - int offset) const { - int index = last_committed_entry_index_ + offset; +BrowserNavigationEntry* BrowserNavigationController::GetEntryAtIndex( + int index) const { if (index < 0 || index >= GetEntryCount()) return NULL; diff --git a/libcef/browser_navigation_controller.h b/libcef/browser_navigation_controller.h index 2fc69f1e3..ed6a5a62c 100644 --- a/libcef/browser_navigation_controller.h +++ b/libcef/browser_navigation_controller.h @@ -21,7 +21,6 @@ class UploadData; class GURL; class CefBrowserImpl; -class WebHistoryItem; // Associated with browser-initated navigations to hold tracking data. class BrowserExtraRequestData : public WebRequest::ExtraData { @@ -75,7 +74,6 @@ class BrowserNavigationEntry { void SetPageID(int page_id) { page_id_ = page_id; } int32 GetPageID() const { return page_id_; } - WebHistoryItem* GetHistoryItem() const; const std::wstring& GetTargetFrame() const { return target_frame_; } const std::wstring& GetMethod() const { return method_; } @@ -94,8 +92,6 @@ private: scoped_refptr upload_; WebRequest::HeaderMap headers_; - mutable scoped_refptr cached_history_item_; - std::wstring target_frame_; DISALLOW_COPY_AND_ASSIGN(BrowserNavigationEntry); @@ -147,9 +143,9 @@ class BrowserNavigationController { // it is the pending_entry_index_. int GetCurrentEntryIndex() const; - // Returns the entry at the specified offset from current. Returns NULL - // if out of bounds. - BrowserNavigationEntry* GetEntryAtOffset(int offset) const; + // Returns the entry at the specified index. Returns NULL if out of + // bounds. + BrowserNavigationEntry* GetEntryAtIndex(int index) const; // Return the entry with the corresponding type and page_id, or NULL if // not found. diff --git a/libcef/browser_request_context.cc b/libcef/browser_request_context.cc index 141f34aef..f81a5fc48 100644 --- a/libcef/browser_request_context.cc +++ b/libcef/browser_request_context.cc @@ -31,9 +31,8 @@ void BrowserRequestContext::Init( accept_language_ = "en-us,en"; accept_charset_ = "iso-8859-1,*,utf-8"; - net::ProxyInfo proxy_info; - proxy_info.UseDirect(); - proxy_service_ = net::ProxyService::Create(no_proxy ? &proxy_info : NULL); + net::ProxyConfig proxy_config; + proxy_service_ = net::ProxyService::Create(no_proxy ? &proxy_config : NULL); net::HttpCache *cache; if (cache_path.empty()) { diff --git a/libcef/browser_webkit_glue.cc b/libcef/browser_webkit_glue.cc index a64904075..96492d7b0 100644 --- a/libcef/browser_webkit_glue.cc +++ b/libcef/browser_webkit_glue.cc @@ -9,7 +9,6 @@ #include "base/logging.h" #include "config.h" -#include "webkit_version.h" MSVC_PUSH_WARNING_LEVEL(0); #include "Markup.h" #include "TextEncoding.h" diff --git a/libcef/browser_webkit_glue_win.cc b/libcef/browser_webkit_glue_win.cc index a064b88cd..326cc6ab1 100644 --- a/libcef/browser_webkit_glue_win.cc +++ b/libcef/browser_webkit_glue_win.cc @@ -12,7 +12,6 @@ #include "base/compiler_specific.h" #include "config.h" -#include "webkit_version.h" MSVC_PUSH_WARNING_LEVEL(0); #include "PlatformContextSkia.h" MSVC_POP_WARNING(); @@ -22,8 +21,8 @@ MSVC_POP_WARNING(); #undef LOG #include "base/gfx/gdi_util.h" #include "base/logging.h" -#include "third_party/WebKit/WebKit/chromium/public/WebRect.h" -#include "third_party/WebKit/WebKit/chromium/public/WebSize.h" +#include "webkit/api/public/WebRect.h" +#include "webkit/api/public/WebSize.h" #include "webkit/glue/webkit_glue.h" #include "webkit/glue/webview.h" #include "webkit/glue/plugins/plugin_list.h" diff --git a/libcef/browser_webkit_init.h b/libcef/browser_webkit_init.h index fb3b7a01a..2d7ea783f 100644 --- a/libcef/browser_webkit_init.h +++ b/libcef/browser_webkit_init.h @@ -8,11 +8,11 @@ #include "base/stats_counters.h" #include "base/string_util.h" -#include "third_party/WebKit/WebKit/chromium/public/WebCString.h" -#include "third_party/WebKit/WebKit/chromium/public/WebData.h" -#include "third_party/WebKit/WebKit/chromium/public/WebKit.h" -#include "third_party/WebKit/WebKit/chromium/public/WebString.h" -#include "third_party/WebKit/WebKit/chromium/public/WebURL.h" +#include "webkit/api/public/WebCString.h" +#include "webkit/api/public/WebData.h" +#include "webkit/api/public/WebKit.h" +#include "webkit/api/public/WebString.h" +#include "webkit/api/public/WebURL.h" #include "webkit/glue/simple_webmimeregistry_impl.h" #include "webkit/glue/webclipboard_impl.h" #include "webkit/glue/webkit_glue.h" diff --git a/libcef/browser_webview_delegate.cc b/libcef/browser_webview_delegate.cc index e424caf23..2ab1c9221 100644 --- a/libcef/browser_webview_delegate.cc +++ b/libcef/browser_webview_delegate.cc @@ -23,10 +23,10 @@ #include "base/string_util.h" #include "base/trace_event.h" #include "net/base/net_errors.h" -#include "third_party/WebKit/WebKit/chromium/public/WebDragData.h" -#include "third_party/WebKit/WebKit/chromium/public/WebKit.h" -#include "third_party/WebKit/WebKit/chromium/public/WebScreenInfo.h" -#include "third_party/WebKit/WebKit/chromium/public/WebString.h" +#include "webkit/api/public/WebDragData.h" +#include "webkit/api/public/WebKit.h" +#include "webkit/api/public/WebScreenInfo.h" +#include "webkit/api/public/WebString.h" #include "webkit/glue/webdatasource.h" #include "webkit/glue/webdropdata.h" #include "webkit/glue/weberror.h" @@ -62,7 +62,8 @@ int next_page_id_ = 1; // WebViewDelegate ----------------------------------------------------------- WebView* BrowserWebViewDelegate::CreateWebView(WebView* webview, - bool user_gesture) { + bool user_gesture, + const GURL& creator_url) { CefRefPtr browser = browser_->UIT_CreatePopupWindow(std::wstring()); return browser.get() ? browser->UIT_GetWebView() : NULL; @@ -460,13 +461,8 @@ void BrowserWebViewDelegate::DidEndEditing() { } -WebHistoryItem* BrowserWebViewDelegate::GetHistoryEntryAtOffset(int offset) { - BrowserNavigationEntry* entry = static_cast( - browser_->UIT_GetNavigationController()->GetEntryAtOffset(offset)); - if (!entry) - return NULL; - - return entry->GetHistoryItem(); +void BrowserWebViewDelegate::NavigateBackForwardSoon(int offset) { + browser_->UIT_GetNavigationController()->GoToOffset(offset); } int BrowserWebViewDelegate::GetHistoryBackListCount() { diff --git a/libcef/browser_webview_delegate.h b/libcef/browser_webview_delegate.h index 0d77f43c0..3ebf42c4f 100644 --- a/libcef/browser_webview_delegate.h +++ b/libcef/browser_webview_delegate.h @@ -58,7 +58,9 @@ class BrowserWebViewDelegate : public base::RefCounted, virtual ~BrowserWebViewDelegate(); // WebViewDelegate - virtual WebView* CreateWebView(WebView* webview, bool user_gesture); + virtual WebView* CreateWebView(WebView* webview, + bool user_gesture, + const GURL& creator_url); virtual WebWidget* CreatePopupWidget(WebView* webview, bool activatable); virtual WebPluginDelegate* CreatePluginDelegate( WebView* webview, @@ -98,7 +100,8 @@ class BrowserWebViewDelegate : public base::RefCounted, const std::wstring& selection_text, const std::wstring& misspelled_word, int edit_flags, - const std::string& security_info); + const std::string& security_info, + const std::string& frame_charset); virtual void DidStartProvisionalLoadForFrame( WebView* webview, WebFrame* frame, @@ -182,7 +185,7 @@ class BrowserWebViewDelegate : public base::RefCounted, WebNavigationType type, WindowOpenDisposition disposition, bool is_redirect); - virtual WebHistoryItem* GetHistoryEntryAtOffset(int offset); + virtual void NavigateBackForwardSoon(int offset); virtual int GetHistoryBackListCount(); virtual int GetHistoryForwardListCount(); diff --git a/libcef/browser_webview_delegate_win.cc b/libcef/browser_webview_delegate_win.cc index 28b4be018..4a75ec83e 100644 --- a/libcef/browser_webview_delegate_win.cc +++ b/libcef/browser_webview_delegate_win.cc @@ -26,7 +26,7 @@ #include "base/string_util.h" #include "base/trace_event.h" #include "net/base/net_errors.h" -#include "third_party/WebKit/WebKit/chromium/public/WebRect.h" +#include "webkit/api/public/WebRect.h" #include "webkit/glue/webdatasource.h" #include "webkit/glue/webdropdata.h" #include "webkit/glue/weberror.h" @@ -45,7 +45,6 @@ using WebKit::WebRect; // WebViewDelegate ----------------------------------------------------------- BrowserWebViewDelegate::~BrowserWebViewDelegate() { - RevokeDragDrop(browser_->UIT_GetWebViewWndHandle()); } WebPluginDelegate* BrowserWebViewDelegate::CreatePluginDelegate( @@ -248,7 +247,8 @@ void BrowserWebViewDelegate::ShowContextMenu(WebView* webview, const std::wstring& selection_text, const std::wstring& misspelled_word, int edit_flags, - const std::string& security_info) { + const std::string& security_info, + const std::string& frame_charset) { POINT screen_pt = { x, y }; MapWindowPoints(browser_->UIT_GetMainWndHandle(), HWND_DESKTOP, diff --git a/libcef/jscontainer.cc b/libcef/jscontainer.cc index 26f369eb9..9d7397893 100644 --- a/libcef/jscontainer.cc +++ b/libcef/jscontainer.cc @@ -34,6 +34,7 @@ MSVC_POP_WARNING() #include "base/scoped_ptr.h" #include "base/string_util.h" #include "webkit/glue/webframe.h" +#include "webkit/glue/webview.h" // Our special NPObject type. We extend an NPObject with a pointer to a @@ -107,6 +108,7 @@ NPClass CefNPObject::np_class_ = { CefNPObject* obj = new CefNPObject; // obj->parent will be initialized by the NPObject code calling this. obj->container = NULL; + obj->webframe = NULL; return &obj->parent; } @@ -236,6 +238,20 @@ bool CefJSContainer::SetProperty(NPIdentifier ident, return handler_->SetProperty(browser_, name, cef_value); } +// Check if the specified frame exists by comparing to all frames currently +// attached to the view. +static bool FrameExists(WebView* view, WebFrame* frame) { + WebFrame* main_frame = view->GetMainFrame(); + WebFrame* it = main_frame; + do { + if (it == frame) + return true; + it = view->GetNextFrameAfter(it, true); + } while (it != main_frame); + + return false; +} + void CefJSContainer::BindToJavascript(WebFrame* frame, const std::wstring& classname) { #if USE(JSC) @@ -245,15 +261,24 @@ void CefJSContainer::BindToJavascript(WebFrame* frame, NPObject* np_obj = NULL; CefNPObject* obj = NULL; - // Check if we already have an NPObject bound to this particular frame. Lock(); - BoundObjectList::const_iterator it = bound_objects_.begin(); - for(; it != bound_objects_.end(); ++it) { + WebView* view = frame->GetView(); + BoundObjectList::iterator it = bound_objects_.begin(); + for(; it != bound_objects_.end(); ) { obj = reinterpret_cast(*it); if(obj->webframe == frame) { + // An NPObject is already bound to this particular frame. np_obj = *it; - break; + } else if(!FrameExists(view, obj->webframe)) { + // Remove bindings to non-existent frames. +#if USE(V8) + _NPN_UnregisterObject(*it); +#endif + NPN_ReleaseObject(*it); + it = bound_objects_.erase(it); + continue; } + ++it; } Unlock(); diff --git a/libcef/libcef.vcproj b/libcef/libcef.vcproj index 0cc2c40af..21054ee21 100644 --- a/libcef/libcef.vcproj +++ b/libcef/libcef.vcproj @@ -211,30 +211,6 @@ > - - - - - - - - - - @@ -363,6 +339,10 @@ RelativePath=".\request_impl.h" > + + diff --git a/libcef/libcef.vsprops b/libcef/libcef.vsprops index 049a2a967..6064c4130 100644 --- a/libcef/libcef.vsprops +++ b/libcef/libcef.vsprops @@ -7,7 +7,7 @@ > + +#include "base/clipboard.h" +#include "base/lazy_instance.h" +#include "base/string16.h" +#include "googleurl/src/gurl.h" +#include "webkit/glue/scoped_clipboard_writer_glue.h" + +#include "SkBitmap.h" + +// Clipboard glue + +#if defined(OS_WIN) +void ScopedClipboardWriterGlue::WriteBitmapFromPixels( + const void* pixels, const gfx::Size& size) { + ScopedClipboardWriter::WriteBitmapFromPixels(pixels, size); +} +#endif + +ScopedClipboardWriterGlue::~ScopedClipboardWriterGlue() { +} + +namespace webkit_glue { + +base::LazyInstance clipboard(base::LINKER_INITIALIZED); + +Clipboard* ClipboardGetClipboard() { + return clipboard.Pointer(); +} + +bool ClipboardIsFormatAvailable(const Clipboard::FormatType& format) { + return ClipboardGetClipboard()->IsFormatAvailable(format); +} + +void ClipboardReadText(string16* result) { + ClipboardGetClipboard()->ReadText(result); +} + +void ClipboardReadAsciiText(std::string* result) { + ClipboardGetClipboard()->ReadAsciiText(result); +} + +void ClipboardReadHTML(string16* markup, GURL* url) { + std::string url_str; + ClipboardGetClipboard()->ReadHTML(markup, url ? &url_str : NULL); + if (url) + *url = GURL(url_str); +} + +} // namespace webkit_glue diff --git a/libcef/webwidget_host.cc b/libcef/webwidget_host.cc index e5d6337ab..24580a0be 100644 --- a/libcef/webwidget_host.cc +++ b/libcef/webwidget_host.cc @@ -9,11 +9,11 @@ #include "base/gfx/rect.h" #include "base/logging.h" #include "base/win_util.h" -#include "third_party/WebKit/WebKit/chromium/public/WebInputEvent.h" -#include "third_party/WebKit/WebKit/chromium/public/WebScreenInfo.h" -#include "third_party/WebKit/WebKit/chromium/public/WebSize.h" -#include "third_party/WebKit/WebKit/chromium/public/win/WebInputEventFactory.h" -#include "third_party/WebKit/WebKit/chromium/public/win/WebScreenInfoFactory.h" +#include "webkit/api/public/WebInputEvent.h" +#include "webkit/api/public/WebScreenInfo.h" +#include "webkit/api/public/WebSize.h" +#include "webkit/api/public/win/WebInputEventFactory.h" +#include "webkit/api/public/win/WebScreenInfoFactory.h" #include "webkit/glue/webwidget.h" using WebKit::WebInputEvent; diff --git a/libcef_dll/libcef_dll.vcproj b/libcef_dll/libcef_dll.vcproj index 834f3deec..d99b0f57b 100644 --- a/libcef_dll/libcef_dll.vcproj +++ b/libcef_dll/libcef_dll.vcproj @@ -363,11 +363,11 @@ >