From 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:43:23 -0500 Subject: initial commit --- files/tr/mozilla/add-ons/sdk/index.html | 81 +++++ files/tr/mozilla/add-ons/sdk/tools/index.html | 14 + .../add-ons/sdk/tools/package_json/index.html | 323 ++++++++++++++++++++ .../sdk/tutorials/getting_started_(jpm)/index.html | 174 +++++++++++ files/tr/mozilla/add-ons/sdk/tutorials/index.html | 158 ++++++++++ files/tr/mozilla/developer_guide/index.html | 107 +++++++ .../mozilla/developer_guide/kaynak_kod/index.html | 55 ++++ files/tr/mozilla/eklentiler/index.html | 107 +++++++ .../index.html" | 335 +++++++++++++++++++++ .../webextensions/eklenti_nedir/index.html | 68 +++++ .../extending_the_developer_tools/index.html | 167 ++++++++++ .../tr/mozilla/eklentiler/webextensions/index.html | 138 +++++++++ .../webextensions/i\314\207lk_eklentin/index.html" | 157 ++++++++++ .../webextensions/user_interface/index.html | 95 ++++++ files/tr/mozilla/firefox/index.html | 45 +++ files/tr/mozilla/firefox/releases/63/index.html | 139 +++++++++ files/tr/mozilla/firefox/releases/81/index.html | 94 ++++++ files/tr/mozilla/firefox/releases/index.html | 12 + files/tr/mozilla/index.html | 13 + .../index.html | 64 ++++ files/tr/mozilla/persona/index.html | 159 ++++++++++ files/tr/mozilla/projects/index.html | 15 + files/tr/mozilla/projects/necko/index.html | 29 ++ .../mozilla/qa/bug_writing_guidelines/index.html | 237 +++++++++++++++ files/tr/mozilla/qa/index.html | 251 +++++++++++++++ 25 files changed, 3037 insertions(+) create mode 100644 files/tr/mozilla/add-ons/sdk/index.html create mode 100644 files/tr/mozilla/add-ons/sdk/tools/index.html create mode 100644 files/tr/mozilla/add-ons/sdk/tools/package_json/index.html create mode 100644 files/tr/mozilla/add-ons/sdk/tutorials/getting_started_(jpm)/index.html create mode 100644 files/tr/mozilla/add-ons/sdk/tutorials/index.html create mode 100644 files/tr/mozilla/developer_guide/index.html create mode 100644 files/tr/mozilla/developer_guide/kaynak_kod/index.html create mode 100644 files/tr/mozilla/eklentiler/index.html create mode 100644 "files/tr/mozilla/eklentiler/webextensions/deneyiminize_web-ext_ile_ba\305\237lay\304\261n/index.html" create mode 100644 files/tr/mozilla/eklentiler/webextensions/eklenti_nedir/index.html create mode 100644 files/tr/mozilla/eklentiler/webextensions/extending_the_developer_tools/index.html create mode 100644 files/tr/mozilla/eklentiler/webextensions/index.html create mode 100644 "files/tr/mozilla/eklentiler/webextensions/i\314\207lk_eklentin/index.html" create mode 100644 files/tr/mozilla/eklentiler/webextensions/user_interface/index.html create mode 100644 files/tr/mozilla/firefox/index.html create mode 100644 files/tr/mozilla/firefox/releases/63/index.html create mode 100644 files/tr/mozilla/firefox/releases/81/index.html create mode 100644 files/tr/mozilla/firefox/releases/index.html create mode 100644 files/tr/mozilla/index.html create mode 100644 files/tr/mozilla/participating_in_the_mozilla_project/index.html create mode 100644 files/tr/mozilla/persona/index.html create mode 100644 files/tr/mozilla/projects/index.html create mode 100644 files/tr/mozilla/projects/necko/index.html create mode 100644 files/tr/mozilla/qa/bug_writing_guidelines/index.html create mode 100644 files/tr/mozilla/qa/index.html (limited to 'files/tr/mozilla') diff --git a/files/tr/mozilla/add-ons/sdk/index.html b/files/tr/mozilla/add-ons/sdk/index.html new file mode 100644 index 0000000000..0cfe0d7301 --- /dev/null +++ b/files/tr/mozilla/add-ons/sdk/index.html @@ -0,0 +1,81 @@ +--- +title: Add-on SDK +slug: Mozilla/Add-ons/SDK +translation_of: Archive/Add-ons/Add-on_SDK +--- +

Add-on SDK ile standart web teknolojilerini kullanarak Firefox eklentileri üretebilirsiniz. SDK, eklentileri yaratabileceğiniz JavaScript API'lerini ve eklentileri oluşturma, çalıştırma, test etme ve paketleme araçlarını içerir.

+ +
+

Öğreticiler

+ +
+ + +
+
+
Kullanıcı arayüzü üretme bileşenleri
+
Kullanıcı arayüzü birimlerini yaratın. Mesela  araç çubuğu butonları, içerik menüleri, menü nesneleri ve iletiler.
+
Web sayfalarını modifiye edin.
+
Modify pages matching a URL pattern or dynamically modify a particular tab.
+
Putting it together
+
Walkthrough of the Annotator example add-on.
+
+
+
+ +
+

Guides

+ +
+
+
+
Contributor's guide
+
Learn how to start contributing to the SDK, and about the most important idioms used in the SDK code, such as modules, classes and inheritance, private properties, and content processes.
+
SDK infrastructure
+
Aspects of the SDK's underlying technology: modules, the Program ID, and the rules defining Firefox compatibility.
+
Content scripts
+
A detailed guide to working with content scripts.
+
+
+ +
+
+
SDK idioms
+
The SDK's event framework and the distinction between add-on scripts and content scripts.
+
XUL migration
+
A guide to porting XUL add-ons to the SDK. This guide includes a comparison of the two toolsets and a working example of porting a XUL add-on.
+
Multiprocess Firefox and the SDK
+
How to check whether your add-on is compatible with multiprocess Firefox, and fix it if it isn't.
+
+
+
+ +
+

Reference

+ +
+
+
+
High-Level APIs
+
Reference documentation for the high-level SDK APIs.
+
Tools reference
+
Reference documentation for the jpm tool used to develop, test, and package add-ons, the console global used for logging, and the package.json file.
+
+
+ +
+
+
Low-Level APIs
+
Reference documentation for the low-level SDK APIs.
+
+
+
diff --git a/files/tr/mozilla/add-ons/sdk/tools/index.html b/files/tr/mozilla/add-ons/sdk/tools/index.html new file mode 100644 index 0000000000..8c67b4644e --- /dev/null +++ b/files/tr/mozilla/add-ons/sdk/tools/index.html @@ -0,0 +1,14 @@ +--- +title: Tools +slug: Mozilla/Add-ons/SDK/Tools +tags: + - Add-on SDK + - CFX + - JPM + - NeedsTranslation + - TopicStub +translation_of: Archive/Add-ons/Add-on_SDK/Tools +--- +

Articles listed here provide a reference for the SDK's tools:

+ +

{{ LandingPageListSubpages ("/en-US/Add-ons/SDK/Tools", 7) }}

diff --git a/files/tr/mozilla/add-ons/sdk/tools/package_json/index.html b/files/tr/mozilla/add-ons/sdk/tools/package_json/index.html new file mode 100644 index 0000000000..7b395a2fa1 --- /dev/null +++ b/files/tr/mozilla/add-ons/sdk/tools/package_json/index.html @@ -0,0 +1,323 @@ +--- +title: package.json +slug: Mozilla/Add-ons/SDK/Tools/package_json +translation_of: Archive/Add-ons/Add-on_SDK/Tools/package_json +--- +

{{AddonSidebar}}

+ +

package.json dosyası eklentiniz için manifesto görevi görür, sadece Add-ons Manager'daki (Eklenti Yöneticisi) sunum için betimleyici bilgileri değil, eklentiniz için diğer gerekli meta bilgilerini de içerir.

+ +

Some of its entries, such as icon, name, and description, have direct analogues in the install manifest format, and entries from package.json are written into the install manifest when the add-on is built using jpm xpi.

+ +

Others, such as lib, permissions, and preferences, represent instructions to the jpm tool itself to generate and include particular code and data structures in your add-on.

+ +

Manifest oluşturma

+ +

The package.json file is initially generated in your add-on's root directory the first time you run jpm init. It looks like this (assuming the add-on's directory is "my-addon"):

+ +
{
+  "name": "my-addon",
+  "title": "my-addon",
+  "id": "jid1-1FERGV45e4f4f",
+  "description": "a basic add-on",
+  "author": "",
+  "license": "MPL-2.0",
+  "version": "0.1"
+}
+ +

If you are using the new jpm tool, you can easily access manifest data from package.json by requiring it like any other module:

+ +
var title = require("./package.json").title;
+ +

Key reference

+ +

package.json may contain the following keys:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
author +

The name of the package's original author; this could be the name of a person or a company. Defaults to an empty string. It may include a optional URL in parentheses and an email address in angle brackets.

+ +

This value will be used as the add-on's em:creator element in the install.rdf file generated by cfx.

+ +
Note: jpm supports NodeJS people fields.
+
contributors +

An array of additional author strings, identifying other contributors to the add-on.

+ +

These values will be used as the add-on's em:contributor elements in its install.rdf.

+ +
Note: This is deprecated along with cfx; it's not available when using jpm.
+
dependencies +

A string or an array of strings specifying the names of packages that this add-on requires in order to function properly.

+
description +

The add-on's description; this is a human-readable message describing what the add-on does. This defaults to the text "a basic add-on".

+ +

This value will be used as the add-on's em:description element in its install.rdf.

+
engines +

Object with supported applications (key) and required version numbers (value). The version number can both specify a minimum and maximum version separated by a space.

+ +
    +
  • firefox: Firefox Desktop
  • +
  • fennec: Firefox for Android
  • +
  • thunderbird: Thunderbird
  • +
  • seamonkey: SeaMonkey
  • +
  • Any application UUID
  • +
+ +

Example:

+ +
+  "engines": {
+    "firefox": ">=38.0a1",
+    "fennec": ">=38.0a1"
+  }
+
fullName {{deprecated_inline}} +
Note: This is deprecated along with cfx; it's not available when using jpm.
+ +

The full name of the package. It can contain spaces.

+ +

If this key is present, its value will be used as the add-on's em:name element in its install.rdf.

+
harnessClassID {{deprecated_inline}} +
Note: This is deprecated along with cfx; it's not available when using jpm.
+ +

String in the GUID format.

+ +

This is used as a classID of the "harness service" XPCOM component. Defaults to a random GUID generated by cfx.

+
homepage +

The URL of the add-on's website.

+ +

This value will be used as the add-on's em:homepageURL element in its install.rdf.

+
icon +

The path to an image file containing the icon for the add-on. Optional: you can have no icon field in package.json and put your icon named "icon.png" in the root directory of your add-on. If no icon is specified, the standard add-on icon will be used by default.

+ +
+

When using jpm, using a relative path to the data directory (to make it re-usable for add-on HTML content) does not work.

+ +

You can generate the URL to your add-on icon in the data directory using the URL format below, where "your-addon-name" is the value in the name field of package.json.

+ +

resource://@your-addon-name/data/your-icon-name.png

+
+ +

This value will be used as the add-on's em:iconURL element in its install.rdf.

+ +

The icon may be up to 48x48 pixels in size. A larger icon is will work, but may either scaled and possibly distorted) or might break parts of Firefox UI. (If you test this, please add the result here.)

+ +

This can also be an object with the image size as key and the (absolute) location of the image as value. JPM looks for the sizes 64, 48 and 32.

+
icon64 {{deprecated_inline}} +
+

Note: This is deprecated along with cfx; it's not available when using jpm.

+
+ +

The path to an image containing the large icon for the add-on. Defaults to icon64.png. If you don't provide an icon here, the same icon as specified by icon will be used.

+ +

This value will be used as the add-on's em:icon64URL element in its install.rdf.

+ +

The icon may be up to 64x64 pixels in size.

+
id +

A globally unique identifier for the add-on.

+ +

This value will be used as the add-on's em:id element in its install.rdf.

+ +

See the Program ID documentation.

+
lib +

String representing the top-level module directory provided in this add-on. Defaults to "lib".

+ +
+

Note: This is deprecated along with cfx and is not available when using jpm.

+
+
license +

The name of the license under which the add-on is distributed, with an optional URL in parentheses. Defaults to "MPL-2.0".

+ +
+

Note: It is recommended that you use an SPDX license ID.

+
+
locales +

An object holding JSON objects referenced by a locale name that use the following keys: title, description and homepage. These JSON objects will be used to localizations for the add-on's meta data shown within the Add-ons Manager.

+ +

See the documentation for how to localize the add-on's meta data.

+
main +

A string representing the name of a program module that is located in one of the top-level module directories specified by lib. Defaults to "index.js".

+
name +

The add-on's name. This name cannot contain spaces or periods, and defaults to the name of the parent directory.

+ +

When the add-on is built as an XPI, if the fullName and title keys are not present, name is used as the add-on's em:name element in its install.rdf.

+
packages +
+

Note: This is deprecated along with cfx and is not available when using jpm.

+
+ +

A string pointing to a directory containing additional packages. Defaults to "packages".

+
permissions +

A set of permissions that the add-on needs.

+ +

private-browsing: a boolean indicating whether or not the add-on supports private browsing. If this value is not true or is omitted, then the add-on will not see any private windows or objects, such as tabs, that are associated with private windows. See the documentation for the private-browsing module.

+ +

cross-domain-content: a list of domains for which content scripts are given cross-domain privileges to access content in iframes or to make XMLHTTPRequests. See the documentation for enabling cross-domain content scripts.

+ +

multiprocess: a Boolean value declaring whether this add-on is, or is not, compatible with multiprocess Firefox.

+ +
+

Note the multiprocess permission is not supported by cfx.

+
+
preferences +

An array of JSON objects that use the following keys: name,type, value, title, and description. These JSON objects will be used to create a preferences interface for the add-on in the Add-ons Manager.

+ +

See the documentation for the simple-prefs module.

+
preferences-branchUse this to specify an alternative branch for your add-on's simple-prefs. See "Simple-prefs in the preferences system" for more details.
title +

The human-readable title of the package; this can contain spaces.

+ +

If this key is present, its value will be used as the add-on's em:name element in its install.rdf.

+
translators +

An array of strings listing the people who contributed to the localization of this add-on.

+ +

These values will be used as the add-on's em:translator elements in its install.rdf.

+ +
Note: jpm supports NodeJS people fields.
+
unpack +

Same as the unpack in an install.rdf file.

+ +

Useful when the extension contains binaries.

+
updateKey +

Same as the updateKey in an install.rdf file.

+ +

See Supporting updates for self-hosted add-ons.

+ +
+

Note: This key is only available with jpm.

+
+
+

Same as the updateLink for an update.rdf file. Previously was --update-link in cfx.

+ +

See Supporting updates for self-hosted add-ons.

+ +
+

Note: This key is only available with jpm.

+
+
updateURL +

Same as the updateURL for an install.rdf file.

+ +

See Supporting updates for self-hosted add-ons.

+ +
+

Note: This key is only available with jpm.

+
+
version +

String representing the version of the add-on. Defaults to "0.0.1".

+ +

This value is used as the add-on's em:version element in its install.rdf.

+ +
+

Note: For jpm the version must be a valid semver.

+
+
+ +

 

diff --git a/files/tr/mozilla/add-ons/sdk/tutorials/getting_started_(jpm)/index.html b/files/tr/mozilla/add-ons/sdk/tutorials/getting_started_(jpm)/index.html new file mode 100644 index 0000000000..20e08ba28f --- /dev/null +++ b/files/tr/mozilla/add-ons/sdk/tutorials/getting_started_(jpm)/index.html @@ -0,0 +1,174 @@ +--- +title: Başlarken(jpm) +slug: Mozilla/Add-ons/SDK/Tutorials/Getting_Started_(jpm) +translation_of: Archive/Add-ons/Add-on_SDK/Tutorials/Getting_Started_(jpm) +--- +

{{AddonSidebar}}

+ +
+

The Add-on SDK includes a command-line tool that you use to initialize, run, test, and package add-ons. The current tool is called jpm, and is based on Node.js. It replaces the old cfx tool.

+ +

You can use jpm from Firefox 38 onwards.

+ +

This article describes how to develop using jpm.

+
+ +

This tutorial walks through creating a simple add-on using the SDK.

+ +

Ön koşullar

+ +

SDK kullanarak Firefox eklentisi oluşturmak için şu şartların sağlanması gerekir:

+ + + +

Boş bir eklenti başlatma

+ +

Komut satırında, yeni bir dizin oluşturun. Dizine gidin, jpm init komutunu verin ve enter'a basın:

+ +
+

mkdir komutu yeni bir dizin oluşturur. cd komutu ise belirtilen dizine gider.

+
+ +
mkdir eklentim
+cd eklentim
+jpm init
+
+ +

 

+ +

Sizden eklentiniz hakkındaki bilgileri sağlamanız istenecektir: bu bilgiler eklentinizin package.json  dosyasını oluşturmak için kullanılır. Enter'a basın ve varsayılan değerleri kabul edin (Daha sonra package.json dosyasından bu verileri değiştirebilirsiniz). jpm init hakkında daha fazla bilgi için jpm komut referansı adresine bakınız

+ +

İstenilen değerleri girdikten veya varsayılan değerleri atadıktan hemen sonra, "package.json" dosyasındaki tüm içerik görüntülenir ve size eklentiniz hakkındaki bu bilgileri kabul edip etmediğiniz sorulur. Devam edebilmek için istenilen komut ile kabul edin.

+ +

Eklentiyi hazır hale getirme

+ +

Şimdi eklentinizin kodunu yazabilirsiniz. Unless you've changed the value of "entry point" ("main" in package.json), this goes in "index.js" file in the root of your add-on. This file was created for you in the previous step. Open it and add the following code:

+ +
var buttons = require('sdk/ui/button/action');
+var tabs = require("sdk/tabs");
+
+var button = buttons.ActionButton({
+  id: "mozilla-link",
+  label: "Visit Mozilla",
+  icon: {
+    "16": "./icon-16.png",
+    "32": "./icon-32.png",
+    "64": "./icon-64.png"
+  },
+  onClick: handleClick
+});
+
+function handleClick(state) {
+  tabs.open("http://www.mozilla.org/");
+}
+
+ +
+

Note that "entry point" defaults to "index.js" in jpm, meaning that your main file is "index.js", and it is found directly in your add-on's root.

+ +

In cfx, the entry point defaults to "main.js", and is located in the "lib" directory under the add-on's root.

+
+ +

Kaydedin.

+ +

Sonra, eklenti dizinine "data" isimli bir klasör oluşturun,

+ +
mkdir data
+
+ +

ve şu üç ikonu "data" klasörüne kaydedin:

+ + + + + + + + + + + + + + + + +
icon-16.png
icon-32.png
icon-64.png
+ +

Komut satırıne geri dönün ve şu komutu verin:

+ +
jpm run
+ +

Bu jpm komutu, yaptığınız bu temel eklentinin hazır bir örneğini Firefox tarayıcınızda açacaktır.

+ +

If Firefox can not be located, you may need to provide the path to it (example in Ubuntu):

+ + +
jpm run -b /usr/bin/firefox
+ +

Firefox açıldığında, tarayıcının sağ üst köşesinde Firefox logosu görülecektir. Logoya tıkladığınızda, tarayıcıda http://www.mozilla.org/ adresine giden yeni bir sekme açılır ve eklenti hazırdır.

+ +

It uses two SDK modules: the action button module, which enables you to add buttons to the browser, and the tabs module, which enables you to perform basic operations with tabs. In this case, we've created a button whose icon is the Firefox icon, and added a click handler that loads the Mozilla home page in a new tab.

+ +

Try editing this file. For example, we could change the page that gets loaded:

+ +
var buttons = require('sdk/ui/button/action');
+var tabs = require("sdk/tabs");
+
+var button = buttons.ActionButton({
+  id: "mozilla-link",
+  label: "Visit Mozilla",
+  icon: {
+    "16": "./icon-16.png",
+    "32": "./icon-32.png",
+    "64": "./icon-64.png"
+  },
+  onClick: handleClick
+});
+
+function handleClick(state) {
+  tabs.open("https://developer.mozilla.org/");
+}
+ +

At the command prompt, execute jpm run again. This time clicking it takes you to https://developer.mozilla.org/.

+ +

Packaging the add-on

+ +

When you've finished the add-on and are ready to distribute it, you'll need to package it as an XPI file. This is the installable file format for Firefox add-ons. You can distribute XPI files yourself or publish them to https://addons.mozilla.org so other users can download and install them.

+ +

To build an XPI, just execute the command jpm xpi from the add-on's directory:

+ +
jpm xpi
+
+ +

You should see a message like:

+ +
JPM info Successfully created xpi at /path/to/my-addon/@my-addon-0.0.1.xpi
+
+ +

To test that this worked, try installing the XPI file in your own Firefox installation. You can do this by pressing the Ctrl+O key combination (Cmd+O on Mac) from within Firefox, or selecting the "Open" item from Firefox's "File" menu. This will bring up a file selection dialog: navigate to the "@my-addon.xpi" file, open it and follow the prompts to install the add-on.

+ +

Note that Firefox by default requires add-ons, even locally developed ones, to be signed. After installation they'll show up disabled in the list of installed add-ons, noting the missing signature. During development, or if you don't plan to distribute, you can open about:config and set xpinstall.signatures.required to false to run it unsigned. This setting applies to any add-on, so take extra care to not accidently install a malicious one from elsewhere.

+ +

To distribute your add-on, submit the XPI file to addons.mozilla.org or run jpm sign if you wish to distribute the add-on on your own server.

+ +

Özet

+ +

In this tutorial we've built and packaged an add-on using three commands:

+ + + +

These are the three main commands you'll use when developing SDK add-ons. There's comprehensive reference documentation covering all the commands you can use and all the options they take.

+ +

The add-on code itself uses two SDK modules, action button and tabs. There's reference documentation for all the high-level and low-level APIs in the SDK.

+ +

What's next?

+ +

To get a feel for some of the things you can do with the SDK APIs, try working through some of the tutorials.

diff --git a/files/tr/mozilla/add-ons/sdk/tutorials/index.html b/files/tr/mozilla/add-ons/sdk/tutorials/index.html new file mode 100644 index 0000000000..56ae76c9d4 --- /dev/null +++ b/files/tr/mozilla/add-ons/sdk/tutorials/index.html @@ -0,0 +1,158 @@ +--- +title: Tutorials +slug: Mozilla/Add-ons/SDK/Tutorials +translation_of: Archive/Add-ons/Add-on_SDK/Tutorials +--- +
+

Support for extensions using XUL/XPCOM or the Add-on SDK was removed in Firefox 57, released November 2017. As there is no supported version of Firefox enabling these technologies, this page will be removed by December 2020.

+ +

Add-ons using the techniques described in this document are considered a legacy technology in Firefox. Don't use these techniques to develop new add-ons. Use WebExtensions instead. If you maintain an add-on which uses the techniques described here, consider migrating it to use WebExtensions.

+ +

Starting from Firefox 53, no new legacy add-ons will be accepted on addons.mozilla.org (AMO) for desktop Firefox and Firefox for Android.

+ +

Starting from Firefox 57, only extensions developed using WebExtensions APIs will be supported on Desktop Firefox and Firefox for Android.

+ +

Even before Firefox 57, changes coming up in the Firefox platform will break many legacy extensions. These changes include multiprocess Firefox (e10s), sandboxing, and multiple content processes. Legacy extensions that are affected by these changes should migrate to use WebExtensions APIs if they can. See the "Compatibility Milestones" document for more information.

+ +

A wiki page containing resources, migration paths, office hours, and more, is available to help developers transition to the new technologies.

+
+ +

This page lists practical hands-on articles about how to accomplish specific tasks using the SDK.

+ +
+

Başlarken

+ +
+
+
+
Yükleme
+
Eklentileri geliştirmek için kullanacağınız jpm aracı nasıl yüklenir.
+
+ +
+
Sorun giderme
+
+
+
Ortak sorunları tespit etmek ve daha fazla yardım almak için bazı göstericiler.
+
+
+
+
+ +
+
+
Başlarken
+
jpm kullanarak, SDK ile basit bir eklenti yaratmanın gidiş yolu.
+
+
+
+ +
+

Kullanıcı Arayüzü Yaratma

+ +
+
+
+
Araç çubuğu butonu ekleme
+
Attach a button to the Firefox Add-on toolbar.
+
Firefox'a bir menü nesnesi ekleme
+
Add items to Firefox's main menus.
+
+
+ +
+
+
Bir açılır pencere gösterme
+
Display a popup dialog implemented with HTML and JavaScript.
+
Bir içerik menüsü nesnesi ekleme
+
Add items to Firefox's context menu.
+
+
+
+ +
+

Interact with the browser

+ +
+
+
+
Open a web page
+
Open a web page in a new browser tab or window using the tabs module, and access its content.
+
Listen for page load
+
Use the tabs module to get notified when new web pages are loaded, and access their content.
+
+
+ +
+
+
Get the list of open tabs
+
Use the tabs module to iterate through the currently open tabs, and access their content.
+
+
+
+ +
+

Modify web pages

+ +
+
+
+
Modify web pages based on URL
+
Create filters for web pages based on their URL: whenever a web page whose URL matches the filter is loaded, execute a specified script in it.
+
+
+ +
+
+
Modify the active web page
+
Dynamically load a script into the currently active web page.
+
+
+
+ +
+

Development techniques

+ +
+
+
+
Logging
+
Log messages to the console for diagnostic purposes.
+
Creating reusable modules
+
Structure your add-on in separate modules to make it easier to develop, debug, and maintain. Create reusable packages containing your modules, so other add-on developers can use them too.
+
Unit testing
+
Writing and running unit tests using the SDK's test framework.
+
Chrome authority
+
Get access to the Components object, enabling your add-on to load and use any XPCOM object.
+
Creating event targets
+
Enable the objects you define to emit their own events.
+
+
+ +
+
+
Listen for load and unload
+
Get notifications when your add-on is loaded or unloaded by Firefox, and pass arguments into your add-on from the command line.
+
Using third-party modules (jpm)
+
Install and use additional modules which don't ship with the SDK itself.
+
Localization
+
Writing localizable code.
+
Mobile development
+
Develop add-ons for Firefox Mobile on Android.
+
Add-on Debugger
+
Debug your add-on's JavaScript.
+
+
+
+ +
+

Putting it together

+ +
+
+
+
Annotator add-on
+
A walkthrough of a relatively complex add-on.
+
+
+
diff --git a/files/tr/mozilla/developer_guide/index.html b/files/tr/mozilla/developer_guide/index.html new file mode 100644 index 0000000000..24fcdd9a32 --- /dev/null +++ b/files/tr/mozilla/developer_guide/index.html @@ -0,0 +1,107 @@ +--- +title: Developer guide +slug: Mozilla/Developer_guide +tags: + - Developing Mozilla + - Landing + - Mozilla + - NeedsTranslation + - TopicStub +translation_of: Mozilla/Developer_guide +--- +

Mozilla projesine katkıda bulunmanın birçok yolu vardır: kodlama, test etme, derleme sürecini ve araçlarını iyileştirme veya belgelere katkıda bulunma. Bu kılavuz, yalnızca bir Mozilla katılımcısı olarak başlamanıza yardımcı olmayacak, aynı zamanda deneyimli bir katılımcı olsanız bile başvurmak için yararlı bulacağınız bilgiler sağlar.

+ +
+
+

Doküman konuları

+ +
+
Getting Started
+
Mozilla'ya dahil olmak için adım adım başlangıç ​​kılavuzu.
+
For new Mozilla developers
+
Yeni Mozilla geliştiricileri için özellikle yararlı olan bir makale dizini.
+
+ +
+
Working with Mozilla Source Code
+
A code overview, how to get the code, and the coding style guide.
+
Build Instructions
+
How to build Firefox, Thunderbird, SeaMonkey, or other Mozilla applications.
+
Editor Configuration
+
Tips on setting up your favorite IDE or text editor to work with Mozilla projects.
+
Development process overview
+
An overview of the entire Mozilla development process.
+
Managing multiple profiles
+
When working with prerelease versions of Firefox, it's often helpful to have multiple Firefox profiles, such as one for each channel, or for different kinds of testing.
+
Automated Testing
+
How to run Mozilla's automated tests, and how to write new tests.
+
How to submit a patch
+
After getting your patch written, you need to get it checked into the tree. This article explains the review process and how to get your patch approved.
+
Getting documentation updated
+
How to ensure that documentation is kept up to date as you develop.
+
Mozilla modules and module ownership
+
This article provides information about Mozilla's modules, what the role of a module owner is, and how module owners are selected.
+
Code snippets
+
Useful code samples for a wide variety of things you might need to figure out how to do.
+
Mozilla development strategies
+
Tips for how to make the most of your time working on the Mozilla project.
+
Debugging
+
Find helpful tips and guides for debugging Mozilla code.
+
Performance
+
Performance guides and utilities to help you make your code perform well (and to play nicely with others).
+
The Mozilla platform
+
Information about the workings of the Mozilla platform.
+
Adding APIs to the navigator object {{ gecko_minversion_inline("9.0") }}
+
How to augment the {{ domxref("window.navigator") }} object with additional APIs.
+
Interface Compatibility
+
Guidelines for modifying scriptable and binary APIs in Mozilla.
+
Customizing Firefox
+
Information about creating customized versions of Firefox.
+
Task-Graph Generation
+
What controls the jobs that run on a push to version control?  How can you change that?
+
Virtual ARM Linux environment
+
How to set up an ARM emulator running Linux for testing ARM-specific, but not necessarily platform-specific, code. Useful for mobile developers.
+
Obsolete Build Caveats and Tips
+
A place to put build tips which are no longer relevant to building the latest version of the code from main but are relevant when building old codebases.
+
+
+ +
+

Tools

+ +
+
Bugzilla
+
The Bugzilla database used to track issues for Mozilla projects.
+
DXR
+
Next generation of searching Mozilla's source code. In active development.
+
SearchFox
+
Another option for Mozilla code searching. Indexes JS as well as C++, includes blame capabilities. In active development.
+
Mercurial
+
The distributed version-control system used to manage Mozilla's source code.
+
Mozilla build VM
+
A VirtualBox compatible virtual machine configured with all the software needed to build and work on Firefox.
+
TaskCluster
+
TaskCluster is the task execution framework that supports Mozilla's continuous integration and release processes.
+
Treeherder
+
Treeherder shows the status of the tree (whether or not it currently builds successfully).  Check this before checking in and out, to be sure you're working with a working tree.
+
Perfherder
+
Perfherder is used to aggregate the results of automated performance tests against the tree.
+
Crash tracking
+
Information about the Socorro crash reporting system.
+
Callgraph
+
A tool to help perform static analysis of the Mozilla code by generating callgraphs automatically.
+
Developer forums
+
A topic-specific list of discussion forums where you can talk about Mozilla development issues.
+
Mozilla Platform Development Cheat Sheet
+
Brian Bondy's list of frequently referenced information for platform developers.
+
Firefox development video tutorials
+
Brian Bondy's video tutorials on Firefox development.
+
+
+
+ + + +
+
+
diff --git a/files/tr/mozilla/developer_guide/kaynak_kod/index.html b/files/tr/mozilla/developer_guide/kaynak_kod/index.html new file mode 100644 index 0000000000..9e3fc517df --- /dev/null +++ b/files/tr/mozilla/developer_guide/kaynak_kod/index.html @@ -0,0 +1,55 @@ +--- +title: Mozilla kaynak kodu ile çalışmak +slug: Mozilla/Developer_guide/Kaynak_Kod +tags: + - Firefox + - Geliştirme + - Kaynak + - Mozilla + - kaynak kodu + - thunderbird +translation_of: Mozilla/Developer_guide/Source_Code +--- +

Aşağıdaki makale Mozilla kaynak koduna erişmenize, keşfetmenize ve önereceğiniz değişiklikleri ağaca nasıl entegre edeceğiniz konusunda yardımcı olacak.

+ +
+
+
+
Mercurial kullanarak kaynak koduna erişim sağlayın
+
Eğer Mozilla projesine katkı sağlayacaksanız, en iyi yöntem versiyon kontrol deposudur. Buradan nasıl yapılacağını öğrenin.
+
Önceden hazırlanmış Mozilla sanal makinesi
+
Başlamanın en kolay yolu: önceden programlama araçları yüklü olan bir sanal makine kullanın. Sadece sanal makineyi açıp programlamanıza bakın!
+
Kaynak kodunu indirin
+
Belli bir Mozilla ürününün belli bir sürümü için kaynak kodunu indirecekseniz, bir kaynak kod arşivi indirebilirsiniz.
+
+

Mozilla kaynak kodunu çevrimiçi olarak aramak veya içine bakmak

+
+
MXR, Mozilla'nın kaynak kodu için çevrimiçi arama ve gezinme aracıdır. Bu, kod indirmenin sağlıklı bir yöntemi değildir, fakat onu aramanın iyi bir yoludur.
+
Mozilla kaynak kodunda gezinmek
+
Mozilla kod ağacındaki çeşitli klasörler ve onları nasıl bulacağınız hakkında bilgi edinin.
+
Yeni gelenler için bug'lar
+
Eğer projeye yeniyseniz ve çalışacak bir şeyler arıyorsanız, buraya bakın.
+
+
+ +
+
+
Mozilla kod stili rehberi
+
Bu kod stili nasıl kodunuzu formatlamanız gerektiğini gösterir, böylece eleştirmenler tarafından alay edilmezsiniz.
+
Arayüz programlama rehberi
+
XPCOM arayüzlerini nasıl oluşturacağınız ve güncelleyeceğiniz hakkında rehber ve dokümanlar.
+
Firefox kod tabanı: CSS rehber makaleleri
+
Bu dokümanlar size Firefox kod tabanındaki CSS'in nasıl yazılacağı hakkında bilgi sağlar, Firefox'un front-end mühendisleri için kayda değer biçimde uygundur.
+
SVG temizleme rehberi
+
Yeni SVG'leri doldurmak için en iyi rehberler ve pratikleri içerir. 
+
Sunucuları deneyin
+
Mozilla ürünleri en az üç platformda çalışmak üzere yapılır. Hepsine erişiminiz yoksa, deneme sunucularını kullanıp yamalarınızı deneyebilir ve testlerden geçtiğinize emin olabilirsiniz.
+
Yama oluşturmak
+
Bir kere Mozilla koduna değişiklik yaptığınız zaman çalıştığından emin olduktan sonra yapmanız gereken şey bir yama yapmak ve inceleme için sunmaktır. 
+
Kaynak koda erişim izni almak
+
Çoğunluğa, gururlu insanlara, izin alan kişilere katılmaya hazır mısınız? Mozilla koduna check-in erişim sağlamayı inceleyin.
+
CVS'den eski Mozilla kodlarına erişim sağlayın
+
Mozilla kaynak kodunun eski versiyonu NSS ve NSPR'nin yeni versiyonları gibi, CVS deposunda durmaktadır. Ayrıntılı bilgi için bu başlığa göz atın.
+
+
+
diff --git a/files/tr/mozilla/eklentiler/index.html b/files/tr/mozilla/eklentiler/index.html new file mode 100644 index 0000000000..528c0ed7cf --- /dev/null +++ b/files/tr/mozilla/eklentiler/index.html @@ -0,0 +1,107 @@ +--- +title: Eklentiler +slug: Mozilla/Eklentiler +tags: + - Eklentiler + - Landing + - Mozilla + - uzantılar +translation_of: Mozilla/Add-ons +--- +
Mozilla uygulamalarını değiştirin ve genişletin.
+ +

Eklentiler, Gecko-tabanlı uygulamalara (Firefox,SeaMonkey ve Thunderbird gibi) yeni fonksiyonellikler eklerler. İki çeşit ana eklenti tipi vardır: Uzantılar, uygulamaya yeni özellikler eklerler, ve Temalar ise kullanıcı arayüzünü modifiye ederler.

+ +

Her iki eklenti tipi için Mozilla, AMO diye bilinen, addons.mozilla.org'da bir dizinde çalışır. AMO'ya gönderdiğiniz eklentiler, gözden geçirilir ve incelemeyi geçtikten sonra  kullanıcılara uygun hale gelir. Eklentiler AMO'ya gönderilmek zorunda değildir, ama gönderilirse, kullanıcılar gözden geçirilmiş eklentilere güvenebilirler ve kullanışlı eklentiler için bir kaynak olan AMO görünürlüğünden faydalanabilirsiniz.

+ +

Eklentiler, onları barındıran uygulamanın davranışını büyük ölçüden etkileyebilirler. Bu sebeple eklentilerin, kullanıcılara iyi bir deneyim sağlamasına yardım etmek için kuralları geliştirdik.Bu kurallar, eklenti addons.mozilla.org'da barındırılsın ya da barındırlmasın, bütün eklentiler için geçerlidir.

+ +
+

Uzantılar

+ +

Uzantılar, Firefox ve Thunderbird gibi Mozilla uygulamarına yeni fonksiyonellikler eklerler. Sekmeleri yönetmek için farklı bir yol gibi yeni özellikler ekleyebilir veya belirli web sitelerinin kullanılabilirliğini ve güvenliğini atırmak için web içeriğini değiştirebilirler.

+ +

Uzantıları yaratabileceğiniz üç farklı teknik vardır: Add-on SDK-tabanlı uzantılar, manüel olarak önyüklenmiş yeniden başlatma gerektirmeyen uzantılar, legacy uzantılar.

+ + + +
+

WebExtensions

+ +

Biz, WebExtensions olarak adlandırılan ve Firefox için ve aynı zaman Google ve Opera tarafından kullanılanılan sistemlerle büyük ölçüde uyumlu olacak, eklenti geliştirmenin yeni bir yolu olan bir sistem üzerinde çalışıyoruz.

+ +

Gelecekte, Firefox için tercih edilen bir uygulama geliştirme yolu olacaktır.

+ +

Şu anda bu uygulama deneyseldir, ama yine de bir göz atmak isterseniz see the docs here bağlantısından dökümanlara ulaşabilirsiniz.

+
+ +

Eğer yapabiliyorsanız, yeniden başlatma gerektirmeyen mekanızmayı kullanan Add-on SDK-tabanlı tekniği kullanmak uygundur, eğer bu teknik sizin ihtiyacınız için yeterli değilse, manuel olanı, JavaScript API'leri kullanmayan ikinci yöntemi uygulayın.

+ +

Teknik seçiminde daha fazla bilgi için, okuyun comparison.

+ +

Hata ayıklama

+ +

Eklenti geliştirmede, hangi satırlarda hatalar yapıldığını görmek hata ayıklama olmadan mümkün değildir. Masaüstü için Setting Up a Development Environment, mobil için(Android/iOS) Debugging Firefox for Android with WebIDE 'ya göz atın. Mobil cihazlarda meydana gelen hataları yakalamak için masaüstü tarayıcı araçlarından WebIDE kullanılır.

+ +
+
+

Önerilen Pratikler

+ +

Uzantınızı hangi teknikle geliştirdiğinizin önemi olmamasına rağmen, mümkün olduğunca iyi bir kullanıcı deneyimi sağlaması için birkaç yönerge vardır.

+ +
+
Performans
+
Uzantınızın hızlı, duyarlı ve bellek-tasarruflu olmasını sağlamak için.
+
Güvenlik
+
Zararlı web sitelerinin uzantınızı etkisi altına almamasını sağlamak için.
+
Etiquette
+
uzantınızın diğer uzantılar ile uyum içerisinde çalışması için.
+
+
+ +
+

Uygulama Özel

+ +

Çoğu dokümantasyon, masaüstü Firefox için geliştirme yapıyor olduğunuz varsayar. Eğer diğer bir Gecko tabanlı uygulama için geliştirme yapıyorsanız, bilmeniz gereken başlıca farklılıklar vardır.

+ +
+
Thunderbird
+
Thunderbird mail istemcisi için uzantılar geliştirmek için.
+
Firefox Android
+
Firefox Android için uzantılar geliştirmek için.
+
SeaMonkey
+
SeaMonkey yazılım takımı için uzantılar geliştirmek için.
+
+
+
+ +
+

Temalar

+ +

Temalar, kullanıcı arayüzünü ihtiyaca göre düzenleyebileceğiniz eklentilerdir. İki çeşit tema vardır: Lightweight temalar ve complete temalar.

+ +
+
+

Lightweight temalar, diğerine göre uygulanması daha basittir, fakat sağladığı düzenleme alanı çok limitlidir.

+
+ +
+

Complete temalar ile kullanıcı arayüzünde daha derin modifikasyonlar yapabilirsiniz. Complete temaların dökümantasyonu güncel değildir, ancak olası güncelleştirmeler aynı linke bağlıdır.

+
+
+ +
+

Diğer çeşit eklentiler

+ +

Search engine plugins basit ve özel bir çeşit eklenti tipidir: arama alanına yeni bir arama motoru eklerler.

+ +

Plugins help the application understand web content that it does not natively support. NPAPI plugins are a legacy technology and new sites should not use them. In general, plugins are not available on most modern mobile systems including, and websites should transition away from using plugins.

+ +
{{AddonSidebar}}
diff --git "a/files/tr/mozilla/eklentiler/webextensions/deneyiminize_web-ext_ile_ba\305\237lay\304\261n/index.html" "b/files/tr/mozilla/eklentiler/webextensions/deneyiminize_web-ext_ile_ba\305\237lay\304\261n/index.html" new file mode 100644 index 0000000000..810b551b81 --- /dev/null +++ "b/files/tr/mozilla/eklentiler/webextensions/deneyiminize_web-ext_ile_ba\305\237lay\304\261n/index.html" @@ -0,0 +1,335 @@ +--- +title: Deneyiminize web-ext ile başlayın +slug: Mozilla/Eklentiler/WebExtensions/Deneyiminize_web-ext_ile_başlayın +translation_of: Mozilla/Add-ons/WebExtensions/Getting_started_with_web-ext +--- +
{{AddonSidebar}}
+ +

Web-ext bir komut satır aracı olmakla birlikte uygulamaların gelistirmesinde kısmen yardımcı olup bu süreci kolaylaştırmaktadır. Bu Makale web-ext'in yüklenmesi ve çalıştırılması hakkında bilgiler içermektedir.

+ +

Installation

+ +

web-ext bir node.js bazlı (açık kaynaklı, işlem bazlı ve ölçeklenebilir) uygulama olup nodejs/npm aracı ile yükleyebilirsiniz. Web-ext'in yüklenmesi için kullanılması gereken komut:

+ +
npm install --global web-ext
+ +

web-ext requires the current LTS (long-term support) version of NodeJS.

+ +

To test whether the installation worked run the following command, which displays the web-ext version number:

+ +
web-ext --version
+ +

Using web-ext

+ +

Before you start using web-ext locate an example extension to use—if you don't have one, use one from the webextensions-examples repo.

+ +

Testing out an extension

+ +

Test an extension in Firefox by cd'ing into your extension's root directory and entering:

+ +
web-ext run
+ +

This starts Firefox and loads the extension temporarily in the browser, just as you can on the about:debugging page. Note that this web-ext method has the same limitations regarding prompts for permissions and restart features as about:debugging.

+ +

See the run reference guide to learn more.

+ +

Automatic extension reloading

+ +

The run command watches your source files and tells Firefox to reload the extension after you edit and save a file. For example, if you changed the name property in your manifest.json file, Firefox displays the new name. This makes it easy to try out new features because you can see the effect immediately. The automatic reloading feature is active by default, you use it like this:

+ +
web-ext run
+ +

You can also press the r key in the web-ext terminal to trigger an extension reload.

+ +

If you experience unexpected behavior with the reloading feature, please file a bug. You can also disable reloading like this:

+ +
web-ext run --no-reload
+ +
+

Extension reloading is only supported in Firefox 49 or higher.

+
+ +

Testing in different versions of Firefox

+ +

To run your extension in a version of Firefox Desktop other than the default, use the --firefox option to specify a full path to the binary file. Here is an example for Mac OS:

+ +
web-ext run --firefox=/Applications/FirefoxNightly.app/Contents/MacOS/firefox-bin
+ +

On Windows, the path needs to include firefox.exe, for example:

+ +
web-ext run --firefox="C:\Program Files\Mozilla Firefox\firefox.exe"
+ +

See the run command reference to learn more.

+ +

Testing in Firefox 48

+ +

Firefox 48 was the first stable version to use the WebExtension platform, but it doesn't allow web-ext to install an extension remotely. You need to run your extension in Firefox 48 using:

+ +
web-ext run --pre-install
+ +

Testing in Firefox for Android

+ +

To run your extension in Firefox for Android, follow these instructions to set up your computer and device.

+ +

With your device connected to your development computer, run:

+ +
web-ext run --target=firefox-android
+ +

This command displays the device ID for your connected Android device or devices. If you don't see a list of device IDs, make sure you set up the device for development correctly.

+ +

Now, add the device ID to the command:

+ +
web-ext run --target=firefox-android --android-device=<device ID>
+ +

If you've multiple versions of Firefox installed, you may need to choose a specific version. For example:

+ +
web-ext run --target=firefox-android ... --firefox-apk=org.mozilla.firefox
+ +

The first time you run this command, you may need to grant Android permissions for the APK. This is because the command needs read/write access to the device storage, so that Firefox for Android can run on a temporary profile. The web-ext output guides you in how to grant these permissions.

+ +

The web-ext command does not alter any of your existing Firefox for Android preferences or data. To see more information about how web-ext is interacting with your device, run the command with --verbose.

+ +

See the run command reference to learn more.

+ +

Debugging in Firefox for Android

+ +

When using web-ext run to test an extension on Firefox for Android, you'll notice a message like this in the console output:

+ +
You can connect to this Android device on TCP port 51499
+
+ +

This is a remote debugger port that you can connect to with Firefox's developer tools. In this case, you'd connect to host localhost on port 51499.

+ +

See this guide for more information about debugging an extension on Firefox for Android.

+ +

Testing unsigned extensions

+ +

When you execute web-ext run, the extension gets installed temporarily until you close Firefox. This does not violate any signing restrictions. If instead you create a zip file with web-ext build and try to install it into Firefox, you will see an error telling you that the add-on is not signed. You will need to use an unbranded build or use a development build to install unsigned extensions.

+ +

Using a custom profile

+ +

By default, the run command will create a temporary Firefox profile. To run your extension with a specific profile use the --firefox-profile option, like this:

+ +
web-ext run --firefox-profile=your-custom-profile
+ +

This option accepts a string containing the name of your profile or an absolute path to the profile directory. This is helpful if you want to manually configure some settings that will always be available to the run command.

+ +

Keeping profile changes

+ +

The run command does not save any changes made to the custom profile specified by --firefox-profile. To keep changes, add this option:

+ +
web-ext run --keep-profile-changes --firefox-profile=your-custom-profile
+ +

This may be helpful if your extension has many different run states.

+ +
+

This option makes the profile specified by --firefox-profile completely insecure for daily use. It turns off auto-updates and allows silent remote connections, among other things. Specifically, it will make destructive changes to the profile that are required for web-ext to operate.

+
+ +

Packaging your extension

+ +

Once you've tested your extension and verified that it's working, you can turn it into a package for submitting to addons.mozilla.org using the following command:

+ +
web-ext build
+ +

This outputs a full path to the generated .zip file that can be loaded into a browser.

+ +
+

The generated .zip file doesn't work on Firefox without signing or adding applications.gecko.id key into manifest.json.  For more information, please refer WebExtensions and the Add-on ID page.

+
+ +

web-ext build is designed to ignore files that are commonly not wanted in packages, such as .git, node_modules, and other artifacts.

+ +

See the build reference guide to learn more.

+ +

Signing your extension for self-distribution

+ +

As an alternative to publishing your extension on addons.mozilla.org, you can self-host your package file but it needs to be signed by Mozilla first. The following command packages and signs a ZIP file, then returns it as a signed XPI file for distribution:

+ +
web-ext sign --api-key=$AMO_JWT_ISSUER --api-secret=$AMO_JWT_SECRET 
+ +

The API options are required to specify your addons.mozilla.org credentials.

+ + + +
+

If you've listed the extension on addons.mozilla.org, see Signing a test version of a listed extension.

+
+ +

See the sign reference guide to learn more.

+ +

Signing extensions without an explicit ID

+ +

web-ext supports signing extensions that do not declare the applications.gecko.id property in their manifest. The first time you sign an extension without an explicit ID, addons.mozilla.org will generate an ID and web-ext will save it to .web-extension-id in the working directory. You should save the ID file so that you can sign future versions of the same extension. If you lose the ID file, you will have to add back the applications.gecko.id property or use the --id option when signing, for example:

+ +
web-ext sign --api-key=... --api-secret=... --id="{c23c69a7-f889-447c-9d6b-7694be8035bc}"
+ +

Signing in a restricted environment

+ +

If you're working in an environment that restricts access to certain domains, you can try using a proxy when signing:

+ +
web-ext sign --api-key=... --api-secret=... --api-proxy=https://yourproxy:6000
+ +

See the --api-proxy option to learn more.

+ +

The following domains are used for signing and downloading files:

+ + + +

Signing a test version of a listed extension

+ +

If you've listed an extension on addons.mozilla.org, use web-ext to create a signed but unlisted version for testing purposes. For example, you may wish to distribute an alpha or beta version to users for early feedback and testing.

+ +

First, change the version number in your manifest.json so that it is different from the latest listed version. Then, create the unlisted version by using the --channel option like this:

+ +
web-ext sign --channel=unlisted --api-key=... --api-secret=...
+ +

This signs and downloads an XPI file that can be installed into Firefox.

+ +

Once you've finished testing, to publish the extension you must define --channel as listed, as the channel option defaults to the one used previously. So, after incrementing the version in your manifest.json, run:

+ +
web-ext sign --channel=listed --api-key=... --api-secret=...
+ +

This publishes and submits your extension for review as if you had uploaded it to addons.mozilla.org.

+ +
+

Setting --channel=listed for a new version of a listed extension is not well supported. It uploads your new version to addons.mozilla.org as if you'd submitted it manually. However, the command will fail and you'll have to check addons.mozilla.org/developers/addons for the correct status.

+
+ +

See the sign reference guide to learn more.

+ +

Checking for code "lint"

+ +

Before trying out your extension with the run command or submitting your package to addons.mozilla.org, use the lint command to make sure your manifest and other source files do not contain any errors. You can also set strict_min_version in your extension’s manifest file and lint will report on the permissions, manifest keys, and web extension APIs used that are not available in that version. Example:

+ +
web-ext lint
+ +

This uses the addons-linter library to walk through your source code directory and report any errors, such as the declaration of an unknown permission.

+ +

See the lint reference guide to learn more.

+ +

Setting option defaults in a configuration file

+ +

You can specify --config=my-config.js to set default values for any option. Here is an example with the build command:

+ +
web-ext --config=my-config.js build
+ +

The file should be a CommonJS module as understood by NodeJS and must export each configuration value. Here is how you would set the default value of --verbose to true:

+ +
module.exports = {
+  verbose: true,
+};
+ +

If you want to specify options that only apply to a specific command, you nest the configuration under the command name. Here is an example of adding configuration for --overwrite-dest that only applies to the build command as well as --firefox that only applies to the run command:

+ +
module.exports = {
+  // Global options:
+  verbose: true,
+  // Command options:
+  build: {
+    overwriteDest: true,
+  },
+  run: {
+    firefox: 'nightly',
+  },
+};
+ +

To create a configuration key for a command line option, you remove the preceding dashes and convert the name to camel case. As you can see from this example, --overwrite-dest was converted to overwriteDest.

+ +

If an option can be specified multiple times on the command line then you define it as an array. For example, here is how to specify multiple --ignore-files patterns:

+ +
module.exports = {
+  ignoreFiles: [
+    'package-lock.json',
+    'yarn.lock',
+  ],
+};
+ +

web-ext will also try to load its configuration options from a "webExt" property included in the package.json file in the current directory:

+ +
{
+  "name": "an-extension-src-dir-with-a-package-json",
+  "version": "1.0.0",
+  ...
+  "webExt": {
+    "sourceDir": "dist/extension/"
+  }
+}
+
+ +

Automatic discovery of configuration files

+ +

web-ext will load existing configuration files in the following order:

+ + + +

If a home directory config and a local directory config define the same option, the value from the latter file will be used.

+ +

To disable automatic loading of configuration files, set this option:

+ +
web-ext --no-config-discovery run
+ +

To diagnose an issue related to config files, re-run your command with --verbose. This will tell you which config file affected which option value.

+ +

Specifying different source and destination directories

+ +

The preceding commands use default directories for the extension source and artifact creation (for example, built .zip files). The defaults are:

+ + + +

You can specify different source and destination directories using the --source-dir and --artifacts-dir options when running your commands. Their values can be relative or absolute paths, but must always be specified as strings. Here is an example of specifying both options when building an extension:

+ +
web-ext build --source-dir=webextension-examples/notify-link-clicks-i18n --artifacts-dir=zips
+ +

Outputting verbose messages

+ +

To see in detail what web-ext is doing when you run a command, include the --verbose option. For example:

+ +
web-ext build --verbose
+ +

Viewing all commands and options

+ +

You can list all commands and options like this:

+ +
web-ext --help
+ +

You can list options for a specific command by adding it as an argument:

+ +
web-ext --help run
+ +

Detecting temporary installation

+ +

Your extension can detect whether it was installed using web-ext run, rather than as a built and signed extension downloaded from addons.mozilla.org. Listen for the {{WebExtAPIRef("runtime.onInstalled")}} event and check the value of details.temporary.

+ +

Using web-ext from a script

+ +

You can use web-ext as a NodeJS module. Here is more information, with example code.

+ +

See also

+ + diff --git a/files/tr/mozilla/eklentiler/webextensions/eklenti_nedir/index.html b/files/tr/mozilla/eklentiler/webextensions/eklenti_nedir/index.html new file mode 100644 index 0000000000..2b63208d65 --- /dev/null +++ b/files/tr/mozilla/eklentiler/webextensions/eklenti_nedir/index.html @@ -0,0 +1,68 @@ +--- +title: Eklenti nedir? +slug: Mozilla/Eklentiler/WebExtensions/Eklenti_nedir +tags: + - Eklentiler + - Web eklentileri +translation_of: Mozilla/Add-ons/WebExtensions/What_are_WebExtensions +--- +
{{AddonSidebar}}
+ +

 

+ +

Bir eklenti bir web tarayıcısına özellikler ve fonksiyonlar ekler. Eklenti, Html, Css ve Javascript gibi benzer web tabanlı teknolojilerle oluşturulur. Bir web sayfasındaki JavaScript ile aynı web API'larından yararlanabilir, ancak bir uzantının kendi JavaScript API kümesine de erişimi vardır. Bu sizin eklenti ile bir web sayfasında yapabileceğinizden daha fazla şeyi yapabileceğiniz anlamına gelir. İşte yapabileceğiniz şeylere birkaç örnek:

+ +

Bir web sitesini geliştirin veya tamamlayın: Web sitenizden ek tarayıcı içi özellikler veya bilgi sunmak için bir eklenti kullanın. Kullanıcıların, sunduğunuz hizmeti iyileştirmek için ziyaret ettikleri sayfalardan ayrıntıları toplamasına izin verin.

+ +

+ +

Örnekler: Amazon Assistant for Firefox, OneNote Web Clipper, and Grammarly for Firefox

+ +

Kullanıcıların kişiselleştirmesine izin verin: Tarayıcı eklentisi web sayfalarındaki içeriği değiştirebilir. Örneğin kullanıcılar ziyaret ettiği bir sayfada sevdiği bir logoyu veya resmi arkaplan resmi olarak ekleyebilir. Eklentiler kullanıcılara Firefox UI arayüzünü güncelleştirmelerine izin verebilir. Aynı yolla bağımsız tema eklentileri yapabilir.

+ +

+ +

Örnekler: MyWeb New Tab, Tabliss, ve VivaldiFox

+ +

Web sayfasına içerik ekleyin veya silin: Kullanıcıların web sayfalarındaki rahatsız edici reklamları engellemelerine, bir web sayfasında bir ülke veya şehir söz konusu olduğunda bir seyahat rehberine erişim sağlamasına veya tutarlı bir okuma deneyimi sunmak için sayfa içeriğini yeniden biçimlendirmesine yardımcı olmak isteyebilirsiniz. Hem sayfanın hem HTML hem de CSS’ye erişme ve bunları güncelleme yeteneği sayesinde, eklentiler kullanıcıların web’i istedikleri gibi görmelerine yardımcı olabilir.

+ +

+ +

Örnekler: uBlock Origin, Reader, ve Toolbox for Google Play Store™

+ +

Araçlar ve yeni gözatma özellikleri ekleyin: Görev çubuğuna yeni özellikler ekleyin, ya da linklerden, sayfadaki yazıdan, resimlerden kare kod oluşturun. Esnek UI seçenekleri ve WebExtensions API'lerinin gücü ile bir tarayıcıya kolayca yeni özellikler ekleyebilir ve herhangi bir web sitesinin özelliğini veya fonksiyonunu artırabilirsiniz. 

+ +

+ +

Örnekler: QR Code Image Generator, Swimlanes for Trello, ve Tomato Clock

+ +

Oyunlar: çevrimdışı özellikli oyun sunun ya da yeni oyun özelliklerini keşfedin; örneğin, by incorporating gameplay into everyday browsing.

+ +

 

+ +

Örnekler: Asteroids in Popup, Solitaire Card Game New Tab, ve 2048 Prime.

+ +

Geliştirici araçları ekleyin: Web geliştirme araçlarını işiniz olarak sağlayabilir veya paylaşmak istediğiniz web geliştirmeye faydalı bir teknik veya yaklaşım geliştirebilirsiniz. Her iki durumda da, geliştirici araç çubuğuna yeni bir sekme ekleyerek yerleşik Firefox geliştirici araçlarını geliştirebilirsiniz.

+ +

+ +

Örnekler: Web Developer, Web React Developer Tools, and aXe Developer Tools

+ +

 

+ +

Firefox için eklentiler WebExtensions APIleri, geliştirici eklentileri çarpraz tarayıcı sistemi kullanılarak inşa edilir. API büyük ölçüde Google Chrome ve Opera tarafından desteklenen extension API ile uyumludur. Bu tarayıcılar için yazılan uzantılar, çoğu durumda yalnızca birkaç değişiklikle Firefox veya Microsoft Edge'de çalışır. API multiprocess Firefox ile de tam uyumludur. 

+ +

Eğer sorunuz, fikriniz ya da eski bir apiyi yenisine uyumlu hale getirme ile ilgili yardıma ihtiyacınız varsa bize dev-addons mailing list ya da #extdev üzerinden ulaşabilirsiniz.  IRC.

+ +

 

+ +

Sırada ne var?

+ + + + diff --git a/files/tr/mozilla/eklentiler/webextensions/extending_the_developer_tools/index.html b/files/tr/mozilla/eklentiler/webextensions/extending_the_developer_tools/index.html new file mode 100644 index 0000000000..ee47f9114c --- /dev/null +++ b/files/tr/mozilla/eklentiler/webextensions/extending_the_developer_tools/index.html @@ -0,0 +1,167 @@ +--- +title: Extending the developer tools +slug: Mozilla/Eklentiler/WebExtensions/Extending_the_developer_tools +tags: + - DevTools + - Eklenti + - Kılavuz + - Türkçe Web App DevOp + - Uzantıları + - WebExtensions + - İhtiyaçları Ayrıcalıkları +translation_of: Mozilla/Add-ons/WebExtensions/Extending_the_developer_tools +--- +
{{AddonSidebar}}
+ +
+

API'leri dayanmasına rağmen onlar Firefox 55. bulunmayan bu sayfa devtools API'leri açıklamaktadır Krom devtools API'ler , henüz Firefox'ta uygulanmadı ve bu nedenle burada belgelere alınmamıştır hala pek çok özellik vardır. Özellikleri şu anda bakın eksik olduğunu görmek için devtools API'larından Sınırlamaları .

+
+ +

Sen tarayıcının yerleşik geliştirici araçlarını genişletmek için WebExtensions API'leri kullanabilirsiniz. Bir devtools uzantısı oluşturmak için, "include devtools_page içinde" tuşuna manifest.json :

+ +
"Devtools_page": "devtools / devtools-sayfa.html"
+ +

Bu anahtarın değeri sizin uzantısı ile birlikte olmuş bir HTML dosyasına işaret eden bir URL'dir. URL Manifest.json dosyasının kendisini göreli olmalıdır.

+ +

HTML dosyası devtools sayfası olarak adlandırılır, uzantısında özel bir sayfa tanımlar.

+ +

devtools sayfa

+ +

devtools sayfa tarayıcı devtools açıldığında yüklenen ve kapatıldığında kaldırılır. dolayısıyla birden fazla devtools sayfa - - devtools pencere tek bir sekme ile ilişkili olduğu için, birden fazla devtools pencere için oldukça mümkün olduğunu Not aynı anda var olması.

+ +

Devtools sayfa görünür bir DOM yok, ama kullanan JavaScript kaynaklarını içerebilir <script>etiketleri. Kaynaklar uzantısı kendisi ile birlikte alınmalıdır. Kaynaklar erişebilirsiniz:

+ + + +

Not devtools sayfasının başka WebExtension API'leri erişmek etmediğini ve arka plan sayfası devtools API'ler erişim elde etmez. Bunun yerine, devtools sayfa ve arka plan sayfasını kullanarak iletişim kurmalıdır runtimemesajlaşma API'leri. İşte bir örnek:

+ +
<! DOCTYPE html>
+<Html>
+  <Head>
+    <Meta karakter seti = "UTF-8">
+  </ Head>
+  <Body>
+    </ Script> <script src = "devtools.js">
+  </ Body>
+</ Html>
+ +

devtools.js dosyası dev araçları uzantıları yaratarak gerçek kod düzenleyecek.

+ +

paneller oluşturma

+ +

devtools pencere barındıran ayrı bir dizi araç - JavaScript Debugger, Ağ İzleyicisi, vb. üst kısmında sekmeler Bir sıra farklı araçlar arasındaki kullanıcı anahtarı sağlar. Her aracın kullanıcı arayüzü barındırmak penceresi "paneli" olarak adlandırılır.

+ +

Kullanımı devtools.panels.create()API, sen devtools penceresinde kendi paneli oluşturabilir:

+ +
browser.devtools.panels.create (
+  "Benim Paneli", // başlık
+  "Simgeleri / star.png", // simgesi
+  "Devtools / paneli / panel.html" // içerik
+) .Ve ((newPanel) => {
+  newPanel.onShown.addListener (initialisePanel);
+  newPanel.onHidden.addListener (unInitialisePanel);
+});
+ +

Panelin başlığı, simge ve içerik: Bu üç zorunlu argüman alır. Bir döner Promisebir çözer ki devtools.panels.ExtensionPanelyeni bir panel ifade eden nesne.

+ +

Hedef pencere ile etkileşimde

+ +

Geliştirici araçları her zaman belirli bir tarayıcı sekmesine eklenir. Bu geliştirici araçları için "hedef" veya "teftiş pencere" olarak adlandırılır. Sen kullanarak denetlenmiş pencere ile etkileşime girebilir devtools.inspectedWindowAPI.

+ +

Hedef penceresinde kod çalıştırma

+ +

devtools.inspectedWindow.eval()Teftiş pencerede kod çalıştırmasına bir yol sağlar.

+ +

Bu biraz kullanmak gibidir {{WebExtAPIRef ( "tabs.executeScript ()")}} bir içerik komut enjekte ancak bunlarla önemli bir farkla:

+ + + +
+

DOM temiz bir görünüm yardım amaçlanan, bir güvenlik özelliğidir geldiğini hatırlatırız yerli DOM işlevleri davranışını yeniden tanımlanarak uzantıları kandırma gelen düşman sayfaları engeller. Bu araçlar siz) eval (kullanarak çok dikkatli olmak gerekiyor ve eğer yapabilirsen normal içerik komut dosyası kullanmalısınız.

+
+ +

Komut dosyaları kullanılarak yüklenen  devtools.inspectedWindow.eval()içerik komut ile tanımlanan herhangi JavaScript değişkenleri görmüyorum de.

+ +

içerik komut ile çalışma

+ +

Bir devtools belge doğrudan erişimi yok {{WebExtAPIRef ( "tabs.executeScript ()")}} Bir içerik komut dosyası enjekte etmek gerekirse, bu nedenle, devtools belge arka plan komut bir mesaj göndermesi gerekir inject bunu soran senaryo. devtools.inspectedWindow.tabIdHedef sekmesinin kimliğini sağlar: devtools belge arka plan komut dosyasına bu geçebilir ve arka plan komut sırayla içine geçebilir {{WebExtAPIRef ( "tabs.executeScript ()")}}:

+ +
// devtools-panel.js
+
+const scriptToAttach = "document.body.innerHTML = 'DevTools'un Hi';";
+
+window.addEventListener () ( "click" => {
+  browser.runtime.sendMessage ({
+    Tabla: browser.devtools.inspectedWindow.tabId,
+    komut: scriptToAttach
+  });
+});
+ +
// background.js
+
+işlev handleMessage (istek, gönderen, sendResponse) {
+  browser.tabs.executeScript (request.tabId {
+    kod: request.script
+  });
+}
+
+browser.runtime.onMessage.addListener (handleMessage);
+ +

Hedef penceresinde çalışan içerik komut ve devtools belgeye arasındaki değişim mesajlarına gerekiyorsa, {{WebExtAPIRef ( "runtime.connect ()")}} ve {{WebExtAPIRef ( "runtime.onConnect kullanmak iyi bir fikirdir ")}} arkaplan sayfası ile devtools belgeye arasında bağlantı kurmak için. arka plan sayfası ardından sekme kimlikleri ve {{WebExtAPIRef ( "runtime.Port")}} nesneler arasında bir eşleme korumak ve iki kapsamları arasındaki iletileri yönlendirmek için kullanabilir.

+ +

+ +

devtools API'ler sınırlamaları

+ +

Chrome dayanmaktadır Bu API'ler API'leri DevTools'un, ancak birçok özellik hala Chrome ile karşılaştırıldığında, eksik. Bu bölümde yine devtools API'leri etkin geliştirme aşamasındadır ve gelecekteki yayınlara çoğu desteği eklemek beklediklerini Firefox 54. Not itibariyle uygulanmadı özellikleri.

+ +

devtools.inspectedWindow

+ +

Aşağıdaki desteklenmez:

+ + + +

Seçeneklerden hiçbiri için inspectedWindow.eval()desteklenir.

+ +

Komut dosyaları kullanılarak enjekte inspectedWindow.eval()tüm Konsolunun komut satırı yardımcı işlevlerini kullanamazsınız, ancak $0ve inspect(...)her ikisi (Firefox 55 başlayarak) desteklenir.

+ +

devtools.panels

+ +

Aşağıdaki desteklenmez:

+ + + +

Örnekler

+ +

Webextensions-örnekler GitHub'dan Repo, devtools panelleri kullanmak uzantıları bazı örnekler sunulmaktadır:

+ + diff --git a/files/tr/mozilla/eklentiler/webextensions/index.html b/files/tr/mozilla/eklentiler/webextensions/index.html new file mode 100644 index 0000000000..91c91735f2 --- /dev/null +++ b/files/tr/mozilla/eklentiler/webextensions/index.html @@ -0,0 +1,138 @@ +--- +title: Tarayıcı uzantıları +slug: Mozilla/Eklentiler/WebExtensions +tags: + - Eklentiler + - WebExtensions + - İniş +translation_of: Mozilla/Add-ons/WebExtensions +--- +
{{AddonSidebar}}
+ +

Uzantılar, bir tarayıcının yeteneğini genişletebilir ve değiştirebilir. Firefox eklentileri, uzantıları geliştirmek için çapraz tarayıcı sistemi olan Web Eklenti API'leri kullanılarak oluşturulmuştur. Google Chrome, Opera ve  W3C Taslak Topluluk Grubu tarafından deteklenen  API uzantısı büyük ölçekteki sistemlerle uyumludur. Bu tarayıcılar için yazılan uzantılar bir çok durumda Firefox'ta yada bir kaç değişiklikle Microsoft Edge ile çalışacaktır. Bu API aynı zamanda çoklu prosesli Firefox'la tamamen uyumludur.

+ +

Eğer fikir veya sorularınız varsa, yada eski add-on'nuzu Web eklenti API'lerini kullanarak uyarlamak için yardıma ihtiyaç duyarsanız, bize dev-addons mail listesi yada IRC üzerinden  #webextensions aracılığı ile ulaşabilirsiniz.

+ +
+
+

Başlarken

+ + + +

Kavramlar

+ + + +

Kullanıcı Arayüzü

+ + + +

Nasıl Yapılır

+ + + +
    +
+ +

Uyarlama

+ + + +

Firefox İşakışı

+ + +
+ +
+

Referans

+ +

JavaScript API'leri

+ + + +
{{ListSubpages ( "/ tr / Eklentiler / WebExtensions / API")}}
+ +

Bildirim Anahtarları

+ + + +

 

+ +
{{ListSubpages ( "/en-US/Add-ons/WebExtensions/manifest.json")}}
+
+
+ +

 

diff --git "a/files/tr/mozilla/eklentiler/webextensions/i\314\207lk_eklentin/index.html" "b/files/tr/mozilla/eklentiler/webextensions/i\314\207lk_eklentin/index.html" new file mode 100644 index 0000000000..dfd3d30304 --- /dev/null +++ "b/files/tr/mozilla/eklentiler/webextensions/i\314\207lk_eklentin/index.html" @@ -0,0 +1,157 @@ +--- +title: İlk Eklentin +slug: Mozilla/Eklentiler/WebExtensions/İlk_Eklentin +tags: + - Rehber + - WebEklentileri +translation_of: Mozilla/Add-ons/WebExtensions/Your_first_WebExtension +--- +
{{AddonSidebar}}
+ +
Bu makalede Firefox için bir eklenti baştan sona nasıl oluşturulur onu inceleyeceğiz. Eklenti "mozilla.org" vey alt alan adlarından yüklenen tüm sayfalara kırmızı kenarlık ekleyecek.
+ +
+ +
Bu örnek için kaynak kodlar GitHub'ta: https://github.com/mdn/webextensions-examples/tree/master/borderify.
+ +
+ +

İlk olarak Firefox 45 veya sonraki bir versiyona ihtiyacımız olacak.

+ +

Eklentiyi yazmak

+ +

Yeni bir dizin oluşturup içine girelim. Örneğin terminalden şu şekilde yapabiliriz:

+ +
mkdir borderify
+cd borderify
+ +

manifest.json

+ +

Şimdi "manifest.json" isimli yeni bir dosya oluşturarak dosyanın içeriğine aşağıdakileri ekleyelim.

+ +
{
+
+  "manifest_version": 2,
+  "name": "Borderify",
+  "version": "1.0",
+
+  "description": "mozilla.org ile eslesen tum sayfalara kırmızı kenarlık ekler.",
+
+  "icons": {
+    "48": "icons/border-48.png"
+  },
+
+  "content_scripts": [
+    {
+      "matches": ["*://*.mozilla.org/*"],
+      "js": ["borderify.js"]
+    }
+  ]
+
+}
+ + + +

Buradaki en ilginç özellik content_scripts. Bu kısımda hangi örüntüye uyan web sayfaları için Firefox'un eklenti script'lerini yüklemesi gerektiğini söylüyor. Bu örnekte Firefox'a "borderify.js" i "mozilla.org" veya onun alt adresinden sunulan tüm HTTP veya HTTPS sayfalar için yüklemesini istiyoruz.

+ + + +
+

Bazı durumlarda eklentin için bir kimlik(id) belirtmen gerekebilir. Gerektiğinde manifest.json da  applications içerisine gecko.id özelliğini ekle:

+ +
"applications": {
+  "gecko": {
+    "id": "borderify@example.com"
+  }
+}
+
+ +

icons/border-48.png

+ +

Eklentimizin bir ikonu olmalı. İkonumuz Eklenti Yöneticisi'nde eklentimiz listelenirken yanında gözükecek.manifest.json dosyamız ikonumuzun şu dizinde olacağını söylüyor: "icons/border-48.png".

+ +

"borderify" dizini içerisinde "icons" klasörünü oluştur. "border-48.png" isimli bir ikon koy.  Google Material Desing ikon paketinden alınmış ve Creative Commons Attribution-ShareAlike lisansına sahip örneğimizdeki ikonu kullanabilirsin.

+ +

Eğer kendi ikonunu kendin ayarlamak istiyorsan ikon 48x48 piksel olmalı. Yüksek çözünürlüklü cihazlar için 96x96 piksel ikon da ayarlayabilirsin. Ancak o durumda icons altında 96 olarak 96x96'lık ikonu belirtmen gerekir:

+ +
"icons": {
+  "48": "icons/border-48.png",
+  "96": "icons/border-96.png"
+}
+ +

Alternatif olarak SVG dosyası kullanabilirsin ve doğru biçimde ölçeklenir. (Doğrusu: SVG kullanıyorsan ve ikon yazı içeriyorsa, SVG düzenleyicinin "convert to path" özelliğini kullanıp yazıyı düzleştirmek isteyebilirsin. Bu sayede pozisyonu ve boyutu doğru olarak ölçeklenir.)

+ + + +

borderify.js

+ +

Finally, create a file called "borderify.js" directly under the "borderify" directory. Give it this content:

+ +
document.body.style.border = "5px solid red";
+ +

This script will be loaded into the pages that match the pattern given in the content_scripts manifest.json key. The script has direct access to the document, just like scripts loaded by the page itself.

+ + + +

Trying it out

+ +

First, double check that you have the right files in the right places:

+ +
borderify/
+    icons/
+        border-48.png
+    borderify.js
+    manifest.json
+ +

Installing

+ +

Open "about:debugging" in Firefox, click "Load Temporary Add-on" and select any file in your extension's directory:

+ +

{{EmbedYouTube("cer9EUKegG4")}}

+ +

The extension will now be installed, and will stay until you restart Firefox.

+ +

Alternatively, you can run the extension from the command line using the web-ext tool.

+ +

Testing

+ +

Now try visiting a page under "mozilla.org", and you should see the red border round the page:

+ +

{{EmbedYouTube("rxBQl2Z9IBQ")}}

+ +
+

Don't try it on addons.mozilla.org, though! Content scripts are currently blocked on that domain.

+
+ +

Try experimenting a bit. Edit the content script to change the color of the border, or do something else to the page content. Save the content script, then reload the extensions's files by clicking the "Reload" button in about:debugging. You can see the changes right away:

+ +

{{EmbedYouTube("NuajE60jfGY")}}

+ + + +

Packaging and publishing

+ +

For other people to use your extension, you need to package it and submit it to Mozilla for signing. To learn more about that, see "Publishing your extension".

+ +

What's next?

+ +

Now you've got an idea of the process of developing a WebExtension for Firefox, try:

+ + diff --git a/files/tr/mozilla/eklentiler/webextensions/user_interface/index.html b/files/tr/mozilla/eklentiler/webextensions/user_interface/index.html new file mode 100644 index 0000000000..0c181eec6a --- /dev/null +++ b/files/tr/mozilla/eklentiler/webextensions/user_interface/index.html @@ -0,0 +1,95 @@ +--- +title: User interface +slug: Mozilla/Eklentiler/WebExtensions/user_interface +tags: + - Kullanıcı arayüzü + - WebExtensions + - İniş +translation_of: Mozilla/Add-ons/WebExtensions/user_interface +--- +
{{AddonSidebar}}
+ +

Kullanım WebExtension API'leri onların işlevselliği kullanıcıya sunulabilir böylece birkaç kullanıcı arayüzü seçenekleri ile sağlandığını uzantılar. bu seçeneklerden bir özeti bu bölümde her kullanıcı arayüz seçeneği için daha ayrıntılı tanıtımıyla, aşağıda verilmiştir.

+ +
+

Uzantınızda mükemmel bir kullanıcı deneyimi yaratmak için bu UI bileşenlerini kullanarak tavsiye için lütfen Kullanıcı deneyimi en iyi uygulamaları makale.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
UI seçeneğiAçıklamaMisal
Araç Çubuğu düğme (tarayıcı eylem)tıklandığında uzantısı bir olay gönderir Tarayıcı araç çubuğunda bir düğme. Varsayılan olarak, düğme tüm sekmelerin görünür.Örnek bir araç çubuğu düğmesi (tarayıcı eylem) gösteren.
Bir ile Çubuğu düğmesi açılırdüğme tıklandığında o araç çubuğu tarayıcıda bir düğmeye bir açılır pencere açılır. Popup kullanıcı etkileşimi yönetir bir HTML belgesinde tanımlanmıştır.Bir araç çubuğu düğmesini pop-up örneği
Adres çubuğu düğmesi (sayfa aksiyon)tıklandığında uzantısı bir olay gönderir tarayıcının adres çubuğunda bir düğme. Varsayılan olarak, düğme tüm sekmelerin gizli.Örnek bir adres çubuğu düğmesini gösteren (sayfa aksiyon)
Bir ile Adres çubuğu düğmesi açılırdüğmesi tıklandığında açılan tarayıcı adres çubuğunda bir düğmeyi bir açılır pencere. Popup kullanıcı etkileşimi yönetir bir HTML belgesinde tanımlanmıştır.Adres çubuğu düğmesinin bir popup örneği
Bağlam menü öğesibir ya da tarayıcının bağlam menüleri daha menü öğeleri onay kutularını ve radyo düğmeleri. Ayrıca, menüler ayırıcılar ekleyerek yapılandırılabilir. menü öğeleri tıklandığında bir olay uzantısı gönderilir.bağlam menü demo örnekten bir WebExtension tarafından eklenen içerik menü öğeleri, örneği
Kenar çubuğu +

Bir HTML dokümanı sayfa başına benzersiz içerik seçeneği ile, bir web sayfası yanında görüntülenen. uzantı yüklendiğinde kenar çubuğu daha sonra kullanıcının kenar çubuğu görünürlük seçimi itaat, açılır. Kenar çubuğunda içinde kullanıcı etkileşimi kendi HTML belgesi tarafından gerçekleştirilmektedir.

+
bir kenar çubuğu Örnek
Seçenekler sayfaEğer kullanıcıların değişebileceğini Uzantınız için tercihlerini belirlemek sağlayan bir sayfa. kullanıcı tarayıcının eklenti yöneticisinden bu sayfaya erişebilirsiniz.Örnek favori renkleri örnekte eklenen seçenekler sayfa içeriğini gösteren.
Uzatma sayfaUzantınızda dahil kullanın web sayfaları pencere veya sekme içindeki formları, yardım veya gerekli diğer herhangi bir içerik sağlamak.Basit bir paket sayfası örneği müstakil bir panel olarak görüntülenir.
BildirimGeçici bildirimleri temel işletim sisteminin bildirimleri mekanizması yoluyla kullanıcıya görüntülenir. Kullanıcı bir bildirim veya bir bildirim kapanır (ya otomatik olarak veya kullanıcının isteği üzerine) tıkladığında uzantısına bir olay gönderir.Uzatma tetiklenen sistemi bildirimi Örnek
Adres çubuğu öneriKullanıcı bir anahtar kelime girdiğinde Özel adres çubuğu önerilerinin sunun.Örnek Adres çubuğu önerilerini firefox_code_search WebExtension en özelleştirme sonucunu gösteren.
Geliştirici araçları paneliilişkili HTML dokümanı ile bir sekme o tarayıcının geliştirici araçları görüntüler.Örnek Adres çubuğu önerilerini firefox_code_search WebExtension en özelleştirme sonucunu gösteren.
+ +

kılavuzları nasıl yapılır şu bu kullanıcı arayüzü seçeneklerden bazılarını oluşturmak için adım adım rehberlik:

+ + diff --git a/files/tr/mozilla/firefox/index.html b/files/tr/mozilla/firefox/index.html new file mode 100644 index 0000000000..0c99f68792 --- /dev/null +++ b/files/tr/mozilla/firefox/index.html @@ -0,0 +1,45 @@ +--- +title: Firefox +slug: Mozilla/Firefox +translation_of: Mozilla/Firefox +--- +
{{FirefoxSidebar}}
+ +

Firefox, Mozilla'nın masa üstünde Windows, OS X , Linux ve Android mobil cihazlarda ulaşılabilir olan popüler Web tarayıcısıdır. Firefox, Web geliştiricileri ve kullanıcılar için en güncel Web teknolojileri, güçlü geliştirme araçları ve geniş uyumluluğu ile birlikte harika bir seçimdir.

+ +

Firefox, kodların büyük çoğunluğu büyük gönüllü topluluğumuzun katkıları ile geliştirilen açık kaynak kodlu bir projedir. Burada Firefox projesine nasıl katkıda bulunacağınızı ve aynı zamanda Firefox add-ons yapısı, Firefox'ta geliştirici araçlarını kullanma ve diğer görevler hakkında linkler bulacaksınız.

+ +
+

Firefox'ta nasıl add-ons yapacağınızı, Firefox'un kendisini, iç yapısını ve alt proje işlerini nasıl geliştireceğinizi ve derleyeceğinizi öğrenin.

+
+ + + +

Firefox'un dört tane kanalı bulunmaktadır. Sürüm kanalı, dünya etrafında milyonlarca insan tarafından kullanılan günlük kullanım içindir. Diğer kanallar testçiler,  firefox'u benimseyenler ve ciddi meraklıları içindir.

+ + diff --git a/files/tr/mozilla/firefox/releases/63/index.html b/files/tr/mozilla/firefox/releases/63/index.html new file mode 100644 index 0000000000..527ce29553 --- /dev/null +++ b/files/tr/mozilla/firefox/releases/63/index.html @@ -0,0 +1,139 @@ +--- +title: Geliştiriciler için Firefox 63 +slug: Mozilla/Firefox/Releases/63 +translation_of: Mozilla/Firefox/Releases/63 +--- +
{{FirefoxSidebar}}
+ +
{{draft}}
+ +

Bu makale Firefox 63 üzerinde yapılan değişiklikler hakkında geliştiricilerini etkileyecek bilgiler sağlamaktadır. Firefox 63, Firefox'un Gecelik versiyonu ve 23 Ekim 2018 yayımlanacak.

+ +

Web Geliştiricileri için Değişiklikler

+ +

Geliştirici Araçları

+ + + +

Kaldırılanlar

+ +

 

+ +

HTML

+ +

Değişiklik yok.

+ +

Kaldırılanlar

+ +

 

+ +

CSS

+ + + +

Kaldırılanlar

+ +

SVG

+ +

Değişiklik yok.

+ +

Kaldırılanlar

+ +

JavaScript

+ +

Değişiklik yok.

+ +

Kaldırılanlar

+ +

API'ler

+ +

Yeni API'ler

+ + + +

DOM

+ + + +

DOM Olayları

+ +

Değişiklik yok.

+ +

Service workers

+ +

Değişiklik yok.

+ +

Media, Web Audio, and WebRTC

+ + + +

Canvas and WebGL

+ + + +

Kaldırılanlar

+ +

CSSOM

+ +

Değişiklik yok.

+ +

Kaldırılanlar

+ +

HTTP

+ +

Değişiklik yok.

+ +

Kaldırılanlar

+ +

Güvenlik

+ +

Değişiklik yok.

+ +

Kaldırılanlar

+ +

Eklentiler

+ +

Değişiklik yok.

+ +

Kaldırılanlar

+ +

Diğerleri

+ +

Değişiklik yok.

+ +

Kaldırılanlar

+ +

Add-on Geliştiricileri için Değişiklikler

+ +

API Değişiklikleri

+ + + +

Bakınız

+ + + +

Eski Versiyonlar

+ +

{{Firefox_for_developers(62)}}

diff --git a/files/tr/mozilla/firefox/releases/81/index.html b/files/tr/mozilla/firefox/releases/81/index.html new file mode 100644 index 0000000000..d7291cf17a --- /dev/null +++ b/files/tr/mozilla/firefox/releases/81/index.html @@ -0,0 +1,94 @@ +--- +title: Firefox 81 for developers +slug: Mozilla/Firefox/Releases/81 +translation_of: Mozilla/Firefox/Releases/81 +--- +

{{FirefoxSidebar}}

+ +

Bu makale, Firefox 81'de geliştiricileri etkileyecek değişiklikler hakkında bilgi sağlar. Firefox 81, Firefox'un güncel Beta sürümüdür ve 22 Eylül 2020'de piyasaya sürülecektir .

+ +

Web geliştiricileri için değişiklikler

+ +

Geliştirici Araçları

+ +

Değişiklik yok

+ +

Konsol

+ +

Hata ayıklayıcı

+ +

Diğer Aletler

+ +

HTML

+ + + +

Kaldırmalar

+ + + +

CSS

+ +

Değişiklik yok

+ +

Kaldırmalar

+ + + +

JavaScript

+ +

Değişiklik yok

+ +

Kaldırmalar

+ +

HTTP

+ + + +

Kaldırmalar

+ +

API'ler

+ +

Değişiklik yok

+ +

DOM

+ + + +

Medya, WebRTC ve Web Audio

+ +

Kaldırmalar

+ +

WebAssembly

+ +

Değişiklik yok

+ +

Kaldırmalar

+ +

Eklenti geliştiricileri için değişiklikler

+ + + +

Kaldırmalar

+ +

Ayrıca bakınız

+ + + +

eski versiyonlar

+ +

{{Firefox_for_developers (80)}}

diff --git a/files/tr/mozilla/firefox/releases/index.html b/files/tr/mozilla/firefox/releases/index.html new file mode 100644 index 0000000000..8c23f95aa8 --- /dev/null +++ b/files/tr/mozilla/firefox/releases/index.html @@ -0,0 +1,12 @@ +--- +title: Firefox developer release notes +slug: Mozilla/Firefox/Releases +tags: + - Firefox + - NeedsTranslation + - TopicStub +translation_of: Mozilla/Firefox/Releases +--- +
{{FirefoxSidebar}}

This page provides links to the "Firefox X for developers" articles for each Firefox release. These notes let you see what features were added and bugs eliminated in each version of Firefox.

+
+ {{ListSubpages("",1,1,1)}}
diff --git a/files/tr/mozilla/index.html b/files/tr/mozilla/index.html new file mode 100644 index 0000000000..220a8e1145 --- /dev/null +++ b/files/tr/mozilla/index.html @@ -0,0 +1,13 @@ +--- +title: Mozilla +slug: Mozilla +tags: + - NeedsTranslation + - TopicStub +translation_of: Mozilla +--- +
+ {{draft}}
+

This will soon be an awesome landing page for Mozilla internals. For now, it's not.

+
+ {{LandingPageListSubpages}}
diff --git a/files/tr/mozilla/participating_in_the_mozilla_project/index.html b/files/tr/mozilla/participating_in_the_mozilla_project/index.html new file mode 100644 index 0000000000..7d32612744 --- /dev/null +++ b/files/tr/mozilla/participating_in_the_mozilla_project/index.html @@ -0,0 +1,64 @@ +--- +title: Participating in the Mozilla project +slug: Mozilla/Participating_in_the_Mozilla_project +translation_of: Mozilla/Participating_in_the_Mozilla_project +--- +

Hataları düzeltmeye ve Mozilla platformunun arkasındaki kod üzerinde çalışmaya yardımcı olmakla ilgileniyorsanız, sizi doğru yönde yönlendirecek belgeleri bulmak için en uygun yer burasıdır.

+ + + + + + + + +
+

Genel başlıklar

+ +
+
Mozilla geliştirici kılavuzu
+
Mozilla kod tabanına katkıda bulunmak için geliştirme ipuçları ve kılavuzlar.
+
Mozilla kaynak kodu
+
Mozilla kodunu indirerek veya sürüm kontrolü yoluyla nasıl edineceğiniz ve kodunuzu ağaca nasıl alacağınız hakkında bilgiler.
+
Belge Oluşturma
+
Firefox ve Thunderbird dahil olmak üzere Mozilla projelerinin nasıl oluşturulacağı hakkında bilgiler. Bu sayfanın temizlenmesi gerekiyor.
+
The Mozilla platform
+
Tüm API'leri ve teknolojileri dahil olmak üzere Mozilla platformu hakkında ve bunları kendi projelerinizde nasıl kullanacağınız hakkında bilgiler.
+
Documenting Mozilla
+
Mozilla ve açık Web için belgelerimizi oluşturmamıza ve geliştirmemize yardımcı olun.
+
Debugging
+
Mozilla kodunda hata ayıklarken izlenecek faydalı ipuçları ve yönergeler.
+
Quality assurance
+
Test ve hata izleme hakkında bilgiler.
+
Localization
+
Mozilla projelerini, belgelerini ve diğer içeriği birden çok dile çevirmeye ilişkin belgeler.
+
Glossary
+
Mozilla hackerları tarafından kullanılan terimler ve tanımlar.
+
+ +

Proje sayfaları

+ +
+
Thunderbird
+
Mozilla'nın e-posta istemcisi
+
Calendar
+
Mozilla takvim projesi.
+
+
+

Araçlar

+ +
+
Bugzilla
+
Bugzilla veritabanı, Mozilla projeleriyle ilgili sorunları izlemek için kullanılır.
+
DXR
+
Web'deki Mozilla kaynak kodu deposuna göz atın ve arayın.
+
Bonsai
+
Bonsai aracı, depodaki hangi dosyayı kimin değiştirdiğini ve ne zaman yaptığını bulmanızı sağlar. (Bu, Firefox 3.0 ve daha eski sürümler içindir.)
+
Tinderbox
+
Tinderbox ağacın durumunu gösterir (şu anda başarıyla oluşturulmuş olsun ya da olmasın). Çalışan bir ağaçla çalıştığınızdan emin olmak için giriş ve çıkış yapmadan önce bunu kontrol edin.
+
Crash tracking
+
Socorro kaza raporlama sistemi hakkında bilgiler.
+
Developer forums
+
Mozilla geliştirme sorunları hakkında konuşabileceğiniz konuya özgü tartışma forumları listesi.
+
+
diff --git a/files/tr/mozilla/persona/index.html b/files/tr/mozilla/persona/index.html new file mode 100644 index 0000000000..2e1b435922 --- /dev/null +++ b/files/tr/mozilla/persona/index.html @@ -0,0 +1,159 @@ +--- +title: Persona +slug: Mozilla/Persona +translation_of: Archive/Mozilla/Persona +--- +
+
Basit, gizlilik-duyarlı tek oturum açma: Kullanıcıların e-posta adresi ile web sitenize oturum izin ve şifre yönetimi kendinizi özgür.
+ +
+
+

Koparmayın veya yardım almak!

+ +

Takip eden blog katılmak, posta listesi , bizi bulmak #identity üzerindeki IRC veya bir hatayı bildirmek .

+
+ +

Mozilla Persona kullanımı kolay ve dağıtmak için kolay Web için bir çapraz tarayıcı giriş sistemidir. Bu çalışır , tüm büyük tarayıcılar ve yapabilirsiniz bugün başlamak .

+ +

Neden web sitenizde Persona kullanmalıyım?

+ +
    +
  1. Persona tamamen siteye özgü şifreleri ortadan kaldırır , yaratma yönetmek ve güvenli şifreler depolama yükünden kullanıcıları ve web sitelerini serbest.
  2. +
  3. Persona. Kullanımı kolay bir Persona kullanıcı gibi yeni bir siteye oturum açabilirsiniz sadece iki tıklama ile Voost hesap oluşturma ile ilişkili sürtünme atlayarak.
  4. +
  5. Persona uygulanması kolaydır . Geliştiriciler, tek bir öğleden sonra bir siteye Persona ekleyebilirsiniz.
  6. +
  7. Hiçbir kilit-var . Geliştiriciler kendi tüm kullanıcılar için doğrulanmış e-posta adresi almak ve kullanıcılar Persona ile herhangi bir e-posta adresini kullanabilirsiniz.
  8. +
+ +

Ayrıca, Persona sadece daha iyi gidiyor: bir inşa var , açık, ademi merkeziyetçi protokol sağlamak için tasarlanmıştır tarayıcılar içine doğrudan entegrasyon ve e-posta sağlayıcıları tarafından doğal destek . otomatik olarak bu gelişmeler yaşayacaksınız bugün Persona uygulamak Siteleri, herhangi bir kodu değiştirmek zorunda kalmadan .

+
+ +
+
+

Sitenizde Persona kullanma

+ + +
+

Başlarken

+ +
+
Neden Persona?
+
Diğer kimlik ve kimlik doğrulama sistemlerine kıyasla Persona hakkında özel nedir.
+
Hızlı kurulum
+
Web Persona eklemek nasıl gösteren bir örneklerde.
+
+ +

API başvuru

+ +
+
navigator.id API
+
Tarayıcı API.
+
Doğrulama API başvuru
+
Uzaktan doğrulama API.
+
+
+ +
+

Kılavuzlar

+ +
+
Güvenlik noktaları
+
Uygulamaları ve teknikler Persona dağıtım güvenli olduğundan emin olmak için.
+
Tarayıcı uyumluluğu
+
Bilgi tam olarak hangi tarayıcıları Persona destek.
+
Uluslararasılaşma
+
Persona farklı dilleri nasıl işleyeceğini öğrenin.
+
implementor kılavuzu
+
Persona için destek ekledik sitelerden ipuçları.
+
+
+ +
+

Kaynaklar

+ +
+
Kütüphaneler ve eklentileri
+
Sevdiğiniz programlama dili, web çerçeve, blog, ya da içerik yönetim sistemi için bir damla-kütüphane bulun.
+
Persona yemek kitabı
+
Persona siteleri için örnek kaynak kodu. C # parçacıkları (MVC3), PHP, node.js, ve daha fazlasını içerir.
+
Markalaşma kaynakları
+
Düğmeleri ve diğer grafik giriş yap kullanıcılara mevcut Persona yardımcı olur.
+
+
+
+ +
+
+

Kimlik Sağlayıcı Olmak

+ +

Eğer bir e-posta sağlayıcısı veya başka bir kimlik-sağlayan hizmet iseniz, bir Persona Kimlik Sağlayıcı olma hakkında bilgi edinmek için aşağıdaki bağlantıları kontrol edin.

+ +
+
IdP Genel Bakış
+
Persona Kimlik Sağlayıcıları bir üst düzey görünümü.
+
IDP Uygulamak
+
Yerinden Olmuş Kişiler olma teknik detaylar ayrıntılı bir rehber.
+
.well bilinen / browserid
+
Yapısı ve amacı genel bir bakış .well bilinen / browserid yerinden edilmiş kişilerin protokol için onların desteğini tanıtımı için kullanmak dosyaya.
+
+
+ +
+
+

Persona Projesi

+ +
+
Sözlük
+
BrowserID ve Persona terminoloji tanımlanır.
+
SSS
+
Sık sorulan soruların yanıtları.
+
Protokol genel bakış
+
Altta yatan BrowserID protokolünün bir orta düzey teknik bakış.
+
Kripto
+
Persona ve BrowserID arkasında şifreleme kavramlar bir bakış.
+
Spec
+
Derin teknik detaylar burada yaşıyor.
+
Persona web sitesi
+
Persona gidiyor almak için, biz de üç barındırma hizmetleri konum https://login.persona.org : bir geri dönüş Kimlik Sağlayıcı, {{domxref ("navigator.id")}} API'leri taşınabilir uygulanmasını ve bir kimlik belirtilme doğrulama hizmeti.
+
Persona kaynak kodu
+
Persona web sitesi arkasında kod GitHub üzerinde bir depo yaşıyor. Istekleri hoş geldiniz çekin!
+
+
+ + + +
    +
  1. Bir web sitesinde Persona kullanma + +
      +
    1. Neden Persona kullanmanız gerekir?
    2. +
    3. Başlamak
    4. +
    5. Persona uygulanması için ipuçları
    6. +
    7. Güvenlik noktaları
    8. +
    9. Tarayıcı uyumluluğu
    10. +
    11. Uluslararasılaşma
    12. +
    13. navigator.id API
    14. +
    15. Uzaktan doğrulama API
    16. +
    17. Kütüphaneler ve eklentileri
    18. +
    19. Markalaşma kaynakları
    20. +
    +
  2. +
  3. Kimlik Sağlayıcı Olmak +
      +
    1. IdP Genel Bakış
    2. +
    3. IDP Uygulamak
    4. +
    5. .well bilinen en browserid biçimi
    6. +
    +
  4. +
  5. Persona projesi +
      +
    1. Sözlük
    2. +
    3. SSS
    4. +
    5. Persona barındırılan hizmetler
    6. +
    7. Protokol genel bakış
    8. +
    9. Kriptografi
    10. +
    +
  6. +
+
+ +

 

diff --git a/files/tr/mozilla/projects/index.html b/files/tr/mozilla/projects/index.html new file mode 100644 index 0000000000..d7e62c6882 --- /dev/null +++ b/files/tr/mozilla/projects/index.html @@ -0,0 +1,15 @@ +--- +title: Projects +slug: Mozilla/Projects +tags: + - Landing + - Mozilla + - NeedsContent + - NeedsTranslation + - Projects + - TopicStub +translation_of: Mozilla/Projects +--- +

Here you'll find links to documentation about various Mozilla projects; these are often parts of Firefox or other products, but may also be used in other projects as well.

+ +

{{ LandingPageListSubpages() }}

diff --git a/files/tr/mozilla/projects/necko/index.html b/files/tr/mozilla/projects/necko/index.html new file mode 100644 index 0000000000..950d678543 --- /dev/null +++ b/files/tr/mozilla/projects/necko/index.html @@ -0,0 +1,29 @@ +--- +title: Necko +slug: Mozilla/Projects/Necko +translation_of: Mozilla/Projects/Necko +--- +

Necko bir internet kütüphanesidir ve bu kütüphane platform-alıcısı API'sını bağlantı , protocol ayarlamak için kullanılır.

+ +

Şu anda bu sistem sadece Mozilla Distribution'un yapı parçasıdır. Bunun denemesini Yapı Dosyalarından bulunabilir. Bunu heryere taşıyarak Mozilla'nın emeğini yani paylaşmayı gösteririz.

+ +

Kodu en son sürümünde şuradan izleyin: {{Kaynak("netwerk/")}}

+ +

Documents

+ + + +

Community

+ + diff --git a/files/tr/mozilla/qa/bug_writing_guidelines/index.html b/files/tr/mozilla/qa/bug_writing_guidelines/index.html new file mode 100644 index 0000000000..c317b057fa --- /dev/null +++ b/files/tr/mozilla/qa/bug_writing_guidelines/index.html @@ -0,0 +1,237 @@ +--- +title: Bug report writing guidelines +slug: Mozilla/QA/Bug_writing_guidelines +translation_of: Mozilla/QA/Bug_writing_guidelines +--- +
+

If you need help with Mozilla software (for example with Firefox, Seamonkey or Thunderbird), use one of the available support options. Do not edit this page!

+
+ +

This page assumes you'd like to contribute to the Mozilla project by collecting enough information to enter a useful bug report in Bugzilla, the Mozilla bug tracking system. Thank you!

+ +

If you're new to reporting bugs, you may want to try getting help from the more experienced contributors. See the Community section on the QA page for pointers. If you're going to report a Firefox bug, you can also get assistance in the #firefox channel on irc.mozilla.org. For other projects (e.g., Thunderbird, SeaMonkey)  you can find the appropriate channel on IRC.

+ +

How to report a bug

+ +

Open a new bug report for each issue!

+ +

So an effective bugfix workflow will be completed for each issue.

+ +

Other details you should heed

+ +
    +
  1. Figure out the steps to reproduce a bug: + +
      +
    • If you have precise steps to reproduce — great! — you're on your way to reporting a useful bug report.
    • +
    • If you can reproduce occasionally, but not after following specific steps, you must provide additional information for the bug to be useful.
    • +
    • If you can't reproduce the problem, there's probably no use in reporting it, unless you provide unique information about its occurrence.
    • +
    +
  2. +
  3. Make sure your software is up to date. Ideally, test an in-development version to see whether your bug has already been fixed (e.g. Firefox Beta, Aurora, or bleeding-edge Nightly).
  4. +
  5. When reporting a Firefox bug, first check if you can reproduce the bug in a new Firefox profile. If the bug only happens in your existing profile, try to figure out what settings, extensions, or files in your profile are needed to reproduce the bug. +
      +
    • If the bug seems egregious (i.e. obviously affecting a large portion of users), there's probably something unusual about your setup that's a necessary part of the steps to reproduce the bug. You have much better chances of figuring it out than a developer who does not have access to your system.
    • +
    • If the bug falls into one of specific types of bugs listed in a section below, it may still be useful even if you can't reproduce it in a new Firefox profile.
    • +
    +
  6. +
  7. Open the Enter a new bug form, which will guide you through most of the bug reporting process: +
      +
    • Create a Bugzilla account if you don't have one already, select the product having the bug.
    • +
    • Enter a clear unique summary as described below; check if the bug has already been reported (if you want to be more thorough, there's an advanced guide on screening duplicate bugs).
    • +
    • Provide precise steps to reproduce, expected results and actual results as described in the following section.
    • +
    • Provide additional information (also described below), especially if you can't reproduce the bug in a new profile; and/or by reporting a crash, memory usage, performance, regression bug; or if the problem is with a specific web site.
    • +
    +
  8. +
  9. If you have multiple issues, please file separate bug reports.
  10. +
+ +

Writing a clear summary

+ +

How would you describe the bug using approximately 10 words? This is the first part of your bug report a triager or developer will see.

+ +

A good summary should quickly and uniquely identify a bug report. It should explain the problem, not your suggested solution.

+ + + + + +

Writing precise steps to reproduce

+ +

How can a developer reproduce the bug on his or her own computer?

+ +

Steps to reproduce are the most important part of any bug report. If a developer is able to reproduce the bug, the bug is very likely to be fixed. If the steps are unclear, it might not even be possible to know whether the bug has been fixed.

+ + + + + + + + + + + + + + + + + + + + + + + + +
What should you include in a bug report?Good (precise) exampleBad (imprecise)
Indicate whether you can reproduce the bug at will, occasionally, or not at all.I can reproduce by following these steps:
+

Describe your method of interacting with Firefox in addition to the intent of each step.

+
+

1. Start Firefox by clicking on the desktop icon
+ 2. Press Cmd+N (or Ctrl+N for Windows users) to open a new browser window
+ 3. Paste https://mail.google.com/ in the address bar and press Enter

+
Open Gmail in another window
+

After your steps, precisely describe the observed (actual) result and the expected result. Clearly separate facts (observations) from speculations.

+
Expected results: My Inbox displays correctly.
+ Actual results: My inbox displays the message 'Your browser does not support cookies (error -91)'.
+

"It doesn't work"

+ +

"Page displays incorrectly"

+
+ +

Providing additional information

+ +

The following information is requested for most bug reports. You can save time by providing this information below the Expected results. If you need to attach multiple files, you can do so after submitting the report.

+ +

For specific types of bugs

+ +

If you are reporting a crash bug, please include a Breakpad ID or attach stack trace, and include the crash signature in the bug summary as well as in the Crash Signature field.

+ +

If you are reporting a memory use or leak bug, please attach the output of about:memory. Ideally, find steps to reproduce an increase in what is shown in about:memory (even after clicking the "Minimize memory usage" button at the bottom). If you have trouble finding steps to reproduce, try the Firefox Support page titled Firefox Uses Too Much Memory (Ram) - How to Fix. If you are a C++ developer, more precise tools are available.

+ +

If you are reporting a bug about slowness or high CPU usage, please provide a link to the performance profile in the bug.

+ +

If you are reporting a hang (beachball on macOS or "not responding" on Windows), please follow the instructions in How to Report a Hung Firefox.

+ +

If you are reporting a bug involving a Flash hang, please visit https://wiki.mozilla.org/Flash/Hang_Debugging to learn how to provide useful information for developers.

+ +

If you are reporting a bug involving a specific web page, please try to make a reduced testcase and attach it to the bug report. If you don't have time or expertise, please report the issue to webcompat.com instead, where our volunteers will do this for you.

+ +

If the bug was recently introduced, finding a regression window can help identify the cause of the bug.

+ +

What if my bug seems "random" or "intermittent"?

+ +

For most Firefox bugs

+ +

You should provide the following information for most Firefox bugs.

+ + + + + + + + + + + + + + + + + + + + +
What should you include in a bug report?Example
Indicate if the problem can be reproduced using a new Firefox profile and any changes you need to make in order to reproduce.The problem can be reproduced in a new profile, but only if Preferences -> Privacy & Security -> Tracking Protection is selected.
If you can only reproduce with an existing profile try to figure out what settings, extensions, or files in your profile are needed to reproduce the bug. If you skip the step, save the troubleshooting information from about:support to a file and attach it to the bug report.I can't reproduce in a new profile, about:support information from the offending profile is attached.
+

Indicate if the problem can be reproduced using the latest Nightly build. Include the Build ID from about:support.

+ +

If possible, test using the new Firefox profile you created. If you need to test the Nightly build with your regular profile, you might want to back up the profile first, since the pre-release build may corrupt your data.

+
The problem can be reproduced on the latest Nightly (Build ID 20170416100136).
+ + + +
+

Original document information

+ + +
+ + + +
+

Advanced

+ +

Finding the correct product and component

+ +

You will be asked to categorize your bug into a "product" and a "component" within that product, in order to direct your report to the correct developers.

+ +

If you're using Firefox, the bug is most likely in "Firefox", "Toolkit", or "Core".

+ + + +

When in doubt, search for similar bugs and see which component they are in.

+ +

If none of the components seem appropriate, look for a "General" component in the most appropriate product.

+ +

General Outline of a Bug Report

+ +
+

Most of the following article has been merged into this page from QMO: How to write a proper bug

+
+ + + + + +
+

Original document information

+ + +
diff --git a/files/tr/mozilla/qa/index.html b/files/tr/mozilla/qa/index.html new file mode 100644 index 0000000000..81412404dc --- /dev/null +++ b/files/tr/mozilla/qa/index.html @@ -0,0 +1,251 @@ +--- +title: 'QA: Quality assurance at Mozilla' +slug: Mozilla/QA +tags: + - Landing + - NeedsTranslation + - QA + - Testing + - TopicStub +translation_of: Mozilla/QA +--- +

The Mozilla Quality Assurance (QA) team drives software quality assurance activities across Mozilla and plays a key role in releasing a diverse range of software products on schedule. Within each project in Mozilla, we work to explore new features, write and execute tests, uncover and file bugs, build and maintain tools, collect and analyze metrics, and support the release world-class products that promote the open Web.

+ +

Here you'll find articles and tools to help you gear up to join the QA team testing Firefox to ensure that each release is as good as it can be.

+ +

Get started

+ + + +

Bugs

+ +
+
+

Reporting bugs

+ +
+
Bugzilla
+
All Mozilla projects use Bugzilla to track bugs. You will need to create an account with Bugzilla in order to report bugs and triage them.
+
Bug writing guidelines
+
The more effectively a bug is reported, the more likely that an engineer will actually fix it. By following these guidelines, you can help ensure that your bugs stay at the top of the Mozilla engineers' heap, and get fixed.
+
A Bug's Life
+
This tutorial will give an overview of what happens in the states that a bug will go through as well as how it will go from one to the next within its total life. It also explains the meaning of flags/keywords used in QA.
+
Filing Crash Bugs
+
This document lists guidelines and tips on how to file bug reports for crashes in a way that helps in debugging and fixing the reported issue.
+
+
+ +
+

Triaging bugs

+ +
+
Confirming unconfirmed bugs
+
Identify useful bug reports and close the rest.
+
Triaging Bugs for Firefox
+
Information about the entire bug triaging process – from processing incoming bugs to narrowing down the steps to reproducing bugs.
+
Screening duplicate bugs
+
Help get bugs fixed faster by screening incoming reports for duplicates.
+
General Guidelines
+
What to do and what not to do in Bugzilla.
+
+
+
+ +
+

Manual testing

+ +
+
+
+
Manual Test Case Writing Primer
+
How to write proper manual test cases
+
+
+ +
+
+
TestRail
+
Mozilla QA's manual test cases reside in TestRail. You will need an LDAP account in order to login and execute test cases. Learn more on the TestRail wiki page.
+
+
+
+ +
+

Automated testing

+ +
+
+
+
Automated testing at Mozilla
+
Documentation about creating and using automated tests for Mozilla code.
+
Running automated tests
+
+

This page lists the steps required to run Mozilla's automated test suites.

+
+
Developing tests
+
Ensure that future changes to Mozilla don't break things that currently work correctly.
+
Avoiding intermittent test failures
+
Suggestions for ways to make your tests more reliable, thereby helping to avoid random, intermittent test failures.
+
Test Verification
+
When a changeset adds a new test, or modifies an existing test, the test verification (TV) test suite performs additional testing to help find intermittent failures in the modified test as quickly as possible.
+
Mozharness FAQ
+
Answers to common questions about Mozharness.
+
+
+ +
+
+
Robocop
+
Robocop is the automated testing system used for Firefox for Android. Learn its code style guidelines
+
Marionette
+
Get started with Marionette UI testing.
+
web-platform-tests
+
Learn how to use the industry standard, cross-browser, cross-platform Web runtime testing system from the W3C used by Mozilla and others to ensure browser interoperability.
+
External Media Tests
+
Get started testing HTML5-based video elements using VideoPuppeteer, a Marionette- -based test suite used to test sites like YouTube and Netflix.
+
Chrome tests
+
A chrome test is basically a Mochitest running with chrome privileges.
+
+
+
+ +
+

Firefox QE

+ +
+
+
+
Triaging Bugs for Firefox
+
Information about the entire bug triaging process – from processing incoming bugs to narrowing down the steps to reproduce a bug.
+
+ +
+
Tips and Tricks
+
These tips and tricks will make your life easier when you are testing.
+
+Downloading Nightly or Trunk Builds + +
+
Every 24 hours, a "nightly" build is created that testers all over the world download and test, reporting as they go along on any bugs that hit them. 
+
+
+ +
+
+
Command Line Options
+
Command line options are used to specify various startup options for Firefox.
+
Reporting a Performance Problem
+
This article will guide you in reporting a performance problem using the Gecko Profiler extension.
+
Crash reporting
+
Firefox ships with an open-source crash reporting system.
+
+
+
+ +
+

Firefox for Android

+ +
+
+
+
Mobile Firefox
+
Firefox for Android is the mobile version of Firefox with a native Android look and feel.
+
Compatibility Testing
+
Help us identify websites that do not work well in Firefox by reporting the specific issues that you find in your investigation.
+
+
+ +
+
+
Logging with the Android Debug Bridge and Logcat
+
This article will provide a walkthrough in downloading and setting up an environment to which one can gain access to and view Android system logs.
+
Enabling the Error Console
+
See the Mozilla Hacks article on Remote Debugging on Firefox for Android for web content. If you need to debug the Firefox browser itself use Android's adb logcat.
+
+
+
+ +
+

Firefox OS

+ +
+
+

Manual testing

+ +
+
Simulator vs Emulator vs Device
+
These are three basic options when it comes to getting a Firefox OS environment in order to work on, or developing for, Firefox OS.
+
Debugging
+
Discover the different tools at your disposal to debug your Firefox OS code.
+
Reporting Bugs
+
This article provides a guide to filing bugs against the Firefox OS project, including Gaia and B2G.
+
+
+ +
+

Platform (Gecko)

+ +
+
Automated Testing
+
Learn various aspects of testing Firefox OS, including running different tests, automation, and result reporting and tracking.
+
Gaia Performance Tests
+
This article provides information about running performance tests on Gaia, as well as how to create new tests.
+
Feature Support Chart
+
There are several different builds of Firefox OS you can download or build for yourself, and there are some differences between the types of features available on each device.
+
+
+
+ +
+

Web QA

+ +
+
+
+
Reducing testcases
+
Improve bug reports by turning broken web pages into simple testcases, which can help developers understand the bug and can also be used for creating automated tests.
+
Managing XFails
+
One of the ongoing tasks of the Web QA department is managing xfails. This document will explain what xfails are, and describe the steps one can take to investigate and update them.
+
+
+ +
+
+
Running Automated Tests
+
So you’re interested in contributing to Mozilla Web QA automation projects but don’t know where to start? This doc will help you get up and running a set of tests locally.
+
+
+
+ +
+

Glossary

+ +
+
+
Smoke Test
+
+
+
+ +

See also

+ + -- cgit v1.2.3-54-g00ecf