diff --git a/CHROMIUM_BUILD_COMPATIBILITY.txt b/CHROMIUM_BUILD_COMPATIBILITY.txt index d40668873..b615e96f1 100644 --- a/CHROMIUM_BUILD_COMPATIBILITY.txt +++ b/CHROMIUM_BUILD_COMPATIBILITY.txt @@ -17,5 +17,5 @@ { 'chromium_url': 'http://src.chromium.org/svn/trunk/src', - 'chromium_revision': '109626', + 'chromium_revision': '110703', } diff --git a/cef.gyp b/cef.gyp index 9264ddf95..320c38039 100644 --- a/cef.gyp +++ b/cef.gyp @@ -368,6 +368,7 @@ '../webkit/support/webkit_support.gyp:glue', '../webkit/support/webkit_support.gyp:quota', '../webkit/support/webkit_support.gyp:webkit_gpu', + '../webkit/support/webkit_support.gyp:webkit_media', '../webkit/support/webkit_support.gyp:webkit_resources', '../webkit/support/webkit_support.gyp:webkit_strings', 'libcef_static', @@ -645,6 +646,7 @@ '../webkit/support/webkit_support.gyp:glue', '../webkit/support/webkit_support.gyp:quota', '../webkit/support/webkit_support.gyp:webkit_gpu', + '../webkit/support/webkit_support.gyp:webkit_media', '../webkit/support/webkit_support.gyp:webkit_resources', '../webkit/support/webkit_support.gyp:webkit_strings', ], diff --git a/libcef/browser_database_system.cc b/libcef/browser_database_system.cc index 31fa78844..0abc89e02 100644 --- a/libcef/browser_database_system.cc +++ b/libcef/browser_database_system.cc @@ -5,6 +5,8 @@ #include "browser_database_system.h" #include "base/auto_reset.h" +#include "base/bind.h" +#include "base/bind_helpers.h" #include "base/file_util.h" #include "base/message_loop.h" #include "base/message_loop_proxy.h" @@ -45,9 +47,10 @@ BrowserDatabaseSystem::BrowserDatabaseSystem() BrowserDatabaseSystem::~BrowserDatabaseSystem() { base::WaitableEvent done_event(false, false); - db_thread_proxy_->PostTask(FROM_HERE, - NewRunnableMethod(this, &BrowserDatabaseSystem::ThreadCleanup, - &done_event)); + db_thread_proxy_->PostTask( + FROM_HERE, + base::Bind(&BrowserDatabaseSystem::ThreadCleanup, + base::Unretained(this), &done_event)); done_event.Wait(); instance_ = NULL; } @@ -56,37 +59,44 @@ void BrowserDatabaseSystem::databaseOpened(const WebKit::WebDatabase& database) string16 origin_identifier = database.securityOrigin().databaseIdentifier(); string16 database_name = database.name(); open_connections_->AddOpenConnection(origin_identifier, database_name); - db_thread_proxy_->PostTask(FROM_HERE, - NewRunnableMethod(this, &BrowserDatabaseSystem::DatabaseOpened, - origin_identifier, - database_name, database.displayName(), - database.estimatedSize())); + db_thread_proxy_->PostTask( + FROM_HERE, + base::Bind(&BrowserDatabaseSystem::DatabaseOpened, + base::Unretained(this), + origin_identifier, + database_name, database.displayName(), + database.estimatedSize())); } void BrowserDatabaseSystem::databaseModified( const WebKit::WebDatabase& database) { - db_thread_proxy_->PostTask(FROM_HERE, - NewRunnableMethod(this, &BrowserDatabaseSystem::DatabaseModified, - database.securityOrigin().databaseIdentifier(), - database.name())); + db_thread_proxy_->PostTask( + FROM_HERE, + base::Bind(&BrowserDatabaseSystem::DatabaseModified, + base::Unretained(this), + database.securityOrigin().databaseIdentifier(), + database.name())); } void BrowserDatabaseSystem::databaseClosed(const WebKit::WebDatabase& database) { string16 origin_identifier = database.securityOrigin().databaseIdentifier(); string16 database_name = database.name(); - db_thread_proxy_->PostTask(FROM_HERE, - NewRunnableMethod(this, &BrowserDatabaseSystem::DatabaseClosed, - origin_identifier, database_name)); + db_thread_proxy_->PostTask( + FROM_HERE, + base::Bind(&BrowserDatabaseSystem::DatabaseClosed, + base::Unretained(this), origin_identifier, database_name)); } base::PlatformFile BrowserDatabaseSystem::OpenFile( const string16& vfs_file_name, int desired_flags) { base::PlatformFile result = base::kInvalidPlatformFileValue; base::WaitableEvent done_event(false, false); - db_thread_proxy_->PostTask(FROM_HERE, - NewRunnableMethod(this, &BrowserDatabaseSystem::VfsOpenFile, - vfs_file_name, desired_flags, - &result, &done_event)); + db_thread_proxy_->PostTask( + FROM_HERE, + base::Bind(&BrowserDatabaseSystem::VfsOpenFile, + base::Unretained(this), + vfs_file_name, desired_flags, + &result, &done_event)); done_event.Wait(); return result; } @@ -95,10 +105,12 @@ int BrowserDatabaseSystem::DeleteFile( const string16& vfs_file_name, bool sync_dir) { int result = SQLITE_OK; base::WaitableEvent done_event(false, false); - db_thread_proxy_->PostTask(FROM_HERE, - NewRunnableMethod(this, &BrowserDatabaseSystem::VfsDeleteFile, - vfs_file_name, sync_dir, - &result, &done_event)); + db_thread_proxy_->PostTask( + FROM_HERE, + base::Bind(&BrowserDatabaseSystem::VfsDeleteFile, + base::Unretained(this), + vfs_file_name, sync_dir, + &result, &done_event)); done_event.Wait(); return result; } @@ -106,9 +118,10 @@ int BrowserDatabaseSystem::DeleteFile( uint32 BrowserDatabaseSystem::GetFileAttributes(const string16& vfs_file_name) { uint32 result = 0; base::WaitableEvent done_event(false, false); - db_thread_proxy_->PostTask(FROM_HERE, - NewRunnableMethod(this, &BrowserDatabaseSystem::VfsGetFileAttributes, - vfs_file_name, &result, &done_event)); + db_thread_proxy_->PostTask( + FROM_HERE, + base::Bind(&BrowserDatabaseSystem::VfsGetFileAttributes, + base::Unretained(this), vfs_file_name, &result, &done_event)); done_event.Wait(); return result; } @@ -116,9 +129,10 @@ uint32 BrowserDatabaseSystem::GetFileAttributes(const string16& vfs_file_name) { int64 BrowserDatabaseSystem::GetFileSize(const string16& vfs_file_name) { int64 result = 0; base::WaitableEvent done_event(false, false); - db_thread_proxy_->PostTask(FROM_HERE, - NewRunnableMethod(this, &BrowserDatabaseSystem::VfsGetFileSize, - vfs_file_name, &result, &done_event)); + db_thread_proxy_->PostTask( + FROM_HERE, + base::Bind(&BrowserDatabaseSystem::VfsGetFileSize, + base::Unretained(this), vfs_file_name, &result, &done_event)); done_event.Wait(); return result; } @@ -127,24 +141,28 @@ int64 BrowserDatabaseSystem::GetSpaceAvailable( const string16& origin_identifier) { int64 result = 0; base::WaitableEvent done_event(false, false); - db_thread_proxy_->PostTask(FROM_HERE, - NewRunnableMethod(this, &BrowserDatabaseSystem::VfsGetSpaceAvailable, - origin_identifier, &result, &done_event)); + db_thread_proxy_->PostTask( + FROM_HERE, + base::Bind(&BrowserDatabaseSystem::VfsGetSpaceAvailable, + base::Unretained(this), origin_identifier, + &result, &done_event)); done_event.Wait(); return result; } void BrowserDatabaseSystem::ClearAllDatabases() { open_connections_->WaitForAllDatabasesToClose(); - db_thread_proxy_->PostTask(FROM_HERE, - NewRunnableMethod(this, &BrowserDatabaseSystem::ResetTracker)); + db_thread_proxy_->PostTask( + FROM_HERE, + base::Bind(&BrowserDatabaseSystem::ResetTracker, base::Unretained(this))); } void BrowserDatabaseSystem::SetDatabaseQuota(int64 quota) { if (!db_thread_proxy_->BelongsToCurrentThread()) { - db_thread_proxy_->PostTask(FROM_HERE, - NewRunnableMethod(this, &BrowserDatabaseSystem::SetDatabaseQuota, - quota)); + db_thread_proxy_->PostTask( + FROM_HERE, + base::Bind(&BrowserDatabaseSystem::SetDatabaseQuota, + base::Unretained(this), quota)); return; } quota_per_origin_ = quota; diff --git a/libcef/browser_database_system.h b/libcef/browser_database_system.h index 96e863be3..e84f82edd 100644 --- a/libcef/browser_database_system.h +++ b/libcef/browser_database_system.h @@ -12,7 +12,6 @@ #include "base/scoped_temp_dir.h" #include "base/string16.h" #include "base/synchronization/lock.h" -#include "base/task.h" #include "base/threading/thread.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebDatabaseObserver.h" #include "webkit/database/database_connections.h" @@ -39,7 +38,7 @@ class BrowserDatabaseSystem : public webkit_database::DatabaseTracker::Observer, virtual void databaseClosed(const WebKit::WebDatabase& database); // SQLite VFS related methods, these are called on webcore's - // background database threads via the WebKitClient impl. + // background database threads via the WebKitPlatformSupport impl. base::PlatformFile OpenFile(const string16& vfs_file_name, int desired_flags); int DeleteFile(const string16& vfs_file_name, bool sync_dir); uint32 GetFileAttributes(const string16& vfs_file_name); @@ -64,9 +63,10 @@ class BrowserDatabaseSystem : public webkit_database::DatabaseTracker::Observer, // DatabaseTracker::Observer implementation virtual void OnDatabaseSizeChanged(const string16& origin_identifier, const string16& database_name, - int64 database_size); - virtual void OnDatabaseScheduledForDeletion(const string16& origin_identifier, - const string16& database_name); + int64 database_size) OVERRIDE; + virtual void OnDatabaseScheduledForDeletion( + const string16& origin_identifier, + const string16& database_name) OVERRIDE; // Used by our public SQLite VFS methods, only called on the db_thread. void VfsOpenFile(const string16& vfs_file_name, int desired_flags, @@ -101,6 +101,4 @@ class BrowserDatabaseSystem : public webkit_database::DatabaseTracker::Observer, static BrowserDatabaseSystem* instance_; }; -DISABLE_RUNNABLE_METHOD_REFCOUNT(BrowserDatabaseSystem); - #endif // _BROWSER_DATABASE_SYSTEM_H diff --git a/libcef/browser_devtools_agent.h b/libcef/browser_devtools_agent.h index bd564200f..16c35c222 100644 --- a/libcef/browser_devtools_agent.h +++ b/libcef/browser_devtools_agent.h @@ -5,6 +5,8 @@ #ifndef _BROWSER_DEVTOOLS_AGENT_H #define _BROWSER_DEVTOOLS_AGENT_H +#include + #include "base/memory/weak_ptr.h" #include "base/task.h" @@ -14,7 +16,6 @@ namespace WebKit { class WebDevToolsAgent; class WebView; -struct WebDevToolsMessageData; } // namespace WebKit diff --git a/libcef/browser_devtools_client.h b/libcef/browser_devtools_client.h index fc52ecc1e..556f0a260 100644 --- a/libcef/browser_devtools_client.h +++ b/libcef/browser_devtools_client.h @@ -14,7 +14,6 @@ namespace WebKit { class WebDevToolsFrontend; -struct WebDevToolsMessageData; } // namespace WebKit diff --git a/libcef/browser_persistent_cookie_store.cc b/libcef/browser_persistent_cookie_store.cc index ebbff4426..227787a68 100644 --- a/libcef/browser_persistent_cookie_store.cc +++ b/libcef/browser_persistent_cookie_store.cc @@ -164,8 +164,7 @@ class BrowserPersistentCookieStore::Backend PendingOperationsList::size_type num_pending_; // True if the persistent store should be deleted upon destruction. bool clear_local_state_on_exit_; - // Guard |cookies_|, |pending_|, |num_pending_| and - // |clear_local_state_on_exit_|. + // Guard |cookies_|, |pending_|, |num_pending_|, |clear_local_state_on_exit_| base::Lock lock_; // Temporary buffer for cookies loaded from DB. Accumulates cookies to reduce @@ -540,12 +539,12 @@ void BrowserPersistentCookieStore::Backend::BatchOperation( // We've gotten our first entry for this batch, fire off the timer. CefThread::PostDelayedTask( CefThread::FILE, FROM_HERE, - NewRunnableMethod(this, &Backend::Commit), kCommitIntervalMs); + base::Bind(&Backend::Commit, this), kCommitIntervalMs); } else if (num_pending == kCommitAfterBatchSize) { // We've reached a big enough batch, fire off a commit now. CefThread::PostTask( CefThread::FILE, FROM_HERE, - NewRunnableMethod(this, &Backend::Commit)); + base::Bind(&Backend::Commit, this)); } } @@ -639,7 +638,7 @@ void BrowserPersistentCookieStore::Backend::Commit() { void BrowserPersistentCookieStore::Backend::Flush(Task* completion_task) { DCHECK(!CefThread::CurrentlyOn(CefThread::FILE)); CefThread::PostTask( - CefThread::FILE, FROM_HERE, NewRunnableMethod(this, &Backend::Commit)); + CefThread::FILE, FROM_HERE, base::Bind(&Backend::Commit, this)); if (completion_task) { // We want the completion task to run immediately after Commit() returns. // Posting it from here means there is less chance of another task getting @@ -658,7 +657,7 @@ void BrowserPersistentCookieStore::Backend::Close() { // Must close the backend on the background thread. CefThread::PostTask( CefThread::FILE, FROM_HERE, - NewRunnableMethod(this, &Backend::InternalBackgroundClose)); + base::Bind(&Backend::InternalBackgroundClose, this)); } } diff --git a/libcef/browser_webview_delegate.cc b/libcef/browser_webview_delegate.cc index 4db41daaa..b0de7eb68 100644 --- a/libcef/browser_webview_delegate.cc +++ b/libcef/browser_webview_delegate.cc @@ -61,11 +61,11 @@ #include "ui/gfx/point.h" #include "webkit/appcache/web_application_cache_host_impl.h" #include "webkit/glue/glue_serialize.h" -#include "webkit/glue/media/video_renderer_impl.h" #include "webkit/glue/webpreferences.h" #include "webkit/glue/webkit_glue.h" -#include "webkit/glue/webmediaplayer_impl.h" #include "webkit/glue/window_open_disposition.h" +#include "webkit/media/video_renderer_impl.h" +#include "webkit/media/webmediaplayer_impl.h" #include "webkit/plugins/npapi/plugin_list.h" #include "webkit/plugins/npapi/webplugin_delegate_impl.h" #include "webkit/plugins/npapi/webplugin_impl.h" @@ -634,17 +634,17 @@ WebMediaPlayer* BrowserWebViewDelegate::createMediaPlayer( scoped_ptr collection( new media::FilterCollection()); - scoped_refptr video_renderer( - new webkit_glue::VideoRendererImpl(false)); + scoped_refptr video_renderer( + new webkit_media::VideoRendererImpl(false)); collection->AddVideoRenderer(video_renderer); // Add the audio renderer. collection->AddAudioRenderer(new media::ReferenceAudioRenderer()); - scoped_ptr result( - new webkit_glue::WebMediaPlayerImpl( + scoped_ptr result( + new webkit_media::WebMediaPlayerImpl( client, - base::WeakPtr(), + base::WeakPtr(), collection.release(), message_loop_factory.release(), NULL, diff --git a/libcef/browser_webview_delegate.h b/libcef/browser_webview_delegate.h index 0c9ca1e19..e6dc84a28 100644 --- a/libcef/browser_webview_delegate.h +++ b/libcef/browser_webview_delegate.h @@ -206,7 +206,7 @@ class BrowserWebViewDelegate : public WebKit::WebViewClient, virtual void DidStopLoadingForPlugin() OVERRIDE {} virtual WebKit::WebCookieJar* GetCookieJar() OVERRIDE; - BrowserWebViewDelegate(CefBrowserImpl* browser); + explicit BrowserWebViewDelegate(CefBrowserImpl* browser); virtual ~BrowserWebViewDelegate(); void Reset(); diff --git a/libcef/scheme_impl.cc b/libcef/scheme_impl.cc index 01b15401e..c9f810f0a 100644 --- a/libcef/scheme_impl.cc +++ b/libcef/scheme_impl.cc @@ -583,7 +583,7 @@ private: DISALLOW_EVIL_CONSTRUCTORS(CefUrlRequestManager); }; -base::LazyInstance g_manager(base::LINKER_INITIALIZED); +base::LazyInstance g_manager = LAZY_INSTANCE_INITIALIZER; CefUrlRequestManager* CefUrlRequestManager::GetInstance() { diff --git a/libcef/simple_clipboard_impl.cc b/libcef/simple_clipboard_impl.cc index 4a44a80af..2b4219f79 100644 --- a/libcef/simple_clipboard_impl.cc +++ b/libcef/simple_clipboard_impl.cc @@ -29,7 +29,7 @@ ScopedClipboardWriterGlue::~ScopedClipboardWriterGlue() { namespace webkit_glue { -base::LazyInstance clipboard(base::LINKER_INITIALIZED); +base::LazyInstance clipboard = LAZY_INSTANCE_INITIALIZER; ui::Clipboard* ClipboardGetClipboard() { return clipboard.Pointer(); diff --git a/libcef/tracker.h b/libcef/tracker.h index 6bd8e16db..61467b15e 100644 --- a/libcef/tracker.h +++ b/libcef/tracker.h @@ -73,7 +73,7 @@ private: // removed by explicit calls to the Destroy() method will be removed when the // manager object is destroyed. A manager object can be created as either a // member variable of another class or by using lazy initialization: -// base::LazyInstance g_singleton(base::LINKER_INITIALIZED); +// base::LazyInstance g_singleton = LAZY_INSTANCE_INITIALIZER; class CefTrackManager : public CefBase { public: diff --git a/libcef/v8_impl.cc b/libcef/v8_impl.cc index 72a1554c6..732fd6698 100644 --- a/libcef/v8_impl.cc +++ b/libcef/v8_impl.cc @@ -32,7 +32,7 @@ static const char kCefUserData[] = "Cef::UserData"; // Memory manager. -base::LazyInstance g_v8_tracker(base::LINKER_INITIALIZED); +base::LazyInstance g_v8_tracker = LAZY_INSTANCE_INITIALIZER; class TrackBase : public CefTrackObject { diff --git a/libcef_dll/ctocpp/command_line_ctocpp.cc b/libcef_dll/ctocpp/command_line_ctocpp.cc index 86096131b..88c36ef46 100644 --- a/libcef_dll/ctocpp/command_line_ctocpp.cc +++ b/libcef_dll/ctocpp/command_line_ctocpp.cc @@ -22,7 +22,7 @@ CefRefPtr CefCommandLine::CreateCommandLine() int build_revision = cef_build_revision(); if (build_revision != CEF_REVISION) { // The libcef build revision does not match the CEF API revision. - DCHECK(FALSE); + DCHECK(false); return NULL; } diff --git a/libcef_dll/wrapper/libcef_dll_wrapper.cc b/libcef_dll/wrapper/libcef_dll_wrapper.cc index 5bfb8575e..e42d71961 100644 --- a/libcef_dll/wrapper/libcef_dll_wrapper.cc +++ b/libcef_dll/wrapper/libcef_dll_wrapper.cc @@ -42,7 +42,7 @@ bool CefInitialize(const CefSettings& settings) int build_revision = cef_build_revision(); if (build_revision != CEF_REVISION) { // The libcef build revision does not match the CEF API revision. - DCHECK(FALSE); + DCHECK(false); return false; } diff --git a/patch/patches/base.patch b/patch/patches/base.patch index 075cfde7d..32bdd17a0 100644 --- a/patch/patches/base.patch +++ b/patch/patches/base.patch @@ -1,8 +1,8 @@ Index: message_loop.cc =================================================================== ---- message_loop.cc (revision 108684) +--- message_loop.cc (revision 110703) +++ message_loop.cc (working copy) -@@ -403,9 +403,13 @@ +@@ -404,9 +404,13 @@ } void MessageLoop::AssertIdle() const { @@ -19,9 +19,9 @@ Index: message_loop.cc bool MessageLoop::is_running() const { Index: message_loop.h =================================================================== ---- message_loop.h (revision 108684) +--- message_loop.h (revision 110703) +++ message_loop.h (working copy) -@@ -366,6 +366,9 @@ +@@ -363,6 +363,9 @@ // Asserts that the MessageLoop is "idle". void AssertIdle() const;