(cm)
| 482 | CodeMirror.scrollbarModel = {"native": NativeScrollbars, "null": NullScrollbars}; |
| 483 | |
| 484 | function initScrollbars(cm) { |
| 485 | if (cm.display.scrollbars) { |
| 486 | cm.display.scrollbars.clear(); |
| 487 | if (cm.display.scrollbars.addClass) |
| 488 | rmClass(cm.display.wrapper, cm.display.scrollbars.addClass); |
| 489 | } |
| 490 | |
| 491 | cm.display.scrollbars = new CodeMirror.scrollbarModel[cm.options.scrollbarStyle](function(node) { |
| 492 | cm.display.wrapper.insertBefore(node, cm.display.scrollbarFiller); |
| 493 | // Prevent clicks in the scrollbars from killing focus |
| 494 | on(node, "mousedown", function() { |
| 495 | if (cm.state.focused) setTimeout(function() { cm.display.input.focus(); }, 0); |
| 496 | }); |
| 497 | node.setAttribute("cm-not-content", "true"); |
| 498 | }, function(pos, axis) { |
| 499 | if (axis == "horizontal") setScrollLeft(cm, pos); |
| 500 | else setScrollTop(cm, pos); |
| 501 | }, cm); |
| 502 | if (cm.display.scrollbars.addClass) |
| 503 | addClass(cm.display.wrapper, cm.display.scrollbars.addClass); |
| 504 | } |
| 505 | |
| 506 | function updateScrollbars(cm, measure) { |
| 507 | if (!measure) measure = measureForScrollbars(cm); |
no test coverage detected