Submitter | Anton Shestakov |
---|---|
Date | Jan. 23, 2016, 9:36 a.m. |
Message ID | <f157e395b65fd6ff55b0.1453541768@neuro> |
Download | mbox | patch |
Permalink | /patch/12878/ |
State | Accepted |
Delegated to: | Yuya Nishihara |
Headers | show |
Comments
On Sat, 23 Jan 2016 17:36:08 +0800, Anton Shestakov wrote: > # HG changeset patch > # User Anton Shestakov <av6@dwimlabs.net> > # Date 1453541491 -28800 > # Sat Jan 23 17:31:31 2016 +0800 > # Branch stable > # Node ID f157e395b65fd6ff55b018b506ee96700bf9c610 > # Parent 4c6053a6b17d682b34fb88bbeb5e94ed9085d900 > hgweb: update canvas.width before dynamically redrawing graph (issue2683) > We can safely set canvas width to the new value we get from the AJAX request > because every time graph is updated, it is completely redrawn using all the > requested nodes (in the case above it will use /graph/2?revcount=61), so the > value is guaranteed not to decrease. LGTM, pushed to the clowncopter, thanks.
Patch
diff --git a/mercurial/templates/static/mercurial.js b/mercurial/templates/static/mercurial.js --- a/mercurial/templates/static/mercurial.js +++ b/mercurial/templates/static/mercurial.js @@ -383,8 +383,12 @@ function ajaxScrollInit(urlFormat, }, function onsuccess(htmlText) { if (mode == 'graph') { - var addHeight = htmlText.match(/^\s*<canvas id="graph".*height="(\d+)"><\/canvas>$/m)[1]; + var sizes = htmlText.match(/^\s*<canvas id="graph" width="(\d+)" height="(\d+)"><\/canvas>$/m); + var addWidth = sizes[1]; + var addHeight = sizes[2]; + addWidth = parseInt(addWidth); addHeight = parseInt(addHeight); + graph.canvas.width = addWidth; graph.canvas.height = addHeight; var dataStr = htmlText.match(/^\s*var data = (.*);$/m)[1];