WebBrowserHost.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #include <ThirdParty/CEF/include/cef_app.h>
  2. #include <ThirdParty/CEF/include/cef_client.h>
  3. #include <ThirdParty/CEF/include/cef_render_handler.h>
  4. #include <Atomic/Core/ProcessUtils.h>
  5. #include <Atomic/IO/Log.h>
  6. #include "WebBrowserHost.h"
  7. namespace Atomic
  8. {
  9. WebBrowserHost::WebBrowserHost(Context* context) : Object (context)
  10. {
  11. const Vector<String>& arguments = GetArguments();
  12. const char** _argv { 0 };
  13. PODVector<const char*> argv;
  14. for (unsigned i = 0; i < arguments.Size(); i++)
  15. argv.Push(arguments[i].CString());
  16. CefMainArgs args(arguments.Size(), arguments.Size() ? (char**) &argv[0] : (char **) _argv);
  17. // TODO: We're losing the main system menu items on OSX and cmd-q no longer works
  18. // when we init CEF
  19. int result = CefExecuteProcess(args, nullptr, nullptr);
  20. if (result >= 0)
  21. {
  22. LOGERROR("CEFExecuteProcess - Error");
  23. }
  24. CefSettings settings;
  25. if (!CefInitialize(args, settings, nullptr, nullptr))
  26. {
  27. LOGERROR("CefInitialize - Error");
  28. }
  29. }
  30. WebBrowserHost::~WebBrowserHost()
  31. {
  32. }
  33. }