Bug 1728099 - Merge Master Passwords and Passwords pref panes into a single pref pane. r=frg
--HG-- rename : suite/components/security/content/prefs/pref-masterpass.js => suite/components/security/content/prefs/pref-passwords.js rename : suite/components/security/content/prefs/pref-masterpass.xul => suite/components/security/content/prefs/pref-passwords.xul
This commit is contained in:
Родитель
813f94e569
Коммит
15bbbb3646
|
@ -1,45 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<!-- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
|
||||
<!DOCTYPE overlay [
|
||||
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
|
||||
%brandDTD;
|
||||
<!ENTITY % prefPasswordsDTD SYSTEM "chrome://communicator/locale/pref/pref-passwords.dtd">
|
||||
%prefPasswordsDTD;
|
||||
]>
|
||||
|
||||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<prefpane id="passwords_pane"
|
||||
label="&pref.passwords.title;">
|
||||
|
||||
<preferences id="passwords_preferences">
|
||||
<preference id="signon.rememberSignons"
|
||||
name="signon.rememberSignons"
|
||||
type="bool"/>
|
||||
<preference id="pref.advanced.password.disable_button.view_stored_password"
|
||||
name="pref.advanced.password.disable_button.view_stored_password"
|
||||
type="bool"/>
|
||||
</preferences>
|
||||
|
||||
<groupbox>
|
||||
<caption label="&signonHeader.caption;"/>
|
||||
<description>&signonDescription.label;</description>
|
||||
<hbox>
|
||||
<checkbox id="signonRememberSignons"
|
||||
label="&signonEnabled.label;"
|
||||
accesskey="&signonEnabled.accesskey;"
|
||||
preference="signon.rememberSignons"/>
|
||||
</hbox>
|
||||
<hbox pack="end">
|
||||
<button id="viewStoredPassword"
|
||||
label="&viewSignons.label;"
|
||||
accesskey="&viewSignons.accesskey;"
|
||||
oncommand="toDataManager('|passwords');"
|
||||
preference="pref.advanced.password.disable_button.view_stored_password"/>
|
||||
</hbox>
|
||||
</groupbox>
|
||||
|
||||
</prefpane>
|
||||
</overlay>
|
|
@ -176,13 +176,8 @@
|
|||
<treeitem id="passwordsItem"
|
||||
label="&passwords.label;"
|
||||
prefpane="passwords_pane"
|
||||
url="chrome://communicator/content/pref/pref-passwords.xul"
|
||||
url="chrome://pippki/content/pref-passwords.xul"
|
||||
helpTopic="passwords_prefs"/>
|
||||
<treeitem id="masterpassItem"
|
||||
label="&masterpass.label;"
|
||||
prefpane="masterpass_pane"
|
||||
url="chrome://pippki/content/pref-masterpass.xul"
|
||||
helpTopic="passwords_master"/>
|
||||
<treeitem id="sslItem"
|
||||
label="&ssltls.label;"
|
||||
prefpane="ssl_pane"
|
||||
|
|
|
@ -53,7 +53,6 @@ comm.jar:
|
|||
content/communicator/pref/pref-navigator.xul (content/pref-navigator.xul)
|
||||
content/communicator/pref/pref-offlineapps.js (content/pref-offlineapps.js)
|
||||
content/communicator/pref/pref-offlineapps.xul (content/pref-offlineapps.xul)
|
||||
content/communicator/pref/pref-passwords.xul (content/pref-passwords.xul)
|
||||
content/communicator/pref/pref-popups.js (content/pref-popups.js)
|
||||
content/communicator/pref/pref-popups.xul (content/pref-popups.xul)
|
||||
content/communicator/pref/pref-privatedata.js (content/pref-privatedata.js)
|
||||
|
|
|
@ -7,32 +7,51 @@
|
|||
|
||||
<!DOCTYPE overlay [
|
||||
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
|
||||
<!ENTITY % prefPass SYSTEM "chrome://pippki/locale/pref-masterpass.dtd">
|
||||
%brandDTD;
|
||||
<!ENTITY % prefMast SYSTEM "chrome://pippki/locale/pref-masterpass.dtd">
|
||||
%prefMast;
|
||||
<!ENTITY % prefPass SYSTEM "chrome://pippki/locale/pref-passwords.dtd">
|
||||
%prefPass;
|
||||
]>
|
||||
|
||||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<prefpane id="masterpass_pane"
|
||||
label="&pref.masterpass.title;"
|
||||
script="chrome://pippki/content/pref-masterpass.js">
|
||||
<prefpane id="passwords_pane"
|
||||
label="&pref.passwords.title;"
|
||||
script="chrome://pippki/content/pref-passwords.js">
|
||||
|
||||
<preferences id="masterpass_preferences">
|
||||
<preferences id="passwords_preferences">
|
||||
<preference id="signon.rememberSignons"
|
||||
name="signon.rememberSignons"
|
||||
type="bool"/>
|
||||
<preference id="pref.advanced.password.disable_button.view_stored_password"
|
||||
name="pref.advanced.password.disable_button.view_stored_password"
|
||||
type="bool"/>
|
||||
<preference id="security.disable_button.changePassword"
|
||||
name="security.disable_button.changePassword"
|
||||
type="bool"/>
|
||||
<preference id="security.ask_for_password"
|
||||
name="security.ask_for_password"
|
||||
type="int"
|
||||
onchange="EnableLifetimeTextbox(this.value);"/>
|
||||
<preference id="security.password_lifetime"
|
||||
name="security.password_lifetime"
|
||||
type="int"/>
|
||||
<preference id="security.disable_button.resetPassword"
|
||||
name="security.disable_button.resetPassword"
|
||||
type="bool"/>
|
||||
</preferences>
|
||||
|
||||
<groupbox>
|
||||
<caption label="&signonHeader.caption;"/>
|
||||
<description>&signonDescription.label;</description>
|
||||
<hbox>
|
||||
<checkbox id="signonRememberSignons"
|
||||
label="&signonEnabled.label;"
|
||||
accesskey="&signonEnabled.accesskey;"
|
||||
preference="signon.rememberSignons"/>
|
||||
</hbox>
|
||||
<hbox pack="end">
|
||||
<button id="viewStoredPassword"
|
||||
label="&viewSignons.label;"
|
||||
accesskey="&viewSignons.accesskey;"
|
||||
oncommand="toDataManager('|passwords');"
|
||||
preference="pref.advanced.password.disable_button.view_stored_password"/>
|
||||
</hbox>
|
||||
</groupbox>
|
||||
|
||||
<!-- Change Password -->
|
||||
<groupbox>
|
||||
<caption label="&changepassword.caption;"/>
|
||||
|
@ -51,10 +70,10 @@
|
|||
<caption label="&resetpassword.caption;"/>
|
||||
<description>&resetpassword.text;</description>
|
||||
<hbox>
|
||||
<button label="&resetpassword.button;"
|
||||
<button label="&resetpassword2.button;"
|
||||
oncommand="ResetPW();"
|
||||
id="resetPasswordButton"
|
||||
accesskey="&resetpassword.accesskey;"
|
||||
accesskey="&resetpassword2.accesskey;"
|
||||
preference="security.disable_button.resetPassword"/>
|
||||
</hbox>
|
||||
</groupbox>
|
|
@ -5,7 +5,7 @@
|
|||
pippki.jar:
|
||||
content/pippki/pref-certs.js (content/prefs/pref-certs.js)
|
||||
content/pippki/pref-certs.xul (content/prefs/pref-certs.xul)
|
||||
content/pippki/pref-masterpass.js (content/prefs/pref-masterpass.js)
|
||||
content/pippki/pref-masterpass.xul (content/prefs/pref-masterpass.xul)
|
||||
content/pippki/pref-passwords.js (content/prefs/pref-passwords.js)
|
||||
content/pippki/pref-passwords.xul (content/prefs/pref-passwords.xul)
|
||||
content/pippki/pref-ssl.js (content/prefs/pref-ssl.js)
|
||||
content/pippki/pref-ssl.xul (content/prefs/pref-ssl.xul)
|
||||
|
|
|
@ -480,8 +480,8 @@
|
|||
one of your own certificates to identify yourself to a website. It needs to
|
||||
access your master key when Password Manager or Form Manager reads or adds to
|
||||
your personal information. You can set or change your master password from
|
||||
the Master Passwords preferences panel. Each security device requires a
|
||||
separate master password. See also <a href="#private_key">private key</a>,
|
||||
the Passwords preferences panel. Each security device requires a separate
|
||||
master password. See also <a href="#private_key">private key</a>,
|
||||
<a href="#master_key">master key</a>.</dd>
|
||||
|
||||
<dt id="mathml">MathML (Mathematical Markup Language)</dt><dd>The markup
|
||||
|
|
|
@ -1322,11 +1322,6 @@
|
|||
<rdf:Description ID="master_password:forgetting"
|
||||
nc:name="Forgetting your master password"
|
||||
nc:link="using_priv_help.xhtml#what_to_do_if_you_forget_your_master_password"/>
|
||||
</rdf:li>
|
||||
<rdf:li>
|
||||
<rdf:Description ID="master_password:preferences"
|
||||
nc:name="Master Password Preferences"
|
||||
nc:link="passwords_help.xhtml#master_passwords"/>
|
||||
</rdf:li></rdf:Seq>
|
||||
</nc:subheadings>
|
||||
</rdf:Description>
|
||||
|
|
|
@ -32,8 +32,6 @@
|
|||
<li><a href="#passwords">Privacy & Security Preferences -
|
||||
Passwords</a></li>
|
||||
<li><a href="#password_manager">Password Manager</a></li>
|
||||
<li><a href="#master_passwords">Privacy & Security Preferences -
|
||||
Master Passwords</a></li>
|
||||
<li><a href="#change_master_password">Change Master Passwords</a></li>
|
||||
<li><a href="#reset_master_password">Reset Master Password</a></li>
|
||||
<li><a href="#choosing_a_good_password">Choosing a Good Password</a></li>
|
||||
|
@ -74,6 +72,51 @@
|
|||
see <a href="using_priv_help.xhtml#using_the_password_manager">Using the
|
||||
Password Manager</a>.</p>
|
||||
|
||||
<h3 id="master_passwords">Master Passwords</h3>
|
||||
|
||||
<p>A master password protects a security device, which is a software or
|
||||
hardware device that stores sensitive information associated with your
|
||||
identity, such as keys or certificates.</p>
|
||||
|
||||
<p>For example, the browser has a built-in Software Security Device, and you
|
||||
can also use external security devices, such as smart cards, if your computer
|
||||
is configured to use them.</p>
|
||||
|
||||
<p>The master password for the browser's built-in Software Security Device
|
||||
also protects stored sensitive information such as email passwords, website
|
||||
passwords, and other data stored by the Password Manager.</p>
|
||||
|
||||
<p>Each security device, whether it is software or hardware, has its own
|
||||
separate Master Password.</p>
|
||||
|
||||
<ul>
|
||||
<li><strong>Change Password</strong>: Click this button to set or change any
|
||||
of your master passwords. For information about using the Change Master
|
||||
Password dialog box that appears when you click this button, see
|
||||
<a href="#change_master_password">Change Master Password</a>.</li>
|
||||
<li>You can control how often the browser requests your master password:
|
||||
<ul>
|
||||
<li><strong>The first time it is needed</strong>: This setting
|
||||
(selected by default) causes the browser to request your master
|
||||
password only the first time it needs access to the private key
|
||||
database after launching. The browser will not request the master
|
||||
password again until after you exit and relaunch it. This setting
|
||||
provides the lowest level of protection.</li>
|
||||
<li><strong>Every time it is needed</strong>: This setting ensures that
|
||||
the browser will never access your saved personal information without
|
||||
first requesting your master password. This setting provides the
|
||||
highest level of protection.</li>
|
||||
<li><strong>If it has not been used for [__] minutes or longer</strong>:
|
||||
This setting causes the browser to request your master password if it
|
||||
needs to access your personal information and the specified interval
|
||||
has elapsed since the last time it did so.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Reset Master Password</strong>: Click this button to reset the
|
||||
master password for the Software Security Device. For more information,
|
||||
see <a href="#reset_master_password">Reset Master Password</a>.</li>
|
||||
</ul>
|
||||
|
||||
<h3 id="encrypting_versus_obscuring">Encrypting Versus Obscuring</h3>
|
||||
|
||||
<p>If you use Password Manager to save passwords and personal data, this
|
||||
|
@ -94,8 +137,7 @@
|
|||
<ul>
|
||||
<li>If you use encryption, you will need to enter a master password
|
||||
periodically, which can be inconvenient. (For further information see the
|
||||
discussion of the Master Password at
|
||||
<a href="#master_passwords">Privacy & Security Preferences - Master
|
||||
discussion of the Master Password at <a href="#master_passwords">Master
|
||||
Passwords</a>.)</li>
|
||||
<li>If you use obscuring, you may not have to set a master password at all
|
||||
(unless you're using certificates for identification purposes), but it
|
||||
|
@ -177,63 +219,6 @@
|
|||
"using_priv_help.xhtml#using_the_password_manager">Using the Password
|
||||
Manager</a>.</p>
|
||||
|
||||
<h2 id="master_passwords">Privacy & Security Preferences - Master
|
||||
Passwords</h2>
|
||||
|
||||
<p>This section describes the Master Passwords preferences panel. If you are
|
||||
not already viewing it, follow these steps:</p>
|
||||
|
||||
<ol>
|
||||
<li>Open the <span class="mac">&brandShortName;</span>
|
||||
<span class="noMac">Edit</span> menu and choose Preferences.</li>
|
||||
<li>Under the Privacy & Security category, click Master Passwords. (If no
|
||||
subcategories are visible, double-click Privacy & Security to expand
|
||||
the list.)</li>
|
||||
</ol>
|
||||
|
||||
<p>A master password protects a security device, which is a software or
|
||||
hardware device that stores sensitive information associated with your
|
||||
identity, such as keys or certificates.</p>
|
||||
|
||||
<p>For example, the browser has a built-in Software Security Device, and you
|
||||
can also use external security devices, such as smart cards, if your computer
|
||||
is configured to use them.</p>
|
||||
|
||||
<p>The master password for the browser's built-in Software Security Device
|
||||
also protects stored sensitive information such as email passwords, website
|
||||
passwords, and other data stored by the Password Manager.</p>
|
||||
|
||||
<p>Each security device, whether it is software or hardware, has its own
|
||||
separate Master Password.</p>
|
||||
|
||||
<ul>
|
||||
<li><strong>Change Password</strong>: Click this button to set or change any
|
||||
of your master passwords. For information about using the Change Master
|
||||
Password dialog box that appears when you click this button, see
|
||||
<a href="#change_master_password">Change Master Password</a>.</li>
|
||||
<li>You can control how often the browser requests your master password:
|
||||
<ul>
|
||||
<li><strong>The first time it is needed</strong>: This setting
|
||||
(selected by default) causes the browser to request your master
|
||||
password only the first time it needs access to the private key
|
||||
database after launching. The browser will not request the master
|
||||
password again until after you exit and relaunch it. This setting
|
||||
provides the lowest level of protection.</li>
|
||||
<li><strong>Every time it is needed</strong>: This setting ensures that
|
||||
the browser will never access your saved personal information without
|
||||
first requesting your master password. This setting provides the
|
||||
highest level of protection.</li>
|
||||
<li><strong>If it has not been used for [__] minutes or longer</strong>:
|
||||
This setting causes the browser to request your master password if it
|
||||
needs to access your personal information and the specified interval
|
||||
has elapsed since the last time it did so.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Reset Master Password</strong>: Click this button to reset the
|
||||
master password for the Software Security Device. For more information,
|
||||
see <a href="#reset_master_password">Reset Master Password</a>.</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="change_master_password">Change Master Password</h2>
|
||||
|
||||
<p>You must remember your old master password to change it with the Change
|
||||
|
@ -245,8 +230,8 @@
|
|||
<ol>
|
||||
<li>Open the <span class="mac">&brandShortName;</span>
|
||||
<span class="noMac">Edit</span> menu and choose Preferences.</li>
|
||||
<li>Under the Privacy & Security category, click Master Passwords. (If
|
||||
no subcategories are visible, double-click Privacy & Security to expand
|
||||
<li>Under the Privacy & Security category, click Passwords. (If no
|
||||
subcategories are visible, double-click Privacy & Security to expand
|
||||
the list.)</li>
|
||||
<li>Click Change Password.</li>
|
||||
</ol>
|
||||
|
@ -317,7 +302,7 @@
|
|||
Software Security Device</a>.</p>
|
||||
|
||||
<p>To change your master password rather than resetting it, click the Change
|
||||
Password button in the Master Passwords preferences panel.</p>
|
||||
Password button in the Passwords preferences panel.</p>
|
||||
|
||||
<p>This section describes the Reset Master Password dialog box. If you're
|
||||
not already viewing it, follow these steps:</p>
|
||||
|
@ -325,8 +310,8 @@
|
|||
<ol>
|
||||
<li>Open the <span class="mac">&brandShortName;</span>
|
||||
<span class="noMac">Edit</span> menu and choose Preferences.</li>
|
||||
<li>Under the Privacy & Security category, click Master Passwords. (If
|
||||
no subcategories are visible, double-click Privacy & Security to expand
|
||||
<li>Under the Privacy & Security category, click Passwords. (If no
|
||||
subcategories are visible, double-click Privacy & Security to expand
|
||||
the list.)</li>
|
||||
<li>Click Reset Password.</li>
|
||||
</ol>
|
||||
|
@ -341,7 +326,7 @@
|
|||
<p>If you remember your master password and decide to change it, you can do so
|
||||
without danger of losing any personal information. If you are viewing the
|
||||
Reset Master Password alert and you decide you want to change your password
|
||||
rather than resetting it, click Cancel to return to the Master Passwords
|
||||
rather than resetting it, click Cancel to return to the Passwords
|
||||
preferences panel, then click Change Password. For details, see
|
||||
<a href="#change_master_password">Change Master Password</a>.</p>
|
||||
|
||||
|
|
|
@ -907,7 +907,6 @@
|
|||
<rdf:Seq>
|
||||
<rdf:li><rdf:Description ID="passwords_prefs" nc:name="Password Preferences" nc:link="passwords_help.xhtml#passwords"/> </rdf:li>
|
||||
<rdf:li><rdf:Description ID="password_mgr" nc:name="Password Manager" nc:link="passwords_help.xhtml#password_manager"/> </rdf:li>
|
||||
<rdf:li><rdf:Description ID="passwords_master" nc:name="Master Password Preferences" nc:link="passwords_help.xhtml#master_passwords"/> </rdf:li>
|
||||
<rdf:li><rdf:Description ID="master-prefs-change" nc:name="Change Master Password" nc:link="passwords_help.xhtml#change_master_password"/> </rdf:li>
|
||||
<rdf:li><rdf:Description ID="master-prefs-reset" nc:name="Reset Master Password" nc:link="passwords_help.xhtml#reset_master_password"/> </rdf:li>
|
||||
<rdf:li><rdf:Description ID="choosing-good-password" nc:name="Choosing a Good Password" nc:link="passwords_help.xhtml#choosing_a_good_password"/> </rdf:li>
|
||||
|
|
|
@ -994,7 +994,7 @@
|
|||
<ol>
|
||||
<li>Open the <span class="mac">&brandShortName;</span>
|
||||
<span class="noMac">Edit</span> menu and choose Preferences.</li>
|
||||
<li>Under the Privacy & Security category, click Master Passwords. (If no
|
||||
<li>Under the Privacy & Security category, click Passwords. (If no
|
||||
subcategories are visible, double-click Privacy & Security to expand
|
||||
the list.)</li>
|
||||
<li>In the Change Master Password section, click Change Password to open the
|
||||
|
@ -1019,7 +1019,7 @@
|
|||
<ol>
|
||||
<li>Open the <span class="mac">&brandShortName;</span>
|
||||
<span class="noMac">Edit</span> menu and choose Preferences.</li>
|
||||
<li>Under the Privacy & Security category, click Master Passwords. (If no
|
||||
<li>Under the Privacy & Security category, click Passwords. (If no
|
||||
subcategories are visible, double-click Privacy & Security to expand
|
||||
the list.)</li>
|
||||
<li>In the Change Master Password section, click Change Password to open the
|
||||
|
@ -1083,7 +1083,7 @@
|
|||
<ol>
|
||||
<li>Open the <span class="mac">&brandShortName;</span>
|
||||
<span class="noMac">Edit</span> menu and choose Preferences.</li>
|
||||
<li>Under the Privacy & Security category, click Master Passwords. (If no
|
||||
<li>Under the Privacy & Security category, click Passwords. (If no
|
||||
subcategories are visible, double-click Privacy & Security to expand
|
||||
the list.)</li>
|
||||
<li>Click Reset Master Password.</li>
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
|
||||
|
||||
<!ENTITY pref.masterpass.title "Master Passwords">
|
||||
|
||||
<!ENTITY changepassword.caption "Change Master Password">
|
||||
<!ENTITY changepassword.text "Your master password protects sensitive information such as web passwords and certificates.">
|
||||
<!ENTITY changepassword.button "Change Password…">
|
||||
|
@ -11,5 +9,5 @@
|
|||
|
||||
<!ENTITY resetpassword.caption "Reset Master Password">
|
||||
<!ENTITY resetpassword.text "If you reset your master password, all of your stored web and e-mail passwords, form data, personal certificates, and private keys will be lost.">
|
||||
<!ENTITY resetpassword.button "Reset Password">
|
||||
<!ENTITY resetpassword.accesskey "R">
|
||||
<!ENTITY resetpassword2.button "Reset Password">
|
||||
<!ENTITY resetpassword2.accesskey "P">
|
||||
|
|
|
@ -38,7 +38,6 @@
|
|||
<!ENTITY images.label "Images">
|
||||
<!ENTITY popups.label "Popup Windows">
|
||||
<!ENTITY passwords.label "Passwords">
|
||||
<!ENTITY masterpass.label "Master Passwords">
|
||||
<!ENTITY ssltls.label "SSL/TLS">
|
||||
<!ENTITY certs.label "Certificates">
|
||||
|
||||
|
|
|
@ -181,7 +181,6 @@
|
|||
locale/@AB_CD@/communicator/pref/pref-mousewheel.dtd (%chrome/common/pref/pref-mousewheel.dtd)
|
||||
locale/@AB_CD@/communicator/pref/pref-navigator.dtd (%chrome/common/pref/pref-navigator.dtd)
|
||||
locale/@AB_CD@/communicator/pref/pref-offlineapps.dtd (%chrome/common/pref/pref-offlineapps.dtd)
|
||||
locale/@AB_CD@/communicator/pref/pref-passwords.dtd (%chrome/common/pref/pref-passwords.dtd)
|
||||
locale/@AB_CD@/communicator/pref/pref-popups.dtd (%chrome/common/pref/pref-popups.dtd)
|
||||
locale/@AB_CD@/communicator/pref/pref-privatedata.dtd (%chrome/common/pref/pref-privatedata.dtd)
|
||||
locale/@AB_CD@/communicator/pref/pref-proxies.dtd (%chrome/common/pref/pref-proxies.dtd)
|
||||
|
@ -393,4 +392,5 @@
|
|||
locale/@AB_CD@/navigator-region/region.properties (%chrome/browser/region.properties)
|
||||
locale/@AB_CD@/pippki/pref-certs.dtd (%chrome/common/pref/pref-certs.dtd)
|
||||
locale/@AB_CD@/pippki/pref-masterpass.dtd (%chrome/common/pref/pref-masterpass.dtd)
|
||||
locale/@AB_CD@/pippki/pref-passwords.dtd (%chrome/common/pref/pref-passwords.dtd)
|
||||
locale/@AB_CD@/pippki/pref-ssl.dtd (%chrome/common/pref/pref-ssl.dtd)
|
||||
|
|
Загрузка…
Ссылка в новой задаче