www-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

www/philosophy javascript-trap.html


From: Richard M. Stallman
Subject: www/philosophy javascript-trap.html
Date: Wed, 20 Feb 2019 20:52:23 -0500 (EST)

CVSROOT:        /web/www
Module name:    www
Changes by:     Richard M. Stallman <rms>       19/02/20 20:52:23

Modified files:
        philosophy     : javascript-trap.html 

Log message:
        Update nontriviality criterion for LibreJS changes in 2018.

CVSWeb URLs:
http://web.cvs.savannah.gnu.org/viewcvs/www/philosophy/javascript-trap.html?cvsroot=www&r1=1.66&r2=1.67

Patches:
Index: javascript-trap.html
===================================================================
RCS file: /web/www/www/philosophy/javascript-trap.html,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -b -r1.66 -r1.67
--- javascript-trap.html        15 Dec 2018 14:02:38 -0000      1.66
+++ javascript-trap.html        21 Feb 2019 01:52:22 -0000      1.67
@@ -136,17 +136,32 @@
 degree, so this is a matter of designing a simple criterion that gives
 good results, rather than finding the one correct answer.</p>
 <p>
-Our tentative policy is to consider a JavaScript program nontrivial if:</p>
+Our current criterion is to consider a JavaScript program nontrivial if:</p>
 
 <ul>
-  <li>it makes an AJAX request or is loaded along with scripts that make
-    an AJAX request,</li>
+  <li>it is referred to as an external script (from another page).</li>
 
-  <li>it loads external scripts dynamically or is loaded along with
-    scripts that do,</li>
+  <li>it declares an array more than 50 elements long.</li>
 
-  <li>it defines functions or methods and either loads an external script
-    (from html) or is loaded as one,</li>
+  <li>it defines a named entity (function or method) that calls anything other
+      than a primitive.</li>
+
+  <li>it defines a named entity with more than three conditional
+      constructs and loop constructive.</li>
+
+  <li>code outside of named definitions calls anything but primitives and
+      functions defined further up in the page,</li>
+
+  <li>code outside of named definitions contains more than three
+      conditional constructs and loop constructive, total.</li>
+
+  <li>it calls <b>eval</b>.</li>
+
+  <li>it does Ajax calls.</li>
+
+  <li>it does <b>[&hellip;]</b> calls.</li>
+
+  <li>it alters the DOM.</li>
   
   <li>it uses dynamic JavaScript constructs that are difficult to analyze
     without interpreting the program, or is loaded along with scripts
@@ -269,7 +284,7 @@
 
 <p class="unprintable">Updated:
 <!-- timestamp start -->
-$Date: 2018/12/15 14:02:38 $
+$Date: 2019/02/21 01:52:22 $
 <!-- timestamp end -->
 </p>
 </div>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]