Copy SetThreadName from webrtc/base/thread.cc into thread_win.cc
(webrtc/system_wrappers/source/thread_win.cc).
It would be good to consolidate these helpers at some point.

BUG=

Review URL: https://webrtc-codereview.appspot.com/37349004

Cr-Commit-Position: refs/heads/master@{#8439}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8439 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/webrtc/system_wrappers/BUILD.gn b/webrtc/system_wrappers/BUILD.gn
index 720fa87..805f07f 100644
--- a/webrtc/system_wrappers/BUILD.gn
+++ b/webrtc/system_wrappers/BUILD.gn
@@ -82,7 +82,6 @@
     "source/rw_lock_posix.h",
     "source/rw_lock_win.cc",
     "source/rw_lock_win.h",
-    "source/set_thread_name_win.h",
     "source/sleep.cc",
     "source/sort.cc",
     "source/tick_util.cc",
diff --git a/webrtc/system_wrappers/source/set_thread_name_win.h b/webrtc/system_wrappers/source/set_thread_name_win.h
deleted file mode 100644
index cca126f..0000000
--- a/webrtc/system_wrappers/source/set_thread_name_win.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
-Source:
-http://msdn.microsoft.com/en-us/cc300389.aspx#P
-
-License:
-This license governs use of code marked as “sample” or “example” available on
-this web site without a license agreement, as provided under the section above
-titled “NOTICE SPECIFIC TO SOFTWARE AVAILABLE ON THIS WEB SITE.” If you use
-such code (the “software”), you accept this license. If you do not accept the
-license, do not use the software.
-
-1. Definitions
-
-The terms “reproduce,” “reproduction,” “derivative works,” and “distribution”
-have the same meaning here as under U.S. copyright law.
-
-A “contribution” is the original software, or any additions or changes to the
-software.
-
-A “contributor” is any person that distributes its contribution under this
-license.
-
-“Licensed patents” are a contributor’s patent claims that read directly on its
-contribution.
-
-2. Grant of Rights
-
-(A) Copyright Grant - Subject to the terms of this license, including the
-license conditions and limitations in section 3, each contributor grants you a
-non-exclusive, worldwide, royalty-free copyright license to reproduce its
-contribution, prepare derivative works of its contribution, and distribute its
-contribution or any derivative works that you create.
-
-(B) Patent Grant - Subject to the terms of this license, including the license
-conditions and limitations in section 3, each contributor grants you a
-non-exclusive, worldwide, royalty-free license under its licensed patents to
-make, have made, use, sell, offer for sale, import, and/or otherwise dispose
-of its contribution in the software or derivative works of the contribution in
-the software.
-
-3. Conditions and Limitations
-
-(A) No Trademark License- This license does not grant you rights to use any
-contributors’ name, logo, or trademarks.
-
-(B) If you bring a patent claim against any contributor over patents that you
-claim are infringed by the software, your patent license from such contributor
-to the software ends automatically.
-
-(C) If you distribute any portion of the software, you must retain all
-copyright, patent, trademark, and attribution notices that are present in the
-software.
-
-(D) If you distribute any portion of the software in source code form, you may
-do so only under this license by including a complete copy of this license
-with your distribution. If you distribute any portion of the software in
-compiled or object code form, you may only do so under a license that complies
-with this license.
-
-(E) The software is licensed “as-is.” You bear the risk of using it. The
-contributors give no express warranties, guarantees or conditions. You may
-have additional consumer rights under your local laws which this license
-cannot change. To the extent permitted under your local laws, the contributors
-exclude the implied warranties of merchantability, fitness for a particular
-purpose and non-infringement.
-
-(F) Platform Limitation - The licenses granted in sections 2(A) and 2(B)
-extend only to the software or derivative works that you create that run on a
-Microsoft Windows operating system product.
-*/
-
-/*
- *  The original code can be found here:
- *  http://msdn.microsoft.com/en-us/library/xcb2z8hs(VS.71).aspx
- */
-
-#ifndef WEBRTC_SYSTEM_WRAPPERS_SOURCE_THREAD_WINDOWS_SET_NAME_H_
-#define WEBRTC_SYSTEM_WRAPPERS_SOURCE_THREAD_WINDOWS_SET_NAME_H_
-
-namespace webrtc {
-
-struct THREADNAME_INFO
-{
-   DWORD dwType;     // must be 0x1000
-   LPCSTR szName;    // pointer to name (in user addr space)
-   DWORD dwThreadID; // thread ID (-1 = caller thread)
-   DWORD dwFlags;    // reserved for future use, must be zero
-};
-
-void SetThreadName(DWORD dwThreadID, LPCSTR szThreadName)
-{
-    THREADNAME_INFO info;
-    info.dwType = 0x1000;
-    info.szName = szThreadName;
-    info.dwThreadID = dwThreadID;
-    info.dwFlags = 0;
-
-    __try
-    {
-        RaiseException(0x406D1388, 0, sizeof(info) / sizeof(DWORD),
-                       (ULONG_PTR*)&info);
-    }
-    __except (EXCEPTION_CONTINUE_EXECUTION)
-    {
-    }
-}
-}  // namespace webrtc
-#endif // WEBRTC_SYSTEM_WRAPPERS_SOURCE_THREAD_WINDOWS_SET_NAME_H_
diff --git a/webrtc/system_wrappers/source/thread_win.cc b/webrtc/system_wrappers/source/thread_win.cc
index 82abc0e..67312fa 100644
--- a/webrtc/system_wrappers/source/thread_win.cc
+++ b/webrtc/system_wrappers/source/thread_win.cc
@@ -16,13 +16,42 @@
 
 #include "webrtc/base/checks.h"
 #include "webrtc/system_wrappers/interface/trace.h"
-#include "webrtc/system_wrappers/source/set_thread_name_win.h"
 
 namespace webrtc {
 namespace {
 void CALLBACK RaiseFlag(ULONG_PTR param) {
   *reinterpret_cast<bool*>(param) = true;
 }
+
+// TODO(tommi): This is borrowed from webrtc/base/thread.cc, but we can't
+// include thread.h from here since thread.h pulls in libjingle dependencies.
+// Would be good to consolidate.
+
+// As seen on MSDN.
+// http://msdn.microsoft.com/en-us/library/xcb2z8hs(VS.71).aspx
+#define MSDEV_SET_THREAD_NAME  0x406D1388
+typedef struct tagTHREADNAME_INFO {
+  DWORD dwType;
+  LPCSTR szName;
+  DWORD dwThreadID;
+  DWORD dwFlags;
+} THREADNAME_INFO;
+
+void SetThreadName(DWORD dwThreadID, LPCSTR szThreadName) {
+  THREADNAME_INFO info;
+  info.dwType = 0x1000;
+  info.szName = szThreadName;
+  info.dwThreadID = dwThreadID;
+  info.dwFlags = 0;
+
+  __try {
+    RaiseException(MSDEV_SET_THREAD_NAME, 0, sizeof(info) / sizeof(DWORD),
+                   reinterpret_cast<ULONG_PTR*>(&info));
+  }
+  __except(EXCEPTION_CONTINUE_EXECUTION) {
+  }
+}
+
 }
 
 ThreadWindows::ThreadWindows(ThreadRunFunction func, ThreadObj obj,
diff --git a/webrtc/system_wrappers/system_wrappers.gyp b/webrtc/system_wrappers/system_wrappers.gyp
index 683840f..3ee6fa4 100644
--- a/webrtc/system_wrappers/system_wrappers.gyp
+++ b/webrtc/system_wrappers/system_wrappers.gyp
@@ -92,7 +92,6 @@
         'source/rw_lock_posix.h',
         'source/rw_lock_win.cc',
         'source/rw_lock_win.h',
-        'source/set_thread_name_win.h',
         'source/sleep.cc',
         'source/sort.cc',
         'source/tick_util.cc',