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