Add full screen functionality to resemble mode
Change-Id: I6206835e18c25925aa88a62941ca7fd61e624c71
diff --git a/gr-resemble-diff-mode/gr-resemble-diff-mode.html b/gr-resemble-diff-mode/gr-resemble-diff-mode.html
index 94a155c..c5568fc 100644
--- a/gr-resemble-diff-mode/gr-resemble-diff-mode.html
+++ b/gr-resemble-diff-mode/gr-resemble-diff-mode.html
@@ -64,6 +64,11 @@
<input
type="color"
value="{{_colorValue::change}}">
+ <button
+ id="fullscreen"
+ on-tap="_handleFullScreen">
+ View full screen
+ </button>
</template>
<script src="gr-resemble-diff-mode.js"></script>
</dom-module>
\ No newline at end of file
diff --git a/gr-resemble-diff-mode/gr-resemble-diff-mode.js b/gr-resemble-diff-mode/gr-resemble-diff-mode.js
index 999e475..4a54955 100644
--- a/gr-resemble-diff-mode/gr-resemble-diff-mode.js
+++ b/gr-resemble-diff-mode/gr-resemble-diff-mode.js
@@ -153,5 +153,10 @@
b: parseInt(result[3], 16),
} : null;
},
+
+ _handleFullScreen() {
+ const w = window.open('about:blank', '_blank');
+ w.document.body.innerHTML = this.$.imageDiff.outerHTML;
+ },
});
})();
diff --git a/gr-resemble-diff-mode/gr-resemble-diff-mode_test.html b/gr-resemble-diff-mode/gr-resemble-diff-mode_test.html
index d24aed6..6c19660 100644
--- a/gr-resemble-diff-mode/gr-resemble-diff-mode_test.html
+++ b/gr-resemble-diff-mode/gr-resemble-diff-mode_test.html
@@ -124,6 +124,14 @@
assert.equal(output.b, expected.b);
});
+ test('_handleFullScreen', () => {
+ sandbox.stub(element, '_handleFullScreen');
+ MockInteractions.tap(element.$.fullscreen);
+ flushAsynchronousOperations();
+
+ assert.isTrue(element._handleFullScreen.called);
+ });
+
test('calls reload', () => {
sandbox.stub(element, 'reload');
element.baseImage = {};