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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
<!-- ##### SECTION Title ##### -->
EphyPermissionManager
<!-- ##### SECTION Short_Description ##### -->
Sets webpages' cookie, image and popup permissions.
<!-- ##### SECTION Long_Description ##### -->
<para>
The #EphyPermissionManager keeps a list of websites and their permissions. For
example, the user may want a certain website to display images but block
cookies and popup windows; this could correspond to three entries in the
#EphyPermissionManager.
</para>
<para>
Use ephy_permission_manager_add() to set permissions for a website,
ephy_permission_manager_remove() to remove the permissions, and
ephy_permission_manager_test() to test them. Note that
ephy_permission_manager_test() may return %EPHY_PERMISSION_DEFAULT, which
means the caller might need to find the default permission some other way.
</para>
<para>
The #EphyPermissionManager stores a list of site-specific permissions, but not
defaults. For popups, the default permission is determined by the GConf key
/apps/epiphany/web/allow_popups, which in turn determines Mozilla's
dom.disable_open_during_load preference. For cookies, the GConf key
/apps/epiphany/web/cookie_accept determines Mozilla's
network.cookie.cookieBehavior preference. For images, the default is determined
by Mozilla's network.image.imageBehavior preference.
</para>
<para>
Though the word "host" is used in many function descriptions, Mozilla
does not act as one would expect. Always pass a URL to any functions which
need have a "host" parameter. However, the "host" in an
#EphyPermissionInfo is a simple DNS hostname.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### STRUCT EphyPermissionInfo ##### -->
<para>
Details a specific permission of a specific website.
</para>
@host: The hostname of the website to which this permission applies.
@type: An #EphyPermissionType.
@permission: An #EphyPermission (either allow or deny).
<!-- ##### ENUM EphyPermissionType ##### -->
<para>
Determines what permission we're dealing with.
</para>
@EPT_COOKIE:
Permission for the website to store cookies on the user's computer.
@EPT_IMAGE:
Permission for the website to show images to the user.
@EPT_POPUP:
Permission for the website to open popup windows (using JavaScript).
<!-- ##### ENUM EphyPermission ##### -->
<para>
Determines whether the website is allowed or denied access.
</para>
@EPHY_PERMISSION_ALLOWED:
The website is unconditionally allowed to perform the desired action.
@EPHY_PERMISSION_DENIED:
The website is unconditionally denied to perform the desired action.
@EPHY_PERMISSION_DEFAULT:
The user has not set a preference for this particular website; the
caller should therefore fall back to default settings.
<!-- ##### FUNCTION ephy_permission_info_free ##### -->
<para>
</para>
@info:
<!-- ##### FUNCTION ephy_permission_manager_add ##### -->
<para>
</para>
@manager:
@host:
@type:
@permission:
<!-- ##### FUNCTION ephy_permission_manager_remove ##### -->
<para>
</para>
@manager:
@host:
@type:
<!-- ##### FUNCTION ephy_permission_manager_clear ##### -->
<para>
</para>
@manager:
<!-- ##### FUNCTION ephy_permission_manager_test ##### -->
<para>
</para>
@manager:
@host:
@type:
@Returns:
<!-- ##### FUNCTION ephy_permission_manager_list ##### -->
<para>
</para>
@manager:
@type:
@Returns:
|