Bug 1024774 - Part 0: Upgrade the protobuf library. r=mmc,glandium
authorNick Fitzgerald <fitzgen@gmail.com>
Thu, 28 May 2015 07:37:42 -0700
changeset 276911 8f5b5bbc27af6e3f45639c373ec55fae8c1b5e6a
parent 276910 fff6dec11ff9d1a74e903c70b1f8403ab66fd64b
child 276912 46d9aa24fb54c2144792603c4edb78d0ef10432c
push id4932
push userjlund@mozilla.com
push dateMon, 10 Aug 2015 18:23:06 +0000
treeherdermozilla-beta@6dd5a4f5f745 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmmc, glandium
bugs1024774
milestone41.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1024774 - Part 0: Upgrade the protobuf library. r=mmc,glandium
configure.in
gfx/layers/protobuf/LayerScopePacket.pb.cc
gfx/layers/protobuf/LayerScopePacket.pb.h
toolkit/components/downloads/csd.pb.cc
toolkit/components/downloads/csd.pb.h
toolkit/components/downloads/csd.proto
toolkit/components/downloads/generate_csd.sh
toolkit/components/downloads/moz.build
toolkit/components/protobuf/README.txt
toolkit/components/protobuf/google/protobuf/extension_set.cc
toolkit/components/protobuf/google/protobuf/extension_set.h
toolkit/components/protobuf/google/protobuf/generated_message_util.cc
toolkit/components/protobuf/google/protobuf/generated_message_util.h
toolkit/components/protobuf/google/protobuf/io/coded_stream.cc
toolkit/components/protobuf/google/protobuf/io/coded_stream.h
toolkit/components/protobuf/google/protobuf/io/coded_stream_inl.h
toolkit/components/protobuf/google/protobuf/io/package_info.h
toolkit/components/protobuf/google/protobuf/io/zero_copy_stream.cc
toolkit/components/protobuf/google/protobuf/io/zero_copy_stream.h
toolkit/components/protobuf/google/protobuf/io/zero_copy_stream_impl.h
toolkit/components/protobuf/google/protobuf/io/zero_copy_stream_impl_lite.cc
toolkit/components/protobuf/google/protobuf/io/zero_copy_stream_impl_lite.h
toolkit/components/protobuf/google/protobuf/message_lite.cc
toolkit/components/protobuf/google/protobuf/message_lite.h
toolkit/components/protobuf/google/protobuf/package_info.h
toolkit/components/protobuf/google/protobuf/repeated_field.cc
toolkit/components/protobuf/google/protobuf/repeated_field.h
toolkit/components/protobuf/google/protobuf/stubs/common.cc
toolkit/components/protobuf/google/protobuf/stubs/common.h
toolkit/components/protobuf/google/protobuf/stubs/hash.h
toolkit/components/protobuf/google/protobuf/stubs/map-util.h
toolkit/components/protobuf/google/protobuf/stubs/once.cc
toolkit/components/protobuf/google/protobuf/stubs/once.h
toolkit/components/protobuf/google/protobuf/stubs/stl_util-inl.h
toolkit/components/protobuf/google/protobuf/wire_format_lite.cc
toolkit/components/protobuf/google/protobuf/wire_format_lite.h
toolkit/components/protobuf/google/protobuf/wire_format_lite_inl.h
toolkit/components/protobuf/m-c-changes.patch
toolkit/components/protobuf/moz.build
toolkit/components/protobuf/r512.patch
toolkit/components/protobuf/src/google/protobuf/descriptor.cc
toolkit/components/protobuf/src/google/protobuf/descriptor.h
toolkit/components/protobuf/src/google/protobuf/descriptor.pb.cc
toolkit/components/protobuf/src/google/protobuf/descriptor.pb.h
toolkit/components/protobuf/src/google/protobuf/descriptor.proto
toolkit/components/protobuf/src/google/protobuf/descriptor_database.cc
toolkit/components/protobuf/src/google/protobuf/descriptor_database.h
toolkit/components/protobuf/src/google/protobuf/dynamic_message.cc
toolkit/components/protobuf/src/google/protobuf/dynamic_message.h
toolkit/components/protobuf/src/google/protobuf/extension_set.cc
toolkit/components/protobuf/src/google/protobuf/extension_set.h
toolkit/components/protobuf/src/google/protobuf/extension_set_heavy.cc
toolkit/components/protobuf/src/google/protobuf/generated_enum_reflection.h
toolkit/components/protobuf/src/google/protobuf/generated_message_reflection.cc
toolkit/components/protobuf/src/google/protobuf/generated_message_reflection.h
toolkit/components/protobuf/src/google/protobuf/generated_message_util.cc
toolkit/components/protobuf/src/google/protobuf/generated_message_util.h
toolkit/components/protobuf/src/google/protobuf/io/coded_stream.cc
toolkit/components/protobuf/src/google/protobuf/io/coded_stream.h
toolkit/components/protobuf/src/google/protobuf/io/coded_stream_inl.h
toolkit/components/protobuf/src/google/protobuf/io/gzip_stream.cc
toolkit/components/protobuf/src/google/protobuf/io/gzip_stream.h
toolkit/components/protobuf/src/google/protobuf/io/package_info.h
toolkit/components/protobuf/src/google/protobuf/io/printer.cc
toolkit/components/protobuf/src/google/protobuf/io/printer.h
toolkit/components/protobuf/src/google/protobuf/io/strtod.cc
toolkit/components/protobuf/src/google/protobuf/io/strtod.h
toolkit/components/protobuf/src/google/protobuf/io/tokenizer.cc
toolkit/components/protobuf/src/google/protobuf/io/tokenizer.h
toolkit/components/protobuf/src/google/protobuf/io/zero_copy_stream.cc
toolkit/components/protobuf/src/google/protobuf/io/zero_copy_stream.h
toolkit/components/protobuf/src/google/protobuf/io/zero_copy_stream_impl.cc
toolkit/components/protobuf/src/google/protobuf/io/zero_copy_stream_impl.h
toolkit/components/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.cc
toolkit/components/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.h
toolkit/components/protobuf/src/google/protobuf/message.cc
toolkit/components/protobuf/src/google/protobuf/message.h
toolkit/components/protobuf/src/google/protobuf/message_lite.cc
toolkit/components/protobuf/src/google/protobuf/message_lite.h
toolkit/components/protobuf/src/google/protobuf/package_info.h
toolkit/components/protobuf/src/google/protobuf/reflection_ops.cc
toolkit/components/protobuf/src/google/protobuf/reflection_ops.h
toolkit/components/protobuf/src/google/protobuf/repeated_field.cc
toolkit/components/protobuf/src/google/protobuf/repeated_field.h
toolkit/components/protobuf/src/google/protobuf/service.cc
toolkit/components/protobuf/src/google/protobuf/service.h
toolkit/components/protobuf/src/google/protobuf/stubs/atomicops.h
toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_arm64_gcc.h
toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_arm_gcc.h
toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_arm_qnx.h
toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_atomicword_compat.h
toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_generic_gcc.h
toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_macosx.h
toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_mips_gcc.h
toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_pnacl.h
toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_solaris.h
toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_tsan.h
toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_x86_gcc.cc
toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_x86_gcc.h
toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_x86_msvc.cc
toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_x86_msvc.h
toolkit/components/protobuf/src/google/protobuf/stubs/common.cc
toolkit/components/protobuf/src/google/protobuf/stubs/common.h
toolkit/components/protobuf/src/google/protobuf/stubs/hash.h
toolkit/components/protobuf/src/google/protobuf/stubs/map_util.h
toolkit/components/protobuf/src/google/protobuf/stubs/once.cc
toolkit/components/protobuf/src/google/protobuf/stubs/once.h
toolkit/components/protobuf/src/google/protobuf/stubs/platform_macros.h
toolkit/components/protobuf/src/google/protobuf/stubs/shared_ptr.h
toolkit/components/protobuf/src/google/protobuf/stubs/stl_util.h
toolkit/components/protobuf/src/google/protobuf/stubs/stringprintf.cc
toolkit/components/protobuf/src/google/protobuf/stubs/stringprintf.h
toolkit/components/protobuf/src/google/protobuf/stubs/structurally_valid.cc
toolkit/components/protobuf/src/google/protobuf/stubs/strutil.cc
toolkit/components/protobuf/src/google/protobuf/stubs/strutil.h
toolkit/components/protobuf/src/google/protobuf/stubs/substitute.cc
toolkit/components/protobuf/src/google/protobuf/stubs/substitute.h
toolkit/components/protobuf/src/google/protobuf/stubs/template_util.h
toolkit/components/protobuf/src/google/protobuf/stubs/type_traits.h
toolkit/components/protobuf/src/google/protobuf/text_format.cc
toolkit/components/protobuf/src/google/protobuf/text_format.h
toolkit/components/protobuf/src/google/protobuf/unknown_field_set.cc
toolkit/components/protobuf/src/google/protobuf/unknown_field_set.h
toolkit/components/protobuf/src/google/protobuf/wire_format.cc
toolkit/components/protobuf/src/google/protobuf/wire_format.h
toolkit/components/protobuf/src/google/protobuf/wire_format_lite.cc
toolkit/components/protobuf/src/google/protobuf/wire_format_lite.h
toolkit/components/protobuf/src/google/protobuf/wire_format_lite_inl.h
toolkit/components/protobuf/update.sh
toolkit/components/protobuf/upgrade_protobuf.sh
toolkit/components/protobuf/vs2013.patch
--- a/configure.in
+++ b/configure.in
@@ -3029,16 +3029,17 @@ then
             if test "$SOLARIS_SUNPRO_CC"; then
                 CFLAGS="$CFLAGS -mt"
                 CXXFLAGS="$CXXFLAGS -mt"
             fi
             ;;
     esac
     LDFLAGS="${_PTHREAD_LDFLAGS} ${LDFLAGS}"
     AC_SUBST(MOZ_USE_PTHREADS)
+    MOZ_CHECK_HEADERS(pthread.h)
 fi
 
 
 dnl Checks for library functions.
 dnl ========================================================
 AC_PROG_GCC_TRADITIONAL
 AC_FUNC_MEMCMP
 AC_CHECK_FUNCS(stat64 lstat64 truncate64 statvfs64 statvfs statfs64 statfs getpagesize gmtime_r localtime_r arc4random arc4random_buf)
--- a/gfx/layers/protobuf/LayerScopePacket.pb.cc
+++ b/gfx/layers/protobuf/LayerScopePacket.pb.cc
@@ -1,18 +1,21 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
+// source: LayerScopePacket.proto
 
 #define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
 #include "LayerScopePacket.pb.h"
 
 #include <algorithm>
 
+#include <google/protobuf/stubs/common.h>
 #include <google/protobuf/stubs/once.h>
 #include <google/protobuf/io/coded_stream.h>
 #include <google/protobuf/wire_format_lite_inl.h>
+#include <google/protobuf/io/zero_copy_stream_impl_lite.h>
 // @@protoc_insertion_point(includes)
 
 namespace mozilla {
 namespace layers {
 namespace layerscope {
 
 void protobuf_ShutdownFile_LayerScopePacket_2eproto() {
   delete FramePacket::default_instance_;
@@ -27,22 +30,28 @@ void protobuf_ShutdownFile_LayerScopePac
   delete LayersPacket_Layer_Shadow::default_instance_;
   delete MetaPacket::default_instance_;
   delete DrawPacket::default_instance_;
   delete DrawPacket_Rect::default_instance_;
   delete Packet::default_instance_;
   delete CommandPacket::default_instance_;
 }
 
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+void protobuf_AddDesc_LayerScopePacket_2eproto_impl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#else
 void protobuf_AddDesc_LayerScopePacket_2eproto() {
   static bool already_here = false;
   if (already_here) return;
   already_here = true;
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
+#endif
   FramePacket::default_instance_ = new FramePacket();
   ColorPacket::default_instance_ = new ColorPacket();
   TexturePacket::default_instance_ = new TexturePacket();
   LayersPacket::default_instance_ = new LayersPacket();
   LayersPacket_Layer::default_instance_ = new LayersPacket_Layer();
   LayersPacket_Layer_Size::default_instance_ = new LayersPacket_Layer_Size();
   LayersPacket_Layer_Rect::default_instance_ = new LayersPacket_Layer_Rect();
   LayersPacket_Layer_Region::default_instance_ = new LayersPacket_Layer_Region();
@@ -66,138 +75,176 @@ void protobuf_AddDesc_LayerScopePacket_2
   MetaPacket::default_instance_->InitAsDefaultInstance();
   DrawPacket::default_instance_->InitAsDefaultInstance();
   DrawPacket_Rect::default_instance_->InitAsDefaultInstance();
   Packet::default_instance_->InitAsDefaultInstance();
   CommandPacket::default_instance_->InitAsDefaultInstance();
   ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_LayerScopePacket_2eproto);
 }
 
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AddDesc_LayerScopePacket_2eproto_once_);
+void protobuf_AddDesc_LayerScopePacket_2eproto() {
+  ::google::protobuf::GoogleOnceInit(&protobuf_AddDesc_LayerScopePacket_2eproto_once_,
+                 &protobuf_AddDesc_LayerScopePacket_2eproto_impl);
+}
+#else
 // Force AddDescriptors() to be called at static initialization time.
 struct StaticDescriptorInitializer_LayerScopePacket_2eproto {
   StaticDescriptorInitializer_LayerScopePacket_2eproto() {
     protobuf_AddDesc_LayerScopePacket_2eproto();
   }
 } static_descriptor_initializer_LayerScopePacket_2eproto_;
-
+#endif
 
 // ===================================================================
 
 #ifndef _MSC_VER
 const int FramePacket::kValueFieldNumber;
 #endif  // !_MSC_VER
 
 FramePacket::FramePacket()
   : ::google::protobuf::MessageLite() {
   SharedCtor();
+  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.FramePacket)
 }
 
 void FramePacket::InitAsDefaultInstance() {
 }
 
 FramePacket::FramePacket(const FramePacket& from)
   : ::google::protobuf::MessageLite() {
   SharedCtor();
   MergeFrom(from);
+  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.FramePacket)
 }
 
 void FramePacket::SharedCtor() {
   _cached_size_ = 0;
   value_ = GOOGLE_ULONGLONG(0);
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 FramePacket::~FramePacket() {
+  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.FramePacket)
   SharedDtor();
 }
 
 void FramePacket::SharedDtor() {
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  if (this != &default_instance()) {
+  #else
   if (this != default_instance_) {
+  #endif
   }
 }
 
 void FramePacket::SetCachedSize(int size) const {
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const FramePacket& FramePacket::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  return *default_instance_;
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  protobuf_AddDesc_LayerScopePacket_2eproto();
+#else
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
+#endif
+  return *default_instance_;
 }
 
 FramePacket* FramePacket::default_instance_ = NULL;
 
 FramePacket* FramePacket::New() const {
   return new FramePacket;
 }
 
 void FramePacket::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    value_ = GOOGLE_ULONGLONG(0);
-  }
+  value_ = GOOGLE_ULONGLONG(0);
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->clear();
 }
 
 bool FramePacket::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
+  ::google::protobuf::io::StringOutputStream unknown_fields_string(
+      mutable_unknown_fields());
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string);
+  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.FramePacket)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // optional uint64 value = 1;
       case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 8) {
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
                  input, &value_)));
           set_has_value();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
-        if (input->ExpectAtEnd()) return true;
+        if (input->ExpectAtEnd()) goto success;
         break;
       }
-      
+
       default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_unusual:
+        if (tag == 0 ||
+            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
+          goto success;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
         break;
       }
     }
   }
+success:
+  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.FramePacket)
   return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.FramePacket)
+  return false;
 #undef DO_
 }
 
 void FramePacket::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.FramePacket)
   // optional uint64 value = 1;
   if (has_value()) {
     ::google::protobuf::internal::WireFormatLite::WriteUInt64(1, this->value(), output);
   }
-  
+
+  output->WriteRaw(unknown_fields().data(),
+                   unknown_fields().size());
+  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.FramePacket)
 }
 
 int FramePacket::ByteSize() const {
   int total_size = 0;
-  
+
   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     // optional uint64 value = 1;
     if (has_value()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::UInt64Size(
           this->value());
     }
-    
+
   }
+  total_size += unknown_fields().size();
+
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = total_size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void FramePacket::CheckTypeAndMergeFrom(
     const ::google::protobuf::MessageLite& from) {
@@ -206,33 +253,35 @@ void FramePacket::CheckTypeAndMergeFrom(
 
 void FramePacket::MergeFrom(const FramePacket& from) {
   GOOGLE_CHECK_NE(&from, this);
   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     if (from.has_value()) {
       set_value(from.value());
     }
   }
+  mutable_unknown_fields()->append(from.unknown_fields());
 }
 
 void FramePacket::CopyFrom(const FramePacket& from) {
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool FramePacket::IsInitialized() const {
-  
+
   return true;
 }
 
 void FramePacket::Swap(FramePacket* other) {
   if (other != this) {
     std::swap(value_, other->value_);
     std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.swap(other->_unknown_fields_);
     std::swap(_cached_size_, other->_cached_size_);
   }
 }
 
 ::std::string FramePacket::GetTypeName() const {
   return "mozilla.layers.layerscope.FramePacket";
 }
 
@@ -244,211 +293,250 @@ const int ColorPacket::kLayerrefFieldNum
 const int ColorPacket::kWidthFieldNumber;
 const int ColorPacket::kHeightFieldNumber;
 const int ColorPacket::kColorFieldNumber;
 #endif  // !_MSC_VER
 
 ColorPacket::ColorPacket()
   : ::google::protobuf::MessageLite() {
   SharedCtor();
+  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.ColorPacket)
 }
 
 void ColorPacket::InitAsDefaultInstance() {
 }
 
 ColorPacket::ColorPacket(const ColorPacket& from)
   : ::google::protobuf::MessageLite() {
   SharedCtor();
   MergeFrom(from);
+  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.ColorPacket)
 }
 
 void ColorPacket::SharedCtor() {
   _cached_size_ = 0;
   layerref_ = GOOGLE_ULONGLONG(0);
   width_ = 0u;
   height_ = 0u;
   color_ = 0u;
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 ColorPacket::~ColorPacket() {
+  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.ColorPacket)
   SharedDtor();
 }
 
 void ColorPacket::SharedDtor() {
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  if (this != &default_instance()) {
+  #else
   if (this != default_instance_) {
+  #endif
   }
 }
 
 void ColorPacket::SetCachedSize(int size) const {
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const ColorPacket& ColorPacket::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  return *default_instance_;
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  protobuf_AddDesc_LayerScopePacket_2eproto();
+#else
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
+#endif
+  return *default_instance_;
 }
 
 ColorPacket* ColorPacket::default_instance_ = NULL;
 
 ColorPacket* ColorPacket::New() const {
   return new ColorPacket;
 }
 
 void ColorPacket::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    layerref_ = GOOGLE_ULONGLONG(0);
-    width_ = 0u;
-    height_ = 0u;
-    color_ = 0u;
-  }
+#define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
+  &reinterpret_cast<ColorPacket*>(16)->f) - \
+   reinterpret_cast<char*>(16))
+
+#define ZR_(first, last) do {                              \
+    size_t f = OFFSET_OF_FIELD_(first);                    \
+    size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
+    ::memset(&first, 0, n);                                \
+  } while (0)
+
+  ZR_(layerref_, color_);
+
+#undef OFFSET_OF_FIELD_
+#undef ZR_
+
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->clear();
 }
 
 bool ColorPacket::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
+  ::google::protobuf::io::StringOutputStream unknown_fields_string(
+      mutable_unknown_fields());
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string);
+  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.ColorPacket)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // required uint64 layerref = 1;
       case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 8) {
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
                  input, &layerref_)));
           set_has_layerref();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(16)) goto parse_width;
         break;
       }
-      
+
       // optional uint32 width = 2;
       case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 16) {
          parse_width:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                  input, &width_)));
           set_has_width();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(24)) goto parse_height;
         break;
       }
-      
+
       // optional uint32 height = 3;
       case 3: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 24) {
          parse_height:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                  input, &height_)));
           set_has_height();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(32)) goto parse_color;
         break;
       }
-      
+
       // optional uint32 color = 4;
       case 4: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 32) {
          parse_color:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                  input, &color_)));
           set_has_color();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
-        if (input->ExpectAtEnd()) return true;
+        if (input->ExpectAtEnd()) goto success;
         break;
       }
-      
+
       default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_unusual:
+        if (tag == 0 ||
+            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
+          goto success;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
         break;
       }
     }
   }
+success:
+  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.ColorPacket)
   return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.ColorPacket)
+  return false;
 #undef DO_
 }
 
 void ColorPacket::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.ColorPacket)
   // required uint64 layerref = 1;
   if (has_layerref()) {
     ::google::protobuf::internal::WireFormatLite::WriteUInt64(1, this->layerref(), output);
   }
-  
+
   // optional uint32 width = 2;
   if (has_width()) {
     ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->width(), output);
   }
-  
+
   // optional uint32 height = 3;
   if (has_height()) {
     ::google::protobuf::internal::WireFormatLite::WriteUInt32(3, this->height(), output);
   }
-  
+
   // optional uint32 color = 4;
   if (has_color()) {
     ::google::protobuf::internal::WireFormatLite::WriteUInt32(4, this->color(), output);
   }
-  
+
+  output->WriteRaw(unknown_fields().data(),
+                   unknown_fields().size());
+  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.ColorPacket)
 }
 
 int ColorPacket::ByteSize() const {
   int total_size = 0;
-  
+
   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     // required uint64 layerref = 1;
     if (has_layerref()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::UInt64Size(
           this->layerref());
     }
-    
+
     // optional uint32 width = 2;
     if (has_width()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::UInt32Size(
           this->width());
     }
-    
+
     // optional uint32 height = 3;
     if (has_height()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::UInt32Size(
           this->height());
     }
-    
+
     // optional uint32 color = 4;
     if (has_color()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::UInt32Size(
           this->color());
     }
-    
+
   }
+  total_size += unknown_fields().size();
+
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = total_size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void ColorPacket::CheckTypeAndMergeFrom(
     const ::google::protobuf::MessageLite& from) {
@@ -466,37 +554,39 @@ void ColorPacket::MergeFrom(const ColorP
     }
     if (from.has_height()) {
       set_height(from.height());
     }
     if (from.has_color()) {
       set_color(from.color());
     }
   }
+  mutable_unknown_fields()->append(from.unknown_fields());
 }
 
 void ColorPacket::CopyFrom(const ColorPacket& from) {
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool ColorPacket::IsInitialized() const {
   if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
-  
+
   return true;
 }
 
 void ColorPacket::Swap(ColorPacket* other) {
   if (other != this) {
     std::swap(layerref_, other->layerref_);
     std::swap(width_, other->width_);
     std::swap(height_, other->height_);
     std::swap(color_, other->color_);
     std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.swap(other->_unknown_fields_);
     std::swap(_cached_size_, other->_cached_size_);
   }
 }
 
 ::std::string ColorPacket::GetTypeName() const {
   return "mozilla.layers.layerscope.ColorPacket";
 }
 
@@ -513,371 +603,402 @@ const int TexturePacket::kTargetFieldNum
 const int TexturePacket::kDataformatFieldNumber;
 const int TexturePacket::kGlcontextFieldNumber;
 const int TexturePacket::kDataFieldNumber;
 #endif  // !_MSC_VER
 
 TexturePacket::TexturePacket()
   : ::google::protobuf::MessageLite() {
   SharedCtor();
+  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.TexturePacket)
 }
 
 void TexturePacket::InitAsDefaultInstance() {
 }
 
 TexturePacket::TexturePacket(const TexturePacket& from)
   : ::google::protobuf::MessageLite() {
   SharedCtor();
   MergeFrom(from);
+  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.TexturePacket)
 }
 
 void TexturePacket::SharedCtor() {
+  ::google::protobuf::internal::GetEmptyString();
   _cached_size_ = 0;
   layerref_ = GOOGLE_ULONGLONG(0);
   width_ = 0u;
   height_ = 0u;
   stride_ = 0u;
   name_ = 0u;
   target_ = 0u;
   dataformat_ = 0u;
   glcontext_ = GOOGLE_ULONGLONG(0);
-  data_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
+  data_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 TexturePacket::~TexturePacket() {
+  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.TexturePacket)
   SharedDtor();
 }
 
 void TexturePacket::SharedDtor() {
-  if (data_ != &::google::protobuf::internal::kEmptyString) {
+  if (data_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
     delete data_;
   }
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  if (this != &default_instance()) {
+  #else
   if (this != default_instance_) {
+  #endif
   }
 }
 
 void TexturePacket::SetCachedSize(int size) const {
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const TexturePacket& TexturePacket::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  return *default_instance_;
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  protobuf_AddDesc_LayerScopePacket_2eproto();
+#else
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
+#endif
+  return *default_instance_;
 }
 
 TexturePacket* TexturePacket::default_instance_ = NULL;
 
 TexturePacket* TexturePacket::New() const {
   return new TexturePacket;
 }
 
 void TexturePacket::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    layerref_ = GOOGLE_ULONGLONG(0);
-    width_ = 0u;
-    height_ = 0u;
-    stride_ = 0u;
-    name_ = 0u;
-    target_ = 0u;
-    dataformat_ = 0u;
-    glcontext_ = GOOGLE_ULONGLONG(0);
+#define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
+  &reinterpret_cast<TexturePacket*>(16)->f) - \
+   reinterpret_cast<char*>(16))
+
+#define ZR_(first, last) do {                              \
+    size_t f = OFFSET_OF_FIELD_(first);                    \
+    size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
+    ::memset(&first, 0, n);                                \
+  } while (0)
+
+  if (_has_bits_[0 / 32] & 255) {
+    ZR_(layerref_, glcontext_);
   }
-  if (_has_bits_[8 / 32] & (0xffu << (8 % 32))) {
-    if (has_data()) {
-      if (data_ != &::google::protobuf::internal::kEmptyString) {
-        data_->clear();
-      }
+  if (has_data()) {
+    if (data_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+      data_->clear();
     }
   }
+
+#undef OFFSET_OF_FIELD_
+#undef ZR_
+
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->clear();
 }
 
 bool TexturePacket::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
+  ::google::protobuf::io::StringOutputStream unknown_fields_string(
+      mutable_unknown_fields());
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string);
+  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.TexturePacket)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // required uint64 layerref = 1;
       case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 8) {
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
                  input, &layerref_)));
           set_has_layerref();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(16)) goto parse_width;
         break;
       }
-      
+
       // optional uint32 width = 2;
       case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 16) {
          parse_width:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                  input, &width_)));
           set_has_width();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(24)) goto parse_height;
         break;
       }
-      
+
       // optional uint32 height = 3;
       case 3: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 24) {
          parse_height:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                  input, &height_)));
           set_has_height();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(32)) goto parse_stride;
         break;
       }
-      
+
       // optional uint32 stride = 4;
       case 4: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 32) {
          parse_stride:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                  input, &stride_)));
           set_has_stride();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(40)) goto parse_name;
         break;
       }
-      
+
       // optional uint32 name = 5;
       case 5: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 40) {
          parse_name:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                  input, &name_)));
           set_has_name();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(48)) goto parse_target;
         break;
       }
-      
+
       // optional uint32 target = 6;
       case 6: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 48) {
          parse_target:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                  input, &target_)));
           set_has_target();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(56)) goto parse_dataformat;
         break;
       }
-      
+
       // optional uint32 dataformat = 7;
       case 7: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 56) {
          parse_dataformat:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                  input, &dataformat_)));
           set_has_dataformat();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(64)) goto parse_glcontext;
         break;
       }
-      
+
       // optional uint64 glcontext = 8;
       case 8: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 64) {
          parse_glcontext:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
                  input, &glcontext_)));
           set_has_glcontext();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(74)) goto parse_data;
         break;
       }
-      
+
       // optional bytes data = 9;
       case 9: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+        if (tag == 74) {
          parse_data:
           DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                 input, this->mutable_data()));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
-        if (input->ExpectAtEnd()) return true;
+        if (input->ExpectAtEnd()) goto success;
         break;
       }
-      
+
       default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_unusual:
+        if (tag == 0 ||
+            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
+          goto success;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
         break;
       }
     }
   }
+success:
+  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.TexturePacket)
   return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.TexturePacket)
+  return false;
 #undef DO_
 }
 
 void TexturePacket::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.TexturePacket)
   // required uint64 layerref = 1;
   if (has_layerref()) {
     ::google::protobuf::internal::WireFormatLite::WriteUInt64(1, this->layerref(), output);
   }
-  
+
   // optional uint32 width = 2;
   if (has_width()) {
     ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->width(), output);
   }
-  
+
   // optional uint32 height = 3;
   if (has_height()) {
     ::google::protobuf::internal::WireFormatLite::WriteUInt32(3, this->height(), output);
   }
-  
+
   // optional uint32 stride = 4;
   if (has_stride()) {
     ::google::protobuf::internal::WireFormatLite::WriteUInt32(4, this->stride(), output);
   }
-  
+
   // optional uint32 name = 5;
   if (has_name()) {
     ::google::protobuf::internal::WireFormatLite::WriteUInt32(5, this->name(), output);
   }
-  
+
   // optional uint32 target = 6;
   if (has_target()) {
     ::google::protobuf::internal::WireFormatLite::WriteUInt32(6, this->target(), output);
   }
-  
+
   // optional uint32 dataformat = 7;
   if (has_dataformat()) {
     ::google::protobuf::internal::WireFormatLite::WriteUInt32(7, this->dataformat(), output);
   }
-  
+
   // optional uint64 glcontext = 8;
   if (has_glcontext()) {
     ::google::protobuf::internal::WireFormatLite::WriteUInt64(8, this->glcontext(), output);
   }
-  
+
   // optional bytes data = 9;
   if (has_data()) {
-    ::google::protobuf::internal::WireFormatLite::WriteBytes(
+    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
       9, this->data(), output);
   }
-  
+
+  output->WriteRaw(unknown_fields().data(),
+                   unknown_fields().size());
+  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.TexturePacket)
 }
 
 int TexturePacket::ByteSize() const {
   int total_size = 0;
-  
+
   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     // required uint64 layerref = 1;
     if (has_layerref()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::UInt64Size(
           this->layerref());
     }
-    
+
     // optional uint32 width = 2;
     if (has_width()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::UInt32Size(
           this->width());
     }
-    
+
     // optional uint32 height = 3;
     if (has_height()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::UInt32Size(
           this->height());
     }
-    
+
     // optional uint32 stride = 4;
     if (has_stride()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::UInt32Size(
           this->stride());
     }
-    
+
     // optional uint32 name = 5;
     if (has_name()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::UInt32Size(
           this->name());
     }
-    
+
     // optional uint32 target = 6;
     if (has_target()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::UInt32Size(
           this->target());
     }
-    
+
     // optional uint32 dataformat = 7;
     if (has_dataformat()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::UInt32Size(
           this->dataformat());
     }
-    
+
     // optional uint64 glcontext = 8;
     if (has_glcontext()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::UInt64Size(
           this->glcontext());
     }
-    
+
   }
   if (_has_bits_[8 / 32] & (0xffu << (8 % 32))) {
     // optional bytes data = 9;
     if (has_data()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::BytesSize(
           this->data());
     }
-    
+
   }
+  total_size += unknown_fields().size();
+
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = total_size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void TexturePacket::CheckTypeAndMergeFrom(
     const ::google::protobuf::MessageLite& from) {
@@ -912,42 +1033,44 @@ void TexturePacket::MergeFrom(const Text
       set_glcontext(from.glcontext());
     }
   }
   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
     if (from.has_data()) {
       set_data(from.data());
     }
   }
+  mutable_unknown_fields()->append(from.unknown_fields());
 }
 
 void TexturePacket::CopyFrom(const TexturePacket& from) {
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool TexturePacket::IsInitialized() const {
   if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
-  
+
   return true;
 }
 
 void TexturePacket::Swap(TexturePacket* other) {
   if (other != this) {
     std::swap(layerref_, other->layerref_);
     std::swap(width_, other->width_);
     std::swap(height_, other->height_);
     std::swap(stride_, other->stride_);
     std::swap(name_, other->name_);
     std::swap(target_, other->target_);
     std::swap(dataformat_, other->dataformat_);
     std::swap(glcontext_, other->glcontext_);
     std::swap(data_, other->data_);
     std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.swap(other->_unknown_fields_);
     std::swap(_cached_size_, other->_cached_size_);
   }
 }
 
 ::std::string TexturePacket::GetTypeName() const {
   return "mozilla.layers.layerscope.TexturePacket";
 }
 
@@ -1032,151 +1155,194 @@ const int LayersPacket_Layer::Filter_ARR
 #ifndef _MSC_VER
 const int LayersPacket_Layer_Size::kWFieldNumber;
 const int LayersPacket_Layer_Size::kHFieldNumber;
 #endif  // !_MSC_VER
 
 LayersPacket_Layer_Size::LayersPacket_Layer_Size()
   : ::google::protobuf::MessageLite() {
   SharedCtor();
+  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.LayersPacket.Layer.Size)
 }
 
 void LayersPacket_Layer_Size::InitAsDefaultInstance() {
 }
 
 LayersPacket_Layer_Size::LayersPacket_Layer_Size(const LayersPacket_Layer_Size& from)
   : ::google::protobuf::MessageLite() {
   SharedCtor();
   MergeFrom(from);
+  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.LayersPacket.Layer.Size)
 }
 
 void LayersPacket_Layer_Size::SharedCtor() {
   _cached_size_ = 0;
   w_ = 0;
   h_ = 0;
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 LayersPacket_Layer_Size::~LayersPacket_Layer_Size() {
+  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.LayersPacket.Layer.Size)
   SharedDtor();
 }
 
 void LayersPacket_Layer_Size::SharedDtor() {
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  if (this != &default_instance()) {
+  #else
   if (this != default_instance_) {
+  #endif
   }
 }
 
 void LayersPacket_Layer_Size::SetCachedSize(int size) const {
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const LayersPacket_Layer_Size& LayersPacket_Layer_Size::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  return *default_instance_;
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  protobuf_AddDesc_LayerScopePacket_2eproto();
+#else
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
+#endif
+  return *default_instance_;
 }
 
 LayersPacket_Layer_Size* LayersPacket_Layer_Size::default_instance_ = NULL;
 
 LayersPacket_Layer_Size* LayersPacket_Layer_Size::New() const {
   return new LayersPacket_Layer_Size;
 }
 
 void LayersPacket_Layer_Size::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    w_ = 0;
-    h_ = 0;
-  }
+#define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
+  &reinterpret_cast<LayersPacket_Layer_Size*>(16)->f) - \
+   reinterpret_cast<char*>(16))
+
+#define ZR_(first, last) do {                              \
+    size_t f = OFFSET_OF_FIELD_(first);                    \
+    size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
+    ::memset(&first, 0, n);                                \
+  } while (0)
+
+  ZR_(w_, h_);
+
+#undef OFFSET_OF_FIELD_
+#undef ZR_
+
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->clear();
 }
 
 bool LayersPacket_Layer_Size::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
+  ::google::protobuf::io::StringOutputStream unknown_fields_string(
+      mutable_unknown_fields());
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string);
+  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.LayersPacket.Layer.Size)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // optional int32 w = 1;
       case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 8) {
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                  input, &w_)));
           set_has_w();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(16)) goto parse_h;
         break;
       }
-      
+
       // optional int32 h = 2;
       case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 16) {
          parse_h:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                  input, &h_)));
           set_has_h();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
-        if (input->ExpectAtEnd()) return true;
+        if (input->ExpectAtEnd()) goto success;
         break;
       }
-      
+
       default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_unusual:
+        if (tag == 0 ||
+            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
+          goto success;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
         break;
       }
     }
   }
+success:
+  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.LayersPacket.Layer.Size)
   return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.LayersPacket.Layer.Size)
+  return false;
 #undef DO_
 }
 
 void LayersPacket_Layer_Size::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.LayersPacket.Layer.Size)
   // optional int32 w = 1;
   if (has_w()) {
     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->w(), output);
   }
-  
+
   // optional int32 h = 2;
   if (has_h()) {
     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->h(), output);
   }
-  
+
+  output->WriteRaw(unknown_fields().data(),
+                   unknown_fields().size());
+  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.LayersPacket.Layer.Size)
 }
 
 int LayersPacket_Layer_Size::ByteSize() const {
   int total_size = 0;
-  
+
   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     // optional int32 w = 1;
     if (has_w()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::Int32Size(
           this->w());
     }
-    
+
     // optional int32 h = 2;
     if (has_h()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::Int32Size(
           this->h());
     }
-    
+
   }
+  total_size += unknown_fields().size();
+
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = total_size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void LayersPacket_Layer_Size::CheckTypeAndMergeFrom(
     const ::google::protobuf::MessageLite& from) {
@@ -1188,34 +1354,36 @@ void LayersPacket_Layer_Size::MergeFrom(
   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     if (from.has_w()) {
       set_w(from.w());
     }
     if (from.has_h()) {
       set_h(from.h());
     }
   }
+  mutable_unknown_fields()->append(from.unknown_fields());
 }
 
 void LayersPacket_Layer_Size::CopyFrom(const LayersPacket_Layer_Size& from) {
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool LayersPacket_Layer_Size::IsInitialized() const {
-  
+
   return true;
 }
 
 void LayersPacket_Layer_Size::Swap(LayersPacket_Layer_Size* other) {
   if (other != this) {
     std::swap(w_, other->w_);
     std::swap(h_, other->h_);
     std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.swap(other->_unknown_fields_);
     std::swap(_cached_size_, other->_cached_size_);
   }
 }
 
 ::std::string LayersPacket_Layer_Size::GetTypeName() const {
   return "mozilla.layers.layerscope.LayersPacket.Layer.Size";
 }
 
@@ -1227,211 +1395,250 @@ const int LayersPacket_Layer_Rect::kXFie
 const int LayersPacket_Layer_Rect::kYFieldNumber;
 const int LayersPacket_Layer_Rect::kWFieldNumber;
 const int LayersPacket_Layer_Rect::kHFieldNumber;
 #endif  // !_MSC_VER
 
 LayersPacket_Layer_Rect::LayersPacket_Layer_Rect()
   : ::google::protobuf::MessageLite() {
   SharedCtor();
+  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.LayersPacket.Layer.Rect)
 }
 
 void LayersPacket_Layer_Rect::InitAsDefaultInstance() {
 }
 
 LayersPacket_Layer_Rect::LayersPacket_Layer_Rect(const LayersPacket_Layer_Rect& from)
   : ::google::protobuf::MessageLite() {
   SharedCtor();
   MergeFrom(from);
+  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.LayersPacket.Layer.Rect)
 }
 
 void LayersPacket_Layer_Rect::SharedCtor() {
   _cached_size_ = 0;
   x_ = 0;
   y_ = 0;
   w_ = 0;
   h_ = 0;
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 LayersPacket_Layer_Rect::~LayersPacket_Layer_Rect() {
+  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.LayersPacket.Layer.Rect)
   SharedDtor();
 }
 
 void LayersPacket_Layer_Rect::SharedDtor() {
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  if (this != &default_instance()) {
+  #else
   if (this != default_instance_) {
+  #endif
   }
 }
 
 void LayersPacket_Layer_Rect::SetCachedSize(int size) const {
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const LayersPacket_Layer_Rect& LayersPacket_Layer_Rect::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  return *default_instance_;
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  protobuf_AddDesc_LayerScopePacket_2eproto();
+#else
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
+#endif
+  return *default_instance_;
 }
 
 LayersPacket_Layer_Rect* LayersPacket_Layer_Rect::default_instance_ = NULL;
 
 LayersPacket_Layer_Rect* LayersPacket_Layer_Rect::New() const {
   return new LayersPacket_Layer_Rect;
 }
 
 void LayersPacket_Layer_Rect::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    x_ = 0;
-    y_ = 0;
-    w_ = 0;
-    h_ = 0;
-  }
+#define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
+  &reinterpret_cast<LayersPacket_Layer_Rect*>(16)->f) - \
+   reinterpret_cast<char*>(16))
+
+#define ZR_(first, last) do {                              \
+    size_t f = OFFSET_OF_FIELD_(first);                    \
+    size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
+    ::memset(&first, 0, n);                                \
+  } while (0)
+
+  ZR_(x_, h_);
+
+#undef OFFSET_OF_FIELD_
+#undef ZR_
+
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->clear();
 }
 
 bool LayersPacket_Layer_Rect::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
+  ::google::protobuf::io::StringOutputStream unknown_fields_string(
+      mutable_unknown_fields());
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string);
+  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.LayersPacket.Layer.Rect)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // optional int32 x = 1;
       case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 8) {
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                  input, &x_)));
           set_has_x();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(16)) goto parse_y;
         break;
       }
-      
+
       // optional int32 y = 2;
       case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 16) {
          parse_y:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                  input, &y_)));
           set_has_y();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(24)) goto parse_w;
         break;
       }
-      
+
       // optional int32 w = 3;
       case 3: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 24) {
          parse_w:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                  input, &w_)));
           set_has_w();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(32)) goto parse_h;
         break;
       }
-      
+
       // optional int32 h = 4;
       case 4: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 32) {
          parse_h:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                  input, &h_)));
           set_has_h();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
-        if (input->ExpectAtEnd()) return true;
+        if (input->ExpectAtEnd()) goto success;
         break;
       }
-      
+
       default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_unusual:
+        if (tag == 0 ||
+            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
+          goto success;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
         break;
       }
     }
   }
+success:
+  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.LayersPacket.Layer.Rect)
   return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.LayersPacket.Layer.Rect)
+  return false;
 #undef DO_
 }
 
 void LayersPacket_Layer_Rect::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.LayersPacket.Layer.Rect)
   // optional int32 x = 1;
   if (has_x()) {
     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->x(), output);
   }
-  
+
   // optional int32 y = 2;
   if (has_y()) {
     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->y(), output);
   }
-  
+
   // optional int32 w = 3;
   if (has_w()) {
     ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->w(), output);
   }
-  
+
   // optional int32 h = 4;
   if (has_h()) {
     ::google::protobuf::internal::WireFormatLite::WriteInt32(4, this->h(), output);
   }
-  
+
+  output->WriteRaw(unknown_fields().data(),
+                   unknown_fields().size());
+  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.LayersPacket.Layer.Rect)
 }
 
 int LayersPacket_Layer_Rect::ByteSize() const {
   int total_size = 0;
-  
+
   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     // optional int32 x = 1;
     if (has_x()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::Int32Size(
           this->x());
     }
-    
+
     // optional int32 y = 2;
     if (has_y()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::Int32Size(
           this->y());
     }
-    
+
     // optional int32 w = 3;
     if (has_w()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::Int32Size(
           this->w());
     }
-    
+
     // optional int32 h = 4;
     if (has_h()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::Int32Size(
           this->h());
     }
-    
+
   }
+  total_size += unknown_fields().size();
+
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = total_size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void LayersPacket_Layer_Rect::CheckTypeAndMergeFrom(
     const ::google::protobuf::MessageLite& from) {
@@ -1449,36 +1656,38 @@ void LayersPacket_Layer_Rect::MergeFrom(
     }
     if (from.has_w()) {
       set_w(from.w());
     }
     if (from.has_h()) {
       set_h(from.h());
     }
   }
+  mutable_unknown_fields()->append(from.unknown_fields());
 }
 
 void LayersPacket_Layer_Rect::CopyFrom(const LayersPacket_Layer_Rect& from) {
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool LayersPacket_Layer_Rect::IsInitialized() const {
-  
+
   return true;
 }
 
 void LayersPacket_Layer_Rect::Swap(LayersPacket_Layer_Rect* other) {
   if (other != this) {
     std::swap(x_, other->x_);
     std::swap(y_, other->y_);
     std::swap(w_, other->w_);
     std::swap(h_, other->h_);
     std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.swap(other->_unknown_fields_);
     std::swap(_cached_size_, other->_cached_size_);
   }
 }
 
 ::std::string LayersPacket_Layer_Rect::GetTypeName() const {
   return "mozilla.layers.layerscope.LayersPacket.Layer.Rect";
 }
 
@@ -1487,149 +1696,184 @@ void LayersPacket_Layer_Rect::Swap(Layer
 
 #ifndef _MSC_VER
 const int LayersPacket_Layer_Region::kRFieldNumber;
 #endif  // !_MSC_VER
 
 LayersPacket_Layer_Region::LayersPacket_Layer_Region()
   : ::google::protobuf::MessageLite() {
   SharedCtor();
+  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.LayersPacket.Layer.Region)
 }
 
 void LayersPacket_Layer_Region::InitAsDefaultInstance() {
 }
 
 LayersPacket_Layer_Region::LayersPacket_Layer_Region(const LayersPacket_Layer_Region& from)
   : ::google::protobuf::MessageLite() {
   SharedCtor();
   MergeFrom(from);
+  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.LayersPacket.Layer.Region)
 }
 
 void LayersPacket_Layer_Region::SharedCtor() {
   _cached_size_ = 0;
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 LayersPacket_Layer_Region::~LayersPacket_Layer_Region() {
+  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.LayersPacket.Layer.Region)
   SharedDtor();
 }
 
 void LayersPacket_Layer_Region::SharedDtor() {
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  if (this != &default_instance()) {
+  #else
   if (this != default_instance_) {
+  #endif
   }
 }
 
 void LayersPacket_Layer_Region::SetCachedSize(int size) const {
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const LayersPacket_Layer_Region& LayersPacket_Layer_Region::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  return *default_instance_;
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  protobuf_AddDesc_LayerScopePacket_2eproto();
+#else
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
+#endif
+  return *default_instance_;
 }
 
 LayersPacket_Layer_Region* LayersPacket_Layer_Region::default_instance_ = NULL;
 
 LayersPacket_Layer_Region* LayersPacket_Layer_Region::New() const {
   return new LayersPacket_Layer_Region;
 }
 
 void LayersPacket_Layer_Region::Clear() {
   r_.Clear();
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->clear();
 }
 
 bool LayersPacket_Layer_Region::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
+  ::google::protobuf::io::StringOutputStream unknown_fields_string(
+      mutable_unknown_fields());
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string);
+  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.LayersPacket.Layer.Region)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // repeated .mozilla.layers.layerscope.LayersPacket.Layer.Rect r = 1;
       case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+        if (tag == 10) {
          parse_r:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                 input, add_r()));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(10)) goto parse_r;
-        if (input->ExpectAtEnd()) return true;
+        if (input->ExpectAtEnd()) goto success;
         break;
       }
-      
+
       default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_unusual:
+        if (tag == 0 ||
+            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
+          goto success;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
         break;
       }
     }
   }
+success:
+  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.LayersPacket.Layer.Region)
   return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.LayersPacket.Layer.Region)
+  return false;
 #undef DO_
 }
 
 void LayersPacket_Layer_Region::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.LayersPacket.Layer.Region)
   // repeated .mozilla.layers.layerscope.LayersPacket.Layer.Rect r = 1;
   for (int i = 0; i < this->r_size(); i++) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       1, this->r(i), output);
   }
-  
+
+  output->WriteRaw(unknown_fields().data(),
+                   unknown_fields().size());
+  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.LayersPacket.Layer.Region)
 }
 
 int LayersPacket_Layer_Region::ByteSize() const {
   int total_size = 0;
-  
+
   // repeated .mozilla.layers.layerscope.LayersPacket.Layer.Rect r = 1;
   total_size += 1 * this->r_size();
   for (int i = 0; i < this->r_size(); i++) {
     total_size +=
       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
         this->r(i));
   }
-  
+
+  total_size += unknown_fields().size();
+
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = total_size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void LayersPacket_Layer_Region::CheckTypeAndMergeFrom(
     const ::google::protobuf::MessageLite& from) {
   MergeFrom(*::google::protobuf::down_cast<const LayersPacket_Layer_Region*>(&from));
 }
 
 void LayersPacket_Layer_Region::MergeFrom(const LayersPacket_Layer_Region& from) {
   GOOGLE_CHECK_NE(&from, this);
   r_.MergeFrom(from.r_);
+  mutable_unknown_fields()->append(from.unknown_fields());
 }
 
 void LayersPacket_Layer_Region::CopyFrom(const LayersPacket_Layer_Region& from) {
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool LayersPacket_Layer_Region::IsInitialized() const {
-  
+
   return true;
 }
 
 void LayersPacket_Layer_Region::Swap(LayersPacket_Layer_Region* other) {
   if (other != this) {
     r_.Swap(&other->r_);
     std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.swap(other->_unknown_fields_);
     std::swap(_cached_size_, other->_cached_size_);
   }
 }
 
 ::std::string LayersPacket_Layer_Region::GetTypeName() const {
   return "mozilla.layers.layerscope.LayersPacket.Layer.Region";
 }
 
@@ -1640,183 +1884,223 @@ void LayersPacket_Layer_Region::Swap(Lay
 const int LayersPacket_Layer_Matrix::kIs2DFieldNumber;
 const int LayersPacket_Layer_Matrix::kIsIdFieldNumber;
 const int LayersPacket_Layer_Matrix::kMFieldNumber;
 #endif  // !_MSC_VER
 
 LayersPacket_Layer_Matrix::LayersPacket_Layer_Matrix()
   : ::google::protobuf::MessageLite() {
   SharedCtor();
+  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.LayersPacket.Layer.Matrix)
 }
 
 void LayersPacket_Layer_Matrix::InitAsDefaultInstance() {
 }
 
 LayersPacket_Layer_Matrix::LayersPacket_Layer_Matrix(const LayersPacket_Layer_Matrix& from)
   : ::google::protobuf::MessageLite() {
   SharedCtor();
   MergeFrom(from);
+  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.LayersPacket.Layer.Matrix)
 }
 
 void LayersPacket_Layer_Matrix::SharedCtor() {
   _cached_size_ = 0;
   is2d_ = false;
   isid_ = false;
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 LayersPacket_Layer_Matrix::~LayersPacket_Layer_Matrix() {
+  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.LayersPacket.Layer.Matrix)
   SharedDtor();
 }
 
 void LayersPacket_Layer_Matrix::SharedDtor() {
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  if (this != &default_instance()) {
+  #else
   if (this != default_instance_) {
+  #endif
   }
 }
 
 void LayersPacket_Layer_Matrix::SetCachedSize(int size) const {
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const LayersPacket_Layer_Matrix& LayersPacket_Layer_Matrix::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  return *default_instance_;
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  protobuf_AddDesc_LayerScopePacket_2eproto();
+#else
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
+#endif
+  return *default_instance_;
 }
 
 LayersPacket_Layer_Matrix* LayersPacket_Layer_Matrix::default_instance_ = NULL;
 
 LayersPacket_Layer_Matrix* LayersPacket_Layer_Matrix::New() const {
   return new LayersPacket_Layer_Matrix;
 }
 
 void LayersPacket_Layer_Matrix::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    is2d_ = false;
-    isid_ = false;
-  }
+#define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
+  &reinterpret_cast<LayersPacket_Layer_Matrix*>(16)->f) - \
+   reinterpret_cast<char*>(16))
+
+#define ZR_(first, last) do {                              \
+    size_t f = OFFSET_OF_FIELD_(first);                    \
+    size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
+    ::memset(&first, 0, n);                                \
+  } while (0)
+
+  ZR_(is2d_, isid_);
+
+#undef OFFSET_OF_FIELD_
+#undef ZR_
+
   m_.Clear();
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->clear();
 }
 
 bool LayersPacket_Layer_Matrix::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
+  ::google::protobuf::io::StringOutputStream unknown_fields_string(
+      mutable_unknown_fields());
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string);
+  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.LayersPacket.Layer.Matrix)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // optional bool is2D = 1;
       case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 8) {
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                  input, &is2d_)));
           set_has_is2d();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(16)) goto parse_isId;
         break;
       }
-      
+
       // optional bool isId = 2;
       case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 16) {
          parse_isId:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                  input, &isid_)));
           set_has_isid();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(29)) goto parse_m;
         break;
       }
-      
+
       // repeated float m = 3;
       case 3: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_FIXED32) {
+        if (tag == 29) {
          parse_m:
           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                  1, 29, input, this->mutable_m())));
-        } else if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag)
-                   == ::google::protobuf::internal::WireFormatLite::
-                      WIRETYPE_LENGTH_DELIMITED) {
+        } else if (tag == 26) {
           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                  input, this->mutable_m())));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(29)) goto parse_m;
-        if (input->ExpectAtEnd()) return true;
+        if (input->ExpectAtEnd()) goto success;
         break;
       }
-      
+
       default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_unusual:
+        if (tag == 0 ||
+            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
+          goto success;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
         break;
       }
     }
   }
+success:
+  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.LayersPacket.Layer.Matrix)
   return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.LayersPacket.Layer.Matrix)
+  return false;
 #undef DO_
 }
 
 void LayersPacket_Layer_Matrix::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.LayersPacket.Layer.Matrix)
   // optional bool is2D = 1;
   if (has_is2d()) {
     ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->is2d(), output);
   }
-  
+
   // optional bool isId = 2;
   if (has_isid()) {
     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->isid(), output);
   }
-  
+
   // repeated float m = 3;
   for (int i = 0; i < this->m_size(); i++) {
     ::google::protobuf::internal::WireFormatLite::WriteFloat(
       3, this->m(i), output);
   }
-  
+
+  output->WriteRaw(unknown_fields().data(),
+                   unknown_fields().size());
+  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.LayersPacket.Layer.Matrix)
 }
 
 int LayersPacket_Layer_Matrix::ByteSize() const {
   int total_size = 0;
-  
+
   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     // optional bool is2D = 1;
     if (has_is2d()) {
       total_size += 1 + 1;
     }
-    
+
     // optional bool isId = 2;
     if (has_isid()) {
       total_size += 1 + 1;
     }
-    
+
   }
   // repeated float m = 3;
   {
     int data_size = 0;
     data_size = 4 * this->m_size();
     total_size += 1 * this->m_size() + data_size;
   }
-  
+
+  total_size += unknown_fields().size();
+
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = total_size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void LayersPacket_Layer_Matrix::CheckTypeAndMergeFrom(
     const ::google::protobuf::MessageLite& from) {
@@ -1829,35 +2113,37 @@ void LayersPacket_Layer_Matrix::MergeFro
   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     if (from.has_is2d()) {
       set_is2d(from.is2d());
     }
     if (from.has_isid()) {
       set_isid(from.isid());
     }
   }
+  mutable_unknown_fields()->append(from.unknown_fields());
 }
 
 void LayersPacket_Layer_Matrix::CopyFrom(const LayersPacket_Layer_Matrix& from) {
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool LayersPacket_Layer_Matrix::IsInitialized() const {
-  
+
   return true;
 }
 
 void LayersPacket_Layer_Matrix::Swap(LayersPacket_Layer_Matrix* other) {
   if (other != this) {
     std::swap(is2d_, other->is2d_);
     std::swap(isid_, other->isid_);
     m_.Swap(&other->m_);
     std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.swap(other->_unknown_fields_);
     std::swap(_cached_size_, other->_cached_size_);
   }
 }
 
 ::std::string LayersPacket_Layer_Matrix::GetTypeName() const {
   return "mozilla.layers.layerscope.LayersPacket.Layer.Matrix";
 }
 
@@ -1868,190 +2154,236 @@ void LayersPacket_Layer_Matrix::Swap(Lay
 const int LayersPacket_Layer_Shadow::kClipFieldNumber;
 const int LayersPacket_Layer_Shadow::kTransformFieldNumber;
 const int LayersPacket_Layer_Shadow::kVRegionFieldNumber;
 #endif  // !_MSC_VER
 
 LayersPacket_Layer_Shadow::LayersPacket_Layer_Shadow()
   : ::google::protobuf::MessageLite() {
   SharedCtor();
+  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.LayersPacket.Layer.Shadow)
 }
 
 void LayersPacket_Layer_Shadow::InitAsDefaultInstance() {
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  clip_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Rect*>(
+      ::mozilla::layers::layerscope::LayersPacket_Layer_Rect::internal_default_instance());
+#else
   clip_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Rect*>(&::mozilla::layers::layerscope::LayersPacket_Layer_Rect::default_instance());
+#endif
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  transform_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix*>(
+      ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix::internal_default_instance());
+#else
   transform_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix*>(&::mozilla::layers::layerscope::LayersPacket_Layer_Matrix::default_instance());
+#endif
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  vregion_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(
+      ::mozilla::layers::layerscope::LayersPacket_Layer_Region::internal_default_instance());
+#else
   vregion_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(&::mozilla::layers::layerscope::LayersPacket_Layer_Region::default_instance());
+#endif
 }
 
 LayersPacket_Layer_Shadow::LayersPacket_Layer_Shadow(const LayersPacket_Layer_Shadow& from)
   : ::google::protobuf::MessageLite() {
   SharedCtor();
   MergeFrom(from);
+  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.LayersPacket.Layer.Shadow)
 }
 
 void LayersPacket_Layer_Shadow::SharedCtor() {
   _cached_size_ = 0;
   clip_ = NULL;
   transform_ = NULL;
   vregion_ = NULL;
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 LayersPacket_Layer_Shadow::~LayersPacket_Layer_Shadow() {
+  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.LayersPacket.Layer.Shadow)
   SharedDtor();
 }
 
 void LayersPacket_Layer_Shadow::SharedDtor() {
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  if (this != &default_instance()) {
+  #else
   if (this != default_instance_) {
+  #endif
     delete clip_;
     delete transform_;
     delete vregion_;
   }
 }
 
 void LayersPacket_Layer_Shadow::SetCachedSize(int size) const {
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const LayersPacket_Layer_Shadow& LayersPacket_Layer_Shadow::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  return *default_instance_;
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  protobuf_AddDesc_LayerScopePacket_2eproto();
+#else
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
+#endif
+  return *default_instance_;
 }
 
 LayersPacket_Layer_Shadow* LayersPacket_Layer_Shadow::default_instance_ = NULL;
 
 LayersPacket_Layer_Shadow* LayersPacket_Layer_Shadow::New() const {
   return new LayersPacket_Layer_Shadow;
 }
 
 void LayersPacket_Layer_Shadow::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+  if (_has_bits_[0 / 32] & 7) {
     if (has_clip()) {
       if (clip_ != NULL) clip_->::mozilla::layers::layerscope::LayersPacket_Layer_Rect::Clear();
     }
     if (has_transform()) {
       if (transform_ != NULL) transform_->::mozilla::layers::layerscope::LayersPacket_Layer_Matrix::Clear();
     }
     if (has_vregion()) {
       if (vregion_ != NULL) vregion_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
     }
   }
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->clear();
 }
 
 bool LayersPacket_Layer_Shadow::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
+  ::google::protobuf::io::StringOutputStream unknown_fields_string(
+      mutable_unknown_fields());
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string);
+  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.LayersPacket.Layer.Shadow)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Rect clip = 1;
       case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+        if (tag == 10) {
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_clip()));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(18)) goto parse_transform;
         break;
       }
-      
+
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Matrix transform = 2;
       case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+        if (tag == 18) {
          parse_transform:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_transform()));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(26)) goto parse_vRegion;
         break;
       }
-      
+
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vRegion = 3;
       case 3: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+        if (tag == 26) {
          parse_vRegion:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_vregion()));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
-        if (input->ExpectAtEnd()) return true;
+        if (input->ExpectAtEnd()) goto success;
         break;
       }
-      
+
       default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_unusual:
+        if (tag == 0 ||
+            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
+          goto success;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
         break;
       }
     }
   }
+success:
+  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.LayersPacket.Layer.Shadow)
   return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.LayersPacket.Layer.Shadow)
+  return false;
 #undef DO_
 }
 
 void LayersPacket_Layer_Shadow::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.LayersPacket.Layer.Shadow)
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Rect clip = 1;
   if (has_clip()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       1, this->clip(), output);
   }
-  
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Matrix transform = 2;
   if (has_transform()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       2, this->transform(), output);
   }
-  
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vRegion = 3;
   if (has_vregion()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       3, this->vregion(), output);
   }
-  
+
+  output->WriteRaw(unknown_fields().data(),
+                   unknown_fields().size());
+  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.LayersPacket.Layer.Shadow)
 }
 
 int LayersPacket_Layer_Shadow::ByteSize() const {
   int total_size = 0;
-  
+
   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     // optional .mozilla.layers.layerscope.LayersPacket.Layer.Rect clip = 1;
     if (has_clip()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           this->clip());
     }
-    
+
     // optional .mozilla.layers.layerscope.LayersPacket.Layer.Matrix transform = 2;
     if (has_transform()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           this->transform());
     }
-    
+
     // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vRegion = 3;
     if (has_vregion()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           this->vregion());
     }
-    
+
   }
+  total_size += unknown_fields().size();
+
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = total_size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void LayersPacket_Layer_Shadow::CheckTypeAndMergeFrom(
     const ::google::protobuf::MessageLite& from) {
@@ -2066,35 +2398,37 @@ void LayersPacket_Layer_Shadow::MergeFro
     }
     if (from.has_transform()) {
       mutable_transform()->::mozilla::layers::layerscope::LayersPacket_Layer_Matrix::MergeFrom(from.transform());
     }
     if (from.has_vregion()) {
       mutable_vregion()->::mozilla::layers::layerscope::LayersPacket_Layer_Region::MergeFrom(from.vregion());
     }
   }
+  mutable_unknown_fields()->append(from.unknown_fields());
 }
 
 void LayersPacket_Layer_Shadow::CopyFrom(const LayersPacket_Layer_Shadow& from) {
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool LayersPacket_Layer_Shadow::IsInitialized() const {
-  
+
   return true;
 }
 
 void LayersPacket_Layer_Shadow::Swap(LayersPacket_Layer_Shadow* other) {
   if (other != this) {
     std::swap(clip_, other->clip_);
     std::swap(transform_, other->transform_);
     std::swap(vregion_, other->vregion_);
     std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.swap(other->_unknown_fields_);
     std::swap(_cached_size_, other->_cached_size_);
   }
 }
 
 ::std::string LayersPacket_Layer_Shadow::GetTypeName() const {
   return "mozilla.layers.layerscope.LayersPacket.Layer.Shadow";
 }
 
@@ -2125,36 +2459,93 @@ const int LayersPacket_Layer::kColorFiel
 const int LayersPacket_Layer::kFilterFieldNumber;
 const int LayersPacket_Layer::kRefIDFieldNumber;
 const int LayersPacket_Layer::kSizeFieldNumber;
 #endif  // !_MSC_VER
 
 LayersPacket_Layer::LayersPacket_Layer()
   : ::google::protobuf::MessageLite() {
   SharedCtor();
+  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.LayersPacket.Layer)
 }
 
 void LayersPacket_Layer::InitAsDefaultInstance() {
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  clip_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Rect*>(
+      ::mozilla::layers::layerscope::LayersPacket_Layer_Rect::internal_default_instance());
+#else
   clip_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Rect*>(&::mozilla::layers::layerscope::LayersPacket_Layer_Rect::default_instance());
+#endif
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  transform_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix*>(
+      ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix::internal_default_instance());
+#else
   transform_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix*>(&::mozilla::layers::layerscope::LayersPacket_Layer_Matrix::default_instance());
+#endif
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  vregion_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(
+      ::mozilla::layers::layerscope::LayersPacket_Layer_Region::internal_default_instance());
+#else
   vregion_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(&::mozilla::layers::layerscope::LayersPacket_Layer_Region::default_instance());
+#endif
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  shadow_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow*>(
+      ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow::internal_default_instance());
+#else
   shadow_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow*>(&::mozilla::layers::layerscope::LayersPacket_Layer_Shadow::default_instance());
+#endif
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  hitregion_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(
+      ::mozilla::layers::layerscope::LayersPacket_Layer_Region::internal_default_instance());
+#else
   hitregion_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(&::mozilla::layers::layerscope::LayersPacket_Layer_Region::default_instance());
+#endif
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  dispatchregion_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(
+      ::mozilla::layers::layerscope::LayersPacket_Layer_Region::internal_default_instance());
+#else
   dispatchregion_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(&::mozilla::layers::layerscope::LayersPacket_Layer_Region::default_instance());
+#endif
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  noactionregion_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(
+      ::mozilla::layers::layerscope::LayersPacket_Layer_Region::internal_default_instance());
+#else
   noactionregion_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(&::mozilla::layers::layerscope::LayersPacket_Layer_Region::default_instance());
+#endif
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  hpanregion_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(
+      ::mozilla::layers::layerscope::LayersPacket_Layer_Region::internal_default_instance());
+#else
   hpanregion_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(&::mozilla::layers::layerscope::LayersPacket_Layer_Region::default_instance());
+#endif
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  vpanregion_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(
+      ::mozilla::layers::layerscope::LayersPacket_Layer_Region::internal_default_instance());
+#else
   vpanregion_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(&::mozilla::layers::layerscope::LayersPacket_Layer_Region::default_instance());
+#endif
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  valid_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(
+      ::mozilla::layers::layerscope::LayersPacket_Layer_Region::internal_default_instance());
+#else
   valid_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Region*>(&::mozilla::layers::layerscope::LayersPacket_Layer_Region::default_instance());
+#endif
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  size_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Size*>(
+      ::mozilla::layers::layerscope::LayersPacket_Layer_Size::internal_default_instance());
+#else
   size_ = const_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Size*>(&::mozilla::layers::layerscope::LayersPacket_Layer_Size::default_instance());
+#endif
 }
 
 LayersPacket_Layer::LayersPacket_Layer(const LayersPacket_Layer& from)
   : ::google::protobuf::MessageLite() {
   SharedCtor();
   MergeFrom(from);
+  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.LayersPacket.Layer)
 }
 
 void LayersPacket_Layer::SharedCtor() {
   _cached_size_ = 0;
   type_ = 0;
   ptr_ = GOOGLE_ULONGLONG(0);
   parentptr_ = GOOGLE_ULONGLONG(0);
   clip_ = NULL;
@@ -2176,21 +2567,26 @@ void LayersPacket_Layer::SharedCtor() {
   color_ = 0u;
   filter_ = 0;
   refid_ = GOOGLE_ULONGLONG(0);
   size_ = NULL;
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 LayersPacket_Layer::~LayersPacket_Layer() {
+  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.LayersPacket.Layer)
   SharedDtor();
 }
 
 void LayersPacket_Layer::SharedDtor() {
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  if (this != &default_instance()) {
+  #else
   if (this != default_instance_) {
+  #endif
     delete clip_;
     delete transform_;
     delete vregion_;
     delete shadow_;
     delete hitregion_;
     delete dispatchregion_;
     delete noactionregion_;
     delete hpanregion_;
@@ -2201,749 +2597,770 @@ void LayersPacket_Layer::SharedDtor() {
 }
 
 void LayersPacket_Layer::SetCachedSize(int size) const {
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const LayersPacket_Layer& LayersPacket_Layer::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  return *default_instance_;
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  protobuf_AddDesc_LayerScopePacket_2eproto();
+#else
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
+#endif
+  return *default_instance_;
 }
 
 LayersPacket_Layer* LayersPacket_Layer::default_instance_ = NULL;
 
 LayersPacket_Layer* LayersPacket_Layer::New() const {
   return new LayersPacket_Layer;
 }
 
 void LayersPacket_Layer::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    type_ = 0;
-    ptr_ = GOOGLE_ULONGLONG(0);
-    parentptr_ = GOOGLE_ULONGLONG(0);
+#define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
+  &reinterpret_cast<LayersPacket_Layer*>(16)->f) - \
+   reinterpret_cast<char*>(16))
+
+#define ZR_(first, last) do {                              \
+    size_t f = OFFSET_OF_FIELD_(first);                    \
+    size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
+    ::memset(&first, 0, n);                                \
+  } while (0)
+
+  if (_has_bits_[0 / 32] & 255) {
+    ZR_(ptr_, parentptr_);
+    ZR_(type_, opacity_);
     if (has_clip()) {
       if (clip_ != NULL) clip_->::mozilla::layers::layerscope::LayersPacket_Layer_Rect::Clear();
     }
     if (has_transform()) {
       if (transform_ != NULL) transform_->::mozilla::layers::layerscope::LayersPacket_Layer_Matrix::Clear();
     }
     if (has_vregion()) {
       if (vregion_ != NULL) vregion_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
     }
     if (has_shadow()) {
       if (shadow_ != NULL) shadow_->::mozilla::layers::layerscope::LayersPacket_Layer_Shadow::Clear();
     }
-    opacity_ = 0;
   }
-  if (_has_bits_[8 / 32] & (0xffu << (8 % 32))) {
-    copaque_ = false;
-    calpha_ = false;
+  if (_has_bits_[8 / 32] & 65280) {
+    ZR_(copaque_, calpha_);
+    ZR_(barid_, mask_);
     direct_ = 1;
-    barid_ = GOOGLE_ULONGLONG(0);
-    mask_ = GOOGLE_ULONGLONG(0);
     if (has_hitregion()) {
       if (hitregion_ != NULL) hitregion_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
     }
     if (has_dispatchregion()) {
       if (dispatchregion_ != NULL) dispatchregion_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
     }
     if (has_noactionregion()) {
       if (noactionregion_ != NULL) noactionregion_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
     }
   }
-  if (_has_bits_[16 / 32] & (0xffu << (16 % 32))) {
+  if (_has_bits_[16 / 32] & 8323072) {
+    ZR_(color_, refid_);
     if (has_hpanregion()) {
       if (hpanregion_ != NULL) hpanregion_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
     }
     if (has_vpanregion()) {
       if (vpanregion_ != NULL) vpanregion_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
     }
     if (has_valid()) {
       if (valid_ != NULL) valid_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
     }
-    color_ = 0u;
-    filter_ = 0;
-    refid_ = GOOGLE_ULONGLONG(0);
     if (has_size()) {
       if (size_ != NULL) size_->::mozilla::layers::layerscope::LayersPacket_Layer_Size::Clear();
     }
   }
+
+#undef OFFSET_OF_FIELD_
+#undef ZR_
+
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->clear();
 }
 
 bool LayersPacket_Layer::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
+  ::google::protobuf::io::StringOutputStream unknown_fields_string(
+      mutable_unknown_fields());
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string);
+  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.LayersPacket.Layer)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // required .mozilla.layers.layerscope.LayersPacket.Layer.LayerType type = 1;
       case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 8) {
           int value;
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                  input, &value)));
           if (::mozilla::layers::layerscope::LayersPacket_Layer_LayerType_IsValid(value)) {
             set_type(static_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_LayerType >(value));
+          } else {
+            unknown_fields_stream.WriteVarint32(tag);
+            unknown_fields_stream.WriteVarint32(value);
           }
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(16)) goto parse_ptr;
         break;
       }
-      
+
       // required uint64 ptr = 2;
       case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 16) {
          parse_ptr:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
                  input, &ptr_)));
           set_has_ptr();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(24)) goto parse_parentPtr;
         break;
       }
-      
+
       // required uint64 parentPtr = 3;
       case 3: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 24) {
          parse_parentPtr:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
                  input, &parentptr_)));
           set_has_parentptr();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(82)) goto parse_clip;
         break;
       }
-      
+
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Rect clip = 10;
       case 10: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+        if (tag == 82) {
          parse_clip:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_clip()));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(90)) goto parse_transform;
         break;
       }
-      
+
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Matrix transform = 11;
       case 11: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+        if (tag == 90) {
          parse_transform:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_transform()));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(98)) goto parse_vRegion;
         break;
       }
-      
+
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vRegion = 12;
       case 12: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+        if (tag == 98) {
          parse_vRegion:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_vregion()));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(106)) goto parse_shadow;
         break;
       }
-      
+
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Shadow shadow = 13;
       case 13: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+        if (tag == 106) {
          parse_shadow:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_shadow()));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(117)) goto parse_opacity;
         break;
       }
-      
+
       // optional float opacity = 14;
       case 14: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_FIXED32) {
+        if (tag == 117) {
          parse_opacity:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                  input, &opacity_)));
           set_has_opacity();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(120)) goto parse_cOpaque;
         break;
       }
-      
+
       // optional bool cOpaque = 15;
       case 15: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 120) {
          parse_cOpaque:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                  input, &copaque_)));
           set_has_copaque();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(128)) goto parse_cAlpha;
         break;
       }
-      
+
       // optional bool cAlpha = 16;
       case 16: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 128) {
          parse_cAlpha:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                  input, &calpha_)));
           set_has_calpha();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(136)) goto parse_direct;
         break;
       }
-      
+
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.ScrollingDirect direct = 17;
       case 17: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 136) {
          parse_direct:
           int value;
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                  input, &value)));
           if (::mozilla::layers::layerscope::LayersPacket_Layer_ScrollingDirect_IsValid(value)) {
             set_direct(static_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_ScrollingDirect >(value));
+          } else {
+            unknown_fields_stream.WriteVarint32(tag);
+            unknown_fields_stream.WriteVarint32(value);
           }
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(144)) goto parse_barID;
         break;
       }
-      
+
       // optional uint64 barID = 18;
       case 18: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 144) {
          parse_barID:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
                  input, &barid_)));
           set_has_barid();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(152)) goto parse_mask;
         break;
       }
-      
+
       // optional uint64 mask = 19;
       case 19: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 152) {
          parse_mask:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
                  input, &mask_)));
           set_has_mask();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(162)) goto parse_hitRegion;
         break;
       }
-      
+
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region hitRegion = 20;
       case 20: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+        if (tag == 162) {
          parse_hitRegion:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_hitregion()));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(170)) goto parse_dispatchRegion;
         break;
       }
-      
+
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region dispatchRegion = 21;
       case 21: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+        if (tag == 170) {
          parse_dispatchRegion:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_dispatchregion()));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(178)) goto parse_noActionRegion;
         break;
       }
-      
+
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region noActionRegion = 22;
       case 22: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+        if (tag == 178) {
          parse_noActionRegion:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_noactionregion()));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(186)) goto parse_hPanRegion;
         break;
       }
-      
+
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region hPanRegion = 23;
       case 23: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+        if (tag == 186) {
          parse_hPanRegion:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_hpanregion()));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(194)) goto parse_vPanRegion;
         break;
       }
-      
+
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vPanRegion = 24;
       case 24: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+        if (tag == 194) {
          parse_vPanRegion:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_vpanregion()));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(802)) goto parse_valid;
         break;
       }
-      
+
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region valid = 100;
       case 100: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+        if (tag == 802) {
          parse_valid:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_valid()));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(808)) goto parse_color;
         break;
       }
-      
+
       // optional uint32 color = 101;
       case 101: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 808) {
          parse_color:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                  input, &color_)));
           set_has_color();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(816)) goto parse_filter;
         break;
       }
-      
+
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Filter filter = 102;
       case 102: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 816) {
          parse_filter:
           int value;
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                  input, &value)));
           if (::mozilla::layers::layerscope::LayersPacket_Layer_Filter_IsValid(value)) {
             set_filter(static_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Filter >(value));
+          } else {
+            unknown_fields_stream.WriteVarint32(tag);
+            unknown_fields_stream.WriteVarint32(value);
           }
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(824)) goto parse_refID;
         break;
       }
-      
+
       // optional uint64 refID = 103;
       case 103: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 824) {
          parse_refID:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
                  input, &refid_)));
           set_has_refid();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(834)) goto parse_size;
         break;
       }
-      
+
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Size size = 104;
       case 104: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+        if (tag == 834) {
          parse_size:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_size()));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
-        if (input->ExpectAtEnd()) return true;
+        if (input->ExpectAtEnd()) goto success;
         break;
       }
-      
+
       default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_unusual:
+        if (tag == 0 ||
+            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
+          goto success;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
         break;
       }
     }
   }
+success:
+  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.LayersPacket.Layer)
   return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.LayersPacket.Layer)
+  return false;
 #undef DO_
 }
 
 void LayersPacket_Layer::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.LayersPacket.Layer)
   // required .mozilla.layers.layerscope.LayersPacket.Layer.LayerType type = 1;
   if (has_type()) {
     ::google::protobuf::internal::WireFormatLite::WriteEnum(
       1, this->type(), output);
   }
-  
+
   // required uint64 ptr = 2;
   if (has_ptr()) {
     ::google::protobuf::internal::WireFormatLite::WriteUInt64(2, this->ptr(), output);
   }
-  
+
   // required uint64 parentPtr = 3;
   if (has_parentptr()) {
     ::google::protobuf::internal::WireFormatLite::WriteUInt64(3, this->parentptr(), output);
   }
-  
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Rect clip = 10;
   if (has_clip()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       10, this->clip(), output);
   }
-  
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Matrix transform = 11;
   if (has_transform()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       11, this->transform(), output);
   }
-  
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vRegion = 12;
   if (has_vregion()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       12, this->vregion(), output);
   }
-  
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Shadow shadow = 13;
   if (has_shadow()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       13, this->shadow(), output);
   }
-  
+
   // optional float opacity = 14;
   if (has_opacity()) {
     ::google::protobuf::internal::WireFormatLite::WriteFloat(14, this->opacity(), output);
   }
-  
+
   // optional bool cOpaque = 15;
   if (has_copaque()) {
     ::google::protobuf::internal::WireFormatLite::WriteBool(15, this->copaque(), output);
   }
-  
+
   // optional bool cAlpha = 16;
   if (has_calpha()) {
     ::google::protobuf::internal::WireFormatLite::WriteBool(16, this->calpha(), output);
   }
-  
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.ScrollingDirect direct = 17;
   if (has_direct()) {
     ::google::protobuf::internal::WireFormatLite::WriteEnum(
       17, this->direct(), output);
   }
-  
+
   // optional uint64 barID = 18;
   if (has_barid()) {
     ::google::protobuf::internal::WireFormatLite::WriteUInt64(18, this->barid(), output);
   }
-  
+
   // optional uint64 mask = 19;
   if (has_mask()) {
     ::google::protobuf::internal::WireFormatLite::WriteUInt64(19, this->mask(), output);
   }
-  
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region hitRegion = 20;
   if (has_hitregion()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       20, this->hitregion(), output);
   }
-  
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region dispatchRegion = 21;
   if (has_dispatchregion()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       21, this->dispatchregion(), output);
   }
-  
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region noActionRegion = 22;
   if (has_noactionregion()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       22, this->noactionregion(), output);
   }
-  
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region hPanRegion = 23;
   if (has_hpanregion()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       23, this->hpanregion(), output);
   }
-  
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vPanRegion = 24;
   if (has_vpanregion()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       24, this->vpanregion(), output);
   }
-  
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region valid = 100;
   if (has_valid()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       100, this->valid(), output);
   }
-  
+
   // optional uint32 color = 101;
   if (has_color()) {
     ::google::protobuf::internal::WireFormatLite::WriteUInt32(101, this->color(), output);
   }
-  
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Filter filter = 102;
   if (has_filter()) {
     ::google::protobuf::internal::WireFormatLite::WriteEnum(
       102, this->filter(), output);
   }
-  
+
   // optional uint64 refID = 103;
   if (has_refid()) {
     ::google::protobuf::internal::WireFormatLite::WriteUInt64(103, this->refid(), output);
   }
-  
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Size size = 104;
   if (has_size()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       104, this->size(), output);
   }
-  
+
+  output->WriteRaw(unknown_fields().data(),
+                   unknown_fields().size());
+  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.LayersPacket.Layer)
 }
 
 int LayersPacket_Layer::ByteSize() const {
   int total_size = 0;
-  
+
   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     // required .mozilla.layers.layerscope.LayersPacket.Layer.LayerType type = 1;
     if (has_type()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
     }
-    
+
     // required uint64 ptr = 2;
     if (has_ptr()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::UInt64Size(
           this->ptr());
     }
-    
+
     // required uint64 parentPtr = 3;
     if (has_parentptr()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::UInt64Size(
           this->parentptr());
     }
-    
+
     // optional .mozilla.layers.layerscope.LayersPacket.Layer.Rect clip = 10;
     if (has_clip()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           this->clip());
     }
-    
+
     // optional .mozilla.layers.layerscope.LayersPacket.Layer.Matrix transform = 11;
     if (has_transform()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           this->transform());
     }
-    
+
     // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vRegion = 12;
     if (has_vregion()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           this->vregion());
     }
-    
+
     // optional .mozilla.layers.layerscope.LayersPacket.Layer.Shadow shadow = 13;
     if (has_shadow()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           this->shadow());
     }
-    
+
     // optional float opacity = 14;
     if (has_opacity()) {
       total_size += 1 + 4;
     }
-    
+
   }
   if (_has_bits_[8 / 32] & (0xffu << (8 % 32))) {
     // optional bool cOpaque = 15;
     if (has_copaque()) {
       total_size += 1 + 1;
     }
-    
+
     // optional bool cAlpha = 16;
     if (has_calpha()) {
       total_size += 2 + 1;
     }
-    
+
     // optional .mozilla.layers.layerscope.LayersPacket.Layer.ScrollingDirect direct = 17;
     if (has_direct()) {
       total_size += 2 +
         ::google::protobuf::internal::WireFormatLite::EnumSize(this->direct());
     }
-    
+
     // optional uint64 barID = 18;
     if (has_barid()) {
       total_size += 2 +
         ::google::protobuf::internal::WireFormatLite::UInt64Size(
           this->barid());
     }
-    
+
     // optional uint64 mask = 19;
     if (has_mask()) {
       total_size += 2 +
         ::google::protobuf::internal::WireFormatLite::UInt64Size(
           this->mask());
     }
-    
+
     // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region hitRegion = 20;
     if (has_hitregion()) {
       total_size += 2 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           this->hitregion());
     }
-    
+
     // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region dispatchRegion = 21;
     if (has_dispatchregion()) {
       total_size += 2 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           this->dispatchregion());
     }
-    
+
     // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region noActionRegion = 22;
     if (has_noactionregion()) {
       total_size += 2 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           this->noactionregion());
     }
-    
+
   }
   if (_has_bits_[16 / 32] & (0xffu << (16 % 32))) {
     // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region hPanRegion = 23;
     if (has_hpanregion()) {
       total_size += 2 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           this->hpanregion());
     }
-    
+
     // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vPanRegion = 24;
     if (has_vpanregion()) {
       total_size += 2 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           this->vpanregion());
     }
-    
+
     // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region valid = 100;
     if (has_valid()) {
       total_size += 2 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           this->valid());
     }
-    
+
     // optional uint32 color = 101;
     if (has_color()) {
       total_size += 2 +
         ::google::protobuf::internal::WireFormatLite::UInt32Size(
           this->color());
     }
-    
+
     // optional .mozilla.layers.layerscope.LayersPacket.Layer.Filter filter = 102;
     if (has_filter()) {
       total_size += 2 +
         ::google::protobuf::internal::WireFormatLite::EnumSize(this->filter());
     }
-    
+
     // optional uint64 refID = 103;
     if (has_refid()) {
       total_size += 2 +
         ::google::protobuf::internal::WireFormatLite::UInt64Size(
           this->refid());
     }
-    
+
     // optional .mozilla.layers.layerscope.LayersPacket.Layer.Size size = 104;
     if (has_size()) {
       total_size += 2 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           this->size());
     }
-    
+
   }
+  total_size += unknown_fields().size();
+
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = total_size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void LayersPacket_Layer::CheckTypeAndMergeFrom(
     const ::google::protobuf::MessageLite& from) {
@@ -3022,27 +3439,28 @@ void LayersPacket_Layer::MergeFrom(const
     }
     if (from.has_refid()) {
       set_refid(from.refid());
     }
     if (from.has_size()) {
       mutable_size()->::mozilla::layers::layerscope::LayersPacket_Layer_Size::MergeFrom(from.size());
     }
   }
+  mutable_unknown_fields()->append(from.unknown_fields());
 }
 
 void LayersPacket_Layer::CopyFrom(const LayersPacket_Layer& from) {
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool LayersPacket_Layer::IsInitialized() const {
   if ((_has_bits_[0] & 0x00000007) != 0x00000007) return false;
-  
+
   return true;
 }
 
 void LayersPacket_Layer::Swap(LayersPacket_Layer* other) {
   if (other != this) {
     std::swap(type_, other->type_);
     std::swap(ptr_, other->ptr_);
     std::swap(parentptr_, other->parentptr_);
@@ -3062,16 +3480,17 @@ void LayersPacket_Layer::Swap(LayersPack
     std::swap(hpanregion_, other->hpanregion_);
     std::swap(vpanregion_, other->vpanregion_);
     std::swap(valid_, other->valid_);
     std::swap(color_, other->color_);
     std::swap(filter_, other->filter_);
     std::swap(refid_, other->refid_);
     std::swap(size_, other->size_);
     std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.swap(other->_unknown_fields_);
     std::swap(_cached_size_, other->_cached_size_);
   }
 }
 
 ::std::string LayersPacket_Layer::GetTypeName() const {
   return "mozilla.layers.layerscope.LayersPacket.Layer";
 }
 
@@ -3080,152 +3499,185 @@ void LayersPacket_Layer::Swap(LayersPack
 
 #ifndef _MSC_VER
 const int LayersPacket::kLayerFieldNumber;
 #endif  // !_MSC_VER
 
 LayersPacket::LayersPacket()
   : ::google::protobuf::MessageLite() {
   SharedCtor();
+  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.LayersPacket)
 }
 
 void LayersPacket::InitAsDefaultInstance() {
 }
 
 LayersPacket::LayersPacket(const LayersPacket& from)
   : ::google::protobuf::MessageLite() {
   SharedCtor();
   MergeFrom(from);
+  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.LayersPacket)
 }
 
 void LayersPacket::SharedCtor() {
   _cached_size_ = 0;
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 LayersPacket::~LayersPacket() {
+  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.LayersPacket)
   SharedDtor();
 }
 
 void LayersPacket::SharedDtor() {
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  if (this != &default_instance()) {
+  #else
   if (this != default_instance_) {
+  #endif
   }
 }
 
 void LayersPacket::SetCachedSize(int size) const {
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const LayersPacket& LayersPacket::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  return *default_instance_;
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  protobuf_AddDesc_LayerScopePacket_2eproto();
+#else
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
+#endif
+  return *default_instance_;
 }
 
 LayersPacket* LayersPacket::default_instance_ = NULL;
 
 LayersPacket* LayersPacket::New() const {
   return new LayersPacket;
 }
 
 void LayersPacket::Clear() {
   layer_.Clear();
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->clear();
 }
 
 bool LayersPacket::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
+  ::google::protobuf::io::StringOutputStream unknown_fields_string(
+      mutable_unknown_fields());
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string);
+  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.LayersPacket)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // repeated .mozilla.layers.layerscope.LayersPacket.Layer layer = 1;
       case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+        if (tag == 10) {
          parse_layer:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                 input, add_layer()));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(10)) goto parse_layer;
-        if (input->ExpectAtEnd()) return true;
+        if (input->ExpectAtEnd()) goto success;
         break;
       }
-      
+
       default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_unusual:
+        if (tag == 0 ||
+            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
+          goto success;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
         break;
       }
     }
   }
+success:
+  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.LayersPacket)
   return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.LayersPacket)
+  return false;
 #undef DO_
 }
 
 void LayersPacket::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.LayersPacket)
   // repeated .mozilla.layers.layerscope.LayersPacket.Layer layer = 1;
   for (int i = 0; i < this->layer_size(); i++) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       1, this->layer(i), output);
   }
-  
+
+  output->WriteRaw(unknown_fields().data(),
+                   unknown_fields().size());
+  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.LayersPacket)
 }
 
 int LayersPacket::ByteSize() const {
   int total_size = 0;
-  
+
   // repeated .mozilla.layers.layerscope.LayersPacket.Layer layer = 1;
   total_size += 1 * this->layer_size();
   for (int i = 0; i < this->layer_size(); i++) {
     total_size +=
       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
         this->layer(i));
   }
-  
+
+  total_size += unknown_fields().size();
+
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = total_size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void LayersPacket::CheckTypeAndMergeFrom(
     const ::google::protobuf::MessageLite& from) {
   MergeFrom(*::google::protobuf::down_cast<const LayersPacket*>(&from));
 }
 
 void LayersPacket::MergeFrom(const LayersPacket& from) {
   GOOGLE_CHECK_NE(&from, this);
   layer_.MergeFrom(from.layer_);
+  mutable_unknown_fields()->append(from.unknown_fields());
 }
 
 void LayersPacket::CopyFrom(const LayersPacket& from) {
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool LayersPacket::IsInitialized() const {
-  
-  for (int i = 0; i < layer_size(); i++) {
-    if (!this->layer(i).IsInitialized()) return false;
-  }
+
+  if (!::google::protobuf::internal::AllAreInitialized(this->layer())) return false;
   return true;
 }
 
 void LayersPacket::Swap(LayersPacket* other) {
   if (other != this) {
     layer_.Swap(&other->layer_);
     std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.swap(other->_unknown_fields_);
     std::swap(_cached_size_, other->_cached_size_);
   }
 }
 
 ::std::string LayersPacket::GetTypeName() const {
   return "mozilla.layers.layerscope.LayersPacket";
 }
 
@@ -3234,119 +3686,150 @@ void LayersPacket::Swap(LayersPacket* ot
 
 #ifndef _MSC_VER
 const int MetaPacket::kComposedByHwcFieldNumber;
 #endif  // !_MSC_VER
 
 MetaPacket::MetaPacket()
   : ::google::protobuf::MessageLite() {
   SharedCtor();
+  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.MetaPacket)
 }
 
 void MetaPacket::InitAsDefaultInstance() {
 }
 
 MetaPacket::MetaPacket(const MetaPacket& from)
   : ::google::protobuf::MessageLite() {
   SharedCtor();
   MergeFrom(from);
+  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.MetaPacket)
 }
 
 void MetaPacket::SharedCtor() {
   _cached_size_ = 0;
   composedbyhwc_ = false;
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 MetaPacket::~MetaPacket() {
+  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.MetaPacket)
   SharedDtor();
 }
 
 void MetaPacket::SharedDtor() {
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  if (this != &default_instance()) {
+  #else
   if (this != default_instance_) {
+  #endif
   }
 }
 
 void MetaPacket::SetCachedSize(int size) const {
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const MetaPacket& MetaPacket::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  return *default_instance_;
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  protobuf_AddDesc_LayerScopePacket_2eproto();
+#else
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
+#endif
+  return *default_instance_;
 }
 
 MetaPacket* MetaPacket::default_instance_ = NULL;
 
 MetaPacket* MetaPacket::New() const {
   return new MetaPacket;
 }
 
 void MetaPacket::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    composedbyhwc_ = false;
-  }
+  composedbyhwc_ = false;
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->clear();
 }
 
 bool MetaPacket::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
+  ::google::protobuf::io::StringOutputStream unknown_fields_string(
+      mutable_unknown_fields());
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string);
+  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.MetaPacket)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // optional bool composedByHwc = 1;
       case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 8) {
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                  input, &composedbyhwc_)));
           set_has_composedbyhwc();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
-        if (input->ExpectAtEnd()) return true;
+        if (input->ExpectAtEnd()) goto success;
         break;
       }
-      
+
       default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_unusual:
+        if (tag == 0 ||
+            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
+          goto success;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
         break;
       }
     }
   }
+success:
+  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.MetaPacket)
   return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.MetaPacket)
+  return false;
 #undef DO_
 }
 
 void MetaPacket::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.MetaPacket)
   // optional bool composedByHwc = 1;
   if (has_composedbyhwc()) {
     ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->composedbyhwc(), output);
   }
-  
+
+  output->WriteRaw(unknown_fields().data(),
+                   unknown_fields().size());
+  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.MetaPacket)
 }
 
 int MetaPacket::ByteSize() const {
   int total_size = 0;
-  
+
   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     // optional bool composedByHwc = 1;
     if (has_composedbyhwc()) {
       total_size += 1 + 1;
     }
-    
+
   }
+  total_size += unknown_fields().size();
+
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = total_size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void MetaPacket::CheckTypeAndMergeFrom(
     const ::google::protobuf::MessageLite& from) {
@@ -3355,33 +3838,35 @@ void MetaPacket::CheckTypeAndMergeFrom(
 
 void MetaPacket::MergeFrom(const MetaPacket& from) {
   GOOGLE_CHECK_NE(&from, this);
   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     if (from.has_composedbyhwc()) {
       set_composedbyhwc(from.composedbyhwc());
     }
   }
+  mutable_unknown_fields()->append(from.unknown_fields());
 }
 
 void MetaPacket::CopyFrom(const MetaPacket& from) {
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool MetaPacket::IsInitialized() const {
-  
+
   return true;
 }
 
 void MetaPacket::Swap(MetaPacket* other) {
   if (other != this) {
     std::swap(composedbyhwc_, other->composedbyhwc_);
     std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.swap(other->_unknown_fields_);
     std::swap(_cached_size_, other->_cached_size_);
   }
 }
 
 ::std::string MetaPacket::GetTypeName() const {
   return "mozilla.layers.layerscope.MetaPacket";
 }
 
@@ -3393,203 +3878,242 @@ const int DrawPacket_Rect::kXFieldNumber
 const int DrawPacket_Rect::kYFieldNumber;
 const int DrawPacket_Rect::kWFieldNumber;
 const int DrawPacket_Rect::kHFieldNumber;
 #endif  // !_MSC_VER
 
 DrawPacket_Rect::DrawPacket_Rect()
   : ::google::protobuf::MessageLite() {
   SharedCtor();
+  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.DrawPacket.Rect)
 }
 
 void DrawPacket_Rect::InitAsDefaultInstance() {
 }
 
 DrawPacket_Rect::DrawPacket_Rect(const DrawPacket_Rect& from)
   : ::google::protobuf::MessageLite() {
   SharedCtor();
   MergeFrom(from);
+  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.DrawPacket.Rect)
 }
 
 void DrawPacket_Rect::SharedCtor() {
   _cached_size_ = 0;
   x_ = 0;
   y_ = 0;
   w_ = 0;
   h_ = 0;
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 DrawPacket_Rect::~DrawPacket_Rect() {
+  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.DrawPacket.Rect)
   SharedDtor();
 }
 
 void DrawPacket_Rect::SharedDtor() {
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  if (this != &default_instance()) {
+  #else
   if (this != default_instance_) {
+  #endif
   }
 }
 
 void DrawPacket_Rect::SetCachedSize(int size) const {
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const DrawPacket_Rect& DrawPacket_Rect::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  return *default_instance_;
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  protobuf_AddDesc_LayerScopePacket_2eproto();
+#else
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
+#endif
+  return *default_instance_;
 }
 
 DrawPacket_Rect* DrawPacket_Rect::default_instance_ = NULL;
 
 DrawPacket_Rect* DrawPacket_Rect::New() const {
   return new DrawPacket_Rect;
 }
 
 void DrawPacket_Rect::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    x_ = 0;
-    y_ = 0;
-    w_ = 0;
-    h_ = 0;
-  }
+#define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
+  &reinterpret_cast<DrawPacket_Rect*>(16)->f) - \
+   reinterpret_cast<char*>(16))
+
+#define ZR_(first, last) do {                              \
+    size_t f = OFFSET_OF_FIELD_(first);                    \
+    size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
+    ::memset(&first, 0, n);                                \
+  } while (0)
+
+  ZR_(x_, h_);
+
+#undef OFFSET_OF_FIELD_
+#undef ZR_
+
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->clear();
 }
 
 bool DrawPacket_Rect::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
+  ::google::protobuf::io::StringOutputStream unknown_fields_string(
+      mutable_unknown_fields());
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string);
+  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.DrawPacket.Rect)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // required float x = 1;
       case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_FIXED32) {
+        if (tag == 13) {
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                  input, &x_)));
           set_has_x();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(21)) goto parse_y;
         break;
       }
-      
+
       // required float y = 2;
       case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_FIXED32) {
+        if (tag == 21) {
          parse_y:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                  input, &y_)));
           set_has_y();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(29)) goto parse_w;
         break;
       }
-      
+
       // required float w = 3;
       case 3: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_FIXED32) {
+        if (tag == 29) {
          parse_w:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                  input, &w_)));
           set_has_w();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(37)) goto parse_h;
         break;
       }
-      
+
       // required float h = 4;
       case 4: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_FIXED32) {
+        if (tag == 37) {
          parse_h:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                  input, &h_)));
           set_has_h();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
-        if (input->ExpectAtEnd()) return true;
+        if (input->ExpectAtEnd()) goto success;
         break;
       }
-      
+
       default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_unusual:
+        if (tag == 0 ||
+            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
+          goto success;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
         break;
       }
     }
   }
+success:
+  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.DrawPacket.Rect)
   return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.DrawPacket.Rect)
+  return false;
 #undef DO_
 }
 
 void DrawPacket_Rect::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.DrawPacket.Rect)
   // required float x = 1;
   if (has_x()) {
     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->x(), output);
   }
-  
+
   // required float y = 2;
   if (has_y()) {
     ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->y(), output);
   }
-  
+
   // required float w = 3;
   if (has_w()) {
     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->w(), output);
   }
-  
+
   // required float h = 4;
   if (has_h()) {
     ::google::protobuf::internal::WireFormatLite::WriteFloat(4, this->h(), output);
   }
-  
+
+  output->WriteRaw(unknown_fields().data(),
+                   unknown_fields().size());
+  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.DrawPacket.Rect)
 }
 
 int DrawPacket_Rect::ByteSize() const {
   int total_size = 0;
-  
+
   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     // required float x = 1;
     if (has_x()) {
       total_size += 1 + 4;
     }
-    
+
     // required float y = 2;
     if (has_y()) {
       total_size += 1 + 4;
     }
-    
+
     // required float w = 3;
     if (has_w()) {
       total_size += 1 + 4;
     }
-    
+
     // required float h = 4;
     if (has_h()) {
       total_size += 1 + 4;
     }
-    
+
   }
+  total_size += unknown_fields().size();
+
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = total_size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void DrawPacket_Rect::CheckTypeAndMergeFrom(
     const ::google::protobuf::MessageLite& from) {
@@ -3607,37 +4131,39 @@ void DrawPacket_Rect::MergeFrom(const Dr
     }
     if (from.has_w()) {
       set_w(from.w());
     }
     if (from.has_h()) {
       set_h(from.h());
     }
   }
+  mutable_unknown_fields()->append(from.unknown_fields());
 }
 
 void DrawPacket_Rect::CopyFrom(const DrawPacket_Rect& from) {
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool DrawPacket_Rect::IsInitialized() const {
   if ((_has_bits_[0] & 0x0000000f) != 0x0000000f) return false;
-  
+
   return true;
 }
 
 void DrawPacket_Rect::Swap(DrawPacket_Rect* other) {
   if (other != this) {
     std::swap(x_, other->x_);
     std::swap(y_, other->y_);
     std::swap(w_, other->w_);
     std::swap(h_, other->h_);
     std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.swap(other->_unknown_fields_);
     std::swap(_cached_size_, other->_cached_size_);
   }
 }
 
 ::std::string DrawPacket_Rect::GetTypeName() const {
   return "mozilla.layers.layerscope.DrawPacket.Rect";
 }
 
@@ -3651,273 +4177,309 @@ const int DrawPacket::kMvMatrixFieldNumb
 const int DrawPacket::kTotalRectsFieldNumber;
 const int DrawPacket::kLayerRectFieldNumber;
 const int DrawPacket::kLayerrefFieldNumber;
 #endif  // !_MSC_VER
 
 DrawPacket::DrawPacket()
   : ::google::protobuf::MessageLite() {
   SharedCtor();
+  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.DrawPacket)
 }
 
 void DrawPacket::InitAsDefaultInstance() {
 }
 
 DrawPacket::DrawPacket(const DrawPacket& from)
   : ::google::protobuf::MessageLite() {
   SharedCtor();
   MergeFrom(from);
+  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.DrawPacket)
 }
 
 void DrawPacket::SharedCtor() {
   _cached_size_ = 0;
   offsetx_ = 0;
   offsety_ = 0;
   totalrects_ = 0u;
   layerref_ = GOOGLE_ULONGLONG(0);
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 DrawPacket::~DrawPacket() {
+  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.DrawPacket)
   SharedDtor();
 }
 
 void DrawPacket::SharedDtor() {
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  if (this != &default_instance()) {
+  #else
   if (this != default_instance_) {
+  #endif
   }
 }
 
 void DrawPacket::SetCachedSize(int size) const {
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const DrawPacket& DrawPacket::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  return *default_instance_;
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  protobuf_AddDesc_LayerScopePacket_2eproto();
+#else
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
+#endif
+  return *default_instance_;
 }
 
 DrawPacket* DrawPacket::default_instance_ = NULL;
 
 DrawPacket* DrawPacket::New() const {
   return new DrawPacket;
 }
 
 void DrawPacket::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    offsetx_ = 0;
-    offsety_ = 0;
-    totalrects_ = 0u;
-    layerref_ = GOOGLE_ULONGLONG(0);
-  }
+#define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
+  &reinterpret_cast<DrawPacket*>(16)->f) - \
+   reinterpret_cast<char*>(16))
+
+#define ZR_(first, last) do {                              \
+    size_t f = OFFSET_OF_FIELD_(first);                    \
+    size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
+    ::memset(&first, 0, n);                                \
+  } while (0)
+
+  ZR_(offsetx_, offsety_);
+  ZR_(layerref_, totalrects_);
+
+#undef OFFSET_OF_FIELD_
+#undef ZR_
+
   mvmatrix_.Clear();
   layerrect_.Clear();
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->clear();
 }
 
 bool DrawPacket::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
+  ::google::protobuf::io::StringOutputStream unknown_fields_string(
+      mutable_unknown_fields());
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string);
+  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.DrawPacket)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // required float offsetX = 1;
       case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_FIXED32) {
+        if (tag == 13) {
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                  input, &offsetx_)));
           set_has_offsetx();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(21)) goto parse_offsetY;
         break;
       }
-      
+
       // required float offsetY = 2;
       case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_FIXED32) {
+        if (tag == 21) {
          parse_offsetY:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                  input, &offsety_)));
           set_has_offsety();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(29)) goto parse_mvMatrix;
         break;
       }
-      
+
       // repeated float mvMatrix = 3;
       case 3: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_FIXED32) {
+        if (tag == 29) {
          parse_mvMatrix:
           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                  1, 29, input, this->mutable_mvmatrix())));
-        } else if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag)
-                   == ::google::protobuf::internal::WireFormatLite::
-                      WIRETYPE_LENGTH_DELIMITED) {
+        } else if (tag == 26) {
           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                  input, this->mutable_mvmatrix())));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(29)) goto parse_mvMatrix;
         if (input->ExpectTag(32)) goto parse_totalRects;
         break;
       }
-      
+
       // required uint32 totalRects = 4;
       case 4: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 32) {
          parse_totalRects:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                  input, &totalrects_)));
           set_has_totalrects();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(42)) goto parse_layerRect;
         break;
       }
-      
+
       // repeated .mozilla.layers.layerscope.DrawPacket.Rect layerRect = 5;
       case 5: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+        if (tag == 42) {
          parse_layerRect:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                 input, add_layerrect()));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(42)) goto parse_layerRect;
         if (input->ExpectTag(48)) goto parse_layerref;
         break;
       }
-      
+
       // required uint64 layerref = 6;
       case 6: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 48) {
          parse_layerref:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
                  input, &layerref_)));
           set_has_layerref();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
-        if (input->ExpectAtEnd()) return true;
+        if (input->ExpectAtEnd()) goto success;
         break;
       }
-      
+
       default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_unusual:
+        if (tag == 0 ||
+            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
+          goto success;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
         break;
       }
     }
   }
+success:
+  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.DrawPacket)
   return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.DrawPacket)
+  return false;
 #undef DO_
 }
 
 void DrawPacket::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.DrawPacket)
   // required float offsetX = 1;
   if (has_offsetx()) {
     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->offsetx(), output);
   }
-  
+
   // required float offsetY = 2;
   if (has_offsety()) {
     ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->offsety(), output);
   }
-  
+
   // repeated float mvMatrix = 3;
   for (int i = 0; i < this->mvmatrix_size(); i++) {
     ::google::protobuf::internal::WireFormatLite::WriteFloat(
       3, this->mvmatrix(i), output);
   }
-  
+
   // required uint32 totalRects = 4;
   if (has_totalrects()) {
     ::google::protobuf::internal::WireFormatLite::WriteUInt32(4, this->totalrects(), output);
   }
-  
+
   // repeated .mozilla.layers.layerscope.DrawPacket.Rect layerRect = 5;
   for (int i = 0; i < this->layerrect_size(); i++) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       5, this->layerrect(i), output);
   }
-  
+
   // required uint64 layerref = 6;
   if (has_layerref()) {
     ::google::protobuf::internal::WireFormatLite::WriteUInt64(6, this->layerref(), output);
   }
-  
+
+  output->WriteRaw(unknown_fields().data(),
+                   unknown_fields().size());
+  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.DrawPacket)
 }
 
 int DrawPacket::ByteSize() const {
   int total_size = 0;
-  
+
   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     // required float offsetX = 1;
     if (has_offsetx()) {
       total_size += 1 + 4;
     }
-    
+
     // required float offsetY = 2;
     if (has_offsety()) {
       total_size += 1 + 4;
     }
-    
+
     // required uint32 totalRects = 4;
     if (has_totalrects()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::UInt32Size(
           this->totalrects());
     }
-    
+
     // required uint64 layerref = 6;
     if (has_layerref()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::UInt64Size(
           this->layerref());
     }
-    
+
   }
   // repeated float mvMatrix = 3;
   {
     int data_size = 0;
     data_size = 4 * this->mvmatrix_size();
     total_size += 1 * this->mvmatrix_size() + data_size;
   }
-  
+
   // repeated .mozilla.layers.layerscope.DrawPacket.Rect layerRect = 5;
   total_size += 1 * this->layerrect_size();
   for (int i = 0; i < this->layerrect_size(); i++) {
     total_size +=
       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
         this->layerrect(i));
   }
-  
+
+  total_size += unknown_fields().size();
+
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = total_size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void DrawPacket::CheckTypeAndMergeFrom(
     const ::google::protobuf::MessageLite& from) {
@@ -3937,42 +4499,42 @@ void DrawPacket::MergeFrom(const DrawPac
     }
     if (from.has_totalrects()) {
       set_totalrects(from.totalrects());
     }
     if (from.has_layerref()) {
       set_layerref(from.layerref());
     }
   }
+  mutable_unknown_fields()->append(from.unknown_fields());
 }
 
 void DrawPacket::CopyFrom(const DrawPacket& from) {
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool DrawPacket::IsInitialized() const {
   if ((_has_bits_[0] & 0x0000002b) != 0x0000002b) return false;
-  
-  for (int i = 0; i < layerrect_size(); i++) {
-    if (!this->layerrect(i).IsInitialized()) return false;
-  }
+
+  if (!::google::protobuf::internal::AllAreInitialized(this->layerrect())) return false;
   return true;
 }
 
 void DrawPacket::Swap(DrawPacket* other) {
   if (other != this) {
     std::swap(offsetx_, other->offsetx_);
     std::swap(offsety_, other->offsety_);
     mvmatrix_.Swap(&other->mvmatrix_);
     std::swap(totalrects_, other->totalrects_);
     layerrect_.Swap(&other->layerrect_);
     std::swap(layerref_, other->layerref_);
     std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.swap(other->_unknown_fields_);
     std::swap(_cached_size_, other->_cached_size_);
   }
 }
 
 ::std::string DrawPacket::GetTypeName() const {
   return "mozilla.layers.layerscope.DrawPacket";
 }
 
@@ -4014,77 +4576,119 @@ const int Packet::kTextureFieldNumber;
 const int Packet::kLayersFieldNumber;
 const int Packet::kMetaFieldNumber;
 const int Packet::kDrawFieldNumber;
 #endif  // !_MSC_VER
 
 Packet::Packet()
   : ::google::protobuf::MessageLite() {
   SharedCtor();
+  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.Packet)
 }
 
 void Packet::InitAsDefaultInstance() {
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  frame_ = const_cast< ::mozilla::layers::layerscope::FramePacket*>(
+      ::mozilla::layers::layerscope::FramePacket::internal_default_instance());
+#else
   frame_ = const_cast< ::mozilla::layers::layerscope::FramePacket*>(&::mozilla::layers::layerscope::FramePacket::default_instance());
+#endif
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  color_ = const_cast< ::mozilla::layers::layerscope::ColorPacket*>(
+      ::mozilla::layers::layerscope::ColorPacket::internal_default_instance());
+#else
   color_ = const_cast< ::mozilla::layers::layerscope::ColorPacket*>(&::mozilla::layers::layerscope::ColorPacket::default_instance());
+#endif
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  texture_ = const_cast< ::mozilla::layers::layerscope::TexturePacket*>(
+      ::mozilla::layers::layerscope::TexturePacket::internal_default_instance());
+#else
   texture_ = const_cast< ::mozilla::layers::layerscope::TexturePacket*>(&::mozilla::layers::layerscope::TexturePacket::default_instance());
+#endif
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  layers_ = const_cast< ::mozilla::layers::layerscope::LayersPacket*>(
+      ::mozilla::layers::layerscope::LayersPacket::internal_default_instance());
+#else
   layers_ = const_cast< ::mozilla::layers::layerscope::LayersPacket*>(&::mozilla::layers::layerscope::LayersPacket::default_instance());
+#endif
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  meta_ = const_cast< ::mozilla::layers::layerscope::MetaPacket*>(
+      ::mozilla::layers::layerscope::MetaPacket::internal_default_instance());
+#else
   meta_ = const_cast< ::mozilla::layers::layerscope::MetaPacket*>(&::mozilla::layers::layerscope::MetaPacket::default_instance());
+#endif
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  draw_ = const_cast< ::mozilla::layers::layerscope::DrawPacket*>(
+      ::mozilla::layers::layerscope::DrawPacket::internal_default_instance());
+#else
   draw_ = const_cast< ::mozilla::layers::layerscope::DrawPacket*>(&::mozilla::layers::layerscope::DrawPacket::default_instance());
+#endif
 }
 
 Packet::Packet(const Packet& from)
   : ::google::protobuf::MessageLite() {
   SharedCtor();
   MergeFrom(from);
+  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.Packet)
 }
 
 void Packet::SharedCtor() {
   _cached_size_ = 0;
   type_ = 1;
   frame_ = NULL;
   color_ = NULL;
   texture_ = NULL;
   layers_ = NULL;
   meta_ = NULL;
   draw_ = NULL;
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 Packet::~Packet() {
+  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.Packet)
   SharedDtor();
 }
 
 void Packet::SharedDtor() {
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  if (this != &default_instance()) {
+  #else
   if (this != default_instance_) {
+  #endif
     delete frame_;
     delete color_;
     delete texture_;
     delete layers_;
     delete meta_;
     delete draw_;
   }
 }
 
 void Packet::SetCachedSize(int size) const {
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const Packet& Packet::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  return *default_instance_;
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  protobuf_AddDesc_LayerScopePacket_2eproto();
+#else
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
+#endif
+  return *default_instance_;
 }
 
 Packet* Packet::default_instance_ = NULL;
 
 Packet* Packet::New() const {
   return new Packet;
 }
 
 void Packet::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+  if (_has_bits_[0 / 32] & 127) {
     type_ = 1;
     if (has_frame()) {
       if (frame_ != NULL) frame_->::mozilla::layers::layerscope::FramePacket::Clear();
     }
     if (has_color()) {
       if (color_ != NULL) color_->::mozilla::layers::layerscope::ColorPacket::Clear();
     }
     if (has_texture()) {
@@ -4096,240 +4700,258 @@ void Packet::Clear() {
     if (has_meta()) {
       if (meta_ != NULL) meta_->::mozilla::layers::layerscope::MetaPacket::Clear();
     }
     if (has_draw()) {
       if (draw_ != NULL) draw_->::mozilla::layers::layerscope::DrawPacket::Clear();
     }
   }
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->clear();
 }
 
 bool Packet::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
+  ::google::protobuf::io::StringOutputStream unknown_fields_string(
+      mutable_unknown_fields());
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string);
+  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.Packet)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // required .mozilla.layers.layerscope.Packet.DataType type = 1;
       case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 8) {
           int value;
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                  input, &value)));
           if (::mozilla::layers::layerscope::Packet_DataType_IsValid(value)) {
             set_type(static_cast< ::mozilla::layers::layerscope::Packet_DataType >(value));
+          } else {
+            unknown_fields_stream.WriteVarint32(tag);
+            unknown_fields_stream.WriteVarint32(value);
           }
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(18)) goto parse_frame;
         break;
       }
-      
+
       // optional .mozilla.layers.layerscope.FramePacket frame = 2;
       case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+        if (tag == 18) {
          parse_frame:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_frame()));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(26)) goto parse_color;
         break;
       }
-      
+
       // optional .mozilla.layers.layerscope.ColorPacket color = 3;
       case 3: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+        if (tag == 26) {
          parse_color:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_color()));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(34)) goto parse_texture;
         break;
       }
-      
+
       // optional .mozilla.layers.layerscope.TexturePacket texture = 4;
       case 4: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+        if (tag == 34) {
          parse_texture:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_texture()));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(42)) goto parse_layers;
         break;
       }
-      
+
       // optional .mozilla.layers.layerscope.LayersPacket layers = 5;
       case 5: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+        if (tag == 42) {
          parse_layers:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_layers()));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(50)) goto parse_meta;
         break;
       }
-      
+
       // optional .mozilla.layers.layerscope.MetaPacket meta = 6;
       case 6: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+        if (tag == 50) {
          parse_meta:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_meta()));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(58)) goto parse_draw;
         break;
       }
-      
+
       // optional .mozilla.layers.layerscope.DrawPacket draw = 7;
       case 7: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
+        if (tag == 58) {
          parse_draw:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_draw()));
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
-        if (input->ExpectAtEnd()) return true;
+        if (input->ExpectAtEnd()) goto success;
         break;
       }
-      
+
       default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_unusual:
+        if (tag == 0 ||
+            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
+          goto success;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
         break;
       }
     }
   }
+success:
+  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.Packet)
   return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.Packet)
+  return false;
 #undef DO_
 }
 
 void Packet::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.Packet)
   // required .mozilla.layers.layerscope.Packet.DataType type = 1;
   if (has_type()) {
     ::google::protobuf::internal::WireFormatLite::WriteEnum(
       1, this->type(), output);
   }
-  
+
   // optional .mozilla.layers.layerscope.FramePacket frame = 2;
   if (has_frame()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       2, this->frame(), output);
   }
-  
+
   // optional .mozilla.layers.layerscope.ColorPacket color = 3;
   if (has_color()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       3, this->color(), output);
   }
-  
+
   // optional .mozilla.layers.layerscope.TexturePacket texture = 4;
   if (has_texture()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       4, this->texture(), output);
   }
-  
+
   // optional .mozilla.layers.layerscope.LayersPacket layers = 5;
   if (has_layers()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       5, this->layers(), output);
   }
-  
+
   // optional .mozilla.layers.layerscope.MetaPacket meta = 6;
   if (has_meta()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       6, this->meta(), output);
   }
-  
+
   // optional .mozilla.layers.layerscope.DrawPacket draw = 7;
   if (has_draw()) {
     ::google::protobuf::internal::WireFormatLite::WriteMessage(
       7, this->draw(), output);
   }
-  
+
+  output->WriteRaw(unknown_fields().data(),
+                   unknown_fields().size());
+  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.Packet)
 }
 
 int Packet::ByteSize() const {
   int total_size = 0;
-  
+
   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     // required .mozilla.layers.layerscope.Packet.DataType type = 1;
     if (has_type()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
     }
-    
+
     // optional .mozilla.layers.layerscope.FramePacket frame = 2;
     if (has_frame()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           this->frame());
     }
-    
+
     // optional .mozilla.layers.layerscope.ColorPacket color = 3;
     if (has_color()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           this->color());
     }
-    
+
     // optional .mozilla.layers.layerscope.TexturePacket texture = 4;
     if (has_texture()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           this->texture());
     }
-    
+
     // optional .mozilla.layers.layerscope.LayersPacket layers = 5;
     if (has_layers()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           this->layers());
     }
-    
+
     // optional .mozilla.layers.layerscope.MetaPacket meta = 6;
     if (has_meta()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           this->meta());
     }
-    
+
     // optional .mozilla.layers.layerscope.DrawPacket draw = 7;
     if (has_draw()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
           this->draw());
     }
-    
+
   }
+  total_size += unknown_fields().size();
+
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = total_size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void Packet::CheckTypeAndMergeFrom(
     const ::google::protobuf::MessageLite& from) {
@@ -4356,27 +4978,28 @@ void Packet::MergeFrom(const Packet& fro
     }
     if (from.has_meta()) {
       mutable_meta()->::mozilla::layers::layerscope::MetaPacket::MergeFrom(from.meta());
     }
     if (from.has_draw()) {
       mutable_draw()->::mozilla::layers::layerscope::DrawPacket::MergeFrom(from.draw());
     }
   }
+  mutable_unknown_fields()->append(from.unknown_fields());
 }
 
 void Packet::CopyFrom(const Packet& from) {
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool Packet::IsInitialized() const {
   if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
-  
+
   if (has_color()) {
     if (!this->color().IsInitialized()) return false;
   }
   if (has_texture()) {
     if (!this->texture().IsInitialized()) return false;
   }
   if (has_layers()) {
     if (!this->layers().IsInitialized()) return false;
@@ -4392,16 +5015,17 @@ void Packet::Swap(Packet* other) {
     std::swap(type_, other->type_);
     std::swap(frame_, other->frame_);
     std::swap(color_, other->color_);
     std::swap(texture_, other->texture_);
     std::swap(layers_, other->layers_);
     std::swap(meta_, other->meta_);
     std::swap(draw_, other->draw_);
     std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.swap(other->_unknown_fields_);
     std::swap(_cached_size_, other->_cached_size_);
   }
 }
 
 ::std::string Packet::GetTypeName() const {
   return "mozilla.layers.layerscope.Packet";
 }
 
@@ -4430,152 +5054,198 @@ const int CommandPacket::CmdType_ARRAYSI
 #ifndef _MSC_VER
 const int CommandPacket::kTypeFieldNumber;
 const int CommandPacket::kValueFieldNumber;
 #endif  // !_MSC_VER
 
 CommandPacket::CommandPacket()
   : ::google::protobuf::MessageLite() {
   SharedCtor();
+  // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.CommandPacket)
 }
 
 void CommandPacket::InitAsDefaultInstance() {
 }
 
 CommandPacket::CommandPacket(const CommandPacket& from)
   : ::google::protobuf::MessageLite() {
   SharedCtor();
   MergeFrom(from);
+  // @@protoc_insertion_point(copy_constructor:mozilla.layers.layerscope.CommandPacket)
 }
 
 void CommandPacket::SharedCtor() {
   _cached_size_ = 0;
   type_ = 0;
   value_ = false;
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
 }
 
 CommandPacket::~CommandPacket() {
+  // @@protoc_insertion_point(destructor:mozilla.layers.layerscope.CommandPacket)
   SharedDtor();
 }
 
 void CommandPacket::SharedDtor() {
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  if (this != &default_instance()) {
+  #else
   if (this != default_instance_) {
+  #endif
   }
 }
 
 void CommandPacket::SetCachedSize(int size) const {
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const CommandPacket& CommandPacket::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  return *default_instance_;
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  protobuf_AddDesc_LayerScopePacket_2eproto();
+#else
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
+#endif
+  return *default_instance_;
 }
 
 CommandPacket* CommandPacket::default_instance_ = NULL;
 
 CommandPacket* CommandPacket::New() const {
   return new CommandPacket;
 }
 
 void CommandPacket::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    type_ = 0;
-    value_ = false;
-  }
+#define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
+  &reinterpret_cast<CommandPacket*>(16)->f) - \
+   reinterpret_cast<char*>(16))
+
+#define ZR_(first, last) do {                              \
+    size_t f = OFFSET_OF_FIELD_(first);                    \
+    size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
+    ::memset(&first, 0, n);                                \
+  } while (0)
+
+  ZR_(type_, value_);
+
+#undef OFFSET_OF_FIELD_
+#undef ZR_
+
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->clear();
 }
 
 bool CommandPacket::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
+  ::google::protobuf::io::StringOutputStream unknown_fields_string(
+      mutable_unknown_fields());
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string);
+  // @@protoc_insertion_point(parse_start:mozilla.layers.layerscope.CommandPacket)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // required .mozilla.layers.layerscope.CommandPacket.CmdType type = 1;
       case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 8) {
           int value;
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                  input, &value)));
           if (::mozilla::layers::layerscope::CommandPacket_CmdType_IsValid(value)) {
             set_type(static_cast< ::mozilla::layers::layerscope::CommandPacket_CmdType >(value));
+          } else {
+            unknown_fields_stream.WriteVarint32(tag);
+            unknown_fields_stream.WriteVarint32(value);
           }
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
         if (input->ExpectTag(16)) goto parse_value;
         break;
       }
-      
+
       // optional bool value = 2;
       case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
+        if (tag == 16) {
          parse_value:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                  input, &value_)));
           set_has_value();
         } else {
-          goto handle_uninterpreted;
+          goto handle_unusual;
         }
-        if (input->ExpectAtEnd()) return true;
+        if (input->ExpectAtEnd()) goto success;
         break;
       }
-      
+
       default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_unusual:
+        if (tag == 0 ||
+            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
+          goto success;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
         break;
       }
     }
   }
+success:
+  // @@protoc_insertion_point(parse_success:mozilla.layers.layerscope.CommandPacket)
   return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:mozilla.layers.layerscope.CommandPacket)
+  return false;
 #undef DO_
 }
 
 void CommandPacket::SerializeWithCachedSizes(
     ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:mozilla.layers.layerscope.CommandPacket)
   // required .mozilla.layers.layerscope.CommandPacket.CmdType type = 1;
   if (has_type()) {
     ::google::protobuf::internal::WireFormatLite::WriteEnum(
       1, this->type(), output);
   }
-  
+
   // optional bool value = 2;
   if (has_value()) {
     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->value(), output);
   }
-  
+
+  output->WriteRaw(unknown_fields().data(),
+                   unknown_fields().size());
+  // @@protoc_insertion_point(serialize_end:mozilla.layers.layerscope.CommandPacket)
 }
 
 int CommandPacket::ByteSize() const {
   int total_size = 0;
-  
+
   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     // required .mozilla.layers.layerscope.CommandPacket.CmdType type = 1;
     if (has_type()) {
       total_size += 1 +
         ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
     }
-    
+
     // optional bool value = 2;
     if (has_value()) {
       total_size += 1 + 1;
     }
-    
+
   }
+  total_size += unknown_fields().size();
+
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = total_size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   return total_size;
 }
 
 void CommandPacket::CheckTypeAndMergeFrom(
     const ::google::protobuf::MessageLite& from) {
@@ -4587,35 +5257,37 @@ void CommandPacket::MergeFrom(const Comm
   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     if (from.has_type()) {
       set_type(from.type());
     }
     if (from.has_value()) {
       set_value(from.value());
     }
   }
+  mutable_unknown_fields()->append(from.unknown_fields());
 }
 
 void CommandPacket::CopyFrom(const CommandPacket& from) {
   if (&from == this) return;
   Clear();
   MergeFrom(from);
 }
 
 bool CommandPacket::IsInitialized() const {
   if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
-  
+
   return true;
 }
 
 void CommandPacket::Swap(CommandPacket* other) {
   if (other != this) {
     std::swap(type_, other->type_);
     std::swap(value_, other->value_);
     std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.swap(other->_unknown_fields_);
     std::swap(_cached_size_, other->_cached_size_);
   }
 }
 
 ::std::string CommandPacket::GetTypeName() const {
   return "mozilla.layers.layerscope.CommandPacket";
 }
 
--- a/gfx/layers/protobuf/LayerScopePacket.pb.h
+++ b/gfx/layers/protobuf/LayerScopePacket.pb.h
@@ -3,28 +3,29 @@
 
 #ifndef PROTOBUF_LayerScopePacket_2eproto__INCLUDED
 #define PROTOBUF_LayerScopePacket_2eproto__INCLUDED
 
 #include <string>
 
 #include <google/protobuf/stubs/common.h>
 
-#if GOOGLE_PROTOBUF_VERSION < 2004000
+#if GOOGLE_PROTOBUF_VERSION < 2006000
 #error This file was generated by a newer version of protoc which is
 #error incompatible with your Protocol Buffer headers.  Please update
 #error your headers.
 #endif
-#if 2004001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
+#if 2006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
 #error This file was generated by an older version of protoc which is
 #error incompatible with your Protocol Buffer headers.  Please
 #error regenerate this file with a newer version of protoc.
 #endif
 
 #include <google/protobuf/generated_message_util.h>
+#include <google/protobuf/message_lite.h>
 #include <google/protobuf/repeated_field.h>
 #include <google/protobuf/extension_set.h>
 // @@protoc_insertion_point(includes)
 
 namespace mozilla {
 namespace layers {
 namespace layerscope {
 
@@ -113,290 +114,353 @@ const CommandPacket_CmdType CommandPacke
 const int CommandPacket_CmdType_CmdType_ARRAYSIZE = CommandPacket_CmdType_CmdType_MAX + 1;
 
 // ===================================================================
 
 class FramePacket : public ::google::protobuf::MessageLite {
  public:
   FramePacket();
   virtual ~FramePacket();
-  
+
   FramePacket(const FramePacket& from);
-  
+
   inline FramePacket& operator=(const FramePacket& from) {
     CopyFrom(from);
     return *this;
   }
-  
+
+  inline const ::std::string& unknown_fields() const {
+    return _unknown_fields_;
+  }
+
+  inline ::std::string* mutable_unknown_fields() {
+    return &_unknown_fields_;
+  }
+
   static const FramePacket& default_instance();
-  
+
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  // Returns the internal default instance pointer. This function can
+  // return NULL thus should not be used by the user. This is intended
+  // for Protobuf internal code. Please use default_instance() declared
+  // above instead.
+  static inline const FramePacket* internal_default_instance() {
+    return default_instance_;
+  }
+  #endif
+
   void Swap(FramePacket* other);
-  
+
   // implements Message ----------------------------------------------
-  
+
   FramePacket* New() const;
   void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
   void CopyFrom(const FramePacket& from);
   void MergeFrom(const FramePacket& from);
   void Clear();
   bool IsInitialized() const;
-  
+
   int ByteSize() const;
   bool MergePartialFromCodedStream(
       ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
       ::google::protobuf::io::CodedOutputStream* output) const;
+  void DiscardUnknownFields();
   int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
   void SetCachedSize(int size) const;
   public:
-  
   ::std::string GetTypeName() const;
-  
+
   // nested types ----------------------------------------------------
-  
+
   // accessors -------------------------------------------------------
-  
+
   // optional uint64 value = 1;
   inline bool has_value() const;
   inline void clear_value();
   static const int kValueFieldNumber = 1;
   inline ::google::protobuf::uint64 value() const;
   inline void set_value(::google::protobuf::uint64 value);
-  
+
   // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.FramePacket)
  private:
   inline void set_has_value();
   inline void clear_has_value();
-  
-  ::google::protobuf::uint64 value_;
-  
+
+  ::std::string _unknown_fields_;
+
+  ::google::protobuf::uint32 _has_bits_[1];
   mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
-  
+  ::google::protobuf::uint64 value_;
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
+  #else
   friend void  protobuf_AddDesc_LayerScopePacket_2eproto();
+  #endif
   friend void protobuf_AssignDesc_LayerScopePacket_2eproto();
   friend void protobuf_ShutdownFile_LayerScopePacket_2eproto();
-  
+
   void InitAsDefaultInstance();
   static FramePacket* default_instance_;
 };
 // -------------------------------------------------------------------
 
 class ColorPacket : public ::google::protobuf::MessageLite {
  public:
   ColorPacket();
   virtual ~ColorPacket();
-  
+
   ColorPacket(const ColorPacket& from);
-  
+
   inline ColorPacket& operator=(const ColorPacket& from) {
     CopyFrom(from);
     return *this;
   }
-  
+
+  inline const ::std::string& unknown_fields() const {
+    return _unknown_fields_;
+  }
+
+  inline ::std::string* mutable_unknown_fields() {
+    return &_unknown_fields_;
+  }
+
   static const ColorPacket& default_instance();
-  
+
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  // Returns the internal default instance pointer. This function can
+  // return NULL thus should not be used by the user. This is intended
+  // for Protobuf internal code. Please use default_instance() declared
+  // above instead.
+  static inline const ColorPacket* internal_default_instance() {
+    return default_instance_;
+  }
+  #endif
+
   void Swap(ColorPacket* other);
-  
+
   // implements Message ----------------------------------------------
-  
+
   ColorPacket* New() const;
   void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
   void CopyFrom(const ColorPacket& from);
   void MergeFrom(const ColorPacket& from);
   void Clear();
   bool IsInitialized() const;
-  
+
   int ByteSize() const;
   bool MergePartialFromCodedStream(
       ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
       ::google::protobuf::io::CodedOutputStream* output) const;
+  void DiscardUnknownFields();
   int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
   void SetCachedSize(int size) const;
   public:
-  
   ::std::string GetTypeName() const;
-  
+
   // nested types ----------------------------------------------------
-  
+
   // accessors -------------------------------------------------------
-  
+
   // required uint64 layerref = 1;
   inline bool has_layerref() const;
   inline void clear_layerref();
   static const int kLayerrefFieldNumber = 1;
   inline ::google::protobuf::uint64 layerref() const;
   inline void set_layerref(::google::protobuf::uint64 value);
-  
+
   // optional uint32 width = 2;
   inline bool has_width() const;
   inline void clear_width();
   static const int kWidthFieldNumber = 2;
   inline ::google::protobuf::uint32 width() const;
   inline void set_width(::google::protobuf::uint32 value);
-  
+
   // optional uint32 height = 3;
   inline bool has_height() const;
   inline void clear_height();
   static const int kHeightFieldNumber = 3;
   inline ::google::protobuf::uint32 height() const;
   inline void set_height(::google::protobuf::uint32 value);
-  
+
   // optional uint32 color = 4;
   inline bool has_color() const;
   inline void clear_color();
   static const int kColorFieldNumber = 4;
   inline ::google::protobuf::uint32 color() const;
   inline void set_color(::google::protobuf::uint32 value);
-  
+
   // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.ColorPacket)
  private:
   inline void set_has_layerref();
   inline void clear_has_layerref();
   inline void set_has_width();
   inline void clear_has_width();
   inline void set_has_height();
   inline void clear_has_height();
   inline void set_has_color();
   inline void clear_has_color();
-  
+
+  ::std::string _unknown_fields_;
+
+  ::google::protobuf::uint32 _has_bits_[1];
+  mutable int _cached_size_;
   ::google::protobuf::uint64 layerref_;
   ::google::protobuf::uint32 width_;
   ::google::protobuf::uint32 height_;
   ::google::protobuf::uint32 color_;
-  
-  mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(4 + 31) / 32];
-  
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
+  #else
   friend void  protobuf_AddDesc_LayerScopePacket_2eproto();
+  #endif
   friend void protobuf_AssignDesc_LayerScopePacket_2eproto();
   friend void protobuf_ShutdownFile_LayerScopePacket_2eproto();
-  
+
   void InitAsDefaultInstance();
   static ColorPacket* default_instance_;
 };
 // -------------------------------------------------------------------
 
 class TexturePacket : public ::google::protobuf::MessageLite {
  public:
   TexturePacket();
   virtual ~TexturePacket();
-  
+
   TexturePacket(const TexturePacket& from);
-  
+
   inline TexturePacket& operator=(const TexturePacket& from) {
     CopyFrom(from);
     return *this;
   }
-  
+
+  inline const ::std::string& unknown_fields() const {
+    return _unknown_fields_;
+  }
+
+  inline ::std::string* mutable_unknown_fields() {
+    return &_unknown_fields_;
+  }
+
   static const TexturePacket& default_instance();
-  
+
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  // Returns the internal default instance pointer. This function can
+  // return NULL thus should not be used by the user. This is intended
+  // for Protobuf internal code. Please use default_instance() declared
+  // above instead.
+  static inline const TexturePacket* internal_default_instance() {
+    return default_instance_;
+  }
+  #endif
+
   void Swap(TexturePacket* other);
-  
+
   // implements Message ----------------------------------------------
-  
+
   TexturePacket* New() const;
   void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
   void CopyFrom(const TexturePacket& from);
   void MergeFrom(const TexturePacket& from);
   void Clear();
   bool IsInitialized() const;
-  
+
   int ByteSize() const;
   bool MergePartialFromCodedStream(
       ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
       ::google::protobuf::io::CodedOutputStream* output) const;
+  void DiscardUnknownFields();
   int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
   void SetCachedSize(int size) const;
   public:
-  
   ::std::string GetTypeName() const;
-  
+
   // nested types ----------------------------------------------------
-  
+
   // accessors -------------------------------------------------------
-  
+
   // required uint64 layerref = 1;
   inline bool has_layerref() const;
   inline void clear_layerref();
   static const int kLayerrefFieldNumber = 1;
   inline ::google::protobuf::uint64 layerref() const;
   inline void set_layerref(::google::protobuf::uint64 value);
-  
+
   // optional uint32 width = 2;
   inline bool has_width() const;
   inline void clear_width();
   static const int kWidthFieldNumber = 2;
   inline ::google::protobuf::uint32 width() const;
   inline void set_width(::google::protobuf::uint32 value);
-  
+
   // optional uint32 height = 3;
   inline bool has_height() const;
   inline void clear_height();
   static const int kHeightFieldNumber = 3;
   inline ::google::protobuf::uint32 height() const;
   inline void set_height(::google::protobuf::uint32 value);
-  
+
   // optional uint32 stride = 4;
   inline bool has_stride() const;
   inline void clear_stride();
   static const int kStrideFieldNumber = 4;
   inline ::google::protobuf::uint32 stride() const;
   inline void set_stride(::google::protobuf::uint32 value);
-  
+
   // optional uint32 name = 5;
   inline bool has_name() const;
   inline void clear_name();
   static const int kNameFieldNumber = 5;
   inline ::google::protobuf::uint32 name() const;
   inline void set_name(::google::protobuf::uint32 value);
-  
+
   // optional uint32 target = 6;
   inline bool has_target() const;
   inline void clear_target();
   static const int kTargetFieldNumber = 6;
   inline ::google::protobuf::uint32 target() const;
   inline void set_target(::google::protobuf::uint32 value);
-  
+
   // optional uint32 dataformat = 7;
   inline bool has_dataformat() const;
   inline void clear_dataformat();
   static const int kDataformatFieldNumber = 7;
   inline ::google::protobuf::uint32 dataformat() const;
   inline void set_dataformat(::google::protobuf::uint32 value);
-  
+
   // optional uint64 glcontext = 8;
   inline bool has_glcontext() const;
   inline void clear_glcontext();
   static const int kGlcontextFieldNumber = 8;
   inline ::google::protobuf::uint64 glcontext() const;
   inline void set_glcontext(::google::protobuf::uint64 value);
-  
+
   // optional bytes data = 9;
   inline bool has_data() const;
   inline void clear_data();
   static const int kDataFieldNumber = 9;
   inline const ::std::string& data() const;
   inline void set_data(const ::std::string& value);
   inline void set_data(const char* value);
   inline void set_data(const void* value, size_t size);
   inline ::std::string* mutable_data();
   inline ::std::string* release_data();
-  
+  inline void set_allocated_data(::std::string* data);
+
   // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.TexturePacket)
  private:
   inline void set_has_layerref();
   inline void clear_has_layerref();
   inline void set_has_width();
   inline void clear_has_width();
   inline void set_has_height();
   inline void clear_has_height();
@@ -407,520 +471,655 @@ class TexturePacket : public ::google::p
   inline void set_has_target();
   inline void clear_has_target();
   inline void set_has_dataformat();
   inline void clear_has_dataformat();
   inline void set_has_glcontext();
   inline void clear_has_glcontext();
   inline void set_has_data();
   inline void clear_has_data();
-  
+
+  ::std::string _unknown_fields_;
+
+  ::google::protobuf::uint32 _has_bits_[1];
+  mutable int _cached_size_;
   ::google::protobuf::uint64 layerref_;
   ::google::protobuf::uint32 width_;
   ::google::protobuf::uint32 height_;
   ::google::protobuf::uint32 stride_;
   ::google::protobuf::uint32 name_;
   ::google::protobuf::uint32 target_;
   ::google::protobuf::uint32 dataformat_;
   ::google::protobuf::uint64 glcontext_;
   ::std::string* data_;
-  
-  mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(9 + 31) / 32];
-  
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
+  #else
   friend void  protobuf_AddDesc_LayerScopePacket_2eproto();
+  #endif
   friend void protobuf_AssignDesc_LayerScopePacket_2eproto();
   friend void protobuf_ShutdownFile_LayerScopePacket_2eproto();
-  
+
   void InitAsDefaultInstance();
   static TexturePacket* default_instance_;
 };
 // -------------------------------------------------------------------
 
 class LayersPacket_Layer_Size : public ::google::protobuf::MessageLite {
  public:
   LayersPacket_Layer_Size();
   virtual ~LayersPacket_Layer_Size();
-  
+
   LayersPacket_Layer_Size(const LayersPacket_Layer_Size& from);
-  
+
   inline LayersPacket_Layer_Size& operator=(const LayersPacket_Layer_Size& from) {
     CopyFrom(from);
     return *this;
   }
-  
+
+  inline const ::std::string& unknown_fields() const {
+    return _unknown_fields_;
+  }
+
+  inline ::std::string* mutable_unknown_fields() {
+    return &_unknown_fields_;
+  }
+
   static const LayersPacket_Layer_Size& default_instance();
-  
+
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  // Returns the internal default instance pointer. This function can
+  // return NULL thus should not be used by the user. This is intended
+  // for Protobuf internal code. Please use default_instance() declared
+  // above instead.
+  static inline const LayersPacket_Layer_Size* internal_default_instance() {
+    return default_instance_;
+  }
+  #endif
+
   void Swap(LayersPacket_Layer_Size* other);
-  
+
   // implements Message ----------------------------------------------
-  
+
   LayersPacket_Layer_Size* New() const;
   void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
   void CopyFrom(const LayersPacket_Layer_Size& from);
   void MergeFrom(const LayersPacket_Layer_Size& from);
   void Clear();
   bool IsInitialized() const;
-  
+
   int ByteSize() const;
   bool MergePartialFromCodedStream(
       ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
       ::google::protobuf::io::CodedOutputStream* output) const;
+  void DiscardUnknownFields();
   int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
   void SetCachedSize(int size) const;
   public:
-  
   ::std::string GetTypeName() const;
-  
+
   // nested types ----------------------------------------------------
-  
+
   // accessors -------------------------------------------------------
-  
+
   // optional int32 w = 1;
   inline bool has_w() const;
   inline void clear_w();
   static const int kWFieldNumber = 1;
   inline ::google::protobuf::int32 w() const;
   inline void set_w(::google::protobuf::int32 value);
-  
+
   // optional int32 h = 2;
   inline bool has_h() const;
   inline void clear_h();
   static const int kHFieldNumber = 2;
   inline ::google::protobuf::int32 h() const;
   inline void set_h(::google::protobuf::int32 value);
-  
+
   // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.LayersPacket.Layer.Size)
  private:
   inline void set_has_w();
   inline void clear_has_w();
   inline void set_has_h();
   inline void clear_has_h();
-  
+
+  ::std::string _unknown_fields_;
+
+  ::google::protobuf::uint32 _has_bits_[1];
+  mutable int _cached_size_;
   ::google::protobuf::int32 w_;
   ::google::protobuf::int32 h_;
-  
-  mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];
-  
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
+  #else
   friend void  protobuf_AddDesc_LayerScopePacket_2eproto();
+  #endif
   friend void protobuf_AssignDesc_LayerScopePacket_2eproto();
   friend void protobuf_ShutdownFile_LayerScopePacket_2eproto();
-  
+
   void InitAsDefaultInstance();
   static LayersPacket_Layer_Size* default_instance_;
 };
 // -------------------------------------------------------------------
 
 class LayersPacket_Layer_Rect : public ::google::protobuf::MessageLite {
  public:
   LayersPacket_Layer_Rect();
   virtual ~LayersPacket_Layer_Rect();
-  
+
   LayersPacket_Layer_Rect(const LayersPacket_Layer_Rect& from);
-  
+
   inline LayersPacket_Layer_Rect& operator=(const LayersPacket_Layer_Rect& from) {
     CopyFrom(from);
     return *this;
   }
-  
+
+  inline const ::std::string& unknown_fields() const {
+    return _unknown_fields_;
+  }
+
+  inline ::std::string* mutable_unknown_fields() {
+    return &_unknown_fields_;
+  }
+
   static const LayersPacket_Layer_Rect& default_instance();
-  
+
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  // Returns the internal default instance pointer. This function can
+  // return NULL thus should not be used by the user. This is intended
+  // for Protobuf internal code. Please use default_instance() declared
+  // above instead.
+  static inline const LayersPacket_Layer_Rect* internal_default_instance() {
+    return default_instance_;
+  }
+  #endif
+
   void Swap(LayersPacket_Layer_Rect* other);
-  
+
   // implements Message ----------------------------------------------
-  
+
   LayersPacket_Layer_Rect* New() const;
   void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
   void CopyFrom(const LayersPacket_Layer_Rect& from);
   void MergeFrom(const LayersPacket_Layer_Rect& from);
   void Clear();
   bool IsInitialized() const;
-  
+
   int ByteSize() const;
   bool MergePartialFromCodedStream(
       ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
       ::google::protobuf::io::CodedOutputStream* output) const;
+  void DiscardUnknownFields();
   int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
   void SetCachedSize(int size) const;
   public:
-  
   ::std::string GetTypeName() const;
-  
+
   // nested types ----------------------------------------------------
-  
+
   // accessors -------------------------------------------------------
-  
+
   // optional int32 x = 1;
   inline bool has_x() const;
   inline void clear_x();
   static const int kXFieldNumber = 1;
   inline ::google::protobuf::int32 x() const;
   inline void set_x(::google::protobuf::int32 value);
-  
+
   // optional int32 y = 2;
   inline bool has_y() const;
   inline void clear_y();
   static const int kYFieldNumber = 2;
   inline ::google::protobuf::int32 y() const;
   inline void set_y(::google::protobuf::int32 value);
-  
+
   // optional int32 w = 3;
   inline bool has_w() const;
   inline void clear_w();
   static const int kWFieldNumber = 3;
   inline ::google::protobuf::int32 w() const;
   inline void set_w(::google::protobuf::int32 value);
-  
+
   // optional int32 h = 4;
   inline bool has_h() const;
   inline void clear_h();
   static const int kHFieldNumber = 4;
   inline ::google::protobuf::int32 h() const;
   inline void set_h(::google::protobuf::int32 value);
-  
+
   // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.LayersPacket.Layer.Rect)
  private:
   inline void set_has_x();
   inline void clear_has_x();
   inline void set_has_y();
   inline void clear_has_y();
   inline void set_has_w();
   inline void clear_has_w();
   inline void set_has_h();
   inline void clear_has_h();
-  
+
+  ::std::string _unknown_fields_;
+
+  ::google::protobuf::uint32 _has_bits_[1];
+  mutable int _cached_size_;
   ::google::protobuf::int32 x_;
   ::google::protobuf::int32 y_;
   ::google::protobuf::int32 w_;
   ::google::protobuf::int32 h_;
-  
-  mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(4 + 31) / 32];
-  
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
+  #else
   friend void  protobuf_AddDesc_LayerScopePacket_2eproto();
+  #endif
   friend void protobuf_AssignDesc_LayerScopePacket_2eproto();
   friend void protobuf_ShutdownFile_LayerScopePacket_2eproto();
-  
+
   void InitAsDefaultInstance();
   static LayersPacket_Layer_Rect* default_instance_;
 };
 // -------------------------------------------------------------------
 
 class LayersPacket_Layer_Region : public ::google::protobuf::MessageLite {
  public:
   LayersPacket_Layer_Region();
   virtual ~LayersPacket_Layer_Region();
-  
+
   LayersPacket_Layer_Region(const LayersPacket_Layer_Region& from);
-  
+
   inline LayersPacket_Layer_Region& operator=(const LayersPacket_Layer_Region& from) {
     CopyFrom(from);
     return *this;
   }
-  
+
+  inline const ::std::string& unknown_fields() const {
+    return _unknown_fields_;
+  }
+
+  inline ::std::string* mutable_unknown_fields() {
+    return &_unknown_fields_;
+  }
+
   static const LayersPacket_Layer_Region& default_instance();
-  
+
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  // Returns the internal default instance pointer. This function can
+  // return NULL thus should not be used by the user. This is intended
+  // for Protobuf internal code. Please use default_instance() declared
+  // above instead.
+  static inline const LayersPacket_Layer_Region* internal_default_instance() {
+    return default_instance_;
+  }
+  #endif
+
   void Swap(LayersPacket_Layer_Region* other);
-  
+
   // implements Message ----------------------------------------------
-  
+
   LayersPacket_Layer_Region* New() const;
   void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
   void CopyFrom(const LayersPacket_Layer_Region& from);
   void MergeFrom(const LayersPacket_Layer_Region& from);
   void Clear();
   bool IsInitialized() const;
-  
+
   int ByteSize() const;
   bool MergePartialFromCodedStream(
       ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
       ::google::protobuf::io::CodedOutputStream* output) const;
+  void DiscardUnknownFields();
   int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
   void SetCachedSize(int size) const;
   public:
-  
   ::std::string GetTypeName() const;
-  
+
   // nested types ----------------------------------------------------
-  
+
   // accessors -------------------------------------------------------
-  
+
   // repeated .mozilla.layers.layerscope.LayersPacket.Layer.Rect r = 1;
   inline int r_size() const;
   inline void clear_r();
   static const int kRFieldNumber = 1;
   inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Rect& r(int index) const;
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* mutable_r(int index);
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* add_r();
   inline const ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer_Rect >&
       r() const;
   inline ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer_Rect >*
       mutable_r();
-  
+
   // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.LayersPacket.Layer.Region)
  private:
-  
-  ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer_Rect > r_;
-  
+
+  ::std::string _unknown_fields_;
+
+  ::google::protobuf::uint32 _has_bits_[1];
   mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
-  
+  ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer_Rect > r_;
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
+  #else
   friend void  protobuf_AddDesc_LayerScopePacket_2eproto();
+  #endif
   friend void protobuf_AssignDesc_LayerScopePacket_2eproto();
   friend void protobuf_ShutdownFile_LayerScopePacket_2eproto();
-  
+
   void InitAsDefaultInstance();
   static LayersPacket_Layer_Region* default_instance_;
 };
 // -------------------------------------------------------------------
 
 class LayersPacket_Layer_Matrix : public ::google::protobuf::MessageLite {
  public:
   LayersPacket_Layer_Matrix();
   virtual ~LayersPacket_Layer_Matrix();
-  
+
   LayersPacket_Layer_Matrix(const LayersPacket_Layer_Matrix& from);
-  
+
   inline LayersPacket_Layer_Matrix& operator=(const LayersPacket_Layer_Matrix& from) {
     CopyFrom(from);
     return *this;
   }
-  
+
+  inline const ::std::string& unknown_fields() const {
+    return _unknown_fields_;
+  }
+
+  inline ::std::string* mutable_unknown_fields() {
+    return &_unknown_fields_;
+  }
+
   static const LayersPacket_Layer_Matrix& default_instance();
-  
+
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  // Returns the internal default instance pointer. This function can
+  // return NULL thus should not be used by the user. This is intended
+  // for Protobuf internal code. Please use default_instance() declared
+  // above instead.
+  static inline const LayersPacket_Layer_Matrix* internal_default_instance() {
+    return default_instance_;
+  }
+  #endif
+
   void Swap(LayersPacket_Layer_Matrix* other);
-  
+
   // implements Message ----------------------------------------------
-  
+
   LayersPacket_Layer_Matrix* New() const;
   void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
   void CopyFrom(const LayersPacket_Layer_Matrix& from);
   void MergeFrom(const LayersPacket_Layer_Matrix& from);
   void Clear();
   bool IsInitialized() const;
-  
+
   int ByteSize() const;
   bool MergePartialFromCodedStream(
       ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
       ::google::protobuf::io::CodedOutputStream* output) const;
+  void DiscardUnknownFields();
   int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
   void SetCachedSize(int size) const;
   public:
-  
   ::std::string GetTypeName() const;
-  
+
   // nested types ----------------------------------------------------
-  
+
   // accessors -------------------------------------------------------
-  
+
   // optional bool is2D = 1;
   inline bool has_is2d() const;
   inline void clear_is2d();
   static const int kIs2DFieldNumber = 1;
   inline bool is2d() const;
   inline void set_is2d(bool value);
-  
+
   // optional bool isId = 2;
   inline bool has_isid() const;
   inline void clear_isid();
   static const int kIsIdFieldNumber = 2;
   inline bool isid() const;
   inline void set_isid(bool value);
-  
+
   // repeated float m = 3;
   inline int m_size() const;
   inline void clear_m();
   static const int kMFieldNumber = 3;
   inline float m(int index) const;
   inline void set_m(int index, float value);
   inline void add_m(float value);
   inline const ::google::protobuf::RepeatedField< float >&
       m() const;
   inline ::google::protobuf::RepeatedField< float >*
       mutable_m();
-  
+
   // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.LayersPacket.Layer.Matrix)
  private:
   inline void set_has_is2d();
   inline void clear_has_is2d();
   inline void set_has_isid();
   inline void clear_has_isid();
-  
+
+  ::std::string _unknown_fields_;
+
+  ::google::protobuf::uint32 _has_bits_[1];
+  mutable int _cached_size_;
   ::google::protobuf::RepeatedField< float > m_;
   bool is2d_;
   bool isid_;
-  
-  mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32];
-  
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
+  #else
   friend void  protobuf_AddDesc_LayerScopePacket_2eproto();
+  #endif
   friend void protobuf_AssignDesc_LayerScopePacket_2eproto();
   friend void protobuf_ShutdownFile_LayerScopePacket_2eproto();
-  
+
   void InitAsDefaultInstance();
   static LayersPacket_Layer_Matrix* default_instance_;
 };
 // -------------------------------------------------------------------
 
 class LayersPacket_Layer_Shadow : public ::google::protobuf::MessageLite {
  public:
   LayersPacket_Layer_Shadow();
   virtual ~LayersPacket_Layer_Shadow();
-  
+
   LayersPacket_Layer_Shadow(const LayersPacket_Layer_Shadow& from);
-  
+
   inline LayersPacket_Layer_Shadow& operator=(const LayersPacket_Layer_Shadow& from) {
     CopyFrom(from);
     return *this;
   }
-  
+
+  inline const ::std::string& unknown_fields() const {
+    return _unknown_fields_;
+  }
+
+  inline ::std::string* mutable_unknown_fields() {
+    return &_unknown_fields_;
+  }
+
   static const LayersPacket_Layer_Shadow& default_instance();
-  
+
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  // Returns the internal default instance pointer. This function can
+  // return NULL thus should not be used by the user. This is intended
+  // for Protobuf internal code. Please use default_instance() declared
+  // above instead.
+  static inline const LayersPacket_Layer_Shadow* internal_default_instance() {
+    return default_instance_;
+  }
+  #endif
+
   void Swap(LayersPacket_Layer_Shadow* other);
-  
+
   // implements Message ----------------------------------------------
-  
+
   LayersPacket_Layer_Shadow* New() const;
   void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
   void CopyFrom(const LayersPacket_Layer_Shadow& from);
   void MergeFrom(const LayersPacket_Layer_Shadow& from);
   void Clear();
   bool IsInitialized() const;
-  
+
   int ByteSize() const;
   bool MergePartialFromCodedStream(
       ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
       ::google::protobuf::io::CodedOutputStream* output) const;
+  void DiscardUnknownFields();
   int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
   void SetCachedSize(int size) const;
   public:
-  
   ::std::string GetTypeName() const;
-  
+
   // nested types ----------------------------------------------------
-  
+
   // accessors -------------------------------------------------------
-  
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Rect clip = 1;
   inline bool has_clip() const;
   inline void clear_clip();
   static const int kClipFieldNumber = 1;
   inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Rect& clip() const;
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* mutable_clip();
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* release_clip();
-  
+  inline void set_allocated_clip(::mozilla::layers::layerscope::LayersPacket_Layer_Rect* clip);
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Matrix transform = 2;
   inline bool has_transform() const;
   inline void clear_transform();
   static const int kTransformFieldNumber = 2;
   inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix& transform() const;
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* mutable_transform();
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* release_transform();
-  
+  inline void set_allocated_transform(::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* transform);
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vRegion = 3;
   inline bool has_vregion() const;
   inline void clear_vregion();
   static const int kVRegionFieldNumber = 3;
   inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& vregion() const;
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* mutable_vregion();
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* release_vregion();
-  
+  inline void set_allocated_vregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* vregion);
+
   // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.LayersPacket.Layer.Shadow)
  private:
   inline void set_has_clip();
   inline void clear_has_clip();
   inline void set_has_transform();
   inline void clear_has_transform();
   inline void set_has_vregion();
   inline void clear_has_vregion();
-  
+
+  ::std::string _unknown_fields_;
+
+  ::google::protobuf::uint32 _has_bits_[1];
+  mutable int _cached_size_;
   ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* clip_;
   ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* transform_;
   ::mozilla::layers::layerscope::LayersPacket_Layer_Region* vregion_;
-  
-  mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32];
-  
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
+  #else
   friend void  protobuf_AddDesc_LayerScopePacket_2eproto();
+  #endif
   friend void protobuf_AssignDesc_LayerScopePacket_2eproto();
   friend void protobuf_ShutdownFile_LayerScopePacket_2eproto();
-  
+
   void InitAsDefaultInstance();
   static LayersPacket_Layer_Shadow* default_instance_;
 };
 // -------------------------------------------------------------------
 
 class LayersPacket_Layer : public ::google::protobuf::MessageLite {
  public:
   LayersPacket_Layer();
   virtual ~LayersPacket_Layer();
-  
+
   LayersPacket_Layer(const LayersPacket_Layer& from);
-  
+
   inline LayersPacket_Layer& operator=(const LayersPacket_Layer& from) {
     CopyFrom(from);
     return *this;
   }
-  
+
+  inline const ::std::string& unknown_fields() const {
+    return _unknown_fields_;
+  }
+
+  inline ::std::string* mutable_unknown_fields() {
+    return &_unknown_fields_;
+  }
+
   static const LayersPacket_Layer& default_instance();
-  
+
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  // Returns the internal default instance pointer. This function can
+  // return NULL thus should not be used by the user. This is intended
+  // for Protobuf internal code. Please use default_instance() declared
+  // above instead.
+  static inline const LayersPacket_Layer* internal_default_instance() {
+    return default_instance_;
+  }
+  #endif
+
   void Swap(LayersPacket_Layer* other);
-  
+
   // implements Message ----------------------------------------------
-  
+
   LayersPacket_Layer* New() const;
   void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
   void CopyFrom(const LayersPacket_Layer& from);
   void MergeFrom(const LayersPacket_Layer& from);
   void Clear();
   bool IsInitialized() const;
-  
+
   int ByteSize() const;
   bool MergePartialFromCodedStream(
       ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
       ::google::protobuf::io::CodedOutputStream* output) const;
+  void DiscardUnknownFields();
   int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
   void SetCachedSize(int size) const;
   public:
-  
   ::std::string GetTypeName() const;
-  
+
   // nested types ----------------------------------------------------
-  
+
   typedef LayersPacket_Layer_Size Size;
   typedef LayersPacket_Layer_Rect Rect;
   typedef LayersPacket_Layer_Region Region;
   typedef LayersPacket_Layer_Matrix Matrix;
   typedef LayersPacket_Layer_Shadow Shadow;
-  
+
   typedef LayersPacket_Layer_LayerType LayerType;
   static const LayerType UnknownLayer = LayersPacket_Layer_LayerType_UnknownLayer;
   static const LayerType LayerManager = LayersPacket_Layer_LayerType_LayerManager;
   static const LayerType ContainerLayer = LayersPacket_Layer_LayerType_ContainerLayer;
   static const LayerType PaintedLayer = LayersPacket_Layer_LayerType_PaintedLayer;
   static const LayerType CanvasLayer = LayersPacket_Layer_LayerType_CanvasLayer;
   static const LayerType ImageLayer = LayersPacket_Layer_LayerType_ImageLayer;
   static const LayerType ColorLayer = LayersPacket_Layer_LayerType_ColorLayer;
@@ -930,30 +1129,30 @@ class LayersPacket_Layer : public ::goog
     return LayersPacket_Layer_LayerType_IsValid(value);
   }
   static const LayerType LayerType_MIN =
     LayersPacket_Layer_LayerType_LayerType_MIN;
   static const LayerType LayerType_MAX =
     LayersPacket_Layer_LayerType_LayerType_MAX;
   static const int LayerType_ARRAYSIZE =
     LayersPacket_Layer_LayerType_LayerType_ARRAYSIZE;
-  
+
   typedef LayersPacket_Layer_ScrollingDirect ScrollingDirect;
   static const ScrollingDirect VERTICAL = LayersPacket_Layer_ScrollingDirect_VERTICAL;
   static const ScrollingDirect HORIZONTAL = LayersPacket_Layer_ScrollingDirect_HORIZONTAL;
   static inline bool ScrollingDirect_IsValid(int value) {
     return LayersPacket_Layer_ScrollingDirect_IsValid(value);
   }
   static const ScrollingDirect ScrollingDirect_MIN =
     LayersPacket_Layer_ScrollingDirect_ScrollingDirect_MIN;
   static const ScrollingDirect ScrollingDirect_MAX =
     LayersPacket_Layer_ScrollingDirect_ScrollingDirect_MAX;
   static const int ScrollingDirect_ARRAYSIZE =
     LayersPacket_Layer_ScrollingDirect_ScrollingDirect_ARRAYSIZE;
-  
+
   typedef LayersPacket_Layer_Filter Filter;
   static const Filter FILTER_FAST = LayersPacket_Layer_Filter_FILTER_FAST;
   static const Filter FILTER_GOOD = LayersPacket_Layer_Filter_FILTER_GOOD;
   static const Filter FILTER_BEST = LayersPacket_Layer_Filter_FILTER_BEST;
   static const Filter FILTER_NEAREST = LayersPacket_Layer_Filter_FILTER_NEAREST;
   static const Filter FILTER_BILINEAR = LayersPacket_Layer_Filter_FILTER_BILINEAR;
   static const Filter FILTER_GAUSSIAN = LayersPacket_Layer_Filter_FILTER_GAUSSIAN;
   static const Filter FILTER_SENTINEL = LayersPacket_Layer_Filter_FILTER_SENTINEL;
@@ -961,191 +1160,202 @@ class LayersPacket_Layer : public ::goog
     return LayersPacket_Layer_Filter_IsValid(value);
   }
   static const Filter Filter_MIN =
     LayersPacket_Layer_Filter_Filter_MIN;
   static const Filter Filter_MAX =
     LayersPacket_Layer_Filter_Filter_MAX;
   static const int Filter_ARRAYSIZE =
     LayersPacket_Layer_Filter_Filter_ARRAYSIZE;
-  
+
   // accessors -------------------------------------------------------
-  
+
   // required .mozilla.layers.layerscope.LayersPacket.Layer.LayerType type = 1;
   inline bool has_type() const;
   inline void clear_type();
   static const int kTypeFieldNumber = 1;
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_LayerType type() const;
   inline void set_type(::mozilla::layers::layerscope::LayersPacket_Layer_LayerType value);
-  
+
   // required uint64 ptr = 2;
   inline bool has_ptr() const;
   inline void clear_ptr();
   static const int kPtrFieldNumber = 2;
   inline ::google::protobuf::uint64 ptr() const;
   inline void set_ptr(::google::protobuf::uint64 value);
-  
+
   // required uint64 parentPtr = 3;
   inline bool has_parentptr() const;
   inline void clear_parentptr();
   static const int kParentPtrFieldNumber = 3;
   inline ::google::protobuf::uint64 parentptr() const;
   inline void set_parentptr(::google::protobuf::uint64 value);
-  
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Rect clip = 10;
   inline bool has_clip() const;
   inline void clear_clip();
   static const int kClipFieldNumber = 10;
   inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Rect& clip() const;
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* mutable_clip();
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* release_clip();
-  
+  inline void set_allocated_clip(::mozilla::layers::layerscope::LayersPacket_Layer_Rect* clip);
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Matrix transform = 11;
   inline bool has_transform() const;
   inline void clear_transform();
   static const int kTransformFieldNumber = 11;
   inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix& transform() const;
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* mutable_transform();
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* release_transform();
-  
+  inline void set_allocated_transform(::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* transform);
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vRegion = 12;
   inline bool has_vregion() const;
   inline void clear_vregion();
   static const int kVRegionFieldNumber = 12;
   inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& vregion() const;
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* mutable_vregion();
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* release_vregion();
-  
+  inline void set_allocated_vregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* vregion);
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Shadow shadow = 13;
   inline bool has_shadow() const;
   inline void clear_shadow();
   static const int kShadowFieldNumber = 13;
   inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow& shadow() const;
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow* mutable_shadow();
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow* release_shadow();
-  
+  inline void set_allocated_shadow(::mozilla::layers::layerscope::LayersPacket_Layer_Shadow* shadow);
+
   // optional float opacity = 14;
   inline bool has_opacity() const;
   inline void clear_opacity();
   static const int kOpacityFieldNumber = 14;
   inline float opacity() const;
   inline void set_opacity(float value);
-  
+
   // optional bool cOpaque = 15;
   inline bool has_copaque() const;
   inline void clear_copaque();
   static const int kCOpaqueFieldNumber = 15;
   inline bool copaque() const;
   inline void set_copaque(bool value);
-  
+
   // optional bool cAlpha = 16;
   inline bool has_calpha() const;
   inline void clear_calpha();
   static const int kCAlphaFieldNumber = 16;
   inline bool calpha() const;
   inline void set_calpha(bool value);
-  
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.ScrollingDirect direct = 17;
   inline bool has_direct() const;
   inline void clear_direct();
   static const int kDirectFieldNumber = 17;
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_ScrollingDirect direct() const;
   inline void set_direct(::mozilla::layers::layerscope::LayersPacket_Layer_ScrollingDirect value);
-  
+
   // optional uint64 barID = 18;
   inline bool has_barid() const;
   inline void clear_barid();
   static const int kBarIDFieldNumber = 18;
   inline ::google::protobuf::uint64 barid() const;
   inline void set_barid(::google::protobuf::uint64 value);
-  
+
   // optional uint64 mask = 19;
   inline bool has_mask() const;
   inline void clear_mask();
   static const int kMaskFieldNumber = 19;
   inline ::google::protobuf::uint64 mask() const;
   inline void set_mask(::google::protobuf::uint64 value);
-  
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region hitRegion = 20;
   inline bool has_hitregion() const;
   inline void clear_hitregion();
   static const int kHitRegionFieldNumber = 20;
   inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& hitregion() const;
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* mutable_hitregion();
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* release_hitregion();
-  
+  inline void set_allocated_hitregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* hitregion);
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region dispatchRegion = 21;
   inline bool has_dispatchregion() const;
   inline void clear_dispatchregion();
   static const int kDispatchRegionFieldNumber = 21;
   inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& dispatchregion() const;
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* mutable_dispatchregion();
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* release_dispatchregion();
-  
+  inline void set_allocated_dispatchregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* dispatchregion);
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region noActionRegion = 22;
   inline bool has_noactionregion() const;
   inline void clear_noactionregion();
   static const int kNoActionRegionFieldNumber = 22;
   inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& noactionregion() const;
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* mutable_noactionregion();
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* release_noactionregion();
-  
+  inline void set_allocated_noactionregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* noactionregion);
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region hPanRegion = 23;
   inline bool has_hpanregion() const;
   inline void clear_hpanregion();
   static const int kHPanRegionFieldNumber = 23;
   inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& hpanregion() const;
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* mutable_hpanregion();
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* release_hpanregion();
-  
+  inline void set_allocated_hpanregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* hpanregion);
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vPanRegion = 24;
   inline bool has_vpanregion() const;
   inline void clear_vpanregion();
   static const int kVPanRegionFieldNumber = 24;
   inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& vpanregion() const;
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* mutable_vpanregion();
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* release_vpanregion();
-  
+  inline void set_allocated_vpanregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* vpanregion);
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region valid = 100;
   inline bool has_valid() const;
   inline void clear_valid();
   static const int kValidFieldNumber = 100;
   inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& valid() const;
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* mutable_valid();
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* release_valid();
-  
+  inline void set_allocated_valid(::mozilla::layers::layerscope::LayersPacket_Layer_Region* valid);
+
   // optional uint32 color = 101;
   inline bool has_color() const;
   inline void clear_color();
   static const int kColorFieldNumber = 101;
   inline ::google::protobuf::uint32 color() const;
   inline void set_color(::google::protobuf::uint32 value);
-  
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Filter filter = 102;
   inline bool has_filter() const;
   inline void clear_filter();
   static const int kFilterFieldNumber = 102;
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Filter filter() const;
   inline void set_filter(::mozilla::layers::layerscope::LayersPacket_Layer_Filter value);
-  
+
   // optional uint64 refID = 103;
   inline bool has_refid() const;
   inline void clear_refid();
   static const int kRefIDFieldNumber = 103;
   inline ::google::protobuf::uint64 refid() const;
   inline void set_refid(::google::protobuf::uint64 value);
-  
+
   // optional .mozilla.layers.layerscope.LayersPacket.Layer.Size size = 104;
   inline bool has_size() const;
   inline void clear_size();
   static const int kSizeFieldNumber = 104;
   inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Size& size() const;
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Size* mutable_size();
   inline ::mozilla::layers::layerscope::LayersPacket_Layer_Size* release_size();
-  
+  inline void set_allocated_size(::mozilla::layers::layerscope::LayersPacket_Layer_Size* size);
+
   // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.LayersPacket.Layer)
  private:
   inline void set_has_type();
   inline void clear_has_type();
   inline void set_has_ptr();
   inline void clear_has_ptr();
   inline void set_has_parentptr();
   inline void clear_has_parentptr();
@@ -1184,17 +1394,21 @@ class LayersPacket_Layer : public ::goog
   inline void set_has_color();
   inline void clear_has_color();
   inline void set_has_filter();
   inline void clear_has_filter();
   inline void set_has_refid();
   inline void clear_has_refid();
   inline void set_has_size();
   inline void clear_has_size();
-  
+
+  ::std::string _unknown_fields_;
+
+  ::google::protobuf::uint32 _has_bits_[1];
+  mutable int _cached_size_;
   ::google::protobuf::uint64 ptr_;
   ::google::protobuf::uint64 parentptr_;
   ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* clip_;
   int type_;
   float opacity_;
   ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* transform_;
   ::mozilla::layers::layerscope::LayersPacket_Layer_Region* vregion_;
   ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow* shadow_;
@@ -1208,439 +1422,545 @@ class LayersPacket_Layer : public ::goog
   ::mozilla::layers::layerscope::LayersPacket_Layer_Region* noactionregion_;
   ::mozilla::layers::layerscope::LayersPacket_Layer_Region* hpanregion_;
   ::mozilla::layers::layerscope::LayersPacket_Layer_Region* vpanregion_;
   ::mozilla::layers::layerscope::LayersPacket_Layer_Region* valid_;
   ::google::protobuf::uint32 color_;
   int filter_;
   ::google::protobuf::uint64 refid_;
   ::mozilla::layers::layerscope::LayersPacket_Layer_Size* size_;
-  
-  mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(23 + 31) / 32];
-  
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
+  #else
   friend void  protobuf_AddDesc_LayerScopePacket_2eproto();
+  #endif
   friend void protobuf_AssignDesc_LayerScopePacket_2eproto();
   friend void protobuf_ShutdownFile_LayerScopePacket_2eproto();
-  
+
   void InitAsDefaultInstance();
   static LayersPacket_Layer* default_instance_;
 };
 // -------------------------------------------------------------------
 
 class LayersPacket : public ::google::protobuf::MessageLite {
  public:
   LayersPacket();
   virtual ~LayersPacket();
-  
+
   LayersPacket(const LayersPacket& from);
-  
+
   inline LayersPacket& operator=(const LayersPacket& from) {
     CopyFrom(from);
     return *this;
   }
-  
+
+  inline const ::std::string& unknown_fields() const {
+    return _unknown_fields_;
+  }
+
+  inline ::std::string* mutable_unknown_fields() {
+    return &_unknown_fields_;
+  }
+
   static const LayersPacket& default_instance();
-  
+
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  // Returns the internal default instance pointer. This function can
+  // return NULL thus should not be used by the user. This is intended
+  // for Protobuf internal code. Please use default_instance() declared
+  // above instead.
+  static inline const LayersPacket* internal_default_instance() {
+    return default_instance_;
+  }
+  #endif
+
   void Swap(LayersPacket* other);
-  
+
   // implements Message ----------------------------------------------
-  
+
   LayersPacket* New() const;
   void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
   void CopyFrom(const LayersPacket& from);
   void MergeFrom(const LayersPacket& from);
   void Clear();
   bool IsInitialized() const;
-  
+
   int ByteSize() const;
   bool MergePartialFromCodedStream(
       ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
       ::google::protobuf::io::CodedOutputStream* output) const;
+  void DiscardUnknownFields();
   int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
   void SetCachedSize(int size) const;
   public:
-  
   ::std::string GetTypeName() const;
-  
+
   // nested types ----------------------------------------------------
-  
+
   typedef LayersPacket_Layer Layer;
-  
+
   // accessors -------------------------------------------------------
-  
+
   // repeated .mozilla.layers.layerscope.LayersPacket.Layer layer = 1;
   inline int layer_size() const;
   inline void clear_layer();
   static const int kLayerFieldNumber = 1;
   inline const ::mozilla::layers::layerscope::LayersPacket_Layer& layer(int index) const;
   inline ::mozilla::layers::layerscope::LayersPacket_Layer* mutable_layer(int index);
   inline ::mozilla::layers::layerscope::LayersPacket_Layer* add_layer();
   inline const ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer >&
       layer() const;
   inline ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer >*
       mutable_layer();
-  
+
   // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.LayersPacket)
  private:
-  
-  ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer > layer_;
-  
+
+  ::std::string _unknown_fields_;
+
+  ::google::protobuf::uint32 _has_bits_[1];
   mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
-  
+  ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer > layer_;
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
+  #else
   friend void  protobuf_AddDesc_LayerScopePacket_2eproto();
+  #endif
   friend void protobuf_AssignDesc_LayerScopePacket_2eproto();
   friend void protobuf_ShutdownFile_LayerScopePacket_2eproto();
-  
+
   void InitAsDefaultInstance();
   static LayersPacket* default_instance_;
 };
 // -------------------------------------------------------------------
 
 class MetaPacket : public ::google::protobuf::MessageLite {
  public:
   MetaPacket();
   virtual ~MetaPacket();
-  
+
   MetaPacket(const MetaPacket& from);
-  
+
   inline MetaPacket& operator=(const MetaPacket& from) {
     CopyFrom(from);
     return *this;
   }
-  
+
+  inline const ::std::string& unknown_fields() const {
+    return _unknown_fields_;
+  }
+
+  inline ::std::string* mutable_unknown_fields() {
+    return &_unknown_fields_;
+  }
+
   static const MetaPacket& default_instance();
-  
+
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  // Returns the internal default instance pointer. This function can
+  // return NULL thus should not be used by the user. This is intended
+  // for Protobuf internal code. Please use default_instance() declared
+  // above instead.
+  static inline const MetaPacket* internal_default_instance() {
+    return default_instance_;
+  }
+  #endif
+
   void Swap(MetaPacket* other);
-  
+
   // implements Message ----------------------------------------------
-  
+
   MetaPacket* New() const;
   void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
   void CopyFrom(const MetaPacket& from);
   void MergeFrom(const MetaPacket& from);
   void Clear();
   bool IsInitialized() const;
-  
+
   int ByteSize() const;
   bool MergePartialFromCodedStream(
       ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
       ::google::protobuf::io::CodedOutputStream* output) const;
+  void DiscardUnknownFields();
   int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
   void SetCachedSize(int size) const;
   public:
-  
   ::std::string GetTypeName() const;
-  
+
   // nested types ----------------------------------------------------
-  
+
   // accessors -------------------------------------------------------
-  
+
   // optional bool composedByHwc = 1;
   inline bool has_composedbyhwc() const;
   inline void clear_composedbyhwc();
   static const int kComposedByHwcFieldNumber = 1;
   inline bool composedbyhwc() const;
   inline void set_composedbyhwc(bool value);
-  
+
   // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.MetaPacket)
  private:
   inline void set_has_composedbyhwc();
   inline void clear_has_composedbyhwc();
-  
-  bool composedbyhwc_;
-  
+
+  ::std::string _unknown_fields_;
+
+  ::google::protobuf::uint32 _has_bits_[1];
   mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
-  
+  bool composedbyhwc_;
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
+  #else
   friend void  protobuf_AddDesc_LayerScopePacket_2eproto();
+  #endif
   friend void protobuf_AssignDesc_LayerScopePacket_2eproto();
   friend void protobuf_ShutdownFile_LayerScopePacket_2eproto();
-  
+
   void InitAsDefaultInstance();
   static MetaPacket* default_instance_;
 };
 // -------------------------------------------------------------------
 
 class DrawPacket_Rect : public ::google::protobuf::MessageLite {
  public:
   DrawPacket_Rect();
   virtual ~DrawPacket_Rect();
-  
+
   DrawPacket_Rect(const DrawPacket_Rect& from);
-  
+
   inline DrawPacket_Rect& operator=(const DrawPacket_Rect& from) {
     CopyFrom(from);
     return *this;
   }
-  
+
+  inline const ::std::string& unknown_fields() const {
+    return _unknown_fields_;
+  }
+
+  inline ::std::string* mutable_unknown_fields() {
+    return &_unknown_fields_;
+  }
+
   static const DrawPacket_Rect& default_instance();
-  
+
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  // Returns the internal default instance pointer. This function can
+  // return NULL thus should not be used by the user. This is intended
+  // for Protobuf internal code. Please use default_instance() declared
+  // above instead.
+  static inline const DrawPacket_Rect* internal_default_instance() {
+    return default_instance_;
+  }
+  #endif
+
   void Swap(DrawPacket_Rect* other);
-  
+
   // implements Message ----------------------------------------------
-  
+
   DrawPacket_Rect* New() const;
   void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
   void CopyFrom(const DrawPacket_Rect& from);
   void MergeFrom(const DrawPacket_Rect& from);
   void Clear();
   bool IsInitialized() const;
-  
+
   int ByteSize() const;
   bool MergePartialFromCodedStream(
       ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
       ::google::protobuf::io::CodedOutputStream* output) const;
+  void DiscardUnknownFields();
   int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
   void SetCachedSize(int size) const;
   public:
-  
   ::std::string GetTypeName() const;
-  
+
   // nested types ----------------------------------------------------
-  
+
   // accessors -------------------------------------------------------
-  
+
   // required float x = 1;
   inline bool has_x() const;
   inline void clear_x();
   static const int kXFieldNumber = 1;
   inline float x() const;
   inline void set_x(float value);
-  
+
   // required float y = 2;
   inline bool has_y() const;
   inline void clear_y();
   static const int kYFieldNumber = 2;
   inline float y() const;
   inline void set_y(float value);
-  
+
   // required float w = 3;
   inline bool has_w() const;
   inline void clear_w();
   static const int kWFieldNumber = 3;
   inline float w() const;
   inline void set_w(float value);
-  
+
   // required float h = 4;
   inline bool has_h() const;
   inline void clear_h();
   static const int kHFieldNumber = 4;
   inline float h() const;
   inline void set_h(float value);
-  
+
   // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.DrawPacket.Rect)
  private:
   inline void set_has_x();
   inline void clear_has_x();
   inline void set_has_y();
   inline void clear_has_y();
   inline void set_has_w();
   inline void clear_has_w();
   inline void set_has_h();
   inline void clear_has_h();
-  
+
+  ::std::string _unknown_fields_;
+
+  ::google::protobuf::uint32 _has_bits_[1];
+  mutable int _cached_size_;
   float x_;
   float y_;
   float w_;
   float h_;
-  
-  mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(4 + 31) / 32];
-  
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
+  #else
   friend void  protobuf_AddDesc_LayerScopePacket_2eproto();
+  #endif
   friend void protobuf_AssignDesc_LayerScopePacket_2eproto();
   friend void protobuf_ShutdownFile_LayerScopePacket_2eproto();
-  
+
   void InitAsDefaultInstance();
   static DrawPacket_Rect* default_instance_;
 };
 // -------------------------------------------------------------------
 
 class DrawPacket : public ::google::protobuf::MessageLite {
  public:
   DrawPacket();
   virtual ~DrawPacket();
-  
+
   DrawPacket(const DrawPacket& from);
-  
+
   inline DrawPacket& operator=(const DrawPacket& from) {
     CopyFrom(from);
     return *this;
   }
-  
+
+  inline const ::std::string& unknown_fields() const {
+    return _unknown_fields_;
+  }
+
+  inline ::std::string* mutable_unknown_fields() {
+    return &_unknown_fields_;
+  }
+
   static const DrawPacket& default_instance();
-  
+
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  // Returns the internal default instance pointer. This function can
+  // return NULL thus should not be used by the user. This is intended
+  // for Protobuf internal code. Please use default_instance() declared
+  // above instead.
+  static inline const DrawPacket* internal_default_instance() {
+    return default_instance_;
+  }
+  #endif
+
   void Swap(DrawPacket* other);
-  
+
   // implements Message ----------------------------------------------
-  
+
   DrawPacket* New() const;
   void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
   void CopyFrom(const DrawPacket& from);
   void MergeFrom(const DrawPacket& from);
   void Clear();
   bool IsInitialized() const;
-  
+
   int ByteSize() const;
   bool MergePartialFromCodedStream(
       ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
       ::google::protobuf::io::CodedOutputStream* output) const;
+  void DiscardUnknownFields();
   int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
   void SetCachedSize(int size) const;
   public:
-  
   ::std::string GetTypeName() const;
-  
+
   // nested types ----------------------------------------------------
-  
+
   typedef DrawPacket_Rect Rect;
-  
+
   // accessors -------------------------------------------------------
-  
+
   // required float offsetX = 1;
   inline bool has_offsetx() const;
   inline void clear_offsetx();
   static const int kOffsetXFieldNumber = 1;
   inline float offsetx() const;
   inline void set_offsetx(float value);
-  
+
   // required float offsetY = 2;
   inline bool has_offsety() const;
   inline void clear_offsety();
   static const int kOffsetYFieldNumber = 2;
   inline float offsety() const;
   inline void set_offsety(float value);
-  
+
   // repeated float mvMatrix = 3;
   inline int mvmatrix_size() const;
   inline void clear_mvmatrix();
   static const int kMvMatrixFieldNumber = 3;
   inline float mvmatrix(int index) const;
   inline void set_mvmatrix(int index, float value);
   inline void add_mvmatrix(float value);
   inline const ::google::protobuf::RepeatedField< float >&
       mvmatrix() const;
   inline ::google::protobuf::RepeatedField< float >*
       mutable_mvmatrix();
-  
+
   // required uint32 totalRects = 4;
   inline bool has_totalrects() const;
   inline void clear_totalrects();
   static const int kTotalRectsFieldNumber = 4;
   inline ::google::protobuf::uint32 totalrects() const;
   inline void set_totalrects(::google::protobuf::uint32 value);
-  
+
   // repeated .mozilla.layers.layerscope.DrawPacket.Rect layerRect = 5;
   inline int layerrect_size() const;
   inline void clear_layerrect();
   static const int kLayerRectFieldNumber = 5;
   inline const ::mozilla::layers::layerscope::DrawPacket_Rect& layerrect(int index) const;
   inline ::mozilla::layers::layerscope::DrawPacket_Rect* mutable_layerrect(int index);
   inline ::mozilla::layers::layerscope::DrawPacket_Rect* add_layerrect();
   inline const ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::DrawPacket_Rect >&
       layerrect() const;
   inline ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::DrawPacket_Rect >*
       mutable_layerrect();
-  
+
   // required uint64 layerref = 6;
   inline bool has_layerref() const;
   inline void clear_layerref();
   static const int kLayerrefFieldNumber = 6;
   inline ::google::protobuf::uint64 layerref() const;
   inline void set_layerref(::google::protobuf::uint64 value);
-  
+
   // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.DrawPacket)
  private:
   inline void set_has_offsetx();
   inline void clear_has_offsetx();
   inline void set_has_offsety();
   inline void clear_has_offsety();
   inline void set_has_totalrects();
   inline void clear_has_totalrects();
   inline void set_has_layerref();
   inline void clear_has_layerref();
-  
+
+  ::std::string _unknown_fields_;
+
+  ::google::protobuf::uint32 _has_bits_[1];
+  mutable int _cached_size_;
   float offsetx_;
   float offsety_;
   ::google::protobuf::RepeatedField< float > mvmatrix_;
   ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::DrawPacket_Rect > layerrect_;
   ::google::protobuf::uint64 layerref_;
   ::google::protobuf::uint32 totalrects_;
-  
-  mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(6 + 31) / 32];
-  
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
+  #else
   friend void  protobuf_AddDesc_LayerScopePacket_2eproto();
+  #endif
   friend void protobuf_AssignDesc_LayerScopePacket_2eproto();
   friend void protobuf_ShutdownFile_LayerScopePacket_2eproto();
-  
+
   void InitAsDefaultInstance();
   static DrawPacket* default_instance_;
 };
 // -------------------------------------------------------------------
 
 class Packet : public ::google::protobuf::MessageLite {
  public:
   Packet();
   virtual ~Packet();
-  
+
   Packet(const Packet& from);
-  
+
   inline Packet& operator=(const Packet& from) {
     CopyFrom(from);
     return *this;
   }
-  
+
+  inline const ::std::string& unknown_fields() const {
+    return _unknown_fields_;
+  }
+
+  inline ::std::string* mutable_unknown_fields() {
+    return &_unknown_fields_;
+  }
+
   static const Packet& default_instance();
-  
+
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  // Returns the internal default instance pointer. This function can
+  // return NULL thus should not be used by the user. This is intended
+  // for Protobuf internal code. Please use default_instance() declared
+  // above instead.
+  static inline const Packet* internal_default_instance() {
+    return default_instance_;
+  }
+  #endif
+
   void Swap(Packet* other);
-  
+
   // implements Message ----------------------------------------------
-  
+
   Packet* New() const;
   void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
   void CopyFrom(const Packet& from);
   void MergeFrom(const Packet& from);
   void Clear();
   bool IsInitialized() const;
-  
+
   int ByteSize() const;
   bool MergePartialFromCodedStream(
       ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
       ::google::protobuf::io::CodedOutputStream* output) const;
+  void DiscardUnknownFields();
   int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
   void SetCachedSize(int size) const;
   public:
-  
   ::std::string GetTypeName() const;
-  
+
   // nested types ----------------------------------------------------
-  
+
   typedef Packet_DataType DataType;
   static const DataType FRAMESTART = Packet_DataType_FRAMESTART;
   static const DataType FRAMEEND = Packet_DataType_FRAMEEND;
   static const DataType COLOR = Packet_DataType_COLOR;
   static const DataType TEXTURE = Packet_DataType_TEXTURE;
   static const DataType LAYERS = Packet_DataType_LAYERS;
   static const DataType META = Packet_DataType_META;
   static const DataType DRAW = Packet_DataType_DRAW;
@@ -1648,199 +1968,231 @@ class Packet : public ::google::protobuf
     return Packet_DataType_IsValid(value);
   }
   static const DataType DataType_MIN =
     Packet_DataType_DataType_MIN;
   static const DataType DataType_MAX =
     Packet_DataType_DataType_MAX;
   static const int DataType_ARRAYSIZE =
     Packet_DataType_DataType_ARRAYSIZE;
-  
+
   // accessors -------------------------------------------------------
-  
+
   // required .mozilla.layers.layerscope.Packet.DataType type = 1;
   inline bool has_type() const;
   inline void clear_type();
   static const int kTypeFieldNumber = 1;
   inline ::mozilla::layers::layerscope::Packet_DataType type() const;
   inline void set_type(::mozilla::layers::layerscope::Packet_DataType value);
-  
+
   // optional .mozilla.layers.layerscope.FramePacket frame = 2;
   inline bool has_frame() const;
   inline void clear_frame();
   static const int kFrameFieldNumber = 2;
   inline const ::mozilla::layers::layerscope::FramePacket& frame() const;
   inline ::mozilla::layers::layerscope::FramePacket* mutable_frame();
   inline ::mozilla::layers::layerscope::FramePacket* release_frame();
-  
+  inline void set_allocated_frame(::mozilla::layers::layerscope::FramePacket* frame);
+
   // optional .mozilla.layers.layerscope.ColorPacket color = 3;
   inline bool has_color() const;
   inline void clear_color();
   static const int kColorFieldNumber = 3;
   inline const ::mozilla::layers::layerscope::ColorPacket& color() const;
   inline ::mozilla::layers::layerscope::ColorPacket* mutable_color();
   inline ::mozilla::layers::layerscope::ColorPacket* release_color();
-  
+  inline void set_allocated_color(::mozilla::layers::layerscope::ColorPacket* color);
+
   // optional .mozilla.layers.layerscope.TexturePacket texture = 4;
   inline bool has_texture() const;
   inline void clear_texture();
   static const int kTextureFieldNumber = 4;
   inline const ::mozilla::layers::layerscope::TexturePacket& texture() const;
   inline ::mozilla::layers::layerscope::TexturePacket* mutable_texture();
   inline ::mozilla::layers::layerscope::TexturePacket* release_texture();
-  
+  inline void set_allocated_texture(::mozilla::layers::layerscope::TexturePacket* texture);
+
   // optional .mozilla.layers.layerscope.LayersPacket layers = 5;
   inline bool has_layers() const;
   inline void clear_layers();
   static const int kLayersFieldNumber = 5;
   inline const ::mozilla::layers::layerscope::LayersPacket& layers() const;
   inline ::mozilla::layers::layerscope::LayersPacket* mutable_layers();
   inline ::mozilla::layers::layerscope::LayersPacket* release_layers();
-  
+  inline void set_allocated_layers(::mozilla::layers::layerscope::LayersPacket* layers);
+
   // optional .mozilla.layers.layerscope.MetaPacket meta = 6;
   inline bool has_meta() const;
   inline void clear_meta();
   static const int kMetaFieldNumber = 6;
   inline const ::mozilla::layers::layerscope::MetaPacket& meta() const;
   inline ::mozilla::layers::layerscope::MetaPacket* mutable_meta();
   inline ::mozilla::layers::layerscope::MetaPacket* release_meta();
-  
+  inline void set_allocated_meta(::mozilla::layers::layerscope::MetaPacket* meta);
+
   // optional .mozilla.layers.layerscope.DrawPacket draw = 7;
   inline bool has_draw() const;
   inline void clear_draw();
   static const int kDrawFieldNumber = 7;
   inline const ::mozilla::layers::layerscope::DrawPacket& draw() const;
   inline ::mozilla::layers::layerscope::DrawPacket* mutable_draw();
   inline ::mozilla::layers::layerscope::DrawPacket* release_draw();
-  
+  inline void set_allocated_draw(::mozilla::layers::layerscope::DrawPacket* draw);
+
   // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.Packet)
  private:
   inline void set_has_type();
   inline void clear_has_type();
   inline void set_has_frame();
   inline void clear_has_frame();
   inline void set_has_color();
   inline void clear_has_color();
   inline void set_has_texture();
   inline void clear_has_texture();
   inline void set_has_layers();
   inline void clear_has_layers();
   inline void set_has_meta();
   inline void clear_has_meta();
   inline void set_has_draw();
   inline void clear_has_draw();
-  
+
+  ::std::string _unknown_fields_;
+
+  ::google::protobuf::uint32 _has_bits_[1];
+  mutable int _cached_size_;
   ::mozilla::layers::layerscope::FramePacket* frame_;
   ::mozilla::layers::layerscope::ColorPacket* color_;
   ::mozilla::layers::layerscope::TexturePacket* texture_;
   ::mozilla::layers::layerscope::LayersPacket* layers_;
   ::mozilla::layers::layerscope::MetaPacket* meta_;
   ::mozilla::layers::layerscope::DrawPacket* draw_;
   int type_;
-  
-  mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(7 + 31) / 32];
-  
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
+  #else
   friend void  protobuf_AddDesc_LayerScopePacket_2eproto();
+  #endif
   friend void protobuf_AssignDesc_LayerScopePacket_2eproto();
   friend void protobuf_ShutdownFile_LayerScopePacket_2eproto();
-  
+
   void InitAsDefaultInstance();
   static Packet* default_instance_;
 };
 // -------------------------------------------------------------------
 
 class CommandPacket : public ::google::protobuf::MessageLite {
  public:
   CommandPacket();
   virtual ~CommandPacket();
-  
+
   CommandPacket(const CommandPacket& from);
-  
+
   inline CommandPacket& operator=(const CommandPacket& from) {
     CopyFrom(from);
     return *this;
   }
-  
+
+  inline const ::std::string& unknown_fields() const {
+    return _unknown_fields_;
+  }
+
+  inline ::std::string* mutable_unknown_fields() {
+    return &_unknown_fields_;
+  }
+
   static const CommandPacket& default_instance();
-  
+
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  // Returns the internal default instance pointer. This function can
+  // return NULL thus should not be used by the user. This is intended
+  // for Protobuf internal code. Please use default_instance() declared
+  // above instead.
+  static inline const CommandPacket* internal_default_instance() {
+    return default_instance_;
+  }
+  #endif
+
   void Swap(CommandPacket* other);
-  
+
   // implements Message ----------------------------------------------
-  
+
   CommandPacket* New() const;
   void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
   void CopyFrom(const CommandPacket& from);
   void MergeFrom(const CommandPacket& from);
   void Clear();
   bool IsInitialized() const;
-  
+
   int ByteSize() const;
   bool MergePartialFromCodedStream(
       ::google::protobuf::io::CodedInputStream* input);
   void SerializeWithCachedSizes(
       ::google::protobuf::io::CodedOutputStream* output) const;
+  void DiscardUnknownFields();
   int GetCachedSize() const { return _cached_size_; }
   private:
   void SharedCtor();
   void SharedDtor();
   void SetCachedSize(int size) const;
   public:
-  
   ::std::string GetTypeName() const;
-  
+
   // nested types ----------------------------------------------------
-  
+
   typedef CommandPacket_CmdType CmdType;
   static const CmdType NO_OP = CommandPacket_CmdType_NO_OP;
   static const CmdType LAYERS_TREE = CommandPacket_CmdType_LAYERS_TREE;
   static const CmdType LAYERS_BUFFER = CommandPacket_CmdType_LAYERS_BUFFER;
   static inline bool CmdType_IsValid(int value) {
     return CommandPacket_CmdType_IsValid(value);
   }
   static const CmdType CmdType_MIN =
     CommandPacket_CmdType_CmdType_MIN;
   static const CmdType CmdType_MAX =
     CommandPacket_CmdType_CmdType_MAX;
   static const int CmdType_ARRAYSIZE =
     CommandPacket_CmdType_CmdType_ARRAYSIZE;
-  
+
   // accessors -------------------------------------------------------
-  
+
   // required .mozilla.layers.layerscope.CommandPacket.CmdType type = 1;
   inline bool has_type() const;
   inline void clear_type();
   static const int kTypeFieldNumber = 1;
   inline ::mozilla::layers::layerscope::CommandPacket_CmdType type() const;
   inline void set_type(::mozilla::layers::layerscope::CommandPacket_CmdType value);
-  
+
   // optional bool value = 2;
   inline bool has_value() const;
   inline void clear_value();
   static const int kValueFieldNumber = 2;
   inline bool value() const;
   inline void set_value(bool value);
-  
+
   // @@protoc_insertion_point(class_scope:mozilla.layers.layerscope.CommandPacket)
  private:
   inline void set_has_type();
   inline void clear_has_type();
   inline void set_has_value();
   inline void clear_has_value();
-  
+
+  ::std::string _unknown_fields_;
+
+  ::google::protobuf::uint32 _has_bits_[1];
+  mutable int _cached_size_;
   int type_;
   bool value_;
-  
-  mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];
-  
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
+  #else
   friend void  protobuf_AddDesc_LayerScopePacket_2eproto();
+  #endif
   friend void protobuf_AssignDesc_LayerScopePacket_2eproto();
   friend void protobuf_ShutdownFile_LayerScopePacket_2eproto();
-  
+
   void InitAsDefaultInstance();
   static CommandPacket* default_instance_;
 };
 // ===================================================================
 
 
 // ===================================================================
 
@@ -1856,21 +2208,23 @@ inline void FramePacket::set_has_value()
 inline void FramePacket::clear_has_value() {
   _has_bits_[0] &= ~0x00000001u;
 }
 inline void FramePacket::clear_value() {
   value_ = GOOGLE_ULONGLONG(0);
   clear_has_value();
 }
 inline ::google::protobuf::uint64 FramePacket::value() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.FramePacket.value)
   return value_;
 }
 inline void FramePacket::set_value(::google::protobuf::uint64 value) {
   set_has_value();
   value_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.FramePacket.value)
 }
 
 // -------------------------------------------------------------------
 
 // ColorPacket
 
 // required uint64 layerref = 1;
 inline bool ColorPacket::has_layerref() const {
@@ -1882,21 +2236,23 @@ inline void ColorPacket::set_has_layerre
 inline void ColorPacket::clear_has_layerref() {
   _has_bits_[0] &= ~0x00000001u;
 }
 inline void ColorPacket::clear_layerref() {
   layerref_ = GOOGLE_ULONGLONG(0);
   clear_has_layerref();
 }
 inline ::google::protobuf::uint64 ColorPacket::layerref() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.ColorPacket.layerref)
   return layerref_;
 }
 inline void ColorPacket::set_layerref(::google::protobuf::uint64 value) {
   set_has_layerref();
   layerref_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.ColorPacket.layerref)
 }
 
 // optional uint32 width = 2;
 inline bool ColorPacket::has_width() const {
   return (_has_bits_[0] & 0x00000002u) != 0;
 }
 inline void ColorPacket::set_has_width() {
   _has_bits_[0] |= 0x00000002u;
@@ -1904,21 +2260,23 @@ inline void ColorPacket::set_has_width()
 inline void ColorPacket::clear_has_width() {
   _has_bits_[0] &= ~0x00000002u;
 }
 inline void ColorPacket::clear_width() {
   width_ = 0u;
   clear_has_width();
 }
 inline ::google::protobuf::uint32 ColorPacket::width() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.ColorPacket.width)
   return width_;
 }
 inline void ColorPacket::set_width(::google::protobuf::uint32 value) {
   set_has_width();
   width_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.ColorPacket.width)
 }
 
 // optional uint32 height = 3;
 inline bool ColorPacket::has_height() const {
   return (_has_bits_[0] & 0x00000004u) != 0;
 }
 inline void ColorPacket::set_has_height() {
   _has_bits_[0] |= 0x00000004u;
@@ -1926,21 +2284,23 @@ inline void ColorPacket::set_has_height(
 inline void ColorPacket::clear_has_height() {
   _has_bits_[0] &= ~0x00000004u;
 }
 inline void ColorPacket::clear_height() {
   height_ = 0u;
   clear_has_height();
 }
 inline ::google::protobuf::uint32 ColorPacket::height() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.ColorPacket.height)
   return height_;
 }
 inline void ColorPacket::set_height(::google::protobuf::uint32 value) {
   set_has_height();
   height_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.ColorPacket.height)
 }
 
 // optional uint32 color = 4;
 inline bool ColorPacket::has_color() const {
   return (_has_bits_[0] & 0x00000008u) != 0;
 }
 inline void ColorPacket::set_has_color() {
   _has_bits_[0] |= 0x00000008u;
@@ -1948,21 +2308,23 @@ inline void ColorPacket::set_has_color()
 inline void ColorPacket::clear_has_color() {
   _has_bits_[0] &= ~0x00000008u;
 }
 inline void ColorPacket::clear_color() {
   color_ = 0u;
   clear_has_color();
 }
 inline ::google::protobuf::uint32 ColorPacket::color() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.ColorPacket.color)
   return color_;
 }
 inline void ColorPacket::set_color(::google::protobuf::uint32 value) {
   set_has_color();
   color_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.ColorPacket.color)
 }
 
 // -------------------------------------------------------------------
 
 // TexturePacket
 
 // required uint64 layerref = 1;
 inline bool TexturePacket::has_layerref() const {
@@ -1974,21 +2336,23 @@ inline void TexturePacket::set_has_layer
 inline void TexturePacket::clear_has_layerref() {
   _has_bits_[0] &= ~0x00000001u;
 }
 inline void TexturePacket::clear_layerref() {
   layerref_ = GOOGLE_ULONGLONG(0);
   clear_has_layerref();
 }
 inline ::google::protobuf::uint64 TexturePacket::layerref() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.layerref)
   return layerref_;
 }
 inline void TexturePacket::set_layerref(::google::protobuf::uint64 value) {
   set_has_layerref();
   layerref_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.layerref)
 }
 
 // optional uint32 width = 2;
 inline bool TexturePacket::has_width() const {
   return (_has_bits_[0] & 0x00000002u) != 0;
 }
 inline void TexturePacket::set_has_width() {
   _has_bits_[0] |= 0x00000002u;
@@ -1996,21 +2360,23 @@ inline void TexturePacket::set_has_width
 inline void TexturePacket::clear_has_width() {
   _has_bits_[0] &= ~0x00000002u;
 }
 inline void TexturePacket::clear_width() {
   width_ = 0u;
   clear_has_width();
 }
 inline ::google::protobuf::uint32 TexturePacket::width() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.width)
   return width_;
 }
 inline void TexturePacket::set_width(::google::protobuf::uint32 value) {
   set_has_width();
   width_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.width)
 }
 
 // optional uint32 height = 3;
 inline bool TexturePacket::has_height() const {
   return (_has_bits_[0] & 0x00000004u) != 0;
 }
 inline void TexturePacket::set_has_height() {
   _has_bits_[0] |= 0x00000004u;
@@ -2018,21 +2384,23 @@ inline void TexturePacket::set_has_heigh
 inline void TexturePacket::clear_has_height() {
   _has_bits_[0] &= ~0x00000004u;
 }
 inline void TexturePacket::clear_height() {
   height_ = 0u;
   clear_has_height();
 }
 inline ::google::protobuf::uint32 TexturePacket::height() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.height)
   return height_;
 }
 inline void TexturePacket::set_height(::google::protobuf::uint32 value) {
   set_has_height();
   height_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.height)
 }
 
 // optional uint32 stride = 4;
 inline bool TexturePacket::has_stride() const {
   return (_has_bits_[0] & 0x00000008u) != 0;
 }
 inline void TexturePacket::set_has_stride() {
   _has_bits_[0] |= 0x00000008u;
@@ -2040,21 +2408,23 @@ inline void TexturePacket::set_has_strid
 inline void TexturePacket::clear_has_stride() {
   _has_bits_[0] &= ~0x00000008u;
 }
 inline void TexturePacket::clear_stride() {
   stride_ = 0u;
   clear_has_stride();
 }
 inline ::google::protobuf::uint32 TexturePacket::stride() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.stride)
   return stride_;
 }
 inline void TexturePacket::set_stride(::google::protobuf::uint32 value) {
   set_has_stride();
   stride_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.stride)
 }
 
 // optional uint32 name = 5;
 inline bool TexturePacket::has_name() const {
   return (_has_bits_[0] & 0x00000010u) != 0;
 }
 inline void TexturePacket::set_has_name() {
   _has_bits_[0] |= 0x00000010u;
@@ -2062,21 +2432,23 @@ inline void TexturePacket::set_has_name(
 inline void TexturePacket::clear_has_name() {
   _has_bits_[0] &= ~0x00000010u;
 }
 inline void TexturePacket::clear_name() {
   name_ = 0u;
   clear_has_name();
 }
 inline ::google::protobuf::uint32 TexturePacket::name() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.name)
   return name_;
 }
 inline void TexturePacket::set_name(::google::protobuf::uint32 value) {
   set_has_name();
   name_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.name)
 }
 
 // optional uint32 target = 6;
 inline bool TexturePacket::has_target() const {
   return (_has_bits_[0] & 0x00000020u) != 0;
 }
 inline void TexturePacket::set_has_target() {
   _has_bits_[0] |= 0x00000020u;
@@ -2084,21 +2456,23 @@ inline void TexturePacket::set_has_targe
 inline void TexturePacket::clear_has_target() {
   _has_bits_[0] &= ~0x00000020u;
 }
 inline void TexturePacket::clear_target() {
   target_ = 0u;
   clear_has_target();
 }
 inline ::google::protobuf::uint32 TexturePacket::target() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.target)
   return target_;
 }
 inline void TexturePacket::set_target(::google::protobuf::uint32 value) {
   set_has_target();
   target_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.target)
 }
 
 // optional uint32 dataformat = 7;
 inline bool TexturePacket::has_dataformat() const {
   return (_has_bits_[0] & 0x00000040u) != 0;
 }
 inline void TexturePacket::set_has_dataformat() {
   _has_bits_[0] |= 0x00000040u;
@@ -2106,21 +2480,23 @@ inline void TexturePacket::set_has_dataf
 inline void TexturePacket::clear_has_dataformat() {
   _has_bits_[0] &= ~0x00000040u;
 }
 inline void TexturePacket::clear_dataformat() {
   dataformat_ = 0u;
   clear_has_dataformat();
 }
 inline ::google::protobuf::uint32 TexturePacket::dataformat() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.dataformat)
   return dataformat_;
 }
 inline void TexturePacket::set_dataformat(::google::protobuf::uint32 value) {
   set_has_dataformat();
   dataformat_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.dataformat)
 }
 
 // optional uint64 glcontext = 8;
 inline bool TexturePacket::has_glcontext() const {
   return (_has_bits_[0] & 0x00000080u) != 0;
 }
 inline void TexturePacket::set_has_glcontext() {
   _has_bits_[0] |= 0x00000080u;
@@ -2128,80 +2504,100 @@ inline void TexturePacket::set_has_glcon
 inline void TexturePacket::clear_has_glcontext() {
   _has_bits_[0] &= ~0x00000080u;
 }
 inline void TexturePacket::clear_glcontext() {
   glcontext_ = GOOGLE_ULONGLONG(0);
   clear_has_glcontext();
 }
 inline ::google::protobuf::uint64 TexturePacket::glcontext() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.glcontext)
   return glcontext_;
 }
 inline void TexturePacket::set_glcontext(::google::protobuf::uint64 value) {
   set_has_glcontext();
   glcontext_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.glcontext)
 }
 
 // optional bytes data = 9;
 inline bool TexturePacket::has_data() const {
   return (_has_bits_[0] & 0x00000100u) != 0;
 }
 inline void TexturePacket::set_has_data() {
   _has_bits_[0] |= 0x00000100u;
 }
 inline void TexturePacket::clear_has_data() {
   _has_bits_[0] &= ~0x00000100u;
 }
 inline void TexturePacket::clear_data() {
-  if (data_ != &::google::protobuf::internal::kEmptyString) {
+  if (data_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
     data_->clear();
   }
   clear_has_data();
 }
 inline const ::std::string& TexturePacket::data() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.TexturePacket.data)
   return *data_;
 }
 inline void TexturePacket::set_data(const ::std::string& value) {
   set_has_data();
-  if (data_ == &::google::protobuf::internal::kEmptyString) {
+  if (data_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
     data_ = new ::std::string;
   }
   data_->assign(value);
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.TexturePacket.data)
 }
 inline void TexturePacket::set_data(const char* value) {
   set_has_data();
-  if (data_ == &::google::protobuf::internal::kEmptyString) {
+  if (data_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
     data_ = new ::std::string;
   }
   data_->assign(value);
+  // @@protoc_insertion_point(field_set_char:mozilla.layers.layerscope.TexturePacket.data)
 }
 inline void TexturePacket::set_data(const void* value, size_t size) {
   set_has_data();
-  if (data_ == &::google::protobuf::internal::kEmptyString) {
+  if (data_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
     data_ = new ::std::string;
   }
   data_->assign(reinterpret_cast<const char*>(value), size);
+  // @@protoc_insertion_point(field_set_pointer:mozilla.layers.layerscope.TexturePacket.data)
 }
 inline ::std::string* TexturePacket::mutable_data() {
   set_has_data();
-  if (data_ == &::google::protobuf::internal::kEmptyString) {
+  if (data_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
     data_ = new ::std::string;
   }
+  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.TexturePacket.data)
   return data_;
 }
 inline ::std::string* TexturePacket::release_data() {
   clear_has_data();
-  if (data_ == &::google::protobuf::internal::kEmptyString) {
+  if (data_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
     return NULL;
   } else {
     ::std::string* temp = data_;
-    data_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
+    data_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
     return temp;
   }
 }
+inline void TexturePacket::set_allocated_data(::std::string* data) {
+  if (data_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+    delete data_;
+  }
+  if (data) {
+    set_has_data();
+    data_ = data;
+  } else {
+    clear_has_data();
+    data_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  }
+  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.TexturePacket.data)
+}
 
 // -------------------------------------------------------------------
 
 // LayersPacket_Layer_Size
 
 // optional int32 w = 1;
 inline bool LayersPacket_Layer_Size::has_w() const {
   return (_has_bits_[0] & 0x00000001u) != 0;
@@ -2212,21 +2608,23 @@ inline void LayersPacket_Layer_Size::set
 inline void LayersPacket_Layer_Size::clear_has_w() {
   _has_bits_[0] &= ~0x00000001u;
 }
 inline void LayersPacket_Layer_Size::clear_w() {
   w_ = 0;
   clear_has_w();
 }
 inline ::google::protobuf::int32 LayersPacket_Layer_Size::w() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Size.w)
   return w_;
 }
 inline void LayersPacket_Layer_Size::set_w(::google::protobuf::int32 value) {
   set_has_w();
   w_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Size.w)
 }
 
 // optional int32 h = 2;
 inline bool LayersPacket_Layer_Size::has_h() const {
   return (_has_bits_[0] & 0x00000002u) != 0;
 }
 inline void LayersPacket_Layer_Size::set_has_h() {
   _has_bits_[0] |= 0x00000002u;
@@ -2234,21 +2632,23 @@ inline void LayersPacket_Layer_Size::set
 inline void LayersPacket_Layer_Size::clear_has_h() {
   _has_bits_[0] &= ~0x00000002u;
 }
 inline void LayersPacket_Layer_Size::clear_h() {
   h_ = 0;
   clear_has_h();
 }
 inline ::google::protobuf::int32 LayersPacket_Layer_Size::h() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Size.h)
   return h_;
 }
 inline void LayersPacket_Layer_Size::set_h(::google::protobuf::int32 value) {
   set_has_h();
   h_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Size.h)
 }
 
 // -------------------------------------------------------------------
 
 // LayersPacket_Layer_Rect
 
 // optional int32 x = 1;
 inline bool LayersPacket_Layer_Rect::has_x() const {
@@ -2260,21 +2660,23 @@ inline void LayersPacket_Layer_Rect::set
 inline void LayersPacket_Layer_Rect::clear_has_x() {
   _has_bits_[0] &= ~0x00000001u;
 }
 inline void LayersPacket_Layer_Rect::clear_x() {
   x_ = 0;
   clear_has_x();
 }
 inline ::google::protobuf::int32 LayersPacket_Layer_Rect::x() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Rect.x)
   return x_;
 }
 inline void LayersPacket_Layer_Rect::set_x(::google::protobuf::int32 value) {
   set_has_x();
   x_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Rect.x)
 }
 
 // optional int32 y = 2;
 inline bool LayersPacket_Layer_Rect::has_y() const {
   return (_has_bits_[0] & 0x00000002u) != 0;
 }
 inline void LayersPacket_Layer_Rect::set_has_y() {
   _has_bits_[0] |= 0x00000002u;
@@ -2282,21 +2684,23 @@ inline void LayersPacket_Layer_Rect::set
 inline void LayersPacket_Layer_Rect::clear_has_y() {
   _has_bits_[0] &= ~0x00000002u;
 }
 inline void LayersPacket_Layer_Rect::clear_y() {
   y_ = 0;
   clear_has_y();
 }
 inline ::google::protobuf::int32 LayersPacket_Layer_Rect::y() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Rect.y)
   return y_;
 }
 inline void LayersPacket_Layer_Rect::set_y(::google::protobuf::int32 value) {
   set_has_y();
   y_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Rect.y)
 }
 
 // optional int32 w = 3;
 inline bool LayersPacket_Layer_Rect::has_w() const {
   return (_has_bits_[0] & 0x00000004u) != 0;
 }
 inline void LayersPacket_Layer_Rect::set_has_w() {
   _has_bits_[0] |= 0x00000004u;
@@ -2304,21 +2708,23 @@ inline void LayersPacket_Layer_Rect::set
 inline void LayersPacket_Layer_Rect::clear_has_w() {
   _has_bits_[0] &= ~0x00000004u;
 }
 inline void LayersPacket_Layer_Rect::clear_w() {
   w_ = 0;
   clear_has_w();
 }
 inline ::google::protobuf::int32 LayersPacket_Layer_Rect::w() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Rect.w)
   return w_;
 }
 inline void LayersPacket_Layer_Rect::set_w(::google::protobuf::int32 value) {
   set_has_w();
   w_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Rect.w)
 }
 
 // optional int32 h = 4;
 inline bool LayersPacket_Layer_Rect::has_h() const {
   return (_has_bits_[0] & 0x00000008u) != 0;
 }
 inline void LayersPacket_Layer_Rect::set_has_h() {
   _has_bits_[0] |= 0x00000008u;
@@ -2326,49 +2732,56 @@ inline void LayersPacket_Layer_Rect::set
 inline void LayersPacket_Layer_Rect::clear_has_h() {
   _has_bits_[0] &= ~0x00000008u;
 }
 inline void LayersPacket_Layer_Rect::clear_h() {
   h_ = 0;
   clear_has_h();
 }
 inline ::google::protobuf::int32 LayersPacket_Layer_Rect::h() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Rect.h)
   return h_;
 }
 inline void LayersPacket_Layer_Rect::set_h(::google::protobuf::int32 value) {
   set_has_h();
   h_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Rect.h)
 }
 
 // -------------------------------------------------------------------
 
 // LayersPacket_Layer_Region
 
 // repeated .mozilla.layers.layerscope.LayersPacket.Layer.Rect r = 1;
 inline int LayersPacket_Layer_Region::r_size() const {
   return r_.size();
 }
 inline void LayersPacket_Layer_Region::clear_r() {
   r_.Clear();
 }
 inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Rect& LayersPacket_Layer_Region::r(int index) const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Region.r)
   return r_.Get(index);
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* LayersPacket_Layer_Region::mutable_r(int index) {
+  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.Region.r)
   return r_.Mutable(index);
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* LayersPacket_Layer_Region::add_r() {
+  // @@protoc_insertion_point(field_add:mozilla.layers.layerscope.LayersPacket.Layer.Region.r)
   return r_.Add();
 }
 inline const ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer_Rect >&
 LayersPacket_Layer_Region::r() const {
+  // @@protoc_insertion_point(field_list:mozilla.layers.layerscope.LayersPacket.Layer.Region.r)
   return r_;
 }
 inline ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer_Rect >*
 LayersPacket_Layer_Region::mutable_r() {
+  // @@protoc_insertion_point(field_mutable_list:mozilla.layers.layerscope.LayersPacket.Layer.Region.r)
   return &r_;
 }
 
 // -------------------------------------------------------------------
 
 // LayersPacket_Layer_Matrix
 
 // optional bool is2D = 1;
@@ -2381,21 +2794,23 @@ inline void LayersPacket_Layer_Matrix::s
 inline void LayersPacket_Layer_Matrix::clear_has_is2d() {
   _has_bits_[0] &= ~0x00000001u;
 }
 inline void LayersPacket_Layer_Matrix::clear_is2d() {
   is2d_ = false;
   clear_has_is2d();
 }
 inline bool LayersPacket_Layer_Matrix::is2d() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.is2D)
   return is2d_;
 }
 inline void LayersPacket_Layer_Matrix::set_is2d(bool value) {
   set_has_is2d();
   is2d_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.is2D)
 }
 
 // optional bool isId = 2;
 inline bool LayersPacket_Layer_Matrix::has_isid() const {
   return (_has_bits_[0] & 0x00000002u) != 0;
 }
 inline void LayersPacket_Layer_Matrix::set_has_isid() {
   _has_bits_[0] |= 0x00000002u;
@@ -2403,45 +2818,52 @@ inline void LayersPacket_Layer_Matrix::s
 inline void LayersPacket_Layer_Matrix::clear_has_isid() {
   _has_bits_[0] &= ~0x00000002u;
 }
 inline void LayersPacket_Layer_Matrix::clear_isid() {
   isid_ = false;
   clear_has_isid();
 }
 inline bool LayersPacket_Layer_Matrix::isid() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.isId)
   return isid_;
 }
 inline void LayersPacket_Layer_Matrix::set_isid(bool value) {
   set_has_isid();
   isid_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.isId)
 }
 
 // repeated float m = 3;
 inline int LayersPacket_Layer_Matrix::m_size() const {
   return m_.size();
 }
 inline void LayersPacket_Layer_Matrix::clear_m() {
   m_.Clear();
 }
 inline float LayersPacket_Layer_Matrix::m(int index) const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.m)
   return m_.Get(index);
 }
 inline void LayersPacket_Layer_Matrix::set_m(int index, float value) {
   m_.Set(index, value);
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.m)
 }
 inline void LayersPacket_Layer_Matrix::add_m(float value) {
   m_.Add(value);
+  // @@protoc_insertion_point(field_add:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.m)
 }
 inline const ::google::protobuf::RepeatedField< float >&
 LayersPacket_Layer_Matrix::m() const {
+  // @@protoc_insertion_point(field_list:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.m)
   return m_;
 }
 inline ::google::protobuf::RepeatedField< float >*
 LayersPacket_Layer_Matrix::mutable_m() {
+  // @@protoc_insertion_point(field_mutable_list:mozilla.layers.layerscope.LayersPacket.Layer.Matrix.m)
   return &m_;
 }
 
 // -------------------------------------------------------------------
 
 // LayersPacket_Layer_Shadow
 
 // optional .mozilla.layers.layerscope.LayersPacket.Layer.Rect clip = 1;
@@ -2454,87 +2876,135 @@ inline void LayersPacket_Layer_Shadow::s
 inline void LayersPacket_Layer_Shadow::clear_has_clip() {
   _has_bits_[0] &= ~0x00000001u;
 }
 inline void LayersPacket_Layer_Shadow::clear_clip() {
   if (clip_ != NULL) clip_->::mozilla::layers::layerscope::LayersPacket_Layer_Rect::Clear();
   clear_has_clip();
 }
 inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Rect& LayersPacket_Layer_Shadow::clip() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.clip)
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  return clip_ != NULL ? *clip_ : *default_instance().clip_;
+#else
   return clip_ != NULL ? *clip_ : *default_instance_->clip_;
+#endif
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* LayersPacket_Layer_Shadow::mutable_clip() {
   set_has_clip();
   if (clip_ == NULL) clip_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Rect;
+  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.clip)
   return clip_;
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* LayersPacket_Layer_Shadow::release_clip() {
   clear_has_clip();
   ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* temp = clip_;
   clip_ = NULL;
   return temp;
 }
+inline void LayersPacket_Layer_Shadow::set_allocated_clip(::mozilla::layers::layerscope::LayersPacket_Layer_Rect* clip) {
+  delete clip_;
+  clip_ = clip;
+  if (clip) {
+    set_has_clip();
+  } else {
+    clear_has_clip();
+  }
+  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.clip)
+}
 
 // optional .mozilla.layers.layerscope.LayersPacket.Layer.Matrix transform = 2;
 inline bool LayersPacket_Layer_Shadow::has_transform() const {
   return (_has_bits_[0] & 0x00000002u) != 0;
 }
 inline void LayersPacket_Layer_Shadow::set_has_transform() {
   _has_bits_[0] |= 0x00000002u;
 }
 inline void LayersPacket_Layer_Shadow::clear_has_transform() {
   _has_bits_[0] &= ~0x00000002u;
 }
 inline void LayersPacket_Layer_Shadow::clear_transform() {
   if (transform_ != NULL) transform_->::mozilla::layers::layerscope::LayersPacket_Layer_Matrix::Clear();
   clear_has_transform();
 }
 inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix& LayersPacket_Layer_Shadow::transform() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.transform)
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  return transform_ != NULL ? *transform_ : *default_instance().transform_;
+#else
   return transform_ != NULL ? *transform_ : *default_instance_->transform_;
+#endif
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* LayersPacket_Layer_Shadow::mutable_transform() {
   set_has_transform();
   if (transform_ == NULL) transform_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix;
+  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.transform)
   return transform_;
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* LayersPacket_Layer_Shadow::release_transform() {
   clear_has_transform();
   ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* temp = transform_;
   transform_ = NULL;
   return temp;
 }
+inline void LayersPacket_Layer_Shadow::set_allocated_transform(::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* transform) {
+  delete transform_;
+  transform_ = transform;
+  if (transform) {
+    set_has_transform();
+  } else {
+    clear_has_transform();
+  }
+  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.transform)
+}
 
 // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vRegion = 3;
 inline bool LayersPacket_Layer_Shadow::has_vregion() const {
   return (_has_bits_[0] & 0x00000004u) != 0;
 }
 inline void LayersPacket_Layer_Shadow::set_has_vregion() {
   _has_bits_[0] |= 0x00000004u;
 }
 inline void LayersPacket_Layer_Shadow::clear_has_vregion() {
   _has_bits_[0] &= ~0x00000004u;
 }
 inline void LayersPacket_Layer_Shadow::clear_vregion() {
   if (vregion_ != NULL) vregion_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
   clear_has_vregion();
 }
 inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& LayersPacket_Layer_Shadow::vregion() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.vRegion)
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  return vregion_ != NULL ? *vregion_ : *default_instance().vregion_;
+#else
   return vregion_ != NULL ? *vregion_ : *default_instance_->vregion_;
+#endif
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer_Shadow::mutable_vregion() {
   set_has_vregion();
   if (vregion_ == NULL) vregion_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Region;
+  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.vRegion)
   return vregion_;
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer_Shadow::release_vregion() {
   clear_has_vregion();
   ::mozilla::layers::layerscope::LayersPacket_Layer_Region* temp = vregion_;
   vregion_ = NULL;
   return temp;
 }
+inline void LayersPacket_Layer_Shadow::set_allocated_vregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* vregion) {
+  delete vregion_;
+  vregion_ = vregion;
+  if (vregion) {
+    set_has_vregion();
+  } else {
+    clear_has_vregion();
+  }
+  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.Shadow.vRegion)
+}
 
 // -------------------------------------------------------------------
 
 // LayersPacket_Layer
 
 // required .mozilla.layers.layerscope.LayersPacket.Layer.LayerType type = 1;
 inline bool LayersPacket_Layer::has_type() const {
   return (_has_bits_[0] & 0x00000001u) != 0;
@@ -2545,22 +3015,24 @@ inline void LayersPacket_Layer::set_has_
 inline void LayersPacket_Layer::clear_has_type() {
   _has_bits_[0] &= ~0x00000001u;
 }
 inline void LayersPacket_Layer::clear_type() {
   type_ = 0;
   clear_has_type();
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_LayerType LayersPacket_Layer::type() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.type)
   return static_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_LayerType >(type_);
 }
 inline void LayersPacket_Layer::set_type(::mozilla::layers::layerscope::LayersPacket_Layer_LayerType value) {
-  GOOGLE_DCHECK(::mozilla::layers::layerscope::LayersPacket_Layer_LayerType_IsValid(value));
+  assert(::mozilla::layers::layerscope::LayersPacket_Layer_LayerType_IsValid(value));
   set_has_type();
   type_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.type)
 }
 
 // required uint64 ptr = 2;
 inline bool LayersPacket_Layer::has_ptr() const {
   return (_has_bits_[0] & 0x00000002u) != 0;
 }
 inline void LayersPacket_Layer::set_has_ptr() {
   _has_bits_[0] |= 0x00000002u;
@@ -2568,21 +3040,23 @@ inline void LayersPacket_Layer::set_has_
 inline void LayersPacket_Layer::clear_has_ptr() {
   _has_bits_[0] &= ~0x00000002u;
 }
 inline void LayersPacket_Layer::clear_ptr() {
   ptr_ = GOOGLE_ULONGLONG(0);
   clear_has_ptr();
 }
 inline ::google::protobuf::uint64 LayersPacket_Layer::ptr() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.ptr)
   return ptr_;
 }
 inline void LayersPacket_Layer::set_ptr(::google::protobuf::uint64 value) {
   set_has_ptr();
   ptr_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.ptr)
 }
 
 // required uint64 parentPtr = 3;
 inline bool LayersPacket_Layer::has_parentptr() const {
   return (_has_bits_[0] & 0x00000004u) != 0;
 }
 inline void LayersPacket_Layer::set_has_parentptr() {
   _has_bits_[0] |= 0x00000004u;
@@ -2590,21 +3064,23 @@ inline void LayersPacket_Layer::set_has_
 inline void LayersPacket_Layer::clear_has_parentptr() {
   _has_bits_[0] &= ~0x00000004u;
 }
 inline void LayersPacket_Layer::clear_parentptr() {
   parentptr_ = GOOGLE_ULONGLONG(0);
   clear_has_parentptr();
 }
 inline ::google::protobuf::uint64 LayersPacket_Layer::parentptr() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.parentPtr)
   return parentptr_;
 }
 inline void LayersPacket_Layer::set_parentptr(::google::protobuf::uint64 value) {
   set_has_parentptr();
   parentptr_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.parentPtr)
 }
 
 // optional .mozilla.layers.layerscope.LayersPacket.Layer.Rect clip = 10;
 inline bool LayersPacket_Layer::has_clip() const {
   return (_has_bits_[0] & 0x00000008u) != 0;
 }
 inline void LayersPacket_Layer::set_has_clip() {
   _has_bits_[0] |= 0x00000008u;
@@ -2612,137 +3088,203 @@ inline void LayersPacket_Layer::set_has_
 inline void LayersPacket_Layer::clear_has_clip() {
   _has_bits_[0] &= ~0x00000008u;
 }
 inline void LayersPacket_Layer::clear_clip() {
   if (clip_ != NULL) clip_->::mozilla::layers::layerscope::LayersPacket_Layer_Rect::Clear();
   clear_has_clip();
 }
 inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Rect& LayersPacket_Layer::clip() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.clip)
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  return clip_ != NULL ? *clip_ : *default_instance().clip_;
+#else
   return clip_ != NULL ? *clip_ : *default_instance_->clip_;
+#endif
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* LayersPacket_Layer::mutable_clip() {
   set_has_clip();
   if (clip_ == NULL) clip_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Rect;
+  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.clip)
   return clip_;
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* LayersPacket_Layer::release_clip() {
   clear_has_clip();
   ::mozilla::layers::layerscope::LayersPacket_Layer_Rect* temp = clip_;
   clip_ = NULL;
   return temp;
 }
+inline void LayersPacket_Layer::set_allocated_clip(::mozilla::layers::layerscope::LayersPacket_Layer_Rect* clip) {
+  delete clip_;
+  clip_ = clip;
+  if (clip) {
+    set_has_clip();
+  } else {
+    clear_has_clip();
+  }
+  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.clip)
+}
 
 // optional .mozilla.layers.layerscope.LayersPacket.Layer.Matrix transform = 11;
 inline bool LayersPacket_Layer::has_transform() const {
   return (_has_bits_[0] & 0x00000010u) != 0;
 }
 inline void LayersPacket_Layer::set_has_transform() {
   _has_bits_[0] |= 0x00000010u;
 }
 inline void LayersPacket_Layer::clear_has_transform() {
   _has_bits_[0] &= ~0x00000010u;
 }
 inline void LayersPacket_Layer::clear_transform() {
   if (transform_ != NULL) transform_->::mozilla::layers::layerscope::LayersPacket_Layer_Matrix::Clear();
   clear_has_transform();
 }
 inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix& LayersPacket_Layer::transform() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.transform)
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  return transform_ != NULL ? *transform_ : *default_instance().transform_;
+#else
   return transform_ != NULL ? *transform_ : *default_instance_->transform_;
+#endif
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* LayersPacket_Layer::mutable_transform() {
   set_has_transform();
   if (transform_ == NULL) transform_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix;
+  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.transform)
   return transform_;
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* LayersPacket_Layer::release_transform() {
   clear_has_transform();
   ::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* temp = transform_;
   transform_ = NULL;
   return temp;
 }
+inline void LayersPacket_Layer::set_allocated_transform(::mozilla::layers::layerscope::LayersPacket_Layer_Matrix* transform) {
+  delete transform_;
+  transform_ = transform;
+  if (transform) {
+    set_has_transform();
+  } else {
+    clear_has_transform();
+  }
+  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.transform)
+}
 
 // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vRegion = 12;
 inline bool LayersPacket_Layer::has_vregion() const {
   return (_has_bits_[0] & 0x00000020u) != 0;
 }
 inline void LayersPacket_Layer::set_has_vregion() {
   _has_bits_[0] |= 0x00000020u;
 }
 inline void LayersPacket_Layer::clear_has_vregion() {
   _has_bits_[0] &= ~0x00000020u;
 }
 inline void LayersPacket_Layer::clear_vregion() {
   if (vregion_ != NULL) vregion_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
   clear_has_vregion();
 }
 inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& LayersPacket_Layer::vregion() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.vRegion)
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  return vregion_ != NULL ? *vregion_ : *default_instance().vregion_;
+#else
   return vregion_ != NULL ? *vregion_ : *default_instance_->vregion_;
+#endif
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::mutable_vregion() {
   set_has_vregion();
   if (vregion_ == NULL) vregion_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Region;
+  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.vRegion)
   return vregion_;
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::release_vregion() {
   clear_has_vregion();
   ::mozilla::layers::layerscope::LayersPacket_Layer_Region* temp = vregion_;
   vregion_ = NULL;
   return temp;
 }
+inline void LayersPacket_Layer::set_allocated_vregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* vregion) {
+  delete vregion_;
+  vregion_ = vregion;
+  if (vregion) {
+    set_has_vregion();
+  } else {
+    clear_has_vregion();
+  }
+  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.vRegion)
+}
 
 // optional .mozilla.layers.layerscope.LayersPacket.Layer.Shadow shadow = 13;
 inline bool LayersPacket_Layer::has_shadow() const {
   return (_has_bits_[0] & 0x00000040u) != 0;
 }
 inline void LayersPacket_Layer::set_has_shadow() {
   _has_bits_[0] |= 0x00000040u;
 }
 inline void LayersPacket_Layer::clear_has_shadow() {
   _has_bits_[0] &= ~0x00000040u;
 }
 inline void LayersPacket_Layer::clear_shadow() {
   if (shadow_ != NULL) shadow_->::mozilla::layers::layerscope::LayersPacket_Layer_Shadow::Clear();
   clear_has_shadow();
 }
 inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow& LayersPacket_Layer::shadow() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.shadow)
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  return shadow_ != NULL ? *shadow_ : *default_instance().shadow_;
+#else
   return shadow_ != NULL ? *shadow_ : *default_instance_->shadow_;
+#endif
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow* LayersPacket_Layer::mutable_shadow() {
   set_has_shadow();
   if (shadow_ == NULL) shadow_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow;
+  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.shadow)
   return shadow_;
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow* LayersPacket_Layer::release_shadow() {
   clear_has_shadow();
   ::mozilla::layers::layerscope::LayersPacket_Layer_Shadow* temp = shadow_;
   shadow_ = NULL;
   return temp;
 }
+inline void LayersPacket_Layer::set_allocated_shadow(::mozilla::layers::layerscope::LayersPacket_Layer_Shadow* shadow) {
+  delete shadow_;
+  shadow_ = shadow;
+  if (shadow) {
+    set_has_shadow();
+  } else {
+    clear_has_shadow();
+  }
+  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.shadow)
+}
 
 // optional float opacity = 14;
 inline bool LayersPacket_Layer::has_opacity() const {
   return (_has_bits_[0] & 0x00000080u) != 0;
 }
 inline void LayersPacket_Layer::set_has_opacity() {
   _has_bits_[0] |= 0x00000080u;
 }
 inline void LayersPacket_Layer::clear_has_opacity() {
   _has_bits_[0] &= ~0x00000080u;
 }
 inline void LayersPacket_Layer::clear_opacity() {
   opacity_ = 0;
   clear_has_opacity();
 }
 inline float LayersPacket_Layer::opacity() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.opacity)
   return opacity_;
 }
 inline void LayersPacket_Layer::set_opacity(float value) {
   set_has_opacity();
   opacity_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.opacity)
 }
 
 // optional bool cOpaque = 15;
 inline bool LayersPacket_Layer::has_copaque() const {
   return (_has_bits_[0] & 0x00000100u) != 0;
 }
 inline void LayersPacket_Layer::set_has_copaque() {
   _has_bits_[0] |= 0x00000100u;
@@ -2750,21 +3292,23 @@ inline void LayersPacket_Layer::set_has_
 inline void LayersPacket_Layer::clear_has_copaque() {
   _has_bits_[0] &= ~0x00000100u;
 }
 inline void LayersPacket_Layer::clear_copaque() {
   copaque_ = false;
   clear_has_copaque();
 }
 inline bool LayersPacket_Layer::copaque() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.cOpaque)
   return copaque_;
 }
 inline void LayersPacket_Layer::set_copaque(bool value) {
   set_has_copaque();
   copaque_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.cOpaque)
 }
 
 // optional bool cAlpha = 16;
 inline bool LayersPacket_Layer::has_calpha() const {
   return (_has_bits_[0] & 0x00000200u) != 0;
 }
 inline void LayersPacket_Layer::set_has_calpha() {
   _has_bits_[0] |= 0x00000200u;
@@ -2772,21 +3316,23 @@ inline void LayersPacket_Layer::set_has_
 inline void LayersPacket_Layer::clear_has_calpha() {
   _has_bits_[0] &= ~0x00000200u;
 }
 inline void LayersPacket_Layer::clear_calpha() {
   calpha_ = false;
   clear_has_calpha();
 }
 inline bool LayersPacket_Layer::calpha() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.cAlpha)
   return calpha_;
 }
 inline void LayersPacket_Layer::set_calpha(bool value) {
   set_has_calpha();
   calpha_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.cAlpha)
 }
 
 // optional .mozilla.layers.layerscope.LayersPacket.Layer.ScrollingDirect direct = 17;
 inline bool LayersPacket_Layer::has_direct() const {
   return (_has_bits_[0] & 0x00000400u) != 0;
 }
 inline void LayersPacket_Layer::set_has_direct() {
   _has_bits_[0] |= 0x00000400u;
@@ -2794,22 +3340,24 @@ inline void LayersPacket_Layer::set_has_
 inline void LayersPacket_Layer::clear_has_direct() {
   _has_bits_[0] &= ~0x00000400u;
 }
 inline void LayersPacket_Layer::clear_direct() {
   direct_ = 1;
   clear_has_direct();
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_ScrollingDirect LayersPacket_Layer::direct() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.direct)
   return static_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_ScrollingDirect >(direct_);
 }
 inline void LayersPacket_Layer::set_direct(::mozilla::layers::layerscope::LayersPacket_Layer_ScrollingDirect value) {
-  GOOGLE_DCHECK(::mozilla::layers::layerscope::LayersPacket_Layer_ScrollingDirect_IsValid(value));
+  assert(::mozilla::layers::layerscope::LayersPacket_Layer_ScrollingDirect_IsValid(value));
   set_has_direct();
   direct_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.direct)
 }
 
 // optional uint64 barID = 18;
 inline bool LayersPacket_Layer::has_barid() const {
   return (_has_bits_[0] & 0x00000800u) != 0;
 }
 inline void LayersPacket_Layer::set_has_barid() {
   _has_bits_[0] |= 0x00000800u;
@@ -2817,21 +3365,23 @@ inline void LayersPacket_Layer::set_has_
 inline void LayersPacket_Layer::clear_has_barid() {
   _has_bits_[0] &= ~0x00000800u;
 }
 inline void LayersPacket_Layer::clear_barid() {
   barid_ = GOOGLE_ULONGLONG(0);
   clear_has_barid();
 }
 inline ::google::protobuf::uint64 LayersPacket_Layer::barid() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.barID)
   return barid_;
 }
 inline void LayersPacket_Layer::set_barid(::google::protobuf::uint64 value) {
   set_has_barid();
   barid_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.barID)
 }
 
 // optional uint64 mask = 19;
 inline bool LayersPacket_Layer::has_mask() const {
   return (_has_bits_[0] & 0x00001000u) != 0;
 }
 inline void LayersPacket_Layer::set_has_mask() {
   _has_bits_[0] |= 0x00001000u;
@@ -2839,21 +3389,23 @@ inline void LayersPacket_Layer::set_has_
 inline void LayersPacket_Layer::clear_has_mask() {
   _has_bits_[0] &= ~0x00001000u;
 }
 inline void LayersPacket_Layer::clear_mask() {
   mask_ = GOOGLE_ULONGLONG(0);
   clear_has_mask();
 }
 inline ::google::protobuf::uint64 LayersPacket_Layer::mask() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.mask)
   return mask_;
 }
 inline void LayersPacket_Layer::set_mask(::google::protobuf::uint64 value) {
   set_has_mask();
   mask_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.mask)
 }
 
 // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region hitRegion = 20;
 inline bool LayersPacket_Layer::has_hitregion() const {
   return (_has_bits_[0] & 0x00002000u) != 0;
 }
 inline void LayersPacket_Layer::set_has_hitregion() {
   _has_bits_[0] |= 0x00002000u;
@@ -2861,195 +3413,293 @@ inline void LayersPacket_Layer::set_has_
 inline void LayersPacket_Layer::clear_has_hitregion() {
   _has_bits_[0] &= ~0x00002000u;
 }
 inline void LayersPacket_Layer::clear_hitregion() {
   if (hitregion_ != NULL) hitregion_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
   clear_has_hitregion();
 }
 inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& LayersPacket_Layer::hitregion() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.hitRegion)
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  return hitregion_ != NULL ? *hitregion_ : *default_instance().hitregion_;
+#else
   return hitregion_ != NULL ? *hitregion_ : *default_instance_->hitregion_;
+#endif
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::mutable_hitregion() {
   set_has_hitregion();
   if (hitregion_ == NULL) hitregion_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Region;
+  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.hitRegion)
   return hitregion_;
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::release_hitregion() {
   clear_has_hitregion();
   ::mozilla::layers::layerscope::LayersPacket_Layer_Region* temp = hitregion_;
   hitregion_ = NULL;
   return temp;
 }
+inline void LayersPacket_Layer::set_allocated_hitregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* hitregion) {
+  delete hitregion_;
+  hitregion_ = hitregion;
+  if (hitregion) {
+    set_has_hitregion();
+  } else {
+    clear_has_hitregion();
+  }
+  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.hitRegion)
+}
 
 // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region dispatchRegion = 21;
 inline bool LayersPacket_Layer::has_dispatchregion() const {
   return (_has_bits_[0] & 0x00004000u) != 0;
 }
 inline void LayersPacket_Layer::set_has_dispatchregion() {
   _has_bits_[0] |= 0x00004000u;
 }
 inline void LayersPacket_Layer::clear_has_dispatchregion() {
   _has_bits_[0] &= ~0x00004000u;
 }
 inline void LayersPacket_Layer::clear_dispatchregion() {
   if (dispatchregion_ != NULL) dispatchregion_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
   clear_has_dispatchregion();
 }
 inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& LayersPacket_Layer::dispatchregion() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.dispatchRegion)
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  return dispatchregion_ != NULL ? *dispatchregion_ : *default_instance().dispatchregion_;
+#else
   return dispatchregion_ != NULL ? *dispatchregion_ : *default_instance_->dispatchregion_;
+#endif
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::mutable_dispatchregion() {
   set_has_dispatchregion();
   if (dispatchregion_ == NULL) dispatchregion_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Region;
+  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.dispatchRegion)
   return dispatchregion_;
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::release_dispatchregion() {
   clear_has_dispatchregion();
   ::mozilla::layers::layerscope::LayersPacket_Layer_Region* temp = dispatchregion_;
   dispatchregion_ = NULL;
   return temp;
 }
+inline void LayersPacket_Layer::set_allocated_dispatchregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* dispatchregion) {
+  delete dispatchregion_;
+  dispatchregion_ = dispatchregion;
+  if (dispatchregion) {
+    set_has_dispatchregion();
+  } else {
+    clear_has_dispatchregion();
+  }
+  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.dispatchRegion)
+}
 
 // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region noActionRegion = 22;
 inline bool LayersPacket_Layer::has_noactionregion() const {
   return (_has_bits_[0] & 0x00008000u) != 0;
 }
 inline void LayersPacket_Layer::set_has_noactionregion() {
   _has_bits_[0] |= 0x00008000u;
 }
 inline void LayersPacket_Layer::clear_has_noactionregion() {
   _has_bits_[0] &= ~0x00008000u;
 }
 inline void LayersPacket_Layer::clear_noactionregion() {
   if (noactionregion_ != NULL) noactionregion_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
   clear_has_noactionregion();
 }
 inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& LayersPacket_Layer::noactionregion() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.noActionRegion)
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  return noactionregion_ != NULL ? *noactionregion_ : *default_instance().noactionregion_;
+#else
   return noactionregion_ != NULL ? *noactionregion_ : *default_instance_->noactionregion_;
+#endif
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::mutable_noactionregion() {
   set_has_noactionregion();
   if (noactionregion_ == NULL) noactionregion_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Region;
+  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.noActionRegion)
   return noactionregion_;
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::release_noactionregion() {
   clear_has_noactionregion();
   ::mozilla::layers::layerscope::LayersPacket_Layer_Region* temp = noactionregion_;
   noactionregion_ = NULL;
   return temp;
 }
+inline void LayersPacket_Layer::set_allocated_noactionregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* noactionregion) {
+  delete noactionregion_;
+  noactionregion_ = noactionregion;
+  if (noactionregion) {
+    set_has_noactionregion();
+  } else {
+    clear_has_noactionregion();
+  }
+  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.noActionRegion)
+}
 
 // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region hPanRegion = 23;
 inline bool LayersPacket_Layer::has_hpanregion() const {
   return (_has_bits_[0] & 0x00010000u) != 0;
 }
 inline void LayersPacket_Layer::set_has_hpanregion() {
   _has_bits_[0] |= 0x00010000u;
 }
 inline void LayersPacket_Layer::clear_has_hpanregion() {
   _has_bits_[0] &= ~0x00010000u;
 }
 inline void LayersPacket_Layer::clear_hpanregion() {
   if (hpanregion_ != NULL) hpanregion_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
   clear_has_hpanregion();
 }
 inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& LayersPacket_Layer::hpanregion() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.hPanRegion)
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  return hpanregion_ != NULL ? *hpanregion_ : *default_instance().hpanregion_;
+#else
   return hpanregion_ != NULL ? *hpanregion_ : *default_instance_->hpanregion_;
+#endif
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::mutable_hpanregion() {
   set_has_hpanregion();
   if (hpanregion_ == NULL) hpanregion_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Region;
+  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.hPanRegion)
   return hpanregion_;
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::release_hpanregion() {
   clear_has_hpanregion();
   ::mozilla::layers::layerscope::LayersPacket_Layer_Region* temp = hpanregion_;
   hpanregion_ = NULL;
   return temp;
 }
+inline void LayersPacket_Layer::set_allocated_hpanregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* hpanregion) {
+  delete hpanregion_;
+  hpanregion_ = hpanregion;
+  if (hpanregion) {
+    set_has_hpanregion();
+  } else {
+    clear_has_hpanregion();
+  }
+  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.hPanRegion)
+}
 
 // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vPanRegion = 24;
 inline bool LayersPacket_Layer::has_vpanregion() const {
   return (_has_bits_[0] & 0x00020000u) != 0;
 }
 inline void LayersPacket_Layer::set_has_vpanregion() {
   _has_bits_[0] |= 0x00020000u;
 }
 inline void LayersPacket_Layer::clear_has_vpanregion() {
   _has_bits_[0] &= ~0x00020000u;
 }
 inline void LayersPacket_Layer::clear_vpanregion() {
   if (vpanregion_ != NULL) vpanregion_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
   clear_has_vpanregion();
 }
 inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& LayersPacket_Layer::vpanregion() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.vPanRegion)
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  return vpanregion_ != NULL ? *vpanregion_ : *default_instance().vpanregion_;
+#else
   return vpanregion_ != NULL ? *vpanregion_ : *default_instance_->vpanregion_;
+#endif
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::mutable_vpanregion() {
   set_has_vpanregion();
   if (vpanregion_ == NULL) vpanregion_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Region;
+  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.vPanRegion)
   return vpanregion_;
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::release_vpanregion() {
   clear_has_vpanregion();
   ::mozilla::layers::layerscope::LayersPacket_Layer_Region* temp = vpanregion_;
   vpanregion_ = NULL;
   return temp;
 }
+inline void LayersPacket_Layer::set_allocated_vpanregion(::mozilla::layers::layerscope::LayersPacket_Layer_Region* vpanregion) {
+  delete vpanregion_;
+  vpanregion_ = vpanregion;
+  if (vpanregion) {
+    set_has_vpanregion();
+  } else {
+    clear_has_vpanregion();
+  }
+  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.vPanRegion)
+}
 
 // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region valid = 100;
 inline bool LayersPacket_Layer::has_valid() const {
   return (_has_bits_[0] & 0x00040000u) != 0;
 }
 inline void LayersPacket_Layer::set_has_valid() {
   _has_bits_[0] |= 0x00040000u;
 }
 inline void LayersPacket_Layer::clear_has_valid() {
   _has_bits_[0] &= ~0x00040000u;
 }
 inline void LayersPacket_Layer::clear_valid() {
   if (valid_ != NULL) valid_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
   clear_has_valid();
 }
 inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Region& LayersPacket_Layer::valid() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.valid)
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  return valid_ != NULL ? *valid_ : *default_instance().valid_;
+#else
   return valid_ != NULL ? *valid_ : *default_instance_->valid_;
+#endif
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::mutable_valid() {
   set_has_valid();
   if (valid_ == NULL) valid_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Region;
+  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.valid)
   return valid_;
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Region* LayersPacket_Layer::release_valid() {
   clear_has_valid();
   ::mozilla::layers::layerscope::LayersPacket_Layer_Region* temp = valid_;
   valid_ = NULL;
   return temp;
 }
+inline void LayersPacket_Layer::set_allocated_valid(::mozilla::layers::layerscope::LayersPacket_Layer_Region* valid) {
+  delete valid_;
+  valid_ = valid;
+  if (valid) {
+    set_has_valid();
+  } else {
+    clear_has_valid();
+  }
+  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.valid)
+}
 
 // optional uint32 color = 101;
 inline bool LayersPacket_Layer::has_color() const {
   return (_has_bits_[0] & 0x00080000u) != 0;
 }
 inline void LayersPacket_Layer::set_has_color() {
   _has_bits_[0] |= 0x00080000u;
 }
 inline void LayersPacket_Layer::clear_has_color() {
   _has_bits_[0] &= ~0x00080000u;
 }
 inline void LayersPacket_Layer::clear_color() {
   color_ = 0u;
   clear_has_color();
 }
 inline ::google::protobuf::uint32 LayersPacket_Layer::color() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.color)
   return color_;
 }
 inline void LayersPacket_Layer::set_color(::google::protobuf::uint32 value) {
   set_has_color();
   color_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.color)
 }
 
 // optional .mozilla.layers.layerscope.LayersPacket.Layer.Filter filter = 102;
 inline bool LayersPacket_Layer::has_filter() const {
   return (_has_bits_[0] & 0x00100000u) != 0;
 }
 inline void LayersPacket_Layer::set_has_filter() {
   _has_bits_[0] |= 0x00100000u;
@@ -3057,22 +3707,24 @@ inline void LayersPacket_Layer::set_has_
 inline void LayersPacket_Layer::clear_has_filter() {
   _has_bits_[0] &= ~0x00100000u;
 }
 inline void LayersPacket_Layer::clear_filter() {
   filter_ = 0;
   clear_has_filter();
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Filter LayersPacket_Layer::filter() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.filter)
   return static_cast< ::mozilla::layers::layerscope::LayersPacket_Layer_Filter >(filter_);
 }
 inline void LayersPacket_Layer::set_filter(::mozilla::layers::layerscope::LayersPacket_Layer_Filter value) {
-  GOOGLE_DCHECK(::mozilla::layers::layerscope::LayersPacket_Layer_Filter_IsValid(value));
+  assert(::mozilla::layers::layerscope::LayersPacket_Layer_Filter_IsValid(value));
   set_has_filter();
   filter_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.filter)
 }
 
 // optional uint64 refID = 103;
 inline bool LayersPacket_Layer::has_refid() const {
   return (_has_bits_[0] & 0x00200000u) != 0;
 }
 inline void LayersPacket_Layer::set_has_refid() {
   _has_bits_[0] |= 0x00200000u;
@@ -3080,21 +3732,23 @@ inline void LayersPacket_Layer::set_has_
 inline void LayersPacket_Layer::clear_has_refid() {
   _has_bits_[0] &= ~0x00200000u;
 }
 inline void LayersPacket_Layer::clear_refid() {
   refid_ = GOOGLE_ULONGLONG(0);
   clear_has_refid();
 }
 inline ::google::protobuf::uint64 LayersPacket_Layer::refid() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.refID)
   return refid_;
 }
 inline void LayersPacket_Layer::set_refid(::google::protobuf::uint64 value) {
   set_has_refid();
   refid_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.LayersPacket.Layer.refID)
 }
 
 // optional .mozilla.layers.layerscope.LayersPacket.Layer.Size size = 104;
 inline bool LayersPacket_Layer::has_size() const {
   return (_has_bits_[0] & 0x00400000u) != 0;
 }
 inline void LayersPacket_Layer::set_has_size() {
   _has_bits_[0] |= 0x00400000u;
@@ -3102,56 +3756,77 @@ inline void LayersPacket_Layer::set_has_
 inline void LayersPacket_Layer::clear_has_size() {
   _has_bits_[0] &= ~0x00400000u;
 }
 inline void LayersPacket_Layer::clear_size() {
   if (size_ != NULL) size_->::mozilla::layers::layerscope::LayersPacket_Layer_Size::Clear();
   clear_has_size();
 }
 inline const ::mozilla::layers::layerscope::LayersPacket_Layer_Size& LayersPacket_Layer::size() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.Layer.size)
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  return size_ != NULL ? *size_ : *default_instance().size_;
+#else
   return size_ != NULL ? *size_ : *default_instance_->size_;
+#endif
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Size* LayersPacket_Layer::mutable_size() {
   set_has_size();
   if (size_ == NULL) size_ = new ::mozilla::layers::layerscope::LayersPacket_Layer_Size;
+  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.Layer.size)
   return size_;
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer_Size* LayersPacket_Layer::release_size() {
   clear_has_size();
   ::mozilla::layers::layerscope::LayersPacket_Layer_Size* temp = size_;
   size_ = NULL;
   return temp;
 }
+inline void LayersPacket_Layer::set_allocated_size(::mozilla::layers::layerscope::LayersPacket_Layer_Size* size) {
+  delete size_;
+  size_ = size;
+  if (size) {
+    set_has_size();
+  } else {
+    clear_has_size();
+  }
+  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.LayersPacket.Layer.size)
+}
 
 // -------------------------------------------------------------------
 
 // LayersPacket
 
 // repeated .mozilla.layers.layerscope.LayersPacket.Layer layer = 1;
 inline int LayersPacket::layer_size() const {
   return layer_.size();
 }
 inline void LayersPacket::clear_layer() {
   layer_.Clear();
 }
 inline const ::mozilla::layers::layerscope::LayersPacket_Layer& LayersPacket::layer(int index) const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.LayersPacket.layer)
   return layer_.Get(index);
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer* LayersPacket::mutable_layer(int index) {
+  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.LayersPacket.layer)
   return layer_.Mutable(index);
 }
 inline ::mozilla::layers::layerscope::LayersPacket_Layer* LayersPacket::add_layer() {
+  // @@protoc_insertion_point(field_add:mozilla.layers.layerscope.LayersPacket.layer)
   return layer_.Add();
 }
 inline const ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer >&
 LayersPacket::layer() const {
+  // @@protoc_insertion_point(field_list:mozilla.layers.layerscope.LayersPacket.layer)
   return layer_;
 }
 inline ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer >*
 LayersPacket::mutable_layer() {
+  // @@protoc_insertion_point(field_mutable_list:mozilla.layers.layerscope.LayersPacket.layer)
   return &layer_;
 }
 
 // -------------------------------------------------------------------
 
 // MetaPacket
 
 // optional bool composedByHwc = 1;
@@ -3164,21 +3839,23 @@ inline void MetaPacket::set_has_composed
 inline void MetaPacket::clear_has_composedbyhwc() {
   _has_bits_[0] &= ~0x00000001u;
 }
 inline void MetaPacket::clear_composedbyhwc() {
   composedbyhwc_ = false;
   clear_has_composedbyhwc();
 }
 inline bool MetaPacket::composedbyhwc() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.MetaPacket.composedByHwc)
   return composedbyhwc_;
 }
 inline void MetaPacket::set_composedbyhwc(bool value) {
   set_has_composedbyhwc();
   composedbyhwc_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.MetaPacket.composedByHwc)
 }
 
 // -------------------------------------------------------------------
 
 // DrawPacket_Rect
 
 // required float x = 1;
 inline bool DrawPacket_Rect::has_x() const {
@@ -3190,21 +3867,23 @@ inline void DrawPacket_Rect::set_has_x()
 inline void DrawPacket_Rect::clear_has_x() {
   _has_bits_[0] &= ~0x00000001u;
 }
 inline void DrawPacket_Rect::clear_x() {
   x_ = 0;
   clear_has_x();
 }
 inline float DrawPacket_Rect::x() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.DrawPacket.Rect.x)
   return x_;
 }
 inline void DrawPacket_Rect::set_x(float value) {
   set_has_x();
   x_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.DrawPacket.Rect.x)
 }
 
 // required float y = 2;
 inline bool DrawPacket_Rect::has_y() const {
   return (_has_bits_[0] & 0x00000002u) != 0;
 }
 inline void DrawPacket_Rect::set_has_y() {
   _has_bits_[0] |= 0x00000002u;
@@ -3212,21 +3891,23 @@ inline void DrawPacket_Rect::set_has_y()
 inline void DrawPacket_Rect::clear_has_y() {
   _has_bits_[0] &= ~0x00000002u;
 }
 inline void DrawPacket_Rect::clear_y() {
   y_ = 0;
   clear_has_y();
 }
 inline float DrawPacket_Rect::y() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.DrawPacket.Rect.y)
   return y_;
 }
 inline void DrawPacket_Rect::set_y(float value) {
   set_has_y();
   y_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.DrawPacket.Rect.y)
 }
 
 // required float w = 3;
 inline bool DrawPacket_Rect::has_w() const {
   return (_has_bits_[0] & 0x00000004u) != 0;
 }
 inline void DrawPacket_Rect::set_has_w() {
   _has_bits_[0] |= 0x00000004u;
@@ -3234,21 +3915,23 @@ inline void DrawPacket_Rect::set_has_w()
 inline void DrawPacket_Rect::clear_has_w() {
   _has_bits_[0] &= ~0x00000004u;
 }
 inline void DrawPacket_Rect::clear_w() {
   w_ = 0;
   clear_has_w();
 }
 inline float DrawPacket_Rect::w() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.DrawPacket.Rect.w)
   return w_;
 }
 inline void DrawPacket_Rect::set_w(float value) {
   set_has_w();
   w_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.DrawPacket.Rect.w)
 }
 
 // required float h = 4;
 inline bool DrawPacket_Rect::has_h() const {
   return (_has_bits_[0] & 0x00000008u) != 0;
 }
 inline void DrawPacket_Rect::set_has_h() {
   _has_bits_[0] |= 0x00000008u;
@@ -3256,21 +3939,23 @@ inline void DrawPacket_Rect::set_has_h()
 inline void DrawPacket_Rect::clear_has_h() {
   _has_bits_[0] &= ~0x00000008u;
 }
 inline void DrawPacket_Rect::clear_h() {
   h_ = 0;
   clear_has_h();
 }
 inline float DrawPacket_Rect::h() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.DrawPacket.Rect.h)
   return h_;
 }
 inline void DrawPacket_Rect::set_h(float value) {
   set_has_h();
   h_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.DrawPacket.Rect.h)
 }
 
 // -------------------------------------------------------------------
 
 // DrawPacket
 
 // required float offsetX = 1;
 inline bool DrawPacket::has_offsetx() const {
@@ -3282,21 +3967,23 @@ inline void DrawPacket::set_has_offsetx(
 inline void DrawPacket::clear_has_offsetx() {
   _has_bits_[0] &= ~0x00000001u;
 }
 inline void DrawPacket::clear_offsetx() {
   offsetx_ = 0;
   clear_has_offsetx();
 }
 inline float DrawPacket::offsetx() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.DrawPacket.offsetX)
   return offsetx_;
 }
 inline void DrawPacket::set_offsetx(float value) {
   set_has_offsetx();
   offsetx_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.DrawPacket.offsetX)
 }
 
 // required float offsetY = 2;
 inline bool DrawPacket::has_offsety() const {
   return (_has_bits_[0] & 0x00000002u) != 0;
 }
 inline void DrawPacket::set_has_offsety() {
   _has_bits_[0] |= 0x00000002u;
@@ -3304,45 +3991,52 @@ inline void DrawPacket::set_has_offsety(
 inline void DrawPacket::clear_has_offsety() {
   _has_bits_[0] &= ~0x00000002u;
 }
 inline void DrawPacket::clear_offsety() {
   offsety_ = 0;
   clear_has_offsety();
 }
 inline float DrawPacket::offsety() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.DrawPacket.offsetY)
   return offsety_;
 }
 inline void DrawPacket::set_offsety(float value) {
   set_has_offsety();
   offsety_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.DrawPacket.offsetY)
 }
 
 // repeated float mvMatrix = 3;
 inline int DrawPacket::mvmatrix_size() const {
   return mvmatrix_.size();
 }
 inline void DrawPacket::clear_mvmatrix() {
   mvmatrix_.Clear();
 }
 inline float DrawPacket::mvmatrix(int index) const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.DrawPacket.mvMatrix)
   return mvmatrix_.Get(index);
 }
 inline void DrawPacket::set_mvmatrix(int index, float value) {
   mvmatrix_.Set(index, value);
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.DrawPacket.mvMatrix)
 }
 inline void DrawPacket::add_mvmatrix(float value) {
   mvmatrix_.Add(value);
+  // @@protoc_insertion_point(field_add:mozilla.layers.layerscope.DrawPacket.mvMatrix)
 }
 inline const ::google::protobuf::RepeatedField< float >&
 DrawPacket::mvmatrix() const {
+  // @@protoc_insertion_point(field_list:mozilla.layers.layerscope.DrawPacket.mvMatrix)
   return mvmatrix_;
 }
 inline ::google::protobuf::RepeatedField< float >*
 DrawPacket::mutable_mvmatrix() {
+  // @@protoc_insertion_point(field_mutable_list:mozilla.layers.layerscope.DrawPacket.mvMatrix)
   return &mvmatrix_;
 }
 
 // required uint32 totalRects = 4;
 inline bool DrawPacket::has_totalrects() const {
   return (_has_bits_[0] & 0x00000008u) != 0;
 }
 inline void DrawPacket::set_has_totalrects() {
@@ -3351,45 +4045,52 @@ inline void DrawPacket::set_has_totalrec
 inline void DrawPacket::clear_has_totalrects() {
   _has_bits_[0] &= ~0x00000008u;
 }
 inline void DrawPacket::clear_totalrects() {
   totalrects_ = 0u;
   clear_has_totalrects();
 }
 inline ::google::protobuf::uint32 DrawPacket::totalrects() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.DrawPacket.totalRects)
   return totalrects_;
 }
 inline void DrawPacket::set_totalrects(::google::protobuf::uint32 value) {
   set_has_totalrects();
   totalrects_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.DrawPacket.totalRects)
 }
 
 // repeated .mozilla.layers.layerscope.DrawPacket.Rect layerRect = 5;
 inline int DrawPacket::layerrect_size() const {
   return layerrect_.size();
 }
 inline void DrawPacket::clear_layerrect() {
   layerrect_.Clear();
 }
 inline const ::mozilla::layers::layerscope::DrawPacket_Rect& DrawPacket::layerrect(int index) const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.DrawPacket.layerRect)
   return layerrect_.Get(index);
 }
 inline ::mozilla::layers::layerscope::DrawPacket_Rect* DrawPacket::mutable_layerrect(int index) {
+  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.DrawPacket.layerRect)
   return layerrect_.Mutable(index);
 }
 inline ::mozilla::layers::layerscope::DrawPacket_Rect* DrawPacket::add_layerrect() {
+  // @@protoc_insertion_point(field_add:mozilla.layers.layerscope.DrawPacket.layerRect)
   return layerrect_.Add();
 }
 inline const ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::DrawPacket_Rect >&
 DrawPacket::layerrect() const {
+  // @@protoc_insertion_point(field_list:mozilla.layers.layerscope.DrawPacket.layerRect)
   return layerrect_;
 }
 inline ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::DrawPacket_Rect >*
 DrawPacket::mutable_layerrect() {
+  // @@protoc_insertion_point(field_mutable_list:mozilla.layers.layerscope.DrawPacket.layerRect)
   return &layerrect_;
 }
 
 // required uint64 layerref = 6;
 inline bool DrawPacket::has_layerref() const {
   return (_has_bits_[0] & 0x00000020u) != 0;
 }
 inline void DrawPacket::set_has_layerref() {
@@ -3398,21 +4099,23 @@ inline void DrawPacket::set_has_layerref
 inline void DrawPacket::clear_has_layerref() {
   _has_bits_[0] &= ~0x00000020u;
 }
 inline void DrawPacket::clear_layerref() {
   layerref_ = GOOGLE_ULONGLONG(0);
   clear_has_layerref();
 }
 inline ::google::protobuf::uint64 DrawPacket::layerref() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.DrawPacket.layerref)
   return layerref_;
 }
 inline void DrawPacket::set_layerref(::google::protobuf::uint64 value) {
   set_has_layerref();
   layerref_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.DrawPacket.layerref)
 }
 
 // -------------------------------------------------------------------
 
 // Packet
 
 // required .mozilla.layers.layerscope.Packet.DataType type = 1;
 inline bool Packet::has_type() const {
@@ -3424,22 +4127,24 @@ inline void Packet::set_has_type() {
 inline void Packet::clear_has_type() {
   _has_bits_[0] &= ~0x00000001u;
 }
 inline void Packet::clear_type() {
   type_ = 1;
   clear_has_type();
 }
 inline ::mozilla::layers::layerscope::Packet_DataType Packet::type() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.Packet.type)
   return static_cast< ::mozilla::layers::layerscope::Packet_DataType >(type_);
 }
 inline void Packet::set_type(::mozilla::layers::layerscope::Packet_DataType value) {
-  GOOGLE_DCHECK(::mozilla::layers::layerscope::Packet_DataType_IsValid(value));
+  assert(::mozilla::layers::layerscope::Packet_DataType_IsValid(value));
   set_has_type();
   type_ = value;
+  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.Packet.type)
 }
 
 // optional .mozilla.layers.layerscope.FramePacket frame = 2;
 inline bool Packet::has_frame() const {
   return (_has_bits_[0] & 0x00000002u) != 0;
 }
 inline void Packet::set_has_frame() {
   _has_bits_[0] |= 0x00000002u;
@@ -3447,174 +4152,270 @@ inline void Packet::set_has_frame() {
 inline void Packet::clear_has_frame() {
   _has_bits_[0] &= ~0x00000002u;
 }
 inline void Packet::clear_frame() {
   if (frame_ != NULL) frame_->::mozilla::layers::layerscope::FramePacket::Clear();
   clear_has_frame();
 }
 inline const ::mozilla::layers::layerscope::FramePacket& Packet::frame() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.Packet.frame)
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  return frame_ != NULL ? *frame_ : *default_instance().frame_;
+#else
   return frame_ != NULL ? *frame_ : *default_instance_->frame_;
+#endif
 }
 inline ::mozilla::layers::layerscope::FramePacket* Packet::mutable_frame() {
   set_has_frame();
   if (frame_ == NULL) frame_ = new ::mozilla::layers::layerscope::FramePacket;
+  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.Packet.frame)
   return frame_;
 }
 inline ::mozilla::layers::layerscope::FramePacket* Packet::release_frame() {
   clear_has_frame();
   ::mozilla::layers::layerscope::FramePacket* temp = frame_;
   frame_ = NULL;
   return temp;
 }
+inline void Packet::set_allocated_frame(::mozilla::layers::layerscope::FramePacket* frame) {
+  delete frame_;
+  frame_ = frame;
+  if (frame) {
+    set_has_frame();
+  } else {
+    clear_has_frame();
+  }
+  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.Packet.frame)
+}
 
 // optional .mozilla.layers.layerscope.ColorPacket color = 3;
 inline bool Packet::has_color() const {
   return (_has_bits_[0] & 0x00000004u) != 0;
 }
 inline void Packet::set_has_color() {
   _has_bits_[0] |= 0x00000004u;
 }
 inline void Packet::clear_has_color() {
   _has_bits_[0] &= ~0x00000004u;
 }
 inline void Packet::clear_color() {
   if (color_ != NULL) color_->::mozilla::layers::layerscope::ColorPacket::Clear();
   clear_has_color();
 }
 inline const ::mozilla::layers::layerscope::ColorPacket& Packet::color() const {
+  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.Packet.color)
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  return color_ != NULL ? *color_ : *default_instance().color_;
+#else