Hello community, here is the log from the commit of package kjs for openSUSE:Leap:15.2 checked in at 2020-03-21 16:44:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:15.2/kjs (Old) and /work/SRC/openSUSE:Leap:15.2/.kjs.new.3160 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kjs" Sat Mar 21 16:44:04 2020 rev:61 rq:786584 version:5.68.0 Changes: -------- --- /work/SRC/openSUSE:Leap:15.2/kjs/kjs.changes 2020-02-16 18:28:08.386712325 +0100 +++ /work/SRC/openSUSE:Leap:15.2/.kjs.new.3160/kjs.changes 2020-03-21 16:45:05.673520466 +0100 @@ -1,0 +2,10 @@ +Sun Mar 8 09:17:53 UTC 2020 - Christophe Giboudeaux <christo...@krop.fr> + +- Update to 5.68.0 + * New feature release + * For more details please see: + * https://www.kde.org/announcements/kde-frameworks-5.68.0.php +- Changes since 5.67.0: + * Expose the evaluation timeout management functions in public API. + +------------------------------------------------------------------- Old: ---- kjs-5.67.0.tar.xz kjs-5.67.0.tar.xz.sig New: ---- kjs-5.68.0.tar.xz kjs-5.68.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kjs.spec ++++++ --- /var/tmp/diff_new_pack.Z2aREu/_old 2020-03-21 16:45:07.157521985 +0100 +++ /var/tmp/diff_new_pack.Z2aREu/_new 2020-03-21 16:45:07.193522023 +0100 @@ -17,14 +17,14 @@ %define sonum 5 -%define _tar_path 5.67 +%define _tar_path 5.68 # Full KF5 version (e.g. 5.33.0) %{!?_kf5_version: %global _kf5_version %{version}} # Last major and minor KF5 version (e.g. 5.33) %{!?_kf5_bugfix_version: %define _kf5_bugfix_version %(echo %{_kf5_version} | awk -F. '{print $1"."$2}')} %bcond_without lang Name: kjs -Version: 5.67.0 +Version: 5.68.0 Release: 0 Summary: KDE Javascript engine License: LGPL-2.1-or-later ++++++ kjs-5.67.0.tar.xz -> kjs-5.68.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjs-5.67.0/.gitignore new/kjs-5.68.0/.gitignore --- old/kjs-5.67.0/.gitignore 2020-02-02 13:51:11.000000000 +0100 +++ new/kjs-5.68.0/.gitignore 2020-03-07 10:48:48.000000000 +0100 @@ -19,3 +19,4 @@ /build*/ CMakeLists.txt.user* *.unc-backup* +.cmake/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjs-5.67.0/CMakeLists.txt new/kjs-5.68.0/CMakeLists.txt --- old/kjs-5.67.0/CMakeLists.txt 2020-02-02 13:51:11.000000000 +0100 +++ new/kjs-5.68.0/CMakeLists.txt 2020-03-07 10:48:48.000000000 +0100 @@ -1,11 +1,11 @@ cmake_minimum_required(VERSION 3.5) -set(KF5_VERSION "5.67.0") # handled by release scripts +set(KF5_VERSION "5.68.0") # handled by release scripts project(KJS VERSION ${KF5_VERSION}) # ECM setup include(FeatureSummary) -find_package(ECM 5.67.0 NO_MODULE) +find_package(ECM 5.68.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjs-5.67.0/src/kjs/api/kjsinterpreter.cpp new/kjs-5.68.0/src/kjs/api/kjsinterpreter.cpp --- old/kjs-5.67.0/src/kjs/api/kjsinterpreter.cpp 2020-02-02 13:51:11.000000000 +0100 +++ new/kjs-5.68.0/src/kjs/api/kjsinterpreter.cpp 2020-03-07 10:48:48.000000000 +0100 @@ -210,6 +210,24 @@ return evaluate(QLatin1String("<string>"), 0, code, thisValue); } +void KJSInterpreter::setTimeoutTime(unsigned mSecs) +{ + Interpreter *ip = INTERPRETER(this); + ip->setTimeoutTime(mSecs); +} + +void KJSInterpreter::startTimeoutCheck() +{ + Interpreter *ip = INTERPRETER(this); + ip->startTimeoutCheck(); +} + +void KJSInterpreter::stopTimeoutCheck() +{ + Interpreter *ip = INTERPRETER(this); + ip->stopTimeoutCheck(); +} + bool KJSInterpreter::normalizeCode(const QString &code, QString *normalized, int *errLine, QString *errMsg) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjs-5.67.0/src/kjs/api/kjsinterpreter.h new/kjs-5.68.0/src/kjs/api/kjsinterpreter.h --- old/kjs-5.67.0/src/kjs/api/kjsinterpreter.h 2020-02-02 13:51:11.000000000 +0100 +++ new/kjs-5.68.0/src/kjs/api/kjsinterpreter.h 2020-03-07 10:48:48.000000000 +0100 @@ -137,6 +137,34 @@ KJSObject *thisValue = nullptr); /** + * Call this function in preparation of startTimeoutCheck() to set + * the number of milliseconds that a script evaluation is allowed + * to take at most. This will protect the user from slow and + * long-running scripts or even infinite loops. + * + * A 0 msecs value (the default setting) means no timeout at all. + * + * @param mSecs The number of milliseconds + */ + void setTimeoutTime(unsigned mSecs); + /** + * Start measuring executing time until the timeout value + * specified via setTimeoutTime(). + * + * In case the timeout expires a script error with the message + * "Execution timeout. Aborting." will be thrown upon evaluation + * of the next script expression or statement. + */ + void startTimeoutCheck(); + /** + * Stops measurement of execution time after the initial + * startTimeoutCheck() call. Call this function after a evaluate() + * or if the check should temporarily be disabled. When showing a + * message box to the user for example. + */ + void stopTimeoutCheck(); + + /** * Reformat the given script code to an easy to read format with * only one statement per line. This can be useful when debugging * a script that was e.g. condensed into a single line to a single