From 0800cba74d5b66dd8379f56cb5ba815dd13f5564 Mon Sep 17 00:00:00 2001 From: Marshall Greenblatt Date: Sat, 3 Oct 2009 01:36:52 +0000 Subject: [PATCH] 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 --- CHROMIUM_BUILD_COMPATIBILITY.txt | 1 + cef.gyp | 36 +++++----- cef.sln | 54 +++++++++++---- libcef.vcproj | 16 ++--- libcef/browser_database_system.cc | 108 +++++++++++++++++++++++++++++ libcef/browser_database_system.h | 38 ++++++++++ libcef/browser_drag_delegate.cc | 4 +- libcef/browser_drop_delegate.cc | 8 +-- libcef/browser_impl.cc | 26 +++---- libcef/browser_impl.h | 4 +- libcef/browser_impl_win.cc | 4 +- libcef/browser_webkit_glue.cc | 2 +- libcef/browser_webkit_init.h | 40 +++++++++-- libcef/browser_webview_delegate.cc | 32 ++++++++- libcef/browser_webview_delegate.h | 11 +++ libcef/context.cc | 3 +- libcef/context.h | 2 + libcef/scheme_impl.cc | 3 + libcef/v8_impl.cc | 2 + libcef/webview_host.cc | 2 +- libcef_static.vcproj | 22 +++--- 21 files changed, 336 insertions(+), 82 deletions(-) create mode 100644 libcef/browser_database_system.cc create mode 100644 libcef/browser_database_system.h diff --git a/CHROMIUM_BUILD_COMPATIBILITY.txt b/CHROMIUM_BUILD_COMPATIBILITY.txt index faea90ac8..9b085f729 100644 --- a/CHROMIUM_BUILD_COMPATIBILITY.txt +++ b/CHROMIUM_BUILD_COMPATIBILITY.txt @@ -40,3 +40,4 @@ Date | CEF Revision | Chromium Revision After syncing to rev 26432 you must manually run 'gclient runhooks --force'. Earlier and later revisions do not have this requirement. 2009-09-22 | /trunk@48 | /trunk@26790 +2009-10-02 | /trunk@51 | /trunk@27900 diff --git a/cef.gyp b/cef.gyp index 97997255e..b6efbbcbd 100644 --- a/cef.gyp +++ b/cef.gyp @@ -115,16 +115,17 @@ '../third_party/libpng/libpng.gyp:libpng', '../third_party/libxslt/libxslt.gyp:libxslt', '../third_party/modp_b64/modp_b64.gyp:modp_b64', + '../third_party/WebKit/JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:pcre', + '../third_party/WebKit/JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf', + '../third_party/WebKit/WebCore/WebCore.gyp/WebCore.gyp:webcore', '../third_party/zlib/zlib.gyp:zlib', - '../webkit/WebCore.gyp:webcore', - '../webkit/WebKit.gyp:appcache', - '../webkit/WebKit.gyp:glue', - '../webkit/WebKit.gyp:webkit', - '../webkit/WebKit.gyp:webkit_resources', - '../webkit/WebKit.gyp:webkit_strings', + '../webkit/webkit.gyp:appcache', + '../webkit/webkit.gyp:database', + '../webkit/webkit.gyp:glue', + '../webkit/webkit.gyp:webkit', + '../webkit/webkit.gyp:webkit_resources', + '../webkit/webkit.gyp:webkit_strings', '../webkit/default_plugin/default_plugin.gyp:default_plugin', - '../webkit/javascriptcore.gyp:pcre', - '../webkit/javascriptcore.gyp:wtf', 'libcef_static', ], 'defines': [ @@ -269,16 +270,17 @@ '../third_party/libpng/libpng.gyp:libpng', '../third_party/libxslt/libxslt.gyp:libxslt', '../third_party/modp_b64/modp_b64.gyp:modp_b64', + '../third_party/WebKit/JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:pcre', + '../third_party/WebKit/JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf', + '../third_party/WebKit/WebCore/WebCore.gyp/WebCore.gyp:webcore', '../third_party/zlib/zlib.gyp:zlib', - '../webkit/WebCore.gyp:webcore', - '../webkit/WebKit.gyp:appcache', - '../webkit/WebKit.gyp:glue', - '../webkit/WebKit.gyp:webkit', - '../webkit/WebKit.gyp:webkit_resources', - '../webkit/WebKit.gyp:webkit_strings', + '../webkit/webkit.gyp:appcache', + '../webkit/webkit.gyp:database', + '../webkit/webkit.gyp:glue', + '../webkit/webkit.gyp:webkit', + '../webkit/webkit.gyp:webkit_resources', + '../webkit/webkit.gyp:webkit_strings', '../webkit/default_plugin/default_plugin.gyp:default_plugin', - '../webkit/javascriptcore.gyp:pcre', - '../webkit/javascriptcore.gyp:wtf', ], 'sources': [ 'include/cef.h', @@ -293,6 +295,8 @@ 'include/cef_win.h', 'libcef/browser_appcache_system.cc', 'libcef/browser_appcache_system.h', + 'libcef/browser_database_system.cc', + 'libcef/browser_database_system.h', 'libcef/browser_drag_delegate.cc', 'libcef/browser_drag_delegate.h', 'libcef/browser_drop_delegate.cc', diff --git a/cef.sln b/cef.sln index 14ea63daf..68aa8eacd 100644 --- a/cef.sln +++ b/cef.sln @@ -1,5 +1,15 @@ Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(JavaScriptCore)", "third_party\WebKit\JavaScriptCore", "{1F1A77BD-507E-DADF-A888-76CD54279D6D}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(JavaScriptCore.gyp)", "third_party\WebKit\JavaScriptCore\JavaScriptCore.gyp", "{BB6FE021-BEDC-DDBC-04ED-4B76258204A6}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(WebCore)", "third_party\WebKit\WebCore", "{A8BC79F2-F2ED-8F35-5EA9-B0CE6F648668}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(WebCore.gyp)", "third_party\WebKit\WebCore\WebCore.gyp", "{26F5709A-032E-8B3E-43E5-73FD0F7FD013}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(WebKit)", "third_party\WebKit", "{7C6CDB29-38D7-8364-748C-AEAAD8CCFB36}" +EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(app)", "app", "{EE25F6B1-EF84-226D-862F-CC4C19F42EB8}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(base)", "base", "{9785FB75-982A-5DE3-252D-3F288B9FEF5B}" @@ -68,6 +78,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cygwin", "..\build\win\cygw {A6D0953E-899E-4C60-AB6B-CAE75A44B8E6} = {A6D0953E-899E-4C60-AB6B-CAE75A44B8E6} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "database", "..\webkit\database.vcproj", "{1DA00DDD-44E5-4C56-B2CC-414FB0164492}" +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "default_plugin", "..\webkit\default_plugin\default_plugin.vcproj", "{5916D37D-8C97-424F-A904-74E52594C2D6}" ProjectSection(ProjectDependencies) = postProject {8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942} = {8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942} @@ -133,23 +145,23 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcef", "libcef.vcproj", " {C564F145-9172-42C3-BFCB-6014CA97DBCD} = {C564F145-9172-42C3-BFCB-6014CA97DBCD} {FC0E1FD0-5DD7-4041-A1C9-CD3C376E4EED} = {FC0E1FD0-5DD7-4041-A1C9-CD3C376E4EED} {7100F41F-868D-4E99-80A2-AF8E6574749D} = {7100F41F-868D-4E99-80A2-AF8E6574749D} - {8423AF0D-4B88-4EBF-94E1-E4D00D00E21C} = {8423AF0D-4B88-4EBF-94E1-E4D00D00E21C} + {49909552-0B0C-4C14-8CF6-DB8A2ADE0934} = {49909552-0B0C-4C14-8CF6-DB8A2ADE0934} + {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {AA8A5A85-592B-4357-BC60-E0E91E026AF6} {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} + {8423AF0D-4B88-4EBF-94E1-E4D00D00E21C} = {8423AF0D-4B88-4EBF-94E1-E4D00D00E21C} {0B945915-31A7-4A07-A5B5-568D737A39B1} = {0B945915-31A7-4A07-A5B5-568D737A39B1} + {1DA00DDD-44E5-4C56-B2CC-414FB0164492} = {1DA00DDD-44E5-4C56-B2CC-414FB0164492} {C66B126D-0ECE-4CA2-B6DC-FA780AFBBF09} = {C66B126D-0ECE-4CA2-B6DC-FA780AFBBF09} {5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65} = {5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65} {0B469837-3D46-484A-AFB3-C5A6C68730B9} = {0B469837-3D46-484A-AFB3-C5A6C68730B9} {60B43839-95E6-4526-A661-209F16335E0E} = {60B43839-95E6-4526-A661-209F16335E0E} {5916D37D-8C97-424F-A904-74E52594C2D6} = {5916D37D-8C97-424F-A904-74E52594C2D6} - {49909552-0B0C-4C14-8CF6-DB8A2ADE0934} = {49909552-0B0C-4C14-8CF6-DB8A2ADE0934} - {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {AA8A5A85-592B-4357-BC60-E0E91E026AF6} {FA39524D-3067-4141-888D-28A86C66F2B9} = {FA39524D-3067-4141-888D-28A86C66F2B9} {D53BB45A-F2ED-1D4B-165E-C6F94C33657A} = {D53BB45A-F2ED-1D4B-165E-C6F94C33657A} {B1941127-B9EE-D55B-0952-614A35541471} = {B1941127-B9EE-D55B-0952-614A35541471} {4631946D-7D5F-44BD-A5A8-504C0A7033BE} = {4631946D-7D5F-44BD-A5A8-504C0A7033BE} {6EAD4A4B-2BBC-4974-8E45-BB5C16CC2AC9} = {6EAD4A4B-2BBC-4974-8E45-BB5C16CC2AC9} {F9810DE8-CBC3-4605-A7B1-ECA2D5292FD7} = {F9810DE8-CBC3-4605-A7B1-ECA2D5292FD7} - {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcef_dll_wrapper", "libcef_dll_wrapper.vcproj", "{A9D6DC71-C0DC-4549-AEA0-3B15B44E86A9}" @@ -205,7 +217,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "npapi", "..\third_party\npa EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "patcher", "patcher.vcproj", "{A6D0953E-899E-4C60-AB6B-CAE75A44B8E6}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pcre", "..\webkit\pcre.vcproj", "{49909552-0B0C-4C14-8CF6-DB8A2ADE0934}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pcre", "..\third_party\WebKit\JavaScriptCore\JavaScriptCore.gyp\pcre.vcproj", "{49909552-0B0C-4C14-8CF6-DB8A2ADE0934}" ProjectSection(ProjectDependencies) = postProject {5D7851C0-5603-F133-1A54-FF09D73A2C0E} = {5D7851C0-5603-F133-1A54-FF09D73A2C0E} EndProjectSection @@ -244,7 +256,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "v8_snapshot", "..\v8\tools\ {6992BBDE-54D2-5D2E-7FA6-421F82849767} = {6992BBDE-54D2-5D2E-7FA6-421F82849767} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "webcore", "..\webkit\webcore.vcproj", "{1C16337B-ACF3-4D03-AA90-851C5B5EADA6}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "webcore", "..\third_party\WebKit\WebCore\WebCore.gyp\webcore.vcproj", "{1C16337B-ACF3-4D03-AA90-851C5B5EADA6}" ProjectSection(ProjectDependencies) = postProject {1DEB72EA-4793-B0D6-383E-DE389E057BAF} = {1DEB72EA-4793-B0D6-383E-DE389E057BAF} {03A8C1B8-E2FC-09B9-A351-5EA907BD1296} = {03A8C1B8-E2FC-09B9-A351-5EA907BD1296} @@ -266,12 +278,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "webkit_strings", "..\webkit {5D7851C0-5603-F133-1A54-FF09D73A2C0E} = {5D7851C0-5603-F133-1A54-FF09D73A2C0E} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wtf", "..\webkit\wtf.vcproj", "{AA8A5A85-592B-4357-BC60-E0E91E026AF6}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wtf", "..\third_party\WebKit\JavaScriptCore\JavaScriptCore.gyp\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}") = "wtf_config", "..\webkit\wtf_config.vcproj", "{2E2D3301-2EC4-4C0F-B889-87073B30F673}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wtf_config", "..\third_party\WebKit\JavaScriptCore\JavaScriptCore.gyp\wtf_config.vcproj", "{2E2D3301-2EC4-4C0F-B889-87073B30F673}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "..\third_party\zlib\zlib.vcproj", "{8423AF0D-4B88-4EBF-94E1-E4D00D00E21C}" EndProject @@ -331,6 +343,14 @@ Global {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Purify|Win32.Build.0 = Purify|Win32 {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.ActiveCfg = Release|Win32 {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.Build.0 = Release|Win32 + {1DA00DDD-44E5-4C56-B2CC-414FB0164492}.Release - no tcmalloc|Win32.ActiveCfg = Release - no tcmalloc|Win32 + {1DA00DDD-44E5-4C56-B2CC-414FB0164492}.Release - no tcmalloc|Win32.Build.0 = Release - no tcmalloc|Win32 + {1DA00DDD-44E5-4C56-B2CC-414FB0164492}.Debug|Win32.ActiveCfg = Debug|Win32 + {1DA00DDD-44E5-4C56-B2CC-414FB0164492}.Debug|Win32.Build.0 = Debug|Win32 + {1DA00DDD-44E5-4C56-B2CC-414FB0164492}.Purify|Win32.ActiveCfg = Purify|Win32 + {1DA00DDD-44E5-4C56-B2CC-414FB0164492}.Purify|Win32.Build.0 = Purify|Win32 + {1DA00DDD-44E5-4C56-B2CC-414FB0164492}.Release|Win32.ActiveCfg = Release|Win32 + {1DA00DDD-44E5-4C56-B2CC-414FB0164492}.Release|Win32.Build.0 = Release|Win32 {1DEB72EA-4793-B0D6-383E-DE389E057BAF}.Release - no tcmalloc|Win32.ActiveCfg = Release - no tcmalloc|Win32 {1DEB72EA-4793-B0D6-383E-DE389E057BAF}.Release - no tcmalloc|Win32.Build.0 = Release - no tcmalloc|Win32 {1DEB72EA-4793-B0D6-383E-DE389E057BAF}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -696,6 +716,14 @@ Global HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution + {BB6FE021-BEDC-DDBC-04ED-4B76258204A6} = {1F1A77BD-507E-DADF-A888-76CD54279D6D} + {2E2D3301-2EC4-4C0F-B889-87073B30F673} = {BB6FE021-BEDC-DDBC-04ED-4B76258204A6} + {49909552-0B0C-4C14-8CF6-DB8A2ADE0934} = {BB6FE021-BEDC-DDBC-04ED-4B76258204A6} + {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {BB6FE021-BEDC-DDBC-04ED-4B76258204A6} + {26F5709A-032E-8B3E-43E5-73FD0F7FD013} = {A8BC79F2-F2ED-8F35-5EA9-B0CE6F648668} + {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {26F5709A-032E-8B3E-43E5-73FD0F7FD013} + {A8BC79F2-F2ED-8F35-5EA9-B0CE6F648668} = {7C6CDB29-38D7-8364-748C-AEAAD8CCFB36} + {1F1A77BD-507E-DADF-A888-76CD54279D6D} = {7C6CDB29-38D7-8364-748C-AEAAD8CCFB36} {4631946D-7D5F-44BD-A5A8-504C0A7033BE} = {EE25F6B1-EF84-226D-862F-CC4C19F42EB8} {3FBC4235-3FBD-46DF-AEDC-BADBBA13A095} = {EE25F6B1-EF84-226D-862F-CC4C19F42EB8} {AE9BF4A2-19C5-49D8-BB1A-F28496DD7051} = {EE25F6B1-EF84-226D-862F-CC4C19F42EB8} @@ -717,8 +745,8 @@ Global {03A8C1B8-E2FC-09B9-A351-5EA907BD1296} = {7FAA885C-04CF-4C6B-16F0-E9F0B44641AF} {C5E0F710-5650-CE47-18C7-365D2A863087} = {7FAA885C-04CF-4C6B-16F0-E9F0B44641AF} {B1941127-B9EE-D55B-0952-614A35541471} = {7FAA885C-04CF-4C6B-16F0-E9F0B44641AF} - {14E7F2BB-B8FC-4DC1-B04D-31C06BDFA1D9} = {2DE59335-96CE-10CA-CDE5-FEC35E3549BB} {9E2EFAAB-02B7-4A82-B664-1E98DF6D1953} = {2DE59335-96CE-10CA-CDE5-FEC35E3549BB} + {14E7F2BB-B8FC-4DC1-B04D-31C06BDFA1D9} = {2DE59335-96CE-10CA-CDE5-FEC35E3549BB} {D3A97815-3309-44F8-B9BB-CBBE2393A454} = {2DE59335-96CE-10CA-CDE5-FEC35E3549BB} {326E9795-E760-410A-B69A-3F79DB3F5243} = {96A8EC63-88DB-B85C-EEBC-43667C60DEB3} {8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942} = {96A8EC63-88DB-B85C-EEBC-43667C60DEB3} @@ -730,24 +758,22 @@ Global {7100F41F-868D-4E99-80A2-AF8E6574749D} = {89C816A7-DD31-D54C-C69C-5A80E0C49B77} {8423AF0D-4B88-4EBF-94E1-E4D00D00E21C} = {89C816A7-DD31-D54C-C69C-5A80E0C49B77} {2A70CBF0-847E-4E3A-B926-542A656DC7FE} = {89C816A7-DD31-D54C-C69C-5A80E0C49B77} - {F9810DE8-CBC3-4605-A7B1-ECA2D5292FD7} = {89C816A7-DD31-D54C-C69C-5A80E0C49B77} {C564F145-9172-42C3-BFCB-6014CA97DBCD} = {89C816A7-DD31-D54C-C69C-5A80E0C49B77} + {F9810DE8-CBC3-4605-A7B1-ECA2D5292FD7} = {89C816A7-DD31-D54C-C69C-5A80E0C49B77} + {7C6CDB29-38D7-8364-748C-AEAAD8CCFB36} = {89C816A7-DD31-D54C-C69C-5A80E0C49B77} {FC0E1FD0-5DD7-4041-A1C9-CD3C376E4EED} = {89C816A7-DD31-D54C-C69C-5A80E0C49B77} {1DEB72EA-4793-B0D6-383E-DE389E057BAF} = {89C816A7-DD31-D54C-C69C-5A80E0C49B77} {2DE59335-96CE-10CA-CDE5-FEC35E3549BB} = {89C816A7-DD31-D54C-C69C-5A80E0C49B77} {7FAA885C-04CF-4C6B-16F0-E9F0B44641AF} = {E95778BD-E4AC-C3D0-84EF-83684E04593A} {E95778BD-E4AC-C3D0-84EF-83684E04593A} = {F3545621-A177-A1E7-26DB-108FF716F075} - {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {CD1E1B21-48E8-1ABE-48E1-89B2D4C456AB} {5330F8EE-00F5-D65C-166E-E3150171055D} = {CD1E1B21-48E8-1ABE-48E1-89B2D4C456AB} + {1DA00DDD-44E5-4C56-B2CC-414FB0164492} = {CD1E1B21-48E8-1ABE-48E1-89B2D4C456AB} {5916D37D-8C97-424F-A904-74E52594C2D6} = {CD1E1B21-48E8-1ABE-48E1-89B2D4C456AB} {5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65} = {CD1E1B21-48E8-1ABE-48E1-89B2D4C456AB} {0B469837-3D46-484A-AFB3-C5A6C68730B9} = {CD1E1B21-48E8-1ABE-48E1-89B2D4C456AB} - {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {CD1E1B21-48E8-1ABE-48E1-89B2D4C456AB} {C66B126D-0ECE-4CA2-B6DC-FA780AFBBF09} = {CD1E1B21-48E8-1ABE-48E1-89B2D4C456AB} - {2E2D3301-2EC4-4C0F-B889-87073B30F673} = {CD1E1B21-48E8-1ABE-48E1-89B2D4C456AB} {0B945915-31A7-4A07-A5B5-568D737A39B1} = {CD1E1B21-48E8-1ABE-48E1-89B2D4C456AB} {60B43839-95E6-4526-A661-209F16335E0E} = {CD1E1B21-48E8-1ABE-48E1-89B2D4C456AB} - {49909552-0B0C-4C14-8CF6-DB8A2ADE0934} = {CD1E1B21-48E8-1ABE-48E1-89B2D4C456AB} {5D7851C0-5603-F133-1A54-FF09D73A2C0E} = {E8172FD5-71EF-020B-71B0-9838CD43BF8E} EndGlobalSection EndGlobal diff --git a/libcef.vcproj b/libcef.vcproj index 70c7b41be..7434bd01f 100644 --- a/libcef.vcproj +++ b/libcef.vcproj @@ -6,29 +6,29 @@ - - + + - - + + - - + + - - + + diff --git a/libcef/browser_database_system.cc b/libcef/browser_database_system.cc new file mode 100644 index 000000000..c9b720840 --- /dev/null +++ b/libcef/browser_database_system.cc @@ -0,0 +1,108 @@ +// Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this +// source code is governed by a BSD-style license that can be found in the +// LICENSE file. + +#include "browser_database_system.h" + +#if defined(USE_SYSTEM_SQLITE) +#include +#else +#include "third_party/sqlite/preprocessed/sqlite3.h" +#endif + +#include "base/file_util.h" +#include "base/logging.h" +#include "base/platform_thread.h" +#include "base/process_util.h" +#include "webkit/database/vfs_backend.h" +#include "webkit/glue/webkit_glue.h" + +using webkit_database::VfsBackend; + +BrowserDatabaseSystem* BrowserDatabaseSystem::instance_ = NULL; + +BrowserDatabaseSystem* BrowserDatabaseSystem::GetInstance() { + DCHECK(instance_); + return instance_; +} + +BrowserDatabaseSystem::BrowserDatabaseSystem() + : hack_main_db_handle_(base::kInvalidPlatformFileValue) { + temp_dir_.CreateUniqueTempDir(); + DCHECK(!instance_); + instance_ = this; +} + +BrowserDatabaseSystem::~BrowserDatabaseSystem() { + base::ClosePlatformFile(hack_main_db_handle_); + instance_ = NULL; +} + +base::PlatformFile BrowserDatabaseSystem::OpenFile( + const FilePath& file_name, int desired_flags, + base::PlatformFile* dir_handle) { + base::PlatformFile file_handle = base::kInvalidPlatformFileValue; + VfsBackend::OpenFile(GetDBFileFullPath(file_name), GetDBDir(), desired_flags, + base::GetCurrentProcessHandle(), &file_handle, + dir_handle); + + // HACK: Currently, the DB object that keeps track of the main database + // (DatabaseTracker) is a singleton that is declared as a static variable + // in a function, so it gets destroyed at the very end of the program. + // Because of that, we have a handle opened to the main DB file until the + // very end of the program, which prevents temp_dir_'s destructor from + // deleting the database directory. + // + // We will properly solve this problem when we reimplement DatabaseTracker. + // For now, however, we are going to take advantage of the fact that in order + // to do anything related to DBs, we have to call openDatabase() first, which + // opens a handle to the main DB before opening handles to any other DB files. + // We are going to cache the first file handle we get, and we are going to + // manually close it in the destructor. + if (hack_main_db_handle_ == base::kInvalidPlatformFileValue) { + hack_main_db_handle_ = file_handle; + } + + return file_handle; +} + +int BrowserDatabaseSystem::DeleteFile( + const FilePath& file_name, bool sync_dir) { + // We try to delete the file multiple times, because that's what the default + // VFS does (apparently deleting a file can sometimes fail on Windows). + // We sleep for 10ms between retries for the same reason. + const int kNumDeleteRetries = 3; + int num_retries = 0; + int error_code = SQLITE_OK; + do { + error_code = VfsBackend::DeleteFile( + GetDBFileFullPath(file_name), GetDBDir(), sync_dir); + } while ((++num_retries < kNumDeleteRetries) && + (error_code == SQLITE_IOERR_DELETE) && + (PlatformThread::Sleep(10), 1)); + + return error_code; +} + +long BrowserDatabaseSystem::GetFileAttributes( + const FilePath& file_name) { + return VfsBackend::GetFileAttributes(GetDBFileFullPath(file_name)); +} + +long long BrowserDatabaseSystem::GetFileSize( + const FilePath& file_name) { + return VfsBackend::GetFileSize(GetDBFileFullPath(file_name)); +} + +void BrowserDatabaseSystem::ClearAllDatabases() { + // TODO(dumi): implement this once we refactor DatabaseTracker + //file_util::Delete(GetDBDir(), true); +} + +FilePath BrowserDatabaseSystem::GetDBDir() { + return temp_dir_.path().Append(FILE_PATH_LITERAL("databases")); +} + +FilePath BrowserDatabaseSystem::GetDBFileFullPath(const FilePath& file_name) { + return GetDBDir().Append(file_name); +} diff --git a/libcef/browser_database_system.h b/libcef/browser_database_system.h new file mode 100644 index 000000000..b5e15f827 --- /dev/null +++ b/libcef/browser_database_system.h @@ -0,0 +1,38 @@ +// Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this +// source code is governed by a BSD-style license that can be found in the +// LICENSE file. + +#ifndef _BROWSER_DATABASE_SYSTEM_H +#define _BROWSER_DATABASE_SYSTEM_H + +#include "base/file_path.h" +#include "base/platform_file.h" +#include "base/scoped_temp_dir.h" + +class BrowserDatabaseSystem { + public: + static BrowserDatabaseSystem* GetInstance(); + BrowserDatabaseSystem(); + ~BrowserDatabaseSystem(); + + base::PlatformFile OpenFile( + const FilePath& file_name, int desired_flags, + base::PlatformFile* dir_handle); + int DeleteFile(const FilePath& file_name, bool sync_dir); + long GetFileAttributes(const FilePath& file_name); + long long GetFileSize(const FilePath& file_name); + void ClearAllDatabases(); + + private: + FilePath GetDBDir(); + FilePath GetDBFileFullPath(const FilePath& file_name); + + static BrowserDatabaseSystem* instance_; + + ScopedTempDir temp_dir_; + + // HACK: see OpenFile's implementation + base::PlatformFile hack_main_db_handle_; +}; + +#endif // _BROWSER_DATABASE_SYSTEM_H diff --git a/libcef/browser_drag_delegate.cc b/libcef/browser_drag_delegate.cc index 57c790e0c..e398e1a81 100644 --- a/libcef/browser_drag_delegate.cc +++ b/libcef/browser_drag_delegate.cc @@ -37,7 +37,7 @@ void BrowserDragDelegate::OnDragSourceDrop() { gfx::Point client; gfx::Point screen; GetCursorPositions(source_hwnd_, &client, &screen); - webview_->DragSourceEndedAt(client, screen, WebKit::WebDragOperationCopy); + webview_->dragSourceEndedAt(client, screen, WebKit::WebDragOperationCopy); // TODO(snej): Pass the real drag operation instead } @@ -45,5 +45,5 @@ void BrowserDragDelegate::OnDragSourceMove() { gfx::Point client; gfx::Point screen; GetCursorPositions(source_hwnd_, &client, &screen); - webview_->DragSourceMovedTo(client, screen); + webview_->dragSourceMovedTo(client, screen); } diff --git a/libcef/browser_drop_delegate.cc b/libcef/browser_drop_delegate.cc index e76d6d2e5..d7cdc90de 100644 --- a/libcef/browser_drop_delegate.cc +++ b/libcef/browser_drop_delegate.cc @@ -25,7 +25,7 @@ DWORD BrowserDropDelegate::OnDragEnter(IDataObject* data_object, POINT client_pt = cursor_position; ScreenToClient(GetHWND(), &client_pt); - WebDragOperation op = webview_->DragTargetDragEnter( + WebDragOperation op = webview_->dragTargetDragEnter( drop_data.ToDragData(), drop_data.identity, WebPoint(client_pt.x, client_pt.y), WebPoint(cursor_position.x, cursor_position.y), @@ -41,7 +41,7 @@ DWORD BrowserDropDelegate::OnDragOver(IDataObject* data_object, DWORD effect) { POINT client_pt = cursor_position; ScreenToClient(GetHWND(), &client_pt); - WebDragOperation op = webview_->DragTargetDragOver( + WebDragOperation op = webview_->dragTargetDragOver( WebPoint(client_pt.x, client_pt.y), WebPoint(cursor_position.x, cursor_position.y), WebDragOperationCopy); @@ -51,7 +51,7 @@ DWORD BrowserDropDelegate::OnDragOver(IDataObject* data_object, } void BrowserDropDelegate::OnDragLeave(IDataObject* data_object) { - webview_->DragTargetDragLeave(); + webview_->dragTargetDragLeave(); } DWORD BrowserDropDelegate::OnDrop(IDataObject* data_object, @@ -60,7 +60,7 @@ DWORD BrowserDropDelegate::OnDrop(IDataObject* data_object, DWORD effect) { POINT client_pt = cursor_position; ScreenToClient(GetHWND(), &client_pt); - webview_->DragTargetDrop( + webview_->dragTargetDrop( WebPoint(client_pt.x, client_pt.y), WebPoint(cursor_position.x, cursor_position.y)); diff --git a/libcef/browser_impl.cc b/libcef/browser_impl.cc index 3fb6b9831..832f60f37 100644 --- a/libcef/browser_impl.cc +++ b/libcef/browser_impl.cc @@ -91,17 +91,17 @@ CefRefPtr CefBrowserImpl::GetHandler() CefRefPtr CefBrowserImpl::GetMainFrame() { - return GetCefFrame(GetWebView()->GetMainFrame()); + return GetCefFrame(GetWebView()->mainFrame()); } CefRefPtr CefBrowserImpl::GetFocusedFrame() { - return GetCefFrame(GetWebView()->GetFocusedFrame()); + return GetCefFrame(GetWebView()->focusedFrame()); } CefRefPtr CefBrowserImpl::GetFrame(const std::wstring& name) { - WebFrame* frame = GetWebView()->GetFrameWithName(name); + WebFrame* frame = GetWebView()->findFrameByName(name); if(frame) return GetCefFrame(frame); return NULL; @@ -110,12 +110,12 @@ CefRefPtr CefBrowserImpl::GetFrame(const std::wstring& name) void CefBrowserImpl::GetFrameNames(std::vector& names) { WebView* view = GetWebView(); - WebFrame* main_frame = view->GetMainFrame(); + WebFrame* main_frame = view->mainFrame(); WebFrame* it = main_frame; do { if(it != main_frame) names.push_back(UTF16ToWideHack(it->name())); - it = view->GetNextFrameAfter(it, true); + it = it->traverseNext(true); } while (it != main_frame); } @@ -126,7 +126,7 @@ CefRefPtr CefBrowserImpl::GetCefFrame(WebFrame* frame) WebView *view = GetWebView(); if(view) { - if(frame == view->GetMainFrame()) { + if(frame == view->mainFrame()) { // Use or create the single main frame reference. if(frame_main_ == NULL) frame_main_ = new CefFrameImpl(this, std::wstring()); @@ -168,8 +168,8 @@ WebFrame* CefBrowserImpl::GetWebFrame(CefRefPtr frame) { std::wstring name = frame->GetName(); if(name.empty()) - return GetWebView()->GetMainFrame(); - return GetWebView()->GetFrameWithName(name); + return GetWebView()->mainFrame(); + return GetWebView()->findFrameByName(name); } void CefBrowserImpl::Undo(CefRefPtr frame) @@ -501,9 +501,9 @@ bool CefBrowserImpl::UIT_Navigate(const BrowserNavigationEntry& entry, // Get the right target frame for the entry. WebFrame* frame; if (!entry.GetTargetFrame().empty()) - frame = GetWebView()->GetFrameWithName(entry.GetTargetFrame()); + frame = GetWebView()->findFrameByName(entry.GetTargetFrame()); else - frame = GetWebView()->GetMainFrame(); + frame = GetWebView()->mainFrame(); // TODO(mpcomplete): should we clear the target frame, or should // back/forward navigations maintain the target frame? @@ -563,10 +563,10 @@ bool CefBrowserImpl::UIT_Navigate(const BrowserNavigationEntry& entry, // LoadRequest, thus making some tests fail (see http://b/issue?id=845337 // for more details). // TODO(cef): The above comment may be wrong, or the below call to - // SetFocusedFrame() may be unnecessary or in the wrong place. See this + // setFocusedFrame() may be unnecessary or in the wrong place. See this // thread for additional details: // http://groups.google.com/group/chromium-dev/browse_thread/thread/42bcd31b59e3a168 - GetWebView()->SetFocusedFrame(frame); + GetWebView()->setFocusedFrame(frame); UIT_SetFocus(GetWebViewHost(), true); } @@ -630,7 +630,7 @@ void CefBrowserImpl::UIT_HandleAction(CefHandler::MenuId menuId, UIT_Reload(); break; case MENU_ID_NAV_STOP: - GetWebView()->StopLoading(); + GetWebView()->mainFrame()->stopLoading(); break; case MENU_ID_UNDO: if(web_frame) diff --git a/libcef/browser_impl.h b/libcef/browser_impl.h index 55e5b72db..d9f030de6 100644 --- a/libcef/browser_impl.h +++ b/libcef/browser_impl.h @@ -210,6 +210,8 @@ public: void UIT_SetUniqueID(int id) { unique_id_ = id; } int UIT_GetUniqueID() { return unique_id_; } + static bool ImplementsThreadSafeReferenceCounting() { return true; } + protected: CefWindowInfo window_info_; bool is_popup_; @@ -272,7 +274,7 @@ public: virtual bool IsMain() { return name_.empty(); } virtual bool IsFocused() { return (browser_->GetWebFrame(this) == - browser_->GetWebView()->GetFocusedFrame()); } + browser_->GetWebView()->focusedFrame()); } virtual std::wstring GetName() { return name_; } virtual std::wstring GetURL() { return browser_->GetURL(this); } diff --git a/libcef/browser_impl_win.cc b/libcef/browser_impl_win.cc index 069a20a80..b385f6eaf 100644 --- a/libcef/browser_impl_win.cc +++ b/libcef/browser_impl_win.cc @@ -57,8 +57,8 @@ LRESULT CALLBACK CefBrowserImpl::WndProc(HWND hwnd, UINT message, browser->GetWebViewDelegate()->RevokeDragDrop(); // Call GC twice to clean up garbage. - browser->GetWebView()->GetMainFrame()->collectGarbage(); - browser->GetWebView()->GetMainFrame()->collectGarbage(); + browser->GetWebView()->mainFrame()->collectGarbage(); + browser->GetWebView()->mainFrame()->collectGarbage(); // Clean up anything associated with the WebViewHost widget. browser->GetWebViewHost()->webwidget()->close(); diff --git a/libcef/browser_webkit_glue.cc b/libcef/browser_webkit_glue.cc index c3af9e568..f825ba484 100644 --- a/libcef/browser_webkit_glue.cc +++ b/libcef/browser_webkit_glue.cc @@ -4,7 +4,6 @@ // found in the LICENSE file. #include "base/compiler_specific.h" -#include "base/logging.h" #undef LOG #include "config.h" @@ -16,6 +15,7 @@ MSVC_POP_WARNING(); #include "browser_webkit_glue.h" +#include "base/logging.h" #include "base/path_service.h" #include "base/resource_util.h" #include "base/scoped_ptr.h" diff --git a/libcef/browser_webkit_init.h b/libcef/browser_webkit_init.h index 5b2c11f52..1182c972f 100644 --- a/libcef/browser_webkit_init.h +++ b/libcef/browser_webkit_init.h @@ -13,6 +13,9 @@ #include "base/string_util.h" #include "media/base/media.h" #include "webkit/appcache/web_application_cache_host_impl.h" +#include "webkit/database/vfs_backend.h" +#include "webkit/extensions/v8/gears_extension.h" +#include "webkit/extensions/v8/interval_extension.h" #include "webkit/api/public/WebCString.h" #include "webkit/api/public/WebData.h" #include "webkit/api/public/WebKit.h" @@ -24,9 +27,8 @@ #include "webkit/glue/webclipboard_impl.h" #include "webkit/glue/webkit_glue.h" #include "webkit/glue/webkitclient_impl.h" -#include "webkit/extensions/v8/gears_extension.h" -#include "webkit/extensions/v8/interval_extension.h" #include "browser_appcache_system.h" +#include "browser_database_system.h" #include "browser_resource_loader_bridge.h" @@ -75,14 +77,37 @@ class BrowserWebKitInit : public webkit_glue::WebKitClientImpl { } virtual bool sandboxEnabled() { - return false; + return true; } - virtual bool getFileSize(const WebKit::WebString& path, - long long& result) { + virtual WebKit::WebKitClient::FileHandle databaseOpenFile( + const WebKit::WebString& file_name, int desired_flags, + WebKit::WebKitClient::FileHandle* dir_handle) { + return BrowserDatabaseSystem::GetInstance()->OpenFile( + webkit_glue::WebStringToFilePath(file_name), + desired_flags, dir_handle); + } + + virtual int databaseDeleteFile(const WebKit::WebString& file_name, + bool sync_dir) { + return BrowserDatabaseSystem::GetInstance()->DeleteFile( + webkit_glue::WebStringToFilePath(file_name), sync_dir); + } + + virtual long databaseGetFileAttributes(const WebKit::WebString& file_name) { + return BrowserDatabaseSystem::GetInstance()->GetFileAttributes( + webkit_glue::WebStringToFilePath(file_name)); + } + + virtual long long databaseGetFileSize(const WebKit::WebString& file_name) { + return BrowserDatabaseSystem::GetInstance()->GetFileSize( + webkit_glue::WebStringToFilePath(file_name)); + } + + virtual bool getFileSize(const WebKit::WebString& path, long long& result) { return file_util::GetFileSize( - FilePath(webkit_glue::WebStringToFilePathString(path)), - reinterpret_cast(&result)); + webkit_glue::WebStringToFilePath(path), + reinterpret_cast(&result)); } virtual unsigned long long visitedLinkHash(const char* canonicalURL, @@ -158,6 +183,7 @@ class BrowserWebKitInit : public webkit_glue::WebKitClientImpl { webkit_glue::WebClipboardImpl clipboard_; ScopedTempDir appcache_dir_; BrowserAppCacheSystem appcache_system_; + BrowserDatabaseSystem database_system_; }; #endif // _BROWSER_WEBKIT_INIT_H diff --git a/libcef/browser_webview_delegate.cc b/libcef/browser_webview_delegate.cc index e1b16d268..6852b0ff9 100644 --- a/libcef/browser_webview_delegate.cc +++ b/libcef/browser_webview_delegate.cc @@ -150,6 +150,10 @@ void BrowserWebViewDelegate::didAddMessageToConsole( void BrowserWebViewDelegate::printPage(WebFrame* frame) { } +WebKit::WebNotificationPresenter* BrowserWebViewDelegate::notificationPresenter() { + return NULL; +} + void BrowserWebViewDelegate::didStartLoading() { // clear the title so we can tell if it wasn't provided by the page browser_->UIT_SetTitle(std::wstring()); @@ -238,6 +242,26 @@ void BrowserWebViewDelegate::didExecuteCommand( void BrowserWebViewDelegate::didEndEditing() { } +bool BrowserWebViewDelegate::handleCurrentKeyboardEvent() { + return false; +} + +void BrowserWebViewDelegate::spellCheck(const WebKit::WebString& text, + int& offset, int& length) { +} + +WebString BrowserWebViewDelegate::autoCorrectWord(const WebString& word) { + // Dummy implementation. + return word; +} + +void BrowserWebViewDelegate::showSpellingUI(bool show) { +} + +void BrowserWebViewDelegate::updateSpellingUIWithMisspelledWord( + const WebKit::WebString& word) { +} + void BrowserWebViewDelegate::runModalAlertDialog( WebFrame* frame, const WebString& message) { std::wstring messageStr = UTF16ToWideHack(message); @@ -320,7 +344,11 @@ void BrowserWebViewDelegate::startDragging( //HRESULT res = DoDragDrop(drop_data.data_object, drag_delegate_.get(), // ok_effect, &effect); //DCHECK(DRAGDROP_S_DROP == res || DRAGDROP_S_CANCEL == res); - browser_->GetWebView()->DragSourceSystemDragEnded(); + browser_->GetWebView()->dragSourceSystemDragEnded(); +} + +bool BrowserWebViewDelegate::acceptsLoadDrops() { + return true; } void BrowserWebViewDelegate::focusNext() { @@ -840,7 +868,7 @@ void BrowserWebViewDelegate::UpdateSessionHistory(WebFrame* frame) { return; const WebHistoryItem& history_item = - browser_->GetWebView()->GetMainFrame()->previousHistoryItem(); + browser_->GetWebView()->mainFrame()->previousHistoryItem(); if (history_item.isNull()) return; diff --git a/libcef/browser_webview_delegate.h b/libcef/browser_webview_delegate.h index d6f636c40..3c781adfc 100644 --- a/libcef/browser_webview_delegate.h +++ b/libcef/browser_webview_delegate.h @@ -22,6 +22,7 @@ #include "base/scoped_ptr.h" #include "base/weak_ptr.h" #include "webkit/api/public/WebFrameClient.h" +#include "webkit/api/public/WebRect.h" #include "webkit/glue/webcursor.h" #include "webkit/glue/webplugin_page_delegate.h" #include "webkit/glue/webview_delegate.h" @@ -67,6 +68,7 @@ class BrowserWebViewDelegate : public WebViewDelegate, const WebKit::WebConsoleMessage& message, const WebKit::WebString& source_name, unsigned source_line); virtual void printPage(WebKit::WebFrame* frame); + virtual WebKit::WebNotificationPresenter* notificationPresenter(); virtual void didStartLoading(); virtual void didStopLoading(); virtual bool shouldBeginEditing(const WebKit::WebRange& range); @@ -91,6 +93,14 @@ class BrowserWebViewDelegate : public WebViewDelegate, virtual void didChangeContents(); virtual void didExecuteCommand(const WebKit::WebString& command_name); virtual void didEndEditing(); + virtual bool handleCurrentKeyboardEvent(); + virtual void spellCheck( + const WebKit::WebString& text, int& offset, int& length); + virtual WebKit::WebString autoCorrectWord( + const WebKit::WebString& misspelled_word); + virtual void showSpellingUI(bool show); + virtual void updateSpellingUIWithMisspelledWord( + const WebKit::WebString& word); virtual void runModalAlertDialog( WebKit::WebFrame* frame, const WebKit::WebString& message); virtual bool runModalConfirmDialog( @@ -107,6 +117,7 @@ class BrowserWebViewDelegate : public WebViewDelegate, virtual void startDragging( const WebKit::WebPoint& from, const WebKit::WebDragData& data, WebKit::WebDragOperationsMask mask); + virtual bool acceptsLoadDrops(); virtual void focusNext(); virtual void focusPrevious(); virtual void navigateBackForwardSoon(int offset); diff --git a/libcef/context.cc b/libcef/context.cc index 96cb1efad..67601810a 100644 --- a/libcef/context.cc +++ b/libcef/context.cc @@ -348,7 +348,8 @@ bool CefContext::Initialize(bool multi_threaded_message_loop, webprefs_->remote_fonts_enabled = true; webprefs_->local_storage_enabled = true; webprefs_->session_storage_enabled = true; - webprefs_->application_cache_enabled = false; + webprefs_->application_cache_enabled = true; + webprefs_->databases_enabled = true; if (multi_threaded_message_loop) { // Event that will be used to signal thread setup completion. Start diff --git a/libcef/context.h b/libcef/context.h index 62dd02923..057487951 100644 --- a/libcef/context.h +++ b/libcef/context.h @@ -59,6 +59,8 @@ public: bool DoDelayedWork(); bool DoIdleWork(); + static bool ImplementsThreadSafeReferenceCounting() { return true; } + private: void SetMessageLoopForUI(MessageLoopForUI* loop); void NotifyEvent(); diff --git a/libcef/scheme_impl.cc b/libcef/scheme_impl.cc index d8e813be1..91afc116d 100644 --- a/libcef/scheme_impl.cc +++ b/libcef/scheme_impl.cc @@ -4,6 +4,7 @@ // found in the LICENSE file. #include "base/lazy_instance.h" +#include "base/logging.h" #include "base/message_loop.h" #include "base/string_util.h" #include "base/worker_pool.h" @@ -381,6 +382,8 @@ public: void AddRef() {} void Release() { delete this; } + static bool ImplementsThreadSafeReferenceCounting() { return true; } + private: CefSchemeHandlerFactory* factory_; std::string scheme_name_; diff --git a/libcef/v8_impl.cc b/libcef/v8_impl.cc index 6ff0161d8..90a625ec8 100644 --- a/libcef/v8_impl.cc +++ b/libcef/v8_impl.cc @@ -131,6 +131,8 @@ public: void AddRef() {} void Release() {} + static bool ImplementsThreadSafeReferenceCounting() { return true; } + private: CefV8Handler* handler_; }; diff --git a/libcef/webview_host.cc b/libcef/webview_host.cc index 65f8508a0..2fe4d9e12 100644 --- a/libcef/webview_host.cc +++ b/libcef/webview_host.cc @@ -41,7 +41,7 @@ WebViewHost* WebViewHost::Create(HWND parent_view, host->webwidget_ = WebView::Create(delegate); prefs.Apply(host->webview()); - host->webview()->InitializeMainFrame(delegate); + host->webview()->initializeMainFrame(delegate); return host; } diff --git a/libcef_static.vcproj b/libcef_static.vcproj index 149520cc1..3980d9743 100644 --- a/libcef_static.vcproj +++ b/libcef_static.vcproj @@ -6,29 +6,29 @@ - - + + - - + + - - + + - - + + @@ -51,11 +51,11 @@ - + - + @@ -77,11 +77,13 @@ + +