diff --git a/base/component_export.h b/base/component_export.h
deleted file mode 100644
index 9e55664..0000000
--- a/base/component_export.h
+++ /dev/null
@@ -1,87 +0,0 @@
-// Copyright 2018 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef BASE_COMPONENT_EXPORT_H_
-#define BASE_COMPONENT_EXPORT_H_
-
-#include "build_config.h"
-
-// Used to annotate symbols which are exported by the component named
-// |component|. Note that this only does the right thing if the corresponding
-// component target's sources are compiled with |IS_$component_IMPL| defined
-// as 1. For example:
-//
-//   class COMPONENT_EXPORT(FOO) Bar {};
-//
-// If IS_FOO_IMPL=1 at compile time, then Bar will be annotated using the
-// COMPONENT_EXPORT_ANNOTATION macro defined below. Otherwise it will be
-// annotated using the COMPONENT_IMPORT_ANNOTATION macro.
-#define COMPONENT_EXPORT(component)                         \
-  COMPONENT_MACRO_CONDITIONAL_(IS_##component##_IMPL,       \
-                               COMPONENT_EXPORT_ANNOTATION, \
-                               COMPONENT_IMPORT_ANNOTATION)
-
-// Indicates whether the current compilation unit is being compiled as part of
-// the implementation of the component named |component|. Expands to |1| if
-// |IS_$component_IMPL| is defined as |1|; expands to |0| otherwise.
-//
-// Note in particular that if |IS_$component_IMPL| is not defined at all, it is
-// still fine to test INSIDE_COMPONENT_IMPL(component), which expands to |0| as
-// expected.
-#define INSIDE_COMPONENT_IMPL(component) \
-  COMPONENT_MACRO_CONDITIONAL_(IS_##component##_IMPL, 1, 0)
-
-// Compiler-specific macros to annotate for export or import of a symbol. No-op
-// in non-component builds. These should not see much if any direct use.
-// Instead use the COMPONENT_EXPORT macro defined above.
-#if defined(COMPONENT_BUILD)
-#if defined(WIN32)
-#define COMPONENT_EXPORT_ANNOTATION __declspec(dllexport)
-#define COMPONENT_IMPORT_ANNOTATION __declspec(dllimport)
-#else  // defined(WIN32)
-#define COMPONENT_EXPORT_ANNOTATION __attribute__((visibility("default")))
-#define COMPONENT_IMPORT_ANNOTATION
-#endif  // defined(WIN32)
-#else   // defined(COMPONENT_BUILD)
-#define COMPONENT_EXPORT_ANNOTATION
-#define COMPONENT_IMPORT_ANNOTATION
-#endif  // defined(COMPONENT_BUILD)
-
-// Below this point are several internal utility macros used for the
-// implementation of the above macros. Not intended for external use.
-
-// Helper for conditional expansion to one of two token strings. If |condition|
-// expands to |1| then this macro expands to |consequent|; otherwise it expands
-// to |alternate|.
-#define COMPONENT_MACRO_CONDITIONAL_(condition, consequent, alternate) \
-  COMPONENT_MACRO_SELECT_THIRD_ARGUMENT_(                              \
-      COMPONENT_MACRO_CONDITIONAL_COMMA_(condition), consequent, alternate)
-
-// Expands to a comma (,) iff its first argument expands to |1|. Used in
-// conjunction with |COMPONENT_MACRO_SELECT_THIRD_ARGUMENT_()|, as the presence
-// or absense of an extra comma can be used to conditionally shift subsequent
-// argument positions and thus influence which argument is selected.
-#define COMPONENT_MACRO_CONDITIONAL_COMMA_(...) \
-  COMPONENT_MACRO_CONDITIONAL_COMMA_IMPL_(__VA_ARGS__,)
-#define COMPONENT_MACRO_CONDITIONAL_COMMA_IMPL_(x, ...) \
-  COMPONENT_MACRO_CONDITIONAL_COMMA_##x##_
-#define COMPONENT_MACRO_CONDITIONAL_COMMA_1_ ,
-
-// Helper which simply selects its third argument. Used in conjunction with
-// |COMPONENT_MACRO_CONDITIONAL_COMMA_()| above to implement conditional macro
-// expansion.
-#define COMPONENT_MACRO_SELECT_THIRD_ARGUMENT_(...) \
-  COMPONENT_MACRO_EXPAND_(                          \
-      COMPONENT_MACRO_SELECT_THIRD_ARGUMENT_IMPL_(__VA_ARGS__))
-#define COMPONENT_MACRO_SELECT_THIRD_ARGUMENT_IMPL_(a, b, c, ...) c
-
-// Helper to work around MSVC quirkiness wherein a macro expansion like |,|
-// within a parameter list will be treated as a single macro argument. This is
-// needed to ensure that |COMPONENT_MACRO_CONDITIONAL_COMMA_()| above can expand
-// to multiple separate positional arguments in the affirmative case, thus
-// elliciting the desired conditional behavior with
-// |COMPONENT_MACRO_SELECT_THIRD_ARGUMENT_()|.
-#define COMPONENT_MACRO_EXPAND_(x) x
-
-#endif  // BASE_COMPONENT_EXPORT_H_
