17
17
18
18
import { Persistence } from '../../model/public_types' ;
19
19
20
- import { getUA } from '@firebase/util' ;
21
20
import {
22
21
_isSafari ,
23
22
_isIOS ,
@@ -33,11 +32,6 @@ import {
33
32
} from '../../core/persistence' ;
34
33
import { BrowserPersistenceClass } from './browser' ;
35
34
36
- function _iframeCannotSyncWebStorage ( ) : boolean {
37
- const ua = getUA ( ) ;
38
- return _isSafari ( ua ) || _isIOS ( ua ) ;
39
- }
40
-
41
35
// The polling period in case events are not supported
42
36
export const _POLLING_INTERVAL_MS = 1000 ;
43
37
@@ -64,9 +58,6 @@ class BrowserLocalPersistence
64
58
// eslint-disable-next-line @typescript-eslint/no-explicit-any
65
59
private pollTimer : any | null = null ;
66
60
67
- // Safari or iOS browser and embedded in an iframe.
68
- private readonly safariLocalStorageNotSynced =
69
- _iframeCannotSyncWebStorage ( ) && _isIframe ( ) ;
70
61
// Whether to use polling instead of depending on window events
71
62
private readonly fallbackToPolling = _isMobileBrowser ( ) ;
72
63
readonly _shouldAllowMigration = true ;
@@ -112,26 +103,6 @@ class BrowserLocalPersistence
112
103
this . stopPolling ( ) ;
113
104
}
114
105
115
- // Safari embedded iframe. Storage event will trigger with the delta
116
- // changes but no changes will be applied to the iframe localStorage.
117
- if ( this . safariLocalStorageNotSynced ) {
118
- // Get current iframe page value.
119
- const storedValue = this . storage . getItem ( key ) ;
120
- // Value not synchronized, synchronize manually.
121
- if ( event . newValue !== storedValue ) {
122
- if ( event . newValue !== null ) {
123
- // Value changed from current value.
124
- this . storage . setItem ( key , event . newValue ) ;
125
- } else {
126
- // Current value deleted.
127
- this . storage . removeItem ( key ) ;
128
- }
129
- } else if ( this . localCache [ key ] === event . newValue && ! poll ) {
130
- // Already detected and processed, do not trigger listeners again.
131
- return ;
132
- }
133
- }
134
-
135
106
const triggerListeners = ( ) : void => {
136
107
// Keep local map up to date in case storage event is triggered before
137
108
// poll.
0 commit comments