aboutsummaryrefslogtreecommitdiffstats
path: root/includes/tidy/RemexMungerData.php
Commit message (Collapse)AuthorAgeFilesLines
* Add missing documentation to class properties (miscellaneous classes)Umherirrender2024-09-141-0/+4
| | | | | | | | | | Add doc-typehints to class properties found by the PropertyDocumentation sniff to improve the documentation. Once the sniff is enabled it avoids that new code is missing type declarations. This is focused on documentation and does not change code. Change-Id: I1da4b272a6b28c419cc8e860d142dae19ca0bbcf
* build: Upgrade mediawiki/mediawiki-phan-config from 0.13.0 to 0.14.0 manuallyJames D. Forrester2024-02-101-2/+2
| | | | | | | | | | | * Switch out raw Exceptions, mostly for InvalidArgumentExceptions. * Fake exceptions triggered to give Monolog a backtrace are for some reason "traditionally" RuntimeExceptions, instead, so we continue to use that pattern in remaining locations. * Just entirely give up on PostgresResultWrapper's resource vs. object mess. * Drop now-unneeded false positive hits. Change-Id: Id183ab60994cd9c6dc80401d4ce4de0ddf2b3da0
* Replace SerializerNode, Element, and Exception qualifiers with importsDogu2024-01-051-5/+9
| | | | Change-Id: I34e3600632f11adb53847656c605daa3618ff0fa
* Using @return never documentation on always-throw-functionUmherirrender2021-09-071-0/+1
| | | | | | | | | | This helps phan to detect unreachable code and also impossible types after the functions. It helps phan to avoid false positives for array keys when the keys are checked before Bug: T240141 Change-Id: I895f70e82b3053a46cd44135b15437e6f82a07b2
* Bump wikimedia/remex-html to 2.3.2 and drop 2.3.1C. Scott Ananian2021-08-081-4/+4
| | | | | | | | | | | | | This is a bug fix release of RemexHtml, required by the latest version of Parsoid. RemexHtml migrated to a new namespace in 2.3.2. Since we don't support aliases in our phan configuration in core, update all uses to the new namespace to satisfy phan. Depends-On: I30f01f4a2a5479bb82c9b952ffa68a478215828a Depends-On: Iedf446635ee2112cfe637d8ebcf8092f0976bd17 Change-Id: I74fc929e4a66b28bfb1800ff0cd751c86e4a9f50
* tidy: Remove unused var and define $parts var to avoid undefined errorDerick Alangi2019-06-101-0/+2
| | | | | | | | | | | | | Remove unused variable $parent in RemexCompatMunger::comment(). Also, RemexMungerData::dump() could have a possibility that all checks fail and $parts is not defined. There are two ways we can handle this, i.e. either by doing `$parts = []`(setting $parts to an empty array) or by safe guarding using an `isset()` check. This patch uses the former so that $parts is defined and can be used below in the code. Change-Id: I4d601a6fe36a1dce0945686cb9880336d08338be
* Fix RemexCompatMunger infinite recursionTim Starling2017-11-171-0/+39
| | | | | | | | | | | | | | | | | | | | | When TreeBuilder requests reparenting of all child nodes of a given element, we do this by removing the existing child nodes, and then inserting the proposed new parent under the old parent. However, when a p-wrap diversion is in place, the insertion of the new parent is diverted into the p-wrap, and the p-wrap then becomes a child of the new parent, causing a reference loop, and ultimately infinite recursion in Serializer. Instead, divert the entire reparent request to the p-wrap, so that the new parent is a child of the p-wrap. This makes sense since the new parent is always a formatting element. The only caller of reparentChildren(), apart from proxies, is AAA step 17, which reparents children under the formatting element cloned from the AFE list. Left in some debug code for next time. Bug: T178632 Change-Id: Id77d21d99748e94c064ef24c43ee0033de627b8e
* RemexHtml tidy driver with p-wrappingTim Starling2017-03-081-0/+78
Pull in the RemexHtml library, which is an HTML 5 library I recently created. RemexCompatMunger mutates the event stream, inserting <mw:p-wrap> elements where necessary, and occasionally taking even more invasive action such as reparenting and removing nodes maintained in Serializer's tree. RemexCompatFormatter produces a MediaWiki-style serialization which is relatively compatible with existing parser tests. It also does final empty element handling, including translating <mw:p-wrap> to <p> Tests are imported from both Html5Depurate and Subbu's pwrap.js. Depends-On: I864f31d9afdffdde49bfd39f07a0fb7f4df5c5d9 Change-Id: I900155b7dd199b0ae2a3b9cdb6db5136fc4f35a8