Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refactor browser source (Browser Source ver. 2.0)
This significantly reduces the complexity and increases the readability of the browser source's codebase. This prunes approximately 13,000 lines of unnecessary code, and reduces the core browser source files from ~65 files to ~10. 1.) Removes macOS CEF process isolation (an alternative means of load isolation was added to the frontend) 2.) Removes unnecessary dependencies such as fmt and nowide 3.) Switches from jansson to json11 to make it a bit easier to compile on windows (jansson is compiled with DLL redistributables, where as the browser source plugin is compiled without) 4.) Removes unnecessary ::Impl classes (should have been abstract classes with virtual functions from the beginning, the only reason to use private implementation classes like this are when you want to hide implementation, not when you want to simply abstract implementation) 5.) Combines files that were unnecessarily spread apart 6.) Unifies the design across operating systems 7.) Improves the readability of the code 8.) Removes all memory leaks 9.) Opens up the ability to implement Linux support more more easily later (Author note: I did not want to have to make commits for every single change at this point. I realize that this would have been ideal to track specific changes, but it's nearly on the level of being a rewrite. The browser source codebase was in such disrepair that I just decided it was not worth my time at this point. Consider this commit executive privilege for this one particular case.)
- Loading branch information