import Cocoa
import WebKit

class FreedrawView: WebView {
    weak var document: Document?
}

// MARK: - Event Handling

extension FreedrawView {

    override func magnifyWithEvent(event: NSEvent) {
        document?.callHook("dispatchMagnify", forEvent: event, withArguments: [event.magnification])
    }
}

import Cocoa
import WebKit

class FreedrawView: WebView {
    weak var document: Document?
}

// MARK: - Event Handling

extension FreedrawView {

    override func magnifyWithEvent(event: NSEvent) {
        let position = self.convertPoint(event.locationInWindow, fromView: nil)
        document?.callHook("dispatchMagnify", withArguments: [position.x, frame.height - position.y, event.magnification])
    }
}

--- 
+++ 
@@ -10,7 +10,6 @@
 extension FreedrawView {
 
     override func magnifyWithEvent(event: NSEvent) {
-        let position = self.convertPoint(event.locationInWindow, fromView: nil)
-        document?.callHook("dispatchMagnify", withArguments: [position.x, frame.height - position.y, event.magnification])
+        document?.callHook("dispatchMagnify", forEvent: event, withArguments: [event.magnification])
     }
 }
Use shorter callHook in magnify event handler
