Firefox fails tree traversal, further investigation shows messed tree hierarchy - user-interface

I am using UIA to traverse through Firefox element tree. I am creating paths between multiple nodes in the tree. This however is running into problems because there seems to be mix up of elements in the tree. That is there are duplicate runtime ids and the hierarchy is all messed up.
The UI Spy application shows following exception
"UI Automation tree navigation is broken. The parent of one of the
descendants exist but the descendant is not the child of the parent"
How do I resolve this issue? Any help is appreciated.

I got help from a Firefox dev team working on accessibility to resolve this issue in my initial tests atleast.
It turns out that Firefox does not natively support Microsoft UIA, it however does support Microsoft MSAA which is an older accessibility framework. Thus Firefox relies on an MSAA Proxy for supporting UIA, this proxy consumes MSAA information and provides it to requests via UIA API.
The runtimeId(unique id for elements) generation in MSAA and its compatibility with UIA via proxy is not well documented as far as the Firefox dev team knows. This might cause the above problem when using UIA for tree traversal.
The Firefox team indicated that adding a boolean preference to about:config in Firefox will provide limited and experimental support to UIA and runtimeids should be in that limited support.
I added this value in about:config and was able to get positive
results in the preliminary tests that I performed
.
To add this value to Firefox config.
Start a Firefox instance
Type "about:config" in the address bar
Once the config screen is shown, Right Click+New+Boolean.
Add a preference called "accessibility.uia.enable" and make sure the
value is "true"

Related

How to revert Firebug to old version?

I've opened a Firefox today, hit the Firebug button and it showed me that in the new version it is integrated into the developer tools.
I hit ok and realized that it doesn't work at all (everytime using Inspect Element the <body> element is selected). So I would like to revert that setup back, but I cannot find where to switch it. I tried to reinstall Firebug, but that setup is stored somewhere so it automatically starts the DevTools instead of Firebug.
Any help how to revert back to the classic Firebug?
As I wrote in the Firebug discussion group, that the <body> element is selected first before the actual element you inspected is a bug and I've already filed a bug report for it.
There is also a bug related to the Inspect Element with Firebug option, which opens the DevTools, but doesn't actually select the inspected element. This bug got fixed in Firebug 2.0.19 by removing the option (so there's just the Inspect Element option left, which works as explained above).
As mentioned in my answer to a related thread, you may be able to reenable Firebug by setting the preferences browser.tabs.remote.autostart, browser.tabs.remote.autostart.1 and browser.tabs.remote.autostart.2 to false via about:config.
These settings control whether Firefox works in multi-process mode (separate processes for its UI and the websites). Unfortunately Firebug is incompatible with that mode.
Note: This is a temporary solution, because the multi-process mode will be mandatory at some point and the preference will be removed. Also, starting from Firefox 57 only WebExtensions will be supported and Firebug is based on different APIs, so it definitely won't work anymore at that point.
Another way is to install an old version of Firefox like 48, disable automatic updates and install Firebug there. Though, having said that, this option is not recommendable (at least not long term), because you will miss important (security) bug fixes and new features.
In additional to #Sebastian Zartner's answer, (from Firebug's website):
Firebug 2 doesn’t work in multi-process browsers (i.e. e10s) and converting it is too complex, so it will stop working when e10s is activated in Firefox. You will be able to disable e10s for a while to keep using Firebug 2, but this won’t last forever.
More about your question:
Firebug is not working with Firefox version 50.0
Why got Firebug removed after updating Firefox to version 50?

Selenium: Firefox showing different behavior when launched by Selenium

Note - App coded in Extjs
Certain ExtJs elements or parts of elements (like titles) are not appearing or loading when using the selenium launched FF.
Things I tried
Going to the same page with a manually launched firefox - works
Stopping the test after login to use the launched version and going
to the same with issues - still see issues
Updated to latest version of FF - same issues.
Is there anything with the Firefox driver in selenium that could be causing these discrepancies?
To add to to the situation I can actually get the store behind the grid that isn't loading up
The thing is ExtJS is using a really annoying HTML5 features, which need a bit more then simple simulations of user interactions. For ecample an element could be with no childs, but when you will click on it, it will automatically load all of it's childs. That's why you don't see all the elements.
For that purposes, if you are using java you should use http://html5robot.com or similar things, which are developed to help Webdriver interact with complex HTML5 solutions.

Firefox Addon Development

I am getting started with Firefox addon development and have got myself acquainted with the Add-on Builder. Is this wizard all I need to get deep into Firefox addon development (if so, where would I create the XUL files and how would I create a custom toolbar?). Or is it that one cannot implement all features using this Add-on Builder? Also are there any good tutorials which explain how to get started with Firefox addon development using the Add-on Builder (because it seems so much easier).
Tutorials which I already have referred to:
https://developer.mozilla.org/en/Extensions
http://blog.mozilla.org/addons/2009/
But these are not specific to using the Add-on Builder. I would please like someone to point me to where I can find help to develop using the Add-on Builder.
Also if I am developing the addon locally using the SDK is there any good editor which I can use which will show me the list of commands that I can execute (like Eclipse in Java).
The red line is where i want my icon to appear. Is it possible to do it using the addon builder.
There are currently two kinds of Firefox extensions:
Classic extensions use a XUL-based user interface. They can do almost anything but it might take a bit until you see some results with your extension. For documentation on classic add-ons see How do I write a Firefox Addon?
Extensions based on Add-on SDK use HTML for user interface. The SDK provides a simple but limited API. In particular, it explicitly won't let you create toolbars, only single toolbar icons (which makes sense, extensions shouldn't be wasting so much screen space). It won't let you determine the icon placement either - as of Firefox 4 all extension icons are supposed to appear in the add-on bar (the user can customize the toolbars and change the placement however). You can get low-level platform access with chrome authority however. The official Add-on SDK documentation is pretty much all you've got here I think.Edit: Ok, the information on limitations of the Add-on SDK is somewhat outdated. As of Firefox 30, adding toolbars is possible. Also, as of Firefox 29 the icons are placed in the main toolbar by default - the add-on bar is no more. So the only real limitation remaining is the icon placement.
The Add-on Builder is merely a web interface to the SDK - it allows you to edit the extensions conveniently but otherwise it uses Add-on SDK to generate the extensions.
To put an icon directly in the toolbar currently, your best bet is to use Erik Vold's toolbar module ( available in Builder as a package ). here is an example that does that:
https://builder.addons.mozilla.org/addon/1044724/latest/

Firefox 9.0.1 Broke Internal Wiki Layout

The most recent version of Firefox has messed up our internal wiki layout so that the left bar menus are displayed below the content on all pages now.
I've tried using multiple resolutions and window sizes and the problem persists so that doesn't appear to be the issue.
There are no problems with Chrome or IE however.
A screenshot of the problem is attached here for you to see.
You're using an old MediaWiki version. It does UA sniffing and sends different code to different browsers, relying on bugs in some of the browsers to make the code sent to them render correctly.
Firefox 9 removed a nonstandard property that only Gecko used to implement. MediaWiki was using that property to decide that the rendering engine was Gecko. With it gone, MediaWiki now decides that you're using kthml and sends CSS rules tailored to khtml bugs... but Gecko happens to not have those bugs. So the rendering ends up wrong.
Your options are to either update to MediaWiki 1.16 or newer (which you should do anyway, because your version is not getting security fixes anymore!) or wait for Firefox 10 to come out, because chances are that will restore the nonstandard property because too many sites were sniffing for it.
See also https://bugzilla.mozilla.org/show_bug.cgi?id=683151 and https://bugzilla.wikimedia.org/show_bug.cgi?id=31807 for more info.

How to Enable ActiveX in Chrome?

I read that early builds of Chrome supported ActiveX, but was later restricted to certain MIME types (for support for say Windows Media Player). I then read Google was going to enable ActiveX strictly for the Korean market. How do I (re)enable this in Chrome?
Our web based product relies on ActiveX controls from 3rd parties to play custom video. This limits us to IE. We'd love to support Chrome also, but find it impossible w/o ActiveX support.
There is a proprietary plugin called "Neptune" which says that it will allow you to use IE Tab functionality in Chrome on Windows.
Meadroid do this because they have ActiveX controls which they have written and they want them to be able to work in any browser, and they explicitly mention Chrome in the list of supported browsers for enabling ActiveX with this.
There is also a modified version of Chrome, called ChromePlus, which includes IETab, among other extra features.
I've not used either of these personally, but they look like they'll do what you want. I'd be interested to hear if they work out for you, as I know of other people who want to be able to use IEtab in Chrome :)
anyone who says activex is less secure then NPAPI is crazy. They both allow the exact same access. Yes I've written both. The only reason people think activeX is insecure is because 10+ years ago IE had default settings that allowed a remote site to auto download the plugin.
maybe this new Chrome extension helps:
ActiveX for Chrome
https://chrome.google.com/extensions/detail/lgllffgicojgllpmdbemgglaponefajn/
This could be pretty ugly, but doesn't Chrome use the NPAPI for plugins like Safari? In that case, you could write a wrapper plugin with the NPAPI that made the appropriate ActiveX creation and calls to run the plugin. If you do a lot of scripting against those plugins, you might have to be a bit of work to proxy those calls through to the wrapped ActiveX control.
I'm not an expert but it sounds to me that this is something you could only do if you built the browser yourself - ie, not something done in a web page. I'm not sure that the sources for Chrome are publicly available (I think they are though), but the sources are what you'd probably need to change for this.
http://wiki.answers.com/Q/Does_Google_Chrome_support_ActiveX
Google Chrome comes with an ActiveX
shim, as part of its default plugin
array. So Google Chrome features at
least partial support for ActiveX
controls (as do many non-Internet
Explorer browsers). I can't find
information as to whether or not this
includes support for ActiveX security
certificates or the like, nor if/where
such plugins can be controlled, within
the browser.
..... Note that to enable the plug-in
you must run Chrome with the following
switch " --allow-all-activex" So in
shortcut that is used to start up
Chrome, add this after "Chrome.exe"
I downloaded this "IE Tab Multi" from Chrome. It works good! http://iblogbox.com/chrome/ietab/alert.php

Resources