| Index: third_party/grpc/src/ruby/ext/grpc/rb_byte_buffer.c
|
| diff --git a/third_party/WebKit/Source/core/html/HTMLWBRElement.cpp b/third_party/grpc/src/ruby/ext/grpc/rb_byte_buffer.c
|
| similarity index 60%
|
| copy from third_party/WebKit/Source/core/html/HTMLWBRElement.cpp
|
| copy to third_party/grpc/src/ruby/ext/grpc/rb_byte_buffer.c
|
| index 2523cfc5388c72e5e587d4d8b6f7f72e285437c7..9b617e13d3cdaa759baf8b835e642531eef48171 100644
|
| --- a/third_party/WebKit/Source/core/html/HTMLWBRElement.cpp
|
| +++ b/third_party/grpc/src/ruby/ext/grpc/rb_byte_buffer.c
|
| @@ -1,5 +1,7 @@
|
| /*
|
| - * Copyright (C) 2014 Google Inc. All rights reserved.
|
| + *
|
| + * Copyright 2015-2016, 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
|
| @@ -26,27 +28,40 @@
|
| * 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 "core/html/HTMLWBRElement.h"
|
| -
|
| -#include "core/HTMLNames.h"
|
| -#include "core/layout/LayoutWordBreak.h"
|
| +#include <ruby/ruby.h>
|
| +#include "rb_grpc_imports.generated.h"
|
| +#include "rb_byte_buffer.h"
|
|
|
| -namespace blink {
|
| +#include <ruby/ruby.h>
|
|
|
| -using namespace HTMLNames;
|
| +#include <grpc/grpc.h>
|
| +#include <grpc/byte_buffer_reader.h>
|
| +#include <grpc/support/slice.h>
|
| +#include "rb_grpc.h"
|
|
|
| -inline HTMLWBRElement::HTMLWBRElement(Document& document)
|
| - : HTMLElement(wbrTag, document)
|
| -{
|
| +grpc_byte_buffer* grpc_rb_s_to_byte_buffer(char *string, size_t length) {
|
| + gpr_slice slice = gpr_slice_from_copied_buffer(string, length);
|
| + grpc_byte_buffer *buffer = grpc_raw_byte_buffer_create(&slice, 1);
|
| + gpr_slice_unref(slice);
|
| + return buffer;
|
| }
|
|
|
| -DEFINE_NODE_FACTORY(HTMLWBRElement)
|
| -
|
| -LayoutObject* HTMLWBRElement::createLayoutObject(const ComputedStyle& style)
|
| -{
|
| - return new LayoutWordBreak(this);
|
| +VALUE grpc_rb_byte_buffer_to_s(grpc_byte_buffer *buffer) {
|
| + VALUE rb_string;
|
| + grpc_byte_buffer_reader reader;
|
| + gpr_slice next;
|
| + if (buffer == NULL) {
|
| + return Qnil;
|
| + }
|
| + rb_string = rb_str_buf_new(grpc_byte_buffer_length(buffer));
|
| + grpc_byte_buffer_reader_init(&reader, buffer);
|
| + while (grpc_byte_buffer_reader_next(&reader, &next) != 0) {
|
| + rb_str_cat(rb_string, (const char *) GPR_SLICE_START_PTR(next),
|
| + GPR_SLICE_LENGTH(next));
|
| + gpr_slice_unref(next);
|
| + }
|
| + return rb_string;
|
| }
|
| -
|
| -} // namespace blink
|
|
|