/** * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. * (C) 2008 Torch Mobile Inc. All rights reserved. * (http://www.torchmobile.com/) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this library; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. * */ #ifdef UNSAFE_BUFFERS_BUILD // TODO(crbug.com/351564777): Remove this and convert code to safer constructs. #pragma allow_unsafe_buffers #endif #include "third_party/blink/renderer/core/layout/forms/layout_text_control.h" #include "third_party/blink/renderer/core/css/style_change_reason.h" #include "third_party/blink/renderer/core/html/html_element.h" #include "third_party/blink/renderer/core/layout/hit_test_location.h" #include "third_party/blink/renderer/core/layout/hit_test_result.h" #include "third_party/blink/renderer/core/layout/layout_block.h" #include "third_party/blink/renderer/core/layout/text_utils.h" #include "third_party/blink/renderer/core/page/chrome_client.h" #include "third_party/blink/renderer/core/page/page.h" namespace blink { namespace layout_text_control { void StyleDidChange(HTMLElement* inner_editor, const ComputedStyle* old_style, const ComputedStyle& new_style) { … } int ScrollbarThickness(const LayoutBox& box) { … } void HitInnerEditorElement(const LayoutBox& box, HTMLElement& inner_editor, HitTestResult& result, const HitTestLocation& hit_test_location, const PhysicalOffset& accumulated_offset) { … } static const char* const kFontFamiliesWithInvalidCharWidth[] = …; // For font families where any of the fonts don't have a valid entry in the OS/2 // table for avgCharWidth, fallback to the legacy webkit behavior of getting the // avgCharWidth from the width of a '0'. This only seems to apply to a fixed // number of Mac fonts, but, in order to get similar rendering across platforms, // we do this check for all platforms. bool HasValidAvgCharWidth(const Font& font) { … } float GetAvgCharWidth(const ComputedStyle& style) { … } } // namespace layout_text_control } // namespace blink