@@ -189,6 +189,8 @@ enum {
189189 PROP_ENABLE_ICE_CANDIDATE_FILTERING,
190190 PROP_WEBRTC_UDP_PORTS_RANGE,
191191 PROP_SCREEN_SUPPORTS_HDR,
192+ PROP_ENABLE_PAGE_LIFECYCLE,
193+ PROP_DESTROY_WINDOW_ON_FREEZE,
192194 N_PROPERTIES,
193195};
194196
@@ -452,6 +454,12 @@ ALLOW_DEPRECATED_DECLARATIONS_END
452454 case PROP_SCREEN_SUPPORTS_HDR:
453455 webkit_settings_set_screen_supports_hdr (settings, g_value_get_boolean (value));
454456 break ;
457+ case PROP_ENABLE_PAGE_LIFECYCLE:
458+ webkit_settings_set_enable_page_lifecycle (settings, g_value_get_boolean (value));
459+ break ;
460+ case PROP_DESTROY_WINDOW_ON_FREEZE:
461+ webkit_settings_set_destroy_window_on_freeze (settings, g_value_get_boolean (value));
462+ break ;
455463 default :
456464 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, propId, paramSpec);
457465 break ;
@@ -686,6 +694,12 @@ ALLOW_DEPRECATED_DECLARATIONS_END
686694 case PROP_SCREEN_SUPPORTS_HDR:
687695 g_value_set_boolean (value, webkit_settings_get_screen_supports_hdr (settings));
688696 break ;
697+ case PROP_ENABLE_PAGE_LIFECYCLE:
698+ g_value_set_boolean (value, webkit_settings_get_enable_page_lifecycle (settings));
699+ break ;
700+ case PROP_DESTROY_WINDOW_ON_FREEZE:
701+ g_value_set_boolean (value, webkit_settings_get_destroy_window_on_freeze (settings));
702+ break ;
689703 default :
690704 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, propId, paramSpec);
691705 break ;
@@ -1827,6 +1841,32 @@ static void webkit_settings_class_init(WebKitSettingsClass* klass)
18271841 FALSE ,
18281842 readWriteConstructParamFlags);
18291843
1844+ /* *
1845+ * WebKitSettings:enable-page-lifecycle:
1846+ *
1847+ * Whether to enable the Page LifeCycle API.
1848+ *
1849+ */
1850+ sObjProperties [PROP_ENABLE_PAGE_LIFECYCLE] = g_param_spec_boolean (
1851+ " enable-page-lifecycle" ,
1852+ _ (" Enable Page Lifecycle" ),
1853+ _ (" Whether to enable the Page Lifecycle API." ),
1854+ TRUE ,
1855+ readWriteConstructParamFlags);
1856+
1857+ /* *
1858+ * WebKitSettings:destroy-window-on-freeze:
1859+ *
1860+ * Whether to destroy the native window on freeze.
1861+ *
1862+ */
1863+ sObjProperties [PROP_DESTROY_WINDOW_ON_FREEZE] = g_param_spec_boolean (
1864+ " destroy-window-on-freeze" ,
1865+ _ (" Destroy window on freeze" ),
1866+ _ (" Whether to destroy the native window on freeze." ),
1867+ FALSE ,
1868+ readWriteConstructParamFlags);
1869+
18301870 g_object_class_install_properties (gObjectClass , N_PROPERTIES, sObjProperties );
18311871}
18321872
@@ -4604,3 +4644,73 @@ webkit_settings_set_screen_supports_hdr(WebKitSettings* settings, gboolean scree
46044644 priv->preferences ->setScreenSupportsHDR (screenSupportsHDR);
46054645 g_object_notify_by_pspec (G_OBJECT (settings), sObjProperties [PROP_SCREEN_SUPPORTS_HDR]);
46064646}
4647+
4648+ /* *
4649+ * webkit_settings_get_enable_page_lifecycle:
4650+ * @settings: a #WebKitSettings
4651+ *
4652+ * Get the #WebKitSettings:enable-page-lifecycle property.
4653+ *
4654+ * Returns: %TRUE If the native window should be destroyed when feezing or %FALSE otherwise.
4655+ */
4656+ gboolean webkit_settings_get_enable_page_lifecycle (WebKitSettings* settings)
4657+ {
4658+ g_return_val_if_fail (WEBKIT_IS_SETTINGS (settings), FALSE );
4659+
4660+ return settings->priv ->preferences ->pageLifecycleAPIEnabled ();
4661+ }
4662+
4663+ /* *
4664+ * webkit_settings_set_enable_page_lifecycle:
4665+ * @settings: a #WebKitSettings
4666+ * @enabled: Value to be set
4667+ *
4668+ * Set the #WebKitSettings:enable-page-lifecycle property.
4669+ */
4670+ void webkit_settings_set_enable_page_lifecycle (WebKitSettings* settings, gboolean enable)
4671+ {
4672+ g_return_if_fail (WEBKIT_IS_SETTINGS (settings));
4673+
4674+ WebKitSettingsPrivate* priv = settings->priv ;
4675+ bool currentValue = priv->preferences ->pageLifecycleAPIEnabled ();
4676+ if (currentValue == enable)
4677+ return ;
4678+
4679+ priv->preferences ->setPageLifecycleAPIEnabled (enable);
4680+ g_object_notify (G_OBJECT (settings), " enable-page-lifecycle" );
4681+ }
4682+
4683+ /* *
4684+ * webkit_settings_get_destroy_window_on_freeze:
4685+ * @settings: a #WebKitSettings
4686+ *
4687+ * Get the #WebKitSettings:destroy-window-on-freeze property.
4688+ *
4689+ * Returns: %TRUE If the native window should be destroyed when feezing or %FALSE otherwise.
4690+ */
4691+ gboolean webkit_settings_get_destroy_window_on_freeze (WebKitSettings* settings)
4692+ {
4693+ g_return_val_if_fail (WEBKIT_IS_SETTINGS (settings), FALSE );
4694+
4695+ return settings->priv ->preferences ->pageLifecycleAPIDestroyWindowOnFreeze ();
4696+ }
4697+
4698+ /* *
4699+ * webkit_settings_set_destroy_window_on_freeze:
4700+ * @settings: a #WebKitSettings
4701+ * @enabled: Value to be set
4702+ *
4703+ * Set the #WebKitSettings:destroy-window-on-freeze property.
4704+ */
4705+ void webkit_settings_set_destroy_window_on_freeze (WebKitSettings* settings, gboolean destroy)
4706+ {
4707+ g_return_if_fail (WEBKIT_IS_SETTINGS (settings));
4708+
4709+ WebKitSettingsPrivate* priv = settings->priv ;
4710+ bool currentValue = priv->preferences ->pageLifecycleAPIDestroyWindowOnFreeze ();
4711+ if (currentValue == destroy)
4712+ return ;
4713+
4714+ priv->preferences ->setPageLifecycleAPIDestroyWindowOnFreeze (destroy);
4715+ g_object_notify (G_OBJECT (settings), " destroy-window-on-freeze" );
4716+ }
0 commit comments