Direct3D app screws up XULRunner - xul

I have an app using a render engine which can switch between D3D and OpenGL (on Windows at least!) We also use XULRunner for embedded web-browser functionality. XULRunner also appears to use D3D and when our engine is in D3D mode, XUL stops working - it just renders black the whole time.
"Use OpenGL" isn't the answer I'm looking for, so what can I do? We are using D3D9.
edit: Apparently GL support is immature, on non-Windows platforms no hardware acceleration is used by default. We've tried to disable it but either there is another bug, or we're not using the right flags. I can't find a good reference for them.
edit: Current release versions of XULRunner as used in FF 3.x don't support hardware acceleration. And yet still, the moment a D3D9 device is created, the Gecko render engine starts painting solid black.

An old question, but both these threads have answers:
DirectX Firefox Plugin rendering artifacts
Writing a plugin using NPAPI + D3D. It works on Firefox, but the browser blacks out. Why?

Related

Are there browsers for windows or linux that still using actual webkit engine version not blink engine?

Is there any browser for windows or linux that still using actual webkit engine version not blink engine?
This is a question that I also ask, periodically, so I can give an updated reply:
for Linux, there are several more-or-less platform-specific browsers that use webkit2-gtk (a more-or-less up-to-date WebKit2 implementation): notably Web/Epiphany and Midori. Both are rather simple/lightweight browsers.
for MS Windows, there is still the more full-fledged Maxthon 5 browser (or virus, according to some), but I have been unable to determine what WebKit version it really uses (based on its user agent string it might NOT be WebKit2). Some quick testing suggests it's a good alternative for slower hardware (many hybrid tablet PCs!) as WebKit is noticeably less resource-hungry than WebEngine (aka Chromium aka Blink). Note however that Maxthon 6 will become just another blink on the block (unless they decide to keep the dual-engine feature).
for Linux AND MS Windows (Qt-based, cross platform) there are Konqueror and Otter-Browser. The former is mostly focussed on its QtWebEngine backend, but the latter is indeed focussed on the "rebooted" QtWebKit (and aims to reimplement Opera 12; it provides installers for MS Windows).
The QtWebKit reboot is largely a 1-person effort at the moment that could probably stand a few more contributors, notably to merge a more recent WebKit version.
according to wikipedia, maxthon browser still uses webkit (You can switch engines in Maxthon though)
As of version 3, Maxthon supports two web browser engines: WebKit and
Trident
Wikipedia

Sorry, firefox.exe/chrome.exe is taking a while to load | (unresponsive) firefox.exe/chrome.exe

I'm making an application with WebVR using React VR. I'll test the application with my Oculus Rift and HTC-Vive. I'm using the browser Firefox Nightly to access the WebVR API's.
If I browse to my application using Firefox Nightly or Chromium, I arrive in an empty space with a loading message. A few seconds later I got this message on my Oculus Rift:
Sorry, firefox.exe/chrome.exe is taking a while to load. If this issue persists, please take off your headset and check this app on your computer.
On the HTC-Vive I got this message in Steam VR but it doesn't load at all.
(unresponsive) firefox.exe/chrome.exe
In the webbrouwser, I got the result I must see inside the headset with motion tracking.
I'm using this browsers
Version Firefox nightly: 55.0a1
Version Chromium: 56.0.2910.0
And this are my specifications:
GeForce: GTX 970
GeForce Game Ready Driver: 378.66
Processor: Intel® Core™ i7-6700 CPU # 3.40GHz
RAM: 15.87 GB
This isn't the Oculus software at all. The problem is an NVIDIA driver update that broke everything. You need to go to the NVIDIA site and download drivers from the "376" generation (Dec'16-Feb'17). Install those and the problems go away. I confirmed that things are working with Oculus 1.12, 1.14, and 1.14 beta channel.
It looked like Oculus broke things because 1.14 came out on almost the same day as the "381" NVidia driver update.
Downgrading my Nvidia driver to 376 worked as a charm for me, but I can't run the VR scenes on Nightly, just on Chromium.
I was able to get my Oculus to work with WebVR by enabling the Beta channel within the oculus app and letting it install an update. Seems like the current Oculus version might be broken.
Try installing SteamVR. SteamVR overrides the Oculus runtime and runs applications on its own.
Try closing Oculus Home before you launch your WebVR application using the WebVR button.
Make sure you are not in the Beta/Dash mode in Oculus 
Try to disable the auto-opening of Oculus Home. Oculus home opens automatically on wearing the rift. To disable, select “Run as admin” field in the properties of the Oculus app. More specifically, go to /Oculus-Directory/Support/oculus-client/OculusClient, right click, select properties, check “Run as Administrator”.
Make sure that your Desktop and Rift are connected to the same Graphic card. You might need an HDMI to DVI converter for the same. This is what fixed the problem for me.

What happened to Opera Dragonfly?

Using either 20.0.1387.82 or 22.0.1457.0 (developer)
When I right-click and select Inspect Element, I get a vanilla Developer Tools dialogue:
not the one always pictured:
It looks identical to Chrome's debugger (though I've uninstalled Chrome), most notably absent, the icons on top row and the remote debug facility.
Anyone know how I can get Dragonfly working on my machine?
Opera ditched their Presto rendering engine and built a new browser (also called Opera) around Blink (Google's fork of Webkit). It doesn't support Dragonfly any more.
There are plans to port it to the new browser.

Is it possible to check and set wx.html2 to use WebKit on Windows?

Is it possible to do a combination of a check and a engine-switch on Windows for wx.html2 in wxPython 2.9.4.0 (development version)?
What I want to achieve is; to let the wx.html2 library use WebKit on Windows if Safari, Chrome or Opera (WebKit/Blink) is installed.
Does anyone have any experience with this and maybe how to achieve it? I also wonder where wx.html2 looks for the engine on each OS and how it asks to render it.
I tried using wx.webkit. But there are so many issues like; lack of documentation and the implementation of the object seems to break on different operating systems.
How does wxPython know to use Webkit? It doesn't, it's parent library, wxWidgets does a compile-time check. It assumes Webkit is installed if it's built on Mac or Linux, and assumes IE is installed if it's on Windows.
If you really want WebKit/Blink, then perhaps consider CEFPython, an embedded Chrome. There's an example at that link of a (very simple) wxPython application.

Safari3 and Safari4 side by side

I've just read about the release of Safari4 (beta) and its much improved Javascript engine.
I was planning to start playing with it, but I am wondering if anybody knows if both Safary 3 and Safari 4 can be run side by side.
You could run Safari 3 and use the nightly builds of Webkit to test the new engine. You'd be still missing the new features like Cover Flow and Top Sites though.
Try this
Safari normally use the Web Kit
framework found inside Mac OS X to
render web pages and execute
javascript. This means that if you
preserve an old version of Safari to
run it on a newer version of Mac OS,
it will use the newer Web Kit found in
the system and you will get the same
results as with the newer version.
However, the link has some stand alone versions that you can install.
There's also this which shows how to create your own stand alone version.
Beatnik Pad has a quick tutorial that shows how running Safari 4 Beta and Safari 3 side by side can be accomplished.