diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-30 22:18:56 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-30 22:18:56 +0000 |
commit | 1357c32474af4190d22ccca26bf414443252784b (patch) | |
tree | 620927f5a079c5850e59d9774f4747b76d60ed11 | |
parent | b99603ceb9cbec4a3b1ca9ac535f6b1cbc951bb8 (diff) | |
download | chromium_src-1357c32474af4190d22ccca26bf414443252784b.zip chromium_src-1357c32474af4190d22ccca26bf414443252784b.tar.gz chromium_src-1357c32474af4190d22ccca26bf414443252784b.tar.bz2 |
Move thread local stuff from base to base/threading and consistently use the
base namespace. This also fixes references to TLSSlot to
base::ThreadLocalStorage::Slot.
TEST=it compiles
BUG=none
Review URL: http://codereview.chromium.org/5986012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70322 0039d316-1c4b-4281-b951-d872f2087c98
31 files changed, 83 insertions, 65 deletions
diff --git a/base/base.gyp b/base/base.gyp index 7637284..1c82964 100644 --- a/base/base.gyp +++ b/base/base.gyp @@ -141,13 +141,13 @@ 'task_queue_unittest.cc', 'task_unittest.cc', 'threading/simple_thread_unittest.cc', + 'threading/thread_local_storage_unittest.cc', + 'threading/thread_local_unittest.cc', 'threading/watchdog_unittest.cc', 'threading/worker_pool_posix_unittest.cc', 'threading/worker_pool_unittest.cc', 'thread_checker_unittest.cc', 'thread_collision_warner_unittest.cc', - 'thread_local_storage_unittest.cc', - 'thread_local_unittest.cc', 'thread_unittest.cc', 'time_unittest.cc', 'time_win_unittest.cc', diff --git a/base/base.gypi b/base/base.gypi index e969149..7b6d50b 100644 --- a/base/base.gypi +++ b/base/base.gypi @@ -245,6 +245,12 @@ 'template_util.h', 'threading/simple_thread.cc', 'threading/simple_thread.h', + 'threading/thread_local.h', + 'threading/thread_local_posix.cc', + 'threading/thread_local_storage.h', + 'threading/thread_local_storage_posix.cc', + 'threading/thread_local_storage_win.cc', + 'threading/thread_local_win.cc', 'threading/watchdog.cc', 'threading/watchdog.h', 'threading/worker_pool.h', @@ -257,12 +263,6 @@ 'thread_checker.h', 'thread_collision_warner.cc', 'thread_collision_warner.h', - 'thread_local.h', - 'thread_local_posix.cc', - 'thread_local_storage.h', - 'thread_local_storage_posix.cc', - 'thread_local_storage_win.cc', - 'thread_local_win.cc', 'thread_restrictions.h', 'thread_restrictions.cc', 'time.cc', diff --git a/base/message_loop.cc b/base/message_loop.cc index 49d76a0..0e0572a 100644 --- a/base/message_loop.cc +++ b/base/message_loop.cc @@ -11,7 +11,7 @@ #include "base/logging.h" #include "base/message_pump_default.h" #include "base/metrics/histogram.h" -#include "base/thread_local.h" +#include "base/threading/thread_local.h" #if defined(OS_MACOSX) #include "base/message_pump_mac.h" diff --git a/base/metrics/stats_table.cc b/base/metrics/stats_table.cc index 82d6a25..a5e85c9 100644 --- a/base/metrics/stats_table.cc +++ b/base/metrics/stats_table.cc @@ -11,7 +11,7 @@ #include "base/shared_memory.h" #include "base/string_piece.h" #include "base/string_util.h" -#include "base/thread_local_storage.h" +#include "base/threading/thread_local_storage.h" #include "base/utf_string_conversions.h" #if defined(OS_POSIX) diff --git a/base/metrics/stats_table.h b/base/metrics/stats_table.h index e83039c..2a4f266 100644 --- a/base/metrics/stats_table.h +++ b/base/metrics/stats_table.h @@ -26,7 +26,7 @@ #include "base/basictypes.h" #include "base/hash_tables.h" #include "base/lock.h" -#include "base/thread_local_storage.h" +#include "base/threading/thread_local_storage.h" namespace base { @@ -184,7 +184,7 @@ class StatsTable { // we don't have a counter in our hash table, another process may // have created it. CountersMap counters_; - TLSSlot tls_index_; + ThreadLocalStorage::Slot tls_index_; static StatsTable* global_table_; diff --git a/base/thread.cc b/base/thread.cc index bc715f0..3b170ef 100644 --- a/base/thread.cc +++ b/base/thread.cc @@ -6,7 +6,7 @@ #include "base/lazy_instance.h" #include "base/third_party/dynamic_annotations/dynamic_annotations.h" -#include "base/thread_local.h" +#include "base/threading/thread_local.h" #include "base/waitable_event.h" namespace base { diff --git a/base/thread_restrictions.cc b/base/thread_restrictions.cc index 6767d80..6a7c60a 100644 --- a/base/thread_restrictions.cc +++ b/base/thread_restrictions.cc @@ -9,7 +9,7 @@ #include "base/lazy_instance.h" #include "base/logging.h" -#include "base/thread_local.h" +#include "base/threading/thread_local.h" namespace base { diff --git a/base/thread_local.h b/base/threading/thread_local.h index eba48d2..069543f 100644 --- a/base/thread_local.h +++ b/base/threading/thread_local.h @@ -45,8 +45,8 @@ // return Singleton<ThreadLocalPointer<MyClass> >::get()->Get(); // } -#ifndef BASE_THREAD_LOCAL_H_ -#define BASE_THREAD_LOCAL_H_ +#ifndef BASE_THREADING_THREAD_LOCAL_H_ +#define BASE_THREADING_THREAD_LOCAL_H_ #pragma once #include "base/basictypes.h" @@ -124,4 +124,4 @@ class ThreadLocalBoolean { } // namespace base -#endif // BASE_THREAD_LOCAL_H_ +#endif // BASE_THREADING_THREAD_LOCAL_H_ diff --git a/base/thread_local_posix.cc b/base/threading/thread_local_posix.cc index 4d03403..568fa4b 100644 --- a/base/thread_local_posix.cc +++ b/base/threading/thread_local_posix.cc @@ -1,8 +1,8 @@ -// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. +// Copyright (c) 2010 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "base/thread_local.h" +#include "base/threading/thread_local.h" #include <pthread.h> diff --git a/base/thread_local_storage.h b/base/threading/thread_local_storage.h index b37a53c..204b6530 100644 --- a/base/thread_local_storage.h +++ b/base/threading/thread_local_storage.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef BASE_THREAD_LOCAL_STORAGE_H_ -#define BASE_THREAD_LOCAL_STORAGE_H_ +#ifndef BASE_THREADING_THREAD_LOCAL_STORAGE_H_ +#define BASE_THREADING_THREAD_LOCAL_STORAGE_H_ #pragma once #include "base/basictypes.h" @@ -12,6 +12,8 @@ #include <pthread.h> #endif +namespace base { + // Wrapper for thread local storage. This class doesn't do much except provide // an API for portability. class ThreadLocalStorage { @@ -88,8 +90,6 @@ class ThreadLocalStorage { DISALLOW_COPY_AND_ASSIGN(ThreadLocalStorage); }; -// Temporary backwards-compatible name. -// TODO(evanm): replace all usage of TLSSlot. -typedef ThreadLocalStorage::Slot TLSSlot; +} // namespace base -#endif // BASE_THREAD_LOCAL_STORAGE_H_ +#endif // BASE_THREADING_THREAD_LOCAL_STORAGE_H_ diff --git a/base/thread_local_storage_posix.cc b/base/threading/thread_local_storage_posix.cc index eac74fd..81b7332 100644 --- a/base/thread_local_storage_posix.cc +++ b/base/threading/thread_local_storage_posix.cc @@ -1,11 +1,13 @@ -// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. +// Copyright (c) 2010 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "base/thread_local_storage.h" +#include "base/threading/thread_local_storage.h" #include "base/logging.h" +namespace base { + ThreadLocalStorage::Slot::Slot(TLSDestructorFunc destructor) : initialized_(false) { Initialize(destructor); @@ -42,3 +44,5 @@ void ThreadLocalStorage::Slot::Set(void* value) { if (error) NOTREACHED(); } + +} // namespace base diff --git a/base/thread_local_storage_unittest.cc b/base/threading/thread_local_storage_unittest.cc index dc82c53..216e650 100644 --- a/base/thread_local_storage_unittest.cc +++ b/base/threading/thread_local_storage_unittest.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. +// Copyright (c) 2010 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -8,7 +8,7 @@ #endif #include "base/threading/simple_thread.h" -#include "base/thread_local_storage.h" +#include "base/threading/thread_local_storage.h" #include "testing/gtest/include/gtest/gtest.h" #if defined(OS_WIN) @@ -17,11 +17,14 @@ #pragma warning(disable : 4311 4312) #endif -const int kInitialTlsValue = 0x5555; -static ThreadLocalStorage::Slot tls_slot(base::LINKER_INITIALIZED); +namespace base { + +namespace { +const int kInitialTlsValue = 0x5555; +static ThreadLocalStorage::Slot tls_slot(LINKER_INITIALIZED); -class ThreadLocalStorageRunner : public base::DelegateSimpleThread::Delegate { +class ThreadLocalStorageRunner : public DelegateSimpleThread::Delegate { public: explicit ThreadLocalStorageRunner(int* tls_value_ptr) : tls_value_ptr_(tls_value_ptr) {} @@ -54,6 +57,7 @@ void ThreadLocalStorageCleanup(void *value) { *ptr = kInitialTlsValue; } +} // namespace TEST(ThreadLocalStorageTest, Basics) { ThreadLocalStorage::Slot slot; @@ -69,7 +73,7 @@ TEST(ThreadLocalStorageTest, TLSDestructors) { const int kNumThreads = 5; int values[kNumThreads]; ThreadLocalStorageRunner* thread_delegates[kNumThreads]; - base::DelegateSimpleThread* threads[kNumThreads]; + DelegateSimpleThread* threads[kNumThreads]; tls_slot.Initialize(ThreadLocalStorageCleanup); @@ -77,8 +81,8 @@ TEST(ThreadLocalStorageTest, TLSDestructors) { for (int index = 0; index < kNumThreads; index++) { values[index] = kInitialTlsValue; thread_delegates[index] = new ThreadLocalStorageRunner(&values[index]); - threads[index] = new base::DelegateSimpleThread(thread_delegates[index], - "tls thread"); + threads[index] = new DelegateSimpleThread(thread_delegates[index], + "tls thread"); threads[index]->Start(); } @@ -92,3 +96,5 @@ TEST(ThreadLocalStorageTest, TLSDestructors) { EXPECT_EQ(values[index], kInitialTlsValue); } } + +} // namespace base diff --git a/base/thread_local_storage_win.cc b/base/threading/thread_local_storage_win.cc index 7f8ea27..2967a27 100644 --- a/base/thread_local_storage_win.cc +++ b/base/threading/thread_local_storage_win.cc @@ -1,13 +1,15 @@ -// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. +// Copyright (c) 2010 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "base/thread_local_storage.h" +#include "base/threading/thread_local_storage.h" #include <windows.h> #include "base/logging.h" +namespace base { + // In order to make TLS destructors work, we need to keep function // pointers to the destructor for each TLS that we allocate. // We make this work by allocating a single OS-level TLS, which @@ -122,6 +124,8 @@ void ThreadLocalStorage::ThreadExit() { TlsSetValue(tls_key_, NULL); } +} // namespace base + // Thread Termination Callbacks. // Windows doesn't support a per-thread destructor with its // TLS primitives. So, we build it manually by inserting a @@ -150,7 +154,7 @@ void NTAPI OnThreadExit(PVOID module, DWORD reason, PVOID reserved) { // On XP SP0 & SP1, the DLL_PROCESS_ATTACH is never seen. It is sent on SP2+ // and on W2K and W2K3. So don't assume it is sent. if (DLL_THREAD_DETACH == reason || DLL_PROCESS_DETACH == reason) - ThreadLocalStorage::ThreadExit(); + base::ThreadLocalStorage::ThreadExit(); } // .CRT$XLA to .CRT$XLZ is an array of PIMAGE_TLS_CALLBACK pointers that are diff --git a/base/thread_local_unittest.cc b/base/threading/thread_local_unittest.cc index a155ca2..f6bdd78 100644 --- a/base/thread_local_unittest.cc +++ b/base/threading/thread_local_unittest.cc @@ -4,10 +4,12 @@ #include "base/logging.h" #include "base/threading/simple_thread.h" -#include "base/thread_local.h" +#include "base/threading/thread_local.h" #include "base/waitable_event.h" #include "testing/gtest/include/gtest/gtest.h" +namespace base { + namespace { class ThreadLocalTesterBase : public base::DelegateSimpleThreadPool::Delegate { @@ -157,3 +159,5 @@ TEST(ThreadLocalTest, Boolean) { EXPECT_FALSE(tlb.Get()); } } + +} // namespace base diff --git a/base/thread_local_win.cc b/base/threading/thread_local_win.cc index ea14a67..56d3a3a 100644 --- a/base/thread_local_win.cc +++ b/base/threading/thread_local_win.cc @@ -1,8 +1,8 @@ -// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. +// Copyright (c) 2010 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "base/thread_local.h" +#include "base/threading/thread_local.h" #include <windows.h> diff --git a/base/tracked_objects.cc b/base/tracked_objects.cc index 9db25ff..1d04b12 100644 --- a/base/tracked_objects.cc +++ b/base/tracked_objects.cc @@ -18,7 +18,7 @@ namespace tracked_objects { // A TLS slot to the TrackRegistry for the current thread. // static -TLSSlot ThreadData::tls_index_(base::LINKER_INITIALIZED); +base::ThreadLocalStorage::Slot ThreadData::tls_index_(base::LINKER_INITIALIZED); // A global state variable to prevent repeated initialization during tests. // static diff --git a/base/tracked_objects.h b/base/tracked_objects.h index 8590a8c..3fe2837 100644 --- a/base/tracked_objects.h +++ b/base/tracked_objects.h @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. +// Copyright (c) 2010 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -11,8 +11,8 @@ #include <vector> #include "base/lock.h" -#include "base/thread_local_storage.h" #include "base/tracked.h" +#include "base/threading/thread_local_storage.h" // TrackedObjects provides a database of stats about objects (generally Tasks) // that are tracked. Tracking means their birth, death, duration, birth thread, @@ -571,7 +571,7 @@ class ThreadData { static void ShutdownDisablingFurtherTracking(); // We use thread local store to identify which ThreadData to interact with. - static TLSSlot tls_index_; + static base::ThreadLocalStorage::Slot tls_index_; // Link to the most recently created instance (starts a null terminated list). static ThreadData* first_; diff --git a/chrome/common/notification_service.cc b/chrome/common/notification_service.cc index b3c2768..4414cc6 100644 --- a/chrome/common/notification_service.cc +++ b/chrome/common/notification_service.cc @@ -5,7 +5,7 @@ #include "chrome/common/notification_service.h" #include "base/lazy_instance.h" -#include "base/thread_local.h" +#include "base/threading/thread_local.h" #include "chrome/common/notification_observer.h" static base::LazyInstance<base::ThreadLocalPointer<NotificationService> > diff --git a/chrome/plugin/plugin_thread.cc b/chrome/plugin/plugin_thread.cc index d5757e1..399da12 100644 --- a/chrome/plugin/plugin_thread.cc +++ b/chrome/plugin/plugin_thread.cc @@ -18,7 +18,7 @@ #include "base/command_line.h" #include "base/lazy_instance.h" #include "base/process_util.h" -#include "base/thread_local.h" +#include "base/threading/thread_local.h" #include "chrome/common/child_process.h" #include "chrome/common/chrome_plugin_lib.h" #include "chrome/common/chrome_switches.h" diff --git a/chrome/renderer/render_thread.cc b/chrome/renderer/render_thread.cc index f1f1008..70dbe8c 100644 --- a/chrome/renderer/render_thread.cc +++ b/chrome/renderer/render_thread.cc @@ -20,7 +20,7 @@ #include "base/shared_memory.h" #include "base/string_util.h" #include "base/task.h" -#include "base/thread_local.h" +#include "base/threading/thread_local.h" #include "base/utf_string_conversions.h" #include "base/values.h" #include "chrome/common/appcache/appcache_dispatcher.h" diff --git a/chrome/worker/worker_thread.cc b/chrome/worker/worker_thread.cc index f7a1e4a..ce0252c2 100644 --- a/chrome/worker/worker_thread.cc +++ b/chrome/worker/worker_thread.cc @@ -6,7 +6,7 @@ #include "base/command_line.h" #include "base/lazy_instance.h" -#include "base/thread_local.h" +#include "base/threading/thread_local.h" #include "chrome/common/appcache/appcache_dispatcher.h" #include "chrome/common/chrome_switches.h" #include "chrome/common/db_message_filter.h" diff --git a/chrome_frame/buggy_bho_handling.h b/chrome_frame/buggy_bho_handling.h index 8ed2d2c..4f1e7f5 100644 --- a/chrome_frame/buggy_bho_handling.h +++ b/chrome_frame/buggy_bho_handling.h @@ -11,7 +11,7 @@ #include <vector> -#include "base/thread_local.h" +#include "base/threading/thread_local.h" namespace buggy_bho { @@ -84,4 +84,3 @@ class BuggyBhoTls { } // end namespace buggy_bho #endif // CHROME_FRAME_BUGGY_BHO_HANDLING_H_ - diff --git a/chrome_frame/chrome_active_document.cc b/chrome_frame/chrome_active_document.cc index b726797..aa5daff 100644 --- a/chrome_frame/chrome_active_document.cc +++ b/chrome_frame/chrome_active_document.cc @@ -26,7 +26,7 @@ #include "base/string_tokenizer.h" #include "base/string_util.h" #include "base/thread.h" -#include "base/thread_local.h" +#include "base/threading/thread_local.h" #include "base/utf_string_conversions.h" #include "base/win/scoped_variant.h" #include "grit/generated_resources.h" diff --git a/chrome_frame/crash_reporting/crash_metrics.h b/chrome_frame/crash_reporting/crash_metrics.h index 96a6761..a58f366 100644 --- a/chrome_frame/crash_reporting/crash_metrics.h +++ b/chrome_frame/crash_reporting/crash_metrics.h @@ -10,7 +10,7 @@ #include "base/basictypes.h" #include "base/lazy_instance.h" -#include "base/thread_local.h" +#include "base/threading/thread_local.h" // This class provides functionality to track counters like successful page // loads in the host browser, total number of crashes, page loads in chrome diff --git a/chrome_frame/metrics_service.h b/chrome_frame/metrics_service.h index baea9c8..5976c18 100644 --- a/chrome_frame/metrics_service.h +++ b/chrome_frame/metrics_service.h @@ -5,8 +5,8 @@ // This file defines a service that collects information about the user // experience in order to help improve future versions of the app. -#ifndef CHROME_FRAME_METRICS_METRICS_SERVICE_H_ -#define CHROME_FRAME_METRICS_METRICS_SERVICE_H_ +#ifndef CHROME_FRAME_METRICS_SERVICE_H_ +#define CHROME_FRAME_METRICS_SERVICE_H_ #include <map> #include <string> @@ -17,7 +17,7 @@ #include "base/metrics/histogram.h" #include "base/platform_thread.h" #include "base/scoped_ptr.h" -#include "base/thread_local.h" +#include "base/threading/thread_local.h" #include "chrome/common/metrics_helpers.h" // TODO(ananta) @@ -153,4 +153,4 @@ class MetricsService : public MetricsServiceBase { DISALLOW_COPY_AND_ASSIGN(MetricsService); }; -#endif // CHROME_FRAME_METRICS_METRICS_SERVICE_H_ +#endif // CHROME_FRAME_METRICS_SERVICE_H_ diff --git a/chrome_frame/urlmon_moniker.h b/chrome_frame/urlmon_moniker.h index dde70adb..ea3245c 100644 --- a/chrome_frame/urlmon_moniker.h +++ b/chrome_frame/urlmon_moniker.h @@ -12,7 +12,7 @@ #include "base/lazy_instance.h" #include "base/logging.h" -#include "base/thread_local.h" +#include "base/threading/thread_local.h" #include "base/win/scoped_variant.h" #include "googleurl/src/gurl.h" #include "chrome_frame/utils.h" diff --git a/chrome_frame/utils.cc b/chrome_frame/utils.cc index 1cf9ec0..eb6abce 100644 --- a/chrome_frame/utils.cc +++ b/chrome_frame/utils.cc @@ -20,7 +20,7 @@ #include "base/string_tokenizer.h" #include "base/string_util.h" #include "base/stringprintf.h" -#include "base/thread_local.h" +#include "base/threading/thread_local.h" #include "base/utf_string_conversions.h" #include "base/win/registry.h" #include "base/win/scoped_bstr.h" diff --git a/ipc/ipc_sync_channel.cc b/ipc/ipc_sync_channel.cc index 79b1e60..1382cf5 100644 --- a/ipc/ipc_sync_channel.cc +++ b/ipc/ipc_sync_channel.cc @@ -6,8 +6,8 @@ #include "base/lazy_instance.h" #include "base/logging.h" -#include "base/thread_local.h" #include "base/message_loop.h" +#include "base/threading/thread_local.h" #include "base/waitable_event.h" #include "base/waitable_event_watcher.h" #include "ipc/ipc_sync_message.h" diff --git a/net/base/dns_reload_timer.cc b/net/base/dns_reload_timer.cc index 1bfe535..89bda59 100644 --- a/net/base/dns_reload_timer.cc +++ b/net/base/dns_reload_timer.cc @@ -6,7 +6,7 @@ #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) #include "base/lazy_instance.h" -#include "base/thread_local_storage.h" +#include "base/threading/thread_local_storage.h" #include "base/time.h" namespace { @@ -72,14 +72,15 @@ class DnsReloadTimer { // We use thread local storage to identify which base::TimeTicks to // interact with. - static ThreadLocalStorage::Slot tls_index_ ; + static base::ThreadLocalStorage::Slot tls_index_ ; DISALLOW_COPY_AND_ASSIGN(DnsReloadTimer); }; // A TLS slot to the TimeTicks for the current thread. // static -ThreadLocalStorage::Slot DnsReloadTimer::tls_index_(base::LINKER_INITIALIZED); +base::ThreadLocalStorage::Slot DnsReloadTimer::tls_index_( + base::LINKER_INITIALIZED); base::LazyInstance<DnsReloadTimer, base::LeakyLazyInstanceTraits<DnsReloadTimer> > diff --git a/remoting/base/tracer.cc b/remoting/base/tracer.cc index 3cef3a0..e7b8b0e 100644 --- a/remoting/base/tracer.cc +++ b/remoting/base/tracer.cc @@ -14,7 +14,7 @@ #include "base/ref_counted.h" #include "base/stl_util-inl.h" #include "base/thread.h" -#include "base/thread_local.h" +#include "base/threading/thread_local.h" #include "base/time.h" namespace remoting { diff --git a/webkit/plugins/ppapi/ppb_transport_impl.cc b/webkit/plugins/ppapi/ppb_transport_impl.cc index bcd4f6a..568e9cb 100644 --- a/webkit/plugins/ppapi/ppb_transport_impl.cc +++ b/webkit/plugins/ppapi/ppb_transport_impl.cc @@ -5,7 +5,7 @@ #include "webkit/plugins/ppapi/ppb_transport_impl.h" #include "base/singleton.h" -#include "base/thread_local.h" +#include "base/threading/thread_local.h" #include "ppapi/c/dev/ppb_transport_dev.h" #include "webkit/plugins/ppapi/common.h" #include "webkit/plugins/ppapi/plugin_module.h" |