diff options
author | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-17 20:01:37 +0000 |
---|---|---|
committer | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-17 20:01:37 +0000 |
commit | 2b255c514adb5df71b510d778b5262353ab4347f (patch) | |
tree | afb3c02a70af5980e2ff57a0f3e200bac8880aac /third_party/libjingle | |
parent | ad4af64a54dcf76e2957315ac94a640f5dfe6409 (diff) | |
download | chromium_src-2b255c514adb5df71b510d778b5262353ab4347f.zip chromium_src-2b255c514adb5df71b510d778b5262353ab4347f.tar.gz chromium_src-2b255c514adb5df71b510d778b5262353ab4347f.tar.bz2 |
Removed auth_task.* and talk_auth_task.* (dead code)
Removed GaiaAuth class. Gtalk login will now fail immediately instead of trying (in vain) to gaia-auth.
Removed now-unneeded parameters.
BUG=38034
TEST=manual with and without --invalidate-sync-xmpp-login
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=41790
Review URL: http://codereview.chromium.org/885008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41865 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/libjingle')
-rw-r--r-- | third_party/libjingle/files/talk/base/win32window.cc | 137 | ||||
-rw-r--r-- | third_party/libjingle/libjingle.gyp | 1 | ||||
-rw-r--r-- | third_party/libjingle/mods-since-v0_4_0.diff | 1 |
3 files changed, 139 insertions, 0 deletions
diff --git a/third_party/libjingle/files/talk/base/win32window.cc b/third_party/libjingle/files/talk/base/win32window.cc new file mode 100644 index 0000000..05d639b --- /dev/null +++ b/third_party/libjingle/files/talk/base/win32window.cc @@ -0,0 +1,137 @@ +/* + * libjingle + * Copyright 2004--2005, Google Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "talk/base/win32window.h" + +#include "talk/base/logging.h" +#include "talk/base/common.h" + +namespace talk_base { + +/////////////////////////////////////////////////////////////////////////////// +// Win32Window +/////////////////////////////////////////////////////////////////////////////// + +static const wchar_t kWindowBaseClassName[] = L"WindowBaseClass"; +HINSTANCE instance_ = GetModuleHandle(NULL); +ATOM window_class_ = 0; + +Win32Window::Win32Window() : wnd_(NULL) { +} + +Win32Window::~Win32Window() { + ASSERT(NULL == wnd_); +} + +bool Win32Window::Create(HWND parent, const wchar_t* title, DWORD style, + DWORD exstyle, int x, int y, int cx, int cy) { + if (wnd_) { + // Window already exists. + return false; + } + + if (!window_class_) { + // Class not registered, register it. + WNDCLASSEX wcex; + memset(&wcex, 0, sizeof(wcex)); + wcex.cbSize = sizeof(wcex); + wcex.hInstance = instance_; + wcex.lpfnWndProc = &Win32Window::WndProc; + wcex.lpszClassName = kWindowBaseClassName; + window_class_ = ::RegisterClassEx(&wcex); + if (!window_class_) { + LOG(LS_ERROR) << "RegisterClassEx failed: " << GetLastError(); + return false; + } + } + wnd_ = ::CreateWindowEx(exstyle, kWindowBaseClassName, title, style, + x, y, cx, cy, parent, NULL, instance_, this); + return (NULL != wnd_); +} + +void Win32Window::Destroy() { + VERIFY(::DestroyWindow(wnd_) != FALSE); +} + +#if 0 +void Win32Window::SetInstance(HINSTANCE instance) { + instance_ = instance; +} + +void Win32Window::Shutdown() { + if (window_class_) { + ::UnregisterClass(MAKEINTATOM(window_class_), instance_); + window_class_ = 0; + } +} +#endif + +bool Win32Window::OnMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, + LRESULT& result) { + switch (uMsg) { + case WM_CLOSE: + if (!OnClose()) { + result = 0; + return true; + } + break; + } + return false; +} + +LRESULT Win32Window::WndProc(HWND hwnd, UINT uMsg, + WPARAM wParam, LPARAM lParam) { + Win32Window* that = reinterpret_cast<Win32Window*>( + ::GetWindowLongPtr(hwnd, GWL_USERDATA)); + if (!that && (WM_CREATE == uMsg)) { + CREATESTRUCT* cs = reinterpret_cast<CREATESTRUCT*>(lParam); + that = static_cast<Win32Window*>(cs->lpCreateParams); + that->wnd_ = hwnd; + ::SetWindowLongPtr(hwnd, GWL_USERDATA, reinterpret_cast<LONG_PTR>(that)); + } + if (that) { + LRESULT result; + bool handled = that->OnMessage(uMsg, wParam, lParam, result); + if (WM_DESTROY == uMsg) { + for (HWND child = ::GetWindow(hwnd, GW_CHILD); child; + child = ::GetWindow(child, GW_HWNDNEXT)) { + LOG(LS_INFO) << "Child window: " << static_cast<void*>(child); + } + } + if (WM_NCDESTROY == uMsg) { + ::SetWindowLongPtr(hwnd, GWL_USERDATA, NULL); + that->wnd_ = NULL; + that->OnDestroyed(); + } + if (handled) { + return result; + } + } + return ::DefWindowProc(hwnd, uMsg, wParam, lParam); +} + +} // namespace talk_base diff --git a/third_party/libjingle/libjingle.gyp b/third_party/libjingle/libjingle.gyp index 180f8a3..5b04c2b 100644 --- a/third_party/libjingle/libjingle.gyp +++ b/third_party/libjingle/libjingle.gyp @@ -219,6 +219,7 @@ 'files/talk/base/win32socketserver.cc', 'files/talk/base/win32socketserver.h', 'files/talk/base/win32window.h', + 'files/talk/base/win32window.cc', 'files/talk/base/winfirewall.cc', 'files/talk/base/winfirewall.h', 'files/talk/base/winping.cc', diff --git a/third_party/libjingle/mods-since-v0_4_0.diff b/third_party/libjingle/mods-since-v0_4_0.diff index 307439e4..7403b4f 100644 --- a/third_party/libjingle/mods-since-v0_4_0.diff +++ b/third_party/libjingle/mods-since-v0_4_0.diff @@ -1140,6 +1140,7 @@ diff -r libjingle-0.4.0/talk/base/win32socketserver.cc libjingle/files/talk/base > #include "talk/base/winsock_initializer.h" 269a271 > talk_base::EnsureWinsockInit(); +Only in libjingle/files/talk/base: win32window.cc diff -r libjingle-0.4.0/talk/base/winping.cc libjingle/files/talk/base/winping.cc 133c133 < return sizeof(ICMP_ECHO_REPLY) + max(8UL, data_size); |