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

module content.mojom;

// This file is a collection of content types which rely on legacy IPC
// ParamTraits for serialization. All of these should eventually be converted to
// proper mojom definitions.

// NOTE: This type is only mapped and usable on Mac.
[Native]
struct EncodedAttributedString;

[Native]
struct FrameOwnerProperties;

[Native]
struct FrameReplicationState;

[Native]
struct VisualProperties;

// NOTE: This type is only mapped and usable on Mac.
[Native]
enum ScrollbarButtonsPlacement;

// NOTE: This type is only mapped and usable on Mac.
[Native]
enum ScrollerStyle;

[Native]
enum V8CacheOptions;

[Native]
struct WebPreferences;

// TODO(rockot): This should most likely be defined by network service mojom,
// but the network service doesn't exist yet.
[Native]
enum NetworkConnectionType;

[Native]
struct WebCursor;

[Native]
enum Button;

[Native]
enum PointerType;

[Native]
struct EditCommand;

[Native]
enum InputEventAckState;

[Native]
enum InputEventAckSource;

[Native]
enum EventType;

[Native]
enum Cancelability;

[Native]
enum GestureDevice;

[Native]
enum ScrollUnits;

[Native]
enum InertialPhaseState;

[Native]
enum TouchState;

[Native]
struct DidOverscrollParams;

[Native]
struct SyntheticSmoothDrag;

[Native]
struct SyntheticSmoothScroll;

[Native]
struct SyntheticPinch;

[Native]
struct SyntheticTap;

[Native]
struct SyntheticPointerAction;

[Native]
enum TouchAction;
