Review Request: remove KEncodingDetector from tier1/kcodecs
Hui Ni
shuizhuyuanluo at 126.com
Mon Jul 9 07:42:39 BST 2012
> On July 1, 2012, 9:14 a.m., David Faure wrote:
> > Great work!
> >
> > I noticed a few things though:
> >
> > * in your initial analysis, you said KEncodingDetector had code to detect the encoding from the html/xml and http headers. Is this functionality lost during this port, in khtml?
> >
> > * you deleted the KEncodingDetector unittest, but apparently KEncodingProber has no unittests. Could you port the old unittest to KEncodingProber, in order to at least validate it a bit, and ideally could you extend the unittest for things that only the prober can do?
> >
> > * rather than deleting KEncodingDetector, please move it to kde4support (in a separate commit, possibly), so that source compatibility is preserved (just in case there is some application out there that uses it).
hi
* yes, the funtionality was lost during this port. I've then reverted the changes in khtml.
* I will create a set of unittests for KEncodingProber. I will create a new review request for this task once done.
I have supposed we shall move KEncodingDetector into khtml. khtml is the only heavy user of it I have known.
If we want to keep api, I am fine with moving to kde4support.
- Hui
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/105392/#review15285
-----------------------------------------------------------
On July 9, 2012, 6:27 a.m., Hui Ni wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/105392/
> -----------------------------------------------------------
>
> (Updated July 9, 2012, 6:27 a.m.)
>
>
> Review request for kdelibs, Kevin Ottens and David Faure.
>
>
> Description
> -------
>
> hi, this is my first contribution to kde frameworks.
> This patch removes KEncodingDetector class from tier1/kcodecs and ports all related bits in kdelibs to KEncodingProber class.
>
> proposal raised at http://mail.kde.org/pipermail/kde-frameworks-devel/2012-June/000738.html
>
> KEncodingDetector is actually KEncodingProber + encoding priority list + QTextDecoder, and the later two things are used only in khtml.
>
> things removed:
> enum KEncodingDetector::EncodingChoiceSource -> removed
> KEncodingDetector::setEncoding -> removed, implement it in khtml code
> KEncodingDetector::encodingChoiceSource -> removed
> KEncodingProber::encodingName -> removed, avoid potential memory leak
>
> one to one changes:
> enum KEncodingDetector::AutoDetectScript -> enum KEncodingProber::ProberType
> KEncodingDetector::encoding -> KEncodingProber::encoding
> KEncodingDetector::visuallyOrdered -> check KEncodingProber::encoding is hebrew or not
> KEncodingDetector::autoDetectLanguage -> KEncodingProber::proberType
> KEncodingDetector::setAutoDetectLanguage -> KEncodingProber::setProberType
> KEncodingDetector::decode -> KEncodingProber::feed + QTextCodec::codecForName(prober.encoding())->toUnicode
> KEncodingDetector::decodeWithBuffering -> KEncodingProber::feed, feed, feed + check KEncodingProber::state + QTextCodec::codecForName(prober.encoding())->makeDecoder
> KEncodingDetector::decodedInvalidCharacters -> QTextCodec::codecForName(prober.encoding())->makeDecoder + hasFailure
> KEncodingDetector::resetDecoder -> KEncodingProber::reset
> KEncodingDetector::flush -> KEncodingProber::feed, feed, feed + QTextCodec::codecForName(prober.encoding())->toUnicode
> KEncodingDetector::scriptForName -> KEncodingProber::proberTypeForName
> KEncodingDetector::nameForScript -> KEncodingProber::nameForProberType
> KEncodingDetector::hasAutoDetectionForScript -> if (proberType == KEncodingProber::None) ... else ...
>
>
> Diffs
> -----
>
> tier1/kcodecs/src/kencodingprober.h da4b958
> tier1/kcodecs/src/kencodingprober.cpp 42beac0
> tier1/kcoreaddons/src/text/kstringhandler.h b9b6c2e
> khtml/khtmlpart_p.h d46d254
> khtml/test_regression.cpp 8b2fa15
> khtml/khtml_part.h 340ece1
> khtml/khtml_part.cpp 223721c
> kdeui/actions/kcodecaction.cpp 97a8a90
> kdeui/actions/kcodecaction.h 627d770
>
> Diff: http://git.reviewboard.kde.org/r/105392/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Hui Ni
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20120709/e808af79/attachment.htm>
More information about the kde-core-devel
mailing list