#include "base/logging.h"
#include "content/common/ssl_status_serialization.h"
#include "content/public/common/context_menu_params.h"
+#include "content/renderer/dom_utils.h"
#include "content/renderer/history_serialization.h"
#include "content/renderer/menu_item_builder.h"
#include "third_party/WebKit/public/web/WebElement.h"
params.edit_flags = data.editFlags;
params.frame_charset = data.frameEncoding.utf8();
params.referrer_policy = data.referrerPolicy;
+ params.suggested_filename = data.suggestedFilename;
for (size_t i = 0; i < data.dictionarySuggestions.size(); ++i)
params.dictionary_suggestions.push_back(data.dictionarySuggestions[i]);
}
if (!params.link_url.is_empty()) {
- blink::WebNode selectedNode = data.node;
-
- // If there are other embedded tags (like <a ..>Some <b>text</b></a>)
- // we need to extract the parent <a/> node.
- while (!selectedNode.isLink() && !selectedNode.parentNode().isNull()) {
- selectedNode = selectedNode.parentNode();
- }
-
+ blink::WebNode selectedNode = DomUtils::ExtractParentAnchorNode(data.node);
blink::WebElement selectedElement = selectedNode.to<blink::WebElement>();
if (selectedNode.isLink() && !selectedElement.isNull()) {
params.link_text = selectedElement.innerText();