Turn on spatial navigation in Firefox

RESOLVED DUPLICATE of bug 443043

Status

()

--
enhancement
RESOLVED DUPLICATE of bug 443043
14 years ago
10 years ago

People

(Reporter: dougt, Unassigned)

Tracking

Trunk
x86
Windows XP
Points:
---
Bug Flags:
blocking-firefox3 -

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Reporter)

Description

14 years ago
I would like to have Spatial Navigation built along with FireFox.  We can have
it in the build but have it be disabled via preferences.
(Reporter)

Comment 1

14 years ago
The FireFox Windows DLL size is 45056 bytes.
I assume this is something we're targeting for 1.9. 
(Reporter)

Comment 3

14 years ago
yes.  in the build but disabled for 1.9 would be ideal.  I can put a patch
together if you think this is something we should do.

Comment 4

14 years ago
We can build spatial navigation as an extension appearing in the EM, which will
allow users to turn it on or off.
QA Contact: build.config → benjamin
(Reporter)

Comment 5

14 years ago
benjamin -- what do I need to change?  It is a xpcom component right now.

Comment 6

14 years ago
Created attachment 185792 [details] [diff] [review]
Build spatial navigation as an extension, rev.1

Hoopdydoo.
Assignee: dougt → benjamin
Status: NEW → ASSIGNED
Attachment #185792 - Flags: review?(dougt)
(Reporter)

Comment 7

14 years ago
Comment on attachment 185792 [details] [diff] [review]
Build spatial navigation as an extension, rev.1

-EXPORT_LIBRARY  = 1
 MOZILLA_INTERNAL_API = 1
+FORCE_SHARED_LIB = 1

Will this break static builds that include snav?

If not, r=dougt.  I don't have a full understanding of the install.rdf

Comment 8

14 years ago
It will not break static builds, but it does force this particular component to
be built non-statically (removing the EXPORT_LIBRARY removes this lib from the
static link-list at the end)
(Reporter)

Comment 9

14 years ago
Comment on attachment 185792 [details] [diff] [review]
Build spatial navigation as an extension, rev.1

i am not sure that this will work.  spatialnavigation links against layout.  If
we build as non-static, i think this extensions may not find the right symbols.
Attachment #185792 - Flags: review?(dougt)

Updated

14 years ago
Depends on: 297223

Comment 10

14 years ago
Created attachment 185852 [details] [diff] [review]
Build spatial navigation as an extension, rev.1.1 [checked in]

This is basically the same patch without the "chrome.manifest" hack which turns
out was a local build fluke.

Spatial navigation does not link against layout symbols (layout is a component
library, it is impossible to link against it). It does use layout components,
but that is not a problem.

This patch is tested and works like a charm.
Attachment #185852 - Flags: review?(dougt)
(Reporter)

Comment 11

14 years ago
Comment on attachment 185852 [details] [diff] [review]
Build spatial navigation as an extension, rev.1.1 [checked in]

okay.  I haven't tested it, but I trust that it does the right thing.  r=dougt.

What about having it be built as a default extension?
Attachment #185852 - Flags: review?(dougt) → review+

Comment 12

14 years ago
That's something Ben has to decide, plus it would need some work in the
installer similar to what inspector has.

Updated

14 years ago
Attachment #185852 - Attachment description: Build spatial navigation as an extension, rev.1.1 → Build spatial navigation as an extension, rev.1.1 [checked in]

Updated

14 years ago
Assignee: benjamin → bugs
Status: ASSIGNED → NEW

Comment 13

13 years ago
I just tried building Firefox with spatial navigation on the trunk, and it looks
like static builds are busted again, at least on Windows. I get the link error
about nsRect.cpp. I used to get that on the 1.8 branch, but that error was fixed
a month or two ago. I suspect the following checkin on the trunk:

http://bonsai.mozilla.org/cvsview2.cgi?diff_mode=context&whitespace_mode=show&file=Makefile.in&branch=&root=/cvsroot&subdir=mozilla/extensions/spatialnavigation/src&command=DIFF_FRAMESET&rev1=1.8&rev2=1.9

Doug, did you perhaps mean #ifdef instead of #ifndef there?
(Reporter)

Comment 14

13 years ago
no, if we aren't building a static build, we want to include those files.  What
was the link error?

Oh, btw -- Ben, any thoughts on including this as an optional extension;  It
does alot for our accessiblity story.

Comment 15

13 years ago
Here are the link errors I am seeing (I hope the formatting comes out
semi-readable...):

/cygdrive/c/MozillaRoot/mozilla/build/cygwin-wrapper link -NOLOGO -DLL
-OUT:snav.dll -PDB:snav.pdb -SUBSYSTEM:WINDOWS  nsSpatialNavigation.obj
nsSpatialNavigationUtils.obj nsSpatialNavigationService.obj   ./module.res   
-IMPLIB:fake-import   ../../../dist/lib/unicharutil_s.lib
../../../dist/lib/xpcom.lib ../../../dist/lib/xpcom_core.lib
../../../dist/lib/nspr4.lib ../../../dist/lib/plc4.lib
../../../dist/lib/plds4.lib    kernel32.lib user32.lib gdi32.lib winmm.lib
wsock32.lib advapi32.lib   
   Creating library fake-import and object fake-import.exp

nsSpatialNavigation.obj : error LNK2019: unresolved external symbol "public: int
__thiscall nsRect::Contains(int,int)const " (?Contains@nsRect@@QBEHHH@Z)
referenced in function "public: int __thiscall nsRect::Contains(struct nsPoint
const &)const " (?Contains@nsRect@@QBEHABUnsPoint@@@Z)

nsSpatialNavigationUtils.obj : error LNK2001: unresolved external symbol
"public: int __thiscall nsRect::Contains(int,int)const "
(?Contains@nsRect@@QBEHHH@Z)

nsSpatialNavigationService.obj : error LNK2001: unresolved external symbol
"public: int __thiscall nsRect::Contains(int,int)const "
(?Contains@nsRect@@QBEHHH@Z)

nsSpatialNavigation.obj : error LNK2019: unresolved external symbol "public:
void __thiscall nsRect::Inflate(int,int)" (?Inflate@nsRect@@QAEXHH@Z) referenced
in function "public: void __thiscall nsRect::Inflate(struct nsSize const &)"
(?Inflate@nsRect@@QAEXABUnsSize@@@Z)

nsSpatialNavigationUtils.obj : error LNK2001: unresolved external symbol
"public: void __thiscall nsRect::Inflate(int,int)" (?Inflate@nsRect@@QAEXHH@Z)

nsSpatialNavigationService.obj : error LNK2001: unresolved external symbol
"public: void __thiscall nsRect::Inflate(int,int)" (?Inflate@nsRect@@QAEXHH@Z)

nsSpatialNavigation.obj : error LNK2019: unresolved external symbol "public:
void __thiscall nsRect::Deflate(int,int)" (?Deflate@nsRect@@QAEXHH@Z) referenced
in function "public: void __thiscall nsRect::Deflate(struct nsSize const &)"
(?Deflate@nsRect@@QAEXABUnsSize@@@Z)

nsSpatialNavigationUtils.obj : error LNK2001: unresolved external symbol
"public: void __thiscall nsRect::Deflate(int,int)" (?Deflate@nsRect@@QAEXHH@Z)

nsSpatialNavigationService.obj : error LNK2001: unresolved external symbol
"public: void __thiscall nsRect::Deflate(int,int)" (?Deflate@nsRect@@QAEXHH@Z)

nsSpatialNavigation.obj : error LNK2019: unresolved external symbol "public: int
__thiscall nsFont::Equals(struct nsFont const &)const "
(?Equals@nsFont@@QBEHABU1@@Z) referenced in function "public: int __thiscall
nsFont::operator==(struct nsFont const &)const " (??8nsFont@@QBEHABU0@@Z)

nsSpatialNavigationUtils.obj : error LNK2001: unresolved external symbol
"public: int __thiscall nsFont::Equals(struct nsFont const &)const "
(?Equals@nsFont@@QBEHABU1@@Z)

nsSpatialNavigationService.obj : error LNK2001: unresolved external symbol
"public: int __thiscall nsFont::Equals(struct nsFont const &)const "
(?Equals@nsFont@@QBEHABU1@@Z)

nsSpatialNavigationUtils.obj : error LNK2019: unresolved external symbol
"public: int __thiscall nsRect::Intersects(struct nsRect const &)const "
(?Intersects@nsRect@@QBEHABU1@@Z) referenced in function "__int64 __cdecl
spatialDistance(int,struct nsRect &,struct nsRect &)"
(?spatialDistance@@YA_JHAAUnsRect@@0@Z)

snav.dll : fatal error LNK1120: 5 unresolved externals
(Reporter)

Comment 16

13 years ago
Checking in Makefile.in;
/cvsroot/mozilla/extensions/spatialnavigation/src/Makefile.in,v  <--  Makefile.in
new revision: 1.10; previous revision: 1.9
done

The link problem should be fix.

Comment 17

13 years ago
The link error is indeed fixed now. Thanks Doug.
If the patch has been checked-in, can this bug be closed RESO FIXED or is there some other step left to complete?
Summary: Turn on spatial navigation in FireFox → Turn on spatial navigation in Firefox
(Reporter)

Comment 19

13 years ago
snav is not enabled in firefox, so, leave the bug open.

Comment 20

13 years ago
Mini-spam to bring this enhancement back in the game. 

Spatial navigation would be a great addition to the firefox product and an easy feature to add in the forthcoming battle vs IE7 :)

Comment 21

12 years ago
The extension doesn't work with 1.5.

This feature is great for people with RSI.
(Reporter)

Comment 22

12 years ago
see www.meer.net/~dougt/snav

Comment 23

12 years ago
The plugin I found there couldn't be installed in FF 1.5.0.4.

It said it was only compatible with 1.5. 
QA Contact: benjamin → build.config
Assignee: bugs → nobody
per comments 0-2, requesting blocking-firefox3.  The company I work at is interested in this.
Flags: blocking-firefox3?
wasn't timeless working on something with this?
This isn't going to be a release blocker, in any case.

I realize its good for a11y, but I'm not sure whether it makes sense to ship in core vs. promote via AMO.  If this is something people want in Fx3, it should be proposed via the normal PRD process for features (file a change req via http://wiki.mozilla.org/Firefox3/Firefox_Requirements/Change_Requests) and it can be discussed at the fx3 meeting.
Severity: normal → enhancement
Flags: blocking-firefox3? → blocking-firefox3-
(Reporter)

Updated

10 years ago
Status: NEW → RESOLVED
Last Resolved: 10 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 443043
You need to log in before you can comment on or make changes to this bug.