Skip to content
This repository was archived by the owner on Jan 15, 2023. It is now read-only.

Commit 500aa06

Browse files
committed
DWM frameless option removed. Fixing issue chromelyapps/Chromely#266.
1 parent aa1390c commit 500aa06

30 files changed

+1163
-1125
lines changed

src/Chromely.CefSharp.Integration.TestApp/Chromely.CefSharp.Integration.TestApp.csproj

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,10 @@
22

33
<PropertyGroup>
44
<OutputType>WinExe</OutputType>
5-
<TargetFramework>net5.0</TargetFramework>
6-
<!-- <TargetFramework>netcoreapp3.1</TargetFramework> -->
5+
<TargetFramework>netcoreapp3.1</TargetFramework>
76
<UseWindowsForms>true</UseWindowsForms>
87
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
9-
<Platforms>x86;x64</Platforms>
8+
<Platforms>x64</Platforms>
109
<ApplicationIcon>chromely.ico</ApplicationIcon>
1110
</PropertyGroup>
1211

src/Chromely.CefSharp.Tests/Chromely.CefSharp.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
22

33
<PropertyGroup>
4-
<TargetFramework>net5.0</TargetFramework>
4+
<TargetFramework>netcoreapp3.1</TargetFramework>
55
<UseWindowsForms>true</UseWindowsForms>
66
</PropertyGroup>
77

src/Chromely.CefSharp.Tests/Class1.cs

Lines changed: 0 additions & 8 deletions
This file was deleted.

src/Chromely.CefSharp/Browser/ChromiumBrowser.cs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using CefSharp;
77
using CefSharp.Internals;
88
using Chromely.Core.Configuration;
9+
using Chromely.Core.Host;
910
using Chromely.Core.Logging;
1011
using Microsoft.Extensions.Logging;
1112
using static Chromely.Interop.User32;
@@ -77,12 +78,15 @@ public abstract partial class ChromiumBrowser : IWebBrowserInternal
7778
/// <summary>
7879
/// Initializes a new instance of the <see cref="ChromiumBrowser"/> class.
7980
/// </summary>
80-
public ChromiumBrowser(IChromelyConfiguration config)
81+
public ChromiumBrowser(IChromelyNativeHost nativeHost, IChromelyConfiguration config)
8182
{
83+
NativeHost = nativeHost;
8284
_config = config;
8385
CefSharpSettings.LegacyJavascriptBindingEnabled = false;
8486
}
8587

88+
public IChromelyNativeHost NativeHost { get; private set; }
89+
8690
public void Initialize(CefSettings settings)
8791
{
8892
_settings = settings;
@@ -519,8 +523,8 @@ void IWebBrowserInternal.OnAfterBrowserCreated(IBrowser browser)
519523
_browser = browser;
520524
IsBrowserInitialized = true;
521525

522-
//If Load was called after the call to CreateBrowser we'll call Load
523-
//on the MainFrame
526+
// If Load was called after the call to CreateBrowser we'll call Load
527+
// on the MainFrame
524528
if (!_initialAddressLoaded && !string.IsNullOrEmpty(Address))
525529
{
526530
browser.MainFrame.LoadUrl(Address);
@@ -529,7 +533,7 @@ void IWebBrowserInternal.OnAfterBrowserCreated(IBrowser browser)
529533
var host = this.GetBrowserHost();
530534
_browserWindowHandle = host.GetWindowHandle();
531535

532-
//Set Javascript execution
536+
// Set Javascript execution
533537
this._config.JavaScriptExecutor = new DefaultJavaScriptExecutor(_browser);
534538

535539
IsBrowserInitializedChanged?.Invoke(this, EventArgs.Empty);
@@ -625,6 +629,9 @@ void IWebBrowserInternal.OnFrameLoadEnd(FrameLoadEndEventArgs args)
625629
{
626630
handler(this, args);
627631
}
632+
633+
// Setup window subclass to intercept message for frameless window dragging
634+
NativeHost.SetupMessageInterceptor(_browserWindowHandle);
628635
}
629636

630637
/// <summary>

src/Chromely.CefSharp/Browser/Handlers/DefaultDragHandler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ void IDragHandler.OnDraggableRegionsChanged(IWebBrowser ChromiumBrowser, IBrowse
7171
{
7272
lock (objLock)
7373
{
74-
framelessOption.IsDraggable = (point) =>
74+
framelessOption.IsDraggable = (nativeHost, point) =>
7575
{
7676
var hitNoDrag = regions.Any(r => !r.Draggable && ContainsPoint(r, point));
7777
if (hitNoDrag)

src/Chromely.CefSharp/Chromely.CefSharp.csproj

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
<CefSharpAnyCpuSupport>true</CefSharpAnyCpuSupport>
66
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
77
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
8-
<ProductVersion>5.1.83.0</ProductVersion>
9-
<AssemblyVersion>5.1.83.0</AssemblyVersion>
10-
<FileVersion>5.1.83.0</FileVersion>
11-
<Version>5.1.83.0</Version>
8+
<ProductVersion>5.1.83.2</ProductVersion>
9+
<AssemblyVersion>5.1.83.2</AssemblyVersion>
10+
<FileVersion>5.1.83.2</FileVersion>
11+
<Version>5.1.83.2</Version>
1212
<Authors>Chromely Projects</Authors>
1313
<Company>Chromely Projects</Company>
1414
<Description>Chromely CefSharp implementation - this is in NetStandard as it can be used in both .NET Framework, .NET Core 3 and .NET 5 (Windows Only). Chromely.CefSharp version naming is based Chromely and Chromium versions implemented- major.minor.chromuim version.patch e.g 1.0.71.0.</Description>
@@ -19,9 +19,8 @@
1919
<PackageTags>CEF Chromium HTML5 Desktop Chromely CefSharp NetStandard .NET Core 3 .NET 5</PackageTags>
2020
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
2121
<PackageReleaseNotes>
22-
- Upgrade to v5.1 - https://github.com/chromelyapps/Chromely/issues/225.
23-
- Fixes for Fullscreen/Kiosk modes - https://github.com/chromelyapps/CefSharp/commit/cf9eb16976f707981770aba0d60f0281e86a3247
24-
- Adding a configurable option - UseOnlyCefMessageLoop - https://github.com/chromelyapps/CefSharp/commit/29b26f293baea1430d4f2f1990a79d7416041a39
22+
- Breaking changes.
23+
- Fixes for frameless window - https://github.com/chromelyapps/Chromely/issues/266
2524
</PackageReleaseNotes>
2625
<RepositoryType>Github Repository</RepositoryType>
2726
<RepositoryUrl>https://github.com/chromelyapps/CefSharp</RepositoryUrl>
@@ -44,7 +43,6 @@
4443

4544
<ItemGroup>
4645
<PackageReference Include="CefSharp.Common" Version="83.4.20" />
47-
<PackageReference Include="Chromely.Core" Version="5.1.0" />
4846
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.5" />
4947
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.5" />
5048
<PackageReference Include="Microsoft.CSharp" Version="4.6.0" />
@@ -56,4 +54,10 @@
5654
<None Include="chromely.png" Pack="true" PackagePath="" />
5755
</ItemGroup>
5856

57+
<ItemGroup>
58+
<Reference Include="Chromely.Core">
59+
<HintPath>..\Chromely.Core\Chromely.Core.dll</HintPath>
60+
</Reference>
61+
</ItemGroup>
62+
5963
</Project>

src/Chromely.CefSharp/ChromelyAppBase.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ namespace Chromely.CefSharp
1515
{
1616
public abstract class ChromelyAppBase : ChromelyApp
1717
{
18-
public override void ConfigureCoreServices(ServiceCollection services)
18+
public override void ConfigureCoreServices(IServiceCollection services)
1919
{
2020
base.ConfigureCoreServices(services);
2121

@@ -32,7 +32,7 @@ public override void ConfigureCoreServices(ServiceCollection services)
3232
services.TryAddSingleton<ChromelyWindowController, WindowController>();
3333
}
3434

35-
public sealed override void ConfigureDefaultHandlers(ServiceCollection services)
35+
public sealed override void ConfigureDefaultHandlers(IServiceCollection services)
3636
{
3737
base.ConfigureDefaultHandlers(services);
3838

src/Chromely.CefSharp/ChromelyBasicApp.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,12 @@ namespace Chromely.CefSharp
1414
/// </summary>
1515
public class ChromelyBasicApp: ChromelyAppBase
1616
{
17-
public sealed override void ConfigureCoreServices(ServiceCollection services)
17+
public sealed override void ConfigureCoreServices(IServiceCollection services)
1818
{
1919
base.ConfigureCoreServices(services);
20-
services.TryAddSingleton<IChromelyNativeHost, ChromelyHost>();
20+
services.TryAddSingleton<IWindowMessageInterceptor, DefaultWindowMessageInterceptor>();
21+
services.TryAddSingleton<IKeyboadHookHandler, DefaulKeyboadHookHandler>();
22+
services.TryAddSingleton<IChromelyNativeHost, ChromelyWinHost>();
2123
}
2224
}
2325
}

src/Chromely.CefSharp/ChromelyFramelessApp.cs

Lines changed: 0 additions & 23 deletions
This file was deleted.

0 commit comments

Comments
 (0)