even though this introduces O(N) complexity, it fixes a bug
where path dependent css traits could be executed out of order,
making it impossible to actually set the traits from the back-end.
I experienced the problem stated in #5755. Giving the ipython_tooltip class a higher z-index indeed solves the problem. I intentionally set it to a high value so it likelier remains on top when styles are changed in the future.
this preserve all previous behavior, but simply adds the ability to
insert cells without specifying a cell type, in which case the cell type
is inferred from the currently selected cell
The bug being worked around appears to be fixed either in CodeMirror or Firefox (tested with FF 29).
Importantly, the workaround appears to *introduce* incorrect behavior
closes#5192closes#5364
can fail with SecurityError,
depending on browser privacy settings
disable UI Tour menu entry if tour instantiation fails
ref: sorich87/bootstrap-tour#262
If the test controller tries to read the file while the server it has
started is in the middle of writing it, it gets invalid JSON and fails.
This just loops again until we have valid JSON to read.
this way those running the test suite can discover that there are a
bunch of js test groups. New output of `iptest -j` looks like this
```
Test group: kernel.inprocess -------------------------------------- OK
Test group: config ------------------------------------------------ OK
Test group: extensions -------------------------------------------- OK
Test group: lib --------------------------------------------------- OK
Test group: testing ----------------------------------------------- OK
Test group: core -------------------------------------------------- OK
Test group: terminal ---------------------------------------------- OK
Test group: utils ------------------------------------------------- OK
Test group: kernel ------------------------------------------------ OK
Test group: nbformat ---------------------------------------------- OK
Test group: qt ---------------------------------------------------- OK
Test group: autoreload -------------------------------------------- OK
Test group: html -------------------------------------------------- OK
Test group: nbconvert --------------------------------------------- OK
Test group: parallel ----------------------------------------- NOT RUN
Test group: js/base ------------------------------------------ NOT RUN
Test group: js/notebook -------------------------------------- NOT RUN
Test group: js/widgets --------------------------------------- NOT RUN
Test group: js/tree ------------------------------------------ NOT RUN
Test group: js/casperjs -------------------------------------- NOT RUN
Test group: js/services -------------------------------------- NOT RUN
```