From e78bd73f338f44c680c81557857c98f2ace52ffe Mon Sep 17 00:00:00 2001 From: zbych Date: Mon, 19 Oct 2015 16:47:57 +0000 Subject: [PATCH] ChromiumBrowser: flash plugin support, docs updated, cosmetics git-svn-id: svn://ultimatepp.org/upp/trunk@9053 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- bazaar/ChromiumBrowser/ChromiumBrowser.cpp | 4 ++-- bazaar/ChromiumBrowser/ClientApp.cpp | 16 ++++++++++++++++ bazaar/ChromiumBrowser/ClientHandler.h | 14 +++++++------- .../src.tpp/ChromiumBrowser$en-us.tpp | 9 ++++++++- .../ChromiumBrowserExample.lay | 2 +- bazaar/ChromiumBrowserExample/main.cpp | 2 +- 6 files changed, 35 insertions(+), 12 deletions(-) diff --git a/bazaar/ChromiumBrowser/ChromiumBrowser.cpp b/bazaar/ChromiumBrowser/ChromiumBrowser.cpp index 73b613f47..b1269a0b5 100644 --- a/bazaar/ChromiumBrowser/ChromiumBrowser.cpp +++ b/bazaar/ChromiumBrowser/ChromiumBrowser.cpp @@ -33,7 +33,7 @@ void ChromiumBrowser::ChildProcess() { CefRefPtr app(new ClientApp); -#ifdef PLATFORM_LINUX +#ifdef PLATFORM_POSIX Vector args = GetArgs(); CefMainArgs main_args(args.GetCount(), &args[0]); @@ -67,7 +67,7 @@ ChromiumBrowser::ChromiumBrowser(): handler(NULL), start_page("about:blank") { CefRefPtr app(new ClientApp); -#ifdef PLATFORM_LINUX +#ifdef PLATFORM_POSIX Vector args = GetArgs(); CefMainArgs main_args(args.GetCount(), &args[0]); diff --git a/bazaar/ChromiumBrowser/ClientApp.cpp b/bazaar/ChromiumBrowser/ClientApp.cpp index 1c49e4ad9..ea678c29e 100644 --- a/bazaar/ChromiumBrowser/ClientApp.cpp +++ b/bazaar/ChromiumBrowser/ClientApp.cpp @@ -12,6 +12,22 @@ void ClientApp::OnBeforeCommandLineProcessing(const CefString& process_type, Cef //Extra command line switches command_line->AppendSwitch("enable-media-stream"); command_line->AppendSwitch("no-sandbox"); + +#ifdef PLATFORM_LINUX + + Upp::String fp = Upp::GetExeDirFile("libpepflashplayer.so"); + +#elif defined(PLATFORM_WIN32) + + Upp::String fp = Upp::GetExeDirFile("pepflashplayer.dll"); + +#else + + #error "Unsupported platform" + +#endif + if (Upp::FileExists(fp)) command_line->AppendSwitchWithValue("ppapi-flash-path", ~fp); + } diff --git a/bazaar/ChromiumBrowser/ClientHandler.h b/bazaar/ChromiumBrowser/ClientHandler.h index 14a83281e..ec48de4f3 100644 --- a/bazaar/ChromiumBrowser/ClientHandler.h +++ b/bazaar/ChromiumBrowser/ClientHandler.h @@ -35,19 +35,19 @@ public: ~ClientHandler() { } - Upp::Callback1 & WhenUrlChange; - Upp::Callback2&> & WhenMessage; - Upp::Callback & WhenTakeFocus; - Upp::Callback & WhenGotFocus; - Upp::Callback1 & WhenKeyboard; - Upp::Callback3 & WhenConsoleMessage; + const Upp::Callback1 & WhenUrlChange; + const Upp::Callback2&> & WhenMessage; + const Upp::Callback & WhenTakeFocus; + const Upp::Callback & WhenGotFocus; + const Upp::Callback1 & WhenKeyboard; + const Upp::Callback3 & WhenConsoleMessage; void WhenMessageWrapper(Upp::String name, Upp::Vector * par); virtual CefRefPtr GetLifeSpanHandler() OVERRIDE { return this; } virtual CefRefPtr GetDisplayHandler() OVERRIDE { return this; } virtual CefRefPtr GetFocusHandler() OVERRIDE { return this; } -// virtual CefRefPtr GetLoadHandler() OVERRIDE { return this; } + virtual CefRefPtr GetLoadHandler() OVERRIDE { return this; } virtual CefRefPtr GetContextMenuHandler() OVERRIDE { return this; } virtual CefRefPtr GetJSDialogHandler() OVERRIDE { return this; } diff --git a/bazaar/ChromiumBrowser/src.tpp/ChromiumBrowser$en-us.tpp b/bazaar/ChromiumBrowser/src.tpp/ChromiumBrowser$en-us.tpp index 44a34e382..9f67a16b5 100644 --- a/bazaar/ChromiumBrowser/src.tpp/ChromiumBrowser$en-us.tpp +++ b/bazaar/ChromiumBrowser/src.tpp/ChromiumBrowser$en-us.tpp @@ -138,6 +138,9 @@ files. It should look like this:&] [s0; -|-| ├── zh`-CN.pak&] [s0; -|-| └── zh`-TW.pak&] [s0; &] +[s0;i150;O0; if you need Flash plugin, install google chrome browser +and copy [C libpepflashplayer.so] from [C /opt/google/chrome/PepperFlash] +to the output directory&] [s0;* &] [ {{10000F(128)G(128)@1 [s0; [* Building CEF application on Windows]]}}&] [s0; &] @@ -237,7 +240,11 @@ required files. Your application directory should look like this:&] [s0; -|-| vi.pak&] [s0; -|-| zh`-CN.pak&] [s0; -|-| zh`-TW.pak&] -[s0;* &] +[s0; &] +[s0;i150;O0; if you need flash plugin, install google chrome browser +and copy [C pepflashplayer.dll] from `"[C c:`\Program Files (x86)`\Google`\Chrome`\App +lication`\xxx`\PepperFlash]`" to the output directory&] +[s0; &] [ {{10000F(128)G(128)@1 [s0; [* Final remarks]]}}&] [s0;i150;O0; CEF is multiprocess and multithreaded library. Your application binary file will be executed at least three times diff --git a/bazaar/ChromiumBrowserExample/ChromiumBrowserExample.lay b/bazaar/ChromiumBrowserExample/ChromiumBrowserExample.lay index 5807898e6..70eaec00d 100644 --- a/bazaar/ChromiumBrowserExample/ChromiumBrowserExample.lay +++ b/bazaar/ChromiumBrowserExample/ChromiumBrowserExample.lay @@ -4,8 +4,8 @@ LAYOUT(ChromiumBrowserExampleLayout, 504, 260) ITEM(Button, Refresh, Tip(t_("Refresh current page")).LeftPosZ(108, 48).TopPosZ(4, 44)) ITEM(EditString, Url, SetFont(StdFontZ(32)).HSizePosZ(160, 160).TopPosZ(4, 44)) ITEM(Button, Go, Tip(t_("Go")).RightPosZ(108, 48).TopPosZ(4, 44)) + ITEM(Button, Stop, Tip(t_("Stop")).RightPosZ(56, 48).TopPosZ(4, 44)) ITEM(Button, JSTests, SetLabel(t_("JS Test")).Tip(t_("Javascript test")).RightPosZ(4, 48).TopPosZ(4, 44)) ITEM(ChromiumBrowser, Browser, StartPage("http://ultimatepp.org").HSizePosZ(0, 0).VSizePosZ(52, 0)) - ITEM(Button, Stop, Tip(t_("Stop")).RightPosZ(56, 48).TopPosZ(4, 44)) END_LAYOUT diff --git a/bazaar/ChromiumBrowserExample/main.cpp b/bazaar/ChromiumBrowserExample/main.cpp index ad52f0215..42cdab55a 100644 --- a/bazaar/ChromiumBrowserExample/main.cpp +++ b/bazaar/ChromiumBrowserExample/main.cpp @@ -45,7 +45,7 @@ ChromiumBrowserExample::ChromiumBrowserExample() JSTests.WhenAction = THISBACK(OnJSTests); //Delayed maximization - workaround of layout problem - SetTimeCallback(100, THISBACK1(Maximize, false)); + SetTimeCallback(200, THISBACK1(Maximize, false)); }