• Carlos Garcia Campos's avatar
    Allow to have different settings in web applications · 7f065b1c
    Carlos Garcia Campos authored
    Make org.gnome.Epiphany.web schema relocatable to be used by web apps.
    Settings in org.gnome.Epiphany.web schema are now per web app, allowing
    users to have different settings in the main epiphany instance and in
    every web applications installed. Newly created web apps inherit the
    settings from the main instance. To make this possible I also had to
    move some of the settings:
    
     - user-agent, remember-passwords and enable-smooth-scrolling has been
       moved from the main schema to web. The profile migrator will copy the
       values from the main schema to the web one. Settings are not actually
       moved, but copied marking the old ones as deprecated.
    
     - adblock-filters has been moved from web to main schema, because it's
       actually shared, web apps use the default profile filters. This is
       not migrated because it's very recent setting and probably everybody
       is using the default value anyway since it's not exposed in the UI
       yet.
    
    When the profile migrator is run for the main ephy instance, we simply
    copy the values of the deprecated settings to its new location. When
    it's run for a web app we copy the settings from the main profile. If
    the migrator was not run for the main profile yet, we use the deprecated
    values instead. This way web apps will be ensured to have the same
    settings.
    The app menu for web applications includes now the preferences item to
    show the preferences dialog. The dialog is the same as the main one,
    but with with the global options hidden.
    This patch also removes ephy_settings_ensure_schema_for_path() and
    relocatable schemas are configured automatically based on the current
    profile dir, making it less error prone.
    7f065b1c