// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. typedef record RecordTypedef; interface RecordTest { void setStringLongRecord(RecordTypedef arg); void setStringLongRecordWithDefault(optional RecordTypedef arg = {}); RecordTypedef getStringLongRecord(); void setNullableStringLongRecord(RecordTypedef? arg); RecordTypedef? getNullableStringLongRecord(); void setByteStringByteStringRecord(record arg); void setStringElementRecord(record arg); record getStringElementRecord(); void setUSVStringUSVStringBooleanRecordRecord(record> arg); record> getUSVStringUSVStringBooleanRecordRecord(); record> returnStringByteStringSequenceRecord(); boolean unionReceivedARecord((boolean or record) arg); // Test the bindings generator code: unions and dictionaries must trace a // record when it's represented as a HeapVector. void setFloatOrStringElementRecord((float or record) arg); };