mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Merge fx-team to m-c a=merge
This commit is contained in:
commit
dfff3e8c83
@ -368,7 +368,7 @@
|
||||
<menuitem id="context-viewsource"
|
||||
label="&viewPageSourceCmd.label;"
|
||||
accesskey="&viewPageSourceCmd.accesskey;"
|
||||
oncommand="BrowserViewSourceOfDocument(gContextMenu.browser.contentDocument);"
|
||||
oncommand="BrowserViewSourceOfDocument(gContextMenu.browser.contentDocumentAsCPOW);"
|
||||
observes="isImage"/>
|
||||
<menuitem id="context-viewinfo"
|
||||
label="&viewPageInfoCmd.label;"
|
||||
|
@ -779,7 +779,9 @@
|
||||
|
||||
<handler event="dragstart" phase="capturing"><![CDATA[
|
||||
// Drag only if the gesture starts from the input field.
|
||||
if (event.originalTarget != this.inputField)
|
||||
if (this.inputField != event.originalTarget &&
|
||||
!(this.inputField.compareDocumentPosition(event.originalTarget) &
|
||||
Node.DOCUMENT_POSITION_CONTAINED_BY))
|
||||
return;
|
||||
|
||||
// Drag only if the entire value is selected and it's a valid URI.
|
||||
|
@ -206,7 +206,7 @@ loop.panel = (function(_, mozL10n) {
|
||||
_generateMailTo: function() {
|
||||
return encodeURI([
|
||||
"mailto:?subject=" + __("share_email_subject2") + "&",
|
||||
"body=" + __("share_email_body", {callUrl: this.state.callUrl})
|
||||
"body=" + __("share_email_body2", {callUrl: this.state.callUrl})
|
||||
].join(""));
|
||||
},
|
||||
|
||||
|
@ -206,7 +206,7 @@ loop.panel = (function(_, mozL10n) {
|
||||
_generateMailTo: function() {
|
||||
return encodeURI([
|
||||
"mailto:?subject=" + __("share_email_subject2") + "&",
|
||||
"body=" + __("share_email_body", {callUrl: this.state.callUrl})
|
||||
"body=" + __("share_email_body2", {callUrl: this.state.callUrl})
|
||||
].join(""));
|
||||
},
|
||||
|
||||
|
@ -169,7 +169,7 @@ loop.shared.router = (function(l10n) {
|
||||
* @param {Object} event
|
||||
*/
|
||||
_onPeerHungup: function() {
|
||||
this._notifier.warnL10n("peer_ended_conversation");
|
||||
this._notifier.warnL10n("peer_ended_conversation2");
|
||||
this.endCall();
|
||||
},
|
||||
|
||||
|
@ -4,11 +4,11 @@ call_has_ended=Your call has ended.
|
||||
call_timeout_notification_text=Your call did not go through.
|
||||
missing_conversation_info=Missing conversation information.
|
||||
network_disconnected=The network connection terminated abruptly.
|
||||
peer_ended_conversation=Your peer ended the conversation.
|
||||
peer_ended_conversation2=The person you were calling has ended the conversation.
|
||||
unable_retrieve_call_info=Unable to retrieve conversation information.
|
||||
hangup_button_title=Hangup
|
||||
hangup_button_title=Hang up
|
||||
mute_local_audio_button_title=Mute your audio
|
||||
unmute_local_audio_button_title=Unute your audio
|
||||
unmute_local_audio_button_title=Unmute your audio
|
||||
mute_local_video_button_title=Mute your video
|
||||
unmute_local_video_button_title=Unmute your video
|
||||
start_call=Start the call
|
||||
@ -42,7 +42,6 @@ call_has_ended=L'appel est terminé.
|
||||
call_timeout_notification_text=Votre appel n'a pas abouti.
|
||||
missing_conversation_info=Informations de communication manquantes.
|
||||
network_disconnected=La connexion réseau semble avoir été interrompue.
|
||||
peer_ended_conversation=Votre correspondant a mis fin à la communication.
|
||||
unable_retrieve_call_info=Impossible de récupérer les informations liées à cet appel.
|
||||
hangup_button_title=Terminer l'appel
|
||||
mute_local_audio_button_title=Couper la diffusion audio
|
||||
|
@ -255,7 +255,7 @@ describe("loop.panel", function() {
|
||||
|
||||
if (key === "share_email_subject2")
|
||||
text = "email-subject";
|
||||
else if (key === "share_email_body")
|
||||
else if (key === "share_email_body2")
|
||||
text = "{{callUrl}}";
|
||||
|
||||
return JSON.stringify({textContent: text});
|
||||
|
@ -165,7 +165,7 @@ describe("loop.shared.router", function() {
|
||||
|
||||
sinon.assert.calledOnce(notifier.warnL10n);
|
||||
sinon.assert.calledWithExactly(notifier.warnL10n,
|
||||
"peer_ended_conversation");
|
||||
"peer_ended_conversation2");
|
||||
|
||||
});
|
||||
|
||||
|
@ -1097,29 +1097,20 @@ var gApplicationsPane = {
|
||||
_loadPluginHandlers: function() {
|
||||
"use strict";
|
||||
|
||||
let pluginHost = Cc["@mozilla.org/plugin/host;1"].getService(Ci.nsIPluginHost);
|
||||
let pluginTags = pluginHost.getPluginTags();
|
||||
let mimeTypes = navigator.mimeTypes;
|
||||
|
||||
for (let i = 0; i < pluginTags.length; ++i) {
|
||||
let pluginTag = pluginTags[i];
|
||||
|
||||
let mimeTypes = pluginTag.getMimeTypes();
|
||||
for (let j = 0; j < mimeTypes.length; ++j) {
|
||||
let type = mimeTypes[j];
|
||||
|
||||
let handlerInfoWrapper;
|
||||
if (type in this._handledTypes)
|
||||
handlerInfoWrapper = this._handledTypes[type];
|
||||
else {
|
||||
let wrappedHandlerInfo =
|
||||
this._mimeSvc.getFromTypeAndExtension(type, null);
|
||||
handlerInfoWrapper = new HandlerInfoWrapper(type, wrappedHandlerInfo);
|
||||
handlerInfoWrapper.handledOnlyByPlugin = true;
|
||||
this._handledTypes[type] = handlerInfoWrapper;
|
||||
}
|
||||
|
||||
handlerInfoWrapper.pluginName = pluginTag.name;
|
||||
for (let mimeType of mimeTypes) {
|
||||
let handlerInfoWrapper;
|
||||
if (mimeType.type in this._handledTypes) {
|
||||
handlerInfoWrapper = this._handledTypes[mimeType.type];
|
||||
} else {
|
||||
let wrappedHandlerInfo =
|
||||
this._mimeSvc.getFromTypeAndExtension(mimeType.type, null);
|
||||
handlerInfoWrapper = new HandlerInfoWrapper(mimeType.type, wrappedHandlerInfo);
|
||||
handlerInfoWrapper.handledOnlyByPlugin = true;
|
||||
this._handledTypes[mimeType.type] = handlerInfoWrapper;
|
||||
}
|
||||
handlerInfoWrapper.pluginName = mimeType.enabledPlugin.name;
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -1089,29 +1089,20 @@ var gApplicationsPane = {
|
||||
_loadPluginHandlers: function() {
|
||||
"use strict";
|
||||
|
||||
let pluginHost = Cc["@mozilla.org/plugin/host;1"].getService(Ci.nsIPluginHost);
|
||||
let pluginTags = pluginHost.getPluginTags();
|
||||
let mimeTypes = navigator.mimeTypes;
|
||||
|
||||
for (let i = 0; i < pluginTags.length; ++i) {
|
||||
let pluginTag = pluginTags[i];
|
||||
|
||||
let mimeTypes = pluginTag.getMimeTypes();
|
||||
for (let j = 0; j < mimeTypes.length; ++j) {
|
||||
let type = mimeTypes[j];
|
||||
|
||||
let handlerInfoWrapper;
|
||||
if (type in this._handledTypes)
|
||||
handlerInfoWrapper = this._handledTypes[type];
|
||||
else {
|
||||
let wrappedHandlerInfo =
|
||||
this._mimeSvc.getFromTypeAndExtension(type, null);
|
||||
handlerInfoWrapper = new HandlerInfoWrapper(type, wrappedHandlerInfo);
|
||||
handlerInfoWrapper.handledOnlyByPlugin = true;
|
||||
this._handledTypes[type] = handlerInfoWrapper;
|
||||
}
|
||||
|
||||
handlerInfoWrapper.pluginName = pluginTag.name;
|
||||
for (let mimeType of mimeTypes) {
|
||||
let handlerInfoWrapper;
|
||||
if (mimeType.type in this._handledTypes) {
|
||||
handlerInfoWrapper = this._handledTypes[mimeType.type];
|
||||
} else {
|
||||
let wrappedHandlerInfo =
|
||||
this._mimeSvc.getFromTypeAndExtension(mimeType.type, null);
|
||||
handlerInfoWrapper = new HandlerInfoWrapper(mimeType.type, wrappedHandlerInfo);
|
||||
handlerInfoWrapper.handledOnlyByPlugin = true;
|
||||
this._handledTypes[mimeType.type] = handlerInfoWrapper;
|
||||
}
|
||||
handlerInfoWrapper.pluginName = mimeType.enabledPlugin.name;
|
||||
}
|
||||
},
|
||||
|
||||
|
107
browser/docs/UITelemetry.rst
Normal file
107
browser/docs/UITelemetry.rst
Normal file
@ -0,0 +1,107 @@
|
||||
=======================
|
||||
UITelemetry data format
|
||||
=======================
|
||||
|
||||
UI Telemetry sends its data as a JSON blob. This document describes the different parts
|
||||
of the JSON blob.
|
||||
|
||||
``toolbars``
|
||||
------------
|
||||
|
||||
This tracks the state of the user's UI customizations. It has the following properties:
|
||||
|
||||
- ``sizemode`` - string indicating whether the window is in maximized, normal (restored) or
|
||||
fullscreen mode;
|
||||
- ``bookmarksBarEnabled`` - boolean indicating whether the bookmarks bar is visible;
|
||||
- ``menuBarEnabled`` - boolean indicating whether the menu bar is visible (always false on OS X);
|
||||
- ``titleBarEnabled`` - boolean indicating whether the (real) titlebar is visible (rather than
|
||||
having tabs in the titlebar);
|
||||
- ``defaultKept`` - list of strings identifying toolbar buttons and items that are still in their
|
||||
default position. Only the IDs of builtin widgets are sent (ie not add-on widgets);
|
||||
- ``defaultMoved`` - list of strings identifying toolbar buttons and items that are no longer in
|
||||
their default position, but have not been removed to the palette. Only the IDs of builtin widgets
|
||||
are sent (ie not add-on widgets);
|
||||
- ``nondefaultAdded`` - list of strings identifying toolbar buttons and items that have been added
|
||||
from the palette. Only the IDs of builtin widgets are sent (ie not add-on widgets);
|
||||
- ``defaultRemoved`` - list of strings identifying toolbar buttons and items that are in the
|
||||
palette that are elsewhere by default. Only the IDs of builtin widgets are sent
|
||||
(ie not add-on widgets);
|
||||
- ``addonToolbars`` - the number of non-default toolbars that are customizable. 1 by default
|
||||
because it counts the add-on bar shim;
|
||||
- ``visibleTabs`` - array of the number of visible tabs per window;
|
||||
- ``hiddenTabs`` - array of the number of hidden tabs per window (ie tabs in panorama groups which
|
||||
are not the current group);
|
||||
- ``countableEvents`` - please refer to the next section.
|
||||
- ``durations`` - an object mapping descriptions to duration records, which records the amount of
|
||||
time a user spent doing something. Currently only has one property:
|
||||
- ``customization`` - how long a user spent customizing the browser. This is an array of
|
||||
objects, where each object has a ``duration`` property indicating the time in milliseconds,
|
||||
and a ``bucket`` property indicating a bucket in which the duration info falls.
|
||||
|
||||
``countableEvents``
|
||||
-------------------
|
||||
|
||||
Countable events are stored under the ``toolbars`` section. They count the number of times certain
|
||||
events happen. No timing or other correlating information is stored - purely the number of times
|
||||
things happen.
|
||||
|
||||
``countableEvents`` is an object with properties representing buckets. In each bucket, there is an
|
||||
object with the following properties:
|
||||
|
||||
- ``click-builtin-item`` is an object tracking clicks on builtin customizable toolbar items, keyed
|
||||
off the item IDs, with an object for each item with keys ``left``, ``middle`` and ``right`` each
|
||||
storing a number indicating how often the respective type of click has happened.
|
||||
- ``click-menu-button`` is the same, except the item ID is always 'button'.
|
||||
- ``click-bookmarks-bar`` is the same, with the item IDs being replaced by either ``container`` for
|
||||
clicks on bookmark or livemark folders, and ``item`` for individual bookmarks.
|
||||
- ``click-menubar`` is similar, with the item IDs being replaced by one of ``menu``, ``menuitem``
|
||||
or ``other``, depending on the kind of item clicked. Note that this is not tracked on OS X, where
|
||||
we can't listen for these events because of the global menubar.
|
||||
- ``click-bookmarks-menu-button`` is also similar, with the item IDs being replaced by:
|
||||
- ``menu`` for clicks on the 'menu' part of the item;
|
||||
- ``add`` for clicks that add a bookmark;
|
||||
- ``edit`` for clicks that open the panel to edit an existing bookmark;
|
||||
- ``in-panel`` for clicks when the button is in the menu panel, and clicking it does none of the
|
||||
above;
|
||||
- ``customize`` tracks different types of customization events without the ``left``, ``middle`` and
|
||||
``right`` distinctions. The different events are the following, with each storing a count of the
|
||||
number of times they occurred:
|
||||
- ``start`` counts the number of times the user starts customizing;
|
||||
- ``add`` counts the number of times an item is added somewhere from the palette;
|
||||
- ``move`` counts the number of times an item is moved somewhere else (but not to the palette);
|
||||
- ``remove`` counts the number of times an item is removed to the palette;
|
||||
- ``reset`` counts the number of times the 'restore defaults' button is used;
|
||||
|
||||
|
||||
``UITour``
|
||||
----------
|
||||
The UI Tour has its own section in the UI Telemetry output, outside of the ``toolbars`` section.
|
||||
It has a single property ``seenPageIDs`` which tracks which UI Tour pages have been run.
|
||||
|
||||
``contextmenu``
|
||||
---------------
|
||||
We track context menu interactions to figure out which ones are most often used and/or how
|
||||
effective they are. In the ``contextmenu`` object, we first store things per-bucket. Next, we
|
||||
divide the following different context menu situations:
|
||||
|
||||
- ``selection`` if there is content on the page that's selected on which the user clicks;
|
||||
- ``link`` if the user opened the context menu for a link
|
||||
- ``image-link`` if the user opened the context menu on an image or canvas that's a link;
|
||||
- ``image`` if the user opened the context menu on an image (that isn't a link);
|
||||
- ``canvas`` if the user opened the context menu on a canvas (that isn't a link);
|
||||
- ``media`` if the user opened the context menu on an HTML video or audio element;
|
||||
- ``input`` if the user opened the context menu on a text input element;
|
||||
- ``social`` if the user opened the context menu inside a social frame;
|
||||
- ``other`` for all other openings of the content menu;
|
||||
|
||||
Each of these objects (if they exist) then gets a "withcustom" and/or a "withoutcustom" property
|
||||
for context menus opened with custom page-created items and without them, and each of those
|
||||
properties holds an object with IDs corresponding to a count of how often an item with that ID was
|
||||
activated in the context menu. Only builtin context menu items are tracked, and besides those items
|
||||
there are four special items which get counts:
|
||||
|
||||
- ``close-without-interaction`` is incremented when the user closes the context menu without interacting with it;
|
||||
- ``custom-page-item`` is incremented when the user clicks an item that was created by the page;
|
||||
- ``unknown`` is incremented when an item without an ID was clicked;
|
||||
- ``other-item`` is incremented when an add-on-provided menuitem is clicked.
|
||||
|
9
browser/docs/index.rst
Normal file
9
browser/docs/index.rst
Normal file
@ -0,0 +1,9 @@
|
||||
=======
|
||||
Firefox
|
||||
=======
|
||||
|
||||
This is the nascent documentation of the Firefox front-end code.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
@ -21,13 +21,13 @@ incoming_call_answer_audio_only_tooltip=Answer with voice
|
||||
incoming_call_decline_button=Decline
|
||||
incoming_call_decline_and_block_button=Decline and Block
|
||||
incoming_call_block_button=Block
|
||||
hangup_button_title=Hangup
|
||||
hangup_button_title=Hang up
|
||||
mute_local_audio_button_title=Mute your audio
|
||||
unmute_local_audio_button_title=Unmute your audio
|
||||
mute_local_video_button_title=Mute your video
|
||||
unmute_local_video_button_title=Unmute your video
|
||||
|
||||
peer_ended_conversation=Your peer ended the conversation.
|
||||
peer_ended_conversation2=The person you were calling has ended the conversation.
|
||||
call_has_ended=Your call has ended.
|
||||
|
||||
cannot_start_call_session_not_ready=Can't start call, session is not ready.
|
||||
@ -59,9 +59,9 @@ feedback_back_button=Back
|
||||
feedback_window_will_close_in=This window will close in {{countdown}} seconds
|
||||
|
||||
share_email_subject2=Invitation to chat
|
||||
## LOCALIZATION NOTE (share_email_body): In this item, don't translate the
|
||||
## part between {{..}} and let the \r\n\r\n part
|
||||
share_email_body=Please click that link to call me back:\r\n\r\n{{callUrl}}
|
||||
## LOCALIZATION NOTE (share_email_body2): In this item, don't translate the
|
||||
## part between {{..}} and leave the \r\n\r\n part alone
|
||||
share_email_body2=Please click this link to call me:\r\n\r\n{{callUrl}}
|
||||
share_button=Email
|
||||
copy_url_button=Copy
|
||||
copied_url_button=Copied!
|
||||
|
@ -6,6 +6,8 @@
|
||||
|
||||
CONFIGURE_SUBST_FILES += ['installer/Makefile']
|
||||
|
||||
SPHINX_TREES['browser'] = 'docs'
|
||||
|
||||
DIRS += [
|
||||
'base',
|
||||
'components',
|
||||
|
Loading…
Reference in New Issue
Block a user