Web Inspector: Create Separate Model and View Objects for RemoteObjects / ObjectPrevi...
[WebKit-https.git] / Source / WebInspectorUI / UserInterface / Models / PropertyPreview.js
1 /*
2  * Copyright (C) 2015 Apple Inc. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23  * THE POSSIBILITY OF SUCH DAMAGE.
24  */
25
26 WebInspector.PropertyPreview = function(name, type, subtype, value, valuePreview, isInternalProperty)
27 {
28     WebInspector.Object.call(this);
29
30     console.assert(name);
31     console.assert(type);
32     console.assert(!value || typeof value === "string");
33     console.assert(!valuePreview || valuePreview instanceof WebInspector.ObjectPreview);
34
35     this._name = name;
36     this._type = type;
37     this._subtype = subtype;
38     this._value = value;
39     this._valuePreview = valuePreview;
40     this._internal = isInternalProperty;
41 };
42
43 // Runtime.PropertyPreview.
44 WebInspector.PropertyPreview.fromPayload = function(payload)
45 {
46     if (payload.valuePreview)
47         payload.valuePreview = WebInspector.ObjectPreview.fromPayload(payload.valuePreview);
48
49     return new WebInspector.PropertyPreview(payload.name, payload.type, payload.subtype, payload.value, payload.valuePreview, payload.internal);
50 };
51
52 WebInspector.PropertyPreview.prototype = {
53     constructor: WebInspector.PropertyPreview,
54     __proto__: WebInspector.Object.prototype,
55
56     // Public
57
58     get name()
59     {
60         return this._name;
61     },
62
63     get type()
64     {
65         return this._type;
66     },
67
68     get subtype()
69     {
70         return this._subtype;
71     },
72
73     get value()
74     {
75         return this._value;
76     },
77
78     get valuePreview()
79     {
80         return this._valuePreview;
81     },
82
83     get internal()
84     {
85         return this._internal;
86     }
87 };