Backed out 19 changesets (bug 1149397, bug 1065657, bug 1024774) for fixing Linux PGO xpcshell bustage on a CLOSED TREE
authorCarsten "Tomcat" Book <cbook@mozilla.com>
Thu, 23 Apr 2015 08:37:24 +0200
changeset 240645 0b202671c9e24cecd28be9eabf81249064dfe458
parent 240608 a5af73b32ac80d81490a9007708333bab37b9cc7
child 240646 2274f5b28b31b43d083e00edbd680884e4749654
child 240691 0724bcc257b712d099ae6ce86f4a30e9f057f1e3
child 240704 34750ab31058b5a7ee36be6bc1fa98de9c18adcd
push id58887
push usercbook@mozilla.com
push dateThu, 23 Apr 2015 06:41:23 +0000
treeherdermozilla-inbound@2274f5b28b31 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1149397, 1065657, 1024774
milestone40.0a1
backs out53058615e7a38c90715912127a14d113a9939f17
68fe0894bb09d008d7c027aab9689cfe469f4e5a
1b9620d674dff99cbc5ef5261da594df9391641c
a31c514b59dae4192232af8ec84147fa16fa752b
0fcf8757f6c2e0bbb61d10fa520ea1728081d690
9a3c71b925d4e40713dc6ac06030ef50ea34903b
783acc92af04dd50acfb18931de25604e30610cd
ad71c9a3446bf404ad17c4058c21ac92406121da
4f37e72e70f68d940f699782fa4a12b431c87a84
ec869578cc0a151f39eb20dbb141ed12dd1c5d51
3c1d306c8a3d4a4d71ffb8e86e9927884c5564e3
b3a90f30892d78aab8eff7701973483201f686b8
cf7bbb3774c044d9ca526f96e94606719c44b4f3
2522eb4d3cf249a9add3dff6c860299d35430145
89a502d88f9c39d4702a3fc342035d41b5d5e830
61046ad3161f711b86ba7dcbecf00a8decf14061
36706aaa2f0660caf49d33471cd0d42fb58f3bbc
ba8e68e05149d1adb5b583eee0ed1966deaa2616
532169437c2fde41cdad2f0a50035644dad4a9fa
first release with
nightly linux32
0b202671c9e2 / 40.0a1 / 20150423030204 / files
nightly linux64
0b202671c9e2 / 40.0a1 / 20150423030204 / files
nightly mac
0b202671c9e2 / 40.0a1 / 20150423030204 / files
nightly win32
0b202671c9e2 / 40.0a1 / 20150423030204 / files
nightly win64
0b202671c9e2 / 40.0a1 / 20150423030204 / files
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
releases
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out 19 changesets (bug 1149397, bug 1065657, bug 1024774) for fixing Linux PGO xpcshell bustage on a CLOSED TREE Backed out changeset 53058615e7a3 (bug 1024774) Backed out changeset 68fe0894bb09 (bug 1065657) Backed out changeset 1b9620d674df (bug 1024774) Backed out changeset a31c514b59da (bug 1024774) Backed out changeset 0fcf8757f6c2 (bug 1024774) Backed out changeset 9a3c71b925d4 (bug 1024774) Backed out changeset 783acc92af04 (bug 1024774) Backed out changeset ad71c9a3446b (bug 1024774) Backed out changeset 4f37e72e70f6 (bug 1024774) Backed out changeset ec869578cc0a (bug 1024774) Backed out changeset 3c1d306c8a3d (bug 1024774) Backed out changeset b3a90f30892d (bug 1024774) Backed out changeset cf7bbb3774c0 (bug 1024774) Backed out changeset 2522eb4d3cf2 (bug 1024774) Backed out changeset 89a502d88f9c (bug 1024774) Backed out changeset 61046ad3161f (bug 1024774) Backed out changeset 36706aaa2f06 (bug 1024774) Backed out changeset ba8e68e05149 (bug 1149397) Backed out changeset 532169437c2f (bug 1065657)
configure.in
dom/bindings/Bindings.conf
dom/webidl/ChromeUtils.webidl
dom/webidl/HeapSnapshot.webidl
dom/webidl/moz.build
gfx/layers/protobuf/LayerScopePacket.pb.cc
gfx/layers/protobuf/LayerScopePacket.pb.h
js/public/Debug.h
js/public/UbiNode.h
js/public/UbiNodeTraverse.h
js/src/devtools/rootAnalysis/annotations.js
js/src/doc/Debugger/Debugger.Memory.md
js/src/doc/Debugger/config.sh
js/src/jit-test/tests/debug/Memory-trackingAllocationSites-03.js
js/src/jscompartment.h
js/src/jsfriendapi.cpp
js/src/jsfriendapi.h
js/src/vm/Debugger-inl.h
js/src/vm/Debugger.cpp
js/src/vm/Debugger.h
js/src/vm/DebuggerMemory.cpp
js/src/vm/GlobalObject.cpp
js/src/vm/GlobalObject.h
js/src/vm/SavedStacks.cpp
js/src/vm/UbiNode.cpp
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
toolkit/devtools/server/ChromeUtils.cpp
toolkit/devtools/server/ChromeUtils.h
toolkit/devtools/server/CoreDump.pb.cc
toolkit/devtools/server/CoreDump.pb.h
toolkit/devtools/server/CoreDump.proto
toolkit/devtools/server/DeserializedNode.cpp
toolkit/devtools/server/DeserializedNode.h
toolkit/devtools/server/HeapSnapshot.cpp
toolkit/devtools/server/HeapSnapshot.h
toolkit/devtools/server/ZeroCopyNSIOutputStream.cpp
toolkit/devtools/server/ZeroCopyNSIOutputStream.h
toolkit/devtools/server/generate-core-dump-sources.sh
toolkit/devtools/server/moz.build
toolkit/devtools/server/tests/gtest/DeserializedNodeUbiNodes.cpp
toolkit/devtools/server/tests/gtest/DevTools.h
toolkit/devtools/server/tests/gtest/DoesCrossZoneBoundaries.cpp
toolkit/devtools/server/tests/gtest/DoesntCrossZoneBoundaries.cpp
toolkit/devtools/server/tests/gtest/SerializesEdgeNames.cpp
toolkit/devtools/server/tests/gtest/SerializesEverythingInHeapGraphOnce.cpp
toolkit/devtools/server/tests/gtest/SerializesTypeNames.cpp
toolkit/devtools/server/tests/gtest/moz.build
toolkit/devtools/server/tests/mochitest/chrome.ini
toolkit/devtools/server/tests/mochitest/test_SaveHeapSnapshot.html
toolkit/devtools/server/tests/unit/head_dbg.js
toolkit/devtools/server/tests/unit/test_ReadHeapSnapshot.js
toolkit/devtools/server/tests/unit/test_SaveHeapSnapshot.js
toolkit/devtools/server/tests/unit/xpcshell.ini
xpcom/glue/nsCRTGlue.cpp
xpcom/glue/nsCRTGlue.h
--- a/configure.in
+++ b/configure.in
@@ -3012,17 +3012,16 @@ 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/dom/bindings/Bindings.conf
+++ b/dom/bindings/Bindings.conf
@@ -257,24 +257,16 @@ DOMInterfaces = {
     'nativeType': 'nsDOMCaretPosition',
 },
 
 'CharacterData': {
     'nativeType': 'nsGenericDOMDataNode',
     'concrete': False
 },
 
-'ChromeUtils': {
-    # The codegen is dumb, and doesn't understand that this interface is only a
-    # collection of static methods, so we have this `concrete: False` hack.
-    'concrete': False,
-    'nativeType': 'mozilla::devtools::ChromeUtils',
-    'implicitJSContext': ['readHeapSnapshot', 'saveHeapSnapshot']
-},
-
 'ChromeWindow': {
     'concrete': False,
 },
 
 'ChromeWorker': {
     'headerFile': 'mozilla/dom/WorkerPrivate.h',
     'nativeType': 'mozilla::dom::workers::ChromeWorkerPrivate',
 },
@@ -496,20 +488,16 @@ DOMInterfaces = {
 'FormData': {
     'nativeType': 'nsFormData'
 },
 
 'Geolocation': {
     'headerFile': 'nsGeolocation.h'
 },
 
-'HeapSnapshot': {
-    'nativeType': 'mozilla::devtools::HeapSnapshot'
-},
-
 'History': {
     'headerFile': 'nsHistory.h',
     'nativeType': 'nsHistory'
 },
 
 'HTMLAppletElement': {
     'nativeType': 'mozilla::dom::HTMLSharedObjectElement'
 },
deleted file mode 100644
--- a/dom/webidl/ChromeUtils.webidl
+++ /dev/null
@@ -1,63 +0,0 @@
-/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-/**
- * A collection of static utility methods that are only exposed to Chrome.
- */
-[ChromeOnly, Exposed=(Window,System)]
-interface ChromeUtils {
-  /**
-   * Serialize a snapshot of the heap graph, as seen by |JS::ubi::Node| and
-   * restricted by |boundaries|, and write it to the provided file path.
-   *
-   * @param filePath          The file path to write the heap snapshot to.
-   *
-   * @param boundaries        The portion of the heap graph to write.
-   */
-  [Throws]
-  static void saveHeapSnapshot(DOMString filePath,
-                               optional HeapSnapshotBoundaries boundaries);
-
-  /**
-   * Deserialize a core dump into a HeapSnapshot.
-   *
-   * @param filePath          The file path to read the core dump from.
-   */
-  [Throws, NewObject]
-  static HeapSnapshot readHeapSnapshot(DOMString filePath);
-};
-
-/**
- * A JS object whose properties specify what portion of the heap graph to
- * write. The recognized properties are:
- *
- * * globals: [ global, ... ]
- *   Dump only nodes that either:
- *   - belong in the compartment of one of the given globals;
- *   - belong to no compartment, but do belong to a Zone that contains one of
- *     the given globals;
- *   - are referred to directly by one of the last two kinds of nodes; or
- *   - is the fictional root node, described below.
- *
- * * debugger: Debugger object
- *   Like "globals", but use the Debugger's debuggees as the globals.
- *
- * * runtime: true
- *   Dump the entire heap graph, starting with the JSRuntime's roots.
- *
- * One, and only one, of these properties must exist on the boundaries object.
- *
- * The root of the dumped graph is a fictional node whose ubi::Node type name is
- * "CoreDumpRoot". If we are dumping the entire ubi::Node graph, this root node
- * has an edge for each of the JSRuntime's roots. If we are dumping a selected
- * set of globals, the root has an edge to each global, and an edge for each
- * incoming JS reference to the selected Zones.
- */
-dictionary HeapSnapshotBoundaries {
-  sequence<object> globals;
-  object           debugger;
-  boolean          runtime;
-};
deleted file mode 100644
--- a/dom/webidl/HeapSnapshot.webidl
+++ /dev/null
@@ -1,12 +0,0 @@
-/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-/**
- * A HeapSnapshot represents a snapshot of the heap graph
- */
-[ChromeOnly, Exposed=(Window,System)]
-interface HeapSnapshot {
-};
--- a/dom/webidl/moz.build
+++ b/dom/webidl/moz.build
@@ -68,17 +68,16 @@ WEBIDL_FILES = [
     'CanvasRenderingContext2D.webidl',
     'CaretPosition.webidl',
     'CDATASection.webidl',
     'ChannelMergerNode.webidl',
     'ChannelSplitterNode.webidl',
     'CharacterData.webidl',
     'ChildNode.webidl',
     'ChromeNotifications.webidl',
-    'ChromeUtils.webidl',
     'Client.webidl',
     'Clients.webidl',
     'ClipboardEvent.webidl',
     'CommandEvent.webidl',
     'Comment.webidl',
     'CompositionEvent.webidl',
     'Console.webidl',
     'Constraints.webidl',
@@ -153,17 +152,16 @@ WEBIDL_FILES = [
     'FormData.webidl',
     'Function.webidl',
     'GainNode.webidl',
     'Geolocation.webidl',
     'GeometryUtils.webidl',
     'GetUserMediaRequest.webidl',
     'HDMIInputPort.webidl',
     'Headers.webidl',
-    'HeapSnapshot.webidl',
     'History.webidl',
     'HTMLAllCollection.webidl',
     'HTMLAnchorElement.webidl',
     'HTMLAppletElement.webidl',
     'HTMLAreaElement.webidl',
     'HTMLAudioElement.webidl',
     'HTMLBaseElement.webidl',
     'HTMLBodyElement.webidl',
--- a/gfx/layers/protobuf/LayerScopePacket.pb.cc
+++ b/gfx/layers/protobuf/LayerScopePacket.pb.cc
@@ -1,21 +1,18 @@
 // 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_;
@@ -28,28 +25,22 @@ void protobuf_ShutdownFile_LayerScopePac
   delete LayersPacket_Layer_Region::default_instance_;
   delete LayersPacket_Layer_Matrix::default_instance_;
   delete LayersPacket_Layer_Shadow::default_instance_;
   delete MetaPacket::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();
@@ -69,176 +60,138 @@ void protobuf_AddDesc_LayerScopePacket_2
   LayersPacket_Layer_Matrix::default_instance_->InitAsDefaultInstance();
   LayersPacket_Layer_Shadow::default_instance_->InitAsDefaultInstance();
   MetaPacket::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() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_LayerScopePacket_2eproto();
-#else
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
-#endif
-  return *default_instance_;
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  return *default_instance_;
 }
 
 FramePacket* FramePacket::default_instance_ = NULL;
 
 FramePacket* FramePacket::New() const {
   return new FramePacket;
 }
 
 void FramePacket::Clear() {
-  value_ = GOOGLE_ULONGLONG(0);
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    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)) goto failure
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   ::google::protobuf::uint32 tag;
-  ::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;
+  while ((tag = input->ReadTag()) != 0) {
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // optional uint64 value = 1;
       case 1: {
-        if (tag == 8) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
                  input, &value_)));
           set_has_value();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
-        if (input->ExpectAtEnd()) goto success;
+        if (input->ExpectAtEnd()) return true;
         break;
       }
-
+      
       default: {
-      handle_unusual:
-        if (tag == 0 ||
-            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          goto success;
+          return true;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
         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) {
@@ -247,35 +200,33 @@ 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";
 }
 
@@ -287,250 +238,211 @@ 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() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_LayerScopePacket_2eproto();
-#else
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
-#endif
-  return *default_instance_;
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  return *default_instance_;
 }
 
 ColorPacket* ColorPacket::default_instance_ = NULL;
 
 ColorPacket* ColorPacket::New() const {
   return new ColorPacket;
 }
 
 void ColorPacket::Clear() {
-#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_
-
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    layerref_ = GOOGLE_ULONGLONG(0);
+    width_ = 0u;
+    height_ = 0u;
+    color_ = 0u;
+  }
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->clear();
 }
 
 bool ColorPacket::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   ::google::protobuf::uint32 tag;
-  ::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;
+  while ((tag = input->ReadTag()) != 0) {
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // required uint64 layerref = 1;
       case 1: {
-        if (tag == 8) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
                  input, &layerref_)));
           set_has_layerref();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(16)) goto parse_width;
         break;
       }
-
+      
       // optional uint32 width = 2;
       case 2: {
-        if (tag == 16) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          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_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(24)) goto parse_height;
         break;
       }
-
+      
       // optional uint32 height = 3;
       case 3: {
-        if (tag == 24) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          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_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(32)) goto parse_color;
         break;
       }
-
+      
       // optional uint32 color = 4;
       case 4: {
-        if (tag == 32) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          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_unusual;
+          goto handle_uninterpreted;
         }
-        if (input->ExpectAtEnd()) goto success;
+        if (input->ExpectAtEnd()) return true;
         break;
       }
-
+      
       default: {
-      handle_unusual:
-        if (tag == 0 ||
-            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          goto success;
+          return true;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
         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) {
@@ -548,39 +460,37 @@ 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";
 }
 
@@ -597,402 +507,371 @@ 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::GetEmptyStringAlreadyInited());
+  data_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
   ::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::GetEmptyStringAlreadyInited()) {
+  if (data_ != &::google::protobuf::internal::kEmptyString) {
     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() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_LayerScopePacket_2eproto();
-#else
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
-#endif
-  return *default_instance_;
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  return *default_instance_;
 }
 
 TexturePacket* TexturePacket::default_instance_ = NULL;
 
 TexturePacket* TexturePacket::New() const {
   return new TexturePacket;
 }
 
 void TexturePacket::Clear() {
-#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_[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);
   }
-  if (has_data()) {
-    if (data_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
-      data_->clear();
+  if (_has_bits_[8 / 32] & (0xffu << (8 % 32))) {
+    if (has_data()) {
+      if (data_ != &::google::protobuf::internal::kEmptyString) {
+        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)) goto failure
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   ::google::protobuf::uint32 tag;
-  ::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;
+  while ((tag = input->ReadTag()) != 0) {
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // required uint64 layerref = 1;
       case 1: {
-        if (tag == 8) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
                  input, &layerref_)));
           set_has_layerref();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(16)) goto parse_width;
         break;
       }
-
+      
       // optional uint32 width = 2;
       case 2: {
-        if (tag == 16) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          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_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(24)) goto parse_height;
         break;
       }
-
+      
       // optional uint32 height = 3;
       case 3: {
-        if (tag == 24) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          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_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(32)) goto parse_stride;
         break;
       }
-
+      
       // optional uint32 stride = 4;
       case 4: {
-        if (tag == 32) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          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_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(40)) goto parse_name;
         break;
       }
-
+      
       // optional uint32 name = 5;
       case 5: {
-        if (tag == 40) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          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_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(48)) goto parse_target;
         break;
       }
-
+      
       // optional uint32 target = 6;
       case 6: {
-        if (tag == 48) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          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_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(56)) goto parse_dataformat;
         break;
       }
-
+      
       // optional uint32 dataformat = 7;
       case 7: {
-        if (tag == 56) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          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_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(64)) goto parse_glcontext;
         break;
       }
-
+      
       // optional uint64 glcontext = 8;
       case 8: {
-        if (tag == 64) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          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_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(74)) goto parse_data;
         break;
       }
-
+      
       // optional bytes data = 9;
       case 9: {
-        if (tag == 74) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
          parse_data:
           DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                 input, this->mutable_data()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
-        if (input->ExpectAtEnd()) goto success;
+        if (input->ExpectAtEnd()) return true;
         break;
       }
-
+      
       default: {
-      handle_unusual:
-        if (tag == 0 ||
-            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          goto success;
+          return true;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
         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::WriteBytesMaybeAliased(
+    ::google::protobuf::internal::WireFormatLite::WriteBytes(
       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) {
@@ -1027,44 +906,42 @@ 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";
 }
 
@@ -1149,194 +1026,151 @@ 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() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_LayerScopePacket_2eproto();
-#else
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
-#endif
-  return *default_instance_;
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  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() {
-#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_
-
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    w_ = 0;
+    h_ = 0;
+  }
   ::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)) goto failure
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   ::google::protobuf::uint32 tag;
-  ::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;
+  while ((tag = input->ReadTag()) != 0) {
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // optional int32 w = 1;
       case 1: {
-        if (tag == 8) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                  input, &w_)));
           set_has_w();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(16)) goto parse_h;
         break;
       }
-
+      
       // optional int32 h = 2;
       case 2: {
-        if (tag == 16) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          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_unusual;
+          goto handle_uninterpreted;
         }
-        if (input->ExpectAtEnd()) goto success;
+        if (input->ExpectAtEnd()) return true;
         break;
       }
-
+      
       default: {
-      handle_unusual:
-        if (tag == 0 ||
-            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          goto success;
+          return true;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
         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) {
@@ -1348,36 +1182,34 @@ 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";
 }
 
@@ -1389,250 +1221,211 @@ 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() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_LayerScopePacket_2eproto();
-#else
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
-#endif
-  return *default_instance_;
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  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() {
-#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_
-
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    x_ = 0;
+    y_ = 0;
+    w_ = 0;
+    h_ = 0;
+  }
   ::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)) goto failure
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   ::google::protobuf::uint32 tag;
-  ::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;
+  while ((tag = input->ReadTag()) != 0) {
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // optional int32 x = 1;
       case 1: {
-        if (tag == 8) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                  input, &x_)));
           set_has_x();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(16)) goto parse_y;
         break;
       }
-
+      
       // optional int32 y = 2;
       case 2: {
-        if (tag == 16) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          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_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(24)) goto parse_w;
         break;
       }
-
+      
       // optional int32 w = 3;
       case 3: {
-        if (tag == 24) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          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_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(32)) goto parse_h;
         break;
       }
-
+      
       // optional int32 h = 4;
       case 4: {
-        if (tag == 32) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          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_unusual;
+          goto handle_uninterpreted;
         }
-        if (input->ExpectAtEnd()) goto success;
+        if (input->ExpectAtEnd()) return true;
         break;
       }
-
+      
       default: {
-      handle_unusual:
-        if (tag == 0 ||
-            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          goto success;
+          return true;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
         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) {
@@ -1650,38 +1443,36 @@ 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";
 }
 
@@ -1690,184 +1481,149 @@ 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() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_LayerScopePacket_2eproto();
-#else
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
-#endif
-  return *default_instance_;
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  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)) goto failure
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   ::google::protobuf::uint32 tag;
-  ::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;
+  while ((tag = input->ReadTag()) != 0) {
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // repeated .mozilla.layers.layerscope.LayersPacket.Layer.Rect r = 1;
       case 1: {
-        if (tag == 10) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
          parse_r:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                 input, add_r()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(10)) goto parse_r;
-        if (input->ExpectAtEnd()) goto success;
+        if (input->ExpectAtEnd()) return true;
         break;
       }
-
+      
       default: {
-      handle_unusual:
-        if (tag == 0 ||
-            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          goto success;
+          return true;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
         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";
 }
 
@@ -1878,223 +1634,183 @@ 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() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_LayerScopePacket_2eproto();
-#else
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
-#endif
-  return *default_instance_;
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  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() {
-#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_
-
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    is2d_ = false;
+    isid_ = false;
+  }
   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)) goto failure
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   ::google::protobuf::uint32 tag;
-  ::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;
+  while ((tag = input->ReadTag()) != 0) {
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // optional bool is2D = 1;
       case 1: {
-        if (tag == 8) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                  input, &is2d_)));
           set_has_is2d();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(16)) goto parse_isId;
         break;
       }
-
+      
       // optional bool isId = 2;
       case 2: {
-        if (tag == 16) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          parse_isId:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                  input, &isid_)));
           set_has_isid();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(29)) goto parse_m;
         break;
       }
-
+      
       // repeated float m = 3;
       case 3: {
-        if (tag == 29) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_FIXED32) {
          parse_m:
           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                  1, 29, input, this->mutable_m())));
-        } else if (tag == 26) {
+        } else if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag)
+                   == ::google::protobuf::internal::WireFormatLite::
+                      WIRETYPE_LENGTH_DELIMITED) {
           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                  input, this->mutable_m())));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(29)) goto parse_m;
-        if (input->ExpectAtEnd()) goto success;
+        if (input->ExpectAtEnd()) return true;
         break;
       }
-
+      
       default: {
-      handle_unusual:
-        if (tag == 0 ||
-            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          goto success;
+          return true;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
         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) {
@@ -2107,37 +1823,35 @@ 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";
 }
 
@@ -2148,236 +1862,190 @@ 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() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_LayerScopePacket_2eproto();
-#else
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
-#endif
-  return *default_instance_;
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  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] & 7) {
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     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)) goto failure
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   ::google::protobuf::uint32 tag;
-  ::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;
+  while ((tag = input->ReadTag()) != 0) {
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Rect clip = 1;
       case 1: {
-        if (tag == 10) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_clip()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(18)) goto parse_transform;
         break;
       }
-
+      
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Matrix transform = 2;
       case 2: {
-        if (tag == 18) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
          parse_transform:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_transform()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(26)) goto parse_vRegion;
         break;
       }
-
+      
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vRegion = 3;
       case 3: {
-        if (tag == 26) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
          parse_vRegion:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_vregion()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
-        if (input->ExpectAtEnd()) goto success;
+        if (input->ExpectAtEnd()) return true;
         break;
       }
-
+      
       default: {
-      handle_unusual:
-        if (tag == 0 ||
-            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          goto success;
+          return true;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
         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) {
@@ -2392,37 +2060,35 @@ 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";
 }
 
@@ -2448,63 +2114,31 @@ 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
-  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;
@@ -2521,651 +2155,619 @@ 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 valid_;
     delete size_;
   }
 }
 
 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() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_LayerScopePacket_2eproto();
-#else
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
-#endif
-  return *default_instance_;
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  return *default_instance_;
 }
 
 LayersPacket_Layer* LayersPacket_Layer::default_instance_ = NULL;
 
 LayersPacket_Layer* LayersPacket_Layer::New() const {
   return new LayersPacket_Layer;
 }
 
 void LayersPacket_Layer::Clear() {
-#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_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    type_ = 0;
+    ptr_ = GOOGLE_ULONGLONG(0);
+    parentptr_ = GOOGLE_ULONGLONG(0);
     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] & 65280) {
-    ZR_(copaque_, calpha_);
-    ZR_(barid_, mask_);
-    ZR_(color_, filter_);
+  if (_has_bits_[8 / 32] & (0xffu << (8 % 32))) {
+    copaque_ = false;
+    calpha_ = false;
     direct_ = 1;
+    barid_ = GOOGLE_ULONGLONG(0);
+    mask_ = GOOGLE_ULONGLONG(0);
     if (has_valid()) {
       if (valid_ != NULL) valid_->::mozilla::layers::layerscope::LayersPacket_Layer_Region::Clear();
     }
+    color_ = 0u;
+    filter_ = 0;
   }
-  if (_has_bits_[16 / 32] & 196608) {
+  if (_has_bits_[16 / 32] & (0xffu << (16 % 32))) {
     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)) goto failure
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   ::google::protobuf::uint32 tag;
-  ::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;
+  while ((tag = input->ReadTag()) != 0) {
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // required .mozilla.layers.layerscope.LayersPacket.Layer.LayerType type = 1;
       case 1: {
-        if (tag == 8) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
           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_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(16)) goto parse_ptr;
         break;
       }
-
+      
       // required uint64 ptr = 2;
       case 2: {
-        if (tag == 16) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          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_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(24)) goto parse_parentPtr;
         break;
       }
-
+      
       // required uint64 parentPtr = 3;
       case 3: {
-        if (tag == 24) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          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_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(82)) goto parse_clip;
         break;
       }
-
+      
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Rect clip = 10;
       case 10: {
-        if (tag == 82) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
          parse_clip:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_clip()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(90)) goto parse_transform;
         break;
       }
-
+      
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Matrix transform = 11;
       case 11: {
-        if (tag == 90) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
          parse_transform:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_transform()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(98)) goto parse_vRegion;
         break;
       }
-
+      
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region vRegion = 12;
       case 12: {
-        if (tag == 98) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
          parse_vRegion:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_vregion()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(106)) goto parse_shadow;
         break;
       }
-
+      
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Shadow shadow = 13;
       case 13: {
-        if (tag == 106) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
          parse_shadow:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_shadow()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(117)) goto parse_opacity;
         break;
       }
-
+      
       // optional float opacity = 14;
       case 14: {
-        if (tag == 117) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_FIXED32) {
          parse_opacity:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                  input, &opacity_)));
           set_has_opacity();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(120)) goto parse_cOpaque;
         break;
       }
-
+      
       // optional bool cOpaque = 15;
       case 15: {
-        if (tag == 120) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          parse_cOpaque:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                  input, &copaque_)));
           set_has_copaque();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(128)) goto parse_cAlpha;
         break;
       }
-
+      
       // optional bool cAlpha = 16;
       case 16: {
-        if (tag == 128) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          parse_cAlpha:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                  input, &calpha_)));
           set_has_calpha();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(136)) goto parse_direct;
         break;
       }
-
+      
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.ScrollingDirect direct = 17;
       case 17: {
-        if (tag == 136) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          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_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(144)) goto parse_barID;
         break;
       }
-
+      
       // optional uint64 barID = 18;
       case 18: {
-        if (tag == 144) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          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_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(152)) goto parse_mask;
         break;
       }
-
+      
       // optional uint64 mask = 19;
       case 19: {
-        if (tag == 152) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          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_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(802)) goto parse_valid;
         break;
       }
-
+      
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Region valid = 100;
       case 100: {
-        if (tag == 802) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
          parse_valid:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_valid()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(808)) goto parse_color;
         break;
       }
-
+      
       // optional uint32 color = 101;
       case 101: {
-        if (tag == 808) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          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_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(816)) goto parse_filter;
         break;
       }
-
+      
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Filter filter = 102;
       case 102: {
-        if (tag == 816) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          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_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(824)) goto parse_refID;
         break;
       }
-
+      
       // optional uint64 refID = 103;
       case 103: {
-        if (tag == 824) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          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_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(834)) goto parse_size;
         break;
       }
-
+      
       // optional .mozilla.layers.layerscope.LayersPacket.Layer.Size size = 104;
       case 104: {
-        if (tag == 834) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
          parse_size:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_size()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
-        if (input->ExpectAtEnd()) goto success;
+        if (input->ExpectAtEnd()) return true;
         break;
       }
-
+      
       default: {
-      handle_unusual:
-        if (tag == 0 ||
-            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          goto success;
+          return true;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
         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 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 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());
     }
-
+    
   }
   if (_has_bits_[16 / 32] & (0xffu << (16 % 32))) {
     // 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) {
@@ -3229,28 +2831,27 @@ void LayersPacket_Layer::MergeFrom(const
   if (from._has_bits_[16 / 32] & (0xffu << (16 % 32))) {
     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_);
@@ -3265,17 +2866,16 @@ void LayersPacket_Layer::Swap(LayersPack
     std::swap(barid_, other->barid_);
     std::swap(mask_, other->mask_);
     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";
 }
 
@@ -3284,185 +2884,152 @@ 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() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_LayerScopePacket_2eproto();
-#else
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
-#endif
-  return *default_instance_;
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  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)) goto failure
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   ::google::protobuf::uint32 tag;
-  ::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;
+  while ((tag = input->ReadTag()) != 0) {
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // repeated .mozilla.layers.layerscope.LayersPacket.Layer layer = 1;
       case 1: {
-        if (tag == 10) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
          parse_layer:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                 input, add_layer()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(10)) goto parse_layer;
-        if (input->ExpectAtEnd()) goto success;
+        if (input->ExpectAtEnd()) return true;
         break;
       }
-
+      
       default: {
-      handle_unusual:
-        if (tag == 0 ||
-            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          goto success;
+          return true;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
         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 {
-
-  if (!::google::protobuf::internal::AllAreInitialized(this->layer())) return false;
+  
+  for (int i = 0; i < layer_size(); i++) {
+    if (!this->layer(i).IsInitialized()) 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";
 }
 
@@ -3471,150 +3038,119 @@ 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() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_LayerScopePacket_2eproto();
-#else
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
-#endif
-  return *default_instance_;
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  return *default_instance_;
 }
 
 MetaPacket* MetaPacket::default_instance_ = NULL;
 
 MetaPacket* MetaPacket::New() const {
   return new MetaPacket;
 }
 
 void MetaPacket::Clear() {
-  composedbyhwc_ = false;
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    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)) goto failure
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   ::google::protobuf::uint32 tag;
-  ::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;
+  while ((tag = input->ReadTag()) != 0) {
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // optional bool composedByHwc = 1;
       case 1: {
-        if (tag == 8) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                  input, &composedbyhwc_)));
           set_has_composedbyhwc();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
-        if (input->ExpectAtEnd()) goto success;
+        if (input->ExpectAtEnd()) return true;
         break;
       }
-
+      
       default: {
-      handle_unusual:
-        if (tag == 0 ||
-            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          goto success;
+          return true;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
         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) {
@@ -3623,35 +3159,33 @@ 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";
 }
 
@@ -3690,111 +3224,74 @@ const int Packet::kColorFieldNumber;
 const int Packet::kTextureFieldNumber;
 const int Packet::kLayersFieldNumber;
 const int Packet::kMetaFieldNumber;
 #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
 }
 
 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;
   ::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_;
   }
 }
 
 void Packet::SetCachedSize(int size) const {
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = size;
   GOOGLE_SAFE_CONCURRENT_WRITES_END();
 }
 const Packet& Packet::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_;
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  return *default_instance_;
 }
 
 Packet* Packet::default_instance_ = NULL;
 
 Packet* Packet::New() const {
   return new Packet;
 }
 
 void Packet::Clear() {
-  if (_has_bits_[0 / 32] & 63) {
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
     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()) {
@@ -3803,232 +3300,213 @@ void Packet::Clear() {
     if (has_layers()) {
       if (layers_ != NULL) layers_->::mozilla::layers::layerscope::LayersPacket::Clear();
     }
     if (has_meta()) {
       if (meta_ != NULL) meta_->::mozilla::layers::layerscope::MetaPacket::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)) goto failure
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   ::google::protobuf::uint32 tag;
-  ::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;
+  while ((tag = input->ReadTag()) != 0) {
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // required .mozilla.layers.layerscope.Packet.DataType type = 1;
       case 1: {
-        if (tag == 8) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
           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_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(18)) goto parse_frame;
         break;
       }
-
+      
       // optional .mozilla.layers.layerscope.FramePacket frame = 2;
       case 2: {
-        if (tag == 18) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
          parse_frame:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_frame()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(26)) goto parse_color;
         break;
       }
-
+      
       // optional .mozilla.layers.layerscope.ColorPacket color = 3;
       case 3: {
-        if (tag == 26) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
          parse_color:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_color()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(34)) goto parse_texture;
         break;
       }
-
+      
       // optional .mozilla.layers.layerscope.TexturePacket texture = 4;
       case 4: {
-        if (tag == 34) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
          parse_texture:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_texture()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(42)) goto parse_layers;
         break;
       }
-
+      
       // optional .mozilla.layers.layerscope.LayersPacket layers = 5;
       case 5: {
-        if (tag == 42) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
          parse_layers:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_layers()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(50)) goto parse_meta;
         break;
       }
-
+      
       // optional .mozilla.layers.layerscope.MetaPacket meta = 6;
       case 6: {
-        if (tag == 50) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
          parse_meta:
           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, mutable_meta()));
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
-        if (input->ExpectAtEnd()) goto success;
+        if (input->ExpectAtEnd()) return true;
         break;
       }
-
+      
       default: {
-      handle_unusual:
-        if (tag == 0 ||
-            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          goto success;
+          return true;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
         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);
   }
-
-  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());
     }
-
+    
   }
-  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) {
@@ -4052,28 +3530,27 @@ void Packet::MergeFrom(const Packet& fro
     }
     if (from.has_layers()) {
       mutable_layers()->::mozilla::layers::layerscope::LayersPacket::MergeFrom(from.layers());
     }
     if (from.has_meta()) {
       mutable_meta()->::mozilla::layers::layerscope::MetaPacket::MergeFrom(from.meta());
     }
   }
-  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;
@@ -4085,17 +3562,16 @@ void Packet::Swap(Packet* other) {
   if (other != this) {
     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(_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";
 }
 
@@ -4124,198 +3600,152 @@ 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() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_LayerScopePacket_2eproto();
-#else
-  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();
-#endif
-  return *default_instance_;
+  if (default_instance_ == NULL) protobuf_AddDesc_LayerScopePacket_2eproto();  return *default_instance_;
 }
 
 CommandPacket* CommandPacket::default_instance_ = NULL;
 
 CommandPacket* CommandPacket::New() const {
   return new CommandPacket;
 }
 
 void CommandPacket::Clear() {
-#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_
-
+  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+    type_ = 0;
+    value_ = false;
+  }
   ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->clear();
 }
 
 bool CommandPacket::MergePartialFromCodedStream(
     ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
+#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   ::google::protobuf::uint32 tag;
-  ::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;
+  while ((tag = input->ReadTag()) != 0) {
     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
       // required .mozilla.layers.layerscope.CommandPacket.CmdType type = 1;
       case 1: {
-        if (tag == 8) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
           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_unusual;
+          goto handle_uninterpreted;
         }
         if (input->ExpectTag(16)) goto parse_value;
         break;
       }
-
+      
       // optional bool value = 2;
       case 2: {
-        if (tag == 16) {
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          parse_value:
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                  input, &value_)));
           set_has_value();
         } else {
-          goto handle_unusual;
+          goto handle_uninterpreted;
         }
-        if (input->ExpectAtEnd()) goto success;
+        if (input->ExpectAtEnd()) return true;
         break;
       }
-
+      
       default: {
-      handle_unusual:
-        if (tag == 0 ||
-            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+      handle_uninterpreted:
+        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          goto success;
+          return true;
         }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
         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) {
@@ -4327,37 +3757,35 @@ 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,29 +3,28 @@
 
 #ifndef PROTOBUF_LayerScopePacket_2eproto__INCLUDED
 #define PROTOBUF_LayerScopePacket_2eproto__INCLUDED
 
 #include <string>
 
 #include <google/protobuf/stubs/common.h>
 
-#if GOOGLE_PROTOBUF_VERSION < 2006000
+#if GOOGLE_PROTOBUF_VERSION < 2004000
 #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 2006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
+#if 2004001 < 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 {
 
@@ -111,353 +110,290 @@ 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();
-
-  ::std::string _unknown_fields_;
-
-  ::google::protobuf::uint32 _has_bits_[1];
-  mutable int _cached_size_;
+  
   ::google::protobuf::uint64 value_;
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
-  #else
+  
+  mutable int _cached_size_;
+  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
+  
   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_;
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
-  #else
+  
+  mutable int _cached_size_;
+  ::google::protobuf::uint32 _has_bits_[(4 + 31) / 32];
+  
   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();
@@ -468,655 +404,520 @@ 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_;
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
-  #else
+  
+  mutable int _cached_size_;
+  ::google::protobuf::uint32 _has_bits_[(9 + 31) / 32];
+  
   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_;
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
-  #else
+  
+  mutable int _cached_size_;
+  ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];
+  
   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_;
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
-  #else
+  
+  mutable int _cached_size_;
+  ::google::protobuf::uint32 _has_bits_[(4 + 31) / 32];
+  
   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:
-
-  ::std::string _unknown_fields_;
-
-  ::google::protobuf::uint32 _has_bits_[1];
-  mutable int _cached_size_;
+  
   ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer_Rect > r_;
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
-  #else
+  
+  mutable int _cached_size_;
+  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
+  
   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_;
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
-  #else
+  
+  mutable int _cached_size_;
+  ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32];
+  
   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_;
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
-  #else
+  
+  mutable int _cached_size_;
+  ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32];
+  
   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;
@@ -1126,30 +927,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;
@@ -1157,157 +958,151 @@ 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 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();
@@ -1336,21 +1131,17 @@ 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_;
@@ -1359,494 +1150,401 @@ class LayersPacket_Layer : public ::goog
   int direct_;
   ::google::protobuf::uint64 barid_;
   ::google::protobuf::uint64 mask_;
   ::mozilla::layers::layerscope::LayersPacket_Layer_Region* valid_;
   ::google::protobuf::uint32 color_;
   int filter_;
   ::google::protobuf::uint64 refid_;
   ::mozilla::layers::layerscope::LayersPacket_Layer_Size* size_;
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
-  #else
+  
+  mutable int _cached_size_;
+  ::google::protobuf::uint32 _has_bits_[(18 + 31) / 32];
+  
   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:
-
-  ::std::string _unknown_fields_;
-
-  ::google::protobuf::uint32 _has_bits_[1];
-  mutable int _cached_size_;
+  
   ::google::protobuf::RepeatedPtrField< ::mozilla::layers::layerscope::LayersPacket_Layer > layer_;
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
-  #else
+  
+  mutable int _cached_size_;
+  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
+  
   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();
-
-  ::std::string _unknown_fields_;
-
-  ::google::protobuf::uint32 _has_bits_[1];
-  mutable int _cached_size_;
+  
   bool composedbyhwc_;
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
-  #else
+  
+  mutable int _cached_size_;
+  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
+  
   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 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 inline bool DataType_IsValid(int value) {
     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);
-
+  
   // @@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();
-
-  ::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_;
   int type_;
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
-  #else
+  
+  mutable int _cached_size_;
+  ::google::protobuf::uint32 _has_bits_[(6 + 31) / 32];
+  
   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_;
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_LayerScopePacket_2eproto_impl();
-  #else
+  
+  mutable int _cached_size_;
+  ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];
+  
   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_;
 };
 // ===================================================================
 
 
 // ===================================================================
 
@@ -1862,23 +1560,21 @@ 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 {
@@ -1890,23 +1586,21 @@ 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;
@@ -1914,23 +1608,21 @@ 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;
@@ -1938,23 +1630,21 @@ 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;
@@ -1962,23 +1652,21 @@ 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 {
@@ -1990,23 +1678,21 @@ 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;
@@ -2014,23 +1700,21 @@ 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;
@@ -2038,23 +1722,21 @@ 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;
@@ -2062,23 +1744,21 @@ 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;
@@ -2086,23 +1766,21 @@ 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;
@@ -2110,23 +1788,21 @@ 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;
@@ -2134,23 +1810,21 @@ 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;
@@ -2158,100 +1832,80 @@ 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::GetEmptyStringAlreadyInited()) {
+  if (data_ != &::google::protobuf::internal::kEmptyString) {
     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::GetEmptyStringAlreadyInited()) {
+  if (data_ == &::google::protobuf::internal::kEmptyString) {
     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::GetEmptyStringAlreadyInited()) {
+  if (data_ == &::google::protobuf::internal::kEmptyString) {
     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::GetEmptyStringAlreadyInited()) {
+  if (data_ == &::google::protobuf::internal::kEmptyString) {
     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::GetEmptyStringAlreadyInited()) {
+  if (data_ == &::google::protobuf::internal::kEmptyString) {
     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::GetEmptyStringAlreadyInited()) {
+  if (data_ == &::google::protobuf::internal::kEmptyString) {
     return NULL;
   } else {
     ::std::string* temp = data_;
-    data_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+    data_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
     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;
@@ -2262,23 +1916,21 @@ 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;
@@ -2286,23 +1938,21 @@ 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 {
@@ -2314,23 +1964,21 @@ 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;
@@ -2338,23 +1986,21 @@ 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;
@@ -2362,23 +2008,21 @@ 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;
@@ -2386,56 +2030,49 @@ 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;
@@ -2448,23 +2085,21 @@ 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;
@@ -2472,52 +2107,45 @@ 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;
@@ -2530,135 +2158,87 @@ 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;
@@ -2669,24 +2249,22 @@ 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) {
-  assert(::mozilla::layers::layerscope::LayersPacket_Layer_LayerType_IsValid(value));
+  GOOGLE_DCHECK(::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;
@@ -2694,23 +2272,21 @@ 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;
@@ -2718,23 +2294,21 @@ 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;
@@ -2742,203 +2316,137 @@ 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;
@@ -2946,23 +2454,21 @@ 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;
@@ -2970,23 +2476,21 @@ 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;
@@ -2994,24 +2498,22 @@ 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) {
-  assert(::mozilla::layers::layerscope::LayersPacket_Layer_ScrollingDirect_IsValid(value));
+  GOOGLE_DCHECK(::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;
@@ -3019,23 +2521,21 @@ 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;
@@ -3043,23 +2543,21 @@ 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 valid = 100;
 inline bool LayersPacket_Layer::has_valid() const {
   return (_has_bits_[0] & 0x00002000u) != 0;
 }
 inline void LayersPacket_Layer::set_has_valid() {
   _has_bits_[0] |= 0x00002000u;
@@ -3067,68 +2565,50 @@ inline void LayersPacket_Layer::set_has_
 inline void LayersPacket_Layer::clear_has_valid() {
   _has_bits_[0] &= ~0x00002000u;
 }
 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] & 0x00004000u) != 0;
 }
 inline void LayersPacket_Layer::set_has_color() {
   _has_bits_[0] |= 0x00004000u;
 }
 inline void LayersPacket_Layer::clear_has_color() {
   _has_bits_[0] &= ~0x00004000u;
 }
 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] & 0x00008000u) != 0;
 }
 inline void LayersPacket_Layer::set_has_filter() {
   _has_bits_[0] |= 0x00008000u;
@@ -3136,24 +2616,22 @@ inline void LayersPacket_Layer::set_has_
 inline void LayersPacket_Layer::clear_has_filter() {
   _has_bits_[0] &= ~0x00008000u;
 }
 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) {
-  assert(::mozilla::layers::layerscope::LayersPacket_Layer_Filter_IsValid(value));
+  GOOGLE_DCHECK(::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] & 0x00010000u) != 0;
 }
 inline void LayersPacket_Layer::set_has_refid() {
   _has_bits_[0] |= 0x00010000u;
@@ -3161,23 +2639,21 @@ inline void LayersPacket_Layer::set_has_
 inline void LayersPacket_Layer::clear_has_refid() {
   _has_bits_[0] &= ~0x00010000u;
 }
 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] & 0x00020000u) != 0;
 }
 inline void LayersPacket_Layer::set_has_size() {
   _has_bits_[0] |= 0x00020000u;
@@ -3185,77 +2661,56 @@ inline void LayersPacket_Layer::set_has_
 inline void LayersPacket_Layer::clear_has_size() {
   _has_bits_[0] &= ~0x00020000u;
 }
 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;
@@ -3268,23 +2723,21 @@ 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)
 }
 
 // -------------------------------------------------------------------
 
 // Packet
 
 // required .mozilla.layers.layerscope.Packet.DataType type = 1;
 inline bool Packet::has_type() const {
@@ -3296,24 +2749,22 @@ 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) {
-  assert(::mozilla::layers::layerscope::Packet_DataType_IsValid(value));
+  GOOGLE_DCHECK(::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;
@@ -3321,225 +2772,145 @@ 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
   return color_ != NULL ? *color_ : *default_instance_->color_;
-#endif
 }
 inline ::mozilla::layers::layerscope::ColorPacket* Packet::mutable_color() {
   set_has_color();
   if (color_ == NULL) color_ = new ::mozilla::layers::layerscope::ColorPacket;
-  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.Packet.color)
   return color_;
 }
 inline ::mozilla::layers::layerscope::ColorPacket* Packet::release_color() {
   clear_has_color();
   ::mozilla::layers::layerscope::ColorPacket* temp = color_;
   color_ = NULL;
   return temp;
 }
-inline void Packet::set_allocated_color(::mozilla::layers::layerscope::ColorPacket* color) {
-  delete color_;
-  color_ = color;
-  if (color) {
-    set_has_color();
-  } else {
-    clear_has_color();
-  }
-  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.Packet.color)
-}
 
 // optional .mozilla.layers.layerscope.TexturePacket texture = 4;
 inline bool Packet::has_texture() const {
   return (_has_bits_[0] & 0x00000008u) != 0;
 }
 inline void Packet::set_has_texture() {
   _has_bits_[0] |= 0x00000008u;
 }
 inline void Packet::clear_has_texture() {
   _has_bits_[0] &= ~0x00000008u;
 }
 inline void Packet::clear_texture() {
   if (texture_ != NULL) texture_->::mozilla::layers::layerscope::TexturePacket::Clear();
   clear_has_texture();
 }
 inline const ::mozilla::layers::layerscope::TexturePacket& Packet::texture() const {
-  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.Packet.texture)
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  return texture_ != NULL ? *texture_ : *default_instance().texture_;
-#else
   return texture_ != NULL ? *texture_ : *default_instance_->texture_;
-#endif
 }
 inline ::mozilla::layers::layerscope::TexturePacket* Packet::mutable_texture() {
   set_has_texture();
   if (texture_ == NULL) texture_ = new ::mozilla::layers::layerscope::TexturePacket;
-  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.Packet.texture)
   return texture_;
 }
 inline ::mozilla::layers::layerscope::TexturePacket* Packet::release_texture() {
   clear_has_texture();
   ::mozilla::layers::layerscope::TexturePacket* temp = texture_;
   texture_ = NULL;
   return temp;
 }
-inline void Packet::set_allocated_texture(::mozilla::layers::layerscope::TexturePacket* texture) {
-  delete texture_;
-  texture_ = texture;
-  if (texture) {
-    set_has_texture();
-  } else {
-    clear_has_texture();
-  }
-  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.Packet.texture)
-}
 
 // optional .mozilla.layers.layerscope.LayersPacket layers = 5;
 inline bool Packet::has_layers() const {
   return (_has_bits_[0] & 0x00000010u) != 0;
 }
 inline void Packet::set_has_layers() {
   _has_bits_[0] |= 0x00000010u;
 }
 inline void Packet::clear_has_layers() {
   _has_bits_[0] &= ~0x00000010u;
 }
 inline void Packet::clear_layers() {
   if (layers_ != NULL) layers_->::mozilla::layers::layerscope::LayersPacket::Clear();
   clear_has_layers();
 }
 inline const ::mozilla::layers::layerscope::LayersPacket& Packet::layers() const {
-  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.Packet.layers)
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  return layers_ != NULL ? *layers_ : *default_instance().layers_;
-#else
   return layers_ != NULL ? *layers_ : *default_instance_->layers_;
-#endif
 }
 inline ::mozilla::layers::layerscope::LayersPacket* Packet::mutable_layers() {
   set_has_layers();
   if (layers_ == NULL) layers_ = new ::mozilla::layers::layerscope::LayersPacket;
-  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.Packet.layers)
   return layers_;
 }
 inline ::mozilla::layers::layerscope::LayersPacket* Packet::release_layers() {
   clear_has_layers();
   ::mozilla::layers::layerscope::LayersPacket* temp = layers_;
   layers_ = NULL;
   return temp;
 }
-inline void Packet::set_allocated_layers(::mozilla::layers::layerscope::LayersPacket* layers) {
-  delete layers_;
-  layers_ = layers;
-  if (layers) {
-    set_has_layers();
-  } else {
-    clear_has_layers();
-  }
-  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.Packet.layers)
-}
 
 // optional .mozilla.layers.layerscope.MetaPacket meta = 6;
 inline bool Packet::has_meta() const {
   return (_has_bits_[0] & 0x00000020u) != 0;
 }
 inline void Packet::set_has_meta() {
   _has_bits_[0] |= 0x00000020u;
 }
 inline void Packet::clear_has_meta() {
   _has_bits_[0] &= ~0x00000020u;
 }
 inline void Packet::clear_meta() {
   if (meta_ != NULL) meta_->::mozilla::layers::layerscope::MetaPacket::Clear();
   clear_has_meta();
 }
 inline const ::mozilla::layers::layerscope::MetaPacket& Packet::meta() const {
-  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.Packet.meta)
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  return meta_ != NULL ? *meta_ : *default_instance().meta_;
-#else
   return meta_ != NULL ? *meta_ : *default_instance_->meta_;
-#endif
 }
 inline ::mozilla::layers::layerscope::MetaPacket* Packet::mutable_meta() {
   set_has_meta();
   if (meta_ == NULL) meta_ = new ::mozilla::layers::layerscope::MetaPacket;
-  // @@protoc_insertion_point(field_mutable:mozilla.layers.layerscope.Packet.meta)
   return meta_;
 }
 inline ::mozilla::layers::layerscope::MetaPacket* Packet::release_meta() {
   clear_has_meta();
   ::mozilla::layers::layerscope::MetaPacket* temp = meta_;
   meta_ = NULL;
   return temp;
 }
-inline void Packet::set_allocated_meta(::mozilla::layers::layerscope::MetaPacket* meta) {
-  delete meta_;
-  meta_ = meta;
-  if (meta) {
-    set_has_meta();
-  } else {
-    clear_has_meta();
-  }
-  // @@protoc_insertion_point(field_set_allocated:mozilla.layers.layerscope.Packet.meta)
-}
 
 // -------------------------------------------------------------------
 
 // CommandPacket
 
 // required .mozilla.layers.layerscope.CommandPacket.CmdType type = 1;
 inline bool CommandPacket::has_type() const {
   return (_has_bits_[0] & 0x00000001u) != 0;
@@ -3550,24 +2921,22 @@ inline void CommandPacket::set_has_type(
 inline void CommandPacket::clear_has_type() {
   _has_bits_[0] &= ~0x00000001u;
 }
 inline void CommandPacket::clear_type() {
   type_ = 0;
   clear_has_type();
 }
 inline ::mozilla::layers::layerscope::CommandPacket_CmdType CommandPacket::type() const {
-  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.CommandPacket.type)
   return static_cast< ::mozilla::layers::layerscope::CommandPacket_CmdType >(type_);
 }
 inline void CommandPacket::set_type(::mozilla::layers::layerscope::CommandPacket_CmdType value) {
-  assert(::mozilla::layers::layerscope::CommandPacket_CmdType_IsValid(value));
+  GOOGLE_DCHECK(::mozilla::layers::layerscope::CommandPacket_CmdType_IsValid(value));
   set_has_type();
   type_ = value;
-  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.CommandPacket.type)
 }
 
 // optional bool value = 2;
 inline bool CommandPacket::has_value() const {
   return (_has_bits_[0] & 0x00000002u) != 0;
 }
 inline void CommandPacket::set_has_value() {
   _has_bits_[0] |= 0x00000002u;
@@ -3575,23 +2944,21 @@ inline void CommandPacket::set_has_value
 inline void CommandPacket::clear_has_value() {
   _has_bits_[0] &= ~0x00000002u;
 }
 inline void CommandPacket::clear_value() {
   value_ = false;
   clear_has_value();
 }
 inline bool CommandPacket::value() const {
-  // @@protoc_insertion_point(field_get:mozilla.layers.layerscope.CommandPacket.value)
   return value_;
 }
 inline void CommandPacket::set_value(bool value) {
   set_has_value();
   value_ = value;
-  // @@protoc_insertion_point(field_set:mozilla.layers.layerscope.CommandPacket.value)
 }
 
 
 // @@protoc_insertion_point(namespace_scope)
 
 }  // namespace layerscope
 }  // namespace layers
 }  // namespace mozilla
--- a/js/public/Debug.h
+++ b/js/public/Debug.h
@@ -257,23 +257,17 @@ class BuilderOrigin : public Builder {
 //
 // Debugger.Memory wants to be able to report how many bytes items in memory are
 // consuming. To do this, it needs a function that accepts a pointer to a block,
 // and returns the number of bytes allocated to that block. SpiderMonkey itself
 // doesn't know which function is appropriate to use, but the embedding does.
 
 // Tell Debuggers in |runtime| to use |mallocSizeOf| to find the size of
 // malloc'd blocks.
-JS_PUBLIC_API(void)
-SetDebuggerMallocSizeOf(JSRuntime* runtime, mozilla::MallocSizeOf mallocSizeOf);
-
-// Get the MallocSizeOf function that the given runtime is using to find the
-// size of malloc'd blocks.
-JS_PUBLIC_API(mozilla::MallocSizeOf)
-GetDebuggerMallocSizeOf(JSRuntime* runtime);
+void SetDebuggerMallocSizeOf(JSRuntime* runtime, mozilla::MallocSizeOf mallocSizeOf);
 
 
 
 // Debugger and Garbage Collection Events
 // --------------------------------------
 //
 // The Debugger wants to report about its debuggees' GC cycles, however entering
 // JS after a GC is troublesome since SpiderMonkey will often do something like
@@ -317,20 +311,15 @@ onNewPromise(JSContext* cx, HandleObject
 // unsettled to settled once).
 JS_PUBLIC_API(void)
 onPromiseSettled(JSContext* cx, HandleObject promise);
 
 
 
 // Return true if the given value is a Debugger object, false otherwise.
 JS_PUBLIC_API(bool)
-IsDebugger(const JSObject& obj);
-
-// Append each of the debuggee global objects observed by the Debugger object
-// |dbgObj| to |vector|. Returns true on success, false on failure.
-JS_PUBLIC_API(bool)
-GetDebuggeeGlobals(JSContext* cx, const JSObject& dbgObj, AutoObjectVector& vector);
+IsDebugger(JS::Value val);
 
 } // namespace dbg
 } // namespace JS
 
 
 #endif /* js_Debug_h */
--- a/js/public/UbiNode.h
+++ b/js/public/UbiNode.h
@@ -8,17 +8,16 @@
 #define js_UbiNode_h
 
 #include "mozilla/Alignment.h"
 #include "mozilla/Assertions.h"
 #include "mozilla/Attributes.h"
 #include "mozilla/Maybe.h"
 #include "mozilla/MemoryReporting.h"
 #include "mozilla/Move.h"
-#include "mozilla/UniquePtr.h"
 
 #include "jspubtd.h"
 
 #include "js/GCAPI.h"
 #include "js/HashTable.h"
 #include "js/TracingAPI.h"
 #include "js/TypeDecls.h"
 #include "js/Vector.h"
@@ -88,17 +87,17 @@
 // ECMAScript specification describes objects as maps from property names to
 // sets of attributes (like ECMAScript's [[Value]]), in practice many objects
 // have only a pointer to a shape, shared with other similar objects, and
 // indexed slots that contain the [[Value]] attributes. As another example, a
 // string produced by concatenating two other strings may sometimes be
 // represented by a "rope", a structure that points to the two original
 // strings.
 //
-//
+
 // We intend to use ubi::Node to write tools that report memory usage, so it's
 // important that ubi::Node accurately portray how much memory nodes consume.
 // Thus, for example, when data that apparently belongs to multiple nodes is
 // in fact shared in a common structure, ubi::Node's graph uses a separate
 // node for that shared structure, and presents edges to it from the data's
 // apparent owners. For example, ubi::Node exposes SpiderMonkey objects'
 // shapes and base shapes, and exposes rope string and substring structure,
 // because these optimizations become visible when a tool reports how much
@@ -137,33 +136,21 @@
 //
 // If this restriction prevents us from implementing interesting tools, we may
 // teach the GC how to root ubi::Nodes, fix up hash tables that use them as
 // keys, etc.
 
 namespace JS {
 namespace ubi {
 
+using mozilla::Maybe;
+
 class Edge;
 class EdgeRange;
 
-}
-}
-
-namespace mozilla {
-template<>
-class DefaultDelete<JS::ubi::EdgeRange> : public JS::DeletePolicy<JS::ubi::EdgeRange> { };
-}
-
-namespace JS {
-namespace ubi {
-
-using mozilla::Maybe;
-using mozilla::UniquePtr;
-
 // The base class implemented by each ubi::Node referent type. Subclasses must
 // not add data members to this class.
 class Base {
     friend class Node;
 
     // For performance's sake, we'd prefer to avoid a virtual destructor; and
     // an empty constructor seems consistent with the 'lightweight value type'
     // visible behavior we're trying to achieve. But if the destructor isn't
@@ -182,55 +169,37 @@ class Base {
         // Some compilers will indeed place objects of different types at
         // the same address, so technically, we should include the vtable
         // in this comparison. But it seems unlikely to cause problems in
         // practice.
         return ptr == rhs.ptr;
     }
     bool operator!=(const Base& rhs) const { return !(*this == rhs); }
 
-    // An identifier for this node, guaranteed to be stable and unique for as
-    // long as this ubi::Node's referent is alive and at the same address.
-    //
-    // This is probably suitable for use in serializations, as it is an integral
-    // type. It may also help save memory when constructing HashSets of
-    // ubi::Nodes: since a uintptr_t will always be smaller than a ubi::Node, a
-    // HashSet<ubi::Node::Id> will use less space per element than a
-    // HashSet<ubi::Node>.
-    //
-    // (Note that 'unique' only means 'up to equality on ubi::Node'; see the
-    // caveats about multiple objects allocated at the same address for
-    // 'ubi::Node::operator=='.)
-    typedef uintptr_t Id;
-    virtual Id identifier() const { return reinterpret_cast<Id>(ptr); }
-
-    // Returns true if this node is pointing to something on the live heap, as
-    // opposed to something from a deserialized core dump. Returns false,
-    // otherwise.
-    virtual bool isLive() const { return true; };
-
     // Return a human-readable name for the referent's type. The result should
     // be statically allocated. (You can use MOZ_UTF16("strings") for this.)
     //
     // This must always return Concrete<T>::concreteTypeName; we use that
     // pointer as a tag for this particular referent type.
     virtual const char16_t* typeName() const = 0;
 
     // Return the size of this node, in bytes. Include any structures that this
     // node owns exclusively that are not exposed as their own ubi::Nodes.
     // |mallocSizeOf| should be a malloc block sizing function; see
     // |mfbt/MemoryReporting.h.
     virtual size_t size(mozilla::MallocSizeOf mallocSizeof) const { return 0; }
 
     // Return an EdgeRange that initially contains all the referent's outgoing
-    // edges. The caller takes ownership of the EdgeRange.
+    // edges. The EdgeRange should be freed with 'js_delete'. (You could use
+    // ScopedDJSeletePtr<EdgeRange> to manage it.) On OOM, report an exception
+    // on |cx| and return nullptr.
     //
     // If wantNames is true, compute names for edges. Doing so can be expensive
     // in time and memory.
-    virtual UniquePtr<EdgeRange> edges(JSContext* cx, bool wantNames) const = 0;
+    virtual EdgeRange* edges(JSContext* cx, bool wantNames) const = 0;
 
     // Return the Zone to which this node's referent belongs, or nullptr if the
     // referent is not of a type allocated in SpiderMonkey Zones.
     virtual JS::Zone* zone() const { return nullptr; }
 
     // Return the compartment for this node. Some ubi::Node referents are not
     // associated with JSCompartments, such as JSStrings (which are associated
     // with Zones). When the referent is not associated with a compartment,
@@ -266,18 +235,18 @@ struct Concrete {
     // |nsISupports|, we would like a ubi::Node that knows its final
     // implementation type.
     //
     // So, we delegate the actual construction to this specialization, which
     // knows Referent's details.
     static void construct(void* storage, Referent* referent);
 };
 
-// A container for a Base instance; all members simply forward to the contained
-// instance.  This container allows us to pass ubi::Node instances by value.
+// A container for a Base instance; all members simply forward to the contained instance.
+// This container allows us to pass ubi::Node instances by value.
 class Node {
     // Storage in which we allocate Base subclasses.
     mozilla::AlignedStorage2<Base> storage;
     Base* base() { return storage.addr(); }
     const Base* base() const { return storage.addr(); }
 
     template<typename T>
     void construct(T* ptr) {
@@ -336,33 +305,29 @@ class Node {
 
     bool operator==(const Node& rhs) const { return *base() == *rhs.base(); }
     bool operator!=(const Node& rhs) const { return *base() != *rhs.base(); }
 
     explicit operator bool() const {
         return base()->ptr != nullptr;
     }
 
-    bool isLive() const { return base()->isLive(); }
-
     template<typename T>
     bool is() const {
         return base()->typeName() == Concrete<T>::concreteTypeName;
     }
 
     template<typename T>
     T* as() const {
-        MOZ_ASSERT(isLive());
         MOZ_ASSERT(is<T>());
         return static_cast<T*>(base()->ptr);
     }
 
     template<typename T>
     T* asOrNull() const {
-        MOZ_ASSERT(isLive());
         return is<T>() ? static_cast<T*>(base()->ptr) : nullptr;
     }
 
     // If this node refers to something that can be represented as a JavaScript
     // value that is safe to expose to JavaScript code, return that value.
     // Otherwise return UndefinedValue(). JSStrings, JS::Symbols, and some (but
     // not all!) JSObjects can be exposed.
     JS::Value exposeToJS() const;
@@ -371,23 +336,20 @@ class Node {
     JS::Zone* zone()                const { return base()->zone(); }
     JSCompartment* compartment()    const { return base()->compartment(); }
     const char* jsObjectClassName() const { return base()->jsObjectClassName(); }
 
     size_t size(mozilla::MallocSizeOf mallocSizeof) const {
         return base()->size(mallocSizeof);
     }
 
-    UniquePtr<EdgeRange> edges(JSContext* cx, bool wantNames = true) const {
+    EdgeRange* edges(JSContext* cx, bool wantNames = true) const {
         return base()->edges(cx, wantNames);
     }
 
-    typedef Base::Id Id;
-    Id identifier() const { return base()->identifier(); }
-
     // A hash policy for ubi::Nodes.
     // This simply uses the stock PointerHasher on the ubi::Node's pointer.
     // We specialize DefaultHasher below to make this the default.
     class HashPolicy {
         typedef js::PointerHasher<void*, mozilla::tl::FloorLog2<sizeof(void*)>::value> PtrHash;
 
       public:
         typedef Node Lookup;
@@ -497,43 +459,16 @@ class SimpleEdge : public Edge {
         this->~SimpleEdge();
         new(this) SimpleEdge(mozilla::Move(rhs));
         return *this;
     }
 };
 
 typedef mozilla::Vector<SimpleEdge, 8, js::TempAllocPolicy> SimpleEdgeVector;
 
-// An EdgeRange concrete class that holds a pre-existing vector of
-// SimpleEdges. A PreComputedEdgeRange does not take ownership of its
-// SimpleEdgeVector; it is up to the PreComputedEdgeRange's consumer to manage
-// that lifetime.
-class PreComputedEdgeRange : public EdgeRange {
-    SimpleEdgeVector& edges;
-    size_t            i;
-
-    void settle() {
-        front_ = i < edges.length() ? &edges[i] : nullptr;
-    }
-
-  public:
-    explicit PreComputedEdgeRange(JSContext* cx, SimpleEdgeVector& edges)
-      : edges(edges),
-        i(0)
-    {
-        settle();
-    }
-
-    void popFront() override {
-        MOZ_ASSERT(!empty());
-        i++;
-        settle();
-    }
-};
-
 
 // RootList is a class that can be pointed to by a |ubi::Node|, creating a
 // fictional root-of-roots which has edges to every GC root in the JS
 // runtime. Having a single root |ubi::Node| is useful for algorithms written
 // with the assumption that there aren't multiple roots (such as computing
 // dominator trees) and you want a single point of entry. It also ensures that
 // the roots themselves get visited by |ubi::BreadthFirst| (they would otherwise
 // only be used as starting points).
@@ -570,49 +505,45 @@ class MOZ_STACK_CLASS RootList {
 
     // Find all GC roots.
     bool init();
     // Find only GC roots in the provided set of |Zone|s.
     bool init(ZoneSet& debuggees);
     // Find only GC roots in the given Debugger object's set of debuggee zones.
     bool init(HandleObject debuggees);
 
-    // Returns true if the RootList has been initialized successfully, false
-    // otherwise.
-    bool initialized() { return noGC.isSome(); }
-
     // Explicitly add the given Node as a root in this RootList. If wantNames is
     // true, you must pass an edgeName. The RootList does not take ownership of
     // edgeName.
     bool addRoot(Node node, const char16_t* edgeName = nullptr);
 };
 
 
 // Concrete classes for ubi::Node referent types.
 
 template<>
 struct Concrete<RootList> : public Base {
-    UniquePtr<EdgeRange> edges(JSContext* cx, bool wantNames) const override;
+    EdgeRange* edges(JSContext* cx, bool wantNames) const override;
     const char16_t* typeName() const override { return concreteTypeName; }
 
   protected:
     explicit Concrete(RootList* ptr) : Base(ptr) { }
     RootList& get() const { return *static_cast<RootList*>(ptr); }
 
   public:
     static const char16_t concreteTypeName[];
     static void construct(void* storage, RootList* ptr) { new (storage) Concrete(ptr); }
 };
 
 // A reusable ubi::Concrete specialization base class for types supported by
 // JS_TraceChildren.
 template<typename Referent>
 class TracerConcrete : public Base {
     const char16_t* typeName() const override { return concreteTypeName; }
-    UniquePtr<EdgeRange> edges(JSContext*, bool wantNames) const override;
+    EdgeRange* edges(JSContext*, bool wantNames) const override;
     JS::Zone* zone() const override;
 
   protected:
     explicit TracerConcrete(Referent* ptr) : Base(ptr) { }
     Referent& get() const { return *static_cast<Referent*>(ptr); }
 
   public:
     static const char16_t concreteTypeName[];
@@ -655,17 +586,17 @@ class Concrete<JSObject> : public Tracer
     }
 };
 
 // The ubi::Node null pointer. Any attempt to operate on a null ubi::Node asserts.
 template<>
 class Concrete<void> : public Base {
     const char16_t* typeName() const override;
     size_t size(mozilla::MallocSizeOf mallocSizeOf) const override;
-    UniquePtr<EdgeRange> edges(JSContext* cx, bool wantNames) const override;
+    EdgeRange* edges(JSContext* cx, bool wantNames) const override;
     JS::Zone* zone() const override;
     JSCompartment* compartment() const override;
 
     explicit Concrete(void* ptr) : Base(ptr) { }
 
   public:
     static void construct(void* storage, void* ptr) { new (storage) Concrete(ptr); }
     static const char16_t concreteTypeName[];
--- a/js/public/UbiNodeTraverse.h
+++ b/js/public/UbiNodeTraverse.h
@@ -115,23 +115,23 @@ struct BreadthFirst {
     // This should be called only once per instance of this class.
     //
     // Return false on OOM or error return from |handler::operator()|.
     bool traverse()
     {
         MOZ_ASSERT(!traversalBegun);
         traversalBegun = true;
 
-        // While there are pending nodes, visit them.
+        // While there are pending nodes, visit them, until we've found a path to the target.
         while (!pending.empty()) {
             Node origin = pending.front();
             pending.popFront();
 
             // Get a range containing all origin's outgoing edges.
-            auto range = origin.edges(cx, wantNames);
+            js::ScopedJSDeletePtr<EdgeRange> range(origin.edges(cx, wantNames));
             if (!range)
                 return false;
 
             // Traverse each edge.
             for (; !range->empty(); range->popFront()) {
                 MOZ_ASSERT(!stopRequested);
 
                 const Edge& edge = range->front();
--- a/js/src/devtools/rootAnalysis/annotations.js
+++ b/js/src/devtools/rootAnalysis/annotations.js
@@ -8,17 +8,17 @@ var ignoreIndirectCalls = {
     "aMallocSizeOf" : true,
     "_malloc_message" : true,
     "je_malloc_message" : true,
     "chunk_dalloc" : true,
     "chunk_alloc" : true,
     "__conv" : true,
     "__convf" : true,
     "prerrortable.c:callback_newtable" : true,
-    "mozalloc_oom.cpp:void (* gAbortHandler)(size_t)" : true,
+    "mozalloc_oom.cpp:void (* gAbortHandler)(size_t)" : true
 };
 
 function indirectCallCannotGC(fullCaller, fullVariable)
 {
     var caller = readable(fullCaller);
 
     // This is usually a simple variable name, but sometimes a full name gets
     // passed through. And sometimes that name is truncated. Examples:
@@ -169,69 +169,26 @@ var ignoreFunctions = {
     // AutoSuppressGCAnalysis. AutoSafeJSContext is the same thing, just with
     // a different value for the 'aSafe' parameter.
     "void mozilla::AutoJSContext::AutoJSContext(mozilla::detail::GuardObjectNotifier*)" : true,
     "void mozilla::AutoSafeJSContext::~AutoSafeJSContext(int32)" : true,
 
     // And these are workarounds to avoid even more analysis work,
     // which would sadly still be needed even with bug 898815.
     "void js::AutoCompartment::AutoCompartment(js::ExclusiveContext*, JSCompartment*)": true,
-
-    // Similar to heap snapshot mock classes, and GTests below. This posts a
-    // synchronous runnable when a GTest fails, and we are pretty sure that the
-    // particular runnable it posts can't even GC, but the analysis isn't
-    // currently smart enough to determine that. In either case, this is (a)
-    // only in GTests, and (b) only when the Gtest has already failed. We have
-    // static and dynamic checks for no GC in the non-test code, and in the test
-    // code we fall back to only the dynamic checks.
-    "void test::RingbufferDumper::OnTestPartResult(testing::TestPartResult*)" : true,
 };
 
-function isProtobuf(name)
-{
-    return name.match(/\bgoogle::protobuf\b/) ||
-           name.match(/\bmozilla::devtools::protobuf\b/);
-}
-
-function isHeapSnapshotMockClass(name)
-{
-    return name.match(/\bMockWriter\b/) ||
-           name.match(/\bMockDeserializedNode\b/);
-}
-
-function isGTest(name)
-{
-    return name.match(/\btesting::/);
-}
-
 function ignoreGCFunction(mangled)
 {
     assert(mangled in readableNames);
     var fun = readableNames[mangled][0];
 
     if (fun in ignoreFunctions)
         return true;
 
-    // The protobuf library, and [de]serialization code generated by the
-    // protobuf compiler, uses a _ton_ of function pointers but they are all
-    // internal. Easiest to just ignore that mess here.
-    if (isProtobuf(fun))
-        return true;
-
-    // Ignore anything that goes through heap snapshot GTests or mocked classes
-    // used in heap snapshot GTests. GTest and GMock expose a lot of virtual
-    // methods and function pointers that could potentially GC after an
-    // assertion has already failed (depending on user-provided code), but don't
-    // exhibit that behavior currently. For non-test code, we have dynamic and
-    // static checks that ensure we don't GC. However, for test code we opt out
-    // of static checks here, because of the above stated GMock/GTest issues,
-    // and rely on only the dynamic checks provided by AutoAssertCannotGC.
-    if (isHeapSnapshotMockClass(fun) || isGTest(fun))
-        return true;
-
     // Templatized function
     if (fun.indexOf("void nsCOMPtr<T>::Assert_NoQueryNeeded()") >= 0)
         return true;
 
     // XXX modify refillFreeList<NoGC> to not need data flow analysis to understand it cannot GC.
     if (/refillFreeList/.test(fun) && /\(js::AllowGC\)0u/.test(fun))
         return true;
     return false;
--- a/js/src/doc/Debugger/Debugger.Memory.md
+++ b/js/src/doc/Debugger/Debugger.Memory.md
@@ -26,22 +26,16 @@ The JavaScript engine marks each new obj
 allocated, if:
 
 - the object is allocated in the scope of a global object that is a debuggee of
   some [`Debugger`][debugger-object] instance <i>dbg</i>; and
 
 - <code><i>dbg</i>.memory.[trackingAllocationSites][tracking-allocs]</code> is
   set to `true`.
 
-- A [Bernoulli trial][bernoulli-trial] succeeds, with probability equal to the
-  maximum of
-  [`d.memory.allocationSamplingProbability`][alloc-sampling-probability] of all
-  `Debugger` instances `d` that are observing the global that this object is
-  allocated within the scope of.
-
 Given a [`Debugger.Object`][object] instance <i>dobj</i> referring to some
 object, <code><i>dobj</i>.[allocationSite][allocation-site]</code> returns a
 [saved call stack][saved-frame] indicating where <i>dobj</i>'s referent was
 allocated.
 
 
 ### Allocation Logging
 
@@ -81,28 +75,16 @@ following accessor properties from its p
 
     Assignment is fallible: if the Debugger cannot track allocation sites, it
     throws an `Error` instance.
 
     You can retrieve the allocation site for a given object with the
     [`Debugger.Object.prototype.allocationSite`][allocation-site] accessor
     property.
 
-<code id='alloc-sampling-probability'>allocationSamplingProbability</code>
-:   A number between 0 and 1 that indicates the probability with which each new
-    allocation should be entered into the allocations log. 0 is equivalent to
-    "never", 1 is "always", and .05 would be "one out of twenty".
-
-    The default is 1, or logging every allocation.
-
-    Note that in the presence of multiple <code>Debugger</code> instances
-    observing the same allocations within a global's scope, the maximum
-    <code>allocationSamplingProbability</code> of all the
-    <code>Debugger</code>s is used.
-
 <code id='max-alloc-log'>maxAllocationsLogLength</code>
 :   The maximum number of allocation sites to accumulate in the allocations log
     at a time. This accessor can be both fetched and stored to. Its default
     value is `5000`.
 
 <code id='allocationsLogOverflowed'>allocationsLogOverflowed</code>
 :   Returns `true` if there have been more than
     [`maxAllocationsLogLength`][#max-alloc-log] allocations since the last time
--- a/js/src/doc/Debugger/config.sh
+++ b/js/src/doc/Debugger/config.sh
@@ -34,22 +34,21 @@ markdown Debugger.Object.md Debugger-API
 
 markdown Debugger.Script.md Debugger-API/Debugger.Script
   label 'script'                                "Debugger.Script"
 
 markdown Debugger.Source.md Debugger-API/Debugger.Source
   label 'source'                                "Debugger.Source"
 
 markdown Debugger.Memory.md Debugger-API/Debugger.Memory
-  label 'memory'                                                   "Debugger.Memory"
-  label 'tracking-allocs'            '#trackingallocationsites'    "Debugger.Memory: trackingAllocationSites"
-  label 'drain-alloc-log'            '#drain-alloc-log'            "Debugger.Memory: drainAllocationsLog"
-  label 'max-alloc-log'              '#max-alloc-log'              "Debugger.Memory: maxAllocationsLogLength"
-  label 'alloc-sampling-probability' '#alloc-sampling-probability' "Debugger.Memory: allocationSamplingProbability"
-  label 'take-census'                '#take-census'                "Debugger.Memory: takeCensus"
+  label 'memory'                                "Debugger.Memory"
+  label 'tracking-allocs' '#trackingallocationsites' "Debugger.Memory: trackingAllocationSites"
+  label 'drain-alloc-log' '#drain-alloc-log'    "Debugger.Memory: drainAllocationsLog"
+  label 'max-alloc-log' '#max-alloc-log'        "Debugger.Memory: maxAllocationsLogLength"
+  label 'take-census'   '#take-census'          "Debugger.Memory: takeCensus"
 
 markdown Tutorial-Debugger-Statement.md Debugger-API/Tutorial-Debugger-Statement
   label 'tut debugger'                          "Tutorial: the debugger; statement"
 
 markdown Tutorial-Alloc-Log-Tree.md Debugger-API/Tutorial-Allocation-Log-Tree
   label 'tut alloc log'                         "Tutorial: the allocation log"
 
 # Images:
@@ -58,9 +57,8 @@ resource 'img-shadows'            shadow
 resource 'img-chrome-pref'        enable-chrome-devtools.png         $RBASE/7233/enable-chrome-devtools.png
 resource 'img-scratchpad-browser' scratchpad-browser-environment.png $RBASE/7229/scratchpad-browser-environment.png
 resource 'img-example-alert'      debugger-alert.png                 $RBASE/7231/debugger-alert.png
 resource 'img-alloc-plot'         alloc-plot-console.png             $RBASE/8461/alloc-plot-console.png
 
 # External links:
 absolute-label 'protocol' https://wiki.mozilla.org/Remote_Debugging_Protocol "Remote Debugging Protocol"
 absolute-label 'saved-frame' https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/SavedFrame "SavedFrame"
-absolute-label 'bernoulli-trial' https://en.wikipedia.org/wiki/Bernoulli_trial "Bernoulli Trial"
--- a/js/src/jit-test/tests/debug/Memory-trackingAllocationSites-03.js
+++ b/js/src/jit-test/tests/debug/Memory-trackingAllocationSites-03.js
@@ -1,107 +1,64 @@
-// Test that multiple Debuggers behave reasonably.
+// Test that multiple Debuggers behave reasonably. Since we're not keeping a
+// per-compartment count of how many Debuggers have requested allocation
+// tracking, assert that attempts to request allocation tracking from multiple
+// debuggers throws.
 
 load(libdir + "asserts.js");
 
-let dbg1, dbg2, root1, root2;
+let root1 = newGlobal();
+let root2 = newGlobal();
 
-function FakeMetadata() {}
+let dbg1 = new Debugger();
+let dbg2 = new Debugger();
+
+let d1r1 = dbg1.addDebuggee(root1);
+let d2r1 = dbg2.addDebuggee(root1);
+
+let wrappedObj, allocationSite;
 
 function isTrackingAllocations(global, dbgObj) {
   const site = dbgObj.makeDebuggeeValue(global.eval("({})")).allocationSite;
   if (site) {
     assertEq(typeof site, "object");
   }
   return !!site;
 }
 
-function test(name, fn) {
-  print();
-  print(name);
+// Can't track allocations if a different debugger is already tracking them.
+dbg1.memory.trackingAllocationSites = true;
+assertThrowsInstanceOf(() => dbg2.memory.trackingAllocationSites = true,
+                       Error);
 
-  // Reset state.
-  root1 = newGlobal();
-  root2 = newGlobal();
-  dbg1 = new Debugger;
-  dbg2 = new Debugger;
-
-  // Run the test.
-  fn();
-
-  print("  OK");
-}
+// Removing root as a debuggee from dbg1 should disable the allocation hook.
+dbg1.removeDebuggee(root1);
+assertEq(isTrackingAllocations(root1, d1r1), false);
 
-test("Can track allocations even if a different debugger is already tracking " +
-     "them.",
-     () => {
-       let d1r1 = dbg1.addDebuggee(root1);
-       let d2r1 = dbg2.addDebuggee(root1);
-       dbg1.memory.trackingAllocationSites = true;
-       dbg2.memory.trackingAllocationSites = true;
-       assertEq(isTrackingAllocations(root1, d1r1), true);
-       assertEq(isTrackingAllocations(root1, d2r1), true);
-     });
+// Tracking allocations in dbg2 should work now that dbg1 isn't debugging root1.
+dbg2.memory.trackingAllocationSites = true;
+assertEq(isTrackingAllocations(root1, d2r1), true);
 
-test("Removing root1 as a debuggee from all debuggers should disable the " +
-     "allocation hook.",
-     () => {
-       dbg1.memory.trackingAllocationSites = true;
-       let d1r1 = dbg1.addDebuggee(root1);
-       dbg1.removeAllDebuggees();
-       assertEq(isTrackingAllocations(root1, d1r1), false);
-     });
-
-test("Adding a new debuggee to a debugger that is tracking allocations should " +
-     "enable the hook for the new debuggee.",
-     () => {
-       dbg1.memory.trackingAllocationSites = true;
-       let d1r1 = dbg1.addDebuggee(root1);
-       assertEq(isTrackingAllocations(root1, d1r1), true);
-     });
+// Adding root back as a debuggee in dbg1 should fail now because it will
+// attempt to track allocations in root, but dbg2 is already doing that.
+assertThrowsInstanceOf(() => dbg1.addDebuggee(root1),
+                       Error);
+assertEq(dbg1.hasDebuggee(root1), false);
 
-test("Setting trackingAllocationSites to true should throw if the debugger " +
-     "cannot install the allocation hooks for *every* debuggee.",
-     () => {
-       let d1r1 = dbg1.addDebuggee(root1);
-       let d1r2 = dbg1.addDebuggee(root2);
-
-       // Can't install allocation hooks for root2 with this set.
-       root2.setObjectMetadataCallback(function () { return new FakeMetadata; });
-
-       assertThrowsInstanceOf(() => dbg1.memory.trackingAllocationSites = true,
-                              Error);
-
-       // And after it throws, its trackingAllocationSites accessor should reflect that
-       // allocation site tracking is still disabled in that Debugger.
-       assertEq(dbg1.memory.trackingAllocationSites, false);
-       assertEq(isTrackingAllocations(root1, d1r1), false);
-       assertEq(isTrackingAllocations(root2, d1r2), false);
-     });
-
-test("A Debugger isn't tracking allocation sites when disabled.",
-     () => {
-       dbg1.memory.trackingAllocationSites = true;
-       let d1r1 = dbg1.addDebuggee(root1);
+// Adding a new debuggee to a debugger that is tracking allocations should
+// enable the hook for the new debuggee.
+dbg2.removeDebuggee(root1);
+d1r1 = dbg1.addDebuggee(root1);
+assertEq(isTrackingAllocations(root1, d1r1), true);
 
-       assertEq(isTrackingAllocations(root1, d1r1), true);
-       dbg1.enabled = false;
-       assertEq(isTrackingAllocations(root1, d1r1), false);
-     });
+// Setting trackingAllocationSites to true should throw if the debugger cannot
+// install the allocation hooks for *every* debuggee.
+dbg1.memory.trackingAllocationSites = true;
+dbg1.addDebuggee(root1);
+dbg2.memory.trackingAllocationSites = false;
+let d2r2 = dbg2.addDebuggee(root2);
+dbg2.addDebuggee(root1);
+assertThrowsInstanceOf(() => dbg2.memory.trackingAllocationSites = true,
+                       Error);
 
-test("Re-enabling throws an error if we can't reinstall allocations tracking " +
-     "for all debuggees.",
-     () => {
-       dbg1.enabled = false
-       dbg1.memory.trackingAllocationSites = true;
-       let d1r1 = dbg1.addDebuggee(root1);
-       let d1r2 = dbg1.addDebuggee(root2);
-
-       // Can't install allocation hooks for root2 with this set.
-       root2.setObjectMetadataCallback(function () { return new FakeMetadata; });
-
-       assertThrowsInstanceOf(() => dbg1.enabled = true,
-                              Error);
-
-       assertEq(dbg1.enabled, false);
-       assertEq(isTrackingAllocations(root1, d1r1), false);
-       assertEq(isTrackingAllocations(root2, d1r2), false);
-     });
+// And after it throws, its trackingAllocationSites accessor should reflect that
+// allocation site tracking is still disabled in that Debugger.
+assertEq(isTrackingAllocations(root2, d2r2), false);
--- a/js/src/jscompartment.h
+++ b/js/src/jscompartment.h
@@ -430,17 +430,16 @@ struct JSCompartment
     void purge();
     void clearTables();
 
     void fixupInitialShapeTable();
     void fixupAfterMovingGC();
     void fixupGlobal();
 
     bool hasObjectMetadataCallback() const { return objectMetadataCallback; }
-    js::ObjectMetadataCallback getObjectMetadataCallback() const { return objectMetadataCallback; }
     void setObjectMetadataCallback(js::ObjectMetadataCallback callback);
     void forgetObjectMetadataCallback() {
         objectMetadataCallback = nullptr;
     }
     void setNewObjectMetadata(JSContext* cx, JSObject* obj);
     void clearObjectMetadata();
     const void* addressOfMetadataCallback() const {
         return &objectMetadataCallback;
--- a/js/src/jsfriendapi.cpp
+++ b/js/src/jsfriendapi.cpp
@@ -291,22 +291,16 @@ js::IsSystemZone(Zone* zone)
 
 JS_FRIEND_API(bool)
 js::IsAtomsCompartment(JSCompartment* comp)
 {
     return comp->runtimeFromAnyThread()->isAtomsCompartment(comp);
 }
 
 JS_FRIEND_API(bool)
-js::IsAtomsZone(JS::Zone* zone)
-{
-    return zone->runtimeFromAnyThread()->isAtomsZone(zone);
-}
-
-JS_FRIEND_API(bool)
 js::IsInNonStrictPropertySet(JSContext* cx)
 {
     jsbytecode* pc;
     JSScript* script = cx->currentScript(&pc, JSContext::ALLOW_CROSS_COMPARTMENT);
     return script && !IsStrictSetPC(pc) && (js_CodeSpec[*pc].format & JOF_SET);
 }
 
 JS_FRIEND_API(bool)
--- a/js/src/jsfriendapi.h
+++ b/js/src/jsfriendapi.h
@@ -468,19 +468,16 @@ extern JS_FRIEND_API(bool)
 IsSystemCompartment(JSCompartment* comp);
 
 extern JS_FRIEND_API(bool)
 IsSystemZone(JS::Zone* zone);
 
 extern JS_FRIEND_API(bool)
 IsAtomsCompartment(JSCompartment* comp);
 
-extern JS_FRIEND_API(bool)
-IsAtomsZone(JS::Zone* zone);
-
 /*
  * Returns whether we're in a non-strict property set (in that we're in a
  * non-strict script and the bytecode we're on is a property set).  The return
  * value does NOT indicate any sort of exception was thrown: it's just a
  * boolean.
  */
 extern JS_FRIEND_API(bool)
 IsInNonStrictPropertySet(JSContext* cx);
--- a/js/src/vm/Debugger-inl.h
+++ b/js/src/vm/Debugger-inl.h
@@ -22,17 +22,17 @@ js::Debugger::onLeaveFrame(JSContext* cx
     MOZ_ASSERT_IF(evalTraps, frame.isDebuggee());
     if (frame.isDebuggee())
         ok = slowPathOnLeaveFrame(cx, frame, ok);
     MOZ_ASSERT(!inFrameMaps(frame));
     return ok;
 }
 
 /* static */ inline js::Debugger*
-js::Debugger::fromJSObject(const JSObject* obj)
+js::Debugger::fromJSObject(JSObject* obj)
 {
     MOZ_ASSERT(js::GetObjectClass(obj) == &jsclass);
     return (Debugger*) obj->as<NativeObject>().getPrivate();
 }
 
 /* static */ JSTrapStatus
 js::Debugger::onEnterFrame(JSContext* cx, AbstractFramePtr frame)
 {
--- a/js/src/vm/Debugger.cpp
+++ b/js/src/vm/Debugger.cpp
@@ -1654,18 +1654,16 @@ Debugger::isDebuggee(const JSCompartment
     MOZ_ASSERT(compartment);
     return compartment->isDebuggee() && debuggees.has(compartment->maybeGlobal());
 }
 
 bool
 Debugger::appendAllocationSite(JSContext* cx, HandleObject obj, HandleSavedFrame frame,
                                int64_t when)
 {
-    MOZ_ASSERT(trackingAllocationSites);
-
     AutoCompartment ac(cx, object);
     RootedObject wrappedFrame(cx, frame);
     if (!cx->compartment()->wrap(cx, &wrappedFrame))
         return false;
 
     AllocationSite* allocSite = cx->new_<AllocationSite>(wrappedFrame, when, obj->getClass()->name);
     if (!allocSite)
         return false;
@@ -2126,106 +2124,16 @@ Debugger::updateObservesAsmJSOnDebuggees
             continue;
 
         comp->updateDebuggerObservesAsmJS();
     }
 }
 
 
 
-/*** Allocations Tracking *************************************************************************/
-
-/* static */ bool
-Debugger::cannotTrackAllocations(const GlobalObject& global)
-{
-    auto existingCallback = global.compartment()->getObjectMetadataCallback();
-    return existingCallback && existingCallback != SavedStacksMetadataCallback;
-}
-
-/* static */ bool
-Debugger::isObservedByDebuggerTrackingAllocations(const GlobalObject& debuggee)
-{
-    if (auto* v = debuggee.getDebuggers()) {
-        Debugger** p;
-        for (p = v->begin(); p != v->end(); p++) {
-            if ((*p)->trackingAllocationSites) {
-                return true;
-            }
-        }
-    }
-
-    return false;
-}
-
-/* static */ bool
-Debugger::addAllocationsTracking(JSContext* cx, GlobalObject& debuggee)
-{
-    // Precondition: the given global object is being observed by at least one
-    // Debugger that is tracking allocations.
-    MOZ_ASSERT(isObservedByDebuggerTrackingAllocations(debuggee));
-
-    if (Debugger::cannotTrackAllocations(debuggee)) {
-        JS_ReportErrorNumber(cx, GetErrorMessage, nullptr,
-                             JSMSG_OBJECT_METADATA_CALLBACK_ALREADY_SET);
-        return false;
-    }
-
-    debuggee.compartment()->setObjectMetadataCallback(SavedStacksMetadataCallback);
-    return true;
-}
-
-/* static */ void
-Debugger::removeAllocationsTracking(GlobalObject& global)
-{
-    // If there are still Debuggers that are observing allocations, we cannot
-    // remove the metadata callback yet.
-    if (isObservedByDebuggerTrackingAllocations(global))
-        return;
-
-    global.compartment()->forgetObjectMetadataCallback();
-}
-
-bool
-Debugger::addAllocationsTrackingForAllDebuggees(JSContext* cx)
-{
-    MOZ_ASSERT(trackingAllocationSites);
-
-    // We don't want to end up in a state where we added allocations
-    // tracking to some of our debuggees, but failed to do so for
-    // others. Before attempting to start tracking allocations in *any* of
-    // our debuggees, ensure that we will be able to track allocations for
-    // *all* of our debuggees.
-    for (WeakGlobalObjectSet::Range r = debuggees.all(); !r.empty(); r.popFront()) {
-        if (Debugger::cannotTrackAllocations(*r.front().get())) {
-            JS_ReportErrorNumber(cx, GetErrorMessage, nullptr,
-                                 JSMSG_OBJECT_METADATA_CALLBACK_ALREADY_SET);
-            return false;
-        }
-    }
-
-    for (WeakGlobalObjectSet::Range r = debuggees.all(); !r.empty(); r.popFront()) {
-        // This should always succeed, since we already checked for the
-        // error case above.
-        MOZ_ALWAYS_TRUE(Debugger::addAllocationsTracking(cx, *r.front().get()));
-    }
-
-    return true;
-}
-
-void
-Debugger::removeAllocationsTrackingForAllDebuggees()
-{
-    for (WeakGlobalObjectSet::Range r = debuggees.all(); !r.empty(); r.popFront()) {
-        Debugger::removeAllocationsTracking(*r.front().get());
-    }
-    emptyAllocationsLog();
-}
-
-
-
 /*** Debugger JSObjects **************************************************************************/
 
 void
 Debugger::markCrossCompartmentEdges(JSTracer* trc)
 {
     objects.markCrossCompartmentEdges<DebuggerObject_trace>(trc);
     environments.markCrossCompartmentEdges<DebuggerEnv_trace>(trc);
     scripts.markCrossCompartmentEdges<DebuggerScript_trace>(trc);
@@ -2552,27 +2460,16 @@ Debugger::setEnabled(JSContext* cx, unsi
     THIS_DEBUGGER(cx, argc, vp, "set enabled", args, dbg);
     if (!args.requireAtLeast(cx, "Debugger.set enabled", 1))
         return false;
 
     bool wasEnabled = dbg->enabled;
     dbg->enabled = ToBoolean(args[0]);
 
     if (wasEnabled != dbg->enabled) {
-        if (dbg->trackingAllocationSites) {
-            if (wasEnabled) {
-                dbg->removeAllocationsTrackingForAllDebuggees();
-            } else {
-                if (!dbg->addAllocationsTrackingForAllDebuggees(cx)) {
-                    dbg->enabled = false;
-                    return false;
-                }
-            }
-        }
-
         for (Breakpoint* bp = dbg->firstBreakpoint(); bp; bp = bp->nextInDebugger()) {
             if (!wasEnabled)
                 bp->site->inc(cx->runtime()->defaultFreeOp());
             else
                 bp->site->dec(cx->runtime()->defaultFreeOp());
         }
 
         /*
@@ -3151,49 +3048,65 @@ Debugger::addDebuggeeGlobal(JSContext* c
                 JSCompartment* next = (*p)->object->compartment();
                 if (Find(visited, next) == visited.end() && !visited.append(next))
                     return false;
             }
         }
     }
 
     /*
+     * If we are tracking allocation sites, we need to add the object metadata
+     * callback to this debuggee compartment.
+     */
+    bool setMetadataCallback = false;
+    if (trackingAllocationSites) {
+        if (debuggeeCompartment->hasObjectMetadataCallback()) {
+            JS_ReportErrorNumber(cx, GetErrorMessage, nullptr,
+                                 JSMSG_OBJECT_METADATA_CALLBACK_ALREADY_SET);
+            return false;