You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The above knobs can be very effective, but might also require expertise to get right.
96
96
Specifically, the `addRestoreCallback` mechanism can be easily overlooked by developers and cause bad UX when BFCache is enable and the state is not cleaned up properly.
97
97
98
-
As an alternative, proposing a declarative CSS-based solution, based on view-transition at rules and `@navigation` conditionals:
98
+
As an alternative, proposing a declarative CSS-based solution, based on view-transition at rules, `@navigation` conditionals, and UA-provided view-transision types:
The "preview" animation with its attached types would start when the navigation is initiated (but not intercepted), and would defer the commit until
114
-
it is finished. The "new" state of the animation would be controlled by style only, using the `@navigation(preview)` conditional (which can be mixed and matches with other conditionals).
140
+
The `@navigation (phase: preview)` conditional allows authors to define styles that apply only during the preview phase of a cross-document view-transition,
141
+
while the two special "types" `-ua-to-preview` and `-ua-from-preview` can be used to define styles, specifically `view-transition-name`s, when going from
142
+
the old real content to the preview state, or out from the skeleton to the new page.
143
+
115
144
116
145
## Pros and cons of the different solutions
117
146
@@ -125,7 +154,7 @@ However, the current plan is to enable that first for power users, and take lear
125
154
126
155
It may expose some information about timing of a navigation, including whether a prerendered page is ready.
127
156
It is limited to same-origin navigations.
128
-
157
+
129
158
2. Do features in your specification expose the minimum amount of information
130
159
necessary to implement the intended functionality?
131
160
@@ -136,7 +165,7 @@ Yes
136
165
either?
137
166
138
167
No
139
-
168
+
140
169
4. How do the features in your specification deal with sensitive information?
141
170
142
171
N/A
@@ -150,12 +179,12 @@ No
150
179
that persists across browsing sessions?
151
180
152
181
No
153
-
182
+
154
183
7. Do the features in your specification expose information about the
155
184
underlying platform to origins?
156
185
157
186
No.
158
-
187
+
159
188
8. Does this specification allow an origin to send data to the underlying platform?
160
189
161
190
No
@@ -167,7 +196,7 @@ No
167
196
10. Do features in this specification enable new script execution/loading
168
197
mechanisms?
169
198
No
170
-
199
+
171
200
11. Do features in this specification allow an origin to access other devices?
172
201
173
202
No
@@ -188,28 +217,28 @@ None
188
217
third-party contexts?
189
218
190
219
It is only available for same-origin navigations.
191
-
220
+
192
221
15. How do the features in this specification work in the context of a browser’s
193
222
Private Browsing or Incognito mode?
194
223
195
224
N/A
196
-
225
+
197
226
16. Does this specification have both "Security Considerations" and "Privacy
198
227
Considerations" sections?
199
228
200
229
Yes
201
-
230
+
202
231
17. Do features in your specification enable origins to downgrade default
203
232
security protections?
204
233
205
234
No
206
-
235
+
207
236
18. What happens when a document that uses your feature is kept alive in BFCache
208
237
(instead of getting destroyed) after navigation, and potentially gets reused
209
238
on future navigations back to the document?
210
239
211
240
This is handled specifically with the `addRestoreCallback` method.
212
-
241
+
213
242
19. What happens when a document that uses your feature gets disconnected?
0 commit comments