mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-26 22:32:46 +00:00
Bug 1388910 - Remove -moz-user-modify property. r=dshin
We successfully unshipped it in bug 1920118. Differential Revision: https://phabricator.services.mozilla.com/D229530
This commit is contained in:
parent
aa945f1cf5
commit
8f4f441cae
@ -398,9 +398,6 @@
|
||||
textarea[readonly] {
|
||||
color: var(--text-color-deemphasized);
|
||||
border-color: var(--in-content-border-color);
|
||||
// Show a text cursor on readonly textareas. Otherwise, they are selectable,
|
||||
// but there's no cursor to show the caret position.
|
||||
-moz-user-modify: read-write;
|
||||
}
|
||||
|
||||
.monospace {
|
||||
|
@ -312,7 +312,6 @@
|
||||
.asrouter-admin textarea[readonly] {
|
||||
color: var(--text-color-deemphasized);
|
||||
border-color: var(--in-content-border-color);
|
||||
-moz-user-modify: read-write;
|
||||
}
|
||||
.asrouter-admin .monospace {
|
||||
font-family: "SF Mono", "Monaco", "Inconsolata", "Fira Code", "Fira Mono", "Droid Sans Mono", "Source Code Pro", monospace;
|
||||
|
@ -282,7 +282,6 @@
|
||||
; Style Sheets, Graphics and other Resources used by the layout engine.
|
||||
@RESPATH@/res/EditorOverride.css
|
||||
@RESPATH@/res/contenteditable.css
|
||||
@RESPATH@/res/designmode.css
|
||||
@RESPATH@/res/table-add-column-after-active.gif
|
||||
@RESPATH@/res/table-add-column-after-hover.gif
|
||||
@RESPATH@/res/table-add-column-after.gif
|
||||
|
@ -188,7 +188,6 @@ exports.ANIMATION_TYPE_FOR_LONGHANDS = [
|
||||
"unicode-bidi",
|
||||
"-moz-user-focus",
|
||||
"-moz-user-input",
|
||||
"-moz-user-modify",
|
||||
"user-select",
|
||||
"vector-effect",
|
||||
"view-transition-name",
|
||||
|
@ -47,10 +47,6 @@ const testcases = [
|
||||
{
|
||||
property: "-moz-user-input"
|
||||
},
|
||||
{
|
||||
property: "-moz-user-modify",
|
||||
pref: "layout.css.moz-user-modify.enabled"
|
||||
},
|
||||
{
|
||||
property: "user-select"
|
||||
},
|
||||
|
@ -1368,7 +1368,6 @@ Document::Document(const char* aContentType)
|
||||
mStyleSetFilled(false),
|
||||
mQuirkSheetAdded(false),
|
||||
mContentEditableSheetAdded(false),
|
||||
mDesignModeSheetAdded(false),
|
||||
mMayHaveTitleElement(false),
|
||||
mDOMLoadingSet(false),
|
||||
mDOMInteractiveSet(false),
|
||||
@ -3279,17 +3278,12 @@ void Document::FillStyleSet() {
|
||||
mStyleSetFilled = true;
|
||||
}
|
||||
|
||||
void Document::RemoveContentEditableStyleSheets() {
|
||||
void Document::RemoveContentEditableStyleSheet() {
|
||||
MOZ_ASSERT(IsHTMLOrXHTML());
|
||||
|
||||
ServoStyleSet& styleSet = EnsureStyleSet();
|
||||
auto* cache = GlobalStyleSheetCache::Singleton();
|
||||
bool changed = false;
|
||||
if (mDesignModeSheetAdded) {
|
||||
styleSet.RemoveStyleSheet(*cache->DesignModeSheet());
|
||||
mDesignModeSheetAdded = false;
|
||||
changed = true;
|
||||
}
|
||||
if (mContentEditableSheetAdded) {
|
||||
styleSet.RemoveStyleSheet(*cache->ContentEditableSheet());
|
||||
mContentEditableSheetAdded = false;
|
||||
@ -3301,7 +3295,7 @@ void Document::RemoveContentEditableStyleSheets() {
|
||||
}
|
||||
}
|
||||
|
||||
void Document::AddContentEditableStyleSheetsToStyleSet(bool aDesignMode) {
|
||||
void Document::AddContentEditableStyleSheetToStyleSet() {
|
||||
MOZ_ASSERT(IsHTMLOrXHTML());
|
||||
MOZ_DIAGNOSTIC_ASSERT(mStyleSetFilled,
|
||||
"Caller should ensure we're being rendered");
|
||||
@ -3314,15 +3308,6 @@ void Document::AddContentEditableStyleSheetsToStyleSet(bool aDesignMode) {
|
||||
mContentEditableSheetAdded = true;
|
||||
changed = true;
|
||||
}
|
||||
if (mDesignModeSheetAdded != aDesignMode) {
|
||||
if (mDesignModeSheetAdded) {
|
||||
styleSet.RemoveStyleSheet(*cache->DesignModeSheet());
|
||||
} else {
|
||||
styleSet.AppendStyleSheet(*cache->DesignModeSheet());
|
||||
}
|
||||
mDesignModeSheetAdded = !mDesignModeSheetAdded;
|
||||
changed = true;
|
||||
}
|
||||
if (changed) {
|
||||
ApplicableStylesChanged();
|
||||
}
|
||||
@ -6037,7 +6022,7 @@ void Document::TearingDownEditor() {
|
||||
if (IsEditingOn()) {
|
||||
mEditingState = EditingState::eTearingDown;
|
||||
if (IsHTMLOrXHTML()) {
|
||||
RemoveContentEditableStyleSheets();
|
||||
RemoveContentEditableStyleSheet();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -6248,7 +6233,7 @@ nsresult Document::EditingStateChanged() {
|
||||
// because new style may change whether focused element will be focusable
|
||||
// or not.
|
||||
if (IsHTMLOrXHTML()) {
|
||||
AddContentEditableStyleSheetsToStyleSet(designMode);
|
||||
AddContentEditableStyleSheetToStyleSet();
|
||||
}
|
||||
|
||||
if (designMode) {
|
||||
@ -7407,7 +7392,6 @@ void Document::DeletePresShell() {
|
||||
mStyleSetFilled = false;
|
||||
mQuirkSheetAdded = false;
|
||||
mContentEditableSheetAdded = false;
|
||||
mDesignModeSheetAdded = false;
|
||||
}
|
||||
|
||||
void Document::DisallowBFCaching(uint32_t aStatus) {
|
||||
|
@ -4259,8 +4259,8 @@ class Document : public nsINode,
|
||||
// FIXME(emilio): Can SVG documents be in quirks mode anyway?
|
||||
return mCompatMode == eCompatibility_NavQuirks && !IsSVGDocument();
|
||||
}
|
||||
void AddContentEditableStyleSheetsToStyleSet(bool aDesignMode);
|
||||
void RemoveContentEditableStyleSheets();
|
||||
void AddContentEditableStyleSheetToStyleSet();
|
||||
void RemoveContentEditableStyleSheet();
|
||||
void AddStyleSheetToStyleSets(StyleSheet&);
|
||||
void RemoveStyleSheetFromStyleSets(StyleSheet&);
|
||||
void NotifyStyleSheetApplicableStateChanged();
|
||||
@ -4816,9 +4816,6 @@ class Document : public nsINode,
|
||||
// Whether we have a contenteditable.css stylesheet in the style set.
|
||||
bool mContentEditableSheetAdded : 1;
|
||||
|
||||
// Whether we have a designmode.css stylesheet in the style set.
|
||||
bool mDesignModeSheetAdded : 1;
|
||||
|
||||
// True if this document has ever had an HTML or SVG <title> element
|
||||
// bound to it
|
||||
bool mMayHaveTitleElement : 1;
|
||||
|
@ -3242,8 +3242,6 @@ nsresult nsFocusManager::SetCaretVisible(PresShell* aPresShell, bool aVisible,
|
||||
// SetCaretDOMSelection
|
||||
aPresShell->SetCaretEnabled(false);
|
||||
|
||||
// Caret must blink on non-editable elements
|
||||
caret->SetIgnoreUserModify(true);
|
||||
// Tell the caret which selection to use
|
||||
caret->SetSelection(domSelection);
|
||||
|
||||
|
@ -17090,23 +17090,6 @@ use.counter.css.page:
|
||||
send_in_pings:
|
||||
- use-counters
|
||||
|
||||
css_moz_user_modify:
|
||||
type: counter
|
||||
description: >
|
||||
Whether a page used the CSS property -moz-user-modify.
|
||||
Compare against `use.counter.top_level_content_documents_destroyed`
|
||||
to calculate the rate.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1852098
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1852098
|
||||
notification_emails:
|
||||
- dom-core@mozilla.com
|
||||
- emilio@mozilla.com
|
||||
expires: never
|
||||
send_in_pings:
|
||||
- use-counters
|
||||
|
||||
css_moz_window_dragging:
|
||||
type: counter
|
||||
description: >
|
||||
@ -29077,23 +29060,6 @@ use.counter.css.doc:
|
||||
send_in_pings:
|
||||
- use-counters
|
||||
|
||||
css_moz_user_modify:
|
||||
type: counter
|
||||
description: >
|
||||
Whether a document used the CSS property -moz-user-modify.
|
||||
Compare against `use.counter.content_documents_destroyed`
|
||||
to calculate the rate.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1852098
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1852098
|
||||
notification_emails:
|
||||
- dom-core@mozilla.com
|
||||
- emilio@mozilla.com
|
||||
expires: never
|
||||
send_in_pings:
|
||||
- use-counters
|
||||
|
||||
css_moz_window_dragging:
|
||||
type: counter
|
||||
description: >
|
||||
|
@ -1328,23 +1328,6 @@ static inline void MapLangAttributeInto(MappedDeclarationsBuilder& aBuilder) {
|
||||
*/
|
||||
void nsGenericHTMLElement::MapCommonAttributesIntoExceptHidden(
|
||||
MappedDeclarationsBuilder& aBuilder) {
|
||||
if (!aBuilder.PropertyIsSet(eCSSProperty__moz_user_modify)) {
|
||||
const nsAttrValue* value = aBuilder.GetAttr(nsGkAtoms::contenteditable);
|
||||
if (value) {
|
||||
// FIXME: plaintext-only should be mapped to read-write-plaintext-only
|
||||
if (value->Equals(nsGkAtoms::_empty, eCaseMatters) ||
|
||||
value->Equals(nsGkAtoms::_true, eIgnoreCase) ||
|
||||
(StaticPrefs::dom_element_contenteditable_plaintext_only_enabled() &&
|
||||
value->Equals(nsGkAtoms::plaintextOnly, eIgnoreCase))) {
|
||||
aBuilder.SetKeywordValue(eCSSProperty__moz_user_modify,
|
||||
StyleUserModify::ReadWrite);
|
||||
} else if (value->Equals(nsGkAtoms::_false, eIgnoreCase)) {
|
||||
aBuilder.SetKeywordValue(eCSSProperty__moz_user_modify,
|
||||
StyleUserModify::ReadOnly);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MapLangAttributeInto(aBuilder);
|
||||
}
|
||||
|
||||
|
@ -403,8 +403,6 @@ skip-if = ["true"] # Disabled for timeouts.
|
||||
|
||||
["test_bug441930.html"]
|
||||
|
||||
["test_bug442801.html"]
|
||||
|
||||
["test_bug445004.html"]
|
||||
skip-if = ["true"] # Disabled permanently (bug 559932).
|
||||
|
||||
|
@ -1,68 +0,0 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<!--
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=442801
|
||||
-->
|
||||
<head>
|
||||
<title>Test for Bug 442801</title>
|
||||
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
||||
</head>
|
||||
<body>
|
||||
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=442801">Mozilla Bug 442801</a>
|
||||
<p id="display"></p>
|
||||
<div id="content" style="display: none">
|
||||
|
||||
<div contenteditable="true">
|
||||
<p id="ce_true" contenteditable="true">contenteditable true</p>
|
||||
</div>
|
||||
|
||||
<div contenteditable="true">
|
||||
<p id="ce_false" contenteditable="false">contenteditable false</p>
|
||||
</div>
|
||||
|
||||
<div contenteditable="true">
|
||||
<p id="ce_empty" contenteditable="">contenteditable empty</p>
|
||||
</div>
|
||||
|
||||
<div contenteditable="true">
|
||||
<p id="ce_inherit" contenteditable="inherit">contenteditable inherit</p>
|
||||
</div>
|
||||
|
||||
<div contenteditable="true">
|
||||
<p id="ce_none" >contenteditable none</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<pre id="test">
|
||||
<script type="application/javascript">
|
||||
|
||||
/** Test for Bug 442801 **/
|
||||
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
(async function() {
|
||||
await SpecialPowers.pushPrefEnv({ set: [["layout.css.moz-user-modify.enabled", true]] });
|
||||
|
||||
is(window.getComputedStyle($("ce_true")).getPropertyValue("-moz-user-modify"),
|
||||
"read-write",
|
||||
"parent contenteditable is true, contenteditable is true; user-modify should be read-write");
|
||||
is(window.getComputedStyle($("ce_false")).getPropertyValue("-moz-user-modify"),
|
||||
"read-only",
|
||||
"parent contenteditable is true, contenteditable is false; user-modify should be read-only");
|
||||
is(window.getComputedStyle($("ce_empty")).getPropertyValue("-moz-user-modify"),
|
||||
"read-write",
|
||||
"parent contenteditable is true, contenteditable is empty; user-modify should be read-write");
|
||||
is(window.getComputedStyle($("ce_inherit")).getPropertyValue("-moz-user-modify"),
|
||||
"read-write",
|
||||
"parent contenteditable is true, contenteditable is inherit; user-modify should be read-write");
|
||||
is(window.getComputedStyle($("ce_none")).getPropertyValue("-moz-user-modify"),
|
||||
"read-write",
|
||||
"parent contenteditable is true, contenteditable is none; user-modify should be read-write");
|
||||
SimpleTest.finish();
|
||||
}())
|
||||
</script>
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
@ -2,10 +2,6 @@
|
||||
* 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/. */
|
||||
|
||||
*|* {
|
||||
-moz-user-modify: read-write;
|
||||
}
|
||||
|
||||
/* Styles to alter look of things in the Editor content window
|
||||
* that should NOT be removed when we display in completely WYSIWYG
|
||||
* "Browser Preview" mode.
|
||||
|
@ -5588,14 +5588,6 @@ nsresult EditorBase::InitializeSelection(
|
||||
NS_WARNING_ASSERTION(
|
||||
NS_SUCCEEDED(rvIgnored),
|
||||
"nsISelectionController::SetCaretEnabled() failed, but ignored");
|
||||
// NOTE(emilio): It's important for this call to be after
|
||||
// SetCaretEnabled(true), since that would override mIgnoreUserModify to true.
|
||||
//
|
||||
// Also, make sure to always ignore it for designMode, since that effectively
|
||||
// overrides everything and we allow to edit stuff with
|
||||
// contenteditable="false" subtrees in such a document.
|
||||
caret->SetIgnoreUserModify(aOriginalEventTargetNode.IsInDesignMode());
|
||||
|
||||
// Init selection
|
||||
rvIgnored =
|
||||
selectionController->SetSelectionFlags(nsISelectionDisplay::DISPLAY_ALL);
|
||||
@ -5674,7 +5666,6 @@ nsresult EditorBase::FinalizeSelection() {
|
||||
}
|
||||
|
||||
if (RefPtr<nsCaret> caret = GetCaret()) {
|
||||
caret->SetIgnoreUserModify(true);
|
||||
DebugOnly<nsresult> rvIgnored = selectionController->SetCaretEnabled(false);
|
||||
NS_WARNING_ASSERTION(
|
||||
NS_SUCCEEDED(rvIgnored),
|
||||
|
@ -143,7 +143,6 @@ void nsCaret::SetSelection(Selection* aDOMSel) {
|
||||
void nsCaret::SetVisible(bool aVisible) {
|
||||
const bool wasVisible = mVisible;
|
||||
mVisible = aVisible;
|
||||
mIgnoreUserModify = aVisible;
|
||||
if (mVisible != wasVisible) {
|
||||
CaretVisibilityMaybeChanged();
|
||||
}
|
||||
@ -500,9 +499,7 @@ nsIFrame* nsCaret::GetPaintGeometry(nsRect* aCaretRect, nsRect* aHookRect,
|
||||
// Where the selection is targeting the <br>. We want to display the caret,
|
||||
// since the <br> we're focused at is editable, but we do want to paint it at
|
||||
// the adjusted frame offset, so that we can see the collapsed whitespace.
|
||||
const nsStyleUI* ui = unadjustedFrame->StyleUI();
|
||||
if ((!mIgnoreUserModify && ui->UserModify() == StyleUserModify::ReadOnly) ||
|
||||
unadjustedFrame->IsContentDisabled()) {
|
||||
if (unadjustedFrame->IsContentDisabled()) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@ -728,8 +725,3 @@ void nsCaret::CaretBlinkCallback(nsITimer* aTimer, void* aClosure) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void nsCaret::SetIgnoreUserModify(bool aIgnoreUserModify) {
|
||||
mIgnoreUserModify = aIgnoreUserModify;
|
||||
SchedulePaint();
|
||||
}
|
||||
|
@ -52,15 +52,6 @@ class nsCaret final : public nsISelectionListener {
|
||||
void SetSelection(mozilla::dom::Selection*);
|
||||
mozilla::dom::Selection* GetSelection();
|
||||
|
||||
/**
|
||||
* Sets whether the caret should only be visible in nodes that are not
|
||||
* user-modify: read-only, or whether it should be visible in all nodes.
|
||||
*
|
||||
* @param aIgnoreUserModify true to have the cursor visible in all nodes,
|
||||
* false to have it visible in all nodes except
|
||||
* those with user-modify: read-only
|
||||
*/
|
||||
void SetIgnoreUserModify(bool aIgnoreUserModify);
|
||||
/**
|
||||
* SetVisible will set the visibility of the caret
|
||||
* @param aVisible true to show the caret, false to hide it
|
||||
@ -253,11 +244,6 @@ class nsCaret final : public nsISelectionListener {
|
||||
* the selection is not collapsed.
|
||||
*/
|
||||
bool mShowDuringSelection = false;
|
||||
/**
|
||||
* mIgnoreUserModify is true when the caret should be shown even when
|
||||
* it's in non-user-modifiable content.
|
||||
*/
|
||||
bool mIgnoreUserModify = true;
|
||||
|
||||
/**
|
||||
* If the caret position is fixed, it's been overridden externally and it
|
||||
|
@ -468,8 +468,7 @@ static void AdjustCaretFrameForLineEnd(nsIFrame** aFrame, uint32_t* aOffset,
|
||||
if (aEditableOnly && !r->GetContent()->IsEditable()) {
|
||||
return;
|
||||
}
|
||||
// We found our frame, but we may not be able to properly paint the caret
|
||||
// if -moz-user-modify differs from our actual frame.
|
||||
// We found our frame.
|
||||
MOZ_ASSERT(r->IsTextFrame(), "Expected text frame");
|
||||
*aFrame = r;
|
||||
*aOffset = (static_cast<nsTextFrame*>(r))->GetContentEnd();
|
||||
|
@ -398,7 +398,6 @@ cbindgen-types = [
|
||||
{ gecko = "StyleLineClamp", servo = "crate::values::computed::LineClamp" },
|
||||
{ gecko = "StyleUserFocus", servo = "crate::values::computed::UserFocus" },
|
||||
{ gecko = "StyleUserInput", servo = "crate::values::computed::UserInput" },
|
||||
{ gecko = "StyleUserModify", servo = "crate::values::computed::UserModify" },
|
||||
{ gecko = "StyleUserSelect", servo = "crate::values::computed::UserSelect" },
|
||||
{ gecko = "StyleBreakBetween", servo = "crate::values::computed::BreakBetween" },
|
||||
{ gecko = "StyleBreakWithin", servo = "crate::values::computed::BreakWithin" },
|
||||
|
@ -22,7 +22,6 @@
|
||||
|
||||
STYLE_SHEET(ContentEditable, "resource://gre/res/contenteditable.css", true)
|
||||
STYLE_SHEET(CounterStyles, "resource://gre-resources/counterstyles.css", true)
|
||||
STYLE_SHEET(DesignMode, "resource://gre/res/designmode.css", true)
|
||||
STYLE_SHEET(Forms, "resource://gre-resources/forms.css", true)
|
||||
STYLE_SHEET(HTML, "resource://gre-resources/html.css", true)
|
||||
STYLE_SHEET(MathML, "resource://gre-resources/mathml.css", true)
|
||||
|
@ -1,8 +0,0 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* 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/. */
|
||||
|
||||
*|* {
|
||||
-moz-user-modify: read-write;
|
||||
}
|
@ -291,7 +291,6 @@ JAR_MANIFESTS += ["jar.mn"]
|
||||
|
||||
RESOURCE_FILES += [
|
||||
"contenteditable.css",
|
||||
"designmode.css",
|
||||
]
|
||||
|
||||
CONTENT_ACCESSIBLE_FILES += [
|
||||
|
@ -3006,7 +3006,6 @@ nsStyleUI::nsStyleUI()
|
||||
: mInert(StyleInert::None),
|
||||
mMozTheme(StyleMozTheme::Auto),
|
||||
mUserInput(StyleUserInput::Auto),
|
||||
mUserModify(StyleUserModify::ReadOnly),
|
||||
mUserFocus(StyleUserFocus::Normal),
|
||||
mPointerEvents(StylePointerEvents::Auto),
|
||||
mCursor{{}, StyleCursorKind::Auto},
|
||||
@ -3021,7 +3020,6 @@ nsStyleUI::nsStyleUI(const nsStyleUI& aSource)
|
||||
: mInert(aSource.mInert),
|
||||
mMozTheme(aSource.mMozTheme),
|
||||
mUserInput(aSource.mUserInput),
|
||||
mUserModify(aSource.mUserModify),
|
||||
mUserFocus(aSource.mUserFocus),
|
||||
mPointerEvents(aSource.mPointerEvents),
|
||||
mCursor(aSource.mCursor),
|
||||
@ -3067,10 +3065,6 @@ nsChangeHint nsStyleUI::CalcDifference(const nsStyleUI& aNewData) const {
|
||||
hint |= kPointerEventsHint;
|
||||
}
|
||||
|
||||
if (mUserModify != aNewData.mUserModify) {
|
||||
hint |= NS_STYLE_HINT_VISUAL;
|
||||
}
|
||||
|
||||
if (mInert != aNewData.mInert) {
|
||||
// inert affects pointer-events, user-modify, user-select, user-focus and
|
||||
// -moz-user-input, do the union of all them (minus
|
||||
|
@ -1853,7 +1853,6 @@ struct MOZ_NEEDS_MEMMOVABLE_MEMBERS nsStyleUI {
|
||||
|
||||
private:
|
||||
mozilla::StyleUserInput mUserInput;
|
||||
mozilla::StyleUserModify mUserModify;
|
||||
mozilla::StyleUserFocus mUserFocus;
|
||||
mozilla::StylePointerEvents mPointerEvents;
|
||||
mozilla::StyleCursor mCursor;
|
||||
@ -1865,10 +1864,6 @@ struct MOZ_NEEDS_MEMMOVABLE_MEMBERS nsStyleUI {
|
||||
return IsInert() ? mozilla::StyleUserInput::None : mUserInput;
|
||||
}
|
||||
|
||||
mozilla::StyleUserModify UserModify() const {
|
||||
return IsInert() ? mozilla::StyleUserModify::ReadOnly : mUserModify;
|
||||
}
|
||||
|
||||
mozilla::StyleUserFocus UserFocus() const {
|
||||
return IsInert() ? mozilla::StyleUserFocus::None : mUserFocus;
|
||||
}
|
||||
|
@ -211,11 +211,6 @@ textarea::-moz-text-control-editing-root {
|
||||
overflow: inherit;
|
||||
}
|
||||
|
||||
input:read-write,
|
||||
textarea:read-write {
|
||||
-moz-user-modify: read-write !important;
|
||||
}
|
||||
|
||||
select {
|
||||
margin: 0;
|
||||
border-color: ButtonBorder;
|
||||
|
@ -75,8 +75,6 @@ scrollbar, scrollbarbutton, scrollcorner, slider, thumb, resizer {
|
||||
writing-mode: initial;
|
||||
|
||||
-moz-user-focus: ignore;
|
||||
/* Prevent -moz-user-modify declaration from designmode.css having an effect. */
|
||||
-moz-user-modify: initial;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
|
@ -11972,19 +11972,6 @@ function get_computed_value(cs, property) {
|
||||
}
|
||||
}
|
||||
|
||||
if (IsCSSPropertyPrefEnabled("layout.css.moz-user-modify.enabled")) {
|
||||
Object.assign(gCSSProperties, {
|
||||
"-moz-user-modify": {
|
||||
domProp: "MozUserModify",
|
||||
inherited: true,
|
||||
type: CSS_TYPE_LONGHAND,
|
||||
initial_values: ["read-only"],
|
||||
other_values: ["read-write", "write-only"],
|
||||
invalid_values: [],
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
gCSSProperties.rotate = {
|
||||
domProp: "rotate",
|
||||
inherited: false,
|
||||
|
@ -144,7 +144,6 @@
|
||||
; Style Sheets, Graphics and other Resources used by the layout engine.
|
||||
@BINPATH@/res/EditorOverride.css
|
||||
@BINPATH@/res/contenteditable.css
|
||||
@BINPATH@/res/designmode.css
|
||||
@BINPATH@/res/table-add-column-after-active.gif
|
||||
@BINPATH@/res/table-add-column-after-hover.gif
|
||||
@BINPATH@/res/table-add-column-after.gif
|
||||
|
@ -9116,13 +9116,6 @@
|
||||
mirror: always
|
||||
rust: true
|
||||
|
||||
# Whether the `-moz-user-modify` property is exposed to content.
|
||||
- name: layout.css.moz-user-modify.enabled
|
||||
type: RelaxedAtomicBool
|
||||
value: false
|
||||
mirror: always
|
||||
rust: true
|
||||
|
||||
# This pref controls whether the `prefers-color-scheme` value of iframes images
|
||||
# reacts to the embedder `color-scheme` in content.
|
||||
- name: layout.css.iframe-embedder-prefers-color-scheme.content.enabled
|
||||
|
@ -617,7 +617,6 @@ class Longhand(Property):
|
||||
"TransformStyle",
|
||||
"UserFocus",
|
||||
"UserInput",
|
||||
"UserModify",
|
||||
"UserSelect",
|
||||
"VectorEffect",
|
||||
"WordBreak",
|
||||
|
@ -48,23 +48,6 @@ ${helpers.predefined_type(
|
||||
affects="",
|
||||
)}
|
||||
|
||||
// This property is marked as enabled_in="chrome" because until we fully remove it, we still need
|
||||
// the internal uses. It is slightly more convenient to have it as a chrome rather than ua-only
|
||||
// property (there are tests that parse UA sheets as chrome stylesheets and so).
|
||||
${helpers.predefined_type(
|
||||
"-moz-user-modify",
|
||||
"UserModify",
|
||||
"specified::UserModify::ReadOnly",
|
||||
engines="gecko",
|
||||
gecko_ffi_name="mUserModify",
|
||||
gecko_pref="layout.css.moz-user-modify.enabled",
|
||||
enabled_in="chrome",
|
||||
has_effect_on_gecko_scrollbars=False,
|
||||
animation_type="discrete",
|
||||
spec="Nonstandard (https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-user-modify)",
|
||||
affects="",
|
||||
)}
|
||||
|
||||
${helpers.predefined_type(
|
||||
"-moz-user-focus",
|
||||
"UserFocus",
|
||||
|
@ -116,7 +116,7 @@ pub use self::transform::{TransformOrigin, TransformStyle, Translate};
|
||||
pub use self::ui::CursorImage;
|
||||
pub use self::ui::{
|
||||
BoolInteger, Cursor, Inert, MozTheme, PointerEvents, ScrollbarColor, UserFocus, UserInput,
|
||||
UserModify, UserSelect,
|
||||
UserSelect,
|
||||
};
|
||||
pub use super::specified::TextTransform;
|
||||
pub use super::specified::ViewportVariant;
|
||||
|
@ -10,8 +10,7 @@ use crate::values::computed::Number;
|
||||
use crate::values::generics::ui as generics;
|
||||
|
||||
pub use crate::values::specified::ui::{
|
||||
BoolInteger, CursorKind, Inert, MozTheme, PointerEvents, UserFocus, UserInput, UserModify,
|
||||
UserSelect,
|
||||
BoolInteger, CursorKind, Inert, MozTheme, PointerEvents, UserFocus, UserInput, UserSelect,
|
||||
};
|
||||
|
||||
/// A computed value for the `cursor` property.
|
||||
|
@ -113,7 +113,7 @@ pub use self::transform::{TransformBox, TransformOrigin, TransformStyle, Transla
|
||||
pub use self::ui::CursorImage;
|
||||
pub use self::ui::{
|
||||
BoolInteger, Cursor, Inert, MozTheme, PointerEvents, ScrollbarColor, UserFocus, UserInput,
|
||||
UserModify, UserSelect,
|
||||
UserSelect,
|
||||
};
|
||||
pub use super::generics::grid::GridTemplateComponent as GenericGridTemplateComponent;
|
||||
|
||||
|
@ -343,31 +343,6 @@ pub enum UserInput {
|
||||
None,
|
||||
}
|
||||
|
||||
/// Non-standard -moz-user-modify property.
|
||||
/// https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-user-modify
|
||||
#[allow(missing_docs)]
|
||||
#[derive(
|
||||
Clone,
|
||||
Copy,
|
||||
Debug,
|
||||
Eq,
|
||||
FromPrimitive,
|
||||
MallocSizeOf,
|
||||
Parse,
|
||||
PartialEq,
|
||||
SpecifiedValueInfo,
|
||||
ToComputedValue,
|
||||
ToCss,
|
||||
ToResolvedValue,
|
||||
ToShmem,
|
||||
)]
|
||||
#[repr(u8)]
|
||||
pub enum UserModify {
|
||||
ReadOnly,
|
||||
ReadWrite,
|
||||
WriteOnly,
|
||||
}
|
||||
|
||||
/// Internal -moz-user-focus property.
|
||||
/// https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-user-focus
|
||||
#[allow(missing_docs)]
|
||||
|
@ -153,7 +153,6 @@ include = [
|
||||
"UnicodeRange",
|
||||
"UserInput",
|
||||
"UserFocus",
|
||||
"UserModify",
|
||||
"UserSelect",
|
||||
"PointerEvents",
|
||||
"Inert",
|
||||
|
@ -5397,7 +5397,7 @@ pub extern "C" fn Servo_DeclarationBlock_SetKeywordValue(
|
||||
use style::values::generics::font::FontStyle;
|
||||
use style::values::specified::{
|
||||
table::CaptionSide, BorderStyle, Clear, Display, Float, TextAlign, TextEmphasisPosition,
|
||||
TextTransform, UserModify,
|
||||
TextTransform,
|
||||
};
|
||||
|
||||
fn get_from_computed<T>(value: u32) -> T
|
||||
@ -5412,7 +5412,6 @@ pub extern "C" fn Servo_DeclarationBlock_SetKeywordValue(
|
||||
let value = value as u32;
|
||||
|
||||
let prop = match_wrap_declared! { long,
|
||||
MozUserModify => UserModify::from_u32(value).unwrap(),
|
||||
Direction => get_from_computed::<longhands::direction::SpecifiedValue>(value),
|
||||
Display => get_from_computed::<Display>(value),
|
||||
Float => get_from_computed::<Float>(value),
|
||||
|
Loading…
Reference in New Issue
Block a user