Title: [158723] trunk/Source/WebCore
- Revision
- 158723
- Author
- [email protected]
- Date
- 2013-11-05 22:14:47 -0800 (Tue, 05 Nov 2013)
Log Message
Change the order of conditions to avoid computing rendererIsEditable()
https://bugs.webkit.org/show_bug.cgi?id=123868
Reviewed by Andreas Kling.
Merge https://chromium.googlesource.com/chromium/blink/+/c89b413ff0fc4aafa0c71d180b0b1e131bb37707
When we need both Node::renderer() and Node::rendererIsEditable() conditions to be true to perform
some operation, it is more effective to check for renderer() first, so that if this condition fails
we can avoid unnecessary computation of rendererIsEditable().
* dom/Position.cpp:
(WebCore::nextRenderedEditable):
(WebCore::previousRenderedEditable):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseReleaseEvent):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (158722 => 158723)
--- trunk/Source/WebCore/ChangeLog 2013-11-06 06:02:35 UTC (rev 158722)
+++ trunk/Source/WebCore/ChangeLog 2013-11-06 06:14:47 UTC (rev 158723)
@@ -1,5 +1,24 @@
2013-11-05 Ryosuke Niwa <[email protected]>
+ Change the order of conditions to avoid computing rendererIsEditable()
+ https://bugs.webkit.org/show_bug.cgi?id=123868
+
+ Reviewed by Andreas Kling.
+
+ Merge https://chromium.googlesource.com/chromium/blink/+/c89b413ff0fc4aafa0c71d180b0b1e131bb37707
+
+ When we need both Node::renderer() and Node::rendererIsEditable() conditions to be true to perform
+ some operation, it is more effective to check for renderer() first, so that if this condition fails
+ we can avoid unnecessary computation of rendererIsEditable().
+
+ * dom/Position.cpp:
+ (WebCore::nextRenderedEditable):
+ (WebCore::previousRenderedEditable):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMouseReleaseEvent):
+
+2013-11-05 Ryosuke Niwa <[email protected]>
+
simpleUserAgentStyleSheet doesn't have focus ring on anchor element
https://bugs.webkit.org/show_bug.cgi?id=123867
Modified: trunk/Source/WebCore/dom/Position.cpp (158722 => 158723)
--- trunk/Source/WebCore/dom/Position.cpp 2013-11-06 06:02:35 UTC (rev 158722)
+++ trunk/Source/WebCore/dom/Position.cpp 2013-11-06 06:14:47 UTC (rev 158723)
@@ -65,10 +65,8 @@
static Node* nextRenderedEditable(Node* node)
{
while ((node = nextLeafNode(node))) {
- if (!node->rendererIsEditable())
- continue;
RenderObject* renderer = node->renderer();
- if (!renderer)
+ if (!renderer || !node->rendererIsEditable())
continue;
if (hasInlineBoxWrapper(*renderer))
return node;
@@ -79,10 +77,8 @@
static Node* previousRenderedEditable(Node* node)
{
while ((node = previousLeafNode(node))) {
- if (!node->rendererIsEditable())
- continue;
RenderObject* renderer = node->renderer();
- if (!renderer)
+ if (!renderer || !node->rendererIsEditable())
continue;
if (hasInlineBoxWrapper(*renderer))
return node;
Modified: trunk/Source/WebCore/page/EventHandler.cpp (158722 => 158723)
--- trunk/Source/WebCore/page/EventHandler.cpp 2013-11-06 06:02:35 UTC (rev 158722)
+++ trunk/Source/WebCore/page/EventHandler.cpp 2013-11-06 06:14:47 UTC (rev 158723)
@@ -937,7 +937,7 @@
VisibleSelection newSelection;
Node* node = event.targetNode();
bool caretBrowsing = m_frame.settings().caretBrowsingEnabled();
- if (node && (caretBrowsing || node->rendererIsEditable()) && node->renderer()) {
+ if (node && node->renderer() && (caretBrowsing || node->rendererIsEditable())) {
VisiblePosition pos = node->renderer()->positionForPoint(event.localPoint());
newSelection = VisibleSelection(pos);
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes