canvas pans when tap on touch screen
reason:
onTouchStart calls onMouseDown which registers 'mousemove' event handler.
when I tap on touch screen, even though browser did not dispatch 'touchmove' event, it dispatched 'mousemove' event.
therefore, the 'mousemove' handler pans canvas.
fix:
stop onTouchStart handler registering 'mousemove' handler as onMouseMove will be properly triggered by onTouchMove
* IE8 support for makeAjaxRequest test (xhr.response does not exist,
responseText is supported by all major browsers)
* Update makeAjaxRequest test to confirm that the success callback is
called and that the error callback is not
* Add a test for makeAjaxRequest with an invalid file and verify that
error callback is called but the success callback is not
* Add tests for open failures
* Refactor tests to avoid tests depending on implied status from
previous tests:
1. The viewer is now created and destroyed for each
test to avoid pollution and simplify error handling: nothing
starts until you request it.
2. Some tests like Basic: Homepage depended on the Zoom & Pan tests;
now this is handled explicitly as part of the test setup
3. All basic tests are now properly async tests (since they needed
the viewer to load, they really were in the past except that
they were relying on the viewer state left behind from previous
tests)
* All tests now run inside the qunit-fixture to prevent masking
failures. Util.resetDom() has been refactored to use the
qunit-fixture and the teardown logic only used in the navigator
tests has been moved into the navigator test teardown method
* Fixed undeclared mainViewerElement variable in optional path in
the navigator tests
* JSHint cleanup
* Marked _showMessage/_hideMessage as private
* Fix DOM manipulation bug: call standard removeNode() method rather
than proprietary WebKit .remove()
* Change messageDiv to be the outer wrapper to simplify removing the
entire message container
* Use CSS display tables for vertical centering (tested back to IE8)
* Use the DOM instead of string concatenation
* Remove redundant styles ($.makeNeutralElement sets the same values
for margin, padding & border)
* Return the outer wrapper element to ease DOM addition & removal
This might be something we want to make configurable for users who want
to completely control how errors are displayed.
This also adds the first use of OpenSeadragon.makeCenteredNode currently
so we might want to clean up that code as well.
Setting onreadystatechange can avoid the possibility of it somehow being
called twice but there's no point in nulling the request right before we
let the GC collect it.