Firefox-Marionette
view release on metacpan or search on metacpan
lib/Waterfox/Marionette/Profile.pm view on Meta::CPAN
package Waterfox::Marionette::Profile;
use strict;
use warnings;
use English qw( -no_match_vars );
use File::Spec();
use parent qw(Firefox::Marionette::Profile);
BEGIN {
if ( $OSNAME eq 'MSWin32' ) {
require Win32;
}
}
our $VERSION = '1.70';
sub profile_ini_directory {
my ($class) = @_;
my $profile_ini_directory;
if ( $OSNAME eq 'darwin' ) {
my $home_directory =
( getpwuid $EFFECTIVE_USER_ID )
[ $class->SUPER::_GETPWUID_DIR_INDEX() ];
defined $home_directory
or Firefox::Marionette::Exception->throw(
"Failed to execute getpwuid for $OSNAME:$EXTENDED_OS_ERROR");
$profile_ini_directory = File::Spec->catdir( $home_directory, 'Library',
'Application Support', 'Waterfox' );
}
elsif ( $OSNAME eq 'MSWin32' ) {
$profile_ini_directory =
File::Spec->catdir( Win32::GetFolderPath( Win32::CSIDL_APPDATA() ),
'Waterfox', 'Waterfox' );
}
elsif ( $OSNAME eq 'cygwin' ) {
$profile_ini_directory =
File::Spec->catdir( $ENV{APPDATA}, 'Waterfox', 'Waterfox' );
}
else {
my $home_directory =
( getpwuid $EFFECTIVE_USER_ID )
[ $class->SUPER::_GETPWUID_DIR_INDEX() ];
defined $home_directory
or Firefox::Marionette::Exception->throw(
"Failed to execute getpwuid for $OSNAME:$EXTENDED_OS_ERROR");
$profile_ini_directory =
File::Spec->catdir( $home_directory, '.waterfox' );
}
return $profile_ini_directory;
}
sub new {
my ( $class, %parameters ) = @_;
my $profile = bless { comments => q[], keys => {} }, $class;
$profile->set_value( 'bookmarks.initialized.pref', 'true', 0 );
$profile->set_value( 'browser.bookmarks.restore_default_bookmarks',
'false', 0 );
$profile->set_value( 'browser.download.useDownloadDir', 'true', 0 );
$profile->set_value( 'browser.download.folderList', 2, 0 )
; # the last folder specified for a download
$profile->set_value( 'browser.places.importBookmarksHTML', 'true', 0 );
$profile->set_value( 'browser.reader.detectedFirstArticle', 'true', 0 );
$profile->set_value( 'browser.shell.checkDefaultBrowser', 'false', 0 );
$profile->set_value( 'browser.showQuitWarning', 'false', 0 );
$profile->set_value( 'browser.startup.homepage', 'about:blank', 1 );
$profile->set_value( 'browser.startup.homepage_override.mstone',
'ignore', 1 );
$profile->set_value( 'browser.startup.page', '0', 0 );
$profile->set_value( 'browser.tabs.warnOnClose', 'false', 0 );
$profile->set_value( 'browser.warnOnQuit', 'false', 0 );
$profile->set_value( 'devtools.jsonview.enabled', 'false', 0 );
$profile->set_value( 'devtools.netmonitor.persistlog', 'true', 0 );
$profile->set_value( 'devtools.toolbox.host', 'window', 1 );
$profile->set_value( 'dom.disable_open_click_delay', 0, 0 );
$profile->set_value( 'extensions.installDistroAddons', 'false', 0 );
$profile->set_value( 'focusmanager.testmode', 'true', 0 );
$profile->set_value( 'marionette.port', $class->SUPER::ANY_PORT() );
$profile->set_value( 'network.http.prompt-temp-redirect', 'false', 0 );
$profile->set_value( 'network.http.request.max-start-delay', '0', 0 );
$profile->set_value( 'security.osclientcerts.autoload', 'true', 0 );
$profile->set_value( 'signon.autofillForms', 'false', 0 );
$profile->set_value( 'signon.rememberSignons', 'false', 0 );
$profile->set_value( 'startup.homepage_welcome_url', 'about:blank', 1 );
$profile->set_value( 'startup.homepage_welcome_url.additional',
'about:blank', 1 );
if ( !$parameters{chatty} ) {
$profile->set_value( 'app.update.auto', 'false', 0 );
$profile->set_value( 'app.update.staging.enabled', 'false', 0 );
$profile->set_value( 'app.update.checkInstallTime', 'false', 0 );
}
return $profile;
}
1; # Magic true value required at end of module
__END__
=head1 NAME
Waterfox::Marionette::Profile - Represents a prefs.js Waterfox Profile
=head1 VERSION
Version 1.70
( run in 2.079 seconds using v1.01-cache-2.11-cpan-524268b4103 )