fune/layout/forms/nsITextControlFrame.h
Emilio Cobos Álvarez 9e7c428de0 Bug 1776238 - Pack TextControlState a bit better. r=masayuki
I've confirmed that with this we can add a new string without going over
the current limit of 128 bytes here:

  https://searchfox.org/mozilla-central/rev/6d0ba065e3d41822337c708c8c0aca334ddd9218/dom/html/TextControlState.cpp#1426

Differential Revision: https://phabricator.services.mozilla.com/D150145
2022-06-24 05:41:01 +00:00

44 lines
1.5 KiB
C++

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef nsITextControlFrame_h___
#define nsITextControlFrame_h___
#include "nsIFormControlFrame.h"
#include "mozilla/AlreadyAddRefed.h"
class nsISelectionController;
class nsFrameSelection;
namespace mozilla {
class TextEditor;
} // namespace mozilla
// FIXME(emilio): This has only one implementation, seems it could be removed...
class nsITextControlFrame : public nsIFormControlFrame {
public:
NS_DECL_QUERYFRAME_TARGET(nsITextControlFrame)
enum class SelectionDirection : uint8_t { None, Forward, Backward };
virtual already_AddRefed<mozilla::TextEditor> GetTextEditor() = 0;
MOZ_CAN_RUN_SCRIPT NS_IMETHOD
SetSelectionRange(uint32_t aSelectionStart, uint32_t aSelectionEnd,
SelectionDirection = SelectionDirection::None) = 0;
NS_IMETHOD GetOwnedSelectionController(nsISelectionController** aSelCon) = 0;
virtual nsFrameSelection* GetOwnedFrameSelection() = 0;
/**
* Ensure editor is initialized with the proper flags and the default value.
* @throws NS_ERROR_NOT_INITIALIZED if mEditor has not been created
* @throws various and sundry other things
*/
virtual nsresult EnsureEditorInitialized() = 0;
};
#endif