| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies) | 2 * Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies) |
| 3 * | 3 * |
| 4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
| 5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
| 6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
| 7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
| 8 * | 8 * |
| 9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
| 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 #include "core/dom/ContainerNode.h" | 24 #include "core/dom/ContainerNode.h" |
| 25 #include "core/dom/Node.h" | 25 #include "core/dom/Node.h" |
| 26 #include "core/dom/NodeLayoutStyle.h" | 26 #include "core/dom/NodeLayoutStyle.h" |
| 27 #include "core/dom/Text.h" | 27 #include "core/dom/Text.h" |
| 28 #include "core/editing/Editor.h" | 28 #include "core/editing/Editor.h" |
| 29 #include "core/frame/FrameView.h" | 29 #include "core/frame/FrameView.h" |
| 30 #include "core/frame/LocalFrame.h" | 30 #include "core/frame/LocalFrame.h" |
| 31 #include "core/html/HTMLFrameOwnerElement.h" | 31 #include "core/html/HTMLFrameOwnerElement.h" |
| 32 #include "core/layout/LayoutBox.h" | 32 #include "core/layout/LayoutBox.h" |
| 33 #include "core/layout/LayoutObject.h" | 33 #include "core/layout/LayoutObject.h" |
| 34 #include "core/layout/LayoutText.h" |
| 34 #include "core/layout/style/LayoutStyle.h" | 35 #include "core/layout/style/LayoutStyle.h" |
| 35 #include "core/rendering/RenderText.h" | |
| 36 #include "platform/geometry/FloatPoint.h" | 36 #include "platform/geometry/FloatPoint.h" |
| 37 #include "platform/geometry/FloatQuad.h" | 37 #include "platform/geometry/FloatQuad.h" |
| 38 #include "platform/geometry/IntSize.h" | 38 #include "platform/geometry/IntSize.h" |
| 39 #include "platform/text/TextBreakIterator.h" | 39 #include "platform/text/TextBreakIterator.h" |
| 40 | 40 |
| 41 namespace blink { | 41 namespace blink { |
| 42 | 42 |
| 43 namespace TouchAdjustment { | 43 namespace TouchAdjustment { |
| 44 | 44 |
| 45 const float zeroTolerance = 1e-6f; | 45 const float zeroTolerance = 1e-6f; |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 159 static inline void appendContextSubtargetsForNode(Node* node, SubtargetGeometryL
ist& subtargets) | 159 static inline void appendContextSubtargetsForNode(Node* node, SubtargetGeometryL
ist& subtargets) |
| 160 { | 160 { |
| 161 // This is a variant of appendBasicSubtargetsForNode that adds special subta
rgets for | 161 // This is a variant of appendBasicSubtargetsForNode that adds special subta
rgets for |
| 162 // selected or auto-selectable parts of text nodes. | 162 // selected or auto-selectable parts of text nodes. |
| 163 ASSERT(node->renderer()); | 163 ASSERT(node->renderer()); |
| 164 | 164 |
| 165 if (!node->isTextNode()) | 165 if (!node->isTextNode()) |
| 166 return appendBasicSubtargetsForNode(node, subtargets); | 166 return appendBasicSubtargetsForNode(node, subtargets); |
| 167 | 167 |
| 168 Text* textNode = toText(node); | 168 Text* textNode = toText(node); |
| 169 RenderText* textRenderer = textNode->renderer(); | 169 LayoutText* textRenderer = textNode->renderer(); |
| 170 | 170 |
| 171 if (textRenderer->frame()->editor().behavior().shouldSelectOnContextualMenuC
lick()) { | 171 if (textRenderer->frame()->editor().behavior().shouldSelectOnContextualMenuC
lick()) { |
| 172 // Make subtargets out of every word. | 172 // Make subtargets out of every word. |
| 173 String textValue = textNode->data(); | 173 String textValue = textNode->data(); |
| 174 TextBreakIterator* wordIterator = wordBreakIterator(textValue, 0, textVa
lue.length()); | 174 TextBreakIterator* wordIterator = wordBreakIterator(textValue, 0, textVa
lue.length()); |
| 175 int lastOffset = wordIterator->first(); | 175 int lastOffset = wordIterator->first(); |
| 176 if (lastOffset == -1) | 176 if (lastOffset == -1) |
| 177 return; | 177 return; |
| 178 int offset; | 178 int offset; |
| 179 while ((offset = wordIterator->next()) != -1) { | 179 while ((offset = wordIterator->next()) != -1) { |
| (...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 507 | 507 |
| 508 bool findBestZoomableArea(Node*& targetNode, IntRect& targetArea, const IntPoint
& touchHotspot, const IntRect& touchArea, const WillBeHeapVector<RefPtrWillBeMem
ber<Node>>& nodes) | 508 bool findBestZoomableArea(Node*& targetNode, IntRect& targetArea, const IntPoint
& touchHotspot, const IntRect& touchArea, const WillBeHeapVector<RefPtrWillBeMem
ber<Node>>& nodes) |
| 509 { | 509 { |
| 510 IntPoint targetPoint; | 510 IntPoint targetPoint; |
| 511 TouchAdjustment::SubtargetGeometryList subtargets; | 511 TouchAdjustment::SubtargetGeometryList subtargets; |
| 512 TouchAdjustment::compileZoomableSubtargets(nodes, subtargets); | 512 TouchAdjustment::compileZoomableSubtargets(nodes, subtargets); |
| 513 return TouchAdjustment::findNodeWithLowestDistanceMetric(targetNode, targetP
oint, targetArea, touchHotspot, touchArea, subtargets, TouchAdjustment::zoomable
IntersectionQuotient); | 513 return TouchAdjustment::findNodeWithLowestDistanceMetric(targetNode, targetP
oint, targetArea, touchHotspot, touchArea, subtargets, TouchAdjustment::zoomable
IntersectionQuotient); |
| 514 } | 514 } |
| 515 | 515 |
| 516 } // namespace blink | 516 } // namespace blink |
| OLD | NEW |