Index: wp-admin/css/colors-classic.css
===================================================================
--- wp-admin/css/colors-classic.css	(revision 24757)
+++ wp-admin/css/colors-classic.css	(working copy)
@@ -1485,12 +1485,25 @@
 	border: 1px solid #d1e5ee;
 }
 
+.revisions-controls {
+	background: #fff;
+	background: -webkit-gradient(linear, left bottom, left top, color-stop(0%,rgba(255,255,255,1)), color-stop(30px,rgba(255,255,255,1)), color-stop(100%,rgba(255,255,255,1)));
+	background: -webkit-linear-gradient(bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 30px, rgba(255,255,255,1) 100%);
+	background:    -moz-linear-gradient(bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 30px, rgba(255,255,255,1) 100%);
+	background:      -o-linear-gradient(bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 30px, rgba(255,255,255,1) 100%);
+	background: linear-gradient(to top, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 30px, rgba(255,255,255,1) 100%);
+}
+
 .revisions-tooltip,
 .revisions-tooltip-arrow span {
 	border-color: #d1e5ee;
 	background-color: #fff;
 }
 
+.revisions-tickmarks > div {
+	border-color: #d1e5ee;
+}
+
 #diff-title-to strong {
 	color: #08a;
 }
@@ -1498,7 +1511,6 @@
 /* jQuery UI Slider */
 .wp-slider.ui-slider {
 	border-color: #d1e5ee;
-	background: #eff8ff;
 }
 
 .wp-slider .ui-slider-handle {
@@ -1507,7 +1519,6 @@
 }
 
 .wp-slider .ui-slider-handle {
-	border-color: #ccc;
 	border-color: #d0dfe9;
 	background: #eff8ff;
 	background-image: -webkit-gradient(linear, left bottom, left top, from(#eff8ff), to(#fff));
Index: wp-admin/css/colors-fresh.css
===================================================================
--- wp-admin/css/colors-fresh.css	(revision 24757)
+++ wp-admin/css/colors-fresh.css	(working copy)
@@ -1379,6 +1379,15 @@
 	border: 1px solid #dfdfdf;
 }
 
+.revisions-controls {
+	background: #fff;
+	background: -webkit-gradient(linear, left bottom, left top, color-stop(0%,rgba(255,255,255,1)), color-stop(30px,rgba(255,255,255,1)), color-stop(100%,rgba(255,255,255,1)));
+	background: -webkit-linear-gradient(bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 30px, rgba(255,255,255,1) 100%);
+	background:    -moz-linear-gradient(bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 30px, rgba(255,255,255,1) 100%);
+	background:      -o-linear-gradient(bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 30px, rgba(255,255,255,1) 100%);
+	background: linear-gradient(to top, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 30px, rgba(255,255,255,1) 100%);
+}
+
 .revisions-tooltip,
 .revisions-tooltip-arrow span {
 	border-color: #d7d7d7;
@@ -1396,7 +1405,6 @@
 /* jQuery UI Slider */
 .wp-slider.ui-slider {
 	border-color: #d7d7d7;
-	background: transparent;
 }
 
 .wp-slider .ui-slider-handle {
Index: wp-admin/css/wp-admin-rtl.css
===================================================================
--- wp-admin/css/wp-admin-rtl.css	(revision 24757)
+++ wp-admin/css/wp-admin-rtl.css	(working copy)
@@ -976,6 +976,14 @@
 	padding: 9px 0 0 9px;
 }
 
+.revisions .loading-indicator {
+	margin-right: -90px;
+}
+
+body.folded .revisions .loading-indicator {
+	margin-right: -32px;
+}
+
 .revisions-next {
 	float: left;
 }
@@ -984,10 +992,6 @@
 	float: right;
 }
 
-#diff-header {
-	padding: 5px 5px 5px 200px;
-}
-
 .diff-title {
 	float: right;
 }
Index: wp-admin/css/wp-admin.css
===================================================================
--- wp-admin/css/wp-admin.css	(revision 24757)
+++ wp-admin/css/wp-admin.css	(working copy)
@@ -3511,6 +3511,10 @@
 /*------------------------------------------------------------------------------
   11.2 - Post Revisions
 ------------------------------------------------------------------------------*/
+.revisions {
+	position: relative;
+}
+
 .revisions-control-frame,
 .revisions-diff-frame {
 	position: relative;
@@ -3519,6 +3523,7 @@
 .revisions-controls {
 	padding-top: 40px;
 	height: 100px;
+	z-index: 1;
 }
 
 .revisions-controls input[type="checkbox"] {
@@ -3527,6 +3532,12 @@
 	vertical-align: text-bottom;
 }
 
+.revisions.pinned .revisions-controls {
+	position: fixed;
+	top: 0;
+	padding-bottom: 10px;
+}
+
 .revisions-tickmarks {
 	position: relative;
 	margin: 0 auto;
@@ -3571,11 +3582,12 @@
 }
 
 .revisions .loading-indicator {
-	position: absolute;
+	position: fixed;
 	vertical-align: middle;
 	opacity: 0;
 	width: 100%;
-	top: 3em;
+	top: 50%;
+	margin-left: -90px;
 	-webkit-transition: opacity 0.5s;
 	-moz-transition:    opacity 0.5s;
 	-ms-transition:     opacity 0.5s;
@@ -3584,6 +3596,10 @@
 	filter: alpha(opacity=0); /* ie8 and earlier */
 }
 
+body.folded .revisions .loading-indicator {
+	margin-left: -32px;
+}
+
 .revisions .loading-indicator span.spinner {
 	display: block;
 	margin: 0 auto;
@@ -3689,10 +3705,6 @@
 	text-decoration: none;
 }
 
-#diff-title-to strong {
-	display: inline;
-}
-
 #diff-header {
 	-webkit-border-radius: 3px;
 	border-radius: 3px;
@@ -3730,7 +3742,6 @@
 	display: none;
 }
 
-.comparing-two-revisions #diff-title-from,
 .comparing-two-revisions #diff-header-from {
 	display: block;
 }
@@ -3754,6 +3765,10 @@
 	transition:         left 15ms;
 }
 
+.revisions.pinned .revisions-tooltip {
+	display: none !important;
+}
+
 .comparing-two-revisions .revisions-tooltip {
 	bottom: 145px;
 }
@@ -3793,7 +3808,7 @@
 .ie8 .revisions-tooltip-arrow > span {
 	left: 14px;
 	top: -25px;
-	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(SizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476)"; /* IE8 */
+	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(SizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476)";
 }
 
 .revisions-tooltip,
Index: wp-admin/js/revisions.js
===================================================================
--- wp-admin/js/revisions.js	(revision 24757)
+++ wp-admin/js/revisions.js	(working copy)
@@ -531,6 +531,8 @@
 		className: 'revisions-controls',
 
 		initialize: function() {
+			_.bindAll( this, 'setWidth' );
+
 			// Add the button view
 			this.views.add( new revisions.view.Buttons({
 				model: this.model
@@ -573,7 +575,40 @@
 			this.views.add( new revisions.view.Meta({
 				model: this.model
 			}) );
+		},
 
+		ready: function() {
+			this.top = this.$el.offset().top;
+			this.window = $(window);
+			this.window.on( 'scroll.wp.revisions', {controls: this}, function(e) {
+				var controls = e.data.controls;
+				var container = controls.$el.parent();
+				var scrolled = controls.window.scrollTop();
+				var frame = controls.views.parent;
+
+				if ( scrolled >= controls.top ) {
+					if ( ! frame.$el.hasClass('pinned') ) {
+						controls.setWidth();
+						container.css('height', container.height() + 'px' );
+						controls.window.on('resize.wp.revisions.pinning click.wp.revisions.pinning', {controls: controls}, function(e) {
+							e.data.controls.setWidth();
+						});
+					}
+					frame.$el.addClass('pinned');
+				} else if ( frame.$el.hasClass('pinned') ) {
+					controls.window.off('.wp.revisions.pinning');
+					controls.$el.css('width', 'auto');
+					frame.$el.removeClass('pinned');
+					container.css('height', 'auto');
+					controls.top = controls.$el.offset().top;
+				} else {
+					controls.top = controls.$el.offset().top;
+				}
+			});
+		},
+
+		setWidth: function() {
+			this.$el.css('width', this.$el.parent().width() + 'px');
 		}
 	});
 
