Wicket
  1. Wicket
  2. WICKET-5159

Replace usage of JavaScript eval() with plain JS in headed contribution decoding

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 6.7.0
    • Fix Version/s: 6.8.0
    • Component/s: wicket
    • Labels:
      None

      Description

      Wicket uses the special "]^" sequence to encode ']' in Ajax responses.
      To make the replacement a regex is executed in an eval() in the private function 'replaceAll' in wicket-ajax-jquery.js.

      We found a problem with the usage of eval() when Google Closure optimizer is used - the text to be eval-ed doesn't see the renamed variables by the optimizer. Thus the whole replacement breaks and the produced outcome is not the expected one.

        Activity

        Hide
        Martin Grigorov added a comment -

        Replaced with eval() with a usage of RegExp. This way the variable names are properly replaced where needed by the optimizer.

        Show
        Martin Grigorov added a comment - Replaced with eval() with a usage of RegExp. This way the variable names are properly replaced where needed by the optimizer.

          People

          • Assignee:
            Martin Grigorov
            Reporter:
            Martin Grigorov
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development