
This change uncouples title_text and alt_text for the context menu in the Content API. Now a content embedder can uniquely identify the title_text and the alt_text for the element for which the context menu has opened. Bug: 985883 Change-Id: Ia66356321985a5af8543dd012b9b2d74e21d2375 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1710053 Reviewed-by: Charlie Reis <creis@chromium.org> Reviewed-by: Dominick Ng <dominickn@chromium.org> Reviewed-by: Yaron Friedman <yfriedman@chromium.org> Reviewed-by: Rick Byers <rbyers@chromium.org> Commit-Queue: Christian Biesinger <cbiesinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#680650}
61 lines
2.3 KiB
C++
61 lines
2.3 KiB
C++
// Copyright (c) 2013 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#include "content/renderer/context_menu_params_builder.h"
|
|
|
|
#include <stddef.h>
|
|
|
|
#include "content/public/common/context_menu_params.h"
|
|
#include "content/public/renderer/content_renderer_client.h"
|
|
#include "content/renderer/history_serialization.h"
|
|
#include "content/renderer/menu_item_builder.h"
|
|
|
|
namespace content {
|
|
|
|
// static
|
|
ContextMenuParams ContextMenuParamsBuilder::Build(
|
|
const blink::WebContextMenuData& data) {
|
|
ContextMenuParams params;
|
|
params.media_type = data.media_type;
|
|
params.x = data.mouse_position.x;
|
|
params.y = data.mouse_position.y;
|
|
params.link_url = data.link_url;
|
|
params.unfiltered_link_url = data.link_url;
|
|
params.src_url = data.src_url;
|
|
params.has_image_contents = data.has_image_contents;
|
|
params.page_url = data.page_url;
|
|
params.frame_url = data.frame_url;
|
|
params.media_flags = data.media_flags;
|
|
params.selection_text = data.selected_text.Utf16();
|
|
params.selection_start_offset = data.selection_start_offset;
|
|
params.title_text = data.title_text.Utf16();
|
|
params.alt_text = data.alt_text.Utf16();
|
|
params.misspelled_word = data.misspelled_word.Utf16();
|
|
params.spellcheck_enabled = data.is_spell_checking_enabled;
|
|
params.is_editable = data.is_editable;
|
|
params.writing_direction_default = data.writing_direction_default;
|
|
params.writing_direction_left_to_right = data.writing_direction_left_to_right;
|
|
params.writing_direction_right_to_left = data.writing_direction_right_to_left;
|
|
params.edit_flags = data.edit_flags;
|
|
params.frame_charset = data.frame_encoding.Utf8();
|
|
params.referrer_policy = data.referrer_policy;
|
|
params.suggested_filename = data.suggested_filename.Utf16();
|
|
params.input_field_type = data.input_field_type;
|
|
|
|
for (size_t i = 0; i < data.dictionary_suggestions.size(); ++i)
|
|
params.dictionary_suggestions.push_back(
|
|
data.dictionary_suggestions[i].Utf16());
|
|
|
|
params.custom_context.is_pepper_menu = false;
|
|
for (size_t i = 0; i < data.custom_items.size(); ++i)
|
|
params.custom_items.push_back(MenuItemBuilder::Build(data.custom_items[i]));
|
|
|
|
params.link_text = data.link_text.Utf16();
|
|
params.source_type = static_cast<ui::MenuSourceType>(data.source_type);
|
|
|
|
return params;
|
|
}
|
|
|
|
} // namespace content
|