// Copyright 2016 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.

[
    ImplementedAs=OriginTrialsTestPartial,
    OriginTrialEnabled=OriginTrialsSampleAPI
] partial interface OriginTrialsTest {
    const unsigned short CONSTANT_PARTIAL = 2;
    readonly attribute boolean normalAttributePartial;
    static readonly attribute boolean staticAttributePartial;
    boolean normalMethodPartial();
    static boolean staticMethodPartial();

    // These are only available in a secure context.
    [SecureContext] readonly attribute boolean secureAttributePartial;
    [SecureContext] static readonly attribute boolean secureStaticAttributePartial;
    [SecureContext] boolean secureMethodPartial();
    [SecureContext] static boolean secureStaticMethodPartial();
};
