Import Cobalt 21.master.0.267507

Includes the following patches:
  https://cobalt-review.googlesource.com/c/cobalt/+/5630
    by devin.cai@mediatek.com
  https://cobalt-review.googlesource.com/c/cobalt/+/5710
    by p.mirgos@samsung.com
  https://cobalt-review.googlesource.com/c/cobalt/+/5730
    by lizhi.fan@samsung.com
diff --git a/src/DOCKER_README.txt b/src/DOCKER_README.txt
deleted file mode 100644
index edf0c0a..0000000
--- a/src/DOCKER_README.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-Ensure you have a COBALT_SRC environment variable set up,
-pointing to your local copy of Cobalt. e.g. ~/cobalt/src
-
-Then choose your target, e.g. stub, linux-x64x11, etc..
-
-then you can build that for that platform via:
-
-docker-compose run <target>
-
-By default, a debug build will be build. You can override this with an env
-variable.
-
-e.g. docker-compose run -e CONFIG=devel <target>
-where config is one of the four optimization levels, debug, devel, qa and gold.
-See https://cobalt.googlesource.com/cobalt/+/master/src/README.md
-
-Builds will be available in your ${COBALT_SRC}/out dir
-
diff --git a/src/base/base.gyp b/src/base/base.gyp
index 22276ff..e223b87 100644
--- a/src/base/base.gyp
+++ b/src/base/base.gyp
@@ -915,7 +915,7 @@
         'trace_event/trace_event_filter_test_utils.cc',
         'trace_event/trace_event_filter_test_utils.h',
         'trace_event/trace_event_system_stats_monitor_unittest.cc',
-        # TODO[johnx]:re-enable these.
+        # TODO[Cobalt]:re-enable these.
         # 'trace_event/blame_context_unittest.cc',
         # 'trace_event/trace_event_unittest.cc',
         'tuple_unittest.cc',
diff --git a/src/base/base_switches.cc b/src/base/base_switches.cc
index bced748..f0535d9 100644
--- a/src/base/base_switches.cc
+++ b/src/base/base_switches.cc
@@ -24,10 +24,10 @@
 // Comma-separated list of feature names to enable. See also kDisableFeatures.
 const char kEnableFeatures[] = "enable-features";
 
-// Setting this switch defines which font format Cobalt will load from it's
-// local font package. Values include 'ttf', 'ttf-preferred', 'woff2', and
-// 'woff2-preferred'. Values with 'preferred' load all fonts but prioritize the
-// format specified. 'ttf' is the default value.
+// Setting this switch defines which font format(s) Cobalt will load locally.
+// Values include 'ttf', 'ttf-preferred', 'woff2', and 'woff2-preferred'.
+// Values with 'preferred' can load all types of fonts but prioritize the
+// format specified. 'woff2-preferred' is the default value.
 const char kFontFormat[] = "font-format";
 
 // Generates full memory crash dump.
diff --git a/src/base/containers/circular_deque.h b/src/base/containers/circular_deque.h
index 068cbf2..353b247 100644
--- a/src/base/containers/circular_deque.h
+++ b/src/base/containers/circular_deque.h
@@ -1080,7 +1080,7 @@
   // No-op versions of these functions for release builds.
   void CheckValidIndex(size_t) const {}
   void CheckValidIndexOrEnd(size_t) const {}
-  void ValidateIterator(const const_iterator& /*i*/) const {}
+  void ValidateIterator(const const_iterator& i) const {}
   void IncrementGeneration() {}
 #endif
 
diff --git a/src/base/containers/small_map.h b/src/base/containers/small_map.h
index 7322e66..01bad28 100644
--- a/src/base/containers/small_map.h
+++ b/src/base/containers/small_map.h
@@ -225,7 +225,7 @@
       return *this;
     }
 
-    inline iterator operator++(int /*unused*/) {
+    inline iterator operator++(int unused) {
       iterator result(*this);
       ++(*this);
       return result;
@@ -240,7 +240,7 @@
       return *this;
     }
 
-    inline iterator operator--(int /*unused*/) {
+    inline iterator operator--(int unused) {
       iterator result(*this);
       --(*this);
       return result;
@@ -305,7 +305,7 @@
       return *this;
     }
 
-    inline const_iterator operator++(int /*unused*/) {
+    inline const_iterator operator++(int unused) {
       const_iterator result(*this);
       ++(*this);
       return result;
@@ -320,7 +320,7 @@
       return *this;
     }
 
-    inline const_iterator operator--(int /*unused*/) {
+    inline const_iterator operator--(int unused) {
       const_iterator result(*this);
       --(*this);
       return result;
diff --git a/src/base/files/file_enumerator_starboard.cc b/src/base/files/file_enumerator_starboard.cc
index c346707..23047ca 100644
--- a/src/base/files/file_enumerator_starboard.cc
+++ b/src/base/files/file_enumerator_starboard.cc
@@ -108,11 +108,13 @@
   };
 
   std::vector<FileEnumerator::FileInfo> ret;
-  // We test if SbDirectoryGetNext returns parent directory file descriptor(..)
-  // because the definition of SbDirectoryGetNext does not guarantee that.
+  // We test if SbDirectoryGetNext returns the parent directory, i.e. |..|,
+  // because whether or not it is returned is platform-dependent and we need to
+  // be able to guarantee it is returned when the INCLUDE_DOT_DOT bitflag is
+  // set.
   bool found_dot_dot = false;
 
-#if SB_API_VERSION >= SB_FEATURE_RUNTIME_CONFIGS_VERSION
+#if SB_API_VERSION >= 12
   std::vector<char> entry(kSbFileMaxName);
 
   while (SbDirectoryGetNext(dir, entry.data(), entry.size())) {
@@ -122,7 +124,7 @@
     }
     ret.push_back(GenerateEntry(entry.data()));
   }
-#else   // SB_API_VERSION >= SB_FEATURE_RUNTIME_CONFIGS_VERSION
+#else   // SB_API_VERSION >= 12
   SbDirectoryEntry entry;
 
   while (SbDirectoryGetNext(dir, &entry)) {
@@ -132,9 +134,9 @@
     }
     ret.push_back(GenerateEntry(entry.name));
   }
-#endif  // SB_API_VERSION >= SB_FEATURE_RUNTIME_CONFIGS_VERSION
+#endif  // SB_API_VERSION >= 12
 
-  if (!found_dot_dot) {
+  if ((INCLUDE_DOT_DOT & file_type_) && !found_dot_dot) {
     ret.push_back(GenerateEntry(".."));
   }
 
diff --git a/src/base/files/important_file_writer.cc b/src/base/files/important_file_writer.cc
index 968c753..30d0585 100644
--- a/src/base/files/important_file_writer.cc
+++ b/src/base/files/important_file_writer.cc
@@ -136,13 +136,11 @@
 bool ImportantFileWriter::WriteFileAtomically(const FilePath& path,
                                               StringPiece data,
                                               StringPiece histogram_suffix) {
-  SB_UNREFERENCED_PARAMETER(histogram_suffix);
-#if SB_API_VERSION >= SB_FILE_ATOMIC_REPLACE_VERSION
+#if SB_API_VERSION >= 12
   return SbFileAtomicReplace(path.value().c_str(), data.data(), data.size());
 #else
   SB_NOTREACHED()
-      << "SbFileAtomicReplace is not available before starboard version "
-      << SB_FILE_ATOMIC_REPLACE_VERSION;
+      << "SbFileAtomicReplace is not available before starboard version 12";
   return false;
 #endif
 }
diff --git a/src/base/files/important_file_writer_unittest.cc b/src/base/files/important_file_writer_unittest.cc
index 680a2f8..764cebc 100644
--- a/src/base/files/important_file_writer_unittest.cc
+++ b/src/base/files/important_file_writer_unittest.cc
@@ -23,7 +23,7 @@
 #include "base/timer/mock_timer.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
-#if SB_API_VERSION >= SB_FILE_ATOMIC_REPLACE_VERSION
+#if SB_API_VERSION >= 12
 namespace base {
 
 namespace {
@@ -357,4 +357,4 @@
 
 }  // namespace base
 
-#endif  // SB_API_VERSION >= SB_FILE_ATOMIC_REPLACE_VERSION
+#endif  // SB_API_VERSION >= 12
diff --git a/src/base/lazy_instance.h b/src/base/lazy_instance.h
index e13ec41..7a2d016 100644
--- a/src/base/lazy_instance.h
+++ b/src/base/lazy_instance.h
@@ -116,7 +116,7 @@
     ANNOTATE_SCOPED_MEMORY_LEAK;
     return LazyInstanceTraitsBase<Type>::New(instance);
   }
-  static void Delete(Type* /*instance*/) {}
+  static void Delete(Type* instance) {}
 };
 
 template <typename Type>
diff --git a/src/base/logging.cc b/src/base/logging.cc
index dbb5be3..e75d72e 100644
--- a/src/base/logging.cc
+++ b/src/base/logging.cc
@@ -563,7 +563,7 @@
   return LOG_NUM_SEVERITIES;
 }
 
-bool ShouldCreateLogMessage(int /*severity*/) {
+bool ShouldCreateLogMessage(int severity) {
   return false;
 }
 
@@ -571,14 +571,16 @@
   return LOG_INFO - GetMinLogLevel();
 }
 
-int GetVlogLevelHelper(const char* /*file*/, size_t /*N*/) {
+int GetVlogLevelHelper(const char* file, size_t N) {
   return GetVlogVerbosity();
 }
 
-void SetLogItems(bool /*enable_process_id*/, bool /*enable_thread_id*/,
-                 bool /*enable_timestamp*/, bool /*enable_tickcount*/) {}
+void SetLogItems(bool enable_process_id,
+                 bool enable_thread_id,
+                 bool enable_timestamp,
+                 bool enable_tickcount) {}
 
-void SetLogPrefix(const char* /*prefix*/) {}
+void SetLogPrefix(const char* prefix) {}
 
 #else  // defined(OFFICIAL_BUILD)
 
diff --git a/src/base/memory/aligned_memory.h b/src/base/memory/aligned_memory.h
index 449eba3..943692c 100644
--- a/src/base/memory/aligned_memory.h
+++ b/src/base/memory/aligned_memory.h
@@ -36,7 +36,6 @@
 
 namespace base {
 
-// TODO[johnx]: Disable/Replace and remove AlignedMemory if possible.
 #if defined(STARBOARD)
 // AlignedMemory is a POD type that gives you a portable way to specify static
 // or local stack data of a given alignment and size. For example, if you need
diff --git a/src/base/memory/scoped_refptr.h b/src/base/memory/scoped_refptr.h
index e730fdc..1810b74 100644
--- a/src/base/memory/scoped_refptr.h
+++ b/src/base/memory/scoped_refptr.h
@@ -210,7 +210,7 @@
 
   T* get() const { return ptr_; }
 #if defined(STARBOARD)
-  // TODO[johnx]: remove this implicit convertor and replace all occurances of
+  // TODO[Cobalt]: remove this implicit convertor and replace all occurances of
   // necessary implicit conversion with scoped_refptr.get().
   operator T*() const { return ptr_; }
 #endif
diff --git a/src/base/memory/singleton.h b/src/base/memory/singleton.h
index 880ef0a..2586aa9 100644
--- a/src/base/memory/singleton.h
+++ b/src/base/memory/singleton.h
@@ -240,12 +240,12 @@
 
   // Internal method used as an adaptor for GetOrCreateLazyPointer(). Do not use
   // outside of that use case.
-  static Type* CreatorFunc(void* /* creator_arg*/) { return Traits::New(); }
+  static Type* CreatorFunc(void* creator_arg) { return Traits::New(); }
 
   // Adapter function for use with AtExit().  This should be called single
   // threaded, so don't use atomic operations.
   // Calling OnExit while singleton is in use by other threads is a mistake.
-  static void OnExit(void* /*unused*/) {
+  static void OnExit(void* unused) {
     // AtExit should only ever be register after the singleton instance was
     // created.  We should only ever get here with a valid instance_ pointer.
     Traits::Delete(reinterpret_cast<Type*>(subtle::NoBarrier_Load(&instance_)));
diff --git a/src/base/memory/weak_ptr.h b/src/base/memory/weak_ptr.h
index 4d9c162..329f4b7 100644
--- a/src/base/memory/weak_ptr.h
+++ b/src/base/memory/weak_ptr.h
@@ -248,7 +248,7 @@
   }
 
 #if defined(STARBOARD)
-  // TODO[johnx]: Remove the implicit convertor.
+  // TODO[Cobalt]: Remove the implicit convertor.
   operator T*() const { return get(); }
 #endif
 
diff --git a/src/base/message_loop/message_pump_io_ios_unittest.cc b/src/base/message_loop/message_pump_io_ios_unittest.cc
index 65a990d..8da9a34 100644
--- a/src/base/message_loop/message_pump_io_ios_unittest.cc
+++ b/src/base/message_loop/message_pump_io_ios_unittest.cc
@@ -69,9 +69,9 @@
   ~BaseWatcher() override {}
 
   // MessagePumpIOSForIO::FdWatcher interface
-  void OnFileCanReadWithoutBlocking(int /* fd */) override { NOTREACHED(); }
+  void OnFileCanReadWithoutBlocking(int fd) override { NOTREACHED(); }
 
-  void OnFileCanWriteWithoutBlocking(int /* fd */) override { NOTREACHED(); }
+  void OnFileCanWriteWithoutBlocking(int fd) override { NOTREACHED(); }
 
  protected:
   MessagePumpIOSForIO::FdWatchController* controller_;
@@ -84,7 +84,7 @@
 
   ~DeleteWatcher() override { DCHECK(!controller_); }
 
-  void OnFileCanWriteWithoutBlocking(int /* fd */) override {
+  void OnFileCanWriteWithoutBlocking(int fd) override {
     DCHECK(controller_);
     delete controller_;
     controller_ = NULL;
@@ -114,7 +114,7 @@
 
   ~StopWatcher() override {}
 
-  void OnFileCanWriteWithoutBlocking(int /* fd */) override {
+  void OnFileCanWriteWithoutBlocking(int fd) override {
     controller_->StopWatchingFileDescriptor();
     if (fd_to_start_watching_ >= 0) {
       pump_->WatchFileDescriptor(fd_to_start_watching_,
diff --git a/src/base/message_loop/message_pump_io_starboard.h b/src/base/message_loop/message_pump_io_starboard.h
index 56853cc..0a4aad1 100644
--- a/src/base/message_loop/message_pump_io_starboard.h
+++ b/src/base/message_loop/message_pump_io_starboard.h
@@ -49,8 +49,8 @@
    public:
     // These methods are called from MessageLoop::Run when a socket can be
     // interacted with without blocking.
-    virtual void OnSocketReadyToRead(SbSocket /*socket*/) {}
-    virtual void OnSocketReadyToWrite(SbSocket /*socket*/) {}
+    virtual void OnSocketReadyToRead(SbSocket socket) {}
+    virtual void OnSocketReadyToWrite(SbSocket socket) {}
 
    protected:
     virtual ~Watcher() {}
diff --git a/src/base/message_loop/message_pump_libevent_unittest.cc b/src/base/message_loop/message_pump_libevent_unittest.cc
index 91759bd..4675012 100644
--- a/src/base/message_loop/message_pump_libevent_unittest.cc
+++ b/src/base/message_loop/message_pump_libevent_unittest.cc
@@ -100,9 +100,9 @@
   ~BaseWatcher() override = default;
 
   // base:MessagePumpLibevent::FdWatcher interface
-  void OnFileCanReadWithoutBlocking(int /* fd */) override { NOTREACHED(); }
+  void OnFileCanReadWithoutBlocking(int fd) override { NOTREACHED(); }
 
-  void OnFileCanWriteWithoutBlocking(int /* fd */) override { NOTREACHED(); }
+  void OnFileCanWriteWithoutBlocking(int fd) override { NOTREACHED(); }
 
  protected:
   MessagePumpLibevent::FdWatchController* controller_;
@@ -115,7 +115,7 @@
 
   ~DeleteWatcher() override { DCHECK(!controller_); }
 
-  void OnFileCanWriteWithoutBlocking(int /* fd */) override {
+  void OnFileCanWriteWithoutBlocking(int fd) override {
     DCHECK(controller_);
     delete controller_;
     controller_ = nullptr;
@@ -141,7 +141,7 @@
 
   ~StopWatcher() override = default;
 
-  void OnFileCanWriteWithoutBlocking(int /* fd */) override {
+  void OnFileCanWriteWithoutBlocking(int fd) override {
     controller_->StopWatchingFileDescriptor();
   }
 };
@@ -170,14 +170,14 @@
   NestedPumpWatcher() = default;
   ~NestedPumpWatcher() override = default;
 
-  void OnFileCanReadWithoutBlocking(int /* fd */) override {
+  void OnFileCanReadWithoutBlocking(int fd) override {
     RunLoop runloop;
     ThreadTaskRunnerHandle::Get()->PostTask(
         FROM_HERE, BindOnce(&QuitMessageLoopAndStart, runloop.QuitClosure()));
     runloop.Run();
   }
 
-  void OnFileCanWriteWithoutBlocking(int /* fd */) override {}
+  void OnFileCanWriteWithoutBlocking(int fd) override {}
 };
 
 TEST_F(MessagePumpLibeventTest, NestedPumpWatcher) {
@@ -201,7 +201,7 @@
               base::Closure quit_closure)
       : BaseWatcher(controller), quit_closure_(std::move(quit_closure)) {}
 
-  void OnFileCanReadWithoutBlocking(int /* fd */) override {
+  void OnFileCanReadWithoutBlocking(int fd) override {
     // Post a fatal closure to the MessageLoop before we quit it.
     ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, BindOnce(&FatalClosure));
 
diff --git a/src/base/numerics/safe_conversions.h b/src/base/numerics/safe_conversions.h
index 609fbff..df4ab04 100644
--- a/src/base/numerics/safe_conversions.h
+++ b/src/base/numerics/safe_conversions.h
@@ -39,7 +39,7 @@
 template <typename Dst, typename Src, typename Enable = void>
 struct IsValueInRangeFastOp {
   static const bool is_supported = false;
-  static constexpr bool Do(Src /*value*/) {
+  static constexpr bool Do(Src value) {
     // Force a compile failure if instantiated.
     return CheckOnFailure::template HandleFailure<bool>();
   }
@@ -152,7 +152,7 @@
 template <typename Dst, typename Src, typename Enable = void>
 struct SaturateFastOp {
   static const bool is_supported = false;
-  static constexpr Dst Do(Src /*value*/) {
+  static constexpr Dst Do(Src value) {
     // Force a compile failure if instantiated.
     return CheckOnFailure::template HandleFailure<Dst>();
   }
diff --git a/src/base/observer_list_unittest.cc b/src/base/observer_list_unittest.cc
index a3522de..8505f35 100644
--- a/src/base/observer_list_unittest.cc
+++ b/src/base/observer_list_unittest.cc
@@ -447,7 +447,7 @@
   explicit AddInClearObserve(ObserverListType* list)
       : list_(list), added_(false), adder_(1) {}
 
-  void Observe(int /* x */) override {
+  void Observe(int x) override {
     list_->Clear();
     list_->AddObserver(&adder_);
     added_ = true;
diff --git a/src/base/power_monitor/power_observer.h b/src/base/power_monitor/power_observer.h
index c60fba1..4f5296c 100644
--- a/src/base/power_monitor/power_observer.h
+++ b/src/base/power_monitor/power_observer.h
@@ -14,7 +14,7 @@
  public:
   // Notification of a change in power status of the computer, such
   // as from switching between battery and A/C power.
-  virtual void OnPowerStateChange(bool /*on_battery_power*/){};
+  virtual void OnPowerStateChange(bool on_battery_power){};
 
   // Notification that the system is suspending.
   virtual void OnSuspend() {}
diff --git a/src/base/strings/string_util.h b/src/base/strings/string_util.h
index 9830cc5..b3d4854 100644
--- a/src/base/strings/string_util.h
+++ b/src/base/strings/string_util.h
@@ -290,7 +290,7 @@
 // Compare the lower-case form of the given string against the given
 // previously-lower-cased ASCII string (typically a constant).
 #if defined(STARBOARD)
-// TODO[johnx]: deprecate this function and use the other two instead.
+// TODO[Cobalt]: deprecate this function and use the other two instead.
 BASE_EXPORT bool LowerCaseEqualsASCII(const char* a_begin,
                                       const char* a_end,
                                       const char* b);
diff --git a/src/base/synchronization/condition_variable.h b/src/base/synchronization/condition_variable.h
index 8be04d0..1f882d3 100644
--- a/src/base/synchronization/condition_variable.h
+++ b/src/base/synchronization/condition_variable.h
@@ -80,7 +80,7 @@
 #include "starboard/types.h"
 #endif
 
-#if defined(STARBOARD) && SB_API_VERSION >= SB_PORTABLE_THREAD_TYPES_VERSION
+#if defined(STARBOARD) && SB_API_VERSION >= 12
 #include "starboard/condition_variable.h"
 #endif
 
diff --git a/src/base/task/task_scheduler/scheduler_single_thread_task_runner_manager.cc b/src/base/task/task_scheduler/scheduler_single_thread_task_runner_manager.cc
index a63c493..e2028c9 100644
--- a/src/base/task/task_scheduler/scheduler_single_thread_task_runner_manager.cc
+++ b/src/base/task/task_scheduler/scheduler_single_thread_task_runner_manager.cc
@@ -98,7 +98,7 @@
     return thread_label_;
   }
 
-  void OnMainEntry(const SchedulerWorker* /* worker */) override {
+  void OnMainEntry(const SchedulerWorker* worker) override {
     thread_ref_checker_.Set();
     PlatformThread::SetName(thread_name_);
   }
@@ -127,7 +127,7 @@
     return thread_ref_checker_.IsCurrentThreadSameAsSetThread();
   }
 
-  void OnMainExit(SchedulerWorker* /* worker */) override {}
+  void OnMainExit(SchedulerWorker* worker) override {}
 
  private:
   const std::string thread_name_;
@@ -196,7 +196,7 @@
     return sequence;
   }
 
-  void OnMainExit(SchedulerWorker* /* worker */) override {
+  void OnMainExit(SchedulerWorker* worker) override {
     scoped_com_initializer_.reset();
   }
 
diff --git a/src/base/task/task_traits_details.h b/src/base/task/task_traits_details.h
index 6f31746..e6115de 100644
--- a/src/base/task/task_traits_details.h
+++ b/src/base/task/task_traits_details.h
@@ -200,12 +200,12 @@
 }
 
 template <class TraitFilterType, class ArgType1>
-constexpr bool TraitIsDefined(ArgType1 /*arg1*/) {
+constexpr bool TraitIsDefined(ArgType1 arg1) {
   return std::is_constructible<TraitFilterType, ArgType1>::value;
 }
 
 template <class TraitFilterType, class ArgType1, class ArgType2>
-constexpr bool TraitIsDefined(ArgType1 /*arg1*/, ArgType2 /*arg2*/) {
+constexpr bool TraitIsDefined(ArgType1 arg1, ArgType2 /*arg2*/) {
   return std::is_constructible<TraitFilterType, ArgType1>::value ||
          std::is_constructible<TraitFilterType, ArgType2>::value;
 }
diff --git a/src/base/test/main_hook.h b/src/base/test/main_hook.h
index e11e90c..aada8c3 100644
--- a/src/base/test/main_hook.h
+++ b/src/base/test/main_hook.h
@@ -5,7 +5,8 @@
 #include "base/basictypes.h"
 #include "build/build_config.h"
 
-// TODO[johnx]: Deprecate this legacy file.
+// Note: this is a legacy file from Cobalt's old copy of Chromium libs.
+
 // Provides a way of running code before gtest-based tests with access to
 // argv and argc.
 class MainHook {
diff --git a/src/base/threading/thread_restrictions.h b/src/base/threading/thread_restrictions.h
index 8d0e4e0..603fed9 100644
--- a/src/base/threading/thread_restrictions.h
+++ b/src/base/threading/thread_restrictions.h
@@ -469,8 +469,8 @@
 #else
   // Inline the empty definitions of these functions so that they can be
   // compiled out.
-  static bool SetIOAllowed(bool /*allowed*/) { return true; }
-  static bool SetSingletonAllowed(bool /*allowed*/) { return true; }
+  static bool SetIOAllowed(bool allowed) { return true; }
+  static bool SetSingletonAllowed(bool allowed) { return true; }
   static void AssertSingletonAllowed() {}
   static void DisallowWaiting() {}
 #if defined(STARBOARD)
@@ -534,7 +534,7 @@
   // DEPRECATED. Use ScopedAllowBaseSyncPrimitives.
   static bool SetWaitAllowed(bool allowed);
 #else
-  static bool SetWaitAllowed(bool /*allowed*/) { return true; }
+  static bool SetWaitAllowed(bool allowed) { return true; }
 #endif
 
   // Constructing a ScopedAllowWait temporarily allows waiting on the current
diff --git a/src/base/time/time.cc b/src/base/time/time.cc
index b975053..ff018e3 100644
--- a/src/base/time/time.cc
+++ b/src/base/time/time.cc
@@ -30,8 +30,7 @@
 TimeTicksNowFunction g_time_ticks_now_function =
     &subtle::TimeTicksNowIgnoringOverride;
 
-#if SB_API_VERSION >= SB_TIME_THREAD_NOW_REQUIRED_VERSION || \
-    SB_HAS(TIME_THREAD_NOW)
+#if SB_API_VERSION >= 12 || SB_HAS(TIME_THREAD_NOW)
 ThreadTicksNowFunction g_thread_ticks_now_function =
     &subtle::ThreadTicksNowIgnoringOverride;
 #endif
@@ -324,9 +323,8 @@
 
 // static
 ThreadTicks ThreadTicks::Now() {
-#if SB_API_VERSION >= SB_TIME_THREAD_NOW_REQUIRED_VERSION || \
-    SB_HAS(TIME_THREAD_NOW)
-#if SB_API_VERSION >= SB_TIME_THREAD_NOW_REQUIRED_VERSION
+#if SB_API_VERSION >= 12 || SB_HAS(TIME_THREAD_NOW)
+#if SB_API_VERSION >= 12
   if (SbTimeIsTimeThreadNowSupported())
 #endif
     return internal::g_thread_ticks_now_function();
diff --git a/src/base/time/time.h b/src/base/time/time.h
index 1ee6446..a88e735 100644
--- a/src/base/time/time.h
+++ b/src/base/time/time.h
@@ -997,7 +997,7 @@
   // Returns true if ThreadTicks::Now() is supported on this system.
   static bool IsSupported() WARN_UNUSED_RESULT {
 #if defined(STARBOARD)
-#if SB_API_VERSION >= SB_TIME_THREAD_NOW_REQUIRED_VERSION
+#if SB_API_VERSION >= 12
     return SbTimeIsTimeThreadNowSupported();
 #elif SB_HAS(TIME_THREAD_NOW)
     return true;
diff --git a/src/base/time/time_now_starboard.cc b/src/base/time/time_now_starboard.cc
index e80ffaf..bdb35ac 100644
--- a/src/base/time/time_now_starboard.cc
+++ b/src/base/time/time_now_starboard.cc
@@ -62,9 +62,8 @@
 
 namespace subtle {
 ThreadTicks ThreadTicksNowIgnoringOverride() {
-#if SB_API_VERSION >= SB_TIME_THREAD_NOW_REQUIRED_VERSION || \
-    SB_HAS(TIME_THREAD_NOW)
-#if SB_API_VERSION >= SB_TIME_THREAD_NOW_REQUIRED_VERSION
+#if SB_API_VERSION >= 12 || SB_HAS(TIME_THREAD_NOW)
+#if SB_API_VERSION >= 12
   if (SbTimeIsTimeThreadNowSupported())
 #endif
     return ThreadTicks() +
diff --git a/src/base/time/time_override.cc b/src/base/time/time_override.cc
index 63f4d8e..97c074a 100644
--- a/src/base/time/time_override.cc
+++ b/src/base/time/time_override.cc
@@ -26,8 +26,7 @@
   }
   if (time_ticks_override)
     internal::g_time_ticks_now_function = time_ticks_override;
-#if SB_API_VERSION >= SB_TIME_THREAD_NOW_REQUIRED_VERSION || \
-    SB_HAS(TIME_THREAD_NOW)
+#if SB_API_VERSION >= 12 || SB_HAS(TIME_THREAD_NOW)
   if (thread_ticks_override)
     internal::g_thread_ticks_now_function = thread_ticks_override;
 #endif
@@ -38,8 +37,7 @@
   internal::g_time_now_from_system_time_function =
       &TimeNowFromSystemTimeIgnoringOverride;
   internal::g_time_ticks_now_function = &TimeTicksNowIgnoringOverride;
-#if SB_API_VERSION >= SB_TIME_THREAD_NOW_REQUIRED_VERSION || \
-    SB_HAS(TIME_THREAD_NOW)
+#if SB_API_VERSION >= 12 || SB_HAS(TIME_THREAD_NOW)
   internal::g_thread_ticks_now_function = &ThreadTicksNowIgnoringOverride;
 #endif
 #if DCHECK_IS_ON()
diff --git a/src/base/time/time_unittest.cc b/src/base/time/time_unittest.cc
index c9e5a3e..a3033c1 100644
--- a/src/base/time/time_unittest.cc
+++ b/src/base/time/time_unittest.cc
@@ -1000,8 +1000,7 @@
 // static
 ThreadTicks ThreadTicksOverride::now_ticks_;
 
-#if SB_API_VERSION >= SB_FEATURE_RUNTIME_CONFIGS_VERSION || \
-    SB_HAS(TIME_THREAD_NOW)
+#if SB_API_VERSION >= 12 || SB_HAS(TIME_THREAD_NOW)
 // IOS doesn't support ThreadTicks::Now().
 #if defined(OS_IOS)
 #define MAYBE_NowOverride DISABLED_NowOverride
@@ -1009,12 +1008,12 @@
 #define MAYBE_NowOverride NowOverride
 #endif
 TEST(ThreadTicks, MAYBE_NowOverride) {
-#if SB_API_VERSION >= SB_FEATURE_RUNTIME_CONFIGS_VERSION
+#if SB_API_VERSION >= 12
   if (!SbTimeIsTimeThreadNowSupported()) {
     SB_LOG(INFO) << "Time thread now not supported. Test skipped.";
     return;
   }
-#endif  // SB_API_VERSION >= SB_FEATURE_RUNTIME_CONFIGS_VERSION
+#endif  // SB_API_VERSION >= 12
 
   ThreadTicksOverride::now_ticks_ = ThreadTicks::Min();
 
@@ -1051,7 +1050,7 @@
   EXPECT_LE(initial_thread_ticks, subtle::ThreadTicksNowIgnoringOverride());
   EXPECT_GT(ThreadTicks::Max(), subtle::ThreadTicksNowIgnoringOverride());
 }
-#endif  // SB_API_VERSION >= SB_FEATURE_RUNTIME_CONFIGS_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(TIME_THREAD_NOW)
 
 TEST(ThreadTicks, ThreadNow) {
diff --git a/src/base/trace_event/trace_event_impl.h b/src/base/trace_event/trace_event_impl.h
index 3d3a464..282d3f2 100644
--- a/src/base/trace_event/trace_event_impl.h
+++ b/src/base/trace_event/trace_event_impl.h
@@ -49,7 +49,7 @@
   virtual void AppendAsTraceFormat(std::string* out) const = 0;
 
   virtual void EstimateTraceMemoryOverhead(
-      TraceEventMemoryOverhead* /*overhead*/){};
+      TraceEventMemoryOverhead* overhead){};
 
   std::string ToString() const {
     std::string result;
diff --git a/src/base/trace_event/trace_log.h b/src/base/trace_event/trace_log.h
index 1c24cf3..7acb220 100644
--- a/src/base/trace_event/trace_log.h
+++ b/src/base/trace_event/trace_log.h
@@ -303,7 +303,7 @@
 
   // Testing factory for TraceEventFilter.
   typedef std::unique_ptr<TraceEventFilter> (*FilterFactoryForTesting)(
-      const std::string& /* predicate_name */);
+      const std::string& predicate_name);
   void SetFilterFactoryForTesting(FilterFactoryForTesting factory) {
     filter_factory_for_testing_ = factory;
   }
diff --git a/src/cobalt/CHANGELOG.md b/src/cobalt/CHANGELOG.md
index 868401a..6d46b58 100644
--- a/src/cobalt/CHANGELOG.md
+++ b/src/cobalt/CHANGELOG.md
@@ -4,11 +4,17 @@
 
 ## Version 21
 
+ - **SpiderMonkey(mozjs-45) JavaScript Engine is no longer supported.**
+   We will only support V8 from now on. For platforms without Just-In-Time
+   compilation ability, please use JIT-less V8 instead. Overriding
+   `cobalt_enable_jit` environment variable in `gyp_configuration.py` will
+   switch V8 to use JIT-less mode. V8 requires at least Starboard version 10.
+
  - **scratch_surface_cache_size_in_bytes is removed.**
 
-   Because it never ended up being used, scratch_suface_cache_size_in_bytes has
-   been removed. This had only been implemented for possible performance gains,
-   but was found to have inconsistent improvement.
+   Because it never ended up being used, `scratch_suface_cache_size_in_bytes`
+   has been removed. This had only been implemented for possible performance
+   gains, but was found to have inconsistent improvement.
 
  - **Disabling spdy is no longer supported.**
 
@@ -16,11 +22,19 @@
    longer support disabling it, so we are removing the GYP configuration
    variable entirely.
 
+ - **DevTools rebased to Chromium 80; requires nodejs to build.**
+
+   DevTools has been updated to match Chromium m80 (3987), taken from the
+   [ChromeDevTools](https://github.com/ChromeDevTools/devtools-frontend/commit/757e0e1e1ffc4a0d36d005d120de5f73c1b910e0)
+   repo. This update now uses Rollup.js to build ES6 modules for the various
+   "applications" comprising the DevTools frontend, requiring nodejs to be
+   installed to build Cobalt (sudo apt-get install nodejs).
+
  - **DevTools and WebDriver listen to ANY interface, except on desktop PCs.**
 
    DevTools and WebDriver servers listen to connections on any network interface
    by default, except on desktop PCs (i.e. Linux and Win32) where they listen
-   only to loopback (localhost) by default. A new "--dev_servers_listen_ip"
+   only to loopback (localhost) by default. A new `--dev_servers_listen_ip`
    command line parameter can be used to specify a different interface for both
    of them to listen to.
 
@@ -37,11 +51,41 @@
    MainWebModule thread.  Peak memory usage during downloading is also reduced.
    Also reduced redundant notifications from the NetworkModule thread to the
    MainWebModule thread on downloading progresses.
+
    CPU utilization of both threads is reduced by more than 10% with the above
    optimizations on some less powerful platforms during high bitrate content
    playback.  The lower CPU utilization of the MainWebModule thread allows it to
    process other tasks (like Javascript execution) more responsively.
 
+ - **Web Extension support is deprecated.**
+
+   Web Extension support is deprecated. Please migrate to
+   [Platform Services](doc/platform_services.md) instead. This is part of an
+   effort to move away from injecting compile-time modules into the Cobalt layer
+   in favor of using runtime extensions provided by the Starboard layer.
+
+- **Improved support of "dir" global DOM attribute.**
+
+   Although the "dir" attribute was supported in previous versions, it only
+   impacted text direction. Now layout will also abide by the "dir" attribute.
+   Additionally, dir="auto" is now supported. These changes are intended to
+   support right-to-left (RTL) languages.
+
+   NOTE: The CSS "direction" property is explicitly not supported since the
+   spec recommends using the "dir" attribute instead.
+
+ - **Local font package switched to WOFF2 format.**
+
+   All packaged fonts that were previously in TTF format are now converted to WOFF2.
+   This change compresses the default Cobalt font package size by about 38% (14MB)
+   and overall Cobalt package size with a standard font configuration by about 21%.
+   TTF and other font formats continue to be supported for remotely downloaded fonts
+   and system fonts.
+
+   In order to support native WOFF2 font loading, we've also updated our FreeType
+   version from 2.6.2 to 2.10.2. For a full list of FreeType updates included in
+   this change, visit www.freetype.org.
+
 ## Version 20
 
  - **Support for QUIC and SPDY is now enabled.**
@@ -63,12 +107,12 @@
    JPEG images are decoded into RGBA in previous versions of Cobalt.  The native
    format of most JPEG images is YV12, which takes only 3/8 of memory compare to
    RGBA.  Now JPEG images are decoded into multi-plane YUV images on platforms
-   with "rasterizer_type" set to "direct-gles".  As a result, when decoding to
+   with `rasterizer_type` set to `direct-gles`.  As a result, when decoding to
    multi-plane image is enabled, image cache size set by AutoMem will be reduced
    by half due to the more compact nature of the YUV image format versus RGB.
    This feature can also be enabled/disabled explicitly by passing command line
-   parameter "allow_image_decoding_to_multi_plane" to Cobalt with value "true"
-   or "false".
+   parameter `--allow_image_decoding_to_multi_plane` to Cobalt with value `true`
+   or `false`.
 
  - **Improved image cache purge strategy.**
 
@@ -171,7 +215,7 @@
    options to be instead run-time options.  This will primarily be enabled
    by the new Starboard extensions framework.  An example of an platform
    specific option added in this way can be found in
-   `cobalt/extension/graphics.h`.
+   [cobalt/extension/graphics.h](extension/graphics.h).
 
  - **Cobalt code assumes that no errors are generated for unused parameters**
 
@@ -180,6 +224,7 @@
    may need to adjust your Starboard configuration so that your compiler no
    longer emits this error, e.g. build with the `-Wno-unused-parameter`
    command line flag in GCC.
+
    `UNREFERENCED_PARAMETER` has been removed, but `SB_UNREFERENCED_PARAMETER`
    will continue to be supported.
 
@@ -209,23 +254,21 @@
   configs support these types of compiler flag gyp variables.
 
  - **Improvements and Bug Fixes**
-
    - Fix bug where Cobalt would not refresh the layout when the textContent
      property of a DOM TextNode is modified.
-   - Media codecs can now be disabled with the “--disable_media_codecs” command
+   - Media codecs can now be disabled with the `--disable_media_codecs` command
      line option to help with debugging.
-   - Enable “--proxy” command line flag in gold builds of Cobalt.
+   - Enable `--proxy` command line flag in gold builds of Cobalt.
    - Add `GetMaximumFrameIntervalInMilliseconds()` platform Cobalt configuration
-     setting (in `cobalt/extension/graphics.h`) to allow a platform to indicate a
-     minimum framerate causing Cobalt to rerender the display even if nothing has
-     changed after the specified interval.
+     setting (in [cobalt/extension/graphics.h](extension/graphics.h)) to allow a
+     platform to indicate a minimum framerate causing Cobalt to rerender the
+     display even if nothing has changed after the specified interval.
    - Removed old embedded screen reader from Cobalt source code, all platforms
      should use the new JavaScript screen reader updated and shipped from YouTube
      now.
 
 ### Version 20.lts.3
  - **Improvements and Bug Fixes**
-
    - Fix a bug where deep links that are fired before the WebModule is loaded
      were ignored. Now Cobalt stores the last deep link fired before WebModule
      is loaded & handles the deep link once the WebModule is loaded.
@@ -234,8 +277,8 @@
  - **Add support for V8 JavaScript Engine**
 
    Cobalt now supports V8 (in addition to SpiderMonkey) as JavaScript engines.
-   V8 can be enabled by setting the gyp variable 'javascript_engine' to 'v8',
-   and additionally setting the gyp variable 'cobalt_enable_jit' to 1.  These
+   V8 can be enabled by setting the gyp variable `javascript_engine` to `v8`,
+   and additionally setting the gyp variable `cobalt_enable_jit` to 1.  These
    variables should be set from your `gyp_configuration.py` Python file (and
    not for example your `gyp_configuration.gypi` file).
 
@@ -249,8 +292,9 @@
    Cobalt's internal representation for persistent storage of cookies and local
    storage entries changed from sqlite3 to protobuf. The header of the
    SbStorageRecord blob was updated from SAV0 to SAV1 and all the data will be
-   migrated to the new format the next time Cobalt is launched.
-   The schema is available at cobalt/storage/store/storage.proto.
+   migrated to the new format the next time Cobalt is launched.  The schema is
+   available at
+   [cobalt/storage/store/storage.proto](storage/store/storage.proto).
 
  - **IPv4 Preference**
 
@@ -278,17 +322,17 @@
    has been removed. Please update to version 3.x.
 
  - **Improvements and Bug Fixes**
-  - Fix pointer/mouse events not being dispatched to JavaScript in the same
-    order that they are generated by Starboard, relative to other input events
-    like key presses.
-  - Fix issue with CSS media queries not assigning correct rule indices.
-    An issue was discovered and fixed where CSS rules defined within `@media`
-    rules would be assigned a CSS rule index relative to their position within
-    the nested `@media` rule rather than being assigned an index relative to
-    their position within the parent CSS file.  As a result, rules may have been
-    assigned incorrect precedence during CSS rule matching.
-  - Fix issue where the style attribute would not appear in the string output
-    of calls to element.outerHTML.
+   - Fix pointer/mouse events not being dispatched to JavaScript in the same
+     order that they are generated by Starboard, relative to other input events
+     like key presses.
+   - Fix issue with CSS media queries not assigning correct rule indices.  An
+     issue was discovered and fixed where CSS rules defined within `@media`
+     rules would be assigned a CSS rule index relative to their position within
+     the nested `@media` rule rather than being assigned an index relative to
+     their position within the parent CSS file.  As a result, rules may have
+     been assigned incorrect precedence during CSS rule matching.
+   - Fix issue where the style attribute would not appear in the string output
+     of calls to element.outerHTML.
 
 ## Version 16
  - **Rebase libwebp to version 1.0.0**
@@ -323,15 +367,16 @@
  - **Add support for cobalt_media_buffer_max_capacity**
 
    Allow bounding the max capacity allocated by decoder buffers, by setting the
-   gypi variables cobalt_media_buffer_max_capacity_1080p and
-   cobalt_media_buffer_max_capacity_4k. 1080p applies to all resolutions 1080p
+   gypi variables `cobalt_media_buffer_max_capacity_1080p` and
+   `cobalt_media_buffer_max_capacity_4k`. 1080p applies to all resolutions 1080p
    and below. Those values default to 0, which imposes no bounds. If non-zero,
    each capacity must be greater than or equal to the sum of the video budget
    and non video budget for that resolution (see
-   cobalt_media_buffer_video_buffer_1080p, cobalt_media_buffer_non_video_budget,
-   etc.), and the max capacities must be greater than or equal to the
-   corresponding initial capacities: cobalt_media_buffer_initial_capacity_1080p
-   and cobalt_media_buffer_initial_capacity_4k.
+   `cobalt_media_buffer_video_buffer_1080p`,
+   `cobalt_media_buffer_non_video_budget`, etc.), and the max capacities must be
+   greater than or equal to the corresponding initial capacities:
+   `cobalt_media_buffer_initial_capacity_1080p` `and
+   cobalt_media_buffer_initial_capacity_4k`.
 
 - **Fix issue with CSS animations not working with the 'outline' property**
 
@@ -365,10 +410,10 @@
 
 - **Add support for MediaDevices.enumerateDevices()**
 
-   It is now possible to enumerate microphone devices from JavaScript via a
-   call to navigator.mediaDevices.enumerateDevices().  This returns a promise
-   of an array of MediaDeviceInfo objects, each partially implemented to have
-   valid `label` and `kind` attributes.
+   It is now possible to enumerate microphone devices from JavaScript via a call
+   to `navigator.mediaDevices.enumerateDevices()`.  This returns a promise of an
+   array of MediaDeviceInfo objects, each partially implemented to have valid
+   `label` and `kind` attributes.
 
 - **Improvements and Bug Fixes**
   - Fix for pseudo elements not visually updating when their CSS is modified
@@ -480,8 +525,8 @@
    A frame rate counter is now made accessible.  It actually displays frame
    times, the inverse of frame rate.  In this case, 16.6ms corresponds to 60fps.
    It is accessible both as an overlay on the display by the command line
-   option, "--fps_overlay".  The data can also be printed to stdout with the
-   command line option "--fps_stdout".  The frame rate statistics will be
+   option, `--fps_overlay`.  The data can also be printed to stdout with the
+   command line option `--fps_stdout`.  The frame rate statistics will be
    updated each time an animation ends, or after 60 frames have been processed.
    Both command line flags are available in Gold builds.
 
diff --git a/src/cobalt/audio/audio_destination_node.h b/src/cobalt/audio/audio_destination_node.h
index fd090c8..8744034 100644
--- a/src/cobalt/audio/audio_destination_node.h
+++ b/src/cobalt/audio/audio_destination_node.h
@@ -52,8 +52,7 @@
   // From AudioNode.
   void OnInputNodeConnected() override;
   std::unique_ptr<ShellAudioBus> PassAudioBusFromSource(
-      int32 /*number_of_frames*/, SampleType /*sample_type*/,
-      bool* /*finished*/) override {
+      int32 number_of_frames, SampleType sample_type, bool* finished) override {
     NOTREACHED();
     return std::unique_ptr<ShellAudioBus>();
   }
diff --git a/src/cobalt/audio/audio_device.cc b/src/cobalt/audio/audio_device.cc
index c91d303..d253f51 100644
--- a/src/cobalt/audio/audio_device.cc
+++ b/src/cobalt/audio/audio_device.cc
@@ -43,13 +43,14 @@
   static void UpdateSourceStatusFunc(int* frames_in_buffer,
                                      int* offset_in_frames, bool* is_playing,
                                      bool* is_eos_reached, void* context);
+
+#if SB_API_VERSION >= 12 || !SB_HAS(ASYNC_AUDIO_FRAMES_REPORTING)
+  static void ConsumeFramesFunc(int frames_consumed, void* context);
+#else   // SB_API_VERSION >=  12 || !SB_HAS(ASYNC_AUDIO_FRAMES_REPORTING)
   static void ConsumeFramesFunc(int frames_consumed,
-#if SB_API_VERSION >= SB_FEATURE_RUNTIME_CONFIGS_VERSION || \
-    SB_HAS(ASYNC_AUDIO_FRAMES_REPORTING)
                                 SbTime frames_consumed_at,
-#endif  // SB_API_VERSION >= SB_FEATURE_RUNTIME_CONFIGS_VERSION ||
-                                // SB_HAS(ASYNC_AUDIO_FRAMES_REPORTING)
                                 void* context);
+#endif  // SB_API_VERSION >=  12 || !SB_HAS(ASYNC_AUDIO_FRAMES_REPORTING)
 
   void UpdateSourceStatus(int* frames_in_buffer, int* offset_in_frames,
                           bool* is_playing, bool* is_eos_reached);
@@ -93,7 +94,8 @@
 #if SB_API_VERSION >= 11
       frames_per_channel_(std::max(SbAudioSinkGetMinBufferSizeInFrames(
                                        number_of_channels, output_sample_type_,
-                                       kStandardOutputSampleRate),
+                                       kStandardOutputSampleRate) +
+                                       kRenderBufferSizeFrames * 2,
                                    kDefaultFramesPerChannel)),
 #else  // SB_API_VERSION >= 11
       frames_per_channel_(kDefaultFramesPerChannel),
@@ -145,21 +147,15 @@
                            is_eos_reached);
 }
 
+#if SB_API_VERSION >= 12 || !SB_HAS(ASYNC_AUDIO_FRAMES_REPORTING)
 // static
-void AudioDevice::Impl::ConsumeFramesFunc(
-    int frames_consumed,
-#if SB_API_VERSION >= SB_FEATURE_RUNTIME_CONFIGS_VERSION || \
-    SB_HAS(ASYNC_AUDIO_FRAMES_REPORTING)
-    SbTime frames_consumed_at,
-#endif  // SB_API_VERSION >= SB_FEATURE_RUNTIME_CONFIGS_VERSION ||
-        // SB_HAS(ASYNC_AUDIO_FRAMES_REPORTING)
-    void* context) {
-#if SB_API_VERSION >= SB_FEATURE_RUNTIME_CONFIGS_VERSION || \
-    SB_HAS(ASYNC_AUDIO_FRAMES_REPORTING)
+void AudioDevice::Impl::ConsumeFramesFunc(int frames_consumed, void* context) {
+#else   // SB_API_VERSION >= 12 || !SB_HAS(ASYNC_AUDIO_FRAMES_REPORTING)
+void AudioDevice::Impl::ConsumeFramesFunc(int frames_consumed,
+                                          SbTime frames_consumed_at,
+                                          void* context) {
   SB_UNREFERENCED_PARAMETER(frames_consumed_at);
-#endif  // SB_API_VERSION >= SB_FEATURE_RUNTIME_CONFIGS_VERSION ||
-        // SB_HAS(ASYNC_AUDIO_FRAMES_REPORTING)
-
+#endif  // SB_API_VERSION >=  12 || !SB_HAS(ASYNC_AUDIO_FRAMES_REPORTING)
   AudioDevice::Impl* impl = reinterpret_cast<AudioDevice::Impl*>(context);
   DCHECK(impl);
 
diff --git a/src/cobalt/audio/audio_node.h b/src/cobalt/audio/audio_node.h
index 38d67cf..1e9c1dd 100644
--- a/src/cobalt/audio/audio_node.h
+++ b/src/cobalt/audio/audio_node.h
@@ -75,7 +75,7 @@
   // any inputs to the node. The default value is 2 except for specific nodes
   // where its value is specially determined. This attributes has no effect for
   // nodes with no inputs.
-  uint32 channel_count(script::ExceptionState* /* unused */) const {
+  uint32 channel_count(script::ExceptionState* unused) const {
     return channel_count_;
   }
   void set_channel_count(uint32 channel_count,
diff --git a/src/cobalt/audio/audio_node_input_output_test.cc b/src/cobalt/audio/audio_node_input_output_test.cc
index c4bf0bb..970254a 100644
--- a/src/cobalt/audio/audio_node_input_output_test.cc
+++ b/src/cobalt/audio/audio_node_input_output_test.cc
@@ -51,8 +51,7 @@
 
   // From AudioNode.
   std::unique_ptr<ShellAudioBus> PassAudioBusFromSource(
-      int32, /*number_of_frames*/
-      SampleType, bool*) override {
+      int32 number_of_frames, SampleType sample_type, bool* finished) override {
     NOTREACHED();
     return std::unique_ptr<ShellAudioBus>();
   }
@@ -60,8 +59,6 @@
   // From AudioDevice::RenderCallback.
   void FillAudioBus(bool all_consumed, ShellAudioBus* audio_bus,
                     bool* silence) override {
-    SB_UNREFERENCED_PARAMETER(all_consumed);
-
     AudioLock::AutoLock lock(audio_lock());
 
     bool all_finished;
diff --git a/src/cobalt/base/c_val.h b/src/cobalt/base/c_val.h
index 002668a..cc285c9 100644
--- a/src/cobalt/base/c_val.h
+++ b/src/cobalt/base/c_val.h
@@ -647,12 +647,8 @@
   CValStub(const std::string& name, const T& initial_value,
            const std::string& description)
       : value_(initial_value) {
-    SB_UNREFERENCED_PARAMETER(name);
-    SB_UNREFERENCED_PARAMETER(description);
   }
   CValStub(const std::string& name, const std::string& description) {
-    SB_UNREFERENCED_PARAMETER(name);
-    SB_UNREFERENCED_PARAMETER(description);
   }
 
   operator T() const { return value_; }
diff --git a/src/cobalt/base/c_val_collection_entry_stats.h b/src/cobalt/base/c_val_collection_entry_stats.h
index b3a87b3..83b038a 100644
--- a/src/cobalt/base/c_val_collection_entry_stats.h
+++ b/src/cobalt/base/c_val_collection_entry_stats.h
@@ -320,18 +320,13 @@
   typedef typename FlushResults::OnFlushCallback OnFlushCallback;
 
   explicit CValCollectionEntryStatsStub(const std::string& name) {
-    SB_UNREFERENCED_PARAMETER(name);
   }
   CValCollectionEntryStatsStub(
       const std::string& name, size_t max_size, bool enable_entry_list_c_val,
       const OnFlushCallback& on_flush = OnFlushCallback()) {
-    SB_UNREFERENCED_PARAMETER(name);
-    SB_UNREFERENCED_PARAMETER(max_size);
-    SB_UNREFERENCED_PARAMETER(enable_entry_list_c_val);
-    SB_UNREFERENCED_PARAMETER(on_flush);
   }
 
-  void AddEntry(const EntryType& value) { SB_UNREFERENCED_PARAMETER(value); }
+  void AddEntry(const EntryType& value) {}
   void Flush() {}
 };
 #endif  // ENABLE_DEBUG_C_VAL
diff --git a/src/cobalt/base/c_val_test.cc b/src/cobalt/base/c_val_test.cc
index 3af6647..0b0edb7 100644
--- a/src/cobalt/base/c_val_test.cc
+++ b/src/cobalt/base/c_val_test.cc
@@ -561,7 +561,6 @@
 
     virtual void OnValueChanged(const std::string& name,
                                 const base::CValGenericValue& value) {
-      SB_UNREFERENCED_PARAMETER(name);
       EXPECT_TRUE(value.IsNativeType<int32_t>());
 
       EXPECT_FALSE(value.IsNativeType<uint32_t>());
diff --git a/src/cobalt/base/c_val_time_interval_entry_stats.h b/src/cobalt/base/c_val_time_interval_entry_stats.h
index d278421..81dd774 100644
--- a/src/cobalt/base/c_val_time_interval_entry_stats.h
+++ b/src/cobalt/base/c_val_time_interval_entry_stats.h
@@ -187,8 +187,6 @@
  public:
   CValTimeIntervalEntryStatsStub(const std::string& name,
                                  int64 time_interval_in_ms) {
-    SB_UNREFERENCED_PARAMETER(name);
-    SB_UNREFERENCED_PARAMETER(time_interval_in_ms);
   }
 
   void AddEntry(const EntryType& value) {}
diff --git a/src/cobalt/base/deep_link_event.h b/src/cobalt/base/deep_link_event.h
index a571f0d..763725c 100644
--- a/src/cobalt/base/deep_link_event.h
+++ b/src/cobalt/base/deep_link_event.h
@@ -27,9 +27,6 @@
  public:
   explicit DeepLinkEvent(const std::string& link) : link_(link) {}
   const std::string& link() const { return link_; }
-  bool IsH5vccLink() const {
-    return StartsWith(link_, "h5vcc", base::CompareCase::SENSITIVE);
-  }
 
   BASE_EVENT_SUBCLASS(DeepLinkEvent);
 
diff --git a/src/cobalt/base/tokens.h b/src/cobalt/base/tokens.h
index 8012819..c460d60 100644
--- a/src/cobalt/base/tokens.h
+++ b/src/cobalt/base/tokens.h
@@ -45,6 +45,7 @@
     MacroOpWithNameOnly(childList)                                   \
     MacroOpWithNameOnly(click)                                       \
     MacroOpWithNameOnly(close)                                       \
+    MacroOpWithNameOnly(complete)                                    \
     MacroOpWithNameOnly(dataavailable)                               \
     MacroOpWithNameOnly(deviceorientation)                           \
     MacroOpWithNameOnly(durationchange)                              \
@@ -68,6 +69,7 @@
     MacroOpWithNameOnly(loadedmetadata)                              \
     MacroOpWithNameOnly(loadend)                                     \
     MacroOpWithNameOnly(loadstart)                                   \
+    MacroOpWithNameOnly(loop)                                        \
     MacroOpWithNameOnly(lostpointercapture)                          \
     MacroOpWithNameOnly(mark)                                        \
     MacroOpWithNameOnly(message)                                     \
@@ -94,6 +96,7 @@
     MacroOpWithNameOnly(polite)                                      \
     MacroOpWithNameOnly(progress)                                    \
     MacroOpWithNameOnly(ratechange)                                  \
+    MacroOpWithNameOnly(ready)                                       \
     MacroOpWithNameOnly(readystatechange)                            \
     MacroOpWithNameOnly(removals)                                    \
     MacroOpWithNameOnly(removesourcebuffer)                          \
diff --git a/src/cobalt/base/wrap_main.h b/src/cobalt/base/wrap_main.h
index 7240917..958601f 100644
--- a/src/cobalt/base/wrap_main.h
+++ b/src/cobalt/base/wrap_main.h
@@ -51,12 +51,12 @@
 
 // No-operation function that can be passed into start_function if no start work
 // is needed.
-void NoopStartFunction(int /*argc*/, char** /*argv*/, const char* /*link*/,
-                       const base::Closure& /*quit_closure*/) {}
+void NoopStartFunction(int argc, char** argv, const char* link,
+                       const base::Closure& quit_closure) {}
 
 // No-operation function that can be passed into event_function if no other
 // event handling work is needed.
-void NoopEventFunction(const SbEvent* /*event*/) {}
+void NoopEventFunction(const SbEvent* event) {}
 
 // No-operation function that can be passed into stop_function if no stop work
 // is needed.
diff --git a/src/cobalt/base/wrap_main_starboard.h b/src/cobalt/base/wrap_main_starboard.h
index 49e6c0d..2a68bae 100644
--- a/src/cobalt/base/wrap_main_starboard.h
+++ b/src/cobalt/base/wrap_main_starboard.h
@@ -97,10 +97,21 @@
       g_at_exit = NULL;
       break;
     }
+#if SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION || \
+    SB_HAS(CONCEALED_STATE)
+    case kSbEventTypeBlur:
+    case kSbEventTypeFocus:
+    case kSbEventTypeConceal:
+    case kSbEventTypeReveal:
+    case kSbEventTypeFreeze:
+    case kSbEventTypeUnfreeze:
+#else
     case kSbEventTypePause:
     case kSbEventTypeUnpause:
     case kSbEventTypeSuspend:
     case kSbEventTypeResume:
+#endif  // SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION ||
+        // SB_HAS(CONCEALED_STATE)
     case kSbEventTypeInput:
     case kSbEventTypeUser:
     case kSbEventTypeLink:
@@ -115,8 +126,7 @@
 #if SB_API_VERSION >= 8
     case kSbEventTypeWindowSizeChanged:
 #endif  // SB_API_VERSION >= 8
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
     case kSbEventTypeOnScreenKeyboardShown:
     case kSbEventTypeOnScreenKeyboardHidden:
     case kSbEventTypeOnScreenKeyboardFocused:
@@ -124,11 +134,11 @@
 #if SB_API_VERSION >= 11
     case kSbEventTypeOnScreenKeyboardSuggestionsUpdated:
 #endif  // SB_API_VERSION >= 11
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
-#if SB_API_VERSION >= SB_CAPTIONS_REQUIRED_VERSION || SB_HAS(CAPTIONS)
+#if SB_API_VERSION >= 12 || SB_HAS(CAPTIONS)
     case kSbEventTypeAccessibilityCaptionSettingsChanged:
-#endif  // SB_API_VERSION >= SB_CAPTIONS_REQUIRED_VERSION || SB_HAS(CAPTIONS)
+#endif  // SB_API_VERSION >= 12 || SB_HAS(CAPTIONS)
       event_function(event);
       break;
   }
diff --git a/src/cobalt/bindings/generated/.clang-format b/src/cobalt/bindings/generated/.clang-format
new file mode 100644
index 0000000..871ac10
--- /dev/null
+++ b/src/cobalt/bindings/generated/.clang-format
@@ -0,0 +1,2 @@
+DisableFormat: true
+ColumnLimit: 0
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/derived_dictionary.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/derived_dictionary.h
index 6f84d42..477c0ac 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/derived_dictionary.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/derived_dictionary.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -65,6 +65,8 @@
   }
 
 
+ using is_a_generated_dict = std::true_type;
+
  private:
   bool additional_member_;
 };
@@ -73,7 +75,6 @@
 // in idl test code
 inline std::ostream& operator<<(
     std::ostream& stream, const cobalt::bindings::testing::DerivedDictionary& in) {
-  SB_UNREFERENCED_PARAMETER(in);
   stream << "[DerivedDictionary]";
   return stream;
 }
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/dictionary_with_dictionary_member.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/dictionary_with_dictionary_member.h
index d5b8eea..b3b609d 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/dictionary_with_dictionary_member.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/dictionary_with_dictionary_member.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -68,6 +68,8 @@
   }
 
 
+ using is_a_generated_dict = std::true_type;
+
  private:
   bool has_nested_dictionary_;
   TestDictionary nested_dictionary_;
@@ -77,7 +79,6 @@
 // in idl test code
 inline std::ostream& operator<<(
     std::ostream& stream, const cobalt::bindings::testing::DictionaryWithDictionaryMember& in) {
-  SB_UNREFERENCED_PARAMETER(in);
   stream << "[DictionaryWithDictionaryMember]";
   return stream;
 }
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_anonymous_indexed_getter_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_anonymous_indexed_getter_interface.cc
index dd9e3ca..20c10f4 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_anonymous_indexed_getter_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_anonymous_indexed_getter_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_anonymous_indexed_getter_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_anonymous_indexed_getter_interface.h
index 0af7c2a..8b19d05 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_anonymous_indexed_getter_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_anonymous_indexed_getter_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_anonymous_named_getter_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_anonymous_named_getter_interface.cc
index 865b7df..4fff4d4 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_anonymous_named_getter_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_anonymous_named_getter_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_anonymous_named_getter_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_anonymous_named_getter_interface.h
index b9a3da8..ecd0de0 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_anonymous_named_getter_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_anonymous_named_getter_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_anonymous_named_indexed_getter_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_anonymous_named_indexed_getter_interface.cc
index e98dcd8..2161ae4 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_anonymous_named_indexed_getter_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_anonymous_named_indexed_getter_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_anonymous_named_indexed_getter_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_anonymous_named_indexed_getter_interface.h
index 6773289..0c9746d 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_anonymous_named_indexed_getter_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_anonymous_named_indexed_getter_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_arbitrary_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_arbitrary_interface.cc
index 663868c..c2d685c 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_arbitrary_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_arbitrary_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_arbitrary_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_arbitrary_interface.h
index 2d258ac..cc7b572 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_arbitrary_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_arbitrary_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_base_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_base_interface.cc
index 374da1c..e7208ab 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_base_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_base_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_base_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_base_interface.h
index 41a1dbf..f2a7420 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_base_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_base_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_boolean_type_test_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_boolean_type_test_interface.cc
index 3e5cb25..b79605e 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_boolean_type_test_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_boolean_type_test_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_boolean_type_test_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_boolean_type_test_interface.h
index d98b13e..1e26005 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_boolean_type_test_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_boolean_type_test_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_callback_function_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_callback_function_interface.cc
index 916a189..c756db7 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_callback_function_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_callback_function_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_callback_function_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_callback_function_interface.h
index 0c7465d..c21a643 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_callback_function_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_callback_function_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_callback_interface_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_callback_interface_interface.cc
index 20d8f61..23a9f00 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_callback_interface_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_callback_interface_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_callback_interface_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_callback_interface_interface.h
index 41f7607..4d3e258 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_callback_interface_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_callback_interface_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_conditional_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_conditional_interface.cc
index 8b87d23..bb19e92 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_conditional_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_conditional_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_conditional_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_conditional_interface.h
index 866c739..8b9c5a4 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_conditional_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_conditional_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_constants_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_constants_interface.cc
index e7f9026..3c5dccf 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_constants_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_constants_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_constants_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_constants_interface.h
index 33a1554..3f246af 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_constants_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_constants_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_constructor_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_constructor_interface.cc
index 2c78212..5fcdc6c 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_constructor_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_constructor_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_constructor_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_constructor_interface.h
index fcea7fb..03ec8e7 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_constructor_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_constructor_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_constructor_with_arguments_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_constructor_with_arguments_interface.cc
index 71f8d3a..f6fba62 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_constructor_with_arguments_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_constructor_with_arguments_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_constructor_with_arguments_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_constructor_with_arguments_interface.h
index 64cf348..76a5c51 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_constructor_with_arguments_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_constructor_with_arguments_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_convert_simple_object_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_convert_simple_object_interface.cc
index 2c1151d..d91cf59 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_convert_simple_object_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_convert_simple_object_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_convert_simple_object_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_convert_simple_object_interface.h
index e11a822..96d44aa 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_convert_simple_object_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_convert_simple_object_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_derived_dictionary.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_derived_dictionary.cc
index 12ea103..583d39b 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_derived_dictionary.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_derived_dictionary.cc
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_derived_getter_setter_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_derived_getter_setter_interface.cc
index e090b2c..50a51e6 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_derived_getter_setter_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_derived_getter_setter_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_derived_getter_setter_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_derived_getter_setter_interface.h
index e118585..0c3d509 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_derived_getter_setter_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_derived_getter_setter_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_derived_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_derived_interface.cc
index e2b04ca..e7ff564 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_derived_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_derived_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_derived_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_derived_interface.h
index bf31935..d3f1147 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_derived_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_derived_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_dictionary_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_dictionary_interface.cc
index 39b1361..060866a 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_dictionary_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_dictionary_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_dictionary_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_dictionary_interface.h
index 6025163..786ff22 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_dictionary_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_dictionary_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_dictionary_with_dictionary_member.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_dictionary_with_dictionary_member.cc
index bc67522..a5f86d8 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_dictionary_with_dictionary_member.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_dictionary_with_dictionary_member.cc
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_disabled_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_disabled_interface.cc
index f67b624..0deb485 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_disabled_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_disabled_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_disabled_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_disabled_interface.h
index 9e23691..dd9f5ce 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_disabled_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_disabled_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_dom_string_test_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_dom_string_test_interface.cc
index da518fd..2d98d32 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_dom_string_test_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_dom_string_test_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_dom_string_test_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_dom_string_test_interface.h
index a15314b..0da2b64 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_dom_string_test_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_dom_string_test_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_enumeration_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_enumeration_interface.cc
index 60f5f0f..c1d4783 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_enumeration_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_enumeration_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_enumeration_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_enumeration_interface.h
index 38553f3..61314c0 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_enumeration_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_enumeration_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_exception_object_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_exception_object_interface.cc
index f5f02b5..9988b99 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_exception_object_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_exception_object_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_exception_object_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_exception_object_interface.h
index d593e50..4bf2613 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_exception_object_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_exception_object_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_exceptions_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_exceptions_interface.cc
index 398330a..e005cea 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_exceptions_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_exceptions_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_exceptions_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_exceptions_interface.h
index f6f6a94..d3ff757 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_exceptions_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_exceptions_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_extended_idl_attributes_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_extended_idl_attributes_interface.cc
index 87b9b72..859c5dd 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_extended_idl_attributes_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_extended_idl_attributes_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_extended_idl_attributes_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_extended_idl_attributes_interface.h
index 7472f2a..ebb6a69 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_extended_idl_attributes_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_extended_idl_attributes_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_garbage_collection_test_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_garbage_collection_test_interface.cc
index 6e26a32..496db98 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_garbage_collection_test_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_garbage_collection_test_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_garbage_collection_test_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_garbage_collection_test_interface.h
index 050854e..0f662fe 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_garbage_collection_test_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_garbage_collection_test_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_global_interface_parent.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_global_interface_parent.cc
index 869928f..738cc92 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_global_interface_parent.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_global_interface_parent.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_global_interface_parent.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_global_interface_parent.h
index 792168f..a4a5f0c 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_global_interface_parent.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_global_interface_parent.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_indexed_getter_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_indexed_getter_interface.cc
index a2341c9..96a42f5 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_indexed_getter_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_indexed_getter_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_indexed_getter_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_indexed_getter_interface.h
index e3ae08a..503db0c 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_indexed_getter_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_indexed_getter_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_any.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_any.cc
index 3e3e903..561b8f3 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_any.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_any.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_any.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_any.h
index fb5348b..0d214c4 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_any.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_any.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_any_dictionary.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_any_dictionary.cc
index 23dd4cf..5db14a3 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_any_dictionary.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_any_dictionary.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_any_dictionary.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_any_dictionary.h
index 9b248c3..7c25beb 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_any_dictionary.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_any_dictionary.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_date.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_date.cc
index 754f59e..e39ff0e 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_date.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_date.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_date.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_date.h
index a515f52..db14242 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_date.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_date.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_unsupported_properties.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_unsupported_properties.cc
index bea1780..4062463 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_unsupported_properties.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_unsupported_properties.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_unsupported_properties.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_unsupported_properties.h
index 78d68c7..44547e8 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_unsupported_properties.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_interface_with_unsupported_properties.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_named_constructor_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_named_constructor_interface.cc
index 2e8864f..84497d7 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_named_constructor_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_named_constructor_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_named_constructor_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_named_constructor_interface.h
index 58e1ddf..d270291 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_named_constructor_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_named_constructor_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_named_getter_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_named_getter_interface.cc
index 7957141..1faf3be 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_named_getter_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_named_getter_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_named_getter_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_named_getter_interface.h
index 1cc0770..86ea8a1 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_named_getter_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_named_getter_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_named_indexed_getter_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_named_indexed_getter_interface.cc
index 1e46aa2..a970647 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_named_indexed_getter_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_named_indexed_getter_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_named_indexed_getter_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_named_indexed_getter_interface.h
index 508ab5f..c6c2895 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_named_indexed_getter_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_named_indexed_getter_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_nested_put_forwards_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_nested_put_forwards_interface.cc
index ce32a61..506f341 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_nested_put_forwards_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_nested_put_forwards_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_nested_put_forwards_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_nested_put_forwards_interface.h
index 13eddac..c4676e7 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_nested_put_forwards_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_nested_put_forwards_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_no_constructor_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_no_constructor_interface.cc
index 66d3768..ded7021 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_no_constructor_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_no_constructor_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_no_constructor_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_no_constructor_interface.h
index 95920b6..e1b201c 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_no_constructor_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_no_constructor_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_no_interface_object_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_no_interface_object_interface.cc
index 5f2fcb2..1d5811d 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_no_interface_object_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_no_interface_object_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_no_interface_object_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_no_interface_object_interface.h
index 688376c..10f13b4 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_no_interface_object_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_no_interface_object_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_nullable_types_test_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_nullable_types_test_interface.cc
index c91673c..9596bbe 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_nullable_types_test_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_nullable_types_test_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_nullable_types_test_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_nullable_types_test_interface.h
index 6b91b81..49befc8 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_nullable_types_test_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_nullable_types_test_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_numeric_types_test_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_numeric_types_test_interface.cc
index 238661c..8174786 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_numeric_types_test_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_numeric_types_test_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_numeric_types_test_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_numeric_types_test_interface.h
index 63412fd..556ed03 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_numeric_types_test_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_numeric_types_test_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_object_type_bindings_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_object_type_bindings_interface.cc
index cf4f96a..06f09fd 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_object_type_bindings_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_object_type_bindings_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_object_type_bindings_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_object_type_bindings_interface.h
index 5298255..4554f16 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_object_type_bindings_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_object_type_bindings_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_operations_test_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_operations_test_interface.cc
index 08ac798..4900ea5 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_operations_test_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_operations_test_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_operations_test_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_operations_test_interface.h
index 81f4e8d..f9293a3 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_operations_test_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_operations_test_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_promise_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_promise_interface.cc
index 86b4e6e..ae27276 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_promise_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_promise_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_promise_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_promise_interface.h
index 17eff76..7d88d41 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_promise_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_promise_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_put_forwards_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_put_forwards_interface.cc
index 43f3409..1cbb867 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_put_forwards_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_put_forwards_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_put_forwards_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_put_forwards_interface.h
index 25e56af..e2c86d5 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_put_forwards_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_put_forwards_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_sequence_user.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_sequence_user.cc
index ac54ebb..ba5ff4b 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_sequence_user.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_sequence_user.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_sequence_user.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_sequence_user.h
index db53c92..21b59c7 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_sequence_user.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_sequence_user.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_single_operation_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_single_operation_interface.cc
index 9bf43e7..9df3264 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_single_operation_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_single_operation_interface.cc
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_single_operation_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_single_operation_interface.h
index 6572ec4..c20c680 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_single_operation_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_single_operation_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_static_properties_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_static_properties_interface.cc
index 475f184..3616b2f 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_static_properties_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_static_properties_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_static_properties_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_static_properties_interface.h
index 2141588..d798b83 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_static_properties_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_static_properties_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_stringifier_anonymous_operation_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_stringifier_anonymous_operation_interface.cc
index 4a01004..5497171 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_stringifier_anonymous_operation_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_stringifier_anonymous_operation_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_stringifier_anonymous_operation_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_stringifier_anonymous_operation_interface.h
index 9b22a1d..96bd782 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_stringifier_anonymous_operation_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_stringifier_anonymous_operation_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_stringifier_attribute_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_stringifier_attribute_interface.cc
index b381538..a112a9e 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_stringifier_attribute_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_stringifier_attribute_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_stringifier_attribute_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_stringifier_attribute_interface.h
index 36d15bc..ee2c1f5 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_stringifier_attribute_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_stringifier_attribute_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_stringifier_operation_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_stringifier_operation_interface.cc
index 23d64c2..5431a88 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_stringifier_operation_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_stringifier_operation_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_stringifier_operation_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_stringifier_operation_interface.h
index bb26df8..75b5139 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_stringifier_operation_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_stringifier_operation_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_target_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_target_interface.cc
index 1bbecb3..21a2262 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_target_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_target_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_target_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_target_interface.h
index 621b180..b2c2979 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_target_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_target_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_test_dictionary.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_test_dictionary.cc
index c82e0f5..2688e3e 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_test_dictionary.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_test_dictionary.cc
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_test_enum.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_test_enum.cc
index aa13059..2983f9f 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_test_enum.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_test_enum.cc
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_union_types_interface.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_union_types_interface.cc
index ba3e4fc..3769053 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_union_types_interface.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_union_types_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -30,8 +30,10 @@
 #include "cobalt/script/value_handle.h"
 #include "cobalt/bindings/testing/arbitrary_interface.h"
 #include "cobalt/bindings/testing/base_interface.h"
+#include "cobalt/bindings/testing/derived_dictionary.h"
 #include "cobalt/bindings/testing/mozjs_arbitrary_interface.h"
 #include "cobalt/bindings/testing/mozjs_base_interface.h"
+#include "cobalt/bindings/testing/test_dictionary.h"
 
 #include "mozjs_gen_type_conversion.h"
 
@@ -65,8 +67,10 @@
 using cobalt::bindings::testing::MozjsUnionTypesInterface;
 using cobalt::bindings::testing::ArbitraryInterface;
 using cobalt::bindings::testing::BaseInterface;
+using cobalt::bindings::testing::DerivedDictionary;
 using cobalt::bindings::testing::MozjsArbitraryInterface;
 using cobalt::bindings::testing::MozjsBaseInterface;
+using cobalt::bindings::testing::TestDictionary;
 using cobalt::script::CallbackInterfaceTraits;
 using cobalt::script::GlobalEnvironment;
 using cobalt::script::ScriptValue;
@@ -609,6 +613,206 @@
   return !exception_state.is_exception_set();
 }
 
+bool get_unionWithDictionaryProperty(
+    JSContext* context, unsigned argc, JS::Value* vp) {
+  JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
+  if (!args.thisv().isObject()) {
+    MozjsExceptionState exception(context);
+    exception.SetSimpleException(script::kTypeError, "Invalid this.");
+    return false;
+  }
+  JS::RootedObject object(context, &args.thisv().toObject());
+  const JSClass* proto_class =
+      MozjsUnionTypesInterface::PrototypeClass(context);
+  if (proto_class == JS_GetClass(object)) {
+    // Simply returns true if the object is this class's prototype object.
+    // There is no need to return any value due to the object is not a platform
+    // object. The execution reaches here when Object.getOwnPropertyDescriptor
+    // gets called on native object prototypes.
+    return true;
+  }
+
+  MozjsGlobalEnvironment* global_environment =
+      static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+  WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+  if (!wrapper_factory->DoesObjectImplementInterface(
+        object, base::GetTypeId<UnionTypesInterface>())) {
+    MozjsExceptionState exception(context);
+    exception.SetSimpleException(script::kDoesNotImplementInterface);
+    return false;
+  }
+  MozjsExceptionState exception_state(context);
+  JS::RootedValue result_value(context);
+
+  WrapperPrivate* wrapper_private =
+      WrapperPrivate::GetFromObject(context, object);
+  UnionTypesInterface* impl =
+      wrapper_private->wrappable<UnionTypesInterface>().get();
+
+  if (!exception_state.is_exception_set()) {
+    ToJSValue(context,
+              impl->union_with_dictionary_property(),
+              &result_value);
+  }
+  if (!exception_state.is_exception_set()) {
+    args.rval().set(result_value);
+  }
+  return !exception_state.is_exception_set();
+}
+
+bool set_unionWithDictionaryProperty(
+    JSContext* context, unsigned argc, JS::Value* vp) {
+
+  JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
+  if (!args.thisv().isObject()) {
+    MozjsExceptionState exception(context);
+    exception.SetSimpleException(script::kTypeError, "Invalid this.");
+    return false;
+  }
+  JS::RootedObject object(context, &args.thisv().toObject());
+
+  const JSClass* proto_class =
+      MozjsUnionTypesInterface::PrototypeClass(context);
+  if (proto_class == JS_GetClass(object)) {
+    // Simply returns true if the object is this class's prototype object.
+    // There is no need to return any value due to the object is not a platform
+    // object. The execution reaches here when Object.getOwnPropertyDescriptor
+    // gets called on native object prototypes.
+    return true;
+  }
+
+  MozjsGlobalEnvironment* global_environment =
+      static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+  WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+  if (!wrapper_factory->DoesObjectImplementInterface(
+        object, base::GetTypeId<UnionTypesInterface>())) {
+    MozjsExceptionState exception(context);
+    exception.SetSimpleException(script::kDoesNotImplementInterface);
+    return false;
+  }
+  MozjsExceptionState exception_state(context);
+  JS::RootedValue result_value(context);
+
+  WrapperPrivate* wrapper_private =
+      WrapperPrivate::GetFromObject(context, object);
+  UnionTypesInterface* impl =
+      wrapper_private->wrappable<UnionTypesInterface>().get();
+  TypeTraits<::cobalt::script::UnionType3<std::string, double, TestDictionary > >::ConversionType value;
+  if (args.length() != 1) {
+    NOTREACHED();
+    return false;
+  }
+  FromJSValue(context, args[0], kNoConversionFlags, &exception_state,
+              &value);
+  if (exception_state.is_exception_set()) {
+    return false;
+  }
+
+  impl->set_union_with_dictionary_property(value);
+  result_value.set(JS::UndefinedHandleValue);
+  return !exception_state.is_exception_set();
+}
+
+bool get_unionDictsObjectsProperty(
+    JSContext* context, unsigned argc, JS::Value* vp) {
+  JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
+  if (!args.thisv().isObject()) {
+    MozjsExceptionState exception(context);
+    exception.SetSimpleException(script::kTypeError, "Invalid this.");
+    return false;
+  }
+  JS::RootedObject object(context, &args.thisv().toObject());
+  const JSClass* proto_class =
+      MozjsUnionTypesInterface::PrototypeClass(context);
+  if (proto_class == JS_GetClass(object)) {
+    // Simply returns true if the object is this class's prototype object.
+    // There is no need to return any value due to the object is not a platform
+    // object. The execution reaches here when Object.getOwnPropertyDescriptor
+    // gets called on native object prototypes.
+    return true;
+  }
+
+  MozjsGlobalEnvironment* global_environment =
+      static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+  WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+  if (!wrapper_factory->DoesObjectImplementInterface(
+        object, base::GetTypeId<UnionTypesInterface>())) {
+    MozjsExceptionState exception(context);
+    exception.SetSimpleException(script::kDoesNotImplementInterface);
+    return false;
+  }
+  MozjsExceptionState exception_state(context);
+  JS::RootedValue result_value(context);
+
+  WrapperPrivate* wrapper_private =
+      WrapperPrivate::GetFromObject(context, object);
+  UnionTypesInterface* impl =
+      wrapper_private->wrappable<UnionTypesInterface>().get();
+
+  if (!exception_state.is_exception_set()) {
+    ToJSValue(context,
+              impl->union_dicts_objects_property(),
+              &result_value);
+  }
+  if (!exception_state.is_exception_set()) {
+    args.rval().set(result_value);
+  }
+  return !exception_state.is_exception_set();
+}
+
+bool set_unionDictsObjectsProperty(
+    JSContext* context, unsigned argc, JS::Value* vp) {
+
+  JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
+  if (!args.thisv().isObject()) {
+    MozjsExceptionState exception(context);
+    exception.SetSimpleException(script::kTypeError, "Invalid this.");
+    return false;
+  }
+  JS::RootedObject object(context, &args.thisv().toObject());
+
+  const JSClass* proto_class =
+      MozjsUnionTypesInterface::PrototypeClass(context);
+  if (proto_class == JS_GetClass(object)) {
+    // Simply returns true if the object is this class's prototype object.
+    // There is no need to return any value due to the object is not a platform
+    // object. The execution reaches here when Object.getOwnPropertyDescriptor
+    // gets called on native object prototypes.
+    return true;
+  }
+
+  MozjsGlobalEnvironment* global_environment =
+      static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+  WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
+  if (!wrapper_factory->DoesObjectImplementInterface(
+        object, base::GetTypeId<UnionTypesInterface>())) {
+    MozjsExceptionState exception(context);
+    exception.SetSimpleException(script::kDoesNotImplementInterface);
+    return false;
+  }
+  MozjsExceptionState exception_state(context);
+  JS::RootedValue result_value(context);
+
+  WrapperPrivate* wrapper_private =
+      WrapperPrivate::GetFromObject(context, object);
+  UnionTypesInterface* impl =
+      wrapper_private->wrappable<UnionTypesInterface>().get();
+  TypeTraits<::cobalt::script::UnionType2<DerivedDictionary, scoped_refptr<ArbitraryInterface> > >::ConversionType value;
+  if (args.length() != 1) {
+    NOTREACHED();
+    return false;
+  }
+  FromJSValue(context, args[0], kNoConversionFlags, &exception_state,
+              &value);
+  if (exception_state.is_exception_set()) {
+    return false;
+  }
+
+  impl->set_union_dicts_objects_property(value);
+  result_value.set(JS::UndefinedHandleValue);
+  return !exception_state.is_exception_set();
+}
+
 
 const JSPropertySpec prototype_properties[] = {
   {  // Read/Write property
@@ -635,6 +839,18 @@
     { { &get_unionBaseProperty, NULL } },
     { { &set_unionBaseProperty, NULL } },
   },
+  {  // Read/Write property
+    "unionWithDictionaryProperty",
+    JSPROP_SHARED | JSPROP_ENUMERATE,
+    { { &get_unionWithDictionaryProperty, NULL } },
+    { { &set_unionWithDictionaryProperty, NULL } },
+  },
+  {  // Read/Write property
+    "unionDictsObjectsProperty",
+    JSPROP_SHARED | JSPROP_ENUMERATE,
+    { { &get_unionDictsObjectsProperty, NULL } },
+    { { &set_unionDictsObjectsProperty, NULL } },
+  },
   JS_PS_END
 };
 
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_union_types_interface.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_union_types_interface.h
index 2f1dc93..b228818 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_union_types_interface.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_union_types_interface.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_window.cc b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_window.cc
index 5248d37..7bd33c0 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_window.cc
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_window.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_window.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_window.h
index 19e8c58..38f6a5e 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_window.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/mozjs_window.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/test_dictionary.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/test_dictionary.h
index b563a43..12c3a3d 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/test_dictionary.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/test_dictionary.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -254,6 +254,8 @@
   }
 
 
+ using is_a_generated_dict = std::true_type;
+
  private:
   bool has_boolean_member_;
   bool boolean_member_;
@@ -279,7 +281,6 @@
 // in idl test code
 inline std::ostream& operator<<(
     std::ostream& stream, const cobalt::bindings::testing::TestDictionary& in) {
-  SB_UNREFERENCED_PARAMETER(in);
   stream << "[TestDictionary]";
   return stream;
 }
diff --git a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/test_enum.h b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/test_enum.h
index 1d4b0cb..2d6c131 100644
--- a/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/test_enum.h
+++ b/src/cobalt/bindings/generated/mozjs45/testing/cobalt/bindings/testing/test_enum.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/derived_dictionary.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/derived_dictionary.h
index 6f84d42..477c0ac 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/derived_dictionary.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/derived_dictionary.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -65,6 +65,8 @@
   }
 
 
+ using is_a_generated_dict = std::true_type;
+
  private:
   bool additional_member_;
 };
@@ -73,7 +75,6 @@
 // in idl test code
 inline std::ostream& operator<<(
     std::ostream& stream, const cobalt::bindings::testing::DerivedDictionary& in) {
-  SB_UNREFERENCED_PARAMETER(in);
   stream << "[DerivedDictionary]";
   return stream;
 }
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/dictionary_with_dictionary_member.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/dictionary_with_dictionary_member.h
index d5b8eea..b3b609d 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/dictionary_with_dictionary_member.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/dictionary_with_dictionary_member.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -68,6 +68,8 @@
   }
 
 
+ using is_a_generated_dict = std::true_type;
+
  private:
   bool has_nested_dictionary_;
   TestDictionary nested_dictionary_;
@@ -77,7 +79,6 @@
 // in idl test code
 inline std::ostream& operator<<(
     std::ostream& stream, const cobalt::bindings::testing::DictionaryWithDictionaryMember& in) {
-  SB_UNREFERENCED_PARAMETER(in);
   stream << "[DictionaryWithDictionaryMember]";
   return stream;
 }
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/test_dictionary.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/test_dictionary.h
index b563a43..12c3a3d 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/test_dictionary.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/test_dictionary.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -254,6 +254,8 @@
   }
 
 
+ using is_a_generated_dict = std::true_type;
+
  private:
   bool has_boolean_member_;
   bool boolean_member_;
@@ -279,7 +281,6 @@
 // in idl test code
 inline std::ostream& operator<<(
     std::ostream& stream, const cobalt::bindings::testing::TestDictionary& in) {
-  SB_UNREFERENCED_PARAMETER(in);
   stream << "[TestDictionary]";
   return stream;
 }
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/test_enum.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/test_enum.h
index 1d4b0cb..2d6c131 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/test_enum.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/test_enum.h
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_anonymous_indexed_getter_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_anonymous_indexed_getter_interface.cc
index 8bab19b..d9037d8 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_anonymous_indexed_getter_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_anonymous_indexed_getter_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_anonymous_indexed_getter_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_anonymous_indexed_getter_interface.h
index 2a066a6..89b504f 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_anonymous_indexed_getter_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_anonymous_indexed_getter_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_anonymous_named_getter_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_anonymous_named_getter_interface.cc
index dd39476..b1eb1fc 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_anonymous_named_getter_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_anonymous_named_getter_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_anonymous_named_getter_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_anonymous_named_getter_interface.h
index f3d6a8d..d353766 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_anonymous_named_getter_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_anonymous_named_getter_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_anonymous_named_indexed_getter_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_anonymous_named_indexed_getter_interface.cc
index ee8f7f8..1507906 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_anonymous_named_indexed_getter_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_anonymous_named_indexed_getter_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_anonymous_named_indexed_getter_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_anonymous_named_indexed_getter_interface.h
index 8ad53be..beaef6b 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_anonymous_named_indexed_getter_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_anonymous_named_indexed_getter_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_arbitrary_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_arbitrary_interface.cc
index e5ea426..6ccd0b9 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_arbitrary_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_arbitrary_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_arbitrary_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_arbitrary_interface.h
index 4993918..b9afff7 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_arbitrary_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_arbitrary_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_base_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_base_interface.cc
index 9afee57..a529fc2 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_base_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_base_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_base_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_base_interface.h
index 301cd31..edfc02e 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_base_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_base_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_boolean_type_test_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_boolean_type_test_interface.cc
index 33a9f16..260c18e 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_boolean_type_test_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_boolean_type_test_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_boolean_type_test_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_boolean_type_test_interface.h
index 4638c13..fc705f6 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_boolean_type_test_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_boolean_type_test_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_callback_function_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_callback_function_interface.cc
index 2ca0c2e..5c911dd 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_callback_function_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_callback_function_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_callback_function_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_callback_function_interface.h
index 61b6e12..89da0b7 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_callback_function_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_callback_function_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_callback_interface_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_callback_interface_interface.cc
index 068f1cb..bd5f09b 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_callback_interface_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_callback_interface_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_callback_interface_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_callback_interface_interface.h
index 670c58d..9e16cfe 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_callback_interface_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_callback_interface_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_conditional_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_conditional_interface.cc
index 3a9752d..1135e4b 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_conditional_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_conditional_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_conditional_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_conditional_interface.h
index 9539cf1..cd84b95 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_conditional_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_conditional_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_constants_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_constants_interface.cc
index a8a9b3f..d3515c4 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_constants_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_constants_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_constants_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_constants_interface.h
index ae904ee..f7cd992 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_constants_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_constants_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_constructor_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_constructor_interface.cc
index 7a58046..a582362 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_constructor_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_constructor_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_constructor_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_constructor_interface.h
index 6e553c5..1ae5ae2 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_constructor_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_constructor_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_constructor_with_arguments_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_constructor_with_arguments_interface.cc
index 0505e2f..c30834e 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_constructor_with_arguments_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_constructor_with_arguments_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_constructor_with_arguments_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_constructor_with_arguments_interface.h
index 4031824..2918d75 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_constructor_with_arguments_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_constructor_with_arguments_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_convert_simple_object_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_convert_simple_object_interface.cc
index 58007b9..5452403 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_convert_simple_object_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_convert_simple_object_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_convert_simple_object_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_convert_simple_object_interface.h
index 7ebebd7..9483a38 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_convert_simple_object_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_convert_simple_object_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_derived_dictionary.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_derived_dictionary.cc
index da7a604..188d81e 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_derived_dictionary.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_derived_dictionary.cc
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_derived_getter_setter_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_derived_getter_setter_interface.cc
index ae86a6d..3177fef 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_derived_getter_setter_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_derived_getter_setter_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_derived_getter_setter_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_derived_getter_setter_interface.h
index 1fb8649..54ce512 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_derived_getter_setter_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_derived_getter_setter_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_derived_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_derived_interface.cc
index a38b1ba..ccd7e97 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_derived_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_derived_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_derived_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_derived_interface.h
index 5e1ace8..77d7ad9 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_derived_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_derived_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_dictionary_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_dictionary_interface.cc
index 4a9a740..23b7f5d 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_dictionary_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_dictionary_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_dictionary_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_dictionary_interface.h
index 92958c5..ca5d345 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_dictionary_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_dictionary_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_dictionary_with_dictionary_member.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_dictionary_with_dictionary_member.cc
index 89b8ebc..0697e7c 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_dictionary_with_dictionary_member.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_dictionary_with_dictionary_member.cc
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_disabled_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_disabled_interface.cc
index 2d4bffe..97d64d1 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_disabled_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_disabled_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_disabled_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_disabled_interface.h
index 0c31d5c..e759058 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_disabled_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_disabled_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_dom_string_test_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_dom_string_test_interface.cc
index 856fa69..e82cf79 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_dom_string_test_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_dom_string_test_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_dom_string_test_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_dom_string_test_interface.h
index c5aad0b..1764e34 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_dom_string_test_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_dom_string_test_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_enumeration_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_enumeration_interface.cc
index c2e8669..3542e55 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_enumeration_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_enumeration_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_enumeration_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_enumeration_interface.h
index d73065e..8fd9d36 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_enumeration_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_enumeration_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_exception_object_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_exception_object_interface.cc
index 996888b..a8d8540 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_exception_object_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_exception_object_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_exception_object_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_exception_object_interface.h
index 1339aa9..ff8a4f8 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_exception_object_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_exception_object_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_exceptions_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_exceptions_interface.cc
index 889822e..e5125d3 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_exceptions_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_exceptions_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_exceptions_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_exceptions_interface.h
index 6bc6d67..6996594 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_exceptions_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_exceptions_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_extended_idl_attributes_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_extended_idl_attributes_interface.cc
index 70762e2..48697f1 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_extended_idl_attributes_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_extended_idl_attributes_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_extended_idl_attributes_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_extended_idl_attributes_interface.h
index 6602dbf..fd4fd55 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_extended_idl_attributes_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_extended_idl_attributes_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_garbage_collection_test_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_garbage_collection_test_interface.cc
index 2119709..c63d041 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_garbage_collection_test_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_garbage_collection_test_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_garbage_collection_test_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_garbage_collection_test_interface.h
index 1ff4c8e..d084c53 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_garbage_collection_test_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_garbage_collection_test_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_global_interface_parent.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_global_interface_parent.cc
index 2692728..dff0c84 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_global_interface_parent.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_global_interface_parent.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_global_interface_parent.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_global_interface_parent.h
index 5ac5a63..a413347 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_global_interface_parent.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_global_interface_parent.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_indexed_getter_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_indexed_getter_interface.cc
index 6c0a8af..7e698f2 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_indexed_getter_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_indexed_getter_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_indexed_getter_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_indexed_getter_interface.h
index 19c69bd..51d56b2 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_indexed_getter_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_indexed_getter_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_any.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_any.cc
index 9815598..48a1d90 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_any.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_any.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_any.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_any.h
index 7a0d778..69e81d5 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_any.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_any.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_any_dictionary.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_any_dictionary.cc
index caee69f..cc777e4 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_any_dictionary.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_any_dictionary.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_any_dictionary.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_any_dictionary.h
index b733499..4b35b58 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_any_dictionary.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_any_dictionary.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_date.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_date.cc
index 2d0756e..538aebf 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_date.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_date.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_date.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_date.h
index b349e28..ccbce56 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_date.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_date.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_unsupported_properties.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_unsupported_properties.cc
index 6f2c401..5ef3e17 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_unsupported_properties.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_unsupported_properties.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_unsupported_properties.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_unsupported_properties.h
index 05c4040..fbf7295 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_unsupported_properties.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_interface_with_unsupported_properties.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_named_constructor_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_named_constructor_interface.cc
index 8889530..2ac0763 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_named_constructor_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_named_constructor_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_named_constructor_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_named_constructor_interface.h
index a654d92..2b435c0 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_named_constructor_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_named_constructor_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_named_getter_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_named_getter_interface.cc
index dfdc772..520508d 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_named_getter_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_named_getter_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_named_getter_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_named_getter_interface.h
index 6a01065..4dfd2c7 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_named_getter_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_named_getter_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_named_indexed_getter_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_named_indexed_getter_interface.cc
index 68d9eb3..3b5a5b1 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_named_indexed_getter_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_named_indexed_getter_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_named_indexed_getter_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_named_indexed_getter_interface.h
index 83e9df6..51ae778 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_named_indexed_getter_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_named_indexed_getter_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_nested_put_forwards_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_nested_put_forwards_interface.cc
index 0d1fc79..ab6e99c 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_nested_put_forwards_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_nested_put_forwards_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_nested_put_forwards_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_nested_put_forwards_interface.h
index 82f8616..30f3356 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_nested_put_forwards_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_nested_put_forwards_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_no_constructor_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_no_constructor_interface.cc
index 32869a1..788a7ab 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_no_constructor_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_no_constructor_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_no_constructor_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_no_constructor_interface.h
index b734dad..41b7a04 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_no_constructor_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_no_constructor_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_no_interface_object_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_no_interface_object_interface.cc
index d105c81..e18f1c4 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_no_interface_object_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_no_interface_object_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_no_interface_object_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_no_interface_object_interface.h
index 162681a..ae52b67 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_no_interface_object_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_no_interface_object_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_nullable_types_test_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_nullable_types_test_interface.cc
index 07ec89c..ee2eef4 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_nullable_types_test_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_nullable_types_test_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_nullable_types_test_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_nullable_types_test_interface.h
index 05c2a0e..d51ce9e 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_nullable_types_test_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_nullable_types_test_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_numeric_types_test_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_numeric_types_test_interface.cc
index ac35ce5..8e6fdb7 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_numeric_types_test_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_numeric_types_test_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_numeric_types_test_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_numeric_types_test_interface.h
index c12d014..28c9824 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_numeric_types_test_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_numeric_types_test_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_object_type_bindings_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_object_type_bindings_interface.cc
index 6542141..1295813 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_object_type_bindings_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_object_type_bindings_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_object_type_bindings_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_object_type_bindings_interface.h
index 68527cd..5c0aace 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_object_type_bindings_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_object_type_bindings_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_operations_test_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_operations_test_interface.cc
index f80ed45..9d89426 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_operations_test_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_operations_test_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_operations_test_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_operations_test_interface.h
index f5c8bca..aa1a31a 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_operations_test_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_operations_test_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_promise_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_promise_interface.cc
index e8f7ad5..71e955f 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_promise_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_promise_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_promise_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_promise_interface.h
index 3867345..efa55ea 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_promise_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_promise_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_put_forwards_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_put_forwards_interface.cc
index b9a59f0..4d321ab 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_put_forwards_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_put_forwards_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_put_forwards_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_put_forwards_interface.h
index 811f9e5..6d27b26 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_put_forwards_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_put_forwards_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_sequence_user.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_sequence_user.cc
index 798d426..77b171a 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_sequence_user.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_sequence_user.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_sequence_user.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_sequence_user.h
index d7c543f..cec7cd6 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_sequence_user.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_sequence_user.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_single_operation_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_single_operation_interface.cc
index af03135..5cb91ed 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_single_operation_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_single_operation_interface.cc
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_single_operation_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_single_operation_interface.h
index 6563270..80911ef 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_single_operation_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_single_operation_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_static_properties_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_static_properties_interface.cc
index fa44b28..79beed9 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_static_properties_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_static_properties_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_static_properties_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_static_properties_interface.h
index 0bc2dbb..354bd4e 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_static_properties_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_static_properties_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_stringifier_anonymous_operation_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_stringifier_anonymous_operation_interface.cc
index ead2354..a35969c 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_stringifier_anonymous_operation_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_stringifier_anonymous_operation_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_stringifier_anonymous_operation_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_stringifier_anonymous_operation_interface.h
index 67b5026..0c85a11 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_stringifier_anonymous_operation_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_stringifier_anonymous_operation_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_stringifier_attribute_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_stringifier_attribute_interface.cc
index 38eb8b3..d0bbdc0 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_stringifier_attribute_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_stringifier_attribute_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_stringifier_attribute_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_stringifier_attribute_interface.h
index 03490de..7e70c7a 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_stringifier_attribute_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_stringifier_attribute_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_stringifier_operation_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_stringifier_operation_interface.cc
index 71766c1..2cfb54c 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_stringifier_operation_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_stringifier_operation_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_stringifier_operation_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_stringifier_operation_interface.h
index 386095c..c68f2e0 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_stringifier_operation_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_stringifier_operation_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_target_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_target_interface.cc
index d98c088..9774c9c 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_target_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_target_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_target_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_target_interface.h
index 9827702..9344488 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_target_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_target_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_test_dictionary.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_test_dictionary.cc
index dfabc42..8d035ae 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_test_dictionary.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_test_dictionary.cc
@@ -1,4 +1,4 @@
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_test_enum.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_test_enum.cc
index 54840fc..76c2835 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_test_enum.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_test_enum.cc
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_union_types_interface.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_union_types_interface.cc
index 7ee0d0e..a98e132 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_union_types_interface.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_union_types_interface.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -30,6 +30,8 @@
 #include "cobalt/script/value_handle.h"
 #include "cobalt/bindings/testing/arbitrary_interface.h"
 #include "cobalt/bindings/testing/base_interface.h"
+#include "cobalt/bindings/testing/derived_dictionary.h"
+#include "cobalt/bindings/testing/test_dictionary.h"
 #include "cobalt/bindings/testing/v8c_arbitrary_interface.h"
 #include "cobalt/bindings/testing/v8c_base_interface.h"
 
@@ -63,6 +65,8 @@
 using cobalt::bindings::testing::V8cUnionTypesInterface;
 using cobalt::bindings::testing::ArbitraryInterface;
 using cobalt::bindings::testing::BaseInterface;
+using cobalt::bindings::testing::DerivedDictionary;
+using cobalt::bindings::testing::TestDictionary;
 using cobalt::bindings::testing::V8cArbitraryInterface;
 using cobalt::bindings::testing::V8cBaseInterface;
 using cobalt::script::CallbackInterfaceTraits;
@@ -281,6 +285,88 @@
 }
 
 
+void unionWithDictionaryPropertyAttributeGetter(
+    const v8::FunctionCallbackInfo<v8::Value>& info) {
+  script::v8c::shared_bindings::AttributeGetterImpl<UnionTypesInterface,
+                                                    V8cUnionTypesInterface>(
+                    info,
+                    false,
+                    false,
+                    [](v8::Isolate* isolate, UnionTypesInterface* impl,
+                       cobalt::script::ExceptionState& exception_state,
+                       v8::Local<v8::Value>& result_value) {
+  
+      ToJSValue(isolate,
+              impl->union_with_dictionary_property(),
+              &result_value);
+
+  });
+}
+
+void unionWithDictionaryPropertyAttributeSetter(
+    const v8::FunctionCallbackInfo<v8::Value>& info) {
+  script::v8c::shared_bindings::AttributeSetterImpl<UnionTypesInterface, V8cUnionTypesInterface>(info,
+                    false,
+                    false,
+                    [](v8::Isolate* isolate, UnionTypesInterface* impl,
+                       V8cExceptionState& exception_state,
+                       v8::Local<v8::Value>& result_value,
+                       v8::Local<v8::Value> v8_value) {
+  TypeTraits<::cobalt::script::UnionType3<std::string, double, TestDictionary > >::ConversionType value;
+  FromJSValue(isolate, v8_value, kNoConversionFlags, &exception_state,
+              &value);
+  if (exception_state.is_exception_set()) {
+    return;
+  }
+
+  impl->set_union_with_dictionary_property(value);
+result_value = v8::Undefined(isolate);
+  return;
+});
+}
+
+
+void unionDictsObjectsPropertyAttributeGetter(
+    const v8::FunctionCallbackInfo<v8::Value>& info) {
+  script::v8c::shared_bindings::AttributeGetterImpl<UnionTypesInterface,
+                                                    V8cUnionTypesInterface>(
+                    info,
+                    false,
+                    false,
+                    [](v8::Isolate* isolate, UnionTypesInterface* impl,
+                       cobalt::script::ExceptionState& exception_state,
+                       v8::Local<v8::Value>& result_value) {
+  
+      ToJSValue(isolate,
+              impl->union_dicts_objects_property(),
+              &result_value);
+
+  });
+}
+
+void unionDictsObjectsPropertyAttributeSetter(
+    const v8::FunctionCallbackInfo<v8::Value>& info) {
+  script::v8c::shared_bindings::AttributeSetterImpl<UnionTypesInterface, V8cUnionTypesInterface>(info,
+                    false,
+                    false,
+                    [](v8::Isolate* isolate, UnionTypesInterface* impl,
+                       V8cExceptionState& exception_state,
+                       v8::Local<v8::Value>& result_value,
+                       v8::Local<v8::Value> v8_value) {
+  TypeTraits<::cobalt::script::UnionType2<DerivedDictionary, scoped_refptr<ArbitraryInterface> > >::ConversionType value;
+  FromJSValue(isolate, v8_value, kNoConversionFlags, &exception_state,
+              &value);
+  if (exception_state.is_exception_set()) {
+    return;
+  }
+
+  impl->set_union_dicts_objects_property(value);
+result_value = v8::Undefined(isolate);
+  return;
+});
+}
+
+
 
 void InitializeTemplate(v8::Isolate* isolate) {
   // https://heycam.github.io/webidl/#interface-object
@@ -419,6 +505,48 @@
                   );
 
   }
+  {
+
+    script::v8c::shared_bindings::set_property_for_nonconstructor_attribute(
+                  isolate,
+    // The property has attributes { [[Get]]: G, [[Set]]: S, [[Enumerable]]:
+    // true, [[Configurable]]: configurable }, where: configurable is false if
+    // the attribute was declared with the [Unforgeable] extended attribute and
+    // true otherwise;
+                  true,
+                  true,
+                  false,
+                  false,
+                  function_template,
+                  instance_template,
+                  prototype_template,
+                  "unionWithDictionaryProperty"
+                  ,unionWithDictionaryPropertyAttributeGetter
+                  ,unionWithDictionaryPropertyAttributeSetter
+                  );
+
+  }
+  {
+
+    script::v8c::shared_bindings::set_property_for_nonconstructor_attribute(
+                  isolate,
+    // The property has attributes { [[Get]]: G, [[Set]]: S, [[Enumerable]]:
+    // true, [[Configurable]]: configurable }, where: configurable is false if
+    // the attribute was declared with the [Unforgeable] extended attribute and
+    // true otherwise;
+                  true,
+                  true,
+                  false,
+                  false,
+                  function_template,
+                  instance_template,
+                  prototype_template,
+                  "unionDictsObjectsProperty"
+                  ,unionDictsObjectsPropertyAttributeGetter
+                  ,unionDictsObjectsPropertyAttributeSetter
+                  );
+
+  }
 
   // https://heycam.github.io/webidl/#es-operations
   // 3.6.8. Operations
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_union_types_interface.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_union_types_interface.h
index 9f964bd..a081a0d 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_union_types_interface.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_union_types_interface.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_window.cc b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_window.cc
index f21dc3a..feb2cd0 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_window.cc
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_window.cc
@@ -1,6 +1,6 @@
 
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_window.h b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_window.h
index a03b0e4..5e32fce 100644
--- a/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_window.h
+++ b/src/cobalt/bindings/generated/v8c/testing/cobalt/bindings/testing/v8c_window.h
@@ -1,5 +1,5 @@
 
-// Copyright 2019 The Cobalt Authors. All Rights Reserved.
+// Copyright 2020 The Cobalt Authors. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/cobalt/bindings/shared/idl_conditional_macros.h b/src/cobalt/bindings/shared/idl_conditional_macros.h
index a20612b..a66119b 100644
--- a/src/cobalt/bindings/shared/idl_conditional_macros.h
+++ b/src/cobalt/bindings/shared/idl_conditional_macros.h
@@ -23,12 +23,11 @@
 // Conditionals that are dependent on Starboard feature macros that get defined
 // in header files.
 
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
 // This is used to conditionally define the On Screen Keyboard interface and
 // attribute.
 #define COBALT_ENABLE_ON_SCREEN_KEYBOARD
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
 
 #if SB_API_VERSION >= 11
diff --git a/src/cobalt/bindings/templates/dictionary.h.template b/src/cobalt/bindings/templates/dictionary.h.template
index d94b588..f03856c 100644
--- a/src/cobalt/bindings/templates/dictionary.h.template
+++ b/src/cobalt/bindings/templates/dictionary.h.template
@@ -201,7 +201,6 @@
 // in idl test code
 inline std::ostream& operator<<(
     std::ostream& stream, const {{components|join('::')}}::{{class_name}}& in) {
-  SB_UNREFERENCED_PARAMETER(in);
   stream << "[{{class_name}}]";
   return stream;
 }
diff --git a/src/cobalt/bindings/testing/bindings_sandbox_main.cc b/src/cobalt/bindings/testing/bindings_sandbox_main.cc
index b10bfac..ec46c54 100644
--- a/src/cobalt/bindings/testing/bindings_sandbox_main.cc
+++ b/src/cobalt/bindings/testing/bindings_sandbox_main.cc
@@ -27,7 +27,7 @@
 
 cobalt::script::StandaloneJavascriptRunner* g_javascript_runner = NULL;
 
-void StartApplication(int argc, char** argv, const char* /*link */,
+void StartApplication(int argc, char** argv, const char* link,
                       const base::Closure& quit_closure) {
   scoped_refptr<Window> test_window = new Window();
   cobalt::script::JavaScriptEngine::Options javascript_engine_options;
diff --git a/src/cobalt/bindings/testing/conditional_interface.h b/src/cobalt/bindings/testing/conditional_interface.h
index a874fdb..e4ceeec 100644
--- a/src/cobalt/bindings/testing/conditional_interface.h
+++ b/src/cobalt/bindings/testing/conditional_interface.h
@@ -29,13 +29,13 @@
 #if defined(ENABLE_CONDITIONAL_PROPERTY)
   void EnabledOperation() {}
   int32 enabled_attribute() { return 0; }
-  void set_enabled_attribute(int32 /* value */) {}
+  void set_enabled_attribute(int32 value) {}
 #endif  // defined(ENABLE_CONDITIONAL_PROPERTY)
 
 #if defined(NO_ENABLE_CONDITIONAL_PROPERTY)
   void DisabledOperation() {}
   int32 disabled_attribute() { return 0; }
-  void set_disabled_attribute(int32 /* value */) {}
+  void set_disabled_attribute(int32 value) {}
 #endif  // defined(NO_ENABLE_CONDITIONAL_PROPERTY)
 
   DEFINE_WRAPPABLE_TYPE(ConditionalInterface);
diff --git a/src/cobalt/bindings/testing/dictionary_interface.h b/src/cobalt/bindings/testing/dictionary_interface.h
index 8569c9b..1faf44e 100644
--- a/src/cobalt/bindings/testing/dictionary_interface.h
+++ b/src/cobalt/bindings/testing/dictionary_interface.h
@@ -39,7 +39,7 @@
   MOCK_METHOD1(set_dictionary_sequence,
                void(script::Sequence<TestDictionary> test_dictionary));
 
-  void TestOperation(DictionaryWithDictionaryMember /* dict */) {}
+  void TestOperation(DictionaryWithDictionaryMember dict) {}
 
   DEFINE_WRAPPABLE_TYPE(DictionaryInterface);
 };
diff --git a/src/cobalt/bindings/testing/enumeration_interface.h b/src/cobalt/bindings/testing/enumeration_interface.h
index 38a0bd7..dfab2b5 100644
--- a/src/cobalt/bindings/testing/enumeration_interface.h
+++ b/src/cobalt/bindings/testing/enumeration_interface.h
@@ -28,7 +28,7 @@
   MOCK_METHOD0(enum_property, TestEnum());
   MOCK_METHOD1(set_enum_property, void(TestEnum));
 
-  void OptionalEnumWithDefault(TestEnum /* value */) {}
+  void OptionalEnumWithDefault(TestEnum value) {}
 
   DEFINE_WRAPPABLE_TYPE(EnumerationInterface);
 };
diff --git a/src/cobalt/bindings/testing/promise_test.cc b/src/cobalt/bindings/testing/promise_test.cc
index a472bcb..c5c7943 100644
--- a/src/cobalt/bindings/testing/promise_test.cc
+++ b/src/cobalt/bindings/testing/promise_test.cc
@@ -41,7 +41,7 @@
 // Simple implementation of window.setTimeout. window.setTimeout is needed for
 // the Promise polyfill used in SpiderMonkey 24.
 int32_t SetTimeoutFunction(const Window::TimerCallbackArg& timer_callback,
-                           int32_t /* timeout */) {
+                           int32_t timeout) {
   // Just execute immediately. This is sufficient for the tests below.
   Handle<Window::TimerCallback> handle(timer_callback);
   handle->Run();
diff --git a/src/cobalt/black_box_tests/testdata/conceal_visibility.html b/src/cobalt/black_box_tests/testdata/conceal_visibility.html
new file mode 100644
index 0000000..614fcee
--- /dev/null
+++ b/src/cobalt/black_box_tests/testdata/conceal_visibility.html
@@ -0,0 +1,77 @@
+<!DOCTYPE html>
+
+<head>
+  <title>Cobalt conceal state visibility test</title>
+  <script src='black_box_js_test_utils.js'></script>
+</head>
+
+<body>
+  <h1>
+    <span>ID element</span>
+  </h1>
+  <script>
+    // In started mode, visibility should be "visible" and window/document
+    // should have focus.
+    assertEqual("visible", document.visibilityState);
+    assertTrue(document.hasFocus());
+
+    let concealStateVerified = false;
+    // Success callback for verifying visibility and focus in conceal.
+    function intoConcealCallback() {
+      concealStateVerified = true;
+    }
+
+    // Success callback for verifying visibility and focus after conceal in
+    // started.
+    function outOfConcealCallback() {
+      if (concealStateVerified){
+        onEndTest();
+      } else {
+        // By now, it is in Started state and Conceal state behavior
+        // verification will never succeed.
+        notReached();
+      }
+    }
+
+    function verifyVisibilityAndFocusInterval(shouldBeVisible, shouldHaveFocus) {
+      visibility_str = shouldBeVisible ? "visible" : "hidden";
+      if (document.hasFocus() === shouldHaveFocus && document.visibilityState === visibility_str) {
+        return true;
+      }
+    }
+
+    // Post periodic timer to check desired visibility and focus settings.
+    function verifyVisibilityAndFocus(shouldBeVisible, shouldHaveFocus, successCallback) {
+      if (verifyVisibilityAndFocusInterval(shouldBeVisible, shouldHaveFocus)) {
+        successCallback();
+        return true;
+      }
+      time_elapsed = 0;
+      set_interval_id = setInterval(() => {
+        if (verifyVisibilityAndFocusInterval(shouldBeVisible, shouldHaveFocus)){
+          successCallback()
+          clearInterval(set_interval_id);
+        }else {
+          if (time_elapsed > EFFECT_AFTER_VISIBILITY_CHANGE_TIMEOUT_SECONDS){
+            console.log("Waiting for visibilityState and focus change timed out")
+            notReached();
+          }
+          time_elapsed += 0.1;
+        }
+      }, 50);
+    }
+
+    // Wait for visibility change to verify visibilityState and focus status.
+    let visibilityChangeCalledBefore = false;
+    function handleVisibilityChange() {
+      if (!visibilityChangeCalledBefore) {
+        verifyVisibilityAndFocus(false, false, intoConcealCallback);
+        visibilityChangeCalledBefore = true;
+      } else {
+        verifyVisibilityAndFocus(true, true, outOfConcealCallback);
+      }
+    }
+    document.addEventListener("visibilitychange", handleVisibilityChange);
+    setupFinished();
+  </script>
+</body>
diff --git a/src/cobalt/black_box_tests/testdata/fire_deep_link_before_load.html b/src/cobalt/black_box_tests/testdata/fire_deep_link_before_load.html
index 6be8649..3292d7e 100644
--- a/src/cobalt/black_box_tests/testdata/fire_deep_link_before_load.html
+++ b/src/cobalt/black_box_tests/testdata/fire_deep_link_before_load.html
@@ -1,7 +1,8 @@
 <HTML>
   <HEAD></HEAD>
   <BODY>
-    <script src='black_box_js_test_utils.js'></script>
-    <script src='fire_deep_link_before_load.js'></script>
+    <!-- async required for Android, which needs to suspend to send the deeplink -->
+    <script async src='black_box_js_test_utils.js'></script>
+    <script async src='fire_deep_link_before_load.js'></script>
   </BODY>
 </HTML>
diff --git a/src/cobalt/black_box_tests/testdata/freeze_visibility.html b/src/cobalt/black_box_tests/testdata/freeze_visibility.html
new file mode 100644
index 0000000..0fc3ba5
--- /dev/null
+++ b/src/cobalt/black_box_tests/testdata/freeze_visibility.html
@@ -0,0 +1,77 @@
+<!DOCTYPE html>
+
+<head>
+  <title>Cobalt freeze state visibility test</title>
+  <script src='black_box_js_test_utils.js'></script>
+</head>
+
+<body>
+  <h1>
+    <span>ID element</span>
+  </h1>
+  <script>
+    // In started mode, visibility should be "visible" and window/document
+    // should have focus.
+    assertEqual("visible", document.visibilityState);
+    assertTrue(document.hasFocus());
+
+    let freezeStateVerified = false;
+    // Success callback for verifying visibility and focus in freeze.
+    function intoFreezeCallback() {
+      freezeStateVerified = true;
+    }
+
+    // Success callback for verifying visibility and focus after freeze in
+    // started.
+    function outOfFreezeCallback() {
+      if (freezeStateVerified){
+        onEndTest();
+      } else {
+        // By now, it is in Started state and Freeze state behavior
+        // verification will never succeed.
+        notReached();
+      }
+    }
+
+    function verifyVisibilityAndFocusInterval(shouldBeVisible, shouldHaveFocus) {
+      visibility_str = shouldBeVisible ? "visible" : "hidden";
+      if (document.hasFocus() === shouldHaveFocus && document.visibilityState === visibility_str) {
+        return true;
+      }
+    }
+
+    // Post periodic timer to check desired visibility and focus settings.
+    function verifyVisibilityAndFocus(shouldBeVisible, shouldHaveFocus, successCallback) {
+      if (verifyVisibilityAndFocusInterval(shouldBeVisible, shouldHaveFocus)) {
+        successCallback();
+        return true;
+      }
+      time_elapsed = 0;
+      set_interval_id = setInterval(() => {
+        if (verifyVisibilityAndFocusInterval(shouldBeVisible, shouldHaveFocus)){
+          successCallback()
+          clearInterval(set_interval_id);
+        }else {
+          if (time_elapsed > EFFECT_AFTER_VISIBILITY_CHANGE_TIMEOUT_SECONDS){
+            console.log("Waiting for visibilityState and focus change timed out")
+            notReached();
+          }
+          time_elapsed += 0.1;
+        }
+      }, 50);
+    }
+
+    // Wait for visibility change to verify visibilityState and focus status.
+    let visibilityChangeCalledBefore = false;
+    function handleVisibilityChange() {
+      if (!visibilityChangeCalledBefore) {
+        verifyVisibilityAndFocus(false, false, intoFreezeCallback);
+        visibilityChangeCalledBefore = true;
+      } else {
+        verifyVisibilityAndFocus(true, true, outOfFreezeCallback);
+      }
+    }
+    document.addEventListener("visibilitychange", handleVisibilityChange);
+    setupFinished();
+  </script>
+</body>
diff --git a/src/cobalt/black_box_tests/tests/conceal_visibility.py b/src/cobalt/black_box_tests/tests/conceal_visibility.py
new file mode 100644
index 0000000..bc9a4cc
--- /dev/null
+++ b/src/cobalt/black_box_tests/tests/conceal_visibility.py
@@ -0,0 +1,37 @@
+# Copyright 2020 The Cobalt Authors. All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
+import _env  # pylint: disable=unused-import
+
+from cobalt.black_box_tests import black_box_tests
+from cobalt.black_box_tests.threaded_web_server import ThreadedWebServer
+
+
+class ConcealVisibilityTest(black_box_tests.BlackBoxTestCase):
+  """Verify correct visibility changes during and after conceal event."""
+
+  def test_simple(self):
+
+    with ThreadedWebServer(binding_address=self.GetBindingAddress()) as server:
+      url = server.GetURL(file_name='testdata/conceal_visibility.html')
+
+      with self.CreateCobaltRunner(url=url) as runner:
+        runner.WaitForJSTestsSetup()
+        runner.SendConceal()
+        runner.SendFocus()
+        self.assertTrue(runner.JSTestsSucceeded())
diff --git a/src/cobalt/black_box_tests/tests/fire_deep_link_before_load.py b/src/cobalt/black_box_tests/tests/fire_deep_link_before_load.py
index 1a3daba..bce2852 100644
--- a/src/cobalt/black_box_tests/tests/fire_deep_link_before_load.py
+++ b/src/cobalt/black_box_tests/tests/fire_deep_link_before_load.py
@@ -26,7 +26,7 @@
 #   2. Start Cobalt, and point it to the socket created in Step 1.
 #   3. Send 3 deep links.
 #   4. Load & run the javascript resource.
-#   5. Check to see if JSTestsSucceeded().
+#   5. Check to see if JSTestsSucceeded(), receiving only the last deep link.
 
 from __future__ import absolute_import
 from __future__ import division
@@ -35,15 +35,16 @@
 import _env  # pylint: disable=unused-import,g-bad-import-order
 
 import os
-import SimpleHTTPServer
 import threading
 import traceback
-import urlparse
 
 from cobalt.black_box_tests import black_box_tests
 from cobalt.black_box_tests.threaded_web_server import MakeRequestHandlerClass
 from cobalt.black_box_tests.threaded_web_server import ThreadedWebServer
 
+import SimpleHTTPServer
+import urlparse
+
 _FIRE_DEEP_LINK_BEFORE_LOAD_HTML = 'fire_deep_link_before_load.html'
 _FIRE_DEEP_LINK_BEFORE_LOAD_JS = 'fire_deep_link_before_load.js'
 _MAX_ALLOTTED_TIME_SECONDS = 60
@@ -83,7 +84,8 @@
     except:  # pylint: disable=bare-except
       traceback.print_exc()
 
-  def test_simple(self):
+  def test_send_link(self):
+    """Test sending links into Cobalt after it's started."""
 
     # Step 2. Start Cobalt, and point it to the socket created in Step 1.
     try:
@@ -101,7 +103,7 @@
           for i in range(1, 4):
             link = 'link ' + str(i)
             print('Sending link : ' + link)
-            self.assertTrue(runner.SendDeepLink(link) == 0)
+            self.assertTrue(runner.SendDeepLink(link))
           print('Links fired.')
           # Step 4. Load & run the javascript resource.
           _links_fired.set()
@@ -117,3 +119,15 @@
     finally:
       print('Cleaning up.')
       _links_fired.set()
+
+  def test_start_link(self):
+    """Test the initial link provided when starting Cobalt."""
+
+    with ThreadedWebServer(binding_address=self.GetBindingAddress()) as server:
+      url = server.GetURL(file_name='testdata/' +
+                          _FIRE_DEEP_LINK_BEFORE_LOAD_HTML)
+      initial_deep_link = 'link 3'  # Expected by our test JS
+
+      with self.CreateCobaltRunner(
+          url=url, target_params=['--link=' + initial_deep_link]) as runner:
+        self.assertTrue(runner.JSTestsSucceeded())
diff --git a/src/cobalt/black_box_tests/tests/freeze_visibility.py b/src/cobalt/black_box_tests/tests/freeze_visibility.py
new file mode 100644
index 0000000..678264b
--- /dev/null
+++ b/src/cobalt/black_box_tests/tests/freeze_visibility.py
@@ -0,0 +1,37 @@
+# Copyright 2020 The Cobalt Authors. All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
+import _env  # pylint: disable=unused-import
+
+from cobalt.black_box_tests import black_box_tests
+from cobalt.black_box_tests.threaded_web_server import ThreadedWebServer
+
+
+class FreezeVisibilityTest(black_box_tests.BlackBoxTestCase):
+  """Verify correct visibility changes during and after freeze event."""
+
+  def test_simple(self):
+
+    with ThreadedWebServer(binding_address=self.GetBindingAddress()) as server:
+      url = server.GetURL(file_name='testdata/freeze_visibility.html')
+
+      with self.CreateCobaltRunner(url=url) as runner:
+        runner.WaitForJSTestsSetup()
+        runner.SendFreeze()
+        runner.SendFocus()
+        self.assertTrue(runner.JSTestsSucceeded())
diff --git a/src/cobalt/browser/application.cc b/src/cobalt/browser/application.cc
index f4a248e..ecd4985 100644
--- a/src/cobalt/browser/application.cc
+++ b/src/cobalt/browser/application.cc
@@ -94,7 +94,7 @@
 #if defined(ENABLE_WEBDRIVER) || defined(ENABLE_DEBUGGER)
 std::string GetDevServersListenIp() {
   bool ip_v6;
-#if SB_API_VERSION >= SB_IPV6_REQUIRED_VERSION
+#if SB_API_VERSION >= 12
   ip_v6 = SbSocketIsIpv6Supported();
 #elif SB_HAS(IPV6)
   ip_v6 = true;
@@ -540,13 +540,15 @@
   base::Optional<cssom::ViewportSize> requested_viewport_size =
       GetRequestedViewportSize(command_line);
 
+  early_deep_link_ = GetInitialDeepLink();
+  DLOG(INFO) << "Initial deep link: " << early_deep_link_;
+
   WebModule::Options web_options;
   storage::StorageManager::Options storage_manager_options;
   network::NetworkModule::Options network_module_options;
   // Create the main components of our browser.
   BrowserModule::Options options(web_options);
   options.web_module_options.name = "MainWebModule";
-  options.initial_deep_link = GetInitialDeepLink();
   network_module_options.preferred_language = language;
   options.command_line_auto_mem_settings =
       memory_settings::GetSettings(*command_line);
@@ -577,12 +579,11 @@
     storage_manager_options.savegame_options.factory =
         &storage::SavegameFake::Create;
   }
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
   if (command_line->HasSwitch(browser::switches::kDisableOnScreenKeyboard)) {
     options.enable_on_screen_keyboard = false;
   }
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
 
 #endif  // defined(ENABLE_DEBUG_COMMAND_LINE_SWITCHES)
@@ -731,21 +732,21 @@
 
   UpdateUserAgent();
 
+#if SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION || \
+    SB_HAS(CONCEALED_STATE)
+  app_status_ = (should_preload ? kConcealedAppStatus : kRunningAppStatus);
+#else
   app_status_ = (should_preload ? kPreloadingAppStatus : kRunningAppStatus);
-
+#endif  // SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION ||
+        // SB_HAS(CONCEALED_STATE)
   // Register event callbacks.
-  deep_link_event_callback_ =
-      base::Bind(&Application::OnDeepLinkEvent, base::Unretained(this));
-  event_dispatcher_.AddEventCallback(base::DeepLinkEvent::TypeId(),
-                                     deep_link_event_callback_);
 #if SB_API_VERSION >= 8
   window_size_change_event_callback_ = base::Bind(
       &Application::OnWindowSizeChangedEvent, base::Unretained(this));
   event_dispatcher_.AddEventCallback(base::WindowSizeChangedEvent::TypeId(),
                                      window_size_change_event_callback_);
 #endif  // SB_API_VERSION >= 8
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
   on_screen_keyboard_shown_event_callback_ = base::Bind(
       &Application::OnOnScreenKeyboardShownEvent, base::Unretained(this));
   event_dispatcher_.AddEventCallback(base::OnScreenKeyboardShownEvent::TypeId(),
@@ -773,16 +774,16 @@
       base::OnScreenKeyboardSuggestionsUpdatedEvent::TypeId(),
       on_screen_keyboard_suggestions_updated_event_callback_);
 #endif  // SB_API_VERSION >= 11
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
 
-#if SB_API_VERSION >= SB_CAPTIONS_REQUIRED_VERSION || SB_HAS(CAPTIONS)
+#if SB_API_VERSION >= 12 || SB_HAS(CAPTIONS)
   on_caption_settings_changed_event_callback_ = base::Bind(
       &Application::OnCaptionSettingsChangedEvent, base::Unretained(this));
   event_dispatcher_.AddEventCallback(
       base::AccessibilityCaptionSettingsChangedEvent::TypeId(),
       on_caption_settings_changed_event_callback_);
-#endif  // SB_API_VERSION >= SB_CAPTIONS_REQUIRED_VERSION || SB_HAS(CAPTIONS)
+#endif  // SB_API_VERSION >= 12 || SB_HAS(CAPTIONS)
 #if defined(ENABLE_WEBDRIVER)
 #if defined(ENABLE_DEBUG_COMMAND_LINE_SWITCHES)
   bool create_webdriver_module =
@@ -842,14 +843,11 @@
 #endif  // defined(ENABLE_DEBUGGER) && defined(STARBOARD_ALLOWS_MEMORY_TRACKING)
 
   // Unregister event callbacks.
-  event_dispatcher_.RemoveEventCallback(base::DeepLinkEvent::TypeId(),
-                                        deep_link_event_callback_);
 #if SB_API_VERSION >= 8
   event_dispatcher_.RemoveEventCallback(base::WindowSizeChangedEvent::TypeId(),
                                         window_size_change_event_callback_);
 #endif  // SB_API_VERSION >= 8
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
   event_dispatcher_.RemoveEventCallback(
       base::OnScreenKeyboardShownEvent::TypeId(),
       on_screen_keyboard_shown_event_callback_);
@@ -867,13 +865,13 @@
       base::OnScreenKeyboardSuggestionsUpdatedEvent::TypeId(),
       on_screen_keyboard_suggestions_updated_event_callback_);
 #endif  // SB_API_VERSION >= 11
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
-#if SB_API_VERSION >= SB_CAPTIONS_REQUIRED_VERSION || SB_HAS(CAPTIONS)
+#if SB_API_VERSION >= 12 || SB_HAS(CAPTIONS)
   event_dispatcher_.RemoveEventCallback(
       base::AccessibilityCaptionSettingsChangedEvent::TypeId(),
       on_caption_settings_changed_event_callback_);
-#endif  // SB_API_VERSION >= SB_CAPTIONS_REQUIRED_VERSION || SB_HAS(CAPTIONS)
+#endif  // SB_API_VERSION >= 12 || SB_HAS(CAPTIONS)
 
   app_status_ = kShutDownAppStatus;
 }
@@ -885,10 +883,14 @@
     return;
   }
 
+#if SB_API_VERSION < SB_ADD_CONCEALED_STATE_SUPPORT_VERSION && \
+    !SB_HAS(CONCEALED_STATE)
   if (app_status_ != kPreloadingAppStatus) {
     NOTREACHED() << __FUNCTION__ << ": Redundant call.";
     return;
   }
+#endif  // SB_API_VERSION < SB_ADD_CONCEALED_STATE_SUPPORT_VERSION &&
+        // !SB_HAS(CONCEALED_STATE)
 
   OnApplicationEvent(kSbEventTypeStart);
 }
@@ -916,6 +918,18 @@
 
   // Create a Cobalt event from the Starboard event, if recognized.
   switch (starboard_event->type) {
+#if SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION || \
+    SB_HAS(CONCEALED_STATE)
+    case kSbEventTypeBlur:
+    case kSbEventTypeFocus:
+    case kSbEventTypeConceal:
+    case kSbEventTypeReveal:
+    case kSbEventTypeFreeze:
+    case kSbEventTypeUnfreeze:
+    case kSbEventTypeLowMemory:
+      OnApplicationEvent(starboard_event->type);
+      break;
+#else
     case kSbEventTypePause:
     case kSbEventTypeUnpause:
     case kSbEventTypeSuspend:
@@ -923,6 +937,8 @@
     case kSbEventTypeLowMemory:
       OnApplicationEvent(starboard_event->type);
       break;
+#endif  // SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION ||
+        // SB_HAS(CONCEALED_STATE)
 #if SB_API_VERSION >= 8
     case kSbEventTypeWindowSizeChanged:
       DispatchEventInternal(new base::WindowSizeChangedEvent(
@@ -932,8 +948,7 @@
               ->size));
       break;
 #endif  // SB_API_VERSION >= 8
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
     case kSbEventTypeOnScreenKeyboardShown:
       DCHECK(starboard_event->data);
       DispatchEventInternal(new base::OnScreenKeyboardShownEvent(
@@ -958,15 +973,15 @@
           *static_cast<int*>(starboard_event->data)));
       break;
 #endif  // SB_API_VERSION >= 11
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
     case kSbEventTypeLink: {
       const char* link = static_cast<const char*>(starboard_event->data);
       if (browser_module_->IsWebModuleLoaded()) {
-        DLOG(INFO) << "Dispatching deep link " << link;
+        DLOG(INFO) << "Dispatching deep link: " << link;
         DispatchEventInternal(new base::DeepLinkEvent(link));
       } else {
-        DLOG(INFO) << "Storing deep link " << link;
+        DLOG(INFO) << "Storing deep link: " << link;
         early_deep_link_ = link;
       }
       break;
@@ -974,12 +989,12 @@
     case kSbEventTypeAccessiblitySettingsChanged:
       DispatchEventInternal(new base::AccessibilitySettingsChangedEvent());
       break;
-#if SB_API_VERSION >= SB_CAPTIONS_REQUIRED_VERSION || SB_HAS(CAPTIONS)
+#if SB_API_VERSION >= 12 || SB_HAS(CAPTIONS)
     case kSbEventTypeAccessibilityCaptionSettingsChanged:
       DispatchEventInternal(
           new base::AccessibilityCaptionSettingsChangedEvent());
       break;
-#endif  // SB_API_VERSION >= SB_CAPTIONS_REQUIRED_VERSION || SB_HAS(CAPTIONS)
+#endif  // SB_API_VERSION >= 12 || SB_HAS(CAPTIONS)
     // Explicitly list unhandled cases here so that the compiler can give a
     // warning when a value is added, but not handled.
     case kSbEventTypeInput:
@@ -1014,6 +1029,62 @@
       browser_module_->Start();
       DLOG(INFO) << "Finished starting.";
       break;
+#if SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION || \
+    SB_HAS(CONCEALED_STATE)
+    case kSbEventTypeBlur:
+      DLOG(INFO) << "Got blur event.";
+      app_status_ = kBlurredAppStatus;
+      // This is temporary that will be changed in later CLs,
+      // for mapping Starboard Concealed state support onto
+      // Cobalt without Concealed state support to be able to
+      // test the former.
+      browser_module_->Pause();
+      DLOG(INFO) << "Finished blurring.";
+      break;
+    case kSbEventTypeFocus:
+      DLOG(INFO) << "Got focus event.";
+      app_status_ = kRunningAppStatus;
+      // This is temporary that will be changed in later CLs,
+      // for mapping Starboard Concealed state support onto
+      // Cobalt without Concealed state support to be able to
+      // test the former.
+      browser_module_->Unpause();
+      DLOG(INFO) << "Finished focusing.";
+      break;
+    case kSbEventTypeConceal:
+      DLOG(INFO) << "Got conceal event.";
+      app_status_ = kConcealedAppStatus;
+      // This is temporary that will be changed in later CLs,
+      // for mapping Starboard Concealed state support onto
+      // Cobalt without Concealed state support to be able to
+      // test the former.
+      browser_module_->Suspend();
+#if SB_IS(EVERGREEN)
+      updater_module_->Suspend();
+#endif
+      DLOG(INFO) << "Finished concealing.";
+      break;
+    case kSbEventTypeReveal:
+      DCHECK(SbSystemSupportsResume());
+      DLOG(INFO) << "Got reveal event.";
+      app_status_ = kBlurredAppStatus;
+      // This is temporary that will be changed in later CLs,
+      // for mapping Starboard Concealed state support onto
+      // Cobalt without Concealed state support to be able to
+      // test the former.
+      browser_module_->Resume();
+#if SB_IS(EVERGREEN)
+      updater_module_->Resume();
+#endif
+      DLOG(INFO) << "Finished revealing.";
+      break;
+    case kSbEventTypeFreeze:
+      DLOG(INFO) << "Got freeze event, but no action was taken.";
+      break;
+    case kSbEventTypeUnfreeze:
+      DLOG(INFO) << "Got unfreeze event, but no action was taken.";
+      break;
+#else
     case kSbEventTypePause:
       DLOG(INFO) << "Got pause event.";
       app_status_ = kPausedAppStatus;
@@ -1033,6 +1104,9 @@
       app_status_ = kSuspendedAppStatus;
       ++app_suspend_count_;
       browser_module_->Suspend();
+#if SB_IS(EVERGREEN)
+      updater_module_->Suspend();
+#endif
       DLOG(INFO) << "Finished suspending.";
       break;
     case kSbEventTypeResume:
@@ -1041,8 +1115,13 @@
       app_status_ = kPausedAppStatus;
       ++app_resume_count_;
       browser_module_->Resume();
+#if SB_IS(EVERGREEN)
+      updater_module_->Resume();
+#endif
       DLOG(INFO) << "Finished resuming.";
       break;
+#endif  // SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION ||
+        // SB_HAS(CONCEALED_STATE)
     case kSbEventTypeLowMemory:
       DLOG(INFO) << "Got low memory event.";
       browser_module_->ReduceMemory();
@@ -1053,11 +1132,10 @@
 #if SB_API_VERSION >= 8
     case kSbEventTypeWindowSizeChanged:
 #endif
-#if SB_API_VERSION >= SB_CAPTIONS_REQUIRED_VERSION || SB_HAS(CAPTIONS)
+#if SB_API_VERSION >= 12 || SB_HAS(CAPTIONS)
     case kSbEventTypeAccessibilityCaptionSettingsChanged:
-#endif  // SB_API_VERSION >= SB_CAPTIONS_REQUIRED_VERSION || SB_HAS(CAPTIONS)
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#endif  // SB_API_VERSION >= 12 || SB_HAS(CAPTIONS)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
     case kSbEventTypeOnScreenKeyboardBlurred:
     case kSbEventTypeOnScreenKeyboardFocused:
     case kSbEventTypeOnScreenKeyboardHidden:
@@ -1065,7 +1143,7 @@
 #if SB_API_VERSION >= 11
     case kSbEventTypeOnScreenKeyboardSuggestionsUpdated:
 #endif  // SB_API_VERSION >= 11
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
     case kSbEventTypeAccessiblitySettingsChanged:
     case kSbEventTypeInput:
@@ -1082,16 +1160,6 @@
   }
 }
 
-void Application::OnDeepLinkEvent(const base::Event* event) {
-  TRACE_EVENT0("cobalt::browser", "Application::OnDeepLinkEvent()");
-  const base::DeepLinkEvent* deep_link_event =
-      base::polymorphic_downcast<const base::DeepLinkEvent*>(event);
-  // TODO: Remove this when terminal application states are properly handled.
-  if (deep_link_event->IsH5vccLink()) {
-    browser_module_->Navigate(GURL(deep_link_event->link()));
-  }
-}
-
 #if SB_API_VERSION >= 8
 void Application::OnWindowSizeChangedEvent(const base::Event* event) {
   TRACE_EVENT0("cobalt::browser", "Application::OnWindowSizeChangedEvent()");
@@ -1110,8 +1178,7 @@
 }
 #endif  // SB_API_VERSION >= 8
 
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
 void Application::OnOnScreenKeyboardShownEvent(const base::Event* event) {
   TRACE_EVENT0("cobalt::browser",
                "Application::OnOnScreenKeyboardShownEvent()");
@@ -1154,10 +1221,10 @@
           const base::OnScreenKeyboardSuggestionsUpdatedEvent*>(event));
 }
 #endif  // SB_API_VERSION >= 11
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
 
-#if SB_API_VERSION >= SB_CAPTIONS_REQUIRED_VERSION || SB_HAS(CAPTIONS)
+#if SB_API_VERSION >= 12 || SB_HAS(CAPTIONS)
 void Application::OnCaptionSettingsChangedEvent(const base::Event* event) {
   TRACE_EVENT0("cobalt::browser",
                "Application::OnCaptionSettingsChangedEvent()");
@@ -1165,7 +1232,7 @@
       base::polymorphic_downcast<
           const base::AccessibilityCaptionSettingsChangedEvent*>(event));
 }
-#endif  // SB_API_VERSION >= SB_CAPTIONS_REQUIRED_VERSION || SB_HAS(CAPTIONS)
+#endif  // SB_API_VERSION >= 12 || SB_HAS(CAPTIONS)
 
 void Application::WebModuleRecreated() {
   TRACE_EVENT0("cobalt::browser", "Application::WebModuleRecreated()");
@@ -1255,7 +1322,7 @@
   if (early_deep_link_.empty()) {
     return;
   }
-  DLOG(INFO) << "Dispatching early deep link " << early_deep_link_;
+  DLOG(INFO) << "Dispatching early deep link: " << early_deep_link_;
   DispatchEventInternal(new base::DeepLinkEvent(early_deep_link_.c_str()));
   early_deep_link_ = "";
 }
diff --git a/src/cobalt/browser/application.h b/src/cobalt/browser/application.h
index 423375b..afc8c34 100644
--- a/src/cobalt/browser/application.h
+++ b/src/cobalt/browser/application.h
@@ -68,16 +68,12 @@
   // Called to handle an application event.
   void OnApplicationEvent(SbEventType event_type);
 
-  // Called to handle a deep link event.
-  void OnDeepLinkEvent(const base::Event* event);
-
 #if SB_API_VERSION >= 8
   // Called to handle a window size change event.
   void OnWindowSizeChangedEvent(const base::Event* event);
 #endif  // SB_API_VERSION >= 8
 
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
   void OnOnScreenKeyboardShownEvent(const base::Event* event);
   void OnOnScreenKeyboardHiddenEvent(const base::Event* event);
   void OnOnScreenKeyboardFocusedEvent(const base::Event* event);
@@ -85,12 +81,12 @@
 #if SB_API_VERSION >= 11
   void OnOnScreenKeyboardSuggestionsUpdatedEvent(const base::Event* event);
 #endif  // SB_API_VERSION >= 11
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
 
-#if SB_API_VERSION >= SB_CAPTIONS_REQUIRED_VERSION || SB_HAS(CAPTIONS)
+#if SB_API_VERSION >= 12 || SB_HAS(CAPTIONS)
   void OnCaptionSettingsChangedEvent(const base::Event* event);
-#endif  // SB_API_VERSION >= SB_CAPTIONS_REQUIRED_VERSION || SB_HAS(CAPTIONS)
+#endif  // SB_API_VERSION >= 12 || SB_HAS(CAPTIONS)
 
   // Called when a navigation occurs in the BrowserModule.
   void WebModuleRecreated();
@@ -116,13 +112,10 @@
   std::unique_ptr<BrowserModule> browser_module_;
 
   // Event callbacks.
-  base::EventCallback network_event_callback_;
-  base::EventCallback deep_link_event_callback_;
 #if SB_API_VERSION >= 8
   base::EventCallback window_size_change_event_callback_;
 #endif  // SB_API_VERSION >= 8
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
   base::EventCallback on_screen_keyboard_shown_event_callback_;
   base::EventCallback on_screen_keyboard_hidden_event_callback_;
   base::EventCallback on_screen_keyboard_focused_event_callback_;
@@ -130,11 +123,11 @@
 #if SB_API_VERSION >= 11
   base::EventCallback on_screen_keyboard_suggestions_updated_event_callback_;
 #endif  // SB_API_VERSION >= 11
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
-#if SB_API_VERSION >= SB_CAPTIONS_REQUIRED_VERSION || SB_HAS(CAPTIONS)
+#if SB_API_VERSION >= 12 || SB_HAS(CAPTIONS)
   base::EventCallback on_caption_settings_changed_event_callback_;
-#endif  // SB_API_VERSION >= SB_CAPTIONS_REQUIRED_VERSION || SB_HAS(CAPTIONS)
+#endif  // SB_API_VERSION >= 12 || SB_HAS(CAPTIONS)
 
   // Thread checkers to ensure that callbacks for network and application events
   // always occur on the same thread.
@@ -153,6 +146,19 @@
 #endif
 
  private:
+#if SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION || \
+    SB_HAS(CONCEALED_STATE)
+  enum AppStatus {
+    kUninitializedAppStatus,
+    kRunningAppStatus,
+    kBlurredAppStatus,
+    kConcealedAppStatus,
+    kFrozenAppStatus,
+    kWillQuitAppStatus,
+    kQuitAppStatus,
+    kShutDownAppStatus,
+  };
+#else
   enum AppStatus {
     kUninitializedAppStatus,
     kPreloadingAppStatus,
@@ -163,6 +169,8 @@
     kQuitAppStatus,
     kShutDownAppStatus,
   };
+#endif  // SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION ||
+        // SB_HAS(CONCEALED_STATE)
 
   enum NetworkStatus {
     kDisconnectedNetworkStatus,
diff --git a/src/cobalt/browser/browser.gyp b/src/cobalt/browser/browser.gyp
index 5ffbbc5..92009cb 100644
--- a/src/cobalt/browser/browser.gyp
+++ b/src/cobalt/browser/browser.gyp
@@ -20,9 +20,6 @@
     {
       'target_name': 'browser',
       'type': 'static_library',
-      'includes': [
-        '../renderer/renderer_parameters_setup.gypi',
-      ],
       'sources': [
         'application.cc',
         'application.h',
@@ -109,21 +106,6 @@
         'web_module_stat_tracker.cc',
         'web_module_stat_tracker.h',
       ],
-      'defines': [
-        'COBALT_FALLBACK_SPLASH_SCREEN_URL="<(fallback_splash_screen_url)"',
-        'COBALT_SKIA_CACHE_SIZE_IN_BYTES=<(skia_cache_size_in_bytes)',
-        'COBALT_SKIA_GLYPH_ATLAS_WIDTH=<(skia_glyph_atlas_width)',
-        'COBALT_SKIA_GLYPH_ATLAS_HEIGHT=<(skia_glyph_atlas_height)',
-        'COBALT_ENCODED_IMAGE_CACHE_SIZE_IN_BYTES=<(encoded_image_cache_size_in_bytes)',
-        'COBALT_IMAGE_CACHE_SIZE_IN_BYTES=<(image_cache_size_in_bytes)',
-        'COBALT_REMOTE_TYPEFACE_CACHE_SIZE_IN_BYTES=<(remote_font_cache_size_in_bytes)',
-        'COBALT_IMAGE_CACHE_CAPACITY_MULTIPLIER_WHEN_PLAYING_VIDEO=<(image_cache_capacity_multiplier_when_playing_video)',
-        'COBALT_OFFSCREEN_TARGET_CACHE_SIZE_IN_BYTES=<(offscreen_target_cache_size_in_bytes)',
-        'COBALT_SOFTWARE_SURFACE_CACHE_SIZE_IN_BYTES=<(software_surface_cache_size_in_bytes)',
-        'COBALT_JS_GARBAGE_COLLECTION_THRESHOLD_IN_BYTES=<(mozjs_garbage_collection_threshold_in_bytes)',
-        'COBALT_REDUCE_CPU_MEMORY_BY=<(reduce_cpu_memory_by)',
-        'COBALT_REDUCE_GPU_MEMORY_BY=<(reduce_gpu_memory_by)',
-      ],
       'dependencies': [
         '<(DEPTH)/cobalt/account/account.gyp:account',
         '<(DEPTH)/cobalt/audio/audio.gyp:audio',
@@ -198,15 +180,6 @@
             '<(DEPTH)/cobalt/debug/debug.gyp:debug',
           ],
         }],
-        ['mesh_cache_size_in_bytes == "auto"', {
-          'defines': [
-            'COBALT_MESH_CACHE_SIZE_IN_BYTES=1*1024*1024',
-          ],
-        }, {
-          'defines': [
-            'COBALT_MESH_CACHE_SIZE_IN_BYTES=<(mesh_cache_size_in_bytes)',
-          ],
-        }],
         ['sb_evergreen == 1', {
           'dependencies': [
             '<(DEPTH)/cobalt/updater/updater.gyp:updater',
@@ -216,6 +189,11 @@
             '<@(cobalt_platform_dependencies)',
           ],
         }],
+        ['"<(cobalt_webapi_extension_source_idl_files)"!="" or "<(cobalt_webapi_extension_generated_header_idl_files)"!=""', {
+          'defines': [
+            'COBALT_WEBAPI_EXTENSION_DEFINED',
+          ],
+        }],
       ],
     },
 
diff --git a/src/cobalt/browser/browser_module.cc b/src/cobalt/browser/browser_module.cc
index aa71610..54e0395 100644
--- a/src/cobalt/browser/browser_module.cc
+++ b/src/cobalt/browser/browser_module.cc
@@ -169,7 +169,6 @@
 
 void OnScreenshotMessage(BrowserModule* browser_module,
                          const std::string& message) {
-  SB_UNREFERENCED_PARAMETER(message);
   base::FilePath dir;
   if (!base::PathService::Get(cobalt::paths::DIR_COBALT_DEBUG_OUT, &dir)) {
     NOTREACHED() << "Failed to get debug out directory.";
@@ -196,16 +195,16 @@
     const h5vcc::H5vcc::Settings& settings,
     const scoped_refptr<dom::Window>& window,
     script::GlobalEnvironment* global_environment) {
-  SB_UNREFERENCED_PARAMETER(window);
-  SB_UNREFERENCED_PARAMETER(global_environment);
   return scoped_refptr<script::Wrappable>(new h5vcc::H5vcc(settings));
 }
 
+#if SB_API_VERSION < 12
 scoped_refptr<script::Wrappable> CreateExtensionInterface(
     const scoped_refptr<dom::Window>& window,
     script::GlobalEnvironment* global_environment) {
   return CreateWebAPIExtensionObject(window, global_environment);
 }
+#endif
 
 renderer::RendererModule::Options RendererModuleWithCameraOptions(
     renderer::RendererModule::Options options,
@@ -250,16 +249,15 @@
       updater_module_(updater_module),
 #endif
       splash_screen_cache_(new SplashScreenCache()),
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
       on_screen_keyboard_bridge_(
           OnScreenKeyboardStarboardBridge::IsSupported() &&
                   options.enable_on_screen_keyboard
               ? new OnScreenKeyboardStarboardBridge(base::Bind(
                     &BrowserModule::GetSbWindow, base::Unretained(this)))
               : NULL),
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
-        // SB_HAS(ON_SCREEN_KEYBOARD)
+#endif  // SB_API_VERSION >= 12 ||
+      // SB_HAS(ON_SCREEN_KEYBOARD)
       web_module_loaded_(base::WaitableEvent::ResetPolicy::MANUAL,
                          base::WaitableEvent::InitialState::NOT_SIGNALED),
       web_module_recreated_callback_(options_.web_module_recreated_callback),
@@ -373,7 +371,6 @@
 #endif
   h5vcc_settings.account_manager = account_manager;
   h5vcc_settings.event_dispatcher = event_dispatcher_;
-  h5vcc_settings.initial_deep_link = options_.initial_deep_link;
   options_.web_module_options.injected_window_attributes["h5vcc"] =
       base::Bind(&CreateH5VCC, h5vcc_settings);
 
@@ -389,6 +386,7 @@
       !command_line->HasSwitch(switches::kDisablePartialLayout);
 #endif  // defined(ENABLE_PARTIAL_LAYOUT_CONTROL)
 
+#if SB_API_VERSION < 12
   base::Optional<std::string> extension_object_name =
       GetWebAPIExtensionObjectPropertyName();
   if (extension_object_name) {
@@ -396,6 +394,7 @@
         .injected_window_attributes[*extension_object_name] =
         base::Bind(&CreateExtensionInterface);
   }
+#endif
 
 #if defined(ENABLE_DEBUGGER) && defined(ENABLE_DEBUG_COMMAND_LINE_SWITCHES)
   if (command_line->HasSwitch(switches::kInputFuzzer)) {
@@ -507,8 +506,8 @@
     return;
   }
 
-  // First try the registered handlers (e.g. for h5vcc://). If one of these
-  // handles the URL, we don't use the web module.
+  // First try any registered handlers. If one of these handles the URL, we
+  // don't use the web module.
   if (TryURLHandlers(url)) {
     return;
   }
@@ -934,8 +933,13 @@
     return;
   }
 #endif
-
+#if SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION || \
+    SB_HAS(CONCEALED_STATE)
+  SbSystemRequestConceal();
+#else
   SbSystemRequestSuspend();
+#endif  // SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION ||
+        // SB_HAS(CONCEALED_STATE)
 }
 
 #if SB_API_VERSION >= 8
@@ -957,8 +961,7 @@
 }
 #endif  // SB_API_VERSION >= 8
 
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
 void BrowserModule::OnOnScreenKeyboardShown(
     const base::OnScreenKeyboardShownEvent* event) {
   DCHECK_EQ(base::MessageLoop::current(), self_message_loop_);
@@ -1009,17 +1012,17 @@
   }
 }
 #endif  // SB_API_VERSION >= 11
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
 
-#if SB_API_VERSION >= SB_CAPTIONS_REQUIRED_VERSION || SB_HAS(CAPTIONS)
+#if SB_API_VERSION >= 12 || SB_HAS(CAPTIONS)
 void BrowserModule::OnCaptionSettingsChanged(
-    const base::AccessibilityCaptionSettingsChangedEvent* /*event*/) {
+    const base::AccessibilityCaptionSettingsChangedEvent* event) {
   if (web_module_) {
     web_module_->InjectCaptionSettingsChangedEvent();
   }
 }
-#endif  // SB_API_VERSION >= SB_CAPTIONS_REQUIRED_VERSION || SB_HAS(CAPTIONS)
+#endif  // SB_API_VERSION >= 12 || SB_HAS(CAPTIONS)
 
 #if defined(ENABLE_DEBUGGER)
 void BrowserModule::OnFuzzerToggle(const std::string& message) {
@@ -1108,8 +1111,7 @@
 
 #endif  // defined(ENABLE_DEBUGGER)
 
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
 void BrowserModule::OnOnScreenKeyboardInputEventProduced(
     base::Token type, const dom::InputEventInit& event) {
   TRACE_EVENT0("cobalt::browser",
@@ -1130,7 +1132,7 @@
 
   InjectOnScreenKeyboardInputEventToMainWebModule(type, event);
 }
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
 
 void BrowserModule::OnKeyEventProduced(base::Token type,
@@ -1206,8 +1208,7 @@
   web_module_->InjectKeyboardEvent(type, event);
 }
 
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
 void BrowserModule::InjectOnScreenKeyboardInputEventToMainWebModule(
     base::Token type, const dom::InputEventInit& event) {
   TRACE_EVENT0(
@@ -1225,7 +1226,7 @@
   DCHECK(web_module_);
   web_module_->InjectOnScreenKeyboardInputEvent(type, event);
 }
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
 
 void BrowserModule::OnError(const GURL& url, const std::string& error) {
@@ -1335,8 +1336,14 @@
     }
   } else if (event.ctrl_key() && event.key_code() == dom::keycode::kS) {
     if (type == base::Tokens::keydown()) {
+#if SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION || \
+    SB_HAS(CONCEALED_STATE)
+      SbSystemRequestConceal();
+#else
       // Ctrl+S suspends Cobalt.
       SbSystemRequestSuspend();
+#endif  // SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION ||
+        // SB_HAS(CONCEALED_STATE)
     }
     return false;
   }
@@ -1499,6 +1506,17 @@
 void BrowserModule::Resume() {
   TRACE_EVENT0("cobalt::browser", "BrowserModule::Resume()");
   DCHECK_EQ(base::MessageLoop::current(), self_message_loop_);
+#if SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION || \
+    SB_HAS(CONCEALED_STATE)
+  // This is temporary for Cobalt black box tests, will be removed
+  // with Cobalt Concealed mode changes.
+  if (application_state_ == base::kApplicationStatePreloading) {
+    Start();
+    Pause();
+    return;
+  }
+#endif  // SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION ||
+        // SB_HAS(CONCEALED_STATE)
   DCHECK(application_state_ == base::kApplicationStateSuspended);
 
   StartOrResumeInternalPreStateUpdate(false /*is_start*/);
@@ -1629,12 +1647,11 @@
       base::Bind(&BrowserModule::OnPointerEventProduced,
                  base::Unretained(this)),
       base::Bind(&BrowserModule::OnWheelEventProduced, base::Unretained(this)),
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
       base::Bind(&BrowserModule::OnOnScreenKeyboardInputEventProduced,
                  base::Unretained(this)),
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
-        // SB_HAS(ON_SCREEN_KEYBOARD)
+#endif  // SB_API_VERSION >= 12 ||
+      // SB_HAS(ON_SCREEN_KEYBOARD)
       system_window_.get());
   InstantiateRendererModule();
 
diff --git a/src/cobalt/browser/browser_module.h b/src/cobalt/browser/browser_module.h
index 26238da..e439415 100644
--- a/src/cobalt/browser/browser_module.h
+++ b/src/cobalt/browser/browser_module.h
@@ -100,7 +100,6 @@
     renderer::RendererModule::Options renderer_module_options;
     WebModule::Options web_module_options;
     media::MediaModule::Options media_module_options;
-    std::string initial_deep_link;
     base::Closure web_module_recreated_callback;
     memory_settings::AutoMemSettings command_line_auto_mem_settings;
     memory_settings::AutoMemSettings build_auto_mem_settings;
@@ -197,8 +196,7 @@
                            float video_pixel_ratio);
 #endif  // SB_API_VERSION >= 8
 
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
   void OnOnScreenKeyboardShown(const base::OnScreenKeyboardShownEvent* event);
   void OnOnScreenKeyboardHidden(const base::OnScreenKeyboardHiddenEvent* event);
   void OnOnScreenKeyboardFocused(
@@ -209,13 +207,13 @@
   void OnOnScreenKeyboardSuggestionsUpdated(
       const base::OnScreenKeyboardSuggestionsUpdatedEvent* event);
 #endif  // SB_API_VERSION >= 11
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
 
-#if SB_API_VERSION >= SB_CAPTIONS_REQUIRED_VERSION || SB_HAS(CAPTIONS)
+#if SB_API_VERSION >= 12 || SB_HAS(CAPTIONS)
   void OnCaptionSettingsChanged(
       const base::AccessibilityCaptionSettingsChangedEvent* event);
-#endif  // SB_API_VERSION >= SB_CAPTIONS_REQUIRED_VERSION || SB_HAS(CAPTIONS)
+#endif  // SB_API_VERSION >= 12 || SB_HAS(CAPTIONS)
 
   bool IsWebModuleLoaded() { return web_module_loaded_.IsSignaled(); }
 
@@ -264,14 +262,13 @@
   // persist the user's preference.
   void SaveDebugConsoleMode();
 
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
   // Glue function to deal with the production of an input event from an on
   // screen keyboard input device, and manage handing it off to the web module
   // for interpretation.
   void OnOnScreenKeyboardInputEventProduced(base::Token type,
                                             const dom::InputEventInit& event);
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
 
   // Glue function to deal with the production of a keyboard input event from a
@@ -291,13 +288,12 @@
   // interpretation.
   void OnWheelEventProduced(base::Token type, const dom::WheelEventInit& event);
 
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
   // Injects an on screen keyboard input event directly into the main web
   // module.
   void InjectOnScreenKeyboardInputEventToMainWebModule(
       base::Token type, const dom::InputEventInit& event);
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
 
   // Injects a key event directly into the main web module, useful for setting
diff --git a/src/cobalt/browser/debug_console.cc b/src/cobalt/browser/debug_console.cc
index 840a597..2657b27 100644
--- a/src/cobalt/browser/debug_console.cc
+++ b/src/cobalt/browser/debug_console.cc
@@ -31,7 +31,7 @@
 namespace {
 // Files for the debug console web page are bundled with the executable.
 const char kInitialDebugConsoleUrl[] =
-    "file:///cobalt/debug/console/debug_console.html";
+    "file:///debug_console/debug_console.html";
 
 const char kDebugConsoleModeOffString[] = "off";
 const char kDebugConsoleModeHudString[] = "hud";
@@ -97,8 +97,6 @@
     const debug::CreateDebugClientCallback& create_debug_client_callback,
     const scoped_refptr<dom::Window>& window,
     script::GlobalEnvironment* global_environment) {
-  SB_UNREFERENCED_PARAMETER(window);
-  SB_UNREFERENCED_PARAMETER(global_environment);
   return new debug::console::DebugHub(get_hud_mode_function,
                                       create_debug_client_callback);
 }
@@ -186,8 +184,7 @@
   return false;
 }
 
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
 bool DebugConsole::FilterOnScreenKeyboardInputEvent(
     base::Token type, const dom::InputEventInit& event) {
   // Return true to indicate the event should still be handled.
@@ -196,7 +193,7 @@
   web_module_->InjectOnScreenKeyboardInputEvent(type, event);
   return false;
 }
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
 
 void DebugConsole::CycleMode() {
diff --git a/src/cobalt/browser/debug_console.h b/src/cobalt/browser/debug_console.h
index f368fc5..93f53a0 100644
--- a/src/cobalt/browser/debug_console.h
+++ b/src/cobalt/browser/debug_console.h
@@ -69,14 +69,13 @@
   // false if it was consumed within this function.
   bool FilterWheelEvent(base::Token type, const dom::WheelEventInit& event);
 
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
   // Filters an on screen keyboard input event.
   // Returns true if the event should be passed on to other handlers,
   // false if it was consumed within this function.
   bool FilterOnScreenKeyboardInputEvent(base::Token type,
                                         const dom::InputEventInit& event);
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
 
   const WebModule& web_module() const { return *web_module_; }
@@ -110,7 +109,7 @@
   void ReduceMemory() { web_module_->ReduceMemory(); }
 
  private:
-  void OnError(const GURL& /* url */, const std::string& error) {
+  void OnError(const GURL& url, const std::string& error) {
     LOG(ERROR) << error;
   }
 
diff --git a/src/cobalt/browser/lifecycle_console_commands.cc b/src/cobalt/browser/lifecycle_console_commands.cc
index bdd15ae..1f11cd8 100644
--- a/src/cobalt/browser/lifecycle_console_commands.cc
+++ b/src/cobalt/browser/lifecycle_console_commands.cc
@@ -50,16 +50,33 @@
     "ending the process (peacefully).";
 
 namespace {
-void OnPause(const std::string& /*message*/) { SbSystemRequestPause(); }
+#if SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION || \
+    SB_HAS(CONCEALED_STATE)
+// This is temporary that will be changed in later CLs, for mapping Starboard
+// Concealed state support onto Cobalt without Concealed state support to be
+// able to test the former.
+void OnPause(const std::string& /*message*/) { SbSystemRequestBlur(); }
 
-void OnUnpause(const std::string& /*message*/) { SbSystemRequestUnpause(); }
+void OnUnpause(const std::string& /*message*/) { SbSystemRequestFocus(); }
 
 void OnSuspend(const std::string& /*message*/) {
+  LOG(INFO) << "Concealing Cobalt through the console, but you will need to "
+            << "reveal Cobalt using a platform-specific method.";
+  SbSystemRequestConceal();
+}
+#else
+void OnPause(const std::string& message) { SbSystemRequestPause(); }
+
+void OnUnpause(const std::string& message) { SbSystemRequestUnpause(); }
+
+void OnSuspend(const std::string& message) {
   LOG(INFO) << "Suspending Cobalt through the console, but you will need to "
             << "resume Cobalt using a platform-specific method.";
   SbSystemRequestSuspend();
 }
 
+#endif  // SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION ||
+        // SB_HAS(CONCEALED_STATE)
 void OnQuit(const std::string& /*message*/) { SbSystemRequestStop(0); }
 }  // namespace
 
diff --git a/src/cobalt/browser/main.cc b/src/cobalt/browser/main.cc
index 3821a84..4533d6d 100644
--- a/src/cobalt/browser/main.cc
+++ b/src/cobalt/browser/main.cc
@@ -54,7 +54,7 @@
   return g_is_startup_switch_set;
 }
 
-void PreloadApplication(int /*argc*/, char** /*argv*/, const char* /*link*/,
+void PreloadApplication(int argc, char** argv, const char* link,
                         const base::Closure& quit_closure) {
   if (CheckForAndExecuteStartupSwitches()) {
     SbSystemRequestStop(0);
@@ -67,13 +67,20 @@
   DCHECK(g_application);
 }
 
-void StartApplication(int /*argc*/, char** /*argv*/, const char* /*link*/,
+void StartApplication(int argc, char** argv, const char* link,
                       const base::Closure& quit_closure) {
   if (CheckForAndExecuteStartupSwitches()) {
     SbSystemRequestStop(0);
     return;
   }
   LOG(INFO) << "Starting application.";
+#if SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION || \
+    SB_HAS(CONCEALED_STATE)
+  DCHECK(!g_application);
+  g_application =
+      new cobalt::browser::Application(quit_closure, false /*not_preload*/);
+  DCHECK(g_application);
+#else
   if (!g_application) {
     g_application = new cobalt::browser::Application(quit_closure,
                                                      false /*should_preload*/);
@@ -81,6 +88,8 @@
   } else {
     g_application->Start();
   }
+#endif  // SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION ||
+        // SB_HAS(CONCEALED_STATE)
 }
 
 void StopApplication() {
diff --git a/src/cobalt/browser/memory_settings/auto_mem_settings.cc b/src/cobalt/browser/memory_settings/auto_mem_settings.cc
index 413cc86..a29a0fd 100644
--- a/src/cobalt/browser/memory_settings/auto_mem_settings.cc
+++ b/src/cobalt/browser/memory_settings/auto_mem_settings.cc
@@ -34,7 +34,7 @@
 namespace memory_settings {
 namespace {
 bool HasBlitter() {
-#if SB_API_VERSION < SB_BLITTER_DEPRECATED_VERSION && SB_HAS(BLITTER)
+#if SB_API_VERSION < 12 && SB_HAS(BLITTER)
   const bool has_blitter = true;
 #else
   const bool has_blitter = false;
@@ -230,7 +230,7 @@
       MakeValidIfGreaterThanOrEqualToZero(
           config->CobaltOffscreenTargetCacheSizeInBytes());
 
-#if SB_API_VERSION < SB_FEATURE_GYP_CONFIGURATION_VERSION
+#if SB_API_VERSION < 12
 #if defined(COBALT_MAX_CPU_USAGE_IN_BYTES)
   settings.max_cpu_in_bytes =
       MakeValidIfGreaterThanOrEqualToZero(COBALT_MAX_CPU_USAGE_IN_BYTES);
@@ -239,7 +239,7 @@
   settings.max_gpu_in_bytes =
       MakeValidIfGreaterThanOrEqualToZero(COBALT_MAX_GPU_USAGE_IN_BYTES);
 #endif  // defined(COBALT_MAX_GPU_USAGE_IN_BYTES)
-#endif  // SB_API_VERSION < SB_FEATURE_GYP_CONFIGURATION_VERSION
+#endif  // SB_API_VERSION < 12
 
   settings.reduce_cpu_memory_by =
       MakeValidIfGreaterThanOrEqualToZero(config->CobaltReduceCpuMemoryBy());
diff --git a/src/cobalt/browser/memory_settings/auto_mem_settings.h b/src/cobalt/browser/memory_settings/auto_mem_settings.h
index 822c9c8..ae3f172 100644
--- a/src/cobalt/browser/memory_settings/auto_mem_settings.h
+++ b/src/cobalt/browser/memory_settings/auto_mem_settings.h
@@ -33,11 +33,7 @@
     kTypeCommandLine,
   };
 
-  explicit AutoMemSettings(Type type) : type(type), has_blitter(false) {
-    if (type == kTypeBuild) {
-      max_cpu_in_bytes = 0;
-    }
-  }
+  explicit AutoMemSettings(Type type) : type(type), has_blitter(false) {}
 
   Type type;
   bool has_blitter;
diff --git a/src/cobalt/browser/memory_settings/auto_mem_settings_test.cc b/src/cobalt/browser/memory_settings/auto_mem_settings_test.cc
index 135d57b..171235a 100644
--- a/src/cobalt/browser/memory_settings/auto_mem_settings_test.cc
+++ b/src/cobalt/browser/memory_settings/auto_mem_settings_test.cc
@@ -132,8 +132,7 @@
 
   AutoMemSettings build_settings(AutoMemSettings::kTypeBuild);
   EXPECT_EQ(AutoMemSettings::kTypeBuild, build_settings.type);
-  EXPECT_TRUE(build_settings.max_cpu_in_bytes);
-  EXPECT_EQ(0, *build_settings.max_cpu_in_bytes);
+  EXPECT_FALSE(build_settings.max_cpu_in_bytes);
 }
 
 // Tests the expectation that numerous string variations (whole numbers vs
diff --git a/src/cobalt/browser/memory_settings/test_common.h b/src/cobalt/browser/memory_settings/test_common.h
index 43d077c..6aa7b75 100644
--- a/src/cobalt/browser/memory_settings/test_common.h
+++ b/src/cobalt/browser/memory_settings/test_common.h
@@ -61,7 +61,6 @@
   explicit TestDimensionSetting(const std::string& name)
       : DimensionSetting(name) {}
   virtual void ScaleMemory(double absolute_constraining_value) {
-    SB_UNREFERENCED_PARAMETER(absolute_constraining_value);
   }
 };
 
diff --git a/src/cobalt/browser/memory_tracker/tool/leak_finder_tool.cc b/src/cobalt/browser/memory_tracker/tool/leak_finder_tool.cc
index 5d54e95..d5a158a 100644
--- a/src/cobalt/browser/memory_tracker/tool/leak_finder_tool.cc
+++ b/src/cobalt/browser/memory_tracker/tool/leak_finder_tool.cc
@@ -102,7 +102,6 @@
 void LeakFinderTool::OnMemoryDeallocation(
     const void* memory_block, const nb::analytics::AllocationRecord& record,
     const nb::analytics::CallStack& callstack) {
-  SB_UNREFERENCED_PARAMETER(callstack);
 
   const std::string* symbol_str = NULL;
 
diff --git a/src/cobalt/browser/memory_tracker/tool/log_writer_tool.cc b/src/cobalt/browser/memory_tracker/tool/log_writer_tool.cc
index 3729103..c41b1a1 100644
--- a/src/cobalt/browser/memory_tracker/tool/log_writer_tool.cc
+++ b/src/cobalt/browser/memory_tracker/tool/log_writer_tool.cc
@@ -122,7 +122,6 @@
 
 void LogWriterTool::OnUnMapMemory(void* context, const void* memory,
                                   size_t size) {
-  SB_UNREFERENCED_PARAMETER(size);
   LogWriterTool* self = static_cast<LogWriterTool*>(context);
   self->OnMemoryDeallocation(memory);
 }
diff --git a/src/cobalt/browser/memory_tracker/tool/tool_impl.cc b/src/cobalt/browser/memory_tracker/tool/tool_impl.cc
index d653a70..4b4580f 100644
--- a/src/cobalt/browser/memory_tracker/tool/tool_impl.cc
+++ b/src/cobalt/browser/memory_tracker/tool/tool_impl.cc
@@ -118,7 +118,7 @@
   return alloc_record.allocation_group == group_filter_;
 }
 
-bool AllocationSizeBinner::Visit(const void* /*memory*/,
+bool AllocationSizeBinner::Visit(const void* memory,
                                  const AllocationRecord& alloc_record) {
   if (PassesFilter(alloc_record)) {
     const size_t idx = GetBucketIndexForAllocationSize(alloc_record.size);
@@ -179,7 +179,7 @@
       maximum_size_(maximum_size),
       group_filter_(group) {}
 
-bool FindTopSizes::Visit(const void* /*memory*/,
+bool FindTopSizes::Visit(const void* memory,
                          const AllocationRecord& alloc_record) {
   if (PassesFilter(alloc_record)) {
     size_counter_[alloc_record.size]++;
diff --git a/src/cobalt/browser/null_webapi_extension.cc b/src/cobalt/browser/null_webapi_extension.cc
index 47bd872..fb81ef8 100644
--- a/src/cobalt/browser/null_webapi_extension.cc
+++ b/src/cobalt/browser/null_webapi_extension.cc
@@ -17,6 +17,8 @@
 #include "base/compiler_specific.h"
 #include "cobalt/script/global_environment.h"
 
+#if SB_API_VERSION < 12
+
 namespace cobalt {
 namespace browser {
 
@@ -27,8 +29,6 @@
 scoped_refptr<script::Wrappable> CreateWebAPIExtensionObject(
     const scoped_refptr<dom::Window>& window,
     script::GlobalEnvironment* global_environment) {
-  SB_UNREFERENCED_PARAMETER(window);
-  SB_UNREFERENCED_PARAMETER(global_environment);
 
   // We should never get called if GetWindowExtensionObjectName() above returns
   // base::nullopt.
@@ -39,3 +39,5 @@
 
 }  // namespace browser
 }  // namespace cobalt
+
+#endif  // SB_API_VERSION < 12
diff --git a/src/cobalt/browser/on_screen_keyboard_starboard_bridge.cc b/src/cobalt/browser/on_screen_keyboard_starboard_bridge.cc
index bc2f657..ae18921 100644
--- a/src/cobalt/browser/on_screen_keyboard_starboard_bridge.cc
+++ b/src/cobalt/browser/on_screen_keyboard_starboard_bridge.cc
@@ -19,13 +19,12 @@
 
 #include "starboard/event.h"
 
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
 namespace cobalt {
 namespace browser {
 // static
 bool OnScreenKeyboardStarboardBridge::IsSupported() {
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION
+#if SB_API_VERSION >= 12
   return SbWindowOnScreenKeyboardIsSupported();
 #else
   return true;
@@ -115,5 +114,5 @@
 }
 }  // namespace browser
 }  // namespace cobalt
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
diff --git a/src/cobalt/browser/on_screen_keyboard_starboard_bridge.h b/src/cobalt/browser/on_screen_keyboard_starboard_bridge.h
index 1186f7d..4b7bcfb 100644
--- a/src/cobalt/browser/on_screen_keyboard_starboard_bridge.h
+++ b/src/cobalt/browser/on_screen_keyboard_starboard_bridge.h
@@ -21,8 +21,7 @@
 #include "cobalt/dom/on_screen_keyboard_bridge.h"
 #include "starboard/window.h"
 
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
 namespace cobalt {
 namespace browser {
 
@@ -66,6 +65,6 @@
 
 }  // namespace browser
 }  // namespace cobalt
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
 #endif  // COBALT_BROWSER_ON_SCREEN_KEYBOARD_STARBOARD_BRIDGE_H_
diff --git a/src/cobalt/browser/snapshot_app_stats.cc b/src/cobalt/browser/snapshot_app_stats.cc
index 2cea848..41be3ce 100644
--- a/src/cobalt/browser/snapshot_app_stats.cc
+++ b/src/cobalt/browser/snapshot_app_stats.cc
@@ -128,7 +128,7 @@
 cobalt::browser::Application* g_application = NULL;
 base::Thread* g_snapshot_thread = NULL;
 
-void StartApplication(int /*argc*/, char* /*argv*/ [], const char* /*link*/,
+void StartApplication(int argc, char* argv[], const char* link,
                       const base::Closure& quit_closure) {
   logging::SetMinLogLevel(100);
 
diff --git a/src/cobalt/browser/splash_screen.cc b/src/cobalt/browser/splash_screen.cc
index a262f1b..a380247 100644
--- a/src/cobalt/browser/splash_screen.cc
+++ b/src/cobalt/browser/splash_screen.cc
@@ -45,9 +45,7 @@
   return base::Bind(&PostCallbackToMessageLoop, callback, message_loop);
 }
 
-void OnError(const GURL& /* url */, const std::string& error) {
-  LOG(ERROR) << error;
-}
+void OnError(const GURL& url, const std::string& error) { LOG(ERROR) << error; }
 
 }  // namespace
 
diff --git a/src/cobalt/browser/suspend_fuzzer.cc b/src/cobalt/browser/suspend_fuzzer.cc
index bc07868..f70b806 100644
--- a/src/cobalt/browser/suspend_fuzzer.cc
+++ b/src/cobalt/browser/suspend_fuzzer.cc
@@ -31,8 +31,15 @@
 
 }  // namespace
 
-SuspendFuzzer::SuspendFuzzer()
+#if SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION || \
+    SB_HAS(CONCEALED_STATE)
+  SuspendFuzzer::SuspendFuzzer()
+    : thread_("suspend_fuzzer"), step_type_(kShouldRequestFreeze) {
+#else
+  SuspendFuzzer::SuspendFuzzer()
     : thread_("suspend_fuzzer"), step_type_(kShouldRequestSuspend) {
+#endif  // SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION ||
+        // SB_HAS(CONCEALED_STATE)
   thread_.Start();
   thread_.message_loop()->task_runner()->PostDelayedTask(
       FROM_HERE, base::Bind(&SuspendFuzzer::DoStep, base::Unretained(this)),
@@ -43,17 +50,34 @@
 
 void SuspendFuzzer::DoStep() {
   DCHECK(base::MessageLoop::current() == thread_.message_loop());
-  if (step_type_ == kShouldRequestSuspend) {
-    SB_DLOG(INFO) << "suspend_fuzzer: Requesting suspend.";
-    SbSystemRequestSuspend();
-    step_type_ = kShouldRequestUnpause;
-  } else if (step_type_ == kShouldRequestUnpause) {
-    SB_DLOG(INFO) << "suspend_fuzzer: Requesting unpause.";
-    SbSystemRequestUnpause();
-    step_type_ = kShouldRequestSuspend;
+  #if SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION || \
+    SB_HAS(CONCEALED_STATE)
+    if (step_type_ == kShouldRequestFreeze) {
+    SB_DLOG(INFO) << "suspend_fuzzer: Requesting freeze.";
+    SbSystemRequestFreeze();
+    step_type_ = kShouldRequestFocus;
+  } else if (step_type_ == kShouldRequestFocus) {
+    SB_DLOG(INFO) << "suspend_fuzzer: Requesting focus.";
+    SbSystemRequestFocus();
+    step_type_ = kShouldRequestFocus;
   } else {
     NOTREACHED();
   }
+#else
+    if (step_type_ == kShouldRequestSuspend) {
+    SB_DLOG(INFO) << "suspend_fuzzer: Requesting suspend.";
+    SbSystemRequestSuspend();
+    step_type_ = kShouldRequestSuspend;
+  } else if (step_type_ == kShouldRequestUnpause) {
+    SB_DLOG(INFO) << "suspend_fuzzer: Requesting unpause.";
+    SbSystemRequestUnpause();
+    step_type_ = kShouldRequestUnpause;
+  } else {
+    NOTREACHED();
+  }
+#endif  // SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION ||
+        // SB_HAS(CONCEALED_STATE)
+
   base::MessageLoop::current()->task_runner()->PostDelayedTask(
       FROM_HERE, base::Bind(&SuspendFuzzer::DoStep, base::Unretained(this)),
       kInterval);
diff --git a/src/cobalt/browser/suspend_fuzzer.h b/src/cobalt/browser/suspend_fuzzer.h
index 7fb7bcf..3a2dd88 100644
--- a/src/cobalt/browser/suspend_fuzzer.h
+++ b/src/cobalt/browser/suspend_fuzzer.h
@@ -37,8 +37,15 @@
   base::Thread thread_;
 
   enum StepType {
+#if SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION || \
+    SB_HAS(CONCEALED_STATE)
+    kShouldRequestFreeze,
+    kShouldRequestFocus,
+#else
     kShouldRequestSuspend,
     kShouldRequestUnpause,
+#endif  // SB_API_VERSION >= SB_ADD_CONCEALED_STATE_SUPPORT_VERSION ||
+        // SB_HAS(CONCEALED_STATE)
   } step_type_;
 };
 
diff --git a/src/cobalt/browser/switches.cc b/src/cobalt/browser/switches.cc
index 6f62d51..915b762 100644
--- a/src/cobalt/browser/switches.cc
+++ b/src/cobalt/browser/switches.cc
@@ -199,12 +199,11 @@
 const char kWebDriverPortHelp[] =
     "Port that the WebDriver server should be listening on.";
 
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
 const char kDisableOnScreenKeyboard[] = "disable_on_screen_keyboard";
 const char kDisableOnScreenKeyboardHelp[] =
     "Disable the on screen keyboard for testing.";
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
 
 #endif  // ENABLE_DEBUG_COMMAND_LINE_SWITCHES
@@ -438,10 +437,9 @@
         {kUserAgentOsNameVersion, kUserAgentOsNameVersionHelp},
         {kUseTTS, kUseTTSHelp}, {kWebDriverListenIp, kWebDriverListenIpHelp},
         {kWebDriverPort, kWebDriverPortHelp},
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
         {kDisableOnScreenKeyboard, kDisableOnScreenKeyboardHelp},
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
 #endif  // ENABLE_DEBUG_COMMAND_LINE_SWITCHES
 
diff --git a/src/cobalt/browser/switches.h b/src/cobalt/browser/switches.h
index c17989e..f70c0f8 100644
--- a/src/cobalt/browser/switches.h
+++ b/src/cobalt/browser/switches.h
@@ -89,11 +89,10 @@
 extern const char kWebDriverPort[];
 extern const char kWebDriverPortHelp[];
 
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
 extern const char kDisableOnScreenKeyboard[];
 extern const char kDisableOnScreenKeyboardHelp[];
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
 #endif  // ENABLE_DEBUG_COMMAND_LINE_SWITCHES
 
diff --git a/src/cobalt/browser/web_module.cc b/src/cobalt/browser/web_module.cc
index 6586507..6446317 100644
--- a/src/cobalt/browser/web_module.cc
+++ b/src/cobalt/browser/web_module.cc
@@ -59,7 +59,6 @@
 #include "cobalt/dom/wheel_event.h"
 #include "cobalt/dom/window.h"
 #include "cobalt/dom_parser/parser.h"
-#include "cobalt/h5vcc/h5vcc.h"
 #include "cobalt/layout/topmost_event_target.h"
 #include "cobalt/loader/image/animated_image_tracker.h"
 #include "cobalt/loader/switches.h"
@@ -125,8 +124,7 @@
   }
 #endif  // ENABLE_DEBUGGER
 
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
   // Injects an on screen keyboard input event into the web module. Event is
   // directed at a specific element if the element is non-null. Otherwise, the
   // currently focused element receives the event. If element is specified, we
@@ -151,7 +149,7 @@
   // module. Event is directed at the on screen keyboard element.
   void InjectOnScreenKeyboardSuggestionsUpdatedEvent(int ticket);
 #endif  // SB_API_VERSION >= 11
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
 
   // Injects a keyboard event into the web module. Event is directed at a
@@ -813,8 +811,7 @@
   }
 }
 
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
 void WebModule::Impl::InjectOnScreenKeyboardInputEvent(
     scoped_refptr<dom::Element> element, base::Token type,
     const dom::InputEventInit& event) {
@@ -870,7 +867,7 @@
   window_->on_screen_keyboard()->DispatchSuggestionsUpdatedEvent(ticket);
 }
 #endif  // SB_API_VERSION >= 11
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
 
 void WebModule::Impl::InjectKeyboardEvent(scoped_refptr<dom::Element> element,
@@ -1377,8 +1374,7 @@
   impl_.reset(new Impl(data));
 }
 
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
 
 void WebModule::InjectOnScreenKeyboardInputEvent(
     base::Token type, const dom::InputEventInit& event) {
@@ -1453,7 +1449,7 @@
           base::Unretained(impl_.get()), ticket));
 }
 #endif  // SB_API_VERSION >= 11
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
 
 void WebModule::InjectKeyboardEvent(base::Token type,
diff --git a/src/cobalt/browser/web_module.h b/src/cobalt/browser/web_module.h
index 32749de..8ad8dc2 100644
--- a/src/cobalt/browser/web_module.h
+++ b/src/cobalt/browser/web_module.h
@@ -295,8 +295,7 @@
             float layout_refresh_rate, const Options& options);
   ~WebModule();
 
-#if SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION || \
-    SB_HAS(ON_SCREEN_KEYBOARD)
+#if SB_API_VERSION >= 12 || SB_HAS(ON_SCREEN_KEYBOARD)
   // Injects an on screen keyboard input event into the web module. The value
   // for type represents beforeinput or input.
   void InjectOnScreenKeyboardInputEvent(base::Token type,
@@ -314,7 +313,7 @@
   // module.
   void InjectOnScreenKeyboardSuggestionsUpdatedEvent(int ticket);
 #endif  // SB_API_VERSION >= 11
-#endif  // SB_API_VERSION >= SB_ON_SCREEN_KEYBOARD_REQUIRED_VERSION ||
+#endif  // SB_API_VERSION >= 12 ||
         // SB_HAS(ON_SCREEN_KEYBOARD)
 
   // Injects a keyboard event into the web module. The value for type
diff --git a/src/cobalt/browser/web_module_stat_tracker.cc b/src/cobalt/browser/web_module_stat_tracker.cc
index 85b032f..67d4b2c 100644
--- a/src/cobalt/browser/web_module_stat_tracker.cc
+++ b/src/cobalt/browser/web_module_stat_tracker.cc
@@ -293,7 +293,7 @@
 {
 }
 
-bool WebModuleStatTracker::IsStopWatchEnabled(int /*id*/) const { return true; }
+bool WebModuleStatTracker::IsStopWatchEnabled(int id) const { return true; }
 
 void WebModuleStatTracker::OnStopWatchStopped(int id,
                                               base::TimeDelta time_elapsed) {
diff --git a/src/cobalt/browser/webapi_extension.h b/src/cobalt/browser/webapi_extension.h
index b3b2922..433f8f3 100644
--- a/src/cobalt/browser/webapi_extension.h
+++ b/src/cobalt/browser/webapi_extension.h
@@ -23,6 +23,8 @@
 #include "cobalt/script/global_environment.h"
 #include "cobalt/script/wrappable.h"
 
+#if SB_API_VERSION < 12
+
 namespace cobalt {
 namespace browser {
 
@@ -50,4 +52,18 @@
 }  // namespace browser
 }  // namespace cobalt
 
+#if defined(COBALT_WEBAPI_EXTENSION_DEFINED)
+#pragma message( \
+  "Web Extension support is deprecated. Please migrate to Platform Services " \
+  "(cobalt/doc/platform_services.md).")
+#endif
+
+#elif defined(COBALT_WEBAPI_EXTENSION_DEFINED)
+
+#error \
+  "Web Extension support has been deprecated. Please use Platform Services " \
+  "(cobalt/doc/platform_services.md) instead."
+
+#endif  // SB_API_VERSION < 12
+
 #endif  // COBALT_BROWSER_WEBAPI_EXTENSION_H_
diff --git a/src/cobalt/build/all.gyp b/src/cobalt/build/all.gyp
index 850d937..d73ca7d 100644
--- a/src/cobalt/build/all.gyp
+++ b/src/cobalt/build/all.gyp
@@ -86,6 +86,7 @@
         '<(DEPTH)/cobalt/xhr/xhr.gyp:*',
         '<(DEPTH)/crypto/crypto.gyp:crypto_unittests_deploy',
         '<(DEPTH)/third_party/boringssl/boringssl_tool.gyp:*',
+        '<(DEPTH)/third_party/zlib/zlib.gyp:zip_unittests_deploy',
         '<(DEPTH)/net/net.gyp:net_unittests_deploy',
         '<(DEPTH)/sql/sql.gyp:sql_unittests_deploy',
         '<(DEPTH)/starboard/elf_loader/elf_loader.gyp:elf_loader_test_deploy',
diff --git a/src/cobalt/build/build.id b/src/cobalt/build/build.id
index 2af62a2..7a96893 100644
--- a/src/cobalt/build/build.id
+++ b/src/cobalt/build/build.id
@@ -1 +1 @@
-260628
\ No newline at end of file
+267507
\ No newline at end of file
diff --git a/src/cobalt/build/cobalt_configuration.gypi b/src/cobalt/build/cobalt_configuration.gypi
index b289868..b58645d 100644
--- a/src/cobalt/build/cobalt_configuration.gypi
+++ b/src/cobalt/build/cobalt_configuration.gypi
@@ -57,6 +57,8 @@
     # not redefined, the default is false.
     'enable_map_to_mesh%': -1,
 
+    # Deprecated. Implement the CobaltExtensionConfigurationApi function
+    # CobaltUserOnExitStrategy instead.
     # This variable defines what Cobalt's preferred strategy should be for
     # handling internally triggered application exit requests (e.g. the user
     # chooses to back out of the application).
@@ -66,7 +68,7 @@
     #                exit, resulting in the application being "minimized".
     #   'noexit'  -- The application should never allow the user to trigger an
     #                exit, this will be managed by the system.
-    'cobalt_user_on_exit_strategy%': 'stop',
+    'cobalt_user_on_exit_strategy%': '',
 
     # Contains the current font package selection.  This can be used to trade
     # font quality, coverage, and latency for different font package sizes.
@@ -129,6 +131,8 @@
     # Build version number.
     'cobalt_version%': '<(BUILD_NUMBER)',
 
+    # Deprecated. Implement the CobaltExtensionConfigurationApi function
+    # CobaltRasterizerType instead.
     # Defines what kind of rasterizer will be used.  This can be adjusted to
     # force a stub graphics implementation.
     # It can be one of the following options:
@@ -142,8 +146,10 @@
     #                    Required for 360 rendering.
     #   'stub'        -- Stub graphics rasterization.  A rasterizer object will
     #                    still be available and valid, but it will do nothing.
-    'rasterizer_type%': 'direct-gles',
+    'rasterizer_type%': '',
 
+    # Deprecated. Implement the CobaltExtensionConfigurationApi function
+    # CobaltRenderDirtyRegionOnly instead.
     # If set to 1, will enable support for rendering only the regions of the
     # display that are modified due to animations, instead of re-rendering the
     # entire scene each frame.  This feature can reduce startup time where
@@ -157,12 +163,15 @@
     # support this feature, and many have been noticed to not properly support
     # this functionality (but they report that they do), and for these reasons
     # this value is defaulted to 0.
-    'render_dirty_region_only%': 0,
+    'render_dirty_region_only%': -1,
 
     # Override this value to adjust the default rasterizer setting for your
     # platform.
     'default_renderer_options_dependency%': '<(DEPTH)/cobalt/renderer/default_options_starboard.gyp:default_options',
 
+    # NOTE: Web Extension support is deprecated. Please use Platform Services
+    # (cobalt/doc/platform_services.md) instead.
+    #
     # Override this to inject a custom interface into Cobalt's JavaScript
     # `window` global object.  This implies that you will have to provide your
     # own IDL files to describe that interface and all interfaces that it
@@ -193,9 +202,11 @@
     # The default value has been moved into cobalt/renderer/pipeline.cc.
     'cobalt_minimum_frame_time_in_milliseconds%': '-1',
 
+    # Deprecated. Implement the CobaltExtensionConfigurationApi function
+    # CobaltEglSwapInterval instead.
     # Cobalt will call eglSwapInterval() and specify this value before calling
     # eglSwapBuffers() each frame.
-    'cobalt_egl_swap_interval%': 1,
+    'cobalt_egl_swap_interval%': -1,
 
     # Set to 1 to build with DIAL support.
     'in_app_dial%': 0,
@@ -221,9 +232,11 @@
     # List of platform-specific targets that get compiled into cobalt.
     'cobalt_platform_dependencies%': [],
 
+    # Deprecated. Implement the CobaltExtensionConfigurationApi function
+    # CobaltFallbackSplashScreenUrl instead.
     # The URL of default build time splash screen - see
     #   cobalt/doc/splash_screen.md for information about this.
-    'fallback_splash_screen_url%': 'none',
+    'fallback_splash_screen_url%': '',
     # The path to a splash screen to copy into content/data/web which can be
     # accessed via a file URL starting with
     # "file:///cobalt/browser/splash_screen/". If '', no file is copied.
@@ -236,9 +249,13 @@
     # converts asm to inline assembly for these platforms.
     'cobalt_v8_emit_builtins_as_inline_asm%': 1,
 
-    'cobalt_enable_quic%': 1,
+    # Deprecated. Implement the CobaltExtensionConfigurationApi function
+    # CobaltEnableQuic instead.
+    'cobalt_enable_quic%': -1,
 
     # Cache parameters
+    # Deprecated. These can now be configured by implementing
+    # the corresponding function in the CobaltExtensionConfigurationApi.
 
     # The following set of parameters define how much memory is reserved for
     # different Cobalt caches.  These caches affect CPU *and* GPU memory usage.
@@ -258,8 +275,10 @@
     # frames can be cached into surfaces.  This setting is only relevant when
     # using the hardware-accelerated Skia rasterizer (e.g. as opposed to the
     # Blitter API).
-    'skia_cache_size_in_bytes%': 4 * 1024 * 1024,
+    'skia_cache_size_in_bytes%': -1,
 
+    # Deprecated. Implement the CobaltExtensionConfigurationApi function
+    # CobaltOffscreenTargetCacheSizeInBytes instead.
     # Determines the amount of GPU memory the offscreen target atlases will
     # use. This is specific to the direct-GLES rasterizer and caches any render
     # tree nodes which require skia for rendering. Two atlases will be allocated
@@ -268,6 +287,8 @@
     # atlases about a quarter of the frame size.
     'offscreen_target_cache_size_in_bytes%': -1,
 
+    # Deprecated. Implement the CobaltExtensionConfigurationApi function
+    # CobaltEncodedImageCacheSizeInBytes instead.
     # Determines the capacity of the encoded image cache, which manages encoded
     # images downloaded from a web page. These images are cached within CPU
     # memory.  This not only reduces network traffic to download the encoded
@@ -285,8 +306,10 @@
     # smaller value. This allows the app to cache significant more images.
     #
     # Set this to 0 can disable the cache completely.
-    'encoded_image_cache_size_in_bytes%': 1024 * 1024,
+    'encoded_image_cache_size_in_bytes%': -1,
 
+    # Deprecated. Implement the CobaltExtensionConfigurationApi function
+    # CobaltImageCacheSizeInBytes instead.
     # Determines the capacity of the image cache, which manages image surfaces
     # downloaded from a web page.  While it depends on the platform, often (and
     # ideally) these images are cached within GPU memory.
@@ -295,6 +318,8 @@
     # SbSystemGetTotalGPUMemory().
     'image_cache_size_in_bytes%': -1,
 
+    # Deprecated. Implement the CobaltExtensionConfigurationApi function
+    # CobaltLocalTypeFaceCacheSizeInBytes instead.
     # Determines the capacity of the local font cache, which manages all fonts
     # loaded from local files. Newly encountered sections of font files are
     # lazily loaded into the cache, enabling subsequent requests to the same
@@ -302,25 +327,33 @@
     # reached, further requests are handled via file stream.
     # Setting the value to 0 disables memory caching and causes all font file
     # accesses to be done using file streams.
-    'local_font_cache_size_in_bytes%': 16 * 1024 * 1024,
+    'local_font_cache_size_in_bytes%': -1,
 
+    # Deprecated. Implement the CobaltExtensionConfigurationApi function
+    # CobaltRemoteTypefaceCacheSizeInBytes instead.
     # Determines the capacity of the remote font cache, which manages all
     # fonts downloaded from a web page.
-    'remote_font_cache_size_in_bytes%': 4 * 1024 * 1024,
+    'remote_font_cache_size_in_bytes%': -1,
 
+    # Deprecated. Implement the CobaltExtensionConfigurationApi function
+    # CobaltMeshCacheSizeInBytes instead.
     # Determines the capacity of the mesh cache. Each mesh is held compressed
     # in main memory, to be inflated into a GPU buffer when needed for
     # projection. When set to 'auto', will be adjusted according to whether
     # the enable_map_to_mesh is true or not.  If enable_map_to_mesh is false,
     # then the mesh cache size will be set to 0.
-    'mesh_cache_size_in_bytes%': 'auto',
+    'mesh_cache_size_in_bytes%': -1,
 
+    # Deprecated. Implement the CobaltExtensionConfigurationApi function
+    # CobaltSoftwareSurfaceCacheSizeInBytes instead.
     # Only relevant if you are using the Blitter API.
     # Determines the capacity of the software surface cache, which is used to
     # cache all surfaces that are rendered via a software rasterizer to avoid
     # re-rendering them.
-    'software_surface_cache_size_in_bytes%': 8 * 1024 * 1024,
+    'software_surface_cache_size_in_bytes%': -1,
 
+    # Deprecated. Implement the CobaltExtensionConfigurationApi function
+    # CobaltImageCacheCapactityMultiplierWhenPlayingVideo.
     # Modifying this value to be non-1.0f will result in the image cache
     # capacity being cleared and then temporarily reduced for the duration that
     # a video is playing.  This can be useful for some platforms if they are
@@ -328,8 +361,10 @@
     # playing a video, the image cache is reduced to:
     # image_cache_size_in_bytes *
     #     image_cache_capacity_multiplier_when_playing_video.
-    'image_cache_capacity_multiplier_when_playing_video%': '1.0f',
+    'image_cache_capacity_multiplier_when_playing_video%': '',
 
+    # Deprecated. Implement the CobaltExtensionConfigurationApi functions
+    # CobaltSkiaGlyphAtlasWidth and CobaltSkiaGlyphAtlasHeight, respectively.
     # Determines the size in pixels of the glyph atlas where rendered glyphs are
     # cached. The resulting memory usage is 2 bytes of GPU memory per pixel.
     # When a value is used that is too small, thrashing may occur that will
@@ -341,13 +376,15 @@
     'skia_glyph_atlas_width%': '-1',
     'skia_glyph_atlas_height%': '-1',
 
+    # Deprecated. Implement the CobaltExtensionConfigurationApi function
+    # CobaltJsGarbageCollectionThresholdInBytes instead.
     # Determines the size of garbage collection threshold. After this many
     # bytes have been allocated, the SpiderMonkey garbage collector will run.
     # Lowering this has been found to reduce performance and decrease
     # JavaScript memory usage. For example, we have measured on at least one
     # platform that performance becomes 7% worse on average in certain cases
     # when adjusting this number from 8MB to 1MB.
-    'mozjs_garbage_collection_threshold_in_bytes%': 8 * 1024 * 1024,
+    'mozjs_garbage_collection_threshold_in_bytes%': -1,
 
     # Max Cobalt CPU usage specifies that the cobalt program should
     # keep it's size below the specified size.
@@ -361,6 +398,8 @@
     # SbSystemGetTotalGPUMemory() instead.
     'max_cobalt_gpu_usage%': -1,
 
+    # Deprecated. Implement the CobaltExtensionConfigurationApi function
+    # CobaltReduceCpuMemoryBy instead.
     # When specified this value will reduce the cpu memory consumption by
     # the specified amount. -1 disables the value.
     # When this value is specified then max_cobalt_cpu_usage will not be
@@ -368,6 +407,8 @@
     # a warning if the engine consumes more memory than this value specifies.
     'reduce_cpu_memory_by%': -1,
 
+    # Deprecated. Implement the CobaltExtensionConfigurationApi function
+    # CobaltReduceGpuMemoryBy instead.
     # When specified this value will reduce the gpu memory consumption by
     # the specified amount. -1 disables the value.
     # When this value is specified then max_cobalt_gpu_usage will not be
@@ -375,17 +416,23 @@
     # a warning if the engine consumes more memory than this value specifies.
     'reduce_gpu_memory_by%': -1,
 
-    # Note: Ideally, |javascript_engine| and |cobalt_enable_jit| would live
-    # here, however due to weird gyp variable usage in bindings gyp files
-    # (that if we removed, would result in large code duplication), we have to
-    # define them in the python gyp platform files instead.  See
-    # "starboard/build/platform_configuration.py" for their documentation.
+    # Note: Ideally, |javascript_engine| would live here, however due to weird
+    # gyp variable usage in bindings gyp files (that if we removed, would
+    # result in large code duplication), we have to define it in the python gyp
+    # platform files instead.  See "starboard/build/platform_configuration.py"
+    # for its documentation.
 
+    # Deprecated. Implement the CobaltExtensionConfigurationApi function
+    # CobaltEnableJit instead.
+    'cobalt_enable_jit%': -1,
+
+    # Deprecated. Implement the CobaltExtensionConfigurationApi function
+    # CobaltGcZeal instead.
     # Can be set to enable zealous garbage collection, if |javascript_engine|
     # supports it.  Zealous garbage collection will cause garbage collection
     # to occur much more frequently than normal, for the purpose of finding or
     # reproducing bugs.
-    'cobalt_gc_zeal%': 0,
+    'cobalt_gc_zeal%': -1,
 
     # The cobalt_media_* variables defined below are deprecated. Their
     # corresponding Starboard functions should be defined instead of setting
@@ -630,12 +677,6 @@
           }],
         ],
       }],
-      ['cobalt_gc_zeal == 1', {
-        'defines': [
-          'COBALT_GC_ZEAL=1',
-          'JS_GC_ZEAL=1',
-        ],
-      }],
       ['in_app_dial == 1', {
         'defines': [
           'DIAL_SERVER',
@@ -651,11 +692,6 @@
           'COBALT_V8_BUILDTIME_SNAPSHOT=1',
         ],
       }],
-      ['cobalt_enable_quic == 1', {
-        'defines': [
-          'COBALT_ENABLE_QUIC',
-        ],
-      }],
       ['host_os=="win"', {
         # A few flags to mute MSVC compiler errors that does not appear on Linux.
         'compiler_flags_host': [
diff --git a/src/cobalt/build/cobalt_configuration.py b/src/cobalt/build/cobalt_configuration.py
index 07a07f3..691c283 100644
--- a/src/cobalt/build/cobalt_configuration.py
+++ b/src/cobalt/build/cobalt_configuration.py
@@ -155,6 +155,7 @@
         'webdriver_test',
         'websocket_test',
         'xhr_test',
+        'zip_unittests',
     ]
 
   def GetDefaultTargetBuildFile(self):
diff --git a/src/cobalt/configuration/configuration.cc b/src/cobalt/configuration/configuration.cc
index ce19c77..1502037 100644
--- a/src/cobalt/configuration/configuration.cc
+++ b/src/cobalt/configuration/configuration.cc
@@ -50,9 +50,21 @@
 
 const char* Configuration::CobaltUserOnExitStrategy() {
   if (configuration_api_) {
+#if defined(COBALT_USER_ON_EXIT_STRATEGY)
+    LOG(ERROR) << "COBALT_USER_ON_EXIT_STRATEGY and "
+                  "CobaltExtensionConfigurationApi::CobaltUserOnExitStrategy() "
+                  "are both defined. Remove 'cobalt_user_on_exit_strategy' "
+                  "from your \"gyp_configuration.gypi\" file in favor of "
+                  "using CobaltUserOnExitStrategy().";
+#endif
     return configuration_api_->CobaltUserOnExitStrategy();
   }
-#if SB_API_VERSION >= SB_FEATURE_GYP_CONFIGURATION_VERSION
+#if SB_API_VERSION >= 12
+#if defined(COBALT_USER_ON_EXIT_STRATEGY)
+#error "COBALT_USER_ON_EXIT_STRATEGY is deprecated after Starboard version 12."
+#error "Implement CobaltExtensionConfigurationApi::CobaltUserOnExitStrategy()"
+#error "instead."
+#endif
   return "stop";
 #elif defined(COBALT_USER_ON_EXIT_STRATEGY)
   return COBALT_USER_ON_EXIT_STRATEGY;
@@ -63,9 +75,24 @@
 
 bool Configuration::CobaltRenderDirtyRegionOnly() {
   if (configuration_api_) {
+#if defined(COBALT_RENDER_DIRTY_REGION_ONLY)
+    LOG(ERROR)
+        << "COBALT_RENDER_DIRTY_REGION_ONLY and "
+           "CobaltExtensionConfigurationApi::CobaltRenderDirtyRegionOnly() "
+           "are both defined. Remove 'render_dirty_region_only' "
+           "from your \"gyp_configuration.gypi\" file in favor of "
+           "using CobaltRenderDirtyRegionOnly().";
+#endif
     return configuration_api_->CobaltRenderDirtyRegionOnly();
   }
-#if SB_API_VERSION >= SB_FEATURE_GYP_CONFIGURATION_VERSION
+#if SB_API_VERSION >= 12
+#if defined(COBALT_RENDER_DIRTY_REGION_ONLY)
+#error \
+    "COBALT_RENDER_DIRTY_REGION_ONLY is deprecated after Starboard version 12."
+#error \
+    "Implement CobaltExtensionConfigurationApi::CobaltRenderDirtyRegionOnly()"
+#error "instead."
+#endif
   return false;
 #elif defined(COBALT_RENDER_DIRTY_REGION_ONLY)
   return true;
@@ -76,9 +103,21 @@
 
 int Configuration::CobaltEglSwapInterval() {
   if (configuration_api_) {
+#if defined(COBALT_EGL_SWAP_INTERVAL)
+    LOG(ERROR) << "COBALT_EGL_SWAP_INTERVAL and "
+                  "CobaltExtensionConfigurationApi::CobaltEglSwapInterval() "
+                  "are both defined. Remove 'cobalt_egl_swap_interval' "
+                  "from your \"gyp_configuration.gypi\" file in favor of "
+                  "using CobaltEglSwapInterval().";
+#endif
     return configuration_api_->CobaltEglSwapInterval();
   }
-#if SB_API_VERSION >= SB_FEATURE_GYP_CONFIGURATION_VERSION
+#if SB_API_VERSION >= 12
+#if defined(COBALT_EGL_SWAP_INTERVAL)
+#error "COBALT_EGL_SWAP_INTERVAL is deprecated after Starboard version 12."
+#error "Implement CobaltExtensionConfigurationApi::CobaltEglSwapInterval()"
+#error "instead."
+#endif
   return 1;
 #elif defined(COBALT_EGL_SWAP_INTERVAL)
   return COBALT_EGL_SWAP_INTERVAL;
@@ -89,9 +128,24 @@
 
 const char* Configuration::CobaltFallbackSplashScreenUrl() {
   if (configuration_api_) {
+#if defined(COBALT_FALLBACK_SPLASH_SCREEN_URL)
+    LOG(ERROR)
+        << "COBALT_FALLBACK_SPLASH_SCREEN_URL and "
+           "CobaltExtensionConfigurationApi::CobaltFallbackSplashScreenUrl() "
+           "are both defined. Remove 'fallback_splash_screen_url' "
+           "from your \"gyp_configuration.gypi\" file in favor of "
+           "using CobaltFallbackSplashScreenUrl().";
+#endif
     return configuration_api_->CobaltFallbackSplashScreenUrl();
   }
-#if SB_API_VERSION >= SB_FEATURE_GYP_CONFIGURATION_VERSION
+#if SB_API_VERSION >= 12
+#if defined(COBALT_FALLBACK_SPLASH_SCREEN_URL)
+// NOLINTNEXTLINE(whitespace/line_length)
+#error "COBALT_FALLBACK_SPLASH_SCREEN_URL is deprecated after Starboard version 12."
+// NOLINTNEXTLINE(whitespace/line_length)
+#error "Implement CobaltExtensionConfigurationApi::CobaltFallbackSplashScreenUrl()"
+#error "instead."
+#endif
   return "none";
 #elif defined(COBALT_FALLBACK_SPLASH_SCREEN_URL)
   return COBALT_FALLBACK_SPLASH_SCREEN_URL;
@@ -102,9 +156,21 @@
 
 bool Configuration::CobaltEnableQuic() {
   if (configuration_api_) {
+#if defined(COBALT_ENABLE_QUIC)
+    LOG(ERROR) << "COBALT_ENABLE_QUIC and "
+                  "CobaltExtensionConfigurationApi::CobaltEnableQuic() "
+                  "are both defined. Remove 'cobalt_enable_quic' "
+                  "from your \"gyp_configuration.gypi\" file in favor of "
+                  "using CobaltEnableQuic().";
+#endif
     return configuration_api_->CobaltEnableQuic();
   }
-#if SB_API_VERSION >= SB_FEATURE_GYP_CONFIGURATION_VERSION
+#if SB_API_VERSION >= 12
+#if defined(COBALT_ENABLE_QUIC)
+#error "COBALT_ENABLE_QUIC is deprecated after Starboard version 12."
+#error "Implement CobaltExtensionConfigurationApi::CobaltEnableQuic()"
+#error "instead."
+#endif
   return true;
 #elif defined(COBALT_ENABLE_QUIC)
   return true;
@@ -115,9 +181,23 @@
 
 int Configuration::CobaltSkiaCacheSizeInBytes() {
   if (configuration_api_) {
+#if defined(COBALT_SKIA_CACHE_SIZE_IN_BYTES)
+    LOG(ERROR)
+        << "COBALT_SKIA_CACHE_SIZE_IN_BYTES and "
+           "CobaltExtensionConfigurationApi::CobaltSkiaCacheSizeInBytes() "
+           "are both defined. Remove 'skia_cache_size_in_bytes' "
+           "from your \"gyp_configuration.gypi\" file in favor of "
+           "using CobaltSkiaCacheSizeInBytes().";
+#endif
     return configuration_api_->CobaltSkiaCacheSizeInBytes();
   }
-#if SB_API_VERSION >= SB_FEATURE_GYP_CONFIGURATION_VERSION
+#if SB_API_VERSION >= 12
+#if defined(COBALT_SKIA_CACHE_SIZE_IN_BYTES)
+#error \
+    "COBALT_SKIA_CACHE_SIZE_IN_BYTES is deprecated after Starboard version 12."
+#error "Implement CobaltExtensionConfigurationApi::CobaltSkiaCacheSizeInBytes()"
+#error "instead."
+#endif
   return 4 * 1024 * 1024;
 #elif defined(COBALT_SKIA_CACHE_SIZE_IN_BYTES)
   return COBALT_SKIA_CACHE_SIZE_IN_BYTES;
@@ -128,9 +208,25 @@
 
 int Configuration::CobaltOffscreenTargetCacheSizeInBytes() {
   if (configuration_api_) {
+#if defined(COBALT_OFFSCREEN_TARGET_CACHE_SIZE_IN_BYTES)
+    LOG(ERROR)
+        << "COBALT_OFFSCREEN_TARGET_CACHE_SIZE_IN_BYTES and "
+           "CobaltExtensionConfigurationApi::"
+           "CobaltOffscreenTargetCacheSizeInBytes() "
+           "are both defined. Remove 'offscreen_target_cache_size_in_bytes' "
+           "from your \"gyp_configuration.gypi\" file in favor of "
+           "using CobaltOffscreenTargetCacheSizeInBytes().";
+#endif
     return configuration_api_->CobaltOffscreenTargetCacheSizeInBytes();
   }
-#if SB_API_VERSION >= SB_FEATURE_GYP_CONFIGURATION_VERSION
+#if SB_API_VERSION >= 12
+#if defined(COBALT_OFFSCREEN_TARGET_CACHE_SIZE_IN_BYTES)
+// NOLINTNEXTLINE(whitespace/line_length)
+#error "COBALT_OFFSCREEN_TARGET_CACHE_SIZE_IN_BYTES is deprecated after Starboard version 12."
+// NOLINTNEXTLINE(whitespace/line_length)
+#error "Implement CobaltExtensionConfigurationApi::CobaltOffscreenTargetCacheSizeInBytes()"
+#error "instead."
+#endif
   return -1;
 #elif defined(COBALT_OFFSCREEN_TARGET_CACHE_SIZE_IN_BYTES)
   return COBALT_OFFSCREEN_TARGET_CACHE_SIZE_IN_BYTES;
@@ -141,9 +237,25 @@
 
 int Configuration::CobaltEncodedImageCacheSizeInBytes() {
   if (configuration_api_) {
+#if defined(COBALT_ENCODED_IMAGE_CACHE_SIZE_IN_BYTES)
+    LOG(ERROR)
+        << "COBALT_ENCODED_IMAGE_CACHE_SIZE_IN_BYTES and "
+           "CobaltExtensionConfigurationApi::"
+           "CobaltEncodedImageCacheSizeInBytes() "
+           "are both defined. Remove 'encoded_image_cache_size_in_bytes' "
+           "from your \"gyp_configuration.gypi\" file in favor of "
+           "using CobaltEncodedImageCacheSizeInBytes().";
+#endif
     return configuration_api_->CobaltEncodedImageCacheSizeInBytes();
   }
-#if SB_API_VERSION >= SB_FEATURE_GYP_CONFIGURATION_VERSION
+#if SB_API_VERSION >= 12
+#if defined(COBALT_ENCODED_IMAGE_CACHE_SIZE_IN_BYTES)
+// NOLINTNEXTLINE(whitespace/line_length)
+#error "COBALT_ENCODED_IMAGE_CACHE_SIZE_IN_BYTES is deprecated after Starboard version 12."
+// NOLINTNEXTLINE(whitespace/line_length)
+#error "Implement CobaltExtensionConfigurationApi::CobaltEncodedImageCacheSizeInBytes()"
+#error "instead."
+#endif
   return 1024 * 1024;
 #elif defined(COBALT_ENCODED_IMAGE_CACHE_SIZE_IN_BYTES)
   return COBALT_ENCODED_IMAGE_CACHE_SIZE_IN_BYTES;
@@ -154,9 +266,24 @@
 
 int Configuration::CobaltImageCacheSizeInBytes() {
   if (configuration_api_) {
+#if defined(COBALT_IMAGE_CACHE_SIZE_IN_BYTES)
+    LOG(ERROR)
+        << "COBALT_IMAGE_CACHE_SIZE_IN_BYTES and "
+           "CobaltExtensionConfigurationApi::CobaltImageCacheSizeInBytes() "
+           "are both defined. Remove 'image_cache_size_in_bytes' "
+           "from your \"gyp_configuration.gypi\" file in favor of "
+           "using CobaltImageCacheSizeInBytes().";
+#endif
     return configuration_api_->CobaltImageCacheSizeInBytes();
   }
-#if SB_API_VERSION >= SB_FEATURE_GYP_CONFIGURATION_VERSION
+#if SB_API_VERSION >= 12
+#if defined(COBALT_IMAGE_CACHE_SIZE_IN_BYTES)
+#error \
+    "COBALT_IMAGE_CACHE_SIZE_IN_BYTES is deprecated after Starboard version 12."
+#error \
+    "Implement CobaltExtensionConfigurationApi::CobaltImageCacheSizeInBytes()"
+#error "instead."
+#endif
   return -1;
 #elif defined(COBALT_IMAGE_CACHE_SIZE_IN_BYTES)
   return COBALT_IMAGE_CACHE_SIZE_IN_BYTES;
@@ -167,9 +294,24 @@
 
 int Configuration::CobaltLocalTypefaceCacheSizeInBytes() {
   if (configuration_api_) {
+#if defined(COBALT_LOCAL_TYPEFACE_CACHE_SIZE_IN_BYTES)
+    LOG(ERROR) << "COBALT_LOCAL_TYPEFACE_CACHE_SIZE_IN_BYTES and "
+                  "CobaltExtensionConfigurationApi::"
+                  "CobaltLocalTypefaceCacheSizeInBytes() "
+                  "are both defined. Remove 'local_font_cache_size_in_bytes' "
+                  "from your \"gyp_configuration.gypi\" file in favor of "
+                  "using CobaltLocalTypefaceCacheSizeInBytes().";
+#endif
     return configuration_api_->CobaltLocalTypefaceCacheSizeInBytes();
   }
-#if SB_API_VERSION >= SB_FEATURE_GYP_CONFIGURATION_VERSION
+#if SB_API_VERSION >= 12
+#if defined(COBALT_LOCAL_TYPEFACE_CACHE_SIZE_IN_BYTES)
+// NOLINTNEXTLINE(whitespace/line_length)
+#error "COBALT_LOCAL_TYPEFACE_CACHE_SIZE_IN_BYTES is deprecated after Starboard version 12."
+// NOLINTNEXTLINE(whitespace/line_length)
+#error "Implement CobaltExtensionConfigurationApi::CobaltLocalTypefaceCacheSizeInBytes()"
+#error "instead."
+#endif
   return 16 * 1024 * 1024;
 #elif defined(COBALT_LOCAL_TYPEFACE_CACHE_SIZE_IN_BYTES)
   return COBALT_LOCAL_TYPEFACE_CACHE_SIZE_IN_BYTES;
@@ -180,9 +322,24 @@
 
 int Configuration::CobaltRemoteTypefaceCacheSizeInBytes() {
   if (configuration_api_) {
+#if defined(COBALT_REMOTE_TYPEFACE_CACHE_SIZE_IN_BYTES)
+    LOG(ERROR) << "COBALT_REMOTE_TYPEFACE_CACHE_SIZE_IN_BYTES and "
+                  "CobaltExtensionConfigurationApi::"
+                  "CobaltRemoteTypefaceCacheSizeInBytes() "
+                  "are both defined. Remove 'remote_font_cache_size_in_bytes' "
+                  "from your \"gyp_configuration.gypi\" file in favor of "
+                  "using CobaltRemoteTypefaceCacheSizeInBytes().";
+#endif
     return configuration_api_->CobaltRemoteTypefaceCacheSizeInBytes();
   }
-#if SB_API_VERSION >= SB_FEATURE_GYP_CONFIGURATION_VERSION
+#if SB_API_VERSION >= 12
+#if defined(COBALT_REMOTE_TYPEFACE_CACHE_SIZE_IN_BYTES)
+// NOLINTNEXTLINE(whitespace/line_length)
+#error "COBALT_REMOTE_TYPEFACE_CACHE_SIZE_IN_BYTES is deprecated after Starboard version 12."
+// NOLINTNEXTLINE(whitespace/line_length)
+#error "Implement CobaltExtensionConfigurationApi::CobaltRemoteTypefaceCacheSizeInBytes()"
+#error "instead."
+#endif
   return 4 * 1024 * 1024;
 #elif defined(COBALT_REMOTE_TYPEFACE_CACHE_SIZE_IN_BYTES)
   return COBALT_REMOTE_TYPEFACE_CACHE_SIZE_IN_BYTES;
@@ -193,9 +350,23 @@
 
 int Configuration::CobaltMeshCacheSizeInBytes() {
   if (configuration_api_) {
+#if defined(COBALT_MESH_CACHE_SIZE_IN_BYTES)
+    LOG(ERROR)
+        << "COBALT_MESH_CACHE_SIZE_IN_BYTES and "
+           "CobaltExtensionConfigurationApi::CobaltMeshCacheSizeInBytes() "
+           "are both defined. Remove 'mesh_cache_size_in_bytes' "
+           "from your \"gyp_configuration.gypi\" file in favor of "
+           "using CobaltMeshCacheSizeInBytes().";
+#endif
     return configuration_api_->CobaltMeshCacheSizeInBytes();
   }
-#if SB_API_VERSION >= SB_FEATURE_GYP_CONFIGURATION_VERSION
+#if SB_API_VERSION >= 12
+#if defined(COBALT_MESH_CACHE_SIZE_IN_BYTES)
+#error \
+    "COBALT_MESH_CACHE_SIZE_IN_BYTES is deprecated after Starboard version 12."
+#error "Implement CobaltExtensionConfigurationApi::CobaltMeshCacheSizeInBytes()"
+#error "instead."
+#endif
   return 1024 * 1024;
 #elif defined(COBALT_MESH_CACHE_SIZE_IN_BYTES)
   return COBALT_MESH_CACHE_SIZE_IN_BYTES;
@@ -206,9 +377,25 @@
 
 int Configuration::CobaltSoftwareSurfaceCacheSizeInBytes() {
   if (configuration_api_) {
+#if defined(COBALT_SOFTWARE_SURFACE_CACHE_SIZE_IN_BYTES)
+    LOG(ERROR)
+        << "COBALT_SOFTWARE_SURFACE_CACHE_SIZE_IN_BYTES and "
+           "CobaltExtensionConfigurationApi::"
+           "CobaltSoftwareSurfaceCacheSizeInBytes() "
+           "are both defined. Remove 'software_surface_cache_size_in_bytes' "
+           "from your \"gyp_configuration.gypi\" file in favor of "
+           "using CobaltSoftwareSurfaceCacheSizeInBytes().";
+#endif
     return configuration_api_->CobaltSoftwareSurfaceCacheSizeInBytes();
   }
-#if SB_API_VERSION >= SB_FEATURE_GYP_CONFIGURATION_VERSION
+#if SB_API_VERSION >= 12
+#if defined(COBALT_SOFTWARE_SURFACE_CACHE_SIZE_IN_BYTES)
+// NOLINTNEXTLINE(whitespace/line_length)
+#error "COBALT_SOFTWARE_SURFACE_CACHE_SIZE_IN_BYTES is deprecated after Starboard version 12."
+// NOLINTNEXTLINE(whitespace/line_length)
+#error "Implement CobaltExtensionConfigurationApi::CobaltSoftwareSurfaceCacheSizeInBytes()"
+#error "instead."
+#endif
   return 8 * 1024 * 1024;
 #elif defined(COBALT_SOFTWARE_SURFACE_CACHE_SIZE_IN_BYTES)
   return COBALT_SOFTWARE_SURFACE_CACHE_SIZE_IN_BYTES;
@@ -219,10 +406,27 @@
 
 float Configuration::CobaltImageCacheCapacityMultiplierWhenPlayingVideo() {
   if (configuration_api_) {
+#if defined(COBALT_IMAGE_CACHE_CAPACITY_MULTIPLIER_WHEN_PLAYING_VIDEO)
+    LOG(ERROR)
+        << "COBALT_IMAGE_CACHE_CAPACITY_MULTIPLIER_WHEN_PLAYING_VIDEO and "
+           "CobaltExtensionConfigurationApi::"
+           "CobaltImageCacheCapacityMultiplierWhenPlayingVideo() "
+           "are both defined. Remove "
+           "'image_cache_capacity_multiplier_when_playing_video' "
+           "from your \"gyp_configuration.gypi\" file in favor of "
+           "using CobaltImageCacheCapacityMultiplierWhenPlayingVideo().";
+#endif
     return configuration_api_
         ->CobaltImageCacheCapacityMultiplierWhenPlayingVideo();
   }
-#if SB_API_VERSION >= SB_FEATURE_GYP_CONFIGURATION_VERSION
+#if SB_API_VERSION >= 12
+#if defined(COBALT_IMAGE_CACHE_CAPACITY_MULTIPLIER_WHEN_PLAYING_VIDEO)
+// NOLINTNEXTLINE(whitespace/line_length)
+#error "COBALT_IMAGE_CACHE_CAPACITY_MULTIPLIER_WHEN_PLAYING_VIDEO is deprecated after Starboard version 12."
+// NOLINTNEXTLINE(whitespace/line_length)
+#error "Implement CobaltExtensionConfigurationApi::CobaltImageCacheCapacityMultiplierWhenPlayingVideo()"
+#error "instead."
+#endif
   return 1.0f;
 #elif defined(COBALT_IMAGE_CACHE_CAPACITY_MULTIPLIER_WHEN_PLAYING_VIDEO)
   return COBALT_IMAGE_CACHE_CAPACITY_MULTIPLIER_WHEN_PLAYING_VIDEO;
@@ -233,9 +437,25 @@
 
 int Configuration::CobaltJsGarbageCollectionThresholdInBytes() {
   if (configuration_api_) {
+#if defined(COBALT_JS_GARBAGE_COLLECTION_THRESHOLD_IN_BYTES)
+    LOG(ERROR) << "COBALT_JS_GARBAGE_COLLECTION_THRESHOLD_IN_BYTES and "
+                  "CobaltExtensionConfigurationApi::"
+                  "CobaltJsGarbageCollectionThresholdInBytes() "
+                  "are both defined. Remove "
+                  "'mozjs_garbage_collection_threshold_in_bytes' "
+                  "from your \"gyp_configuration.gypi\" file in favor of "
+                  "using CobaltJsGarbageCollectionThresholdInBytes().";
+#endif
     return configuration_api_->CobaltJsGarbageCollectionThresholdInBytes();
   }
-#if SB_API_VERSION >= SB_FEATURE_GYP_CONFIGURATION_VERSION
+#if SB_API_VERSION >= 12
+#if defined(COBALT_JS_GARBAGE_COLLECTION_THRESHOLD_IN_BYTES)
+// NOLINTNEXTLINE(whitespace/line_length)
+#error "COBALT_JS_GARBAGE_COLLECTION_THRESHOLD_IN_BYTES is deprecated after Starboard version 12."
+// NOLINTNEXTLINE(whitespace/line_length)
+#error "Implement CobaltExtensionConfigurationApi::CobaltJsGarbageCollectionThresholdInBytes()"
+#error "instead."
+#endif
   return 8 * 1024 * 1024;
 #elif defined(COBALT_JS_GARBAGE_COLLECTION_THRESHOLD_IN_BYTES)
   return COBALT_JS_GARBAGE_COLLECTION_THRESHOLD_IN_BYTES;
@@ -246,9 +466,22 @@
 
 int Configuration::CobaltSkiaGlyphAtlasWidth() {
   if (configuration_api_) {
+#if defined(COBALT_SKIA_GLYPH_ATLAS_WIDTH)
+    LOG(ERROR)
+        << "COBALT_SKIA_GLYPH_ATLAS_WIDTH and "
+           "CobaltExtensionConfigurationApi::CobaltSkiaGlyphAtlasWidth() "
+           "are both defined. Remove 'skia_glyph_atlas_width' "
+           "from your \"gyp_configuration.gypi\" file in favor of "
+           "using CobaltSkiaGlyphAtlasWidth().";
+#endif
     return configuration_api_->CobaltSkiaGlyphAtlasWidth();
   }
-#if SB_API_VERSION >= SB_FEATURE_GYP_CONFIGURATION_VERSION
+#if SB_API_VERSION >= 12
+#if defined(COBALT_SKIA_GLYPH_ATLAS_WIDTH)
+#error "COBALT_SKIA_GLYPH_ATLAS_WIDTH is deprecated after Starboard version 12."
+#error "Implement CobaltExtensionConfigurationApi::CobaltSkiaGlyphAtlasWidth()"
+#error "instead."
+#endif
   return 2048;
 #elif defined(COBALT_SKIA_GLYPH_ATLAS_WIDTH)
   return COBALT_SKIA_GLYPH_ATLAS_WIDTH;
@@ -259,9 +492,23 @@
 
 int Configuration::CobaltSkiaGlyphAtlasHeight() {
   if (configuration_api_) {
+#if defined(COBALT_SKIA_GLYPH_ATLAS_HEIGHT)
+    LOG(ERROR)
+        << "COBALT_SKIA_GLYPH_ATLAS_HEIGHT and "
+           "CobaltExtensionConfigurationApi::CobaltSkiaGlyphAtlasHeight() "
+           "are both defined. Remove 'skia_glyph_atlas_height' "
+           "from your \"gyp_configuration.gypi\" file in favor of "
+           "using CobaltSkiaGlyphAtlasHeight().";
+#endif
     return configuration_api_->CobaltSkiaGlyphAtlasHeight();
   }
-#if SB_API_VERSION >= SB_FEATURE_GYP_CONFIGURATION_VERSION
+#if SB_API_VERSION >= 12
+#if defined(COBALT_SKIA_GLYPH_ATLAS_HEIGHT)
+#error \
+    "COBALT_SKIA_GLYPH_ATLAS_HEIGHT is deprecated after Starboard version 12."
+#error "Implement CobaltExtensionConfigurationApi::CobaltSkiaGlyphAtlasHeight()"
+#error "instead."
+#endif
   return 2048;
 #elif defined(COBALT_SKIA_GLYPH_ATLAS_HEIGHT)
   return COBALT_SKIA_GLYPH_ATLAS_HEIGHT;
@@ -272,9 +519,21 @@
 
 int Configuration::CobaltReduceCpuMemoryBy() {
   if (configuration_api_) {
+#if defined(COBALT_REDUCE_CPU_MEMORY_BY)
+    LOG(ERROR) << "COBALT_REDUCE_CPU_MEMORY_BY and "
+                  "CobaltExtensionConfigurationApi::CobaltReduceCpuMemoryBy() "
+                  "are both defined. Remove 'reduce_cpu_memory_by' "
+                  "from your \"gyp_configuration.gypi\" file in favor of "
+                  "using CobaltReduceCpuMemoryBy().";
+#endif
     return configuration_api_->CobaltReduceCpuMemoryBy();
   }
-#if SB_API_VERSION >= SB_FEATURE_GYP_CONFIGURATION_VERSION
+#if SB_API_VERSION >= 12
+#if defined(COBALT_REDUCE_CPU_MEMORY_BY)
+#error "COBALT_REDUCE_CPU_MEMORY_BY is deprecated after Starboard version 12."
+#error "Implement CobaltExtensionConfigurationApi::CobaltReduceCpuMemoryBy()"
+#error "instead."
+#endif
   return -1;
 #elif defined(COBALT_REDUCE_CPU_MEMORY_BY)
   return COBALT_REDUCE_CPU_MEMORY_BY;
@@ -285,9 +544,21 @@
 
 int Configuration::CobaltReduceGpuMemoryBy() {
   if (configuration_api_) {
+#if defined(COBALT_REDUCE_GPU_MEMORY_BY)
+    LOG(ERROR) << "COBALT_REDUCE_GPU_MEMORY_BY and "
+                  "CobaltExtensionConfigurationApi::CobaltReduceGpuMemoryBy() "
+                  "are both defined. Remove 'reduce_gpu_memory_by' "
+                  "from your \"gyp_configuration.gypi\" file in favor of "
+                  "using CobaltReduceGpuMemoryBy().";
+#endif
     return configuration_api_->CobaltReduceGpuMemoryBy();
   }
-#if SB_API_VERSION >= SB_FEATURE_GYP_CONFIGURATION_VERSION
+#if SB_API_VERSION >= 12
+#if defined(COBALT_REDUCE_GPU_MEMORY_BY)
+#error "COBALT_REDUCE_GPU_MEMORY_BY is deprecated after Starboard version 12."
+#error "Implement CobaltExtensionConfigurationApi::CobaltReduceGpuMemoryBy()"
+#error "instead."
+#endif
   return -1;
 #elif defined(COBALT_REDUCE_GPU_MEMORY_BY)
   return COBALT_REDUCE_GPU_MEMORY_BY;
@@ -298,9 +569,21 @@
 
 bool Configuration::CobaltGcZeal() {
   if (configuration_api_) {
+#if defined(COBALT_GC_ZEAL)
+    LOG(ERROR) << "COBALT_GC_ZEAL and "
+                  "CobaltExtensionConfigurationApi::CobaltGcZeal() "
+                  "are both defined. Remove 'cobalt_gc_zeal' "
+                  "from your \"gyp_configuration.gypi\" file in favor of "
+                  "using CobaltGcZeal().";
+#endif
     return configuration_api_->CobaltGcZeal();
   }
-#if SB_API_VERSION >= SB_FEATURE_GYP_CONFIGURATION_VERSION
+#if SB_API_VERSION >= 12
+#if defined(COBALT_GC_ZEAL)
+#error "COBALT_GC_ZEAL is deprecated after Starboard version 12."
+#error "Implement CobaltExtensionConfigurationApi::CobaltGcZeal()"
+#error "instead."
+#endif
   return false;
 #elif defined(COBALT_GC_ZEAL)
   return true;
@@ -311,9 +594,24 @@
 
 const char* Configuration::CobaltRasterizerType() {
   if (configuration_api_) {
+#if defined(COBALT_FORCE_STUB_RASTERIZER) || \
+    defined(COBALT_FORCE_DIRECT_GLES_RASTERIZER)
+    LOG(ERROR) << "COBALT_FORCE_STUB_RASTERIZER or "
+                  "COBALT_FORCE_DIRECT_GLES_RASTERIZER and "
+                  "CobaltExtensionConfigurationApi::CobaltRasterizerType() "
+                  "are both defined. Remove 'rasterizer_type' "
+                  "from your \"gyp_configuration.gypi\" file in favor of "
+                  "using CobaltRasterizerType().";
+#endif
     return configuration_api_->CobaltRasterizerType();
   }
-#if SB_API_VERSION >= SB_FEATURE_GYP_CONFIGURATION_VERSION
+#if SB_API_VERSION >= 12
+#if defined(COBALT_FORCE_STUB_RASTERIZER) || \
+    defined(COBALT_FORCE_DIRECT_GLES_RASTERIZER)
+#error "COBALT_FORCE_STUB_RASTERIZER and COBALT_FORCE_DIRECT_GLES_RASTERIZER"
+#error "are deprecated after Starboard version 12. Implement"
+#error "CobaltExtensionConfigurationApi::CobaltRasterizerType() instead."
+#endif
   return "direct-gles";
 #elif defined(COBALT_FORCE_STUB_RASTERIZER)
   return "stub";
@@ -326,9 +624,22 @@
 
 bool Configuration::CobaltEnableJit() {
   if (configuration_api_) {
+#if defined(ENGINE_SUPPORTS_JIT) || defined(COBALT_DISABLE_JIT)
+    LOG(ERROR) << "ENGINE_SUPPORTS_JIT or COBALT_DISABLE_JIT and "
+                  "CobaltExtensionConfigurationApi::CobaltEnableJit() "
+                  "are both defined. Remove 'cobalt_enable_jit' "
+                  "from your \"gyp_configuration.gypi\" file in favor of "
+                  "using CobaltEnableJit().";
+#endif
     return configuration_api_->CobaltEnableJit();
   }
-#if SB_API_VERSION >= SB_FEATURE_GYP_CONFIGURATION_VERSION
+#if SB_API_VERSION >= 12
+#if defined(ENGINE_SUPPORTS_JIT) || defined(COBALT_DISABLE_JIT)
+#error "ENGINE_SUPPORTS_JIT and COBALT_DISABLE_JIT are deprecated after"
+#error "Starboard version 12."
+#error "Implement CobaltExtensionConfigurationApi::CobaltEnableJit()"
+#error "instead."
+#endif
   return false;
 #elif defined(ENGINE_SUPPORTS_JIT)
   return true;
diff --git a/src/cobalt/configuration/configuration.gyp b/src/cobalt/configuration/configuration.gyp
index c3d4404..e60f45e 100644
--- a/src/cobalt/configuration/configuration.gyp
+++ b/src/cobalt/configuration/configuration.gyp
@@ -22,14 +22,144 @@
         'configuration.h',
       ],
       'conditions': [
-        ['rasterizer_type == "stub"', {
+        ['cobalt_user_on_exit_strategy != ""', {
           'defines': [
-            'COBALT_FORCE_STUB_RASTERIZER',
+            'COBALT_USER_ON_EXIT_STRATEGY="<(cobalt_user_on_exit_strategy)"',
           ],
         }],
-        ['rasterizer_type == "direct-gles"', {
+        ['render_dirty_region_only != -1', {
           'defines': [
-            'COBALT_FORCE_DIRECT_GLES_RASTERIZER',
+            'COBALT_RENDER_DIRTY_REGION_ONLY=<(render_dirty_region_only)',
+          ],
+        }],
+        ['cobalt_egl_swap_interval != -1', {
+          'defines': [
+            'COBALT_EGL_SWAP_INTERVAL=<(cobalt_egl_swap_interval)',
+          ],
+        }],
+        ['fallback_splash_screen_url != ""', {
+          'defines': [
+            'COBALT_FALLBACK_SPLASH_SCREEN_URL="<(fallback_splash_screen_url)"',
+          ],
+        }],
+        ['cobalt_enable_quic != -1', {
+          'defines': [
+            'COBALT_ENABLE_QUIC',
+          ],
+        }],
+        ['skia_cache_size_in_bytes != -1', {
+          'defines': [
+            'COBALT_SKIA_CACHE_SIZE_IN_BYTES=<(skia_cache_size_in_bytes)',
+          ],
+        }],
+        ['offscreen_target_cache_size_in_bytes != -1', {
+          'defines': [
+            'COBALT_OFFSCREEN_TARGET_CACHE_SIZE_IN_BYTES=<(offscreen_target_cache_size_in_bytes)',
+          ],
+        }],
+        ['encoded_image_cache_size_in_bytes != -1', {
+          'defines': [
+            'COBALT_ENCODED_IMAGE_CACHE_SIZE_IN_BYTES=<(encoded_image_cache_size_in_bytes)',
+          ],
+        }],
+        ['image_cache_size_in_bytes != -1', {
+          'defines': [
+            'COBALT_IMAGE_CACHE_SIZE_IN_BYTES=<(image_cache_size_in_bytes)',
+          ],
+        }],
+        ['local_font_cache_size_in_bytes != -1', {
+          'defines': [
+            'COBALT_LOCAL_TYPEFACE_CACHE_SIZE_IN_BYTES=<(local_font_cache_size_in_bytes)',
+          ],
+        }],
+        ['remote_font_cache_size_in_bytes != -1', {
+          'defines': [
+            'COBALT_REMOTE_TYPEFACE_CACHE_SIZE_IN_BYTES=<(remote_font_cache_size_in_bytes)',
+          ],
+        }],
+        ['mesh_cache_size_in_bytes != -1', {
+          'conditions': [
+            ['mesh_cache_size_in_bytes == "auto"', {
+              'defines': [
+                'COBALT_MESH_CACHE_SIZE_IN_BYTES=1*1024*1024',
+              ],
+            }, {
+              'defines': [
+                'COBALT_MESH_CACHE_SIZE_IN_BYTES=<(mesh_cache_size_in_bytes)',
+              ],
+            }],
+          ],
+        }],
+        ['software_surface_cache_size_in_bytes != -1', {
+          'defines': [
+            'COBALT_SOFTWARE_SURFACE_CACHE_SIZE_IN_BYTES=<(software_surface_cache_size_in_bytes)',
+          ],
+        }],
+        ['image_cache_capacity_multiplier_when_playing_video != ""', {
+          'defines': [
+            'COBALT_IMAGE_CACHE_CAPACITY_MULTIPLIER_WHEN_PLAYING_VIDEO=<(image_cache_capacity_multiplier_when_playing_video)'
+          ],
+        }],
+        ['mozjs_garbage_collection_threshold_in_bytes != -1', {
+          'defines': [
+            'COBALT_JS_GARBAGE_COLLECTION_THRESHOLD_IN_BYTES=<(mozjs_garbage_collection_threshold_in_bytes)',
+          ],
+        }],
+        ['skia_glyph_atlas_width != -1', {
+          'defines': [
+            'COBALT_SKIA_GLYPH_ATLAS_WIDTH=<(skia_glyph_atlas_width)',
+          ],
+        }],
+        ['skia_glyph_atlas_height != -1', {
+          'defines': [
+            'COBALT_SKIA_GLYPH_ATLAS_HEIGHT=<(skia_glyph_atlas_height)',
+          ],
+        }],
+        ['reduce_cpu_memory_by != -1', {
+          'defines': [
+            'COBALT_REDUCE_CPU_MEMORY_BY=<(reduce_cpu_memory_by)',
+          ],
+        }],
+        ['reduce_gpu_memory_by != -1', {
+          'defines': [
+            'COBALT_REDUCE_GPU_MEMORY_BY=<(reduce_gpu_memory_by)',
+          ],
+        }],
+        ['cobalt_gc_zeal != -1', {
+          'defines': [
+            'COBALT_GC_ZEAL',
+          ],
+        }],
+        ['rasterizer_type != ""', {
+          'conditions': [
+            ['rasterizer_type == "stub"', {
+              'defines': [
+                'COBALT_FORCE_STUB_RASTERIZER',
+              ],
+            }],
+            ['rasterizer_type == "direct-gles"', {
+              'defines': [
+                'COBALT_FORCE_DIRECT_GLES_RASTERIZER',
+              ],
+            }],
+          ],
+        }],
+        ['cobalt_enable_jit != -1', {
+          'conditions': [
+            ['cobalt_enable_jit == 1', {
+              'defines': [ 'ENGINE_SUPPORTS_JIT' ],
+            }, {
+              'defines': [ 'COBALT_DISABLE_JIT' ],
+            }],
+          ],
+        }],
+        ['cobalt_enable_jit != -1', {
+          'conditions': [
+            ['cobalt_enable_jit == 1', {
+              'defines': [ 'ENGINE_SUPPORTS_JIT' ],
+            }, {
+              'defines': [ 'COBALT_DISABLE_JIT' ],
+            }],
           ],
         }],
       ],
diff --git a/src/cobalt/content/fonts/config/android/fonts.xml b/src/cobalt/content/fonts/config/android/fonts.xml
index c9dafe1..a39f238 100644
--- a/src/cobalt/content/fonts/config/android/fonts.xml
+++ b/src/cobalt/content/fonts/config/android/fonts.xml
@@ -176,15 +176,21 @@
     </family>
     <family>
         <font weight="400" style="normal">NotoSansArmenian-Regular.ttf</font>
+        <font weight="400" style="normal">NotoSansArmenian-Regular.otf</font>
         <font weight="700" style="normal">NotoSansArmenian-Bold.ttf</font>
+        <font weight="700" style="normal">NotoSansArmenian-Bold.otf</font>
     </family>
     <family>
         <font weight="400" style="normal">NotoSansGeorgian-Regular.ttf</font>
+        <font weight="400" style="normal">NotoSansGeorgian-Regular.otf</font>
         <font weight="700" style="normal">NotoSansGeorgian-Bold.ttf</font>
+        <font weight="700" style="normal">NotoSansGeorgian-Bold.otf</font>
     </family>
     <family>
         <font weight="400" style="normal">NotoSansDevanagariUI-Regular.ttf</font>
+        <font weight="400" style="normal">NotoSansDevanagariUI-Regular.otf</font>
         <font weight="700" style="normal">NotoSansDevanagariUI-Bold.ttf</font>
+        <font weight="700" style="normal">NotoSansDevanagariUI-Bold.otf</font>
     </family>
     <!-- Gujarati should come after Devanagari -->
     <family>
@@ -198,15 +204,21 @@
     </family>
     <family>
         <font weight="400" style="normal">NotoSansTamilUI-Regular.ttf</font>
+        <font weight="400" style="normal">NotoSansTamilUI-Regular.otf</font>
         <font weight="700" style="normal">NotoSansTamilUI-Bold.ttf</font>
+        <font weight="700" style="normal">NotoSansTamilUI-Bold.otf</font>
     </family>
     <family>
         <font weight="400" style="normal">NotoSansMalayalamUI-Regular.ttf</font>
+        <font weight="400" style="normal">NotoSansMalayalamUI-Regular.otf</font>
         <font weight="700" style="normal">NotoSansMalayalamUI-Bold.ttf</font>
+        <font weight="700" style="normal">NotoSansMalayalamUI-Bold.otf</font>
     </family>
     <family>
         <font weight="400" style="normal">NotoSansBengaliUI-Regular.ttf</font>
+        <font weight="400" style="normal">NotoSansBengaliUI-Regular.otf</font>
         <font weight="700" style="normal">NotoSansBengaliUI-Bold.ttf</font>
+        <font weight="700" style="normal">NotoSansBengaliUI-Bold.otf</font>
     </family>
     <family>
         <font weight="400" style="normal">NotoSansTeluguUI-Regular.ttf</font>
@@ -222,7 +234,9 @@
     </family>
     <family>
         <font weight="400" style="normal">NotoSansSinhala-Regular.ttf</font>
+        <font weight="400" style="normal">NotoSansSinhala-Regular.otf</font>
         <font weight="700" style="normal">NotoSansSinhala-Bold.ttf</font>
+        <font weight="700" style="normal">NotoSansSinhala-Bold.otf</font>
     </family>
     <family>
         <font weight="400" style="normal">NotoSansKhmerUI-Regular.ttf</font>
@@ -234,7 +248,9 @@
     </family>
     <family>
         <font weight="400" style="normal">NotoSansMyanmarUI-Regular.ttf</font>
+        <font weight="400" style="normal">NotoSansMyanmarUI-Regular.otf</font>
         <font weight="700" style="normal">NotoSansMyanmarUI-Bold.ttf</font>
+        <font weight="700" style="normal">NotoSansMyanmarUI-Bold.otf</font>
     </family>
     <family>
         <font weight="400" style="normal">NotoSansThaana-Regular.ttf</font>
diff --git a/src/cobalt/content/fonts/config/common/fonts.xml b/src/cobalt/content/fonts/config/common/fonts.xml
index 766e6e2..8f84727 100644
--- a/src/cobalt/content/fonts/config/common/fonts.xml
+++ b/src/cobalt/content/fonts/config/common/fonts.xml
@@ -107,18 +107,6 @@
     <!-- first family is default -->
     <package name="sans-serif">
         <family name="sans-serif">
-            <font weight="100" style="normal" font_name="Roboto Thin" postscript_name="Roboto-Thin">Roboto-Thin.ttf</font>
-            <font weight="100" style="italic" font_name="Roboto Thin Italic" postscript_name="Roboto-Thin-Italic">Roboto-ThinItalic.ttf</font>
-            <font weight="300" style="normal" font_name="Roboto Light" postscript_name="Roboto-Light">Roboto-Light.ttf</font>
-            <font weight="300" style="italic" font_name="Roboto Light Italic" postscript_name="Roboto-Light-Italic">Roboto-LightItalic.ttf</font>
-            <font weight="400" style="normal" font_name="Roboto Regular" postscript_name="Roboto-Regular">Roboto-Regular.ttf</font>
-            <font weight="400" style="italic" font_name="Roboto Regular Italic" postscript_name="Roboto-Italic">Roboto-Italic.ttf</font>
-            <font weight="500" style="normal" font_name="Roboto Medium" postscript_name="Roboto-Medium">Roboto-Medium.ttf</font>
-            <font weight="500" style="italic" font_name="Roboto Medium Italic" postscript_name="Roboto-Medium-Italic">Roboto-MediumItalic.ttf</font>
-            <font weight="700" style="normal" font_name="Roboto Bold" postscript_name="Roboto-Bold">Roboto-Bold.ttf</font>
-            <font weight="700" style="italic" font_name="Roboto Bold Italic" postscript_name="Roboto-BoldItalic">Roboto-BoldItalic.ttf</font>
-            <font weight="900" style="normal" font_name="Roboto Black" postscript_name="Roboto-Black">Roboto-Black.ttf</font>
-            <font weight="900" style="italic" font_name="Roboto Black Italic" postscript_name="Roboto-Black-Italic">Roboto-BlackItalic.ttf</font>
             <font weight="100" style="normal" font_name="Roboto Thin" postscript_name="Roboto-Thin">Roboto-Thin.woff2</font>
             <font weight="100" style="italic" font_name="Roboto Thin Italic" postscript_name="Roboto-Thin-Italic">Roboto-ThinItalic.woff2</font>
             <font weight="300" style="normal" font_name="Roboto Light" postscript_name="Roboto-Light">Roboto-Light.woff2</font>
@@ -139,35 +127,35 @@
     <package name="!sans-serif">
         <!-- This is the default font when Roboto is unavailable. -->
         <family pages="0">
-            <font weight="400" style="normal">Roboto-Regular-Subsetted.ttf</font>
+            <font weight="400" style="normal">Roboto-Regular-Subsetted.woff2</font>
         </family>
     </package>
     <package name="serif">
         <family name="serif">
-            <font weight="400" style="normal" font_name="Noto Serif" postscript_name="NotoSerif">NotoSerif-Regular.ttf</font>
-            <font weight="400" style="italic" font_name="Noto Serif Italic" postscript_name="NotoSerif-Italic">NotoSerif-Italic.ttf</font>
-            <font weight="700" style="normal" font_name="Noto Serif Bold" postscript_name="NotoSerif-Bold">NotoSerif-Bold.ttf</font>
-            <font weight="700" style="italic" font_name="Noto Serif Bold Italic" postscript_name="NotoSerif-BoldItalic">NotoSerif-BoldItalic.ttf</font>
+            <font weight="400" style="normal" font_name="Noto Serif" postscript_name="NotoSerif">NotoSerif-Regular.woff2</font>
+            <font weight="400" style="italic" font_name="Noto Serif Italic" postscript_name="NotoSerif-Italic">NotoSerif-Italic.woff2</font>
+            <font weight="700" style="normal" font_name="Noto Serif Bold" postscript_name="NotoSerif-Bold">NotoSerif-Bold.woff2</font>
+            <font weight="700" style="italic" font_name="Noto Serif Bold Italic" postscript_name="NotoSerif-BoldItalic">NotoSerif-BoldItalic.woff2</font>
         </family>
         <alias name="fantasy" to="serif" />
     </package>
     <package name="fcc-captions">
         <family name="monospace">
-            <font weight="400" style="normal" font_name="Droid Sans Mono" postscript_name="DroidSansMono">DroidSansMono.ttf</font>
+            <font weight="400" style="normal" font_name="Droid Sans Mono" postscript_name="DroidSansMono">DroidSansMono.woff2</font>
         </family>
         <alias name="sans-serif-monospace" to="monospace" />
         <family name="serif-monospace">
-            <font weight="400" style="normal" font_name="Cutive Mono" postscript_name="CutiveMono-Regular">CutiveMono.ttf</font>
+            <font weight="400" style="normal" font_name="Cutive Mono" postscript_name="CutiveMono-Regular">CutiveMono.woff2</font>
         </family>
         <family name="casual">
-            <font weight="400" style="normal" font_name="Coming Soon" postscript_name="ComingSoon">ComingSoon.ttf</font>
+            <font weight="400" style="normal" font_name="Coming Soon" postscript_name="ComingSoon">ComingSoon.woff2</font>
         </family>
         <family name="cursive">
-            <font weight="400" style="normal" font_name="Dancing Script" postscript_name="DancingScript">DancingScript-Regular.ttf</font>
-            <font weight="700" style="normal" font_name="Dancing Script Bold" postscript_name="DancingScript-Bold">DancingScript-Bold.ttf</font>
+            <font weight="400" style="normal" font_name="Dancing Script" postscript_name="DancingScript">DancingScript-Regular.woff2</font>
+            <font weight="700" style="normal" font_name="Dancing Script Bold" postscript_name="DancingScript-Bold">DancingScript-Bold.woff2</font>
         </family>
         <family name="sans-serif-smallcaps">
-            <font weight="400" style="normal" font_name="Carrois Gothic SC" postscript_name="CarroisGothicSC-Regular">CarroisGothicSC-Regular.ttf</font>
+            <font weight="400" style="normal" font_name="Carrois Gothic SC" postscript_name="CarroisGothicSC-Regular">CarroisGothicSC-Regular.woff2</font>
         </family>
     </package>
 
@@ -177,372 +165,372 @@
              of having a name, it will still be included as a fallback font.
         -->
         <family fallback_priority="0" name="Noto Naskh Arabic UI" pages="0,6-8,32,37,46,251-254">
-            <font weight="400" style="normal">NotoNaskhArabicUI-Regular.ttf</font>
-            <font weight="700" style="normal">NotoNaskhArabicUI-Bold.ttf</font>
+            <font weight="400" style="normal">NotoNaskhArabicUI-Regular.woff2</font>
+            <font weight="700" style="normal">NotoNaskhArabicUI-Bold.woff2</font>
         </family>
         <family pages="0,18-19,45,171,254">
-            <font weight="400" style="normal">NotoSansEthiopic-Regular.ttf</font>
-            <font weight="700" style="normal">NotoSansEthiopic-Bold.ttf</font>
+            <font weight="400" style="normal">NotoSansEthiopic-Regular.woff2</font>
+            <font weight="700" style="normal">NotoSansEthiopic-Bold.woff2</font>
         </family>
         <family pages="0,5,32,37,251,254">
-            <font weight="400" style="normal">NotoSansHebrew-Regular.ttf</font>
-            <font weight="700" style="normal">NotoSansHebrew-Bold.ttf</font>
+            <font weight="400" style="normal">NotoSansHebrew-Regular.woff2</font>
+            <font weight="700" style="normal">NotoSansHebrew-Bold.woff2</font>
         </family>
         <family pages="0,2-3,14,32,37,254">
-            <font weight="400" style="normal">NotoSansThaiUI-Regular.ttf</font>
-            <font weight="700" style="normal">NotoSansThaiUI-Bold.ttf</font>
+            <font weight="400" style="normal">NotoSansThaiUI-Regular.woff2</font>
+            <font weight="700" style="normal">NotoSansThaiUI-Bold.woff2</font>
         </family>
         <family pages="0,5,32,251">
-            <font weight="400" style="normal">NotoSansArmenian-Regular.ttf</font>
-            <font weight="700" style="normal">NotoSansArmenian-Bold.ttf</font>
+            <font weight="400" style="normal">NotoSansArmenian-Regular.woff2</font>
+            <font weight="700" style="normal">NotoSansArmenian-Bold.woff2</font>
         </family>
         <family pages="0,5,16,45,254">
-            <font weight="400" style="normal">NotoSansGeorgian-Regular.ttf</font>
-            <font weight="700" style="normal">NotoSansGeorgian-Bold.ttf</font>
+            <font weight="400" style="normal">NotoSansGeorgian-Regular.woff2</font>
+            <font weight="700" style="normal">NotoSansGeorgian-Bold.woff2</font>
         </family>
         <family pages="0,2,9,28,32,34,37,168,254">
-            <font weight="400" style="normal">NotoSansDevanagariUI-Regular.ttf</font>
-            <font weight="700" style="normal">NotoSansDevanagariUI-Bold.ttf</font>
+            <font weight="400" style="normal">NotoSansDevanagariUI-Regular.woff2</font>
+            <font weight="700" style="normal">NotoSansDevanagariUI-Bold.woff2</font>
         </family>
         <!-- Gujarati should come after Devanagari -->
         <family pages="0,9-10,32,34,37,168,254">
-            <font weight="400" style="normal">NotoSansGujaratiUI-Regular.ttf</font>
-            <font weight="700" style="normal">NotoSansGujaratiUI-Bold.ttf</font>
+            <font weight="400" style="normal">NotoSansGujaratiUI-Regular.woff2</font>
+            <font weight="700" style="normal">NotoSansGujaratiUI-Bold.woff2</font>
         </family>
         <!-- Gurmukhi should come after Devanagari -->
         <family pages="0,9-10,32,34,37-38,168,254">
-            <font weight="400" style="normal">NotoSansGurmukhiUI-Regular.ttf</font>
-            <font weight="700" style="normal">NotoSansGurmukhiUI-Bold.ttf</font>
+            <font weight="400" style="normal">NotoSansGurmukhiUI-Regular.woff2</font>
+            <font weight="700" style="normal">NotoSansGurmukhiUI-Bold.woff2</font>
         </family>
         <family pages="0,9,11,32,34,37,254">
-            <font weight="400" style="normal">NotoSansTamilUI-Regular.ttf</font>
-            <font weight="700" style="normal">NotoSansTamilUI-Bold.ttf</font>
+            <font weight="400" style="normal">NotoSansTamilUI-Regular.woff2</font>
+            <font weight="700" style="normal">NotoSansTamilUI-Bold.woff2</font>
         </family>
         <family pages="0,3,9,13,32,34,37,254">
-            <font weight="400" style="normal">NotoSansMalayalamUI-Regular.ttf</font>
-            <font weight="700" style="normal">NotoSansMalayalamUI-Bold.ttf</font>
+            <font weight="400" style="normal">NotoSansMalayalamUI-Regular.woff2</font>
+            <font weight="700" style="normal">NotoSansMalayalamUI-Bold.woff2</font>
         </family>
         <family pages="0,9,32,34,37,254">
-            <font weight="400" style="normal">NotoSansBengaliUI-Regular.ttf</font>
-            <font weight="700" style="normal">NotoSansBengaliUI-Bold.ttf</font>
+            <font weight="400" style="normal">NotoSansBengaliUI-Regular.woff2</font>
+            <font weight="700" style="normal">NotoSansBengaliUI-Bold.woff2</font>
         </family>
         <family pages="0,9,12,32,34,37,254">
-            <font weight="400" style="normal">NotoSansTeluguUI-Regular.ttf</font>
-            <font weight="700" style="normal">NotoSansTeluguUI-Bold.ttf</font>
+            <font weight="400" style="normal">NotoSansTeluguUI-Regular.woff2</font>
+            <font weight="700" style="normal">NotoSansTeluguUI-Bold.woff2</font>
         </family>
         <family pages="0,9,12,32,34,37,254">
-            <font weight="400" style="normal">NotoSansKannadaUI-Regular.ttf</font>
-            <font weight="700" style="normal">NotoSansKannadaUI-Bold.ttf</font>
+            <font weight="400" style="normal">NotoSansKannadaUI-Regular.woff2</font>
+            <font weight="700" style="normal">NotoSansKannadaUI-Bold.woff2</font>
         </family>
         <family pages="0,9,11,32,34,37,254">
-            <font weight="400" style="normal">NotoSansOriyaUI-Regular.ttf</font>
-            <font weight="700" style="normal">NotoSansOriyaUI-Bold.ttf</font>
+            <font weight="400" style="normal">NotoSansOriyaUI-Regular.woff2</font>
+            <font weight="700" style="normal">NotoSansOriyaUI-Bold.woff2</font>
         </family>
         <family pages="0,9,13,32,34,37,254">
-            <font weight="400" style="normal">NotoSansSinhala-Regular.ttf</font>
-            <font weight="700" style="normal">NotoSansSinhala-Bold.ttf</font>
+            <font weight="400" style="normal">NotoSansSinhala-Regular.woff2</font>
+            <font weight="700" style="normal">NotoSansSinhala-Bold.woff2</font>
         </family>
         <family pages="0,23,25,32,37">
-            <font weight="400" style="normal">NotoSansKhmerUI-Regular.ttf</font>
-            <font weight="700" style="normal">NotoSansKhmerUI-Bold.ttf</font>
+            <font weight="400" style="normal">NotoSansKhmerUI-Regular.woff2</font>
+            <font weight="700" style="normal">NotoSansKhmerUI-Bold.woff2</font>
         </family>
         <family pages="0,3,14,32,37">
-            <font weight="400" style="normal">NotoSansLaoUI-Regular.ttf</font>
-            <font weight="700" style="normal">NotoSansLaoUI-Bold.ttf</font>
+            <font weight="400" style="normal">NotoSansLaoUI-Regular.woff2</font>
+            <font weight="700" style="normal">NotoSansLaoUI-Bold.woff2</font>
         </family>
         <family pages="0,16,32,37,169-170,254">
-            <font weight="400" style="normal">NotoSansMyanmarUI-Regular.ttf</font>
-            <font weight="700" style="normal">NotoSansMyanmarUI-Bold.ttf</font>
+            <font weight="400" style="normal">NotoSansMyanmarUI-Regular.woff2</font>
+            <font weight="700" style="normal">NotoSansMyanmarUI-Bold.woff2</font>
         </family>
         <family pages="0,6-7,32,37,253-254">
-            <font weight="400" style="normal">NotoSansThaana-Regular.ttf</font>
-            <font weight="700" style="normal">NotoSansThaana-Bold.ttf</font>
+            <font weight="400" style="normal">NotoSansThaana-Regular.woff2</font>
+            <font weight="700" style="normal">NotoSansThaana-Bold.woff2</font>
         </family>
         <family pages="0,3,170">
-            <font weight="400" style="normal">NotoSansCham-Regular.ttf</font>
-            <font weight="700" style="normal">NotoSansCham-Bold.ttf</font>
+            <font weight="400" style="normal">NotoSansCham-Regular.woff2</font>
+            <font weight="700" style="normal">NotoSansCham-Bold.woff2</font>
         </family>
         <family pages="0,6,32,46,489">
-            <font weight="400" style="normal">NotoSansAdlam-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansAdlam-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-historic">
         <family pages="0,32,46,254,267">
-            <font weight="400" style="normal">NotoSansAvestan-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansAvestan-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-lang-non-cjk">
         <family pages="0,27,32,37,254">
-            <font weight="400" style="normal">NotoSansBalinese-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansBalinese-Regular.woff2</font>
         </family>
         <family pages="0,166,254,360-362">
-            <font weight="400" style="normal">NotoSansBamum-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansBamum-Regular.woff2</font>
         </family>
         <family pages="0,27,254">
-            <font weight="400" style="normal">NotoSansBatak-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansBatak-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-historic">
         <family pages="0,254,272">
-            <font weight="400" style="normal">NotoSansBrahmi-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansBrahmi-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-lang-non-cjk">
         <family pages="0,26,32,37,169,254">
-            <font weight="400" style="normal">NotoSansBuginese-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansBuginese-Regular.woff2</font>
         </family>
         <family pages="0,23,254">
-            <font weight="400" style="normal">NotoSansBuhid-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansBuhid-Regular.woff2</font>
         </family>
         <family pages="0-3,20-22,24,254">
-            <font weight="400" style="normal">NotoSansCanadianAboriginal-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansCanadianAboriginal-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-historic">
         <family pages="0,254,258">
-            <font weight="400" style="normal">NotoSansCarian-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansCarian-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-lang-non-cjk">
         <family pages="0,3,19,171">
-            <font weight="400" style="normal">NotoSansCherokee-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansCherokee-Regular.woff2</font>
         </family>
         <family pages="0,3,29,37,44,254">
-            <font weight="400" style="normal">NotoSansCoptic-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansCoptic-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-historic">
         <family pages="0,254,288-292">
-            <font weight="400" style="normal">NotoSansCuneiform-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansCuneiform-Regular.woff2</font>
         </family>
         <family pages="0,254,264">
-            <font weight="400" style="normal">NotoSansCypriot-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansCypriot-Regular.woff2</font>
         </family>
         <family pages="0,254,260">
-            <font weight="400" style="normal">NotoSansDeseret-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansDeseret-Regular.woff2</font>
         </family>
         <family pages="0,254,304-308">
-            <font weight="400" style="normal">NotoSansEgyptianHieroglyphs-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansEgyptianHieroglyphs-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-lang-non-cjk">
         <family pages="0,44,254">
-            <font weight="400" style="normal">NotoSansGlagolitic-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansGlagolitic-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-historic">
         <family pages="0,3,254,259">
-            <font weight="400" style="normal">NotoSansGothic-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansGothic-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-lang-non-cjk">
         <family pages="0,23,254">
-            <font weight="400" style="normal">NotoSansHanunoo-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansHanunoo-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-historic">
         <family pages="0,254,264">
-            <font weight="400" style="normal">NotoSansImperialAramaic-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansImperialAramaic-Regular.woff2</font>
         </family>
         <family pages="0,254,267">
-            <font weight="400" style="normal">NotoSansInscriptionalPahlavi-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansInscriptionalPahlavi-Regular.woff2</font>
         </family>
         <family pages="0,254,267">
-            <font weight="400" style="normal">NotoSansInscriptionalParthian-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansInscriptionalParthian-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-lang-non-cjk">
         <family pages="0,32,37,169,254">
-            <font weight="400" style="normal">NotoSansJavanese-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansJavanese-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-historic">
         <family pages="0,9,168,254,272">
-            <font weight="400" style="normal">NotoSansKaithi-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansKaithi-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-lang-non-cjk">
         <family pages="0,169,254">
-            <font weight="400" style="normal">NotoSansKayahLi-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansKayahLi-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-historic">
         <family pages="0,254,266">
-            <font weight="400" style="normal">NotoSansKharoshthi-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansKharoshthi-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-lang-non-cjk">
         <family pages="0,28,37,254">
-            <font weight="400" style="normal">NotoSansLepcha-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansLepcha-Regular.woff2</font>
         </family>
         <family pages="0,9,25,254">
-            <font weight="400" style="normal">NotoSansLimbu-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansLimbu-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-historic">
         <family pages="0,254,256-257">
-            <font weight="400" style="normal">NotoSansLinearB-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansLinearB-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-lang-non-cjk">
         <family pages="0,2,164,254">
-            <font weight="400" style="normal">NotoSansLisu-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansLisu-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-historic">
         <family pages="0,254,258">
-            <font weight="400" style="normal">NotoSansLycian-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansLycian-Regular.woff2</font>
         </family>
         <family pages="0,254,265">
-            <font weight="400" style="normal">NotoSansLydian-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansLydian-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-lang-non-cjk">
         <family pages="0,6,8,254">
-            <font weight="400" style="normal">NotoSansMandaic-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansMandaic-Regular.woff2</font>
         </family>
         <family pages="0,170-171,254">
-            <font weight="400" style="normal">NotoSansMeeteiMayek-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansMeeteiMayek-Regular.woff2</font>
         </family>
         <family pages="0,25,254">
-            <font weight="400" style="normal">NotoSansNewTaiLue-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansNewTaiLue-Regular.woff2</font>
         </family>
         <family pages="0,6-7,32,46,253-254">
-            <font weight="400" style="normal">NotoSansNKo-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansNKo-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-historic">
         <family pages="0,22,254">
-            <font weight="400" style="normal">NotoSansOgham-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansOgham-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-lang-non-cjk">
         <family pages="0,28,254">
-            <font weight="400" style="normal">NotoSansOlChiki-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansOlChiki-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-historic">
         <family pages="0,254,259">
-            <font weight="400" style="normal">NotoSansOldItalic-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansOldItalic-Regular.woff2</font>
         </family>
         <family pages="0,254,259">
-            <font weight="400" style="normal">NotoSansOldPersian-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansOldPersian-Regular.woff2</font>
         </family>
         <family pages="0,254,266">
-            <font weight="400" style="normal">NotoSansOldSouthArabian-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansOldSouthArabian-Regular.woff2</font>
         </family>
         <family pages="0,254,268">
-            <font weight="400" style="normal">NotoSansOldTurkic-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansOldTurkic-Regular.woff2</font>
         </family>
         <family pages="0,254,260">
-            <font weight="400" style="normal">NotoSansOsmanya-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansOsmanya-Regular.woff2</font>
         </family>
         <family pages="0,254,265">
-            <font weight="400" style="normal">NotoSansPhoenician-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansPhoenician-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-lang-non-cjk">
         <family pages="0,169,254">
-            <font weight="400" style="normal">NotoSansRejang-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansRejang-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-historic">
         <family pages="0,22,254">
-            <font weight="400" style="normal">NotoSansRunic-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansRunic-Regular.woff2</font>
         </family>
         <family pages="0,8,46,254">
-            <font weight="400" style="normal">NotoSansSamaritan-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansSamaritan-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-lang-non-cjk">
         <family pages="0,32,37,168,254">
-            <font weight="400" style="normal">NotoSansSaurashtra-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansSaurashtra-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-historic">
         <family pages="0,254,260">
-            <font weight="400" style="normal">NotoSansShavian-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansShavian-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-lang-non-cjk">
         <family pages="0,27-28,254">
-            <font weight="400" style="normal">NotoSansSundanese-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansSundanese-Regular.woff2</font>
         </family>
         <family pages="0,9,32,37,168,254">
-            <font weight="400" style="normal">NotoSansSylotiNagri-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansSylotiNagri-Regular.woff2</font>
         </family>
         <!-- Estrangela should precede Eastern and Western Syriac, since it's our default form. -->
         <family pages="0,3,6-7,32,34,37-38,254">
-            <font weight="400" style="normal">NotoSansSyriacEstrangela-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansSyriacEstrangela-Regular.woff2</font>
         </family>
         <family pages="0,3,6-7,32,34,37-38,254">
-            <font weight="400" style="normal">NotoSansSyriacEastern-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansSyriacEastern-Regular.woff2</font>
         </family>
         <family pages="0,3,6-7,32,34,37-38,254">
-            <font weight="400" style="normal">NotoSansSyriacWestern-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansSyriacWestern-Regular.woff2</font>
         </family>
         <family pages="0,23,254">
-            <font weight="400" style="normal">NotoSansTagalog-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansTagalog-Regular.woff2</font>
         </family>
         <family pages="0,23,254">
-            <font weight="400" style="normal">NotoSansTagbanwa-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansTagbanwa-Regular.woff2</font>
         </family>
         <family pages="0,26,32,34,37,254">
-            <font weight="400" style="normal">NotoSansTaiTham-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansTaiTham-Regular.woff2</font>
         </family>
         <family pages="0,32,37,167,170,254">
-            <font weight="400" style="normal">NotoSansTaiViet-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansTaiViet-Regular.woff2</font>
         </family>
         <family pages="0,15,32,37,254">
-            <font weight="400" style="normal">NotoSansTibetan-Regular.ttf</font>
-            <font weight="700" style="normal">NotoSansTibetan-Bold.ttf</font>
+            <font weight="400" style="normal">NotoSansTibetan-Regular.woff2</font>
+            <font weight="700" style="normal">NotoSansTibetan-Bold.woff2</font>
         </family>
         <family pages="0,3,32,45,254">
-            <font weight="400" style="normal">NotoSansTifinagh-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansTifinagh-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-historic">
         <family pages="0,254,259">
-            <font weight="400" style="normal">NotoSansUgaritic-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansUgaritic-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-lang-non-cjk">
         <family pages="0,165-166,254">
-            <font weight="400" style="normal">NotoSansVai-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansVai-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-symbols">
         <family pages="32-43,77,257,464-471,496-498,503">
-            <font weight="400" style="normal">NotoSansSymbols-Regular-Subsetted.ttf</font>
+            <font weight="400" style="normal">NotoSansSymbols-Regular-Subsetted.woff2</font>
         </family>
     </package>
     <package name="fallback-lang-cjk">
         <family lang="zh-Hans" pages="0-4,17,30,32-39,41,43,46-159,169,172-215,249-251,254-255,497-498,512-658,660-682,685,687,689,691-696,698-702,704-718,760-761">
-            <font weight="400" style="normal" index="2">NotoSansCJK-Regular.ttc</font>
+            <font weight="400" style="normal" index="2">NotoSansCJK-Regular.woff2</font>
         </family>
         <family lang="zh-Hant" pages="0-4,17,30,32-39,41,43,46-159,169,172-215,249-251,254-255,497-498,512-658,660-682,685,687,689,691-696,698-702,704-718,760-761">
-            <font weight="400" style="normal" index="3">NotoSansCJK-Regular.ttc</font>
+            <font weight="400" style="normal" index="3">NotoSansCJK-Regular.woff2</font>
         </family>
         <family lang="ja" pages="0-4,17,30,32-39,41,43,46-159,169,172-215,249-251,254-255,497-498,512-658,660-682,685,687,689,691-696,698-702,704-718,760-761">
-            <font weight="400" style="normal" index="0">NotoSansCJK-Regular.ttc</font>
+            <font weight="400" style="normal" index="0">NotoSansCJK-Regular.woff2</font>
         </family>
         <family lang="ko" pages="0-4,17,30,32-39,41,43,46-159,169,172-215,249-251,254-255,497-498,512-658,660-682,685,687,689,691-696,698-702,704-718,760-761">
-            <font weight="400" style="normal" index="1">NotoSansCJK-Regular.ttc</font>
+            <font weight="400" style="normal" index="1">NotoSansCJK-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-color-emoji">
         <family pages="0,32-33,35-39,41,43,48,50,496-502,505,3584,4068,4072">
-            <font weight="400" style="normal" disable_synthetic_bolding="true">NotoColorEmoji.ttf</font>
+            <font weight="400" style="normal" disable_synthetic_bolding="true">NotoColorEmoji.woff2</font>
         </family>
     </package>
     <package name="fallback-emoji">
         <family pages="0,32-33,35-39,41,43,48,50,254,496-502,4068,4072">
-            <font weight="400" style="normal">NotoEmoji-Regular.ttf</font>
+            <font weight="400" style="normal">NotoEmoji-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-symbols">
         <family pages="35,37-39,43,496-498">
-            <font weight="400" style="normal">NotoSansSymbols-Regular-Subsetted2.ttf</font>
+            <font weight="400" style="normal">NotoSansSymbols-Regular-Subsetted2.woff2</font>
         </family>
     </package>
     <package name="fallback-lang-cjk-low-quality">
@@ -552,7 +540,7 @@
             Cobalt's standards.
         -->
         <family pages="0,14,17,32,48-51,77-159,172-215,249-250,254-255,260">
-            <font weight="400" style="normal" disable_synthetic_bolding="true">DroidSansFallback.ttf</font>
+            <font weight="400" style="normal" disable_synthetic_bolding="true">DroidSansFallback.woff2</font>
         </family>
     </package>
     <package name="fallback-lang-non-cjk">
@@ -561,18 +549,18 @@
             override the East Asian punctuation for Chinese.
         -->
         <family pages="0,3,16,25,48,254">
-            <font weight="400" style="normal">NotoSansTaiLe-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansTaiLe-Regular.woff2</font>
         </family>
         <family pages="0,48,160-164,254-255">
-            <font weight="400" style="normal">NotoSansYi-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansYi-Regular.woff2</font>
         </family>
         <family pages="0,24,32,36-37,48,254">
-            <font weight="400" style="normal">NotoSansMongolian-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansMongolian-Regular.woff2</font>
         </family>
     </package>
     <package name="fallback-historic">
         <family pages="0,24,32,37,48,168,254">
-            <font weight="400" style="normal">NotoSansPhagsPa-Regular.ttf</font>
+            <font weight="400" style="normal">NotoSansPhagsPa-Regular.woff2</font>
         </family>
     </package>
 </familyset>
diff --git a/src/cobalt/content/fonts/font_files/CarroisGothicSC-Regular.ttf b/src/cobalt/content/fonts/font_files/CarroisGothicSC-Regular.ttf
deleted file mode 100644
index d0281c7..0000000
--- a/src/cobalt/content/fonts/font_files/CarroisGothicSC-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/CarroisGothicSC-Regular.woff2 b/src/cobalt/content/fonts/font_files/CarroisGothicSC-Regular.woff2
new file mode 100644
index 0000000..ae7d224
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/CarroisGothicSC-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/ComingSoon.ttf b/src/cobalt/content/fonts/font_files/ComingSoon.ttf
deleted file mode 100644
index 62a5a0d..0000000
--- a/src/cobalt/content/fonts/font_files/ComingSoon.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/ComingSoon.woff2 b/src/cobalt/content/fonts/font_files/ComingSoon.woff2
new file mode 100644
index 0000000..bbf70f7
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/ComingSoon.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/CutiveMono.ttf b/src/cobalt/content/fonts/font_files/CutiveMono.ttf
deleted file mode 100644
index efe0f33..0000000
--- a/src/cobalt/content/fonts/font_files/CutiveMono.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/CutiveMono.woff2 b/src/cobalt/content/fonts/font_files/CutiveMono.woff2
new file mode 100644
index 0000000..5fba44d
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/CutiveMono.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/DancingScript-Bold.ttf b/src/cobalt/content/fonts/font_files/DancingScript-Bold.ttf
deleted file mode 100644
index d502ef8..0000000
--- a/src/cobalt/content/fonts/font_files/DancingScript-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/DancingScript-Bold.woff2 b/src/cobalt/content/fonts/font_files/DancingScript-Bold.woff2
new file mode 100644
index 0000000..5c57eaa
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/DancingScript-Bold.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/DancingScript-Regular.ttf b/src/cobalt/content/fonts/font_files/DancingScript-Regular.ttf
deleted file mode 100644
index 3fa27af..0000000
--- a/src/cobalt/content/fonts/font_files/DancingScript-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/DancingScript-Regular.woff2 b/src/cobalt/content/fonts/font_files/DancingScript-Regular.woff2
new file mode 100644
index 0000000..22042f9
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/DancingScript-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/DroidSansFallback.ttf b/src/cobalt/content/fonts/font_files/DroidSansFallback.ttf
deleted file mode 100644
index 96b16bb..0000000
--- a/src/cobalt/content/fonts/font_files/DroidSansFallback.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/DroidSansFallback.woff2 b/src/cobalt/content/fonts/font_files/DroidSansFallback.woff2
new file mode 100644
index 0000000..99bc269
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/DroidSansFallback.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/DroidSansMono.ttf b/src/cobalt/content/fonts/font_files/DroidSansMono.ttf
deleted file mode 100644
index b7bf5b4..0000000
--- a/src/cobalt/content/fonts/font_files/DroidSansMono.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/DroidSansMono.woff2 b/src/cobalt/content/fonts/font_files/DroidSansMono.woff2
new file mode 100644
index 0000000..9d59056
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/DroidSansMono.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoColorEmoji.ttf b/src/cobalt/content/fonts/font_files/NotoColorEmoji.ttf
deleted file mode 100644
index 63dda0e..0000000
--- a/src/cobalt/content/fonts/font_files/NotoColorEmoji.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoColorEmoji.woff2 b/src/cobalt/content/fonts/font_files/NotoColorEmoji.woff2
new file mode 100644
index 0000000..9cac5c0
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoColorEmoji.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoEmoji-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoEmoji-Regular.ttf
deleted file mode 100644
index 19b7bad..0000000
--- a/src/cobalt/content/fonts/font_files/NotoEmoji-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoEmoji-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoEmoji-Regular.woff2
new file mode 100644
index 0000000..fb9f6c6
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoEmoji-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoNaskhArabicUI-Bold.ttf b/src/cobalt/content/fonts/font_files/NotoNaskhArabicUI-Bold.ttf
deleted file mode 100644
index 1d84460..0000000
--- a/src/cobalt/content/fonts/font_files/NotoNaskhArabicUI-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoNaskhArabicUI-Bold.woff2 b/src/cobalt/content/fonts/font_files/NotoNaskhArabicUI-Bold.woff2
new file mode 100644
index 0000000..febd36c
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoNaskhArabicUI-Bold.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoNaskhArabicUI-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoNaskhArabicUI-Regular.ttf
deleted file mode 100644
index d7797a5..0000000
--- a/src/cobalt/content/fonts/font_files/NotoNaskhArabicUI-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoNaskhArabicUI-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoNaskhArabicUI-Regular.woff2
new file mode 100644
index 0000000..cf9171a
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoNaskhArabicUI-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansAdlam-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansAdlam-Regular.ttf
deleted file mode 100644
index 20ea4ba..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansAdlam-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansAdlam-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansAdlam-Regular.woff2
new file mode 100644
index 0000000..408957d
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansAdlam-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansArmenian-Bold.ttf b/src/cobalt/content/fonts/font_files/NotoSansArmenian-Bold.ttf
deleted file mode 100644
index 109e34f..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansArmenian-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansArmenian-Bold.woff2 b/src/cobalt/content/fonts/font_files/NotoSansArmenian-Bold.woff2
new file mode 100644
index 0000000..82c08d2
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansArmenian-Bold.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansArmenian-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansArmenian-Regular.ttf
deleted file mode 100644
index 7f26da5..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansArmenian-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansArmenian-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansArmenian-Regular.woff2
new file mode 100644
index 0000000..5307243
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansArmenian-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansAvestan-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansAvestan-Regular.ttf
deleted file mode 100644
index 31eeb5a..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansAvestan-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansAvestan-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansAvestan-Regular.woff2
new file mode 100644
index 0000000..8807d64
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansAvestan-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansBalinese-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansBalinese-Regular.ttf
deleted file mode 100644
index a15509b..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansBalinese-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansBalinese-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansBalinese-Regular.woff2
new file mode 100644
index 0000000..01aa86f
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansBalinese-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansBamum-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansBamum-Regular.ttf
deleted file mode 100644
index f2de187..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansBamum-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansBamum-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansBamum-Regular.woff2
new file mode 100644
index 0000000..8e36f77
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansBamum-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansBatak-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansBatak-Regular.ttf
deleted file mode 100644
index 882ad96..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansBatak-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansBatak-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansBatak-Regular.woff2
new file mode 100644
index 0000000..446da41
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansBatak-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansBengaliUI-Bold.ttf b/src/cobalt/content/fonts/font_files/NotoSansBengaliUI-Bold.ttf
deleted file mode 100644
index 923580c..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansBengaliUI-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansBengaliUI-Bold.woff2 b/src/cobalt/content/fonts/font_files/NotoSansBengaliUI-Bold.woff2
new file mode 100644
index 0000000..852c93f
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansBengaliUI-Bold.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansBengaliUI-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansBengaliUI-Regular.ttf
deleted file mode 100644
index 5373108..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansBengaliUI-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansBengaliUI-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansBengaliUI-Regular.woff2
new file mode 100644
index 0000000..7f5da17
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansBengaliUI-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansBrahmi-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansBrahmi-Regular.ttf
deleted file mode 100644
index eb98a65..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansBrahmi-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansBrahmi-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansBrahmi-Regular.woff2
new file mode 100644
index 0000000..9748844
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansBrahmi-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansBuginese-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansBuginese-Regular.ttf
deleted file mode 100644
index fd59da6..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansBuginese-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansBuginese-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansBuginese-Regular.woff2
new file mode 100644
index 0000000..7d48f0c
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansBuginese-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansBuhid-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansBuhid-Regular.ttf
deleted file mode 100644
index 756218f..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansBuhid-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansBuhid-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansBuhid-Regular.woff2
new file mode 100644
index 0000000..8715902
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansBuhid-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansCJK-Regular.ttc b/src/cobalt/content/fonts/font_files/NotoSansCJK-Regular.ttc
deleted file mode 100644
index 23b4dc9..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansCJK-Regular.ttc
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansCJK-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansCJK-Regular.woff2
new file mode 100644
index 0000000..95142c7
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansCJK-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansCanadianAboriginal-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansCanadianAboriginal-Regular.ttf
deleted file mode 100644
index 4961f43..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansCanadianAboriginal-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansCanadianAboriginal-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansCanadianAboriginal-Regular.woff2
new file mode 100644
index 0000000..7f88279
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansCanadianAboriginal-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansCarian-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansCarian-Regular.ttf
deleted file mode 100644
index 8abada1..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansCarian-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansCarian-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansCarian-Regular.woff2
new file mode 100644
index 0000000..9df8ce9
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansCarian-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansCham-Bold.ttf b/src/cobalt/content/fonts/font_files/NotoSansCham-Bold.ttf
deleted file mode 100644
index 5f98099..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansCham-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansCham-Bold.woff2 b/src/cobalt/content/fonts/font_files/NotoSansCham-Bold.woff2
new file mode 100644
index 0000000..8c39dce
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansCham-Bold.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansCham-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansCham-Regular.ttf
deleted file mode 100644
index be897d4..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansCham-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansCham-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansCham-Regular.woff2
new file mode 100644
index 0000000..75c537d
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansCham-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansCherokee-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansCherokee-Regular.ttf
deleted file mode 100644
index 6d44506..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansCherokee-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansCherokee-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansCherokee-Regular.woff2
new file mode 100644
index 0000000..03e5d5d
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansCherokee-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansCoptic-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansCoptic-Regular.ttf
deleted file mode 100644
index d327c79..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansCoptic-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansCoptic-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansCoptic-Regular.woff2
new file mode 100644
index 0000000..3159f23
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansCoptic-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansCuneiform-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansCuneiform-Regular.ttf
deleted file mode 100644
index 37a4e9e..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansCuneiform-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansCuneiform-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansCuneiform-Regular.woff2
new file mode 100644
index 0000000..b8aef1f
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansCuneiform-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansCypriot-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansCypriot-Regular.ttf
deleted file mode 100644
index bc4083e..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansCypriot-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansCypriot-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansCypriot-Regular.woff2
new file mode 100644
index 0000000..0169bf7
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansCypriot-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansDeseret-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansDeseret-Regular.ttf
deleted file mode 100644
index c043a54..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansDeseret-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansDeseret-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansDeseret-Regular.woff2
new file mode 100644
index 0000000..d493daa
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansDeseret-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansDevanagariUI-Bold.ttf b/src/cobalt/content/fonts/font_files/NotoSansDevanagariUI-Bold.ttf
deleted file mode 100644
index a0cc7dd..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansDevanagariUI-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansDevanagariUI-Bold.woff2 b/src/cobalt/content/fonts/font_files/NotoSansDevanagariUI-Bold.woff2
new file mode 100644
index 0000000..613a2e0
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansDevanagariUI-Bold.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansDevanagariUI-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansDevanagariUI-Regular.ttf
deleted file mode 100644
index d74aefd..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansDevanagariUI-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansDevanagariUI-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansDevanagariUI-Regular.woff2
new file mode 100644
index 0000000..3a7b92f
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansDevanagariUI-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansEgyptianHieroglyphs-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansEgyptianHieroglyphs-Regular.ttf
deleted file mode 100644
index 62ee897..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansEgyptianHieroglyphs-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansEgyptianHieroglyphs-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansEgyptianHieroglyphs-Regular.woff2
new file mode 100644
index 0000000..2da0c8c
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansEgyptianHieroglyphs-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansEthiopic-Bold.ttf b/src/cobalt/content/fonts/font_files/NotoSansEthiopic-Bold.ttf
deleted file mode 100644
index 6465bce..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansEthiopic-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansEthiopic-Bold.woff2 b/src/cobalt/content/fonts/font_files/NotoSansEthiopic-Bold.woff2
new file mode 100644
index 0000000..5f4e38d
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansEthiopic-Bold.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansEthiopic-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansEthiopic-Regular.ttf
deleted file mode 100644
index 1c6194d..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansEthiopic-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansEthiopic-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansEthiopic-Regular.woff2
new file mode 100644
index 0000000..c287d36
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansEthiopic-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansGeorgian-Bold.ttf b/src/cobalt/content/fonts/font_files/NotoSansGeorgian-Bold.ttf
deleted file mode 100644
index 2e01965..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansGeorgian-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansGeorgian-Bold.woff2 b/src/cobalt/content/fonts/font_files/NotoSansGeorgian-Bold.woff2
new file mode 100644
index 0000000..a7f9336
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansGeorgian-Bold.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansGeorgian-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansGeorgian-Regular.ttf
deleted file mode 100644
index b5a3847..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansGeorgian-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansGeorgian-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansGeorgian-Regular.woff2
new file mode 100644
index 0000000..fb2fe49
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansGeorgian-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansGlagolitic-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansGlagolitic-Regular.ttf
deleted file mode 100644
index 86237aa..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansGlagolitic-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansGlagolitic-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansGlagolitic-Regular.woff2
new file mode 100644
index 0000000..e199246
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansGlagolitic-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansGothic-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansGothic-Regular.ttf
deleted file mode 100644
index d653ee1..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansGothic-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansGothic-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansGothic-Regular.woff2
new file mode 100644
index 0000000..d778f45
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansGothic-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansGujaratiUI-Bold.ttf b/src/cobalt/content/fonts/font_files/NotoSansGujaratiUI-Bold.ttf
deleted file mode 100644
index d60a348..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansGujaratiUI-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansGujaratiUI-Bold.woff2 b/src/cobalt/content/fonts/font_files/NotoSansGujaratiUI-Bold.woff2
new file mode 100644
index 0000000..89bd9a8
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansGujaratiUI-Bold.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansGujaratiUI-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansGujaratiUI-Regular.ttf
deleted file mode 100644
index 1bb407d..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansGujaratiUI-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansGujaratiUI-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansGujaratiUI-Regular.woff2
new file mode 100644
index 0000000..812f0f0
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansGujaratiUI-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansGurmukhiUI-Bold.ttf b/src/cobalt/content/fonts/font_files/NotoSansGurmukhiUI-Bold.ttf
deleted file mode 100644
index 9064d6b..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansGurmukhiUI-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansGurmukhiUI-Bold.woff2 b/src/cobalt/content/fonts/font_files/NotoSansGurmukhiUI-Bold.woff2
new file mode 100644
index 0000000..5bfe35c
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansGurmukhiUI-Bold.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansGurmukhiUI-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansGurmukhiUI-Regular.ttf
deleted file mode 100644
index 6de832d..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansGurmukhiUI-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansGurmukhiUI-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansGurmukhiUI-Regular.woff2
new file mode 100644
index 0000000..506075e
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansGurmukhiUI-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansHanunoo-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansHanunoo-Regular.ttf
deleted file mode 100644
index 480af34..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansHanunoo-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansHanunoo-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansHanunoo-Regular.woff2
new file mode 100644
index 0000000..758d96d
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansHanunoo-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansHebrew-Bold.ttf b/src/cobalt/content/fonts/font_files/NotoSansHebrew-Bold.ttf
deleted file mode 100644
index 64844fe..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansHebrew-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansHebrew-Bold.woff2 b/src/cobalt/content/fonts/font_files/NotoSansHebrew-Bold.woff2
new file mode 100644
index 0000000..28734cc
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansHebrew-Bold.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansHebrew-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansHebrew-Regular.ttf
deleted file mode 100644
index c161ce5..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansHebrew-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansHebrew-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansHebrew-Regular.woff2
new file mode 100644
index 0000000..4a97009
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansHebrew-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansImperialAramaic-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansImperialAramaic-Regular.ttf
deleted file mode 100644
index 10802e3..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansImperialAramaic-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansImperialAramaic-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansImperialAramaic-Regular.woff2
new file mode 100644
index 0000000..cd11f28
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansImperialAramaic-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansInscriptionalPahlavi-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansInscriptionalPahlavi-Regular.ttf
deleted file mode 100644
index 44d5296..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansInscriptionalPahlavi-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansInscriptionalPahlavi-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansInscriptionalPahlavi-Regular.woff2
new file mode 100644
index 0000000..73ecaf3
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansInscriptionalPahlavi-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansInscriptionalParthian-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansInscriptionalParthian-Regular.ttf
deleted file mode 100644
index bca05aa..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansInscriptionalParthian-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansInscriptionalParthian-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansInscriptionalParthian-Regular.woff2
new file mode 100644
index 0000000..300bab7
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansInscriptionalParthian-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansJavanese-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansJavanese-Regular.ttf
deleted file mode 100644
index 2a855ed..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansJavanese-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansJavanese-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansJavanese-Regular.woff2
new file mode 100644
index 0000000..230a4c8
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansJavanese-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansKaithi-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansKaithi-Regular.ttf
deleted file mode 100644
index 22b8c47..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansKaithi-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansKaithi-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansKaithi-Regular.woff2
new file mode 100644
index 0000000..fdc7c13
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansKaithi-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansKannadaUI-Bold.ttf b/src/cobalt/content/fonts/font_files/NotoSansKannadaUI-Bold.ttf
deleted file mode 100644
index 715f013..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansKannadaUI-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansKannadaUI-Bold.woff2 b/src/cobalt/content/fonts/font_files/NotoSansKannadaUI-Bold.woff2
new file mode 100644
index 0000000..0407d22
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansKannadaUI-Bold.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansKannadaUI-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansKannadaUI-Regular.ttf
deleted file mode 100644
index bea2878..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansKannadaUI-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansKannadaUI-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansKannadaUI-Regular.woff2
new file mode 100644
index 0000000..a0d9f5c
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansKannadaUI-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansKayahLi-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansKayahLi-Regular.ttf
deleted file mode 100644
index 75b6b80..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansKayahLi-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansKayahLi-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansKayahLi-Regular.woff2
new file mode 100644
index 0000000..a841c89
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansKayahLi-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansKharoshthi-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansKharoshthi-Regular.ttf
deleted file mode 100644
index 1f4a9a6..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansKharoshthi-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansKharoshthi-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansKharoshthi-Regular.woff2
new file mode 100644
index 0000000..0b9eba0
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansKharoshthi-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansKhmerUI-Bold.ttf b/src/cobalt/content/fonts/font_files/NotoSansKhmerUI-Bold.ttf
deleted file mode 100644
index 592414c..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansKhmerUI-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansKhmerUI-Bold.woff2 b/src/cobalt/content/fonts/font_files/NotoSansKhmerUI-Bold.woff2
new file mode 100644
index 0000000..9d60d0a
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansKhmerUI-Bold.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansKhmerUI-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansKhmerUI-Regular.ttf
deleted file mode 100644
index 7a11a81..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansKhmerUI-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansKhmerUI-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansKhmerUI-Regular.woff2
new file mode 100644
index 0000000..0ca6fe4
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansKhmerUI-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansLaoUI-Bold.ttf b/src/cobalt/content/fonts/font_files/NotoSansLaoUI-Bold.ttf
deleted file mode 100644
index 4ca61cf..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansLaoUI-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansLaoUI-Bold.woff2 b/src/cobalt/content/fonts/font_files/NotoSansLaoUI-Bold.woff2
new file mode 100644
index 0000000..e1d2287
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansLaoUI-Bold.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansLaoUI-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansLaoUI-Regular.ttf
deleted file mode 100644
index 61d755d..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansLaoUI-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansLaoUI-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansLaoUI-Regular.woff2
new file mode 100644
index 0000000..4b9d559
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansLaoUI-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansLepcha-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansLepcha-Regular.ttf
deleted file mode 100644
index b86dc59..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansLepcha-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansLepcha-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansLepcha-Regular.woff2
new file mode 100644
index 0000000..ac9a660
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansLepcha-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansLimbu-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansLimbu-Regular.ttf
deleted file mode 100644
index b9eca08..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansLimbu-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansLimbu-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansLimbu-Regular.woff2
new file mode 100644
index 0000000..1c60dc9
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansLimbu-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansLinearB-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansLinearB-Regular.ttf
deleted file mode 100644
index b741507..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansLinearB-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansLinearB-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansLinearB-Regular.woff2
new file mode 100644
index 0000000..6145fbe
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansLinearB-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansLisu-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansLisu-Regular.ttf
deleted file mode 100644
index 12405b4..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansLisu-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansLisu-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansLisu-Regular.woff2
new file mode 100644
index 0000000..4061548
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansLisu-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansLycian-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansLycian-Regular.ttf
deleted file mode 100644
index 30310c2..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansLycian-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansLycian-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansLycian-Regular.woff2
new file mode 100644
index 0000000..ac0a719
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansLycian-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansLydian-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansLydian-Regular.ttf
deleted file mode 100644
index fc5bf5f..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansLydian-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansLydian-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansLydian-Regular.woff2
new file mode 100644
index 0000000..3cb5c4a
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansLydian-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansMalayalamUI-Bold.ttf b/src/cobalt/content/fonts/font_files/NotoSansMalayalamUI-Bold.ttf
deleted file mode 100644
index 0919b8c..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansMalayalamUI-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansMalayalamUI-Bold.woff2 b/src/cobalt/content/fonts/font_files/NotoSansMalayalamUI-Bold.woff2
new file mode 100644
index 0000000..517651a
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansMalayalamUI-Bold.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansMalayalamUI-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansMalayalamUI-Regular.ttf
deleted file mode 100644
index 4f1b408..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansMalayalamUI-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansMalayalamUI-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansMalayalamUI-Regular.woff2
new file mode 100644
index 0000000..ca5b835
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansMalayalamUI-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansMandaic-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansMandaic-Regular.ttf
deleted file mode 100644
index 1a533e1..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansMandaic-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansMandaic-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansMandaic-Regular.woff2
new file mode 100644
index 0000000..a248ee6
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansMandaic-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansMeeteiMayek-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansMeeteiMayek-Regular.ttf
deleted file mode 100644
index 3059a6c..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansMeeteiMayek-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansMeeteiMayek-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansMeeteiMayek-Regular.woff2
new file mode 100644
index 0000000..3c95d69
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansMeeteiMayek-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansMongolian-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansMongolian-Regular.ttf
deleted file mode 100644
index 760d7e0..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansMongolian-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansMongolian-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansMongolian-Regular.woff2
new file mode 100644
index 0000000..499cdbd
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansMongolian-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansMyanmarUI-Bold.ttf b/src/cobalt/content/fonts/font_files/NotoSansMyanmarUI-Bold.ttf
deleted file mode 100644
index 1c76aa7..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansMyanmarUI-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansMyanmarUI-Bold.woff2 b/src/cobalt/content/fonts/font_files/NotoSansMyanmarUI-Bold.woff2
new file mode 100644
index 0000000..ac5d137
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansMyanmarUI-Bold.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansMyanmarUI-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansMyanmarUI-Regular.ttf
deleted file mode 100644
index a435ba1..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansMyanmarUI-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansMyanmarUI-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansMyanmarUI-Regular.woff2
new file mode 100644
index 0000000..c20a3ce
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansMyanmarUI-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansNKo-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansNKo-Regular.ttf
deleted file mode 100644
index 091416b..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansNKo-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansNKo-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansNKo-Regular.woff2
new file mode 100644
index 0000000..7c0594c
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansNKo-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansNewTaiLue-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansNewTaiLue-Regular.ttf
deleted file mode 100644
index bc79a79..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansNewTaiLue-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansNewTaiLue-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansNewTaiLue-Regular.woff2
new file mode 100644
index 0000000..de2beb2
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansNewTaiLue-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansOgham-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansOgham-Regular.ttf
deleted file mode 100644
index 8943189..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansOgham-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansOgham-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansOgham-Regular.woff2
new file mode 100644
index 0000000..c798f6a
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansOgham-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansOlChiki-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansOlChiki-Regular.ttf
deleted file mode 100644
index 3326640..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansOlChiki-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansOlChiki-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansOlChiki-Regular.woff2
new file mode 100644
index 0000000..af16058
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansOlChiki-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansOldItalic-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansOldItalic-Regular.ttf
deleted file mode 100644
index 4a63a5e..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansOldItalic-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansOldItalic-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansOldItalic-Regular.woff2
new file mode 100644
index 0000000..4e70d17
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansOldItalic-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansOldPersian-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansOldPersian-Regular.ttf
deleted file mode 100644
index 21166f4..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansOldPersian-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansOldPersian-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansOldPersian-Regular.woff2
new file mode 100644
index 0000000..599bea2
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansOldPersian-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansOldSouthArabian-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansOldSouthArabian-Regular.ttf
deleted file mode 100644
index 5037bd9..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansOldSouthArabian-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansOldSouthArabian-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansOldSouthArabian-Regular.woff2
new file mode 100644
index 0000000..e706a17
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansOldSouthArabian-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansOldTurkic-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansOldTurkic-Regular.ttf
deleted file mode 100644
index 1652ad1..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansOldTurkic-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansOldTurkic-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansOldTurkic-Regular.woff2
new file mode 100644
index 0000000..8440cc6
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansOldTurkic-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansOriyaUI-Bold.ttf b/src/cobalt/content/fonts/font_files/NotoSansOriyaUI-Bold.ttf
deleted file mode 100644
index 1b32205..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansOriyaUI-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansOriyaUI-Bold.woff2 b/src/cobalt/content/fonts/font_files/NotoSansOriyaUI-Bold.woff2
new file mode 100644
index 0000000..58ca3a2
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansOriyaUI-Bold.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansOriyaUI-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansOriyaUI-Regular.ttf
deleted file mode 100644
index 5738e1d..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansOriyaUI-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansOriyaUI-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansOriyaUI-Regular.woff2
new file mode 100644
index 0000000..2df9e3a
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansOriyaUI-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansOsmanya-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansOsmanya-Regular.ttf
deleted file mode 100644
index dd0b982..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansOsmanya-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansOsmanya-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansOsmanya-Regular.woff2
new file mode 100644
index 0000000..1068311
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansOsmanya-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansPhagsPa-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansPhagsPa-Regular.ttf
deleted file mode 100644
index bd59e32..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansPhagsPa-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansPhagsPa-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansPhagsPa-Regular.woff2
new file mode 100644
index 0000000..5fc6eeb
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansPhagsPa-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansPhoenician-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansPhoenician-Regular.ttf
deleted file mode 100644
index 345a977..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansPhoenician-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansPhoenician-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansPhoenician-Regular.woff2
new file mode 100644
index 0000000..84f632c
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansPhoenician-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansRejang-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansRejang-Regular.ttf
deleted file mode 100644
index 3d95fd3..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansRejang-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansRejang-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansRejang-Regular.woff2
new file mode 100644
index 0000000..89b501b
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansRejang-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansRunic-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansRunic-Regular.ttf
deleted file mode 100644
index 64a18b1..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansRunic-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansRunic-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansRunic-Regular.woff2
new file mode 100644
index 0000000..f6f3d74
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansRunic-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansSamaritan-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansSamaritan-Regular.ttf
deleted file mode 100644
index 9fe427c..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansSamaritan-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansSamaritan-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansSamaritan-Regular.woff2
new file mode 100644
index 0000000..00699c3
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansSamaritan-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansSaurashtra-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansSaurashtra-Regular.ttf
deleted file mode 100644
index 6ca7590..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansSaurashtra-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansSaurashtra-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansSaurashtra-Regular.woff2
new file mode 100644
index 0000000..65c3e3a
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansSaurashtra-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansShavian-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansShavian-Regular.ttf
deleted file mode 100644
index 265c523..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansShavian-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansShavian-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansShavian-Regular.woff2
new file mode 100644
index 0000000..aae9158
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansShavian-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansSinhala-Bold.ttf b/src/cobalt/content/fonts/font_files/NotoSansSinhala-Bold.ttf
deleted file mode 100644
index 1ba5a1c..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansSinhala-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansSinhala-Bold.woff2 b/src/cobalt/content/fonts/font_files/NotoSansSinhala-Bold.woff2
new file mode 100644
index 0000000..f9f6295
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansSinhala-Bold.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansSinhala-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansSinhala-Regular.ttf
deleted file mode 100644
index 9f4de71..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansSinhala-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansSinhala-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansSinhala-Regular.woff2
new file mode 100644
index 0000000..e4935bb
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansSinhala-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansSundanese-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansSundanese-Regular.ttf
deleted file mode 100644
index 5c19cd7..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansSundanese-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansSundanese-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansSundanese-Regular.woff2
new file mode 100644
index 0000000..c9986dc
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansSundanese-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansSylotiNagri-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansSylotiNagri-Regular.ttf
deleted file mode 100644
index 164c217..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansSylotiNagri-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansSylotiNagri-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansSylotiNagri-Regular.woff2
new file mode 100644
index 0000000..0b06cd4
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansSylotiNagri-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansSymbols-Regular-Subsetted.ttf b/src/cobalt/content/fonts/font_files/NotoSansSymbols-Regular-Subsetted.ttf
deleted file mode 100644
index ebea59b..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansSymbols-Regular-Subsetted.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansSymbols-Regular-Subsetted.woff2 b/src/cobalt/content/fonts/font_files/NotoSansSymbols-Regular-Subsetted.woff2
new file mode 100644
index 0000000..e8d6e31
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansSymbols-Regular-Subsetted.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansSymbols-Regular-Subsetted2.ttf b/src/cobalt/content/fonts/font_files/NotoSansSymbols-Regular-Subsetted2.ttf
deleted file mode 100644
index cc3e29f..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansSymbols-Regular-Subsetted2.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansSymbols-Regular-Subsetted2.woff2 b/src/cobalt/content/fonts/font_files/NotoSansSymbols-Regular-Subsetted2.woff2
new file mode 100644
index 0000000..9f03472
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansSymbols-Regular-Subsetted2.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansSyriacEastern-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansSyriacEastern-Regular.ttf
deleted file mode 100644
index 25ee338..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansSyriacEastern-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansSyriacEastern-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansSyriacEastern-Regular.woff2
new file mode 100644
index 0000000..e6f35ec
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansSyriacEastern-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansSyriacEstrangela-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansSyriacEstrangela-Regular.ttf
deleted file mode 100644
index 07a2e04..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansSyriacEstrangela-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansSyriacEstrangela-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansSyriacEstrangela-Regular.woff2
new file mode 100644
index 0000000..f3a01eb
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansSyriacEstrangela-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansSyriacWestern-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansSyriacWestern-Regular.ttf
deleted file mode 100644
index f0f9de1..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansSyriacWestern-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansSyriacWestern-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansSyriacWestern-Regular.woff2
new file mode 100644
index 0000000..d28b36a
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansSyriacWestern-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansTagalog-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansTagalog-Regular.ttf
deleted file mode 100644
index 0aff411..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansTagalog-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansTagalog-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansTagalog-Regular.woff2
new file mode 100644
index 0000000..55428dc
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansTagalog-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansTagbanwa-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansTagbanwa-Regular.ttf
deleted file mode 100644
index 286cf4c..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansTagbanwa-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansTagbanwa-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansTagbanwa-Regular.woff2
new file mode 100644
index 0000000..174c87c
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansTagbanwa-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansTaiLe-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansTaiLe-Regular.ttf
deleted file mode 100644
index 88ea3fd..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansTaiLe-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansTaiLe-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansTaiLe-Regular.woff2
new file mode 100644
index 0000000..936131d
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansTaiLe-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansTaiTham-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansTaiTham-Regular.ttf
deleted file mode 100644
index faa8ddf..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansTaiTham-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansTaiTham-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansTaiTham-Regular.woff2
new file mode 100644
index 0000000..9f1a4ac
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansTaiTham-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansTaiViet-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansTaiViet-Regular.ttf
deleted file mode 100644
index 9208fc7..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansTaiViet-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansTaiViet-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansTaiViet-Regular.woff2
new file mode 100644
index 0000000..5b13a47
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansTaiViet-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansTamilUI-Bold.ttf b/src/cobalt/content/fonts/font_files/NotoSansTamilUI-Bold.ttf
deleted file mode 100644
index 297f30b..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansTamilUI-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansTamilUI-Bold.woff2 b/src/cobalt/content/fonts/font_files/NotoSansTamilUI-Bold.woff2
new file mode 100644
index 0000000..cf2c38e
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansTamilUI-Bold.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansTamilUI-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansTamilUI-Regular.ttf
deleted file mode 100644
index 360bed8..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansTamilUI-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansTamilUI-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansTamilUI-Regular.woff2
new file mode 100644
index 0000000..8298303
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansTamilUI-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansTeluguUI-Bold.ttf b/src/cobalt/content/fonts/font_files/NotoSansTeluguUI-Bold.ttf
deleted file mode 100644
index 93e1886..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansTeluguUI-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansTeluguUI-Bold.woff2 b/src/cobalt/content/fonts/font_files/NotoSansTeluguUI-Bold.woff2
new file mode 100644
index 0000000..4d58476
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansTeluguUI-Bold.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansTeluguUI-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansTeluguUI-Regular.ttf
deleted file mode 100644
index aa5fea2..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansTeluguUI-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansTeluguUI-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansTeluguUI-Regular.woff2
new file mode 100644
index 0000000..d69dfb3
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansTeluguUI-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansThaana-Bold.ttf b/src/cobalt/content/fonts/font_files/NotoSansThaana-Bold.ttf
deleted file mode 100644
index 9861956..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansThaana-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansThaana-Bold.woff2 b/src/cobalt/content/fonts/font_files/NotoSansThaana-Bold.woff2
new file mode 100644
index 0000000..27e5915
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansThaana-Bold.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansThaana-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansThaana-Regular.ttf
deleted file mode 100644
index 8fcf561..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansThaana-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansThaana-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansThaana-Regular.woff2
new file mode 100644
index 0000000..ab5c2ab
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansThaana-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansThaiUI-Bold.ttf b/src/cobalt/content/fonts/font_files/NotoSansThaiUI-Bold.ttf
deleted file mode 100644
index 3bc9a70..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansThaiUI-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansThaiUI-Bold.woff2 b/src/cobalt/content/fonts/font_files/NotoSansThaiUI-Bold.woff2
new file mode 100644
index 0000000..c757a6e
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansThaiUI-Bold.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansThaiUI-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansThaiUI-Regular.ttf
deleted file mode 100644
index 9fe222d..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansThaiUI-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansThaiUI-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansThaiUI-Regular.woff2
new file mode 100644
index 0000000..af4a9e4
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansThaiUI-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansTibetan-Bold.ttf b/src/cobalt/content/fonts/font_files/NotoSansTibetan-Bold.ttf
deleted file mode 100644
index 7a5144d..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansTibetan-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansTibetan-Bold.woff2 b/src/cobalt/content/fonts/font_files/NotoSansTibetan-Bold.woff2
new file mode 100644
index 0000000..4e39f2d
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansTibetan-Bold.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansTibetan-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansTibetan-Regular.ttf
deleted file mode 100644
index 65f0e93..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansTibetan-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansTibetan-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansTibetan-Regular.woff2
new file mode 100644
index 0000000..51f7bdc
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansTibetan-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansTifinagh-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansTifinagh-Regular.ttf
deleted file mode 100644
index 9692944..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansTifinagh-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansTifinagh-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansTifinagh-Regular.woff2
new file mode 100644
index 0000000..6f6e180
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansTifinagh-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansUgaritic-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansUgaritic-Regular.ttf
deleted file mode 100644
index dec137d..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansUgaritic-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansUgaritic-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansUgaritic-Regular.woff2
new file mode 100644
index 0000000..7c0126d
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansUgaritic-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansVai-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansVai-Regular.ttf
deleted file mode 100644
index 3ec5fcc..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansVai-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansVai-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansVai-Regular.woff2
new file mode 100644
index 0000000..c47b764
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansVai-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansYi-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSansYi-Regular.ttf
deleted file mode 100644
index 5bd81f9..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSansYi-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSansYi-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSansYi-Regular.woff2
new file mode 100644
index 0000000..2510975
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSansYi-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSerif-Bold.ttf b/src/cobalt/content/fonts/font_files/NotoSerif-Bold.ttf
deleted file mode 100644
index 2ffdf8c..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSerif-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSerif-Bold.woff2 b/src/cobalt/content/fonts/font_files/NotoSerif-Bold.woff2
new file mode 100644
index 0000000..6a7e988
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSerif-Bold.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSerif-BoldItalic.ttf b/src/cobalt/content/fonts/font_files/NotoSerif-BoldItalic.ttf
deleted file mode 100644
index 4a317f8..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSerif-BoldItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSerif-BoldItalic.woff2 b/src/cobalt/content/fonts/font_files/NotoSerif-BoldItalic.woff2
new file mode 100644
index 0000000..385cf6b
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSerif-BoldItalic.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSerif-Italic.ttf b/src/cobalt/content/fonts/font_files/NotoSerif-Italic.ttf
deleted file mode 100644
index 968b46b..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSerif-Italic.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSerif-Italic.woff2 b/src/cobalt/content/fonts/font_files/NotoSerif-Italic.woff2
new file mode 100644
index 0000000..31248ff
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSerif-Italic.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSerif-Regular.ttf b/src/cobalt/content/fonts/font_files/NotoSerif-Regular.ttf
deleted file mode 100644
index 9d9a347..0000000
--- a/src/cobalt/content/fonts/font_files/NotoSerif-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/NotoSerif-Regular.woff2 b/src/cobalt/content/fonts/font_files/NotoSerif-Regular.woff2
new file mode 100644
index 0000000..115ff32
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/NotoSerif-Regular.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/Roboto-Black.ttf b/src/cobalt/content/fonts/font_files/Roboto-Black.ttf
deleted file mode 100644
index 3ecbdef..0000000
--- a/src/cobalt/content/fonts/font_files/Roboto-Black.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/Roboto-BlackItalic.ttf b/src/cobalt/content/fonts/font_files/Roboto-BlackItalic.ttf
deleted file mode 100644
index 44c086c..0000000
--- a/src/cobalt/content/fonts/font_files/Roboto-BlackItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/Roboto-Bold.ttf b/src/cobalt/content/fonts/font_files/Roboto-Bold.ttf
deleted file mode 100644
index 70def3f..0000000
--- a/src/cobalt/content/fonts/font_files/Roboto-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/Roboto-BoldItalic.ttf b/src/cobalt/content/fonts/font_files/Roboto-BoldItalic.ttf
deleted file mode 100644
index 216f9ce..0000000
--- a/src/cobalt/content/fonts/font_files/Roboto-BoldItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/Roboto-Italic.ttf b/src/cobalt/content/fonts/font_files/Roboto-Italic.ttf
deleted file mode 100644
index f0f33db..0000000
--- a/src/cobalt/content/fonts/font_files/Roboto-Italic.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/Roboto-Light.ttf b/src/cobalt/content/fonts/font_files/Roboto-Light.ttf
deleted file mode 100644
index 3a03044..0000000
--- a/src/cobalt/content/fonts/font_files/Roboto-Light.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/Roboto-LightItalic.ttf b/src/cobalt/content/fonts/font_files/Roboto-LightItalic.ttf
deleted file mode 100644
index 983381b..0000000
--- a/src/cobalt/content/fonts/font_files/Roboto-LightItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/Roboto-Medium.ttf b/src/cobalt/content/fonts/font_files/Roboto-Medium.ttf
deleted file mode 100644
index 284b1ba..0000000
--- a/src/cobalt/content/fonts/font_files/Roboto-Medium.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/Roboto-MediumItalic.ttf b/src/cobalt/content/fonts/font_files/Roboto-MediumItalic.ttf
deleted file mode 100644
index a0b10d2..0000000
--- a/src/cobalt/content/fonts/font_files/Roboto-MediumItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/Roboto-Regular-Subsetted.ttf b/src/cobalt/content/fonts/font_files/Roboto-Regular-Subsetted.ttf
deleted file mode 100644
index 99899ad..0000000
--- a/src/cobalt/content/fonts/font_files/Roboto-Regular-Subsetted.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/Roboto-Regular-Subsetted.woff2 b/src/cobalt/content/fonts/font_files/Roboto-Regular-Subsetted.woff2
new file mode 100644
index 0000000..837837c
--- /dev/null
+++ b/src/cobalt/content/fonts/font_files/Roboto-Regular-Subsetted.woff2
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/Roboto-Regular.ttf b/src/cobalt/content/fonts/font_files/Roboto-Regular.ttf
deleted file mode 100644
index 500b104..0000000
--- a/src/cobalt/content/fonts/font_files/Roboto-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/Roboto-Thin.ttf b/src/cobalt/content/fonts/font_files/Roboto-Thin.ttf
deleted file mode 100644
index 0c7d50b..0000000
--- a/src/cobalt/content/fonts/font_files/Roboto-Thin.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/font_files/Roboto-ThinItalic.ttf b/src/cobalt/content/fonts/font_files/Roboto-ThinItalic.ttf
deleted file mode 100644
index 277d8cf..0000000
--- a/src/cobalt/content/fonts/font_files/Roboto-ThinItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/src/cobalt/content/fonts/fonts.gyp b/src/cobalt/content/fonts/fonts.gyp
index a72d3d1..36c4562 100644
--- a/src/cobalt/content/fonts/fonts.gyp
+++ b/src/cobalt/content/fonts/fonts.gyp
@@ -162,7 +162,7 @@
         [ 'copy_font_files == 0', {
           'copies': [{
             # Copy at least the fallback Roboto Subsetted font.
-            'files': [ '<(source_font_files_dir)/Roboto-Regular-Subsetted.ttf' ],
+            'files': [ '<(source_font_files_dir)/Roboto-Regular-Subsetted.woff2' ],
             'destination': '<(sb_static_contents_output_data_dir)/fonts/',
           }],
         }, {
diff --git a/src/cobalt/content/fonts/scripts/Roboto-Regular.woff2 b/src/cobalt/content/fonts/scripts/Roboto-Regular.woff2
new file mode 100644
index 0000000..6cc9a33
--- /dev/null
+++ b/src/cobalt/content/fonts/scripts/Roboto-Regular.woff2
Binary files differ
diff --git a/src/cobalt/csp/source_list.cc b/src/cobalt/csp/source_list.cc
index 71e54a8..57117c8 100644
--- a/src/cobalt/csp/source_list.cc
+++ b/src/cobalt/csp/source_list.cc
@@ -123,8 +123,8 @@
     // This will be our host string if we are not using IPV6.
     host.append(valid_spec.c_str() + parsed.host.begin,
                 valid_spec.c_str() + parsed.host.begin + parsed.host.len);
-#if SB_API_VERSION >= SB_IPV6_REQUIRED_VERSION || SB_HAS(IPV6)
-#if SB_API_VERSION >= SB_IPV6_REQUIRED_VERSION
+#if SB_API_VERSION >= 12 || SB_HAS(IPV6)
+#if SB_API_VERSION >= 12
     if (SbSocketIsIpv6Supported())
 #endif
       host = url.HostNoBrackets();
diff --git a/src/cobalt/css_parser/parser.cc b/src/cobalt/css_parser/parser.cc
index 9d957c0..78c5ce3 100644
--- a/src/cobalt/css_parser/parser.cc
+++ b/src/cobalt/css_parser/parser.cc
@@ -512,7 +512,7 @@
 // syntax error. Most of error reporting is implemented in semantic actions
 // in the grammar.
 inline void yyerror(YYLTYPE* source_location, ParserImpl* parser_impl,
-                    Scanner* /*scanner*/, const char* /*message*/) {
+                    Scanner* scanner, const char* message) {
   parser_impl->set_last_syntax_error_location(*source_location);
 }
 
diff --git a/src/cobalt/css_parser/parser_test.cc b/src/cobalt/css_parser/parser_test.cc
index fcdc5fb..040c178 100644
--- a/src/cobalt/css_parser/parser_test.cc
+++ b/src/cobalt/css_parser/parser_test.cc
@@ -1362,14 +1362,13 @@
    public:
     KeywordProvider() : is_keyword_(false) {}
     bool is_keyword() { return is_keyword_; }
-    void VisitKeyword(cssom::KeywordValue* /* keyword */) override {
+    void VisitKeyword(cssom::KeywordValue* keyword) override {
       is_keyword_ = true;
     }
-    void VisitFontStyle(cssom::FontStyleValue* /* font_style */) override {
+    void VisitFontStyle(cssom::FontStyleValue* font_style) override {
       is_keyword_ = true;
     }
-    void VisitFontWeight(
-        cssom::FontWeightValue* /* font_weight_value */) override {
+    void VisitFontWeight(cssom::FontWeightValue* font_weight_value) override {
       is_keyword_ = true;
     }
 
@@ -1413,7 +1412,7 @@
    public:
     KeywordProvider() : is_keyword_(false) {}
     bool is_keyword() { return is_keyword_; }
-    void VisitKeyword(cssom::KeywordValue* /* keyword */) override {
+    void VisitKeyword(cssom::KeywordValue* keyword) override {
       is_keyword_ = true;
     }
 
diff --git a/src/cobalt/css_parser/scanner.cc b/src/cobalt/css_parser/scanner.cc
index 6a1b5da..f9b3010 100644
--- a/src/cobalt/css_parser/scanner.cc
+++ b/src/cobalt/css_parser/scanner.cc
@@ -935,7 +935,7 @@
   return quote;
 }
 
-Token Scanner::ScanFromExclamationMark(TokenValue* /*token_value*/) {
+Token Scanner::ScanFromExclamationMark(TokenValue* token_value) {
   ++input_iterator_;
 
   const char* important_start(SkipWhiteSpace(input_iterator_));
diff --git a/src/cobalt/cssom/cobalt_ui_nav_focus_transform_function.cc b/src/cobalt/cssom/cobalt_ui_nav_focus_transform_function.cc
index c453315..c250141 100644
--- a/src/cobalt/cssom/cobalt_ui_nav_focus_transform_function.cc
+++ b/src/cobalt/cssom/cobalt_ui_nav_focus_transform_function.cc
@@ -36,7 +36,7 @@
 }
 
 math::Matrix3F CobaltUiNavFocusTransformFunction::ToMatrix(
-    const math::SizeF& /* used_size */,
+    const math::SizeF& used_size,
     const scoped_refptr<ui_navigation::NavItem>& used_ui_nav_focus) const {
   ui_navigation::NativeMatrix4 matrix;
   if (used_ui_nav_focus &&
diff --git a/src/cobalt/cssom/computed_style.cc b/src/cobalt/cssom/computed_style.cc
index 178ea4e..480e437 100644
--- a/src/cobalt/cssom/computed_style.cc
+++ b/src/cobalt/cssom/computed_style.cc
@@ -1446,7 +1446,6 @@
   }
 
   void VisitDefault(PropertyValue* property_value) override {
-    SB_UNREFERENCED_PARAMETER(property_value);
   }
 
   bool computed_length_is_negative() { return computed_length_is_negative_; }
diff --git a/src/cobalt/cssom/css_computed_style_declaration.cc b/src/cobalt/cssom/css_computed_style_declaration.cc
index 4123be8..b4c25f0 100644
--- a/src/cobalt/cssom/css_computed_style_declaration.cc
+++ b/src/cobalt/cssom/css_computed_style_declaration.cc
@@ -22,14 +22,14 @@
 // This returns the result of serializing a CSS declaration block.
 //   https://www.w3.org/TR/cssom/#serialize-a-css-declaration-block
 std::string CSSComputedStyleDeclaration::css_text(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   // The current implementation does not handle shorthands.
   NOTIMPLEMENTED();
   return data_ ? data_->SerializeCSSDeclarationBlock() : std::string();
 }
 
 void CSSComputedStyleDeclaration::set_css_text(
-    const std::string& /*css_text*/, script::ExceptionState* exception_state) {
+    const std::string& css_text, script::ExceptionState* exception_state) {
   dom::DOMException::Raise(dom::DOMException::kInvalidAccessErr,
                            exception_state);
 }
@@ -76,15 +76,15 @@
 }
 
 void CSSComputedStyleDeclaration::SetPropertyValue(
-    const std::string& /*property_name*/, const std::string& /*property_value*/,
+    const std::string& property_name, const std::string& property_value,
     script::ExceptionState* exception_state) {
   dom::DOMException::Raise(dom::DOMException::kInvalidAccessErr,
                            exception_state);
 }
 
 void CSSComputedStyleDeclaration::SetProperty(
-    const std::string& /*property_name*/, const std::string& /*property_value*/,
-    const std::string& /*priority*/, script::ExceptionState* exception_state) {
+    const std::string& property_name, const std::string& property_value,
+    const std::string& priority, script::ExceptionState* exception_state) {
   dom::DOMException::Raise(dom::DOMException::kInvalidAccessErr,
                            exception_state);
 }
diff --git a/src/cobalt/cssom/css_condition_rule.h b/src/cobalt/cssom/css_condition_rule.h
index 1b21aa4..dd78bb7 100644
--- a/src/cobalt/cssom/css_condition_rule.h
+++ b/src/cobalt/cssom/css_condition_rule.h
@@ -42,7 +42,6 @@
   //
   // From CSSRule.
   void Accept(CSSRuleVisitor* visitor) override {
-    SB_UNREFERENCED_PARAMETER(visitor);
     NOTREACHED();
   }
 
diff --git a/src/cobalt/cssom/css_declared_style_declaration.cc b/src/cobalt/cssom/css_declared_style_declaration.cc
index 6437a20..816fbad 100644
--- a/src/cobalt/cssom/css_declared_style_declaration.cc
+++ b/src/cobalt/cssom/css_declared_style_declaration.cc
@@ -56,12 +56,12 @@
 // The current implementation does not handle shorthands.
 //   https://www.w3.org/TR/cssom/#serialize-a-css-declaration-block
 std::string CSSDeclaredStyleDeclaration::css_text(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return data_ ? data_->SerializeCSSDeclarationBlock() : std::string();
 }
 
 void CSSDeclaredStyleDeclaration::set_css_text(
-    const std::string& css_text, script::ExceptionState* /*exception_state*/) {
+    const std::string& css_text, script::ExceptionState* exception_state) {
   TRACE_EVENT0("cobalt::cssom", "CSSDeclaredStyleDeclaration::set_css_text");
   DCHECK(css_parser_);
   scoped_refptr<CSSDeclaredStyleData> declaration =
@@ -123,7 +123,7 @@
 
 void CSSDeclaredStyleDeclaration::SetPropertyValue(
     const std::string& property_name, const std::string& property_value,
-    script::ExceptionState* /*exception_state*/) {
+    script::ExceptionState* exception_state) {
   DCHECK(css_parser_);
   if (!data_) {
     data_ = new CSSDeclaredStyleData();
@@ -137,7 +137,7 @@
 
 void CSSDeclaredStyleDeclaration::SetProperty(
     const std::string& property_name, const std::string& property_value,
-    const std::string& priority, script::ExceptionState* /*exception_state*/) {
+    const std::string& priority, script::ExceptionState* exception_state) {
   DLOG(INFO) << "CSSDeclaredStyleDeclaration::SetProperty(" << property_name
              << "," << property_value << "," << priority << ")";
   DCHECK(css_parser_);
diff --git a/src/cobalt/cssom/css_font_face_declaration_data.h b/src/cobalt/cssom/css_font_face_declaration_data.h
index fe29df0..554becd 100644
--- a/src/cobalt/cssom/css_font_face_declaration_data.h
+++ b/src/cobalt/cssom/css_font_face_declaration_data.h
@@ -35,7 +35,6 @@
   void SetPropertyValueAndImportance(
       PropertyKey key, const scoped_refptr<PropertyValue>& property_value,
       bool important) override {
-    SB_UNREFERENCED_PARAMETER(important);
     SetPropertyValue(key, property_value);
   }
   void ClearPropertyValueAndImportance(PropertyKey key) override {
diff --git a/src/cobalt/cssom/css_font_face_rule.cc b/src/cobalt/cssom/css_font_face_rule.cc
index abc63e9..e91a653 100644
--- a/src/cobalt/cssom/css_font_face_rule.cc
+++ b/src/cobalt/cssom/css_font_face_rule.cc
@@ -56,7 +56,7 @@
 }
 
 std::string CSSFontFaceRule::css_text(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   std::string css_text;
   AppendPropertyDeclaration(GetPropertyName(kFontFamilyProperty),
                             data_->family(), &css_text);
@@ -72,8 +72,8 @@
   return css_text;
 }
 
-void CSSFontFaceRule::set_css_text(
-    const std::string& css_text, script::ExceptionState* /*exception_state*/) {
+void CSSFontFaceRule::set_css_text(const std::string& css_text,
+                                   script::ExceptionState* exception_state) {
   DCHECK(parent_style_sheet());
   scoped_refptr<CSSFontFaceDeclarationData> declaration =
       parent_style_sheet()->css_parser()->ParseFontFaceDeclarationList(
diff --git a/src/cobalt/cssom/css_font_face_rule_test.cc b/src/cobalt/cssom/css_font_face_rule_test.cc
index 101529d..9245801 100644
--- a/src/cobalt/cssom/css_font_face_rule_test.cc
+++ b/src/cobalt/cssom/css_font_face_rule_test.cc
@@ -100,7 +100,7 @@
   font_face->AttachToCSSStyleSheet(css_style_sheet_);
 
   const std::string src =
-      "local(Roboto), url('../assets/icons.ttf') format('truetype')";
+      "local(Roboto), url('../assets/icons.woff2') format('woff2')";
 
   EXPECT_CALL(
       css_parser_,
@@ -166,7 +166,7 @@
 
   std::string css_text =
       "font-family: 'youtube-icons'; "
-      "src: url('../assets/icons.ttf') format('truetype')";
+      "src: url('../assets/icons.woff2') format('woff2')";
 
   EXPECT_CALL(css_parser_, ParseFontFaceDeclarationList(css_text, _))
       .WillOnce(Return(scoped_refptr<CSSFontFaceDeclarationData>()));
@@ -182,7 +182,7 @@
   src_builder->reserve(2);
   src_builder->push_back(new LocalSrcValue("Roboto"));
   src_builder->push_back(
-      new UrlSrcValue(new URLValue("'../assets/icons.ttf'"), "truetype"));
+      new UrlSrcValue(new URLValue("'../assets/icons.woff2'"), "woff2"));
   scoped_refptr<PropertyListValue> src(
       new PropertyListValue(std::move(src_builder)));
 
@@ -211,7 +211,7 @@
   EXPECT_EQ(font_face->css_text(NULL),
             "font-family: 'youtube-icons'; "
             "src: local('Roboto'), "
-            "url('../assets/icons.ttf') format('truetype'); "
+            "url('../assets/icons.woff2') format('woff2'); "
             "font-style: italic; "
             "font-weight: bold; "
             "unicode-range: U+100, U+1000-2000;");
diff --git a/src/cobalt/cssom/css_grouping_rule.h b/src/cobalt/cssom/css_grouping_rule.h
index 5d8499b..4d364f2 100644
--- a/src/cobalt/cssom/css_grouping_rule.h
+++ b/src/cobalt/cssom/css_grouping_rule.h
@@ -50,7 +50,6 @@
   //
   // From CSSRule.
   void Accept(CSSRuleVisitor* visitor) override {
-    SB_UNREFERENCED_PARAMETER(visitor);
     NOTREACHED();
   }
 
diff --git a/src/cobalt/cssom/css_grouping_rule_test.cc b/src/cobalt/cssom/css_grouping_rule_test.cc
index c43f0e5..90210d7 100644
--- a/src/cobalt/cssom/css_grouping_rule_test.cc
+++ b/src/cobalt/cssom/css_grouping_rule_test.cc
@@ -35,12 +35,11 @@
 
   // From CSSRule.
   Type type() const override { return kMediaRule; }
-  std::string css_text(
-      script::ExceptionState* /*exception_state*/) const override {
+  std::string css_text(script::ExceptionState* exception_state) const override {
     return "";
   }
-  void set_css_text(const std::string& /* css_text */,
-                    script::ExceptionState* /*exception_state*/) override {}
+  void set_css_text(const std::string& css_text,
+                    script::ExceptionState* exception_state) override {}
   void AttachToCSSStyleSheet(CSSStyleSheet* style_sheet) override {
     set_parent_style_sheet(style_sheet);
     css_rules()->AttachToCSSStyleSheet(style_sheet);
diff --git a/src/cobalt/cssom/css_keyframe_rule.cc b/src/cobalt/cssom/css_keyframe_rule.cc
index cd89c71..a02358b 100644
--- a/src/cobalt/cssom/css_keyframe_rule.cc
+++ b/src/cobalt/cssom/css_keyframe_rule.cc
@@ -25,14 +25,13 @@
     : offsets_(offsets), style_(style) {}
 
 std::string CSSKeyframeRule::css_text(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   NOTIMPLEMENTED();
   return "";
 }
 
-void CSSKeyframeRule::set_css_text(
-    const std::string& /*css_text*/,
-    script::ExceptionState* /*exception_state*/) {
+void CSSKeyframeRule::set_css_text(const std::string& css_text,
+                                   script::ExceptionState* exception_state) {
   NOTIMPLEMENTED();
 }
 
diff --git a/src/cobalt/cssom/css_keyframes_rule.cc b/src/cobalt/cssom/css_keyframes_rule.cc
index 32185a1..0d8a84c 100644
--- a/src/cobalt/cssom/css_keyframes_rule.cc
+++ b/src/cobalt/cssom/css_keyframes_rule.cc
@@ -32,14 +32,13 @@
 }
 
 std::string CSSKeyframesRule::css_text(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   NOTIMPLEMENTED();
   return "";
 }
 
-void CSSKeyframesRule::set_css_text(
-    const std::string& /*css_text*/,
-    script::ExceptionState* /*exception_state*/) {
+void CSSKeyframesRule::set_css_text(const std::string& css_text,
+                                    script::ExceptionState* exception_state) {
   NOTIMPLEMENTED();
 }
 
diff --git a/src/cobalt/cssom/css_media_rule.cc b/src/cobalt/cssom/css_media_rule.cc
index 60cf66e..7c648d0 100644
--- a/src/cobalt/cssom/css_media_rule.cc
+++ b/src/cobalt/cssom/css_media_rule.cc
@@ -34,15 +34,15 @@
 }
 
 std::string CSSMediaRule::css_text(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   // TODO: Serialize the media rule to implement css_text.
   //   https://www.w3.org/TR/cssom/#dom-cssrule-csstext
   NOTIMPLEMENTED() << "CSSMediaRule serialization not implemented yet.";
   return "";
 }
 
-void CSSMediaRule::set_css_text(const std::string& /* css_text */,
-                                script::ExceptionState* /*exception_state*/) {
+void CSSMediaRule::set_css_text(const std::string& css_text,
+                                script::ExceptionState* exception_state) {
   // TODO: Parse the given text into a new CSSMediaRule.
   if (parent_style_sheet()) {
     parent_style_sheet()->OnMediaRuleMutation();
diff --git a/src/cobalt/cssom/css_style_declaration.cc b/src/cobalt/cssom/css_style_declaration.cc
index 166e53e..545b82c 100644
--- a/src/cobalt/cssom/css_style_declaration.cc
+++ b/src/cobalt/cssom/css_style_declaration.cc
@@ -24,7 +24,7 @@
 namespace cssom {
 
 std::string CSSStyleDeclaration::align_content(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kAlignContentProperty);
 }
 
@@ -35,7 +35,7 @@
 }
 
 std::string CSSStyleDeclaration::align_items(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kAlignItemsProperty);
 }
 
@@ -46,7 +46,7 @@
 }
 
 std::string CSSStyleDeclaration::align_self(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kAlignSelfProperty);
 }
 
@@ -56,7 +56,7 @@
 }
 
 std::string CSSStyleDeclaration::animation(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kAnimationProperty);
 }
 
@@ -66,7 +66,7 @@
 }
 
 std::string CSSStyleDeclaration::animation_delay(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kAnimationDelayProperty);
 }
 
@@ -78,7 +78,7 @@
 }
 
 std::string CSSStyleDeclaration::animation_direction(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kAnimationDirectionProperty);
 }
 
@@ -90,7 +90,7 @@
 }
 
 std::string CSSStyleDeclaration::animation_duration(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kAnimationDurationProperty);
 }
 
@@ -102,7 +102,7 @@
 }
 
 std::string CSSStyleDeclaration::animation_fill_mode(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kAnimationFillModeProperty);
 }
 
@@ -114,7 +114,7 @@
 }
 
 std::string CSSStyleDeclaration::animation_iteration_count(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kAnimationIterationCountProperty);
 }
 
@@ -126,7 +126,7 @@
 }
 
 std::string CSSStyleDeclaration::animation_name(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kAnimationNameProperty);
 }
 
@@ -138,7 +138,7 @@
 }
 
 std::string CSSStyleDeclaration::animation_timing_function(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kAnimationTimingFunctionProperty);
 }
 
@@ -150,7 +150,7 @@
 }
 
 std::string CSSStyleDeclaration::background(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBackgroundProperty);
 }
 
@@ -160,7 +160,7 @@
 }
 
 std::string CSSStyleDeclaration::background_color(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBackgroundColorProperty);
 }
 
@@ -172,7 +172,7 @@
 }
 
 std::string CSSStyleDeclaration::background_image(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBackgroundImageProperty);
 }
 
@@ -184,7 +184,7 @@
 }
 
 std::string CSSStyleDeclaration::background_position(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBackgroundPositionProperty);
 }
 
@@ -196,7 +196,7 @@
 }
 
 std::string CSSStyleDeclaration::background_repeat(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBackgroundRepeatProperty);
 }
 
@@ -208,7 +208,7 @@
 }
 
 std::string CSSStyleDeclaration::background_size(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBackgroundSizeProperty);
 }
 
@@ -220,7 +220,7 @@
 }
 
 std::string CSSStyleDeclaration::border(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderProperty);
 }
 
@@ -230,7 +230,7 @@
 }
 
 std::string CSSStyleDeclaration::border_bottom(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderBottomProperty);
 }
 
@@ -241,7 +241,7 @@
 }
 
 std::string CSSStyleDeclaration::border_left(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderLeftProperty);
 }
 
@@ -252,7 +252,7 @@
 }
 
 std::string CSSStyleDeclaration::border_right(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderRightProperty);
 }
 
@@ -263,7 +263,7 @@
 }
 
 std::string CSSStyleDeclaration::border_top(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderTopProperty);
 }
 
@@ -273,7 +273,7 @@
 }
 
 std::string CSSStyleDeclaration::border_color(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderColorProperty);
 }
 
@@ -284,7 +284,7 @@
 }
 
 std::string CSSStyleDeclaration::border_top_color(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderTopColorProperty);
 }
 
@@ -296,7 +296,7 @@
 }
 
 std::string CSSStyleDeclaration::border_right_color(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderRightColorProperty);
 }
 
@@ -308,7 +308,7 @@
 }
 
 std::string CSSStyleDeclaration::border_bottom_color(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderBottomColorProperty);
 }
 
@@ -320,7 +320,7 @@
 }
 
 std::string CSSStyleDeclaration::border_left_color(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderLeftColorProperty);
 }
 
@@ -332,7 +332,7 @@
 }
 
 std::string CSSStyleDeclaration::border_style(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderStyleProperty);
 }
 
@@ -343,7 +343,7 @@
 }
 
 std::string CSSStyleDeclaration::border_top_style(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderTopStyleProperty);
 }
 
@@ -355,7 +355,7 @@
 }
 
 std::string CSSStyleDeclaration::border_right_style(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderRightStyleProperty);
 }
 
@@ -367,7 +367,7 @@
 }
 
 std::string CSSStyleDeclaration::border_bottom_style(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderBottomStyleProperty);
 }
 
@@ -379,7 +379,7 @@
 }
 
 std::string CSSStyleDeclaration::border_left_style(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderLeftStyleProperty);
 }
 
@@ -391,7 +391,7 @@
 }
 
 std::string CSSStyleDeclaration::border_width(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderWidthProperty);
 }
 
@@ -402,7 +402,7 @@
 }
 
 std::string CSSStyleDeclaration::border_top_width(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderTopWidthProperty);
 }
 
@@ -414,7 +414,7 @@
 }
 
 std::string CSSStyleDeclaration::border_right_width(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderRightWidthProperty);
 }
 
@@ -426,7 +426,7 @@
 }
 
 std::string CSSStyleDeclaration::border_bottom_width(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderBottomWidthProperty);
 }
 
@@ -438,7 +438,7 @@
 }
 
 std::string CSSStyleDeclaration::border_left_width(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderLeftWidthProperty);
 }
 
@@ -450,7 +450,7 @@
 }
 
 std::string CSSStyleDeclaration::border_radius(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderRadiusProperty);
 }
 
@@ -461,7 +461,7 @@
 }
 
 std::string CSSStyleDeclaration::border_top_left_radius(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderTopLeftRadiusProperty);
 }
 
@@ -473,7 +473,7 @@
 }
 
 std::string CSSStyleDeclaration::border_top_right_radius(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderTopRightRadiusProperty);
 }
 
@@ -485,7 +485,7 @@
 }
 
 std::string CSSStyleDeclaration::border_bottom_right_radius(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderBottomRightRadiusProperty);
 }
 
@@ -497,7 +497,7 @@
 }
 
 std::string CSSStyleDeclaration::border_bottom_left_radius(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBorderBottomLeftRadiusProperty);
 }
 
@@ -509,7 +509,7 @@
 }
 
 std::string CSSStyleDeclaration::bottom(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBottomProperty);
 }
 
@@ -519,7 +519,7 @@
 }
 
 std::string CSSStyleDeclaration::box_shadow(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kBoxShadowProperty);
 }
 
@@ -529,7 +529,7 @@
 }
 
 std::string CSSStyleDeclaration::color(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kColorProperty);
 }
 
@@ -539,7 +539,7 @@
 }
 
 std::string CSSStyleDeclaration::content(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kContentProperty);
 }
 
@@ -549,7 +549,7 @@
 }
 
 std::string CSSStyleDeclaration::display(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kDisplayProperty);
 }
 
@@ -559,7 +559,7 @@
 }
 
 std::string CSSStyleDeclaration::filter(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kFilterProperty);
 }
 
@@ -569,7 +569,7 @@
 }
 
 std::string CSSStyleDeclaration::flex(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kFlexProperty);
 }
 
@@ -579,7 +579,7 @@
 }
 
 std::string CSSStyleDeclaration::flex_basis(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kFlexBasisProperty);
 }
 
@@ -589,7 +589,7 @@
 }
 
 std::string CSSStyleDeclaration::flex_direction(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kFlexDirectionProperty);
 }
 
@@ -601,7 +601,7 @@
 }
 
 std::string CSSStyleDeclaration::flex_flow(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kFlexFlowProperty);
 }
 
@@ -611,7 +611,7 @@
 }
 
 std::string CSSStyleDeclaration::flex_grow(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kFlexGrowProperty);
 }
 
@@ -621,7 +621,7 @@
 }
 
 std::string CSSStyleDeclaration::flex_shrink(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kFlexShrinkProperty);
 }
 
@@ -632,7 +632,7 @@
 }
 
 std::string CSSStyleDeclaration::flex_wrap(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kFlexWrapProperty);
 }
 
@@ -642,7 +642,7 @@
 }
 
 std::string CSSStyleDeclaration::font(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kFontProperty);
 }
 
@@ -652,7 +652,7 @@
 }
 
 std::string CSSStyleDeclaration::font_family(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kFontFamilyProperty);
 }
 
@@ -663,7 +663,7 @@
 }
 
 std::string CSSStyleDeclaration::font_size(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kFontSizeProperty);
 }
 
@@ -673,7 +673,7 @@
 }
 
 std::string CSSStyleDeclaration::font_style(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kFontStyleProperty);
 }
 
@@ -683,7 +683,7 @@
 }
 
 std::string CSSStyleDeclaration::font_weight(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kFontWeightProperty);
 }
 
@@ -694,7 +694,7 @@
 }
 
 std::string CSSStyleDeclaration::height(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kHeightProperty);
 }
 
@@ -704,7 +704,7 @@
 }
 
 std::string CSSStyleDeclaration::justify_content(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kJustifyContentProperty);
 }
 
@@ -716,7 +716,7 @@
 }
 
 std::string CSSStyleDeclaration::left(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kLeftProperty);
 }
 
@@ -726,7 +726,7 @@
 }
 
 std::string CSSStyleDeclaration::line_height(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kLineHeightProperty);
 }
 
@@ -737,7 +737,7 @@
 }
 
 std::string CSSStyleDeclaration::margin(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kMarginProperty);
 }
 
@@ -747,7 +747,7 @@
 }
 
 std::string CSSStyleDeclaration::margin_bottom(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kMarginBottomProperty);
 }
 
@@ -758,7 +758,7 @@
 }
 
 std::string CSSStyleDeclaration::margin_left(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kMarginLeftProperty);
 }
 
@@ -769,7 +769,7 @@
 }
 
 std::string CSSStyleDeclaration::margin_right(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kMarginRightProperty);
 }
 
@@ -780,7 +780,7 @@
 }
 
 std::string CSSStyleDeclaration::margin_top(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kMarginTopProperty);
 }
 
@@ -790,7 +790,7 @@
 }
 
 std::string CSSStyleDeclaration::max_height(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kMaxHeightProperty);
 }
 
@@ -800,7 +800,7 @@
 }
 
 std::string CSSStyleDeclaration::max_width(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kMaxWidthProperty);
 }
 
@@ -810,7 +810,7 @@
 }
 
 std::string CSSStyleDeclaration::min_height(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kMinHeightProperty);
 }
 
@@ -820,7 +820,7 @@
 }
 
 std::string CSSStyleDeclaration::min_width(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kMinWidthProperty);
 }
 
@@ -830,7 +830,7 @@
 }
 
 std::string CSSStyleDeclaration::opacity(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kOpacityProperty);
 }
 
@@ -840,7 +840,7 @@
 }
 
 std::string CSSStyleDeclaration::order(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kOrderProperty);
 }
 
@@ -850,7 +850,7 @@
 }
 
 std::string CSSStyleDeclaration::outline(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kOutlineProperty);
 }
 
@@ -860,7 +860,7 @@
 }
 
 std::string CSSStyleDeclaration::outline_color(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kOutlineColorProperty);
 }
 
@@ -871,7 +871,7 @@
 }
 
 std::string CSSStyleDeclaration::outline_style(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kOutlineStyleProperty);
 }
 
@@ -882,7 +882,7 @@
 }
 
 std::string CSSStyleDeclaration::outline_width(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kOutlineWidthProperty);
 }
 
@@ -893,7 +893,7 @@
 }
 
 std::string CSSStyleDeclaration::overflow(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kOverflowProperty);
 }
 
@@ -903,7 +903,7 @@
 }
 
 std::string CSSStyleDeclaration::overflow_wrap(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kOverflowWrapProperty);
 }
 
@@ -914,7 +914,7 @@
 }
 
 std::string CSSStyleDeclaration::padding(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kPaddingProperty);
 }
 
@@ -924,7 +924,7 @@
 }
 
 std::string CSSStyleDeclaration::padding_bottom(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kPaddingBottomProperty);
 }
 
@@ -936,7 +936,7 @@
 }
 
 std::string CSSStyleDeclaration::padding_left(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kPaddingLeftProperty);
 }
 
@@ -947,7 +947,7 @@
 }
 
 std::string CSSStyleDeclaration::padding_right(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kPaddingRightProperty);
 }
 
@@ -958,7 +958,7 @@
 }
 
 std::string CSSStyleDeclaration::padding_top(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kPaddingTopProperty);
 }
 
@@ -969,7 +969,7 @@
 }
 
 std::string CSSStyleDeclaration::pointer_events(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kPointerEventsProperty);
 }
 
@@ -981,7 +981,7 @@
 }
 
 std::string CSSStyleDeclaration::position(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kPositionProperty);
 }
 
@@ -991,7 +991,7 @@
 }
 
 std::string CSSStyleDeclaration::right(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kRightProperty);
 }
 
@@ -1001,7 +1001,7 @@
 }
 
 std::string CSSStyleDeclaration::text_align(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kTextAlignProperty);
 }
 
@@ -1011,7 +1011,7 @@
 }
 
 std::string CSSStyleDeclaration::text_decoration(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   // TODO: Redirect text decoration to text decoration line for now and
   // change it when fully implement text decoration.
   return GetDeclaredPropertyValueStringByKey(kTextDecorationLineProperty);
@@ -1027,7 +1027,7 @@
 }
 
 std::string CSSStyleDeclaration::text_decoration_color(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kTextDecorationColorProperty);
 }
 
@@ -1039,7 +1039,7 @@
 }
 
 std::string CSSStyleDeclaration::text_decoration_line(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kTextDecorationLineProperty);
 }
 
@@ -1051,7 +1051,7 @@
 }
 
 std::string CSSStyleDeclaration::text_indent(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kTextIndentProperty);
 }
 
@@ -1062,7 +1062,7 @@
 }
 
 std::string CSSStyleDeclaration::text_overflow(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kTextOverflowProperty);
 }
 
@@ -1073,7 +1073,7 @@
 }
 
 std::string CSSStyleDeclaration::text_shadow(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kTextShadowProperty);
 }
 
@@ -1084,7 +1084,7 @@
 }
 
 std::string CSSStyleDeclaration::text_transform(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kTextTransformProperty);
 }
 
@@ -1096,7 +1096,7 @@
 }
 
 std::string CSSStyleDeclaration::top(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kTopProperty);
 }
 
@@ -1106,7 +1106,7 @@
 }
 
 std::string CSSStyleDeclaration::transform(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kTransformProperty);
 }
 
@@ -1116,7 +1116,7 @@
 }
 
 std::string CSSStyleDeclaration::transform_origin(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kTransformOriginProperty);
 }
 
@@ -1128,7 +1128,7 @@
 }
 
 std::string CSSStyleDeclaration::transition(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kTransitionProperty);
 }
 
@@ -1138,7 +1138,7 @@
 }
 
 std::string CSSStyleDeclaration::transition_delay(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kTransitionDelayProperty);
 }
 
@@ -1150,7 +1150,7 @@
 }
 
 std::string CSSStyleDeclaration::transition_duration(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kTransitionDurationProperty);
 }
 
@@ -1162,7 +1162,7 @@
 }
 
 std::string CSSStyleDeclaration::transition_property(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kTransitionPropertyProperty);
 }
 
@@ -1174,7 +1174,7 @@
 }
 
 std::string CSSStyleDeclaration::transition_timing_function(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kTransitionTimingFunctionProperty);
 }
 
@@ -1186,7 +1186,7 @@
 }
 
 std::string CSSStyleDeclaration::vertical_align(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kVerticalAlignProperty);
 }
 
@@ -1198,7 +1198,7 @@
 }
 
 std::string CSSStyleDeclaration::visibility(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kVisibilityProperty);
 }
 
@@ -1208,7 +1208,7 @@
 }
 
 std::string CSSStyleDeclaration::white_space(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kWhiteSpaceProperty);
 }
 
@@ -1219,7 +1219,7 @@
 }
 
 std::string CSSStyleDeclaration::width(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kWidthProperty);
 }
 
@@ -1231,7 +1231,7 @@
 // word-wrap is treated as an alias for overflow-wrap
 //   https://www.w3.org/TR/css-text-3/#overflow-wrap
 std::string CSSStyleDeclaration::word_wrap(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kOverflowWrapProperty);
 }
 
@@ -1241,7 +1241,7 @@
 }
 
 std::string CSSStyleDeclaration::z_index(
-    script::ExceptionState* /*exception_state*/) const {
+    script::ExceptionState* exception_state) const {
   return GetDeclaredPropertyValueStringByKey(kZIndexProperty);
 }
 
diff --git a/src/cobalt/cssom/css_style_sheet.cc b/src/cobalt/cssom/css_style_sheet.cc
index 7d5c9c5..5a399e1 100644
--- a/src/cobalt/cssom/css_style_sheet.cc
+++ b/src/cobalt/cssom/css_style_sheet.cc
@@ -40,9 +40,9 @@
   explicit MediaRuleUpdater(const ViewportSize& viewport_size)
       : any_condition_value_changed_(false), viewport_size_(viewport_size) {}
 
-  void VisitCSSStyleRule(CSSStyleRule* /*css_style_rule*/) override {}
+  void VisitCSSStyleRule(CSSStyleRule* css_style_rule) override {}
 
-  void VisitCSSFontFaceRule(CSSFontFaceRule* /*css_font_face_rule*/) override {}
+  void VisitCSSFontFaceRule(CSSFontFaceRule* css_font_face_rule) override {}
 
   void VisitCSSMediaRule(CSSMediaRule* css_media_rule) override {
     bool condition_value_changed =
@@ -51,9 +51,8 @@
     any_condition_value_changed_ |= condition_value_changed;
   }
 
-  void VisitCSSKeyframeRule(CSSKeyframeRule* /*css_keyframe_rule*/) override {}
-  void VisitCSSKeyframesRule(
-      CSSKeyframesRule* /*css_keyframes_rule*/) override {}
+  void VisitCSSKeyframeRule(CSSKeyframeRule* css_keyframe_rule) override {}
+  void VisitCSSKeyframesRule(CSSKeyframesRule* css_keyframes_rule) override {}
 
   bool AnyConditionValueChanged() { return any_condition_value_changed_; }
 
diff --git a/src/cobalt/cssom/interpolate_property_value.cc b/src/cobalt/cssom/interpolate_property_value.cc
index 1092f2a..b781e1a 100644
--- a/src/cobalt/cssom/interpolate_property_value.cc
+++ b/src/cobalt/cssom/interpolate_property_value.cc
@@ -384,36 +384,35 @@
 }  // namespace
 
 void InterpolateVisitor::VisitAbsoluteURL(
-    AbsoluteURLValue* /*start_absolute_url_value*/) {
+    AbsoluteURLValue* start_absolute_url_value) {
   NOTIMPLEMENTED();
   interpolated_value_ = end_value_;
 }
 
-void InterpolateVisitor::VisitCalc(CalcValue* /*start_calc_value*/) {
+void InterpolateVisitor::VisitCalc(CalcValue* start_calc_value) {
   NOTIMPLEMENTED();
   interpolated_value_ = end_value_;
 }
 
 void InterpolateVisitor::VisitFilterFunctionList(
-    FilterFunctionListValue* /*start_filter_function_list_value*/) {
+    FilterFunctionListValue* start_filter_function_list_value) {
   NOTIMPLEMENTED();
   interpolated_value_ = end_value_;
 }
 
 void InterpolateVisitor::VisitFontStyle(
-    FontStyleValue* /*start_font_style_value*/) {
+    FontStyleValue* start_font_style_value) {
   NOTIMPLEMENTED();
   interpolated_value_ = end_value_;
 }
 
 void InterpolateVisitor::VisitFontWeight(
-    FontWeightValue* /*start_font_weight_value*/) {
+    FontWeightValue* start_font_weight_value) {
   NOTIMPLEMENTED();
   interpolated_value_ = end_value_;
 }
 
 void InterpolateVisitor::VisitInteger(IntegerValue* integer_value) {
-  SB_UNREFERENCED_PARAMETER(integer_value);
   interpolated_value_ = end_value_;
 }
 
@@ -442,18 +441,18 @@
 }
 
 void InterpolateVisitor::VisitLinearGradient(
-    LinearGradientValue* /*start_linear_gradient_value*/) {
+    LinearGradientValue* start_linear_gradient_value) {
   NOTIMPLEMENTED();
   interpolated_value_ = end_value_;
 }
 
-void InterpolateVisitor::VisitLocalSrc(LocalSrcValue* /*local_src_value*/) {
+void InterpolateVisitor::VisitLocalSrc(LocalSrcValue* local_src_value) {
   NOTIMPLEMENTED();
   interpolated_value_ = end_value_;
 }
 
 void InterpolateVisitor::VisitMediaFeatureKeywordValue(
-    MediaFeatureKeywordValue* /*media_feature_keyword_value*/) {
+    MediaFeatureKeywordValue* media_feature_keyword_value) {
   NOTREACHED();
   interpolated_value_ = end_value_;
 }
@@ -468,36 +467,36 @@
 }
 
 void InterpolateVisitor::VisitPercentage(
-    PercentageValue* /*start_percentage_value*/) {
+    PercentageValue* start_percentage_value) {
   NOTIMPLEMENTED();
   interpolated_value_ = end_value_;
 }
 
 void InterpolateVisitor::VisitPropertyList(
-    PropertyListValue* /*property_list_value*/) {
+    PropertyListValue* property_list_value) {
   NOTIMPLEMENTED();
   interpolated_value_ = end_value_;
 }
 
 void InterpolateVisitor::VisitPropertyKeyList(
-    PropertyKeyListValue* /*property_key_list_value*/) {
+    PropertyKeyListValue* property_key_list_value) {
   NOTIMPLEMENTED();
   interpolated_value_ = end_value_;
 }
 
 void InterpolateVisitor::VisitRadialGradient(
-    RadialGradientValue* /*radial_gradient_value*/) {
+    RadialGradientValue* radial_gradient_value) {
   NOTREACHED();
   interpolated_value_ = end_value_;
 }
 
-void InterpolateVisitor::VisitRatio(RatioValue* /*start_ratio_value*/) {
+void InterpolateVisitor::VisitRatio(RatioValue* start_ratio_value) {
   NOTREACHED();
   interpolated_value_ = end_value_;
 }
 
 void InterpolateVisitor::VisitResolution(
-    ResolutionValue* /*start_resolution_value*/) {
+    ResolutionValue* start_resolution_value) {
   NOTREACHED();
   interpolated_value_ = end_value_;
 }
@@ -514,18 +513,17 @@
       Lerp(start_color_value->a(), end_color_value.a(), progress_)));
 }
 
-void InterpolateVisitor::VisitShadow(ShadowValue* /*shadow_value*/) {
+void InterpolateVisitor::VisitShadow(ShadowValue* shadow_value) {
   NOTIMPLEMENTED();
   interpolated_value_ = end_value_;
 }
 
-void InterpolateVisitor::VisitString(StringValue* /*start_string_value*/) {
+void InterpolateVisitor::VisitString(StringValue* start_string_value) {
   NOTIMPLEMENTED();
   interpolated_value_ = end_value_;
 }
 
-void InterpolateVisitor::VisitTimeList(
-    TimeListValue* /*start_time_list_value*/) {
+void InterpolateVisitor::VisitTimeList(TimeListValue* start_time_list_value) {
   NOTIMPLEMENTED();
   interpolated_value_ = end_value_;
 }
@@ -566,23 +564,23 @@
 }
 
 void InterpolateVisitor::VisitTimingFunctionList(
-    TimingFunctionListValue* /*start_timing_function_list_value*/) {
+    TimingFunctionListValue* start_timing_function_list_value) {
   NOTIMPLEMENTED();
   interpolated_value_ = end_value_;
 }
 
 void InterpolateVisitor::VisitUnicodeRange(
-    UnicodeRangeValue* /*unicode_range_value*/) {
+    UnicodeRangeValue* unicode_range_value) {
   NOTREACHED();
   interpolated_value_ = end_value_;
 }
 
-void InterpolateVisitor::VisitURL(URLValue* /*url_value*/) {
+void InterpolateVisitor::VisitURL(URLValue* url_value) {
   NOTREACHED();
   interpolated_value_ = end_value_;
 }
 
-void InterpolateVisitor::VisitUrlSrc(UrlSrcValue* /*url_src_value*/) {
+void InterpolateVisitor::VisitUrlSrc(UrlSrcValue* url_src_value) {
   NOTREACHED();
   interpolated_value_ = end_value_;
 }
diff --git a/src/cobalt/cssom/matrix_function.h b/src/cobalt/cssom/matrix_function.h
index 4a721ab..32d1ada 100644
--- a/src/cobalt/cssom/matrix_function.h
+++ b/src/cobalt/cssom/matrix_function.h
@@ -43,9 +43,9 @@
 
   std::string ToString() const override;
 
-  math::Matrix3F ToMatrix(const math::SizeF& /* used_size */,
-      const scoped_refptr<ui_navigation::NavItem>& /* used_ui_nav_focus */)
-      const override {
+  math::Matrix3F ToMatrix(const math::SizeF& used_size,
+                          const scoped_refptr<ui_navigation::NavItem>&
+                              used_ui_nav_focus) const override {
     return value_;
   }
 
diff --git a/src/cobalt/cssom/pseudo_element.h b/src/cobalt/cssom/pseudo_element.h
index 0941427..5172cf0 100644
--- a/src/cobalt/cssom/pseudo_element.h
+++ b/src/cobalt/cssom/pseudo_element.h
@@ -48,9 +48,9 @@
 
   // From SimpleSelector.
   PseudoElement* AsPseudoElement() override { return this; }
-  void IndexSelectorTreeNode(SelectorTree::Node* /* parent_node */,
-                             SelectorTree::Node* /* child_node */,
-                             CombinatorType /* combinator */) override {}
+  void IndexSelectorTreeNode(SelectorTree::Node* parent_node,
+                             SelectorTree::Node* child_node,
+                             CombinatorType combinator) override {}
 
   // Rest of public methods.
   virtual AfterPseudoElement* AsAfterPseudoElement() { return NULL; }
diff --git a/src/cobalt/cssom/rotate_function.cc b/src/cobalt/cssom/rotate_function.cc
index 24c4ece..8869314 100644
--- a/src/cobalt/cssom/rotate_function.cc
+++ b/src/cobalt/cssom/rotate_function.cc
@@ -24,9 +24,9 @@
   visitor->VisitRotate(this);
 }
 
-math::Matrix3F RotateFunction::ToMatrix(const math::SizeF& /* used_size */,
-    const scoped_refptr<ui_navigation::NavItem>& /* used_ui_nav_focus */)
-    const {
+math::Matrix3F RotateFunction::ToMatrix(
+    const math::SizeF& used_size,
+    const scoped_refptr<ui_navigation::NavItem>& used_ui_nav_focus) const {
   // Since RotateMatrix()'s parameter is interpreted as counter-clockwise, we
   // must negate our clockwise angle before passing it in.
   return math::RotateMatrix(-clockwise_angle_in_radians_);
diff --git a/src/cobalt/cssom/scale_function.cc b/src/cobalt/cssom/scale_function.cc
index 1ad32b0..b502350 100644
--- a/src/cobalt/cssom/scale_function.cc
+++ b/src/cobalt/cssom/scale_function.cc
@@ -24,9 +24,9 @@
   visitor->VisitScale(this);
 }
 
-math::Matrix3F ScaleFunction::ToMatrix(const math::SizeF& /* used_size */,
-    const scoped_refptr<ui_navigation::NavItem>& /* used_ui_nav_focus */)
-    const {
+math::Matrix3F ScaleFunction::ToMatrix(
+    const math::SizeF& used_size,
+    const scoped_refptr<ui_navigation::NavItem>& used_ui_nav_focus) const {
   return math::ScaleMatrix(x_factor_, y_factor_);
 }
 
diff --git a/src/cobalt/cssom/translate_function.cc b/src/cobalt/cssom/translate_function.cc
index c87aad4..dae29cd 100644
--- a/src/cobalt/cssom/translate_function.cc
+++ b/src/cobalt/cssom/translate_function.cc
@@ -119,9 +119,9 @@
   return result;
 }
 
-math::Matrix3F TranslateFunction::ToMatrix(const math::SizeF& used_size,
-    const scoped_refptr<ui_navigation::NavItem>& /* used_ui_nav_focus */)
-    const {
+math::Matrix3F TranslateFunction::ToMatrix(
+    const math::SizeF& used_size,
+    const scoped_refptr<ui_navigation::NavItem>& used_ui_nav_focus) const {
   switch (axis_) {
     case kXAxis:
       return math::TranslateMatrix(length_component_in_pixels() +
diff --git a/src/third_party/pyjson5/json5/fakes/__init__.py b/src/cobalt/debug/__init__.py
similarity index 100%
copy from src/third_party/pyjson5/json5/fakes/__init__.py
copy to src/cobalt/debug/__init__.py
diff --git a/src/cobalt/debug/backend/debug_script_runner.cc b/src/cobalt/debug/backend/debug_script_runner.cc
index 8a6d771..36fa38b 100644
--- a/src/cobalt/debug/backend/debug_script_runner.cc
+++ b/src/cobalt/debug/backend/debug_script_runner.cc
@@ -27,7 +27,7 @@
 namespace backend {
 
 namespace {
-const char kContentDir[] = "cobalt/debug/backend";
+const char kContentDir[] = "debug_backend";
 }  // namespace
 
 DebugScriptRunner::DebugScriptRunner(
diff --git a/src/cobalt/debug/backend/log_agent.cc b/src/cobalt/debug/backend/log_agent.cc
index e3fc196..9fc974a 100644
--- a/src/cobalt/debug/backend/log_agent.cc
+++ b/src/cobalt/debug/backend/log_agent.cc
@@ -56,9 +56,6 @@
 
 bool LogAgent::OnLogMessage(int severity, const char* file, int line,
                             size_t message_start, const std::string& str) {
-  SB_UNREFERENCED_PARAMETER(file);
-  SB_UNREFERENCED_PARAMETER(line);
-  SB_UNREFERENCED_PARAMETER(message_start);
   DCHECK(this);
 
   if (enabled_) {
diff --git a/src/cobalt/debug/backend/overlay_agent.cc b/src/cobalt/debug/backend/overlay_agent.cc
index 2a3a6a2..a1686cd 100644
--- a/src/cobalt/debug/backend/overlay_agent.cc
+++ b/src/cobalt/debug/backend/overlay_agent.cc
@@ -81,6 +81,8 @@
       base::Bind(&OverlayAgent::HighlightRect, base::Unretained(this));
   commands_["hideHighlight"] =
       base::Bind(&OverlayAgent::HideHighlight, base::Unretained(this));
+  commands_["setShowViewportSizeOnResize"] = base::Bind(
+      &OverlayAgent::SetShowViewportSizeOnResize, base::Unretained(this));
 }
 
 void OverlayAgent::HighlightNode(Command command) {
@@ -124,6 +126,12 @@
   command.SendResponse();
 }
 
+void OverlayAgent::SetShowViewportSizeOnResize(Command command) {
+  // NO-OP implementation needed to prevent a frontend runtime exception when
+  // Overlay settings are restored after the Performance panel stops tracing.
+  command.SendResponse();
+}
+
 }  // namespace backend
 }  // namespace debug
 }  // namespace cobalt
diff --git a/src/cobalt/debug/backend/overlay_agent.h b/src/cobalt/debug/backend/overlay_agent.h
index 2bd6057..b9186de 100644
--- a/src/cobalt/debug/backend/overlay_agent.h
+++ b/src/cobalt/debug/backend/overlay_agent.h
@@ -33,6 +33,7 @@
   void HighlightNode(Command command);
   void HighlightRect(Command command);
   void HideHighlight(Command command);
+  void SetShowViewportSizeOnResize(Command command);
 
   // Render layer owned by this object.
   std::unique_ptr<RenderLayer> render_layer_;
diff --git a/src/cobalt/debug/console/content/media_console.js b/src/cobalt/debug/console/content/media_console.js
index 66b33d1..76146a6 100644
--- a/src/cobalt/debug/console/content/media_console.js
+++ b/src/cobalt/debug/console/content/media_console.js
@@ -83,7 +83,7 @@
 }
 
 MediaConsole.prototype.initializeMediaConsoleContext = function() {
-  let js = debugHub.readDebugContentText('console/media_console_context.js');
+  let js = debugHub.readDebugContentText('media_console_context.js');
   this.debuggerClient.evaluate(js);
 }
 
diff --git a/src/cobalt/debug/console/debug_hub.cc b/src/cobalt/debug/console/debug_hub.cc
index a9f2e03..f8c0b7c 100644
--- a/src/cobalt/debug/console/debug_hub.cc
+++ b/src/cobalt/debug/console/debug_hub.cc
@@ -32,7 +32,7 @@
 namespace console {
 
 namespace {
-constexpr char kContentDir[] = "cobalt/debug";
+constexpr char kContentDir[] = "debug_console";
 }  // namespace
 
 DebugHub::DebugHub(
diff --git a/src/cobalt/debug/console/debug_hub.h b/src/cobalt/debug/console/debug_hub.h
index 0fa8a55..da32546 100644
--- a/src/cobalt/debug/console/debug_hub.h
+++ b/src/cobalt/debug/console/debug_hub.h
@@ -80,7 +80,7 @@
   void Attach(const AttachCallbackArg& callback);
   void Detach(const AttachCallbackArg& callback);
 
-  // Read a text file from the content/web/cobalt/debug/ directory and return
+  // Read a text file from the content/web/debug_console/ directory and return
   // its contents.
   std::string ReadDebugContentText(const std::string& filename);
 
diff --git a/src/cobalt/debug/debug.gyp b/src/cobalt/debug/debug.gyp
index 73c8be8..4509f6e 100644
--- a/src/cobalt/debug/debug.gyp
+++ b/src/cobalt/debug/debug.gyp
@@ -109,7 +109,9 @@
         'content_web_input_files': [
           '<(DEPTH)/cobalt/debug/backend/content/',
         ],
-        'content_web_output_subdir': 'cobalt/debug/backend',
+        # Canonically this should be "cobalt/debug/backend" to match the source
+        # path, but we put it in the root of the content dir to reduce depth.
+        'content_web_output_subdir': 'debug_backend',
       },
       'includes': [ '<(DEPTH)/cobalt/build/copy_web_data.gypi' ],
     },
@@ -121,7 +123,9 @@
         'content_web_input_files': [
           '<(DEPTH)/cobalt/debug/console/content/',
         ],
-        'content_web_output_subdir': 'cobalt/debug/console',
+        # Canonically this should be "cobalt/debug/console" to match the source
+        # path, but we put it in the root of the content dir to reduce depth.
+        'content_web_output_subdir': 'debug_console',
       },
       'includes': [ '<(DEPTH)/cobalt/build/copy_web_data.gypi' ],
     },
@@ -133,7 +137,9 @@
         'content_web_input_files': [
           '<(DEPTH)/cobalt/debug/remote/content/',
         ],
-        'content_web_output_subdir': 'cobalt/debug/remote',
+        # Canonically this should be "cobalt/debug/remote" to match the source
+        # path, but we put it in the root of the content dir to reduce depth.
+        'content_web_output_subdir': 'debug_remote',
       },
       'includes': [ '<(DEPTH)/cobalt/build/copy_web_data.gypi' ],
     },
diff --git a/src/third_party/pyjson5/json5/fakes/__init__.py b/src/cobalt/debug/remote/__init__.py
similarity index 100%
copy from src/third_party/pyjson5/json5/fakes/__init__.py
copy to src/cobalt/debug/remote/__init__.py
diff --git a/src/cobalt/debug/remote/debug_web_server.cc b/src/cobalt/debug/remote/debug_web_server.cc
index afda887..73f7ceb 100644
--- a/src/cobalt/debug/remote/debug_web_server.cc
+++ b/src/cobalt/debug/remote/debug_web_server.cc
@@ -79,7 +79,7 @@
   return base::nullopt;
 }
 
-const char kContentDir[] = "cobalt/debug/remote";
+const char kContentDir[] = "debug_remote";
 const char kDetached[] = "Inspector.detached";
 const char kDetachReasonField[] = "params.reason";
 const char kErrorField[] = "error.message";
diff --git a/src/cobalt/debug/remote/debug_web_server.h b/src/cobalt/debug/remote/debug_web_server.h
index 1f1fbe1..158fff1 100644
--- a/src/cobalt/debug/remote/debug_web_server.h
+++ b/src/cobalt/debug/remote/debug_web_server.h
@@ -44,7 +44,7 @@
 
  protected:
   // net::HttpServer::Delegate implementation.
-  void OnConnect(int /*connection_id*/) override {}
+  void OnConnect(int connection_id) override {}
   void OnHttpRequest(int connection_id,
                      const net::HttpServerRequestInfo& info) override;
 
diff --git a/src/cobalt/debug/remote/devtools/.eslintignore b/src/cobalt/debug/remote/devtools/.eslintignore
index 48793ef..d9fed9a 100644
--- a/src/cobalt/debug/remote/devtools/.eslintignore
+++ b/src/cobalt/debug/remote/devtools/.eslintignore
@@ -1,15 +1,20 @@
 // Do not use glob pattern, this file is used by PRESUBMIT.py
 // to ignore these same files/folders for clang-format
 front_end/.eslintrc.js
-front_end/audits2_worker/lighthouse/
-front_end/audits2/lighthouse/
+front_end/InspectorBackendCommands.js
+front_end/SupportedCSSProperties.js
+front_end/accessibility/ARIAProperties.js
+front_end/formatter_worker.js
+front_end/heap_snapshot_worker.js
+front_end/audits_worker/lighthouse/
+front_end/audits/lighthouse/
 front_end/cm/
 front_end/cm_headless/
 front_end/cm_modes/
 front_end/cm_web_modes/
 front_end/diff/diff_match_patch.js
 front_end/formatter_worker/acorn/
-front_end/terminal/xterm.js/
 front_end/protocol_externs.js
 front_end/javascript_metadata/NativeFunctions.js
+front_end/sdk/wasm_source_map/pkg/wasm_source_map.js
 scripts/
diff --git a/src/cobalt/debug/remote/devtools/.eslintrc.js b/src/cobalt/debug/remote/devtools/.eslintrc.js
index cca6724..9672c98 100644
--- a/src/cobalt/debug/remote/devtools/.eslintrc.js
+++ b/src/cobalt/debug/remote/devtools/.eslintrc.js
@@ -1,16 +1,11 @@
 module.exports = {
-    "root": true,
+  'root': true,
 
-    "env": {
-        "browser": true,
-        "es6": true
-    },
+  'env': {'browser': true, 'es6': true},
 
-    "parserOptions": {
-        "ecmaVersion": 8
-    },
+  'parserOptions': {'ecmaVersion': 9, 'sourceType': 'module'},
 
-    /**
+  /**
      * ESLint rules
      *
      * All available rules: http://eslint.org/docs/rules/
@@ -19,112 +14,96 @@
      *   "rule-name", [severity, { opts }]
      * Severity: 2 == error, 1 == warning, 0 == off.
      */
-    "rules": {
-        /**
+  'rules': {
+    /**
          * Enforced rules
          */
 
 
-        // syntax preferences
-        "quotes": [2, "single", {
-            "avoidEscape": true,
-            "allowTemplateLiterals": true
-        }],
-        "semi": 2,
-        "no-extra-semi": 2,
-        "comma-style": [2, "last"],
-        "wrap-iife": [2, "inside"],
-        "spaced-comment": [2, "always", {
-            "markers": ["*"]
-        }],
-        "eqeqeq": [2],
-        "accessor-pairs": [2, {
-            "getWithoutSet": false,
-            "setWithoutGet": false
-        }],
-        "curly": [2, "multi-or-nest", "consistent"],
-        "new-parens": 2,
-        "func-call-spacing": 2,
-        "arrow-parens": [2, "as-needed"],
+    // syntax preferences
+    'quotes': [2, 'single', {'avoidEscape': true, 'allowTemplateLiterals': true}],
+    'semi': 2,
+    'no-extra-semi': 2,
+    'comma-style': [2, 'last'],
+    'wrap-iife': [2, 'inside'],
+    'spaced-comment': [2, 'always', {'markers': ['*']}],
+    'eqeqeq': [2],
+    'accessor-pairs': [2, {'getWithoutSet': false, 'setWithoutGet': false}],
+    'curly': 2,
+    'new-parens': 2,
+    'func-call-spacing': 2,
+    'arrow-parens': [2, 'as-needed'],
+    'eol-last': 2,
 
-        // anti-patterns
-        "no-with": 2,
-        "no-multi-str": 2,
-        "no-caller": 2,
-        "no-implied-eval": 2,
-        "no-labels": 2,
-        "no-new-object": 2,
-        "no-octal-escape": 2,
-        "no-self-compare": 2,
-        "no-shadow-restricted-names": 2,
-        "no-cond-assign": 2,
-        "no-debugger": 2,
-        "no-console": [2, { "allow": ["assert", "context", "error", "timeStamp", "time", "timeEnd", "warn"] }],
-        "no-dupe-keys": 2,
-        "no-duplicate-case": 2,
-        "no-empty-character-class": 2,
-        "no-unreachable": 2,
-        "no-unsafe-negation": 2,
-        "radix": 2,
-        "valid-typeof": 2,
-        "no-var": 2,
-        "prefer-const": 2,
-        "no-unused-vars": [2, { "args": "none", "vars": "local" }],
+    // anti-patterns
+    'no-with': 2,
+    'no-multi-str': 2,
+    'no-caller': 2,
+    'no-implied-eval': 2,
+    'no-labels': 2,
+    'no-new-object': 2,
+    'no-octal-escape': 2,
+    'no-self-compare': 2,
+    'no-shadow-restricted-names': 2,
+    'no-cond-assign': 2,
+    'no-debugger': 2,
+    'no-console': [2, {'allow': ['assert', 'context', 'error', 'timeStamp', 'time', 'timeEnd', 'warn']}],
+    'no-dupe-keys': 2,
+    'no-duplicate-case': 2,
+    'no-empty-character-class': 2,
+    'no-unreachable': 2,
+    'no-unsafe-negation': 2,
+    'radix': 2,
+    'valid-typeof': 2,
+    'no-var': 2,
+    'prefer-const': 2,
+    'no-unused-vars': [2, {'args': 'none', 'vars': 'local'}],
 
-        // es2015 features
-        "require-yield": 2,
-        "template-curly-spacing": [2, "never"],
+    // es2015 features
+    'require-yield': 2,
+    'template-curly-spacing': [2, 'never'],
 
-        // spacing details
-        "space-infix-ops": 2,
-        "space-in-parens": [2, "never"],
-        "space-before-function-paren": [2, {
-            "anonymous": "never",
-            "named": "never",
-            "asyncArrow": "always"
-        }],
-        "no-whitespace-before-property": 2,
-        "keyword-spacing": [2, {
-            "overrides": {
-                "if": {"after": true},
-                "else": {"after": true},
-                "for": {"after": true},
-                "while": {"after": true},
-                "do": {"after": true},
-                "switch": {"after": true},
-                "return": {"after": true}
-            }
-        }],
-        "arrow-spacing": [2, {
-            "after": true,
-            "before": true
-        }],
+    // spacing details
+    'space-infix-ops': 2,
+    'space-in-parens': [2, 'never'],
+    'space-before-function-paren': [2, {'anonymous': 'never', 'named': 'never', 'asyncArrow': 'always'}],
+    'no-whitespace-before-property': 2,
+    'keyword-spacing': [
+      2, {
+        'overrides': {
+          'if': {'after': true},
+          'else': {'after': true},
+          'for': {'after': true},
+          'while': {'after': true},
+          'do': {'after': true},
+          'switch': {'after': true},
+          'return': {'after': true}
+        }
+      }
+    ],
+    'arrow-spacing': [2, {'after': true, 'before': true}],
 
-        // file whitespace
-        "no-multiple-empty-lines": [2, {"max": 2}],
-        "no-mixed-spaces-and-tabs": 2,
-        "no-trailing-spaces": 2,
-        "linebreak-style": [ 2, "unix" ],
+    // file whitespace
+    'no-multiple-empty-lines': [2, {'max': 2}],
+    'no-mixed-spaces-and-tabs': 2,
+    'no-trailing-spaces': 2,
+    'linebreak-style': [2, 'unix'],
 
-        /**
+    /**
          * Disabled, aspirational rules
          */
 
-        "indent": [0, 2, { "SwitchCase": 1, "CallExpression": {"arguments": 2}, "MemberExpression": 2 }],
+    'indent': [0, 2, {'SwitchCase': 1, 'CallExpression': {'arguments': 2}, 'MemberExpression': 2}],
 
-        // brace-style is disabled, as eslint cannot enforce 1tbs as default, but allman for functions
-        "brace-style": [0, "allman", { "allowSingleLine": true }],
+    // brace-style is disabled, as eslint cannot enforce 1tbs as default, but allman for functions
+    'brace-style': [0, 'allman', {'allowSingleLine': true}],
 
-        // key-spacing is disabled, as some objects use value-aligned spacing, some not.
-        "key-spacing": [0, {
-            "beforeColon": false,
-            "afterColon": true,
-            "align": "value"
-        }],
-        // quote-props is diabled, as property quoting styles are too varied to enforce.
-        "quote-props": [0, "as-needed"],
+    // key-spacing is disabled, as some objects use value-aligned spacing, some not.
+    'key-spacing': [0, {'beforeColon': false, 'afterColon': true, 'align': 'value'}],
+    // quote-props is diabled, as property quoting styles are too varied to enforce.
+    'quote-props': [0, 'as-needed'],
 
-        // no-implicit-globals will prevent accidental globals
-        "no-implicit-globals": [0]
-    }
+    // no-implicit-globals will prevent accidental globals
+    'no-implicit-globals': [0]
+  }
 };
diff --git a/src/cobalt/debug/remote/devtools/.gn b/src/cobalt/debug/remote/devtools/.gn
new file mode 100644
index 0000000..246faa5
--- /dev/null
+++ b/src/cobalt/debug/remote/devtools/.gn
@@ -0,0 +1,21 @@
+# Copyright 2019 the V8 project authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This file is used by the GN meta build system to find the root of the source
+# tree and