From 43d44578ba4b791d5e25b0dc2a8ecb2a63b06d4b Mon Sep 17 00:00:00 2001 From: Marshall Greenblatt Date: Wed, 16 Jan 2013 20:20:09 +0000 Subject: [PATCH] Linux: Fix compile errors (issue #852). git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@997 5089003a-bbd8-11dd-ad1f-f1f9622dbc98 --- libcef/browser/browser_host_impl.cc | 2 +- tests/unittests/v8_unittest.cc | 20 ++++++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/libcef/browser/browser_host_impl.cc b/libcef/browser/browser_host_impl.cc index 703d94596..1daac479c 100644 --- a/libcef/browser/browser_host_impl.cc +++ b/libcef/browser/browser_host_impl.cc @@ -2096,7 +2096,7 @@ void CefBrowserHostImpl::RunFileChooserOnUIThread( if (client_.get()) { CefRefPtr handler = client_->GetDialogHandler(); if (handler.get()) { - cef_file_dialog_mode_t mode; + cef_file_dialog_mode_t mode = FILE_DIALOG_OPEN; switch (params.mode) { case content::FileChooserParams::Open: mode = FILE_DIALOG_OPEN; diff --git a/tests/unittests/v8_unittest.cc b/tests/unittests/v8_unittest.cc index b2b512ecd..d7c0ccd0d 100644 --- a/tests/unittests/v8_unittest.cc +++ b/tests/unittests/v8_unittest.cc @@ -1824,8 +1824,24 @@ class V8RendererTest : public ClientApp::RenderDelegate { EXPECT_TRUE(task_runner->IsSame(task_runner_)); // Execute the callback asynchronously. - task_runner->PostTask( - NewCefRunnableMethod(this, &Handler::ExecCallback)); + // Can't use templates with nested classes on Linux. + class Task : public CefTask { + public: + explicit Task(Handler* handler) + : handler_(handler) { + handler_->AddRef(); + } + ~Task() { + handler_->Release(); + } + virtual void Execute() OVERRIDE { + handler_->ExecCallback(); + } + private: + Handler* handler_; + IMPLEMENT_REFCOUNTING(Task); + }; + task_runner->PostTask(new Task(this)); retval = CefV8Value::CreateBool(true); return true;