| Index: chrome/browser/resources/touch_ntp/newtab.css
|
| diff --git a/chrome/browser/resources/touch_ntp/newtab.css b/chrome/browser/resources/touch_ntp/newtab.css
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..455e6105872894bd7dfe6c01ab0dfd94d25dd505
|
| --- /dev/null
|
| +++ b/chrome/browser/resources/touch_ntp/newtab.css
|
| @@ -0,0 +1,217 @@
|
| +/* Copyright (c) 2011 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.
|
| + *
|
| + * This is the stylesheet used by the touch-enabled new tab page
|
| + */
|
| +
|
| +html {
|
| + /* It's necessary to put this here instead of in body in order to get the
|
| + background-size of 100% to work properly */
|
| + height: 100%;
|
| +}
|
| +
|
| +body {
|
| + /* This newer linear-gradient form works on Chrome but not mobile Safari */
|
| + /*background: -webkit-linear-gradient(top,#252c39,#3e485b,#252c39); */
|
| + background: -webkit-gradient(linear, left top, left bottom, from(#252c39),
|
| + color-stop(0.5,#3e485b), to(#252c39));
|
| + background-size: auto 100%;
|
| + font-family: segoe ui, arial, helvetica, sans-serif;
|
| + font-size: 14px;
|
| + color: white;
|
| + margin: 0;
|
| + /* Don't highlight links when they're tapped. Safari has bugs here that
|
| + show up as flicker when dragging in some situations */
|
| + -webkit-tap-highlight-color: transparent;
|
| + /* Don't allow selecting text - can occur when dragging */
|
| + -webkit-user-select: none;
|
| +}
|
| +
|
| +/* The frame is what the slider fits into
|
| + */
|
| +#apps-frame {
|
| + /* We want this to fill the window except for the region used
|
| + by footer
|
| + */
|
| + position: fixed;
|
| + width: 100%;
|
| + top: 0;
|
| + bottom: 60px; /* must match #footer height */
|
| + overflow: hidden;
|
| +}
|
| +
|
| +/* The list holds all the pages and is what the touch events are attached to
|
| +*/
|
| +#apps-page-list {
|
| + /* fill the apps-frame */
|
| + height: 100%;
|
| + display: -webkit-box;
|
| +}
|
| +
|
| +/* The apps-page is the slider card that is moved.
|
| + */
|
| +.apps-page {
|
| + -webkit-box-sizing: border-box;
|
| + padding: 29px;
|
| + /* TODO(rbyers): Don't want the final row centered, but would like all rows
|
| + * centered. Really I want the page-content width determined by the boxes
|
| + * inside of it, but perhaps webkit-box doesn't support that.
|
| + * Note that instead of display:inline-block for the apps, I could use
|
| + * float:left and have a .app-container:first-child { clear:both; } rule,
|
| + * but I'd have to figure out some way to get the vertical position reset.
|
| + text-align:center; */
|
| +}
|
| +
|
| +.app-container {
|
| + width: 128px;
|
| + height: 128px;
|
| + padding: 16px;
|
| + display: inline-block;
|
| + vertical-align: top;
|
| +}
|
| +
|
| +.app {
|
| + text-align: center;
|
| + width: 128px;
|
| + height: 128px;
|
| + /* Animate effects to/from the grabbed state, and the position when drop
|
| + is cancelled. I'd like to also animate movement when an app is
|
| + re-positioned, but since chrome is doing the layout there is no property
|
| + to animate.
|
| + TODO(rbyers): Should we take over responsibility for app layout ourself
|
| + like the classic NTP's most-visited icons? Or should we extend webkit
|
| + somehow to support animation of the position of browser laid-out
|
| + elements. */
|
| + -webkit-transition-property: -webkit-transform, opacity, zIndex;
|
| + -webkit-transition-duration: 200ms;
|
| + /* Don't offer the context menu on long-press. */
|
| + -webkit-touch-callout: none;
|
| + /* Work-around regression bug 74802 */
|
| + -webkit-transform: scale3d(1, 1, 1);
|
| +}
|
| +
|
| +.app span {
|
| + text-decoration: none;
|
| + /* TODO(rbyers): why isn't ellipsis working? */
|
| + text-overflow: ellipsis;
|
| + white-space: nowrap;
|
| + overflow: hidden;
|
| + color: white;
|
| +}
|
| +
|
| +.app img {
|
| + display: block;
|
| + width: 96px;
|
| + height: 96px;
|
| + margin-left: auto;
|
| + margin-right: auto;
|
| + /* -webkit-mask-image set by JavaScript to the image source */
|
| + -webkit-mask-size: 100% 100%;
|
| +}
|
| +
|
| +/* Pressed is set when an app is first touched.
|
| + By using the mask, pressing causes a darkening effect of just the image */
|
| +.app.grabber-pressed img {
|
| + opacity: 0.8;
|
| +}
|
| +
|
| +/* Grabbed is set (and pressed is cleared) when the app has been held. */
|
| +.grabber-grabbed {
|
| + opacity: 0.8;
|
| + -webkit-transform: scale3d(1.4, 1.4, 1);
|
| +}
|
| +
|
| +/* Dragging is set (without grabbed being cleared) when a grabbed app is
|
| + moved */
|
| +.grabber-dragging {
|
| + /* We need to ensure there is no animation applied to its position
|
| + (or the drag touch may stop being over top of it */
|
| + -webkit-transition: none !important;
|
| +
|
| + /* Ensure the element has a large z-index so that we can get events
|
| + for it as it moves over other elements. This is animated as the
|
| + element flys back, so we want a large value that will stay large until
|
| + its almost home. */
|
| + z-index: 100;
|
| +}
|
| +
|
| +#footer {
|
| + width: 100%;
|
| + position: absolute;
|
| + bottom: 0;
|
| + height: 60px; /* must match #apps-frame bottom */
|
| + overflow: hidden;
|
| +}
|
| +
|
| +#dot-list {
|
| + text-align: center;
|
| + margin: 0;
|
| + padding: 0;
|
| + bottom: 0;
|
| + list-style-type: none;
|
| + margin-top: 20px;
|
| +}
|
| +
|
| +.dot {
|
| + display: inline-block;
|
| + margin: 10px;
|
| + width: 10px;
|
| + height: 10px;
|
| + background-color: #3d465f;
|
| + -webkit-box-sizing: border-box;
|
| + border: 1px solid black;
|
| + -webkit-border-radius: 2px;
|
| + -webkit-transition-property: width, height, margin, -webkit-transform;
|
| + -webkit-transition-duration: 500ms;
|
| + /* Work-around regression bug 74802 */
|
| + -webkit-transform: translate3d(0, 0, 0);
|
| +}
|
| +
|
| +#footer.rearrange-mode .dot {
|
| + margin: 0px 20px;
|
| + width: 30px;
|
| + height: 30px;
|
| +}
|
| +
|
| +.dot.selected {
|
| + background-color: #b3bbd3;
|
| +}
|
| +
|
| +.dot.new {
|
| + -webkit-transform: translate3d(0, 40px, 0);
|
| +}
|
| +
|
| +#trash {
|
| + position: absolute;
|
| + width: 110px;
|
| + height: 100%;
|
| + right: 0px;
|
| + bottom: 0px;
|
| + background-image: url('trash.png');
|
| + background-size: 40px 40px;
|
| + background-repeat: no-repeat;
|
| + background-position: 40px 12px;
|
| + /* Work-around chromium bug 74730 by using translate instead of the
|
| + GPU-accelerated translate3d */
|
| + -webkit-transform: translate(80px, 0);
|
| + -webkit-transition-property: -webkit-transform;
|
| + -webkit-transition-duration: 500ms;
|
| +}
|
| +
|
| +#trash.hover {
|
| + background-image: url('trash-open.png');
|
| +}
|
| +
|
| +.app.trashing img {
|
| + opacity: 0.3;
|
| +}
|
| +
|
| +#footer.rearrange-mode #trash {
|
| + -webkit-transform: translate(0, 0);
|
| +}
|
| +
|
| +/* Ensure template items are never drawn when the page initially loads */
|
| +#app-template {
|
| + display: none;
|
| +}
|
|
|