diff --git a/third_party/blink/renderer/core/exported/worker_shadow_page.cc b/third_party/blink/renderer/core/exported/worker_shadow_page.cc
index 145d12e..a52561a 100644
--- a/third_party/blink/renderer/core/exported/worker_shadow_page.cc
+++ b/third_party/blink/renderer/core/exported/worker_shadow_page.cc
@@ -7,9 +7,7 @@
 #include "services/network/public/mojom/referrer_policy.mojom-shared.h"
 #include "third_party/blink/public/mojom/page/page_visibility_state.mojom-blink.h"
 #include "third_party/blink/public/platform/platform.h"
-#include "third_party/blink/public/web/web_settings.h"
 #include "third_party/blink/renderer/core/exported/web_view_impl.h"
-#include "third_party/blink/renderer/core/frame/settings.h"
 #include "third_party/blink/renderer/core/loader/frame_load_request.h"
 #include "third_party/blink/renderer/platform/loader/fetch/substitute_data.h"
 
@@ -41,11 +39,6 @@
       preferences_(std::move(preferences)) {
   DCHECK(IsMainThread());
 
-  // TODO(lunalu): Service worker and shared worker count feature usage on the
-  // blink side use counter. Once the blink side use counter is removed
-  // (crbug.com/811948), remove this instant from Settings.
-  main_frame_->GetFrame()->GetSettings()->SetIsShadowPage(true);
-
   main_frame_->SetDevToolsAgentImpl(
       WebDevToolsAgentImpl::CreateForWorker(main_frame_, client_));
 }
diff --git a/third_party/blink/renderer/core/frame/settings.cc b/third_party/blink/renderer/core/frame/settings.cc
index 18f629d..1c2bbcf 100644
--- a/third_party/blink/renderer/core/frame/settings.cc
+++ b/third_party/blink/renderer/core/frame/settings.cc
@@ -62,8 +62,7 @@
 #endif
 
 Settings::Settings()
-    : text_autosizing_enabled_(false),
-      is_shadow_page_(false) SETTINGS_INITIALIZER_LIST {}
+    : text_autosizing_enabled_(false) SETTINGS_INITIALIZER_LIST {}
 
 std::unique_ptr<Settings> Settings::Create() {
   return base::WrapUnique(new Settings);
@@ -107,8 +106,4 @@
   return ScrollbarTheme::MockScrollbarsEnabled();
 }
 
-void Settings::SetIsShadowPage(bool flag) {
-  is_shadow_page_ = flag;
-}
-
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/frame/settings.h b/third_party/blink/renderer/core/frame/settings.h
index 30419bda..5e6cede 100644
--- a/third_party/blink/renderer/core/frame/settings.h
+++ b/third_party/blink/renderer/core/frame/settings.h
@@ -88,12 +88,6 @@
 
   void SetDelegate(SettingsDelegate*);
 
-  // TODO(lunalu): Service worker and shared worker count feature usage on the
-  // blink side use counter via the shadow page. Once blink side use counter is
-  // removed, this flag is no longer needed (crbug.com/811948).
-  void SetIsShadowPage(bool);
-  bool IsShadowPage() const { return is_shadow_page_; }
-
  private:
   Settings();
 
@@ -104,10 +98,6 @@
   GenericFontFamilySettings generic_font_family_settings_;
   IntSize text_autosizing_window_size_override_;
   bool text_autosizing_enabled_ : 1;
-  // TODO(lunalu): Service worker is counting feature usage on the blink side
-  // use counter via the shadow page. Once blink side use counter is removed,
-  // this flag is no longer needed (crbug.com/811948).
-  bool is_shadow_page_;
   bool bypass_csp_ = false;
 
   SETTINGS_MEMBER_VARIABLES
