blob: 8a6f8714cb60c4c47b51fe898c0759bc74c5b986 [file] [log] [blame]
// Copyright 2020 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 THIRD_PARTY_BLINK_RENDERER_PLATFORM_MOJO_HEAP_MOJO_WRAPPER_MODE_H_
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_MOJO_HEAP_MOJO_WRAPPER_MODE_H_
namespace blink {
// A list of modes for HeapMojo wrappers.
// TODO(crbug.com/1058076) This is just a temporary thing to keep the existing
// behavior during the release freeze.
enum class HeapMojoWrapperMode {
// [Recommended] Resets the mojo connection when 1) the owner object is
// garbage-collected
// and 2) the associated ExecutionContext is detached.
kWithContextObserver,
// [Deprecated] Resets the mojo connection when the owner object is
// garbage-collected.
// But, it will not reset the mojo connection when the associated
// ExecutionContext is detached.
kWithoutContextObserver,
// [Deprecated] We are now experimenting with deprecating
// kWithoutContextObserver.
// kWithoutContextObserver is ignored in the Finch experiment. To enforce
// kWithoutContextObserver, use kForceWithoutContextObserver.
kForceWithoutContextObserver,
};
} // namespace blink
#endif // THIRD_PARTY_BLINK_RENDERER_PLATFORM_MOJO_HEAP_MOJO_WRAPPER_MODE_H_