├── logo.png
├── CefSharp.snk
├── CefSharp.BrowserSubprocess.Core
├── Stdafx.cpp
├── Resource.aps
├── Assembly.manifest
├── resource.h
├── packages.CefSharp.BrowserSubprocess.Core.config
├── packages.CefSharp.BrowserSubprocess.Core.netcore.config
├── Serialization
│ └── JsObjectsSerialization.h
├── Stdafx.h
├── Resource.rc
├── Async
│ ├── JavascriptAsyncMethodWrapper.cpp
│ └── JavascriptAsyncMethodWrapper.h
├── AssemblyInfo.cpp
├── JavascriptMethodWrapper.cpp
└── WcfEnabledSubProcess.h
├── global.json
├── CefSharp.Core.Runtime
├── Internals
│ ├── CefRefCountManaged.cpp
│ ├── Serialization
│ │ └── JsObjectsSerialization.h
│ ├── JavascriptCallbackFactory.cpp
│ ├── JavascriptCallbackFactory.h
│ ├── CefRegistrationWrapper.h
│ ├── CefCompletionCallbackAdapter.h
│ ├── CefSetCookieCallbackAdapter.h
│ ├── CefDeleteCookiesCallbackAdapter.h
│ └── CefResolveCallbackAdapter.h
├── Resource.aps
├── Assembly.manifest
├── Stdafx.cpp
├── resource.h
├── packages.CefSharp.Core.Runtime.config
├── packages.CefSharp.Core.Runtime.netcore.config
├── Stdafx.h
├── Resource.rc
├── UrlRequest.cpp
└── NativeMethodWrapper.h
├── CefSharp.WinForms
├── ChromiumWebBrowser.bmp
├── IWinFormsWebBrowser.cs
├── Properties
│ └── AssemblyInfo.cs
├── Internals
│ └── NativeMethods.cs
└── Handler
│ └── PopupCreation.cs
├── CefSharp.Example
├── Extensions
│ └── set_page_color
│ │ ├── icon.png
│ │ ├── manifest.json
│ │ ├── popup.js
│ │ └── popup.html
├── Resources
│ ├── assets
│ │ └── images
│ │ │ └── beach-2089936_1920.jpg
│ ├── FramedWebGLTest.html
│ ├── HelloWorld.html
│ ├── ImageTest.html
│ ├── Recaptcha.html
│ ├── JavascriptCallbackTest.html
│ ├── BindingApiCustomObjectNameTest.html
│ └── DraggableRegionTest.html
├── JavascriptBinding
│ ├── JsSerializableStruct.cs
│ ├── JsSerializableClass.cs
│ ├── UIntAddModel.cs
│ ├── SimpleSubClass.cs
│ ├── CallbackResponseStruct.cs
│ ├── SimpleClass.cs
│ └── SubBoundObject.cs
├── PostMessage
│ ├── PostMessageExampleData.cs
│ └── PostMessageExample.cs
├── Proxy
│ ├── InternetOpenType.cs
│ └── InternetProxyInfo.cs
├── Callback
│ └── RunFileDialogCallback.cs
├── RequestEventHandler
│ └── EventArgs
│ │ ├── BaseRequestEventArgs.cs
│ │ ├── OnRenderProcessTerminatedEventArgs.cs
│ │ ├── OnProtocolExecutionEventArgs.cs
│ │ └── OnBeforeBrowseEventArgs.cs
├── Properties
│ └── AssemblyInfo.cs
├── Handlers
│ └── TempFileDialogHandler.cs
├── ModelBinding
│ └── PropertyInterceptorLogger.cs
└── DevTools
│ └── DevToolsExtensions.cs
├── CefSharp.WinForms.Example
├── Resources
│ ├── chromium-256.png
│ ├── nav_left_green.png
│ ├── nav_plain_green.png
│ ├── nav_plain_red.png
│ └── nav_right_green.png
├── app.config
├── CefSharp.WinForms.Example.csproj.DotSettings
├── Properties
│ └── AssemblyInfo.cs
└── Minimal
│ └── MultiFormAppContext.cs
├── CefSharp
├── ModelBinding
│ └── Readme.md
├── Internals
│ ├── Partial
│ │ └── Readme.md
│ ├── ITaskScheduler.cs
│ ├── MethodParameter.cs
│ ├── IJavascriptCallbackFactory.cs
│ ├── MethodInvocationCompleteArgs.cs
│ ├── ReflectionUtils.cs
│ ├── RenderprocessClientFactory.cs
│ ├── TryCallMethodResult.cs
│ ├── MethodInvocationResult.cs
│ ├── CefSharpArguments.cs
│ ├── IntPtrExtensions.cs
│ ├── HeaderNameValueCollection.cs
│ ├── CommandLineArgDictionary.cs
│ ├── IMethodRunnerQueue.cs
│ ├── FreezableBase.cs
│ ├── Wcf
│ │ ├── BrowserProcessResponse.cs
│ │ └── IBrowserProcess.cs
│ ├── CommandLineArgsParser.cs
│ ├── IBrowserAdapter.cs
│ ├── Tasks
│ │ └── SyncContextTaskCompletionSource.cs
│ ├── MethodInvocation.cs
│ ├── IJavascriptObjectRepositoryInternal.cs
│ ├── NoFocusHandler.cs
│ ├── FramePendingTaskRepository.cs
│ └── InitializeAsyncBrowserProcessHandler.cs
├── IRegistration.cs
├── JavascriptIgnoreAttribute.cs
├── Enums
│ ├── ContentSettingValues.cs
│ ├── PaintElementType.cs
│ ├── ColorType.cs
│ ├── CefFocusSource.cs
│ ├── CefJsDialogType.cs
│ ├── CookiePriority.cs
│ ├── MouseButtonType.cs
│ ├── CefPdfPrintMarginType.cs
│ ├── CefReturnValue.cs
│ ├── CefState.cs
│ ├── CompositionUnderlineStyle.cs
│ ├── PostDataElementType.cs
│ ├── AlphaType.cs
│ ├── CefTerminationStatus.cs
│ ├── TouchEventType.cs
│ ├── FilterStatus.cs
│ ├── SslContentStatus.cs
│ ├── CefFileDialogMode.cs
│ ├── UrlRequestStatus.cs
│ ├── CefEventFlags.cs
│ ├── PointerType.cs
│ ├── PermissionRequestResult.cs
│ ├── MenuItemType.cs
│ ├── ContextMenuMediaType.cs
│ ├── LogSeverity.cs
│ └── KeyEventType.cs
├── Visitor
│ ├── IStringVisitor.cs
│ └── INavigationEntryVisitor.cs
├── JavascriptException.cs
├── Callback
│ ├── IPermissionPromptCallback.cs
│ ├── ICompletionCallback.cs
│ ├── ICallback.cs
│ ├── IRunFileDialogCallback.cs
│ ├── IDownloadItemCallback.cs
│ ├── IRequestCallback.cs
│ ├── ISetCookieCallback.cs
│ ├── IDeleteCookiesCallback.cs
│ ├── IAuthCallback.cs
│ ├── NoOpCompletionCallback.cs
│ ├── ISelectClientCertificateCallback.cs
│ ├── IPrintToPdfCallback.cs
│ ├── IResolveCallback.cs
│ ├── IBeforeDownloadCallback.cs
│ ├── IRunContextMenuCallback.cs
│ ├── IResourceSkipCallback.cs
│ ├── IFileDialogCallback.cs
│ ├── IMediaAccessCallback.cs
│ └── IJsDialogCallback.cs
├── ISslInfo.cs
├── Structs
│ ├── Point.cs
│ ├── Range.cs
│ └── Size.cs
├── Preferences
│ ├── SetProxyResponse.cs
│ └── SetPreferenceResponse.cs
├── JavascriptBinding
│ └── LegacyCamelCaseJavascriptNameConverter.cs
├── Event
│ ├── TitleChangedEventArgs.cs
│ ├── StatusMessageEventHandler.cs
│ └── AddressChangedEventArgs.cs
├── IApp.cs
├── Handler
│ └── IAccessibilityHandler.cs
├── IUrlRequest.cs
├── ISchemeRegistrar.cs
└── JavascriptResponse.cs
├── CefSharp.Wpf.Example
├── app.config
├── SimpleMainWindow.xaml.cs
├── Program.cs
├── Properties
│ └── AssemblyInfo.cs
├── StandardTabControlWindow.xaml.cs
├── Controls
│ ├── TouchKeyboard
│ │ └── Readme.md
│ └── CefSharpCommands.cs
├── PromptDialog.xaml
├── SimpleMainWindow.xaml
└── TouchKeyboardWin10MainWindow.xaml
├── CefSharp.BrowserSubprocess
├── app.config
└── Properties
│ ├── launchSettings.json
│ └── AssemblyInfo.cs
├── CefSharp.OffScreen.Example
├── app.config
├── Properties
│ └── AssemblyInfo.cs
├── AsyncContext.cs
└── SingleThreadSynchronizationContext.cs
├── .gitattributes
├── CefSharp.Wpf.HwndHost.Example
├── App.config
├── crash_reporter.cfg
├── App.xaml
├── Converter
│ ├── EnvironmentConverter.cs
│ └── TitleConverter.cs
├── MainWindow.xaml.cs
├── AssemblyInfo.cs
├── TabbedMainWindow.xaml
└── Behaviours
│ └── TextBoxBindingUpdateOnEnterBehaviour.cs
├── CefSharp.Test
├── xunit.runner.json
├── QUnitTestResult.cs
├── JavascriptBinding
│ └── BindingTestObject.cs
├── SkipIfRunOnAppVeyorFact.cs
├── CefSharpFixtureCollection.cs
├── BrowserRefCountDebuggingAttribute.cs
├── RequestContextIsolatedBrowserTests.cs
├── Properties
│ └── AssemblyInfo.cs
├── CefSharpXunitTestFramework.cs
└── Framework
│ ├── ParseUrlTests.cs
│ ├── JavascritpCallbackConversionTests.cs
│ └── MethodRunnerQueueTests.cs
├── CefSharp.Core
├── ModuleInitializerAttribute.cs
├── DevTools
│ ├── MemoryDumpConfig.cs
│ ├── DevToolsDomainResponseBase.cs
│ ├── DevToolsMethodResponse.cs
│ ├── DevToolsDomainEventArgsBase.cs
│ ├── DevToolsEventArgs.cs
│ ├── TargetFilter.cs
│ ├── IEventProxy.cs
│ └── DevToolsDomainErrorResponse.cs
├── Properties
│ └── AssemblyInfo.cs
├── Request.netcore.cs
├── WindowInfo.netcore.cs
├── PostData.netcore.cs
├── DragData.cs
├── PostDataElement.netcore.cs
└── BrowserSettings.netcore.cs
├── Build.bat
├── CefSharp3.ChildProcessDbgSettings
├── NuGet
├── CefSharp.Common.Import.props
├── CefSharp.Common.import.targets
└── CefSharp.Common.props
├── CefSharp.Wpf
├── Internals
│ ├── IMousePositionTransform.cs
│ └── NoOpMousePositionTransform.cs
├── HwndHost
│ ├── IWpfWebBrowser.cs
│ └── Internals
│ │ └── NoCloseLifespanHandler.cs
├── IWpfKeyboardHandler.cs
├── Experimental
│ └── PopupCreation.cs
└── Properties
│ └── AssemblyInfo.cs
├── NuGet.config
├── .github
├── ISSUE_TEMPLATE
│ └── config.yml
├── FUNDING.yml
├── no-response.yml
└── config.yml
├── .gitignore
├── CefSharp.OffScreen
├── Properties
│ └── AssemblyInfo.cs
└── PopupBlending.cs
├── afterbuild.example.ps1
├── CefSharp.Core.Runtime.RefAssembly
└── Properties
│ └── AssemblyInfo.cs
├── CefSharp.props
└── appveyor.yml
/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cefsharp/CefSharp/HEAD/logo.png
--------------------------------------------------------------------------------
/CefSharp.snk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cefsharp/CefSharp/HEAD/CefSharp.snk
--------------------------------------------------------------------------------
/CefSharp.BrowserSubprocess.Core/Stdafx.cpp:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "Stdafx.h"
4 |
--------------------------------------------------------------------------------
/global.json:
--------------------------------------------------------------------------------
1 | {
2 | "sdk": {
3 | "version": "6.0.425",
4 | "rollForward": "major"
5 | }
6 | }
--------------------------------------------------------------------------------
/CefSharp.Core.Runtime/Internals/CefRefCountManaged.cpp:
--------------------------------------------------------------------------------
1 | #include "stdafx.h"
2 | #include "CefRefCountManaged.h"
3 |
--------------------------------------------------------------------------------
/CefSharp.Core.Runtime/Resource.aps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cefsharp/CefSharp/HEAD/CefSharp.Core.Runtime/Resource.aps
--------------------------------------------------------------------------------
/CefSharp.WinForms/ChromiumWebBrowser.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cefsharp/CefSharp/HEAD/CefSharp.WinForms/ChromiumWebBrowser.bmp
--------------------------------------------------------------------------------
/CefSharp.BrowserSubprocess.Core/Resource.aps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cefsharp/CefSharp/HEAD/CefSharp.BrowserSubprocess.Core/Resource.aps
--------------------------------------------------------------------------------
/CefSharp.Example/Extensions/set_page_color/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cefsharp/CefSharp/HEAD/CefSharp.Example/Extensions/set_page_color/icon.png
--------------------------------------------------------------------------------
/CefSharp.WinForms.Example/Resources/chromium-256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cefsharp/CefSharp/HEAD/CefSharp.WinForms.Example/Resources/chromium-256.png
--------------------------------------------------------------------------------
/CefSharp.Core.Runtime/Assembly.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/CefSharp.WinForms.Example/Resources/nav_left_green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cefsharp/CefSharp/HEAD/CefSharp.WinForms.Example/Resources/nav_left_green.png
--------------------------------------------------------------------------------
/CefSharp.WinForms.Example/Resources/nav_plain_green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cefsharp/CefSharp/HEAD/CefSharp.WinForms.Example/Resources/nav_plain_green.png
--------------------------------------------------------------------------------
/CefSharp.WinForms.Example/Resources/nav_plain_red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cefsharp/CefSharp/HEAD/CefSharp.WinForms.Example/Resources/nav_plain_red.png
--------------------------------------------------------------------------------
/CefSharp.WinForms.Example/Resources/nav_right_green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cefsharp/CefSharp/HEAD/CefSharp.WinForms.Example/Resources/nav_right_green.png
--------------------------------------------------------------------------------
/CefSharp.BrowserSubprocess.Core/Assembly.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/CefSharp/ModelBinding/Readme.md:
--------------------------------------------------------------------------------
1 | TODO:
2 | - Move these classes into the JavascriptBinding namespace
3 | things are spead out currently and they should be consolidated.
4 |
--------------------------------------------------------------------------------
/CefSharp.Example/Resources/assets/images/beach-2089936_1920.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cefsharp/CefSharp/HEAD/CefSharp.Example/Resources/assets/images/beach-2089936_1920.jpg
--------------------------------------------------------------------------------
/CefSharp.Wpf.Example/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/CefSharp.BrowserSubprocess/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/CefSharp.OffScreen.Example/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto
2 |
3 | *.h text diff=cpp
4 | *.cpp text diff=cpp
5 |
6 | *.vcproj text merge=union
7 | *.csproj text merge=union
8 | *.sln text merge=union eol=crlf
9 |
--------------------------------------------------------------------------------
/CefSharp.BrowserSubprocess/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "CefSharp.BrowserSubprocess.netcore": {
4 | "commandName": "Project",
5 | "nativeDebugging": true
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/CefSharp.Wpf.HwndHost.Example/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/CefSharp.Core.Runtime/Stdafx.cpp:
--------------------------------------------------------------------------------
1 | // Copyright © 2010 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | #include "Stdafx.h"
6 |
--------------------------------------------------------------------------------
/CefSharp.Test/xunit.runner.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://xunit.net/schema/current/xunit.runner.schema.json",
3 | "diagnosticMessages": true,
4 | "parallelizeTestCollections": false,
5 | "maxParallelThreads": 1,
6 | "appDomain": "denied"
7 | }
8 |
--------------------------------------------------------------------------------
/CefSharp.Core/ModuleInitializerAttribute.cs:
--------------------------------------------------------------------------------
1 | namespace System.Runtime.CompilerServices
2 | {
3 | [AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
4 | internal sealed class ModuleInitializerAttribute : Attribute
5 | {
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Build.bat:
--------------------------------------------------------------------------------
1 | SET ThisScriptsDirectory=%~dp0
2 | SET PowerShellScriptPath=%ThisScriptsDirectory%Build.ps1
3 | PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%PowerShellScriptPath%""' -Verb RunAs}";
--------------------------------------------------------------------------------
/CefSharp3.ChildProcessDbgSettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/CefSharp/Internals/Partial/Readme.md:
--------------------------------------------------------------------------------
1 | The ChromiumWebBrowser class in this folder is not directly included in CefSharp.dll
2 | it is shared between the WPF, OffScreen and WinForms implementations with #if def's
3 | to allow for the partial class to be used between the three implementations.
4 |
--------------------------------------------------------------------------------
/CefSharp.Example/Resources/FramedWebGLTest.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Framed WebGL Test
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/CefSharp.Example/Resources/HelloWorld.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Hello World
7 |
8 |
9 | Hello World
10 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/NuGet/CefSharp.Common.Import.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/NuGet/CefSharp.Common.import.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/CefSharp.Example/Resources/ImageTest.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Image Test
7 |
8 |
9 | Image Loaded From Scheme Handler
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/CefSharp.Example/JavascriptBinding/JsSerializableStruct.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2013 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Example.JavascriptBinding
6 | {
7 | public struct JsSerializableStruct
8 | {
9 | public string Value;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/CefSharp.WinForms.Example/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/CefSharp.Example/PostMessage/PostMessageExampleData.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2019 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Example.PostMessage
6 | {
7 | public class PostMessageExampleData
8 | {
9 | public string Property { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/CefSharp.Example/JavascriptBinding/JsSerializableClass.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2013 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Example.JavascriptBinding
6 | {
7 | public class JsSerializableClass
8 | {
9 | public string Value { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/CefSharp.Wpf.Example/SimpleMainWindow.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows;
2 |
3 | namespace CefSharp.Wpf.Example
4 | {
5 | ///
6 | /// Interaction logic for SimpleMainWindow.xaml
7 | ///
8 | public partial class SimpleMainWindow : Window
9 | {
10 | public SimpleMainWindow()
11 | {
12 | InitializeComponent();
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/CefSharp/Internals/ITaskScheduler.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2015 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System.Threading.Tasks;
6 |
7 | namespace CefSharp.Internals
8 | {
9 | public interface ITaskScheduler
10 | {
11 | void ExecuteTask(Task task);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/CefSharp.Core/DevTools/MemoryDumpConfig.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2020 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.DevTools.Tracing
6 | {
7 | ///
8 | /// MemoryDumpConfig
9 | ///
10 | public class MemoryDumpConfig
11 | {
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/CefSharp.Example/JavascriptBinding/UIntAddModel.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2019 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 |
6 | namespace CefSharp.Example.JavascriptBinding
7 | {
8 | public class UIntAddModel
9 | {
10 | public uint ParamA { get; set; }
11 | public uint ParamB { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/CefSharp.Example/Proxy/InternetOpenType.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2014 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Example.Proxy
6 | {
7 | public enum InternetOpenType
8 | {
9 | PreConfig = 0,
10 | Direct = 1,
11 | Proxy = 3,
12 | PreConfigWithNoAutoProxy = 4
13 | }
14 | }
--------------------------------------------------------------------------------
/CefSharp/Internals/MethodParameter.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2016 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System;
6 |
7 | namespace CefSharp.Internals
8 | {
9 | public class MethodParameter
10 | {
11 | public bool IsParamArray { get; set; }
12 | public Type Type { get; set; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/CefSharp.Example/JavascriptBinding/SimpleSubClass.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2014 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Example.JavascriptBinding
6 | {
7 | public class SimpleSubClass
8 | {
9 | public string PropertyOne { get; set; }
10 | public int[] Numbers { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/CefSharp.Example/Proxy/InternetProxyInfo.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2014 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Example.Proxy
6 | {
7 | public struct InternetProxyInfo
8 | {
9 | public InternetOpenType AccessType;
10 | public string ProxyAddress;
11 | public string ProxyBypass;
12 | }
13 | }
--------------------------------------------------------------------------------
/CefSharp.WinForms.Example/CefSharp.WinForms.Example.csproj.DotSettings:
--------------------------------------------------------------------------------
1 |
2 | No
3 |
--------------------------------------------------------------------------------
/CefSharp.Core.Runtime/resource.h:
--------------------------------------------------------------------------------
1 | //{{NO_DEPENDENCIES}}
2 | // Microsoft Visual C++ generated include file.
3 | // Used by Resource.rc
4 |
5 | // Next default values for new objects
6 | //
7 | #ifdef APSTUDIO_INVOKED
8 | #ifndef APSTUDIO_READONLY_SYMBOLS
9 | #define _APS_NEXT_RESOURCE_VALUE 101
10 | #define _APS_NEXT_COMMAND_VALUE 40001
11 | #define _APS_NEXT_CONTROL_VALUE 1001
12 | #define _APS_NEXT_SYMED_VALUE 101
13 | #endif
14 | #endif
15 |
--------------------------------------------------------------------------------
/CefSharp/IRegistration.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2020 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System;
6 |
7 | namespace CefSharp
8 | {
9 | ///
10 | /// Generic callback interface used for managing the lifespan of a registration.
11 | ///
12 | public interface IRegistration : IDisposable
13 | {
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/CefSharp.BrowserSubprocess.Core/resource.h:
--------------------------------------------------------------------------------
1 | //{{NO_DEPENDENCIES}}
2 | // Microsoft Visual C++ generated include file.
3 | // Used by Resource.rc
4 |
5 | // Next default values for new objects
6 | //
7 | #ifdef APSTUDIO_INVOKED
8 | #ifndef APSTUDIO_READONLY_SYMBOLS
9 | #define _APS_NEXT_RESOURCE_VALUE 101
10 | #define _APS_NEXT_COMMAND_VALUE 40001
11 | #define _APS_NEXT_CONTROL_VALUE 1001
12 | #define _APS_NEXT_SYMED_VALUE 101
13 | #endif
14 | #endif
15 |
--------------------------------------------------------------------------------
/CefSharp.Example/Extensions/set_page_color/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "A browser action with a popup that changes the page color",
3 | "description": "Change the current page color",
4 | "version": "1.0",
5 | "permissions": [
6 | "tabs", "http://*/*", "https://*/*"
7 | ],
8 | "browser_action": {
9 | "default_title": "Set this page's color.",
10 | "default_icon": "icon.png",
11 | "default_popup": "popup.html"
12 | },
13 | "manifest_version": 2
14 | }
15 |
--------------------------------------------------------------------------------
/CefSharp.Example/Resources/Recaptcha.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | CefSharp Recaptcha Test
7 |
8 |
9 |
10 | Recaptcha Test
11 |
15 |
16 |
--------------------------------------------------------------------------------
/CefSharp.Example/PostMessage/PostMessageExample.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2019 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Example.PostMessage
6 | {
7 | public class PostMessageExample
8 | {
9 | public string Type { get; set; }
10 | public PostMessageExampleData Data { get; set; }
11 | public IJavascriptCallback Callback { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/CefSharp.Test/QUnitTestResult.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2021 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Test
6 | {
7 | public class QUnitTestResult
8 | {
9 | public bool Success
10 | {
11 | get { return Passed == Total; }
12 | }
13 |
14 | public int Passed { get; set; }
15 | public int Total { get; set; }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/CefSharp.Wpf/Internals/IMousePositionTransform.cs:
--------------------------------------------------------------------------------
1 | using CefSharp.Structs;
2 |
3 | namespace CefSharp.Wpf.Internals
4 | {
5 | ///
6 | /// Implement this interface to control transform the mouse position
7 | ///
8 | public interface IMousePositionTransform
9 | {
10 | System.Windows.Point UpdatePopupSizeAndPosition(Rect originalRect, Rect viewRect);
11 | void OnPopupShow(bool isOpen);
12 | void TransformMousePoint(ref System.Windows.Point point);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/CefSharp.Example/JavascriptBinding/CallbackResponseStruct.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2015 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Example.JavascriptBinding
6 | {
7 | public struct CallbackResponseStruct
8 | {
9 | public string Response;
10 |
11 | public CallbackResponseStruct(string response)
12 | {
13 | Response = response;
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/NuGet.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/CefSharp.Core.Runtime/packages.CefSharp.Core.Runtime.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | # https://help.github.com/en/github/building-a-strong-community/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
2 | blank_issues_enabled: false
3 | contact_links:
4 | - name: stackoverflow
5 | url: http://stackoverflow.com/questions/tagged/cefsharp
6 | about: Please ask and answer questions here.
7 | - name: Chromium Embedded Framework(CEF) Forum
8 | url: https://magpcss.org/ceforum/index.php
9 | about: Please ask your non CefSharp specific CEF questions here
10 |
--------------------------------------------------------------------------------
/CefSharp/Internals/IJavascriptCallbackFactory.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2015 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Internals
6 | {
7 | ///
8 | /// Interface to convert a JavascriptCallback dto to a callable implementation.
9 | ///
10 | public interface IJavascriptCallbackFactory
11 | {
12 | IJavascriptCallback Create(JavascriptCallback callback);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/CefSharp.Core.Runtime/packages.CefSharp.Core.Runtime.netcore.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/CefSharp.BrowserSubprocess.Core/packages.CefSharp.BrowserSubprocess.Core.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/CefSharp.Test/JavascriptBinding/BindingTestObject.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2017 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Test.JavascriptBinding
6 | {
7 | internal class BindingTestObject
8 | {
9 | public int EchoMethodCallCount { get; private set; }
10 | public string Echo(string arg)
11 | {
12 | EchoMethodCallCount++;
13 |
14 | return arg;
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/CefSharp.BrowserSubprocess.Core/packages.CefSharp.BrowserSubprocess.Core.netcore.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/CefSharp.Example/JavascriptBinding/SimpleClass.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2016 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System.Collections.Generic;
6 |
7 | namespace CefSharp.Example.JavascriptBinding
8 | {
9 | public class SimpleClass
10 | {
11 | public IJavascriptCallback Callback { get; set; }
12 | public string TestString { get; set; }
13 |
14 | public IList SubClasses { get; set; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/CefSharp.Wpf.HwndHost.Example/crash_reporter.cfg:
--------------------------------------------------------------------------------
1 | # Crash reporting is configured using an INI-style config file named
2 | # "crash_reporter.cfg".
3 | # This file **must** be placed next to the main application executable.
4 | # Comments start with a hash character and must be on their own line.
5 | # See https://bitbucket.org/chromiumembedded/cef/wiki/CrashReporting.md
6 | # for further details
7 |
8 | [Config]
9 | ProductName=CefSharp.MinimalExample.Wpf.HwndHost
10 | ProductVersion=1.0.0
11 | AppName=CefSharp.MinimalExample
12 | ExternalHandler=CefSharp.BrowserSubprocess.exe
--------------------------------------------------------------------------------
/CefSharp.Example/Callback/RunFileDialogCallback.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2018 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System.Collections.Generic;
6 | using CefSharp.Callback;
7 |
8 | namespace CefSharp.Example.Callback
9 | {
10 | public class RunFileDialogCallback : IRunFileDialogCallback
11 | {
12 | void IRunFileDialogCallback.OnFileDialogDismissed(IList filePaths)
13 | {
14 |
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/CefSharp.Wpf.Example/Program.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2017 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System;
6 |
7 | namespace CefSharp.Wpf.Example
8 | {
9 | public static class Program
10 | {
11 | [STAThread]
12 | public static int Main(string[] args)
13 | {
14 | var application = new App();
15 | application.InitializeComponent();
16 | return application.Run();
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/CefSharp/Internals/MethodInvocationCompleteArgs.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2015 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System;
6 |
7 | namespace CefSharp.Internals
8 | {
9 | public sealed class MethodInvocationCompleteArgs : EventArgs
10 | {
11 | public MethodInvocationResult Result { get; private set; }
12 |
13 | public MethodInvocationCompleteArgs(MethodInvocationResult result)
14 | {
15 | Result = result;
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/CefSharp.Core.Runtime/Internals/Serialization/JsObjectsSerialization.h:
--------------------------------------------------------------------------------
1 | // Copyright © 2015 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | #pragma once
6 |
7 | #include "Stdafx.h"
8 |
9 | #include "include\cef_values.h"
10 |
11 | namespace CefSharp
12 | {
13 | namespace Internals
14 | {
15 | namespace Serialization
16 | {
17 | void SerializeJsObjects(List^ objects, const CefRefPtr &list, int index);
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/CefSharp.Example/Extensions/set_page_color/popup.js:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 |
6 | function click(e) {
7 | chrome.tabs.executeScript(null,
8 | {code:"document.body.style.backgroundColor='" + e.target.id + "'"});
9 | }
10 |
11 | document.addEventListener('DOMContentLoaded', function () {
12 | var divs = document.querySelectorAll('div');
13 | for (var i = 0; i < divs.length; i++) {
14 | divs[i].addEventListener('click', click);
15 | }
16 | });
17 |
--------------------------------------------------------------------------------
/CefSharp.Test/SkipIfRunOnAppVeyorFact.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2020 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System;
6 | using Xunit;
7 |
8 | namespace CefSharp.Test
9 | {
10 | public class SkipIfRunOnAppVeyorFact : FactAttribute
11 | {
12 | public SkipIfRunOnAppVeyorFact()
13 | {
14 | if(Environment.GetEnvironmentVariable("APPVEYOR") == "True")
15 | {
16 | Skip = "Running on Appveyor - Test Skipped";
17 | }
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/CefSharp.WinForms/IWinFormsWebBrowser.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2014 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.WinForms
6 | {
7 | ///
8 | /// WinForms specific implementation, has events the
9 | /// implementation exposes.
10 | ///
11 | /// and
12 | public interface IWinFormsWebBrowser : IWebBrowser, IWinFormsChromiumWebBrowser
13 | {
14 |
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/CefSharp.Wpf.Example/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Reflection;
3 | using System.Runtime.InteropServices;
4 | using CefSharp;
5 |
6 | [assembly: AssemblyTitle("CefSharp.Wpf.Example")]
7 | [assembly: AssemblyCompany(AssemblyInfo.AssemblyCompany)]
8 | [assembly: AssemblyProduct(AssemblyInfo.AssemblyProduct)]
9 | [assembly: AssemblyCopyright(AssemblyInfo.AssemblyCopyright)]
10 | [assembly: ComVisible(AssemblyInfo.ComVisible)]
11 | [assembly: AssemblyVersion(AssemblyInfo.AssemblyVersion)]
12 | [assembly: AssemblyFileVersion(AssemblyInfo.AssemblyFileVersion)]
13 | [assembly: CLSCompliant(AssemblyInfo.ClsCompliant)]
14 |
--------------------------------------------------------------------------------
/CefSharp/JavascriptIgnoreAttribute.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2014 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System;
6 |
7 | namespace CefSharp
8 | {
9 | ///
10 | /// JavascriptIgnoreAttribute - Methods and Properties marked with this attribute
11 | /// will be excluded from Javascript Binding
12 | ///
13 | [AttributeUsage(AttributeTargets.Method | AttributeTargets.Property, Inherited = true)]
14 | public class JavascriptIgnoreAttribute : Attribute
15 | {
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/CefSharp.OffScreen.Example/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Reflection;
3 | using System.Runtime.InteropServices;
4 | using CefSharp;
5 |
6 | [assembly: AssemblyTitle("CefSharp.OffScreen.Example")]
7 | [assembly: AssemblyCompany(AssemblyInfo.AssemblyCompany)]
8 | [assembly: AssemblyProduct(AssemblyInfo.AssemblyProduct)]
9 | [assembly: AssemblyCopyright(AssemblyInfo.AssemblyCopyright)]
10 | [assembly: ComVisible(AssemblyInfo.ComVisible)]
11 | [assembly: AssemblyVersion(AssemblyInfo.AssemblyVersion)]
12 | [assembly: AssemblyFileVersion(AssemblyInfo.AssemblyFileVersion)]
13 | [assembly: CLSCompliant(AssemblyInfo.ClsCompliant)]
--------------------------------------------------------------------------------
/CefSharp/Internals/ReflectionUtils.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2015 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System;
6 | using System.Linq.Expressions;
7 |
8 | namespace CefSharp.Internals
9 | {
10 | internal static class ReflectionUtils
11 | {
12 | public static string GetMethodName(Expression> expression)
13 | {
14 | var methodCallExpression = (MethodCallExpression)expression.Body;
15 | return methodCallExpression.Method.Name;
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/CefSharp.WinForms.Example/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Reflection;
3 | using System.Runtime.InteropServices;
4 | using CefSharp;
5 |
6 | [assembly: AssemblyTitle("CefSharp.WinForms.Example")]
7 | [assembly: AssemblyCompany(AssemblyInfo.AssemblyCompany)]
8 | [assembly: AssemblyProduct(AssemblyInfo.AssemblyProduct)]
9 | [assembly: AssemblyCopyright(AssemblyInfo.AssemblyCopyright)]
10 | [assembly: ComVisible(AssemblyInfo.ComVisible)]
11 | [assembly: AssemblyVersion(AssemblyInfo.AssemblyVersion)]
12 | [assembly: AssemblyFileVersion(AssemblyInfo.AssemblyFileVersion)]
13 | [assembly: CLSCompliant(AssemblyInfo.ClsCompliant)]
14 |
--------------------------------------------------------------------------------
/CefSharp/Enums/ContentSettingValues.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2024 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Enums
6 | {
7 | ///
8 | /// Supported content setting values. Should be kept in sync with Chromium's
9 | /// ContentSetting type.
10 | ///
11 | public enum ContentSettingValues
12 | {
13 | Default = 0,
14 | Allow,
15 | Block,
16 | Ask,
17 | SessionOnly,
18 | DetectImportantContent,
19 | NumValues
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/CefSharp.Core.Runtime/Internals/JavascriptCallbackFactory.cpp:
--------------------------------------------------------------------------------
1 | // Copyright © 2015 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | #include "Stdafx.h"
6 | #include "JavascriptCallbackProxy.h"
7 | #include "JavascriptCallbackFactory.h"
8 |
9 | namespace CefSharp
10 | {
11 | namespace Internals
12 | {
13 | IJavascriptCallback^ JavascriptCallbackFactory::Create(JavascriptCallback^ callback)
14 | {
15 | return gcnew JavascriptCallbackProxy(callback, _pendingTasks, BrowserAdapter);
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/CefSharp.Wpf/HwndHost/IWpfWebBrowser.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2019 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System.Windows;
6 |
7 | namespace CefSharp.Wpf.HwndHost
8 | {
9 | ///
10 | /// WPF specific implementation, has reference to some of the commands
11 | /// and properties the exposes.
12 | ///
13 | ///
14 | public interface IWpfWebBrowser : IWpfChromiumWebBrowser, IInputElement
15 | {
16 |
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/CefSharp/Enums/PaintElementType.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2013 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp
6 | {
7 | ///
8 | /// Paint element types.
9 | ///
10 | public enum PaintElementType
11 | {
12 | ///
13 | /// An enum constant representing the view option.
14 | ///
15 | View = 0,
16 | ///
17 | /// An enum constant representing the popup option.
18 | ///
19 | Popup
20 | };
21 | }
22 |
--------------------------------------------------------------------------------
/CefSharp.Test/CefSharpFixtureCollection.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2017 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using Xunit;
6 |
7 | namespace CefSharp.Test
8 | {
9 | ///
10 | /// All Test classes must be part of this collection as it manages the Cef Initialize/Shutdown lifecycle
11 | ///
12 | [CollectionDefinition(CefSharpFixtureCollection.Key)]
13 | public class CefSharpFixtureCollection : ICollectionFixture
14 | {
15 | public const string Key = "CefSharp Test Collection";
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | #github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4 | #patreon: # Replace with a single Patreon username
5 | #open_collective: # Replace with a single Open Collective username
6 | #ko_fi: # Replace with a single Ko-fi username
7 | #tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8 | #community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9 | #custom: # Replace with a single custom sponsorship URL
10 |
11 | github: amaitland
12 | #patreon: alexmaitland
13 | custom: https://paypal.me/AlexMaitland
14 |
--------------------------------------------------------------------------------
/CefSharp/Enums/ColorType.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2018 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Enums
6 | {
7 | ///
8 | /// Describes how to interpret the components of a pixel.
9 | ///
10 | public enum ColorType
11 | {
12 | ///
13 | /// RGBA with 8 bits per pixel (32bits total).
14 | ///
15 | Rgba8888,
16 | ///
17 | /// BGRA with 8 bits per pixel (32bits total).
18 | ///
19 | Bgra8888
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/CefSharp.BrowserSubprocess.Core/Serialization/JsObjectsSerialization.h:
--------------------------------------------------------------------------------
1 | // Copyright © 2015 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | #pragma once
6 |
7 | #include "include/cef_values.h"
8 |
9 | namespace CefSharp
10 | {
11 | namespace BrowserSubprocess
12 | {
13 | namespace Serialization
14 | {
15 | JavascriptObject^ DeserializeJsObject(const CefRefPtr& list, int index);
16 | List^ DeserializeJsObjects(const CefRefPtr& list, int index);
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/CefSharp.Wpf.HwndHost.Example/App.xaml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/CefSharp/Visitor/IStringVisitor.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2014 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System;
6 |
7 | namespace CefSharp
8 | {
9 | ///
10 | /// Implement this interface to receive string values asynchronously.
11 | ///
12 | public interface IStringVisitor : IDisposable
13 | {
14 | ///
15 | /// Method that will be executed.
16 | ///
17 | /// string (result of async execution)
18 | void Visit(string str);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/CefSharp/JavascriptException.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2012 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp
6 | {
7 | ///
8 | /// Javascript exception
9 | ///
10 | public class JavascriptException
11 | {
12 | ///
13 | /// Message
14 | ///
15 | public string Message { get; set; }
16 |
17 | ///
18 | /// Stack trace in javascript frames
19 | ///
20 | public JavascriptStackFrame[] StackTrace { get; set; }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/CefSharp.Wpf.HwndHost.Example/Converter/EnvironmentConverter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Globalization;
3 | using System.Windows.Data;
4 |
5 | namespace CefSharp.Wpf.HwndHost.Example.Converter
6 | {
7 | public class EnvironmentConverter : IValueConverter
8 | {
9 | object IValueConverter.Convert(object value, Type targetType, object parameter, CultureInfo culture)
10 | {
11 | return Environment.Is64BitProcess ? "x64" : "x86";
12 | }
13 |
14 | object IValueConverter.ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
15 | {
16 | return Binding.DoNothing;
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/CefSharp/Enums/CefFocusSource.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2014 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp
6 | {
7 | ///
8 | /// Focus Source
9 | ///
10 | public enum CefFocusSource
11 | {
12 | ///
13 | /// The source is explicit navigation via the API (LoadURL(), etc).
14 | ///
15 | FocusSourceNavigation = 0,
16 | ///
17 | /// The source is a system-generated focus event.
18 | ///
19 | FocusSourceSystem
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/CefSharp/Internals/RenderprocessClientFactory.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2014 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Internals
6 | {
7 | public class RenderprocessClientFactory
8 | {
9 | private const string BaseAddress = "net.pipe://localhost";
10 | private const string ServiceName = "CefSharpSubProcessProxy";
11 |
12 | public static string GetServiceName(int parentProcessId, int browserId)
13 | {
14 | return string.Join("/", BaseAddress, ServiceName, parentProcessId, browserId);
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/CefSharp.Core.Runtime/Stdafx.h:
--------------------------------------------------------------------------------
1 | // Copyright © 2010 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | #pragma once
6 |
7 | #ifdef EXPORT
8 | #define DECL __declspec(dllexport)
9 | #else
10 | #define DECL __declspec(dllimport)
11 | #endif
12 |
13 | #include
14 | #include
15 |
16 | #include
17 |
18 | #include "Internals\CefRefCountManaged.h"
19 | #include "Internals\MCefRefPtr.h"
20 | #include "Internals\StringUtils.h"
21 | #include "vcclr_local.h"
22 |
23 | using namespace CefSharp;
24 | using namespace CefSharp::Internals;
25 | using namespace System;
26 |
--------------------------------------------------------------------------------
/CefSharp.Wpf/IWpfKeyboardHandler.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2018 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System;
6 | using System.Windows.Input;
7 | using System.Windows.Interop;
8 |
9 | namespace CefSharp.Wpf
10 | {
11 | ///
12 | /// Implement this interface to control how keys are forwarded to the browser
13 | ///
14 | public interface IWpfKeyboardHandler : IDisposable
15 | {
16 | void Setup(HwndSource source);
17 | void HandleKeyPress(KeyEventArgs e);
18 | void HandleTextInput(TextCompositionEventArgs e);
19 | }
20 | }
--------------------------------------------------------------------------------
/CefSharp.Wpf/Internals/NoOpMousePositionTransform.cs:
--------------------------------------------------------------------------------
1 | using CefSharp.Structs;
2 |
3 | namespace CefSharp.Wpf.Internals
4 | {
5 | public sealed class NoOpMousePositionTransform : IMousePositionTransform
6 | {
7 | System.Windows.Point IMousePositionTransform.UpdatePopupSizeAndPosition(Rect originalRect, Rect viewRect)
8 | {
9 | return new System.Windows.Point(originalRect.X, originalRect.Y);
10 | }
11 |
12 | void IMousePositionTransform.OnPopupShow(bool isOpen)
13 | {
14 | }
15 |
16 | void IMousePositionTransform.TransformMousePoint(ref System.Windows.Point point)
17 | {
18 |
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/CefSharp.Wpf.HwndHost.Example/Converter/TitleConverter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Globalization;
3 | using System.Windows.Data;
4 |
5 | namespace CefSharp.Wpf.HwndHost.Example.Converter
6 | {
7 | public class TitleConverter : IValueConverter
8 | {
9 | object IValueConverter.Convert(object value, Type targetType, object parameter, CultureInfo culture)
10 | {
11 | return "CefSharp.MinimalExample.Wpf.HwndHost - " + (value ?? "No Title Specified");
12 | }
13 |
14 | object IValueConverter.ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
15 | {
16 | return Binding.DoNothing;
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/CefSharp/Enums/CefJsDialogType.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2013 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp
6 | {
7 | ///
8 | /// Supported JavaScript dialog types.
9 | ///
10 | public enum CefJsDialogType
11 | {
12 | ///
13 | /// Alert Dialog
14 | ///
15 | Alert = 0,
16 | ///
17 | /// Confirm Dialog
18 | ///
19 | Confirm,
20 | ///
21 | /// Prompt Dialog
22 | ///
23 | Prompt
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/CefSharp/Enums/CookiePriority.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2020 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Enums
6 | {
7 | ///
8 | /// Cookie priority values.
9 | ///
10 | public enum CookiePriority
11 | {
12 | ///
13 | /// Low Priority
14 | ///
15 | Low = -1,
16 | ///
17 | /// Medium Priority
18 | ///
19 | Medium = 0,
20 | ///
21 | /// High Priority
22 | ///
23 | High = 1,
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.dll
2 | *.exe
3 | *.exe.config
4 | *.exe.config
5 | *.exp
6 | *.ipch
7 | *.metagen
8 | *.ncb
9 | *.nupkg
10 | *.obj
11 | *.opensdf
12 | *.pdb
13 | *.ReSharper
14 | *.sdf
15 | *.suo
16 | *.swp
17 | *.user
18 | *.xml
19 | *.VC.opendb
20 | *.VC.db
21 | _ReSharper*
22 |
23 | bin/
24 | bin.netcore/
25 | obj/
26 | obj.netcore/
27 | packages/
28 | Debug/
29 | Release/
30 | CefSharp/app.aps
31 | debug.log
32 | CefSharp.BrowserSubprocess/Release
33 | CefSharp.BrowserSubprocess/x64/Release
34 | CefSharp.Core/Win32/Release
35 | CefSharp.Core/x64/Release
36 | CefSharp/Win32/Release
37 | CefSharp/x64/Release
38 | CefSharp.BrowserSubprocess.lib
39 | Win32/Release
40 | x64/Release
41 | Win32/Release
42 | .vs/
43 | /Help
44 | /tools
45 |
--------------------------------------------------------------------------------
/CefSharp/Enums/MouseButtonType.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2013 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp
6 | {
7 | ///
8 | /// Values that represent mouse button types.
9 | ///
10 | public enum MouseButtonType
11 | {
12 | ///
13 | /// Left Mouse Button
14 | ///
15 | Left = 0,
16 | ///
17 | /// Middle Mouse Button
18 | ///
19 | Middle,
20 | ///
21 | /// Right Mouse Button
22 | ///
23 | Right
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/CefSharp.Core/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Reflection;
3 | using System.Runtime.InteropServices;
4 | using CefSharp;
5 |
6 | [assembly:AssemblyTitle("CefSharp.Core")]
7 | [assembly:AssemblyDescription("CefSharp Core Library")]
8 | [assembly:AssemblyCompany(AssemblyInfo.AssemblyCompany)]
9 | [assembly:AssemblyProduct(AssemblyInfo.AssemblyProduct)]
10 | [assembly:AssemblyCopyright(AssemblyInfo.AssemblyCopyright)]
11 |
12 | [assembly:AssemblyVersion(AssemblyInfo.AssemblyVersion)]
13 | [assembly:ComVisible(AssemblyInfo.ComVisible)]
14 | [assembly:CLSCompliant(AssemblyInfo.ClsCompliant)]
15 |
16 |
17 | [assembly:AssemblyConfiguration("")]
18 | [assembly:AssemblyTrademark("")]
19 | [assembly:AssemblyCulture("")]
20 |
--------------------------------------------------------------------------------
/CefSharp/Internals/TryCallMethodResult.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2020 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Internals
6 | {
7 | public class TryCallMethodResult
8 | {
9 | public string Exception { get; private set; }
10 | public object ReturnValue { get; private set; }
11 | public bool Success { get; private set; }
12 |
13 | public TryCallMethodResult(bool success, object returnValue, string exception)
14 | {
15 | Success = success;
16 | ReturnValue = returnValue;
17 | Exception = exception;
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/CefSharp.Core/Request.netcore.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2020 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | //NOTE:Classes in the CefSharp.Core namespace have been hidden from intellisnse so users don't use them directly
6 |
7 | namespace CefSharp
8 | {
9 | ///
10 | public class Request : CefSharp.Core.Request
11 | {
12 | ///
13 | /// Create a new instance
14 | ///
15 | /// Request
16 | public static IRequest Create()
17 | {
18 | return new CefSharp.Core.Request();
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/CefSharp.Example/RequestEventHandler/EventArgs/BaseRequestEventArgs.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2017 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Example.RequestEventHandler
6 | {
7 | public abstract class BaseRequestEventArgs : System.EventArgs
8 | {
9 | protected BaseRequestEventArgs(IWebBrowser chromiumWebBrowser, IBrowser browser)
10 | {
11 | ChromiumWebBrowser = chromiumWebBrowser;
12 | Browser = browser;
13 | }
14 |
15 | public IWebBrowser ChromiumWebBrowser { get; private set; }
16 | public IBrowser Browser { get; private set; }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/CefSharp.Core/WindowInfo.netcore.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2020 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | //NOTE:Classes in the CefSharp.Core namespace have been hidden from intellisnse so users don't use them directly
6 |
7 | namespace CefSharp
8 | {
9 | ///
10 | public class WindowInfo : CefSharp.Core.WindowInfo
11 | {
12 | ///
13 | /// Create a new WindowInfo instance
14 | ///
15 | /// new instance
16 | public static IWindowInfo Create()
17 | {
18 | return new CefSharp.Core.WindowInfo();
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/CefSharp.Wpf.HwndHost.Example/MainWindow.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows;
2 | using CefSharp.Wpf.HwndHost.Example.Handlers;
3 |
4 | namespace CefSharp.Wpf.HwndHost.Example
5 | {
6 | ///
7 | /// Interaction logic for MainWindow.xaml
8 | ///
9 | public partial class MainWindow : Window
10 | {
11 | public MainWindow()
12 | {
13 | InitializeComponent();
14 |
15 | Browser.DisplayHandler = new DisplayHandler();
16 | }
17 |
18 | private void ShowDevToolsClick(object sender, RoutedEventArgs e)
19 | {
20 | if (Browser.IsBrowserInitialized)
21 | {
22 | Browser.ShowDevTools();
23 | }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/CefSharp/Enums/CefPdfPrintMarginType.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2014 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp
6 | {
7 | ///
8 | /// Margin type for PDF printing.
9 | ///
10 | public enum CefPdfPrintMarginType
11 | {
12 | ///
13 | /// Default margins of 1cm (~0.4 inches)
14 | ///
15 | Default = 0,
16 |
17 | ///
18 | /// No margins.
19 | ///
20 | None,
21 |
22 | ///
23 | /// Custom margins.
24 | ///
25 | Custom
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/CefSharp.Core/PostData.netcore.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2020 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | //NOTE:Classes in the CefSharp.Core namespace have been hidden from intellisnse so users don't use them directly
6 |
7 | namespace CefSharp
8 | {
9 | ///
10 | public class PostData : CefSharp.Core.PostData
11 | {
12 | ///
13 | /// Create a new instance of
14 | ///
15 | /// PostData
16 | public static IPostData Create()
17 | {
18 | return new CefSharp.Core.PostData();
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/CefSharp/Enums/CefReturnValue.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2014 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp
6 | {
7 | ///
8 | /// Return value types.
9 | ///
10 | public enum CefReturnValue
11 | {
12 | ///
13 | /// Cancel immediately.
14 | ///
15 | Cancel = 0,
16 |
17 | ///
18 | /// Continue immediately.
19 | ///
20 | Continue,
21 |
22 | ///
23 | /// Continue asynchronously (usually via a callback).
24 | ///
25 | ContinueAsync
26 | }
27 | }
--------------------------------------------------------------------------------
/CefSharp/Enums/CefState.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2014 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp
6 | {
7 | ///
8 | /// Represents the state of a setting.
9 | ///
10 | public enum CefState
11 | {
12 | ///
13 | /// Use the default state for the setting.
14 | ///
15 | Default = 0,
16 | ///
17 | /// Enable or allow the setting.
18 | ///
19 | Enabled,
20 | ///
21 | /// Disable or disallow the setting.
22 | ///
23 | Disabled,
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/CefSharp.Test/BrowserRefCountDebuggingAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Reflection;
3 | using CefSharp.Internals;
4 | using Xunit.Sdk;
5 |
6 | namespace CefSharp.Test
7 | {
8 | internal class BrowserRefCountDebuggingAttribute : BeforeAfterTestAttribute
9 | {
10 | private Type type;
11 | internal BrowserRefCountDebuggingAttribute(Type type)
12 | {
13 | this.type = type;
14 | }
15 |
16 | public override void Before(MethodInfo methodUnderTest)
17 | {
18 | ((BrowserRefCounter)BrowserRefCounter.Instance).AppendLineToLog($"{type} - TestMethod {methodUnderTest.DeclaringType} {methodUnderTest.Name}");
19 |
20 | base.Before(methodUnderTest);
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/CefSharp/Callback/IPermissionPromptCallback.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2022 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System;
6 |
7 | namespace CefSharp
8 | {
9 | ///
10 | /// Callback interface used for asynchronous continuation of permission prompts.
11 | ///
12 | public interface IPermissionPromptCallback : IDisposable
13 | {
14 | ///
15 | /// Complete the permissions request with the specified result.
16 | ///
17 | /// Permission request results.
18 | void Continue(PermissionRequestResult result);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/CefSharp.BrowserSubprocess.Core/Stdafx.h:
--------------------------------------------------------------------------------
1 | // Copyright © 2014 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | #pragma once
6 |
7 | #ifdef EXPORT
8 | #define DECL __declspec(dllexport)
9 | #else
10 | #define DECL __declspec(dllimport)
11 | #endif
12 |
13 | #include
14 |
15 | #include
16 |
17 | #include ".\..\CefSharp.Core.Runtime\Internals\CefRefCountManaged.h"
18 | #include ".\..\CefSharp.Core.Runtime\Internals\MCefRefPtr.h"
19 | #include ".\..\CefSharp.Core.Runtime\Internals\StringUtils.h"
20 | #include "vcclr_local.h"
21 |
22 | using namespace System;
23 | using namespace CefSharp;
24 | using namespace CefSharp::Internals;
25 |
--------------------------------------------------------------------------------
/CefSharp.Wpf.Example/StandardTabControlWindow.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Linq;
3 | using System.Windows;
4 |
5 | namespace CefSharp.Wpf.Example
6 | {
7 | ///
8 | /// Interaction logic for TestWindow.xaml
9 | ///
10 | public partial class StandardTabControlWindow : Window
11 | {
12 | public List Tabs { get; }
13 |
14 | public StandardTabControlWindow()
15 | {
16 | InitializeComponent();
17 |
18 | Tabs = Enumerable.Range(1, 10).Select(x => new ChromiumWebBrowser
19 | {
20 | Address = "google.com"
21 | }).ToList();
22 |
23 | DataContext = this;
24 |
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/CefSharp/Internals/MethodInvocationResult.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2015 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using CefSharp.JavascriptBinding;
6 |
7 | namespace CefSharp.Internals
8 | {
9 | public sealed class MethodInvocationResult
10 | {
11 | public int BrowserId { get; set; }
12 |
13 | public long? CallbackId { get; set; }
14 |
15 | public string FrameId { get; set; }
16 |
17 | public string Message { get; set; }
18 |
19 | public bool Success { get; set; }
20 |
21 | public object Result { get; set; }
22 |
23 | public IJavascriptNameConverter NameConverter { get; set; }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/.github/no-response.yml:
--------------------------------------------------------------------------------
1 | # Configuration for probot-no-response - https://github.com/probot/no-response
2 |
3 | # Number of days of inactivity before an Issue is closed for lack of response
4 | daysUntilClose: 14
5 |
6 | # Label requiring a response
7 | responseRequiredLabel: more-details-needed-from-op
8 |
9 | # Comment to post when closing an Issue for lack of response. Set to `false` to disable
10 | closeComment: >
11 | This issue has been automatically closed because there has been no response
12 | to our request for more information from the original author. With only the
13 | information that is currently in the issue, we don't have enough information
14 | to take action. Please reach out if you have or find the answers we need so
15 | that we can investigate further.
16 |
--------------------------------------------------------------------------------
/CefSharp.Example/JavascriptBinding/SubBoundObject.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2014 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Example.JavascriptBinding
6 | {
7 | public class SubBoundObject
8 | {
9 | public string SimpleProperty { get; set; }
10 |
11 | public SubBoundObject()
12 | {
13 | SimpleProperty = "This is a very simple property.";
14 | }
15 |
16 | public string GetMyType()
17 | {
18 | return "My Type is " + GetType();
19 | }
20 |
21 | public string EchoSimpleProperty()
22 | {
23 | return SimpleProperty;
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/CefSharp.Core/DragData.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2020 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | //NOTE:Classes in the CefSharp.Core namespace have been hidden from intellisnse so users don't use them directly
6 |
7 | namespace CefSharp
8 | {
9 | ///
10 | /// Used to represent Drag Data.
11 | ///
12 | public static class DragData
13 | {
14 | ///
15 | /// Create a new instance of
16 | ///
17 | /// DragData
18 | public static IDragData Create()
19 | {
20 | return Core.DragData.Create();
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/CefSharp.Example/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Reflection;
3 | using System.Runtime.InteropServices;
4 | using CefSharp;
5 |
6 | [assembly: AssemblyTitle("CefSharp.Example")]
7 | [assembly: AssemblyDescription("")]
8 | [assembly: AssemblyConfiguration("")]
9 | [assembly: AssemblyTrademark("")]
10 | [assembly: AssemblyCulture("")]
11 |
12 | [assembly: AssemblyCompany(AssemblyInfo.AssemblyCompany)]
13 | [assembly: AssemblyProduct(AssemblyInfo.AssemblyProduct)]
14 | [assembly: AssemblyCopyright(AssemblyInfo.AssemblyCopyright)]
15 | [assembly: ComVisible(AssemblyInfo.ComVisible)]
16 | [assembly: AssemblyVersion(AssemblyInfo.AssemblyVersion)]
17 | [assembly: AssemblyFileVersion(AssemblyInfo.AssemblyFileVersion)]
18 | [assembly: CLSCompliant(AssemblyInfo.ClsCompliant)]
19 |
--------------------------------------------------------------------------------
/CefSharp.WinForms/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Reflection;
3 | using System.Runtime.InteropServices;
4 | using CefSharp;
5 |
6 | [assembly: AssemblyTitle("CefSharp.WinForm")]
7 | [assembly: AssemblyDescription("")]
8 | [assembly: AssemblyConfiguration("")]
9 | [assembly: AssemblyTrademark("")]
10 | [assembly: AssemblyCulture("")]
11 |
12 | [assembly: AssemblyCompany(AssemblyInfo.AssemblyCompany)]
13 | [assembly: AssemblyProduct(AssemblyInfo.AssemblyProduct)]
14 | [assembly: AssemblyCopyright(AssemblyInfo.AssemblyCopyright)]
15 | [assembly: ComVisible(AssemblyInfo.ComVisible)]
16 | [assembly: AssemblyVersion(AssemblyInfo.AssemblyVersion)]
17 | [assembly: AssemblyFileVersion(AssemblyInfo.AssemblyFileVersion)]
18 | [assembly: CLSCompliant(AssemblyInfo.ClsCompliant)]
19 |
--------------------------------------------------------------------------------
/CefSharp/Enums/CompositionUnderlineStyle.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2020 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Enums
6 | {
7 | ///
8 | /// Composition underline style.
9 | ///
10 | public enum CompositionUnderlineStyle
11 | {
12 | ///
13 | /// Solid
14 | ///
15 | Solid,
16 | ///
17 | /// Dot
18 | ///
19 | Dot,
20 | ///
21 | /// Dash
22 | ///
23 | Dash,
24 | ///
25 | /// None
26 | ///
27 | None
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/CefSharp/Internals/CefSharpArguments.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2015 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Internals
6 | {
7 | public static class CefSharpArguments
8 | {
9 | public const string WcfEnabledArgument = "--wcf-enabled";
10 | public const string HostProcessIdArgument = "--host-process-id";
11 | public const string CustomSchemeArgument = "--custom-scheme";
12 | public const string FocusedNodeChangedEnabledArgument = "--focused-node-enabled";
13 | public const string SubProcessTypeArgument = "--type";
14 | public const string ExitIfParentProcessClosed = "--cefsharpexitsub";
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/CefSharp.OffScreen/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Reflection;
3 | using System.Runtime.InteropServices;
4 | using CefSharp;
5 |
6 | [assembly: AssemblyTitle("CefSharp.OffScreen")]
7 | [assembly: AssemblyDescription("")]
8 | [assembly: AssemblyConfiguration("")]
9 | [assembly: AssemblyTrademark("")]
10 | [assembly: AssemblyCulture("")]
11 |
12 | [assembly: AssemblyCompany(AssemblyInfo.AssemblyCompany)]
13 | [assembly: AssemblyProduct(AssemblyInfo.AssemblyProduct)]
14 | [assembly: AssemblyCopyright(AssemblyInfo.AssemblyCopyright)]
15 | [assembly: ComVisible(AssemblyInfo.ComVisible)]
16 | [assembly: AssemblyVersion(AssemblyInfo.AssemblyVersion)]
17 | [assembly: AssemblyFileVersion(AssemblyInfo.AssemblyFileVersion)]
18 | [assembly: CLSCompliant(AssemblyInfo.ClsCompliant)]
19 |
--------------------------------------------------------------------------------
/CefSharp.Test/RequestContextIsolatedBrowserTests.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2023 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System.Threading.Tasks;
6 | using CefSharp.Example;
7 | using CefSharp.OffScreen;
8 | using Xunit;
9 |
10 | namespace CefSharp.Test
11 | {
12 | ///
13 | /// Each browser instance will be created with it's own
14 | /// using an InMemory cache
15 | ///
16 | public abstract class RequestContextIsolatedBrowserTests : BrowserTests
17 | {
18 | protected RequestContextIsolatedBrowserTests()
19 | {
20 | RequestContextIsolated = true;
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/CefSharp/Internals/IntPtrExtensions.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2015 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System;
6 |
7 | namespace CefSharp.Internals
8 | {
9 | public static class IntPtrExtensions
10 | {
11 | ///
12 | /// Do an unchecked conversion from IntPtr to int
13 | /// so overflow exceptions don't get thrown.
14 | ///
15 | /// the IntPtr to cast
16 | /// a 32-bit signed integer
17 | public static int CastToInt32(this IntPtr intPtr)
18 | {
19 | return unchecked((int)intPtr.ToInt64());
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/CefSharp.BrowserSubprocess/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Reflection;
3 | using System.Runtime.InteropServices;
4 | using CefSharp;
5 |
6 | [assembly: AssemblyTitle("CefSharp.BrowserSubprocess")]
7 | [assembly: AssemblyDescription("")]
8 | [assembly: AssemblyConfiguration("")]
9 | [assembly: AssemblyTrademark("")]
10 | [assembly: AssemblyCulture("")]
11 |
12 | [assembly: AssemblyCompany(AssemblyInfo.AssemblyCompany)]
13 | [assembly: AssemblyProduct(AssemblyInfo.AssemblyProduct)]
14 | [assembly: AssemblyCopyright(AssemblyInfo.AssemblyCopyright)]
15 | [assembly: ComVisible(AssemblyInfo.ComVisible)]
16 | [assembly: AssemblyVersion(AssemblyInfo.AssemblyVersion)]
17 | [assembly: AssemblyFileVersion(AssemblyInfo.AssemblyFileVersion)]
18 | [assembly: CLSCompliant(AssemblyInfo.ClsCompliant)]
19 |
--------------------------------------------------------------------------------
/CefSharp.Core/PostDataElement.netcore.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2020 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | //NOTE:Classes in the CefSharp.Core namespace have been hidden from intellisnse so users don't use them directly
6 |
7 | namespace CefSharp
8 | {
9 | ///
10 | public class PostDataElement : CefSharp.Core.PostDataElement
11 | {
12 | ///
13 | /// Create a new instance of
14 | ///
15 | /// PostDataElement
16 | public static IPostDataElement Create()
17 | {
18 | return new CefSharp.Core.PostDataElement();
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/CefSharp/Callback/ICompletionCallback.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2014 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System;
6 |
7 | namespace CefSharp
8 | {
9 | ///
10 | /// Generic callback interface used for asynchronous completion.
11 | ///
12 | public interface ICompletionCallback : IDisposable
13 | {
14 | ///
15 | /// Method that will be called once the task is complete.
16 | ///
17 | void OnComplete();
18 |
19 | ///
20 | /// Gets a value indicating whether the callback has been disposed of.
21 | ///
22 | bool IsDisposed { get; }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/CefSharp.Example/Resources/JavascriptCallbackTest.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Javascript Callback Test
7 |
8 |
21 |
22 |
23 | Javascript Callback Test
24 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/CefSharp.WinForms/Internals/NativeMethods.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2015 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.WinForms.Internals
6 | {
7 | ///
8 | /// Class NativeMethods.
9 | ///
10 | internal static class NativeMethods
11 | {
12 | ///
13 | /// The w m_ move
14 | ///
15 | public const int WM_MOVE = 0x3;
16 | ///
17 | /// The w m_ moving
18 | ///
19 | public const int WM_MOVING = 0x216;
20 | ///
21 | /// The w m_ activate
22 | ///
23 | public const int WM_ACTIVATE = 0x6;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/CefSharp/ISslInfo.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2015 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System.Security.Cryptography.X509Certificates;
6 |
7 | namespace CefSharp
8 | {
9 | ///
10 | /// Class representing SSL information.
11 | ///
12 | public interface ISslInfo
13 | {
14 | ///
15 | /// Returns a bitmask containing any and all problems verifying the server
16 | /// certificate.
17 | ///
18 | CertStatus CertStatus { get; }
19 |
20 | ///
21 | /// Returns the X.509 certificate.
22 | ///
23 | X509Certificate2 X509Certificate { get; }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/CefSharp.Core.Runtime/Resource.rc:
--------------------------------------------------------------------------------
1 | #pragma code_page(65001)
2 |
3 | 1 VERSIONINFO
4 | FILEVERSION 143,0,90
5 | PRODUCTVERSION 143,0,90
6 | FILEFLAGSMASK 0x17L
7 | #ifdef _DEBUG
8 | FILEFLAGS 0x1L
9 | #else
10 | FILEFLAGS 0x0L
11 | #endif
12 | FILEOS 0x4L
13 | FILETYPE 0x1L
14 | FILESUBTYPE 0x0L
15 | BEGIN
16 | BLOCK "StringFileInfo"
17 | BEGIN
18 | BLOCK "040904b0"
19 | BEGIN
20 | VALUE "FileDescription", "CefSharp.Core"
21 | VALUE "FileVersion", "143.0.90"
22 | VALUE "LegalCopyright", "Copyright © 2023 The CefSharp Authors"
23 | VALUE "ProductName", "CefSharp"
24 | VALUE "ProductVersion", "143.0.90"
25 | END
26 | END
27 | BLOCK "VarFileInfo"
28 | BEGIN
29 | VALUE "Translation", 0x409, 1200
30 | END
31 | END
32 |
--------------------------------------------------------------------------------
/CefSharp/Enums/PostDataElementType.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2014 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp
6 | {
7 | ///
8 | /// Post data elements may represent either bytes or files.
9 | ///
10 | public enum PostDataElementType
11 | {
12 | ///
13 | /// An enum constant representing the empty option.
14 | ///
15 | Empty = 0,
16 | ///
17 | /// An enum constant representing the bytes option.
18 | ///
19 | Bytes,
20 | ///
21 | /// An enum constant representing the file option.
22 | ///
23 | File
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/CefSharp/Internals/HeaderNameValueCollection.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2019 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System.Collections.Specialized;
6 |
7 | namespace CefSharp.Internals
8 | {
9 | ///
10 | /// A implementation
11 | /// that can optionally be set to ReadOnly (used to represent the CefHeaderMap)
12 | ///
13 | public class HeaderNameValueCollection : NameValueCollection
14 | {
15 | ///
16 | /// Set the NameValueCollection to Readonly after it's been updated
17 | ///
18 | public void SetReadOnly()
19 | {
20 | IsReadOnly = true;
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/CefSharp.Core/DevTools/DevToolsDomainResponseBase.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2020 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.DevTools
6 | {
7 | ///
8 | /// DevToolsDomainResponseBase
9 | ///
10 | [System.Runtime.Serialization.DataContractAttribute]
11 | public abstract class DevToolsDomainResponseBase
12 | {
13 | ///
14 | /// Convert from string to base64 byte array
15 | ///
16 | /// string data
17 | /// byte array
18 | public byte[] Convert(string data)
19 | {
20 | return System.Convert.FromBase64String(data);
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/CefSharp.BrowserSubprocess.Core/Resource.rc:
--------------------------------------------------------------------------------
1 | #pragma code_page(65001)
2 |
3 | 1 VERSIONINFO
4 | FILEVERSION 143,0,90
5 | PRODUCTVERSION 143,0,90
6 | FILEFLAGSMASK 0x17L
7 | #ifdef _DEBUG
8 | FILEFLAGS 0x1L
9 | #else
10 | FILEFLAGS 0x0L
11 | #endif
12 | FILEOS 0x4L
13 | FILETYPE 0x1L
14 | FILESUBTYPE 0x0L
15 | BEGIN
16 | BLOCK "StringFileInfo"
17 | BEGIN
18 | BLOCK "040904b0"
19 | BEGIN
20 | VALUE "FileDescription", "CefSharp.BrowserSubprocess.Core"
21 | VALUE "FileVersion", "143.0.90"
22 | VALUE "LegalCopyright", "Copyright © 2023 The CefSharp Authors"
23 | VALUE "ProductName", "CefSharp"
24 | VALUE "ProductVersion", "143.0.90"
25 | END
26 | END
27 | BLOCK "VarFileInfo"
28 | BEGIN
29 | VALUE "Translation", 0x409, 1200
30 | END
31 | END
32 |
--------------------------------------------------------------------------------
/CefSharp.Wpf.HwndHost.Example/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2019 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System.Windows;
6 |
7 | [assembly: ThemeInfo(
8 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
9 | //(used if a resource is not found in the page,
10 | // or application resource dictionaries)
11 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
12 | //(used if a resource is not found in the page,
13 | // app, or any theme specific resource dictionaries)
14 | )]
15 |
--------------------------------------------------------------------------------
/CefSharp/Enums/AlphaType.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2014 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Enums
6 | {
7 | ///
8 | /// Describes how to interpret the alpha component of a pixel.
9 | ///
10 | public enum AlphaType
11 | {
12 | ///
13 | /// No transparency. The alpha component is ignored.
14 | ///
15 | Opaque,
16 |
17 | ///
18 | /// Transparency with pre-multiplied alpha component.
19 | ///
20 | PreMultiplied,
21 |
22 | ///
23 | /// Transparency with post-multiplied alpha component.
24 | ///
25 | PostMultiplied
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/CefSharp.WinForms/Handler/PopupCreation.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2022 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.WinForms.Handler
6 | {
7 | ///
8 | /// Popup Creation options
9 | ///
10 | public enum PopupCreation
11 | {
12 | ///
13 | /// Popup creation is cancled, no further action will occur
14 | ///
15 | Cancel = 0,
16 | ///
17 | /// Popup creation will continue as per normal.
18 | ///
19 | Continue,
20 | ///
21 | /// Popup creation will continue with javascript disabled.
22 | ///
23 | ContinueWithJavascriptDisabled
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/CefSharp.Wpf/Experimental/PopupCreation.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2022 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Wpf.Experimental
6 | {
7 | ///
8 | /// Popup Creation options
9 | ///
10 | public enum PopupCreation
11 | {
12 | ///
13 | /// Popup creation is cancled, no further action will occur
14 | ///
15 | Cancel = 0,
16 | ///
17 | /// Popup creation will continue as per normal.
18 | ///
19 | Continue,
20 | ///
21 | /// Popup creation will continue with javascript disabled.
22 | ///
23 | ContinueWithJavascriptDisabled
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/CefSharp.OffScreen/PopupBlending.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2014 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.OffScreen
6 | {
7 | ///
8 | /// Represents the popup blending in the main bitmap.
9 | ///
10 | public enum PopupBlending
11 | {
12 | ///
13 | /// The main bitmap and popup bitmap will be merged together
14 | /// (Popup bitmap overlayed on top of the main bitmap).
15 | ///
16 | Blend = 0,
17 | ///
18 | /// Retrieve the main bitmap
19 | ///
20 | Main,
21 | ///
22 | /// Retrieve the popup bitmap
23 | ///
24 | Popup
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/CefSharp.Wpf/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.InteropServices;
3 | using System.Windows;
4 | using CefSharp;
5 |
6 | [assembly: AssemblyTitle("CefSharp.Wpf")]
7 | [assembly: AssemblyDescription("")]
8 | [assembly: AssemblyConfiguration("")]
9 | [assembly: AssemblyTrademark("")]
10 | [assembly: AssemblyCulture("")]
11 |
12 | [assembly: AssemblyCompany(AssemblyInfo.AssemblyCompany)]
13 | [assembly: AssemblyProduct(AssemblyInfo.AssemblyProduct)]
14 | [assembly: AssemblyCopyright(AssemblyInfo.AssemblyCopyright)]
15 | [assembly: ComVisible(AssemblyInfo.ComVisible)]
16 | [assembly: AssemblyVersion(AssemblyInfo.AssemblyVersion)]
17 | [assembly: AssemblyFileVersion(AssemblyInfo.AssemblyFileVersion)]
18 |
19 | [assembly: ThemeInfo(
20 | ResourceDictionaryLocation.None,
21 | ResourceDictionaryLocation.SourceAssembly
22 | )]
23 |
--------------------------------------------------------------------------------
/CefSharp.Core/DevTools/DevToolsMethodResponse.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2020 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.DevTools
6 | {
7 | ///
8 | /// DevTools Method Response
9 | ///
10 | public class DevToolsMethodResponse : DevToolsDomainResponseBase
11 | {
12 | ///
13 | /// MessageId
14 | ///
15 | public int MessageId { get; set; }
16 |
17 | ///
18 | /// Success
19 | ///
20 | public bool Success { get; set; }
21 |
22 | ///
23 | /// Method Response as Json string
24 | ///
25 | public string ResponseAsJsonString { get; set; }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/CefSharp.Wpf.HwndHost.Example/TabbedMainWindow.xaml:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/CefSharp/Internals/CommandLineArgDictionary.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2019 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System.Collections.Generic;
6 |
7 | namespace CefSharp.Internals
8 | {
9 | ///
10 | /// Custom Dictionary that provides an Add(string) method for appending CEF Command line
11 | /// args that don't have a switch value.
12 | ///
13 | public class CommandLineArgDictionary : Dictionary
14 | {
15 | ///
16 | /// Adds the command line argument
17 | ///
18 | /// command line argument
19 | public void Add(string arg)
20 | {
21 | Add(arg, string.Empty);
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/CefSharp/Callback/ICallback.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2014 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System;
6 |
7 | namespace CefSharp
8 | {
9 | ///
10 | /// Generic callback interface used for asynchronous continuation.
11 | ///
12 | public interface ICallback : IDisposable
13 | {
14 | ///
15 | /// Continue processing.
16 | ///
17 | void Continue();
18 |
19 | ///
20 | /// Cancel processing.
21 | ///
22 | void Cancel();
23 |
24 | ///
25 | /// Gets a value indicating whether the callback has been disposed of.
26 | ///
27 | bool IsDisposed { get; }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/CefSharp.Wpf.Example/Controls/TouchKeyboard/Readme.md:
--------------------------------------------------------------------------------
1 | Code in this folder is adapted from https://github.com/Microsoft/WPF-Samples/tree/master/Input%20and%20Commands/TouchKeyboard/TouchKeyboardNotifier
2 |
3 | Licensed under an MIT license, see https://github.com/Microsoft/WPF-Samples/blob/master/LICENSE
4 |
5 | The files aren't included in the .csproj file intentially as they require the Windows 10 SDK
6 |
7 | It is reccomended that you obtain and use the https://github.com/Microsoft/WPF-Samples/tree/master/Input%20and%20Commands/TouchKeyboard/TouchKeyboardNotifier
8 | solution provided by Microsoft. It has more advanced features including TouchKeyboardAwareDecorator, which can be used
9 | to resize your window when the touch keyboard is visible. Please read https://github.com/Microsoft/WPF-Samples/blob/master/Input%20and%20Commands/TouchKeyboard/TouchKeyboardNotifier/Readme.md
10 |
11 |
--------------------------------------------------------------------------------
/CefSharp.Example/Resources/BindingApiCustomObjectNameTest.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | QUnit Javascript Binding API Object Name
6 |
7 |
13 |
14 |
15 |
16 |
17 |
18 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/CefSharp.Wpf/HwndHost/Internals/NoCloseLifespanHandler.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2022 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Wpf.HwndHost.Internals
6 | {
7 | ///
8 | /// LifeSpanHandler used internally
9 | /// - Cancels sending of WM_CLOSE message for main browser
10 | /// - Allows popups to close
11 | ///
12 | public class NoCloseLifespanHandler
13 | : CefSharp.Handler.LifeSpanHandler
14 | {
15 | ///
16 | protected override bool DoClose(IWebBrowser chromiumWebBrowser, IBrowser browser)
17 | {
18 | if(browser.IsPopup)
19 | {
20 | return false;
21 | }
22 |
23 | return true;
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/CefSharp.Core/DevTools/DevToolsDomainEventArgsBase.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2021 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System;
6 | using System.Runtime.Serialization;
7 |
8 | namespace CefSharp.DevTools
9 | {
10 | ///
11 | /// DevToolsDomainEventArgsBase
12 | ///
13 | [DataContract]
14 | public abstract class DevToolsDomainEventArgsBase : EventArgs
15 | {
16 | #if !NETCOREAPP
17 | public static object StringToEnum(Type enumType, string input)
18 | {
19 | return DevToolsDomainEntityBase.StringToEnum(enumType, input);
20 | }
21 |
22 | public static string EnumToString(Enum e)
23 | {
24 | return DevToolsDomainEntityBase.EnumToString(e);
25 | }
26 | #endif
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/CefSharp/Internals/IMethodRunnerQueue.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2019 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System;
6 |
7 | namespace CefSharp.Internals
8 | {
9 | ///
10 | /// Run (execute) calls made from Javascript to .Net methods
11 | ///
12 | public interface IMethodRunnerQueue : IDisposable
13 | {
14 | ///
15 | /// Method invocation was completed.
16 | ///
17 | event EventHandler MethodInvocationComplete;
18 |
19 | ///
20 | /// Enqueue a method invocation
21 | ///
22 | /// method invocation
23 | void Enqueue(MethodInvocation methodInvocation);
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/afterbuild.example.ps1:
--------------------------------------------------------------------------------
1 | param(
2 | [Parameter(Position = 0, Mandatory = $true)]
3 | [string] $Version
4 | )
5 |
6 | $WorkingDir = Split-Path -Parent $MyInvocation.MyCommand.Definition
7 | $Nuget = Join-Path $env:LOCALAPPDATA .\nuget\NuGet.exe
8 | $PackagePath = Join-Path $WorkingDir\nuget
9 |
10 | function Write-Diagnostic
11 | {
12 | param(
13 | [Parameter(Position = 0, Mandatory = $true, ValueFromPipeline = $true)]
14 | [string] $Message
15 | )
16 |
17 | Write-Host
18 | Write-Host $Message -ForegroundColor Green
19 | Write-Host
20 | }
21 |
22 | Write-Diagnostic "Uploading packages to myget"
23 |
24 | $Packages = @(
25 | "$PackagePath\CefSharp.Common.$Version.nupkg",
26 | "$PackagePath\CefSharp.WinForms.$Version.nupkg",
27 | "$PackagePath\CefSharp.Wpf.$Version.nupkg"
28 | )
29 |
30 | $Packages | ForEach-Object {
31 | . $Nuget push $_ -Source https://myget.org/F/X
32 | }
--------------------------------------------------------------------------------
/CefSharp.Example/Handlers/TempFileDialogHandler.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2014 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System.Collections.Generic;
6 | using System.IO;
7 | using CefSharp.Handler;
8 |
9 | namespace CefSharp.Example.Handlers
10 | {
11 | public class TempFileDialogHandler : DialogHandler
12 | {
13 | protected override bool OnFileDialog(IWebBrowser chromiumWebBrowser, IBrowser browser, CefFileDialogMode mode, string title, string defaultFilePath, IReadOnlyCollection acceptFilters, IReadOnlyCollection acceptExtensions, IReadOnlyCollection acceptDescriptions, IFileDialogCallback callback)
14 | {
15 | callback.Continue(new List { Path.GetRandomFileName() });
16 |
17 | return true;
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/CefSharp/Callback/IRunFileDialogCallback.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2018 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System.Collections.Generic;
6 |
7 | namespace CefSharp.Callback
8 | {
9 | ///
10 | /// Callback interface for IBrowserHost.RunFileDialog.
11 | /// The methods of this class will be called on the CEF UI thread.
12 | ///
13 | public interface IRunFileDialogCallback
14 | {
15 | ///
16 | /// Called asynchronously after the file dialog is dismissed.
17 | ///
18 | /// will be a single value or a list of values depending on the dialog mode. If the selection was cancelled filePaths will be empty
19 | void OnFileDialogDismissed(IList filePaths);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/CefSharp.Wpf.Example/Controls/CefSharpCommands.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2015 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System.Windows.Input;
6 |
7 | namespace CefSharp.Wpf.Example.Controls
8 | {
9 | public static class CefSharpCommands
10 | {
11 | public static RoutedUICommand Exit = new RoutedUICommand("Exit", "Exit", typeof(CefSharpCommands));
12 | public static RoutedUICommand OpenTabCommand = new RoutedUICommand("OpenTabCommand", "OpenTabCommand", typeof(CefSharpCommands));
13 | public static RoutedUICommand PrintTabToPdfCommand = new RoutedUICommand("PrintTabToPdfCommand", "PrintTabToPdfCommand", typeof(CefSharpCommands));
14 | public static RoutedUICommand CustomCommand = new RoutedUICommand("CustomCommand", "CustomCommand", typeof(CefSharpCommands));
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/CefSharp.Core.Runtime/Internals/JavascriptCallbackFactory.h:
--------------------------------------------------------------------------------
1 | // Copyright © 2015 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | #pragma once
6 |
7 | namespace CefSharp
8 | {
9 | namespace Internals
10 | {
11 | private ref class JavascriptCallbackFactory : public IJavascriptCallbackFactory
12 | {
13 | private:
14 | PendingTaskRepository^ _pendingTasks;
15 | public:
16 | JavascriptCallbackFactory(PendingTaskRepository^ pendingTasks)
17 | :_pendingTasks(pendingTasks)
18 | {
19 | }
20 |
21 | property WeakReference^ BrowserAdapter;
22 |
23 | virtual IJavascriptCallback^ Create(JavascriptCallback^ callback);
24 | };
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/CefSharp.Example/RequestEventHandler/EventArgs/OnRenderProcessTerminatedEventArgs.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2017 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Example.RequestEventHandler
6 | {
7 | public class OnRenderProcessTerminatedEventArgs : BaseRequestEventArgs
8 | {
9 | public OnRenderProcessTerminatedEventArgs(IWebBrowser chromiumWebBrowser, IBrowser browser, CefTerminationStatus status, int errorCode, string errorString)
10 | : base(chromiumWebBrowser, browser)
11 | {
12 | Status = status;
13 | ErrorCode = errorCode;
14 | ErrorString = errorString;
15 | }
16 |
17 | public CefTerminationStatus Status { get; }
18 | public int ErrorCode { get; }
19 | public string ErrorString { get; }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/CefSharp/Enums/CefTerminationStatus.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2014 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp
6 | {
7 | ///
8 | /// Process termination status values.
9 | ///
10 | public enum CefTerminationStatus
11 | {
12 | ///
13 | /// Non-zero exit status.
14 | ///
15 | AbnormalTermination = 0,
16 | ///
17 | /// SIGKILL or task manager kill.
18 | ///
19 | ProcessWasKilled,
20 | ///
21 | /// Segmentation fault.
22 | ///
23 | ProcessCrashed,
24 | ///
25 | /// Out of memory. Some platforms may use ProcessCrashed instead.
26 | ///
27 | OutOfMemory
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/CefSharp/Enums/TouchEventType.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2019 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Enums
6 | {
7 | ///
8 | /// Touch Event Type
9 | ///
10 | public enum TouchEventType
11 | {
12 | ///
13 | /// An enum constant representing the released option.
14 | ///
15 | Released = 0,
16 | ///
17 | /// An enum constant representing the pressed option.
18 | ///
19 | Pressed,
20 | ///
21 | /// An enum constant representing the moved option.
22 | ///
23 | Moved,
24 | ///
25 | /// An enum constant representing the cancelled option.
26 | ///
27 | Cancelled
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/CefSharp/Structs/Point.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2018 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Structs
6 | {
7 | ///
8 | /// Class representing a point.
9 | ///
10 | public struct Point
11 | {
12 | ///
13 | /// X coordinate
14 | ///
15 | public int X { get; private set; }
16 |
17 | ///
18 | /// Y coordinate
19 | ///
20 | public int Y { get; private set; }
21 |
22 | ///
23 | /// Point
24 | ///
25 | /// x coordinate
26 | /// y coordinate
27 | public Point(int x, int y)
28 | {
29 | X = x;
30 | Y = y;
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/CefSharp/Structs/Range.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2016 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Structs
6 | {
7 | ///
8 | /// Represents a range
9 | ///
10 | public struct Range
11 | {
12 | ///
13 | /// From
14 | ///
15 | public int From { get; private set; }
16 |
17 | ///
18 | /// To
19 | ///
20 | public int To { get; private set; }
21 |
22 | ///
23 | /// Range
24 | ///
25 | /// from
26 | /// to
27 | public Range(int from, int to)
28 | : this()
29 | {
30 | From = from;
31 | To = to;
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/CefSharp.BrowserSubprocess.Core/Async/JavascriptAsyncMethodWrapper.cpp:
--------------------------------------------------------------------------------
1 | // Copyright © 2015 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | #include "stdafx.h"
6 | #include "JavascriptCallbackRegistry.h"
7 | #include "JavascriptAsyncMethodWrapper.h"
8 |
9 | namespace CefSharp
10 | {
11 | namespace BrowserSubprocess
12 | {
13 | namespace Async
14 | {
15 | void JavascriptAsyncMethodWrapper::Bind(JavascriptMethod^ method, const CefRefPtr& value)
16 | {
17 | auto methodName = StringUtils::ToNative(method->JavascriptName);
18 | auto v8Function = CefV8Value::CreateFunction(methodName, _javascriptMethodHandler.get());
19 |
20 | value->SetValue(methodName, v8Function, V8_PROPERTY_ATTRIBUTE_NONE);
21 | }
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/CefSharp.Wpf.HwndHost.Example/Behaviours/TextBoxBindingUpdateOnEnterBehaviour.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Controls;
2 | using System.Windows.Input;
3 | using Microsoft.Xaml.Behaviors;
4 |
5 | namespace CefSharp.Wpf.HwndHost.Example.Behaviours
6 | {
7 | public class TextBoxBindingUpdateOnEnterBehaviour : Behavior
8 | {
9 | protected override void OnAttached()
10 | {
11 | AssociatedObject.KeyDown += OnTextBoxKeyDown;
12 | }
13 |
14 | protected override void OnDetaching()
15 | {
16 | AssociatedObject.KeyDown -= OnTextBoxKeyDown;
17 | }
18 |
19 | private void OnTextBoxKeyDown(object sender, KeyEventArgs e)
20 | {
21 | if (e.Key == Key.Enter)
22 | {
23 | var txtBox = sender as TextBox;
24 | txtBox.GetBindingExpression(TextBox.TextProperty).UpdateSource();
25 | }
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/CefSharp.Core.Runtime.RefAssembly/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2020 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System;
6 | using System.Reflection;
7 | using System.Runtime.InteropServices;
8 | using CefSharp;
9 |
10 | [assembly: AssemblyTitle("CefSharp.Core.Runtime")]
11 | [assembly:AssemblyDescription("CefSharp Core Runtime Library (VC++)")]
12 | [assembly:AssemblyCompany(AssemblyInfo.AssemblyCompany)]
13 | [assembly:AssemblyProduct(AssemblyInfo.AssemblyProduct)]
14 | [assembly:AssemblyCopyright(AssemblyInfo.AssemblyCopyright)]
15 |
16 | [assembly:AssemblyVersion(AssemblyInfo.AssemblyVersion)]
17 | [assembly:ComVisible(AssemblyInfo.ComVisible)]
18 | [assembly:CLSCompliant(AssemblyInfo.ClsCompliant)]
19 |
20 |
21 | [assembly:AssemblyConfiguration("")]
22 | [assembly:AssemblyTrademark("")]
23 | [assembly:AssemblyCulture("")]
24 |
--------------------------------------------------------------------------------
/CefSharp.Example/RequestEventHandler/EventArgs/OnProtocolExecutionEventArgs.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2017 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Example.RequestEventHandler
6 | {
7 | public class OnProtocolExecutionEventArgs : BaseRequestEventArgs
8 | {
9 | public OnProtocolExecutionEventArgs(IWebBrowser chromiumWebBrowser, IBrowser browser, string url) : base(chromiumWebBrowser, browser)
10 | {
11 | Url = url;
12 |
13 | AttemptExecution = false; // default
14 | }
15 |
16 | public string Url { get; private set; }
17 |
18 | ///
19 | /// Set to true to attempt execution via the registered OS protocol handler, if any. Otherwise set to false.
20 | ///
21 | public bool AttemptExecution { get; set; }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/CefSharp/Internals/FreezableBase.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2020 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System;
6 |
7 | namespace CefSharp.Internals
8 | {
9 | ///
10 | /// Base classes for Feezable settings objects
11 | ///
12 | public class FreezableBase
13 | {
14 | private bool frozen;
15 |
16 | public void Freeze()
17 | {
18 | frozen = true;
19 | }
20 |
21 | protected void ThrowIfFrozen([System.Runtime.CompilerServices.CallerMemberName] string memberName = "")
22 | {
23 | if (frozen)
24 | {
25 | throw new Exception(GetType().Name + "." + memberName + " can no longer be modified, settings must be changed before the underlying browser has been created.");
26 | }
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/CefSharp.Core/DevTools/DevToolsEventArgs.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2020 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.DevTools
6 | {
7 | ///
8 | /// DevTools Event EventAargs
9 | ///
10 | public class DevToolsEventArgs : DevToolsDomainEventArgsBase
11 | {
12 | ///
13 | /// Event Name
14 | ///
15 | public string EventName { get; private set; }
16 |
17 | ///
18 | /// Event paramaters as Json string
19 | ///
20 | public string ParametersAsJsonString { get; private set; }
21 |
22 | public DevToolsEventArgs(string eventName, string paramsAsJsonString)
23 | {
24 | EventName = eventName;
25 | ParametersAsJsonString = paramsAsJsonString;
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/CefSharp/Enums/FilterStatus.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2015 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp
6 | {
7 | ///
8 | /// Return values for IResponseFilter
9 | ///
10 | public enum FilterStatus
11 | {
12 | ///
13 | /// Some or all of the pre-filter data was read successfully but more data is
14 | /// needed in order to continue filtering (filtered output is pending).
15 | ///
16 | NeedMoreData,
17 |
18 | ///
19 | /// Some or all of the pre-filter data was read successfully and all available filtered output has been written.
20 | ///
21 | Done,
22 |
23 | ///
24 | /// An error occurred during filtering.
25 | ///
26 | Error
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/CefSharp/Enums/SslContentStatus.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2016 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp
6 | {
7 | ///
8 | /// Supported SSL content status flags. See content/public/common/ssl_status.h
9 | /// for more information.
10 | ///
11 | public enum SslContentStatus
12 | {
13 | ///
14 | /// HTTP page, or HTTPS page with no insecure content..
15 | ///
16 | NormalContent = 0,
17 | ///
18 | /// HTTPS page containing "displayed" HTTP resources (e.g. images, CSS).
19 | ///
20 | DisplayedInsecureContent = 1 << 0,
21 | ///
22 | /// HTTPS page containing "executed" HTTP resources (i.e. script)
23 | ///
24 | RanInsecureContent = 1 << 1,
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/CefSharp.Test/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using CefSharp;
2 | using System;
3 | using System.Reflection;
4 | using System.Runtime.InteropServices;
5 | using Xunit;
6 |
7 | [assembly: AssemblyTitle("CefSharp.Test")]
8 | [assembly: AssemblyDescription("")]
9 | [assembly: AssemblyConfiguration("")]
10 | [assembly: AssemblyTrademark("")]
11 | [assembly: AssemblyCulture("")]
12 |
13 | [assembly: AssemblyCompany(AssemblyInfo.AssemblyCompany)]
14 | [assembly: AssemblyProduct(AssemblyInfo.AssemblyProduct)]
15 | [assembly: AssemblyCopyright(AssemblyInfo.AssemblyCopyright)]
16 | [assembly: ComVisible(AssemblyInfo.ComVisible)]
17 | [assembly: AssemblyVersion(AssemblyInfo.AssemblyVersion)]
18 | [assembly: AssemblyFileVersion(AssemblyInfo.AssemblyFileVersion)]
19 | [assembly: CLSCompliant(AssemblyInfo.ClsCompliant)]
20 |
21 | [assembly: CollectionBehavior(DisableTestParallelization = true, MaxParallelThreads = 1)]
22 | //[assembly: TestCaseOrderer("CefSharp.Test.CefSharpTestCaseOrderer", "CefSharp.Test")]
23 |
--------------------------------------------------------------------------------
/CefSharp/Structs/Size.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2017 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Structs
6 | {
7 | ///
8 | /// Structure representing a size.
9 | ///
10 | public struct Size
11 | {
12 | ///
13 | /// Width
14 | ///
15 | public int Width { get; private set; }
16 |
17 | ///
18 | /// Height
19 | ///
20 | public int Height { get; private set; }
21 |
22 | ///
23 | /// Size
24 | ///
25 | /// width
26 | /// height
27 | public Size(int width, int height)
28 | : this()
29 | {
30 | Width = width;
31 | Height = height;
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/CefSharp.Core.Runtime/UrlRequest.cpp:
--------------------------------------------------------------------------------
1 | // Copyright © 2019 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | #include "Stdafx.h"
6 | #include "UrlRequest.h"
7 | #include "Internals\CefResponseWrapper.h"
8 |
9 | namespace CefSharp
10 | {
11 | namespace Core
12 | {
13 |
14 | bool UrlRequest::ResponseWasCached::get()
15 | {
16 | ThrowIfDisposed();
17 |
18 | return _urlRequest->ResponseWasCached();
19 | }
20 |
21 | IResponse^ UrlRequest::Response::get()
22 | {
23 | ThrowIfDisposed();
24 |
25 | return gcnew CefResponseWrapper(_urlRequest->GetResponse());
26 | }
27 |
28 | UrlRequestStatus UrlRequest::RequestStatus::get()
29 | {
30 | ThrowIfDisposed();
31 |
32 | return (UrlRequestStatus)_urlRequest->GetRequestStatus();
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/CefSharp/Preferences/SetProxyResponse.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2021 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | namespace CefSharp.Preferences
6 | {
7 | ///
8 | /// Response when either
9 | /// or are called.
10 | ///
11 | public class SetProxyResponse : SetPreferenceResponse
12 | {
13 | ///
14 | /// Initializes a new instance of the SetProxyResponse class.
15 | ///
16 | /// success
17 | /// error message
18 | public SetProxyResponse(bool success, string errorMessage) : base(success, errorMessage)
19 | {
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/CefSharp.Example/ModelBinding/PropertyInterceptorLogger.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2022 The CefSharp Authors. All rights reserved.
2 | //
3 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 |
5 | using System;
6 | using System.Diagnostics;
7 | using CefSharp.ModelBinding;
8 |
9 | namespace CefSharp.Example.ModelBinding
10 | {
11 | public class PropertyInterceptorLogger : IPropertyInterceptor
12 | {
13 | object IPropertyInterceptor.InterceptGet(Func