15f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 25f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// found in the LICENSE file. 45f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 55f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "content/renderer/dom_utils.h" 65f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 75f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "third_party/WebKit/public/web/WebNode.h" 85f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 95f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)namespace content { 105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 115f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)blink::WebNode DomUtils::ExtractParentAnchorNode( 125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) const blink::WebNode& node) { 135f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) blink::WebNode selected_node = node; 145f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // If there are other embedded tags (like <a ..>Some <b>text</b></a>) 165f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // we need to extract the parent <a/> node. 175f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) while (!selected_node.isNull() && !selected_node.isLink()) 185f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) selected_node = selected_node.parentNode(); 195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) return selected_node; 205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} // namespace content 23