ID:99599
 
Not Feasible
Applies to:Dream Seeker
Status: Not Feasible

Implementing this feature is not possible now or in the foreseeable future
Duplicates:id:101963
BYOND uses IE as its engine for its browser window, which is used in a handful of games for certain interfaces, especially ones with popup windows.

This is a security liability.

IE is not secure. Period. It's shit. At times, it's possible to use exploits that can compromise the safety of people's servers, and the player's computers. This alone is a reason to give people the option to have another browser engine be used in its place.

Even if you have to recode BYOND from the ground up to accommodate this, I'd rather it was done before people found ways to exploit it.

Nothing will put people off BYOND faster than a browser exploit that was executed in internet explorer. And yes. It can happen.
Awww, poor little IE troll. You and Lummox will probably get along.

Anyway, though I'd say its complete BS that anyone is going to find massive exploits in IE that can't be duplicated in other browsers, it is kind of annoying that it doesn't use your default for certain things.
Especially since using link() does use your default browser, which should mean its at least possible, even if it has to be done wonkily by forcing everything through an implied Topic link.
I think you're going to find exploits in any browser, and I disagree with this suggestion for one important reason: compatibility.

When I write code for the browser, I make sure my code works for IE. My CSS is catered towards IE. My Javascript is also written exclusively to work on IE.

If the built-in browser were to suddenly change, I wouldn't even know where to start looking to redo the code that was once compatible.

Unfortunately this suggestion eventually has to fall through if BYOND is to be ported to anything else but Windows, but I'd like to know at least 6 months beforehand that the rendering engine is going to be changed so that I can make sure everything is in order way ahead of time.
Falacy wrote:
Especially since using link() does use your default browser, which should mean its at least possible, even if it has to be done wonkily by forcing everything through an implied Topic link.

It's not that easy. All link() does is open up your default browser and send you to the URL of your choice. It doesn't have to do anything else.

Any browser in-game would have to be able to parse byond:// links to be able to route them to Topic(). These links have to work with both GET and POST. You shouldn't be able to view the source-code by right-clicking the browser but instead you should see what there is now.

Furthermore you must ensure compatibility, and the only way to do that is to rely on the same browser and not to rely on a group of them. As such the browser rendering engine that's going to be used (Gecko, the Firefox rendering engine for example) would have to be shipped along with BYOND.

The reason IE was chosen is because 1) it's much simpler to use since the Windows API immediately provides it and 2) it'll work on any Windows system without having to add additional files and you don't have to worry about updating those files to reflect the latest version of whatever engine you're using.
I support this feature, if not necessarily due to security options alone. IE is really fucking annoying.
What did BYOND use when it was compatible with Mac and Linux?

EDIT: Also, when I was working through JavaScript, most of the variables I wanted to work with weren't available through IE, and I had to work around those as well. So a browser change would be welcomed here.
BYOND never had a GUI version for Mac or Linux. Hence there was no browser to use.

Using the Gecko engine has been investigated before, but it proved to be more of a hassle than it was worth at the time. It also adds like 4MB to the download size of the BYOND package, which is a big downside.