infocatcher / custom_buttons Goto Github PK
View Code? Open in Web Editor NEWButtons for Custom Buttons extension for Firefox (and other Gecko-based applications)
Buttons for Custom Buttons extension for Firefox (and other Gecko-based applications)
Attributes_Inspector version 0.3.3.2 - 2020-03-14
Undo Close Tabs 0.3.3.2 - 2020-03-14
FF 91.0.2 (64-bit)
Personalized tooltips don't work on this Firefox version
For now only bookmark URL can be dropped: we set text/x-moz-url data and browser handle it itself.
May be we can handle something like "dragend" and and restore session data.
При редактировании CSS кода он даёт подсказки (верные, за это - спасибо), но окно подсказок "застывает", занимая более 3/4 окна всего редактора, оставляя узкую полоску для редактирования и никаким образом не хочет уходить.
Думаю, комментарии излишни.
https://bugzilla.mozilla.org/show_bug.cgi?id=1402957
Remove permission manager APIs that only accept a URI
https://dxr.mozilla.org/mozilla-central/source/netwerk/base/nsIPermissionManager.idl
/**
* Test whether the principal has the permission to perform a given action.
* System principals will always have permissions granted.
* This function will perform a pref lookup to permissions.default.<type>
* if the specific permission type is part of the whitelist for that functionality.
*/
uint32_t testPermissionFromPrincipal(in nsIPrincipal principal,
in ACString type);
Something from attached patches:
let principal = Services.scriptSecurityManager.createContentPrincipalFromOrigin("https://example.com");
let uri = Services.io.newURI("https://example.com", null, null);
let principal = Services.scriptSecurityManager.createContentPrincipal(uri, {});
Like (and after) built-in "Bookmark This Page".
Hello Infocatcher,
I have installed your custom button "check for addons updates" in Thunderbird (v.31beta), it appears in Thb but it don't work at all.
Thanks a lot to make this CB compatible with THB.
Have a nice DAY !!!!
Please add "Open on mouse hover" option.
Thank you for making this button, I find it very useful.
&& node.namespaceURI == xulns
&& node.boxObject
&& node.boxObject instanceof Components.interfaces.nsIMenuBoxObject // Always false now
Probably due to https://bugzilla.mozilla.org/show_bug.cgi?id=979835 - Port BoxObject to WebIDL.
See https://forum.mozilla-russia.org/viewtopic.php?id=54385
So we should use
Components.classes["@mozilla.org/chrome/chrome-registry;1"]
.getService(Components.interfaces.nsIXULChromeRegistry)
.getSelectedLocale("global");
or
Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefBranch)
.getComplexValue("general.useragent.locale", Components.interfaces.nsIPrefLocalizedString)
.data;
But with getSelectedLocale()
we need to have installed language pack to test localization (or change code each time).
"OpenH264 Video Codec provided by Cisco Systems, Inc."
Looks like this is due to not supported "Ask to Activate" option.
https://bugzilla.mozilla.org/show_bug.cgi?id=816756
See chrome://browser/content/devtools/scratchpad.js
Old:
Cu.import("resource:///modules/source-editor.jsm");
this.editor = new SourceEditor();
let config = {
mode: SourceEditor.MODES.JAVASCRIPT,
showLineNumbers: true,
initialText: initialText,
contextMenu: "scratchpad-text-popup",
};
let editorPlaceholder = document.getElementById("scratchpad-editor");
this.editor.init(editorPlaceholder, config,
this._onEditorLoad.bind(this, state));
New:
const require = Cu.import("resource://gre/modules/devtools/Loader.jsm", {}).devtools.require;
// ...
const Editor = require("devtools/sourceeditor/editor");
this.editor = new Editor({
mode: Editor.modes.js,
value: initialText,
lineNumbers: true,
contextMenu: "scratchpad-text-popup"
});
this.editor.appendTo(document.querySelector("#scratchpad-editor")).then(() => {
var lines = initialText.split("\n");
this.editor.on("change", this._onChanged);
this.editor.focus();
this.editor.setCursor({ line: lines.length, ch: lines.pop().length });
if (state)
this.dirty = !state.saved;
this.initialized = true;
this._triggerObservers("Ready");
this.populateRecentFilesMenu();
PreferenceObserver.init();
}).then(null, (err) => console.log(err.message));
Also seems like this isn't Eclipse Orion anymore:
resource:///modules/devtools/sourceeditor/editor.js
/**
* A very thin wrapper around CodeMirror. [...]
* CodeMirror docs: http://codemirror.net/doc/manual.html
*/
extDevTools.js — код в строках 375-387 блокирует стандартный функционал Firefox - открытие ссылки в новой вкладке кликом средней кнопки мыши:
addEventListener("command", function(e) { // Prevent middle-click commands in Firefox 89+…
Моя система — Arch Linux, версия Firefox 88.0.1
DOM Inspector will be "locked" too: left-clicks will not work.
Reported here: https://forum.mozilla-russia.org/viewtopic.php?pid=683998#p683998
In console
22:18:45.862 NS_ERROR_UNEXPECTED:
anonymous/watcher.initWindow()button.js:186
anonymous/watcher.handleEvent()button.js:653
button.js:186
Win 8.1 x64, FF Nightly x64 48.0a1 BuildID:20160419030312, e10s disabled.
See https://forum.mozilla-russia.org/viewtopic.php?pid=749766#p749766
https://bugzilla.mozilla.org/show_bug.cgi?id=1414390
Also see about previous fixes: #20
Hi!
There's a functioning Custom Button update for Current FF, and AI even works. However there's no DOMi.
Couldn't this button be retrofitted to use something else, like the internal inspector?
Or maybe there's usable DOMi somewhere?
See https://bugzilla.mozilla.org/show_bug.cgi?id=1090880
Application.prefs.getValue()
/setValue()
Application.name
Application.storage.get()
/set()
Application.storage.get()
/set()
Application.storage.get()
/set()
Application.restart()
Application.quit()
Application.restart()
Application.prefs.getValue()
Application.prefs.getValue()
We can search for something like debug
through all preferences.
I'm using ChromeJS with https://github.com/xiaoxiaoflood/firefox-scripts but I've seen that uses elements of the old extension, you can tell me how you can install the new Firefox?
Thank you
Like already implemented restoreErrorConsole
.
TypeError: setWindowValue only accepts string values SessionStore.jsm:1770:0
NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS: [JavaScript Error: "setWindowValue only accepts string values" {file: "resource:///modules/sessionstore/SessionStore.jsm" line: 1770}]'[JavaScript Error: "setWindowValue only accepts string values" {file: "resource:///modules/sessionstore/SessionStore.jsm" line: 1770}]' when calling method: [nsISessionStore::setWindowValue] button.js:136:0
Broken again since #44
https://hg.mozilla.org/mozilla-central/rev/a33fb1d3cda0
bugs 1491394
milestone 64.0a1
- void getRequestedLocales([optional] out unsigned long aCount,
- [retval, array, size_is(aCount)] out string aLocales);
+ attribute Array<ACString> requestedLocales;
The script fails to detect the newly installed updates when the "Update Add-ons Automatically" option is checked.
The problem is, your script is trying to find "updates-manualUpdatesFound-btn", but since it never shows up, it keeps looping indefinitely.
My suggestion is, could add a popup that notifies the user about the updates that has just been installed?
Thanks.
Edit: I've just made a pull request. Closing this issue.
Can you adapt this button for vertical-toolbar addon?
https://addons.mozilla.org/en-US/firefox/addon/vertical-toolbar/
As you can see when folder is opened, it covers the items below. Can you move it at the edge of vertical toolbar?
Seems like after preventDefault() call for "keydown" "keypress" event doesn't happens at all.
Like in #15.
Starting from FF 41 sometimes button checking updates forever (circle icon rolls and never stops) I'm using version 0.1.5 - 2014-10-13.
I reverted it to version 40 and never experienced such problem. So it can't be related a conflict with other add-ons. Please restart FF before take another test.
https://developer.mozilla.org/en-US/docs/XPCOM_Interface_Reference/nsIDOMChromeWindow#beginWindowMove%28%29
NS_ERROR_NOT_IMPLEMENTED on Windows (at least on XP), but may be useful on other OS.
See
Throws here:
let isPrivate = "PrivateBrowsingUtils" in window
&& PrivateBrowsingUtils.isWindowPrivate(tab.linkedBrowser.contentWindow) // <---
|| tab.hasAttribute(privateAttr);
Also not only here because remote frame not yet initialized.
Affected:
We use
chrome://browser/skin/tabbrowser/connecting.png
chrome://browser/skin/tabbrowser/loading.png
that aren't animated anymore, see chrome://browser/skin/browser.css
@keyframes throbber-loading {
to {
transform: rotate(360deg);
}
}
@keyframes throbber-connecting {
from {
transform: rotate(360deg);
}
}
.tab-throbber[busy] {
list-style-image: url("chrome://browser/skin/tabbrowser/connecting.png");
animation-duration: 960ms;
animation-iteration-count: infinite;
animation-name: throbber-connecting;
animation-timing-function: linear;
}
.tab-throbber[progress] {
list-style-image: url("chrome://browser/skin/tabbrowser/loading.png");
animation-duration: 800ms;
animation-name: throbber-loading;
}
Or we can use alternative: chrome://global/skin/icons/loading_16.png
See http://mxr.mozilla.org/mozilla-central/source/netwerk/cookie/nsICookiePermission.idl#33
const nsCookieAccess ACCESS_SESSION = 8;
const nsCookieAccess ACCESS_ALLOW_FIRST_PARTY_ONLY = 9;
const nsCookieAccess ACCESS_LIMIT_THIRD_PARTY = 10;
And for now this may be fixed only with memory leaks: bug 1051238 – frame scripts are cached forever & thus can't be updated restartless.
Example:
http://infocatcher.github.io/Custom_Buttons/install/attrsInspector.html (old)
https://infocatcher.github.io/Custom_Buttons/install/attrsInspector.html (now works, but http://... script will be blocked by default)
https://addons.mozilla.org/addon/custom-buttons/
Но по этой ссылке расширение недоступно.
Где скачать последнюю версию для браузера Firefox 66.0 64 bit ?
Probably optionally or only if Shift is pressed.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.