I discovered an oversight in Panels IPE's JavaScript code. This problem has the potential to break automated JavaScript tests that wait on AJAX requests, because it misrepresents AJAX requests (Drupal.Ajax instances) as being active, when they are complete.

CategoryView.loadForm() creates an AJAX request and assigns a custom completion callback to it. This callback does not set ajax.ajaxing back to false, which means that any other code will be mislead into thinking that the request is still active when it is not.

The solution is quite clear -- the completion callback should do the same thing that Drupal.Ajax does by default, and set the ajaxing flag back to false.

CommentFileSizeAuthor
#2 2908897-2.patch533 bytesphenaproxima

Comments

phenaproxima created an issue. See original summary.

phenaproxima’s picture

Status: Active » Needs review
StatusFileSize
new533 bytes

samuel.mortenson’s picture

Status: Needs review » Fixed

Thanks!

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.