recursal/MDN huggingface dataset:
Bloco (CSS)
===========

Um **bloco** em uma página web é um elemento HTML que aparece em uma nova linha, Isto é, abaixo do elemento precedente em um modo de escrita horizontal e acima do elemento seguinte (comumente conhecido como um elemento de nível de bloco - *block-level element*). Por exemplo, `<p>` é por padrão um elemento em nível de bloco, enquanto `<a>` é um *elemento inline* — você pode colocar vários links próximos uns dos outros em seu HTML e eles ficarão na mesma linha como qualquer outro na saída renderizada.

Usando a propriedade `display` você pode alterar a forma como um elemento é exibido, como inline ou como bloco (entre muitas outras opções); **blocos** também estão sujeitos aos efeitos de esquemas de posicionamento e uso da propriedade `position`.

Saiba mais
----------

### Conhecimento geral

* Modelo de formatação visual (en-US)
O que são extensões?
====================

Extensões são bits de código que modificam a funcionalidade do navegador. Eles são escritos usando as tecnologias padrões da Web - JavaScript, HTML e CSS - além de APIs JavaScript dedicadas. Entre outras coisas, extensões podem adicionar novas funcionalidades para o navegador, ou mudar sua aparência, ou o conteúdo de páginas particulares.

Extensões para Firefox são construídas usando *WebExtensions APIs*, um sistema multi-navegador (*cross-browser*) para o desenvolvimento de extensões. Para uma maior portabilidade, a API é compatível com a *extension API*, suportada pelo Google Chrome e pelo Opera. Extensões escritas para esses navegadores, na maioria dos casos, vão rodar no Firefox ou Microsoft Edge com poucas mudanças. A API é também totalmente compatível com o *multiprocess Firefox*.

No passado, você poderia desenvolver extensões para Firefox usando um dos três métodos diferentes: *XUL/XPCOM overlays, bootstrapped extensions* ou o *Add-on SDK*. A partir do fim de Novembro de 2017, *WebExtensions APIs* será o único meio de desenvolver extensões para Firefox, e os outros métodos serão descontinuados.

Se você tem dúvidas ou sugestões, ou precisa de ajuda para migrar um *add-on* antigo para o *WebExtensions APIs*, você pode entrar em contato conosco pela *dev-addon mailing list* ou pelo canal *#extdev* no IRC.

Próximos passos
---------------

* Para experimentar alguns exemplos de extensões, veja Exemplos de extensões
* Para aprender sobre a estrutura de uma extensão, acesse Anatomia de uma Extensão.
* Para acompanhar do início ao fim o desenvolvimento de uma simples extensão, veja Sua primeira Extensão.
tema
====

Permite que extensões do navegador alterem seu tema.

Para usar esta API, uma extensão deve solicitar a permission (permissão) de "tema" em seu arquivo manifest.json (en-US).

**Nota:** Quando configuramos um arquivo de plano de fundo, devemos declarar a permission (permissão) de "tema" e, assim sendo, nós não poderemos usar a função theme (de tema), se esta for incompatível.

Tipo
----

`theme.Theme` (en-US)

Representa o conteúdo de um tema.

Funções
-------

`theme.getCurrent()` (en-US)

Obtém o tema atual do navegador.

`theme.update()` (en-US)

Atualiza o tema do navegador.

`theme.reset()` (en-US)

Remove quaisquer atualizações de temas feitas em uma chamada para `theme.update()` (en-US).

Evento
------

`theme.onUpdated` (en-US)

Disparada quando o navegador tiver sido alterado.

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* dynamic-theme
* private-browsing-theme
* theme-integrated-sidebar
contentScripts
==============

Use esta API para registrar o conteúdo de scripts. Registrando um conteúdo de scripts instrui o navegador para inserir conteúdo de script fornecido em páginas que batem com um padrão de URL fornecida.

Esta API é muito similar a chave do `"content_scripts"` (en-US) no manifest.json key, exceto pelo `"content_scripts"`, o conjunto de conteúdo de scripts a padrões associados são fixados no momento da instalação. Com a API `contentScripts`, uma extensão pode registrar e desregistrar scripts em tempo de execução.

Para usar a API, invoque `contentScripts.register()` (en-US) passando um objeto definido para registrar os scripts, os padrões de URL e outras opções. Ele retorna uma `Promise` que é resolvida com o objeto `contentScripts.RegisteredContentScript` (en-US).

O objeto `RegisteredContentScript` represente os scripts que foram registrados com a chamada `register()`. Ele define um método `unregister()` que você pode usar para desregistrar o conteúdo de scripts. O conteúdo de scripts também são desregistrados automaticamente quando a página que os criou é destruida. Por exemplo, se estão registrados para uma página em segundo plano serão desregistrados automaticamente quando esta página for destruida, e se eles estão registrados para uma barra lateral ou popup, também serão desregistrados automaticamente quando essas forem fechadas.

Não há permissão para a API `contentScripts`, mas uma extensão pode ter a permissão de host apropriada para algum padrão passado para o `register()`.

Tipos
-----

`contentScripts.RegisteredContentScript` (en-US)

Um objeto deste tipo é retornado pela função `contentScripts.register()` (en-US) . Ele representa o conteúdo dos scripts que foram registrados por aquela chamada, e podem ser usados para desregistrar o conteúdo do script.

Funções
-------

`contentScripts.register()` (en-US)

Registra o conteúdo dos scripts fornecidos.

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* content-script-register
clipboard
=========

A API de área de transferência habilita uma extensão para copiar itens para a área de transferência do sistema. Atualmente a API suporta apenas a cópia de imagens, mas é pretendido suportar a cópia de texto e HTML no futuro.

Esta API WebExtension existe primariamente por causa que o padrão da API web para área de transferência não suporta escrita de imagens. Se e quando esta funcionalidade for adicionada na API wb padrão, esta API pode ser depreciada.

Leitura da área de transfência não é suportada por esta API, devido esta já poder ser lida usando as APIs padrão da plataforma web. Veja interagindo com a área de transferência.

Esta API é baseada na API `clipboard` do Chrome's API, mas esta API está disponível somente para o Chrome.

Para utilizar esta API voce precisa ter a permissão "clipboardWrite".

Funções
-------

`clipboard.setImageData()` (en-US)

Copia uma imagem para a área de transferência.

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

**Nota:** **Agradecimentos**Esta API é baseada na API Chromium `chrome.clipboard`.
browsingData
============

Habilita extensões a limpar os dados que estão acumulados enquando o usuário navega.

Na API `browsingData`, os dados de navegação são divididos em tipos:

* cache do browser
* cookies
* downloads
* histórico
* armazenamento local
* dados de plugin
* dados de formulários salvos
* senhas salvas

Você pode usar a função `browsingData.remove()` para remover qualquer combinação desses tipos. Há também funções específicas para remover cada tipo de data em particular, como por exemplo `removePasswords()` (en-US), `removeHistory()` (en-US) e assim por diante.

Todas funções `browsingData.remove[X]()` pegam o objeto `browsingData.RemovalOptions` (en-US) que você usa para controlar outros dois aspectos da remoção de dados:

* quão antigos são os dados para a remoção
* se é para remover dados de páginas normais, ou também para hospedar aplicativos web ou add-ons. Observe que esta opção ainda não é suportada no Firefox.

Finalmente, a API `browsingData.settings()` (en-US) fornece uma função que retorna o atual valor das configurações da funcionalidade "Limpar Histórico".

Para usar esta API você deve ter a permissão de API "browsingData".

Tipos
-----

`browsingData.DataTypeSet` (en-US)

Objeto usado para especificar o tipo de dado para remoção: por exemplo, histórico, downloads, senhas e assim por diante.

`browsingData.RemovalOptions` (en-US)

Objeto usado para especificar o quanto tempo para remoção de dados, e se remover dados adicionados em uma navegação web normal, por aplicativos hospedados ou por add-ons.

Methods
-------

`browsingData.remove()`

Remove os dados de navegação especificado pelo seu tipo.

`browsingData.removeCache()`

Limpa o cache do navegador.

`browsingData.removeCookies()`

Remove os cookies.

`browsingData.removeDownloads()`

Remove a lista de arquivos baixados.

`browsingData.removeFormData()`

Limpa os dados de um formulário salvo.

`browsingData.removeHistory()` (en-US)

Limpa o histórico do navegador.

`browsingData.removeLocalStorage()` (en-US)

Limpa qualquer local storage criado por websites.

`browsingData.removePasswords()` (en-US)

Limpa passwords salvos.

`browsingData.removePluginData()` (en-US)

Limpa os dados associados com plugins.

`browsingData.settings()` (en-US)

Obtém o valor atual de configuração da funcionalidade "Limpar Histórico" do navegador.

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* forget-it

**Nota:** **Agradecimentos**Esta API é baseada na API `chrome.browsingData` do Chromium.Os dados de compatibilidade do Microsoft Edge compatibility são fornecidos pela Microsoft Corporation e aqui estão inclusos sob a Creative Commons Attribution 3.0 United States License.
browserSettings
===============

Habilita uma extensão para modificar certas configurações globais do navegador. Cada propriedade desta API é um objeto `BrowserSetting` (en-US), provendo a capacidade de modificar uma configuração particular.Devido estas serem configurações globais, é possível haver conflito entre extensões. Veja a documentação `BrowserSetting.set()` para detalhes de como ligar com conflitos .
Para usar esta API você precisa ter a permissão "browserSettings".

Propriedades
------------

`browserSettings.allowPopupsForUserEvents` (en-US)

Determina se o código em execução nas páginas podem mostrar popups em resposta a eventos do usuário.

`browserSettings.cacheEnabled` (en-US)

Determina se o cache do navegador está ou não habilitado.

`browserSettings.closeTabsByDoubleClick` (en-US)

Determina se a aba selecionada pode ser fechada com um duplo click.

`browserSettings.contextMenuShowEvent` (en-US)

Determina o evento do mouse que dispara um menu de contexto de popup.

`browserSettings.homepageOverride` (en-US)

Lê o valor da página inicial do navegador.

`browserSettings.imageAnimationBehavior` (en-US)

Determina como o navegador trata imagens animadas.

`browserSettings.newTabPageOverride` (en-US)

Lê o valor da nova aba do navegador.

`browserSettings.newTabPosition` (en-US)

Controla a posição de abas recentemente abertas relativa as abas já presentes.

`browserSettings.openBookmarksInNewTabs` (en-US)

Determina se os favoritos são abertos na aba atual ou em uma nova aba.

`browserSettings.openSearchResultsInNewTabs` (en-US)

Determina se a busca de resultados é aberta na aba atual ou em uma nova.

`browserSettings.openUrlbarResultsInNewTabs` (en-US)

Determina se as sugestões do autocompletar da barra de endereços são abertas na aba atual ou em uma nova.

`browserSettings.overrideDocumentColors` (en-US)

Controla se as cores de escolha do usuário sobrescreverão as cores das páginas.

`browserSettings.useDocumentFonts` (en-US)

Controle se o navegador usará as fontes especificadas pela página web ou somente fontes embutidas.

`browserSettings.webNotificationsDisabled` (en-US)

Previne que os sites exibam notificações usando a API Web `Notification`.

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
commands
========

Escuta por usuário executando comandos que você registrou usando o `commands` manifest.json key.

Tipos
-----

`commands.Command` (en-US)

Objeto representando um comando. Contém a informação especificada no comando `commands` manifest.json key.

Funções
-------

`commands.getAll` (en-US)

Obtém todos os comandos registrados para esta extensão.

`commands.reset` (en-US)

Reseta a descrição do comando dado e atalho para os valores dados na chave do manifesto.

`commands.update` (en-US)

Modifica a descrição ou atalho dado um comando.

Eventos
-------

`commands.onCommand` (en-US)

Disparado quando um comando é executado usando seu atalho associado ao teclado.

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* commands

**Nota:** **Agradecimentos**Esta API é baseada na API `chrome.commands` do Chromium.Os dados de compatibilidade do Microsoft Edge são fornecidos pela Microsoft Corporation e estão aqui inclusos sob a Creative Commons Attribution 3.0 United States License.
alarms
======

Executar um código agendado para um horário específico no futuro. Isto é como o `setTimeout()` (en-US) e `setInterval()` (en-US), exceto essas funções não funcionam no segundo plano com páginas carregadas sob demanda.

Para usar estas API você precisa ter a "alarms" permission.

Tipos
-----

`alarms.Alarm` (en-US)

Informações sobre um alarme em particular.

Funções
-------

`alarms.create()` (en-US)

Cria um alarme.

`alarms.get()` (en-US)

Obtém um alarme específico dado seu nome.

`alarms.getAll()` (en-US)

Obtém todos os alarmes agendados.

`alarms.clear()` (en-US)

Limpa um alarme específico dado seu nome.

`alarms.clearAll()` (en-US)

Limpa todos os alarmes agendados.

Eventos
-------

`alarms.onAlarm` (en-US)

Disparado quando o alarme acaba.

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* chill-out
* dynamic-theme

**Nota:** **Agradecimentos**Esta API é baseada na API Chromium's `chrome.alarms` .Dados de compatibilidade do Microsoft Edge fornecidos pela Microsoft Corporation aqui inclusos sob a Creative Commons Attribution 3.0 United States License.
browsingData.removeFormData()
=============================

Limpa os dados que o navegador salvou para formulários com preenchimento automático.

Você pode usar o parâmetro `removalOptions`, que é um objeto `browsingData.RemovalOptions` (en-US), para:

* limpar apenas os dados de formulários inseridos após determinado tempo.
* controlar se limpar os dados do formulário apenas de uma página web normal ou limpa os dados de um app e extensões hospedados também.

Esta é uma função assíncrona que retorna uma `Promise`.

Sintaxe
-------


```js
let removing = browser.browsingData.removeFormData(
  removalOptions, // objeto RemovalOptions
);
```

### Parâmetros

`removalOptions`

`object`. Um objeto `browsingData.RemovalOptions` (en-US), que pode ser usado para limpar apenas dados de formulários inseridos após determinado tempo, e limpa os dados inseridos apenas de uma página web normal ou limpa os dados de apps e extensões hospedados.

### Valor retornado

Uma `Promise` que será realizada sem argumentos quando a remoção for finalizada. Se ocorrer qualquer erro, a promise será rejeitada com uma mensagem de erro.

Exemplos
--------

Remove dados de formulários salvos na última semana:


```js
function onRemoved() {
  console.log("removido");
}

function onError(error) {
  console.error(error);
}

function weekInMilliseconds() {
  return 1000 \* 60 \* 60 \* 24 \* 7;
}

let oneWeekAgo = new Date().getTime() - weekInMilliseconds();

browser.browsingData
  .removeFormData({ since: oneWeekAgo })
  .then(onRemoved, onError);
```


Remove todos os dados de formulário salvos:


```js
function onRemoved() {
  console.log("removido");
}

function onError(error) {
  console.error(error);
}

browser.browsingData.removeFormData({}).then(onRemoved, onError);
```

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

> 
> **Note:** Esta API é baseada na API do Chromium `chrome.browsingData`.
> 
> 
> A compatibilidade dos dados do Microsoft Edge é fornecida pela Microsoft Corporation e é incluída aqui sob a licença Creative Commons Attribution 3.0 United States.
> 
> 
>
browsingData.removeCookies()
============================

Limpa os cookies do navegador.

Você pode usar o parâmetro `removalOptions`, em que é um objeto `browsingData.RemovalOptions` (en-US), para:

* limpar apenas os cookies criados em determinado tempo.
* controlar se limpar os cookies apenas de uma página web normal ou limpa os cookies de um app e extensões hospedados.

Esta é uma função assíncrona que retorna uma `Promise`.

Sintaxe
-------


```js
let removing = browser.browsingData.removeCookies(
  removalOptions, // objeto RemovalOptions
);
```

### Parâmetros

`removalOptions`

`object`. Um objeto `browsingData.RemovalOptions` (en-US), que pode ser usado para limpar apenas cookies criados depois de determinado tempo, e limpa os cookies apenas de uma página web normal ou limpa os cookies de apps e extensões hospedados.

### Valor retornado

Uma `Promise` que será realizada sem argumentos quando a remoção for finalizada. Se ocorrer qualquer erro, a promise será rejeitada com uma mensagem de erro.

Exemplos
--------

Remove cookies criados na última semana:


```js
function onRemoved() {
  console.log("removido");
}

function onError(error) {
  console.error(error);
}

function weekInMilliseconds() {
  return 1000 \* 60 \* 60 \* 24 \* 7;
}

let oneWeekAgo = new Date().getTime() - weekInMilliseconds();

browser.browsingData
  .removeCookies({ since: oneWeekAgo })
  .then(onRemoved, onError);
```


Remove todos os cookies:

> 
> **Warning:** Usar a API para remover todos os cookies irá, simultâneamente, limpar todos os objetos local storage (incluindo aqueles de outras extensões)
> 
> 
> Se você quer limpar todos os cookies sem alterar as informações do local storage, use browser.cookies para percorrer and remover os conteúdos de todos os cookies armazenados
> 
> 
> 


```js
function onRemoved() {
  console.log("removido");
}

function onError(error) {
  console.error(error);
}

browser.browsingData.removeCookies({}).then(onRemoved, onError);
```

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

> 
> **Note:** Esta API é baseada na API do Chromium `chrome.browsingData`.
> 
> 
> A compatibilidade dos dados do Microsoft Edge é fornecida pela Microsoft Corporation e é incluída aqui sob a licença Creative Commons Attribution 3.0 United States.
> 
> 
>
browsingData.removeCache()
==========================

Limpa o cache do navegador.

Note que apesar desta função receber um objeto `browsingData.RemovalOptions` (en-US), ele será ignorado. Todo o cache sempre será limpo usando esta função.

Esta é uma função assíncrona que retorna uma `Promise`.

Sintaxe
-------


```js
let removing = browser.browsingData.removeCache(
  removalOptions, // objeto RemovalOptions
);
```

### Parâmetros

`removalOptions` Optional

`object`. Um objeto `browsingData.RemovalOptions` (en-US). Este parâmetro não tem efeito.

### Valor retornado

Uma `Promise` que será realizada sem argumentos quando a remoção for finalizada. Se ocorrer qualquer erro, a promise será rejeitada com uma mensagem de erro.

Exemplos
--------

Limpar o cache do navegador:


```js
function onRemoved() {
  console.log("removido");
}

function onError(error) {
  console.error(error);
}

browser.browsingData.removeCache({}).then(onRemoved, onError);
```

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

**Nota:** Esta API é baseada na API do Chromium `chrome.browsingData`.

A compatibilidade dos dados do Microsoft Edge é fornecida pela Microsoft Corporation e é incluída aqui sob a licença Creative Commons Attribution 3.0 United States.
browsingData.removeDownloads()
==============================

Limpa o histórico de objetos baixados no navegador. Note que isto não deleta os arquivos baixados de fato, apenas os registros no histórico do navegador.

Você pode usar o parâmetro `removalOptions`, em que é um objeto `browsingData.RemovalOptions` (en-US), para:

* limpar apenas os itens baixados em determinado tempo.
* controlar se limpar os registros doe itens baixados apenas de uma página web normal ou limpa os registros de um app e extensões hospedados.

Esta é uma função assíncrona que retorna uma `Promise`.

Sintaxe
-------


```js
let removing = browser.browsingData.removeDownloads(
  removalOptions, // objeto RemovalOptions
);
```

### Parâmetros

`removalOptions`

`object`. Um objeto `browsingData.RemovalOptions` (en-US), que pode ser usado para limpar apenas os registros criados após determinado tempo, e limpa os registros apenas de uma página web normal ou limpa os registros de apps e extensões hospedados.

### Valor retornado

Uma `Promise` que será realizada sem argumentos quando a remoção for finalizada. Se ocorrer qualquer erro, a promise será rejeitada com uma mensagem de erro.

Exemplos
--------

Remove registros de arquivos baixados na última semana:


```js
function onRemoved() {
  console.log("removed");
}

function onError(error) {
  console.error(error);
}

function weekInMilliseconds() {
  return 1000 \* 60 \* 60 \* 24 \* 7;
}

let oneWeekAgo = new Date().getTime() - weekInMilliseconds();

browser.browsingData
  .removeDownloads({ since: oneWeekAgo })
  .then(onRemoved, onError);
```


Remove todos os registros de objetos baixados:


```js
function onRemoved() {
  console.log("removed");
}

function onError(error) {
  console.error(error);
}

browser.browsingData.removeDownloads({}).then(onRemoved, onError);
```

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

> 
> **Note:** Esta API é baseada na API do Chromium `chrome.browsingData`.
> 
> 
> A compatibilidade dos dados do Microsoft Edge é fornecida pela Microsoft Corporation e é incluída aqui sob a licença Creative Commons Attribution 3.0 United States.
> 
> 
>