From b99de36b24e4687e35069fbfa18727519f23ea35 Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Wed, 17 Sep 2014 23:59:39 +0200 Subject: [PATCH] undo spriting --- libmproxy/web/static/css/app.css | 48 +++++---------- .../web/static/images/chrome-devtools/LICENSE | 30 +++++++++ .../chrome-devtools/resourceCSSIcon.png | Bin 0 -> 1005 bytes .../chrome-devtools/resourceDocumentIcon.png | Bin 0 -> 951 bytes .../images/chrome-devtools/resourceJSIcon.png | Bin 0 -> 787 bytes .../chrome-devtools/resourcePlainIcon.png | Bin 0 -> 295 bytes .../static/images/resourceExecutableIcon.png | Bin 0 -> 853 bytes .../web/static/images/resourceFlashIcon.png | Bin 0 -> 921 bytes .../web/static/images/resourceImageIcon.png | Bin 0 -> 976 bytes .../web/static/images/resourceJavaIcon.png | Bin 0 -> 861 bytes .../static/images/resourceNotModifiedIcon.png | Bin 0 -> 1072 bytes .../static/images/resourceRedirectIcon.png | Bin 0 -> 1174 bytes libmproxy/web/static/images/sprite.png | Bin 10895 -> 0 bytes web/gulpfile.js | 24 ++------ web/package.json | 1 - web/src/css/app.less | 2 +- web/src/css/flowtable.less | 9 +++ web/src/css/sprites.compiled.less | 58 ------------------ 18 files changed, 63 insertions(+), 109 deletions(-) create mode 100644 libmproxy/web/static/images/chrome-devtools/LICENSE create mode 100644 libmproxy/web/static/images/chrome-devtools/resourceCSSIcon.png create mode 100644 libmproxy/web/static/images/chrome-devtools/resourceDocumentIcon.png create mode 100644 libmproxy/web/static/images/chrome-devtools/resourceJSIcon.png create mode 100644 libmproxy/web/static/images/chrome-devtools/resourcePlainIcon.png create mode 100644 libmproxy/web/static/images/resourceExecutableIcon.png create mode 100644 libmproxy/web/static/images/resourceFlashIcon.png create mode 100644 libmproxy/web/static/images/resourceImageIcon.png create mode 100644 libmproxy/web/static/images/resourceJavaIcon.png create mode 100644 libmproxy/web/static/images/resourceNotModifiedIcon.png create mode 100644 libmproxy/web/static/images/resourceRedirectIcon.png delete mode 100644 libmproxy/web/static/images/sprite.png delete mode 100644 web/src/css/sprites.compiled.less diff --git a/libmproxy/web/static/css/app.css b/libmproxy/web/static/css/app.css index 27acd68a5..dcc31d18b 100644 --- a/libmproxy/web/static/css/app.css +++ b/libmproxy/web/static/css/app.css @@ -11,54 +11,34 @@ html { height: 32px; } .resource-icon-css { - background-image: url("../images/sprite.png"); - background-position: 0px 0px; - background-size: 32px 320px!important; + background-image: url(../images/chrome-devtools/resourceCSSIcon.png); } .resource-icon-document { - background-image: url("../images/sprite.png"); - background-position: 0px -32px; - background-size: 32px 320px!important; + background-image: url(../images/chrome-devtools/resourceDocumentIcon.png); } .resource-icon-js { - background-image: url("../images/sprite.png"); - background-position: 0px -64px; - background-size: 32px 320px!important; + background-image: url(../images/chrome-devtools/resourceJSIcon.png); } .resource-icon-plain { - background-image: url("../images/sprite.png"); - background-position: 0px -96px; - background-size: 32px 320px!important; + background-image: url(../images/chrome-devtools/resourcePlainIcon.png); } .resource-icon-executable { - background-image: url("../images/sprite.png"); - background-position: 0px -128px; - background-size: 32px 320px!important; + background-image: url(../images/resourceExecutableIcon.png); } .resource-icon-flash { - background-image: url("../images/sprite.png"); - background-position: 0px -160px; - background-size: 32px 320px!important; + background-image: url(../images/resourceFlashIcon.png); } .resource-icon-image { - background-image: url("../images/sprite.png"); - background-position: 0px -192px; - background-size: 32px 320px!important; + background-image: url(../images/resourceImageIcon.png); } .resource-icon-java { - background-image: url("../images/sprite.png"); - background-position: 0px -224px; - background-size: 32px 320px!important; + background-image: url(../images/resourceJavaIcon.png); } .resource-icon-not-modified { - background-image: url("../images/sprite.png"); - background-position: 0px -256px; - background-size: 32px 320px!important; + background-image: url(../images/resourceNotModifiedIcon.png); } .resource-icon-redirect { - background-image: url("../images/sprite.png"); - background-position: 0px -288px; - background-size: 32px 320px!important; + background-image: url(../images/resourceRedirectIcon.png); } html, body, @@ -128,12 +108,18 @@ header .menu { .flow-table thead { background-color: #dadada; } +.flow-table tr { + cursor: pointer; +} .flow-table td { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } -.flow-table .col-tls { +.flow-table tr:nth-child(even) { + background-color: rgba(0, 0, 0, 0.05); +} +.flow-table .col-tls { width: 10px; } .flow-table .col-tls-https { diff --git a/libmproxy/web/static/images/chrome-devtools/LICENSE b/libmproxy/web/static/images/chrome-devtools/LICENSE new file mode 100644 index 000000000..6e4f8b9f6 --- /dev/null +++ b/libmproxy/web/static/images/chrome-devtools/LICENSE @@ -0,0 +1,30 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// +// The Chromium Authors can be found at +// http://src.chromium.org/svn/trunk/src/AUTHORS +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/libmproxy/web/static/images/chrome-devtools/resourceCSSIcon.png b/libmproxy/web/static/images/chrome-devtools/resourceCSSIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..18828d0652566686520ca511f01c3784bd8c7a11 GIT binary patch literal 1005 zcmV;&-fm9UqsR&vrsff(V zp{S%3LzpO?aG+AdC700;nkx=e=uG!sdXLGeSMM=V(1FXn_nf=@&N=tqH=}mD-T0fL zCgtA&P$(2Ctyaq=CnrZyn`d#kTq>nf=|^ii?wg*~eBaYXYULE2s;#Zf?r=EHi$y?5 zQlhP`t*wL%A#;CN2n4G&8qM}Ul>&YfQ3xUdz6S8xL=1w6pCkaQ)ynF@!9iAY9EXmM z4!-XNke8Py2EkG+2_PdQ!%G((9sSdMPfkwqk&q4`Aris{X=!PEM1)N|?M9=K))bnz zxkLaYMMBt6r_=o`0`yw*df5>Wyw~gXXlQ8Q)pSt-gbH~-U^1CR4L4UWm=HcK z8Ud;x;&}};ejx}T`UGtnw2PuJjkNi>k^%b1doV*2BlI}}LfS;{K<$TnIQ?Q5*)SMM z1R_UY2xDX>>bfg&reQDB&nFP(SsO9kKTund zq!~>E^{DHypsM{kb}T%G(k12S8f`(#kPX(}hj`j~3q?ssB?0guW1)Ze{wfk8I5maGWmC+$JS zyR+E+Xa&>f&e@8kackft=b+!|!2arNs%H5vNGxXg9&q-eq;3_{&zo*Ue*8Z902*~L z3Kty07DLH*cRN58h)qccQIJsVb@w;S+mH2g_j$epG6BRN8mV@90QL3ttUWX|#QG^I zDQIkL{BFU}&`=By53@e`Es5~(@E<|Qdx$uW^YX%MHcNeS`7x3KSh3k`w5Cy@dVWE{ zW4qnX+F@Z~Yzz^h9~&D>+w@B*>m_6*H8oY#+sw>N5xcw;`0n6&r{$A`hsZY&Q)Kj4 z0B#~qgTZhCKnx8Ad?QLydP({CD*%^Tt!|x|m?$T|=K@*Id?O0#7=Y)Z0AvvLxQ~|q b=HKyGh?jw2HzlT200000NkvXXu0mjf4kFP~ literal 0 HcmV?d00001 diff --git a/libmproxy/web/static/images/chrome-devtools/resourceDocumentIcon.png b/libmproxy/web/static/images/chrome-devtools/resourceDocumentIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..fdc10e4778665789bb1648c410d001d605fbf8c7 GIT binary patch literal 951 zcmV;o14#UdP)^ZNUmDu?0eQPC`WrOmH9y`uh5~pPHKD-tYHge0*GMTcY;) zeA>9y<~}bkk9!r)ga}ksRl$scf`X`W=jP^am;$c2eFb#r3szKAgh$NGFz)qw%?b#c zRlp*BVPRpUXd@ZtW=nzM;$jRA4nhOV?ZCi*PJ}@%Uj&0eO#$96Dk@5z0u2ofhG^>R z>zR*Ude%Ka?3AIlh{2Yn^}eN*4NK2pb_iG&`934z@`E{Cyg$c3BFhTScZP8L`7-80 zCL$(dh&KfmImag@+~^5mVTpply_JMZix1x@E_F%Rn+u#d2xO*MQ=x*!L%=ZU(+>%4 zj}~CY(GpRA&%cXcaDswiY!YaB2zau9<|>NpRO23qo513-f^+xgV8+=a4tR?QupS+c z_;e-kbd;iJlz<`di{RR05h+dqt;d$&6r%0{D}mWXYtHUAx!~Oi&H7I5M4Jhr)HTV)vW6wA+`YJMqx&Qi3$60j)oGSnm6moMYg zfhD9kEORy66an4b=@c!;Wvs|p>r>EHzW|YFs#%U?TLfa>Z~|Dr_RN%sdN0^Ji2D2c zxu2e%=6&Vmgs3;kVFWuJ6~6T!L%5UczAdi3`~icnHg=Iw>=(@rhuIk@Sn<~v*rK* literal 0 HcmV?d00001 diff --git a/libmproxy/web/static/images/chrome-devtools/resourceJSIcon.png b/libmproxy/web/static/images/chrome-devtools/resourceJSIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..c1b7218927b74d8ce9ee5f0019ab82dae5586449 GIT binary patch literal 787 zcmV+u1MK{XP)Ayr7d*reLhn%ZWceUCm!vYjT+RC@7)VP;Pj-9oOgpQGI`ZKc=Urp&)LmhzQuWjlsde9TyS+qY2Q}*Do2d^`zgDfUyg|?{-D& zT~J?vKXEAo{_%;lvGfJT+ncZ^F2j5`2EH^$5(L28A<(i?{yhga_fp#C#3jKN>!)r= zz3=rXb#2=tXwhypS4f*Je}&h547K1rtT5f>JcDGC=Ey(zvH(N$lXQoRT^EH zD`4eW@>(Bs2w;8^?9)?mqlONwoxG0ai?dig^ANSeF?7AZ52G^M(GqUEcv#58{O~~9 zeC-E#;E=StpPz7X0wFTiPeCf_-~~;CNKbTvROMtI0c}YAHMr z!pguH)$g zj$AI+P*Erp!s6nh^c}}RZ*MR8mka>cBH+5Nua(2Y!&Cw#)KY5`kTNqfBedv(x{35v z#rb?*+C4oz@*Dx>_x1Hj+qP{*jA;`{BoaGTJ2W&z#5*4WC4Uv)LbWXd`bp?`6MnWL zz&EiHi^U!Thyw6-@e^kdg0002)NklCL#%>iC~C}88|QHK1uLAoT%Fl8WJ5@!OC;vt3ch2n$=hR@#3iP9E?6%UyK zoB$Y*6CB{hc>_-HEpUPZgdhMXgdQYL5P%W%Byxf_;2-hI4^kn&=aK@d{d|KN1bi$S tbSWVIblaK<6nu>KIAlQAqW#Oi^Bs%^?FfY>xS#+4002ovPDHLkV1gOMe3t+K literal 0 HcmV?d00001 diff --git a/libmproxy/web/static/images/resourceExecutableIcon.png b/libmproxy/web/static/images/resourceExecutableIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..fa70c2fdbeed26fede1d87cf7efa9a2eb28ebee1 GIT binary patch literal 853 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 n6h<4v_EXrv|NVCSPk;dcYfHsMTM#dO#7m+U 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 Mu6z2`sf&023#H8a@&Et; diff --git a/web/gulpfile.js b/web/gulpfile.js index c1ca8e67a..66554051f 100644 --- a/web/gulpfile.js +++ b/web/gulpfile.js @@ -12,7 +12,6 @@ var qunit = require("gulp-qunit"); var react = require("gulp-react"); var rename = require("gulp-rename"); var sourcemaps = require('gulp-sourcemaps'); -var sprite = require('gulp-sprite-generator'); var uglify = require('gulp-uglify'); @@ -52,8 +51,7 @@ var path = { }, css: { vendor: ["css/vendor.less"], - app: ["css/app.less"], - spritefile: "css/sprites.less" + app: ["css/app.less"] }, fonts: ["src/vendor/fontawesome/fontawesome-webfont.*"], html: ["src/*.html", "!src/benchmark.html", "!src/test.html"], @@ -131,20 +129,10 @@ gulp.task("jshint", function () { .pipe(jshint.reporter("jshint-stylish")); }); -gulp.task("sprites", function () { - // Sprite generator is a gulp task, which accepts options object and - // returns two streams for style and image piping. - var spriteOutput = gulp.src([path.css.spritefile], {base: "src", cwd: "src"}) - .pipe(sprite({ - spriteSheetName: "sprite.png", - spriteSheetPath: "../images", - })); - var css = spriteOutput.css - .pipe(rename({extname:".compiled.less"})) - .pipe(gulp.dest("src/css")); - var img = spriteOutput.img.pipe(gulp.dest(path.dist + "static/images")); - // https://github.com/gulpjs/gulp/blob/master/docs/recipes/using-multiple-sources-in-one-task.md - return merge(css, img); +gulp.task("images", function () { + //(spriting code in commit 4ca720b55680e40b3a4361141a2ad39f9de81111) + return gulp.src(["src/images/**"]) + .pipe(gulp.dest(path.dist + "static/images")); }); gulp.task("html", function () { @@ -160,7 +148,7 @@ gulp.task('test', function() { }); -common = ["fonts", "html", "jshint", "sprites"]; +common = ["fonts", "html", "jshint", "images"]; gulp.task("dev", common.concat(["styles-dev", "scripts-dev"])); gulp.task("prod", common.concat(["styles-prod", "scripts-prod"])); diff --git a/web/package.json b/web/package.json index de90587f6..932c32706 100644 --- a/web/package.json +++ b/web/package.json @@ -17,7 +17,6 @@ "gulp-react": "^1.0.1", "gulp-rename": "^1.2.0", "gulp-sourcemaps": "^1.1.5", - "gulp-sprite-generator": "^0.2.0", "gulp-uglify": "^1.0.1", "gulp-util": "^3.0.1", "jshint-stylish": "^0.4.0", diff --git a/web/src/css/app.less b/web/src/css/app.less index 39ac14cd7..cc65cfdd5 100644 --- a/web/src/css/app.less +++ b/web/src/css/app.less @@ -7,7 +7,7 @@ html { box-sizing: inherit; } -@import (less) "sprites.compiled.less"; +@import (less) "sprites.less"; @import (less) "layout.less"; @import (less) "header.less"; @import (less) "flowtable.less"; diff --git a/web/src/css/flowtable.less b/web/src/css/flowtable.less index deef9c81b..f96b7abf4 100644 --- a/web/src/css/flowtable.less +++ b/web/src/css/flowtable.less @@ -6,12 +6,21 @@ background-color: #dadada; } + tr { + cursor: pointer; + } + td { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } + //tr:nth-child(odd) { background-color : white; } + tr:nth-child(even) { background-color : rgba(0,0,0,0.05); } + //tr:hover { background-color : hsla(209, 52%, 84%, 0.5); } +​ + .col-tls { width: 10px; diff --git a/web/src/css/sprites.compiled.less b/web/src/css/sprites.compiled.less deleted file mode 100644 index 27951ee57..000000000 --- a/web/src/css/sprites.compiled.less +++ /dev/null @@ -1,58 +0,0 @@ -.resource-icon { - width: 32px; - height: 32px; -} - -// From Chrome Dev Tools -.resource-icon-css { - background-image: url("../images/sprite.png"); - background-position: -0px -0px; - background-size: 32px 320px!important; -} -.resource-icon-document { - background-image: url("../images/sprite.png"); - background-position: -0px -32px; - background-size: 32px 320px!important; -} -.resource-icon-js { - background-image: url("../images/sprite.png"); - background-position: -0px -64px; - background-size: 32px 320px!important; -} -.resource-icon-plain { - background-image: url("../images/sprite.png"); - background-position: -0px -96px; - background-size: 32px 320px!important; -} - -// Own -.resource-icon-executable { - background-image: url("../images/sprite.png"); - background-position: -0px -128px; - background-size: 32px 320px!important; -} -.resource-icon-flash { - background-image: url("../images/sprite.png"); - background-position: -0px -160px; - background-size: 32px 320px!important; -} -.resource-icon-image { - background-image: url("../images/sprite.png"); - background-position: -0px -192px; - background-size: 32px 320px!important; -} -.resource-icon-java { - background-image: url("../images/sprite.png"); - background-position: -0px -224px; - background-size: 32px 320px!important; -} -.resource-icon-not-modified { - background-image: url("../images/sprite.png"); - background-position: -0px -256px; - background-size: 32px 320px!important; -} -.resource-icon-redirect { - background-image: url("../images/sprite.png"); - background-position: -0px -288px; - background-size: 32px 320px!important; -} \ No newline at end of file