The theme switching forces the browser to reload the entire page, also new CSS styles need to be loaded as well. It seems that iPhone's Safari browser takes a really long time to do just that. Because the theme selection is saved on the window scope NavigationBean and this slow reload, makes the server to think that the page request belongs to a different window.
A new NavigationBean is instantiated after each theme switch, causing the theme selection to always be set to initial value (Sam theme).
Changing the window timeout solves this issue but only when the value is set to an incredible 19 seconds. A reasonable solution for this issue would be to move the theme selection value binding on a session scoped bean. Conceptually this would be a good fit since a theme change is normal to be applied to all opened windows (unlike navigation).
The theme switching forces the browser to reload the entire page, also new CSS styles need to be loaded as well. It seems that iPhone's Safari browser takes a really long time to do just that. Because the theme selection is saved on the window scope NavigationBean and this slow reload, makes the server to think that the page request belongs to a different window.
A new NavigationBean is instantiated after each theme switch, causing the theme selection to always be set to initial value (Sam theme).
Changing the window timeout solves this issue but only when the value is set to an incredible 19 seconds. A reasonable solution for this issue would be to move the theme selection value binding on a session scoped bean. Conceptually this would be a good fit since a theme change is normal to be applied to all opened windows (unlike navigation).