├── .gitattributes ├── .gitignore ├── Build.bat ├── CONTRIBUTING.md ├── CefSharp.BrowserSubprocess.Core ├── AssemblyInfo.cpp ├── Async │ ├── JavascriptAsyncMethodCallback.cpp │ ├── JavascriptAsyncMethodCallback.h │ ├── JavascriptAsyncMethodHandler.cpp │ ├── JavascriptAsyncMethodHandler.h │ ├── JavascriptAsyncMethodWrapper.cpp │ ├── JavascriptAsyncMethodWrapper.h │ ├── JavascriptAsyncObjectWrapper.cpp │ └── JavascriptAsyncObjectWrapper.h ├── CefAppUnmanagedWrapper.cpp ├── CefAppUnmanagedWrapper.h ├── CefBrowserWrapper.h ├── CefSharp.BrowserSubprocess.Core.vcxproj ├── CefSharp.BrowserSubprocess.Core.vcxproj.filters ├── JavascriptCallbackRegistry.cpp ├── JavascriptCallbackRegistry.h ├── JavascriptCallbackWrapper.h ├── JavascriptMethodHandler.cpp ├── JavascriptMethodHandler.h ├── JavascriptMethodWrapper.cpp ├── JavascriptMethodWrapper.h ├── JavascriptObjectWrapper.cpp ├── JavascriptObjectWrapper.h ├── JavascriptPropertyHandler.h ├── JavascriptPropertyWrapper.cpp ├── JavascriptPropertyWrapper.h ├── JavascriptRootObjectWrapper.cpp ├── JavascriptRootObjectWrapper.h ├── Resource.aps ├── Resource.rc ├── Serialization │ ├── JsObjectsSerialization.cpp │ ├── JsObjectsSerialization.h │ ├── V8Serialization.cpp │ └── V8Serialization.h ├── Stdafx.cpp ├── Stdafx.h ├── SubProcess.h ├── TypeUtils.cpp ├── TypeUtils.h ├── WcfEnabledSubProcess.cpp ├── WcfEnabledSubProcess.h ├── packages.config ├── resource.h └── vcclr_local.h ├── CefSharp.BrowserSubprocess ├── CefSharp.BrowserSubprocess.csproj ├── Program.cs ├── Properties │ └── AssemblyInfo.cs ├── app.config └── app.manifest ├── CefSharp.Core ├── AssemblyInfo.cpp ├── BrowserSettings.h ├── Cef.h ├── CefSettings.h ├── CefSharp.Core.vcxproj ├── CefSharp.Core.vcxproj.filters ├── CookieManager.cpp ├── CookieManager.h ├── Internals │ ├── CefAuthCallbackWrapper.h │ ├── CefBeforeDownloadCallbackWrapper.h │ ├── CefBrowserHostWrapper.cpp │ ├── CefBrowserHostWrapper.h │ ├── CefCallbackWrapper.h │ ├── CefCertificateCallbackWrapper.h │ ├── CefCompletionCallbackAdapter.h │ ├── CefContextMenuParamsWrapper.cpp │ ├── CefContextMenuParamsWrapper.h │ ├── CefDeleteCookiesCallbackAdapter.h │ ├── CefDownloadItemCallbackWrapper.h │ ├── CefDragDataWrapper.h │ ├── CefFileDialogCallbackWrapper.h │ ├── CefFrameWrapper.cpp │ ├── CefFrameWrapper.h │ ├── CefGeolocationCallbackWrapper.h │ ├── CefGetGeolocationCallbackAdapter.h │ ├── CefJSDialogCallbackWrapper.h │ ├── CefMenuModelWrapper.h │ ├── CefNavigationEntryVisitorAdapter.h │ ├── CefPdfPrintCallbackWrapper.h │ ├── CefPostDataElementWrapper.h │ ├── CefPostDataWrapper.h │ ├── CefRegisterCdmCallbackAdapter.h │ ├── CefRequestCallbackWrapper.h │ ├── CefRequestWrapper.cpp │ ├── CefRequestWrapper.h │ ├── CefResolveCallbackAdapter.h │ ├── CefResponseFilterAdapter.h │ ├── CefResponseWrapper.h │ ├── CefRunContextMenuCallbackWrapper.h │ ├── CefSetCookieCallbackAdapter.h │ ├── CefSharpApp.h │ ├── CefSharpBrowserWrapper.cpp │ ├── CefSharpBrowserWrapper.h │ ├── CefSslInfoWrapper.h │ ├── CefTaskScheduler.h │ ├── CefTaskWrapper.h │ ├── CefWrapper.h │ ├── ClientAdapter.cpp │ ├── ClientAdapter.h │ ├── CookieVisitor.cpp │ ├── CookieVisitor.h │ ├── JavascriptCallbackFactory.cpp │ ├── JavascriptCallbackFactory.h │ ├── JavascriptCallbackProxy.cpp │ ├── JavascriptCallbackProxy.h │ ├── MCefRefPtr.h │ ├── Messaging │ │ └── Messages.h │ ├── PluginVisitor.h │ ├── RenderClientAdapter.h │ ├── ReportUnhandledExceptions.h │ ├── Serialization │ │ ├── JsObjectsSerialization.cpp │ │ ├── JsObjectsSerialization.h │ │ ├── ObjectsSerialization.cpp │ │ ├── ObjectsSerialization.h │ │ ├── Primitives.cpp │ │ ├── Primitives.h │ │ ├── V8Serialization.cpp │ │ └── V8Serialization.h │ ├── StringUtils.h │ ├── StringVisitor.cpp │ ├── StringVisitor.h │ └── TypeConversion.h ├── ManagedCefBrowserAdapter.cpp ├── ManagedCefBrowserAdapter.h ├── NativeMethodWrapper.cpp ├── NativeMethodWrapper.h ├── OsrImeHandler.cpp ├── OsrImeHandler.h ├── OsrImeWin.cpp ├── OsrImeWin.h ├── PopupFeatures.h ├── RequestContext.h ├── RequestContextHandler.h ├── RequestContextSettings.h ├── Resource.aps ├── Resource.rc ├── ResourceHandlerWrapper.cpp ├── ResourceHandlerWrapper.h ├── SchemeHandlerFactoryWrapper.h ├── Stdafx.cpp ├── Stdafx.h ├── WindowInfo.h ├── packages.config ├── resource.h └── vcclr_local.h ├── CefSharp.Example ├── AsyncBoundObject.cs ├── BoundObject.cs ├── CallbackResponseStruct.cs ├── CefExample.cs ├── CefSharp.Example.csproj ├── CefSharpSchemeHandler.cs ├── CefSharpSchemeHandlerFactory.cs ├── DownloadHandler.cs ├── ExceptionTestBoundObject.cs ├── Filters │ ├── AppendResponseFilter.cs │ ├── FindReplaceMultiResponseFilter.cs │ ├── FindReplaceResponseFilter.cs │ ├── MemoryStreamResponseFilter.cs │ └── PassThruResponseFilter.cs ├── FlashResourceHandler.cs ├── FlashResourceHandlerFactory.cs ├── Handlers │ ├── BrowserProcessHandler.cs │ └── RequestHandler.cs ├── InMemorySchemeAndResourceHandlerFactory.cs ├── JsDialogHandler.cs ├── JsSerializableClass.cs ├── JsSerializableStruct.cs ├── ModelBinding │ └── MethodInterceptorLogger.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx ├── Proxy │ ├── InternetOpenType.cs │ ├── InternetProxyInfo.cs │ └── ProxyConfig.cs ├── RenderProcessMessageHandler.cs ├── RequestEventHandler │ ├── EventArgs │ │ ├── BaseRequestEventArgs.cs │ │ ├── GetAuthCredentialsEventArgs.cs │ │ ├── GetResourceResponseFilterEventArgs.cs │ │ ├── OnBeforeBrowseEventArgs.cs │ │ ├── OnBeforeResourceLoadEventArgs.cs │ │ ├── OnCertificateErrorEventArgs.cs │ │ ├── OnOpenUrlFromTabEventArgs.cs │ │ ├── OnPluginCrashedEventArgs.cs │ │ ├── OnProtocolExecutionEventArgs.cs │ │ ├── OnQuotaRequestEventArgs.cs │ │ ├── OnRenderProcessTerminatedEventArgs.cs │ │ ├── OnRenderViewReadyEventArgs.cs │ │ ├── OnResourceLoadCompleteEventArgs.cs │ │ ├── OnResourceRedirectEventArgs.cs │ │ └── OnResourceResponseEventArgs.cs │ └── RequestEventHandler.cs ├── Resources │ ├── BindingTest.html │ ├── CdmSupportTest.html │ ├── CssAnimation.html │ ├── DraggableRegionTest.html │ ├── ExceptionTest.html │ ├── FramedWebGLTest.html │ ├── Home.html │ ├── MultiBindingTest.html │ ├── PopupTest.html │ ├── PopupsTest.html │ ├── Recaptcha.html │ ├── ResponseFilterTest.html │ ├── SchemeTest.html │ ├── ScriptedMethodsTest.html │ ├── TooltipTest.html │ ├── UnicodeExampleGreaterThan32kb.html │ ├── UnocodeExampleEqualTo32kb.html │ ├── assets │ │ ├── css │ │ │ ├── docs.css │ │ │ ├── shCore.css │ │ │ └── shCoreDefault.css │ │ ├── images │ │ │ └── beach-2089936_1920.jpg │ │ └── js │ │ │ ├── application.js │ │ │ ├── jquery.js │ │ │ ├── shBrushCSharp.js │ │ │ ├── shBrushJScript.js │ │ │ └── shCore.js │ ├── bootstrap │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.js │ └── extension.js ├── ScriptedMethods.cs ├── ScriptedMethodsBoundObject.cs ├── SimpleClass.cs ├── SimpleSubClass.cs ├── SubBoundObject.cs └── TempFileDialogHandler.cs ├── CefSharp.Native.props ├── CefSharp.OffScreen.Example ├── CefSharp.OffScreen.Example.csproj ├── Program.cs ├── Properties │ └── AssemblyInfo.cs ├── app.config ├── app.manifest ├── crash_reporter.cfg └── packages.config ├── CefSharp.OffScreen ├── BitmapFactory.cs ├── CefSharp.OffScreen.csproj ├── ChromiumWebBrowser.cs ├── GdiBitmapInfo.cs ├── PopupBlending.cs └── Properties │ └── AssemblyInfo.cs ├── CefSharp.Test ├── CefSharp.Test.csproj ├── CefSharpFixture.cs ├── CefSharpFixtureCollection.cs ├── Framework │ ├── AsyncExtensionFacts.cs │ └── BinderFacts.cs ├── OffScreen │ └── OffScreenBrowserBasicFacts.cs ├── Properties │ └── AssemblyInfo.cs ├── WebBrowserTestExtensions.cs ├── WinForms │ └── WinFormsBrowserBasicFacts.cs ├── Wpf │ └── WpfBrowserBasicFacts.cs ├── app.config └── packages.config ├── CefSharp.WinForms.Example ├── AboutBox.Designer.cs ├── AboutBox.cs ├── AboutBox.resx ├── BrowserForm.Designer.cs ├── BrowserForm.cs ├── BrowserForm.resx ├── BrowserTabUserControl.Designer.cs ├── BrowserTabUserControl.cs ├── BrowserTabUserControl.resx ├── CefSharp.WinForms.Example.csproj ├── CefSharp.WinForms.Example.csproj.DotSettings ├── ChromeWidgetMessageInterceptor.cs ├── Handlers │ ├── DisplayHandler.cs │ ├── GeolocationHandler.cs │ ├── KeyboardHandler.cs │ ├── LifeSpanHandler.cs │ ├── MenuHandler.cs │ ├── WinFormsBrowserProcessHandler.cs │ └── WinFormsRequestHandler.cs ├── InputBox.Designer.cs ├── InputBox.cs ├── InputBox.resx ├── Minimal │ ├── SimpleBrowserForm.Designer.cs │ ├── SimpleBrowserForm.cs │ ├── SimpleBrowserForm.resx │ ├── TabulationDemoForm.Designer.cs │ ├── TabulationDemoForm.cs │ └── TabulationDemoForm.resx ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx ├── Resources │ ├── chromium-256.png │ ├── nav_left_green.png │ ├── nav_plain_green.png │ ├── nav_plain_red.png │ └── nav_right_green.png ├── app.config ├── app.manifest ├── crash_reporter.cfg └── packages.config ├── CefSharp.WinForms.Test ├── CefSharp.WinForms.Test.csproj ├── InitTest.cs └── Properties │ └── AssemblyInfo.cs ├── CefSharp.WinForms ├── CefSharp.WinForms.csproj ├── ChromiumWebBrowser.cs ├── IWinFormsWebBrowser.cs ├── Internals │ ├── ControlExtensions.cs │ ├── DefaultFocusHandler.cs │ ├── NativeMethods.cs │ └── ParentFormMessageInterceptor.cs └── Properties │ └── AssemblyInfo.cs ├── CefSharp.Wpf.Example ├── App.xaml ├── App.xaml.cs ├── CefSharp.Wpf.Example.csproj ├── Controls │ ├── CefSharpCommands.cs │ └── NonReloadingTabControl.cs ├── Handlers │ ├── DisplayHandler.cs │ ├── DragHandler.cs │ ├── GeolocationHandler.cs │ ├── LifespanHandler.cs │ ├── MenuHandler.cs │ ├── RequestContextHandler.cs │ └── WpfBrowserProcessHandler.cs ├── MainWindow.xaml ├── MainWindow.xaml.cs ├── Program.cs ├── Properties │ └── AssemblyInfo.cs ├── SimpleMainWindow.xaml ├── SimpleMainWindow.xaml.cs ├── SpawnBrowsersWindow.xaml ├── SpawnBrowsersWindow.xaml.cs ├── ViewModels │ └── BrowserTabViewModel.cs ├── Views │ ├── BrowserTabView.xaml │ └── BrowserTabView.xaml.cs ├── app.config ├── app.manifest ├── crash_reporter.cfg └── packages.config ├── CefSharp.Wpf ├── CefSharp.Wpf.csproj ├── ChromiumWebBrowser.cs ├── DelegateCommand.cs ├── IWpfWebBrowser.cs ├── Internals │ └── WpfExtensions.cs ├── Properties │ └── AssemblyInfo.cs ├── Rendering │ ├── BitmapFactory.cs │ ├── InteropBitmapInfo.cs │ ├── WpfBitmapInfo.cs │ └── WritableBitmapInfo.cs ├── RenderingEventArgs.cs └── WM.cs ├── CefSharp.props ├── CefSharp.shfbproj ├── CefSharp.snk ├── CefSharp ├── AsyncExtensions.cs ├── BindingOptions.cs ├── Callback │ ├── IAuthCallback.cs │ ├── IBeforeDownloadCallback.cs │ ├── ICallback.cs │ ├── ICompletionCallback.cs │ ├── IDeleteCookiesCallback.cs │ ├── IDownloadItemCallback.cs │ ├── IFileDialogCallback.cs │ ├── IGeolocationCallback.cs │ ├── IGetGeolocationCallback.cs │ ├── IJavascriptCallback.cs │ ├── IJsDialogCallback.cs │ ├── IPrintToPdfCallback.cs │ ├── IRegisterCdmCallback.cs │ ├── IRequestCallback.cs │ ├── IResolveCallback.cs │ ├── IRunContextMenuCallback.cs │ ├── ISelectClientCertificateCallback.cs │ ├── ISetCookieCallback.cs │ ├── TaskCompletionCallback.cs │ ├── TaskDeleteCookiesCallback.cs │ ├── TaskGetGeolocationCallback.cs │ ├── TaskPrintToPdfCallback.cs │ ├── TaskRegisterCdmCallback.cs │ ├── TaskResolveCallback.cs │ └── TaskSetCookieCallback.cs ├── CdmRegistration.cs ├── CefCustomScheme.cs ├── CefExtension.cs ├── CefLibraryHandle.cs ├── CefSharp.csproj ├── CefSharpSettings.cs ├── Cookie.cs ├── DefaultResourceHandlerFactory.cs ├── DefaultResourceHandlerFactoryItem.cs ├── DependencyChecker.cs ├── DomNode.cs ├── DownloadItem.cs ├── Enums │ ├── CdmRegistrationErrorCode.cs │ ├── CefErrorCode.cs │ ├── CefEventFlags.cs │ ├── CefFileDialogMode.cs │ ├── CefFocusSource.cs │ ├── CefGeoPositionErrorCode.cs │ ├── CefJsDialogType.cs │ ├── CefMenuCommand.cs │ ├── CefPdfPrintMarginType.cs │ ├── CefReturnValue.cs │ ├── CefState.cs │ ├── CefTerminationStatus.cs │ ├── CefThreadIds.cs │ ├── CertStatus.cs │ ├── ContextMenuEditState.cs │ ├── ContextMenuMediaState.cs │ ├── ContextMenuMediaType.cs │ ├── ContextMenuType.cs │ ├── CursorType.cs │ ├── DragOperationsMask.cs │ ├── FilterStatus.cs │ ├── KeyEventType.cs │ ├── KeyType.cs │ ├── LogSeverity.cs │ ├── MenuItemType.cs │ ├── MouseButtonType.cs │ ├── PaintElementType.cs │ ├── PluginPolicy.cs │ ├── PostDataElementType.cs │ ├── ReferrerPolicy.cs │ ├── ResourceType.cs │ ├── SslContentStatus.cs │ ├── SslVersion.cs │ ├── TransitionType.cs │ ├── UrlRequestFlags.cs │ ├── UrlRequestStatus.cs │ └── WindowOpenDisposition.cs ├── Event │ ├── AddressChangedEventArgs.cs │ ├── ConsoleMessageEventArgs.cs │ ├── FrameLoadEndEventArgs.cs │ ├── FrameLoadStartEventArgs.cs │ ├── IsBrowserInitializedChangedEventArgs.cs │ ├── LoadErrorEventArgs.cs │ ├── LoadingStateChangedEventArgs.cs │ ├── StatusMessageEventHandler.cs │ └── TitleChangedEventArgs.cs ├── Geoposition.cs ├── Handler │ ├── DefaultRequestHandler.cs │ ├── IBrowserProcessHandler.cs │ ├── IContextMenuHandler.cs │ ├── IDialogHandler.cs │ ├── IDisplayHandler.cs │ ├── IDownloadHandler.cs │ ├── IDragHandler.cs │ ├── IFindHandler.cs │ ├── IFocusHandler.cs │ ├── IGeolocationHandler.cs │ ├── IJsDialogHandler.cs │ ├── IKeyboardHandler.cs │ ├── ILifeSpanHandler.cs │ ├── ILoadHandler.cs │ ├── IRenderProcessMessageHandler.cs │ ├── IRequestContextHandler.cs │ ├── IRequestHandler.cs │ └── IResourceHandler.cs ├── IBitmapFactory.cs ├── IBrowser.cs ├── IBrowserHost.cs ├── IBrowserSettings.cs ├── IContextMenuParams.cs ├── ICookieManager.cs ├── IDomNode.cs ├── IDragData.cs ├── IFrame.cs ├── IMenuModel.cs ├── IPopupFeatures.cs ├── IPostData.cs ├── IPostDataElement.cs ├── IRequest.cs ├── IRequestContext.cs ├── IResourceHandlerFactory.cs ├── IResponse.cs ├── IResponseFilter.cs ├── ISslInfo.cs ├── ITaskScheduler.cs ├── IWebBrowser.cs ├── IWindowInfo.cs ├── InternalWebBrowserExtensions.cs ├── Internals │ ├── BitmapInfo.cs │ ├── BrowserProcessResponse.cs │ ├── BrowserProcessService.cs │ ├── BrowserProcessServiceHost.cs │ ├── ByteArrayResourceHandler.cs │ ├── CefSharpArguments.cs │ ├── CefTimeUtils.cs │ ├── CommandLineArgsParser.cs │ ├── FileResourceHandler.cs │ ├── IBrowserAdapter.cs │ ├── IBrowserProcess.cs │ ├── IJavascriptCallbackFactory.cs │ ├── IRenderWebBrowser.cs │ ├── IWebBrowserInternal.cs │ ├── IntPtrExtensions.cs │ ├── JavascriptCallback.cs │ ├── JavascriptCallbackEndpointBehavior.cs │ ├── JavascriptCallbackSurrogate.cs │ ├── JavascriptMethod.cs │ ├── JavascriptObject.cs │ ├── JavascriptObjectRepository.cs │ ├── JavascriptProperty.cs │ ├── JavascriptRootObject.cs │ ├── MethodInvocation.cs │ ├── MethodInvocationCompleteArgs.cs │ ├── MethodInvocationResult.cs │ ├── MethodParameter.cs │ ├── MethodRunnerQueue.cs │ ├── PendingTaskRepository.cs │ ├── ReflectionUtils.cs │ ├── RenderprocessClientFactory.cs │ ├── TaskExtensions.cs │ └── WCFExtensions.cs ├── JavascriptIgnoreAttribute.cs ├── JavascriptResponse.cs ├── ModelBinding │ ├── BindingContext.cs │ ├── BindingMemberInfo.cs │ ├── DefaultBinder.cs │ ├── DefaultFieldNameConverter.cs │ ├── IBinder.cs │ ├── IFieldNameConverter.cs │ ├── IMethodInterceptor.cs │ └── ModelBindingExtensions.cs ├── NavigationEntry.cs ├── PdfPrintSettings.cs ├── PostDataExtensions.cs ├── Properties │ └── AssemblyInfo.cs ├── ProxyOptions.cs ├── ResourceHandler.cs ├── SchemeHandler │ ├── FolderSchemeHandlerFactory.cs │ └── ISchemeHandlerFactory.cs ├── SslStatus.cs ├── Structs │ ├── CompositionUnderline.cs │ ├── DraggableRegion.cs │ ├── KeyEvent.cs │ ├── MouseEvent.cs │ ├── Range.cs │ ├── Rect.cs │ ├── ResolveCallbackResult.cs │ ├── ScreenInfo.cs │ ├── Size.cs │ └── ViewRect.cs ├── Visitor │ ├── ICookieVisitor.cs │ ├── INavigationEntryVisitor.cs │ ├── IStringVisitor.cs │ ├── IWebPluginInfoVisitor.cs │ ├── TaskCookieVisitor.cs │ ├── TaskNavigationEntryVisitor.cs │ ├── TaskStringVisitor.cs │ └── TaskWebPluginInfoVisitor.cs ├── WebBrowserExtensions.cs └── WebPluginInfo.cs ├── CefSharp3.ChildProcessDbgSettings ├── CefSharp3.sln ├── CefSharp3.sln.DotSettings ├── ISSUE_TEMPLATE.md ├── LICENSE ├── NuGet.config ├── NuGet ├── CefSharp.Common.nuspec ├── CefSharp.Common.props ├── CefSharp.Common.targets ├── CefSharp.OffScreen.nuspec ├── CefSharp.OffScreen.props ├── CefSharp.OffScreen.targets ├── CefSharp.WinForms.nuspec ├── CefSharp.WinForms.props ├── CefSharp.WinForms.targets ├── CefSharp.Wpf.nuspec ├── CefSharp.Wpf.props ├── CefSharp.Wpf.targets └── Readme.txt ├── README.WPF.md ├── README.md ├── afterbuild.example.ps1 ├── appveyor.yml ├── build.ps1 ├── logo.png └── old ├── CefSharp.Tests ├── BindObjectTests.cs ├── BoundObject.cs ├── BrowserApplication.cs ├── CefSharp.Tests.csproj ├── Properties │ └── AssemblyInfo.cs ├── ResourceTests.cs └── TestPage.html ├── CefUsageTests ├── CefUsageTests.csproj ├── MainForm.Designer.cs ├── MainForm.cs ├── MainForm.resx ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings └── app.config └── run_tests.bat /.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 | -------------------------------------------------------------------------------- /.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 | obj/ 25 | packages/ 26 | Debug/ 27 | Release/ 28 | CefSharp/app.aps 29 | debug.log 30 | CefSharp.BrowserSubprocess/Release 31 | CefSharp.BrowserSubprocess/x64/Release 32 | CefSharp.Core/Win32/Release 33 | CefSharp.Core/x64/Release 34 | CefSharp/Win32/Release 35 | CefSharp/x64/Release 36 | CefSharp.BrowserSubprocess.lib 37 | Win32/Release 38 | x64/Release 39 | Win32/Release 40 | .vs/ 41 | /Help 42 | -------------------------------------------------------------------------------- /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}"; -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/AssemblyInfo.cpp: -------------------------------------------------------------------------------- 1 | #include "Stdafx.h" 2 | 3 | using namespace System; 4 | using namespace System::Reflection; 5 | using namespace System::Runtime::CompilerServices; 6 | using namespace System::Runtime::InteropServices; 7 | using namespace System::Security::Permissions; 8 | using namespace CefSharp; 9 | 10 | //[assembly:AssemblyTitle("CefSharpBrowserSubprocess.Core")]; 11 | //[assembly:AssemblyCompany(AssemblyInfo::AssemblyCompany)]; 12 | //[assembly:AssemblyProduct(AssemblyInfo::AssemblyProduct)]; 13 | //[assembly:AssemblyCopyright(AssemblyInfo::AssemblyCopyright)]; 14 | 15 | [assembly:AssemblyVersion(AssemblyInfo::AssemblyVersion)]; 16 | [assembly:ComVisible(AssemblyInfo::ComVisible)]; 17 | [assembly:CLSCompliant(AssemblyInfo::ClsCompliant)]; 18 | 19 | [assembly:AssemblyDescription("")]; 20 | [assembly:AssemblyConfiguration("")]; 21 | [assembly:AssemblyTrademark("")]; 22 | [assembly:AssemblyCulture("")]; 23 | 24 | [assembly:InternalsVisibleTo(AssemblyInfo::CefSharpBrowserSubprocessProject)]; 25 | -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/Async/JavascriptAsyncMethodCallback.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.BrowserSubprocess.Core/Async/JavascriptAsyncMethodCallback.cpp -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/Async/JavascriptAsyncMethodCallback.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.BrowserSubprocess.Core/Async/JavascriptAsyncMethodCallback.h -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/Async/JavascriptAsyncMethodHandler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.BrowserSubprocess.Core/Async/JavascriptAsyncMethodHandler.cpp -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/Async/JavascriptAsyncMethodHandler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.BrowserSubprocess.Core/Async/JavascriptAsyncMethodHandler.h -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/Async/JavascriptAsyncMethodWrapper.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.BrowserSubprocess.Core/Async/JavascriptAsyncMethodWrapper.cpp -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/Async/JavascriptAsyncMethodWrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.BrowserSubprocess.Core/Async/JavascriptAsyncMethodWrapper.h -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/Async/JavascriptAsyncObjectWrapper.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.BrowserSubprocess.Core/Async/JavascriptAsyncObjectWrapper.cpp -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/Async/JavascriptAsyncObjectWrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.BrowserSubprocess.Core/Async/JavascriptAsyncObjectWrapper.h -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/JavascriptCallbackRegistry.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.BrowserSubprocess.Core/JavascriptCallbackRegistry.cpp -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/JavascriptCallbackRegistry.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.BrowserSubprocess.Core/JavascriptCallbackRegistry.h -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/JavascriptCallbackWrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.BrowserSubprocess.Core/JavascriptCallbackWrapper.h -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/JavascriptMethodHandler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.BrowserSubprocess.Core/JavascriptMethodHandler.cpp -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/JavascriptMethodWrapper.cpp: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 | #pragma once 5 | 6 | #include "Stdafx.h" 7 | 8 | #include "JavascriptMethodWrapper.h" 9 | 10 | namespace CefSharp 11 | { 12 | void JavascriptMethodWrapper::Bind(JavascriptMethod^ javascriptMethod, const CefRefPtr& v8Value) 13 | { 14 | _javascriptMethodName = javascriptMethod->JavascriptName; 15 | auto methodName = StringUtils::ToNative(javascriptMethod->JavascriptName); 16 | auto v8Function = CefV8Value::CreateFunction(methodName, _javascriptMethodHandler.get()); 17 | 18 | v8Value->SetValue(methodName, v8Function, V8_PROPERTY_ATTRIBUTE_NONE); 19 | }; 20 | 21 | BrowserProcessResponse^ JavascriptMethodWrapper::Execute(array^ parameters) 22 | { 23 | return _browserProcess->CallMethod(_ownerId, _javascriptMethodName, parameters); 24 | } 25 | } -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/JavascriptPropertyWrapper.cpp: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 | #pragma once 5 | 6 | #include "Stdafx.h" 7 | 8 | #include "JavascriptPropertyWrapper.h" 9 | #include "JavascriptObjectWrapper.h" 10 | 11 | using namespace System; 12 | 13 | namespace CefSharp 14 | { 15 | void JavascriptPropertyWrapper::Bind(JavascriptProperty^ javascriptProperty, const CefRefPtr& v8Value, JavascriptCallbackRegistry^ callbackRegistry) 16 | { 17 | auto propertyName = StringUtils::ToNative(javascriptProperty->JavascriptName); 18 | auto clrPropertyName = javascriptProperty->JavascriptName; 19 | 20 | if (javascriptProperty->IsComplexType) 21 | { 22 | auto javascriptObjectWrapper = gcnew JavascriptObjectWrapper(_browserProcess); 23 | javascriptObjectWrapper->Bind(javascriptProperty->JsObject, v8Value, callbackRegistry); 24 | 25 | _javascriptObjectWrapper = javascriptObjectWrapper; 26 | } 27 | else 28 | { 29 | auto propertyAttribute = javascriptProperty->IsReadOnly ? V8_PROPERTY_ATTRIBUTE_READONLY : V8_PROPERTY_ATTRIBUTE_NONE; 30 | 31 | v8Value->SetValue(propertyName, V8_ACCESS_CONTROL_DEFAULT, propertyAttribute); 32 | } 33 | }; 34 | } -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/JavascriptRootObjectWrapper.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.BrowserSubprocess.Core/JavascriptRootObjectWrapper.cpp -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/Resource.aps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.BrowserSubprocess.Core/Resource.aps -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/Resource.rc: -------------------------------------------------------------------------------- 1 | 1 VERSIONINFO 2 | FILEVERSION 63.0.0 3 | PRODUCTVERSION 63.0.0 4 | FILEFLAGSMASK 0x17L 5 | #ifdef _DEBUG 6 | FILEFLAGS 0x1L 7 | #else 8 | FILEFLAGS 0x0L 9 | #endif 10 | FILEOS 0x4L 11 | FILETYPE 0x1L 12 | FILESUBTYPE 0x0L 13 | BEGIN 14 | BLOCK "StringFileInfo" 15 | BEGIN 16 | BLOCK "040904b0" 17 | BEGIN 18 | VALUE "FileDescription", "CefSharp.BrowserSubprocess.Core" 19 | VALUE "FileVersion", "63.0.0" 20 | VALUE "LegalCopyright", "Copyright © 2010-2017 The CefSharp Authors" 21 | VALUE "ProductName", "CefSharp" 22 | VALUE "ProductVersion", "63.0.0" 23 | END 24 | END 25 | BLOCK "VarFileInfo" 26 | BEGIN 27 | VALUE "Translation", 0x409, 1200 28 | END 29 | END 30 | -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/Serialization/JsObjectsSerialization.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.BrowserSubprocess.Core/Serialization/JsObjectsSerialization.cpp -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/Serialization/JsObjectsSerialization.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.BrowserSubprocess.Core/Serialization/JsObjectsSerialization.h -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/Serialization/V8Serialization.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.BrowserSubprocess.Core/Serialization/V8Serialization.cpp -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/Serialization/V8Serialization.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.BrowserSubprocess.Core/Serialization/V8Serialization.h -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/Stdafx.cpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "Stdafx.h" 4 | -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/Stdafx.h: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 | #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\Internals\MCefRefPtr.h" 18 | #include ".\..\CefSharp.Core\Internals\StringUtils.h" 19 | #include "vcclr_local.h" 20 | 21 | using namespace System; 22 | using namespace CefSharp; 23 | using namespace CefSharp::Internals; -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/WcfEnabledSubProcess.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.BrowserSubprocess.Core/WcfEnabledSubProcess.cpp -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/WcfEnabledSubProcess.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.BrowserSubprocess.Core/WcfEnabledSubProcess.h -------------------------------------------------------------------------------- /CefSharp.BrowserSubprocess.Core/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /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.BrowserSubprocess/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using CefSharp; 2 | using System; 3 | using System.Reflection; 4 | using System.Runtime.InteropServices; 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.BrowserSubprocess/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /CefSharp.Core/CookieManager.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/CookieManager.cpp -------------------------------------------------------------------------------- /CefSharp.Core/CookieManager.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/CookieManager.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefAuthCallbackWrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefAuthCallbackWrapper.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefBeforeDownloadCallbackWrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefBeforeDownloadCallbackWrapper.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefCallbackWrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefCallbackWrapper.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefCertificateCallbackWrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefCertificateCallbackWrapper.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefCompletionCallbackAdapter.h: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 | #pragma once 6 | 7 | #include "Stdafx.h" 8 | #include "include/cef_cookie.h" 9 | 10 | namespace CefSharp 11 | { 12 | namespace Internals 13 | { 14 | private class CefCompletionCallbackAdapter : public CefCompletionCallback 15 | { 16 | private: 17 | gcroot _handler; 18 | 19 | public: 20 | CefCompletionCallbackAdapter(ICompletionCallback^ handler) 21 | { 22 | _handler = handler; 23 | } 24 | 25 | ~CefCompletionCallbackAdapter() 26 | { 27 | delete _handler; 28 | _handler = nullptr; 29 | } 30 | 31 | void OnComplete() OVERRIDE 32 | { 33 | _handler->OnComplete(); 34 | } 35 | 36 | IMPLEMENT_REFCOUNTING(CefCompletionCallbackAdapter); 37 | }; 38 | } 39 | } -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefContextMenuParamsWrapper.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefContextMenuParamsWrapper.cpp -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefContextMenuParamsWrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefContextMenuParamsWrapper.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefDeleteCookiesCallbackAdapter.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefDeleteCookiesCallbackAdapter.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefDownloadItemCallbackWrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefDownloadItemCallbackWrapper.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefFileDialogCallbackWrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefFileDialogCallbackWrapper.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefFrameWrapper.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefFrameWrapper.cpp -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefFrameWrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefFrameWrapper.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefGeolocationCallbackWrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefGeolocationCallbackWrapper.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefGetGeolocationCallbackAdapter.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefGetGeolocationCallbackAdapter.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefMenuModelWrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefMenuModelWrapper.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefNavigationEntryVisitorAdapter.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefNavigationEntryVisitorAdapter.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefPdfPrintCallbackWrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefPdfPrintCallbackWrapper.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefRegisterCdmCallbackAdapter.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefRegisterCdmCallbackAdapter.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefRequestCallbackWrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefRequestCallbackWrapper.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefResolveCallbackAdapter.h: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 | #pragma once 6 | 7 | #include "Stdafx.h" 8 | #include "include/cef_request_context.h" 9 | 10 | namespace CefSharp 11 | { 12 | private class CefResolveCallbackAdapter : public CefResolveCallback 13 | { 14 | private: 15 | gcroot _handler; 16 | 17 | public: 18 | CefResolveCallbackAdapter(IResolveCallback^ handler) 19 | { 20 | _handler = handler; 21 | } 22 | 23 | ~CefResolveCallbackAdapter() 24 | { 25 | _handler = nullptr; 26 | } 27 | 28 | void OnResolveCompleted(cef_errorcode_t result, const std::vector& resolvedIps) OVERRIDE 29 | { 30 | _handler->OnResolveCompleted((CefErrorCode)result, StringUtils::ToClr(resolvedIps)); 31 | } 32 | 33 | IMPLEMENT_REFCOUNTING(CefResolveCallbackAdapter); 34 | }; 35 | } -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefResponseFilterAdapter.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefResponseFilterAdapter.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefRunContextMenuCallbackWrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefRunContextMenuCallbackWrapper.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefSetCookieCallbackAdapter.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefSetCookieCallbackAdapter.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefSharpBrowserWrapper.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefSharpBrowserWrapper.cpp -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefSharpBrowserWrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefSharpBrowserWrapper.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefSslInfoWrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefSslInfoWrapper.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefTaskScheduler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefTaskScheduler.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefTaskWrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefTaskWrapper.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CefWrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/CefWrapper.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/CookieVisitor.h: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 | #pragma once 6 | 7 | #include "Stdafx.h" 8 | #include "include/cef_cookie.h" 9 | 10 | namespace CefSharp 11 | { 12 | private class CookieVisitor : public CefCookieVisitor 13 | { 14 | private: 15 | gcroot _visitor; 16 | 17 | public: 18 | CookieVisitor(ICookieVisitor^ visitor) : 19 | _visitor(visitor) 20 | { 21 | } 22 | 23 | ~CookieVisitor() 24 | { 25 | delete _visitor; 26 | _visitor = nullptr; 27 | } 28 | 29 | virtual bool Visit(const CefCookie& cookie, int count, int total, bool& deleteCookie) OVERRIDE; 30 | 31 | IMPLEMENT_REFCOUNTING(CookieVisitor); 32 | }; 33 | } -------------------------------------------------------------------------------- /CefSharp.Core/Internals/JavascriptCallbackFactory.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/JavascriptCallbackFactory.cpp -------------------------------------------------------------------------------- /CefSharp.Core/Internals/JavascriptCallbackFactory.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/JavascriptCallbackFactory.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/JavascriptCallbackProxy.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/JavascriptCallbackProxy.cpp -------------------------------------------------------------------------------- /CefSharp.Core/Internals/JavascriptCallbackProxy.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/JavascriptCallbackProxy.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/Messaging/Messages.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/Messaging/Messages.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/PluginVisitor.h: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 | #pragma once 6 | 7 | #include "Stdafx.h" 8 | #include "include/cef_web_plugin.h" 9 | 10 | namespace CefSharp 11 | { 12 | private class PluginVisitor : public CefWebPluginInfoVisitor 13 | { 14 | private: 15 | gcroot _visitor; 16 | 17 | public: 18 | PluginVisitor(IWebPluginInfoVisitor^ visitor) : _visitor(visitor) 19 | { 20 | 21 | } 22 | 23 | ~PluginVisitor() 24 | { 25 | delete _visitor; 26 | _visitor = nullptr; 27 | } 28 | 29 | virtual bool Visit(CefRefPtr info, int count, int total) OVERRIDE 30 | { 31 | auto plugin = gcnew WebPluginInfo(StringUtils::ToClr(info->GetName()), 32 | StringUtils::ToClr(info->GetDescription()), 33 | StringUtils::ToClr(info->GetPath()), 34 | StringUtils::ToClr(info->GetVersion())); 35 | 36 | return _visitor->Visit(plugin, count, total); 37 | } 38 | 39 | IMPLEMENT_REFCOUNTING(PluginVisitor); 40 | }; 41 | } -------------------------------------------------------------------------------- /CefSharp.Core/Internals/ReportUnhandledExceptions.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/ReportUnhandledExceptions.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/Serialization/JsObjectsSerialization.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/Serialization/JsObjectsSerialization.cpp -------------------------------------------------------------------------------- /CefSharp.Core/Internals/Serialization/JsObjectsSerialization.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/Serialization/JsObjectsSerialization.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/Serialization/ObjectsSerialization.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/Serialization/ObjectsSerialization.cpp -------------------------------------------------------------------------------- /CefSharp.Core/Internals/Serialization/ObjectsSerialization.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/Serialization/ObjectsSerialization.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/Serialization/Primitives.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/Serialization/Primitives.cpp -------------------------------------------------------------------------------- /CefSharp.Core/Internals/Serialization/Primitives.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/Serialization/Primitives.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/Serialization/V8Serialization.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/Serialization/V8Serialization.cpp -------------------------------------------------------------------------------- /CefSharp.Core/Internals/Serialization/V8Serialization.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/Serialization/V8Serialization.h -------------------------------------------------------------------------------- /CefSharp.Core/Internals/StringVisitor.cpp: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 | #include "Stdafx.h" 6 | #include "StringVisitor.h" 7 | 8 | namespace CefSharp 9 | { 10 | void StringVisitor::Visit(const CefString& string) 11 | { 12 | _visitor->Visit(StringUtils::ToClr(string)); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /CefSharp.Core/Internals/StringVisitor.h: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 | #pragma once 6 | 7 | #include "Stdafx.h" 8 | #include "include/cef_string_visitor.h" 9 | 10 | namespace CefSharp 11 | { 12 | private class StringVisitor : public CefStringVisitor 13 | { 14 | private: 15 | gcroot _visitor; 16 | 17 | public: 18 | StringVisitor(IStringVisitor^ visitor) : 19 | _visitor(visitor) 20 | { 21 | } 22 | 23 | ~StringVisitor() 24 | { 25 | delete _visitor; 26 | _visitor = nullptr; 27 | } 28 | 29 | virtual void Visit(const CefString& string) OVERRIDE; 30 | 31 | IMPLEMENT_REFCOUNTING(StringVisitor); 32 | }; 33 | } -------------------------------------------------------------------------------- /CefSharp.Core/Internals/TypeConversion.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Internals/TypeConversion.h -------------------------------------------------------------------------------- /CefSharp.Core/NativeMethodWrapper.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/NativeMethodWrapper.cpp -------------------------------------------------------------------------------- /CefSharp.Core/NativeMethodWrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/NativeMethodWrapper.h -------------------------------------------------------------------------------- /CefSharp.Core/OsrImeWin.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "OsrImeHandler.h" 4 | 5 | namespace CefSharp { 6 | 7 | public ref class OsrImeWin { 8 | public: 9 | delegate IntPtr WndProcDelegate(IntPtr hWnd, int message, IntPtr wParam, IntPtr lParam); 10 | OsrImeWin(IntPtr ownerHWnd, IBrowser^ browser); 11 | ~OsrImeWin(); 12 | property WndProcDelegate^ WndProcHandler { 13 | WndProcDelegate^ get() { 14 | return _wndProcHandler; 15 | } 16 | } 17 | 18 | void OnImeCompositionRangeChanged(Range selectedRange, array^ characterBounds); 19 | 20 | protected: 21 | void OnIMESetContext(UINT message, WPARAM wParam, LPARAM lParam); 22 | void OnIMEStartComposition(); 23 | void OnIMEComposition(UINT message, WPARAM wParam, LPARAM lParam); 24 | void OnIMECancelCompositionEvent(); 25 | void OnKeyEvent(int message, int wParam, int lParam); 26 | 27 | IntPtr WndProc(IntPtr hWnd, int message, IntPtr wParam, IntPtr lParam); 28 | 29 | IntPtr _ownerHWnd; 30 | WndProcDelegate^ _wndProcHandler; 31 | IBrowser^ _browser; 32 | OsrImeHandler* _imeHandler; 33 | }; 34 | } 35 | -------------------------------------------------------------------------------- /CefSharp.Core/RequestContext.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/RequestContext.h -------------------------------------------------------------------------------- /CefSharp.Core/RequestContextHandler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/RequestContextHandler.h -------------------------------------------------------------------------------- /CefSharp.Core/Resource.aps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/Resource.aps -------------------------------------------------------------------------------- /CefSharp.Core/Resource.rc: -------------------------------------------------------------------------------- 1 | 1 VERSIONINFO 2 | FILEVERSION 63.0.0 3 | PRODUCTVERSION 63.0.0 4 | FILEFLAGSMASK 0x17L 5 | #ifdef _DEBUG 6 | FILEFLAGS 0x1L 7 | #else 8 | FILEFLAGS 0x0L 9 | #endif 10 | FILEOS 0x4L 11 | FILETYPE 0x1L 12 | FILESUBTYPE 0x0L 13 | BEGIN 14 | BLOCK "StringFileInfo" 15 | BEGIN 16 | BLOCK "040904b0" 17 | BEGIN 18 | VALUE "FileDescription", "CefSharp.Core" 19 | VALUE "FileVersion", "63.0.0" 20 | VALUE "LegalCopyright", "Copyright © 2010-2017 The CefSharp Authors" 21 | VALUE "ProductName", "CefSharp" 22 | VALUE "ProductVersion", "63.0.0" 23 | END 24 | END 25 | BLOCK "VarFileInfo" 26 | BEGIN 27 | VALUE "Translation", 0x409, 1200 28 | END 29 | END 30 | -------------------------------------------------------------------------------- /CefSharp.Core/SchemeHandlerFactoryWrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/SchemeHandlerFactoryWrapper.h -------------------------------------------------------------------------------- /CefSharp.Core/Stdafx.cpp: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 | #include "Stdafx.h" 6 | -------------------------------------------------------------------------------- /CefSharp.Core/Stdafx.h: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 | #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\MCefRefPtr.h" 19 | #include "Internals\StringUtils.h" 20 | #include "vcclr_local.h" 21 | 22 | using namespace CefSharp; 23 | using namespace CefSharp::Internals; 24 | using namespace System; -------------------------------------------------------------------------------- /CefSharp.Core/WindowInfo.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Core/WindowInfo.h -------------------------------------------------------------------------------- /CefSharp.Core/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /CefSharp.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/CallbackResponseStruct.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 6 | { 7 | public struct CallbackResponseStruct 8 | { 9 | public string Response; 10 | 11 | public CallbackResponseStruct(string response) 12 | { 13 | Response = response; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /CefSharp.Example/CefSharpSchemeHandlerFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Example/CefSharpSchemeHandlerFactory.cs -------------------------------------------------------------------------------- /CefSharp.Example/DownloadHandler.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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.Example 8 | { 9 | public class DownloadHandler : IDownloadHandler 10 | { 11 | public event EventHandler OnBeforeDownloadFired; 12 | 13 | public event EventHandler OnDownloadUpdatedFired; 14 | 15 | public void OnBeforeDownload(IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback callback) 16 | { 17 | var handler = OnBeforeDownloadFired; 18 | if (handler != null) 19 | { 20 | handler(this, downloadItem); 21 | } 22 | 23 | if (!callback.IsDisposed) 24 | { 25 | using (callback) 26 | { 27 | callback.Continue(downloadItem.SuggestedFileName, showDialog: true); 28 | } 29 | } 30 | } 31 | 32 | public void OnDownloadUpdated(IBrowser browser, DownloadItem downloadItem, IDownloadItemCallback callback) 33 | { 34 | var handler = OnDownloadUpdatedFired; 35 | if (handler != null) 36 | { 37 | handler(this, downloadItem); 38 | } 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /CefSharp.Example/Filters/PassThruResponseFilter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 | using System.IO; 7 | 8 | namespace CefSharp.Example.Filters 9 | { 10 | public class PassThruResponseFilter : IResponseFilter 11 | { 12 | bool IResponseFilter.InitFilter() 13 | { 14 | return true; 15 | } 16 | 17 | FilterStatus IResponseFilter.Filter(Stream dataIn, out long dataInRead, Stream dataOut, out long dataOutWritten) 18 | { 19 | if(dataIn == null) 20 | { 21 | dataInRead = 0; 22 | dataOutWritten = 0; 23 | 24 | return FilterStatus.Done; 25 | } 26 | 27 | dataInRead = dataIn.Length; 28 | dataOutWritten = Math.Min(dataInRead, dataOut.Length); 29 | 30 | dataIn.CopyTo(dataOut); 31 | 32 | return FilterStatus.Done; 33 | } 34 | 35 | public void Dispose() 36 | { 37 | 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /CefSharp.Example/FlashResourceHandlerFactory.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 6 | { 7 | public class FlashResourceHandlerFactory : IResourceHandlerFactory 8 | { 9 | bool IResourceHandlerFactory.HasHandlers 10 | { 11 | get { return true; } 12 | } 13 | 14 | IResourceHandler IResourceHandlerFactory.GetResourceHandler(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request) 15 | { 16 | if (request.Url.Contains("zeldaADPCM5bit.swf")) 17 | { 18 | return new FlashResourceHandler(); 19 | } 20 | return null; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /CefSharp.Example/JsDialogHandler.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 6 | { 7 | public class JsDialogHandler : IJsDialogHandler 8 | { 9 | public bool OnJSDialog(IWebBrowser browserControl, IBrowser browser, string originUrl, CefJsDialogType dialogType, string messageText, string defaultPromptText, IJsDialogCallback callback, ref bool suppressMessage) 10 | { 11 | return false; 12 | } 13 | 14 | public bool OnJSBeforeUnload(IWebBrowser browserControl, IBrowser browser, string message, bool isReload, IJsDialogCallback callback) 15 | { 16 | //NOTE: No need to execute the callback if you return false 17 | // callback.Continue(true); 18 | 19 | //NOTE: Returning false will trigger the default behaviour, you need to return true to handle yourself. 20 | return false; 21 | } 22 | 23 | public void OnResetDialogState(IWebBrowser browserControl, IBrowser browser) 24 | { 25 | 26 | } 27 | 28 | public void OnDialogClosed(IWebBrowser browserControl, IBrowser browser) 29 | { 30 | 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /CefSharp.Example/JsSerializableClass.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 6 | { 7 | public class JsSerializableClass 8 | { 9 | public string Value { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /CefSharp.Example/JsSerializableStruct.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 6 | { 7 | public struct JsSerializableStruct 8 | { 9 | public string Value; 10 | } 11 | } -------------------------------------------------------------------------------- /CefSharp.Example/ModelBinding/MethodInterceptorLogger.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 | using System.Diagnostics; 7 | using CefSharp.ModelBinding; 8 | 9 | namespace CefSharp.Example.ModelBinding 10 | { 11 | public class MethodInterceptorLogger : IMethodInterceptor 12 | { 13 | object IMethodInterceptor.Intercept(Func method, string methodName) 14 | { 15 | object result = method(); 16 | Debug.WriteLine("Called " + methodName); 17 | return result; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /CefSharp.Example/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using CefSharp; 2 | using System; 3 | using System.Reflection; 4 | using System.Runtime.InteropServices; 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.Example/Proxy/InternetOpenType.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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.Proxy 6 | { 7 | public enum InternetOpenType 8 | { 9 | PreConfig = 0, 10 | Direct = 1, 11 | Proxy = 3, 12 | PreConfigWithNoAutoProxy = 4 13 | } 14 | } -------------------------------------------------------------------------------- /CefSharp.Example/Proxy/InternetProxyInfo.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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.Proxy 6 | { 7 | public struct InternetProxyInfo 8 | { 9 | public InternetOpenType AccessType; 10 | public string ProxyAddress; 11 | public string ProxyBypass; 12 | } 13 | } -------------------------------------------------------------------------------- /CefSharp.Example/RenderProcessMessageHandler.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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.Example 8 | { 9 | public class RenderProcessMessageHandler : IRenderProcessMessageHandler 10 | { 11 | void IRenderProcessMessageHandler.OnFocusedNodeChanged(IWebBrowser browserControl, IBrowser browser, IFrame frame, IDomNode node) 12 | { 13 | var message = node == null ? "lost focus" : node.ToString(); 14 | 15 | Console.WriteLine("OnFocusedNodeChanged() - " + message); 16 | } 17 | 18 | void IRenderProcessMessageHandler.OnContextCreated(IWebBrowser browserControl, IBrowser browser, IFrame frame) 19 | { 20 | const string script = "document.addEventListener('DOMContentLoaded', function(){ alert('DomLoaded'); });"; 21 | 22 | //frame.ExecuteJavaScriptAsync(script); 23 | } 24 | 25 | void IRenderProcessMessageHandler.OnContextReleased(IWebBrowser browserControl, IBrowser browser, IFrame frame) 26 | { 27 | //The V8Context is about to be released, use this notification to cancel any long running tasks your might have 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /CefSharp.Example/RequestEventHandler/EventArgs/BaseRequestEventArgs.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 browserControl, IBrowser browser) 10 | { 11 | BrowserControl = browserControl; 12 | Browser = browser; 13 | } 14 | 15 | public IWebBrowser BrowserControl { get; private set; } 16 | public IBrowser Browser { get; private set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /CefSharp.Example/RequestEventHandler/EventArgs/GetResourceResponseFilterEventArgs.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Example/RequestEventHandler/EventArgs/GetResourceResponseFilterEventArgs.cs -------------------------------------------------------------------------------- /CefSharp.Example/RequestEventHandler/EventArgs/OnBeforeBrowseEventArgs.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Example/RequestEventHandler/EventArgs/OnBeforeBrowseEventArgs.cs -------------------------------------------------------------------------------- /CefSharp.Example/RequestEventHandler/EventArgs/OnOpenUrlFromTabEventArgs.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 OnOpenUrlFromTabEventArgs : BaseRequestEventArgs 8 | { 9 | public OnOpenUrlFromTabEventArgs(IWebBrowser browserControl, IBrowser browser, IFrame frame, string targetUrl, WindowOpenDisposition targetDisposition, bool userGesture) 10 | : base(browserControl, browser) 11 | { 12 | Frame = frame; 13 | TargetUrl = targetUrl; 14 | TargetDisposition = targetDisposition; 15 | UserGesture = userGesture; 16 | 17 | CancelNavigation = false; // default 18 | } 19 | 20 | public IFrame Frame { get; private set; } 21 | public string TargetUrl { get; private set; } 22 | public WindowOpenDisposition TargetDisposition { get; private set; } 23 | public bool UserGesture { get; private set; } 24 | 25 | /// 26 | /// Set to true to cancel the navigation or false to allow the navigation to proceed. 27 | /// 28 | public bool CancelNavigation { get; set; } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /CefSharp.Example/RequestEventHandler/EventArgs/OnPluginCrashedEventArgs.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 OnPluginCrashedEventArgs : BaseRequestEventArgs 8 | { 9 | public OnPluginCrashedEventArgs(IWebBrowser browserControl, IBrowser browser, string pluginPath) : base(browserControl, browser) 10 | { 11 | PluginPath = pluginPath; 12 | } 13 | 14 | public string PluginPath { get; private set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /CefSharp.Example/RequestEventHandler/EventArgs/OnProtocolExecutionEventArgs.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 browserControl, IBrowser browser, string url) : base(browserControl, 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.Example/RequestEventHandler/EventArgs/OnRenderProcessTerminatedEventArgs.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 browserControl, IBrowser browser, CefTerminationStatus status) 10 | : base(browserControl, browser) 11 | { 12 | Status = status; 13 | } 14 | 15 | public CefTerminationStatus Status { get; private set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /CefSharp.Example/RequestEventHandler/EventArgs/OnRenderViewReadyEventArgs.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 OnRenderViewReadyEventArgs : BaseRequestEventArgs 8 | { 9 | public OnRenderViewReadyEventArgs(IWebBrowser browserControl, IBrowser browser) : base(browserControl, browser) 10 | { 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /CefSharp.Example/RequestEventHandler/EventArgs/OnResourceLoadCompleteEventArgs.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 OnResourceLoadCompleteEventArgs : BaseRequestEventArgs 8 | { 9 | public OnResourceLoadCompleteEventArgs(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IResponse response, UrlRequestStatus status, long receivedContentLength) 10 | : base(browserControl, browser) 11 | { 12 | Frame = frame; 13 | Request = request; 14 | Response = response; 15 | Status = status; 16 | ReceivedContentLength = receivedContentLength; 17 | } 18 | 19 | public IFrame Frame { get; private set; } 20 | public IRequest Request { get; private set; } 21 | public IResponse Response { get; private set; } 22 | public UrlRequestStatus Status { get; private set; } 23 | public long ReceivedContentLength { get; private set; } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /CefSharp.Example/RequestEventHandler/EventArgs/OnResourceRedirectEventArgs.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 OnResourceRedirectEventArgs : BaseRequestEventArgs 8 | { 9 | public OnResourceRedirectEventArgs(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IResponse response, string newUrl) 10 | : base(browserControl, browser) 11 | { 12 | Frame = frame; 13 | Request = request; 14 | Response = response; 15 | NewUrl = newUrl; 16 | } 17 | 18 | public IFrame Frame { get; private set; } 19 | public IRequest Request { get; private set; } 20 | public IResponse Response { get; private set; } 21 | 22 | /// 23 | /// the new URL and can be changed if desired. 24 | /// 25 | public string NewUrl { get; set; } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /CefSharp.Example/RequestEventHandler/EventArgs/OnResourceResponseEventArgs.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 OnResourceResponseEventArgs : BaseRequestEventArgs 8 | { 9 | public OnResourceResponseEventArgs(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IResponse response) 10 | : base(browserControl, browser) 11 | { 12 | Frame = frame; 13 | Request = request; 14 | Response = response; 15 | 16 | RedirectOrRetry = false; // default 17 | } 18 | 19 | public IFrame Frame { get; private set; } 20 | public IRequest Request { get; private set; } 21 | public IResponse Response { get; private set; } 22 | 23 | /// 24 | /// To allow the resource to load normally set to false. 25 | /// To redirect or retry the resource, modify (url, headers or 26 | /// post body) and set to true. 27 | /// 28 | public bool RedirectOrRetry { get; set; } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /CefSharp.Example/Resources/CssAnimation.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 45 | 46 | 47 | 48 |

test P

49 |
50 | test Input
51 | 52 |
53 | 54 | 55 | -------------------------------------------------------------------------------- /CefSharp.Example/Resources/DraggableRegionTest.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | Draggable Region Test 7 | 8 | 9 | 10 |

Draggable Region Test

11 |
12 | A draggable area 13 |
14 |
15 | 16 |
17 | A draggable area 18 |
19 | Non Draggable area 20 |
21 |
22 | Non Draggable area 23 |
24 |
25 | Non Draggable area 26 |
27 |
28 | 29 | -------------------------------------------------------------------------------- /CefSharp.Example/Resources/FramedWebGLTest.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Framed WebGL Test 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /CefSharp.Example/Resources/PopupTest.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Popup Test 5 | 6 | 7 | target=_blank 8 |
9 | window.open() 10 |
11 | BindingTest.html 12 |
13 | MultiBindingTest.html 14 | 15 | 16 | -------------------------------------------------------------------------------- /CefSharp.Example/Resources/PopupsTest.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Popup Test 5 | 6 | 7 | target=_blank 8 |
9 | window.open() 10 | 11 | 12 | -------------------------------------------------------------------------------- /CefSharp.Example/Resources/Recaptcha.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | CefSharp Recaptcha Test 7 | 8 | 9 | 10 |

Recaptcha Test

11 |
12 |
13 | 14 |
15 | 16 | -------------------------------------------------------------------------------- /CefSharp.Example/Resources/TooltipTest.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Tooltip Test 5 | 6 | 7 |
8 | 9 |
10 | 11 |
12 |
13 | 18 | 23 |
24 |
25 | 26 | -------------------------------------------------------------------------------- /CefSharp.Example/Resources/assets/images/beach-2089936_1920.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.Example/Resources/assets/images/beach-2089936_1920.jpg -------------------------------------------------------------------------------- /CefSharp.Example/Resources/extension.js: -------------------------------------------------------------------------------- 1 | var cefsharp; 2 | if (!cefsharp) 3 | cefsharp = {}; 4 | 5 | if (!cefsharp.example) 6 | cefsharp.example = {}; 7 | 8 | (function () 9 | { 10 | cefsharp.example.alert = function(text) 11 | { 12 | alert(text); 13 | }; 14 | })(); -------------------------------------------------------------------------------- /CefSharp.Example/SimpleClass.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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.Collections.Generic; 6 | namespace CefSharp.Example 7 | { 8 | public class SimpleClass 9 | { 10 | public IJavascriptCallback Callback { get; set; } 11 | public string TestString { get; set; } 12 | 13 | public IList SubClasses { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /CefSharp.Example/SimpleSubClass.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 6 | { 7 | public class SimpleSubClass 8 | { 9 | public string PropertyOne { get; set; } 10 | public int[] Numbers { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /CefSharp.Example/SubBoundObject.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 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.Example/TempFileDialogHandler.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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.Collections.Generic; 6 | using System.IO; 7 | 8 | namespace CefSharp.Example 9 | { 10 | public class TempFileDialogHandler : IDialogHandler 11 | { 12 | public bool OnFileDialog(IWebBrowser browserControl, IBrowser browser, CefFileDialogMode mode, string title, string defaultFilePath, List acceptFilters, int selectedAcceptFilter, IFileDialogCallback callback) 13 | { 14 | callback.Continue(selectedAcceptFilter, new List { Path.GetRandomFileName() }); 15 | 16 | return true; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /CefSharp.Native.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /CefSharp.OffScreen.Example/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using CefSharp; 2 | using System; 3 | using System.Reflection; 4 | using System.Runtime.InteropServices; 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.OffScreen.Example/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /CefSharp.OffScreen.Example/crash_reporter.cfg: -------------------------------------------------------------------------------- 1 | # Crash reporting is configured using an INI-style config file named 2 | # "crash_reporter.cfg". This file must be placed next to 3 | # the main application executable. 4 | # Comments start with a hash character and must be on their own line. 5 | 6 | #[Config] 7 | #ProductName= 8 | #ProductVersion= 9 | #AppName= 10 | #ExternalHandler= 11 | 12 | #ServerURL= 13 | #RateLimitEnabled= 14 | #MaxUploadsPerDay= 15 | #MaxDatabaseSizeInMb= 16 | #MaxDatabaseAgeInDays= 17 | 18 | #[CrashKeys] 19 | #my_key1= 20 | #my_key2= 21 | 22 | 23 | [Config] 24 | ProductName=CefSharp 25 | ProductVersion=62.0.0 26 | AppName=CefSharp 27 | ExternalHandler=CefSharp.BrowserSubprocess.exe -------------------------------------------------------------------------------- /CefSharp.OffScreen.Example/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /CefSharp.OffScreen/PopupBlending.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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.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 should be blended. 14 | /// 15 | Blend = 0, 16 | /// 17 | /// Retrieve the main bitmap 18 | /// 19 | Main, 20 | /// 21 | /// Retrieve the popup bitmap 22 | /// 23 | Popup 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /CefSharp.OffScreen/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using CefSharp; 2 | using System; 3 | using System.Reflection; 4 | using System.Runtime.InteropServices; 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/CefSharpFixture.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 | using System.IO; 7 | 8 | namespace CefSharp.Test 9 | { 10 | public class CefSharpFixture : IDisposable 11 | { 12 | public CefSharpFixture() 13 | { 14 | if (!Cef.IsInitialized) 15 | { 16 | var isDefault = AppDomain.CurrentDomain.IsDefaultAppDomain(); 17 | if (!isDefault) 18 | { 19 | throw new Exception(@"Add to your app.config to disable appdomains"); 20 | } 21 | 22 | var settings = new CefSettings(); 23 | 24 | //The location where cache data will be stored on disk. If empty an in-memory cache will be used for some features and a temporary disk cache for others. 25 | //HTML5 databases such as localStorage will only persist across sessions if a cache path is specified. 26 | settings.CachePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "CefSharp\\Tests\\Cache"); 27 | 28 | Cef.Initialize(settings, performDependencyCheck: false, browserProcessHandler: null); 29 | } 30 | } 31 | 32 | public void Dispose() 33 | { 34 | if (Cef.IsInitialized) 35 | { 36 | Cef.Shutdown(); 37 | } 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /CefSharp.Test/CefSharpFixtureCollection.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 | -------------------------------------------------------------------------------- /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)] 22 | -------------------------------------------------------------------------------- /CefSharp.Test/WebBrowserTestExtensions.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 | using System.Threading.Tasks; 7 | using CefSharp.Internals; 8 | 9 | namespace CefSharp.Test 10 | { 11 | public static class WebBrowserTestExtensions 12 | { 13 | public static Task LoadPageAsync(this IWebBrowser browser, string address = null) 14 | { 15 | //If using .Net 4.6 then use TaskCreationOptions.RunContinuationsAsynchronously 16 | //and switch to tcs.TrySetResult below - no need for the custom extension method 17 | var tcs = new TaskCompletionSource(); 18 | 19 | EventHandler handler = null; 20 | handler = (sender, args) => 21 | { 22 | //Wait for while page to finish loading not just the first frame 23 | if (!args.IsLoading) 24 | { 25 | browser.LoadingStateChanged -= handler; 26 | //This is required when using a standard TaskCompletionSource 27 | //Extension method found in the CefSharp.Internals namespace 28 | tcs.TrySetResultAsync(true); 29 | } 30 | }; 31 | 32 | browser.LoadingStateChanged += handler; 33 | 34 | if (!string.IsNullOrEmpty(address)) 35 | { 36 | browser.Load(address); 37 | } 38 | return tcs.Task; 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /CefSharp.Test/WinForms/WinFormsBrowserBasicFacts.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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.Threading.Tasks; 6 | using CefSharp.WinForms; 7 | using Xunit; 8 | using Xunit.Abstractions; 9 | using Xunit.Extensions; 10 | 11 | namespace CefSharp.Test.WinForms 12 | { 13 | //NOTE: All Test classes must be part of this collection as it manages the Cef Initialize/Shutdown lifecycle 14 | [Collection(CefSharpFixtureCollection.Key)] 15 | public class WinFormsBrowserBasicFacts 16 | { 17 | private readonly ITestOutputHelper output; 18 | private readonly CefSharpFixture fixture; 19 | 20 | public WinFormsBrowserBasicFacts(ITestOutputHelper output, CefSharpFixture fixture) 21 | { 22 | this.fixture = fixture; 23 | this.output = output; 24 | } 25 | 26 | //TODO: Add tests 27 | //Investigate using https://github.com/AArnott/Xunit.StaFact for STA thread management 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /CefSharp.Test/Wpf/WpfBrowserBasicFacts.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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.Threading.Tasks; 6 | using CefSharp.OffScreen; 7 | using Xunit; 8 | using Xunit.Abstractions; 9 | using Xunit.Extensions; 10 | 11 | namespace CefSharp.Test.Wpf 12 | { 13 | //NOTE: All Test classes must be part of this collection as it manages the Cef Initialize/Shutdown lifecycle 14 | [Collection(CefSharpFixtureCollection.Key)] 15 | public class WpfBrowserBasicFacts 16 | { 17 | private readonly ITestOutputHelper output; 18 | private readonly CefSharpFixture fixture; 19 | 20 | public WpfBrowserBasicFacts(ITestOutputHelper output, CefSharpFixture fixture) 21 | { 22 | this.fixture = fixture; 23 | this.output = output; 24 | } 25 | 26 | //TODO: Add tests 27 | //Investigate using https://github.com/AArnott/Xunit.StaFact for STA thread management 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /CefSharp.Test/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /CefSharp.Test/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /CefSharp.WinForms.Example/CefSharp.WinForms.Example.csproj.DotSettings: -------------------------------------------------------------------------------- 1 |  2 | No 3 | -------------------------------------------------------------------------------- /CefSharp.WinForms.Example/InputBox.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 | using System.Windows.Forms; 7 | 8 | namespace CefSharp.WinForms.Example 9 | { 10 | public partial class InputBox : Form 11 | { 12 | public InputBox() 13 | { 14 | InitializeComponent(); 15 | } 16 | 17 | public event EventHandler OnEvaluate 18 | { 19 | add { _evaluate.Click += value; } 20 | remove { _evaluate.Click -= value; } 21 | } 22 | 23 | public string Instructions 24 | { 25 | get { return _instructions.Text; } 26 | set { _instructions.Text = value; } 27 | } 28 | 29 | public string Result 30 | { 31 | get { return _result.Text; } 32 | set { _result.Text = value; } 33 | } 34 | 35 | public string Title 36 | { 37 | set { Text = "Evaluate script - " + value; } 38 | } 39 | 40 | public string Value 41 | { 42 | get { return _value.Text; } 43 | set { _value.Text = value; } 44 | } 45 | 46 | private void _close_Click(object sender, EventArgs e) 47 | { 48 | Close(); 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /CefSharp.WinForms.Example/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using CefSharp; 2 | using System; 3 | using System.Reflection; 4 | using System.Runtime.InteropServices; 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.WinForms.Example/Resources/chromium-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.WinForms.Example/Resources/chromium-256.png -------------------------------------------------------------------------------- /CefSharp.WinForms.Example/Resources/nav_left_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.WinForms.Example/Resources/nav_left_green.png -------------------------------------------------------------------------------- /CefSharp.WinForms.Example/Resources/nav_plain_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.WinForms.Example/Resources/nav_plain_green.png -------------------------------------------------------------------------------- /CefSharp.WinForms.Example/Resources/nav_plain_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.WinForms.Example/Resources/nav_plain_red.png -------------------------------------------------------------------------------- /CefSharp.WinForms.Example/Resources/nav_right_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starts2000/CefSharp/931d2324f9171940e3385ea28c3684f90e6c56d0/CefSharp.WinForms.Example/Resources/nav_right_green.png -------------------------------------------------------------------------------- /CefSharp.WinForms.Example/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /CefSharp.WinForms.Example/crash_reporter.cfg: -------------------------------------------------------------------------------- 1 | # Crash reporting is configured using an INI-style config file named 2 | # "crash_reporter.cfg". This file must be placed next to 3 | # the main application executable. 4 | # Comments start with a hash character and must be on their own line. 5 | 6 | #[Config] 7 | #ProductName= 8 | #ProductVersion= 9 | #AppName= 10 | #ExternalHandler= 11 | 12 | #ServerURL= 13 | #RateLimitEnabled= 14 | #MaxUploadsPerDay= 15 | #MaxDatabaseSizeInMb= 16 | #MaxDatabaseAgeInDays= 17 | 18 | #[CrashKeys] 19 | #my_key1= 20 | #my_key2= 21 | 22 | 23 | [Config] 24 | ProductName=CefSharp 25 | ProductVersion=62.0.0 26 | AppName=CefSharp 27 | ExternalHandler=CefSharp.BrowserSubprocess.exe -------------------------------------------------------------------------------- /CefSharp.WinForms.Example/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /CefSharp.WinForms.Test/InitTest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using NUnit.Framework; 3 | 4 | namespace CefSharp.WinForms.Test 5 | { 6 | [TestFixture] 7 | public class InitTest 8 | { 9 | private WebView web_view; 10 | 11 | [SetUp] 12 | public void SetUp() 13 | { 14 | var settings = new Settings(); 15 | if (!CEF.Initialize(settings)) 16 | { 17 | Assert.Fail(); 18 | } 19 | 20 | web_view = new WebView(); 21 | } 22 | 23 | [Test] 24 | public void Foo() 25 | { 26 | Assert.Pass(); 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /CefSharp.WinForms.Test/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyTitle("CefSharp.WinForms.Test")] 5 | [assembly: AssemblyCompany("Anthony Taranto")] 6 | [assembly: AssemblyProduct("CefSharp.Example")] 7 | [assembly: AssemblyCopyright("Copyright © 2013")] 8 | 9 | [assembly: AssemblyVersion("1.25.2.*")] 10 | [assembly: ComVisible(false)] 11 | -------------------------------------------------------------------------------- /CefSharp.WinForms/Internals/NativeMethods.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 | using System.Collections.Generic; 7 | using System.Linq; 8 | using System.Text; 9 | 10 | namespace CefSharp.WinForms.Internals 11 | { 12 | /// 13 | /// Class NativeMethods. 14 | /// 15 | internal static class NativeMethods 16 | { 17 | /// 18 | /// The w m_ move 19 | /// 20 | public const int WM_MOVE = 0x3; 21 | /// 22 | /// The w m_ moving 23 | /// 24 | public const int WM_MOVING = 0x216; 25 | /// 26 | /// The w m_ activate 27 | /// 28 | public const int WM_ACTIVATE = 0x6; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /CefSharp.WinForms/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using CefSharp; 2 | using System; 3 | using System.Reflection; 4 | using System.Runtime.InteropServices; 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.Wpf.Example/Controls/CefSharpCommands.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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 | 6 | using System.Windows.Input; 7 | 8 | namespace CefSharp.Wpf.Example.Controls 9 | { 10 | public static class CefSharpCommands 11 | { 12 | public static RoutedUICommand Exit = new RoutedUICommand("Exit", "Exit", typeof(CefSharpCommands)); 13 | public static RoutedUICommand OpenTabCommand = new RoutedUICommand("OpenTabCommand", "OpenTabCommand", typeof(CefSharpCommands)); 14 | public static RoutedUICommand PrintTabToPdfCommand = new RoutedUICommand("PrintTabToPdfCommand", "PrintTabToPdfCommand", typeof(CefSharpCommands)); 15 | public static RoutedUICommand CustomCommand = new RoutedUICommand("CustomCommand", "CustomCommand", typeof(CefSharpCommands)); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /CefSharp.Wpf.Example/Program.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2010-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.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.Wpf.Example/SimpleMainWindow.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 9 | 10 | 11 | 14 | 15 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /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.Wpf.Example/SpawnBrowsersWindow.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |