diff options
author | nsylvain@google.com <nsylvain@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-05 19:30:48 +0000 |
---|---|---|
committer | nsylvain@google.com <nsylvain@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-05 19:30:48 +0000 |
commit | 6d55c2fbc384e3f02a89b69e29fd8934ba2f0966 (patch) | |
tree | c2f481521b064d801604bd0d057b7a24b27a91d3 /chrome/common/ipc_message_utils.cc | |
parent | a43a39f4892951c51c716da90db042559d3bd5ef (diff) | |
download | chromium_src-6d55c2fbc384e3f02a89b69e29fd8934ba2f0966.zip chromium_src-6d55c2fbc384e3f02a89b69e29fd8934ba2f0966.tar.gz chromium_src-6d55c2fbc384e3f02a89b69e29fd8934ba2f0966.tar.bz2 |
Revert change 379 to see if it fixes the build. Please reapply when it's green.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@388 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/ipc_message_utils.cc')
-rw-r--r-- | chrome/common/ipc_message_utils.cc | 239 |
1 files changed, 0 insertions, 239 deletions
diff --git a/chrome/common/ipc_message_utils.cc b/chrome/common/ipc_message_utils.cc deleted file mode 100644 index ad5050c..0000000 --- a/chrome/common/ipc_message_utils.cc +++ /dev/null @@ -1,239 +0,0 @@ -// Copyright 2008, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * 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. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "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 COPYRIGHT -// OWNER OR CONTRIBUTORS 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 "chrome/common/ipc_message_utils.h" - -#include "base/gfx/rect.h" -#include "googleurl/src/gurl.h" -#include "webkit/glue/dom_operations.h" -#include "webkit/glue/webcursor.h" - -namespace IPC { - -void ParamTraits<GURL>::Write(Message* m, const GURL& p) { - m->WriteString(p.possibly_invalid_spec()); - // TODO(brettw) bug 684583: Add encoding for query params. -} - -bool ParamTraits<GURL>::Read(const Message* m, void** iter, GURL* p) { - std::string s; - if (!m->ReadString(iter, &s)) { - *p = GURL(); - return false; - } - *p = GURL(s); - return true; -} - -void ParamTraits<GURL>::Log(const GURL& p, std::wstring* l) { - l->append(UTF8ToWide(p.spec())); -} - - -void ParamTraits<gfx::Point>::Write(Message* m, const gfx::Point& p) { - m->WriteInt(p.x()); - m->WriteInt(p.y()); -} - -bool ParamTraits<gfx::Point>::Read(const Message* m, void** iter, - gfx::Point* r) { - int x, y; - if (!m->ReadInt(iter, &x) || - !m->ReadInt(iter, &y)) - return false; - r->set_x(x); - r->set_y(y); - return true; -} - -void ParamTraits<gfx::Point>::Log(const gfx::Point& p, std::wstring* l) { - l->append(StringPrintf(L"(%d, %d)", p.x(), p.y())); -} - - - -void ParamTraits<gfx::Rect>::Write(Message* m, const gfx::Rect& p) { - m->WriteInt(p.x()); - m->WriteInt(p.y()); - m->WriteInt(p.width()); - m->WriteInt(p.height()); -} - -bool ParamTraits<gfx::Rect>::Read(const Message* m, void** iter, gfx::Rect* r) { - int x, y, w, h; - if (!m->ReadInt(iter, &x) || - !m->ReadInt(iter, &y) || - !m->ReadInt(iter, &w) || - !m->ReadInt(iter, &h)) - return false; - r->set_x(x); - r->set_y(y); - r->set_width(w); - r->set_height(h); - return true; -} - -void ParamTraits<gfx::Rect>::Log(const gfx::Rect& p, std::wstring* l) { - l->append(StringPrintf(L"(%d, %d, %d, %d)", p.x(), p.y(), p.width(), p.height())); -} - - -void ParamTraits<gfx::Size>::Write(Message* m, const gfx::Size& p) { - m->WriteInt(p.width()); - m->WriteInt(p.height()); -} - -bool ParamTraits<gfx::Size>::Read(const Message* m, void** iter, gfx::Size* r) { - int w, h; - if (!m->ReadInt(iter, &w) || - !m->ReadInt(iter, &h)) - return false; - r->set_width(w); - r->set_height(h); - return true; -} - -void ParamTraits<gfx::Size>::Log(const gfx::Size& p, std::wstring* l) { - l->append(StringPrintf(L"(%d, %d)", p.width(), p.height())); -} - - -struct WebCursor_Data { - WebCursor::Type cursor_type; - int hotspot_x; - int hotspot_y; - SkBitmap_Data bitmap_info; -}; - -void ParamTraits<WebCursor>::Write(Message* m, const WebCursor& p) { - const SkBitmap& src_bitmap = p.bitmap(); - WebCursor_Data web_cursor_info; - web_cursor_info.cursor_type = p.type(); - web_cursor_info.hotspot_x = p.hotspot_x(); - web_cursor_info.hotspot_y = p.hotspot_y(); - web_cursor_info.bitmap_info.InitSkBitmapDataForTransfer(src_bitmap); - - size_t fixed_data = sizeof(web_cursor_info); - m->WriteData(reinterpret_cast<const char*>(&web_cursor_info), - static_cast<int>(fixed_data)); - size_t pixel_size = src_bitmap.getSize(); - m->WriteBool(pixel_size != 0); - if (pixel_size) { - SkAutoLockPixels src_bitmap_lock(src_bitmap); - m->WriteData(reinterpret_cast<const char*>(src_bitmap.getPixels()), - static_cast<int>(pixel_size)); - } -} - -bool ParamTraits<WebCursor>::Read(const Message* m, void** iter, WebCursor* r) { - const char* fixed_data = NULL; - int fixed_data_size = 0; - if (!m->ReadData(iter, &fixed_data, &fixed_data_size) || - (fixed_data_size <= 0)) { - NOTREACHED(); - return false; - } - DCHECK(fixed_data_size == sizeof(WebCursor_Data)); - - const WebCursor_Data* web_cursor_info = - reinterpret_cast<const WebCursor_Data*>(fixed_data); - - bool variable_data_avail; - if (!m->ReadBool(iter, &variable_data_avail)) { - NOTREACHED(); - return false; - } - - // No variable data indicates that this is not a custom cursor. - if (variable_data_avail) { - const char* variable_data = NULL; - int variable_data_size = 0; - if (!m->ReadData(iter, &variable_data, &variable_data_size) || - variable_data_size <= 0) { - NOTREACHED(); - return false; - } - - SkBitmap dest_bitmap; - web_cursor_info->bitmap_info.InitSkBitmapFromData(&dest_bitmap, - variable_data, - variable_data_size); - r->set_bitmap(dest_bitmap); - r->set_hotspot(web_cursor_info->hotspot_x, web_cursor_info->hotspot_y); - } - - r->set_type(web_cursor_info->cursor_type); - return true; -} - -void ParamTraits<WebCursor>::Log(const WebCursor& p, std::wstring* l) { - l->append(L"<WebCursor>"); -} - - -void ParamTraits<webkit_glue::WebApplicationInfo>::Write( - Message* m, const webkit_glue::WebApplicationInfo& p) { - WriteParam(m, p.title); - WriteParam(m, p.description); - WriteParam(m, p.app_url); - WriteParam(m, p.icons.size()); - for (size_t i = 0; i < p.icons.size(); ++i) { - WriteParam(m, p.icons[i].url); - WriteParam(m, p.icons[i].width); - WriteParam(m, p.icons[i].height); - } -} - -bool ParamTraits<webkit_glue::WebApplicationInfo>::Read( - const Message* m, void** iter, webkit_glue::WebApplicationInfo* r) { - size_t icon_count; - bool result = - ReadParam(m, iter, &r->title) && - ReadParam(m, iter, &r->description) && - ReadParam(m, iter, &r->app_url) && - ReadParam(m, iter, &icon_count); - if (!result) - return false; - for (size_t i = 0; i < icon_count && result; ++i) { - param_type::IconInfo icon_info; - result = - ReadParam(m, iter, &icon_info.url) && - ReadParam(m, iter, &icon_info.width) && - ReadParam(m, iter, &icon_info.height); - r->icons.push_back(icon_info); - } - return result; -} - -void ParamTraits<webkit_glue::WebApplicationInfo>::Log( - const webkit_glue::WebApplicationInfo& p, std::wstring* l) { - l->append(L"<WebApplicationInfo>"); -} - -} // namespace IPC |