This title says it all. I'm running CEFSharp wrapped in a WPF form. One my page I have an input[color] and while everything works in Chrome, when I access this page with my CEF WPF form it won't load the color picker dialog.
If I bind to the click event on the input[color] that will execute, but if I attach the same code to the input, or change events they don't execute. I'm binding with an AngularJS directive, as follows: (Note: this has been stripped down, $timeout and local.scope will be used hence their presence)
app.directive('myColorPicker', ['$timeout', function($timeout){
return {
restrict: "AE",
replace: true,
scope: {
palette: '='
},
link: function(scope, elem) {
elem.on('input', function(){
var newColor = this.value;
$(this).css({
"background-color":newColor,
"color":newColor
});
});
}
}
}])
Within WPF I'm setting the CEFSharp settings as follows:
var cefSettings = new CefSettings();
cefSettings.SetOffScreenRenderingBestPerformanceArgs();
cefSettings.CachePath = tempPath;
cefSettings.LogFile = tempPath + "chromium.log";
cefSettings.LogSeverity = LogSeverity.Default;
cefSettings.CefCommandLineArgs.Add("num-raster-threads", "4");
cefSettings.CefCommandLineArgs.Add("enable-experimental-canvas-features", "1");
Cef.Initialize(cefSettings, shutdownOnProcessExit: true, performDependencyCheck: true);
(Lemme know if you need more on this).
So my questions are: Is there a setting that will allow Chromium to load the color picker dialog that I'm unaware of?
Or is the fact that it's wrapped in WPF preventing it from making a call out to windows to load the dialog?
Or is it something else?
Upon further investigation this is an open issue in the Chromium Embedded Framework and as such it isn't possible to open the Color Picker dialog. I'll use a jquery plugin instead.
Further details on the open issue here: https://bitbucket.org/chromiumembedded/cef/issues/899