Skip to content

Commit d9f522b

Browse files
authored
Merge branch 'master' into master
2 parents ee0749a + ea843f3 commit d9f522b

File tree

88 files changed

+2364
-707
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+2364
-707
lines changed

.editorconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ csharp_new_line_between_query_expression_clauses =
5151
csharp_indent_block_contents = true
5252
csharp_indent_braces = false
5353
csharp_indent_case_contents = true
54+
csharp_indent_case_contents_when_block = false
5455
csharp_indent_switch_labels = true
5556
csharp_indent_labels = one_less_than_current
5657

CefSharp.BrowserSubprocess.Core/CefAppUnmanagedWrapper.cpp

Lines changed: 56 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,19 @@
1010
#include "CefAppUnmanagedWrapper.h"
1111
#include "RegisterBoundObjectHandler.h"
1212
#include "JavascriptRootObjectWrapper.h"
13+
#include "Async\JavascriptAsyncMethodCallback.h"
1314
#include "Serialization\V8Serialization.h"
1415
#include "Serialization\JsObjectsSerialization.h"
15-
#include "Async\JavascriptAsyncMethodCallback.h"
16+
#include "Wrapper\V8Context.h"
17+
#include "Wrapper\Frame.h"
18+
#include "Wrapper\Browser.h"
1619
#include "..\CefSharp.Core\Internals\Messaging\Messages.h"
1720
#include "..\CefSharp.Core\Internals\Serialization\Primitives.h"
1821

1922
using namespace System;
2023
using namespace System::Diagnostics;
2124
using namespace System::Collections::Generic;
25+
using namespace CefSharp::BrowserSubprocess;
2226
using namespace CefSharp::Internals::Messaging;
2327
using namespace CefSharp::Internals::Serialization;
2428

@@ -62,6 +66,15 @@ namespace CefSharp
6266

6367
void CefAppUnmanagedWrapper::OnContextCreated(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefV8Context> context)
6468
{
69+
if (!Object::ReferenceEquals(_handler, nullptr))
70+
{
71+
Browser browserWrapper(browser);
72+
Frame frameWrapper(frame);
73+
V8Context contextWrapper(context);
74+
75+
_handler->OnContextCreated(%browserWrapper, %frameWrapper, %contextWrapper);
76+
}
77+
6578
if (_legacyBindingEnabled)
6679
{
6780
if (_javascriptObjects->Count > 0)
@@ -115,6 +128,15 @@ namespace CefSharp
115128

116129
void CefAppUnmanagedWrapper::OnContextReleased(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefV8Context> context)
117130
{
131+
if (!Object::ReferenceEquals(_handler, nullptr))
132+
{
133+
Browser browserWrapper(browser);
134+
Frame frameWrapper(frame);
135+
V8Context contextWrapper(context);
136+
137+
_handler->OnContextReleased(%browserWrapper, %frameWrapper, %contextWrapper);
138+
}
139+
118140
auto contextReleasedMessage = CefProcessMessage::Create(kOnContextReleasedRequest);
119141

120142
SetInt64(contextReleasedMessage->GetArgumentList(), 0, frame->GetIdentifier());
@@ -674,7 +696,39 @@ namespace CefSharp
674696
{
675697
for each (CefCustomScheme^ scheme in _schemes->AsReadOnly())
676698
{
677-
registrar->AddCustomScheme(StringUtils::ToNative(scheme->SchemeName), scheme->IsStandard, scheme->IsLocal, scheme->IsDisplayIsolated, scheme->IsSecure, scheme->IsCorsEnabled, scheme->IsCSPBypassing);
699+
int options = cef_scheme_options_t::CEF_SCHEME_OPTION_NONE;
700+
701+
if (scheme->IsStandard)
702+
{
703+
options |= cef_scheme_options_t::CEF_SCHEME_OPTION_STANDARD;
704+
}
705+
706+
if (scheme->IsLocal)
707+
{
708+
options |= cef_scheme_options_t::CEF_SCHEME_OPTION_LOCAL;
709+
}
710+
711+
if (scheme->IsDisplayIsolated)
712+
{
713+
options |= cef_scheme_options_t::CEF_SCHEME_OPTION_DISPLAY_ISOLATED;
714+
}
715+
716+
if (scheme->IsSecure)
717+
{
718+
options |= cef_scheme_options_t::CEF_SCHEME_OPTION_SECURE;
719+
}
720+
721+
if (scheme->IsCorsEnabled)
722+
{
723+
options |= cef_scheme_options_t::CEF_SCHEME_OPTION_CORS_ENABLED;
724+
}
725+
726+
if (scheme->IsCSPBypassing)
727+
{
728+
options |= cef_scheme_options_t::CEF_SCHEME_OPTION_CSP_BYPASSING;
729+
}
730+
731+
registrar->AddCustomScheme(StringUtils::ToNative(scheme->SchemeName), options);
678732
}
679733
}
680734
}

CefSharp.BrowserSubprocess.Core/CefAppUnmanagedWrapper.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,15 @@
1212
#include "RegisterBoundObjectRegistry.h"
1313

1414
using namespace System::Collections::Generic;
15+
using namespace CefSharp::RenderProcess;
1516

1617
namespace CefSharp
1718
{
1819
// This class is the native subprocess level CEF object wrapper.
1920
private class CefAppUnmanagedWrapper : CefApp, CefRenderProcessHandler
2021
{
2122
private:
23+
gcroot<IRenderProcessHandler^> _handler;
2224
gcroot<Action<CefBrowserWrapper^>^> _onBrowserCreated;
2325
gcroot<Action<CefBrowserWrapper^>^> _onBrowserDestroyed;
2426
gcroot<ConcurrentDictionary<int, CefBrowserWrapper^>^> _browserWrappers;
@@ -35,8 +37,9 @@ namespace CefSharp
3537
public:
3638
static const CefString kPromiseCreatorScript;
3739

38-
CefAppUnmanagedWrapper(List<CefCustomScheme^>^ schemes, bool enableFocusedNodeChanged, Action<CefBrowserWrapper^>^ onBrowserCreated, Action<CefBrowserWrapper^>^ onBrowserDestoryed)
40+
CefAppUnmanagedWrapper(IRenderProcessHandler^ handler, List<CefCustomScheme^>^ schemes, bool enableFocusedNodeChanged, Action<CefBrowserWrapper^>^ onBrowserCreated, Action<CefBrowserWrapper^>^ onBrowserDestoryed)
3941
{
42+
_handler = handler;
4043
_onBrowserCreated = onBrowserCreated;
4144
_onBrowserDestroyed = onBrowserDestoryed;
4245
_browserWrappers = gcnew ConcurrentDictionary<int, CefBrowserWrapper^>();

CefSharp.BrowserSubprocess.Core/CefSharp.BrowserSubprocess.Core.vcxproj

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3-
<Import Project="..\packages\cef.sdk.3.3626.1895\build\cef.sdk.props" Condition="Exists('..\packages\cef.sdk.3.3626.1895\build\cef.sdk.props')" />
3+
<Import Project="..\packages\cef.sdk.73.1.12\build\cef.sdk.props" Condition="Exists('..\packages\cef.sdk.73.1.12\build\cef.sdk.props')" />
44
<ItemGroup Label="ProjectConfigurations">
55
<ProjectConfiguration Include="Debug|Win32">
66
<Configuration>Debug</Configuration>
@@ -177,6 +177,9 @@
177177
<ClInclude Include="Async\JavascriptAsyncMethodWrapper.h" />
178178
<ClInclude Include="Async\JavascriptAsyncObjectWrapper.h" />
179179
<ClInclude Include="CefAppUnmanagedWrapper.h" />
180+
<ClInclude Include="Wrapper\Frame.h" />
181+
<ClInclude Include="Wrapper\Browser.h" />
182+
<ClInclude Include="Wrapper\V8Context.h" />
180183
<ClInclude Include="RegisterBoundObjectHandler.h" />
181184
<ClInclude Include="RegisterBoundObjectRegistry.h" />
182185
<ClInclude Include="resource.h" />
@@ -206,6 +209,8 @@
206209
<ClCompile Include="Async\JavascriptAsyncMethodWrapper.cpp" />
207210
<ClCompile Include="Async\JavascriptAsyncObjectWrapper.cpp" />
208211
<ClCompile Include="CefAppUnmanagedWrapper.cpp" />
212+
<ClCompile Include="Wrapper\Frame.cpp" />
213+
<ClCompile Include="Wrapper\Browser.cpp" />
209214
<ClCompile Include="WcfEnabledSubProcess.cpp" />
210215
<ClCompile Include="JavascriptCallbackRegistry.cpp" />
211216
<ClCompile Include="JavascriptMethodHandler.cpp" />

CefSharp.BrowserSubprocess.Core/CefSharp.BrowserSubprocess.Core.vcxproj.filters

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,15 @@
9898
<ClInclude Include="RegisterBoundObjectRegistry.h">
9999
<Filter>Header Files</Filter>
100100
</ClInclude>
101+
<ClInclude Include="Wrapper\Frame.h">
102+
<Filter>Header Files</Filter>
103+
</ClInclude>
104+
<ClInclude Include="Wrapper\Browser.h">
105+
<Filter>Header Files</Filter>
106+
</ClInclude>
107+
<ClInclude Include="Wrapper\V8Context.h">
108+
<Filter>Header Files</Filter>
109+
</ClInclude>
101110
</ItemGroup>
102111
<ItemGroup>
103112
<ClCompile Include="AssemblyInfo.cpp">
@@ -157,6 +166,12 @@
157166
<ClCompile Include="WcfEnabledSubProcess.cpp">
158167
<Filter>Source Files</Filter>
159168
</ClCompile>
169+
<ClCompile Include="Wrapper\Frame.cpp">
170+
<Filter>Source Files</Filter>
171+
</ClCompile>
172+
<ClCompile Include="Wrapper\Browser.cpp">
173+
<Filter>Source Files</Filter>
174+
</ClCompile>
160175
</ItemGroup>
161176
<ItemGroup>
162177
<ResourceCompile Include="Resource.rc" />

CefSharp.BrowserSubprocess.Core/Resource.rc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
1 VERSIONINFO
2-
FILEVERSION 72.0.0
3-
PRODUCTVERSION 72.0.0
2+
FILEVERSION 73.1.12.0
3+
PRODUCTVERSION 73.1.12.0
44
FILEFLAGSMASK 0x17L
55
#ifdef _DEBUG
66
FILEFLAGS 0x1L
@@ -16,10 +16,10 @@ BEGIN
1616
BLOCK "040904b0"
1717
BEGIN
1818
VALUE "FileDescription", "CefSharp.BrowserSubprocess.Core"
19-
VALUE "FileVersion", "72.0.0"
19+
VALUE "FileVersion", "73.1.12.0"
2020
VALUE "LegalCopyright", "Copyright © 2019 The CefSharp Authors"
2121
VALUE "ProductName", "CefSharp"
22-
VALUE "ProductVersion", "72.0.0"
22+
VALUE "ProductVersion", "73.1.12.0"
2323
END
2424
END
2525
BLOCK "VarFileInfo"

CefSharp.BrowserSubprocess.Core/SubProcess.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
using namespace System::Collections::Generic;
1515
using namespace System::Linq;
1616
using namespace CefSharp::Internals;
17+
using namespace CefSharp::RenderProcess;
1718

1819
namespace CefSharp
1920
{
@@ -26,14 +27,14 @@ namespace CefSharp
2627
MCefRefPtr<CefAppUnmanagedWrapper> _cefApp;
2728

2829
public:
29-
SubProcess(IEnumerable<String^>^ args)
30+
SubProcess(IRenderProcessHandler^ handler, IEnumerable<String^>^ args)
3031
{
3132
auto onBrowserCreated = gcnew Action<CefBrowserWrapper^>(this, &SubProcess::OnBrowserCreated);
3233
auto onBrowserDestroyed = gcnew Action<CefBrowserWrapper^>(this, &SubProcess::OnBrowserDestroyed);
3334
auto schemes = CefCustomScheme::ParseCommandLineArguments(args);
3435
auto enableFocusedNodeChanged = CommandLineArgsParser::HasArgument(args, CefSharpArguments::FocusedNodeChangedEnabledArgument);
3536

36-
_cefApp = new CefAppUnmanagedWrapper(schemes, enableFocusedNodeChanged, onBrowserCreated, onBrowserDestroyed);
37+
_cefApp = new CefAppUnmanagedWrapper(handler, schemes, enableFocusedNodeChanged, onBrowserCreated, onBrowserDestroyed);
3738
}
3839

3940
!SubProcess()

CefSharp.BrowserSubprocess.Core/WcfEnabledSubProcess.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include "CefBrowserWrapper.h"
1010

1111
using namespace System;
12+
using namespace CefSharp::RenderProcess;
1213

1314
namespace CefSharp
1415
{
@@ -25,7 +26,7 @@ namespace CefSharp
2526
int _parentProcessId;
2627

2728
public:
28-
WcfEnabledSubProcess(int parentProcessId, IEnumerable<String^>^ args) : SubProcess(args)
29+
WcfEnabledSubProcess(int parentProcessId, IRenderProcessHandler^ handler, IEnumerable<String^>^ args) : SubProcess(handler,args)
2930
{
3031
_parentProcessId = parentProcessId;
3132
}
@@ -34,4 +35,4 @@ namespace CefSharp
3435
void OnBrowserDestroyed(CefBrowserWrapper^ browser) override;
3536
};
3637
}
37-
}
38+
}

0 commit comments

Comments
 (0)