Bug 41023

Summary: Add a SimpleArgumentCoder class template that works on POD types
Product: WebKit Reporter: Anders Carlsson <andersca>
Component: New BugsAssignee: Anders Carlsson <andersca>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, eric, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Other   
OS: OS X 10.5   
Attachments:
Description Flags
Patch sam: review+

Anders Carlsson
Reported 2010-06-22 16:51:02 PDT
Add a SimpleArgumentCoder class template that works on POD types
Attachments
Patch (8.62 KB, patch)
2010-06-22 16:51 PDT, Anders Carlsson
sam: review+
Anders Carlsson
Comment 1 2010-06-22 16:51:41 PDT
Sam Weinig
Comment 2 2010-06-22 16:53:09 PDT
Comment on attachment 59444 [details] Patch > Index: WebKit2/ChangeLog > =================================================================== > --- WebKit2/ChangeLog (revision 61638) > +++ WebKit2/ChangeLog (working copy) > @@ -1,3 +1,17 @@ > +2010-06-22 Anders Carlsson <andersca@apple.com> > + > + Reviewed by NOBODY (OOPS!). > + > + Add a SimpleArgumentCoder class template that works on POD types > + https://bugs.webkit.org/show_bug.cgi?id=41023 > + > + * Platform/CoreIPC/SimpleArgumentCoder.h: Added. > + (CoreIPC::SimpleArgumentCoder::encode): > + (CoreIPC::SimpleArgumentCoder::decode): > + * Shared/WebCoreTypeArgumentMarshalling.h: > + (CoreIPC::): > + * WebKit2.xcodeproj/project.pbxproj: > + > 2010-06-22 Anders Carlsson <andersca@apple.com> > > Reviewed by Sam Weinig. > Index: WebKit2/Platform/CoreIPC/SimpleArgumentCoder.h > =================================================================== > --- WebKit2/Platform/CoreIPC/SimpleArgumentCoder.h (revision 0) > +++ WebKit2/Platform/CoreIPC/SimpleArgumentCoder.h (revision 0) > @@ -0,0 +1,48 @@ > +/* > + * Copyright (C) 2010 Apple 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: > + * 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. > + * > + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS 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 APPLE INC. OR ITS 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. > + */ > + > +#ifndef SimpleArgumentCoder_h > +#define SimpleArgumentCoder_h > + > +#include "ArgumentCoder.h" > + > +namespace CoreIPC { > + > +// An argument coder works on POD types > +template<typename T> struct SimpleArgumentCoder { > + static void encode(ArgumentEncoder* encoder, const T& t) > + { > + encoder->encodeBytes(reinterpret_cast<const uint8_t*>(&t), sizeof(T)); > + } > + static bool decode(ArgumentDecoder* decoder, T& t) > + { > + return decoder->decodeBytes(reinterpret_cast<uint8_t*>(&t), sizeof(T)); > + } > +}; > + > +} This should have a closing comment. > + > + > +#endif // SimpleArgumentCoder_h Two newlines where only one is needed. r=me.
Anders Carlsson
Comment 3 2010-06-22 16:55:40 PDT
WebKit Review Bot
Comment 4 2010-06-22 17:36:12 PDT
Note You need to log in before you can comment on or make changes to this bug.