That code was initially intended to support mspointer-touch, but currently
same code paths are used in any PointerEvent-enabled browser, and may cause
real issues (e.g. that broke Leaflet.draw).
Note:
It's known that preventDefault is needed for correct processing of touch in IE10.
But I haven't found any evidence that it is required for IE11, so I've removed some
excessive code.
It's blind shot as I have no IE10-11 devices to test, but it will be easy to fix on request.
This commit fixes issue #6764, see the discussion examples there.
It's an alternative implementation for pull request #6116.
It makes `tooltipAnchor` behave the same like `popupAnchor` regardless of the tooltip's direction. With one exception: the `auto` direction flips the `x` axis of `tooltipAnchor` and the tooltip's `offset` when it switches to `left` depending on the position on the screen. `auto` therefore assumes that the icon is somewhat symmetrical to the left and the right of the y axis, which is the case for the default icon.
Because of particular quality of `for ... in` loop, type of `z` is 'string'.
Thus condition `z === zoom` never met in _updateLevels.
Considering wrong arg type, _removeTilesAtZoom also never had any action.
Cleaner solution would be to iterate `Object.keys()` instead, but it is available only since IE 9.
* MapSpec.js: fix: mocked function must be restored
Otherwise it will break crs.project test in CRSSpec.js
* MapSpec.js: skip broken test
crsMock.verify() call is mandatory here, but it shows that crs.project is never called,
thus the test is not ever valid.
* MapSpec.js: fix non-valid test
Revert 50a4845a78 and 1b1d96a4c4,
and refactor a bit (rather cosmetical changes)
* MapSpec.js: fix more tests
Refactor before/afterEach hooks for more careful setup/cleanup.
Fix some non-valid tests:
* #remove
- "undefines container._leaflet"
- "unbinds events"
* #removeLayer
- "when the last tile layer on a map is removed"
- "when a tile layer is removed from a map and it had greater zoom level coverage than the remainding layer"
- "when a tile layer is removed from a map it and it had lesser or the sa,e zoom level coverage as the remainding layer(s)"
* GridLayerSpec.js: fix some tests
Refactor before/afterEach hooks for more careful setup/cleanup.
Fix some non-valid tests:
* "when a tilelayer is added to a map that already has a tilelayer"
* spec/suites/**: refactor for more careful setup/cleanup
Refactor before/afterEach hooks
Other minor changes
* SpecHelper.js: rename skipIn(non)Phantom to skipIf(No)3d
..to make things more clear
Remove unused helper functions
* Update testing deps
sinon.js: left on 7.5.0 (latest still working on PhantomJS)
karma-rollup-preprocessor: left on 6.1.2 (latest still supporting rollup < 1.0.0)
* CRSSpec.js: workaround round-off error in Chrome
L.CRS.zoom(L.CRS.scale(2.5)) results 2.4999999999999996 in Chrome
Note: comparing floating point numbers properly is hard,
e.g. see https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/
* Fix touch tests failing in Chrome
* karma.conf.js: add custom Chrome config to make some tests pass
npm run test-nolint -- --browsers Chrome1280x1024
* spec/.eslintrc: do not forbid no-unused-vars rule
* spec/.eslintrc: do not forbid more rules
no-extend-native
no-irregular-whitespace
no-shadow
* Add karma-edge-launcher
* Add karma-ie-launcher
Some test fails atm, see log:
> karma start ./spec/karma.conf.js "--browsers" "IE"
................................................................................
.....
WARN: 'Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.', undefined
................................................................................
................................................................................
...............................................................
IE 11.0 (Windows 10) ImageOverlay _image when loaded should raise the load event FAILED
TypeError: Argument not optional
at raiseImageEvent (spec/suites/layer/ImageOverlaySpec.js:66:4)
at Anonymous function (spec/suites/layer/ImageOverlaySpec.js:74:5)
IE 11.0 (Windows 10) ImageOverlay _image when load fails should raise the error event FAILED
TypeError: Argument not optional
at raiseImageEvent (spec/suites/layer/ImageOverlaySpec.js:66:4)
at Anonymous function (spec/suites/layer/ImageOverlaySpec.js:83:5)
IE 11.0 (Windows 10) ImageOverlay _image when load fails should change the image to errorOverlayUrl FAILED
TypeError: Argument not optional
at raiseImageEvent (spec/suites/layer/ImageOverlaySpec.js:66:4)
at Anonymous function (spec/suites/layer/ImageOverlaySpec.js:88:5)
..
IE 11.0 (Windows 10) ImageOverlay #setZIndex should update the z-index of the image if it has allready been added to the map FAILED
Error: expected 1 to equal '1'
at Assertion.prototype.assert (node_modules/expect.js/index.js:102:7)
at Assertion.prototype.equal (node_modules/expect.js/index.js:216:5)
at Anonymous function (node_modules/expect.js/index.js:69:13)
at Anonymous function (spec/suites/layer/ImageOverlaySpec.js:111:4)
IE 11.0 (Windows 10) ImageOverlay #setZIndex should set the z-index of the image when it is added to the map FAILED
Error: expected 10 to equal '10'
at Assertion.prototype.assert (node_modules/expect.js/index.js:102:7)
at Assertion.prototype.equal (node_modules/expect.js/index.js:216:5)
at Anonymous function (node_modules/expect.js/index.js:69:13)
at Anonymous function (spec/suites/layer/ImageOverlaySpec.js:121:4)
IE 11.0 (Windows 10) ImageOverlay #setZIndex should use the z-index specified in options FAILED
Error: expected 20 to equal '20'
at Assertion.prototype.assert (node_modules/expect.js/index.js:102:7)
at Assertion.prototype.equal (node_modules/expect.js/index.js:216:5)
at Anonymous function (node_modules/expect.js/index.js:69:13)
at Anonymous function (spec/suites/layer/ImageOverlaySpec.js:127:4)
........................................................................
IE 11.0 (Windows 10) Marker.Drag drag in CSS scaled container drags a marker with mouse, compensating for CSS scale FAILED
expected 0 to be within -50..-30 (node_modules/expect.js/index.js:102)
................................................................................
...........................................................
WARN: 'Deprecated use of _flat, please use L.LineUtil.isFlat instead.'
.
WARN: 'Deprecated use of _flat, please use L.LineUtil.isFlat instead.'
.......................................................................... 05 2020 15:25:48.917:WARN [web-server]: : /000
05 2020 15:25:48.938:WARN [web-server]: : /000
......
..
IE 11.0 (Windows 10) Map #invalidateSize pans by the right amount when growing in 1px increments FAILED
Error: expected 0 to equal 1
at Assertion.prototype.assert (node_modules/expect.js/index.js:102:7)
at Assertion.prototype.equal (node_modules/expect.js/index.js:216:5)
at Anonymous function (node_modules/expect.js/index.js:69:13)
at Anonymous function (spec/suites/map/MapSpec.js:649:4)
IE 11.0 (Windows 10) Map #invalidateSize pans by the right amount when shrinking in 1px increments FAILED
Error: expected 0 to equal -1
at Assertion.prototype.assert (node_modules/expect.js/index.js:102:7)
at Assertion.prototype.equal (node_modules/expect.js/index.js:216:5)
at Anonymous function (node_modules/expect.js/index.js:69:13)
at Anonymous function (spec/suites/map/MapSpec.js:667:4)
..
IE 11.0 (Windows 10) Map #invalidateSize emits a move event if the size has changed FAILED
Error: expected false to be truthy
at Assertion.prototype.assert (node_modules/expect.js/index.js:102:7)
at Assertion.prototype.ok (node_modules/expect.js/index.js:115:5)
at Anonymous function (node_modules/expect.js/index.js:499:7)
at Anonymous function (spec/suites/map/MapSpec.js:700:4)
IE 11.0 (Windows 10) Map #invalidateSize emits a moveend event if the size has changed FAILED
Error: expected false to be truthy
at Assertion.prototype.assert (node_modules/expect.js/index.js:102:7)
at Assertion.prototype.ok (node_modules/expect.js/index.js:115:5)
at Anonymous function (node_modules/expect.js/index.js:499:7)
at Anonymous function (spec/suites/map/MapSpec.js:710:4)
IE 11.0 (Windows 10) Map #invalidateSize debounces the moveend event if the debounceMoveend option is given FAILED
Error: expected false to be truthy
at Assertion.prototype.assert (node_modules/expect.js/index.js:102:7)
at Assertion.prototype.ok (node_modules/expect.js/index.js:115:5)
at Anonymous function (node_modules/expect.js/index.js:499:7)
at Anonymous function (spec/suites/map/MapSpec.js:724:4)
IE 11.0 (Windows 10) Map #invalidateSize correctly adjusts for new container size when view is set during map initialization (#6165) FAILED
Error: expected 0 to equal 100
at Assertion.prototype.assert (node_modules/expect.js/index.js:102:7)
at Assertion.prototype.equal (node_modules/expect.js/index.js:216:5)
at Anonymous function (spec/suites/map/MapSpec.js:745:4)
................
IE 11.0 (Windows 10) Map #fitBounds after layers set Snaps to a number after adding tile layer FAILED
Error: Access is denied.
at createTile (src/Leaflet.js:11698:3)
at _addTile (src/Leaflet.js:11433:3)
at _update (src/Leaflet.js:11330:5)
at _setView (src/Leaflet.js:11191:5)
at _resetView (src/Leaflet.js:11146:3)
at onAdd (src/Leaflet.js:10784:3)
at _layerAdd (src/Leaflet.js:6580:3)
at Events.fire (src/Leaflet.js:588:6)
at _resetView (src/Leaflet.js:4184:4)
at setView (src/Leaflet.js:3181:3)
..............................
IE 11.0 (Windows 10) Map.Drag mouse events in CSS scaled container change the center of the map, compensating for CSS scale FAILED
expected 31.952162238024975 to be within 21.943..21.9431 (node_modules/expect.js/index.js:102)
IE 11.0 (Windows 10) Map.Drag touch events change the center of the map FAILED
Object doesn't support this action (node_modules/prosthetic-hand/dist/prosthetic-hand.js:624)
IE 11.0 (Windows 10) Map.Drag touch events does not change the center of the map when finger is moved less than the drag threshold FAILED
Object doesn't support this action (node_modules/prosthetic-hand/dist/prosthetic-hand.js:624)
IE 11.0 (Windows 10) Map.Drag touch events reset itself after touchend FAILED
Object doesn't support this action (node_modules/prosthetic-hand/dist/prosthetic-hand.js:624)
.............
IE 11.0 (Windows 10) Map.TouchZoom Increases zoom when pinching out FAILED
Object doesn't support this action (node_modules/prosthetic-hand/dist/prosthetic-hand.js:624)
IE 11.0 (Windows 10) Map.TouchZoom Decreases zoom when pinching in FAILED
Object doesn't support this action (node_modules/prosthetic-hand/dist/prosthetic-hand.js:624)
IE 11.0 (Windows 10): Executed 685 of 688 (20 FAILED) (skipped 3) (25.993 secs / 22.211 secs)
* karma.conf.js: additional Firefox configs
- FirefoxPointer
- FirefoxTouch
- FirefoxPointerTouch
* .travis.yml: run CI tests with different Firefox configs
Use FirefoxHeadless
* karma.conf.js: change reporter to default ('progress')
Because 'dots' is confusing when mixed up with different warnings.
But for CI script 'dots' fits better due to travis-ci log qualities.
* .travis.yml: run CI tests with Chrome too
* DomEvent: use passive for touchmove (instead of touchend)
Ref: https://developers.google.com/web/tools/lighthouse/audits/passive-event-listeners
* Remove excessive brackets from condition
* DomEvent: simplify more conditions
Also add passive option for `wheel` event listeners
(previously it was supported for `mousewheel` only)
* Prefer `wheel` over `mousewheel` throughout sources
* Fix bug introduced in 19d2bd027e (brackets missing)
The condition was never met: `e.pointerType !== 'mouse' && e.MSPOINTER_TYPE_MOUSE`
* fixup! Fix bug introduced in 19d2bd027e (brackets missing)
Co-Authored-By: Vladimir Agafonkin <agafonkin@gmail.com>
Co-authored-by: Vladimir Agafonkin <agafonkin@gmail.com>
* Prevent Browser.chrome = true for pre-Chromium Edge
Sample user agent string:
"Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763"
* fixup! Another blind attemp to work around dblclicks on Edge (#5268)
Fix leftover that was meant to change in 2b5d401976
As a result of using importing Marker as ES6 module and *not* importing Popup the function `closePopup` does not exist on the marker object.
This is a quick fix. A better approach would be to make the popup register a move listener on the marker, while its open. And then close itself when the marker is moved.
Closes#6961
Note: The author is still the same person (me), I just changed my name.
This can be verified for example by checking that
https://github.com/rzoller/Leaflet.TileLayer.Swiss
forwards to the new repo URL.