OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * Copyright (C) 2000 Dirk Mueller (mueller@kde.org) | 3 * Copyright (C) 2000 Dirk Mueller (mueller@kde.org) |
4 * Copyright (C) 2004, 2006, 2009, 2010 Apple Inc. All rights reserved. | 4 * Copyright (C) 2004, 2006, 2009, 2010 Apple Inc. All rights reserved. |
5 * Copyright (C) 2013 Google Inc. All rights reserved. | 5 * Copyright (C) 2013 Google Inc. All rights reserved. |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
46 unsigned WidgetHierarchyUpdatesSuspensionScope::s_widgetHierarchyUpdateSuspendCo unt = 0; | 46 unsigned WidgetHierarchyUpdatesSuspensionScope::s_widgetHierarchyUpdateSuspendCo unt = 0; |
47 | 47 |
48 WidgetHierarchyUpdatesSuspensionScope::WidgetToParentMap& WidgetHierarchyUpdates SuspensionScope::widgetNewParentMap() | 48 WidgetHierarchyUpdatesSuspensionScope::WidgetToParentMap& WidgetHierarchyUpdates SuspensionScope::widgetNewParentMap() |
49 { | 49 { |
50 DEFINE_STATIC_LOCAL(WidgetToParentMap, map, ()); | 50 DEFINE_STATIC_LOCAL(WidgetToParentMap, map, ()); |
51 return map; | 51 return map; |
52 } | 52 } |
53 | 53 |
54 void WidgetHierarchyUpdatesSuspensionScope::moveWidgets() | 54 void WidgetHierarchyUpdatesSuspensionScope::moveWidgets() |
55 { | 55 { |
56 WidgetToParentMap map = widgetNewParentMap(); | 56 WidgetToParentMap map; |
57 widgetNewParentMap().clear(); | 57 widgetNewParentMap().swap(map); |
eseidel
2013/05/23 03:12:22
This extends the lifetime of widgets in this map t
dmichael (off chromium)
2013/05/23 15:52:58
Note how the old code copies the map in line 56. T
| |
58 WidgetToParentMap::iterator end = map.end(); | 58 WidgetToParentMap::iterator end = map.end(); |
59 for (WidgetToParentMap::iterator it = map.begin(); it != end; ++it) { | 59 for (WidgetToParentMap::iterator it = map.begin(); it != end; ++it) { |
60 Widget* child = it->key.get(); | 60 Widget* child = it->key.get(); |
61 ScrollView* currentParent = child->parent(); | 61 ScrollView* currentParent = child->parent(); |
62 FrameView* newParent = it->value; | 62 FrameView* newParent = it->value; |
63 if (newParent != currentParent) { | 63 if (newParent != currentParent) { |
64 if (currentParent) | 64 if (currentParent) |
65 currentParent->removeChild(child); | 65 currentParent->removeChild(child); |
66 if (newParent) | 66 if (newParent) |
67 newParent->addChild(child); | 67 newParent->addChild(child); |
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
375 CursorDirective RenderWidget::getCursor(const LayoutPoint& point, Cursor& cursor ) const | 375 CursorDirective RenderWidget::getCursor(const LayoutPoint& point, Cursor& cursor ) const |
376 { | 376 { |
377 if (widget() && widget()->isPluginView()) { | 377 if (widget() && widget()->isPluginView()) { |
378 // A plug-in is responsible for setting the cursor when the pointer is o ver it. | 378 // A plug-in is responsible for setting the cursor when the pointer is o ver it. |
379 return DoNotSetCursor; | 379 return DoNotSetCursor; |
380 } | 380 } |
381 return RenderReplaced::getCursor(point, cursor); | 381 return RenderReplaced::getCursor(point, cursor); |
382 } | 382 } |
383 | 383 |
384 } // namespace WebCore | 384 } // namespace WebCore |
OLD | NEW |