         }
     }
 
+    // MARK: Private API
+
+    func changed(height: CGFloat) {
+        guard isHidden == false, height != bounds.height else { return }
+
+        let size = CGSize(width: contentView.bounds.width, height: CGFloat(height))
+        delegate?.webViewDidResize(cell: self, html: body, cellWidth: size.width, size: size)
+    }
+
     // MARK: ListBindable
 
     func bindViewModel(_ viewModel: Any) {

            return false
        } else if url.scheme == IssueCommentHtmlCell.HeightScheme,
            let heightString = url.host as NSString? {
            webView.alpha = 1
            let size = CGSize(width: contentView.bounds.width, height: CGFloat(heightString.floatValue))
            delegate?.webViewDidResize(cell: self, html: body, cellWidth: size.width, size: size)
            return false
        }



    private static let ImgScheme = "freetime-img"
    private static let HeightScheme = "freetime-hgt"
    private static let JavaScriptHeight = "offsetHeight"

    private static let htmlHead = """
    <!DOCTYPE html><html><head><style>
    * {margin: 0;padding: 0;}
