Closed Bug 1277095 Opened 8 years ago Closed 7 years ago

Force Touch is not implemented

Categories

(Core :: Widget: Cocoa, defect, P1)

48 Branch
x86_64
macOS
defect

Tracking

()

RESOLVED FIXED
mozilla57
Tracking Status
firefox57 --- fixed

People

(Reporter: crazymykl, Assigned: m_kato)

References

Details

(Whiteboard: tpi:+)

Attachments

(1 file)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:48.0) Gecko/20100101 Firefox/48.0
Build ID: 20160527004031

Steps to reproduce:

Opened Firefox, force-clicked on a word in the body of a webpage.


Actual results:

Nothing.


Expected results:

My system setting is for a force-click to define the word under the cursor.
OS: Unspecified → Mac OS X
Hardware: Unspecified → x86_64
User Agent 	Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:46.0) Gecko/20100101 Firefox/46.0

The issue is reproducible on the latest Firefox release (46.0.1, Build ID 20160502172042), the latest Aurora (48.0a2, Build ID 20160602004012) and the latest Nightly (49.0a1, Build ID 20160603030242).
Status: UNCONFIRMED → NEW
Component: Untriaged → Event Handling
Ever confirmed: true
Product: Firefox → Core
Component: Event Handling → Widget: Cocoa
Priority: -- → P1
Whiteboard: tpi:+
Blocks: 301451
Assignee: nobody → m_kato
We need handle pressureChangeWithEvent for force touch's pressure.
Comment on attachment 8811177 [details]
Bug 1277095 - Look up dictionary by force touch.

https://reviewboard.mozilla.org/r/93380/#review93604

Thanks!

::: widget/cocoa/nsChildView.mm:6059
(Diff revision 1)
>    mGeckoChild->DispatchWindowEvent(command);
>  
>    return command.mSucceeded && command.mIsEnabled;
>  }
>  
> +- (void) pressureChangeWithEvent:(NSEvent*)event

No space after ) please.

::: widget/cocoa/nsChildView.mm:6066
(Diff revision 1)
> +  NS_OBJC_BEGIN_TRY_ABORT_BLOCK
> +
> +  NSInteger stage = [event stage];
> +  if (mLastPressureStage == 1 && stage == 2) {
> +    NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
> +    if ([userDefaults integerForKey:@"com.apple.trackpad.forceClick"] == 1) {

I've filed radar 29294285 asking Apple to expose a public API for this preference. Please add a comment above this line that mentions this radar ID.
Attachment #8811177 - Flags: review?(mstange) → review+
I forget additional comment.  We should ignore this feature on anchor.  Since both events for mouse click and force click are sometimes fired by user operation, even if page is navigated by anchor, dictionary lookup window is still appears.
That is how this works on Chrome (launching the lookup and also navigating).

Safari has a friendlier behavior, opening a preview of the anchor's target.
Is there any progress in this bug in the last months? I'm a user with a Mac and would be happy to see force touch on my beloved browser :)
Flags: needinfo?(m_kato)
(In reply to Makoto Kato [:m_kato] from comment #5)
> I forget additional comment.  We should ignore this feature on anchor. 

I don't think this should block the initial landing of this patch. Makoto, what do you think?
(In reply to Markus Stange [:mstange] from comment #8)
> (In reply to Makoto Kato [:m_kato] from comment #5)
> > I forget additional comment.  We should ignore this feature on anchor. 
> 
> I don't think this should block the initial landing of this patch. Makoto,
> what do you think?

When I test this situation on Google Chorme, this has same issue.  So I should land this for feedback.  If many people reports regression, we should back out this.  So I will rebase this and land this monday...
Flags: needinfo?(m_kato)
Pushed by m_kato@ga2.so-net.ne.jp:
https://hg.mozilla.org/integration/autoland/rev/ecf9cc9bfca0
Look up dictionary by force touch. r=mstange
https://hg.mozilla.org/mozilla-central/rev/ecf9cc9bfca0
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
Depends on: 1393666
You need to log in before you can comment on or make changes to this bug.