1 /* Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 * Use of this source code is governed by a BSD-style license that can be
3 * found in the LICENSE file. */
5 /* The order of z-index:
6 * - 2: drag-selection-border
11 * - 550: autocomplete-suggestions
14 * - 1000: preview thumbnail popup
15 * - 1000: overlay panel (ie. image editor)
18 /* Special attribute used in HTML to hide elements. */
19 body[type='folder'] [invisibleif~='folder'],
20 body[type='upload-folder'] [invisibleif~='upload-folder'],
21 body[type='saveas-file'] [invisibleif~='saveas-file'],
22 body[type='open-file'] [invisibleif~='open-file'],
23 body[type='open-multi-file'] [invisibleif~='open-multi-file'],
24 body[type='full-page'] [invisibleif~='full-page'],
26 body[type='folder'] [visibleif]:not([visibleif~='folder']),
27 body[type='upload-folder'] [visibleif]:not([visibleif~='upload-folder']),
28 body[type='saveas-file'] [visibleif]:not([visibleif~='saveas-file']),
29 body[type='open-file'] [visibleif]:not([visibleif~='open-file']),
30 body[type='open-multi-file'] [visibleif]:not([visibleif~='open-multi-file']),
31 body[type='full-page'] [visibleif]:not([visibleif~='full-page']) {
32 display: none !important;
40 cursor: col-resize !important;
43 /* Outer frame of the dialog. */
46 -webkit-box-orient: vertical;
47 -webkit-tap-highlight-color: transparent;
48 -webkit-user-select: none;
58 input[type='button']:focus,
59 input[type='submit']:focus,
62 outline-color: rgb(77, 144, 254);
65 /* Drop opacity of selected rows to give a visual feedback on copy/cut
76 /* TODO(mtomasz): Flip scrollbars to the opposite side for RTL languages. */
83 z-index: 500; /* Must be below the contextmenu (600). */
87 background-color: black;
88 border: 1px solid #ccc;
90 box-sizing: border-box;
95 transition: opacity 100ms;
99 :hover > .scrollbar-vertical > .scrollbar-button {
103 .scrollbar-vertical > .scrollbar-button:hover {
107 .scrollbar-vertical > .scrollbar-button.pressed {
111 /* Main part of the dialog between header and footer. */
113 -webkit-box-align: stretch;
115 -webkit-box-orient: horizontal;
116 background-color: white; /* Makes #drag-container invisible. */
118 display: -webkit-box;
123 /* The style applied when a modal dialog box overlap the dialog container. */
124 .dialog-container.disable-header-drag .dialog-navigation-list-header,
125 .dialog-container.disable-header-drag .dialog-header {
126 -webkit-app-region: no-drag;
129 /* List/grid and preview are inside this container. */
131 -webkit-box-align: stretch;
133 -webkit-box-orient: vertical;
134 display: -webkit-box;
137 /* Directory tree at the left. */
138 .dialog-navigation-list {
139 -webkit-border-end: 1px solid rgba(20, 20, 22, 0.1);
141 -webkit-box-orient: vertical;
142 background-color: #f1f1f1;
144 flex-direction: column;
152 .dialog-navigation-list-header {
153 -webkit-app-region: drag;
155 height: 48px; /* Keep in sync with #dialog-header. */
159 .dialog-navigation-list-header #profile-badge {
160 display: inline-block;
161 height: 29px; /* Size of a profile image. */
164 width: 29px; /* Size of a profile image. */
167 .dialog-navigation-list-header #app-name {
168 -webkit-margin-start: 15px;
173 .dialog-navigation-list-header #profile-badge:not([hidden]) + #app-name {
174 -webkit-margin-start: 0;
177 .dialog-navigation-list-contents {
178 display: -webkit-box;
183 .dialog-navigation-list-footer {
184 display: -webkit-flex;
186 flex-direction: column;
189 /* A vertical splitter between the roots list and the file list. It is actually
190 a transparent area centered on the roots list right border.*/
198 z-index: 500; /* Must be below the contextmenu (600). */
203 -webkit-box-orient: vertical;
204 display: -webkit-box;
207 #navigation-list > * {
212 #navigation-list > .accepts,
213 #navigation-list > [lead][selected],
214 #navigation-list > [lead],
215 #navigation-list > [selected],
216 #navigation-list > [anchor] {
217 background-color: rgb(225, 225, 225);
220 #navigation-list:focus > .accepts,
221 #navigation-list:focus > [lead][selected],
222 #navigation-list:focus > [lead],
223 #navigation-list:focus > [selected],
224 #navigation-list:focus > [anchor] {
225 background-color: rgb(66, 129, 244);
229 #navigation-list li.root-item {
230 -webkit-box-align: center;
231 display: -webkit-box;
232 line-height: 22px; /* To accommodate for icons. */
236 #navigation-list li.root-item > .root-label {
240 text-overflow: ellipsis;
244 #navigation-list .volume-icon {
245 background-position: center 2px;
246 background-repeat: no-repeat;
252 -webkit-border-end: 1px solid rgba(20, 20, 22, 0.1);
253 -webkit-box-sizing: border-box;
254 -webkit-padding-start: 20px;
255 color: rgb(100, 100, 100);
260 text-overflow: ellipsis;
265 -webkit-border-end: 1px solid rgba(20, 20, 22, 0.1);
270 padding-bottom: 0; /* For the preview panel. Will be overridden by JS. */
276 #directory-tree .tree-row {
278 display: -webkit-box;
283 /* For rows of subitems (non-top items) */
284 #directory-tree .tree-children .tree-row {
288 #directory-tree .tree-row > .expand-icon {
294 vertical-align: middle;
298 #directory-tree:focus .tree-row[selected] > .expand-icon {
299 background-image: -webkit-canvas(tree-triangle-inverted);
302 #directory-tree .tree-row > .volume-icon {
303 background-position: center 2px;
304 background-repeat: no-repeat;
306 vertical-align: middle;
310 #directory-tree .tree-row > .label {
315 text-overflow: ellipsis;
318 #directory-tree .tree-item.accepts > .tree-row,
319 #directory-tree .tree-row[lead][selected],
320 #directory-tree .tree-row[lead],
321 #directory-tree .tree-row[selected],
322 #directory-tree .tree-row[anchor] {
323 background-color: rgb(204, 204, 204);
326 #directory-tree .tree-item.accepts > .tree-row,
327 #directory-tree .tree-row[lead][selected],
328 #directory-tree .tree-row[lead],
329 #directory-tree .tree-row[selected],
330 #directory-tree .tree-row[anchor] {
331 background-color: rgb(225, 225, 225);
334 #directory-tree:focus .tree-item.accepts > .tree-row,
335 #directory-tree:focus .tree-row[lead][selected],
336 #directory-tree:focus .tree-row[lead],
337 #directory-tree:focus .tree-row[selected],
338 #directory-tree:focus .tree-row[anchor] {
339 background-color: rgb(193, 209, 232);
342 #directory-tree:focus .tree-item.accepts > .tree-row,
343 #directory-tree:focus .tree-row[lead][selected],
344 #directory-tree:focus .tree-row[lead],
345 #directory-tree:focus .tree-row[selected],
346 #directory-tree:focus .tree-row[anchor] {
347 background-color: rgb(66, 129, 244);
351 #navigation-list .root-item > div.root-eject {
352 background: -webkit-image-set(
353 url('../images/files/ui/eject.png') 1x,
354 url('../images/files/ui/2x/eject.png') 2x) no-repeat center;
359 transition: opacity 70ms linear;
360 vertical-align: middle;
364 #navigation-list:focus .root-item[selected] > div.root-eject {
365 background: -webkit-image-set(
366 url('../images/files/ui/eject_white.png') 1x,
367 url('../images/files/ui/2x/eject_white.png') 2x) no-repeat center;
371 #directory-tree .root-item[disabled] {
373 pointer-events: none;
376 /* Breadcrumbs and things under the title but above the list view. */
378 -webkit-app-region: drag;
379 -webkit-box-align: center;
380 -webkit-box-orient: horizontal;
384 transition: all 180ms ease;
395 -webkit-app-region: no-drag;
396 -webkit-padding-end: 0;
397 -webkit-padding-start: 10px;
398 background: transparent -webkit-image-set(
399 url(../images/files/ui/search_icon_inactive.png) 1x,
400 url(../images/files/ui/2x/search_icon_inactive.png) 2x)
409 #search-box .icon:hover,
410 #search-box.has-cursor .icon,
411 #search-box.has-text .icon {
412 background-image: -webkit-image-set(
413 url(../images/files/ui/search_icon_active.png) 1x,
414 url(../images/files/ui/2x/search_icon_active.png) 2x);
417 #search-box .full-size {
422 -webkit-app-region: no-drag;
423 background-color: #fff;
436 #search-box input::-webkit-search-cancel-button {
437 -webkit-appearance: none;
440 #search-box.has-cursor input,
441 #search-box.has-text input {
446 -webkit-app-region: no-drag;
447 -webkit-margin-end: 30px;
449 background: -webkit-image-set(
450 url(../images/files/ui/search_clear.png) 1x,
451 url(../images/files/ui/2x/search_clear.png) 2x)
464 #search-box.has-text .clear {
468 #search-box .clear:hover {
469 background-image: -webkit-image-set(
470 url(../images/files/ui/search_clear_hover.png) 1x,
471 url(../images/files/ui/2x/search_clear_hover.png) 2x);
474 #search-box .clear:active {
475 background-image: -webkit-image-set(
476 url(../images/files/ui/search_clear_pressed.png) 1x,
477 url(../images/files/ui/2x/search_clear_pressed.png) 2x);
484 /* Container for the detail and thumbnail list views. */
487 -webkit-transition: all 180ms ease;
488 border-top: 1px solid rgba(20, 20, 22, 0.1);
494 display: -webkit-box;
501 .dialog-middlebar-contents {
502 display: -webkit-box;
509 /* Container for the ok/cancel buttons. */
511 -webkit-box-align: center;
512 -webkit-box-orient: horizontal;
513 border-top: 1px solid rgb(225, 225, 225);
514 display: -webkit-box;
519 .progressable:not([progress]) .progress-bar,
520 .progressable:not([progress]) .preparing-label {
524 .progressable[progress] .ok,
525 .progressable[progress] #filename-input-box,
526 .progressable[progress] #preview-lines,
527 .progressable[progress] .file-type {
531 .progressable .progress-bar {
533 -webkit-margin-end: 20px;
534 -webkit-margin-start: 20px;
537 /* The container for breadcrumb elements. */
539 -webkit-box-align: center;
541 -webkit-box-orient: horizontal;
542 display: -webkit-box;
549 -webkit-margin-end: 5px;
550 -webkit-margin-start: 10px;
553 /* The icon for offline mode */
555 -webkit-margin-end: 0;
556 -webkit-margin-start: 10px;
557 background-image: -webkit-image-set(
558 url('../images/files/ui/offline.png') 1x,
559 url('../images/files/ui/2x/offline.png') 2x);
562 transition-duration: 200ms;
563 transition-property: opacity;
564 transition-timing-function: ease-out;
568 /* Transition for '-webkit-margin-start' (or -end) property is not working.
569 * So I added .offline-icon-space to animate 'width' property. */
570 .offline-icon-space {
571 -webkit-margin-end: 0;
572 -webkit-margin-start: -26px; /* Clear width of .offline-icon */
573 transition-duration: 200ms;
574 transition-property: width;
575 transition-timing-function: ease-out;
579 body[drive] .dialog-container[connection='offline'] .offline-icon,
580 body[drive] .dialog-container[connection='metered'] .offline-icon {
584 body[drive] .dialog-container[connection='offline'] .offline-icon-space,
585 body[drive] .dialog-container[connection='metered'] .offline-icon-space {
589 .breadcrumbs > [collapsed]::before {
593 .breadcrumbs > [collapsed] {
597 /* A single directory name in the list of path breadcrumbs. */
602 text-overflow: ellipsis;
606 /* The final breadcrumb, representing the current directory. */
607 #search-breadcrumbs .breadcrumb-path.breadcrumb-last {
612 /* The > arrow between breadcrumbs. */
614 .breadcrumbs .separator {
615 background-image: -webkit-image-set(
616 url('../images/files/ui/breadcrumb-separator.png') 1x,
617 url('../images/files/ui/2x/breadcrumb-separator.png') 2x);
618 background-position: center center;
619 background-repeat: no-repeat;
625 #filename-input-box input {
626 border: 1px solid #c8c8c8;
628 box-sizing: border-box;
629 height: 31px; /* border-box */
635 -webkit-box-orient: vertical;
636 display: -webkit-box;
641 -webkit-box-orient: vertical;
642 display: -webkit-box;
648 -webkit-box-orient: vertical;
649 display: -webkit-box;
652 #detail-table > list,
655 padding-bottom: 0; /* For the preview panel. Will be overridden by JS. */
658 #file-list .drag-selection-border {
659 -webkit-box-sizing: border-box;
660 background-color: rgba(255, 255, 255, 0.3);
661 border: 2px solid rgba(255, 255, 255, 0.6);
662 outline: 1px solid rgba(0, 0, 0, 0.1);
668 background: 100% url(../images/common/spinner.svg);
680 background: url(../images/common/spinner.svg) center / 16px no-repeat;
690 -webkit-box-align: center;
691 -webkit-box-orient: horizontal;
692 background-color: #f0f0f0;
693 background-image: -webkit-image-set(
694 url('../images/files/ui/warning_icon_square.png') 1x,
695 url('../images/files/ui/2x/warning_icon_square.png') 2x);
696 background-position: 15px center;
697 background-repeat: no-repeat;
699 display: -webkit-box;
703 padding-left: 57px; /* Make space for the icon. */
704 transition: height 70ms linear;
707 .downloads-warning[hidden] {
708 display: -webkit-box !important; /* Overrides [hidden] for animation. */
712 @-webkit-keyframes heightAnimation {
715 display: -webkit-box;
719 /* Drive space warning banner. */
721 -webkit-animation: heightAnimation 70ms linear;
722 -webkit-box-align: center;
723 -webkit-box-orient: horizontal;
724 background-image: url(chrome://resources/images/clouds.png);
725 background-repeat: repeat-x;
726 background-size: 150px 44px;
728 display: -webkit-box;
735 .volume-warning[hidden] {
740 .volume-warning .drive-icon {
741 background-image: -webkit-image-set(
742 url('../images/files/ui/drive_logo.png') 1x,
743 url('../images/files/ui/2x/drive_logo.png') 2x);
744 background-position: center;
745 background-repeat: no-repeat;
746 background-size: 25px 22px;
751 .volume-warning .drive-text {
755 /* The cr.ui.Grid representing the detailed file list. */
758 padding-bottom: 0; /* For the preview panel. Will be overridden by JS. */
762 body[type='full-page'] .thumbnail-frame > .img-container {
766 body[type='full-page'] .thumbnail-frame > .img-container,
767 body[type='full-page'] .detail-name .detail-icon {
771 .img-container > img {
772 -webkit-user-drag: none;
776 .img-container > img:not(.cached):not(.drag-thumbnail) {
777 -webkit-animation: fadeIn 250ms linear;
781 -webkit-box-align: center;
782 -webkit-box-orient: horizontal;
783 -webkit-box-pack: center;
786 display: -webkit-box;
793 .thumbnail-bottom .filename-label {
797 /* Styles specific for the grid view. */
799 .thumbnail-grid .thumbnail-item {
800 -webkit-margin-start: 21px;
801 border: 3px solid transparent; /* Selection will make the border visible. */
806 .thumbnail-grid .thumbnail-frame {
807 background-color: rgb(245, 245, 245);
814 .thumbnail-grid .thumbnail-item[selected] .thumbnail-frame,
815 .thumbnail-grid .thumbnail-item.accepts .thumbnail-frame {
819 .thumbnail-grid .img-container {
824 .thumbnail-grid .thumbnail-bottom {
825 background: rgba(0, 0, 0, 0.55);
830 /* Padding counterweights negative margins of items, thus eliminating scroll
831 bar when it's not needed. Max height is set to fit 8 items before showing
833 #default-actions-list {
838 #default-actions-list > li > * {
839 background-position: 5px center;
840 background-repeat: no-repeat;
841 background-size: 16px 16px;
845 #list-container list > li[selected],
846 #list-container grid > li[selected],
847 #default-actions-list > li[selected] {
848 background-color: rgb(225, 225, 225);
851 #list-container list:focus > li[selected],
852 #list-container grid:focus > li[selected],
853 #default-actions-list:focus > li[selected] {
854 background-color: rgb(66, 129, 244);
858 #list-container list > li.accepts[selected],
859 #list-container grid > li.accepts[selected] {
860 background-color: rgb(215, 215, 215);
863 #list-container list:focus > li.accepts[selected],
864 #list-container grid:focus > li.accepts[selected] {
865 background-color: rgb(48, 125, 254);
868 #list-container list > li.accepts,
869 #list-container grid > li.accepts {
870 background-color: #f1f1f1;
873 #list-container.nohover grid > .accepts {
874 background-color: transparent;
877 #directory-tree .tree-item.accepts > .tree-row,
878 #navigation-list > .accepts,
879 #list-container list > li.accepts,
880 #list-container grid > li.accepts {
881 -webkit-animation: acceptsBlink 200ms linear 1s 3;
884 @-webkit-keyframes acceptsBlink {
886 background-color: transparent;
890 .table-row-cell .selection-label {
891 -webkit-margin-end: 10px;
895 .table-row-cell .filename-label,
896 .thumbnail-item .filename-label,
897 /* Show ellipsis in cells. The name column has different structure and overrides
899 .table-row-cell > div {
902 text-overflow: ellipsis;
906 /* Text box used for renaming in the detail list. */
907 .table-row-cell input.rename {
913 outline-color: rgb(77, 144, 254);
922 .table-row-cell .filename-label,
923 .table-row-cell input.rename {
927 li[renaming=''] .filename-label {
931 /* Text box used for renaming in the thumbnail list. */
932 .thumbnail-grid input.rename {
933 -webkit-margin-start: -1px;
934 box-sizing: border-box;
939 /* The cr.ui.Table representing the detailed file list. */
944 /* Bottom pane describing current selection. */
946 -webkit-box-align: center;
947 -webkit-box-orient: horizontal;
948 -webkit-transition: background-color 150ms ease;
949 background: linear-gradient(
950 to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 1));
951 border-top: 1px solid rgba(20, 20, 22, 0.1);
953 display: -webkit-box;
957 padding: 0 10px 0 7px;
963 .preview-panel[visibility=hiding] {
964 -webkit-transform: translate(0, 5px);
966 /* Using all seems to cause preview panel and checkbox flicking issue. */
967 transition: opacity 220ms ease,
968 -webkit-transform 220ms ease;
971 .preview-panel[visibility=hidden] {
976 .preview-panel > .left,
977 .dialog-footer > .left {
978 -webkit-box-align: center;
980 -webkit-box-orient: horizontal;
981 display: -webkit-box;
984 .preview-panel > .right,
985 .dialog-footer > .right {
986 -webkit-box-pack: end;
989 .preview-panel .preparing-label {
990 -webkit-margin-start: 30px;
993 .preview-panel .progress-bar {
997 .preview-thumbnails {
998 -webkit-box-orient: horizontal;
999 display: -webkit-box;
1003 .preview-thumbnails > .img-container {
1004 background-color: white;
1005 background-size: 35px 35px; /* For file icons. */
1006 border: 2px solid white;
1007 box-shadow: 0 1px 1px rgba(80, 80, 80, 0.5);
1008 box-sizing: border-box;
1011 margin: 0 0 0 -25px; /* Overlapped images. */
1017 .preview-thumbnails > .popup {
1018 -webkit-transform: translate(0, 3px) scale(0.95);
1019 background-color: #f2f2f2;
1020 border: 2px solid #fff;
1022 box-shadow: 0 0 0 1px #F0F0F0,
1024 2px 2px 6px rgba(0, 0, 0, 0.2);
1025 display: -webkit-flex;
1028 pointer-events: none;
1030 transition: opacity 180ms ease-in 300ms,
1031 -webkit-transform 180ms ease-in 300ms;
1035 .preview-thumbnails.has-zoom:hover > .popup {
1036 -webkit-transform: translate(0, 0) scale(1.0);
1038 pointer-events: auto;
1041 @-webkit-keyframes fadeIn {
1050 .preview-thumbnails img {
1051 -webkit-animation: fadeIn 180ms ease-in-out;
1054 .preview-thumbnails > .popup > img {
1055 -webkit-flex: 1 1 0;
1056 -webkit-user-drag: none;
1059 /* Table splitter element */
1060 .table-header-splitter {
1061 background-image: -webkit-image-set(
1062 url('../images/files/ui/vertical_separator.png') 1x,
1063 url('../images/files/ui/2x/vertical_separator.png') 2x);
1064 background-position: center;
1065 background-repeat: repeat-y;
1071 .table-header-splitter:last-child {
1075 /* Container for a table header. */
1077 box-sizing: border-box;
1081 .table-header-sort-image-desc::after {
1082 -webkit-padding-start: 13px;
1083 background-image: -webkit-image-set(
1084 url('../images/files/ui/sort_desc.png') 1x,
1085 url('../images/files/ui/2x/sort_desc.png') 2x);
1086 background-position: center center;
1087 background-repeat: no-repeat;
1094 .table-header-sort-image-asc::after {
1095 -webkit-padding-start: 13px;
1096 background-image: -webkit-image-set(
1097 url('../images/files/ui/sort_asc.png') 1x,
1098 url('../images/files/ui/2x/sort_asc.png') 2x);
1099 background-position: center center;
1100 background-repeat: no-repeat;
1107 .preview-container .table-header {
1108 border-radius: 0 4px 0 0;
1111 /* Text label in a table header. */
1112 .table-header-label {
1113 color: rgb(100, 100, 100);
1118 .table-row-cell > * {
1119 -webkit-box-align: center;
1120 -webkit-box-flex: 1;
1121 -webkit-box-orient: horizontal;
1126 color: rgb(100, 100, 100);
1129 .table-row-cell > .detail-name {
1130 display: -webkit-box;
1133 .table-row-cell > .detail-name {
1134 color: rgb(0, 0, 0);
1138 #list-container list:focus > [selected] .table-row-cell,
1139 #list-container list:focus > [selected] .detail-name {
1144 -webkit-box-align: center;
1147 #list-container li.table-row,
1148 #default-actions-list li {
1153 /* The icon in the name column. See file_types.css for specific icons. */
1159 #detail-table .detail-icon {
1160 /* To shift the icon position. */
1165 -webkit-box-flex: 1;
1166 -webkit-box-orient: horizontal;
1167 -webkit-padding-start: 8px;
1168 display: -webkit-box;
1172 -webkit-margin-end: 6px;
1175 .preview-panel .spacer {
1176 -webkit-box-flex: 1;
1180 min-width: 21px; /* overrride */
1181 padding: 0; /* overrride */
1185 #delete-button::before {
1186 /* Background image should be specified in the before pseudo element because
1187 * border image fill is specified to delete-button. */
1188 background: -webkit-image-set(
1189 url(../images/files/ui/onbutton_trash.png) 1x,
1190 url(../images/files/ui/2x/onbutton_trash.png) 2x) no-repeat center;
1197 #delete-button[disabled] {
1201 #tasks-menu menuitem:not(.change-default) {
1202 background-position: left 10px center;
1208 min-width: 0; /* overrride */
1212 -webkit-box-flex: 1;
1213 -webkit-margin-end: 10px;
1214 -webkit-margin-start: 10px;
1215 vertical-align: middle;
1218 /* The selection summary text at the bottom of the preview pane. */
1222 text-overflow: ellipsis;
1223 vertical-align: middle;
1224 white-space: nowrap;
1227 .preview-summary .calculating-size {
1233 -webkit-box-align: center;
1234 display: -webkit-box;
1237 /* Overriding input.common[type='checkbox'] rule in common.css. */
1238 .detail-name > input.common[type='checkbox'] {
1239 -webkit-margin-end: 4px;
1240 -webkit-margin-start: -1px;
1244 list .detail-name > .file-checkbox::before,
1246 /* Invisible area that reacts on mouse events. */
1248 display: -webkit-box;
1256 #filename-input-box {
1257 -webkit-box-align: center;
1258 -webkit-box-flex: 1;
1259 display: -webkit-box;
1262 #filename-input-box input {
1263 -webkit-box-flex: 1;
1264 display: -webkit-box;
1268 #filename-input-box .filename-label {
1269 -webkit-box-orient: horizontal;
1270 background-color: white;
1272 display: -webkit-box;
1276 body:not([type='saveas-file']) #filename-input-box {
1280 /* A vertical spring. */
1282 -webkit-box-flex: 1;
1283 -webkit-box-orient: vertical;
1284 display: -webkit-box;
1289 body[type='folder'] .file,
1290 body[type='upload-folder'] .file,
1291 body[drive] .dialog-container[connection='offline'] .dim-offline {
1295 /* Overlay pane covering the entire file manager window (e.g. image editor)*/
1297 -webkit-app-region: no-drag;
1304 z-index: 1000; /* Must be above all elements in file manager container. */
1307 /* When the overlay pane is visible hide everything else so that the tab order
1309 body[overlay-visible] > :not(.overlay-pane) {
1310 display: none !important;
1313 /* Invisible container for elements representing files while dragging. */
1316 /* Hack for extra margins caused by setDragImage(). */
1317 padding: 1000px 0 0 1000px;
1320 z-index: -1; /* below .dialog-container */
1323 #drag-container .drag-contents {
1324 -webkit-box-orient: horizontal;
1325 background-color: #fafafa;
1326 border: 1px solid #bbb;
1328 box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .2);
1329 display: -webkit-box;
1332 transition: opacity 200ms ease-in;
1335 #drag-container .drag-contents.for-image {
1339 #drag-container .thumbnail-item {
1340 -webkit-box-orient: horizontal;
1341 display: -webkit-box;
1344 /* When changing these properties please preserve these conditions:
1345 1. width == height (so that the rotated thumbnail does not look off-center)
1346 2. width % 8 == 0 (to minimize rounding errors in the centering code) */
1347 #drag-container .img-container {
1348 -webkit-box-flex: 0;
1349 display: -webkit-box;
1356 #drag-container .label {
1357 -webkit-box-flex: 1;
1363 text-overflow: ellipsis;
1364 white-space: nowrap;
1367 menu.file-context-menu {
1368 z-index: 600; /* Must be below the overlay pane (1000). */
1371 menu.chrome-menu hr {
1377 -webkit-box-pack: center;
1378 display: -webkit-box;
1382 -webkit-box-align: center;
1383 display: -webkit-box;
1387 /* transition: opacity 1000ms linear; */
1388 background-color: rgba(255, 255, 255, 0.8);
1401 /* Message panel for unmounted Drive */
1415 body[drive='mounting'] .dialog-container #unmounted-panel,
1416 body[drive='error'] .dialog-container #unmounted-panel,
1417 body[unformatted] .dialog-container #format-panel {
1421 body[drive='unmounted'] .dialog-container .filelist-panel,
1422 body[drive='mounting'] .dialog-container .filelist-panel,
1423 body[drive='error'] .dialog-container .filelist-panel,
1424 body[unformatted] .dialog-container .filelist-panel {
1425 /* Hide file list when Drive is not mounted.
1426 Use opacity to avoid manual resizing.*/
1430 #unmounted-panel > *,
1432 -webkit-box-align: center;
1433 -webkit-box-orient: horizontal;
1434 -webkit-box-pack: start;
1437 margin-bottom: 10px;
1440 #unmounted-panel > .loading {
1444 #unmounted-panel > .loading > .spinner-box {
1452 body[unformatted] #format-panel > .error,
1453 body[drive='mounting'] #unmounted-panel > .loading,
1454 body[drive='error'] #unmounted-panel > .error,
1455 #format-panel > #format-button,
1456 #unmounted-panel.retry-enabled > .learn-more {
1457 display: -webkit-box;
1461 color: rgb(17, 85, 204);
1463 text-decoration: none;
1470 .buttonbar .tooltip,
1471 .topbutton-bar .tooltip {
1478 background: #2d2d2d;
1480 box-shadow: 1px 2px 4px #ccc;
1481 box-sizing: border-box;
1491 outline: 1px solid rgba(255, 255, 255, 0.5);
1493 pointer-events: none;
1497 white-space: nowrap;
1498 z-index: 600; /* Must be below the overlay pane (1000). */
1503 border-left: 5px solid transparent;
1504 border-right: 5px solid transparent;
1505 border-top: transparent;
1515 border-bottom: 5px solid #2d2d2d;
1519 border-bottom: 5px solid rgba(255, 255, 255, 0.5);
1522 /* Show with delay, disappear instantly */
1523 @-webkit-keyframes tooltip-show {
1526 100% { opacity: 1; }
1530 -webkit-animation-duration: 800ms;
1531 -webkit-animation-iteration-count: 1;
1532 -webkit-animation-name: tooltip-show;
1533 -webkit-animation-timing-function: linear;
1537 #no-search-results {
1544 top: 28px; /* Leave room for the file list header. */
1547 .dialog-container:not([drive-welcome='page']) #no-search-results[show] {
1551 #volume-space-info-contents {
1552 -webkit-box-align: center;
1553 display: -webkit-box;
1556 #volume-space-info-contents > div {
1557 -webkit-box-flex: 1;
1558 -webkit-margin-start: 15px;
1559 display: -webkit-box;
1562 #list-container .table-header-inner {
1566 #list-container .table-header-cell:hover {
1567 background-color: inherit;
1570 #list-container .table-header-cell:first-child {
1571 -webkit-box-sizing: border-box;
1572 -webkit-padding-start: 8px;
1575 #new-folder-button {
1579 #default-action-dialog {
1584 .drive-welcome-wrapper {
1585 /* drive_welcome.css will override it once loaded. */
1589 list.autocomplete-suggestions {
1590 -webkit-margin-before: -7px;
1591 -webkit-margin-start: -38px;
1592 background-color: rgb(250, 250, 250);
1594 box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .5);
1595 box-sizing: border-box; /* To match the width with the search box's. */
1596 color: rgb(34, 34, 34);
1600 width: 300px !important; /* This overrides the value specified by script. */
1604 list.autocomplete-suggestions > li {
1605 -webkit-box-align: center;
1606 display: -webkit-box;
1610 list.autocomplete-suggestions > li > div.detail-icon {
1611 -webkit-margin-end: 6px;
1612 -webkit-margin-start: 6px;
1615 list.autocomplete-suggestions > li > div.detail-text {
1616 -webkit-box-flex: 1;
1618 text-overflow: ellipsis;
1621 list.autocomplete-suggestions > li > div.detail-text em {
1622 color: rgb(150, 150, 150);
1626 list.autocomplete-suggestions > li > div[search-icon] {
1627 background: -webkit-image-set(
1628 url('../images/files/ui/search_icon_active.png') 1x,
1629 url('../images/files/ui/2x/search_icon_active.png') 2x) center no-repeat;
1632 list.autocomplete-suggestions > li[selected] > div[search-icon],
1633 list.autocomplete-suggestions > li[lead] > div[search-icon] {
1634 background: -webkit-image-set(
1635 url('../images/files/ui/search_icon_white.png') 1x,
1636 url('../images/files/ui/2x/search_icon_white.png') 2x) center no-repeat;
1639 list.autocomplete-suggestions > [selected],
1640 list.autocomplete-suggestions > [lead] {
1641 background-color: rgb(66, 129, 244);
1645 list.autocomplete-suggestions > [selected] > div.detail-text em,
1646 list.autocomplete-suggestions > [lead] > div.detail-text em {
1654 #gear-menu > menuitem:not(.menuitem-button) {
1655 -webkit-margin-end: 50px;
1658 /* View buttons in the gear menu. */
1660 menuitem#detail-view {
1661 background-image: -webkit-image-set(
1662 url('../images/files/ui/button_list_view.png') 1x,
1663 url('../images/files/ui/2x/button_list_view.png') 2x);
1666 menuitem#detail-view[selected]:not([disabled]),
1667 menuitem#detail-view[lead]:not([disabled]) {
1668 background-image: -webkit-image-set(
1669 url('../images/files/ui/button_list_view_white.png') 1x,
1670 url('../images/files/ui/2x/button_list_view_white.png') 2x);
1673 menuitem#thumbnail-view {
1674 background-image: -webkit-image-set(
1675 url('../images/files/ui/button_mosaic_view.png') 1x,
1676 url('../images/files/ui/2x/button_mosaic_view.png') 2x);
1679 menuitem#thumbnail-view[selected]:not([disabled]),
1680 menuitem#thumbnail-view[lead]:not([disabled]) {
1681 background-image: -webkit-image-set(
1682 url('../images/files/ui/button_mosaic_view_white.png') 1x,
1683 url('../images/files/ui/2x/button_mosaic_view_white.png') 2x);
1687 -webkit-app-region: drag;
1697 #suggest-app-dialog {
1698 background-color: #fff;
1704 #suggest-app-dialog .cr-dialog-title {
1705 /* Entire height: 44px (content-box 22px + padding 11px * 2) */
1712 #suggest-app-dialog #webview-container {
1713 border-bottom: solid 1px #bbb;
1714 border-top: solid 1px #bbb;
1718 #suggest-app-dialog.show-spinner #webview-container webview {
1719 pointer-events: none;
1722 #suggest-app-dialog:not(.show-spinner) .spinner-layer {
1726 #suggest-app-dialog .spinner-layer {
1727 background-color: rgba(255, 255, 255, 0.7);
1730 #suggest-app-dialog .cr-dialog-buttons,
1731 #suggest-app-dialog .cr-dialog-ok,
1732 #suggest-app-dialog .cr-dialog-cancel {
1736 #suggest-app-dialog .cr-dialog-text {
1737 -webkit-padding-after: 10px;
1738 -webkit-padding-before: 0;
1739 -webkit-padding-end: 20px;
1740 -webkit-padding-start: 20px;
1744 #suggest-app-dialog #buttons {
1749 #suggest-app-dialog #buttons > #webstore-button {
1750 -webkit-padding-after: 10px;
1751 -webkit-padding-before: 10px;
1752 -webkit-padding-end: 10px;
1753 -webkit-padding-start: 36px;
1754 background-image: -webkit-image-set(
1755 url('chrome://theme/IDR_WEBSTORE_ICON_16') 1x,
1756 url('chrome://theme/IDR_WEBSTORE_ICON_16@2x') 2x);
1757 background-position: 12px center;
1758 background-repeat: no-repeat;
1761 display: inline-block;
1765 .cr-dialog-frame.error-dialog-frame {
1769 .error-dialog-frame .error-dialog-img {
1770 background-image: -webkit-image-set(
1771 url('chrome://theme/IDR_ERROR_NETWORK_GENERIC') 1x,
1772 url('chrome://theme/IDR_ERROR_NETWORK_GENERIC@2x') 2x);
1773 background-position: center;
1774 background-repeat: no-repeat;
1778 .error-dialog-frame .cr-dialog-cancel {
1782 .error-dialog-frame .cr-dialog-close,
1783 .error-dialog-frame .cr-dialog-title {
1787 .error-dialog-frame .cr-dialog-text {
1791 .cr-dialog-frame.share-dialog-frame {
1792 background-color: white;
1796 .share-dialog-webview-wrapper {
1801 transition: height 200ms ease;
1804 .share-dialog-webview {
1809 .share-dialog-webview-wrapper:not(.loaded) .share-dialog-webview {
1813 .share-dialog-frame .cr-dialog-text,
1814 .share-dialog-frame .cr-dialog-buttons {
1818 #multi-profile-share-dialog .mail-label {
1819 padding-right: 16px;
1822 #multi-profile-share-dialog .mail-label::after {
1826 #multi-profile-share-dialog .share-line {
1830 #conflict-confirm-dialog .cr-dialog-buttons {
1831 align-items: baseline;
1835 #conflict-confirm-dialog input[type=checkbox] {
1836 -webkit-margin-start: -2px;
1840 #conflict-confirm-dialog label {
1844 /* Progress center */
1846 @-webkit-keyframes progress-center-toggle {
1847 /* Height values of each frame are set by script.
1848 * Keep the animation sync with JS. */
1856 background-color: transparent;
1857 border-top: 1px solid transparent;
1860 transition: background-color 300ms linear,
1861 border 300ms linear;
1864 #progress-center.opened {
1865 background-color: #ebebeb;
1866 border-top: 1px solid #d8d8d8;
1869 #progress-center.animated {
1870 -webkit-animation: progress-center-toggle 300ms ease-out;
1873 #progress-center-open-view {
1876 transition: opacity 300ms linear;
1879 #progress-center:not(.opened) #progress-center-open-view {
1881 pointer-events: none;
1885 #progress-center-close-view {
1887 transition: opacity 300ms linear;
1890 #progress-center.opened #progress-center-close-view {
1892 pointer-events: none;
1896 #progress-center.animated #progress-center-open-view,
1897 #progress-center.animated #progress-center-close-view {
1899 pointer-events: none;
1906 #progress-center li {
1907 -webkit-padding-end: 10px;
1909 /* This must not be margin-bottom to calculate parent's height correctly. */
1910 padding-bottom: 20px;
1913 #progress-center label {
1917 text-overflow: ellipsis;
1918 white-space: nowrap;
1921 #progress-center li.error.single label {
1922 white-space: normal;
1925 #progress-center .progress-frame {
1926 -webkit-padding-end: 10px;
1927 -webkit-padding-start: 20px;
1931 #progress-center .progress-bar {
1932 background: #d8d8d8;
1934 display: inline-block;
1941 #progress-center li.error .progress-bar,
1942 #progress-center li.quiet .progress-bar {
1946 #progress-center .progress-track {
1947 background: #787878;
1951 #progress-center .progress-track.animated {
1952 transition: width 300ms linear;
1955 #progress-center .button-frame {
1956 align-self: flex-end;
1960 #progress-center button {
1963 display: inline-block;
1969 vertical-align: middle;
1973 #progress-center li.error.single .button-frame {
1977 #progress-center button.close {
1978 -webkit-margin-end: 10px;
1979 -webkit-margin-start: auto;
1980 background: -webkit-image-set(
1981 url(../images/files/ui/process_drawer_button_opened.png) 1x,
1982 url(../images/files/ui/2x/process_drawer_button_opened.png) 2x)
1985 margin-bottom: 20px;
1988 #progress-center button.close:hover {
1989 background: -webkit-image-set(
1990 url(../images/files/ui/process_drawer_button_opened_hover.png) 1x,
1991 url(../images/files/ui/2x/process_drawer_button_opened_hover.png) 2x)
1995 #progress-center button.close:active {
1996 background: -webkit-image-set(
1997 url(../images/files/ui/process_drawer_button_opened_pressed.png) 1x,
1998 url(../images/files/ui/2x/process_drawer_button_opened_pressed.png) 2x)
2002 #progress-center button.open {
2003 background: -webkit-image-set(
2004 url(../images/files/ui/process_drawer_button_closed.png) 1x,
2005 url(../images/files/ui/2x/process_drawer_button_closed.png) 2x)
2009 #progress-center button.open:hover {
2010 background: -webkit-image-set(
2011 url(../images/files/ui/process_drawer_button_closed_hover.png) 1x,
2012 url(../images/files/ui/2x/process_drawer_button_closed_hover.png) 2x)
2016 #progress-center button.open:active {
2017 background: -webkit-image-set(
2018 url(../images/files/ui/process_drawer_button_closed_pressed.png) 1x,
2019 url(../images/files/ui/2x/process_drawer_button_closed_pressed.png) 2x)
2023 #progress-center button.cancel {
2024 background: -webkit-image-set(
2025 url(../images/files/ui/close_bar.png) 1x,
2026 url(../images/files/ui/2x/close_bar.png) 2x)
2030 #progress-center-close-view:not(.single) button.cancel {
2034 #progress-center-close-view.single button.open {
2038 #progress-center li:not(.cancelable) button.cancel {