Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5859)

Unified Diff: chrome/renderer/resources/extensions/inject_app_titlebar.js

Issue 10896032: HTML titlebars for v2 apps. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: kludge test fix for mac Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/resources/extensions/inject_app_titlebar.js
diff --git a/chrome/renderer/resources/extensions/inject_app_titlebar.js b/chrome/renderer/resources/extensions/inject_app_titlebar.js
new file mode 100644
index 0000000000000000000000000000000000000000..69d6ff5a603f248681eb5b2c0d15c4059e135c71
--- /dev/null
+++ b/chrome/renderer/resources/extensions/inject_app_titlebar.js
@@ -0,0 +1,48 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+exports.didCreateDocumentElement = function() {
+ var root = new WebKitShadowRoot(document.childNodes[0]);
+ root.appendChild(document.createElement('style')).innerText =
+ // TODO(jeremya): switch this to use automatic inlining once grit
+ // supports inlining into JS. See http://crbug.com/146319.
+ "x-titlebar { height: 24px; width: 100%; " +
+ "position: absolute; left: 0; top: 0; }\n" +
+ "div { padding-top: 24px; }\n" +
+ ":-webkit-full-screen * { display: none; }\n" +
+ ":-webkit-full-screen-document * { display: none; }\n" +
+ "div:-webkit-full-screen, div:-webkit-full-screen-document { " +
+ "padding-top: 0; }\n" +
+ "button { -webkit-widget-region: region(control rectangle); }\n" +
+ "button.close { border: 0; background-color: transparent; " +
+ "width: 16px; height: 16px; " +
+ "position: absolute; right: 4px; top: 4px; }\n" +
+ "button.close { background-image: url(data:image/png;base64," +
+ "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA9ElEQVQ4T7VTQQ6CMBCk0H" +
+ "AyIfAQbiZ+QHyDL/QLxqvx4MWDB+MvFAWMAuKsacmmSjkQSDbQ2Z3Z3WkQzsBHDOQ7owgs" +
+ "MdUacTGmi3BeIFYcNycgciGlfFRVtcd3qoojz/PmdV0XOD8RGy1iCoQgT5G8IyREjni7IC" +
+ "cg58ilwA7A8i4BwgMUxkKIV9M0PggTAoFlJpnwLhO5iEuFapq2s20CyoWIGbpeaRICyrI8" +
+ "89FtA tqwGxdQ65yYsV8NcwVN5obR/uTJW4mQsfp2fgToGjPqbBjWeoJVfNRsbSskSO7+7" +
+ "BsAiznZdgu6Qe97lH+htysv+AA10msRAt5JYQAAAABJRU5ErkJggg==); }\n" +
+ "button.close:hover { background-image: url(data:image/png;base64," +
+ "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABTElEQVQ4T2NkoBAwUqifAc" +
+ "WA////KwANFAPiV4yMjA+QDcclBzcApCA6Otpz2bJluQkJCf3z58/fDTMEnxyyAWZADQuA" +
+ "tj4B4ncpKSnbZs+efQjkCqjBmUDmMyD+ADSwD6j2FEgOxQWJiYmuCxYscIYawpWamnr89+" +
+ "/fHECxbKjmB2VlZbs6OzsvwFyHEQZATXZz5syxAGr4BMR8QCwJDYvn1dXVO1taWi4ihw9G" +
+ "LID8m5aWZgt0viXUEBaQAUDNh9E1o3gBFuIgA6Be8QKK3QXiLyA5oNMvIDsdph7DC9AASw" +
+ "cquI9sAJDNk5GRcX769OlHsXoBKapAoQ2KiQcgPwMDkbGrq8sGyP8DChNQwM6aNeswRiAC" +
+ "DYBF4yOgwnuwAAM5NTMz03rGjBnWsIAFql2ANxqB/l2B7F/kgCUYjUBbyEvKsFAllaY4Nw" +
+ "IAmJDPEd+LFvYAAAAASUVORK5CYII=); }\n" +
+ "button.close:active { background-image: url(data:image/png;base64," +
+ "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAZ0lEQVQ4T2NkoBAwUqifge" +
+ "oG2AFd1AfERUB8CM11WOXQXXAGSROyITDNMGkTGAPdAHSFIENAAOQqGEBxHbYwQDcE2ScY" +
+ "XsMViNgMwRYuOGOBIgMo8gLFgUi1aCQ7IZGcNaieF0h2AQCMABwRdsuhtQAAAABJRU5Erk" +
+ "Jggg==); }\n"
+ var container = root.appendChild(document.createElement('div'));
+ var titlebar = container.appendChild(document.createElement('x-titlebar'));
+ var closeButton = titlebar.appendChild(document.createElement('button'));
+ closeButton.setAttribute('class', 'close');
+ closeButton.addEventListener('click', function() { window.close(); });
+ container.appendChild(document.createElement('content'));
+}

Powered by Google App Engine
This is Rietveld 408576698