Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(240)

Issue 8417025: aura: Update how the tooltip manager works. (Closed)

Created:
9 years, 1 month ago by sadrul
Modified:
9 years, 1 month ago
Reviewers:
sky, varunjain
CC:
chromium-reviews, tfarina, dhollowa
Visibility:
Public.

Description

aura: Update how the tooltip manager works. Currently, each widget's tooltip-manager listens to every single X event in the system, all the time. This can get expensive as the number of windows increase. Instead of doing this, the change here makes a TooltipManagerViews only listen to the mouse-events on the corresponding Widget. It starts its timer when the mouse enters the widget, and stops the timer when the mouse leaves the widget. So at a single time, only one TooltipManagerViews will be activated, and looking to update the its tooltip. BUG=97249 TEST=none Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107809

Patch Set 1 : . #

Patch Set 2 : compile fixes #

Total comments: 10

Patch Set 3 : . #

Unified diffs Side-by-side diffs Delta from patch set Stats (+53 lines, -60 lines) Patch
M views/widget/native_widget_aura.h View 1 2 2 chunks +3 lines, -1 line 0 comments Download
M views/widget/native_widget_aura.cc View 1 2 1 chunk +4 lines, -0 lines 0 comments Download
M views/widget/native_widget_views.cc View 1 2 2 chunks +7 lines, -0 lines 0 comments Download
M views/widget/tooltip_manager_views.h View 1 2 1 chunk +7 lines, -12 lines 0 comments Download
M views/widget/tooltip_manager_views.cc View 1 2 3 chunks +32 lines, -47 lines 0 comments Download

Messages

Total messages: 6 (0 generated)
sadrul
9 years, 1 month ago (2011-10-28 14:22:15 UTC) #1
varunjain
Looks much better.. thanks Sadrul! http://codereview.chromium.org/8417025/diff/8/views/widget/native_widget_views.cc File views/widget/native_widget_views.cc (right): http://codereview.chromium.org/8417025/diff/8/views/widget/native_widget_views.cc#newcode129 views/widget/native_widget_views.cc:129: #if defined(TOUCH_UI) || defined(USE_AURA) ...
9 years, 1 month ago (2011-10-28 16:09:23 UTC) #2
sadrul
http://codereview.chromium.org/8417025/diff/8/views/widget/native_widget_views.cc File views/widget/native_widget_views.cc (right): http://codereview.chromium.org/8417025/diff/8/views/widget/native_widget_views.cc#newcode129 views/widget/native_widget_views.cc:129: #if defined(TOUCH_UI) || defined(USE_AURA) On 2011/10/28 16:09:23, varunjain wrote: ...
9 years, 1 month ago (2011-10-28 16:26:15 UTC) #3
sky
http://codereview.chromium.org/8417025/diff/8/views/widget/native_widget_aura.cc File views/widget/native_widget_aura.cc (right): http://codereview.chromium.org/8417025/diff/8/views/widget/native_widget_aura.cc#newcode502 views/widget/native_widget_aura.cc:502: static_cast<TooltipManagerViews*>(tooltip_manager_.get()); Change the field to be of type TooltipManagerViews ...
9 years, 1 month ago (2011-10-28 17:47:27 UTC) #4
sadrul
http://codereview.chromium.org/8417025/diff/8/views/widget/native_widget_aura.cc File views/widget/native_widget_aura.cc (right): http://codereview.chromium.org/8417025/diff/8/views/widget/native_widget_aura.cc#newcode502 views/widget/native_widget_aura.cc:502: static_cast<TooltipManagerViews*>(tooltip_manager_.get()); On 2011/10/28 17:47:27, sky wrote: > Change the ...
9 years, 1 month ago (2011-10-28 21:42:52 UTC) #5
sky
9 years, 1 month ago (2011-10-28 21:49:35 UTC) #6
Oy, LGTM

On Fri, Oct 28, 2011 at 2:42 PM,  <sadrul@chromium.org> wrote:
>
>
http://codereview.chromium.org/8417025/diff/8/views/widget/native_widget_aura.cc
> File views/widget/native_widget_aura.cc (right):
>
>
http://codereview.chromium.org/8417025/diff/8/views/widget/native_widget_aura...
> views/widget/native_widget_aura.cc:502:
> static_cast<TooltipManagerViews*>(tooltip_manager_.get());
> On 2011/10/28 17:47:27, sky wrote:
>>
>> Change the field to be of type TooltipManagerViews so you don't need
>
> to cast.
>
> Done.
>
>
http://codereview.chromium.org/8417025/diff/8/views/widget/native_widget_view...
> File views/widget/native_widget_views.cc (right):
>
>
http://codereview.chromium.org/8417025/diff/8/views/widget/native_widget_view...
> views/widget/native_widget_views.cc:131:
> static_cast<TooltipManagerViews*>(GetTooltipManager());
> On 2011/10/28 17:47:27, sky wrote:
>>
>> Same comment about changing type of field to avoid cast.
>
> This is complicated here since NWViews doesn't actually create a
> TMViews. NWGtk creates it instead, and NWV just uses it. Since this is
> code going away pretty soon, this is probably OK? :)
>
>
http://codereview.chromium.org/8417025/diff/8/views/widget/tooltip_manager_vi...
> File views/widget/tooltip_manager_views.cc (right):
>
>
http://codereview.chromium.org/8417025/diff/8/views/widget/tooltip_manager_vi...
> views/widget/tooltip_manager_views.cc:92: if (event.type() ==
> ui::ET_MOUSE_EXITED) {
> On 2011/10/28 17:47:27, sky wrote:
>>
>> nit: use a switch statement.
>
> Done.
>
>
http://codereview.chromium.org/8417025/diff/8/views/widget/tooltip_manager_vi...
> File views/widget/tooltip_manager_views.h (right):
>
>
http://codereview.chromium.org/8417025/diff/8/views/widget/tooltip_manager_vi...
> views/widget/tooltip_manager_views.h:35: void UpdateForMouseEvent(const
> MouseEvent& event);
> On 2011/10/28 17:47:27, sky wrote:
>>
>> Describe this, including where the MouseEvent comes from.
>
> Done.
>
> http://codereview.chromium.org/8417025/
>

Powered by Google App Engine
This is Rietveld 408576698