// 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 mojo.common.mojom;

[Native]
struct FilePath;

[Native]
struct ListValue;

[Native]
struct DictionaryValue;

[Native]
struct Time;

struct TimeDelta {
  int64 microseconds;
};

[Native]
struct TimeTicks;

// Corresponds to |base::string16| in base/strings/string16.h
// Corresponds to |WTF::String| in
// third_party/WebKit/Source/wtf/text/WTFString.h.
struct String16 {
  array<uint16> data;
};

// Corresponds to |base::UnguessableToken| in base/unguessable_token.h
struct UnguessableToken {
  uint64 high;
  uint64 low;
};

// Corresponds to |base::Version| in base/version.h
struct Version {
  array<uint32> components;
};
