]> git.sesse.net Git - casparcg/blob - dependencies64/cef/include/cef_values.h
* Merged html producer and updated to latest CEF version (does not have satisfactory...
[casparcg] / dependencies64 / cef / include / cef_values.h
1 // Copyright (c) 2012 Marshall A. Greenblatt. All rights reserved.
2 //
3 // Redistribution and use in source and binary forms, with or without
4 // modification, are permitted provided that the following conditions are
5 // met:
6 //
7 //    * Redistributions of source code must retain the above copyright
8 // notice, this list of conditions and the following disclaimer.
9 //    * Redistributions in binary form must reproduce the above
10 // copyright notice, this list of conditions and the following disclaimer
11 // in the documentation and/or other materials provided with the
12 // distribution.
13 //    * Neither the name of Google Inc. nor the name Chromium Embedded
14 // Framework nor the names of its contributors may be used to endorse
15 // or promote products derived from this software without specific prior
16 // written permission.
17 //
18 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 //
30 // ---------------------------------------------------------------------------
31 //
32 // The contents of this file must follow a specific format in order to
33 // support the CEF translator tool. See the translator.README.txt file in the
34 // tools directory for more information.
35 //
36
37 #ifndef CEF_INCLUDE_CEF_VALUES_H_
38 #define CEF_INCLUDE_CEF_VALUES_H_
39 #pragma once
40
41 #include <vector>
42 #include "include/cef_base.h"
43
44 class CefBinaryValue;
45 class CefDictionaryValue;
46 class CefListValue;
47
48 typedef cef_value_type_t CefValueType;
49
50 ///
51 // Class that wraps other data value types. Complex types (binary, dictionary
52 // and list) will be referenced but not owned by this object. Can be used on any
53 // process and thread.
54 ///
55 /*--cef(source=library)--*/
56 class CefValue : public virtual CefBase {
57  public:
58   ///
59   // Creates a new object.
60   ///
61   /*--cef()--*/
62   static CefRefPtr<CefValue> Create();
63
64   ///
65   // Returns true if the underlying data is valid. This will always be true for
66   // simple types. For complex types (binary, dictionary and list) the
67   // underlying data may become invalid if owned by another object (e.g. list or
68   // dictionary) and that other object is then modified or destroyed. This value
69   // object can be re-used by calling Set*() even if the underlying data is
70   // invalid.
71   ///
72   /*--cef()--*/
73   virtual bool IsValid() =0;
74
75   ///
76   // Returns true if the underlying data is owned by another object.
77   ///
78   /*--cef()--*/
79   virtual bool IsOwned() =0;
80
81   ///
82   // Returns true if the underlying data is read-only. Some APIs may expose
83   // read-only objects.
84   ///
85   /*--cef()--*/
86   virtual bool IsReadOnly() =0;
87
88   ///
89   // Returns true if this object and |that| object have the same underlying
90   // data. If true modifications to this object will also affect |that| object
91   // and vice-versa.
92   ///
93   /*--cef()--*/
94   virtual bool IsSame(CefRefPtr<CefValue> that) =0;
95
96   ///
97   // Returns true if this object and |that| object have an equivalent underlying
98   // value but are not necessarily the same object.
99   ///
100   /*--cef()--*/
101   virtual bool IsEqual(CefRefPtr<CefValue> that) =0;
102
103   ///
104   // Returns a copy of this object. The underlying data will also be copied.
105   ///
106   /*--cef()--*/
107   virtual CefRefPtr<CefValue> Copy() =0;
108
109   ///
110   // Returns the underlying value type.
111   ///
112   /*--cef(default_retval=VTYPE_INVALID)--*/
113   virtual CefValueType GetType() =0;
114
115   ///
116   // Returns the underlying value as type bool.
117   ///
118   /*--cef()--*/
119   virtual bool GetBool() =0;
120
121   ///
122   // Returns the underlying value as type int.
123   ///
124   /*--cef()--*/
125   virtual int GetInt() =0;
126
127   ///
128   // Returns the underlying value as type double.
129   ///
130   /*--cef()--*/
131   virtual double GetDouble() =0;
132
133   ///
134   // Returns the underlying value as type string.
135   ///
136   /*--cef()--*/
137   virtual CefString GetString() =0;
138
139   ///
140   // Returns the underlying value as type binary. The returned reference may
141   // become invalid if the value is owned by another object or if ownership is
142   // transferred to another object in the future. To maintain a reference to
143   // the value after assigning ownership to a dictionary or list pass this
144   // object to the SetValue() method instead of passing the returned reference
145   // to SetBinary().
146   ///
147   /*--cef()--*/
148   virtual CefRefPtr<CefBinaryValue> GetBinary() =0;
149
150   ///
151   // Returns the underlying value as type dictionary. The returned reference may
152   // become invalid if the value is owned by another object or if ownership is
153   // transferred to another object in the future. To maintain a reference to
154   // the value after assigning ownership to a dictionary or list pass this
155   // object to the SetValue() method instead of passing the returned reference
156   // to SetDictionary().
157   ///
158   /*--cef()--*/
159   virtual CefRefPtr<CefDictionaryValue> GetDictionary() =0;
160
161   ///
162   // Returns the underlying value as type list. The returned reference may
163   // become invalid if the value is owned by another object or if ownership is
164   // transferred to another object in the future. To maintain a reference to
165   // the value after assigning ownership to a dictionary or list pass this
166   // object to the SetValue() method instead of passing the returned reference
167   // to SetList().
168   ///
169   /*--cef()--*/
170   virtual CefRefPtr<CefListValue> GetList() =0;
171
172   ///
173   // Sets the underlying value as type null. Returns true if the value was set
174   // successfully.
175   ///
176   /*--cef()--*/
177   virtual bool SetNull() =0;
178
179   ///
180   // Sets the underlying value as type bool. Returns true if the value was set
181   // successfully.
182   ///
183   /*--cef()--*/
184   virtual bool SetBool(bool value) =0;
185
186   ///
187   // Sets the underlying value as type int. Returns true if the value was set
188   // successfully.
189   ///
190   /*--cef()--*/
191   virtual bool SetInt(int value) =0;
192
193   ///
194   // Sets the underlying value as type double. Returns true if the value was set
195   // successfully.
196   ///
197   /*--cef()--*/
198   virtual bool SetDouble(double value) =0;
199
200   ///
201   // Sets the underlying value as type string. Returns true if the value was set
202   // successfully.
203   ///
204   /*--cef(optional_param=value)--*/
205   virtual bool SetString(const CefString& value) =0;
206
207   ///
208   // Sets the underlying value as type binary. Returns true if the value was set
209   // successfully. This object keeps a reference to |value| and ownership of the
210   // underlying data remains unchanged.
211   ///
212   /*--cef()--*/
213   virtual bool SetBinary(CefRefPtr<CefBinaryValue> value) =0;
214
215   ///
216   // Sets the underlying value as type dict. Returns true if the value was set
217   // successfully. This object keeps a reference to |value| and ownership of the
218   // underlying data remains unchanged.
219   ///
220   /*--cef()--*/
221   virtual bool SetDictionary(CefRefPtr<CefDictionaryValue> value) =0;
222
223   ///
224   // Sets the underlying value as type list. Returns true if the value was set
225   // successfully. This object keeps a reference to |value| and ownership of the
226   // underlying data remains unchanged.
227   ///
228   /*--cef()--*/
229   virtual bool SetList(CefRefPtr<CefListValue> value) =0;
230 };
231
232
233 ///
234 // Class representing a binary value. Can be used on any process and thread.
235 ///
236 /*--cef(source=library)--*/
237 class CefBinaryValue : public virtual CefBase {
238  public:
239   ///
240   // Creates a new object that is not owned by any other object. The specified
241   // |data| will be copied.
242   ///
243   /*--cef()--*/
244   static CefRefPtr<CefBinaryValue> Create(const void* data,
245                                           size_t data_size);
246
247   ///
248   // Returns true if this object is valid. This object may become invalid if
249   // the underlying data is owned by another object (e.g. list or dictionary)
250   // and that other object is then modified or destroyed. Do not call any other
251   // methods if this method returns false.
252   ///
253   /*--cef()--*/
254   virtual bool IsValid() =0;
255
256   ///
257   // Returns true if this object is currently owned by another object.
258   ///
259   /*--cef()--*/
260   virtual bool IsOwned() =0;
261
262   ///
263   // Returns true if this object and |that| object have the same underlying
264   // data.
265   ///
266   /*--cef()--*/
267   virtual bool IsSame(CefRefPtr<CefBinaryValue> that) =0;
268
269   ///
270   // Returns true if this object and |that| object have an equivalent underlying
271   // value but are not necessarily the same object.
272   ///
273   /*--cef()--*/
274   virtual bool IsEqual(CefRefPtr<CefBinaryValue> that) =0;
275
276   ///
277   // Returns a copy of this object. The data in this object will also be copied.
278   ///
279   /*--cef()--*/
280   virtual CefRefPtr<CefBinaryValue> Copy() =0;
281
282   ///
283   // Returns the data size.
284   ///
285   /*--cef()--*/
286   virtual size_t GetSize() =0;
287
288   ///
289   // Read up to |buffer_size| number of bytes into |buffer|. Reading begins at
290   // the specified byte |data_offset|. Returns the number of bytes read.
291   ///
292   /*--cef()--*/
293   virtual size_t GetData(void* buffer,
294                          size_t buffer_size,
295                          size_t data_offset) =0;
296 };
297
298
299 ///
300 // Class representing a dictionary value. Can be used on any process and thread.
301 ///
302 /*--cef(source=library)--*/
303 class CefDictionaryValue : public virtual CefBase {
304  public:
305   typedef std::vector<CefString> KeyList;
306
307   ///
308   // Creates a new object that is not owned by any other object.
309   ///
310   /*--cef()--*/
311   static CefRefPtr<CefDictionaryValue> Create();
312
313   ///
314   // Returns true if this object is valid. This object may become invalid if
315   // the underlying data is owned by another object (e.g. list or dictionary)
316   // and that other object is then modified or destroyed. Do not call any other
317   // methods if this method returns false.
318   ///
319   /*--cef()--*/
320   virtual bool IsValid() =0;
321
322   ///
323   // Returns true if this object is currently owned by another object.
324   ///
325   /*--cef()--*/
326   virtual bool IsOwned() =0;
327
328   ///
329   // Returns true if the values of this object are read-only. Some APIs may
330   // expose read-only objects.
331   ///
332   /*--cef()--*/
333   virtual bool IsReadOnly() =0;
334
335   ///
336   // Returns true if this object and |that| object have the same underlying
337   // data. If true modifications to this object will also affect |that| object
338   // and vice-versa.
339   ///
340   /*--cef()--*/
341   virtual bool IsSame(CefRefPtr<CefDictionaryValue> that) =0;
342
343   ///
344   // Returns true if this object and |that| object have an equivalent underlying
345   // value but are not necessarily the same object.
346   ///
347   /*--cef()--*/
348   virtual bool IsEqual(CefRefPtr<CefDictionaryValue> that) =0;
349
350   ///
351   // Returns a writable copy of this object. If |exclude_empty_children| is true
352   // any empty dictionaries or lists will be excluded from the copy.
353   ///
354   /*--cef()--*/
355   virtual CefRefPtr<CefDictionaryValue> Copy(bool exclude_empty_children) =0;
356
357   ///
358   // Returns the number of values.
359   ///
360   /*--cef()--*/
361   virtual size_t GetSize() =0;
362
363   ///
364   // Removes all values. Returns true on success.
365   ///
366   /*--cef()--*/
367   virtual bool Clear() =0;
368
369   ///
370   // Returns true if the current dictionary has a value for the given key.
371   ///
372   /*--cef()--*/
373   virtual bool HasKey(const CefString& key) =0;
374
375   ///
376   // Reads all keys for this dictionary into the specified vector.
377   ///
378   /*--cef()--*/
379   virtual bool GetKeys(KeyList& keys) =0;
380
381   ///
382   // Removes the value at the specified key. Returns true is the value was
383   // removed successfully.
384   ///
385   /*--cef()--*/
386   virtual bool Remove(const CefString& key) =0;
387
388   ///
389   // Returns the value type for the specified key.
390   ///
391   /*--cef(default_retval=VTYPE_INVALID)--*/
392   virtual CefValueType GetType(const CefString& key) =0;
393
394   ///
395   // Returns the value at the specified key. For simple types the returned
396   // value will copy existing data and modifications to the value will not
397   // modify this object. For complex types (binary, dictionary and list) the
398   // returned value will reference existing data and modifications to the value
399   // will modify this object.
400   ///
401   /*--cef()--*/
402   virtual CefRefPtr<CefValue> GetValue(const CefString& key) =0;
403
404   ///
405   // Returns the value at the specified key as type bool.
406   ///
407   /*--cef()--*/
408   virtual bool GetBool(const CefString& key) =0;
409
410   ///
411   // Returns the value at the specified key as type int.
412   ///
413   /*--cef()--*/
414   virtual int GetInt(const CefString& key) =0;
415
416   ///
417   // Returns the value at the specified key as type double.
418   ///
419   /*--cef()--*/
420   virtual double GetDouble(const CefString& key) =0;
421
422   ///
423   // Returns the value at the specified key as type string.
424   ///
425   /*--cef()--*/
426   virtual CefString GetString(const CefString& key) =0;
427
428   ///
429   // Returns the value at the specified key as type binary. The returned
430   // value will reference existing data.
431   ///
432   /*--cef()--*/
433   virtual CefRefPtr<CefBinaryValue> GetBinary(const CefString& key) =0;
434
435   ///
436   // Returns the value at the specified key as type dictionary. The returned
437   // value will reference existing data and modifications to the value will
438   // modify this object.
439   ///
440   /*--cef()--*/
441   virtual CefRefPtr<CefDictionaryValue> GetDictionary(const CefString& key) =0;
442
443   ///
444   // Returns the value at the specified key as type list. The returned value
445   // will reference existing data and modifications to the value will modify
446   // this object.
447   ///
448   /*--cef()--*/
449   virtual CefRefPtr<CefListValue> GetList(const CefString& key) =0;
450
451   ///
452   // Sets the value at the specified key. Returns true if the value was set
453   // successfully. If |value| represents simple data then the underlying data
454   // will be copied and modifications to |value| will not modify this object. If
455   // |value| represents complex data (binary, dictionary or list) then the
456   // underlying data will be referenced and modifications to |value| will modify
457   // this object.
458   ///
459   /*--cef()--*/
460   virtual bool SetValue(const CefString& key, CefRefPtr<CefValue> value) =0;
461
462   ///
463   // Sets the value at the specified key as type null. Returns true if the
464   // value was set successfully.
465   ///
466   /*--cef()--*/
467   virtual bool SetNull(const CefString& key) =0;
468
469   ///
470   // Sets the value at the specified key as type bool. Returns true if the
471   // value was set successfully.
472   ///
473   /*--cef()--*/
474   virtual bool SetBool(const CefString& key, bool value) =0;
475
476   ///
477   // Sets the value at the specified key as type int. Returns true if the
478   // value was set successfully.
479   ///
480   /*--cef()--*/
481   virtual bool SetInt(const CefString& key, int value) =0;
482
483   ///
484   // Sets the value at the specified key as type double. Returns true if the
485   // value was set successfully.
486   ///
487   /*--cef()--*/
488   virtual bool SetDouble(const CefString& key, double value) =0;
489
490   ///
491   // Sets the value at the specified key as type string. Returns true if the
492   // value was set successfully.
493   ///
494   /*--cef(optional_param=value)--*/
495   virtual bool SetString(const CefString& key, const CefString& value) =0;
496
497   ///
498   // Sets the value at the specified key as type binary. Returns true if the
499   // value was set successfully. If |value| is currently owned by another object
500   // then the value will be copied and the |value| reference will not change.
501   // Otherwise, ownership will be transferred to this object and the |value|
502   // reference will be invalidated.
503   ///
504   /*--cef()--*/
505   virtual bool SetBinary(const CefString& key,
506                          CefRefPtr<CefBinaryValue> value) =0;
507
508   ///
509   // Sets the value at the specified key as type dict. Returns true if the
510   // value was set successfully. If |value| is currently owned by another object
511   // then the value will be copied and the |value| reference will not change.
512   // Otherwise, ownership will be transferred to this object and the |value|
513   // reference will be invalidated.
514   ///
515   /*--cef()--*/
516   virtual bool SetDictionary(const CefString& key,
517                              CefRefPtr<CefDictionaryValue> value) =0;
518
519   ///
520   // Sets the value at the specified key as type list. Returns true if the
521   // value was set successfully. If |value| is currently owned by another object
522   // then the value will be copied and the |value| reference will not change.
523   // Otherwise, ownership will be transferred to this object and the |value|
524   // reference will be invalidated.
525   ///
526   /*--cef()--*/
527   virtual bool SetList(const CefString& key,
528                        CefRefPtr<CefListValue> value) =0;
529 };
530
531
532 ///
533 // Class representing a list value. Can be used on any process and thread.
534 ///
535 /*--cef(source=library)--*/
536 class CefListValue : public virtual CefBase {
537  public:
538   ///
539   // Creates a new object that is not owned by any other object.
540   ///
541   /*--cef()--*/
542   static CefRefPtr<CefListValue> Create();
543
544   ///
545   // Returns true if this object is valid. This object may become invalid if
546   // the underlying data is owned by another object (e.g. list or dictionary)
547   // and that other object is then modified or destroyed. Do not call any other
548   // methods if this method returns false.
549   ///
550   /*--cef()--*/
551   virtual bool IsValid() =0;
552
553   ///
554   // Returns true if this object is currently owned by another object.
555   ///
556   /*--cef()--*/
557   virtual bool IsOwned() =0;
558
559   ///
560   // Returns true if the values of this object are read-only. Some APIs may
561   // expose read-only objects.
562   ///
563   /*--cef()--*/
564   virtual bool IsReadOnly() =0;
565
566   ///
567   // Returns true if this object and |that| object have the same underlying
568   // data. If true modifications to this object will also affect |that| object
569   // and vice-versa.
570   ///
571   /*--cef()--*/
572   virtual bool IsSame(CefRefPtr<CefListValue> that) =0;
573
574   ///
575   // Returns true if this object and |that| object have an equivalent underlying
576   // value but are not necessarily the same object.
577   ///
578   /*--cef()--*/
579   virtual bool IsEqual(CefRefPtr<CefListValue> that) =0;
580
581   ///
582   // Returns a writable copy of this object.
583   ///
584   /*--cef()--*/
585   virtual CefRefPtr<CefListValue> Copy() =0;
586
587   ///
588   // Sets the number of values. If the number of values is expanded all
589   // new value slots will default to type null. Returns true on success.
590   ///
591   /*--cef()--*/
592   virtual bool SetSize(size_t size) =0;
593
594   ///
595   // Returns the number of values.
596   ///
597   /*--cef()--*/
598   virtual size_t GetSize() =0;
599
600   ///
601   // Removes all values. Returns true on success.
602   ///
603   /*--cef()--*/
604   virtual bool Clear() =0;
605
606   ///
607   // Removes the value at the specified index.
608   ///
609   /*--cef(index_param=index)--*/
610   virtual bool Remove(int index) =0;
611
612   ///
613   // Returns the value type at the specified index.
614   ///
615   /*--cef(default_retval=VTYPE_INVALID,index_param=index)--*/
616   virtual CefValueType GetType(int index) =0;
617
618   ///
619   // Returns the value at the specified index. For simple types the returned
620   // value will copy existing data and modifications to the value will not
621   // modify this object. For complex types (binary, dictionary and list) the
622   // returned value will reference existing data and modifications to the value
623   // will modify this object.
624   ///
625   /*--cef(index_param=index)--*/
626   virtual CefRefPtr<CefValue> GetValue(int index) =0;
627
628   ///
629   // Returns the value at the specified index as type bool.
630   ///
631   /*--cef(index_param=index)--*/
632   virtual bool GetBool(int index) =0;
633
634   ///
635   // Returns the value at the specified index as type int.
636   ///
637   /*--cef(index_param=index)--*/
638   virtual int GetInt(int index) =0;
639
640   ///
641   // Returns the value at the specified index as type double.
642   ///
643   /*--cef(index_param=index)--*/
644   virtual double GetDouble(int index) =0;
645
646   ///
647   // Returns the value at the specified index as type string.
648   ///
649   /*--cef(index_param=index)--*/
650   virtual CefString GetString(int index) =0;
651
652   ///
653   // Returns the value at the specified index as type binary. The returned
654   // value will reference existing data.
655   ///
656   /*--cef(index_param=index)--*/
657   virtual CefRefPtr<CefBinaryValue> GetBinary(int index) =0;
658
659   ///
660   // Returns the value at the specified index as type dictionary. The returned
661   // value will reference existing data and modifications to the value will
662   // modify this object.
663   ///
664   /*--cef(index_param=index)--*/
665   virtual CefRefPtr<CefDictionaryValue> GetDictionary(int index) =0;
666
667   ///
668   // Returns the value at the specified index as type list. The returned
669   // value will reference existing data and modifications to the value will
670   // modify this object.
671   ///
672   /*--cef(index_param=index)--*/
673   virtual CefRefPtr<CefListValue> GetList(int index) =0;
674
675   ///
676   // Sets the value at the specified index. Returns true if the value was set
677   // successfully. If |value| represents simple data then the underlying data
678   // will be copied and modifications to |value| will not modify this object. If
679   // |value| represents complex data (binary, dictionary or list) then the
680   // underlying data will be referenced and modifications to |value| will modify
681   // this object.
682   ///
683   /*--cef(index_param=index)--*/
684   virtual bool SetValue(int index, CefRefPtr<CefValue> value) =0;
685
686   ///
687   // Sets the value at the specified index as type null. Returns true if the
688   // value was set successfully.
689   ///
690   /*--cef(index_param=index)--*/
691   virtual bool SetNull(int index) =0;
692
693   ///
694   // Sets the value at the specified index as type bool. Returns true if the
695   // value was set successfully.
696   ///
697   /*--cef(index_param=index)--*/
698   virtual bool SetBool(int index, bool value) =0;
699
700   ///
701   // Sets the value at the specified index as type int. Returns true if the
702   // value was set successfully.
703   ///
704   /*--cef(index_param=index)--*/
705   virtual bool SetInt(int index, int value) =0;
706
707   ///
708   // Sets the value at the specified index as type double. Returns true if the
709   // value was set successfully.
710   ///
711   /*--cef(index_param=index)--*/
712   virtual bool SetDouble(int index, double value) =0;
713
714   ///
715   // Sets the value at the specified index as type string. Returns true if the
716   // value was set successfully.
717   ///
718   /*--cef(optional_param=value,index_param=index)--*/
719   virtual bool SetString(int index, const CefString& value) =0;
720
721   ///
722   // Sets the value at the specified index as type binary. Returns true if the
723   // value was set successfully. If |value| is currently owned by another object
724   // then the value will be copied and the |value| reference will not change.
725   // Otherwise, ownership will be transferred to this object and the |value|
726   // reference will be invalidated.
727   ///
728   /*--cef(index_param=index)--*/
729   virtual bool SetBinary(int index, CefRefPtr<CefBinaryValue> value) =0;
730
731   ///
732   // Sets the value at the specified index as type dict. Returns true if the
733   // value was set successfully. If |value| is currently owned by another object
734   // then the value will be copied and the |value| reference will not change.
735   // Otherwise, ownership will be transferred to this object and the |value|
736   // reference will be invalidated.
737   ///
738   /*--cef(index_param=index)--*/
739   virtual bool SetDictionary(int index, CefRefPtr<CefDictionaryValue> value) =0;
740
741   ///
742   // Sets the value at the specified index as type list. Returns true if the
743   // value was set successfully. If |value| is currently owned by another object
744   // then the value will be copied and the |value| reference will not change.
745   // Otherwise, ownership will be transferred to this object and the |value|
746   // reference will be invalidated.
747   ///
748   /*--cef(index_param=index)--*/
749   virtual bool SetList(int index, CefRefPtr<CefListValue> value) =0;
750 };
751
752 #endif  // CEF_INCLUDE_CEF_VALUES_H_