FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
android_external_webkit/JavaScriptCore/API/JSCallbackObject.h at froyo · madmack/android_external_webkit · GitHub
madmack
/
android_external_webkit
Public
forked from
Y6b/android_external_webkit
Notifications
You must be signed in to change notification settings
Fork
0
Star
2
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
android_external_webkit
/
JavaScriptCore
/
API
/
JSCallbackObject.h
Copy path
More file actions
More file actions
Latest commit
History
History
History
118 lines (90 loc) · 4.41 KB
Breadcrumbs
android_external_webkit
/
JavaScriptCore
/
API
/
JSCallbackObject.h
Copy path
File metadata and controls
118 lines (90 loc) · 4.41 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
/*
* Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
* Copyright (C) 2007 Eric Seidel <eric@webkit.org>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#
ifndef
JSCallbackObject_h
#
define
JSCallbackObject_h
#
include
"
JSObjectRef.h
"
#
include
"
JSValueRef.h
"
#
include
"
JSObject.h
"
namespace
JSC
{
template
<
class
Base
>
class
JSCallbackObject
:
public
Base
{
public:
JSCallbackObject
(ExecState*, NonNullPassRefPtr<Structure>, JSClassRef,
void
* data);
JSCallbackObject
(JSClassRef);
virtual
~JSCallbackObject
();
void
setPrivate
(
void
* data);
void
*
getPrivate
();
static
const
ClassInfo info;
JSClassRef
classRef
()
const
{
return
m_callbackObjectData->
jsClass
; }
bool
inherits
(JSClassRef)
const
;
static
PassRefPtr<Structure>
createStructure
(JSValue proto)
{
return
Structure::create
(proto,
TypeInfo
(ObjectType, StructureFlags), Base::AnonymousSlotCount);
}
protected:
static
const
unsigned
StructureFlags = OverridesGetOwnPropertySlot | ImplementsHasInstance | OverridesHasInstance | OverridesMarkChildren | OverridesGetPropertyNames | Base::StructureFlags;
private:
virtual
UString
className
()
const
;
virtual
bool
getOwnPropertySlot
(ExecState*,
const
Identifier&, PropertySlot&);
virtual
bool
getOwnPropertySlot
(ExecState*,
unsigned
, PropertySlot&);
virtual
bool
getOwnPropertyDescriptor
(ExecState*,
const
Identifier&, PropertyDescriptor&);
virtual
void
put
(ExecState*,
const
Identifier&, JSValue, PutPropertySlot&);
virtual
bool
deleteProperty
(ExecState*,
const
Identifier&);
virtual
bool
deleteProperty
(ExecState*,
unsigned
);
virtual
bool
hasInstance
(ExecState* exec, JSValue value, JSValue proto);
virtual
void
getOwnPropertyNames
(ExecState*, PropertyNameArray&, EnumerationMode mode = ExcludeDontEnumProperties);
virtual
double
toNumber
(ExecState*)
const
;
virtual
UString
toString
(ExecState*)
const
;
virtual
ConstructType
getConstructData
(ConstructData&);
virtual
CallType
getCallData
(CallData&);
virtual
const
ClassInfo*
classInfo
()
const
{
return
&info; }
void
init
(ExecState*);
static
JSCallbackObject*
asCallbackObject
(JSValue);
static
JSValue
JSC_HOST_CALL
call
(ExecState*, JSObject* functionObject, JSValue thisValue,
const
ArgList&);
static
JSObject*
construct
(ExecState*, JSObject* constructor,
const
ArgList&);
static
JSValue
staticValueGetter
(ExecState*,
const
Identifier&,
const
PropertySlot&);
static
JSValue
staticFunctionGetter
(ExecState*,
const
Identifier&,
const
PropertySlot&);
static
JSValue
callbackGetter
(ExecState*,
const
Identifier&,
const
PropertySlot&);
struct
JSCallbackObjectData
{
JSCallbackObjectData
(
void
* privateData, JSClassRef jsClass)
: privateData(privateData)
, jsClass(jsClass)
{
JSClassRetain
(jsClass);
}
~JSCallbackObjectData
()
{
JSClassRelease
(jsClass);
}
void
* privateData;
JSClassRef jsClass;
};
OwnPtr<JSCallbackObjectData> m_callbackObjectData;
};
}
//
namespace JSC
//
include the actual template class implementation
#
include
"
JSCallbackObjectFunctions.h
"
#
endif
//
JSCallbackObject_h
Back
|
FazBrowse Home
|
New Git URL