12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417254182541925420254212542225423254242542525426254272542825429254302543125432254332543425435254362543725438254392544025441254422544325444254452544625447254482544925450254512545225453254542545525456254572545825459254602546125462254632546425465254662546725468254692547025471254722547325474254752547625477254782547925480254812548225483254842548525486254872548825489254902549125492254932549425495254962549725498254992550025501255022550325504255052550625507255082550925510255112551225513255142551525516255172551825519255202552125522255232552425525255262552725528255292553025531255322553325534255352553625537255382553925540255412554225543255442554525546255472554825549255502555125552255532555425555255562555725558255592556025561255622556325564255652556625567255682556925570255712557225573255742557525576255772557825579255802558125582255832558425585255862558725588255892559025591255922559325594255952559625597255982559925600256012560225603256042560525606256072560825609256102561125612256132561425615256162561725618256192562025621256222562325624256252562625627256282562925630256312563225633256342563525636256372563825639256402564125642256432564425645256462564725648256492565025651256522565325654256552565625657256582565925660256612566225663256642566525666256672566825669256702567125672256732567425675256762567725678256792568025681256822568325684256852568625687256882568925690256912569225693256942569525696256972569825699257002570125702257032570425705257062570725708257092571025711257122571325714257152571625717257182571925720257212572225723257242572525726257272572825729257302573125732257332573425735257362573725738257392574025741257422574325744257452574625747257482574925750257512575225753257542575525756257572575825759257602576125762257632576425765257662576725768257692577025771257722577325774257752577625777257782577925780257812578225783257842578525786257872578825789257902579125792257932579425795257962579725798257992580025801258022580325804258052580625807258082580925810258112581225813258142581525816258172581825819258202582125822258232582425825258262582725828258292583025831258322583325834258352583625837258382583925840258412584225843258442584525846258472584825849258502585125852258532585425855258562585725858258592586025861258622586325864258652586625867258682586925870258712587225873258742587525876258772587825879258802588125882258832588425885258862588725888258892589025891258922589325894258952589625897258982589925900259012590225903259042590525906259072590825909259102591125912259132591425915259162591725918259192592025921259222592325924259252592625927259282592925930259312593225933259342593525936259372593825939259402594125942259432594425945259462594725948259492595025951259522595325954259552595625957259582595925960259612596225963259642596525966259672596825969259702597125972259732597425975259762597725978259792598025981259822598325984259852598625987259882598925990259912599225993259942599525996259972599825999260002600126002260032600426005260062600726008260092601026011260122601326014260152601626017260182601926020260212602226023260242602526026260272602826029260302603126032260332603426035260362603726038260392604026041260422604326044260452604626047260482604926050260512605226053260542605526056260572605826059260602606126062260632606426065260662606726068260692607026071260722607326074260752607626077260782607926080260812608226083260842608526086260872608826089260902609126092260932609426095260962609726098260992610026101261022610326104261052610626107261082610926110261112611226113261142611526116261172611826119261202612126122261232612426125261262612726128261292613026131261322613326134261352613626137261382613926140261412614226143261442614526146261472614826149261502615126152261532615426155261562615726158261592616026161261622616326164261652616626167261682616926170261712617226173261742617526176261772617826179261802618126182261832618426185261862618726188261892619026191261922619326194261952619626197261982619926200262012620226203262042620526206262072620826209262102621126212262132621426215262162621726218262192622026221262222622326224262252622626227262282622926230262312623226233262342623526236262372623826239262402624126242262432624426245262462624726248262492625026251262522625326254262552625626257262582625926260262612626226263262642626526266262672626826269262702627126272262732627426275262762627726278262792628026281262822628326284262852628626287262882628926290262912629226293262942629526296262972629826299263002630126302263032630426305263062630726308263092631026311263122631326314263152631626317263182631926320263212632226323263242632526326263272632826329263302633126332263332633426335263362633726338263392634026341263422634326344263452634626347263482634926350263512635226353263542635526356263572635826359263602636126362263632636426365263662636726368263692637026371263722637326374263752637626377263782637926380263812638226383263842638526386263872638826389263902639126392263932639426395263962639726398263992640026401264022640326404264052640626407264082640926410264112641226413264142641526416264172641826419264202642126422264232642426425264262642726428264292643026431264322643326434264352643626437264382643926440264412644226443264442644526446264472644826449264502645126452264532645426455264562645726458264592646026461264622646326464264652646626467264682646926470264712647226473264742647526476264772647826479264802648126482264832648426485264862648726488264892649026491264922649326494264952649626497264982649926500265012650226503265042650526506265072650826509265102651126512265132651426515265162651726518265192652026521265222652326524265252652626527265282652926530265312653226533265342653526536265372653826539265402654126542265432654426545265462654726548265492655026551265522655326554265552655626557265582655926560265612656226563265642656526566265672656826569265702657126572265732657426575265762657726578265792658026581265822658326584265852658626587265882658926590265912659226593265942659526596265972659826599266002660126602266032660426605266062660726608266092661026611266122661326614266152661626617266182661926620266212662226623266242662526626266272662826629266302663126632266332663426635266362663726638266392664026641266422664326644266452664626647266482664926650266512665226653266542665526656266572665826659266602666126662266632666426665266662666726668266692667026671266722667326674266752667626677266782667926680266812668226683266842668526686266872668826689266902669126692266932669426695266962669726698266992670026701267022670326704267052670626707267082670926710267112671226713267142671526716267172671826719267202672126722267232672426725267262672726728267292673026731267322673326734267352673626737267382673926740267412674226743267442674526746267472674826749267502675126752267532675426755267562675726758267592676026761267622676326764267652676626767267682676926770267712677226773267742677526776267772677826779267802678126782267832678426785267862678726788267892679026791267922679326794267952679626797267982679926800268012680226803268042680526806268072680826809268102681126812268132681426815268162681726818268192682026821268222682326824268252682626827268282682926830268312683226833268342683526836268372683826839268402684126842268432684426845268462684726848268492685026851268522685326854268552685626857268582685926860268612686226863268642686526866268672686826869268702687126872268732687426875268762687726878268792688026881268822688326884268852688626887268882688926890268912689226893268942689526896268972689826899269002690126902269032690426905269062690726908269092691026911269122691326914269152691626917269182691926920269212692226923269242692526926269272692826929269302693126932269332693426935269362693726938269392694026941269422694326944269452694626947269482694926950269512695226953269542695526956269572695826959269602696126962269632696426965269662696726968269692697026971269722697326974269752697626977269782697926980269812698226983269842698526986269872698826989269902699126992269932699426995269962699726998269992700027001270022700327004270052700627007270082700927010270112701227013270142701527016270172701827019270202702127022270232702427025270262702727028270292703027031270322703327034270352703627037270382703927040270412704227043270442704527046270472704827049270502705127052270532705427055270562705727058270592706027061270622706327064270652706627067270682706927070270712707227073270742707527076270772707827079270802708127082270832708427085270862708727088270892709027091270922709327094270952709627097270982709927100271012710227103271042710527106271072710827109271102711127112271132711427115271162711727118271192712027121271222712327124271252712627127271282712927130271312713227133271342713527136271372713827139271402714127142271432714427145271462714727148271492715027151271522715327154271552715627157271582715927160271612716227163271642716527166271672716827169271702717127172271732717427175271762717727178271792718027181271822718327184271852718627187271882718927190271912719227193271942719527196271972719827199272002720127202272032720427205272062720727208272092721027211272122721327214272152721627217272182721927220272212722227223272242722527226272272722827229272302723127232272332723427235272362723727238272392724027241272422724327244272452724627247272482724927250272512725227253272542725527256272572725827259272602726127262272632726427265272662726727268272692727027271272722727327274272752727627277272782727927280272812728227283272842728527286272872728827289272902729127292272932729427295272962729727298272992730027301273022730327304273052730627307273082730927310273112731227313273142731527316273172731827319273202732127322273232732427325273262732727328273292733027331273322733327334273352733627337273382733927340273412734227343273442734527346273472734827349273502735127352273532735427355273562735727358273592736027361273622736327364273652736627367273682736927370273712737227373273742737527376273772737827379273802738127382273832738427385273862738727388273892739027391273922739327394273952739627397273982739927400274012740227403274042740527406274072740827409274102741127412274132741427415274162741727418274192742027421274222742327424274252742627427274282742927430274312743227433274342743527436274372743827439274402744127442274432744427445274462744727448274492745027451274522745327454274552745627457274582745927460274612746227463274642746527466274672746827469274702747127472274732747427475274762747727478274792748027481274822748327484274852748627487274882748927490274912749227493274942749527496274972749827499275002750127502275032750427505275062750727508275092751027511275122751327514275152751627517275182751927520275212752227523275242752527526275272752827529275302753127532275332753427535275362753727538275392754027541275422754327544275452754627547275482754927550275512755227553275542755527556275572755827559275602756127562275632756427565275662756727568275692757027571275722757327574275752757627577275782757927580275812758227583275842758527586275872758827589275902759127592275932759427595275962759727598275992760027601276022760327604276052760627607276082760927610276112761227613276142761527616276172761827619276202762127622276232762427625276262762727628276292763027631276322763327634276352763627637276382763927640276412764227643276442764527646276472764827649276502765127652276532765427655276562765727658276592766027661276622766327664276652766627667276682766927670276712767227673276742767527676276772767827679276802768127682276832768427685276862768727688276892769027691276922769327694276952769627697276982769927700277012770227703277042770527706277072770827709277102771127712277132771427715277162771727718277192772027721277222772327724277252772627727277282772927730277312773227733277342773527736277372773827739277402774127742277432774427745277462774727748277492775027751277522775327754277552775627757277582775927760277612776227763277642776527766277672776827769277702777127772277732777427775277762777727778277792778027781277822778327784277852778627787277882778927790277912779227793277942779527796277972779827799278002780127802278032780427805278062780727808278092781027811278122781327814278152781627817278182781927820278212782227823278242782527826278272782827829278302783127832278332783427835278362783727838278392784027841278422784327844278452784627847278482784927850278512785227853278542785527856278572785827859278602786127862278632786427865278662786727868278692787027871278722787327874278752787627877278782787927880278812788227883278842788527886278872788827889278902789127892278932789427895278962789727898278992790027901279022790327904279052790627907279082790927910279112791227913279142791527916279172791827919279202792127922279232792427925279262792727928279292793027931279322793327934279352793627937279382793927940279412794227943279442794527946279472794827949279502795127952279532795427955279562795727958279592796027961279622796327964279652796627967279682796927970279712797227973279742797527976279772797827979279802798127982279832798427985279862798727988279892799027991279922799327994279952799627997279982799928000280012800228003280042800528006280072800828009280102801128012280132801428015280162801728018280192802028021280222802328024280252802628027280282802928030280312803228033280342803528036280372803828039280402804128042280432804428045280462804728048280492805028051280522805328054280552805628057280582805928060280612806228063280642806528066280672806828069280702807128072280732807428075280762807728078280792808028081280822808328084280852808628087280882808928090280912809228093280942809528096280972809828099281002810128102281032810428105281062810728108281092811028111281122811328114281152811628117281182811928120281212812228123281242812528126281272812828129281302813128132281332813428135281362813728138281392814028141281422814328144281452814628147281482814928150281512815228153281542815528156281572815828159281602816128162281632816428165281662816728168281692817028171281722817328174281752817628177281782817928180281812818228183281842818528186281872818828189281902819128192281932819428195281962819728198281992820028201282022820328204282052820628207282082820928210282112821228213282142821528216282172821828219282202822128222282232822428225282262822728228282292823028231282322823328234282352823628237282382823928240282412824228243282442824528246282472824828249282502825128252282532825428255282562825728258282592826028261282622826328264282652826628267282682826928270282712827228273282742827528276282772827828279282802828128282282832828428285282862828728288282892829028291282922829328294282952829628297282982829928300283012830228303283042830528306283072830828309283102831128312283132831428315283162831728318283192832028321283222832328324283252832628327283282832928330283312833228333283342833528336283372833828339283402834128342283432834428345283462834728348283492835028351283522835328354283552835628357283582835928360283612836228363283642836528366283672836828369283702837128372283732837428375283762837728378283792838028381283822838328384283852838628387283882838928390283912839228393283942839528396283972839828399284002840128402284032840428405284062840728408284092841028411284122841328414284152841628417284182841928420284212842228423284242842528426284272842828429284302843128432284332843428435284362843728438284392844028441284422844328444284452844628447284482844928450284512845228453284542845528456284572845828459284602846128462284632846428465284662846728468284692847028471284722847328474284752847628477284782847928480284812848228483284842848528486284872848828489284902849128492284932849428495284962849728498284992850028501285022850328504285052850628507285082850928510285112851228513285142851528516285172851828519285202852128522285232852428525285262852728528285292853028531285322853328534285352853628537285382853928540285412854228543285442854528546285472854828549285502855128552285532855428555285562855728558285592856028561285622856328564285652856628567285682856928570285712857228573285742857528576285772857828579285802858128582285832858428585285862858728588285892859028591285922859328594285952859628597285982859928600286012860228603286042860528606286072860828609286102861128612286132861428615286162861728618286192862028621286222862328624286252862628627286282862928630286312863228633286342863528636286372863828639286402864128642286432864428645286462864728648286492865028651286522865328654286552865628657286582865928660286612866228663286642866528666286672866828669286702867128672286732867428675286762867728678286792868028681286822868328684286852868628687286882868928690286912869228693286942869528696286972869828699287002870128702287032870428705287062870728708287092871028711287122871328714287152871628717287182871928720287212872228723287242872528726287272872828729287302873128732287332873428735287362873728738287392874028741287422874328744287452874628747287482874928750287512875228753287542875528756287572875828759287602876128762287632876428765287662876728768287692877028771287722877328774287752877628777287782877928780287812878228783287842878528786287872878828789287902879128792287932879428795287962879728798287992880028801288022880328804288052880628807288082880928810288112881228813288142881528816288172881828819288202882128822288232882428825288262882728828288292883028831288322883328834288352883628837288382883928840288412884228843288442884528846288472884828849288502885128852288532885428855288562885728858288592886028861288622886328864288652886628867288682886928870288712887228873288742887528876288772887828879288802888128882288832888428885288862888728888288892889028891288922889328894288952889628897288982889928900289012890228903289042890528906289072890828909289102891128912289132891428915289162891728918289192892028921289222892328924289252892628927289282892928930289312893228933289342893528936289372893828939289402894128942289432894428945289462894728948289492895028951289522895328954289552895628957289582895928960289612896228963289642896528966289672896828969289702897128972289732897428975289762897728978289792898028981289822898328984289852898628987289882898928990289912899228993289942899528996289972899828999290002900129002290032900429005290062900729008290092901029011290122901329014290152901629017290182901929020290212902229023290242902529026290272902829029290302903129032290332903429035290362903729038290392904029041290422904329044290452904629047290482904929050290512905229053290542905529056290572905829059290602906129062290632906429065290662906729068290692907029071290722907329074290752907629077290782907929080290812908229083290842908529086290872908829089290902909129092290932909429095290962909729098290992910029101291022910329104291052910629107291082910929110291112911229113291142911529116291172911829119291202912129122291232912429125291262912729128291292913029131291322913329134291352913629137291382913929140291412914229143291442914529146291472914829149291502915129152291532915429155291562915729158291592916029161291622916329164291652916629167291682916929170291712917229173291742917529176291772917829179291802918129182291832918429185291862918729188291892919029191291922919329194291952919629197291982919929200292012920229203292042920529206292072920829209292102921129212292132921429215292162921729218292192922029221292222922329224292252922629227292282922929230292312923229233292342923529236292372923829239292402924129242292432924429245292462924729248292492925029251292522925329254292552925629257292582925929260292612926229263292642926529266292672926829269292702927129272292732927429275292762927729278292792928029281292822928329284292852928629287292882928929290292912929229293292942929529296292972929829299293002930129302293032930429305293062930729308293092931029311293122931329314293152931629317293182931929320293212932229323293242932529326293272932829329293302933129332293332933429335293362933729338293392934029341293422934329344293452934629347293482934929350293512935229353293542935529356293572935829359293602936129362293632936429365293662936729368293692937029371293722937329374293752937629377293782937929380293812938229383293842938529386293872938829389293902939129392293932939429395293962939729398293992940029401294022940329404294052940629407294082940929410294112941229413294142941529416294172941829419294202942129422294232942429425294262942729428294292943029431294322943329434294352943629437294382943929440294412944229443294442944529446294472944829449294502945129452294532945429455294562945729458294592946029461294622946329464294652946629467294682946929470294712947229473294742947529476294772947829479294802948129482294832948429485294862948729488294892949029491294922949329494294952949629497294982949929500295012950229503295042950529506295072950829509295102951129512295132951429515295162951729518295192952029521295222952329524295252952629527295282952929530295312953229533295342953529536295372953829539295402954129542295432954429545295462954729548295492955029551295522955329554295552955629557295582955929560295612956229563295642956529566295672956829569295702957129572295732957429575295762957729578295792958029581295822958329584295852958629587295882958929590295912959229593295942959529596295972959829599296002960129602296032960429605296062960729608296092961029611296122961329614296152961629617296182961929620296212962229623296242962529626296272962829629296302963129632296332963429635296362963729638296392964029641296422964329644296452964629647296482964929650296512965229653296542965529656296572965829659296602966129662296632966429665296662966729668296692967029671296722967329674296752967629677296782967929680296812968229683296842968529686296872968829689296902969129692296932969429695296962969729698296992970029701297022970329704297052970629707297082970929710297112971229713297142971529716297172971829719297202972129722297232972429725297262972729728297292973029731297322973329734297352973629737297382973929740297412974229743297442974529746297472974829749297502975129752297532975429755297562975729758297592976029761297622976329764297652976629767297682976929770297712977229773297742977529776297772977829779297802978129782297832978429785297862978729788297892979029791297922979329794297952979629797297982979929800298012980229803298042980529806298072980829809298102981129812298132981429815298162981729818298192982029821298222982329824298252982629827298282982929830298312983229833298342983529836298372983829839298402984129842298432984429845298462984729848298492985029851298522985329854298552985629857298582985929860298612986229863298642986529866298672986829869298702987129872298732987429875298762987729878298792988029881298822988329884298852988629887298882988929890298912989229893298942989529896298972989829899299002990129902299032990429905299062990729908299092991029911299122991329914299152991629917299182991929920299212992229923299242992529926299272992829929299302993129932299332993429935299362993729938299392994029941299422994329944299452994629947299482994929950299512995229953299542995529956299572995829959299602996129962299632996429965299662996729968299692997029971299722997329974299752997629977299782997929980299812998229983299842998529986299872998829989299902999129992299932999429995299962999729998299993000030001300023000330004300053000630007300083000930010300113001230013300143001530016300173001830019300203002130022300233002430025300263002730028300293003030031300323003330034300353003630037300383003930040300413004230043300443004530046300473004830049300503005130052300533005430055300563005730058300593006030061300623006330064300653006630067300683006930070300713007230073300743007530076300773007830079300803008130082300833008430085300863008730088300893009030091300923009330094300953009630097300983009930100301013010230103301043010530106301073010830109301103011130112301133011430115301163011730118301193012030121301223012330124301253012630127301283012930130301313013230133301343013530136301373013830139301403014130142301433014430145301463014730148301493015030151301523015330154301553015630157301583015930160301613016230163301643016530166301673016830169301703017130172301733017430175301763017730178301793018030181301823018330184301853018630187301883018930190301913019230193301943019530196301973019830199302003020130202302033020430205302063020730208302093021030211302123021330214302153021630217302183021930220302213022230223302243022530226302273022830229302303023130232302333023430235302363023730238302393024030241302423024330244302453024630247302483024930250302513025230253302543025530256302573025830259302603026130262302633026430265302663026730268302693027030271302723027330274302753027630277302783027930280302813028230283302843028530286302873028830289302903029130292302933029430295302963029730298302993030030301303023030330304303053030630307303083030930310303113031230313303143031530316303173031830319303203032130322303233032430325303263032730328303293033030331303323033330334303353033630337303383033930340303413034230343303443034530346303473034830349303503035130352303533035430355303563035730358303593036030361303623036330364303653036630367303683036930370303713037230373303743037530376303773037830379303803038130382303833038430385303863038730388303893039030391303923039330394303953039630397303983039930400304013040230403304043040530406304073040830409304103041130412304133041430415304163041730418304193042030421304223042330424304253042630427304283042930430304313043230433304343043530436304373043830439304403044130442304433044430445304463044730448304493045030451304523045330454304553045630457304583045930460304613046230463304643046530466304673046830469304703047130472304733047430475304763047730478304793048030481304823048330484304853048630487304883048930490304913049230493304943049530496304973049830499305003050130502305033050430505305063050730508305093051030511305123051330514305153051630517305183051930520305213052230523305243052530526305273052830529305303053130532305333053430535305363053730538305393054030541305423054330544305453054630547305483054930550305513055230553305543055530556305573055830559305603056130562305633056430565305663056730568305693057030571305723057330574305753057630577305783057930580305813058230583305843058530586305873058830589305903059130592305933059430595305963059730598305993060030601306023060330604306053060630607306083060930610306113061230613306143061530616306173061830619306203062130622306233062430625306263062730628306293063030631306323063330634306353063630637306383063930640306413064230643306443064530646306473064830649306503065130652306533065430655306563065730658306593066030661306623066330664306653066630667306683066930670306713067230673306743067530676306773067830679306803068130682306833068430685306863068730688306893069030691306923069330694306953069630697306983069930700307013070230703307043070530706307073070830709307103071130712307133071430715307163071730718307193072030721307223072330724307253072630727307283072930730307313073230733307343073530736307373073830739307403074130742307433074430745307463074730748307493075030751307523075330754307553075630757307583075930760307613076230763307643076530766307673076830769307703077130772307733077430775307763077730778307793078030781307823078330784307853078630787307883078930790307913079230793307943079530796307973079830799308003080130802308033080430805308063080730808308093081030811308123081330814308153081630817308183081930820308213082230823308243082530826308273082830829308303083130832308333083430835308363083730838308393084030841308423084330844308453084630847308483084930850308513085230853308543085530856308573085830859308603086130862308633086430865308663086730868308693087030871308723087330874308753087630877308783087930880308813088230883308843088530886308873088830889308903089130892308933089430895308963089730898308993090030901309023090330904309053090630907309083090930910309113091230913309143091530916309173091830919309203092130922309233092430925309263092730928309293093030931309323093330934309353093630937309383093930940309413094230943309443094530946309473094830949309503095130952309533095430955309563095730958309593096030961309623096330964309653096630967309683096930970309713097230973309743097530976309773097830979309803098130982309833098430985309863098730988309893099030991309923099330994309953099630997309983099931000310013100231003310043100531006310073100831009310103101131012310133101431015310163101731018310193102031021310223102331024310253102631027310283102931030310313103231033310343103531036310373103831039310403104131042310433104431045310463104731048310493105031051310523105331054310553105631057310583105931060310613106231063310643106531066310673106831069310703107131072310733107431075310763107731078310793108031081310823108331084310853108631087310883108931090310913109231093310943109531096310973109831099311003110131102311033110431105311063110731108311093111031111311123111331114311153111631117311183111931120311213112231123311243112531126311273112831129311303113131132311333113431135311363113731138311393114031141311423114331144311453114631147311483114931150311513115231153311543115531156311573115831159311603116131162311633116431165311663116731168311693117031171311723117331174311753117631177311783117931180311813118231183311843118531186311873118831189311903119131192311933119431195311963119731198311993120031201312023120331204312053120631207312083120931210312113121231213312143121531216312173121831219312203122131222312233122431225312263122731228312293123031231312323123331234312353123631237312383123931240312413124231243312443124531246312473124831249312503125131252312533125431255312563125731258312593126031261312623126331264312653126631267312683126931270312713127231273312743127531276312773127831279312803128131282312833128431285312863128731288312893129031291312923129331294312953129631297312983129931300313013130231303313043130531306313073130831309313103131131312313133131431315313163131731318313193132031321313223132331324313253132631327313283132931330313313133231333313343133531336313373133831339313403134131342313433134431345313463134731348313493135031351313523135331354313553135631357313583135931360313613136231363313643136531366313673136831369313703137131372313733137431375313763137731378313793138031381313823138331384313853138631387313883138931390313913139231393313943139531396313973139831399314003140131402314033140431405314063140731408314093141031411314123141331414314153141631417314183141931420314213142231423314243142531426314273142831429314303143131432314333143431435314363143731438314393144031441314423144331444314453144631447314483144931450314513145231453314543145531456314573145831459314603146131462314633146431465314663146731468314693147031471314723147331474314753147631477314783147931480314813148231483314843148531486314873148831489314903149131492314933149431495314963149731498314993150031501315023150331504315053150631507315083150931510315113151231513315143151531516315173151831519315203152131522315233152431525315263152731528315293153031531315323153331534315353153631537315383153931540315413154231543315443154531546315473154831549315503155131552315533155431555315563155731558315593156031561315623156331564315653156631567315683156931570315713157231573315743157531576315773157831579315803158131582315833158431585315863158731588315893159031591315923159331594315953159631597315983159931600316013160231603316043160531606316073160831609316103161131612316133161431615316163161731618316193162031621 |
- 2013-06-10 Timothy Hatcher <timothy@apple.com>
- Remove Xcode 4 skin and only have the Xcode 5 look.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ButtonNavigationItem.css:
- (.navigation-bar .item.button.suppress-emboss.disabled > .glyph):
- * UserInterface/CodeMirrorOverrides.css:
- * UserInterface/DashboardView.css:
- (.toolbar .dashboard):
- (body.window-inactive .toolbar .dashboard):
- (.toolbar.collapsed .dashboard):
- (.toolbar.collapsed .dashboard > .logs):
- * UserInterface/DashboardView.js:
- (WebInspector.DashboardView):
- (WebInspector.DashboardView.prototype._setItemEnabled):
- * UserInterface/DetailsSection.css:
- * UserInterface/DividerNavigationItem.css:
- (.navigation-bar .item.divider):
- * UserInterface/FilterBar.css:
- (.filter-bar > input[type="search"]):
- (.filter-bar > input[type="search"]::-webkit-input-placeholder):
- (.filter-bar > input[type="search"]:valid):
- * UserInterface/FindBanner.css:
- (.find-banner > input[type="search"]):
- (.find-banner > button):
- * UserInterface/HierarchicalPathComponent.css:
- * UserInterface/InstrumentSidebarPanel.css:
- * UserInterface/LayerTreeSidebarPanel.css:
- * UserInterface/Main.css:
- (#split-content-browser > .navigation-bar):
- * UserInterface/NavigationBar.css:
- * UserInterface/NavigationSidebarPanel.css:
- * UserInterface/RadioButtonNavigationItem.css:
- (.navigation-bar .item.radio.button.text-only.selected):
- * UserInterface/ResourceSidebarPanel.css:
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject):
- * UserInterface/ScopeBar.css:
- (.scope-bar > li):
- (.scope-bar > li:active):
- (.scope-bar > li:hover):
- (.scope-bar > li.selected):
- * UserInterface/SearchBar.css:
- (.search-bar > input[type="search"]):
- (.search-bar > input[type="search"]::-webkit-input-placeholder):
- (.search-bar > input[type="search"]:valid):
- * UserInterface/TimelinesContentView.css:
- (.content-view.timelines > .data-grid > .navigation-bar-container > .navigation-bar):
- 2013-06-08 Timothy Hatcher <timothy@apple.com>
- Improve switching from the full view console to the Resource sidebar, so the previous resource is shown in the content browser again.
- Also cleans up my earlier changes and removes an assert that can fire often now.
- <rdar://problem/14075352> Jumping to a resource from the Timelines panel should reveal file in Resources sidebar when showing resource
- Reviewed by Antoine Quint.
- * UserInterface/Main.js:
- (WebInspector.showFullHeightConsole):
- (WebInspector._sidebarCollapsedStateDidChange): Call _updateNavigationSidebarForCurrentContentView for the navigation sidebar.
- (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar): Only do this work if the sidebar is not collapsed. We don't
- want to deselect items if the sidebar is collapsed, preserving the selection is important when showing the sidebar later.
- (WebInspector._updateNavigationSidebarForCurrentContentView): Added. Split off from _navigationSidebarPanelSelected. Only do this work
- if the sidebar is not collapsed.
- (WebInspector._navigationSidebarPanelSelected): Call _updateNavigationSidebarForCurrentContentView.
- (WebInspector._contentBrowserCurrentContentViewDidChange): Clean up by returning early if there is no current content view.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): Remove an assert that can happen a lot now.
- 2013-06-07 Antoine Quint <graouts@apple.com>
- <rdar://problem/14094308> Styles should come before Layers details sidebar
- Switch Layers and Styles.
- Reviewed by Timothy Hatcher.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel):
- * UserInterface/LayerTreeSidebarPanel.js:
- (WebInspector.LayerTreeSidebarPanel):
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- 2013-06-07 Timothy Hatcher <timothy@apple.com>
- Keep the selected tree element in sync with the current content view.
- <rdar://problem/14075352> Jumping to a resource from the Timelines panel should reveal file in Resources sidebar when showing resource
- Reviewed by Antoine Quint.
- * UserInterface/Main.js:
- (WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar): Added.
- (WebInspector._navigationSidebarPanelSelected): Call _revealAndSelectRepresentedObjectInNavigationSidebar.
- (WebInspector._contentBrowserCurrentContentViewDidChange): Ditto.
- 2013-06-07 Timothy Hatcher <timothy@apple.com>
- Keep the navigation sidebar and the current content view in sync with a set of allowed sidebars per content view.
- <rdar://problem/14075352> Jumping to a resource from the Timelines panel should reveal file in Resources sidebar when showing resource
- Reviewed by Antoine Quint.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView.prototype.get allowedNavigationSidebarPanels): Added.
- * UserInterface/FrameContentView.js:
- (WebInspector.FrameContentView.prototype.get allowedNavigationSidebarPanels): Added.
- * UserInterface/Main.js:
- (WebInspector.showSplitConsole): Show the navigation sidebar if it was showing.
- (WebInspector.showFullHeightConsole): Hide the navigation sidebar and remember if it was showing.
- (WebInspector.toggleConsoleView): Show the sidebar if it was showing.
- (WebInspector._navigationSidebarPanelSelected): Ensure the navigation sidebar panel is allowed by the current content view.
- (WebInspector._contentBrowserCurrentContentViewDidChange): Ditto.
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel.prototype.showContentViewForCurrentSelection):
- (WebInspector.NavigationSidebarPanel.prototype.shown):
- * UserInterface/ProfileView.js:
- (WebInspector.ProfileView.prototype.get allowedNavigationSidebarPanels): Added.
- * UserInterface/ResourceClusterContentView.js:
- (WebInspector.ResourceClusterContentView.prototype.get allowedNavigationSidebarPanels): Added.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView.prototype.get allowedNavigationSidebarPanels): Added.
- 2013-06-06 Timothy Hatcher <timothy@apple.com>
- Properly filter into resources with a source map if they haven't been expanded yet.
- <rdar://problem/14072548> Resources filter shows "No Filter Results" after reload with SourceMaps
- Reviewed by Joseph Pecoraro.
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged): Pass false to
- traverseNextTreeElement to cause the tree elements to be populated. This matches the interactive
- case when typing into the filter bar, which already worked with source maps.
- 2013-06-05 Antoine Quint <graouts@apple.com>
- <rdar://problem/14077407> Jumping to an error in a JS file form the console highlights to white first before going back to red
- Remove the explicit ÒtoÓ color in the CSS animation we use to highlight a link
- in the text editor as it is revealed, which means the ÒtoÓ color will be the
- underlying color set on the element. This will animate to red for errors,
- yellow for warnings, and transparent for regular lines.
- Reviewed by Timothy Hatcher.
- * UserInterface/TextEditor.css:
- (@-webkit-keyframes text-editor-highlight-fadeout):
- 2013-06-05 Antoine Quint <graouts@apple.com>
- <rdar://problem/14077152> Activity viewer does not update error count for grouped errors when inspector is closed.
- Take into account the repeat count of an error when incrementing
- the message count.
- Reviewed by Timothy Hatcher.
- * UserInterface/DashboardManager.js:
- (WebInspector.DashboardManager.prototype._consoleMessageAdded):
- (WebInspector.DashboardManager.prototype._consoleMessageWasRepeated):
- (WebInspector.DashboardManager.prototype._incrementConsoleMessageType):
- 2013-06-05 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/14072409> Pressing Enter/Esc when editing a breakpoint (conditional breakpoint) should dismiss popover
- Handle Esc and Enter on the <input> to dismiss the popover.
- This behaves like Xcode's breakpoint condition popover.
- Reviewed by Timothy Hatcher.
- * UserInterface/Breakpoint.js:
- (WebInspector.Breakpoint.prototype._popoverConditionInputKeyDown):
- (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
- (WebInspector.Breakpoint.prototype._showEditBreakpointPopover):
- 2013-06-05 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/14054886> Pressing Enter in a blank console should do nothing, not insert a newline
- Reviewed by Antoine Quint.
- * UserInterface/ConsolePrompt.js:
- 2013-06-05 Timothy Hatcher <timothy@apple.com>
- Add/update copyright and license to all the user interface files in
- preparation for open sourcing to WebKit.
- Rubber-stamped by Antoine Quint.
- * UserInterface/ActivateButtonNavigationItem.js:
- * UserInterface/ActivateButtonToolbarItem.js:
- * UserInterface/ApplicationCacheDetailsSidebarPanel.js:
- * UserInterface/ApplicationCacheFrame.js:
- * UserInterface/ApplicationCacheFrameContentView.css:
- * UserInterface/ApplicationCacheFrameContentView.js:
- * UserInterface/ApplicationCacheFrameTreeElement.js:
- * UserInterface/ApplicationCacheIcons.css:
- * UserInterface/ApplicationCacheManager.js:
- * UserInterface/ApplicationCacheManifest.js:
- * UserInterface/ApplicationCacheManifestTreeElement.js:
- * UserInterface/ApplicationCacheObserver.js:
- * UserInterface/BinarySearch.js:
- * UserInterface/BlankStylePropertiesSection.js:
- * UserInterface/BottomUpProfileDataGridTree.js:
- * UserInterface/BoxModelDetailsSectionRow.css:
- * UserInterface/BoxModelDetailsSectionRow.js:
- * UserInterface/Branch.js:
- * UserInterface/BranchManager.js:
- * UserInterface/Breakpoint.css:
- * UserInterface/Breakpoint.js:
- * UserInterface/BreakpointIcons.css:
- * UserInterface/BreakpointTreeElement.css:
- * UserInterface/BreakpointTreeElement.js:
- * UserInterface/ButtonNavigationItem.css:
- * UserInterface/ButtonNavigationItem.js:
- * UserInterface/ButtonToolbarItem.css:
- * UserInterface/ButtonToolbarItem.js:
- * UserInterface/CSSCompletions.js:
- * UserInterface/CSSKeywordCompletions.js:
- * UserInterface/CSSMedia.js:
- * UserInterface/CSSObserver.js:
- * UserInterface/CSSProperty.js:
- * UserInterface/CSSRule.js:
- * UserInterface/CSSSelectorProfileObject.js:
- * UserInterface/CSSSelectorProfileType.js:
- * UserInterface/CSSSelectorProfileView.js:
- * UserInterface/CSSStyleDeclaration.js:
- * UserInterface/CSSStyleDeclarationSection.css:
- * UserInterface/CSSStyleDeclarationSection.js:
- * UserInterface/CSSStyleDeclarationTextEditor.css:
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- * UserInterface/CSSStyleDetailsSidebarPanel.css:
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- * UserInterface/CSSStyleManager.js:
- * UserInterface/CSSStyleSheet.js:
- * UserInterface/CallFrame.js:
- * UserInterface/CallFrameIcons.css:
- * UserInterface/CallFrameTreeElement.js:
- * UserInterface/ClusterContentView.css:
- * UserInterface/ClusterContentView.js:
- * UserInterface/CodeMirrorAdditions.js:
- * UserInterface/CodeMirrorCompletionController.css:
- * UserInterface/CodeMirrorCompletionController.js:
- * UserInterface/CodeMirrorFormatters.js:
- * UserInterface/CodeMirrorOverrides.css:
- * UserInterface/CodeMirrorTokenTrackingController.css:
- * UserInterface/CodeMirrorTokenTrackingController.js:
- * UserInterface/Color.js:
- * UserInterface/CompletionSuggestionsView.css:
- * UserInterface/CompletionSuggestionsView.js:
- * UserInterface/ComputedStyleDetailsPanel.js:
- * UserInterface/ConsoleCommand.js:
- * UserInterface/ConsoleCommandResult.js:
- * UserInterface/ConsoleGroup.js:
- * UserInterface/ConsoleMessage.js:
- * UserInterface/ConsoleMessageImpl.js:
- * UserInterface/ConsoleObserver.js:
- * UserInterface/ConsolePrompt.css:
- * UserInterface/ConsolePrompt.js:
- * UserInterface/ContentBrowser.css:
- * UserInterface/ContentBrowser.js:
- * UserInterface/ContentView.css:
- * UserInterface/ContentView.js:
- * UserInterface/ContentViewContainer.css:
- * UserInterface/ContentViewContainer.js:
- * UserInterface/ContextMenu.js:
- * UserInterface/ControlToolbarItem.css:
- * UserInterface/ControlToolbarItem.js:
- * UserInterface/CookieIcon.css:
- * UserInterface/CookieStorageContentView.css:
- * UserInterface/CookieStorageContentView.js:
- * UserInterface/CookieStorageObject.js:
- * UserInterface/CookieStorageTreeElement.js:
- * UserInterface/DOMDetailsSidebarPanel.js:
- * UserInterface/DOMNode.js:
- * UserInterface/DOMNodeDetailsSidebarPanel.js:
- * UserInterface/DOMNodeStyles.js:
- * UserInterface/DOMObserver.js:
- * UserInterface/DOMSearchMatchObject.js:
- * UserInterface/DOMStorageContentView.css:
- * UserInterface/DOMStorageContentView.js:
- * UserInterface/DOMStorageIcons.css:
- * UserInterface/DOMStorageObject.js:
- * UserInterface/DOMStorageObserver.js:
- * UserInterface/DOMStorageTreeElement.js:
- * UserInterface/DOMTree.js:
- * UserInterface/DOMTreeContentView.css:
- * UserInterface/DOMTreeContentView.js:
- * UserInterface/DOMTreeElement.js:
- * UserInterface/DOMTreeElementPathComponent.js:
- * UserInterface/DOMTreeManager.js:
- * UserInterface/DOMTreeOutline.css:
- * UserInterface/DOMTreeOutline.js:
- * UserInterface/DOMTreeUpdater.js:
- * UserInterface/DOMUtilities.js:
- * UserInterface/DashboardManager.js:
- * UserInterface/DashboardView.css:
- * UserInterface/DashboardView.js:
- * UserInterface/DataGrid.css:
- * UserInterface/DataGrid.js:
- * UserInterface/DatabaseContentView.css:
- * UserInterface/DatabaseContentView.js:
- * UserInterface/DatabaseHostTreeElement.js:
- * UserInterface/DatabaseIcon.css:
- * UserInterface/DatabaseObject.js:
- * UserInterface/DatabaseObserver.js:
- * UserInterface/DatabaseTableContentView.css:
- * UserInterface/DatabaseTableContentView.js:
- * UserInterface/DatabaseTableIcon.css:
- * UserInterface/DatabaseTableObject.js:
- * UserInterface/DatabaseTableTreeElement.js:
- * UserInterface/DatabaseTreeElement.js:
- * UserInterface/DebuggerManager.js:
- * UserInterface/DebuggerObserver.js:
- * UserInterface/DebuggerSidebarPanel.css:
- * UserInterface/DebuggerSidebarPanel.js:
- * UserInterface/DetailsSection.css:
- * UserInterface/DetailsSection.js:
- * UserInterface/DetailsSectionDataGridRow.js:
- * UserInterface/DetailsSectionGroup.js:
- * UserInterface/DetailsSectionPropertiesRow.js:
- * UserInterface/DetailsSectionRow.js:
- * UserInterface/DetailsSectionSimpleRow.js:
- * UserInterface/DetailsSidebarPanel.css:
- * UserInterface/DetailsSidebarPanel.js:
- * UserInterface/DividerNavigationItem.css:
- * UserInterface/DividerNavigationItem.js:
- * UserInterface/Editing.css:
- * UserInterface/EditingSupport.js:
- * UserInterface/EventHandler.js:
- * UserInterface/EventListenerSection.js:
- * UserInterface/EventListenerSectionGroup.css:
- * UserInterface/EventListenerSectionGroup.js:
- * UserInterface/ExecutionContext.js:
- * UserInterface/ExecutionContextList.js:
- * UserInterface/FilterBar.css:
- * UserInterface/FilterBar.js:
- * UserInterface/FindBanner.css:
- * UserInterface/FindBanner.js:
- * UserInterface/FlexibleSpaceNavigationItem.css:
- * UserInterface/FlexibleSpaceNavigationItem.js:
- * UserInterface/FolderIcon.css:
- * UserInterface/FolderTreeElement.js:
- * UserInterface/FontResourceContentView.css:
- * UserInterface/FontResourceContentView.js:
- * UserInterface/Formatter.js:
- * UserInterface/FormatterContentBuilder.js:
- * UserInterface/FormatterSourceMap.js:
- * UserInterface/Frame.js:
- * UserInterface/FrameContentView.js:
- * UserInterface/FrameResourceManager.js:
- * UserInterface/FrameTreeElement.js:
- * UserInterface/GeneralTreeElement.js:
- * UserInterface/GeneralTreeElementPathComponent.js:
- * UserInterface/GenericResourceContentView.js:
- * UserInterface/Geometry.js:
- * UserInterface/HierarchicalPathComponent.css:
- * UserInterface/HierarchicalPathComponent.js:
- * UserInterface/HierarchicalPathNavigationItem.js:
- * UserInterface/ImageResourceContentView.css:
- * UserInterface/ImageResourceContentView.js:
- * UserInterface/ImageUtilities.js:
- * UserInterface/IndeterminateProgressSpinner.css:
- * UserInterface/IndeterminateProgressSpinner.js:
- * UserInterface/InspectorBackend.js:
- * UserInterface/InspectorFrontendAPI.js:
- * UserInterface/InspectorObserver.js:
- * UserInterface/InstrumentIcons.css:
- * UserInterface/InstrumentSidebarPanel.css:
- * UserInterface/InstrumentSidebarPanel.js:
- * UserInterface/IssueManager.js:
- * UserInterface/IssueMessage.js:
- * UserInterface/JavaScriptLogViewController.js:
- * UserInterface/JavaScriptProfileObject.js:
- * UserInterface/JavaScriptProfileType.js:
- * UserInterface/JavaScriptProfileView.css:
- * UserInterface/JavaScriptProfileView.js:
- * UserInterface/KeyboardShortcut.js:
- * UserInterface/LayerTreeDataGrid.js:
- * UserInterface/LayerTreeDataGridNode.js:
- * UserInterface/LayerTreeManager.js:
- * UserInterface/LayerTreeObserver.js:
- * UserInterface/LayerTreeSidebarPanel.css:
- * UserInterface/LayerTreeSidebarPanel.js:
- * UserInterface/LayoutTimelineDataGrid.js:
- * UserInterface/LayoutTimelineDataGridNode.js:
- * UserInterface/LayoutTimelineRecord.js:
- * UserInterface/LoadInspectorBackendCommands.js:
- * UserInterface/LoadLocalizedStrings.js:
- * UserInterface/LogContentView.css:
- * UserInterface/LogContentView.js:
- * UserInterface/LogIcon.css:
- * UserInterface/LogManager.js:
- * UserInterface/LogObject.js:
- * UserInterface/LogTreeElement.js:
- * UserInterface/MIMETypeUtilities.js:
- * UserInterface/Main.css:
- * UserInterface/Main.html:
- * UserInterface/Main.js:
- * UserInterface/MetricsStyleDetailsPanel.js:
- * UserInterface/NavigationBar.css:
- * UserInterface/NavigationBar.js:
- * UserInterface/NavigationItem.js:
- * UserInterface/NavigationSidebarPanel.css:
- * UserInterface/NavigationSidebarPanel.js:
- * UserInterface/NetworkDataGrid.css:
- * UserInterface/NetworkDataGrid.js:
- * UserInterface/NetworkGraphCalculator.js:
- * UserInterface/NetworkObserver.js:
- * UserInterface/NetworkTimeline.css:
- * UserInterface/Object.js:
- * UserInterface/ObjectPropertiesSection.js:
- * UserInterface/PageObserver.js:
- * UserInterface/PathComponentIcons.css:
- * UserInterface/Popover.css:
- * UserInterface/Popover.js:
- * UserInterface/ProfileManager.js:
- * UserInterface/ProfileObject.js:
- * UserInterface/ProfileType.js:
- * UserInterface/ProfileView.css:
- * UserInterface/ProfileView.js:
- * UserInterface/ProfilerObserver.js:
- * UserInterface/PropertiesSection.js:
- * UserInterface/QuickConsole.css:
- * UserInterface/QuickConsole.js:
- * UserInterface/QuickConsoleNavigationBar.js:
- * UserInterface/RadioButtonNavigationItem.css:
- * UserInterface/RadioButtonNavigationItem.js:
- * UserInterface/Resource.js:
- * UserInterface/ResourceClusterContentView.js:
- * UserInterface/ResourceCollection.js:
- * UserInterface/ResourceContentView.js:
- * UserInterface/ResourceDetailsSidebarPanel.js:
- * UserInterface/ResourceIcons.css:
- * UserInterface/ResourceSearchMatchObject.js:
- * UserInterface/ResourceSidebarPanel.css:
- * UserInterface/ResourceSidebarPanel.js:
- * UserInterface/ResourceTimelineDataGridNode.js:
- * UserInterface/ResourceTimelineDataGridNodePathComponent.js:
- * UserInterface/ResourceTimelineRecord.js:
- * UserInterface/ResourceTreeElement.css:
- * UserInterface/ResourceTreeElement.js:
- * UserInterface/Revision.js:
- * UserInterface/RulesStyleDetailsPanel.css:
- * UserInterface/RulesStyleDetailsPanel.js:
- * UserInterface/RuntimeObserver.js:
- * UserInterface/ScopeBar.css:
- * UserInterface/ScopeBar.js:
- * UserInterface/ScopeBarItem.js:
- * UserInterface/ScopeChainDetailsSidebarPanel.js:
- * UserInterface/ScopeChainNode.js:
- * UserInterface/ScopeVariableTreeElement.js:
- * UserInterface/Script.js:
- * UserInterface/ScriptContentView.css:
- * UserInterface/ScriptContentView.js:
- * UserInterface/ScriptTimelineDataGrid.js:
- * UserInterface/ScriptTimelineDataGridNode.js:
- * UserInterface/ScriptTimelineRecord.js:
- * UserInterface/ScriptTreeElement.js:
- * UserInterface/SearchBar.css:
- * UserInterface/SearchBar.js:
- * UserInterface/SearchIcons.css:
- * UserInterface/SearchResultTreeElement.js:
- * UserInterface/Section.css:
- * UserInterface/Section.js:
- * UserInterface/Setting.js:
- * UserInterface/Sidebar.css:
- * UserInterface/Sidebar.js:
- * UserInterface/SidebarPanel.js:
- * UserInterface/SourceCode.js:
- * UserInterface/SourceCodeLocation.js:
- * UserInterface/SourceCodePosition.js:
- * UserInterface/SourceCodeRevision.js:
- * UserInterface/SourceCodeTextEditor.css:
- * UserInterface/SourceCodeTextEditor.js:
- * UserInterface/SourceCodeTextRange.js:
- * UserInterface/SourceCodeTreeElement.js:
- * UserInterface/SourceMap.js:
- * UserInterface/SourceMapManager.js:
- * UserInterface/SourceMapResource.js:
- * UserInterface/SourceMapResourceTreeElement.js:
- * UserInterface/StorageManager.js:
- * UserInterface/StorageTreeElement.js:
- * UserInterface/StyleDetailsPanel.js:
- * UserInterface/StyleRuleIcons.css:
- * UserInterface/SyntaxHighlightingDefaultTheme.css:
- * UserInterface/SyntaxHighlightingSupport.js:
- * UserInterface/TextContentView.css:
- * UserInterface/TextContentView.js:
- * UserInterface/TextEditor.css:
- * UserInterface/TextEditor.js:
- * UserInterface/TextRange.js:
- * UserInterface/TextResourceContentView.css:
- * UserInterface/TextResourceContentView.js:
- * UserInterface/TimelineDataGrid.css:
- * UserInterface/TimelineDataGrid.js:
- * UserInterface/TimelineDecorations.css:
- * UserInterface/TimelineDecorations.js:
- * UserInterface/TimelineEventMarker.js:
- * UserInterface/TimelineManager.js:
- * UserInterface/TimelineObserver.js:
- * UserInterface/TimelineOverview.css:
- * UserInterface/TimelineOverview.js:
- * UserInterface/TimelineRecord.js:
- * UserInterface/TimelinesContentView.css:
- * UserInterface/TimelinesContentView.js:
- * UserInterface/TimelinesObject.js:
- * UserInterface/ToggleButtonNavigationItem.js:
- * UserInterface/ToggleControlToolbarItem.js:
- * UserInterface/Toolbar.css:
- * UserInterface/Toolbar.js:
- * UserInterface/TreeOutline.js:
- * UserInterface/Utilities.js:
- * UserInterface/WebInspector.js:
- 2013-06-05 Timothy Hatcher <timothy@apple.com>
- Properly update the boundaries for the NetworkTransferTimeCalculator.
- It is expected that _lowerBound and _upperBound return NaN instead of 0.
- <rdar://problem/14040314> Web Inspector says it takes ~15,000 days to load developer library
- Reviewed by Joseph Pecoraro.
- * UserInterface/NetworkDataGrid.js:
- (WebInspector.NetworkDataGrid.prototype._updateHeaderTimes):
- * UserInterface/NetworkGraphCalculator.js:
- (WebInspector.NetworkTransferTimeCalculator.prototype._lowerBound):
- (WebInspector.NetworkTransferTimeCalculator.prototype._upperBound):
- * UserInterface/TimelineDecorations.js:
- (WebInspector.TimelineDecorations.prototype.updateHeaderTimes):
- 2013-06-05 Timothy Hatcher <timothy@apple.com>
- Unlocalize the box model labels.
- <rdar://problem/14057745> [WebBrowser]: Euro: 13A476r: Box model should not be localized
- Reviewed by Ada Chan.
- * UserInterface/BoxModelDetailsSectionRow.js:
- (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics):
- 2013-06-05 Timothy Hatcher <timothy@apple.com>
- Syntax highlight inherit, initial and function names in CSS as keywords.
- Part of: <rdar://problem/14053613> "-webkit-transform" autocompletes with colon in -webkit-transition definition
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSCompletions.js:
- (WebInspector.CSSCompletions.requestCSSNameCompletions.propertyNamesCallback):
- Strip function parenthesis from names. Process the color list to strip function parenthesis from rgb(), etc.
- 2013-06-05 Timothy Hatcher <timothy@apple.com>
- Improve the implicit suffix handling when editing in the middle of a CSS value.
- Part of: <rdar://problem/14053613> "-webkit-transform" autocompletes with colon in -webkit-transition definition
- Reviewed by Joseph Pecoraro.
- * UserInterface/CodeMirrorCompletionController.js:
- (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions):
- 2013-06-05 Timothy Hatcher <timothy@apple.com>
- Autocomplete property names for transition and transition-property.
- Part of: <rdar://problem/14053613> "-webkit-transform" autocompletes with colon in -webkit-transition definition
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSCompletions.js:
- (WebInspector.CSSCompletions.prototype.get values):
- * UserInterface/CSSKeywordCompletions.js:
- (WebInspector.CSSKeywordCompletions.forProperty):
- 2013-06-04 Timothy Hatcher <timothy@apple.com>
- Properly autocomplete CSS values if the property name is on a previous line.
- Part of: <rdar://problem/14053613> "-webkit-transform" autocompletes with colon in -webkit-transition definition
- Reviewed by Joseph Pecoraro.
- * UserInterface/CodeMirrorCompletionController.js:
- (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions):
- 2013-06-03 Timothy Hatcher <timothy@apple.com>
- Add property names to the value keywords list so they are highlighted for -webkit-transition.
- <rdar://problem/14052662> "-webkit-transform" is not correctly highlighted when editing CSS resource
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSCompletions.js:
- (WebInspector.CSSCompletions.requestCSSNameCompletions.collectPropertyNameForCodeMirror):
- 2013-06-03 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/14047312> Add New Rules sometimes doesn't do anything
- Better handle generating selectors for nodes with spaces in class or id attributes.
- Tests: (Cases that were failing before)
- <div class=" x "> => Before: (..x.) After: (.x)
- <div id=" x "> => Before: (# x ) After: (div[id=" x "])
- <div id='"x"'> => Before: (#"x") After: (div[id="\"x\""])
- Reviewed by Timothy Hatcher.
- * UserInterface/DOMNode.js:
- (WebInspector.DOMNode.prototype.appropriateSelectorFor):
- * UserInterface/DOMUtilities.js:
- (WebInspector.displayNameForNode):
- 2013-06-03 Antoine Quint <graouts@apple.com>
- <rdar://problem/13932229> Update CSSKeywordCompletions.js for iOS properties
- Add support for the new Ò-appleÓ-prefixed values for the ÒfontÓ property.
- Reviewed by Timothy Hatcher.
- * UserInterface/CSSKeywordCompletions.js:
- 2013-06-03 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/14047029> Exception CallFrameTreeElement.js:19: TypeError: 'null' is not an object (evaluating 'callFrame.sourceCodeLocation.displaySourceCode')
- Only include a subtitle for call frame tree elements if there is a
- source code location, because that is used to determine the subtitle.
- Reviewed by Timothy Hatcher.
- * UserInterface/CallFrameTreeElement.js:
- (WebInspector.CallFrameTreeElement):
- 2013-06-03 Timothy Hatcher <timothy@apple.com>
- Hide the caret in read-only style declarations.
- <rdar://problem/14047344> Locked rules (UA stylesheets) in Styles sidebar shouldn't display a caret
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDeclarationTextEditor.css:
- (.css-style-text-editor.read-only > .CodeMirror .CodeMirror-cursor): Added.
- 2013-06-03 Timothy Hatcher <timothy@apple.com>
- Correctly stop auto recording the Timeline after the load event or a maximum duration (which ever comes first).
- The original fix for <rdar://problem/13180009> was incorrect and caused <rdar://problem/13919974>
- and also caused infinite auto recording on pages with indefinite timers that rapidly adds records.
- <rdar://problem/14043180> REGRESSION (6.0.5-Curie): Safari Web Content: 100% CPU when using Inspector
- Reviewed by Joseph Pecoraro.
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
- Don't call _stopAutoRecordingSoon for the DOMContent event.
- (WebInspector.TimelineManager.prototype._addRecord):
- Don't call _stopAutoRecordingSoon. Add the call to _resetAutoRecordingDeadTimeTimeout back.
- (WebInspector.TimelineManager.prototype._startAutoRecording):
- Use MaximumAutoRecordDuration instead of MaximumAutoRecordDurationAfterLastRecord for the timeout.
- (WebInspector.TimelineManager.prototype._stopAutoRecordingSoon):
- Remove the dead time timeout now that it is back in _addRecord.
- 2013-06-02 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/14040519> BoxModelDetailsSectionRow.js:120: ERROR: TypeError: 'null' is not an object (evaluating 'style.propertyForName(width).value')
- Make the sidebar resilient against the possibility of an empty computed
- style object. The ultimate issue is that the DOM Tree does not have a
- selected node, but this could should be resilient anyways.
- Reviewed by Timothy Hatcher.
- * UserInterface/BoxModelDetailsSectionRow.js:
- (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics):
- 2013-06-02 Joseph Pecoraro <pecoraro@apple.com>
- Reveal line sometimes doesn't work with content right at the edge of the screen.
- Reviewed by Timothy Hatcher.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype._isPositionVisible):
- 2013-05-31 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/14039888> Should not have spellchecking during most HTML editing
- Allow EditingConfig to specify whether or not spellchecking should be enabled.
- Spellcheck is off by default, because most of the time it is code, and it is
- only enabled when editing a TextNode in the DOM Tree.
- Reviewed by Timothy Hatcher.
- * UserInterface/DOMTreeElement.js:
- (WebInspector.DOMTreeElement.prototype._startEditingTextNode):
- * UserInterface/EditingSupport.js:
- (WebInspector.EditingConfig):
- (.cleanUpAfterEditing):
- 2013-05-30 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/14030289> Goto arrow from Timelines to autoformatted script not highlighting line correctly
- Previously the SourceCodeTextEditor was automatically formatting the
- content after the content was set on the TextEditor and some initial
- processing; such as revealing a pending position. This change lets
- the SourceCodeTextEditor signal to the TextEditor that it should
- automatically format the incoming string before the extra processing
- takes place. Now the pending position is updated in _prettyPrint,
- and revealed appropriately.
- Reviewed by Antoine Quint.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype._contentWillPopulate):
- (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate):
- (WebInspector.SourceCodeTextEditor.prototype._populateWithContent):
- Move the auto formatting decision from didPopulate to willPopulate.
- If autoformatting is needed, we signal the TextEditor before setting
- the string.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.set string.update):
- (WebInspector.TextEditor.prototype.set string):
- (WebInspector.TextEditor.prototype.set autoFormat):
- Keep a boolean for whether or not we should auto format when setting
- the string. When setting the string, format if needed, after clearing
- the history and before any pending position reveals.
- 2013-05-30 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/14030289> Goto arrow from Timelines to autoformatted script not highlighting line correctly
- Rename "revealLine" to "revealPosition". Now, if the first reveal is
- for a position in pretty printed code, it can be remapped to an
- appropriate (line, column), instead of whatever (line, 0) mapped to.
- There is one bug fix here, the _prettyPrint in TextEditor was
- incorrectly doing this._lineNumberToReveal.lineNumber, which should
- have just been this._lineNumberToReveal. However, this code was not
- getting reached in its current form. That will be addressed in the
- next part.
- Reviewed by Antoine Quint.
- * UserInterface/FrameContentView.js:
- (WebInspector.FrameContentView.prototype.showSourceCode):
- * UserInterface/ResourceClusterContentView.js:
- (WebInspector.ResourceClusterContentView.prototype.showResponse):
- (WebInspector.ResourceClusterContentView.prototype._resourceLoadingDidFinish):
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.showSourceCode):
- (WebInspector.ResourceSidebarPanel.prototype.showSourceCodeLocation):
- (WebInspector.ResourceSidebarPanel.prototype.showOriginalUnformattedSourceCodeLocation):
- (WebInspector.ResourceSidebarPanel.prototype.showOriginalOrFormattedSourceCodeLocation):
- (WebInspector.ResourceSidebarPanel.prototype.showSourceCodeTextRange):
- (WebInspector.ResourceSidebarPanel.prototype.showOriginalOrFormattedSourceCodeTextRange):
- * UserInterface/ScriptContentView.js:
- (WebInspector.ScriptContentView.prototype.revealPosition):
- * UserInterface/TextContentView.js:
- (WebInspector.TextContentView.prototype.revealPosition):
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.set string.update):
- (WebInspector.TextEditor.prototype.set string):
- (WebInspector.TextEditor.prototype.revealNextSearchResult):
- (WebInspector.TextEditor.prototype.line):
- (WebInspector.TextEditor.prototype.updateLayout):
- (WebInspector.TextEditor.prototype._textRangeFromCodeMirrorPosition):
- (WebInspector.TextEditor.prototype._codeMirrorPositionFromTextRange):
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView.prototype.revealPosition):
- 2013-05-30 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/14030289> Goto arrow from Timelines to autoformatted script not highlighting line correctly
- Add WebInspector.SourceCodePosition. Rather than passing lineNumber
- and columnNumber as separate parameters all over the place, we can
- pass a position object. Create positions as appropriate from other
- classes like SourceCodeLocation and TextRange.
- Reviewed by Antoine Quint.
- * UserInterface/Main.html:
- * UserInterface/SourceCodeLocation.js:
- (WebInspector.SourceCodeLocation.prototype.position):
- (WebInspector.SourceCodeLocation.prototype.formattedPosition):
- (WebInspector.SourceCodeLocation.prototype.displayPosition):
- * UserInterface/SourceCodePosition.js: Added.
- (WebInspector.SourceCodePosition):
- (WebInspector.SourceCodePosition.prototype.get lineNumber):
- (WebInspector.SourceCodePosition.prototype.get columnNumber):
- * UserInterface/TextRange.js:
- (WebInspector.TextRange.prototype.startPosition):
- (WebInspector.TextRange.prototype.endPosition):
- 2013-05-30 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/14030289> Goto arrow from Timelines to autoformatted script not highlighting line correctly
- Remove a reveal that always happens with line number 0.
- Reviewed by Antoine Quint.
- * UserInterface/Main.js:
- (WebInspector.toggleConsoleView):
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.showMainFrameSourceCode):
- 2013-05-30 Joseph Pecoraro <pecoraro@apple.com>
- Unprefix uses of "-webkit-calc".
- Reviewed by Timothy Hatcher.
- * UserInterface/CSSStyleDeclarationTextEditor.css:
- (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch):
- 2013-05-30 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/14028576> Inspector finds CSS color names in other strings
- Be a little more picky with our CSS regex, and include some post-processing
- to act as a negative lookbehind, which is not supported in JavaScript regexes.
- Do not allow color names that are prefixed or post-fixed with '-' or '.'.
- Tests cases that previously would have produced swatches:
- url(gold.png);
- url("fools-gold.png");
- url(fools.gold.png);
- Using a regex is of course an imperfect solution, but it covers the majority
- of cases and works well. It also allows us to detect colors in comments and
- provide color swatches for those. This allows us to filter out some more
- inappropriate cases.
- Reviewed by Timothy Hatcher.
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor.prototype.):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
- 2013-05-30 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/14023649> No -webkit-filter autocompletion
- Add functions to CSS completion suggestions. When the completion
- suggestion is showing it has both parens, when committed, the cursor is
- placed inside the two parens so users can keep typing.
- This adds a bunch of common function completions.
- Reviewed by Timothy Hatcher.
- * UserInterface/CSSKeywordCompletions.js:
- * UserInterface/CodeMirrorCompletionController.js:
- (WebInspector.CodeMirrorCompletionController.prototype._commitCompletionHint):
- 2013-05-30 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13994485> Hovering element breadcrumbs should highlight element on page
- When hovering DOMTreeElementPathComponents highlight the associated
- node on the page, like when you hover the DOMTreeElement.
- Reviewed by Dean Jackson.
- * UserInterface/HierarchicalPathComponent.js:
- (WebInspector.HierarchicalPathComponent):
- (WebInspector.HierarchicalPathComponent.prototype._selectElementMouseOver):
- (WebInspector.HierarchicalPathComponent.prototype._selectElementMouseOut):
- Provide hooks for subclass mouseOver and mouseOut functions.
- * UserInterface/DOMTreeElementPathComponent.js:
- (WebInspector.DOMTreeElementPathComponent.prototype.get nextSibling):
- (WebInspector.DOMTreeElementPathComponent.prototype.mouseOver):
- (WebInspector.DOMTreeElementPathComponent.prototype.mouseOut):
- Implement the mouseOver and mouseOut to show / hide the DOM highlight.
- 2013-05-30 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/14020206> Debugger popover not showing for "this"
- Allow popover for the keyword "this".
- Reviewed by Antoine Quint.
- * UserInterface/CodeMirrorTokenTrackingController.js:
- (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
- 2013-05-28 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/14007495> Web Inspector has "Instruments," but this is already a feature in Xcode
- Rename the "Instruments" Navigation Sidebar to "Timelines". Marketing
- had concerns about using the same name in multiple places.
- Rubber-stamped by Timothy Hatcher.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel):
- 2013-05-28 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/14006550> Console errors persist when you navigate to other pages
- The console can clear in two ways, handle both events.
- Reviewed by Timothy Hatcher.
- * UserInterface/DashboardManager.js:
- (WebInspector.DashboardManager):
- 2013-05-27 Timothy Hatcher <timothy@apple.com>
- Fix copy handeling for DataGrid.
- When text selection was disabled in r48866, that broke the copy event
- handlers for DataGrid. That change prevents focus from making a caret
- selection inside the DataGrid (it goes outside to the nearest selectable
- text). This broke bubbling of the copy event to the right elements.
- Reviewed by Antoine Quint.
- * UserInterface/DataGrid.js:
- (WebInspector.DataGrid):
- (WebInspector.DataGrid.prototype.handleBeforeCopyEvent):
- (WebInspector.DataGrid.prototype.handleCopyEvent):
- * UserInterface/Main.js:
- (WebInspector._beforecopy):
- (WebInspector._copy):
- 2013-05-27 Timothy Hatcher <timothy@apple.com>
- Allow data grid value column's in details sections wrap to multiple lines.
- <rdar://problem/12329905> Can't easily view long header values
- Reviewed by Antoine Quint.
- * UserInterface/DataGrid.css:
- (.data-grid tr.selected):
- (.data-grid:focus tr.selected):
- * UserInterface/DetailsSection.css:
- (.details-section > .content .data-grid table.data):
- (.details-section > .content .data-grid tr:nth-child(even)):
- (.details-section > .content .data-grid tr:nth-child(odd)):
- (.details-section > .content .data-grid td.value-column):
- (.details-section > .content .data-grid td.value-column > div):
- 2013-05-27 Timothy Hatcher <timothy@apple.com>
- Only add event markers for the main frame.
- The event markers for frame heavy pages are too noisy and not very
- useful. We also didn't distinguish frames in the marker tooltips.
- Reviewed by Antoine Quint.
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
- (WebInspector.TimelineManager.prototype.eventRecorded):
- 2013-05-26 Timothy Hatcher <timothy@apple.com>
- Stop using a CSS drop-shadow filter for the Web Inspector popover.
- Use the existing background canvas to draw the drop shadow instead.
- <rdar://problem/13991902> Stop using CSS filters for Popover
- This also fixes:
- <rdar://problem/13977466> Popover arrow is not perfectly centered with content
- Reviewed by Joseph Pecoraro.
- * UserInterface/Popover.css:
- (.popover):
- (.popover > .container):
- * UserInterface/Popover.js:
- (WebInspector.Popover.prototype._update):
- (WebInspector.Popover.prototype._drawBackground):
- (WebInspector.Popover.prototype._bestMetricsForEdge):
- 2013-05-25 Timothy Hatcher <timothy@apple.com>
- Show the popover after a delay so quickly arrowing down the grid does not flash the popover.
- Also prevent showing the popover if the element is hidden, which was happening sometimes for
- rows at the bottom which were marked as offscreen still. Put MIN_Y before MAX_X so the popover
- is more predictably positioned, and this matches NSPopover. Plus always clear the popover
- TreeOutline after giving the popover time to animate out when hiding.
- Reviewed by Joseph Pecoraro.
- * UserInterface/TimelineDataGrid.js:
- (WebInspector.TimelineDataGrid.prototype._dataGridSelectedNodeChanged):
- (WebInspector.TimelineDataGrid.prototype._showPopoverForSelectedNodeSoon.delayedWork):
- (WebInspector.TimelineDataGrid.prototype._showPopoverForSelectedNodeSoon):
- (WebInspector.TimelineDataGrid.prototype._hidePopover):
- (WebInspector.TimelineDataGrid.prototype._updatePopoverForSelectedNode):
- 2013-05-24 Joseph Pecoraro <pecoraro@apple.com>
- Show a highlight quad on the screen when selecting a Layout/Paint record.
- If we know the Quad / Rect of a Paint / Layout we can highlight that
- portion on the inspected page. Unfortunately this information is not
- very useful after the page scrolls, but it can be useful.
- Reviewed by Timothy Hatcher.
- * UserInterface/Geometry.js:
- (WebInspector.Quad.prototype.toProtocol):
- * UserInterface/LayoutTimelineDataGrid.js:
- (WebInspector.LayoutTimelineDataGrid):
- (WebInspector.LayoutTimelineDataGrid.prototype.reset):
- (WebInspector.LayoutTimelineDataGrid.prototype.callFramePopoverAnchorElement):
- (WebInspector.LayoutTimelineDataGrid.prototype.hidden):
- (WebInspector.LayoutTimelineDataGrid.prototype._layoutDataGridSelectedNodeChanged):
- (WebInspector.LayoutTimelineDataGrid.prototype._hideHighlightIfNeeded):
- * UserInterface/TimelineDataGrid.js:
- (WebInspector.TimelineDataGrid.prototype.shown):
- (WebInspector.TimelineDataGrid.prototype.hidden):
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView.prototype.showTimelineForRecordType):
- (WebInspector.TimelinesContentView.prototype.shown):
- (WebInspector.TimelinesContentView.prototype.hidden):
- 2013-05-24 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/12656683> Show whole JS stack for layout & rendering triggers
- Clear the popover's contents when the content view is reset so
- we don't leak anything held by the CallFrameTreeElements.
- Reviewed by Timothy Hatcher.
- * UserInterface/NetworkDataGrid.js:
- (WebInspector.NetworkDataGrid.prototype.reset):
- * UserInterface/TimelineDataGrid.js:
- (WebInspector.TimelineDataGrid.prototype.reset):
- 2013-05-24 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/12656683> Show whole JS stack for layout & rendering triggers
- Stack trace information is already available from the backend. Display
- it in a popover when the corresponding row in the data grid is selected.
- Users can then click a call frame to jump to that source code location.
- Because both Layout and Script timelines include call traces, this is
- made generic an put in TimelineDataGrid. Subclasses tell the superclass
- which element to anchor the popover next to, but the superclass handles
- showing the popover.
- Reviewed by Timothy Hatcher.
- * UserInterface/CallFrameTreeElement.js:
- (WebInspector.CallFrameTreeElement):
- Allow a CallFrameTreeElement for native code call frames. Such call
- frames don't have a source code location, so they have no subtitle.
- * UserInterface/Images/Native.pdf: Added.
- * UserInterface/CallFrameIcons.css:
- (.native-icon .icon):
- This is a duplicate of the DOMNode.pdf gray [N] icon.
- * UserInterface/Main.html:
- Include new files.
- * UserInterface/NetworkDataGrid.js:
- (WebInspector.NetworkDataGrid):
- * UserInterface/ScriptTimelineDataGrid.js: Added.
- (WebInspector.ScriptTimelineDataGrid):
- (WebInspector.ScriptTimelineDataGrid.prototype.callFramePopoverAnchorElement):
- * UserInterface/LayoutTimelineDataGrid.js: Added.
- (WebInspector.LayoutTimelineDataGrid):
- (WebInspector.LayoutTimelineDataGrid.prototype.callFramePopoverAnchorElement):
- Give each TimelineDataGrid subclass its own class. Implement only
- what is needed. The new subclasses provide the element for the
- superclass to anchor the call frame popover.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView):
- Instantiate the specific DataGrid types.
- * UserInterface/TimelineDataGrid.css: Added.
- * UserInterface/TimelineDataGrid.js:
- (WebInspector.TimelineDataGrid):
- (WebInspector.TimelineDataGrid.prototype.callFramePopoverAnchorElement):
- (WebInspector.TimelineDataGrid.prototype._scopeBarSelectedItemsDidChange):
- (WebInspector.TimelineDataGrid.prototype._dataGridSelectedNodeChanged):
- (WebInspector.TimelineDataGrid.prototype._windowResized):
- (WebInspector.TimelineDataGrid.prototype._hidePopover):
- (WebInspector.TimelineDataGrid.prototype._updatePopoverForSelectedNode):
- Show and manager the popover.
- (WebInspector.TimelineDataGrid.prototype._createPopoverContent):
- (WebInspector.TimelineDataGrid.prototype._popoverCallStackTreeElementSelected):
- Popover content is a TreeOutline containing CallFrameTreeElements.
- When a call frame is selected, reveal the source code location.
- * UserInterface/DataGrid.js:
- (WebInspector.DataGridNode.prototype.elementWithColumnIdentifier):
- Helper for accessing a specific <td> inside a <tr> by column name.
- 2013-05-24 Joseph Pecoraro <pecoraro@apple.com>
- Switch from "X" and "Y" to "Area" in the Layout Timeline
- For transformed paint rects an X, Y, Width and Height, didn't make
- sense, so the backend switched to quads. Instead of showing approximate
- values, like the bounding box, lets just remove unknowns and switch
- to showing the Area instead.
- Reviewed by Timothy Hatcher.
- * UserInterface/LayoutTimelineDataGridNode.js:
- (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent):
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView):
- 2013-05-24 Joseph Pecoraro <pecoraro@apple.com>
- Restore Width and Height values for Layouts and Paints in Timeline
- The backend changed a while back from including rect values, to quad
- values. We should move away from X and Y and instead show Area.
- Reviewed by Timothy Hatcher.
- * UserInterface/Geometry.js:
- (WebInspector.Quad):
- Provide a wrapper object for the protocol Quad representation.
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
- (WebInspector.TimelineManager.prototype.eventRecorded):
- Ingest new and old Layout and Paint timeline record.
- * UserInterface/LayoutTimelineRecord.js:
- (WebInspector.LayoutTimelineRecord):
- (WebInspector.LayoutTimelineRecord.prototype.get area):
- (WebInspector.LayoutTimelineRecord.prototype.get rect):
- (WebInspector.LayoutTimelineRecord.prototype.get quad):
- A record may be wrapping a quad.
- 2013-05-24 Joseph Pecoraro <pecoraro@apple.com>
- Use SourceCodeLocations when displaying Script locations.
- Using SourceCodeLocations allows the locations to show formatted
- and display locations and is therefore more accurate. It also shows
- the tooltip and display strings consistent with the rest of the UI.
- Reviewed by Timothy Hatcher.
- * UserInterface/ScriptTimelineDataGridNode.js:
- (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent):
- * UserInterface/ScriptTimelineRecord.js:
- (WebInspector.ScriptTimelineRecord):
- (WebInspector.ScriptTimelineRecord.prototype.get lineNumber):
- (WebInspector.ScriptTimelineRecord.prototype.get callFrames):
- (WebInspector.ScriptTimelineRecord.prototype.get sourceCodeLocation):
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
- (WebInspector.TimelineManager.prototype.eventRecorded):
- 2013-05-24 Joseph Pecoraro <pecoraro@apple.com>
- Add Script Timeline records for Installing / Removing Timelines
- We had records for TimerFired but not install / remove. It is sometimes
- useful to see the stack traces where timers are added and removed.
- Reviewed by Timothy Hatcher.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/ScriptTimelineRecord.js:
- (WebInspector.ScriptTimelineRecord.EventType.displayName):
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
- (WebInspector.TimelineManager.prototype.eventRecorded):
- 2013-05-24 Joseph Pecoraro <pecoraro@apple.com>
- Remove some unused old style DataGrid events.
- These events are not used anywhere, and we have a new style event.
- Reviewed by Timothy Hatcher.
- * UserInterface/DataGrid.js:
- (WebInspector.DataGridNode.prototype.select):
- (WebInspector.DataGridNode.prototype.deselect):
- 2013-05-23 Joseph Pecoraro <pecoraro@apple.com>
- Turn off spellchecking on some text inputs.
- Reviewed by David Kilzer.
- * UserInterface/Breakpoint.js:
- (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
- * UserInterface/FindBanner.js:
- (WebInspector.FindBanner):
- 2013-05-24 Timothy Hatcher <timothy@apple.com>
- Tag all Web Inspector images with copyright info.
- Added to all images: Copyright © 2013 Apple Inc. All rights reserved.
- Requested by Joyce Chow.
- * UserInterface/Images/ApplicationCache.png:
- * UserInterface/Images/ApplicationCache@2x.png:
- * UserInterface/Images/ApplicationCacheManifest.png:
- * UserInterface/Images/ApplicationCacheManifest@2x.png:
- * UserInterface/Images/BackArrow.pdf:
- * UserInterface/Images/BottomUpTree.pdf:
- * UserInterface/Images/Breakpoint.png:
- * UserInterface/Images/Breakpoint@2x.png:
- * UserInterface/Images/BreakpointButton.pdf:
- * UserInterface/Images/BreakpointInactive.png:
- * UserInterface/Images/BreakpointInactive@2x.png:
- * UserInterface/Images/BreakpointInactiveButton.pdf:
- * UserInterface/Images/ClippingCSS.png:
- * UserInterface/Images/ClippingCSS@2x.png:
- * UserInterface/Images/ClippingGeneric.png:
- * UserInterface/Images/ClippingGeneric@2x.png:
- * UserInterface/Images/ClippingJS.png:
- * UserInterface/Images/ClippingJS@2x.png:
- * UserInterface/Images/Close.pdf:
- * UserInterface/Images/Colors.png:
- * UserInterface/Images/Colors@2x.png:
- * UserInterface/Images/Cookie.png:
- * UserInterface/Images/Cookie@2x.png:
- * UserInterface/Images/Crosshair.pdf:
- * UserInterface/Images/DOMCharacterData.pdf:
- * UserInterface/Images/DOMComment.pdf:
- * UserInterface/Images/DOMDocument.pdf:
- * UserInterface/Images/DOMDocumentType.pdf:
- * UserInterface/Images/DOMElement.pdf:
- * UserInterface/Images/DOMNode.pdf:
- * UserInterface/Images/DOMTextNode.pdf:
- * UserInterface/Images/DOMTree.pdf:
- * UserInterface/Images/Database.png:
- * UserInterface/Images/Database@2x.png:
- * UserInterface/Images/DatabaseTable.png:
- * UserInterface/Images/DatabaseTable@2x.png:
- * UserInterface/Images/DisclosureTriangleSmallClosed.pdf:
- * UserInterface/Images/DisclosureTriangleSmallOpen.pdf:
- * UserInterface/Images/DisclosureTriangleTinyClosed.pdf:
- * UserInterface/Images/DisclosureTriangleTinyOpen.pdf:
- * UserInterface/Images/DockBottom.pdf:
- * UserInterface/Images/DockRight.pdf:
- * UserInterface/Images/DocumentCSS.png:
- * UserInterface/Images/DocumentCSS@2x.png:
- * UserInterface/Images/DocumentFont.png:
- * UserInterface/Images/DocumentFont@2x.png:
- * UserInterface/Images/DocumentGeneric.png:
- * UserInterface/Images/DocumentGeneric@2x.png:
- * UserInterface/Images/DocumentImage.png:
- * UserInterface/Images/DocumentImage@2x.png:
- * UserInterface/Images/DocumentJS.png:
- * UserInterface/Images/DocumentJS@2x.png:
- * UserInterface/Images/DocumentMarkup.png:
- * UserInterface/Images/DocumentMarkup@2x.png:
- * UserInterface/Images/Error.pdf:
- * UserInterface/Images/ErrorSmall.pdf:
- * UserInterface/Images/Errors.svg:
- * UserInterface/Images/ErrorsEnabled.svg:
- * UserInterface/Images/EventListener.pdf:
- * UserInterface/Images/Exception.pdf:
- * UserInterface/Images/FilterFieldGlyph.pdf:
- * UserInterface/Images/FolderGeneric.png:
- * UserInterface/Images/FolderGeneric@2x.png:
- * UserInterface/Images/ForwardArrow.pdf:
- * UserInterface/Images/Function.pdf:
- * UserInterface/Images/GoToArrow.pdf:
- * UserInterface/Images/HierarchicalNavigationItemChevron.pdf:
- * UserInterface/Images/IndeterminateProgressSpinner1.pdf:
- * UserInterface/Images/IndeterminateProgressSpinner10.pdf:
- * UserInterface/Images/IndeterminateProgressSpinner11.pdf:
- * UserInterface/Images/IndeterminateProgressSpinner12.pdf:
- * UserInterface/Images/IndeterminateProgressSpinner2.pdf:
- * UserInterface/Images/IndeterminateProgressSpinner3.pdf:
- * UserInterface/Images/IndeterminateProgressSpinner4.pdf:
- * UserInterface/Images/IndeterminateProgressSpinner5.pdf:
- * UserInterface/Images/IndeterminateProgressSpinner6.pdf:
- * UserInterface/Images/IndeterminateProgressSpinner7.pdf:
- * UserInterface/Images/IndeterminateProgressSpinner8.pdf:
- * UserInterface/Images/IndeterminateProgressSpinner9.pdf:
- * UserInterface/Images/InstructionPointer.png:
- * UserInterface/Images/InstructionPointer@2x.png:
- * UserInterface/Images/Issues.svg:
- * UserInterface/Images/IssuesEnabled.svg:
- * UserInterface/Images/LayerBorders.pdf:
- * UserInterface/Images/LessColumns.pdf:
- * UserInterface/Images/LocalStorage.png:
- * UserInterface/Images/LocalStorage@2x.png:
- * UserInterface/Images/Locked.pdf:
- * UserInterface/Images/Log.png:
- * UserInterface/Images/Log@2x.png:
- * UserInterface/Images/Logs.svg:
- * UserInterface/Images/Memory.svg:
- * UserInterface/Images/MoreColumns.pdf:
- * UserInterface/Images/NavigationItemAngleBrackets.pdf:
- * UserInterface/Images/NavigationItemBrushAndRuler.pdf:
- * UserInterface/Images/NavigationItemBug.pdf:
- * UserInterface/Images/NavigationItemCurleyBraces.pdf:
- * UserInterface/Images/NavigationItemFile.pdf:
- * UserInterface/Images/NavigationItemLayers.pdf:
- * UserInterface/Images/NavigationItemLog.pdf:
- * UserInterface/Images/NavigationItemMagnifyingGlass.pdf:
- * UserInterface/Images/NavigationItemStopwatch.pdf:
- * UserInterface/Images/NavigationItemStorage.pdf:
- * UserInterface/Images/NavigationItemTrash.pdf:
- * UserInterface/Images/NavigationItemVariable.pdf:
- * UserInterface/Images/Network.png:
- * UserInterface/Images/Network@2x.png:
- * UserInterface/Images/NetworkBarBlue.png:
- * UserInterface/Images/NetworkBarBlue@2x.png:
- * UserInterface/Images/NetworkBarGray.png:
- * UserInterface/Images/NetworkBarGray@2x.png:
- * UserInterface/Images/NetworkBarGreen.png:
- * UserInterface/Images/NetworkBarGreen@2x.png:
- * UserInterface/Images/NetworkBarLabelCalloutLeft.pdf:
- * UserInterface/Images/NetworkBarLabelCalloutRight.pdf:
- * UserInterface/Images/NetworkBarLabelCalloutWhiteLeft.pdf:
- * UserInterface/Images/NetworkBarLabelCalloutWhiteRight.pdf:
- * UserInterface/Images/NetworkBarOrange.png:
- * UserInterface/Images/NetworkBarOrange@2x.png:
- * UserInterface/Images/NetworkBarPurple.png:
- * UserInterface/Images/NetworkBarPurple@2x.png:
- * UserInterface/Images/NetworkBarRed.png:
- * UserInterface/Images/NetworkBarRed@2x.png:
- * UserInterface/Images/NetworkBarWhiteFlat.png:
- * UserInterface/Images/NetworkBarWhiteFlat@2x.png:
- * UserInterface/Images/NetworkBarYellow.png:
- * UserInterface/Images/NetworkBarYellow@2x.png:
- * UserInterface/Images/NetworkHollowBarBlue.png:
- * UserInterface/Images/NetworkHollowBarBlue@2x.png:
- * UserInterface/Images/NetworkHollowBarGray.png:
- * UserInterface/Images/NetworkHollowBarGray@2x.png:
- * UserInterface/Images/NetworkHollowBarGreen.png:
- * UserInterface/Images/NetworkHollowBarGreen@2x.png:
- * UserInterface/Images/NetworkHollowBarOrange.png:
- * UserInterface/Images/NetworkHollowBarOrange@2x.png:
- * UserInterface/Images/NetworkHollowBarPurple.png:
- * UserInterface/Images/NetworkHollowBarPurple@2x.png:
- * UserInterface/Images/NetworkHollowBarRed.png:
- * UserInterface/Images/NetworkHollowBarRed@2x.png:
- * UserInterface/Images/NetworkHollowBarYellow.png:
- * UserInterface/Images/NetworkHollowBarYellow@2x.png:
- * UserInterface/Images/Pause.pdf:
- * UserInterface/Images/Percent.pdf:
- * UserInterface/Images/Plus.pdf:
- * UserInterface/Images/Profile.png:
- * UserInterface/Images/Profile@2x.png:
- * UserInterface/Images/PseudoElement.pdf:
- * UserInterface/Images/Recording.png:
- * UserInterface/Images/Recording@2x.png:
- * UserInterface/Images/RecordingHovered.png:
- * UserInterface/Images/RecordingHovered@2x.png:
- * UserInterface/Images/RecordingStopped.png:
- * UserInterface/Images/RecordingStopped@2x.png:
- * UserInterface/Images/Reflection.pdf:
- * UserInterface/Images/Reload.svg:
- * UserInterface/Images/ReloadSelected.svg:
- * UserInterface/Images/Request.pdf:
- * UserInterface/Images/Resources.svg:
- * UserInterface/Images/Response.pdf:
- * UserInterface/Images/ResultLine.pdf:
- * UserInterface/Images/Resume.pdf:
- * UserInterface/Images/Script.png:
- * UserInterface/Images/Script@2x.png:
- * UserInterface/Images/SessionStorage.png:
- * UserInterface/Images/SessionStorage@2x.png:
- * UserInterface/Images/ShadowDOM.pdf:
- * UserInterface/Images/SortIndicatorDownArrow.pdf:
- * UserInterface/Images/SortIndicatorUpArrow.pdf:
- * UserInterface/Images/SourceCode.pdf:
- * UserInterface/Images/SplitToggleDown.pdf:
- * UserInterface/Images/SplitToggleUp.pdf:
- * UserInterface/Images/StepInto.pdf:
- * UserInterface/Images/StepOut.pdf:
- * UserInterface/Images/StepOver.pdf:
- * UserInterface/Images/Stopwatch.png:
- * UserInterface/Images/Stopwatch@2x.png:
- * UserInterface/Images/StyleRuleAuthor.pdf:
- * UserInterface/Images/StyleRuleInherited.pdf:
- * UserInterface/Images/StyleRuleInheritedElement.pdf:
- * UserInterface/Images/StyleRuleInspector.pdf:
- * UserInterface/Images/StyleRuleUser.pdf:
- * UserInterface/Images/StyleRuleUserAgent.pdf:
- * UserInterface/Images/Time.svg:
- * UserInterface/Images/TimelineBarBlue.png:
- * UserInterface/Images/TimelineBarBlue@2x.png:
- * UserInterface/Images/TimelineBarOrange.png:
- * UserInterface/Images/TimelineBarOrange@2x.png:
- * UserInterface/Images/TimelineBarPurple.png:
- * UserInterface/Images/TimelineBarPurple@2x.png:
- * UserInterface/Images/Undock.pdf:
- * UserInterface/Images/UpDownArrows.svg:
- * UserInterface/Images/UserInputPrompt.pdf:
- * UserInterface/Images/UserInputPromptPrevious.pdf:
- * UserInterface/Images/UserInputPromptPreviousSelected.pdf:
- * UserInterface/Images/UserInputResult.pdf:
- * UserInterface/Images/UserInputResultSelected.pdf:
- * UserInterface/Images/Warning.pdf:
- * UserInterface/Images/WarningSmall.pdf:
- * UserInterface/Images/Weight.svg:
- 2013-05-24 Timothy Hatcher <timothy@apple.com>
- Workaround an error with minifying the Web Inspector.
- jsmin.py does not like: return //.test();
- <rdar://problem/13983475> REGRESSION(r51583): Cannot show web inspector in recent spades
- * UserInterface/External/CodeMirror/codemirror.js:
- (window.CodeMirror):
- 2013-05-23 Timothy Hatcher <timothy@apple.com>
- Update CodeMirror from 3.12 to 3.13.
- Include the new comment.js addon and hook it up to Command-/.
- Reviewed by Joseph Pecoraro.
- * Scripts/update-codemirror-resources.rb: Added comment.js.
- * UserInterface/CodeMirrorAdditions.js:
- * UserInterface/External/CodeMirror/clojure.js:
- * UserInterface/External/CodeMirror/codemirror.css:
- * UserInterface/External/CodeMirror/codemirror.js:
- * UserInterface/External/CodeMirror/coffeescript.js:
- * UserInterface/External/CodeMirror/comment.js: Added.
- * UserInterface/External/CodeMirror/css.js:
- * UserInterface/External/CodeMirror/javascript.js:
- * UserInterface/External/CodeMirror/less.js:
- * UserInterface/External/CodeMirror/placeholder.js:
- * UserInterface/External/CodeMirror/runmode.js:
- * UserInterface/External/CodeMirror/sass.js:
- * UserInterface/External/CodeMirror/searchcursor.js:
- * UserInterface/External/CodeMirror/sql.js:
- * UserInterface/External/CodeMirror/xml.js:
- * UserInterface/Main.html: Include comment.js.
- 2013-05-23 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13972577> ER: when deleting break points on a file, don't move up if you can't delete
- Reviewed by Timothy Hatcher.
- * UserInterface/DebuggerSidebarPanel.js:
- (WebInspector.DebuggerSidebarPanel.prototype._breakpointTreeOutlineDeleteTreeElement):
- 2013-05-23 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/7545262> Command-E should put selected text in the search box
- Don't implicitly preventDefault with the keyboard shortcut. This allows the
- default behavior of populating the system find pasteboard.
- Reviewed by Timothy Hatcher.
- * UserInterface/FindBanner.js:
- (WebInspector.FindBanner):
- 2013-05-23 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/7545262> Command-E should put selected text in the search box
- Pass the "changeFocus" parameter through the internal cursor relative reveal functions.
- Reviewed by Timothy Hatcher.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.revealPreviousSearchResult):
- (WebInspector.TextEditor.prototype.revealNextSearchResult):
- (WebInspector.TextEditor.prototype._revealFirstSearchResultBeforeCursor):
- (WebInspector.TextEditor.prototype._revealFirstSearchResultAfterCursor):
- 2013-05-23 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/7545262> Command-E should put selected text in the search box
- Instead of continuing the binary search when we encounter an invalid entry,
- just break out immediately. This way we can revalidate all of the search results
- and accurately search forward or back.
- Reviewed by Timothy Hatcher.
- * UserInterface/CodeMirrorAdditions.js:
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype._binarySearchInsertionIndexInSearchResults):
- (WebInspector.TextEditor.prototype._revealFirstSearchResultBeforeCursor):
- (WebInspector.TextEditor.prototype._revealFirstSearchResultAfterCursor):
- (WebInspector.TextEditor.prototype._cursorDoesNotMatchLastRevealedSearchResult):
- (WebInspector.TextEditor.prototype._revalidateSearchResults):
- 2013-05-23 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/7545262> Command-E should put selected text in the search box
- Clear the automaticallyRevealFirstSearchResult state after revealing a search term.
- Reviewed by Timothy Hatcher.
- * UserInterface/TextEditor.js:
- 2013-05-23 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/7545262> Command-E should put selected text in the search box
- When searching forwards and backwards search relative to the current cursor position.
- If we were already on a particular result we can keep the old path and just move
- forward / back in the result list. Otherwise we binary search the closest position
- to the cursor. Because results can be removed in the search path we have a
- bit of added complexity.
- Reviewed by Timothy Hatcher.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.set automaticallyRevealFirstSearchResult):
- (WebInspector.TextEditor.prototype.addSearchResults.markRanges):
- When automatically revealing, do so relative to the cursor.
- (WebInspector.TextEditor.prototype.revealPreviousSearchResult):
- (WebInspector.TextEditor.prototype.revealNextSearchResult):
- (WebInspector.TextEditor.prototype._cursorDoesNotMatchLastRevealedSearchResult):
- If we don't have a search result index, or if the cursor moved off
- of the last search result index, search relative to the cursor.
- (WebInspector.TextEditor.prototype._comparePositions):
- (WebInspector.TextEditor.prototype._binarySearchInsertionIndexInSearchResults):
- (WebInspector.TextEditor.prototype._revealFirstSearchResultBeforeCursor):
- (WebInspector.TextEditor.prototype._revealFirstSearchResultAfterCursor):
- Binary search search results handling the possibility that a search result
- could be null. I'm not sure if this works perfectly in such cases, but
- it worked fine in practice.
-
- (WebInspector.TextEditor.prototype._revalidateSearchResults):
- When we try to traverse to a search result and it was deleted, revalidate
- all the search results. This can happen if in a CSS file and the user
- deleted some instances of a search result.
- 2013-05-23 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/7545262> Command-E should put selected text in the search box
- Step 1, make Command+E populate the FindBanner's search query, and silently
- perform the search so that Command+G and Shift+Command+G work. Expose a
- new ContentView method "searchQueryWithSelection" to get a search query
- from the selection in that ContentView. This currently only works with
- TextEditor ContentViews.
- Reviewed by Timothy Hatcher.
- * UserInterface/FindBanner.js:
- (WebInspector.FindBanner): Add the keyboard shortcut.
- (WebInspector.FindBanner.prototype._populateSearchQueryFromSelection):
- Ask the delegate (ContentBrowser) for a search query from selection.
- If we get one, silently perform a search.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.searchQueryWithSelection):
- Get the selection from CodeMirror and return that.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView.prototype.searchQueryWithSelection):
- Default implementation returns null, meaning no change.
- * UserInterface/ClusterContentView.js:
- (WebInspector.ClusterContentView.prototype.searchQueryWithSelection):
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser.prototype.findBannerSearchQueryForSelection):
- * UserInterface/ScriptContentView.js:
- (WebInspector.ScriptContentView.prototype.searchQueryWithSelection):
- * UserInterface/TextContentView.js:
- (WebInspector.TextContentView.prototype.searchQueryWithSelection):
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView.prototype.searchQueryWithSelection):
- Plumbing the message down the content views heirarchy.
- 2013-05-23 Joseph Pecoraro <pecoraro@apple.com>
- Remove unnecessary return for setter.
- This was just a copy / paste error from when it was originally written.
- Reviewed by Timothy Hatcher.
- * UserInterface/ClusterContentView.js:
- (WebInspector.ClusterContentView.prototype.set automaticallyRevealFirstSearchResult):
- 2013-05-23 Joseph Pecoraro <pecoraro@apple.com>
- Remove unused instance variable TextEditor._pendingSearchResultLineNumbers
- Reviewed by Timothy Hatcher.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor):
- 2013-05-22 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13961791> Stopping recording clears the timeline
- It actually seems like a non-main frame resource change causes the
- timeline to clear. Only clear on main frame main resource changes.
- Reviewed by Timothy Hatcher.
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager.prototype._mainResourceDidChange):
- 2013-05-22 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/12837326> REGRESSION: Content just displays a spinner when it stops on a breakpoint during load
- When a BreakpointTreeElement is selected and the page is reloaded the
- breakpoint tree elements are removed. When removing the tree element
- the parent, ResourceTreeElement, was selected and the tree outline
- created a content view to show for that resource. This content view
- was being orphaned and replaced when new resources were loaded.
- We never want to create a content view for a Script/ResourceTreeElement
- in the DebuggerSidebarPanel when it has no children. That is a sign
- that the tree element is about to be deleted.
- Reviewed by Timothy Hatcher.
- * UserInterface/DebuggerSidebarPanel.js:
- (WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected):
- 2013-05-22 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/12837326> REGRESSION: Content just displays a spinner when it stops on a breakpoint during load
- Prevent the populate with script content path from requesting content
- multiple times. This is just an optimization to prevent duplicated work.
- This can happen the first time the debugger is paused, by setting the
- active call frame, opening the resource, and then triggering the active
- call frame did change notification.
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange):
- (WebInspector.SourceCodeTextEditor.prototype._populateWithInlineScriptContent.scriptContentAvailable):
- (WebInspector.SourceCodeTextEditor.prototype._populateWithInlineScriptContent):
- (WebInspector.SourceCodeTextEditor.prototype._populateWithScriptContent):
- 2013-05-22 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/12837326> REGRESSION: Content just displays a spinner when it stops on a breakpoint during load
- On iOS 6, when associating a Script with a Resource also update the type
- to be Script, that way the resource will get a TextResourceContentView
- instead of a GeneralResourceContentView and fall into the existing path
- that will fetch Script Source for an editor when it is on a breakpoint
- and cannot load the resource content.
- Also, replace instances of "scriptsForResource" with the new scripts
- accessor on WebInspector.Resource.
- Reviewed by Timothy Hatcher.
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager.prototype.breakpointsForSourceCode):
- * UserInterface/Resource.js:
- (WebInspector.Resource.prototype.associateWithScript):
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype.textEditorUpdatedFormatting):
- 2013-05-22 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/12837326> REGRESSION: Content just displays a spinner when it stops on a breakpoint during load
- Never loading content while on a breakpoint is possible in scripts if
- the backend is paused executing the script before it has sent the
- frontend information that the resource has finished loading. In these
- cases, it is still possible for the frontend to get the "script source"
- instead of the "resource content". These patches do that.
- Start by creating an association between WebInspector.Resource and
- WebInspector.Script. The order of events is always such that the Resource
- is created first:
- - Network.requestWillBeSent => create WebInspector.Resource
- - Debugger.scriptParsed => create WebInspector.Script
- So associate a Script with a Resource, if there is one, when the Script
- is created. Currently we can only create the association with URLs,
- which is not perfect if resources have the same URL but different
- contents. That has never worked perfectly.
- Reviewed by Timothy Hatcher.
- * UserInterface/Script.js:
- (WebInspector.Script):
- (WebInspector.Script.prototype.get resource):
- (WebInspector.Script.prototype.requestContentFromBackend):
- (WebInspector.Script.prototype._resolveResource):
- On creation associate with a Resource via URL.
- * UserInterface/Resource.js:
- (WebInspector.Resource.prototype.get scripts):
- (WebInspector.Resource.prototype.associateWithScript):
- Allow a Script to associate with this resource.
- * UserInterface/FrameResourceManager.js:
- Remove "resourceForScript". Script's now have a resource property.
- * UserInterface/DebuggerSidebarPanel.js:
- (WebInspector.DebuggerSidebarPanel.prototype._scriptAdded):
- * UserInterface/Main.js:
- (WebInspector.linkifyLocation):
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.showSourceCode):
- (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded):
- * UserInterface/ScriptContentView.js:
- (WebInspector.ScriptContentView):
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointToggled):
- * UserInterface/SourceMapManager.js:
- (WebInspector.SourceMapManager.prototype._loadAndParseSucceeded):
- Refactor to the simpler script.resource.
- 2013-05-21 Joseph Pecoraro <pecoraro@apple.com>
- Remove generic event listeners when ClusterContentViews are closed.
- Some event listeners were removed, but not all. This would have
- caused the cluster content views to be leaked.
- Reviewed by Timothy Hatcher.
- * UserInterface/ClusterContentView.js:
- (WebInspector.ClusterContentView.prototype.closed):
- 2013-05-21 Joseph Pecoraro <pecoraro@apple.com>
- Remove the concept of left and right navigation items.
- They are unused. So just remove them.
- Reviewed by Timothy Hatcher.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser):
- (WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems):
- * UserInterface/Sidebar.js:
- (WebInspector.Sidebar):
- 2013-05-22 Timothy Hatcher <timothy@apple.com>
- Fix auto complete property caching.
- <rdar://problem/13961832> Autocomplete of function return value causes side-effects multiple times
- Reviewed by Joseph Pecoraro.
- * UserInterface/JavaScriptLogViewController.js:
- 2013-05-21 Antoine Quint <graouts@apple.com>
- <rdar://problem/13948862> REGRESSION (r150395): Sticky headers are mis-positioned
- Reviewed by Joseph Pecoraro.
- * UserInterface/DetailsSection.css:
- (.details-section > .header):
- (.details-section .details-section > .header):
- Position and layer the headers correctly such that they snap to
- the right position when scrolling.
- * UserInterface/Main.js:
- (WebInspector.updateDockedState):
- (WebInspector._toolbarDisplayModeDidChange):
- (WebInspector._toolbarSizeModeDidChange):
- Remove unnecessary code now that sticky-positioned elements behave
- as expected in Òoverflow: scrollÓ elements.
- 2013-05-21 Antoine Quint <graouts@apple.com>
- <rdar://problem/13941438> Debugger popovers should prefer placement to the bottom/right over left to not cover expression
- Reviewed by Timothy Hatcher.
- Let Popover.present() be provided with a list of preferred edges in order
- of preference and let the source code popovers prefer layout above, below and on
- the right, in this order.
- * UserInterface/Breakpoint.js:
- (WebInspector.Breakpoint.prototype._showEditBreakpointPopover):
- * UserInterface/LayerTreeSidebarPanel.js:
- (WebInspector.LayerTreeSidebarPanel.prototype._updatePopoverForSelectedNode):
- Adopt new Popover.present() parameter type.
- * UserInterface/Popover.js:
- (WebInspector.Popover):
- (WebInspector.Popover.prototype.present):
- Rename ÒpreferredEdgeÓ to ÒpreferredEdgesÓ (plural).
- (WebInspector.Popover.prototype._update):
- Instead of gathering metrics sorted by keys, gather them sorted in the
- order of preference provided by the ÒpreferredEdgesÓ argument.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype._showPopover):
- Adopt new Popover.present() parameter type and provide the desired list
- of preferred edges in order.
- 2013-05-20 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13945892> Console messages not working with iOS 6
- Reviewed by Timothy Hatcher.
- Don't use the enums right now. They were not generated for the iOS 6
- InspectorBackend commands file. In the future we should generate it
- for Legacy systems as well as trunk, and use constants instead of
- magic values in code.
- * UserInterface/ConsoleObserver.js:
- (WebInspector.ConsoleObserver.prototype.messageAdded):
- 2013-05-19 Timothy Hatcher <timothy@apple.com>
- Prevent selection and deselect all messages when clicking disclosure triangles in the console.
- This mostly worked before, but if a selection did happen it wouldn't go away by itself. Now
- it will go away if a disclosure triangle is clicked. Also the initial focus mouse down always
- selected the row, now it does not.
- <rdar://problem/13839762> REGRESSION: When inspecting an object in the console, the entire object becomes highlighted
- Reviewed by Joseph Pecoraro.
- * UserInterface/ConsoleGroup.js:
- (WebInspector.ConsoleGroup.prototype.addMessage):
- (WebInspector.ConsoleGroup.prototype._titleMouseDown): Added.
- (WebInspector.ConsoleGroup.prototype._titleClicked):
- Don't select a group row when the title is clicked.
- * UserInterface/DOMTreeOutline.js:
- (WebInspector.DOMTreeOutline.prototype._onmousedown):
- Prevent default instead of stopping propagation.
- * UserInterface/LogContentView.css:
- (.outline-disclosure li.parent::before):
- Drive by disclosure triangle position tweak.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype._mousedown):
- Check for defaultPrevented and deselect all messages.
- * UserInterface/TreeOutline.js:
- (TreeElement.treeElementMouseDown):
- Prevent default instead of stopping propagation.
- 2013-05-19 Timothy Hatcher <timothy@apple.com>
- Fix the issue where console logs would overlap on reload.
- Rejigger the console elements so the flex element can grow to fit and the parent does the scrolling.
- <rdar://problem/13932826> REGRESSION (r147261): Reloading page causes overlapping console logs (116404)
- Reviewed by Antoine Quint.
- * UserInterface/JavaScriptLogViewController.js:
- (WebInspector.JavaScriptLogViewController):
- (WebInspector.JavaScriptLogViewController.prototype.isScrolledToBottom):
- (WebInspector.JavaScriptLogViewController.prototype.scrollToBottom.delayedWork):
- (WebInspector.JavaScriptLogViewController.prototype.scrollToBottom):
- * UserInterface/LogContentView.css:
- (.content-view.log):
- (.console-messages):
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView):
- (WebInspector.LogContentView.prototype.updateLayout):
- (WebInspector.LogContentView.prototype.get scrollableElements):
- (WebInspector.LogContentView.prototype._ensureMessageIsVisible):
- (WebInspector.LogContentView.prototype._positionForMessage):
- 2013-05-18 Timothy Hatcher <timothy@apple.com>
- Make prefixed keywords syntax highlight correctly.
- CodeMirror parses the vendor prefix separate from the property or keyword name,
- so we need to strip vendor prefixes from our all our names, not just properties.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSCompletions.js:
- (WebInspector.CSSCompletions.requestCSSNameCompletions.nameForCodeMirror):
- (WebInspector.CSSCompletions.requestCSSNameCompletions.collectPropertyNameForCodeMirror):
- 2013-05-18 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13774412> Update CSSKeywordCompletions.js for Curie + iOS
- This is a pretty mechanical update to CSS autocompletion suggestions.
- Also fix suggestions not working for "-webkit-" properties.
- Most of this list was manually generated by looking at specifications
- and walking CSSParser::parseValue, isValidKeywordPropertyAndValue,
- CSSProperty::isInheritedProperty, the related .in files, and a bit
- of sleuthing. It is not meant to be perfect, webkit differs from
- specs slightly and doesn't implement all properties, but it does
- a better job than before.
- Rubber-stamped by Timothy Hatcher.
- * UserInterface/CSSKeywordCompletions.js:
- (WebInspector.CSSKeywordCompletions.forProperty):
- 2013-05-17 Timothy Hatcher <timothy@apple.com>
- Drop -webkit- prefixes from CSS properties that no longer require them.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDeclarationSection.css:
- * UserInterface/CodeMirrorOverrides.css:
- * UserInterface/DOMTreeOutline.css:
- * UserInterface/Editing.css:
- * UserInterface/LogContentView.css:
- * UserInterface/Main.css:
- * UserInterface/NavigationSidebarPanel.css:
- * UserInterface/Section.css:
- * UserInterface/TimelinesContentView.css:
- 2013-05-17 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13919974> 11A368: Instruments tab of RWI is almost empty when loading apple.com on device
- Fix a typo in the constant name. It was using a non-existent constant
- which resulted in a 0ms timeout instead of the intended 15s.
- Reviewed by Timothy Hatcher.
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager.prototype._startAutoRecording):
- 2013-05-16 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13917982> Inconsistency between right-clicking and control-clicking in Debugger gutter
- Ignore "Ctrl + Left Click" in more places:
- * in drag / resize scenarios
- * text editor gutter on a breakpoint
- Reviewed by Timothy Hatcher.
- * UserInterface/DataGrid.js:
- (WebInspector.DataGrid.prototype._startResizerDragging):
- (WebInspector.DataGrid.prototype._resizerDragging):
- (WebInspector.DataGrid.prototype._endResizerDragging):
- * UserInterface/Main.js:
- (WebInspector._dockedResizerMouseDown.dockedResizerDrag):
- (WebInspector._dockedResizerMouseDown.dockedResizerDragEnd):
- (WebInspector._dockedResizerMouseDown):
- (WebInspector._moveWindowMouseDown.toolbarDrag):
- (WebInspector._moveWindowMouseDown.toolbarDragEnd):
- (WebInspector._moveWindowMouseDown):
- * UserInterface/Sidebar.js:
- (WebInspector.Sidebar.prototype._resizerMouseDown):
- (WebInspector.Sidebar.prototype._resizerMouseUp):
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype._gutterMouseDown):
- 2013-05-17 Timothy Hatcher <timothy@apple.com>
- Make clicking completions work again in the Style details sidebar.
- <rdar://problem/13919341> REGRESSION: Mouse clicking a CSS autocompletion suggestion no longer works
- Reviewed by Antoine Quint.
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._editorBlured):
- Clicking a suggestion causes the editor to blur. We don't want to reset content in this case.
- * UserInterface/CodeMirrorCompletionController.js:
- (WebInspector.CodeMirrorCompletionController.prototype.isHandlingClickEvent): Added.
- (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions): Use this.isHandlingClickEvent().
- 2013-05-16 Timothy Hatcher <timothy@apple.com>
- Reset the branches when the main frame navigates.
- This makes sure the SourceCodeRevisions don't stick around between page loads and take up memory.
- Reviewed by Joseph Pecoraro.
- * UserInterface/BranchManager.js:
- (WebInspector.BranchManager):
- (WebInspector.BranchManager.prototype.initialize):
- (WebInspector.BranchManager.prototype.deleteBranch):
- (WebInspector.BranchManager.prototype._mainResourceDidChange):
- 2013-05-16 Timothy Hatcher <timothy@apple.com>
- Some random style tweaks.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDeclarationSection.css:
- (.style-declaration-section > .header): Smaller top margin to align with the icon better.
- * UserInterface/CodeMirrorOverrides.css:
- (.CodeMirror .CodeMirror-gutters): Lighter border color to match Xcode 5.
- 2013-05-16 Timothy Hatcher <timothy@apple.com>
- Fix a case where we would enter an infinite loop, consuming memory and hang.
- <rdar://problem/13911608> REGRESSION (r50998): Massive memory growth and hanging (115811)
- Reviewed by Joseph Pecoraro.
- * UserInterface/Resource.js:
- (WebInspector.Resource.prototype.updateForRedirectResponse):
- (WebInspector.Resource.prototype.updateForResponse):
- (WebInspector.Resource.prototype.increaseSize):
- (WebInspector.Resource.prototype.markAsFinished):
- (WebInspector.Resource.prototype.markAsFailed):
- Timestamps are expected to be NaN instead of null. This wasn't an issue before because
- the timeline code didn't use these timestamps. Now Resource.firstTimestamp uses them,
- which is used by ResourceTimelineRecord.startTime.
- 2013-05-15 Timothy Hatcher <timothy@apple.com>
- Allow Command-K to clear the console anywhere in the Inspector.
- <rdar://problem/13888241> Command-K doesn't clear the Console unless it has focus
- Reviewed by Antoine Quint.
- * UserInterface/JavaScriptLogViewController.js:
- (WebInspector.JavaScriptLogViewController):
- 2013-05-15 Timothy Hatcher <timothy@apple.com>
- Fix the Save As... keyboard shortcut.
- Reviewed by Antoine Quint.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser):
- Don't require the Option key. It is Command-Shift-S.
- 2013-05-15 Timothy Hatcher <timothy@apple.com>
- Make clicking the console icons in the dashboard toggle the scope.
- <rdar://problem/13884713> Improve console filtering via the dashboard buttons
- Reviewed by Antoine Quint.
- * UserInterface/Main.js:
- (WebInspector.showFullHeightConsole):
- If the requested scope is already selected and the console is showing, then switch back to All.
- 2013-05-15 Timothy Hatcher <timothy@apple.com>
- Make the tab key commit the completion of there is only one suggestion.
- <rdar://problem/13897001> REGRESSION (Safari 6): Tab to accept autocomplete with 1 result
- should dismiss completion suggestions popover
- Reviewed by Antoine Quint.
- * UserInterface/CodeMirrorCompletionController.js:
- (WebInspector.CodeMirrorCompletionController.prototype._handleTabKey):
- Commit the current completion if there is only one suggestion.
- 2013-05-14 Timothy Hatcher <timothy@apple.com>
- Always evaluate the console prompt if the cursor is not at the last position.
- <rdar://problem/13854691> New Return key behavior in Web Inspector breaks my typical usage
- Reviewed by Joseph Pecoraro.
- * UserInterface/ConsolePrompt.js:
- (WebInspector.ConsolePrompt.prototype._handleEnterKey):
- * UserInterface/JavaScriptLogViewController.js:
- 2013-05-14 Timothy Hatcher <timothy@apple.com>
- Update Frame.securityOrigin when committing the provisional load.
- Reviewed by Joseph Pecoraro.
- * UserInterface/Frame.js:
- (WebInspector.Frame.prototype.commitProvisionalLoad):
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.frameDidNavigate):
- 2013-05-14 Timothy Hatcher <timothy@apple.com>
- Add DOMStorage when the main resource changes.
- <rdar://problem/13844066> REGRESSION: If the Web Inspector is displayed when you refresh the page, local and session storage is not visible
- Reviewed by Joseph Pecoraro.
- * UserInterface/StorageManager.js:
- (WebInspector.StorageManager.prototype._mainResourceDidChange):
- (WebInspector.StorageManager.prototype._addDOMStorageIfNeeded):
- (WebInspector.StorageManager.prototype._securityOriginDidChange):
- 2013-05-13 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13876379> Pretty printing while paused in the debugger loses the execution line
- When pretty printing we replace the entire contents of the editor. If
- the display location didn't change at all, then when we re-set the
- execution line number, we wouldn't update the style on the line.
- This change makes updating the execution line more of the TextEditor's
- responsibility on a pretty print. Previously it was working in most cases
- but now it should always work as long as the TextEditor has been given
- an accurate execution line and column number. In pretty print we delete
- the execution line handle so we are guaranteed to recreate it.
- Just in case, also update SourceCodeLocation to listen to any location
- changes, not just display location changes.
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype.close):
- (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange):
- (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameSourceCodeLocationChanged):
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor):
- (WebInspector.TextEditor.prototype.get executionColumnNumber):
- (WebInspector.TextEditor.prototype.set executionColumnNumber):
- 2013-05-13 Timothy Hatcher <timothy@apple.com>
- Fix the shortcut for the Layer details sidebar panel.
- Also fix the naming of the toolbar buttons for the Style details sidebar and
- Layer details sidebar so they are plural while the name in the tooltip is still singular.
- <rdar://problem/13871872> Layers details sidebar shortcut should be control-shift-4, not control-shift-5
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/ApplicationCacheDetailsSidebarPanel.js:
- (WebInspector.ApplicationCacheDetailsSidebarPanel):
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel):
- * UserInterface/DOMDetailsSidebarPanel.js:
- (WebInspector.DOMDetailsSidebarPanel):
- * UserInterface/DOMNodeDetailsSidebarPanel.js:
- (WebInspector.DOMNodeDetailsSidebarPanel):
- * UserInterface/DetailsSidebarPanel.js:
- (WebInspector.DetailsSidebarPanel):
- * UserInterface/LayerTreeSidebarPanel.js:
- (WebInspector.LayerTreeSidebarPanel):
- * UserInterface/ResourceDetailsSidebarPanel.js:
- (WebInspector.ResourceDetailsSidebarPanel):
- * UserInterface/ScopeChainDetailsSidebarPanel.js:
- (WebInspector.ScopeChainDetailsSidebarPanel):
- 2013-05-13 Timothy Hatcher <timothy@apple.com>
- Tweak the console completions to work as expected in more cases.
- Also prevent empty prefix completions unless it is the start of property access.
- This was a regression from the fix for <rdar://problem/13860627>.
- <rdar://problem/13871885> Command-line API functions don't autocomplete when passed as parameter
- Reviewed by Joseph Pecoraro.
- * UserInterface/CodeMirrorCompletionController.js:
- (WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition):
- * UserInterface/ConsolePrompt.js:
- (WebInspector.ConsolePrompt.prototype.completionControllerCompletionsNeeded):
- * UserInterface/JavaScriptLogViewController.js:
- 2013-05-12 Timothy Hatcher <timothy@apple.com>
- Update the toolbar height so the save sheet is positioned correctly and window gradient is accurate.
- <rdar://problem/13871067> Save sheet on the Web Inspector does not come out from under the toolbar
- Reviewed by Antoine Quint.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- (WebInspector.updateDockedState):
- (WebInspector._updateToolbarHeight):
- (WebInspector._toolbarDisplayModeDidChange):
- (WebInspector._toolbarSizeModeDidChange):
- 2013-05-13 Joseph Pecoraro <pecoraro@apple.com>
- Improve String.prototype.startsWith to not search the entire string.
- Using the optional second parameter of lastIndexOf we can only search
- for a substring from index 0, and not check the rest of the string.
- I also went through and replaced all uses of str.indexOf(...) === 0 with
- str.startsWith(...), or if a single character str.charAt(0) === "?".
- Reviewed by Timothy Hatcher.
- * UserInterface/CSSCompletions.js:
- (WebInspector.CSSCompletions.prototype.startsWith):
- (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix):
- * UserInterface/CallFrameTreeElement.js:
- (WebInspector.CallFrameTreeElement):
- * UserInterface/CookieStorageContentView.js:
- (WebInspector.cookieMatchesResourceURL):
- * UserInterface/DOMTreeElement.js:
- (WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
- * UserInterface/EditingSupport.js:
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel.prototype._titleForProfile):
- * UserInterface/JavaScriptProfileView.js:
- * UserInterface/Main.js:
- (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
- * UserInterface/Resource.js:
- (WebInspector.Resource.Type.fromMIMEType):
- * UserInterface/Utilities.js:
- 2013-05-13 Joseph Pecoraro <pecoraro@apple.com>
- Make mailto: href links behave correctly.
- Test: data:text/html,<a href="mailto:pecoraro@apple.com?subject=email">Email Joe</a>
- Reviewed by Timothy Hatcher.
- * UserInterface/Utilities.js:
- 2013-05-13 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13572739> REGRESSION: Styles sidebar url(...) should have a way to jump to the resource
- TextEditor / SourceCodeTextEditor (most resources) already had behavior where
- clicking a "link" would attempt to open it in the Inspector, and fallback to
- opening a new browser tab for the URL. This hardens that behavior in the
- "jump to symbol" case, and makes it work in the CSS Sidebar with Command+Click.
- To encourage editing in the style sidebar, style url(...)s as strings,
- which is how they displayed before these patches.
- Reviewed by Timothy Hatcher.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype._openClickedLinks):
- Cleanup the code a bit.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):
- Don't jump to symbol when clicking a link. Fallback to TextEditor's link opening behavior.
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor.prototype):
- Handle jump to symbol when clicking a link to behave link TextEditor's link opening behavior.
- * UserInterface/CSSStyleDeclarationTextEditor.css:
- (.css-style-text-editor > .CodeMirror .cm-link):
- In the Style sidebar editors display links as strings by default.
- 2013-05-13 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13572739> REGRESSION: Styles sidebar url(...) should have a way to jump to the resource
- Add extendedCSSToken, modeled after extendedXMLToken to parse url(...)
- links and give them a "link" style class.
- Normally CodeMirror parses "url", "(", <optionally quoted string>, ")".
- We hook into this case and manually parse the optionally quoted string
- ourselves so that we can handle quotes and whitespace exactly how we
- want to.
- Reviewed by Timothy Hatcher.
- * UserInterface/CodeMirrorAdditions.js:
- 2013-05-15 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13865123> REGRESSION: Incorrect link tokenization of unquoted src/href links - <img src=...>
- Handle unquoted attributes when we take over tokenization of link attribute values.
- Reviewed by Timothy Hatcher.
- * UserInterface/CodeMirrorAdditions.js:
- 2013-05-11 Timothy Hatcher <timothy@apple.com>
- Make the tab behavior consistent among all CodeMirror editors.
- Making this a setting is tracked by <rdar://problem/10593948>.
- Reviewed by Darin Adler.
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor):
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor):
- 2013-05-11 Timothy Hatcher <timothy@apple.com>
- Allow editing any local file since edits can be saved and reloaded right from the Inspector.
- Reviewed by Dean Jackson.
- * UserInterface/ScriptContentView.js:
- (WebInspector.ScriptContentView.prototype._contentWillPopulate):
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView.prototype._contentWillPopulate):
- 2013-05-11 Timothy Hatcher <timothy@apple.com>
- Support saving text resources and the console log to a local file.
- <rdar://problem/5827275> PARITY (Chrome Developer Tools): Add an option to save a resource locally
- Reviewed by Dean Jackson.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/ClusterContentView.js:
- (WebInspector.ClusterContentView.prototype.get supportsSave):
- (WebInspector.ClusterContentView.prototype.get saveData):
- * UserInterface/ConsoleMessageImpl.js:
- (WebInspector.ConsoleMessageImpl.prototype.toClipboardString): Always include the level. It was omitted
- when we didn't have text range selection to make it easier to copy and paste. But we also include the
- file and line info, so it was already has more info than just the message.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser):
- (WebInspector.ContentBrowser.prototype._saveDataToFile):
- (WebInspector.ContentBrowser.prototype._save):
- (WebInspector.ContentBrowser.prototype._saveAs):
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype.get supportsSave):
- (WebInspector.LogContentView.prototype.get saveData):
- (WebInspector.LogContentView.prototype.handleCopyEvent):
- (WebInspector.LogContentView.prototype._formatMessagesAsData.var):
- (WebInspector.LogContentView.prototype._formatMessagesAsData):
- * UserInterface/ScriptContentView.js:
- (WebInspector.ScriptContentView.prototype.get supportsSave):
- (WebInspector.ScriptContentView.prototype.get saveData):
- * UserInterface/TextContentView.js:
- (WebInspector.TextContentView.prototype.get supportsSave):
- (WebInspector.TextContentView.prototype.get saveData):
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView.prototype.get supportsSave):
- (WebInspector.TextResourceContentView.prototype.get saveData):
- 2013-05-11 Timothy Hatcher <timothy@apple.com>
- Fix an exception I saw while navigating between pages.
- I only reproduced this once, but the fix is a simple null check.
- I'm assuming close was called a second time.
- Reviewed by Anders Carlsson.
- * UserInterface/DOMTreeOutline.js:
- (WebInspector.DOMTreeOutline.prototype.close):
- 2013-05-10 Timothy Hatcher <timothy@apple.com>
- Tweak layer borders icon.
- <rdar://problem/13717886> Two layers buttons with different meanings
- * UserInterface/Images/LayerBorders.pdf:
- 2013-05-10 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13769698> Should be a way to jump between SourceMap resource and Original resource
- Add a "jump to symbol" mode when the command key is down for the CSS
- style sidebar to jump to the display CSS Resource.
- Reviewed by Timothy Hatcher.
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype.set style):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateJumpToSymbolTrackingMode):
- Listen for GlobalModifierKeysDidChange events when the style for the
- editor has an owner rule and that owner rule has a source code location.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):
- Jump to the display resource when clicking the highlighted range.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
- Immediately highlight hovered ranges for jump to symbol mode.
- 2013-05-10 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13769698> Should be a way to jump between SourceMap resource and Original resource
- Add a "jump to symbol" mode when the command key is down, to quickly
- jump between a SourceMapResource and the original resources for the
- hovered token. This mode takes precedence over debugger popovers if
- enabled (because the command key is pressed).
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor):
- (WebInspector.SourceCodeTextEditor.prototype.hidden):
- (WebInspector.SourceCodeTextEditor.prototype.close):
- (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate):
- (WebInspector.SourceCodeTextEditor.prototype._shouldTrackTokenHovering):
- Listen for GlobalModifierKeysDidChange events when this file has a source map
- (either it is a SourceMapResource or it is a SourceCode with sourceMap resources).
- (WebInspector.SourceCodeTextEditor.prototype._startTrackingTokenHoveringIfNeeded):
- (WebInspector.SourceCodeTextEditor.prototype._stopTrackingTokenHoveringIfNeeded):
- (WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
- (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
- (WebInspector.SourceCodeTextEditor.prototype._sourceCodeSourceMapAdded):
- In SourceCodeTextEditors there are 2 possible reasons we may have hover tracking,
- when on a breakpoint for JavaScript or in Jump To Symbol tracking mode.
- (WebInspector.SourceCodeTextEditor.prototype._updateJumpToSymbolTrackingMode):
- (WebInspector.SourceCodeTextEditor.prototype._enableJumpToSymbolTrackingModeSettings):
- (WebInspector.SourceCodeTextEditor.prototype._disableJumpToSymbolTrackingModeSettings):
- Switch between and different tracking modes with different settings.
- (WebInspector.SourceCodeTextEditor.prototype._sourceCodeLocationForEditorPosition):
- (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):
- When in jump to symbol mode, determine the sourceCodeLocation relating to the
- token that was clicked and jump between resources.
-
- (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
- When in jump to symbol mode, that takes precedence. Highlight just the hovered token.
- 2013-05-10 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13769698> Should be a way to jump between SourceMap resource and Original resource
- Move token tracking out of TextEditor into its own class with settings,
- CodeMirrorTokenTrackingController. You can now set the token mode on
- the controller to get different types of candidate hovered token results
- back to the delegate (TextEditor subclass).
- The CodeMirrorTokenTrackingController can start/stop tracking, highlight
- a given text range, set delays for mousing over and out of tokens before
- actions are taken, and provide different candidates depending the chosen
- mode. The current modes are:
-
- NonSymbolTokens - returns a candidate for just the hovered token.
- JavaScriptExpression - returns a candidate for the hovered token with
- extra information about the JavaScript expression ending at that token.
- When tracking is enabled, the delegate may be notified of changes:
- tokenTrackingControllerCanReleaseHighlightedRange - should remove the highlight
- tokenTrackingControllerHighlightedRangeReleased - the highlight was removed
- tokenTrackingControllerHighlightedRangeWasClicked - the highlight was clicked
- tokenTrackingControllerNewHighlightCandidate - new hovered highlight candidate
- A plus side of this is that TextEditor now no longer knows about
- "JavaScript". It shouldn't need to know about a certain mode of
- content that it contains.
- Reviewed by Timothy Hatcher.
- * UserInterface/Main.html:
- * UserInterface/CodeMirrorTokenTrackingController.css: Added.
- (.CodeMirror .jump-to-symbol-highlight): Shared style for any type of editor.
- * UserInterface/CodeMirrorTokenTrackingController.js: Added.
- (WebInspector.CodeMirrorTokenTrackingController):
- (WebInspector.CodeMirrorTokenTrackingController.prototype.get delegate):
- (WebInspector.CodeMirrorTokenTrackingController.prototype.set delegate):
- (WebInspector.CodeMirrorTokenTrackingController.prototype.get mode):
- (WebInspector.CodeMirrorTokenTrackingController.prototype.set mode):
- (WebInspector.CodeMirrorTokenTrackingController.prototype.get mouseOverDelayDuration):
- (WebInspector.CodeMirrorTokenTrackingController.prototype.set mouseOverDelayDuration):
- (WebInspector.CodeMirrorTokenTrackingController.prototype.get mouseOutReleaseDelayDuration):
- (WebInspector.CodeMirrorTokenTrackingController.prototype.set mouseOutReleaseDelayDuration):
- (WebInspector.CodeMirrorTokenTrackingController.prototype.get classNameForHighlightedRange):
- (WebInspector.CodeMirrorTokenTrackingController.prototype.set classNameForHighlightedRange):
- Different settings of the controller.
- (WebInspector.CodeMirrorTokenTrackingController.prototype.get tracking):
- (WebInspector.CodeMirrorTokenTrackingController.prototype.get candidate):
- Accessors for current state, but cannot be modified.
- (WebInspector.CodeMirrorTokenTrackingController.prototype.startTracking):
- (WebInspector.CodeMirrorTokenTrackingController.prototype.stopTracking):
- (WebInspector.CodeMirrorTokenTrackingController.prototype.highlightRange):
- (WebInspector.CodeMirrorTokenTrackingController.prototype.removeHighlightedRange):
- API to make use of the tracker to start/stop/highlight.
- (WebInspector.CodeMirrorTokenTrackingController.prototype.boundsForRange):
- Helper for getting the bounds of a given codemirror text range.
- (WebInspector.CodeMirrorTokenTrackingController.prototype.handleEvent):
- (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedWithMarkedText):
- (WebInspector.CodeMirrorTokenTrackingController.prototype._markedTextIsNoLongerHovered):
- (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedOverEditor):
- (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedOutOfEditor):
- (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseButtonWasPressedOverEditor):
- (WebInspector.CodeMirrorTokenTrackingController.prototype._mouseButtonWasReleasedOverEditor):
- (WebInspector.CodeMirrorTokenTrackingController.prototype._windowLostFocus):
- Events handled while tracking. Very few changes.
- (WebInspector.CodeMirrorTokenTrackingController.prototype._processNewHoveredToken):
- (WebInspector.CodeMirrorTokenTrackingController.prototype._processNonSymbolToken):
- (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
- When a token is hovered, create a candidate depending on the controller's mode.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor):
- (WebInspector.TextEditor.prototype.get tokenTrackingController):
- Create and expose the tokenTrackingController.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor):
- (WebInspector.SourceCodeTextEditor.prototype._breakpointRemoved):
- (WebInspector.SourceCodeTextEditor.prototype.textEditorUpdatedFormatting):
- (WebInspector.SourceCodeTextEditor.prototype._shouldTrackTokenHovering):
- (WebInspector.SourceCodeTextEditor.prototype._startTrackingTokenHoveringIfNeeded):
- (WebInspector.SourceCodeTextEditor.prototype._stopTrackingTokenHoveringIfNeeded):
- (WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
- (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
- (WebInspector.SourceCodeTextEditor.prototype._updateJumpToSymbolTrackingMode):
- (WebInspector.SourceCodeTextEditor.prototype._enableJumpToSymbolTrackingModeSettings):
- (WebInspector.SourceCodeTextEditor.prototype._disableJumpToSymbolTrackingModeSettings):
- (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerCanReleaseHighlightedRange):
- (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):
- (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction.didGetDetails):
- (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction):
- (WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject):
- Switch to the tracking controller instead of TextEditor methods and properties.
- * UserInterface/TextEditor.css:
- (.text-editor > .CodeMirror .hovered-expression-highlight):
- (@-webkit-keyframes text-editor-hovered-expression-highlight-fadeout):
- Renamed the class name for expressions to have "expression" in the name.
- 2013-05-10 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13769698> Should be a way to jump between SourceMap resource and Original resource
- Introduce WebInspector.modifierKeys to know which modifier keys are
- active at any time (command, option, shift). Trigger events on changes
- through WebInspector.notifications.
- Reviewed by Timothy Hatcher.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- (WebInspector._updateModifierKeys):
- (WebInspector._windowKeyDown):
- (WebInspector._windowKeyUp):
- * UserInterface/Object.js:
- 2013-05-10 Joseph Pecoraro <pecoraro@apple.com>
- Do a little renaming on ResourceSidebarPanel show methods for text
- ranges. This better matches the showSourceCodeLocation method names.
- Reviewed by Timothy Hatcher.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.showSourceCodeTextRange):
- (WebInspector.ResourceSidebarPanel.prototype.showOriginalOrFormattedSourceCodeTextRange):
- (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
- 2013-05-10 Timothy Hatcher <timothy@apple.com>
- Make the console prompt suggest completions after typing "." or "[".
- <rdar://problem/13860627> REGRESSION: Console autocompletion does not suggest anything until first character is typed
- Reviewed by Joseph Pecoraro.
- * UserInterface/CodeMirrorCompletionController.js:
- (WebInspector.CodeMirrorCompletionController.prototype.updateCompletions):
- (WebInspector.CodeMirrorCompletionController.prototype.hideCompletions):
- (WebInspector.CodeMirrorCompletionController.prototype._scanStringForExpression):
- (WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition):
- 2013-05-09 Timothy Hatcher <timothy@apple.com>
- Tell WebInspector.Resource about its type when it is created instead of changing it later.
-
- This depends on: https://webkit.org/b/74935
- <rdar://problem/13726105> Timeline network filters don't update as resources change type (74935)
- Reviewed by David Kilzer.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.frameDidNavigate):
- (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent):
- (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache):
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse):
- (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame):
- * UserInterface/InspectorBackendCommands.js:
- * UserInterface/NetworkObserver.js:
- (WebInspector.NetworkObserver.prototype.requestWillBeSent):
- 2013-05-09 Timothy Hatcher <timothy@apple.com>
- Use a different image for the layer border toggle button.
- <rdar://problem/13717886> Two layers buttons with different meanings
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView):
- * UserInterface/Images/LayerBorders.pdf: Added.
- 2013-05-08 Timothy Hatcher <timothy@apple.com>
- Fix the heirarchical path components for unrevealed source map resources.
- <rdar://problem/13681487> Missing heirarchical path components selecting breakpoints in source map resources in Debugger sidebar
- Reviewed by Joseph Pecoraro.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject):
- (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject.getParent):
- Special case WebInspector.SourceMapResource.
- * UserInterface/SourceCodeTreeElement.js:
- (WebInspector.SourceCodeTreeElement.prototype._updateSourceCode):
- Revert r50608.
- 2013-05-07 Timothy Hatcher <timothy@apple.com>
- Fix the background color for the Timeline navigation bar.
- The container is taller than the navigation bar, and it used for mouse over slop.
- So the background color needs to be on the navigation bar.
- Reviewed by Joseph Pecoraro.
- * UserInterface/TimelinesContentView.css:
- (.content-view.timelines > .data-grid > .navigation-bar-container):
- (.content-view.timelines > .data-grid > .navigation-bar-container > .navigation-bar):
- 2013-05-07 Timothy Hatcher <timothy@apple.com>
- Compare async resource types by their first timestamp so they are in chronological order.
- <rdar://problem/13827118> Web Inspector: cannot see order of xhrs in resource inspector (115728)
- Reviewed by Joseph Pecoraro.
- * UserInterface/ResourceTreeElement.js:
- (WebInspector.ResourceTreeElement.compareResourceTreeElements):
- 2013-05-07 Timothy Hatcher <timothy@apple.com>
- Fix and simplify the layout path for Toolbar.
- <rdar://problem/13828232> REGRESSION: Toolbar overflows when using Icons and Text (Horizontal) mode
- Reviewed by Joseph Pecoraro.
- * UserInterface/Toolbar.css:
- (.toolbar .control-section):
- * UserInterface/Toolbar.js:
- (WebInspector.Toolbar.prototype.customUpdateLayout.isOverflowingToolbar):
- (WebInspector.Toolbar.prototype.customUpdateLayout):
- 2013-05-07 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13821139> After deleting a node when remote inspecting, Web Inspector is broken
- When using the remote inspector, there is enough of a delay between
- messages that the didRemoveNode handler triggers the DOMTreeUpdater to
- refresh the portion of the tree before this removeNodeCallback happens.
- Since removeNodeCallback is asynchronous anyways, we should bail if
- the tree element was already removed from the tree (has no parent).
- Reviewed by Timothy Hatcher.
- * UserInterface/DOMTreeElement.js:
- (WebInspector.DOMTreeElement.prototype.remove.removeNodeCallback):
- (WebInspector.DOMTreeElement.prototype.remove):
- 2013-05-07 Joseph Pecoraro <pecoraro@apple.com>
- Fix member name typo.
- This was the only occurrence of _selectDOMNode. This looks
- like it was just a typo of _selectedDOMNode.
- Reviewed by Darin Adler.
- * UserInterface/DOMTreeOutline.js:
- (WebInspector.DOMTreeOutline):
- 2013-05-07 Timothy Hatcher <timothy@apple.com>
- Use a brighter blue for selected labels in the label-only toolbar mode.
- This better matches the blue used in the selected toolbar icons.
- Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language
- Reviewed by Antoine Quint.
- * UserInterface/ButtonToolbarItem.css:
- (.toolbar.label-only .item.activate.button.activated > .label):
- 2013-05-07 Timothy Hatcher <timothy@apple.com>
- Only allow the LCD to be a single line, giving less difference between toolbar modes and sizes.
- This better distributes the space in the LCD and makes it collapse down to 3 items when
- there isn't enough room for all 6 items.
- Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language
- Reviewed by Antoine Quint.
- * UserInterface/DashboardView.css:
- (.toolbar .dashboard):
- (body.nightly-build .toolbar .dashboard):
- (body.nightly-build .toolbar.collapsed .dashboard):
- (body:not(.nightly-build) .toolbar.collapsed .dashboard):
- (body:not(.nightly-build) .toolbar.collapsed .dashboard > .logs):
- (.toolbar .dashboard > .item):
- (.toolbar .dashboard > .resourcesSize):
- (.toolbar .dashboard > .item > div):
- (.toolbar.normal-size.icon-and-label-vertical .dashboard):
- (.toolbar.normal-size.icon-and-label-horizontal .dashboard > .item):
- * UserInterface/DashboardView.js:
- (WebInspector.DashboardView):
- 2013-05-06 Timothy Hatcher <timothy@apple.com>
- Update the LCD background to match Xcode 5.
- This change is conditional to non-nightlies.
- Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language
- Reviewed by Joseph Pecoraro.
- * UserInterface/DashboardView.css:
- (.toolbar .dashboard):
- (body:not(.nightly-build) .toolbar .dashboard):
- (body.window-inactive:not(.nightly-build) .toolbar .dashboard):
- (body.nightly-build .toolbar .dashboard):
- (.toolbar .dashboard > .item):
- (.toolbar.small-size.icon-and-label-horizontal .dashboard):
- (body.nightly-build .toolbar.small-size.icon-and-label-horizontal .dashboard):
- (.toolbar.small-size.icon-and-label-horizontal .dashboard > .item):
- (body.nightly-build .toolbar.small-size.icon-and-label-horizontal .dashboard > .item):
- (.toolbar.normal-size.icon-and-label-horizontal .dashboard):
- (body.nightly-build .toolbar.normal-size.icon-and-label-horizontal .dashboard):
- (.toolbar.small-size.icon-and-label-vertical .dashboard):
- (body.nightly-build .toolbar.small-size.icon-and-label-vertical .dashboard):
- (.toolbar.normal-size.icon-and-label-vertical .dashboard):
- (body.nightly-build .toolbar.normal-size.icon-and-label-vertical .dashboard):
- (.toolbar.icon-and-label-vertical .dashboard > .item):
- (body.nightly-build .toolbar.icon-and-label-vertical .dashboard > .item):
- 2013-05-06 Timothy Hatcher <timothy@apple.com>
- Update the filter field placeholder in the Resources sidebar when showing search results.
- Reviewed by Antoine Quint.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/ResourceSidebarPanel.js:
- 2013-05-06 Timothy Hatcher <timothy@apple.com>
- Always have the HierarchicalPathComponent take space so it gives the last item some padding.
- Reviewed by Antoine Quint.
- * UserInterface/HierarchicalPathComponent.css:
- (.hierarchical-path:not(.always-show-last-path-component-separator) > .hierarchical-path-component:last-child > .separator):
- Use visibility: hidden instead of display: none.
- 2013-05-06 Timothy Hatcher <timothy@apple.com>
- Make ScopeBarItem and RadioButtonNavigationItem have a min-width so when they are selected the bold
- weight does not cause the item to change its width.
- This adds some updateLayout calls to places that needed it now or were missing it already.
- This change is not conditional to non-nightlies. It does no harm to always do this.
- Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language
- Reviewed by Antoine Quint.
- * UserInterface/ButtonNavigationItem.js:
- (WebInspector.ButtonNavigationItem.prototype.set label):
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange):
- * UserInterface/Main.js:
- (WebInspector._contentBrowserSizeDidChange):
- * UserInterface/RadioButtonNavigationItem.js:
- (WebInspector.RadioButtonNavigationItem.prototype.get selected):
- (WebInspector.RadioButtonNavigationItem.prototype.set selected):
- (WebInspector.RadioButtonNavigationItem.prototype.get active):
- (WebInspector.RadioButtonNavigationItem.prototype.set active):
- (WebInspector.RadioButtonNavigationItem.prototype.updateLayout):
- * UserInterface/ScopeBar.js:
- (WebInspector.ScopeBar.prototype.updateLayout):
- (WebInspector.ScopeBar.prototype._populate):
- * UserInterface/TimelineDataGrid.js:
- (WebInspector.TimelineDataGrid):
- (WebInspector.TimelineDataGrid.prototype.updateLayout):
- 2013-05-06 Timothy Hatcher <timothy@apple.com>
- Show overflow shadow pockets in the navigation sidebar when content can scroll.
- This change is conditional to non-nightlies.
- Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language
- Reviewed by Antoine Quint.
- * UserInterface/NavigationSidebarPanel.css:
- (.sidebar > .panel.navigation > .overflow-shadow):
- (body.nightly-build .sidebar > .panel.navigation > .overflow-shadow):
- (.sidebar > .panel.navigation > .overflow-shadow.top):
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel):
- (WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline):
- (WebInspector.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder):
- (WebInspector.NavigationSidebarPanel.prototype.hideEmptyContentPlaceholder):
- (WebInspector.NavigationSidebarPanel.prototype.shown):
- (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
- (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
- (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
- (WebInspector.NavigationSidebarPanel.prototype._treeElementExpandedOrCollapsed):
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel):
- * UserInterface/TreeOutline.js:
- (TreeElement.prototype.collapse):
- (TreeElement.prototype.expand):
- 2013-05-06 Timothy Hatcher <timothy@apple.com>
- Update focus and active focus generated images to match the blues used by Xcode 5.
- This change is not conditional to non-nightlies. It shouldn't be too revealing.
- Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language
- Reviewed by Antoine Quint.
- * UserInterface/ImageUtilities.js:
- (.generateImage):
- 2013-05-06 Timothy Hatcher <timothy@apple.com>
- Update styles to match the majority of Xcode 5's design changes.
- The style changes are conditional so they wont apply when running a WebKit nightly.
- After WWDC we can remove the condition and the extra style rules this adds.
- Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language
- Rubber-stamped by Antoine Quint.
- * UserInterface/ButtonNavigationItem.css:
- (.navigation-bar .item.button.text-only):
- (body.nightly .navigation-bar .item.button:not(.disabled):not(.radio):not(.suppress-bezel):active):
- * UserInterface/CodeMirrorOverrides.css:
- (.CodeMirror .CodeMirror-gutters):
- (.body.nightly-build .CodeMirror .CodeMirror-gutters):
- (.CodeMirror .CodeMirror-linenumber):
- * UserInterface/DetailsSection.css:
- (.details-section > .header):
- (.details-section .details-section > .header):
- (body.nightly-build .details-section > .header):
- (body.nightly-build .details-section .details-section > .header):
- * UserInterface/DividerNavigationItem.css:
- (.navigation-bar .item.divider):
- (body.nightly .navigation-bar .item.divider):
- * UserInterface/FilterBar.css:
- (.filter-bar):
- (body.nightly-build .filter-bar):
- (body:not(.nightly-build) .filter-bar > input[type="search"]):
- (body:not(.nightly-build) .filter-bar > input[type="search"]::-webkit-input-placeholder):
- (body:not(.nightly-build) .filter-bar > input[type="search"]:valid):
- * UserInterface/FilterBar.js:
- (WebInspector.FilterBar):
- * UserInterface/FindBanner.css:
- (body.nightly-build .find-banner):
- (body:not(.nightly) .find-banner > input[type="search"]):
- (body:not(.nightly) .find-banner > button):
- (.find-banner > button > .glyph):
- (body.nightly .find-banner > button > .glyph):
- * UserInterface/HierarchicalPathComponent.css:
- (body.nightly .hierarchical-path-component > .separator):
- (.hierarchical-path-component.text-only > select):
- * UserInterface/InstrumentSidebarPanel.css:
- (.sidebar > .panel.instrument > .title-bar):
- (body.nightly-build .sidebar > .panel.instrument > .title-bar):
- (.sidebar > .panel.instrument > .title-bar.profiles):
- (body.nightly-build .sidebar > .panel.instrument > .title-bar.profiles):
- * UserInterface/LayerTreeSidebarPanel.css:
- (.layer-tree.panel .bottom-bar):
- (body.nightly-build .layer-tree.panel .bottom-bar):
- * UserInterface/Main.css:
- (#split-content-browser > .navigation-bar):
- (body.nightly-build #split-content-browser > .navigation-bar):
- * UserInterface/NavigationBar.css:
- (.navigation-bar):
- (body.nightly-build .navigation-bar):
- (body.nightly-build.window-inactive .navigation-bar):
- * UserInterface/NavigationSidebarPanel.css:
- (.sidebar > .panel.navigation > .content):
- (body.nightly-build .sidebar > .panel.navigation > .content):
- (.sidebar > .panel.navigation > .overflow-shadow):
- (.sidebar > .panel.navigation > .overflow-shadow.top):
- * UserInterface/RadioButtonNavigationItem.css:
- (.navigation-bar .item.radio.button.text-only.selected):
- (body:not(.nightly) .navigation-bar .item.radio.button.text-only.selected):
- (body.nightly .navigation-bar .item.radio.button.selected):
- * UserInterface/ResourceSidebarPanel.css:
- (.sidebar > .panel.resource > .empty-content-placeholder):
- (body.nightly-build .sidebar > .panel.resource > .empty-content-placeholder):
- (.sidebar > .panel.resource > .search-bar):
- (body.nightly-build .sidebar > .panel.resource > .search-bar):
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel):
- * UserInterface/ScopeBar.css:
- (.scope-bar > li):
- (body:not(.nightly-build) .scope-bar > li):
- (body:not(.nightly-build) .scope-bar > li:active):
- (body:not(.nightly-build) .scope-bar > li.selected):
- (body.nightly-build .scope-bar > li):
- (body.nightly-build .scope-bar > li:active):
- (.scope-bar > li:hover):
- (.scope-bar > li.selected):
- (.scope-bar > li:active):
- (body.nightly-build .scope-bar > li.selected):
- * UserInterface/SearchBar.css:
- (.search-bar > input[type="search"]):
- (body:not(.nightly-build) .search-bar > input[type="search"]):
- (body:not(.nightly-build) .search-bar > input[type="search"]::-webkit-input-placeholder):
- (body:not(.nightly-build) .search-bar > input[type="search"]:valid):
- * UserInterface/SearchBar.js:
- (WebInspector.SearchBar):
- * UserInterface/TimelinesContentView.css:
- (.content-view.timelines > .data-grid):
- (body.nightly-build .content-view.timelines > .data-grid):
- (.content-view.timelines > .data-grid th):
- (body.nightly-build .content-view.timelines > .data-grid th):
- (.content-view.timelines > .data-grid th:not(:last-child)):
- (body.nightly-build .content-view.timelines > .data-grid th:not(:last-child)):
- (.content-view.timelines > .data-grid th.sortable:not(.mouse-over-collapser):active):
- (body.nightly-build .content-view.timelines > .data-grid th.sortable:not(.mouse-over-collapser):active):
- (.content-view.timelines > .data-grid th.sort-descending):
- (body.nightly-build .content-view.timelines > .data-grid th.sort-descending):
- (.content-view.timelines > .data-grid > .navigation-bar-container):
- (.content-view.timelines > .data-grid > .navigation-bar-container > .navigation-bar):
- (body.nightly-build .content-view.timelines > .data-grid > .navigation-bar-container > .navigation-bar):
- 2013-05-06 Timothy Hatcher <timothy@apple.com>
- Add a nightly-build class so we can hide new UI from nightly WebKit builds.
- Part of: <rdar://problem/13810992> Update Web Inspector to match Xcode 5's new design language
- Reviewed by Antoine Quint.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- Set the nightly-build class on body if we are in a nightly build.
- 2013-05-03 Timothy Hatcher <timothy@apple.com>
- Add stubs for savedURL and appendedToURL.
- https://webkit.org/b/115561
- rdar://problem/13806055
- Reviewed by Joseph Pecoraro.
- * UserInterface/InspectorFrontendAPI.js:
- (InspectorFrontendAPI.savedURL):
- (InspectorFrontendAPI.appendedToURL):
- 2013-05-02 Timothy Hatcher <timothy@apple.com>
- Fix the alignment of the titles in the Timelines sidebar.
- Reviewed by Joseph Pecoraro.
- * UserInterface/GeneralTreeElement.js:
- (WebInspector.GeneralTreeElement.prototype._updateTitleElements):
- Only create a subtitle if the string has a value, not an empty string.
- 2013-05-01 Timothy Hatcher <timothy@apple.com>
- Make the Dashboard timer and Timeline views more robust when going back/forward.
- <rdar://problem/13612025> Dashboard: LCD timer never stops when going back/forward
- <rdar://problem/13180009> Recording sometimes never stops because the load event marker is never added
- <rdar://problem/13510955> Intermittently, timeline is in "days" after refreshing wsj.com site
- Reviewed by Antoine Quint.
- * UserInterface/DashboardManager.js:
- (WebInspector.DashboardManager):
- (WebInspector.DashboardManager.prototype._mainResourceDidChange):
- (WebInspector.DashboardManager.prototype._recordingStopped):
- (WebInspector.DashboardManager.prototype._startUpdatingTime):
- (WebInspector.DashboardManager.prototype._stopUpdatingTime): Added.
- (WebInspector.DashboardManager.prototype._updateTime):
- * UserInterface/NetworkGraphCalculator.js:
- (WebInspector.NetworkTransferTimeCalculator.prototype._lowerBound):
- (WebInspector.NetworkTransferTimeCalculator.prototype._upperBound):
- (WebInspector.NetworkTransferDurationCalculator.prototype._upperBound):
- Don't return NaN for the bounds.
- * UserInterface/Resource.js:
- (WebInspector.Resource.prototype.get firstTimestamp): Added.
- Added as a helper to prevent using NaN as the start time.
- * UserInterface/ResourceTimelineRecord.js:
- (WebInspector.ResourceTimelineRecord.prototype.get startTime):
- Use firstTimestamp.
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager.prototype.startRecording):
- (WebInspector.TimelineManager.prototype.stopRecording):
- (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
- (WebInspector.TimelineManager.prototype.eventRecorded):
- (WebInspector.TimelineManager.prototype._clear):
- (WebInspector.TimelineManager.prototype._addRecord):
- (WebInspector.TimelineManager.prototype._startAutoRecording):
- (WebInspector.TimelineManager.prototype._stopAutoRecordingSoon):
- (WebInspector.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout):
- (WebInspector.TimelineManager.prototype._mainResourceDidChange):
- Fire an event on clear so the timeline view clears even if recording does not start.
- Track the main resource object and not the request identifier, since a resource
- might not have a request identifier in the back/forward case. Auto stop recording soon
- after every record, not just the load event since we don't always have load events.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView):
- (WebInspector.TimelinesContentView.prototype._recordsCleared):
- Use RecordsCleared event instead of RecordingStarted to clear the view.
- 2013-05-01 Timothy Hatcher <timothy@apple.com>
- Reveal the line (if supplied) when showing a ScriptContentView.
- <rdar://problem/13785027> REGRESSION: Extra Scripts: no autoscroll to debugger statement.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.showSourceCode):
- 2013-05-01 Timothy Hatcher <timothy@apple.com>
- Don't update the dashboard text unless it has changed.
- Also step up the interval we update the time so it does not try to update every 50ms when the
- duration is long enough to not matter.
- <rdar://problem/13718056> While JS debugging, everything in the inspector window is repainting all the time
- Reviewed by Joseph Pecoraro.
- * UserInterface/DashboardManager.js:
- (WebInspector.DashboardManager.prototype._startUpdatingTime):
- (WebInspector.DashboardManager.prototype._updateTime):
- * UserInterface/DashboardView.js:
- (WebInspector.DashboardView.prototype.set logs):
- (WebInspector.DashboardView.prototype.set issues):
- (WebInspector.DashboardView.prototype.set errors):
- (WebInspector.DashboardView.prototype.set time):
- (WebInspector.DashboardView.prototype.set resourcesCount):
- (WebInspector.DashboardView.prototype.set resourcesSize):
- (WebInspector.DashboardView.prototype._appendElementForNamedItem.):
- 2013-05-01 Timothy Hatcher <timothy@apple.com>
- Breakpoint context menu items should appear for Extra and Anonymous Scripts.
- <rdar://problem/13776299>
- Reviewed by Joseph Pecoraro.
- * UserInterface/DebuggerSidebarPanel.js:
- (WebInspector.DebuggerSidebarPanel.prototype._breakpointsBeneathTreeElement):
- (WebInspector.DebuggerSidebarPanel.prototype._breakpointTreeOutlineDeleteTreeElement):
- (WebInspector.DebuggerSidebarPanel.prototype._breakpointTreeOutlineContextMenuTreeElement):
- Check for WebInspector.ScriptTreeElement in addition to WebInspector.ResourceTreeElement.
- 2013-04-30 Timothy Hatcher <timothy@apple.com>
- Disable spellcheck and smart quotes in the console prompt.
- I'll upstream this to CodeMirror once I get approval from legal.
- <rdar://problem/13757709>
- Reviewed by Ricky Mondello.
- * UserInterface/External/CodeMirror/codemirror.js:
- (window.CodeMirror):
- 2013-04-30 Timothy Hatcher <timothy@apple.com>
- Tweak the Toolbar layout code to not hide the Dashboard when sizes are off by one.
- This wasn't needed when sub-pixel layout was on, but that was disabled in http://webkit.org/b/149209.
- <rdar://problem/13757354> REGRESSION: Toolbar thinks it is collapsed, so dashboard is hidden
- Reviewed by Joseph Pecoraro.
- * UserInterface/Toolbar.js:
- (WebInspector.Toolbar.prototype.customUpdateLayout):
- 2013-04-30 Timothy Hatcher <timothy@apple.com>
- Have dashboard buttons (console summary buttons) do filtering as well.
- <rdar://problem/13685685>
- Reviewed by Joseph Pecoraro.
- * UserInterface/DashboardView.js:
- (WebInspector.DashboardView):
- (WebInspector.DashboardView.prototype._consoleItemWasClicked):
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype.get scopeBar):
- * UserInterface/Main.js:
- (WebInspector.showFullHeightConsole):
- (WebInspector.showConsoleView):
- 2013-04-30 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/12719925> Call stack should show live line number next to file name
- Reviewed by Timothy Hatcher.
- * UserInterface/GeneralTreeElement.js:
- (WebInspector.GeneralTreeElement):
- (WebInspector.GeneralTreeElement.prototype.get tooltipHandledSeparately):
- (WebInspector.GeneralTreeElement.prototype.set tooltipHandledSeparately):
- (WebInspector.GeneralTreeElement.prototype._updateTitleElements):
- Allow clients to handle the tooltip themselves, and to set subtitle as
- an element, instead of a string (already possible with mainTitle).
- * UserInterface/CallFrameTreeElement.js:
- (WebInspector.CallFrameTreeElement):
- Set the subtitle as a live location <span>.
- (WebInspector.CallFrameTreeElement.prototype.onattach):
- Set the tooltip on the entire tree element once it is created.
- * UserInterface/SourceCodeLocation.js:
- (WebInspector.SourceCodeLocation.prototype.populateLiveDisplayLocationTooltip):
- Allow an optional prefix before the location string.
- 2013-04-29 Timothy Hatcher <timothy@apple.com>
- Remove an assert from StyleDetailsPanel.prototype.shown.
- The shown function can be called multiple times. Just keep the early return.
- Also make sure to call StyleDetailsPanel.prototype.hidden in another case.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange):
- * UserInterface/StyleDetailsPanel.js:
- (WebInspector.StyleDetailsPanel.prototype.shown):
- 2013-04-29 Timothy Hatcher <timothy@apple.com>
- Skip invalid properties when associating related properties.
- <rdar://problem/13752586> DOMNodeStyles.js:981: console.assert(property.overridden); on html5please.com
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype._associateRelatedProperties):
- 2013-04-29 Joseph Pecoraro <pecoraro@apple.com>
- Don't allow Command+Enter in the Console with an empty expression.
- Reviewed by Timothy Hatcher.
- * UserInterface/ConsolePrompt.js:
- 2013-04-29 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13616567> Can no longer clear the console with clear()
- LogContentView starts listening for an event in the constructor which
- was getting removed in close and not being added back. This ContentView
- is already treated like a singleton with other events, treat this the
- same and just avoid removing event listeners in close.
- Reviewed by Timothy Hatcher.
- * UserInterface/LogContentView.js:
- 2013-04-29 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13765474> REGRESSION: Console should not clear on reload
- The backend sends the frontend a messagesCleared messages for many reasons.
- We should not clear the active log when there was a navigation. In those
- cases the LogManager will send out a Cleared or SessionStarted event.
- It would be messy and brittle to determine if we are in the middle of a
- main resource load, so it is easier to do a setTimeout and send an event
- if we did not do a navigation.
- This works well with all common cases, but breaks:
- js> console.log(1); console.clear(); console.log(2);
- Filed the follow-up bug to handle fixing this by providing the frontend
- with the information it needs in messagesCleared.
- Reviewed by Timothy Hatcher.
- * UserInterface/ConsoleObserver.js:
- (WebInspector.ConsoleObserver.prototype.messageAdded):
- Don't append a blank ConsoleMessage row for console.clear messages.
- * UserInterface/LogManager.js:
- (WebInspector.LogManager.prototype.messagesCleared):
- (WebInspector.LogManager.prototype._mainResourceDidChange):
- Defer ActiveLogCleared events so that we don't issue one while we
- are reloading the page.
- 2013-04-29 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13764663> Tooltips on live location links are no longer working
- Changing the content in mousemove, even if the content was the same,
- would cause the tooltip to disappear. Avoid changing the content unless
- we absolutely need to.
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceCodeLocation.js:
- (WebInspector.SourceCodeLocation.prototype.updateDisplayString):
- Avoid unnecessary content updates.
- (WebInspector.SourceCodeLocation.prototype._locationString):
- Fix typo causing column numbers to not show up in tooltips.
- 2013-04-29 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13763988> Jump to "rs.js" error location link not live on theverge.com
- The URL in the ConsoleMessage is the URL of the Script, which contains
- a fragment. The URL of the Resource does not contain the fragment. When
- we create a sourceCodeLocation in linkifyLocation we want to get the
- resource that has a sidebar item, because that is the resource in the
- sidebar that will show a ContentView. So if we get a Script try to get
- the Resource for that Script if one exists.
- Reviewed by Timothy Hatcher.
- * UserInterface/Main.js:
- (WebInspector.linkifyLocation):
- 2013-04-29 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13442566> Console context selector should truncate or generate better names when the names are long
- Truncate the context selector quick console nav bar item. And modify
- how items are sorted in the context menu to show the frame name if one
- is available.
- Reviewed by Timothy Hatcher.
- * UserInterface/HierarchicalPathComponent.js:
- (WebInspector.HierarchicalPathComponent):
- (WebInspector.HierarchicalPathComponent.prototype.get displayName):
- (WebInspector.HierarchicalPathComponent.prototype.set displayName):
- (WebInspector.HierarchicalPathComponent.prototype.get truncatedDisplayNameLength):
- (WebInspector.HierarchicalPathComponent.prototype.set truncatedDisplayNameLength):
- Separate the display name property from the title element's content, so we
- can truncate the display but store the real name.
- (WebInspector.HierarchicalPathComponent.prototype._updateElementTitleAndText):
- Truncate the display in the navigation bar.
- (WebInspector.HierarchicalPathComponent.prototype._updateSelectElement.createOption):
- (WebInspector.HierarchicalPathComponent.prototype._updateSelectElement):
- Work around an NSMenu issue and truncate in the option text in the context menu.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole.prototype._createExecutionContextPathComponent):
- (WebInspector.QuickConsole.prototype._createExecutionContextPathComponentFromFrame):
- (WebInspector.QuickConsole.prototype._compareExecutionContextPathComponents):
- Set the Frame on the PathComponents to use later for sorting.
- 2013-04-29 Timothy Hatcher <timothy@apple.com>
- Abort earlier when loading completions for a null or undefined value.
- <rdar://problem/13764611> JavaScriptLogViewController.js:293: CONSOLEAPI ERROR: Unknown result type: undefined
- Reviewed by Joseph Pecoraro.
- * UserInterface/JavaScriptLogViewController.js:
- (WebInspector.JavaScriptLogViewController.prototype.consolePromptCompletionsNeeded):
- Return early if the RemoteObject is null or undefined. Also release the completion group.
- 2013-04-29 Timothy Hatcher <timothy@apple.com>
- Correct the layout of navigation items when an item has selector arrows.
- <rdar://problem/13717922> Layer border toggle button disappears sometimes
- Reviewed by Joseph Pecoraro.
- * UserInterface/HierarchicalPathComponent.js:
- (WebInspector.HierarchicalPathComponent):
- (WebInspector.HierarchicalPathComponent.prototype.get minimumWidth): Added.
- (WebInspector.HierarchicalPathComponent.prototype.set forcedWidth):
- (WebInspector.HierarchicalPathComponent.prototype.get selectorArrows): Added.
- (WebInspector.HierarchicalPathComponent.prototype.set selectorArrows): Added.
- Account for the width of the selector arrows when using minimum width.
- * UserInterface/HierarchicalPathNavigationItem.js:
- (WebInspector.HierarchicalPathNavigationItem.prototype.updateLayout):
- Ask HierarchicalPathComponent for its minimum width.
- * UserInterface/NavigationBar.js:
- (WebInspector.NavigationBar.prototype.updateLayout):
- Skip flexible space items since they can take up no space at the minimum width.
- 2013-04-27 Dean Jackson <dino@apple.com>
- <rdar://problem/13441708> Make the Web Inspector work if HiDPI canvas is disabled on OS X
- Reviewed by Tim Hatcher.
- For <rdar://problem/13437328>, HIGH_DPI_CANVAS was disabled on retina devices, so
- the places in the inspector that use a canvas must double the dimensions of
- the image buffers they request.
- * UserInterface/DashboardView.css:
- (.toolbar .dashboard): Since the image being pased in as background might be 2x,
- make sure that it uses the element size for the background.
- * UserInterface/DashboardView.js: Request a 2x canvas if necessary.
- * UserInterface/ImageUtilities.js:
- (generateColoredImage): No need to pass in scale, as this method is passed the
- correct width and height the caller needs. Use get/setImageData methods.
- (generateColoredImagesForCSS): Calculate a scaledWidth/Height to be used throughout
- this method. Make sure we create contexts with the correct dimensions, and save/restore
- them at full size.
- (._drawImageShadow): Use scaledWidth/Height.
- (._invertMaskImage): No need to pass in width and height..
- (._applyImageMask): Ditto.
- (generateEmbossedImages): Calculate a scaledWidth/Height to be used throughout
- this method. Make sure we create contexts with the correct dimensions.
- * UserInterface/Popover.js:
- (WebInspector.Popover.prototype.set frame): Make sure to set the background size when
- the frame is updated.
- (WebInspector.Popover.prototype._drawBackground): Create a correctly scaled canvas,
- and some minor code cleanup.
- 2013-04-27 Timothy Hatcher <timothy@apple.com>
- Fix the speed of typing in the Web Inspector.
- ToggleControlToolbarItem regenerates its images every time 'toggled' is set, even
- if the flag does not change! And the dock button updates 'toggled' on keydown and
- keyup to update when Option is pressed.
- <rdar://problem/13756496> REGRESSION: Dock/undock buttons regenerates ever keydown and keyup!
- Reviewed by Dean Jackson.
- * UserInterface/ToggleButtonNavigationItem.js:
- (WebInspector.ToggleButtonNavigationItem.prototype.set toggled): Return early if flag does not change.
- 2013-04-27 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13143692> Object literal properties should not have popovers
- Given test:
- var foo = 300, o = { foo: 1 };
- var result = o.foo;
- This patch makes it so hovering "foo" in the object literal does not
- show a popover, it used to show 300. While hovering the variable "foo"
- or hovering the property access "o.foo" both show expected values.
- Reviewed by Timothy Hatcher.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype._mouseMovedOverEditor):
- If we are hovering a JavaScript token inside of a <script> in HTML resources
- then the JavaScript state is actually token.state.localState. If it is in
- a JavaScript resource then it is just token.state. Pass the most specific
- state on our partial "token" object.
- (WebInspector.TextEditor.prototype._checkHoveredToken):
- Bail for JavaScript object literal properties.
- 2013-04-26 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13753106> SourceCodeTextEditor.js:815: JS ERROR: TypeError: undefined is not an object (evaluating this.hoveredToken.bounds)
- We have a complete token in tokenWasHovered, however between then and
- when the async DebuggerAgent.evaluateOnCallFrame callback happens the
- hovered token can change. If it changed, bail, so we don't end up
- trying to put the popover on the wrong hovered token or worse
- hit this exception and break execution.
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype.tokenWasHovered.populate):
- (WebInspector.SourceCodeTextEditor.prototype.tokenWasHovered):
- (WebInspector.SourceCodeTextEditor.prototype._showPopover):
- Add asserts and preventative bails in multiple places to catch
- similar issues in the future if new paths are added.
- 2013-04-26 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13746094> Esc inside a read only editor (JavaScript) should not bring up completion suggestions
- Pass on "Esc" if the editor is read only.
- Reviewed by Timothy Hatcher.
- * UserInterface/CodeMirrorCompletionController.js:
- (WebInspector.CodeMirrorCompletionController.prototype._handleEscapeKey):
- 2013-04-26 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13573902> Line numbers in JS console.log / console.error Messages should be live, they jump to the wrong location
- <rdar://problem/13702357> Line numbers in JS Console Error Messages should be live, they jump to the wrong location
- Make the ConsoleMessage and Profiler links live when possible. Create
- a live link with createSourceCodeLocationLink or linkifyLocation.
- ConsoleMessages's have line and column information now both at the
- base and in stack traces. Profiler nodes don't have column info, but we
- can still make them live, just not entirely accurate.
- Reviewed by Timothy Hatcher.
- * UserInterface/ConsoleMessageImpl.js:
- (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
- (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation):
- Use WebInspector.linkifyLocation with url, line, and column.
- * UserInterface/Main.js:
- (.showSourceCodeLocation):
- (WebInspector.createSourceCodeLocationLink):
- (WebInspector.linkifyLocation):
- If we have the resource with url passed into linkifyLocation
- it creates a link with a sourceCodeLocation. Otherwise it just
- creates a basic link with the appropriate styles.
- * UserInterface/CSSSelectorProfileView.js:
- (WebInspector.CSSSelectorDataGridNode.prototype.createCell):
- (WebInspector.CSSSelectorDataGridNode.prototype._linkifyLocation):
- * UserInterface/ProfileDataGridTree.js:
- (WebInspector.ProfileDataGridNode.prototype._linkifyLocation):
- Use WebInspector.linkifyLocation with url and lineNumber. Add
- a FIXME about the missing column number.
- 2013-04-26 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13573902> Line numbers in JS console.log / console.error Messages should be live, they jump to the wrong location
- <rdar://problem/13702357> Line numbers in JS Console Error Messages should be live, they jump to the wrong location
- Give ConsoleMessage a column number. The backend now sends us this info.
- Reviewed by Timothy Hatcher.
- * UserInterface/ConsoleCommandResult.js:
- (WebInspector.ConsoleCommandResult):
- * UserInterface/ConsoleMessage.js:
- (WebInspector.ConsoleMessage):
- (WebInspector.ConsoleMessage.create):
- * UserInterface/ConsoleMessageImpl.js:
- (WebInspector.ConsoleMessageImpl):
- (WebInspector.ConsoleMessageImpl.prototype.get levelString):
- * UserInterface/ConsoleObserver.js:
- (WebInspector.ConsoleObserver.prototype.messageAdded):
- * UserInterface/LogManager.js:
- (WebInspector.LogManager.prototype.messageWasAdded):
- 2013-04-26 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13745104> First revealLine to SourceMapResource lineNumber is not working
- SourceMapResource's may lazily load their data. In such cases the
- ContentView for the resource will be Generic and ignore the revealLine.
- Once loaded, the Generic ContentView will be replaced by a better view,
- but the line number to reveal has been lost. Save that information in
- the cluster content view, as long as the resource has not finished,
- and pass it on to the new content view when the resource finishes.
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceMapResource.js:
- (WebInspector.SourceMapResource.prototype.requestContentFromBackend):
- Mark as finished after updating types.
- * UserInterface/ResourceClusterContentView.js:
- (WebInspector.ResourceClusterContentView.prototype.showResponse):
- (WebInspector.ResourceClusterContentView.prototype._resourceTypeDidChange):
- (WebInspector.ResourceClusterContentView.prototype._resourceLoadingDidFinish):
- If a revealLine comes in for a resource not yet finished loading, replay
- the reveal line when the resource does finish. If subsequent reveals come
- in, the most recent one wins.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor._prettyPrint.prettyPrintAndUpdateEditor):
- When a file is formatted we updated the delayed line number to reveal, but
- didn't update the delayed text range to select. Do that just in case.
- 2013-04-26 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13701579> Styles sidebar should show source map location by default instead of on hover
- When hovering a link with Command we are showing the original,
- unformatted location. So make sure that when clicked we jump
- to that exact, unformatted location.
- Reviewed by Timothy Hatcher.
- * UserInterface/Main.js:
- (WebInspector.createGoToArrowButton):
- Handle Command+Click to jump to an unformatted location.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.showSourceCode):
- (WebInspector.ResourceSidebarPanel.prototype.showOriginalUnformattedSourceCodeLocation):
- Allow showing a source code that forces unformatting.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype._revealPendingLineIfPossible):
- (WebInspector.TextEditor.prototype.revealLine):
- May need to unformat the resource before revealing the line.
- * UserInterface/FrameContentView.js:
- (WebInspector.FrameContentView.prototype.showSourceCode):
- * UserInterface/ResourceClusterContentView.js:
- (WebInspector.ResourceClusterContentView.prototype.showResponse):
- * UserInterface/ScriptContentView.js:
- (WebInspector.ScriptContentView.prototype.revealLine):
- * UserInterface/TextContentView.js:
- (WebInspector.TextContentView.prototype.revealLine):
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView.prototype.revealLine):
- Pass the forceUnformat option through revealLine paths.
- 2013-04-26 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13701579> Styles sidebar should show source map location by default instead of on hover
- Update the rules for a live location display.
- - Show display location by default if there is one.
- - Show display locations in italics, original locations display non-italics.
- - Command+Mouseover a display location will show the original location.
- - Provide different display styles for column numbers. Default to "OnlyIfLarge"
- meaning only show column numbers if the column is > 80.
- Reviewed by Timothy Hatcher.
- * UserInterface/CallFrameTreeElement.js:
- (WebInspector.CallFrameTreeElement):
- Simplify by using SourceCodeLocation.prototype.tooltipString.
- * UserInterface/SourceCodeLocation.js:
- (WebInspector.SourceCodeLocation.prototype.originalLocationString):
- (WebInspector.SourceCodeLocation.prototype.formattedLocationString):
- (WebInspector.SourceCodeLocation.prototype.displayLocationString):
- Add the new column style parameter. Pass it through to _locationString.
- (WebInspector.SourceCodeLocation.prototype.tooltipString):
- Always show full URLs and columns in tooltips.
- (WebInspector.SourceCodeLocation.prototype._locationString):
- Respect the column style when including column numbers.
- (WebInspector.SourceCodeLocation.prototype.updateDisplayString):
- (WebInspector.SourceCodeLocation.prototype.mouseOverOrMove):
- (WebInspector.SourceCodeLocation.prototype.populateLiveDisplayLocationString):
- Update the default value to displayLocation. And the Command+Mouseover to originalLocation.
- 2013-04-26 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13701576> SASS source map location is wrong on http://html5please.com
- CSSRule.selectorList.range has column information, which allows us to
- provide a much better location to jump to. So when selectorList and
- its SourceRange is available, use that for its start line and column.
- Fallback to the CSSRule.sourceLine which is always available.
- Reviewed by Timothy Hatcher.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
- 2013-04-26 Timothy Hatcher <timothy@apple.com>
- Update CodeMirror from 3.11+ to 3.12.
- * UserInterface/External/CodeMirror/clojure.js: Updated.
- * UserInterface/External/CodeMirror/codemirror.js: Updated.
- * UserInterface/External/CodeMirror/javascript.js: Updated.
- * UserInterface/External/CodeMirror/searchcursor.js: Updated.
- * UserInterface/External/CodeMirror/sql.js: Updated.
- 2013-04-26 Timothy Hatcher <timothy@apple.com>
- Make completions work after open brackets.
- This also improves things to limit keywords to certain contexts.
- <rdar://problem/13746491> Should have JavaScript completion suggestions after a base of all open bracket characters, e.g. "if (tr|"
- Reviewed by Joseph Pecoraro.
- * UserInterface/CodeMirrorCompletionController.js:
- (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions):
- * UserInterface/JavaScriptLogViewController.js:
- (WebInspector.JavaScriptLogViewController.prototype.consolePromptCompletionsNeeded):
- 2013-04-26 Timothy Hatcher <timothy@apple.com>
- Improve multi-line support in the console prompt.
- Pressing return at the end of the expression now does a parse to see if the expression
- is ready to evaluate. We will insert a new line if the error is recoverable, otherwise
- we will evaluate it. Pressing enter will insert a new line when there is no text, when
- the cursor is not at the last position or there is a selection. Command-Enter will now
- always evaluate the expression.
- <rdar://problem/13747367>
- Reviewed by Joseph Pecoraro.
- * UserInterface/ConsolePrompt.js:
- (WebInspector.ConsolePrompt):
- (WebInspector.ConsolePrompt.prototype._handleEnterKey.positionsEqual): Added.
- (WebInspector.ConsolePrompt.prototype._handleEnterKey.commitTextOrInsertNewLine): Added.
- (WebInspector.ConsolePrompt.prototype._handleEnterKey):
- (WebInspector.ConsolePrompt.prototype._handleCommandEnterKey):
- * UserInterface/InspectorBackendCommands.js:
- * UserInterface/JavaScriptLogViewController.js:
- (WebInspector.JavaScriptLogViewController.prototype.):
- (WebInspector.JavaScriptLogViewController.prototype.consolePromptShouldCommitText):
- 2013-04-25 Timothy Hatcher <timothy@apple.com>
- Fix some edge cases with the default JavaScript completions.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CodeMirrorCompletionController.js:
- (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions):
- Correct the check for switch statements which was missing the "type" parts. Use "info"
- instead to check for "switch". Substring the suffix, since there are cases it can be longer.
- Also prevent keyword completions in var declarations, except for "this".
- 2013-04-25 Timothy Hatcher <timothy@apple.com>
- Properly handle duplicate query parameters and form encoded POST data.
- <rdar://problem/13737105> Duplicate query parameters only show the last item in the sidebar data grids
- Reviewed by Joseph Pecoraro.
- * UserInterface/ResourceDetailsSidebarPanel.js:
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshURL):
- (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid):
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection):
- Pass true to parseQueryString to get an array of name/value pairs. Then build
- the DataGrid using that result.
- * UserInterface/Utilities.js:
- (parseLocationQueryParameters):
- (parseQueryString):
- Added arrayResult parameter to allow getting all values, not just the last one.
- 2013-04-24 Timothy Hatcher <timothy@apple.com>
- Improve the sort order for array index completions.
- Reviewed by Joseph Pecoraro.
- * UserInterface/JavaScriptLogViewController.js:
- (WebInspector.JavaScriptLogViewController.prototype.consolePromptCompletionsNeeded.receivedPropertyNames.compare):
- (WebInspector.JavaScriptLogViewController.prototype.consolePromptCompletionsNeeded.receivedPropertyNames):
- Try to sort in numerical order first, then as strings.
- 2013-04-24 Timothy Hatcher <timothy@apple.com>
- Allow autocompletion after "({a:1,b:2})" to suggest "a" and "b" properties.
- <rdar://problem/5866281> Console should allow autocompletion after symbols like ), ], }
- Reviewed by Joseph Pecoraro.
- * UserInterface/CodeMirrorCompletionController.js:
- (WebInspector.CodeMirrorCompletionController.prototype._scanStringForExpression):
- Ignore stop characters when we are inside brackets.
- 2013-04-24 Timothy Hatcher <timothy@apple.com>
- Remove TextPrompt and JavaScriptTextPrompt.
- Reviewed by Joseph Pecoraro.
- * UserInterface/JavaScriptTextPrompt.css: Removed.
- * UserInterface/JavaScriptTextPrompt.js: Removed.
- * UserInterface/Main.html:
- * UserInterface/TextPrompt.css: Removed.
- * UserInterface/TextPrompt.js: Removed.
- 2013-04-24 Timothy Hatcher <timothy@apple.com>
- Update DatabaseContentView to use ConsolePrompt.
- Reviewed by Joseph Pecoraro.
- * UserInterface/DatabaseContentView.css:
- (.database-query-prompt):
- (.database-user-query::before, .database-query-prompt::before, .database-query-result::before):
- (.database-user-query):
- (.database-query-result):
- * UserInterface/DatabaseContentView.js:
- (WebInspector.DatabaseContentView):
- (WebInspector.DatabaseContentView.prototype.shown):
- (WebInspector.DatabaseContentView.prototype.updateLayout):
- (WebInspector.DatabaseContentView.prototype._messagesClicked):
- (WebInspector.DatabaseContentView.prototype.accumulateMatches):
- (WebInspector.DatabaseContentView.prototype.tableNamesCallback):
- (WebInspector.DatabaseContentView.prototype.consolePromptCompletionsNeeded):
- (WebInspector.DatabaseContentView.prototype.consolePromptTextCommited):
- (WebInspector.DatabaseContentView.prototype._appendQueryResult):
- 2013-04-24 Timothy Hatcher <timothy@apple.com>
- Implement live completions for the ConsolePrompt.
- Part of: <rdar://problem/13359916> Typing in the console is improved, but still much slower
- than in Chrome / the WebKit inspector
- Reviewed by Joseph Pecoraro.
- * UserInterface/ConsolePrompt.js:
- (WebInspector.ConsolePrompt.prototype.updateCompletions):
- (WebInspector.ConsolePrompt.prototype.completionControllerCompletionsNeeded):
- * UserInterface/JavaScriptLogViewController.js:
- (WebInspector.JavaScriptLogViewController):
- (WebInspector.JavaScriptLogViewController.prototype.consolePromptCompletionsNeeded.evaluated.getCompletions):
- (WebInspector.JavaScriptLogViewController.prototype.consolePromptCompletionsNeeded.evaluated):
- (WebInspector.JavaScriptLogViewController.prototype.consolePromptCompletionsNeeded.receivedPropertyNamesFromEvaluate):
- (WebInspector.JavaScriptLogViewController.prototype.consolePromptCompletionsNeeded.receivedPropertyNames):
- (WebInspector.JavaScriptLogViewController.prototype.consolePromptCompletionsNeeded):
- (WebInspector.JavaScriptLogViewController.prototype._clearLastProperties):
- Most of this is copied and adapted from JavaScriptTextPrompt. The new part if the caching of property names.
- 2013-04-24 Timothy Hatcher <timothy@apple.com>
- Prevent the Escape key from toggling and triggering a completion.
- When the prompt is empty we allow console toggling. When not empty it triggers completion.
- Part of: <rdar://problem/13359916> Typing in the console is improved, but still much slower
- than in Chrome / the WebKit inspector
- Reviewed by Joseph Pecoraro.
- * UserInterface/CodeMirrorCompletionController.js:
- (WebInspector.CodeMirrorCompletionController.prototype._handleEscapeKey):
- Call the completionControllerShouldAllowEscapeCompletion delegate function.
- * UserInterface/ConsolePrompt.js:
- (WebInspector.ConsolePrompt.prototype.completionControllerShouldAllowEscapeCompletion):
- Added. Return true if the prompt is not empty.
- * UserInterface/KeyboardShortcut.js:
- (WebInspector.KeyboardShortcut._handleKeyDown):
- Don't process the shortcut if default was prevented. We know someone already handled
- the key, but didn't call stopPropagation. CodeMirror does this.
- 2013-04-24 Timothy Hatcher <timothy@apple.com>
- Implement default completions for JavaScript in CodeMirrorCompletionController.
- Also hook up completions in ConsolePrompt to get the default completions.
- Part of: <rdar://problem/13359916> Typing in the console is improved, but still much slower
- than in Chrome / the WebKit inspector
- Reviewed by Joseph Pecoraro.
- * UserInterface/CodeMirrorCompletionController.js:
- (WebInspector.CodeMirrorCompletionController.prototype._scanStringForExpression):
- (WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition):
- (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions):
- (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions.matchKeywords):
- (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions.matchVariables.filterVariables):
- (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions.matchVariables):
- (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions):
- * UserInterface/ConsolePrompt.js:
- (WebInspector.ConsolePrompt):
- 2013-04-24 Timothy Hatcher <timothy@apple.com>
- Hook up the ConsolePrompt delegate to JavaScriptLogViewController.
- This makes the prompt work and evaluate results. No auto completion yet.
- Part of: <rdar://problem/13359916> Typing in the console is improved, but still much slower
- than in Chrome / the WebKit inspector
- Reviewed by Joseph Pecoraro.
- * UserInterface/JavaScriptLogViewController.js:
- (WebInspector.JavaScriptLogViewController.prototype.consolePromptHistoryDidChange):
- (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommited.printResult):
- (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommited):
- (WebInspector.JavaScriptLogViewController.prototype._evaluateInInspectedWindow.evalCallback):
- (WebInspector.JavaScriptLogViewController.prototype._evaluateInInspectedWindow):
- Copied from JavaScriptTextPrompt.evalInInspectedWindow.
- 2013-04-24 Timothy Hatcher <timothy@apple.com>
- Start using ConsolePrompt in the QuickConsole.
- This simplifies the DOM structure of the QuickConsole and makes resizing happen
- automatically using flex layout instead of JavaScript.
- Part of: <rdar://problem/13359916> Typing in the console is improved, but still much slower
- than in Chrome / the WebKit inspector
- Reviewed by Joseph Pecoraro.
- * UserInterface/JavaScriptLogViewController.js:
- (WebInspector.JavaScriptLogViewController):
- (WebInspector.JavaScriptLogViewController.prototype.clear):
- (WebInspector.JavaScriptLogViewController.prototype.startNewSession):
- (WebInspector.JavaScriptLogViewController.prototype._handleClearShortcut):
- (WebInspector.JavaScriptLogViewController.prototype._handleFindShortcut):
- (WebInspector.JavaScriptLogViewController.prototype._handleFindNextShortcut):
- (WebInspector.JavaScriptLogViewController.prototype._handleFindPreviousShortcut):
- (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessage):
- Remove keydown and bind the the keyboard shortcuts to the messages element
- and prompt element using specific event handlers.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView):
- (WebInspector.LogContentView.prototype.shown):
- (WebInspector.LogContentView.prototype.searchBarWantsToLoseFocus): Match _escapeWasPressed.
- (WebInspector.LogContentView.prototype._activeLogCleared):
- (WebInspector.LogContentView.prototype._keyDown):
- Removed keyboard shortcut handling that was using private properties
- from JavaScriptLogViewController.
- * UserInterface/Main.html:
- Include ConsolePrompt.js and ConsolePrompt.css.
- * UserInterface/QuickConsole.css:
- (.quick-console):
- (.quick-console > .console-prompt):
- (.quick-console > .console-prompt::before):
- (.quick-console > .console-prompt > .CodeMirror):
- (.quick-console > .navigation-bar):
- Simplified by removing redundant elements.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole): Removed redundant elements.
- (WebInspector.QuickConsole.prototype.updateLayout):
- Set max-height and stop calling _updateSize.
- (WebInspector.QuickConsole.prototype._updateSize): Removed.
- 2013-04-23 Timothy Hatcher <timothy@apple.com>
- Start using CodeMirror for the Console prompt.
- This introduces a new class, ConsolePrompt.
- Part of: <rdar://problem/13359916> Typing in the console is improved, but still much slower
- than in Chrome / the WebKit inspector
- Reviewed by Joseph Pecoraro.
- * UserInterface/ConsolePrompt.css: Added.
- (.console-prompt):
- (.console-prompt > .CodeMirror):
- (.console-prompt > .CodeMirror-scroll):
- * UserInterface/ConsolePrompt.js: Added.
- (WebInspector.ConsolePrompt):
- (WebInspector.ConsolePrompt.prototype.get element):
- (WebInspector.ConsolePrompt.prototype.get delegate):
- (WebInspector.ConsolePrompt.prototype.set delegate):
- (WebInspector.ConsolePrompt.prototype.get text):
- (WebInspector.ConsolePrompt.prototype.set text):
- (WebInspector.ConsolePrompt.prototype.get history):
- (WebInspector.ConsolePrompt.prototype.set history):
- (WebInspector.ConsolePrompt.prototype.get focused):
- (WebInspector.ConsolePrompt.prototype.focus):
- (WebInspector.ConsolePrompt.prototype.shown):
- (WebInspector.ConsolePrompt.prototype._handlePreviousKey):
- (WebInspector.ConsolePrompt.prototype._handleNextKey):
- (WebInspector.ConsolePrompt.prototype._handleEnterKey):
- (WebInspector.ConsolePrompt.prototype._restoreHistoryEntry):
- (WebInspector.ConsolePrompt.prototype._historyEntryForCurrentText):
- (WebInspector.ConsolePrompt.prototype._rememberCurrentTextInHistory):
- 2013-04-23 Antoine Quint <graouts@apple.com>
- <rdar://problem/13681931> Debugger Popover should not dismiss when mouse is over the popover
- We would always dismiss the popover when we'd hover more than 1 second
- outside of the marked token in the text editor. This would also happen
- if the mouse happened to be over the popover shown for the marked token.
- We now track whether the mouse is over the presented popover and only
- dismiss the popover when no longer hovering the marked text in case the
- mouse is not over it.
- Reviewed by Timothy Hatcher.
- * UserInterface/EventHandler.js: Added.
- (WebInspector.EventHandler):
- (WebInspector.EventHandler.prototype.handleEvent):
- New utility to handle events in a way that makes it convenient to start
- and stop tracking events in the scope of that object without using closures.
- * UserInterface/Main.html:
- Add the new EventHandler helper.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype.hidden):
- (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange):
- (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
- (WebInspector.SourceCodeTextEditor.prototype.hoveredTokenWasReleased):
- (WebInspector.SourceCodeTextEditor.prototype._showPopover):
- (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction.didGetDetails):
- (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction):
- (WebInspector.SourceCodeTextEditor.prototype.willDismissPopover):
- (WebInspector.SourceCodeTextEditor.prototype._dismissPopover):
- (WebInspector.SourceCodeTextEditor.prototype._trackPopoverEvents):
- (WebInspector.SourceCodeTextEditor.prototype._popoverMouseover):
- (WebInspector.SourceCodeTextEditor.prototype._popoverMouseout):
- 2013-04-22 Timothy Hatcher <timothy@apple.com>
- Teach CodeMirror about the CSS properties, keywords and colors we support in WebKit.
- This keeps syntax highlighting in sync with code completion.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSCompletions.js:
- (WebInspector.CSSCompletions.requestCSSNameCompletions.collectPropertyNameForCodeMirror):
- (WebInspector.CSSCompletions.requestCSSNameCompletions.updateCodeMirrorCSSMode):
- (WebInspector.CSSCompletions.requestCSSNameCompletions):
- 2013-04-21 Timothy Hatcher <timothy@apple.com>
- Fix some selection issues in the Console.
- Allow command-click on a single row selection to deselect that row the first time.
- Before it was requiring two clicks -- because it would become selected twice --
- before it would deselect.
- Also make sure to clear focusable children after populating delayed results,
- like a the DOM tree.
- Reviewed by Joseph Pecoraro.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype.didAppendConsoleMessage):
- (WebInspector.LogContentView.prototype._updateMessagesSelection):
- 2013-04-21 Timothy Hatcher <timothy@apple.com>
- Allow the context menu and clicking on any link in the console.
- There are other links in the console besides those with the console-message-url
- style class that should work and get the normal context menu.
- <rdar://problem/13702031> can't click on a "failed to load" url in console
- Reviewed by Joseph Pecoraro.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype._handleContextMenuEvent):
- (WebInspector.LogContentView.prototype._targetInMessageCanBeSelected):
- Check only for tag name, not class name.
- 2013-04-19 Timothy Hatcher <timothy@apple.com>
- Allow both text and row selections in the Console.
- Text selection switches to row selection if the text selection spans multiple rows.
- <rdar://problem/13599610> REGRESSION: Can't select partial text of console output
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMTreeOutline.js:
- (WebInspector.DOMTreeOutline.prototype._onmousedown):
- Call event.stopPropagation() to prevent row selection in the console.
- * UserInterface/LogContentView.css:
- (.console-message-text > span): Added. Allow text selection.
- (.console-message::before, .console-user-command::before, .javascript-prompt::before, .console-group-title::before):
- (.console-group-title::before):
- Use px instead of em to fix a positioning issue.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView):
- (WebInspector.LogContentView.prototype._mousedown):
- (WebInspector.LogContentView.prototype._targetInMessageCanBeSelected):
- (WebInspector.LogContentView.prototype._mousemove):
- Allow text selection that switches to row selection if the text selection spans multiple rows.
- This involves delaying operations from mousedown until later in mousemove or mouseup.
- * UserInterface/TreeOutline.js:
- (TreeElement.treeElementMouseDown):
- Call event.stopPropagation() to prevent row selection in the console.
- 2013-04-20 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13701561> Improve SourceMap folder tree hierarchies
- Implement a few improvements to folder tree hierarchies.
- - if there is a sourceRoot in the sourceMap use that as the base for
- subpaths, otherwise fallback to the sourceMappingURL (may change).
- - if a source is an absolute URL on a different scheme / host, prefix
- the subpath with a folder of the host name.
- - flatten folder chains in the UI. Makes expanding folders easier.
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceMap.js:
- (WebInspector.SourceMap):
- (WebInspector.SourceMap.prototype.get sourceMappingBasePathURLComponents):
- (WebInspector.SourceMap.prototype._parseMap):
- Save the sourceRoot. And return urlComponents for the basePath, instead of
- just the path.
- * UserInterface/Utilities.js:
- * UserInterface/SourceMapResource.js:
- (WebInspector.SourceMapResource.prototype.get sourceMapDisplaySubpath):
- Determine the subpath to display in the UI for this source map resource.
- * UserInterface/SourceCodeTreeElement.js:
- (WebInspector.SourceCodeTreeElement.prototype.onpopulate.combineFolderChain):
- (WebInspector.SourceCodeTreeElement.prototype.onpopulate.findAndCombineFolderChains):
- (WebInspector.SourceCodeTreeElement.prototype.onpopulate):
- Flatten folder chains.
- 2013-04-20 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13701561> Improve SourceMap folder tree hierarchies
- Correctly resolve dots when determining absolute URLs. Previously I had
- left in extra "../s", however they should have been removed. And
- absoluteURL should handle resolving any dots in the partialURL.
- This fixes ASSERTs in Debug WebKit builds where we were calling
- loadResourceSynchronously with a URL that was expected to be
- absolute and wasn't.
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceMap.js:
- * UserInterface/Utilities.js:
- 2013-04-20 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13701561> Improve SourceMap folder tree hierarchies
- Remove the old combine folder chain code. It will be easier to follow
- the new code with the old code gone.
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceCodeTreeElement.js:
- (WebInspector.SourceCodeTreeElement.prototype.onpopulate.combineFolderChain):
- 2013-04-19 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13654793> Source Maps: Support for Stylesheets (less / sass / scss) with SourceMaps
- The Inspector protocol now tells us when a CSS response contains a
- sourceMappingURL for a Resource. If we are given a source map URL,
- download the source map and associate it with the Resource.
- Give Stylesheet SourceMapResources (like sass stylesheets) a CSS
- clipping icon instead of using the generic clipping icon.
- Reviewed by Timothy Hatcher.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache):
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidFinishLoading):
- (WebInspector.FrameResourceManager.prototype._createResource):
- If there is a sourceMapURL, download it and associate it with the Resource.
- * UserInterface/Images/ClippingCSS.png: Added.
- * UserInterface/Images/ClippingCSS@2x.png: Added.
- * UserInterface/ResourceIcons.css:
- (.source-map-resource.resource-icon.resource-type-stylesheet .icon):
- CSS Clipping icon for stylesheet source map resources (like less / sass / scss).
- * UserInterface/InspectorBackendCommands.js:
- * UserInterface/NetworkObserver.js:
- (WebInspector.NetworkObserver.prototype.loadingFinished):
- Handle and pass on the new "extraResourceInfo" parameter.
- 2013-04-19 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13654793> Source Maps: Support for Stylesheets (less / sass / scss) with SourceMaps
- Follow OpenSource and merge PositionSourceMap into SourceMap.
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceMap.js:
- (WebInspector.SourceMap):
- (WebInspector.SourceMap.prototype.findEntry):
- (WebInspector.SourceMap.prototype.findEntryReversed):
- (WebInspector.SourceMap.prototype._parseMap):
- * UserInterface/SourceMapManager.js:
- (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):
- 2013-04-18 Timothy Hatcher <timothy@apple.com>
- Make sure to call shown on the current Style sub-panel when the sidebar visibility changes.
- <rdar://problem/13604148> Content jumps in details sidebar when switching to styles pane
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange):
- Call shown on the selected panel.
- 2013-04-18 Timothy Hatcher <timothy@apple.com>
- Use CSSAgent.setStyleText for Style Attribute editing too.
- <rdar://problem/13630483> Style Attribute editing in the Style details sidebar does not work on shadow content (114442)
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype.changeStyleText):
- 2013-04-18 Timothy Hatcher <timothy@apple.com>
- Switch from X-WebKit-CSP to Content-Security-Policy for the CSP header.
- Also stop allowing 'unsafe-eval' since the one place we used eval() is dead code.
- Reviewed by Joseph Pecoraro.
- * UserInterface/InspectorBackend.js:
- (InspectorBackendClass.prototype.loadFromJSONIfNeeded): Removed. Not used by Safari.
- * UserInterface/Main.html:
- 2013-04-18 Timothy Hatcher <timothy@apple.com>
- Make sure to always include the New Rule button in the Styles sidebar.
- <rdar://problem/13683941> Can't add a new rule unless there is a matched rule already
- Reviewed by Joseph Pecoraro.
- * UserInterface/RulesStyleDetailsPanel.js:
- (WebInspector.RulesStyleDetailsPanel.prototype.refresh.addNewRuleButton): Added.
- (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Call addNewRuleButton if
- addedNewRuleButton isn't true after the end of the loop.
- 2013-04-18 Timothy Hatcher <timothy@apple.com>
- Remove workaround for <rdar://problem/13337211> now that it is fixed.
- Removing this ends up fixing:
- <rdar://problem/13612942> REGRESSION: Style sidebar does not update immediately with node change
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype.refresh):
- (WebInspector.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles):
- (WebInspector.DOMNodeStyles.prototype.refresh.fetchedInlineStyles):
- (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle):
- Removed the repeat refresh polling logic.
- 2013-04-18 Timothy Hatcher <timothy@apple.com>
- Properly handle !important properties from inherited rules.
- <rdar://problem/13683742> Important properties from inherited rules
- mistakenly strikeout the effective property
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype._markOverriddenProperties):
- Mark properties as overridden from inherited elements if there
- is already an effective property from another element.
- 2013-04-18 Timothy Hatcher <timothy@apple.com>
- Adopt CSSAgent.setStyleText added in https://webkit.org/b/109340.
- <rdar://problem/13337211> Editing styles on daringfireball.net interrupts autocompletion and flashes
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype.styleChanged): Use CSSAgent.setStyleText.
- * UserInterface/InspectorBackendCommands.js: Updated.
- 2013-04-18 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13681577> Unresolved breakpoint in SourceMapResource when reloading page
- The ContentBrowser no longer contains ResourceContentViews directly, it
- has ResourceClusterContentViews. Update the closeAll prototype call on
- page navigations to make sure resource views get closed properly.
- Reviewed by Timothy Hatcher.
- * UserInterface/ResourceSidebarPanel.js:
- 2013-04-18 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13681487> Missing heirarchical path components selecting breakpoints in source map resources in Debugger sidebar
- Force onpopulate to create the SourceMapTreeElements immediately,
- instead of lazily waiting for the user to expand the Resource in
- the Resources sidebar. Then, when we look up the TreeElement to
- get the hierarchical path components it will be found.
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceCodeTreeElement.js:
- (WebInspector.SourceCodeTreeElement.prototype._updateSourceCode):
- (WebInspector.SourceCodeTreeElement.prototype._sourceMapAdded):
- 2013-04-17 Joseph Pecoraro <pecoraro@apple.com>
- ERROR: TypeError: 'undefined' is not an object (evaluating 'currentContentView.handleCopyEvent.bind')
- Right clicking in an editor was producing an error. Check if both
- the content view and the handleCopyEvent handler exist.
- Reviewed by Timothy Hatcher.
- * UserInterface/ClusterContentView.js:
- (WebInspector.ClusterContentView.prototype.get handleCopyEvent):
- 2013-04-15 Timothy Hatcher <timothy@apple.com>
- Fix an exception that happens when clicking source links multiple times.
- Reviewed by Antoine Quint.
- * UserInterface/ContentViewContainer.js:
- (WebInspector.ContentViewContainer.prototype.showContentView):
- Return currentView if it is already showing. This matches the case where we return the view
- if it wasn't already showing. Change other returns to return null instead of undefined.
- * UserInterface/ResourceClusterContentView.js:
- (WebInspector.ResourceClusterContentView.prototype._showContentViewForIdentifier):
- Add an assert that we have a content view. This wasn't needed but I used to to pinpoint the bug.
- 2013-04-15 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13644426> Support %c - styled console messages - http://adamschwartz.co/log/
- Merge OpenSource r130941, r131448, r134166, r134202.
- Reviewed by Timothy Hatcher.
- * UserInterface/ConsoleMessageImpl.js:
- (WebInspector.ConsoleMessageImpl.prototype.styleFormatter):
- (WebInspector.ConsoleMessageImpl.prototype.isWhitelistedProperty):
- (WebInspector.ConsoleMessageImpl.prototype.append):
- (WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString):
- 2013-04-15 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13658744> Improve %f, %d, %i formatters for numbers and non-numeric input
- Developer tools differ subtly in this area. I like Firefox's behavior
- the most, calling parseFloat or parseInt on the argument. We now match
- that behavior.
- Chrome prints NaN for anything but primitive numbers. Which causes it
- to print NaN for Infinity and "1.5". Firebug just prints out everything
- like "%s", like we used to before this patch.
- Reviewed by Timothy Hatcher.
- * UserInterface/ConsoleMessageImpl.js:
- (WebInspector.ConsoleMessageImpl.prototype.stringFormatter):
- (WebInspector.ConsoleMessageImpl.prototype.floatFormatter):
- (WebInspector.ConsoleMessageImpl.prototype.integerFormatter):
- 2013-04-15 Timothy Hatcher <timothy@apple.com>
- Don't call clearHistory or markClean in TextEditor after the first time.
- This allows undo/redo in the content browser after editing in style sidebar.
- Reviewed by Joseph Pecoraro.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor): Set _initialStringNotSet.
- (WebInspector.TextEditor.prototype.set string.update):
- Call clearHistory and markClean only if _initialStringNotSet is set.
- And delete _initialStringNotSet afterwards.
- 2013-04-14 Timothy Hatcher <timothy@apple.com>
- Default dockSide to "undocked" if it isn't specified in the query parameters.
- This hides the dock buttons again in the iOS Inspector.
- Reviewed by Dan Bernstein.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- 2013-04-14 Timothy Hatcher <timothy@apple.com>
- Don't allow Command-Z to clear the editor.
- Reviewed by Antoine Quint.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.set string.update):
- Call clearHistory and markClean.
- 2013-04-13 Timothy Hatcher <timothy@apple.com>
- Fix an exception when inspecting a request that has a "Content-type"
- header instead of "Content-Type".
- All HTTP headers are case-insensitive, so we need to handle that.
- Reviewed by Ricky Mondello.
- * UserInterface/Resource.js:
- (WebInspector.Resource.prototype.get requestDataContentType):
- (WebInspector.Resource.prototype.get encodedSize):
- (WebInspector.Resource.prototype.get compressed):
- (WebInspector.Resource.prototype.updateForResponse):
- (WebInspector.Resource.prototype.increaseSize):
- Use valueForCaseInsensitiveKey to fetch headers.
- * UserInterface/ResourceDetailsSidebarPanel.js:
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection):
- Set requestDataContentType to "" if it is null so the split() that comes later works.
- * UserInterface/Utilities.js:
- (Object.prototype.valueForCaseInsensitiveKey): Added.
- 2013-04-13 Timothy Hatcher <timothy@apple.com>
- Rename "Post Data" to "Request Data" and show the data if it exists,
- not just for the "POST" method.
- Reviewed by Antoine Quint.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame):
- * UserInterface/Resource.js:
- (WebInspector.Resource):
- (WebInspector.Resource.prototype.get requestData):
- (WebInspector.Resource.prototype.get requestDataContentType):
- * UserInterface/ResourceClusterContentView.js:
- (WebInspector.ResourceClusterContentView.prototype.get requestContentView):
- (WebInspector.ResourceClusterContentView.prototype._canShowRequestContentView):
- * UserInterface/ResourceDetailsSidebarPanel.js:
- (WebInspector.ResourceDetailsSidebarPanel):
- (WebInspector.ResourceDetailsSidebarPanel.prototype.refresh):
- (WebInspector.ResourceDetailsSidebarPanel.prototype._goToRequestDataClicked):
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection):
- Remove a workaround for file data that is no longer needed.
- 2013-04-12 Timothy Hatcher <timothy@apple.com>
- Prevent a double layout in the content browser navigation bar when switching views.
- By default inserted navigation items schedule a layout soon, which prevents multiple consecutive layouts
- when inserting many navigation items. Forcing a layout after inserting navigation items causes the
- items to be displayed in their final positions and sizes right away.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange):
- (WebInspector.ContentBrowser.prototype._currentContentViewDidChange):
- (WebInspector.ContentBrowser.prototype._contentViewNavigationItemsDidChange):
- Call updateLayout after changing the navigation bar.
- * UserInterface/HierarchicalPathNavigationItem.js:
- (WebInspector.HierarchicalPathNavigationItem.prototype.set components):
- Use updateLayoutSoon to coalesce multiple changes.
- * UserInterface/NavigationBar.js:
- (WebInspector.NavigationBar.prototype.updateLayout): Clear the timeout.
- 2013-04-12 Timothy Hatcher <timothy@apple.com>
- Fix the layout of the selector arrows when components start to collapse.
- Reviewed by Joseph Pecoraro.
- * UserInterface/HierarchicalPathComponent.css:
- (.hierarchical-path-component.show-selector-arrows): Added.
- (.hierarchical-path:not(.always-show-last-path-component-separator) > .hierarchical-path-component.show-selector-arrows:last-child): Added.
- Specify correct min-widths that include space for the selector arrows.
- * UserInterface/HierarchicalPathComponent.js:
- (WebInspector.HierarchicalPathComponent): Add the show-selector-arrows class name to the element.
- 2013-04-12 Timothy Hatcher <timothy@apple.com>
- Add the ability to see POST data that isn't in the application/x-www-form-urlencoded format.
- <rdar://problem/12667485> REGRESSION (Safari 6): Missing POST request view for non-urlencoded data
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/ClusterContentView.js:
- (WebInspector.ClusterContentView.prototype.get handleCopyEvent): Added.
- Handles passing through the current content view's handleCopyEvent function.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView):
- (WebInspector.ContentView.isViewable):
- Added TextContentView.
- * UserInterface/DetailsSection.css:
- (.details-section > .content > .group > .row.simple > .value .go-to-arrow): Added.
- * UserInterface/FrameContentView.js:
- (WebInspector.FrameContentView.createPathComponent): Pass true to get double arrows.
- (WebInspector.FrameContentView.prototype.showResource): Added.
- (WebInspector.FrameContentView.prototype.showSourceCode): Return the view. Use showResource.
- (WebInspector.FrameContentView.prototype.showDOMTree): Return the view.
- * UserInterface/Images/Request.pdf: Added.
- * UserInterface/Images/Response.pdf: Added.
- * UserInterface/Main.html: Included new files.
- * UserInterface/PathComponentIcons.css:
- (.request-icon .icon): Added.
- (.response-icon .icon): Added.
- * UserInterface/ResourceClusterContentView.js: Added.
- (WebInspector.ResourceClusterContentView.createPathComponent):
- (WebInspector.ResourceClusterContentView):
- (WebInspector.ResourceClusterContentView.prototype.get resource):
- (WebInspector.ResourceClusterContentView.prototype.get responseContentView):
- (WebInspector.ResourceClusterContentView.prototype.get requestContentView):
- (WebInspector.ResourceClusterContentView.prototype.get selectionPathComponents):
- (WebInspector.ResourceClusterContentView.prototype.shown):
- (WebInspector.ResourceClusterContentView.prototype.closed):
- (WebInspector.ResourceClusterContentView.prototype.showRequest):
- (WebInspector.ResourceClusterContentView.prototype.showResponse):
- (WebInspector.ResourceClusterContentView.prototype._canShowRequestContentView):
- (WebInspector.ResourceClusterContentView.prototype._pathComponentForContentView):
- (WebInspector.ResourceClusterContentView.prototype._identifierForContentView):
- (WebInspector.ResourceClusterContentView.prototype._showContentViewForIdentifier):
- (WebInspector.ResourceClusterContentView.prototype._pathComponentSelected):
- (WebInspector.ResourceClusterContentView.prototype._resourceTypeDidChange):
- * UserInterface/ResourceContentView.js:
- (WebInspector.ResourceContentView):
- Removed code that handled resource type changes and concrete subclasses.
- That is now handled by ResourceClusterContentView.
- * UserInterface/ResourceDetailsSidebarPanel.js:
- (WebInspector.ResourceDetailsSidebarPanel.prototype._goToPostDataClicked): Added.
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshPostDataSection):
- Renamed Size to Data in the Post Data section. Added a go-to arrow.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.cookieForContentView): Handle ResourceClusterContentView.
- (WebInspector.ResourceSidebarPanel.prototype.showSourceCode): Ditto.
- (WebInspector.ResourceSidebarPanel.prototype.showResourceRequest): Added.
- * UserInterface/TextContentView.css: Added.
- (.content-view.text > .text-editor):
- * UserInterface/TextContentView.js: Added.
- (WebInspector.TextContentView):
- (WebInspector.TextContentView.prototype.get textEditor):
- (WebInspector.TextContentView.prototype.get navigationItems):
- (WebInspector.TextContentView.prototype.revealLine):
- (WebInspector.TextContentView.prototype.shown):
- (WebInspector.TextContentView.prototype.hidden):
- (WebInspector.TextContentView.prototype.closed):
- (WebInspector.TextContentView.prototype.get supportsSearch):
- (WebInspector.TextContentView.prototype.get numberOfSearchResults):
- (WebInspector.TextContentView.prototype.get hasPerformedSearch):
- (WebInspector.TextContentView.prototype.set automaticallyRevealFirstSearchResult):
- (WebInspector.TextContentView.prototype.performSearch):
- (WebInspector.TextContentView.prototype.searchCleared):
- (WebInspector.TextContentView.prototype.revealPreviousSearchResult):
- (WebInspector.TextContentView.prototype.revealNextSearchResult):
- (WebInspector.TextContentView.prototype.updateLayout):
- (WebInspector.TextContentView.prototype._togglePrettyPrint):
- (WebInspector.TextContentView.prototype._textEditorFormattingDidChange):
- (WebInspector.TextContentView.prototype._numberOfSearchResultsDidChange):
- 2013-04-11 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13630859> Remote Web Inspector doesn't work for some sites (114447)
- RWIInspectorFrontendHost always returns undefined for IFH.loadResourceSynchronously.
- Gracefully handle that in our frontend while we either implement it, or create
- a new Inspector protocol method to load resources through the backend.
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceMapManager.js:
- (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):
- * UserInterface/SourceMapResource.js:
- (WebInspector.SourceMapResource.prototype._requestResourceAsynchronously):
- 2013-04-11 Timothy Hatcher <timothy@apple.com>
- Force CodeMirror editors to be a stacking context to prevent creating many layers
- inside when another element overlaps.
- <rdar://problem/13608839> REGRESSION: Text in Web Inspector Source Code
- view looks heavy (double rendered?)
- Reviewed by Joseph Pecoraro.
- * UserInterface/CodeMirrorOverrides.css:
- (.CodeMirror): Added. Set z-index: 0. Position is already set in codemirror.css.
- 2013-04-10 Timothy Hatcher <timothy@apple.com>
- Make the Web Inspector database code tolerant of quota exceptions.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ImageUtilities.js:
- If we can't open the database it isn't the end of the world, we just will
- always generate the images and not cache them for better load times.
- 2013-04-10 Timothy Hatcher <timothy@apple.com>
- Drop the expected usage down to 5 MB to match the values in RWI and WK1.
- This fixes an exception on load for first time users.
- Reviewed by Brian Weinstein.
- * UserInterface/ImageUtilities.js:
- 2013-04-10 Timothy Hatcher <timothy@apple.com>
- Update the Style Attribute in the sidebar when the DOM attribute changes.
- Also only update a style rule for external changes if the editor isn't focused.
- This prevents external changes from fighting with user edits.
- <rdar://problem/13619049>
- Reviewed by Antoine Quint.
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._commitChanges):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._editorBlured): Added.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertiesChanged):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent):
- Simplify when we reset the content to only do it when not focused.
- * UserInterface/DOMTreeManager.js:
- (WebInspector.DOMTreeManager.prototype._loadNodeAttributes):
- Fire WebInspector.DOMNode.Event.AttributeModified. Remove StyleInvalidated event.
- 2013-04-10 Timothy Hatcher <timothy@apple.com>
- Make DOMNodeStyles mark as needing refresh in all cases when a stylesheet changes.
- The stylesheet change might be a rule that we didn't match yet, so checking existing matched
- rules for the stylesheet will not trigger a refresh. This code was added back when refresh was
- not as smart, so this is the correct thing to do now.
- <rdar://problem/13387359> Undoing selector change does not show selector affecting the page anywhere
- Reviewed by Antoine Quint.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype._styleSheetContentDidChange):
- Simplify by always calling _markAsNeedsRefresh.
- 2013-04-09 Timothy Hatcher <timothy@apple.com>
- Indent invalid style properties, not just blank lines.
- Also strike out text that is not recognized as a property or comment.
- This will now properly indent and strike out these two error cases:
- padding; 0;
- *line-height: 1;
- <rdar://problem/13608848> Checkbox missing for a style property
- Reviewed by Antoine Quint.
- * UserInterface/CSSStyleDeclarationTextEditor.css:
- Strike out spans that are not comments or marked properties.
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._contentChanged):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers):
- Call _markLinesWithCheckboxPlaceholder so the placeholders are added if needed for
- lines htat didn't have properties.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded):
- Remove use of __checkboxMarker, it is not set anymore.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._markLinesWithCheckboxPlaceholder):
- Renamed from _markBlankLinesWithCheckboxPlaceholder and taught how to mark only lines that
- need marked, and ignores the rest.
- 2013-04-08 Timothy Hatcher <timothy@apple.com>
- Avoid a console error when viewing Anonymous scripts.
- Reviewed by Geoffrey Garen.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.cookieForContentView):
- 2013-04-08 Timothy Hatcher <timothy@apple.com>
- Make the Scope Variables details sidebar work when evaluating in the Console.
- <rdar://problem/12831236> REGRESSION (6.0.3-Curie): Scope Chain shows nothing while debugging
- Reviewed by Joseph Pecoraro.
- * UserInterface/ScopeChainDetailsSidebarPanel.js:
- (WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh.delayedWork): Clear the timeout.
- (WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh): Set a timeout.
- 2013-04-08 Joseph Pecoraro <pecoraro@apple.com>
- Copy PrettyPrinter updates into UserInterface to enact the changes.
- Unreviewed, just moving reviewed code between directories.
- * UserInterface/CodeMirrorFormatters.js:
- * UserInterface/External/CodeMirror/javascript.js:
- * UserInterface/Formatter.js:
- (Formatter.prototype._handleToken):
- 2013-04-08 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13593779> Pretty printer should line "case" and "default" with "switch"
- Dedent before case/default and indent after, so it lines up with the switch.
- Reviewed by Timothy Hatcher.
- * Tools/PrettyPrinting/CodeMirrorFormatters.js:
- * Tools/PrettyPrinting/index.html:
- * Tools/PrettyPrinting/js-tests/switch-case-default-expected.js: Added.
- * Tools/PrettyPrinting/js-tests/switch-case-default.js: Added.
- 2013-04-08 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13584713> Pretty printer should gracefully handle single line if/else/for/do/while blocks
- This adds indentation support for single statement blocks. This had a
- pretty big performance cost pretty printing jquery.min.js (20ms), but
- I think it is worth it. In the inspector itself, I did not see pretty
- printing actually taking longer. I'll continue to look at performance.
- Reviewed by Timothy Hatcher.
- * Tools/PrettyPrinting/Formatter.js:
- (Formatter.prototype._handleToken):
- Let the Code modify state before / after the token is consumed.
- Let the formatters specify multiple dedents at once.
- * Tools/PrettyPrinting/FormatterDebug.js:
- (Formatter.prototype.debug):
- In JavaScript print out the previous lexical state.
- * Tools/PrettyPrinting/CodeMirrorFormatters.js:
- Pretty print a good chunk of JavaScript single statement blocks and
- if/else chains.
- * Tools/PrettyPrinting/javascript.js:
- Update to "near" trunk CodeMirror JavaScript. The most recent commit
- causes issues.
- * Tools/PrettyPrinting/index.html:
- * Tools/PrettyPrinting/js-tests/block-comment-expected.js: Added.
- * Tools/PrettyPrinting/js-tests/block-comment.js: Added.
- * Tools/PrettyPrinting/js-tests/single-statement-blocks-expected.js: Added.
- * Tools/PrettyPrinting/js-tests/single-statement-blocks.js: Added.
- Added some micro-tests for recent pretty printing changes.
- 2013-04-08 Joseph Pecoraro <pecoraro@apple.com>
- Add a little test running harness to the PrettyPrinter tool. No tests yet.
- Reviewed by Timothy Hatcher.
- * Tools/PrettyPrinting/index.html:
- 2013-04-08 Joseph Pecoraro <pecoraro@apple.com>
- Update the PrettyPrinting Tool to match UserInterface.
- Unreviewed tools change.
- * Tools/PrettyPrinting/codemirror.js:
- (window.CodeMirror):
- * Tools/PrettyPrinting/javascript.js:
- 2013-04-08 Timothy Hatcher <timothy@apple.com>
- Enable completions for resource content views.
- <rdar://problem/13598062>
- Reviewed by Antoine Quint.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor): Hook up a WebInspector.CodeMirrorCompletionController.
- 2013-04-08 Timothy Hatcher <timothy@apple.com>
- Delay computing suggestions for 250ms to keep from slowing down typing.
- <rdar://problem/13598014> CSS completions can slow down typing
- Reviewed by Antoine Quint.
- * UserInterface/CodeMirrorCompletionController.js:
- (WebInspector.CodeMirrorCompletionController.prototype.hideCompletions):
- (WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition):
- Clear the typing delay timeout.
- (WebInspector.CodeMirrorCompletionController.prototype._handleChange):
- Set _ignoreNextCursorActivity so hideCompletions isn't called.
- 2013-04-08 Antoine Quint <graouts@apple.com>
- <rdar://problem/13597681> Layers sidebar panel may flash popovers with stale content
- We only present the popover when the data grid node hasn't changed
- between the time we called into the backend and the time the callback
- is called.
- Reviewed by Timothy Hatcher.
- * UserInterface/LayerTreeSidebarPanel.js:
- (WebInspector.LayerTreeSidebarPanel.prototype._showPopoverForSelectedNode):
- 2013-04-08 Antoine Quint <graouts@apple.com>
- <rdar://problem/12892280> Layer tree panel data grid should refresh less frequently when layers for nodes are recreated
- Provide a custom DataGrid subclass for the Layers panel where we
- use CSS transforms to update the position of data grid nodes
- instead of relying on DOM order so that we can avoid DOM thrashing
- and retain scroll position for rapidly changing content. We also
- set the width of "Paints" and "Memory" columns for a nicely
- consistent formatting.
- Reviewed by Timothy Hatcher.
- * UserInterface/DetailsSectionDataGridRow.js:
- (WebInspector.DetailsSectionDataGridRow.prototype.set dataGrid):
- Perform a quick return in case the new data grid is the same
- as the previous in order to remove the possibility of appending
- the data grid's element if it was already the current data grid.
- * UserInterface/LayerTreeDataGrid.js: Added.
- (WebInspector.LayerTreeDataGrid):
- Initialize the DataGrid with a custom set of columns and set the
- width of the "Paints" and "Memory" columns.
- (WebInspector.LayerTreeDataGrid.prototype.insertChild):
- (WebInspector.LayerTreeDataGrid.prototype.removeChild):
- Override these DataGrid methods to perform our custom layout of
- cells when a child is added or removed.
- (WebInspector.LayerTreeDataGrid.prototype.setChildren):
- Public API used to set the list of children data grid nodes for
- this data grid. We compare this new list to the previous list
- and only remove / add the nodes that need to be, avoiding having
- to remove the entire set of children to update the nodes list.
- (WebInspector.LayerTreeDataGrid.prototype._updateChildren):
- Position the children data grid nodes using CSS transforms instead
- of DOM order. We also manually set the sibling relationship there
- since it can no longer be accomplished in insertChild() or
- removeChild() calls.
- (WebInspector.LayerTreeDataGrid.prototype._recalculateSiblings):
- Make this method a no-op since we manually perform the same task in
- _updateChildren().
- * UserInterface/LayerTreeDataGridNode.js:
- (WebInspector.LayerTreeDataGridNode):
- Add a new _outlets private ivar we use to stash the DOM elements
- we'll need to update when the node's data changes.
- (WebInspector.LayerTreeDataGridNode.prototype.createCells):
- Override this DataGridNode API in order to add a flag that cells
- were created which we'll use as a flag to allow the update of a
- cell's data in the data setter.
- (WebInspector.LayerTreeDataGridNode.prototype.createCellContent):
- (WebInspector.LayerTreeDataGridNode.prototype.set layer):
- (WebInspector.LayerTreeDataGridNode.prototype.get data):
- (WebInspector.LayerTreeDataGridNode.prototype.set data):
- Custom data setter as the default version would completely trash
- the DOM tree and replace it with a whole new set of elements to
- update the data. We choose a more incremental approach here since
- individual fields for this node may change (paint count being the
- most likely).
- (WebInspector.LayerTreeDataGridNode.prototype._makeOutlet):
- (WebInspector.LayerTreeDataGridNode.prototype._makeNameCell):
- Prepare the DOM elements used to present the node's data. Many
- elements for the name cell are dynamically added and removed in
- _updateNameCellData().
- (WebInspector.LayerTreeDataGridNode.prototype._updateCell):
- (WebInspector.LayerTreeDataGridNode.prototype._updateNameCellData):
- Update the information on outlets or their very availability based
- on the current data and represented layer.
- * UserInterface/LayerTreeSidebarPanel.js:
- (WebInspector.LayerTreeSidebarPanel.prototype.shown):
- (WebInspector.LayerTreeSidebarPanel.prototype.hidden):
- Remove the auto-sizing of data grid columns as we're not setting them
- to be constant for a more consistent look.
- (WebInspector.LayerTreeSidebarPanel.prototype._buildDataGridSection):
- Instantiate our new LayerTreeDataGrid class.
- (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid):
- Use the custom setChildren() API on LayerTreeDataGrid to change the
- children order.
- (WebInspector.LayerTreeSidebarPanel.prototype._updateDataGrid):
- * UserInterface/Main.html:
- Add LayerTreeDataGrid.js.
- 2013-04-07 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13584696> Pretty printer should preserve whitespace in multi-line comments
- Update CodeMirror to trunk to get a few recent fixes.
- This update includes project wide tailing whitespace and tab removal
- which is why so many files were changed.
- Rubber-stamped by Timothy Hatcher.
- * UserInterface/External/CodeMirror/clojure.js:
- * UserInterface/External/CodeMirror/codemirror.js:
- * UserInterface/External/CodeMirror/coffeescript.js:
- * UserInterface/External/CodeMirror/javascript.js:
- * UserInterface/External/CodeMirror/less.js:
- * UserInterface/External/CodeMirror/matchbrackets.js:
- * UserInterface/External/CodeMirror/overlay.js:
- * UserInterface/External/CodeMirror/sql.js:
- * UserInterface/External/CodeMirror/xml.js:
- 2013-04-07 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13043550> REGRESSION: Scrollbar renders behind position: sticky elements in the Web Inspector
- Give the Sidebar Panels a stacking context to work around the issue.
- Reviewed by Ricky Mondello.
- * UserInterface/Sidebar.css:
- (.sidebar > .panel):
- 2013-04-05 Joseph Pecoraro <pecoraro@apple.com>
- Add a small script to update the Tools/PrettyPrinting directory.
- My workflow for fixing a PrettyPrinting bug is to first update the Tools
- directory with exact replicas of files in UserInterface. Make changes
- and test with the debug page, and then transfer the files back to the
- inspector. This script helps automate those steps.
- Reviewed by Cody Krieger.
- * Scripts/update-codemirror-resources.rb:
- * Scripts/update-pretty-printer.rb: Added.
- 2013-04-05 Joseph Pecoraro <pecoraro@apple.com>
- Update the PrettyPrinting Tool with a few Debug changes.
- Unreviewed tools change.
- * Tools/PrettyPrinting/index.html:
- * Tools/PrettyPrinting/FormatterDebug.js:
- (.pad):
- (.debugToken):
- (Formatter.prototype.debug):
- Output null, undefined, or 'string' for tokens.
- Previously null and undefined output as '-'.
- 2013-04-05 Joseph Pecoraro <pecoraro@apple.com>
- Update the PrettyPrinting Tool with CodeMirror CSS changes.
- Unreviewed tools change.
- * Tools/PrettyPrinting/codemirror-additions.css: Added.
- * Tools/PrettyPrinting/codemirror.css:
- * Tools/PrettyPrinting/index.html:
- 2013-04-05 Timothy Hatcher <timothy@apple.com>
- Tweak Web Inspector's image cache database.
- We only want to keep the image data around for the first use. These
- images are typically only used in one place. This keeps performance
- good during page load and frees memory that typically won't be reused.
- Also add transaction error logging and a better expected database size.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ImageUtilities.js:
- (_logSQLTransactionError):
- (_prefetchCachedImagesAndUpdate):
- (.restoreImageData):
- (restoreImageFromStorage):
- 2013-04-05 Joseph Pecoraro <pecoraro@apple.com>
- Update the PrettyPrinting Tool with new formatter changes.
- Also some tweaks so that the Tools files are identical to the ones in
- the actual Web Inspector (UserInterface).
- Unreviewed tools change.
- * Tools/PrettyPrinting/CodeMirrorFormatters.js:
- * Tools/PrettyPrinting/Formatter.js:
- (Formatter.prototype.format):
- (Formatter.prototype._handleToken):
- (Formatter.prototype._handleEmptyLine):
- * Tools/PrettyPrinting/FormatterContentBuilder.js:
- (FormatterContentBuilder.prototype.appendNewline):
- (FormatterContentBuilder.prototype.appendMultipleNewlines):
- (FormatterContentBuilder.prototype.removeLastNewline):
- (FormatterContentBuilder.prototype._addFormattedLineEnding):
- * Tools/PrettyPrinting/FormatterDebug.js: Added.
- (Formatter.prototype.debug):
- * Tools/PrettyPrinting/Utilities.js: Added.
- * Tools/PrettyPrinting/codemirror.js:
- * Tools/PrettyPrinting/css.js:
- * Tools/PrettyPrinting/index.html:
- * Tools/PrettyPrinting/javascript.js:
- 2013-04-05 Joseph Pecoraro <pecoraro@apple.com>
- Win back performance in pretty-printing large files
- With preserving newlines we lost a few ms. This wins back at
- least the same amount and a bit more on JavaScript (2-3ms).
- Checking if the current token is a comment is a very common
- in our pretty printers. Only perform the work once, and pass
- the result around as needed to prevent duplicated work.
- Reviewed by Timothy Hatcher.
- * UserInterface/CodeMirrorFormatters.js:
- * UserInterface/Formatter.js:
- (Formatter.prototype._handleToken):
- 2013-04-05 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13582023> Web Inspector removes blank lines in my JS when pretty printing
- When pretty-printing already pretty code we did a poor job of preserving
- the nice extra whitespace the original code had. This preserves the empty
- (whitespace only) lines in the original code.
- Because our pretty printer sometimes adds multiple newlines, like in CSS
- after each rule, we don't need to add yet another newline to just preserve
- a blank line from the original content. Handle that gracefully.
- This introduces a minor performance regression (1-3ms in large content)
- but I think it is well worth it considering the results. Much prettier!
- JavaScript Test:
- Foo.prototype.f = function() {
- // ...
- }
- Foo.prototype.g = function() {
- // ...
- }
- CSS Test:
- /* comment one */
-
- /* comment two */
- Reviewed by Antoine Quint.
- * UserInterface/Formatter.js:
- (Formatter.prototype.format):
- (Formatter.prototype._handleToken):
- (Formatter.prototype._handleEmptyLine):
- Call handleEmptyLine for whitespace only lines, and force
- append a newline unless the builder just had multiple.
- * UserInterface/FormatterContentBuilder.js:
- (FormatterContentBuilder):
- (FormatterContentBuilder.prototype.appendNewline):
- (FormatterContentBuilder.prototype.appendMultipleNewlines):
- Helper for appending multiple newlines, to set some extra state.
- 2013-04-04 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13583718> Pretty printing should not move comments to the end of the previous line
- Previously we removed newlines before comments if they were after a
- semicolon. This was intended to keep comments on the same line as code.
- This could backfire if the comment was really on actually on the next
- line. So be more specific, and don't remove the previous newline if
- the comment is the first token on a line.
- JavaScript Test:
- function() {
- var a;
- // test
- }
- CSS Test:
- a {
- color: red;
- /* test */
- }
- Reviewed by Timothy Hatcher.
- * UserInterface/CodeMirrorFormatters.js:
- * UserInterface/Formatter.js:
- (Formatter.prototype.format):
- (Formatter.prototype._handleToken):
- 2013-04-05 Antoine Quint <graouts@apple.com>
- <rdar://problem/13472300> Layers in sidebar panel should use iconography
- Refreshing the look of the Layers sidebar panel data grid nodes
- to use icons to identify the kind of layers presented (element,
- pseudo-element or reflection). Also, we mark the pseudo-element
- part of the CSS selector by displaying it in lighter text as well
- as showing a " Ñ Reflection" extra label in the case of reflections.
- Finally, we also trim the text in the CSS selector label and shorten
- it to make room for the go-to arrow button should it be visible
- when hovering the data grid node.
- Reviewed by Timothy Hatcher.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/Images/PseudoElement.pdf: Added.
- * UserInterface/Images/Reflection.pdf: Added.
- * UserInterface/LayerTreeDataGridNode.js:
- (WebInspector.LayerTreeDataGridNode.prototype.createCellContent):
- (WebInspector.LayerTreeDataGridNode.prototype.set layer):
- (WebInspector.LayerTreeDataGridNode.prototype._createNodeCellContent):
- (WebInspector.LayerTreeDataGridNode.prototype._goToArrowWasClicked):
- * UserInterface/LayerTreeSidebarPanel.css:
- (.layer-tree.panel .data-grid table.data):
- (.layer-tree.panel .data-container tr):
- (.layer-tree.panel .data-container td > div):
- (.layer-tree.panel .data-container .name-column):
- (.layer-tree.panel .data-container .name-column .icon):
- (.layer-tree.panel .data-container tr.reflection .name-column .icon):
- (.layer-tree.panel .data-container tr.pseudo-element .name-column .icon):
- (.layer-tree.panel .data-container .name-column .label):
- (.layer-tree.panel .data-container tr:hover .name-column .label):
- (.layer-tree.panel .data-container .name-column .reflection):
- (.layer-tree.panel .data-container tr.selected .name-column .reflection):
- (.layer-tree.panel .data-container .go-to-arrow):
- (.layer-tree.panel .data-container tr:hover .go-to-arrow):
- 2013-04-04 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13573165> Pressing Esc in a readOnly editor should still focus the quick console
- Reviewed by Timothy Hatcher.
- * UserInterface/EditingSupport.js:
- (WebInspector.isEventTargetAnEditableField):
- 2013-04-04 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13580154> DOMTreeOutline.js:504: JS ERROR: TypeError: 'true' is not a function (evaluating 'this._contextMenuCallback(contextMenu, node)'
- DOMTreeOutline constructors were passing 3 booleans. In the case of
- outlines in the Console it was passing "true" expecting that to provide
- a "Reveal Element" context menu item, but that mis-matched the
- constructor. Fix the error, and add back the context menu item.
- Reviewed by Timothy Hatcher.
- * UserInterface/DOMTreeOutline.js:
- (WebInspector.DOMTreeOutline):
- Update parameters.
- (WebInspector.DOMTreeOutline.prototype.revealElement):
- (WebInspector.DOMTreeOutline.prototype._populateContextMenu):
- Append a "Reveal Element" context menu item if needed.
- * UserInterface/ObjectPropertiesSection.js:
- (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):
- Update the string. We don't have a panel, the nav bar labels this "DOM Tree".
- 2013-04-04 Joseph Pecoraro <pecoraro@apple.com>
- ERROR URIError: URI error in FrameResourceManager.prototype.resourceForScript
- decodeURI can throw a URIError, e.g. decodeURI("%"). Protect against
- this in FrameResourceManager. This method is meant to work with both
- already decoded and encoded URIs.
- Reviewed by Timothy Hatcher.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.resourceForScript):
- Wrap the code with decodeURI in a try/catch.
- 2013-04-04 Timothy Hatcher <timothy@apple.com>
- Fix opening the Web Inspector in Production builds.
- A function declaration was pushed up next to a parenthesis when minified.
- This made the parser think we were trying to make a call. Adding a semicolon
- is all we need to make things work again when combined and minified.
- <rdar://problem/13577591> REGRESSION (r50120-50124): Can't open Web Inspector
- Reviewed by Ricky Mondello.
- * UserInterface/MIMETypeUtilities.js:
- (WebInspector.fileExtensionForURL):
- (WebInspector.mimeTypeForFileExtension):
- 2013-04-04 Antoine Quint <graouts@apple.com>
- <rdar://problem/13570821> Reasons for compositing popover should adjust position if inspector window resizes
- Allow for popovers to have their target frame updated independently
- of their content so we can efficiently update their position as the
- element for which a popover is presented changes position. Now that
- we have this support, we update the popover presentation when the
- window size changes and a popover is visible in the Layers sidebar
- panel.
- Reviewed by Timothy Hatcher.
- * UserInterface/Breakpoint.js:
- (WebInspector.Breakpoint.prototype._showEditBreakpointPopover):
- Adopt the updated Popover API.
- * UserInterface/LayerTreeSidebarPanel.js:
- (WebInspector.LayerTreeSidebarPanel):
- Track window resize events so that we may update the popover
- presentation as it changes.
- (WebInspector.LayerTreeSidebarPanel.prototype._windowResized):
- Update the popover presentation in case there is a visible popover.
- (WebInspector.LayerTreeSidebarPanel.prototype._showPopoverForSelectedNode):
- Use the new _updatePopoverForSelectedNode() method as the callback.
- (WebInspector.LayerTreeSidebarPanel.prototype._updatePopoverForSelectedNode):
- Adopt the updated Popover API and only set the popover's content
- should one be provided, ie. when the method is called as callback
- to _contentForPopover().
- * UserInterface/Popover.js:
- (WebInspector.Popover):
- New private ivars to track some popover presentation state.
- (WebInspector.Popover.prototype.get visible):
- New public property to let clients check on popover visibility.
- (WebInspector.Popover.prototype.set content):
- (WebInspector.Popover.prototype.present):
- New public property and method signature to let clients set the
- content of the popover independently of its presentation attributes.
- (WebInspector.Popover.prototype._update):
- New private method called to update the presentation state
- of the popover and basically the old content of the present()
- method with use of the presentation ivars instead of method
- arguments and some optimizations to check that we only update
- the content and draw the canvas background should they have
- changed.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype._showPopover):
- Adopt the updated Popover API.
- 2013-04-04 Timothy Hatcher <timothy@apple.com>
- Make ContentViewContainer robust against null/undefined elements in contentView.scrollableElements.
- DatabaseTableContentView can return a null element when the table is empty, and this causes exceptions.
- Reviewed by Antoine Quint.
- * UserInterface/ContentViewContainer.js:
- (WebInspector.ContentViewContainer.prototype._saveScrollPositionsForContentView):
- (WebInspector.ContentViewContainer.prototype._restoreScrollPositionsForContentView):
- 2013-04-04 Timothy Hatcher <timothy@apple.com>
- Don't use localStorage to cache generated images in the Web Inspector.
- This migrates ImageUtilities off localStorage to a SQL database.
- <rdar://problem/13574226> Web Inspector breaks when file:/// localStorage hits 5MB limit
- Rubber-stamped by Antoine Quint.
- * UserInterface/ImageUtilities.js:
- (_devicePixelRatioChanged):
- (_registerGeneratedImageUpdateFunction):
- (_logSQLError):
- (_prefetchCachedImagesAndUpdate.complete):
- (_prefetchCachedImagesAndUpdate._generatedImageCacheDatabase.transaction):
- (_prefetchCachedImagesAndUpdate):
- (restoreImageFromStorage):
- (generateColoredImagesForCSS.restoreImages):
- (generateColoredImagesForCSS.restoreImages.restoreActiveImages):
- (generateColoredImagesForCSS.restoreImage):
- (generateColoredImagesForCSS.update):
- (generateColoredImagesForCSS.generateImage):
- (generateEmbossedImages):
- (generateEmbossedImages.generateImages):
- (generateEmbossedImages.generateImages.generateActiveImages):
- 2013-04-04 Antoine Quint <graouts@apple.com>
- <rdar://problem/13570779> Reasons for compositing popover in layers sidebar is poorly aligned with selected datagrid row
- Also apply padding to the target frame size, not just the origin, and
- adjust the padding down to 2 to match the padding used for breakpoints.
- Reviewed by Timothy Hatcher.
- * UserInterface/LayerTreeSidebarPanel.js:
- (WebInspector.LayerTreeSidebarPanel.prototype._showPopoverForSelectedNode):
- 2013-04-03 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13573798> REGRESSION: CodeMirror editor doesn't refresh when split console is hidden and more of the content view is visible
- Reviewed by Timothy Hatcher.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole.prototype.consoleLogVisibilityChanged):
- Trigger a DidResize event because the console would have changed
- its visible size.
- 2013-04-03 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13474739> Respect sourcesContent in SourceMaps for SourceMapResources
- If the resource's contents are available via the Source Map's
- sourcesContent array, then use them. Otherwise, go the normal path of
- downloading the resource. Because neither path can get the MIME type of
- the resource right now, fallback to trying to determine the MIME type
- from the resource's file extension.
- Reviewed by Timothy Hatcher.
- * UserInterface/Main.html:
- * UserInterface/MIMETypeUtilities.js: Added.
- (WebInspector.fileExtensionForURL):
- (WebInspector.mimeTypeForFileExtension):
- Helpers for extensions and MIME types.
- * UserInterface/SourceMapResource.js:
- (WebInspector.SourceMapResource.prototype._requestResourceAsynchronously):
- Check for embedded sourcesContent content, and determine the MIME type
- from the file extension.
- * UserInterface/Resource.js:
- Be sure to give types to some of the MIME types for CodeMirror supported
- types, which may show up as SourceMap sources.
- 2013-04-03 Joseph Pecoraro <pecoraro@apple.com>
- ERROR: console.assert(alternateImage) in ToggleButtonNavigationItem.js:4
- Remove assert that there must be an alternateImage. The undock button
- does not have an alternate image, and this assert would trigger each
- time the inspector was opened.
- Reviewed by Timothy Hatcher.
- * UserInterface/ToggleButtonNavigationItem.js:
- (WebInspector.ToggleButtonNavigationItem):
- 2013-04-03 Jessie Berlin <jberlin@apple.com>
- Ran update-safari-localizable-strings.
- * Localizations/en.lproj/localizedStrings.js:
- 2013-04-03 Timothy Hatcher <timothy@apple.com>
- Add switch to activate / deactivate all breakpoints.
- <rdar://problem/11329057> REGRESSION (Safari 6): Switch to activate / deactivate all
- breakpoints is missing (debugger)
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/Breakpoint.js:
- (WebInspector.Breakpoint.prototype.get resolved):
- Check DebuggerManager.breakpointsEnabled. This is the easiest approach to get the gray
- icons for breakpoints in all the right places without adding checks at all call sites.
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager):
- (WebInspector.DebuggerManager.prototype.get breakpointsEnabled):
- (WebInspector.DebuggerManager.prototype.set breakpointsEnabled):
- (WebInspector.DebuggerManager.prototype._updateBreakOnExceptionsState):
- Check the breakpointsEnabled setting when updating the break on exception state.
- * UserInterface/DebuggerSidebarPanel.css:
- (.sidebar > .panel.debugger .breakpoint-toggle): Added.
- (.sidebar > .panel.debugger .breakpoint-toggle.enabled): Added.
- * UserInterface/DebuggerSidebarPanel.js:
- (WebInspector.DebuggerSidebarPanel):
- (WebInspector.DebuggerSidebarPanel.prototype._breakpointsToggleButtonClicked):
- Added a button to the Breakpoints section header.
- 2013-04-03 Antoine Quint <graouts@apple.com>
- <rdar://problem/13566082> DOMTreeManager.highlightRect() does not take scrolling into account
- Add support for the new "usePageCoordinates" argument to DOM.highlightRect()
- and set it to true when highlighting the bounds of generated layers.
- Reviewed by Timothy Hatcher.
- * UserInterface/DOMTreeManager.js:
- (WebInspector.DOMTreeManager.prototype.highlightRect):
- * UserInterface/InspectorBackendCommands.js:
- * UserInterface/LayerTreeSidebarPanel.js:
- (WebInspector.LayerTreeSidebarPanel.prototype._highlightSelectedNode):
- 2013-04-03 Antoine Quint <graouts@apple.com>
- <rdar://problem/13105224> Reflect data grid timeline filters in the Timeline overview
- Apply the filtering of records directly into the timelineOverviewRecordsWithType()
- method which is the method used by the TimelineOverview to gather data. Additionally,
- we now update the content of the TimelineOverview when the filters applied to one of
- the data grids change such that the timeline overview is kept in sync.
- Reviewed by Timothy Hatcher.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView.prototype.timelineOverviewRecordsWithType):
- (WebInspector.TimelinesContentView.prototype._dataGridFiltersDidChange):
- 2013-04-03 Antoine Quint <graouts@apple.com>
- <rdar://problem/13557373> Layers panel doesn't know how to account for anonymous layers
- Handle the new "isAnonymous" property on the protocol and the renamed
- "pseudoElement" property. We also format use of pseudo-elements better
- and handle the somewhat unlikely possibility that we would deal with
- layers with unknown nodes.
- Reviewed by Timothy Hatcher.
- * Localizations/en.lproj/localizedStrings.js:
- New localized string for "Unknown node".
- * UserInterface/LayerTreeDataGridNode.js:
- (WebInspector.LayerTreeDataGridNode.prototype.createCellContent):
- Update the "no-node" class on the data grid node's element.
- (WebInspector.LayerTreeDataGridNode.prototype.set layer):
- Set an "Unknown node" label for layers with an unknown node, which
- shouldn't really happen, but we should be prepared for the possibility.
- Seeing this message means that the agent should be taught how to deal
- with a probably edge case. We also update the code to deal with the
- "pseudoElement" property instead of "pseudoClass" to match the protocol
- change. Finally, we also update the "no-node" class on the data grid's node.
- (WebInspector.LayerTreeDataGridNode.prototype._updateDOMNodeAvailability):
- New method to update the "no-node" class on the data grid's node so
- that we may hide the go-to arrow button in the case where there is
- no associated node.
- * UserInterface/LayerTreeSidebarPanel.css:
- (.layer-tree.panel .data-grid tr.no-node .go-to-arrow):
- Hide the go-to arrow button in the case where there is no associated node.
- * UserInterface/LayerTreeSidebarPanel.js:
- (WebInspector.LayerTreeSidebarPanel.prototype._highlightSelectedNode):
- Also use highlightRect() in the case where the layer is anonymous.
- 2013-04-02 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13548470> REGRESSION: Web inspector hung after searching for "swf"
- Reviewed by Timothy Hatcher.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype._scrollIntoViewCentered):
- Be more careful providing a center margin when the text size and editor
- height can be fractional. If the margin is greater than half the size of
- the editor, CodeMirror gets stuck in an infinite loop.
- 2013-04-02 Joseph Pecoraro <pecoraro@apple.com>
- ERROR: TypeError: 'undefined' is not an object (evaluating 'this._profileView.showTimeAsPercent.value')
- When selecting a CSS Profile, displayProfile could trigger from the
- superclass constructor before the showTimeAsPercent Setting was
- initialized, causing this error. ProfileView's are assumed to have
- this property, and the ProfileView constructor had an unused
- parameter, which looks like it was intended for this purpose.
- Reviewed by Timothy Hatcher.
- * UserInterface/CSSSelectorProfileView.js:
- (WebInspector.CSSSelectorProfileView):
- * UserInterface/JavaScriptProfileView.js:
- (WebInspector.JavaScriptProfileView):
- * UserInterface/ProfileView.js:
- (WebInspector.ProfileView):
- 2013-04-02 Timothy Hatcher <timothy@apple.com>
- Update toolbar layout for recent flex box changes.
- <rdar://problem/13556024>
- Reviewed by Joseph Pecoraro.
- * UserInterface/Toolbar.css:
- (.toolbar .item-section): Added min-width: -webkit-min-content.
- min-width now defaults to 0, but we need the sections to stop at the
- content size so the JavaScript layout function can do the right thing.
- 2013-04-02 Antoine Quint <graouts@apple.com>
- <rdar://problem/13545256> Automatic selection of a CSS profile upon finishing recording fails to show any content
- Make sure we set the "showAsTimePercent" property before calling super since
- it may be used by the generated WebInspector.CSSSelectorDataGridNode in
- displayProfile() which would be called in the super call in the case where
- the view is created as the profile finishes recording.
- Reviewed by Timothy Hatcher.
- * UserInterface/CSSSelectorProfileView.js:
- (WebInspector.CSSSelectorProfileView):
- 2013-04-01 Timothy Hatcher <timothy@apple.com>
- Fix the icons for the exception breakpoints.
- <rdar://problem/13552326> REGRESSION: Exception breakpoints are missing custom icons
- Reviewed by Joseph Pecoraro.
- * UserInterface/DebuggerSidebarPanel.js:
- (WebInspector.DebuggerSidebarPanel.ExceptionIconStyleClassName): Added.
- This property was expected to exist but got removed at some point.
- BreakpointTreeElement property handled undefined and used the generic icon.
- 2013-04-01 Timothy Hatcher <timothy@apple.com>
- Compressed PNGs with pngcrush and further reduced the size of some PDFs by re-exporting them. Removed some unused images too.
- This goes from 2.1 MB of images down to 1.2 MB.
- Rubber-stamped by Joseph Pecoraro.
- * UserInterface/Images/ApplicationCache.png:
- * UserInterface/Images/ApplicationCache@2x.png:
- * UserInterface/Images/ApplicationCacheManifest.png:
- * UserInterface/Images/ApplicationCacheManifest@2x.png:
- * UserInterface/Images/Breakpoint.png:
- * UserInterface/Images/Breakpoint@2x.png:
- * UserInterface/Images/BreakpointInactive.png:
- * UserInterface/Images/BreakpointInactive@2x.png:
- * UserInterface/Images/ClippingGeneric.png:
- * UserInterface/Images/ClippingGeneric@2x.png:
- * UserInterface/Images/ClippingJS.png:
- * UserInterface/Images/ClippingJS@2x.png:
- * UserInterface/Images/Close.pdf:
- * UserInterface/Images/Colors.png:
- * UserInterface/Images/Colors@2x.png:
- * UserInterface/Images/Cookie.png:
- * UserInterface/Images/Cookie@2x.png:
- * UserInterface/Images/Crosshair.pdf:
- * UserInterface/Images/DOMCharacterData.pdf:
- * UserInterface/Images/DOMComment.pdf:
- * UserInterface/Images/DOMDocument.pdf:
- * UserInterface/Images/DOMDocumentType.pdf:
- * UserInterface/Images/DOMElement.pdf:
- * UserInterface/Images/DOMNode.pdf:
- * UserInterface/Images/DOMTextNode.pdf:
- * UserInterface/Images/DOMTree.pdf:
- * UserInterface/Images/Database.png:
- * UserInterface/Images/Database@2x.png:
- * UserInterface/Images/DatabaseTable.png:
- * UserInterface/Images/DatabaseTable@2x.png:
- * UserInterface/Images/DisclosureTriangleSmallClosed.pdf:
- * UserInterface/Images/DisclosureTriangleSmallOpen.pdf:
- * UserInterface/Images/DockBottom.pdf:
- * UserInterface/Images/DockRight.pdf:
- * UserInterface/Images/DocumentCSS.png:
- * UserInterface/Images/DocumentCSS@2x.png:
- * UserInterface/Images/DocumentFont.png:
- * UserInterface/Images/DocumentFont@2x.png:
- * UserInterface/Images/DocumentGeneric.png:
- * UserInterface/Images/DocumentGeneric@2x.png:
- * UserInterface/Images/DocumentImage.png:
- * UserInterface/Images/DocumentImage@2x.png:
- * UserInterface/Images/DocumentJS.png:
- * UserInterface/Images/DocumentJS@2x.png:
- * UserInterface/Images/DocumentMarkup.png:
- * UserInterface/Images/DocumentMarkup@2x.png:
- * UserInterface/Images/EventListener.pdf:
- * UserInterface/Images/Exception.pdf:
- * UserInterface/Images/FilterFieldGlyph.pdf:
- * UserInterface/Images/FolderGeneric.png:
- * UserInterface/Images/FolderGeneric@2x.png:
- * UserInterface/Images/Function.pdf:
- * UserInterface/Images/HierarchicalNavigationItemChevron.pdf:
- * UserInterface/Images/InstructionPointer.png:
- * UserInterface/Images/InstructionPointer@2x.png:
- * UserInterface/Images/LeftSidebarClose.pdf: Removed.
- * UserInterface/Images/LeftSidebarOpen.pdf: Removed.
- * UserInterface/Images/LessColumns.pdf:
- * UserInterface/Images/LocalStorage.png:
- * UserInterface/Images/LocalStorage@2x.png:
- * UserInterface/Images/Log.png:
- * UserInterface/Images/Log@2x.png:
- * UserInterface/Images/MoreColumns.pdf:
- * UserInterface/Images/NavigationItemAngleBrackets.pdf:
- * UserInterface/Images/NavigationItemBug.pdf:
- * UserInterface/Images/NavigationItemCurleyBraces.pdf:
- * UserInterface/Images/NavigationItemFile.pdf:
- * UserInterface/Images/NavigationItemLayers.pdf:
- * UserInterface/Images/NavigationItemLog.pdf:
- * UserInterface/Images/NavigationItemRuler.pdf: Removed.
- * UserInterface/Images/NavigationItemStopwatch.pdf:
- * UserInterface/Images/NavigationItemStorage.pdf:
- * UserInterface/Images/Network.png:
- * UserInterface/Images/Network@2x.png:
- * UserInterface/Images/NetworkBarBlue.png:
- * UserInterface/Images/NetworkBarBlue@2x.png:
- * UserInterface/Images/NetworkBarGray.png:
- * UserInterface/Images/NetworkBarGray@2x.png:
- * UserInterface/Images/NetworkBarGreen.png:
- * UserInterface/Images/NetworkBarGreen@2x.png:
- * UserInterface/Images/NetworkBarLabelCalloutLeft.pdf:
- * UserInterface/Images/NetworkBarLabelCalloutRight.pdf:
- * UserInterface/Images/NetworkBarLabelCalloutWhiteLeft.pdf:
- * UserInterface/Images/NetworkBarLabelCalloutWhiteRight.pdf:
- * UserInterface/Images/NetworkBarOrange.png:
- * UserInterface/Images/NetworkBarOrange@2x.png:
- * UserInterface/Images/NetworkBarPurple.png:
- * UserInterface/Images/NetworkBarPurple@2x.png:
- * UserInterface/Images/NetworkBarRed.png:
- * UserInterface/Images/NetworkBarRed@2x.png:
- * UserInterface/Images/NetworkBarWhiteFlat.png:
- * UserInterface/Images/NetworkBarWhiteFlat@2x.png:
- * UserInterface/Images/NetworkBarYellow.png:
- * UserInterface/Images/NetworkBarYellow@2x.png:
- * UserInterface/Images/NetworkHollowBarBlue.png:
- * UserInterface/Images/NetworkHollowBarBlue@2x.png:
- * UserInterface/Images/NetworkHollowBarGray.png:
- * UserInterface/Images/NetworkHollowBarGray@2x.png:
- * UserInterface/Images/NetworkHollowBarGreen.png:
- * UserInterface/Images/NetworkHollowBarGreen@2x.png:
- * UserInterface/Images/NetworkHollowBarOrange.png:
- * UserInterface/Images/NetworkHollowBarOrange@2x.png:
- * UserInterface/Images/NetworkHollowBarPurple.png:
- * UserInterface/Images/NetworkHollowBarPurple@2x.png:
- * UserInterface/Images/NetworkHollowBarRed.png:
- * UserInterface/Images/NetworkHollowBarRed@2x.png:
- * UserInterface/Images/NetworkHollowBarYellow.png:
- * UserInterface/Images/NetworkHollowBarYellow@2x.png:
- * UserInterface/Images/Pause.pdf:
- * UserInterface/Images/Profile.png:
- * UserInterface/Images/Profile@2x.png:
- * UserInterface/Images/Recording.png:
- * UserInterface/Images/RecordingHovered.png:
- * UserInterface/Images/RecordingHovered@2x.png:
- * UserInterface/Images/RecordingStopped.png:
- * UserInterface/Images/RecordingStopped@2x.png:
- * UserInterface/Images/ResultLine.pdf:
- * UserInterface/Images/Resume.pdf:
- * UserInterface/Images/RightSidebarClose.pdf: Removed.
- * UserInterface/Images/RightSidebarOpen.pdf: Removed.
- * UserInterface/Images/Script.png:
- * UserInterface/Images/Script@2x.png:
- * UserInterface/Images/SessionStorage.png:
- * UserInterface/Images/SessionStorage@2x.png:
- * UserInterface/Images/SourceCode.pdf:
- * UserInterface/Images/StepInto.pdf:
- * UserInterface/Images/StepOut.pdf:
- * UserInterface/Images/StepOver.pdf:
- * UserInterface/Images/Stopwatch.png:
- * UserInterface/Images/Stopwatch@2x.png:
- * UserInterface/Images/StyleRuleAuthor.pdf:
- * UserInterface/Images/StyleRuleInherited.pdf:
- * UserInterface/Images/StyleRuleInheritedElement.pdf:
- * UserInterface/Images/StyleRuleInspector.pdf:
- * UserInterface/Images/StyleRuleUser.pdf:
- * UserInterface/Images/StyleRuleUserAgent.pdf:
- * UserInterface/Images/TimelineBarBlue.png:
- * UserInterface/Images/TimelineBarBlue@2x.png:
- * UserInterface/Images/TimelineBarOrange.png:
- * UserInterface/Images/TimelineBarOrange@2x.png:
- * UserInterface/Images/TimelineBarPurple.png:
- * UserInterface/Images/TimelineBarPurple@2x.png:
- * UserInterface/Images/ToggleArrowDown.pdf: Removed.
- * UserInterface/Images/ToggleArrowUp.pdf: Removed.
- * UserInterface/Images/Undock.pdf:
- * UserInterface/Images/UserInputPrompt.pdf:
- * UserInterface/Images/UserInputPromptPrevious.pdf:
- * UserInterface/Images/UserInputResult.pdf:
- 2013-03-31 Timothy Hatcher <timothy@apple.com>
- Allow changing Web Inspector dock sides without undocking first.
- Holding option will change the undock button to the opposite attachment side. When clicked
- the button will change to the other attachment side. Holding option with allow undock. This
- keeps the last used option available if the user hardly undocks but frequently changes sides.
- rdar://problem/13543127
- Reviewed by Antoine Quint.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/Images/Dock.pdf: Removed.
- * UserInterface/Images/DockBottom.pdf: Added.
- * UserInterface/Images/DockRight.pdf: Added.
- * UserInterface/Main.js:
- (WebInspector.loaded): Added key event listeners.
- (WebInspector.contentLoaded): Use ToggleControlToolbarItem for undock button.
- (WebInspector._windowKeyDown): Added.
- (WebInspector._windowKeyUp): Added.
- (WebInspector._undock):
- (WebInspector._updateDockNavigationItems):
- Set and check toggled state for undock button and do the right thing.
- * UserInterface/ToggleButtonNavigationItem.js:
- (WebInspector.ToggleButtonNavigationItem.prototype.set alternateToolTip): Added.
- (WebInspector.ToggleButtonNavigationItem.prototype.set alternateImage): Added.
- 2013-04-01 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13492413> Improve line number subtitle for SourceMap Breakpoints in Debugger sidebar
- If a breakpoint is in a SourceMapResource, there is a subtitle showing
- the original location. If the original location is in a formatted file
- show the italics formatted location that you would jump to. Don't show
- a subtitle for breakpoints in formatted resources, just the Line:Column.
- Reviewed by Timothy Hatcher.
- * UserInterface/BreakpointTreeElement.css:
- (.item.breakpoint .subtitle.formatted-location):
- Italics if the subtitle is displaying a formatted location.
- * UserInterface/BreakpointTreeElement.js:
- (WebInspector.BreakpointTreeElement):
- (WebInspector.BreakpointTreeElement.prototype._updateTitles):
- For SourceMap resources, show the formatted / original location.
- Always have the real original location in the tooltip.
- (WebInspector.BreakpointTreeElement.prototype._breakpointLocationDidChange):
- Update the titles if any location changes (the original file may
- have been formatted, and we'd want to update for that).
- * UserInterface/GeneralTreeElement.js:
- (WebInspector.GeneralTreeElement.prototype.get subtitleElement):
- Be sure to create the title element the subtitle gets appended to.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.showOriginalOrFormattedSourceCodeLocation):
- This essentially means, show location in the editor.
- * UserInterface/SourceCodeLocation.js:
- (WebInspector.SourceCodeLocation.prototype.formattedLocationString):
- Helper for getting the display string for the formatted location.
- 2013-04-01 Joseph Pecoraro <pecoraro@apple.com>
- Avoid some asserts that can happen when reformatting files with breakpoints.
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype._updateBreakpointLocation):
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.updateStyles):
- (WebInspector.TextEditor.prototype._removeBreakpointFromLineAndColumn):
- 2013-03-29 Timothy Hatcher <timothy@apple.com>
- Add CSS as a known source type.
- <rdar://problem/13498380> ASSERTION: IssueMessage.js:64: Unknown issue source: css
- Reviewed by Ricky Mondello.
- * UserInterface/IssueMessage.js:
- (WebInspector.IssueMessage):
- 2013-03-29 Timothy Hatcher <timothy@apple.com>
- Don't try to toggle visibility if a toggle is already pending.
- <rdar://problem/13401011> New Shortcut to hide/show elements while
- inspecting breaks if you leave the key pressed.
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMTreeOutline.js:
- (WebInspector.DOMTreeOutline.prototype._hideElement.toggleProperties):
- (WebInspector.DOMTreeOutline.prototype._hideElement):
- 2013-03-29 Joseph Pecoraro <pecoraro@apple.com>
- Avoid a SourceMapResource Folder chain of single level folders.
- On of my test cases, <http://dev.fontdragr.com>, a resource with
- a source map has all its source map resources in a "src" folder.
- This creates a poor experience in the resources sidebar. When
- expanding the resource, there is just a "src" folder. In those
- cases, and in general if there is one long chain of folders,
- don't even use folders.
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceCodeTreeElement.js:
- (WebInspector.SourceCodeTreeElement.prototype.onpopulate.folderHasOnlyResourceChildren):
- (WebInspector.SourceCodeTreeElement.prototype.onpopulate):
- (WebInspector.SourceCodeTreeElement.prototype.createFoldersAsNeededForSubpath):
- 2013-03-28 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13310717> Source Maps: should display folder hierarchy in the sidebar
- Resolve "./" and "../" in URL paths in parseURL. Leave the path
- unadjusted if we get to a point we don't know how to handle, e.g.
- too many "../" components.
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceCodeTreeElement.js:
- (WebInspector.SourceCodeTreeElement.prototype.createFoldersAsNeededForSubpath):
- * UserInterface/Utilities.js:
- 2013-03-28 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13310717> Source Maps: should display folder hierarchy in the sidebar
- Often SourceMap's include sources in a hierarchy. We should create
- a folder structure for that hierarchy in the resources sidebar. When
- the SourceMap is part of a Frame, we don't do this, we still just
- sort SourceMapResources into their associated type folder.
- Reviewed by Timothy Hatcher.
- * UserInterface/ResourceTreeElement.js:
- (WebInspector.ResourceTreeElement.compareFolderAndResourceTreeElements):
- Added a generic sort function that can take both Folder and Resource
- tree elements. It sorts folders first, by name, then resources by their
- normal sort order (type and name).
- * UserInterface/SourceMap.js:
- (WebInspector.SourceMap.prototype.get sourceMappingURLBasePath):
- When the source map resolves its sources it builds an absolute URL
- using the partial URL (map.sourceRoot + map.source[i]) and base URL
- of the provided sourceMappingURL. We can use this "base path" to
- get only the individual source's relative subpath later on.
- * UserInterface/SourceMapResource.js:
- (WebInspector.SourceMapResource.prototype.get sourceMapRelativeSubpath):
- Get the subpath relative to the SourceMap's url. This allows us
- to get the path components and build a directory tree.
- * UserInterface/SourceCodeTreeElement.js:
- (WebInspector.SourceCodeTreeElement.prototype.onpopulate):
- (WebInspector.SourceCodeTreeElement.prototype.createFoldersAsNeededForSubpath):
- (WebInspector.SourceCodeTreeElement.prototype.descendantResourceTreeElementTypeDidChange):
- Given a subpath, create folders as needed and insert the actual
- SourceMapResourceTreeElement inside the deepest folder. Cache
- folders along the way so we don't re-create folders, and so that
- we can look them up again later if needed.
- 2013-03-28 Timothy Hatcher <timothy@apple.com>
- Combine and minify CodeMirror scripts and styles in Production builds.
- <rdar://problem/13446918>
- Reviewed by Joseph Pecoraro.
- * Scripts/combine-resources.pl:
- * Scripts/copy-user-interface-resources.sh:
- 2013-03-28 Joseph Pecoraro <pecoraro@apple.com>
- Unreviewed. Missing semicolon causing warning when stripping asserts.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.updateBreakpointLineAndColumn):
- 2013-03-28 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13412969> Reveal line centered hits a code mirror exception unless put in setTimeout
- CodeMirror issue has been fixed. Remove the "delay" form paths that
- would have hit the exception before. They no longer do.
- Reviewed by Timothy Hatcher.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.revealAndHighlightLine):
- (WebInspector.TextEditor.prototype.revealLine):
- (WebInspector.TextEditor.prototype._revealPendingLineIfPossible):
- (WebInspector.TextEditor.prototype._scrollIntoViewCentered):
- 2013-03-28 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13412969> Reveal line centered hits a code mirror exception unless put in setTimeout
- <rdar://problem/13512430> Idle Inspector recalculates styles a few times a second because of CodeMirror
- Update CodeMirror to trunk to get a few recent fixes.
- Reviewed by Timothy Hatcher.
- * UserInterface/External/CodeMirror/codemirror.js:
- * UserInterface/External/CodeMirror/sass.js:
- 2013-03-28 Joseph Pecoraro <pecoraro@apple.com>
- Add a small script to update CodeMirror resources.
- Reviewed by Cody Krieger.
- * Scripts/update-codemirror-resources.rb: Added.
- 2013-03-28 Jessie Berlin <jberlin@apple.com>
- Ran update-safari-localizable-strings.
- * Localizations/en.lproj/localizedStrings.js:
- 2013-03-28 Antoine Quint <graouts@apple.com>
- <rdar://problem/13505485> REGRESSION: Can't copy links from the console via the context menu
- Let the default context menu show if the user targeted an
- <a> element that is not a console message URL.
- Reviewed by Timothy Hatcher.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype._handleContextMenuEvent):
- 2013-03-28 Antoine Quint <graouts@apple.com>
- <rdar://problem/13526203> Recording profiles in the Instruments sidebar should show a spinner
- Remove the "Recording" prefix for profiles that are recording and
- instead use an indeterminate spinner to indicate the profile is
- recording.
- Reviewed by Timothy Hatcher.
- * Localizations/en.lproj/localizedStrings.js:
- Remove unused string "Recording JavaScript Profile %s\u2026".
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel.prototype._profilingEnded):
- Remove the indeterminate spinner from the tree element representing
- the profile that finished recording.
- (WebInspector.InstrumentSidebarPanel.prototype._titleForProfile):
- For profiles that are presently recording, simulate the pending
- addition of the tree element by adding 1 to the generated number.
- This ensures that the generated title matches the one that will
- appear as this method is called again upon recording completion.
- (WebInspector.InstrumentSidebarPanel.prototype._profileWasAdded):
- Add an indeterminate spinner to the tree element representing
- the newly-added profile.
- * UserInterface/ProfileManager.js:
- (WebInspector.ProfileManager.prototype.startProfilingCSSSelectors):
- (WebInspector.ProfileManager.prototype.stopProfilingCSSSelectors):
- (WebInspector.ProfileManager.prototype.profileWasStartedFromConsole):
- (WebInspector.ProfileManager.prototype.setRecordingJavaScriptProfile):
- Use the final title directly since we're now using an indeterminate
- spinner to indicate a profile is recording.
- 2013-03-28 Antoine Quint <graouts@apple.com>
- <rdar://problem/13525984> Profile name in navigation bar breadcrumbs doesn't update when recording completes
- Propagate an event when a GeneralTreeElement's "mainTitle"
- property changes such that the NavigationBar may eventually
- pick it up and update itself.
- Reviewed by Timothy Hatcher.
- * UserInterface/GeneralTreeElement.js:
- (WebInspector.GeneralTreeElement.prototype.set mainTitle):
- Dispatch the new MainTitleDidChange event.
- * UserInterface/GeneralTreeElementPathComponent.js:
- (WebInspector.GeneralTreeElementPathComponent):
- Register a listener for the MainTitleDidChange event on the
- provided GeneralTreeElement.
- (WebInspector.GeneralTreeElementPathComponent.prototype._mainTitleDidChange):
- Update the "displayName" property to match the GeneralTreeElement's
- updated "mainTitle" property.
- * UserInterface/TreeOutline.js:
- (TreeOutline):
- (TreeElement):
- Make both TreeOutline and TreeElement subclasses of
- WebInspector.Object such that they may dispatch events.
- 2013-03-28 Antoine Quint <graouts@apple.com>
- <rdar://problem/13105775> Handle currently recording profiles in a more graceful manner
- We now present a nice-looking "RecordingÉ" message when a recording
- profile is selected in the instruments sidebar.
- Reviewed by Timothy Hatcher.
- * Localizations/en.lproj/localizedStrings.js:
- New "RecordingÉ" string used to present when we're recording a profile
- of an unknown type (future-proofing).
- * UserInterface/CSSSelectorProfileView.js:
- (WebInspector.CSSSelectorProfileView):
- (WebInspector.CSSSelectorProfileView.prototype.recordingTitle):
- (WebInspector.CSSSelectorProfileView.prototype.displayProfile):
- Implement the new ProfileView protocol to display the profile
- data only when it's available.
- * UserInterface/JavaScriptProfileView.js:
- (WebInspector.JavaScriptProfileView):
- (WebInspector.JavaScriptProfileView.prototype.recordingTitle):
- (WebInspector.JavaScriptProfileView.prototype.displayProfile.profileCallback):
- (WebInspector.JavaScriptProfileView.prototype.displayProfile):
- Implement the new ProfileView protocol to display the profile
- data only when it's available.
- * UserInterface/Main.html:
- Add the new ProfileView.css file.
- * UserInterface/ProfileManager.js:
- (WebInspector.ProfileManager.prototype.stopProfilingCSSSelectors):
- Ensure we set the "recording" property last as it would fire the
- new WebInspector.ProfileObject.Event.FinshedRecording event before
- the profile data has been set on the object.
- * UserInterface/ProfileObject.js:
- (WebInspector.ProfileObject.prototype.set recording):
- Dispatch a new WebInspector.ProfileObject.Event.FinshedRecording
- event when the profile has finished recording.
- * UserInterface/ProfileView.css: Added.
- (.recording-profile-view):
- (.recording-profile-view > .indeterminate-progress-spinner):
- (.recording-profile-view > span):
- New CSS support for the new recording message in ProfileView,
- using CSS flexbox to vertically and horizontally center the
- indeterminate spinner and text.
- * UserInterface/ProfileView.js:
- (WebInspector.ProfileView):
- In case the profile for this ProfileView is still recording,
- register for the WebInspector.ProfileObject.Event.FinshedRecording
- event to be notified of when the profile is done recording
- and show a "RecordingÉ" message until then.
- (WebInspector.ProfileView.prototype.displayProfile):
- New method called when the profile has finished recording and
- we've removed the "RecordingÉ" message from display. Meant to
- be implemented by subclasses.
- (WebInspector.ProfileView.prototype.recordingTitle):
- New method called when populating the "RecordingÉ" message allowing
- subclasses to return a clearer message.
- (WebInspector.ProfileView.prototype._profileFinishedRecording):
- Event handler for the WebInspector.ProfileObject.Event.FinshedRecording
- event which removes the "RecordingÉ" message and calls
- displayProfile().
- (WebInspector.ProfileView.prototype._showRecordingMessage):
- Display the "RecordingÉ" message.
- (WebInspector.ProfileView.prototype._hideRecordingMessage):
- Removes the "RecordingÉ" message, if any.
- 2013-03-28 Antoine Quint <graouts@apple.com>
- <rdar://problem/13483963> copying text from the web inspector includes [LOG] when you paste
- Don't add [Log] prefix for log-level messages.
- Reviewed by Timothy Hatcher.
- * UserInterface/ConsoleMessageImpl.js:
- (WebInspector.ConsoleMessageImpl.prototype.toClipboardString):
- 2013-03-26 Timothy Hatcher <timothy@apple.com>
- Support for dock-to-right in the Web Inspector.
- rdar://problem/10368152
- Reviewed by Joseph Pecoraro.
- * UserInterface/InspectorFrontendAPI.js:
- (InspectorFrontendAPI.setDockSide):
- * UserInterface/Main.css:
- (body.docked.bottom):
- (body.docked.right):
- (#docked-resizer):
- (body.docked #docked-resizer):
- (body.docked.bottom #docked-resizer):
- (body.docked.right #docked-resizer):
- (body.docked.bottom #toolbar):
- (body.docked.bottom #toolbar .item:not(.flexible-space)):
- (body.docked.right #navigation-sidebar.collapsed > .resizer):
- * UserInterface/Main.js:
- (WebInspector.loaded):
- (WebInspector.contentLoaded):
- (WebInspector.updateDockedState):
- (WebInspector._toolbarDisplayModeDidChange):
- (WebInspector._toolbarSizeModeDidChange):
- (WebInspector._toolbarMouseDown):
- (WebInspector._dockedResizerMouseDown.dockedResizerDrag):
- (WebInspector._dockedResizerMouseDown):
- 2013-03-27 Antoine Quint <graouts@apple.com>
- <rdar://problem/13105774> Recording a profile with the inspector UI should automatically select the new profile upon completion
- Automatically select profiles that completed as a result of the user
- pressing the record button in the instruments sidebar panel.
- Reviewed by Timothy Hatcher.
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel.prototype._profilingEnded):
- Check the "fromConsole" property on the ProfilingEnded event to
- see whether this profile should be automatically selected.
- * UserInterface/ProfileManager.js:
- (WebInspector.ProfileManager.prototype.setRecordingJavaScriptProfile):
- Also indicate whether the ProfilingEnded event is created as a
- result of a profile finishing recording as a result of calling
- one of the console APIs.
- 2013-03-27 Antoine Quint <graouts@apple.com>
- <rdar://problem/13190009> Profile recorded prior to the current page load may show empty content view
- We now create the content view for a profile that finished recording instantly
- rather than delay it until selection. This ensures that all recorded profiles
- are available across page loads, until we navigate away.
- Reviewed by Timothy Hatcher.
- * UserInterface/ConsoleObserver.js:
- (WebInspector.ConsoleObserver.prototype.messageAdded):
- Fix an oversight from the previous commit where we wouldn't distinguish
- calls to console.profile() and console.profileEnd() made as a result
- of starting a profile from the UI or starting a profile by actually
- calling these methods.
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel.prototype._profilingEnded):
- Force the creation of the content view for the provided profile so that
- the profile is immediately retrieved from the backend and available
- across page loads.
- * UserInterface/ProfileManager.js:
- (WebInspector.ProfileManager.prototype.stopProfilingCSSSelectors):
- (WebInspector.ProfileManager.prototype.addJavaScriptProfile):
- (WebInspector.ProfileManager.prototype.setRecordingJavaScriptProfile):
- Pass the currently recording profile as data to the ProfilingEnded
- event dispatched.
- 2013-03-27 Jessie Berlin <jberlin@apple.com>
- Ran update-safari-localizable-strings.
- * Localizations/en.lproj/localizedStrings.js:
- 2013-03-27 Antoine Quint <graouts@apple.com>
- <rdar://problem/13515381> Profiles started from console API don't appear until done
- We now intercept console.profile() and console.profileEnd() messages
- appearing through the ConsoleObserver so that we can simulate
- setRecordingJavaScriptProfile protocol events in the ConsoleManager.
- This allows us to deal with console profiles in a more unified manner.
- The recording button, however, does not go red when a profile is
- recording from the console.
- Reviewed by Timothy Hatcher.
- * Localizations/en.lproj/localizedStrings.js:
- Changed string for "Recording JavaScript ProfileÉ" to allow for
- a profile title as well, since it might be known form the
- console.profile() call that initiated it.
- * UserInterface/ConsoleObserver.js:
- (WebInspector.ConsoleObserver.prototype.messageAdded):
- Check for console.profile() and console.profileEnd() calls and
- inform the ProfileManager that a profile started or ended from
- the console API.
- * UserInterface/ProfileManager.js:
- (WebInspector.ProfileManager.prototype.profileWasStartedFromConsole):
- Simulate a setRecordingJavaScriptProfile protocol event and set up
- the profile's title if provided.
- (WebInspector.ProfileManager.prototype.profileWasEndedFromConsole):
- Simulate a setRecordingJavaScriptProfile protocol event.
- (WebInspector.ProfileManager.prototype.addJavaScriptProfile):
- Remove custom logic to deal with the belated creation of a
- JavaScriptProfileObject for a profile that would have been started
- from the console API since we now get the notification via the simulated
- setRecordingJavaScriptProfile protocol event.
- (WebInspector.ProfileManager.prototype.setRecordingJavaScriptProfile):
- Only dispatch the ProfilingStarted event if the profile was initiated
- from the user interface.
- 2013-03-26 Joseph Pecoraro <pecoraro@apple.com>
- Check-in some documentation files on the RWI protocols.
- Better these be checked in then floating on my machine.
- Rubber-stamped by Timothy Hatcher.
- * Documentation/RWI-Messages.graffle: Added.
- * Documentation/RWI-Messages.pdf: Added.
- 2013-03-26 Antoine Quint <graouts@apple.com>
- <rdar://problem/13096650> Debugger popover does not appear sometimes (or is too slow to appear)
- We now dismiss the debugger popover when the hovered token (or the
- popover for it) is no longer hovered for a whole second. Additionally,
- if there is marked text, we immediately show a popover for a newly
- hovered token instead of waiting 500ms so that's easier to go from
- token to token to get their information.
- Reviewed by Joseph Pecoraro.
- * UserInterface/Popover.js:
- (WebInspector.Popover.prototype.get element):
- Newly public property, used to check in hoveredElementCanReleaseHoveredToken() in
- the SourceCodeTextEditor whether the newly hovered element is contained within
- a popover.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype.hoveredElementCanReleaseHoveredToken):
- Check whether the newly hovered element is contained within the presented
- popover or whether text in the popover is selected.
- (WebInspector.SourceCodeTextEditor.prototype.hoveredTokenWasReleased):
- Dismiss the popover since the user has moused out of the hovered token long
- enough that it shouldn't be considered hovered anymore.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.stopTrackingTokenHovering):
- Remove the window-wide mousemove event listener.
- (WebInspector.TextEditor.prototype.handleEvent):
- Route mousemove events to the _mouseMovedWithMarkedText() method
- if it's the window-wide mousemove event listener.
- (WebInspector.TextEditor.prototype.highlightHoveredExpression):
- Start tracking mousemove events at the window level so that we can
- detect any element, even outside of the text editor, that might be
- hovered long enough to release the hovered token.
- (WebInspector.TextEditor.prototype.removeHighlightOnHoveredExpression):
- Remove the document-wide mousemove event listener and delete the
- _tokenHighlightMarkedText property so that we can use its absence
- to gather that there is no marked text when checking for a newly
- hovered token in _mouseMovedOverEditor().
- (WebInspector.TextEditor.prototype.hoveredElementCanReleaseHoveredToken):
- Public method used to identify whether the hovered element qualifies
- to release the hovered token. The default implementation simply checks
- that the hovered element is the marked text for the hovered token.
- (WebInspector.TextEditor.prototype.hoveredTokenWasReleased):
- Public method meant to be subclassed, called when we've identified that
- the hovered token has been moused out of for more than a second.
- (WebInspector.TextEditor.prototype._mouseMovedOverEditor):
- Immediately check the newly hovered token if there already is
- hovered token, allowing for a quick inspection of hovered tokens.
- (WebInspector.TextEditor.prototype._mouseMovedWithMarkedText):
- Check the hovered element qualifies to release the hover token, and if it so,
- start a one-second timer to release it.
- (WebInspector.TextEditor.prototype._checkHoveredToken):
- Stop the timer started in _mouseMovedWithMarkedText() to check whether
- the currently hovered element could qualify to release the hovered token.
- (WebInspector.TextEditor.prototype._markedTextIsNoLongerHovered):
- Method called when the timer started in _mouseMovedWithMarkedText() to
- check whether the currently hovered element could qualify to relase the
- hovered token has fired.
- 2013-03-26 Antoine Quint <graouts@apple.com>
- <rdar://problem/13505817> Debugger popovers don't appear for undefined values
- Handle the RemoteObject type "undefined" and also implement better
- handling of null Object values as well.
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype.tokenWasHovered.populate):
- (WebInspector.SourceCodeTextEditor.prototype.tokenWasHovered):
- (WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject):
- (WebInspector.SourceCodeTextEditor.prototype._showPopoverForNull):
- (WebInspector.SourceCodeTextEditor.prototype._showPopoverForUndefined):
- 2013-03-26 Jessie Berlin <jberlin@apple.com>
- Ran update-safari-localizable-strings.
- Reviewed by Conrad Shultz.
- * Localizations/en.lproj/localizedStrings.js:
- 2013-03-26 Antoine Quint <graouts@apple.com>
- <rdar://problem/13439854> REGRESSION: Copying array or object output does not contain values
- We now simply use the _formattedMessage DOM node if available and
- if the message isn't a stack trace. Then, we insert the URL line,
- with repeat count if set, after the first line.
- Reviewed by Timothy Hatcher.
- * UserInterface/ConsoleMessageImpl.js:
- (WebInspector.ConsoleMessageImpl.prototype.toClipboardString):
- 2013-03-26 Antoine Quint <graouts@apple.com>
- <rdar://problem/13345023> Logging an Array after it has been sorted results in its undefined elements not being shown
- Merging code from OpenSource to match the handling of arrays in the Console.
- Reviewed by Timothy Hatcher.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/ConsoleMessageImpl.js:
- (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArray):
- (WebInspector.ConsoleMessageImpl.prototype.appendUndefined):
- (WebInspector.ConsoleMessageImpl.prototype._printArray):
- * UserInterface/RemoteObject.js:
- (WebInspector.RemoteObject.prototype.release):
- (WebInspector.RemoteObject.prototype.arrayLength):
- 2013-03-25 Timothy Hatcher <timothy@apple.com>
- Don't include the main frame document as a separate resource in the sidebar.
- <rdar://problem/13484805> REGRESSION: Main frame is included twice in the Resources sidebar
- Reviewed by Joseph Pecoraro.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype._addFrameTreeFromFrameResourceTreePayload):
- Skip resources with type "Document" and with the same url as the frame.
- 2013-03-25 Timothy Hatcher <timothy@apple.com>
- Fix large image scaling after the switch to the new flex model
- <rdar://problem/13493712> REGRESSION: Very poor image squishing when content
- window is narrow / image is large (113222)
- Reviewed by Joseph Pecoraro.
- * UserInterface/ImageResourceContentView.css:
- (.content-view.resource.image):
- (.content-view.resource.image img):
- Use min-width: 0 so the image can shrink.
- 2013-03-24 Joseph Pecoraro <pecoraro@apple.com>
- Turn on support for breakpoints in pretty printed resources and SourceMaps
- We are now getting expected column information from the backend and
- hitting breakpoints on columns as expected. This was the last change
- needed to consider the following tasks complete:
- <rdar://problem/11219771> REGRESSION (Safari 6): Can't pretty-print JavaScript
- <rdar://problem/11735116> PARITY (WebKit Web Inspector): Missing Source Map support
- Reviewed by Timothy Hatcher.
- * UserInterface/DebuggerSidebarPanel.js:
- (WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected):
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate):
- (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange):
- (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointAdded):
- 2013-03-24 Joseph Pecoraro <pecoraro@apple.com>
- Workaround while still investigating <rdar://problem/13412969>.
- Jump to line centered can still throw an exception when revealing a
- when the content first loads (reveal pending line). So delay in
- just that case.
- Reviewed by Timothy Hatcher.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.revealAndHighlightLine):
- (WebInspector.TextEditor.prototype.revealLine):
- (WebInspector.TextEditor.prototype._revealPendingLineIfPossible):
- 2013-03-25 Antoine Quint <graouts@apple.com>
- <rdar://problem/13495086> Commands and their result should not be subject to search filtering
- No longer filter out commands and their results based on search terms.
- We also change the CSS class name we use to hide messages that may be
- filtered out due to the search terms to be exclusive rather than
- inclusive.
- Reviewed by Timothy Hatcher.
- * UserInterface/LogContentView.css:
- (.search-in-progress .console-item.filtered-out-by-search):
- (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted):
- (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected):
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype._isMessageVisible):
- (WebInspector.LogContentView.prototype._visibleMessages):
- (WebInspector.LogContentView.prototype._performSearch):
- 2013-03-25 Antoine Quint <graouts@apple.com>
- <rdar://problem/13494748> Expandable console items should only select when clicking outside of the expandable part
- We no longer select messages if the hit area is part of an expandable element.
- This makes it easier to expand nodes and JS objects without first having to
- select the console message.
- Reviewed by Timothy Hatcher.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype._mousedown):
- (WebInspector.LogContentView.prototype._targetInMessageCanBeSelected):
- 2013-03-25 Antoine Quint <graouts@apple.com>
- <rdar://problem/13495023> JS objects logged to console can't be expanded using keyboard
- We now also handle expansion of JS objects logged to the console. To support this,
- we add a new VisibleContentDidChange event to WebInspector.Section such that we can
- when the visible content of a given WebInspector.ObjectPropertiesSection is updated,
- since there is no onexpand() method available as is the case with TreeOutline.
- Reviewed by Timothy Hatcher.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype._leftArrowWasPressed):
- (WebInspector.LogContentView.prototype._rightArrowWasPressed.else.bind):
- (WebInspector.LogContentView.prototype._rightArrowWasPressed):
- (WebInspector.LogContentView.prototype._propertiesSectionDidUpdateContent):
- * UserInterface/ObjectPropertiesSection.js:
- (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
- * UserInterface/Section.js:
- (WebInspector.Section):
- (WebInspector.Section.prototype.expand):
- 2013-03-25 Antoine Quint <graouts@apple.com>
- <rdar://problem/13416461> Message repeat count causes bad layout in the Console
- We now always display the warning or error icon as well as the repeat count
- for the message, and we copy the repeat count to the clipboard as well.
- Reviewed by Timothy Hatcher.
- * UserInterface/ConsoleMessageImpl.js:
- (WebInspector.ConsoleMessageImpl.prototype.updateRepeatCount):
- (WebInspector.ConsoleMessageImpl.prototype.toClipboardString):
- * UserInterface/LogContentView.css:
- (.console-message .bubble):
- 2013-03-25 Antoine Quint <graouts@apple.com>
- <rdar://problem/13493775> Console log should scroll to reveal messages for highlighted search match
- Make sure we scroll to reveal messages upon highlighting a match.
- Reviewed by Joseph Pecoraro.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype._highlightSearchMatchAtIndex):
- 2013-03-24 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13418317> REGRESSION: DOM Tree "Edit as HTML" is not inserting newlines with return
- Give multiline WebInspector.startEditing edit boxes have better white-space behavior.
- Reviewed by Timothy Hatcher.
- * UserInterface/Editing.css:
- (.editing.multiline):
- * UserInterface/EditingSupport.js:
- 2013-03-24 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13491916> Searching forward or back in find banner should reveal in center
- Reviewed by Dean Jackson.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype._revealSearchResult):
- (WebInspector.TextEditor.prototype._isPositionVisible):
- (WebInspector.TextEditor.prototype._scrollIntoViewCentered):
- When revealing a search result, reveal the line centered in
- the editor if needed. Don't do the setTimeout, the lines in
- the editor did not change so we shouldn't need to worry about
- the CodeMirror exception.
- (WebInspector.TextEditor.prototype.revealAndHighlightLine):
- Share the isPositionVisible code.
- (WebInspector.TextEditor.prototype._prettyPrint):
- This is the only case where I know we need the setTimeout delay
- to workaround a CodeMirror exception when autoformatting.
- 2013-03-23 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13491257> CSS pretty printing no longer works
- For CSS there is now a "css-base" mode with a "text/css" variant,
- and a "text/x-scss" variant. There is a convenience mode "css"
- which explicitly gets the "text/css" variant of the "css-base" mode.
- The pretty printer should extend "css-base". Whether the content
- is "text/css" or "text/x-scss" the mode outputting the tokens will
- be "css-base", and that mode needs to have the pretty printer
- extensions.
- Extend the "css-base" mode, instead of the overly specific text/css
- css mode to have extendedToken and alternate name "css". So, as
- "css-base" creates tokens for either "text/css" or "text/x-scss",
- it will adds our "m-css" style classes and get our styles.
- We still define the "css-rule" mode to be an alias of the text/css
- specific mode. To workaround a limitation of CodeMirror, we don't
- re-extend any properties that have already been extended (token,
- alternate name) and only extend new properties. We get the earlier
- extensions because internally when creating a "css-rule" mode,
- CodeMirror get the text/css variant of "css-base" with "css-base"
- extensions and then applies our extensions on top of that.
- Reviewed by Timothy Hatcher.
- * UserInterface/CodeMirrorFormatters.js:
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.hasFormatter):
- * UserInterface/CodeMirrorAdditions.js:
- 2013-03-23 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13490780> Find banner status does not update after switching between source files
- When switching content views, reset the find banner and perform a
- search with the find banner's query in the new content view so that
- keyboard shortcuts will work in the new content view even though
- the find banner is hidden.
- Reviewed by Timothy Hatcher.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView.prototype.get hasPerformedSearch):
- (WebInspector.ContentView.prototype.set automaticallyRevealFirstSearchResult):
- Properties used by ContentBrowser to update the find banner when
- switching to the ContentView. Allow a search to be performed on
- a ContentView without automatically jumping to the first result.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser):
- (WebInspector.ContentBrowser.prototype._findBannerDidShow):
- (WebInspector.ContentBrowser.prototype._findBannerDidHide):
- Allow or disallow jumping to the first search result based on banner visibility.
- Keyboard shortcuts will still work.
- (WebInspector.ContentBrowser.prototype._updateFindBanner):
- (WebInspector.ContentBrowser.prototype._currentContentViewDidChange):
- When the content view changes, update the banner. Search the new
- content view so that keyboard shortcuts work.
- * UserInterface/FindBanner.js:
- (WebInspector.FindBanner.prototype.show):
- (WebInspector.FindBanner.prototype.hide):
- Emit events for when the banner shows or hides.
- * UserInterface/ClusterContentView.js:
- (WebInspector.ClusterContentView.prototype.get hasPerformedSearch):
- (WebInspector.ClusterContentView.prototype.set automaticallyRevealFirstSearchResult):
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView.prototype.get hasPerformedSearch):
- (WebInspector.DOMTreeContentView.prototype.set automaticallyRevealFirstSearchResult):
- (WebInspector.DOMTreeContentView.prototype.performSearch.searchResultsReady):
- (WebInspector.DOMTreeContentView.prototype.performSearch):
- * UserInterface/ScriptContentView.js:
- (WebInspector.ScriptContentView.prototype.get hasPerformedSearch):
- (WebInspector.ScriptContentView.prototype.set automaticallyRevealFirstSearchResult):
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor):
- (WebInspector.TextEditor.prototype.set automaticallyRevealFirstSearchResult):
- (WebInspector.TextEditor.prototype.addSearchResults.markRanges):
- (WebInspector.TextEditor.prototype.addSearchResults):
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView.prototype.get hasPerformedSearch):
- (WebInspector.TextResourceContentView.prototype.set automaticallyRevealFirstSearchResult):
- Implement the new ContentView properties. Respect the
- automaticallyRevealFirstSearchResult property by not jumping to the
- first result unless we are allowed too.
- 2013-03-23 Joseph Pecoraro <pecoraro@apple.com>
- Fix a typo causing warnings in the inspector.
- Unreviewed.
- * UserInterface/Main.html:
- 2013-03-23 Antoine Quint <graouts@apple.com>
- <rdar://problem/11682467> Should be able to do a Find in a Log
- Add a search / filter bar to the navigation bar of the console log.
- The search bar can be given focus by hitting Cmd+F, and it can provide
- focus back to the console prompt by hitting Esc. or Enter (which also
- highlights the first matching search result). The Cmd+G and Cmd+Shift+G
- keyboard shortcuts also work as expected.
- Reviewed by Timothy Hatcher.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/JavaScriptLogViewController.js:
- (WebInspector.JavaScriptLogViewController):
- (WebInspector.JavaScriptLogViewController.prototype._promptKeyDown):
- Add support for the new Cmd+F, Cmd+G and Cmd+Shift+G keyboard shortcuts.
- * UserInterface/LogContentView.css:
- (.log-search-bar > input):
- (.search-in-progress .console-item):
- (.search-in-progress .console-item.matches-search:not(.filtered-out)):
- (.search-in-progress .console-item.matches-search .highlighted):
- (.search-in-progress .console-item.matches-search .highlighted.selected):
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView):
- Create the SearchBar.
- (WebInspector.LogContentView.prototype.get navigationItems):
- Add the SearchBar to the navigation bar.
- (WebInspector.LogContentView.prototype.get searchInProgress):
- Inidicates whether a search is in progress (ie. search term
- isn't the empty string).
- (WebInspector.LogContentView.prototype.focusSearchBar):
- New API to bring focus to the SearchBar's input field.
- (WebInspector.LogContentView.prototype.highlightPreviousSearchMatch):
- New API to highlight the previous search match.
- (WebInspector.LogContentView.prototype.highlightNextSearchMatch):
- New API to highlight the next search match.
- (WebInspector.LogContentView.prototype.searchBarWantsToLoseFocus):
- SearchBar delegate method we use to move focus back to the prompt
- as the user hit the Esc. key while the search bar has focus.
- (WebInspector.LogContentView.prototype.searchBarDidActivate):
- SearchBar delegate method we use to move focus back to the prompt
- as the user hit the Enter key while the search bar has focus. We
- also select the first search match to make it stand out.
- (WebInspector.LogContentView.prototype._updateMessagesSelection):
- Refactoring: _allVisibleMessages() is now _visibleMessages().
- (WebInspector.LogContentView.prototype._isMessageVisible):
- Take into account whether the message matches the search terms
- so that it's filtered otherwise.
- (WebInspector.LogContentView.prototype._selectAllMessages):
- Refactoring: _allVisibleMessages() is now _visibleMessages().
- (WebInspector.LogContentView.prototype._unfilteredMessages):
- New method to provide the list of messsages that match the
- filters provided via the scope bar.
- (WebInspector.LogContentView.prototype._visibleMessages):
- Refactoring: _allVisibleMessages() is now _visibleMessages().
- Also take into account additional filtering via the search bar.
- (WebInspector.LogContentView.prototype._filterMessages):
- Perform a search after the filters have changed to ensure we
- are showing the correct set of messages.
- (WebInspector.LogContentView.prototype._keyDown):
- Add support for the new Cmd+F, Cmd+G and Cmd+Shift+G keyboard shortcuts.
- (WebInspector.LogContentView.prototype._commandFWasPressed):
- Focus the search bar upon hitting Cmd+F.
- (WebInspector.LogContentView.prototype._commandGWasPressed):
- Highlight the next search match upon hitting Cmd+G.
- (WebInspector.LogContentView.prototype._commandShiftGWasPressed):
- Highlight the next search match upon hitting Cmd+Shift+G.
- (WebInspector.LogContentView.prototype._upArrowWasPressed):
- (WebInspector.LogContentView.prototype._downArrowWasPressed):
- (WebInspector.LogContentView.prototype._previousMessage):
- (WebInspector.LogContentView.prototype._nextMessage):
- (WebInspector.LogContentView.prototype._clearFocusableChildren):
- Refactoring: _allVisibleMessages() is now _visibleMessages().
- (WebInspector.LogContentView.prototype._searchTextDidChange):
- Run the search as the terms in the search bar changed.
- (WebInspector.LogContentView.prototype._performSearch):
- (WebInspector.LogContentView.prototype._highlightRanges):
- Perform a search based on the text in the search bar and apply
- a "matches-search" CSS class to all text ranges matching the
- search terms. This is actually performed by method merged from
- the OpenSource Web Inspector code.
- (WebInspector.LogContentView.prototype._rangesOverlap):
- Checks whether two text ranges overlap at all. We use this to identify
- if the previously selected search term is still present in the new
- set of matching search ranges.
- (WebInspector.LogContentView.prototype._highlightSearchMatchAtIndex):
- Highlights a given term in the array of highlighted elements created in
- _performSearch().
- * UserInterface/Main.html:
- Include the new SearchBar files.
- * UserInterface/Main.js:
- (WebInspector.highlightRangesWithStyleClass):
- (WebInspector.revertDomChanges):
- Methods merged as-is from OpenSource.
- * UserInterface/SearchBar.css: Added.
- (.search-bar > input):
- * UserInterface/SearchBar.js: Added.
- (WebInspector.SearchBar):
- (WebInspector.SearchBar.prototype.get text):
- (WebInspector.SearchBar.prototype.set text):
- (WebInspector.SearchBar.prototype.focus):
- (WebInspector.SearchBar.prototype._handleSearchEvent):
- (WebInspector.SearchBar.prototype._handleKeydownEvent):
- New NavigationItem subclass to provide a SearchBar within a NavigationBar.
- 2013-03-22 Timothy Hatcher <timothy@apple.com>
- Make the New Rule button 10px taller for a bigger hit target.
- <rdar://problem/13470200> I expect the clickable area for "+ New Rule" to be bigger.
- Reviewed by Joseph Pecoraro.
- * UserInterface/RulesStyleDetailsPanel.css:
- (.sidebar > .panel.details.css-style .rules .new-rule):
- 2013-03-22 Timothy Hatcher <timothy@apple.com>
- Show the compression status and the compression amount in the Resource details sidebar.
- <rdar://problem/13201070> Show gzip status of resources more prominently
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/Resource.js:
- (WebInspector.Resource.prototype.get encodedSize): Added.
- (WebInspector.Resource.prototype.get transferSize): Use encodedSize.
- (WebInspector.Resource.prototype.get compressed): Added.
- * UserInterface/ResourceDetailsSidebarPanel.js:
- (WebInspector.ResourceDetailsSidebarPanel): Added compression group.
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestAndResponse): Call _refreshCompressed.
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshCompressed): Added.
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshDecodedSize):
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshTransferSize):
- Call _refreshCompressed and update encoded size row.
- 2013-03-21 Timothy Hatcher <timothy@apple.com>
- Add a placeholder for empty style rules in the Style details sidebar.
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/CSSStyleDeclarationTextEditor.css:
- (.css-style-text-editor > .CodeMirror .CodeMirror-placeholder): Added.
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent):
- Set the placeholder option based on the readOnly state.
- 2013-03-21 Timothy Hatcher <timothy@apple.com>
- Enable auto closing brackets and quotes along with matching bracket highlighting.
- Also share common CodeMirror styles in CodeMirrorOverrides.css.
- Reviewed by Dean Jackson.
- * UserInterface/CSSStyleDeclarationTextEditor.css:
- (.css-style-text-editor > .CodeMirror):
- (.css-style-text-editor > .CodeMirror-scroll):
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor):
- * UserInterface/CodeMirrorOverrides.css: Added.
- (.CodeMirror *):
- (.CodeMirror .CodeMirror-lines):
- (.CodeMirror pre):
- (.CodeMirror .CodeMirror-selected):
- (.CodeMirror.CodeMirror-focused .CodeMirror-selected):
- (.CodeMirror .CodeMirror-cursor):
- (.CodeMirror .CodeMirror-lines .CodeMirror-matchingbracket):
- (.CodeMirror .CodeMirror-lines .CodeMirror-nonmatchingbracket):
- (.CodeMirror .CodeMirror-gutters):
- (.CodeMirror .CodeMirror-linenumber):
- * UserInterface/Main.html:
- * UserInterface/TextEditor.css:
- (.text-editor > .CodeMirror):
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor):
- 2013-03-21 Timothy Hatcher <timothy@apple.com>
- Update CodeMirror to ToT (v3.11+) which includes a scroll performance file and other changes.
- Include the new placeholder and closebrackets add-ons so we can use them in our editors.
- Also includes more modes that could be encountered on the web that we should syntax highlight.
- I've included the SQL mode since I plan to switch the database prompt to use it soon.
- <rdar://problem/13470814> Scrolling in the Style > Rules sidebar is kind of sluggish
- Rubber-stamped by Joseph Pecoraro.
- * UserInterface/External/CodeMirror/clojure.js: Added.
- * UserInterface/External/CodeMirror/closebrackets.js: Added.
- * UserInterface/External/CodeMirror/codemirror.css: Updated.
- * UserInterface/External/CodeMirror/codemirror.js: Updated.
- * UserInterface/External/CodeMirror/coffeescript.js: Added.
- * UserInterface/External/CodeMirror/css.js: Updated.
- * UserInterface/External/CodeMirror/less.js: Added.
- * UserInterface/External/CodeMirror/livescript.js: Added.
- * UserInterface/External/CodeMirror/placeholder.js: Added.
- * UserInterface/External/CodeMirror/sass.js: Added.
- * UserInterface/External/CodeMirror/searchcursor.js: Updated.
- * UserInterface/External/CodeMirror/sql.js: Added.
- * UserInterface/External/CodeMirror/xml.js: Updated.
- * UserInterface/Main.html: Include added files.
- 2013-03-21 Antoine Quint <graouts@apple.com>
- <rdar://problem/13439837> REGRESSION: Copying the output of console.log(1,2,3) only copies "[Log] 1"
- Use the _message property rather than _messageText to provide the base
- textual representation of a console message, as hinted by the _formatMessage
- method which says that _message "is used for inline message bubbles in
- SourceFrames, or other plain-text representations".
- Reviewed by Ricky Mondello.
- * UserInterface/ConsoleMessageImpl.js:
- (WebInspector.ConsoleMessageImpl.prototype.toClipboardString):
- 2013-03-20 Timothy Hatcher <timothy@apple.com>
- Make the relaod button appear correctly when inspecting web archives.
- <rdar://problem/13455883> Extra misplaced folder in Inspector sidebar
- Reviewed by Joseph Pecoraro.
- * UserInterface/ResourceTreeElement.css:
- (.item.resource > .status > .reload-button):
- (.item.resource.selected > .status > .reload-button):
- Use .resource instead of .resource-type-document. Since the button exists
- for web archives, and they get .resource-type-other. Fixing web archives
- to get a proper type is tracked by <rdar://problem/6420783>.
- 2013-03-20 Timothy Hatcher <timothy@apple.com>
- Correct some inconsistencies with opening the Inspector and what content views are opened.
- <rdar://problem/12947914> Opening web inspector with Show Page Resources can open inspector in inconsistent state
- Reviewed by Joseph Pecoraro.
- * UserInterface/InspectorFrontendAPI.js:
- (InspectorFrontendAPI.showResources):
- (InspectorFrontendAPI.showMainResourceForFrame):
- Set ignoreLastContentCookie so the ResourceSidebarPanel has a chance to show the content view for the main frame
- once the main frame is known.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- Set collapsed after loading the pending frontend commands are dispatched so only the final selected sidebar panel
- gets shown and has a say in what content view gets shown. Also removed code that collapsed the details sidebar,
- now that sidebars are collapsed by default.
- (WebInspector.sidebarPanelForCurrentContentView): Added.
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel.prototype.shown):
- Only select the selected tree element again if the content view is from a different sidebar. This way showing the
- Resources sidebar when you have gone back and forth between other resource wont jump to some old selected resource.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange):
- Allow onselect if we aren't showing a content view yet. That way the main frame is selected and shown in the content.
- * UserInterface/Sidebar.js:
- (WebInspector.Sidebar):
- (WebInspector.Sidebar.prototype.set width):
- Make collapsed by default. Only tell the sidebar panel about width changes if not collapsed.
- 2013-03-20 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13442600> Picking a frame in the console context selector menu should refocus the console input
- Detect when the hidden <select> in the HierarchicalPathComponent was
- interacted with, even if its value did not change, and trigger a
- "Clicked" event for those interested. The Console refocuses its prompt
- in these cases when the execution context selector is interacted with.
- Reviewed by Antoine Quint.
- * UserInterface/HierarchicalPathComponent.js:
- (WebInspector.HierarchicalPathComponent):
- (WebInspector.HierarchicalPathComponent.prototype._selectElementMouseUp):
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole.prototype._createExecutionContextPathComponent):
- (WebInspector.QuickConsole.prototype._removeExecutionContextPathComponentForFrame):
- (WebInspector.QuickConsole.prototype._pathComponentClicked):
- 2013-03-20 Timothy Hatcher <timothy@apple.com>
- Make editing CSS resources work correctly again.
- <rdar://problem/13457053> Safari Web Inspector: Editing .css files in main area is jumpy (112750)
- Reviewed by Antoine Quint.
- * UserInterface/CSSStyleManager.js:
- (WebInspector.CSSStyleManager.prototype._resourceContentDidChange.applyStyleSheetChanges.styleSheetFound):
- (WebInspector.CSSStyleManager.prototype._resourceContentDidChange.applyStyleSheetChanges):
- (WebInspector.CSSStyleManager.prototype._resourceContentDidChange):
- (WebInspector.CSSStyleManager.prototype._updateResourceContent.fetchedStyleSheetContent):
- We were relying on SourceCode.Event.ContentDidChange not firing if the content was equal. However, since we
- coalesce changes the content might be briefly out of sync and the event was firing. That would cause us to
- update TextEditor with a slightly older version of the content and mess up the user.
- 2013-03-19 Timothy Hatcher <timothy@apple.com>
- Don't create a new console group on reload if the current one is empty.
- Also make sure to scroll the new group into view when it is create so it is visible and ready to show new messages.
- <rdar://problem/12951299> Web Inspector console shouldn't draw a line on refresh if nothing was printed
- <rdar://problem/13209212> Console doesn't scroll to the bottom when a reloaded page logs
- Reviewed by Joseph Pecoraro.
- * UserInterface/ConsoleGroup.js:
- (WebInspector.ConsoleGroup.prototype.hasMessages): Added.
- * UserInterface/JavaScriptLogViewController.js:
- (WebInspector.JavaScriptLogViewController.prototype.startNewSession):
- Reuse the previous group if it does not have messages. Also scroll the new session into view so it is ready
- to show messages.
- * UserInterface/LogContentView.css:
- (.console-group.new-session .console-group-messages .console-item:first-child): Added.
- Don't show a border when it is in a new-session since there is already a dashed border.
- 2013-03-19 Timothy Hatcher <timothy@apple.com>
- Don't show storage if we don't have a security origin (about:blank).
- Reviewed by Joseph Pecoraro.
- * UserInterface/StorageManager.js:
- (WebInspector.StorageManager.prototype._securityOriginDidChange):
- 2013-03-19 Timothy Hatcher <timothy@apple.com>
- Don't refresh the metrics display if the user is incrementing/decrementing via the arrow keys.
- When editing is committed or canceled we do a refresh to pick up any changes.
- <rdar://problem/13441338> REGRESSION: Safari Web Inspector: Using Up/Down to
- modify margins loses focus (112566)
- Reviewed by Joseph Pecoraro.
- * UserInterface/BoxModelDetailsSectionRow.js:
- (WebInspector.BoxModelDetailsSectionRow.prototype._refresh): Return early if _ignoreNextRefresh.
- (WebInspector.BoxModelDetailsSectionRow.prototype._handleKeyDown): Set _ignoreNextRefresh.
- 2013-03-19 Timothy Hatcher <timothy@apple.com>
- Make Local and Session storage work again.
- <rdar://problem/13266278> REGRESSION: Local and Session storage protocol
- changes break displaying these items
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMStorageObject.js:
- (WebInspector.DOMStorageObject.prototype.getEntries):
- Use DOMStorageAgent.getDOMStorageEntries or DOMStorageAgent.getDOMStorageItems.
- * UserInterface/DOMStorageObserver.js:
- (WebInspector.DOMStorageObserver.prototype.addDOMStorage):
- Revert earlier Curie compatibility support since it changed again!
- * UserInterface/StorageManager.js:
- (WebInspector.StorageManager):
- (WebInspector.StorageManager.prototype._securityOriginDidChange): Added.
- (WebInspector.StorageManager.prototype._domStorageForId):
- When a Frame's security origin changes, add local and session storage if they don't
- already exist for that security origin.
- 2013-03-19 Timothy Hatcher <timothy@apple.com>
- Add securityOrigin to WebInspector.Frame.
- This will be needed to fix DOM Storage inspection.
- Reviewed by Joseph Pecoraro.
- * UserInterface/Frame.js:
- (WebInspector.Frame):
- (WebInspector.Frame.prototype.initialize):
- (WebInspector.Frame.prototype.get securityOrigin): Added.
- Added securityOrigin parameters. Also fire the NameDidChange at the end of initialize
- so the Frame is in the final state instead of an intermediate state.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.frameDidNavigate):
- (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent):
- (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache):
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse):
- (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame):
- (WebInspector.FrameResourceManager.prototype._createFrame):
- Pass along the securityOrigin so Frame can be created or initialized with it.
- Also pass along the frame name in places it was missing, now that we might need it.
- 2013-03-19 Timothy Hatcher <timothy@apple.com>
- Update InspectorBackendCommands to the latest.
- Reviewed by Joseph Pecoraro.
- * UserInterface/InspectorBackend.js:
- (InspectorBackendClass.prototype._getAgent):
- (InspectorBackendClass.prototype.registerCommand):
- (InspectorBackendClass.prototype.registerEnum):
- Added support for registerEnum, which is new.
- * UserInterface/InspectorBackendCommands.js:
- Updated to the latest from Open Source r146200.
- 2013-03-18 Timothy Hatcher <timothy@apple.com>
- Make console messages bottom align if the log hasn't scrolled yet.
- Also includes:
- * Restore clicking the empty space in the log to focus the prompt.
- * Make the prompt top border lighten when the log view is showing.
- <rdar://problem/13442215> Maybe improve console typing UI (112588)
- Reviewed by Joseph Pecoraro.
- * UserInterface/ConsoleGroup.js:
- (WebInspector.ConsoleGroup.prototype.addMessage):
- * UserInterface/LogContentView.css:
- (.console-messages):
- (.console-messages :first-child):
- Use flex layout and an auto top margin to push items to the bottom until scrolled.
- (.console-item):
- (.console-user-command .console-message):
- Move the border to the top since items are bottom aligned now.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype._mousedown):
- Focus the prompt if the click was in empty space.
- * UserInterface/Main.js:
- (WebInspector.showSplitConsole):
- (WebInspector.hideSplitConsole):
- (WebInspector.showFullHeightConsole):
- (WebInspector._contentBrowserCurrentContentViewDidChange):
- Notify the QuickConsole via consoleLogVisibilityChanged when the log view shows
- or hides in the main content browser or split content browser.
- * UserInterface/QuickConsole.css:
- (.quick-console.showing-log): Added. Lighten the border color.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole.prototype.consoleLogVisibilityChanged): Added.
- Add or remove the showing-log style class.
- 2013-03-17 Timothy Hatcher <timothy@apple.com>
- Tweak how the console view and split console work.
- Clicking the console button will always show the console full height. The console button
- is only blue when the console view is full height. Pressing escape always shows the split
- console. Add support for allowing the content view to decide if the split console can be
- shown. If it can't the full height console is shown instead.
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/ClusterContentView.js:
- (WebInspector.ClusterContentView.prototype.get supportsSplitContentBrowser):
- * UserInterface/ContentView.js:
- (WebInspector.ContentView.prototype.get supportsSplitContentBrowser):
- * UserInterface/ContentViewContainer.js:
- (WebInspector.ContentViewContainer.prototype._showContentView):
- (WebInspector.ContentViewContainer.prototype._hideContentView):
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel):
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView):
- (WebInspector.LogContentView.prototype.didAppendConsoleMessage):
- (WebInspector.LogContentView.prototype._toggleSplit):
- * UserInterface/Main.js:
- (WebInspector.loaded):
- (WebInspector.contentLoaded):
- (WebInspector.isShowingSplitConsole):
- (WebInspector.currentViewSupportsSplitContentBrowser):
- (WebInspector.toggleSplitConsole):
- (WebInspector.showSplitConsole):
- (WebInspector.hideSplitConsole):
- (WebInspector.showFullHeightConsole):
- (WebInspector.isShowingConsoleView):
- (WebInspector.showConsoleView):
- (WebInspector.toggleConsoleView):
- (WebInspector._contentBrowserCurrentContentViewDidChange):
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole.prototype._toggleOrFocus):
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView.prototype.get supportsSplitContentBrowser):
- 2013-03-18 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13443806> Safari Web Inspector: Point-to-inspect mode breaks when Node details sidebar open (112607)
- Fix typos that could cause exceptions.
- Reviewed by Timothy Hatcher.
- * UserInterface/EventListenerSectionGroup.js:
- (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink):
- 2013-03-17 Timothy Hatcher <timothy@apple.com>
- Stop scaling the MoreColumns.pdf and LessColumns.pdf images.
- Reviewed by Jon Honeycutt.
- * UserInterface/TimelinesContentView.css:
- (.content-view.timelines > .data-grid th.collapser > .collapser-button):
- * UserInterface/TimelinesContentView.js:
- 2013-03-17 Timothy Hatcher <timothy@apple.com>
- Only call SidebarPanel's shown and hidden when the visibility actually changes.
- This was causing the Console view to not be remembered between sessions because the
- InstrumentsPanel was selecting a tree element in the shown function, even though
- the sidebar panel was not visible.
- Reviewed by Joseph Pecoraro.
- * UserInterface/Sidebar.js:
- (WebInspector.Sidebar.prototype.set selectedSidebarPanel):
- (WebInspector.Sidebar.prototype.set collapsed):
- 2013-03-17 Timothy Hatcher <timothy@apple.com>
- Speed up Web Inspector image generation some by using Uint32Array.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ImageUtilities.js:
- (generateColoredImage):
- (generateEmbossedImages._invertMaskImage):
- Use Uint32Array to process the pixels faster. Account for endianness (even though we don't
- really need to since we don't support Windows or PowerPC.)
- * UserInterface/Utilities.js:
- (Uint32Array.isLittleEndian): Added.
- 2013-03-17 Timothy Hatcher <timothy@apple.com>
- Cache and restore generated images to speed up the load time for the Web Inspector.
- <rdar://problem/13436334> Web Inspector takes about 3s to activate
- Reviewed by Joseph Pecoraro.
- * UserInterface/ButtonNavigationItem.js:
- (WebInspector.ButtonNavigationItem.prototype._generateImages):
- Pass !this._imageCacheable to generateEmbossedImages.
- * UserInterface/ImageUtilities.js:
- (generateColoredImage):
- Don't set globalCompositeOperation to "clear" before using webkitPutImageDataHD.
- (generateColoredImagesForCSS):
- (generateColoredImagesForCSS.imageLoaded): Added.
- (generateColoredImagesForCSS.ensureImageIsLoaded): Added.
- (generateColoredImagesForCSS.restoreImages): Added.
- (generateColoredImagesForCSS.restoreImage): Added.
- (generateColoredImagesForCSS.devicePixelRatioChanged): Added.
- (generateColoredImagesForCSS.generateImagesIfNeeded): Renamed from generateImages.
- (generateColoredImagesForCSS.generateImagesIfNeeded.generateActiveImages):
- (generateColoredImagesForCSS.generateImage):
- Try to restore the images first. If needed, load the image and regenerate them.
- (_createImageLocalStorageKey): Added.
- (saveImageToLocalStorage): Added.
- (restoreImageFromLocalStorage): Added.
- (restoreImageFromLocalStorage.parseVersion): Added.
- Save and restore images via pixel arrays with localStorage. Abort the restore
- if versions mismatch or the array size isn't correct.
- (generateEmbossedImages):
- (generateEmbossedImages.imageLoaded): Added.
- (generateEmbossedImages.ensureImageIsLoaded): Added.
- (generateEmbossedImages.restoreImages): Added.
- (generateEmbossedImages.restoreImage): Added.
- (generateEmbossedImages.devicePixelRatioChanged): Added.
- (generateEmbossedImages.generateImagesIfNeeded): Added.
- (generateEmbossedImages.generateImagesIfNeeded.generateActiveImages):
- (generateEmbossedImages.generateImage): Renamed from _createEmbossedCanvasImage.
- Try to restore the images first. If needed, load the image and regenerate them.
- (generateEmbossedImages._invertMaskImage):
- (generateEmbossedImages._applyImageMask):
- Don't set globalCompositeOperation to "clear" before using webkitPutImageDataHD.
- * UserInterface/ToggleButtonNavigationItem.js:
- Mark the image as not cacheable. We need to swap images with the same identifiers.
- 2013-03-17 Timothy Hatcher <timothy@apple.com>
- Make generateColoredImagesForCSS require passing image width and height.
- This will be needed to cache and restore generated images for <rdar://problem/13436334>.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDeclarationSection.js:
- (WebInspector.CSSStyleDeclarationSection):
- * UserInterface/DataGrid.js:
- (WebInspector.DataGrid.prototype._generateSortIndicatorImagesIfNeeded):
- * UserInterface/DetailsSection.js:
- (WebInspector.DetailsSection.prototype._generateDisclosureTrianglesIfNeeded):
- * UserInterface/FindBanner.js:
- (WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded):
- * UserInterface/ImageUtilities.js:
- (generateColoredImagesForCSS):
- * UserInterface/Main.js:
- (WebInspector._generateDisclosureTriangleImages):
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded):
- 2013-03-17 Joseph Pecoraro <pecoraro@apple.com>
- Simplify giving ExecutionContexts for Frames a name
- Reviewed by Dean Jackson.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.executionContextCreated):
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole.prototype._createExecutionContextPathComponentFromFrame):
- Make both iOS 6 and trunk use the frame's main resource's display name.
- 2013-03-17 Joseph Pecoraro <pecoraro@apple.com>
- Clean-up Weight.svg a little more.
- Rubber-stamped by Timothy Hatcher.
- * UserInterface/Images/Weight.svg:
- Removed the path id, and extra processing instruction attribute.
- 2013-03-17 Joseph Pecoraro <pecoraro@apple.com>
- Add Execution Context / Frame selector to the QuickConsole
- <rdar://problem/10809363> PARITY (WebKit Web Inspector): UI for evaluating in different windows / frames from the console is missing
- Reviewed by Dean Jackson.
- * UserInterface/ExecutionContext.js:
- (WebInspector.ExecutionContext):
- Allow an execution context with the special undefined identifier.
- * UserInterface/NavigationBar.js:
- (WebInspector.NavigationBar.prototype.get sizesToFit):
- * UserInterface/QuickConsoleNavigationBar.js:
- (WebInspector.QuickConsoleNavigationBar.prototype.get sizesToFit):
- * UserInterface/HierarchicalPathNavigationItem.js:
- (WebInspector.HierarchicalPathNavigationItem.prototype.updateLayout):
- The QuickConsoleNavigationBar stretches. Respect that laying out a hierarchical path.
- * UserInterface/HierarchicalPathComponent.css:
- (.hierarchical-path-component > .selector-arrows):
- (.hierarchical-path-component.text-only):
- (.hierarchical-path-component.text-only > select):
- * UserInterface/HierarchicalPathComponent.js:
- (WebInspector.HierarchicalPathComponent):
- * UserInterface/Images/UpDownArrows.svg: Added.
- Allow creating a text only HierarchicalPathComponent, and one that shows
- up/down popup selector arrows.
- * UserInterface/Frame.js:
- (WebInspector.Frame.prototype.commitProvisionalLoad):
- (WebInspector.Frame.prototype.clearExecutionContexts):
- Send an event when clearing contexts. Provide a flag for when it happens
- while a frame is navigating, in which case we would expect a new execution
- context soon for the new page.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole):
- Register for events necessary to fill a selector picker with frames.
- iOS 6 needs to provide frame ids, so listen for added / removed frames.
- Trunk and later use ExecutionContexts which Frames broadcast changes for.
- Executing in the main frame uses "undefined".
- (WebInspector.QuickConsole.prototype.get executionContextIdentifier):
- This is the selected identifier (contextId or frameId on iOS 6). If no
- selector is shown, this will still be the main frame execution context.
- (WebInspector.QuickConsole.prototype._executionContextPathComponentsToDisplay):
- (WebInspector.QuickConsole.prototype._rebuildExecutionContextPathComponents):
- Update the nav bar components. There is a single segment, with the selected component.
- (WebInspector.QuickConsole.prototype._framePageExecutionContextsCleared):
- (WebInspector.QuickConsole.prototype._framePageExecutionContextsChanged):
- Trunk, event handlers when frames get and clear execution contexts. When a frame
- navigates we have a little bit of logic to reselect that frame when its new
- execution context comes in.
- (WebInspector.QuickConsole.prototype._frameAdded):
- (WebInspector.QuickConsole.prototype._frameRemoved):
- (WebInspector.QuickConsole.prototype._frameMainResourceChanged):
- iOS 6 support. Track frame adds, removes, and resource changes to update the display.
- (WebInspector.QuickConsole.prototype._createExecutionContextPathComponent):
- (WebInspector.QuickConsole.prototype._createExecutionContextPathComponentFromFrame):
- Helpers for creating path components. Handles iOS 6 and trunk to get the right id.
- (WebInspector.QuickConsole.prototype._compareExecutionContextPathComponents):
- (WebInspector.QuickConsole.prototype._insertExecutionContextPathComponentForFrame):
- (WebInspector.QuickConsole.prototype._removeExecutionContextPathComponentForFrame):
- (WebInspector.QuickConsole.prototype._updateExecutionContextPathComponentForFrame):
- PathComponents are a linked list. We display them sorted. These are helpers for
- inserting, removing, and updating a path component in that list.
- (WebInspector.QuickConsole.prototype._pathComponentSelected):
- (WebInspector.QuickConsole.prototype._debuggerActiveCallFrameDidChange):
- Changes to the state of the inspector that may require the UI to update.
- * UserInterface/JavaScriptTextPrompt.js:
- (WebInspector.JavaScriptTextPrompt.prototype.evalInInspectedWindow):
- Evaluate in the context selected in the QuickConsole.
- 2013-03-17 Joseph Pecoraro <pecoraro@apple.com>
- Create an ExecutionContextList class.
- <rdar://problem/10809363> PARITY (WebKit Web Inspector): UI for evaluating in different windows / frames from the console is missing
- There may be many ExecutionContexts for a page, one for each isolated
- world in the frame. Store each context for a frame in an ExecutionContext
- and provide an accessor for the one that is the page context.
- This also converges on the name "pageExecutionContext" instead of
- "mainExecutionContext" for the special context of the page.
- Reviewed by Dean Jackson.
- * UserInterface/Main.html:
- * UserInterface/ExecutionContextList.js: Added.
- (WebInspector.ExecutionContextList):
- (WebInspector.ExecutionContextList.prototype.get pageExecutionContext):
- (WebInspector.ExecutionContextList.prototype.get contexts):
- (WebInspector.ExecutionContextList.prototype.add):
- (WebInspector.ExecutionContextList.prototype.clear):
- ExecutionContextList holds a list of contexts and has a quick
- accessor for the page execution context.
- * UserInterface/Frame.js:
- (WebInspector.Frame):
- (WebInspector.Frame.prototype.get pageExecutionContext):
- (WebInspector.Frame.prototype.get executionContextList):
- (WebInspector.Frame.prototype.clearExecutionContexts):
- (WebInspector.Frame.prototype.addExecutionContext):
- Updated to use an ExecutionContextList.
- * UserInterface/DOMTree.js:
- (WebInspector.DOMTree):
- (WebInspector.DOMTree.prototype.requestRootDOMNode):
- (WebInspector.DOMTree.prototype._requestRootDOMNode):
- (WebInspector.DOMTree.prototype._framePageExecutionContextChanged):
- Updated from mainExecutionContext to pageExecutionContext.
- 2013-03-16 Timothy Hatcher <timothy@apple.com>
- Move the debugger controls from the quick console to the debugger sidebar.
- Also dynamically add and remove the call stack section so it isn't an eyesore
- when you are not paused.
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/DebuggerSidebarPanel.css: Added.
- (.sidebar > .panel.debugger > .content):
- (.sidebar > .panel.debugger > .navigation-bar):
- * UserInterface/DebuggerSidebarPanel.js:
- (WebInspector.DebuggerSidebarPanel):
- (WebInspector.DebuggerSidebarPanel.prototype._debuggerPauseResumeButtonClicked):
- (WebInspector.DebuggerSidebarPanel.prototype._debuggerStepOverButtonClicked):
- (WebInspector.DebuggerSidebarPanel.prototype._debuggerStepIntoButtonClicked):
- (WebInspector.DebuggerSidebarPanel.prototype._debuggerStepOutButtonClicked):
- (WebInspector.DebuggerSidebarPanel.prototype._debuggerDidPause):
- (WebInspector.DebuggerSidebarPanel.prototype._debuggerDidResume):
- (WebInspector.DebuggerSidebarPanel.prototype._debuggerCallFramesDidChange):
- (WebInspector.DebuggerSidebarPanel.prototype.deselectCallStackContentTreeElements): Added.
- (WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected):
- * UserInterface/Main.html:
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole):
- (WebInspector.QuickConsole.prototype._toggleOrFocus):
- 2013-03-16 Timothy Hatcher <timothy@apple.com>
- Make the toolbar labels look better in window mode.
- Rubber-stamped by Joseph Pecoraro.
- * UserInterface/Toolbar.css:
- (body:not(.docked) .toolbar .item.button > .label): Apply antialiased only to the labels
- so we don't affect text in the dashboard. Also add a stroke to make the text heavier.
- 2013-03-16 Timothy Hatcher <timothy@apple.com>
- Make toolbar items layout and collapse better at narrow window sizes.
- <rdar://problem/13189092> Toolbar items can be laid out on top of each other with narrow window
- Reviewed by Joseph Pecoraro.
- * UserInterface/ButtonToolbarItem.css:
- (.toolbar.collapsed .item.button > .label): Removed. We only use icon-only now.
- * UserInterface/DashboardView.css:
- (.toolbar.collapsed .dashboard): Added. Collapses when there is no room.
- * UserInterface/NavigationBar.js:
- (WebInspector.NavigationBar.prototype.updateLayout): Call customUpdateLayout() if it exists.
- * UserInterface/Toolbar.css:
- (.toolbar .item-section:not(.center)): Removed min-width and made flex be 1.
- (.toolbar .item-section.left): Added right margin to prevent touching.
- (.toolbar .item-section.center): Make flex be 2 so it can be a different width.
- (.toolbar .item-section.right): Added a left margin to prevent touching.
- * UserInterface/Toolbar.js:
- (WebInspector.Toolbar.prototype.set displayMode): Revert the forced icon-only mode.
- (WebInspector.Toolbar.prototype.customUpdateLayout.computeItemWidths): Added.
- (WebInspector.Toolbar.prototype.customUpdateLayout.computeSectionWidths): Added.
- (WebInspector.Toolbar.prototype.customUpdateLayout): Added.
- Computes each section individually for overflow. If any section overflow switch to icon-only
- mode when in horizontal-label mode. If any section overflows after that then collapse the
- toolbar, which only hides the Dashboard right now.
- 2013-03-16 Timothy Hatcher <timothy@apple.com>
- Make the labels in the Instruments sidebar be 11px instead of 10px.
- Reviewed by Joseph Pecoraro.
- * UserInterface/NavigationSidebarPanel.css:
- Removed a rule that was making the font-size 10px. Only the Instruments
- sidebar triggered this rule.
- 2013-03-16 Timothy Hatcher <timothy@apple.com>
- Break-up the generation of images and delay the generation of
- active images so the initial page load is faster.
- <rdar://problem/13436334> Web Inspector takes about 3s to activate
- Reviewed by Joseph Pecoraro.
- * UserInterface/ImageUtilities.js:
- (.generateImages.generateActiveImages): Added.
- (.generateImages): Set a tiemout to call generateActiveImages.
- (._generateImages.generateActiveImages): Added.
- (._generateImages): Set a tiemout to call generateActiveImages.
- 2013-03-15 Timothy Hatcher <timothy@apple.com>
- Sort resources by domain before sorting alphabetically by name.
- This was suggested by someone on Twitter. It allows local resources to bubble
- to the top and external resources (analytic scripts, etc.) to come later.
- Reviewed by Joseph Pecoraro.
- * UserInterface/GeneralTreeElement.js:
- (WebInspector.GeneralTreeElement):
- (WebInspector.GeneralTreeElement.prototype.set mainTitle):
- (WebInspector.GeneralTreeElement.prototype.set subtitle):
- Fallback to "" for mainTitle and subtitle.
-
- * UserInterface/ResourceTreeElement.js:
- (WebInspector.ResourceTreeElement.compareResourceTreeElements):
- Sort resources by domain (subtitle) before sorting by name (mainTitle).
- 2013-03-15 Jessie Berlin <jberlin@apple.com>
- Ran update-safari-localizable-strings.
- * Localizations/en.lproj/localizedStrings.js:
- 2013-03-14 Timothy Hatcher <timothy@apple.com>
- Display em-dashes instead of "0" for resources size and time to make it clear
- the values are not known yet.
- Reviewed by Joseph Pecoraro.
- * UserInterface/DashboardView.js:
- (WebInspector.DashboardView.prototype.set time):
- (WebInspector.DashboardView.prototype.set resourcesSize):
- 2013-03-14 Timothy Hatcher <timothy@apple.com>
- Remove references to bottomUpHead. We can build the bottom-up tree locally.
- The bottomUpHead is being removed from the protocol by https://webkit.org/b/112351.
- Also remove references to TopDownTreeFactory and BottomUpTreeFactory with is dead code.
- Reviewed by Joseph Pecoraro.
- * UserInterface/JavaScriptProfileView.js:
- (WebInspector.JavaScriptProfileView.prototype.get bottomUpProfileDataGridTree):
- 2013-03-14 Timothy Hatcher <timothy@apple.com>
- Always specify overflow-x when specifying overflow-y.
- Not specifying overflow-x causes it to be auto and can show scrollbars for wide content.
- Also use auto instead of scroll in a few places to prevent scroll bars from always being
- visible when the system prefers non-overlay scrollbars.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDetailsSidebarPanel.css:
- (.sidebar > .panel.details.css-style > .content):
- * UserInterface/LayerTreeSidebarPanel.css:
- (.layer-tree.panel .data-container):
- * UserInterface/LogContentView.css:
- (.console-messages):
- * UserInterface/Popover.css:
- (.popover > .container):
- 2013-03-14 Timothy Hatcher <timothy@apple.com>
- Remove the memory placeholder in the toolbar dashboard now that we deferred that feature.
- This also evenly distributes the items for a better layout in all modes.
- <rdar://problem/13237747> Dashboard items are not evenly distributed
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/DashboardView.css:
- Overhauled the styles to use flex layout in all cases.
- * UserInterface/DashboardView.js:
- (WebInspector.DashboardView):
- Removed memory and split resources into resourceCount and resourcesSize.
- (WebInspector.DashboardView.prototype.set logs):
- (WebInspector.DashboardView.prototype.set issues):
- (WebInspector.DashboardView.prototype.set errors):
- (WebInspector.DashboardView.prototype.set resourcesCount):
- Call _formatPossibleLargeNumber and set the outlet.
- (WebInspector.DashboardView.prototype.set resourcesSize):
- Set the resourcesSize outlet instead of calling _updateResourcesOutlet.
- (WebInspector.DashboardView.prototype._formatPossibleLargeNumber):
- Added. This is a better approach to dealing with large numbers than ellipsis.
- (WebInspector.DashboardView.prototype._appendElementForNamedItem):
- Removed the double div. It is no longer needed to truncate since all the outlets
- can't really go larger than 6 characters now.
- (WebInspector.DashboardView.prototype._networkItemWasClicked):
- Renamed from _timeWasClicked so resourcesSize can use it.
- * UserInterface/Images/Weight.svg: Added.
- 2013-03-13 Timothy Hatcher <timothy@apple.com>
- Mark DOM node styles as needing refreshed when an ancestor changes pseudo classes or any attributes change.
- <rdar://problem/13412234> REGRESSION: Style details sidebar does not update when ancestor nodes change
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleManager.js:
- (WebInspector.CSSStyleManager): Add event listeners for all nodes.
- (WebInspector.CSSStyleManager.prototype._nodePseudoClassesDidChange): Added.
- (WebInspector.CSSStyleManager.prototype._nodeAttributesDidChange): Added.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles): Remove event listeners on the single node.
- (WebInspector.DOMNodeStyles.prototype.pseudoClassesDidChange): Added.
- (WebInspector.DOMNodeStyles.prototype.attributeDidChange): Added.
- 2013-03-13 Timothy Hatcher <timothy@apple.com>
- Always refresh the DOM node styles when visibility changes for the sidebar or separate panels.
- <rdar://problem/13412234> REGRESSION: Style details sidebar does not update when ancestor nodes change
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange):
- Call markAsNeedsRefresh instead of the removed refreshIfNeeded.
- * UserInterface/StyleDetailsPanel.js:
- (WebInspector.StyleDetailsPanel):
- (WebInspector.StyleDetailsPanel.prototype.shown):
- (WebInspector.StyleDetailsPanel.prototype.markAsNeedsRefresh):
- (WebInspector.StyleDetailsPanel.prototype._refreshNodeStyles): Added.
- (WebInspector.StyleDetailsPanel.prototype._nodeStylesRefreshed):
- (WebInspector.StyleDetailsPanel.prototype._nodeStylesNeedsRefreshed):
- Remove the concept of having a separate needs refresh flag. Instead we just call refresh on the DOMNodeStyles
- and wait for the Refreshed event. This way we always get the latest styles when first showing the panel.
- 2013-03-14 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13421555> Source code links should always show the original location
- Location links will now show the original location normally, and
- display a mapped / formatted display location in italics when hovered,
- but only if such a location exists.
- Reviewed by Timothy Hatcher.
- * UserInterface/LayoutTimelineDataGridNode.js:
- (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent):
- * UserInterface/Main.js:
- (WebInspector.createSourceCodeLocationLink):
- Use the SourceCodeLocation helpers to keep the contents live.
- * UserInterface/Main.css:
- (.display-location):
- Make display locations italic.
- * UserInterface/SourceCodeLocation.js:
- (WebInspector.SourceCodeLocation.prototype.tooltipString):
- (WebInspector.SourceCodeLocation.prototype.populateLiveDisplayLocationTooltip):
- (WebInspector.SourceCodeLocation.prototype.populateLiveDisplayLocationString):
- Different handlers to keep a tooltip or element property live.
- 2013-03-14 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13418338> Show / Hide Shadow DOM should not change the selected node, or select the earliest ancestor
- Reviewed by Timothy Hatcher.
- * UserInterface/DOMTreeOutline.js:
- 2013-03-14 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13418332> Remove or selectively show "Show Shadow DOM" context menu, there is a nav bar button
- Reviewed by Timothy Hatcher.
- * UserInterface/DOMTreeOutline.js:
- (WebInspector.DOMTreeOutline.prototype.populateContextMenu):
- (WebInspector.DOMTreeOutline.prototype._populateContextMenu):
- 2013-03-14 Joseph Pecoraro <pecoraro@apple.com>
- Improve JavaScript pretty printing of "finally"
- Reviewed by Timothy Hatcher.
- * UserInterface/CodeMirrorFormatters.js:
- * Tools/PrettyPrinting/CodeMirrorFormatters.js:
- 2013-03-14 Joseph Pecoraro <pecoraro@apple.com>
- Provide a SourceCodeLocation helper that keeps an element text up to date.
- Reviewed by Timothy Hatcher.
- * UserInterface/LayoutTimelineDataGridNode.js:
- (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent):
- * UserInterface/SourceCodeLocation.js:
- (WebInspector.SourceCodeLocation.prototype.setAndKeepElementDisplayLocationStringUpToDate):
- 2013-03-14 Joseph Pecoraro <pecoraro@apple.com>
- Let WebInspector.createSourceCodeLocationLink create a goToArrow
- Reviewed by Timothy Hatcher.
- This allows LayoutTimelineDataGridNode to use createSourceCodeLocationLink
- and not remove its children.
- * UserInterface/LayoutTimelineDataGridNode.js:
- (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent):
- * UserInterface/Main.js:
- (.updateLinkDisplayStrings):
- (WebInspector.createSourceCodeLocationLink):
- 2013-03-14 Joseph Pecoraro <pecoraro@apple.com>
- WebInspector.createSourceCodeLocationLink use SourceCodeLocation's full power
- Reviewed by Timothy Hatcher.
- When a link is created with a source code location we can show the real
- location (mapped location, formatted location, original location) and
- update the link and tooltip when things change.
- * UserInterface/EventListenerSectionGroup.js:
- (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink):
- Switch to from createSourceCodeLink to createSourceCodeLocationLink.
- * UserInterface/Main.js:
- (WebInspector.createSourceCodeLocationLink):
- Update link text and tooltip when the location changes.
- * UserInterface/SourceCodeLocation.js:
- (WebInspector.SourceCodeLocation.prototype._locationString):
- Use SourceCode.displayName and handle source codes without URLs if needed.
- 2013-03-14 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13386143> REGRESSION (CodeMirror): Jump to line / reveal line should reveal closer to the middle of the editor never the top or bottom if possible
- If revealLine is called with a line outside the visible set of lines
- in the editor then scroll the editor to make that line the center.
- This also behaves as expected for lines the start / end of a document.
- Reviewed by Timothy Hatcher.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.shown):
- In order for cm.getScrollInfo() values to be valid after an editor is
- reattached to the DOM Hierarchy we have to call refresh, and because of
- the way CodeMirror works (coalescing changes in operations) the
- getScrollInfo is only valid after the refresh operation. So remove the
- wrapping operation here.
- (WebInspector.TextEditor.prototype.set formatted):
- If you pretty print a document do not send a change event and
- cause the value to be sent to the backend. The frontend style
- sidebar expects line and column numbers for the original
- unformatted document.
- (WebInspector.TextEditor.prototype.revealAndHighlightLine):
- (WebInspector.TextEditor.prototype.revealLine):
- (WebInspector.TextEditor.prototype._scrollIntoViewCentered):
- (WebInspector.TextEditor.prototype._prettyPrint):
- In revealLine or prettyPrint when we move the selection make a decision
- whether or not to scroll the editor to put that line in the center.
- 2013-03-14 Joseph Pecoraro <pecoraro@apple.com>
- Update CodeMirror to ToT (v3.1+) which includes some JavaScript language and selection fixes
- <rdar://problem/13396332> CodeMirror: Selection on lines that wrap more than once is incorrect
- Rubber-stamped by Timothy Hatcher.
- * UserInterface/External/CodeMirror/codemirror.js:
- * UserInterface/External/CodeMirror/javascript.js:
- 2013-03-14 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13410237> REGRESSION: Editing CSS resources no longer works (it is read-only)
- Reviewed by Ricky Mondello.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.set readOnly):
- 2013-03-14 Antoine Quint <graouts@apple.com>
- <rdar://problem/13410257> Display the reason why a layer is composited
- Retrieve the reason why the selected layer in the layer tree sidebar
- panel is composited and display them in a popover anchored to the
- selected data grid node, removing the popover when the inspector
- loses focus or the data grid node is no longer selected.
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js:
- Add new strings used to display the various compositing reasons.
- * UserInterface/InspectorBackendCommands.js:
- Add new LayerTree.reasonsForCompositingLayer() protocol method.
- * UserInterface/LayerTreeManager.js:
- (WebInspector.LayerTreeManager.prototype.reasonsForCompositingLayer):
- Wrapper for the new LayerTree.reasonsForCompositingLayer() protocol
- method.
- * UserInterface/LayerTreeSidebarPanel.css:
- (.layer-tree-popover):
- (.layer-tree-popover p):
- (.layer-tree-popover ul):
- (.layer-tree-popover li):
- Styles for the content displayed in a popover to show the compositing
- reasons for the selected layer.
- * UserInterface/LayerTreeSidebarPanel.js:
- (WebInspector.LayerTreeSidebarPanel.prototype._selectedDataGridNodeChanged):
- On top of highlighting the appropriate region in the canvas for the
- selected layer, also show a popover with the reasons why it was
- composited or remove the popover if there are no selected layers.
- (WebInspector.LayerTreeSidebarPanel.prototype._dataGridGainedFocus):
- Show the popover for the selected data grid node.
- (WebInspector.LayerTreeSidebarPanel.prototype._dataGridLostFocus):
- Hide the popover.
- (WebInspector.LayerTreeSidebarPanel.prototype._showPopoverForSelectedNode):
- (WebInspector.LayerTreeSidebarPanel.prototype._hidePopover):
- (WebInspector.LayerTreeSidebarPanel.prototype.):
- (WebInspector.LayerTreeSidebarPanel.prototype._populateListOfCompositingReasons):
- Show a popover listing the compositing reasons for the selected layer
- anchored to the selected data grid node. The content of the popover
- is provided after the call to the agent to retrieve the reasons for
- compositing has returned.
- * UserInterface/Popover.css:
- (.popover):
- (.popover.arrow-up):
- (.popover.arrow-right):
- (.popover.arrow-down):
- (.popover.arrow-left):
- * UserInterface/Popover.js:
- (WebInspector.Popover.prototype.area):
- (WebInspector.Popover.prototype.present):
- (WebInspector.Popover.prototype._bestMetricsForEdge):
- Miscellaneous enhancements for better popover behavior where we correctly
- round up the metrics for the hosted content, ensure we interrupt a dismiss
- animation when presenting the popover again, and change the sizing behavior
- to take into account the various padding metrics applied as a result of
- picking a given edge.
- 2013-03-13 Timothy Hatcher <timothy@apple.com>
- Don't wait until DOMContentLoaded to do non-UI initialization when loading the Web Inspector.
- Part of: <rdar://problem/13412219> REGRESSION: Opening the Web Inspector takes 5s
- Reviewed by Joseph Pecoraro.
- * UserInterface/CodeMirrorAdditions.js:
- Moved extra MIME-type registration here.
- * UserInterface/Main.html:
- Added a inline script to call WebInspector.loaded(). This needs to be outside of Main.js so it
- comes after the scripts added via document.write when Main.js is a combined file.
- * UserInterface/Main.js:
- (WebInspector.loaded): Added. Moved code from contentLoaded.
- (WebInspector.contentLoaded): Moved code to loaded.
- (WebInspector._windowResized): Call _contentBrowserSizeDidChange to avoid registering for resize twice.
- 2013-03-13 Timothy Hatcher <timothy@apple.com>
- Add selected images for UserInputResult.pdf and UserInputPromptPrevious.pdf.
- Reviewed by Joseph Pecoraro.
- * UserInterface/Images/UserInputPromptPreviousSelected.pdf: Added.
- * UserInterface/Images/UserInputResultSelected.pdf: Added.
- * UserInterface/LogContentView.css:
- (.console-messages:focus .console-item.selected .console-user-command-result.console-log-level::before):
- (.console-messages:focus .console-item.selected .console-user-command::before):
- 2013-03-13 Timothy Hatcher <timothy@apple.com>
- Make copy work in the split console.
- <rdar://problem/13411428> Copy does not work if the console is in split view
- Reviewed by Joseph Pecoraro.
- * UserInterface/Main.js:
- (WebInspector._focusedContentView): Added.
- (WebInspector._beforecopy): Structure more like _copy. Use _focusedContentView.
- (WebInspector._copy): Use _focusedContentView.
- 2013-03-13 Timothy Hatcher <timothy@apple.com>
- Remove old focus tracking code in EditingSupport.js and start tracking currentFocusElement
- and previousFocusElement in Main.js's _focusChanged handler.
- Reviewed by Joseph Pecoraro.
- * UserInterface/EditingSupport.js:
- (WebInspector.startEditing.cleanUpAfterEditing): Use restoreFocusFromElement().
- * UserInterface/JavaScriptTextPrompt.js:
- (WebInspector.JavaScriptTextPrompt.prototype.focus): Use focus().
- * UserInterface/Main.js:
- (WebInspector.restoreFocusFromElement): Added.
- (WebInspector._focusChanged): Set currentFocusElement and previousFocusElement.
- * UserInterface/TextPrompt.js:
- (WebInspector.TextPrompt.prototype._startEditing): Use focus().
- 2013-03-13 Timothy Hatcher <timothy@apple.com>
- Fix some things with the new console selection behavior.
- * Makes sure all disclosure triangles and text are white when the row selection is blue.
- * Makes sure all disclosure triangles and text are normal when the row selection is gray.
- * Fixes a bug where click would cause the row to jump between top and bottom reveal instead of
- toggling a clicked disclosure triangle.
- * Only expand recursively if the Option key is pressed. This matches the TreeOutline code.
- * Collapse recursively if the option key is pressed.
- * Better aligns the disclosure triangles with DOM tree nodes.
- Reviewed by Antoine Quint.
- * UserInterface/LogContentView.css:
- (.console-messages):
- (.console-item.selected):
- (.console-messages:focus .console-item.selected *):
- (.console-group-title::before):
- (.console-messages:focus .console-item.selected .console-group-title::before):
- (.console-messages:focus .console-group.collapsed .console-item.selected .console-group-title::before):
- (.console-messages:focus .console-item.selected .section .header .title):
- (.console-message-url):
- (.console-messages:focus .console-item.selected .section .header::before):
- (.console-messages:focus .console-item.selected .section.expanded .header::before):
- (.console-messages:focus .console-item.selected .properties-tree li.parent::before):
- (.console-messages:focus .console-item.selected .properties-tree li.parent.expanded::before):
- (.outline-disclosure li.parent::before):
- (.console-messages:focus .console-item.selected .outline-disclosure li.parent::before):
- (.console-messages:focus .console-item.selected .outline-disclosure li.parent.expanded::before):
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype._mousedown):
- Use focus() instead of setCurrentFocusElement. The setCurrentFocusElement function is legacy and
- should be removed someday.
- (WebInspector.LogContentView.prototype._updateMessagesSelection):
- Don't call _ensureMessageIsVisible if the message was already selected from the start.
- (WebInspector.LogContentView.prototype._rightArrowWasPressed):
- (WebInspector.LogContentView.prototype._leftArrowWasPressed):
- Only expand or collapse recursively if the Option key is pressed.
- 2013-03-13 Timothy Hatcher <timothy@apple.com>
- Tweak the New Rule behavior in the Style details sidebar.
- Makes sure to scroll to reveal the section when it is focused. Also use appropriateSelectorFor
- instead of displayNameForNode to generate better selectors.
- Reviewed by Antoine Quint.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype.addRule): Use appropriateSelectorFor.
- * UserInterface/RulesStyleDetailsPanel.js:
- (WebInspector.RulesStyleDetailsPanel.prototype.refresh.scrollToFocusedSection): Added.
- (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Call scrollToFocusedSection on a timeout.
- 2013-03-13 Antoine Quint <graouts@apple.com>
- Make the "Memory" outlet at the bottom of the layer tree
- sidebar panel align to the right as expected.
- Reviewed by Timothy Hatcher.
- * UserInterface/LayerTreeSidebarPanel.css:
- (.layer-tree.panel .layers-memory-label):
- 2013-03-13 Antoine Quint <graouts@apple.com>
- <rdar://problem/13410203> Correctly identify layers for generated and reflected content
- We now correctly identify layers as reflected content and/or generated
- content with a more appropriate name in the "child layers" data grid.
- Additionally, we highlight the bounds of the layer on the page to
- clearly identify what this reflection or generated content is on the
- canvas.
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js:
- New localized string used to identify reflections layers.
- * UserInterface/DOMTreeManager.js:
- (WebInspector.DOMTreeManager.prototype.highlightRect):
- New method wrapping DOMAgent.highlightRect().
- * UserInterface/LayerTreeDataGridNode.js:
- (WebInspector.LayerTreeDataGridNode.prototype.set layer):
- Further qualify the layer by adding either the ::before or ::after
- pseudo-class for layers that are associated to generated content as
- well as a localized "Reflection for" prefix for reflected layers.
- * UserInterface/LayerTreeSidebarPanel.js:
- (WebInspector.LayerTreeSidebarPanel.prototype._highlightSelectedNode):
- Check what type of layer is now selected and call the new
- DOMTreeManager.highlightRect() method in case we're dealing with a
- reflection or generated layer.
- 2013-03-13 Antoine Quint <graouts@apple.com>
- <rdar://problem/13209485> Layer Tree sidebar should respect "show-shadow-dom" setting
- The layer tree sidebar panel data grid now respects the
- "show-shadow-dom" setting.
- Reviewed by Timothy Hatcher.
- * UserInterface/LayerTreeSidebarPanel.js:
- (WebInspector.LayerTreeSidebarPanel):
- Track changes for the "show-shadow-dom" setting.
- (WebInspector.LayerTreeSidebarPanel.prototype.refresh):
- Keep track of the unfiltered set of child layers returned when calling
- into the LayerTreeAgent such that we can reuse this unfiltered list
- of child layers layer as the "show-shadow-dom" setting changes.
- (WebInspector.LayerTreeSidebarPanel.prototype._showShadowDOMSettingChanged):
- Update the display such that the new setting is taken into account.
- (WebInspector.LayerTreeSidebarPanel.prototype._updateDisplayWithLayers):
- Filter the list of child layers to take into account the
- "show-shadow-dom" setting. We also keep track of the layer for
- the current node in the new "_layerForNode" property such that
- it may be used to call into this method again when we need to
- update the shadow DOM filter without querying the backend again.
- 2013-03-13 Antoine Quint <graouts@apple.com>
- <rdar://problem/13409543> Adopt new LayerTreeAgent protocol
- We remove all code related to the previous LayerTreeAgent protocol where
- we'd use the LayerTree.getLayerTree() and LayerTree.nodeIdForLayerId()
- methods which have now been replaced by a single method to provide the
- layers in the scope of a given DOM subtree with LayerTree.layersForNode().
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js:
- Remove the strings related to composited layers since the protocol now
- only provides composited layers.
- * UserInterface/InspectorBackendCommands.js:
- Remove the old LayerTree.getLayerTree() and LayerTree.nodeIdForLayerId()
- protocol methods and add the new LayerTree.layersForNode() method.
- * UserInterface/LayerTreeDataGridNode.js:
- (WebInspector.LayerTreeDataGridNode.prototype.get layer):
- New public accessor for the "_layer" property such that the
- LayerTreeSidebarPanel may access properties of the selected data grid
- node's layer.
- (WebInspector.LayerTreeDataGridNode.prototype.set layer):
- Remove the check for a valid node since the protocol ensures that layers
- now have a valid nodeId pushed to the front-end. We're also removing the
- redundant "layerData" property by just letting the layer be accessible
- via a public accessor.
- (WebInspector.LayerTreeDataGridNode.prototype._goToArrowWasClicked):
- Use the "_layer" property to find out the nodeId rather than the removed
- "layerData" property.
- * UserInterface/LayerTreeManager.js:
- (WebInspector.LayerTreeManager):
- Remove the hard-coded disabling of the LayerTree features in the front-end
- and instead use a real run-time check for availability of the LayerTreeAgent.
- We also remove some ivars we no longer use.
- (WebInspector.LayerTreeManager.prototype.layerTreeMutations):
- Complete rewrite of the method to account for the richer set of
- information exposed by the new protocol. We now have to take into account
- much more than just layer ids to indentify mutations, node ids should also
- be taken into account to check if a layer for the same node has appeared
- with a new layer id (as it may have been destroyed and recreated for a
- content update). We also need to take into account generated content and
- reflections, which may have pseudo element ids.
- (WebInspector.LayerTreeManager.prototype.layersForNode):
- New wrapper for the new LayerTreeAgent.layersForNode() protocol method.
- (WebInspector.LayerTreeManager.prototype.layerTreeDidChange):
- We no longer obtain the layer tree upon a change, we merely dispatch
- an event indicating that the layer tree has changed.
- * UserInterface/LayerTreeSidebarPanel.js:
- (WebInspector.LayerTreeSidebarPanel):
- Remove the setting to only show composited layers since the protocol now
- only returns composited layers.
- (WebInspector.LayerTreeSidebarPanel.prototype.refresh):
- Retrieve layers from the agent and update our display with the result.
- (WebInspector.LayerTreeSidebarPanel.prototype._layerTreeDidChange):
- Mark that we need a refresh following a change in the layer tree.
- (WebInspector.LayerTreeSidebarPanel.prototype._buildLayerInfoSection):
- No longer show the "Composited" row since all layers are now composited.
- (WebInspector.LayerTreeSidebarPanel.prototype._buildDataGridSection):
- No longer build the "only show composited layers" checkbox.
- (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid):
- (WebInspector.LayerTreeSidebarPanel.prototype._highlightSelectedNode):
- Use the now-public "layer" property on the LayerTreeDataGridNode to
- look up layer information for sorting.
- (WebInspector.LayerTreeSidebarPanel.prototype._updateDisplayWithLayers):
- Keep track of the new child layers in a "_childLayers" property.
- (WebInspector.LayerTreeSidebarPanel.prototype._updateLayerInfoSection):
- Remove the checks for composited since all layers are now composited.
- (WebInspector.LayerTreeSidebarPanel.prototype._updateDataGrid):
- (WebInspector.LayerTreeSidebarPanel.prototype._updateMetrics):
- Update to use new properties on layer objects per the change in protocol.
- 2013-03-13 Antoine Quint <graouts@apple.com>
- <rdar://problem/12886275> Selecting errors in the console doesn't select the error and the filename
- In order to be able to provide custom content to the clipboard for console messages,
- we must also allow selection of console messages in a different way than via text
- selection. In this patch, we make the list of messages selectable, supporting the
- selection types one would expect from a desktop application. I go into the details
- of what features exactly are implemented in the per-method discussion below.
- Reviewed by Timothy Hatcher.
- * UserInterface/ConsoleCommand.js:
- (WebInspector.ConsoleCommand.prototype.toClipboardString):
- Adopt the protocol to provide a custom clipboard string in the form of
- "> theJSCommand();".
-
- * UserInterface/ConsoleCommandResult.js:
- (WebInspector.ConsoleCommandResult.prototype.toClipboardString):
- Adopt the protocol to provide a custom clipboard string in the form of
- "< theCommandResult".
- * UserInterface/ConsoleGroup.js:
- (WebInspector.ConsoleGroup.prototype.addMessage):
- Wrap individual messages in a group within a wrapper element with a "console-item"
- CSS class. These elements are used to apply a "selected" or "filtered-out" class and
- to draw the full-width borders on the items.
- * UserInterface/ConsoleMessageImpl.js:
- (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
- Refactor to use new _shouldDumpStackTrace() method.
- (WebInspector.ConsoleMessageImpl.prototype._shouldDumpStackTrace):
- New method to share logic once used only in _formatMessage() with
- toClipboardString() as well.
- (WebInspector.ConsoleMessageImpl.prototype.toString):
- Refactor to use new "levelString" property.
- (WebInspector.ConsoleMessageImpl.prototype.get levelString):
- New accessor to share logic once used only in toString() with toClipboardString()
- as well.
- (WebInspector.ConsoleMessageImpl.prototype.toClipboardString):
- Adopt the protocol to provide a custom clipboard string where we log the level,
- message text, url, line number and optionally the stack frames.
- * UserInterface/JavaScriptLogViewController.js:
- (WebInspector.JavaScriptLogViewController.prototype.appendConsoleMessage):
- Return the cloned message so that we may manipulate it from call sites (ie. in
- LogContentView.prototype._messageAdded()).
- (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessage): Fix a
- missing semi-colon.
- * UserInterface/LogContentView.css:
- (.console-messages):
- Remove useless properties.
- (.console-item):
- Basic style for all console item wrappers, draw a 1px bottom border.
- (.console-item.selected):
- Background color for selected items when the container doesn't have focus (gray).
- (.console-messages:focus .console-item.selected):
- Background color for selected items when the container has focus (blue).
- (.console-messages:focus .console-item.selected *):
- Make all text in selected items white.
- (.console-item.selected .console-group-title::before):
- Use a white triangle for selected items.
- (.console-group.collapsed .console-item.selected .console-group-title::before):
- Use a white triangle for selected items.
- (.console-item.selected .console-error-level .section .header .title):
- Ensure text is white in selected items.
- (.console-item.selected .console-debug-level .console-message-text):
- Ensure text is white in selected items.
- (.auto-complete-text, .editing .auto-complete-text):
- Remove useless property.
- (.console-item.selected .outline-disclosure li.parent::before):
- Use a white triangle for selected items.
- (.console-item.selected .outline-disclosure li.parent.expanded::before):
- Use a white triangle for selected items.
- (.console-item.filtered-out):
- Remove all filtered-out items from layout.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView):
- New ivars to track the current nesting level and the list of all selected message
- elements. We also start tracking a series of keyboard and mouse events on the
- messages container to implement multiple selection of message elements.
- (WebInspector.LogContentView.prototype.updateLayout):
- Override this ContentView method to track the height of the messages container
- in order to update the scroll position of the container as we ensure the visibility
- of selected items.
- (WebInspector.LogContentView.prototype.didAppendConsoleMessage):
- Manually nest the messages hosted in wrappers and keep track of the nesting level
- as groups are opened and closed. We also clear all focusable children there as new
- content may have been added with markup using the "tabindex" attributes.
- (WebInspector.LogContentView.prototype.handleCopyEvent):
- Provide custom content to the clipboard based on the clipboard text of each message
- in the selected messages list in DOM order.
- (WebInspector.LogContentView.prototype._messageAdded):
- Ensure newly added messages are filtered out in case they don't match the selected
- filters in the scope bar.
- (WebInspector.LogContentView.prototype._mousedown):
- Event handler for the "mousedown" event on the messages container. We ignore user
- interaction if we would otherwise show a contextual menu, and ensure the messages
- container has focus otherwise. In case we're getting focus now and we already had
- selected elements, we go no further. Otherwise, we figure out which message was
- under the mouse pointer and track that we should prevent a "click" event from being
- dispatched in case the message was not yet selected. This ensures that we don't
- collapse/expand an outline and select at the same time. We then update the message
- selection state and track further mouse interaction. If we detect we didn't click on
- a message, ie. the empty area of the messages container, we clear the selection list.
- (WebInspector.LogContentView.prototype._mousemove):
- Get the message element under the mouse pointer, if any, and update the messages
- selection list so that we select messages from the first element we moused down
- on to this one.
- (WebInspector.LogContentView.prototype._mouseup):
- Stop tracking any further "mousemove" and "mouseup" events as the selection-by-mouse
- interaction draws to an end.
- (WebInspector.LogContentView.prototype._click):
- Prevent the propagation of "click" events if we established in the "mousedown" event
- handler that we should have.
- (WebInspector.LogContentView.prototype.handleEvent):
- Router for mouse "mousemove" and "mouseup" events.
- (WebInspector.LogContentView.prototype._updateMessagesSelection):
- Method that updates the selected state of the provided message based on whether
- we're allowing multiple selection (Cmd+click) and range selection
- (Shift+click/arrow-up/arrow-down).
- (WebInspector.LogContentView.prototype._ensureMessageIsVisible):
- Scrolls the messages container as necessary to reveal the provided message. We avoid
- getting metrics from CSS as much as possible by using the positiong of the message
- directly after the provided one since we can get that information via
- _positionForMessage() without triggering a style recalc. In the case where we want to
- ensure the last message is visible, we have no other resort but to query its height.
- (WebInspector.LogContentView.prototype._positionForMessage):
- Get the position of the given message in the coordinate system established by the
- messages container.
- (WebInspector.LogContentView.prototype._isMessageVisible):
- Indicates whether the provided message is visible (ie. not filtered-out or within a
- collapsed group).
- (WebInspector.LogContentView.prototype._isMessageSelected):
- Indicates whether the provided message is selected.
- (WebInspector.LogContentView.prototype._selectAllMessages):
- Selects all visible messages.
- (WebInspector.LogContentView.prototype._allMessages):
- All the messages in the messages container as an Array.
- (WebInspector.LogContentView.prototype._allVisibleMessages):
- All visible messages in the messages container as an Array.
- (WebInspector.LogContentView.prototype._scopeBarSelectionDidChange):
- Filter messages as the selected filters in the scope bar have changed.
- (WebInspector.LogContentView.prototype._filterMessages):
- Filter the messages based on scope bar filters selection. We ensure commands and
- results are always visible, no matter what filters are selected.
- (WebInspector.LogContentView.prototype._didFocus):
- Track that the messages container is focused.
- (WebInspector.LogContentView.prototype._didBlur):
- Track that the messages container is not focused.
- (WebInspector.LogContentView.prototype._keyDown):
- Event handler for the "keydown" event, used to route to the more specific handlers.
- (WebInspector.LogContentView.prototype._commandAWasPressed):
- Event handler for Cmd+A key combination, selects all visible messages.
- (WebInspector.LogContentView.prototype._escapeWasPressed):
- Event handler for the Esc. key being pressed, clears the selection if there are
- any selected messages, otherwise moving focus to the command prompt.
- (WebInspector.LogContentView.prototype._upArrowWasPressed):
- Event handler for the up arrow key being pressed, selects the message above, or add
- it to the selection list if the shift key is selected.
- (WebInspector.LogContentView.prototype._downArrowWasPressed):
- Event handler for the down arrow key being pressed, selects the message below, or add
- it to the selection list if the shift key is selected.
- (WebInspector.LogContentView.prototype._leftArrowWasPressed):
- Event handler for the left arrow key veing pressed, collapses the current group or
- message with stack trace. Otherwise, does nothing.
- (WebInspector.LogContentView.prototype._rightArrowWasPressed):
- Event handler for the right arrow key veing pressed, expands the current group or
- message with stack trace. Otherwise, does nothing.
- (WebInspector.LogContentView.prototype._previousMessage):
- Traverses the list of visible messages until we find a message located prior to
- the provided message.
- (WebInspector.LogContentView.prototype._nextMessage):
- Traverses the list of visible messages until we find a message located after to the
- provided message.
- (WebInspector.LogContentView.prototype._clearFocusableChildren):
- Remove the "tabindex" attribute on all elements located within the messages container
- to ensure no element can steal focus away from the messages container and mess with our
- handling of keyboard events.
- 2013-03-12 Timothy Hatcher <timothy@apple.com>
- Don't truncate the suggestions menu when it gets close to the right edge.
- Restore a line that was removed that we needed after all to get the right behavior.
- Rubber-stamped by Joseph Pecoraro.
- * UserInterface/CompletionSuggestionsView.js:
- (WebInspector.CompletionSuggestionsView.prototype.show): Update width after maximumWidth changes.
- 2013-03-12 Timothy Hatcher <timothy@apple.com>
- Prevent style text from shifting as properties are marked with checkboxes.
- This marks blanks lines in editable styles with a placeholder that is the same
- size as the checkbox. When a checkbox is added the placeholder is removed. That
- switch keeps the text in the same position and looks superb!
- This also forces checkboxes to be visible when the editor has focus, not just hovered.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDeclarationTextEditor.css:
- (.css-style-text-editor > .CodeMirror .CodeMirror-lines .checkbox-placeholder): Added.
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._clearTextMarkers): Added all
- param so we don't clear placeholder in all cases, only when doing a reset.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): Call
- _removeCheckboxPlaceholder.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._contentChanged): Call
- _markBlankLinesWithCheckboxPlaceholder.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._markBlankLinesWithCheckboxPlaceholder): Added.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._removeCheckboxPlaceholder): Added.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Call
- _markBlankLinesWithCheckboxPlaceholder and pass true for _clearTextMarkers's all param.
- 2013-03-12 Timothy Hatcher <timothy@apple.com>
- Improve the load time of the Web Inspector by loading localizedString.js sooner.
- Reviewed by Joseph Pecoraro.
- * UserInterface/LoadLocalizedStrings.js: Added.
- * UserInterface/Main.html: Include LoadLocalizedStrings.js before Main.js.
- * UserInterface/Main.js: Don't dynamically load localizedString.js.
- 2013-03-11 Timothy Hatcher <timothy@apple.com>
- Disable auto completion inside comments.
- <rdar://problem/13387317>
- Reviewed by Joseph Pecoraro.
- * UserInterface/CodeMirrorCompletionController.js:
- (WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition): Return early inside comments.
- 2013-03-11 Timothy Hatcher <timothy@apple.com>
- Don't highlight autocompletion items on hover. Only highlight them when active.
- <rdar://problem/13387350> CSS autocompletion can be confusing if mouse cursor is hidden and hovering completion menu
- Reviewed by Joseph Pecoraro.
- * UserInterface/CompletionSuggestionsView.css:
- (.completion-suggestions-container:not(:active) > .item.selected,
- .completion-suggestions-container > .item:active): Renamed from being hover to active.
- 2013-03-11 Timothy Hatcher <timothy@apple.com>
- Workaround <rdar://problem/13392441> so Images and Fonts don't get cut off at the top.
- We can get the expected result by using margin: 0 auto until the behavior of -webkit-align-items
- is hashed out more.
- Reviewed by Joseph Pecoraro.
- * UserInterface/FontResourceContentView.css:
- (.content-view.resource.font): Remove -webkit-align-items: center and use margin: 0 auto.
- (.content-view.resource.font .preview): Change 13px to 15px to be less arbitrary.
- * UserInterface/ImageResourceContentView.css:
- (.content-view.resource.image): Ditto.
- 2013-03-11 Timothy Hatcher <timothy@apple.com>
- Make SVG fonts work in the Web Inspector.
- <rdar://problem/13392056> SVG fonts are not rendered when selected
- Reviewed by Jon Lee.
- * UserInterface/FontResourceContentView.js:
- (WebInspector.FontResourceContentView.prototype.contentAvailable): Supply format("svg") when we
- know we are loading an SVG font. This seems to be required for SVG fonts.
- 2013-03-11 Timothy Hatcher <timothy@apple.com>
- Don't allow setting a rule's selector to an empty string.
- <rdar://problem/13387384> When editing a selector to be the empty string, nothing is committed - UI should reflect that
- Reviewed by Antoine Quint.
- * UserInterface/CSSStyleDeclarationSection.css:
- (.style-declaration-section > .header > .selector:empty): Added.
- (.style-declaration-section > .header > .selector:empty::before): Added.
- * UserInterface/CSSStyleDeclarationSection.js:
- (WebInspector.CSSStyleDeclarationSection.prototype._commitSelector): Call refresh if the selector is empty.
- 2013-03-11 Timothy Hatcher <timothy@apple.com>
- Ignore Shift-Tab in CodeMirror instances since it does unexpected things.
- <rdar://problem/13387373> CSS editor typing Shift+Tab adds weird pre-indent
- Reviewed by Antoine Quint.
- * UserInterface/CodeMirrorAdditions.js:
- (ignoreKey): Added.
- 2013-03-11 Timothy Hatcher <timothy@apple.com>
- Improve the wrapping of the pseudo class checkboxes.
- Also make sure the scroll logic handles the different heights possible.
- <rdar://problem/13383635> Pseudo class checkboxes should wrap better with narrow sidebar (never 3x1 & 1x1)
- Reviewed by Antoine Quint.
- * UserInterface/CSSStyleDetailsSidebarPanel.css:
- (.sidebar > .panel.details.css-style > .content > .pseudo-classes): Switch to flex layout.
- (.sidebar > .panel.details.css-style > .content > .pseudo-classes > .group): Added.
- (.sidebar > .panel.details.css-style > .content > .pseudo-classes > .group > label): Split the margin on each side.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel): Create group elements of up to two labels each.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange): Call _updateNoForcedPseudoClassesScrollOffset.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype.widthDidChange): Ditto.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._updateNoForcedPseudoClassesScrollOffset): Update the height.
- 2013-03-11 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/11720808> REGRESSION (Safari 6): Conditional breakpoints UI missing
- Add back conditional breakpoints UI. The UI is modeled after Xcode's
- "Edit Breakpoint" context menu and popover UI.
- Reviewed by Timothy Hatcher.
- * UserInterface/Breakpoint.js:
- (WebInspector.Breakpoint):
- (WebInspector.Breakpoint.prototype.get condition):
- (WebInspector.Breakpoint.prototype.set condition):
- (WebInspector.Breakpoint.prototype.get info):
- Give a breakpoint a condition, mutators, and save the condition in
- the breakpoint info.
- (WebInspector.Breakpoint.prototype.appendContextMenuItems):
- Add a context menu item for "Edit Breakpoint".
- (WebInspector.Breakpoint.prototype._popoverToggleCheckboxChanged):
- (WebInspector.Breakpoint.prototype._popoverConditionInputChanged):
- (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
- (WebInspector.Breakpoint.prototype._showEditBreakpointPopover):
- Generate the popover content and show the popover.
- * UserInterface/Breakpoint.css: Added.
- (.popover .edit-breakpoint-popover-content):
- (.popover .edit-breakpoint-popover-content > label.toggle):
- (.popover .edit-breakpoint-popover-content > table):
- (.popover .edit-breakpoint-popover-content > table > tr > th):
- (.popover .edit-breakpoint-popover-content > table > tr > td):
- (#edit-breakpoint-popover-condition):
- Styles for the edit breakpoint popover.
- * UserInterface/BreakpointTreeElement.js:
- (WebInspector.BreakpointTreeElement.prototype.oncontextmenu):
- Pass the breakpoint element in the display so that if a popover needs
- to be shown, we have the bounds of an element to show it for.
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager):
- (WebInspector.DebuggerManager.prototype.isBreakpointEditable):
- Never allow setting a condition on the special breakpoints.
- (WebInspector.DebuggerManager.prototype._breakpointConditionDidChange):
- (WebInspector.DebuggerManager.prototype._breakpointConditionDidChange.breakpointRemoved):
- To set the condition delete the old breakpoint and set a new breakpoint
- with the new condition. The WebInspector.Breakpoint will get an updated id.
- * UserInterface/Main.html:
- * Localizations/en.lproj/localizedStrings.js:
- Include new files and strings.
- 2013-03-09 Joseph Pecoraro <pecoraro@apple.com>
- Add a "Select Output" button to PrettyPrinting tools.
- The new button make copying the entire output easier. Useful for saving
- before and after contents to see changes. Also update the formatter and
- clean up some style issues.
- Unreviewed tools change.
- * Tools/PrettyPrinting/CodeMirrorFormatters.js:
- * Tools/PrettyPrinting/index.html:
- 2013-03-09 Joseph Pecoraro <pecoraro@apple.com>
- Pretty printing: Don't try to be smart about unary +/-.
- This was causing some simple expressions like "1+1" or "foo+1" to
- become "1 +1" and "foo +1" instead of the expected "1 + 1" and
- "foo + 1". The most common unary expressions negative numbers,
- are parsed as a single token by CodeMirror anyways, so drop the
- special case in the formatter.
- Reviewed by Timothy Hatcher.
- * UserInterface/CodeMirrorFormatters.js:
- Remove the special case that tried to handle unary +/-.
- 2013-03-09 Joseph Pecoraro <pecoraro@apple.com>
- Update the PrettyPrinting Tool with new formatter changes.
- Unreviewed tools change.
- * Tools/PrettyPrinting/CodeMirrorFormatters.js:
- * Tools/PrettyPrinting/Formatter.js:
- (Formatter.prototype._handleToken):
- (Formatter.prototype._handleEmptyLine):
- 2013-03-09 Joseph Pecoraro <pecoraro@apple.com>
- Pretty Printing: switch from startsWith to regex matching for tokens
- This addresses a review comment that using startsWith for checking
- token types is brittle and we should check the entire string. The
- performance impact was negligible on JavaScript and minor on CSS,
- so it is worth making the change to make the code less brittle.
- Reviewed by Timothy Hatcher.
- * UserInterface/CodeMirrorFormatters.js:
- * UserInterface/Formatter.js:
- (Formatter.prototype._handleToken):
- (Formatter.prototype._handleEmptyLine):
- 2013-03-09 Joseph Pecoraro <pecoraro@apple.com>
- Add Pretty Printing Debug Page to WebInspector/Tools/PrettyPrinting
- The pretty printing files in the Inspector can be run independently of
- the Inspector. The only requirements are CodeMirror, its modes, and a
- few Utility functions. This provides a separate tool that makes it
- easier to debug and benchmark pretty printing without needing to run
- the entire inspector. By default it includes some debug information
- that will speed up debugging and make making improvements easier.
- Rubber-stamped by Timothy Hatcher.
- * Tools/PrettyPrinting/CodeMirrorFormatters.js: Added.
- * Tools/PrettyPrinting/Formatter.js: Added.
- * Tools/PrettyPrinting/FormatterContentBuilder.js: Added.
- * Tools/PrettyPrinting/codemirror.css: Added.
- * Tools/PrettyPrinting/codemirror.js: Added.
- * Tools/PrettyPrinting/css.js: Added.
- * Tools/PrettyPrinting/javascript.js: Added.
- CodeMirror and WebInspector pretty printing files copied with only
- minor tweaks (debugging code).
- * Tools/PrettyPrinting/populate/apple.css: Added.
- * Tools/PrettyPrinting/populate/jquery.min.js: Added.
- Useful JavaScript and CSS content to populate the editor with. The
- contents are decent stress tests for coverage and benchmarking.
- jQuery is already in Safari for other tools, and apple.com's CSS
- is Apple source. These files are just included as test data.
- * Tools/PrettyPrinting/index.html: Added.
- Driver. Includes an editor, some buttons, and outputs results.
- 2013-03-09 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13375942> Pretty printing: Search results highlight wrong text range and highlight wrong line
- Provide a SourceCodeTextRange. This contains start and end SourceCodeLocation
- objects and uses those to provide raw, formatted, and mapped (display)
- WebInspector.TextRanges and events when the range bounds change.
- Search results coming from the backend have the original content and so
- include raw text range information. When we jump to the source code we
- will want to reveal and highlight the formatted line.
- Reviewed by Timothy Hatcher.
- * UserInterface/DOMSearchMatchObject.js:
- (WebInspector.DOMSearchMatchObject):
- (WebInspector.DOMSearchMatchObject.prototype.get sourceCodeTextRange):
- * UserInterface/Main.html:
- * UserInterface/ResourceSearchMatchObject.js:
- (WebInspector.ResourceSearchMatchObject):
- (WebInspector.ResourceSearchMatchObject.prototype.get sourceCodeTextRange):
- Switch these to create and hold a SourceCodeTextRange.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.showSourceCodeTextRange):
- (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
- When selecting a SearchMatchObject reveal and select the formatted range.
- It may be jarring to the user to see a search result for something and
- jump to the mapped (display) location which may not contain the search term.
- * UserInterface/SearchResultTreeElement.js:
- (WebInspector.SearchResultTreeElement):
- (WebInspector.SearchResultTreeElement.truncateAndHighlightTitle):
- Be aware that the represented SearchMatchObject has a sourceCodeTextRange
- now. But we are provided line content from the original resource, so in
- highlighting the search string use the original resource's text range.
- * UserInterface/SourceCode.js:
- (WebInspector.SourceCode.prototype.createSourceCodeTextRange):
- * UserInterface/SourceMapResource.js:
- (WebInspector.SourceMapResource.prototype.createSourceCodeTextRange):
- Helpers for creating a SourceCodeTextRange by providing an unformatted
- TextRange in the given resource. Automatically takes care of SourceMaps.
- * UserInterface/SourceCodeTextRange.js: Added.
- (WebInspector.SourceCodeTextRange):
- (WebInspector.SourceCodeTextRange.prototype.get sourceCode):
- (WebInspector.SourceCodeTextRange.prototype.get textRange):
- (WebInspector.SourceCodeTextRange.prototype.get formattedTextRange):
- (WebInspector.SourceCodeTextRange.prototype.get displaySourceCode):
- (WebInspector.SourceCodeTextRange.prototype.get displayTextRange):
- (WebInspector.SourceCodeTextRange.prototype._startAndEndLocationsInSameMappedResource):
- (WebInspector.SourceCodeTextRange.prototype._sourceCodeLocationChanged):
- SourceCodeTextRange matching SourceCodeLocation's semantics.
- 2013-03-09 Timothy Hatcher <timothy@apple.com>
- Don't flash red strikethrough when actively editing a style.
- <rdar://problem/13385762>
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDeclarationTextEditor.css:
- (.css-style-text-editor > .CodeMirror .CodeMirror-lines .editing-line .css-style-declaration-property.invalid): Renamed.
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._clearRemoveEditingLineClassesTimeout): Added.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._removeEditingLineClasses): Added.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._removeEditingLineClasses.removeEditingLineClasses): Added.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._removeEditingLineClassesSoon): Added.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._contentChanged): Add EditingLineStyleClassName to the changed line.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateProperties): Call _removeEditingLineClassesSoon.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Call _removeEditingLineClasses.
- * UserInterface/CodeMirrorCompletionController.js:
- (WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint): Don't add line CompletionPendingStyleClassName.
- (WebInspector.CodeMirrorCompletionController.prototype._commitCompletionHint): Remove call to _removePendingCompletionLineStyleClass.
- (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint): Ditto.
- (WebInspector.CodeMirrorCompletionController.prototype._removePendingCompletionLineStyleClass): Removed.
- 2013-03-09 Timothy Hatcher <timothy@apple.com>
- Prevent CSS autocompletion from interfering with the undo/redo history.
- We now remove any changes we programmatically do from the undo history.
- And before undo or redo we make sure to hide the completions so the editor
- is back to the state that matches the history.
- <rdar://problem/13384296> CSS Autocompletion causes unexpected Undo behavior
- Reviewed by Joseph Pecoraro.
- * UserInterface/CodeMirrorCompletionController.js:
- (WebInspector.CodeMirrorCompletionController): Hook up _handleHideKey to the standard
- undo and redo shortcuts. Also hook up select all so it goes through instead of being
- blocked by _handleCursorActivity.
- (WebInspector.CodeMirrorCompletionController.prototype.get _currentReplacementText): Added.
- (WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint.update): Call
- _removeLastChangeFromHistory after replaceRange.
- (WebInspector.CodeMirrorCompletionController.prototype._commitCompletionHint.update): Added.
- Replace the prefix with the full completion text. Don't call _removeLastChangeFromHistory.
- (WebInspector.CodeMirrorCompletionController.prototype._commitCompletionHint): Call update.
- (WebInspector.CodeMirrorCompletionController.prototype._removeLastChangeFromHistory): Added.
- (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint.update): Call
- _removeLastChangeFromHistory after each replaceRange.
- (WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition): Call
- _removeCompletionHint before getting the cursor so any cursor changes are done first.
- (WebInspector.CodeMirrorCompletionController.prototype._handleHideKey): Added. Hide the completions
- and pass through to other the standard handlers.
- 2013-03-08 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/12463631> REGRESSION: Subframes don't show the DOM tree
- Reviewed by Timothy Hatcher.
- * UserInterface/DOMTree.js:
- (WebInspector.DOMTree):
- (WebInspector.DOMTree.prototype.requestRootDOMNode):
- (WebInspector.DOMTree.prototype._requestRootDOMNodeInternal):
- (WebInspector.DOMTree.prototype._frameMainResourceDidChange):
- (WebInspector.DOMTree.prototype._frameExecutionContextChanged):
- If we are a subframe we must wait for a context execution identifier
- to do the RuntimeAgent.evaluate to get the document. So we may need
- to wait for it. Switch to invoke and clarify we use frameId for
- iOS 6 backwards compatibility.
- * UserInterface/ExecutionContext.js: Added.
- (WebInspector.ExecutionContext):
- (WebInspector.ExecutionContext.supported):
- (WebInspector.ExecutionContext.prototype.get id):
- (WebInspector.ExecutionContext.prototype.get name):
- (WebInspector.ExecutionContext.prototype.get isPageContext):
- (WebInspector.ExecutionContext.prototype.get frame):
- WebInspector.Object class for Runtime.ExecutionContextDescription type.
- This was unavailable in iOS 6, so add a static "supported" function.
- * UserInterface/Frame.js:
- (WebInspector.Frame.prototype.initialize):
- (WebInspector.Frame.prototype.commitProvisionalLoad):
- Clear executino contexts on initialize, navigating, and detaching (manager).
- (WebInspector.Frame.prototype.get mainExecutionContext):
- (WebInspector.Frame.prototype.get executionContexts):
- (WebInspector.Frame.prototype.clearExecutionContexts):
- (WebInspector.Frame.prototype.addExecutionContext):
- A frame may have multiple execution contexts. One for each world. We consider
- the first execution context we receive for a frame to be the main one.
- (WebInspector.Frame.prototype.get executionContextIdentifier):
- Backwards compatible execution context identifier. Null if not yet resolved.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.frameDidDetach):
- When detaching a page, clear the execution contexts.
- (WebInspector.FrameResourceManager.prototype.executionContextCreated):
- Set the execution context on a frame if provided.
- * UserInterface/Main.html:
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- Register a "Runtime" domain observer and enable it when it is available.
- * UserInterface/RuntimeObserver.js: Added.
- (WebInspector.RuntimeObserver):
- (WebInspector.RuntimeObserver.prototype.executionContextCreated):
- Add a new Observer for "Runtime" domain events.
- 2013-03-08 Timothy Hatcher <timothy@apple.com>
- <rdar://problem/13381025> REGRESSION (Safari 6): Bottom-up profiling option missing
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/Images/BottomUpTree.pdf: Added.
- * UserInterface/JavaScriptProfileView.js:
- (WebInspector.JavaScriptProfileView.prototype.get navigationItems): Added. Return percent
- and bottom up item.
- (WebInspector.JavaScriptProfileView.prototype._toggleBottomUpView): Added. Flip the setting
- and call _changeView.
- (WebInspector.JavaScriptProfileView.prototype._changeView): Check _showTreeBottomUpSetting.
- Removing reference to old viewSelectElement property.
- 2013-03-08 Timothy Hatcher <timothy@apple.com>
- Make the "H" key toggle the visibility of the selected DOM element.
- <rdar://problem/13352674> PARITY (WebKit Web Inspector): Shortcut to hide/show DOM elements while inspecting
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMTreeOutline.js:
- (WebInspector.DOMTreeOutline): Create the keyboard shortcut.
- (WebInspector.DOMTreeOutline.prototype._hideElement.toggleProperties): Added.
- (WebInspector.DOMTreeOutline.prototype._hideElement): Added.
- 2013-03-08 Timothy Hatcher <timothy@apple.com>
- Always fire the Refreshed event for DOMNodeStyles.
- Not firing Refreshed made it hard to listen for when it was safe to use the properties.
- If you call refresh, you expect Refreshed to always fire. But it would only fire if there
- was a significant change. Now it always fires and passes a flag whether it was significant.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDeclaration.js:
- (WebInspector.CSSStyleDeclaration.prototype.propertyForName): Drive by: don't consider
- pending properties if we can't create or are not editable.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle): Keep track on if we
- found a significant change since the last time we fired the Refreshed event. Only recompute
- if it was significant if we aren't already marked as significant. Pass significantChange along
- with the Refreshed event and always fire it.
- * UserInterface/RulesStyleDetailsPanel.js:
- (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Added significantChange param. Only
- do a rebuild if it was significant.
- * UserInterface/StyleDetailsPanel.js:
- (WebInspector.StyleDetailsPanel.prototype.markAsNeedsRefresh): Set _forceSignificantChange.
- (WebInspector.StyleDetailsPanel.prototype.refresh): Added significantChange param.
- (WebInspector.StyleDetailsPanel.prototype._refreshPreservingScrollPosition): Pass along
- significantChange to refresh, taking into consideration _forceSignificantChange.
- (WebInspector.StyleDetailsPanel.prototype._nodeStylesRefreshed): Pass along significantChange
- from the event to _refreshPreservingScrollPosition.
- 2013-03-08 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13372615> REGRESSION: theverge.com shows 2 duplicate "rs.js" Extra Script resources
- The URLs passed in scriptParsed messages appears to not match up properly
- with the Resource URL. Testing on theverge.com we can get script URLs
- that are encoded where the resource URL is decoded, and we can get script
- URLs that have a hash where the resource URL does not have a hash. Provide
- a generic resourceForScript lookup.
- Reviewed by Timothy Hatcher.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.resourceForScript):
- Walk the frame tree looking for a resource with the same URL as
- a script. Check the with fragment encoded and decoded script URL,
- an without fragment encoded and decoded script URL.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.showSourceCode):
- (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded):
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager.prototype.scriptsForURL):
- * UserInterface/DebuggerSidebarPanel.js:
- (WebInspector.DebuggerSidebarPanel.prototype._scriptAdded):
- * UserInterface/ScriptContentView.js:
- (WebInspector.ScriptContentView):
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype.textEditorUpdatedFormatting):
- * UserInterface/SourceMapManager.js:
- (WebInspector.SourceMapManager.prototype._loadAndParseSucceeded):
- When we have a script, use the resourceForScript instead of resourceForURL.
- * UserInterface/Utilities.js:
- (removeURLFragment): helper fro removing URL fragment.
- 2013-03-08 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13371011> Misclassified resources if you open the inspector while the page is loading
- When the Web Inspector is opened during a page load it gets a list of
- all resources from the backend via getResourceTree. We assume that the
- resources in that tree are completed loads. We may later discover that
- some of those resources are actively loading, and that other actively
- loading resources are not in that list. We can detect both of these
- cases by receiving a receiveResponse message. Handle it appropriately
- so that a WebInspector.Script can always find a WebInspector.Resource.
- Otherwise, the Script would show its own tree element under "Extra
- Scripts" in the sidebar.
- Reviewed by Timothy Hatcher.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse):
- When we don't have an identifier but we find a Resource by URL, then we should
- update the Resource to still be loading. If we don't have a Resource at all we
- should create one, it is currently loading.
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidFinishLoading):
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidFailLoading):
- We can assert again. We always expect to have a Resource by the time we get a
- didFinishLoading or didFailLoading message. If we don't then this could be
- an extreme edge case (like a dataReceived without a receivedResponse).
- * UserInterface/Resource.js:
- (WebInspector.Resource.prototype.revertMarkAsFinished):
- Revert the finished and finished timestamp properties. When a
- finishLoading or didFailLoading message comes in the states will
- be updated again.
- 2013-03-08 Joseph Pecoraro <pecoraro@apple.com>
- ASSERT: FrameResourceManager.prototype.frameDidNavigate: console.assert(frame)
- Fix a typo. A WebInspector.Resource has a parentFrame, not a frame accessor.
- Reviewed by Timothy Hatcher.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.frameDidNavigate):
- 2013-03-08 Timothy Hatcher <timothy@apple.com>
- Fix the font smoothing in the Web Inspector.
- This is needed after making the Web Inspector WKView use tiled drawing since our WKView is transparent.
- <rdar://problem/12922185> REGRESSION: Text in the Web Inspector is not sub-pixel anti-aliased anymore
- Reviewed by Joseph Pecoraro.
- * UserInterface/Main.css:
- (body): Add -webkit-font-smoothing: subpixel-antialiased to force sub-pixel in our transparent WebView.
- * UserInterface/NavigationSidebarPanel.css:
- (.sidebar > .panel.navigation > .empty-content-placeholder > .message): Remove -webkit-font-smoothing: antialiased.
- 2013-03-07 Timothy Hatcher <timothy@apple.com>
- Don't scroll the Style details sidebar if the pseudo class checkboxes are not present.
- This applies when inspecting an iOS 6 device or simulator.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype.get _initialScrollOffset): Return 0
- if we can't for pseudo classes.
- * UserInterface/StyleDetailsPanel.js:
- (WebInspector.StyleDetailsPanel.prototype.get _initialScrollOffset): Ditto.
- 2013-03-07 Timothy Hatcher <timothy@apple.com>
- Display applied media queries in the new Style details sidebar.
- <rdar://problem/13376129>
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/RulesStyleDetailsPanel.css:
- (.sidebar > .panel.details.css-style .rules .label): Renamed from .inherited-label.
- (.sidebar > .panel.details.css-style .rules .label .go-to-link): Added.
- (.sidebar > .panel.details.css-style .rules .label + .style-declaration-section): Added.
- (.sidebar > .panel.details.css-style .rules .new-rule): Tweaked opacity to better match .label.
- (.sidebar > .panel.details.css-style .rules .new-rule:hover): Ditto.
- (.sidebar > .panel.details.css-style .rules .new-rule:active): Ditto.
- * UserInterface/RulesStyleDetailsPanel.js:
- (WebInspector.RulesStyleDetailsPanel.prototype.refresh.mediaListsEqual): Added.
- (WebInspector.RulesStyleDetailsPanel.prototype.refresh.filteredMediaList): Added.
- (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Only include the media list if it is
- different from the previous media list shown.
- * UserInterface/SourceCodeLocation.js:
- (WebInspector.SourceCodeLocation.prototype.isEqual): Added.
- 2013-03-07 Timothy Hatcher <timothy@apple.com>
- Fix a typo in the Dashboard tooltips.
- <rdar://problem/13365669> [WebInspector] typo in source - "click to show to the" should be "click to show the"
- Reviewed by Ricky Mondello.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/DashboardView.js:
- (WebInspector.DashboardView): Removed "to" from two tooltips.
- 2013-03-07 Timothy Hatcher <timothy@apple.com>
- Fix the word wrapping for long origins that are links.
- Also fixes the location and wrapping of the read-only lock icon.
- <rdar://problem/13365935> Long CSS resource names causes poor line wrapping in Style sidebar
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDeclarationSection.css:
- (.style-declaration-section.locked > .header::before): Changed from after so the lock sticks
- to the top of the section as intended instead of on the last line. Add a left margin to prevent
- the origin from touching the icon.
- (.style-declaration-section > .header > .origin): Remove display: inline-block and vertical-align.
- Added word-wrap: break-word and white-space: nowrap to prevent breaking the built-in origins among
- multiple lines.
- (.style-declaration-section > .header > .origin a): Added. Set white-space to normal to allow it
- to break along multiple lines.
- 2013-03-07 Timothy Hatcher <timothy@apple.com>
- Indent wrapped lines by 2 extra spaces to better break up long lines in the details sidebar.
- An earlier change made it work for editable styles, this makes it work for read-only styles.
- <rdar://problem/13310983> Long styles that wrap are hard to read in new Style details sidebar.
- Reviewed by Ricky Mondello.
- * UserInterface/CSSStyleDeclarationTextEditor.css:
- (.css-style-text-editor.read-only > .CodeMirror pre):
- 2013-03-07 Jessie Berlin <jberlin@apple.com>
- Ran update-safari-localizable-strings.
- * Localizations/en.lproj/localizedStrings.js:
- 2013-03-07 Timothy Hatcher <timothy@apple.com>
- Add Array.lastValue and start using it.
- Reviewed by Antoine Quint.
- * UserInterface/CodeMirrorCompletionController.js:
- (WebInspector.CodeMirrorCompletionController.prototype._scanStringForExpression):
- * UserInterface/CodeMirrorFormatters.js:
- * UserInterface/DOMNode.js:
- (WebInspector.DOMNode.prototype.get lastChild):
- * UserInterface/DOMTreeElement.js:
- (WebInspector.DOMTreeElement.prototype._updateChildren):
- (WebInspector.DOMTreeElement.prototype.moveToNextAttributeIfNeeded):
- (WebInspector.DOMTreeElement.prototype._attributeEditingCommitted):
- * UserInterface/DataGrid.js:
- (WebInspector.DataGrid.prototype.sortNodes):
- (WebInspector.DataGridNode.prototype.traversePreviousNode):
- * UserInterface/FormatterContentBuilder.js:
- (FormatterContentBuilder.prototype.removeLastNewline):
- (FormatterContentBuilder.prototype._addFormattedLineEnding):
- * UserInterface/HierarchicalPathNavigationItem.js:
- (WebInspector.HierarchicalPathNavigationItem.prototype.get lastComponent):
- * UserInterface/InspectorBackend.js:
- (InspectorBackendClass.prototype._sendMessageToBackend):
- * UserInterface/TextPrompt.js:
- (WebInspector.TextPrompt.prototype._completionsReady):
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager.prototype.eventRecorded):
- * UserInterface/TimelineOverview.js:
- (WebInspector.TimelineOverview.prototype.update):
- * UserInterface/Utilities.js:
- 2013-03-07 Timothy Hatcher <timothy@apple.com>
- Use Array.contains instead of indexOf.
- Reviewed by Antoine Quint.
- * UserInterface/Branch.js:
- (WebInspector.Branch.prototype.addRevision):
- * UserInterface/CSSRule.js:
- * UserInterface/CSSStyleDeclaration.js:
- * UserInterface/CSSStyleDeclarationSection.js:
- (WebInspector.CSSStyleDeclarationSection.prototype.refresh):
- * UserInterface/CodeMirrorCompletionController.js:
- (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions):
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser.prototype._updateContentViewSelectionPathNavigationItem):
- * UserInterface/ContentViewContainer.js:
- (WebInspector.ContentViewContainer.prototype.showContentView):
- * UserInterface/DOMNode.js:
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
- * UserInterface/DOMTreeElement.js:
- * UserInterface/GeneralTreeElement.js:
- (WebInspector.GeneralTreeElement.prototype.addClassName):
- (WebInspector.GeneralTreeElement.prototype.removeClassName):
- * UserInterface/LayerTreeManager.js:
- (WebInspector.LayerTreeManager.prototype.var):
- * UserInterface/NavigationBar.js:
- (WebInspector.NavigationBar.prototype._findNavigationItem):
- * UserInterface/Sidebar.js:
- (WebInspector.Sidebar.prototype.findSidebarPanel):
- 2013-03-07 Timothy Hatcher <timothy@apple.com>
- Don't ignore user agent rules when forced pseudo classes change.
- Normally the Refreshed event is not fired only when user agent rules change, due to a bug
- in WebCore. However, we need to fire it when the forced pseudo classes change since there
- are base rules for most of the pseudo classes that need to show up in the sidebar.
- Reviewed by Antoine Quint.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle): Don't check for
- user agent rules if _includeUserAgentRulesOnNextRefresh is true.
- (WebInspector.DOMNodeStyles.prototype._markAsNeedsRefresh): Added includeUserAgentRules.
- Set _includeUserAgentRulesOnNextRefresh if includeUserAgentRules is true.
- (WebInspector.DOMNodeStyles.prototype._pseudoClassesDidChange): Pass true to _markAsNeedsRefresh.
- 2013-03-06 Timothy Hatcher <timothy@apple.com>
- Add checkboxes that allow forcing pseudo classes in the Style details sidebar.
- The checkboxes are scrolled off the top if there are no forced pseudo classes.
- When there are forced classes the checkboxes are initially visible. Also we can
- only scroll them away when there is enough content to scroll.
- <rdar://problem/13143555> Add the ability to toggle forced CSS pseudo-classes from style sidebar
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/CSSStyleDeclarationSection.css:
- * UserInterface/CSSStyleDetailsSidebarPanel.css:
- (.sidebar > .panel.details.css-style > .content > .pseudo-classes):
- (.sidebar > .panel.details.css-style > .content > .pseudo-classes > label):
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel):
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh):
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype.addEventListeners):
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype.removeEventListeners):
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype.get _initialScrollOffset):
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._navigationItemSelected):
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._forcedPseudoClassCheckboxChanged):
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._updatePseudoClassCheckboxes):
- * UserInterface/CSSStyleManager.js:
- (WebInspector.CSSStyleManager.prototype.canForcePseudoClasses):
- * UserInterface/DOMTreeElement.js:
- (WebInspector.DOMTreeElement.prototype._populateTagContextMenu):
- * UserInterface/StyleDetailsPanel.js:
- (WebInspector.StyleDetailsPanel.prototype.get _initialScrollOffset):
- (WebInspector.StyleDetailsPanel.prototype._refreshPreservingScrollPosition):
- * UserInterface/Utilities.js:
- (Array.prototype.contains): Added.
- 2013-03-06 Timothy Hatcher <timothy@apple.com>
- Remove more dead code from CSSStyleManager that I missed.
- Rubber-stamped by Joseph Pecoraro.
- * UserInterface/CSSStyleManager.js:
- (WebInspector.CSSStyleManager.parseRuleArrayPayload): Removed.
- 2013-03-06 Timothy Hatcher <timothy@apple.com>
- Add missing image Images/Locked.pdf.
- <rdar://problem/13355862>
- * UserInterface/Images/Locked.pdf: Added.
- 2013-03-05 Timothy Hatcher <timothy@apple.com>
- Add support for adding new rules in the Style details sidebar.
- <rdar://problem/11326086> REGRESSION (Safari 6): Can't add new selectors / rules
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/CSSStyleDeclarationSection.css:
- (div:not(.style-declaration-section) + .style-declaration-section): Added. Generic
- rule to add a shadow on the top when something is between sections.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype.addRule): Added.
- (WebInspector.DOMNodeStyles.prototype._collectStylesInCascadeOrder): Include Inspector
- styles. Also collect user and user agent styles into one array.
- * UserInterface/Images/Plus.pdf: Added.
- * UserInterface/RulesStyleDetailsPanel.css:
- (.sidebar > .panel.details.css-style .rules .new-rule): Added.
- (.sidebar > .panel.details.css-style .rules .new-rule img): Added.
- (.sidebar > .panel.details.css-style .rules .new-rule:hover): Added.
- (.sidebar > .panel.details.css-style .rules .new-rule:active): Added.
- * UserInterface/RulesStyleDetailsPanel.js:
- (WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection): Focus the new
- inspector rule when it is added.
- (WebInspector.RulesStyleDetailsPanel.prototype.refresh): Create a New Rule button.
- (WebInspector.RulesStyleDetailsPanel.prototype._newRuleClicked): Added.
- 2013-03-05 Timothy Hatcher <timothy@apple.com>
- Remove dead code from CSSStyleManager.
- Rubber-stamped by Joseph Pecoraro.
- * UserInterface/CSSStyleManager.js:
- Remove old code and the copyright that went with the code. None of the remaining
- code came from the original open source file.
- 2013-03-04 Timothy Hatcher <timothy@apple.com>
- Always insert a space after ":" when pretty printing in the Style details sidebar.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSProperty.js:
- (WebInspector.CSSProperty.prototype.get synthesizedText): Added.
- (WebInspector.CSSProperty.prototype.get text): Factored into synthesizedText.
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Use synthesizedText.
- Using CSSProperty.text still uses the original text which might not have a space after ":".
- 2013-03-04 Timothy Hatcher <timothy@apple.com>
- Skip invalid properties when marking overridden properties.
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype._markOverriddenProperties): Check for not valid and continue early.
- 2013-03-04 Timothy Hatcher <timothy@apple.com>
- Flag properties that have other vendor keywords in the value so they are not crossed out in red.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSProperty.js:
- (WebInspector.CSSProperty.prototype.hasOtherVendorNameOrKeyword): Check propertyValueHasOtherVendorKeyword too.
- * UserInterface/CSSStyleManager.js:
- (WebInspector.CSSStyleManager.prototype.propertyValueHasOtherVendorKeyword): Added.
- 2013-03-04 Timothy Hatcher <timothy@apple.com>
- Indent wrapped lines by 2 extra spaces to better break up long lines in the details sidebar.
- <rdar://problem/13310983> Long styles that wrap are hard to read in new Style details sidebar.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDeclarationTextEditor.css:
- (.css-style-text-editor > .CodeMirror pre): Tweak the padding and text-indent.
- 2013-03-04 Timothy Hatcher <timothy@apple.com>
- Add CodeMirrorCompletionController and start using it in CSSStyleDeclarationTextEditor.
- This restores auto complete to the Style details sidebar and also paves the way for using
- CodeMirror for the console prompt.
- <rdar://problem/13304962> REGRESSION: Style property autocomplete missing from the Style details sidebar
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDeclarationTextEditor.css:
- (.css-style-text-editor > .CodeMirror .CodeMirror-lines .completion-pending .css-style-declaration-property.invalid):
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype.completionControllerCompletionsHidden):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._contentChanged):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype):
- * UserInterface/CodeMirrorCompletionController.css: Added.
- (.CodeMirror .CodeMirror-lines .completion-hint):
- * UserInterface/CodeMirrorCompletionController.js: Added.
- (WebInspector.CodeMirrorCompletionController):
- (WebInspector.CodeMirrorCompletionController.prototype.get delegate):
- (WebInspector.CodeMirrorCompletionController.prototype.updateCompletions):
- (WebInspector.CodeMirrorCompletionController.prototype.isCompletionChange):
- (WebInspector.CodeMirrorCompletionController.prototype.isShowingCompletions):
- (WebInspector.CodeMirrorCompletionController.prototype.hideCompletions):
- (WebInspector.CodeMirrorCompletionController.prototype.close):
- (WebInspector.CodeMirrorCompletionController.prototype.completionSuggestionsSelectedCompletion):
- (WebInspector.CodeMirrorCompletionController.prototype.completionSuggestionsClickedCompletion):
- (WebInspector.CodeMirrorCompletionController.prototype._hasPendingCompletion):
- (WebInspector.CodeMirrorCompletionController.prototype._notifyCompletionsHiddenSoon):
- (WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint.update):
- (WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint):
- (WebInspector.CodeMirrorCompletionController.prototype._commitCompletionHint):
- (WebInspector.CodeMirrorCompletionController.prototype.update):
- (WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint):
- (WebInspector.CodeMirrorCompletionController.prototype._removePendingCompletionLineStyleClass.removePendingStyleClass):
- (WebInspector.CodeMirrorCompletionController.prototype._removePendingCompletionLineStyleClass):
- (WebInspector.CodeMirrorCompletionController.prototype.isStopCharacter):
- (WebInspector.CodeMirrorCompletionController.prototype.isOpenBracketCharacter):
- (WebInspector.CodeMirrorCompletionController.prototype.isCloseBracketCharacter):
- (WebInspector.CodeMirrorCompletionController.prototype.matchingBracketCharacter):
- (WebInspector.CodeMirrorCompletionController.prototype._scanStringForExpression):
- (WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition):
- (WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions):
- (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions):
- (WebInspector.CodeMirrorCompletionController.prototype._handleUpKey):
- (WebInspector.CodeMirrorCompletionController.prototype._handleDownKey):
- (WebInspector.CodeMirrorCompletionController.prototype._handleRightOrEnterKey):
- (WebInspector.CodeMirrorCompletionController.prototype._handleEscapeKey):
- (WebInspector.CodeMirrorCompletionController.prototype._handleTabKey):
- (WebInspector.CodeMirrorCompletionController.prototype._handleChange):
- (WebInspector.CodeMirrorCompletionController.prototype._handleCursorActivity):
- (WebInspector.CodeMirrorCompletionController.prototype._handleHideAction):
- * UserInterface/CompletionSuggestionsView.css: Added.
- (.completion-suggestions):
- (.completion-suggestions > .completion-suggestions-container):
- (.completion-suggestions-container > .item):
- (.completion-suggestions-container > .item:hover):
- * UserInterface/CompletionSuggestionsView.js: Added.
- (WebInspector.CompletionSuggestionsView):
- (WebInspector.CompletionSuggestionsView.prototype.get delegate):
- (WebInspector.CompletionSuggestionsView.prototype.get visible):
- (WebInspector.CompletionSuggestionsView.prototype.get selectedIndex):
- (WebInspector.CompletionSuggestionsView.prototype.set selectedIndex):
- (WebInspector.CompletionSuggestionsView.prototype.selectNext):
- (WebInspector.CompletionSuggestionsView.prototype.selectPrevious):
- (WebInspector.CompletionSuggestionsView.prototype.isHandlingClickEvent):
- (WebInspector.CompletionSuggestionsView.prototype.show):
- (WebInspector.CompletionSuggestionsView.prototype.hide):
- (WebInspector.CompletionSuggestionsView.prototype.update):
- (WebInspector.CompletionSuggestionsView.prototype.get _selectedItemElement):
- (WebInspector.CompletionSuggestionsView.prototype._mouseDown):
- (WebInspector.CompletionSuggestionsView.prototype._mouseUp):
- (WebInspector.CompletionSuggestionsView.prototype._itemClicked):
- * UserInterface/Main.html:
- 2013-03-04 Joseph Pecoraro <pecoraro@apple.com>
- Disable some features while column debugging is broken
- <rdar://problem/11219771> REGRESSION (Safari 6): Can't pretty-print JavaScript
- To prevent broken behavior and a poor experience with breakpoints and
- debugging but still allow for pretty-printing disable some features
- related to columns. We can revert this change later and test more when
- the underlying issue is fixed.
- Reviewed by Timothy Hatcher.
- * UserInterface/DebuggerSidebarPanel.js:
- (WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected):
- Instead of jumping to the display location, jump to the original location.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate):
- Don't autoformat if we're being debugged.
- (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange):
- If we are going to be debugged unformat.
- (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointAdded):
- Disallow setting breakpoints in formatted content.
- 2013-03-04 Joseph Pecoraro <pecoraro@apple.com>
- Update CodeMirror to ToT (v3.1+) which includes some important performance fixes
- <rdar://problem/11219771> REGRESSION (Safari 6): Can't pretty-print JavaScript
- Reviewed by Timothy Hatcher.
- * UserInterface/External/CodeMirror/codemirror.js:
- * UserInterface/External/CodeMirror/javascript.js:
- 2013-03-04 Joseph Pecoraro <pecoraro@apple.com>
- Set the FormatterSourceMap on both Resource and Script like SourceMaps
- <rdar://problem/11219771> REGRESSION (Safari 6): Can't pretty-print JavaScript
- Most source code text editors are for Resources, like external scripts.
- However the backend identifies call frames with Script line and column
- information. So the Script needs to know about the Resource's formatter.
- We register for events in case the execution line changes on the fly.
- This could happen if a breakpoint is hit on page load of a script that
- is auto formatted. When the page loads, the breakpoint is hit and the
- call frame is created with the original location and no formatter. When
- the script Resource is shown it gets formatted, the associated Script
- gets the formatter and the active call frame location updates its
- display location. In that case the text editor for the Resource may
- need to update its display of the execution line number.
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype.close):
- (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange):
- (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameSourceCodeLocationChanged):
- (WebInspector.SourceCodeTextEditor.prototype.textEditorUpdatedFormatting):
- 2013-03-04 Joseph Pecoraro <pecoraro@apple.com>
- Update Display Strings in Breakpoint and CallFrame TreeElements
- <rdar://problem/11219771> REGRESSION (Safari 6): Can't pretty-print JavaScript
- If a breakpoint is on a column, show line:column. If the breakpoint is
- in a formatted view, set the subtitle to the original location. If a
- call frame is in a formatted source, include the original location in
- the tooltip.
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceCodeLocation.js:
- (WebInspector.SourceCodeLocation.prototype.originalLocationString):
- (WebInspector.SourceCodeLocation.prototype.displayLocationString):
- (WebInspector.SourceCodeLocation.prototype._locationString):
- Provide generic file:line:column string support.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/BreakpointTreeElement.js:
- (WebInspector.BreakpointTreeElement.prototype._updateTitles):
- * UserInterface/CallFrameTreeElement.js:
- (WebInspector.CallFrameTreeElement):
- Update strings where appropriate.
- 2013-03-04 Joseph Pecoraro <pecoraro@apple.com>
- Automatically pretty print files that look like they are minified.
- <rdar://problem/11219771> REGRESSION (Safari 6): Can't pretty-print JavaScript
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate):
- 2013-03-04 Joseph Pecoraro <pecoraro@apple.com>
- Update breakpoint handling for formatted content
- <rdar://problem/11219771> REGRESSION (Safari 6): Can't pretty-print JavaScript
- TextEditor and SourceCodeTextEditor both have a map that stores breakpoint
- information for editor lineNumber and columnNumber. For editors it makes
- the most sense to keep these maps consistent with the formatted state of
- the editor.
- Terminology with this in mind "editor line info" is always the line and
- column information for the current state of the editor. If the editor
- is formatted, this is a formatted line and column of the sourceCode.
- if the editor is not formatted this is the original line and column of
- the sourceCode.
- A tricky part here is that with a FormatterSourceMap is that it may map
- a simple line:0 to a more accurate line:#. For example setting the
- breakpoint on a pretty printed source code with leading whitespace, the
- accurate location will not be column 0 but instead be the column # of
- the first character on that line. When this happens we need to make sure
- that both the SourceCodeTextEditor and TextEditor have stored the more
- accurate location in their maps.
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype._unformattedLineInfoForEditorLineInfo):
- Given an editor line info, this gives us the original line info depending on
- if the text editor is formatted or not.
- (WebInspector.SourceCodeTextEditor.prototype._editorLineInfoForSourceCodeLocation):
- Given a SourceCodeLocation this gives us a line info for the text editor depending
- on if the text editor is formatted or not. SourceCodeLocation already handles this.
- (WebInspector.SourceCodeTextEditor.prototype._updateBreakpointLocation):
- When a breakpoint moves, we'll need to update our tables removing the old
- location and setting the new location. SourceCodeLocation gives us the old
- and new formatted location which handles if the text editor is formatted or not.
- (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointRemoved):
- If the text editor is formatted, be sure to remove a breakpoint with the
- unformatted, original location because we're dealing with the backend.
- (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointAdded):
- When the TextEditor sends a delegate up to the SourceCodeTextEditor about
- a breakpoint being added, it waits for a response to put into its table.
- Use this as an opportunity to provide the accurate resolved location.
- (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointMoved):
- When the TextEditor sends a delegate up to the SourceCodeTextEditor about
- a breakpoint being moved, it has already put an entry into its table at
- line + column 0. We update that entry via updateBreakpointLineAndColumn.
- (WebInspector.SourceCodeTextEditor.prototype.textEditorFormattingDidChange):
- After pretty printing the editor's value was completely changed. Some
- breakpoints may have moved, some might not have. Ignore the DisplayLocation
- change events when setting the formatter on the SourceCode and update all
- the breakpoint map locations for ourself and the underlying TextEditor.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.updateBreakpointLineAndColumn):
- (WebInspector.TextEditor.prototype._gutterMouseDown):
- Update or set breakpoint info entires with accurante line and column info.
- 2013-03-04 Joseph Pecoraro <pecoraro@apple.com>
- Pretty print and incorporate the formatted location into the SourceCodeLocation display location
- <rdar://problem/11219771> REGRESSION (Safari 6): Can't pretty-print JavaScript
- When a SourceCodeTextEditor formats a SourceCode it produces a
- FormatterSourceMap and sets it on the SourceCode. All SourceCodeLocations
- associated with that SourceCode can update their display location.
- If a location is already listening for DisplayLocation change events
- it will just work (BreakPointTreeElements, CallFrameTreeElements).
- SourceCodeLocation now has 3 sets of values and a display value:
- - [public] sourceCode, lineNumber, columnNumber
- - raw original sourceCode and values
- - useful for interaction with the backend
- - [public] formattedLineNumber, formattedColumnNumber
- - for the original sourceCode
- - if the sourceCode has a formatter, these are the formatted values
- - if the sourceCode doesn't have a formatter, these are the same as the raw values
- - useful for TextEditors that are showing content + gutters for formatted source
- - [private] mappedResource, mappedLineNumber, mappedColumnNumber
- - if the sourceCode has a sourceMap, this is the mapped location of the raw
- values into a SourceMapResource line and column
- - if the sourceCode doesn't have a sourceMap these are null, NaN, NaN
- - useful for a display location, since it is the author's original pre-generated source
- - [public] displayResource, displayLineNumber, displayColumnNumber
- - if there is a mapped location use that
- - if there is a formatted location use that
- - otherwise use the raw original location
- - useful for anyone who wants to display a location
- Most users of SourceCodeLocation should only care about the display
- values and should register for DisplayLocation change events to know
- when to update.
- Reviewed by Timothy Hatcher.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor):
- (WebInspector.TextEditor.prototype.get formatterSourceMap):
- (WebInspector.TextEditor.prototype._prettyPrint):
- Run the formatter. Update selection. Update search. Notify delegate.
- * UserInterface/ScriptContentView.js:
- (WebInspector.ScriptContentView):
- (WebInspector.ScriptContentView.prototype._textEditorFormattingDidChange):
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView):
- (WebInspector.TextResourceContentView.prototype._textEditorFormattingDidChange):
- Update the pretty print button's activated state when formatting changes to match the TextEditor.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype.textEditorUpdatedFormatting):
- The TextEditor changed formatting and updated its FormatterSourceMap. Set
- the FormatterSourceMap on the SourceCode itself.
- * UserInterface/SourceCode.js:
- (WebInspector.SourceCode):
- (WebInspector.SourceCode.prototype.get formatterSourceMap):
- (WebInspector.SourceCode.prototype.set formatterSourceMap):
- A SourceCode may have a formatter source map when the TextEditor for it
- was pretty printed. Store that on the SourceCode so SourceCodeLocation
- objects know where to find it, and send an event when it changes.
- * UserInterface/SourceCodeLocation.js:
- (WebInspector.SourceCodeLocation.prototype.get formattedLineNumber):
- (WebInspector.SourceCodeLocation.prototype.get formattedColumnNumber):
- (WebInspector.SourceCodeLocation.prototype._resolveFormattedLocation):
- Formatted location when the SourceCode is pretty printed. Original otherwise.
- (WebInspector.SourceCodeLocation.prototype.get displayLineNumber):
- (WebInspector.SourceCodeLocation.prototype.get displayColumnNumber):
- Mapped location, fallback to formatted, fallback to raw original.
- (WebInspector.SourceCodeLocation.prototype.hasFormattedLocation):
- (WebInspector.SourceCodeLocation.prototype.hasDifferentDisplayLocation):
- Helpful accessors for those that might be interested.
- (WebInspector.SourceCodeLocation.prototype._sourceCodeFormatterDidChange):
- When the SourceCode's formatter source map changed resolve our re-resolve
- our locations and fire an event if needed.
- (WebInspector.SourceCodeLocation.prototype._makeChangeAndDispatchChangeEventIfNeeded):
- Make the code simpler and handle formatted location changes.
- 2013-03-04 Joseph Pecoraro <pecoraro@apple.com>
- Add a pretty print button to text content views
- <rdar://problem/11219771> REGRESSION (Safari 6): Can't pretty-print JavaScript
- Reviewed by Timothy Hatcher.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange):
- * UserInterface/FrameContentView.js:
- (WebInspector.FrameContentView.prototype.get navigationItems):
- Be sure to update navigation items when a FrameContentView changes
- content views (Source Code and DOM Tree), because the different views
- might have different navigation items.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/ScriptContentView.js:
- (WebInspector.ScriptContentView.prototype.get navigationItems):
- (WebInspector.ScriptContentView.prototype._contentDidPopulate):
- (WebInspector.ScriptContentView.prototype._togglePrettyPrint):
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView.prototype.get navigationItems):
- (WebInspector.TextResourceContentView.prototype._contentDidPopulate):
- (WebInspector.TextResourceContentView.prototype._togglePrettyPrint):
- Add a pretty print button to Script and TextResource content views.
- Disabled initially, and enabled when content populates and the
- TextEditor supports formatting
-
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor):
- (WebInspector.TextEditor.prototype.set readOnly):
- (WebInspector.TextEditor.prototype.get formatted):
- (WebInspector.TextEditor.prototype.set formatted):
- (WebInspector.TextEditor.prototype._updateCodeMirrorReadOnly):
- Currently, mark the editor as readyOnly immediately when it is formatted.
- This may change in the future.
- (WebInspector.TextEditor.prototype.hasFormatter):
- (WebInspector.TextEditor.prototype.canBeFormatted):
- Accessor for whether the TextEditor can be formatted.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype.canBeFormatted):
- Don't allow SourceMapResources to be formatted. This is to simplify
- later changes a bit. We can do this later in the future if we want.
-
- (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate):
- Fire an event when content populates.
- 2013-03-04 Joseph Pecoraro <pecoraro@apple.com>
- FormatterSourceMap to convert between original and formatted locations
- <rdar://problem/11219771> REGRESSION (Safari 6): Can't pretty-print JavaScript
- Add FormatterSourceMap class. This is nearly identical to OpenSource's
- FormatterSourceMapping, which does the same thing. This provides
- conversions in either direction between an original and formatted line
- and column number. It requires the original and formatted line endings
- and a mapping, all data the the ContentBuilder has.
- Reviewed by Timothy Hatcher.
- * UserInterface/FormatterSourceMap.js: Added.
- (WebInspector.FormatterSourceMap):
- (WebInspector.FormatterSourceMap.fromBuilder):
- (WebInspector.FormatterSourceMap.prototype.originalToFormatted):
- (WebInspector.FormatterSourceMap.prototype.formattedToOriginal):
- (WebInspector.FormatterSourceMap.prototype._locationToPosition):
- (WebInspector.FormatterSourceMap.prototype._positionToLocation):
- (WebInspector.FormatterSourceMap.prototype._convertPosition):
- * UserInterface/Main.html:
- * UserInterface/Utilities.js:
- 2013-03-04 Joseph Pecoraro <pecoraro@apple.com>
- CSS Pretty Printer
- <rdar://problem/11219771> REGRESSION (Safari 6): Can't pretty-print JavaScript
- Reviewed by Timothy Hatcher.
- * UserInterface/CodeMirrorFormatters.js:
- (CodeMirror["css mode"].shouldHaveSpaceBeforeToken):
- (CodeMirror["css mode"].shouldHaveSpaceAfterLastToken):
- (CodeMirror["css mode"].newlinesAfterToken):
- (CodeMirror["css mode"].removeLastNewline):
- (CodeMirror["css mode"].indentAfterToken):
- (CodeMirror["css mode"].newlineBeforeToken):
- (CodeMirror["css mode"].dedentBeforeToken):
- (CodeMirror["css mode"].modifyStateForToken):
- The general goals are:
- - spaces after ',' in selector lists
- - spaces after ':' between properties and values
- - newlines after '{', '}', and ';', with 2 newlines between blocks
- - newlines after ',' in long selector lists "a,b,..,z {}"
- - indent after '{' and dedent before '}'
- 2013-03-04 Joseph Pecoraro <pecoraro@apple.com>
- Formatter, ContentBuilder, and JavaScript Pretty Printer
- <rdar://problem/11219771> REGRESSION (Safari 6): Can't pretty-print JavaScript
- This patch adds a Formatter driver class, a ContentBuilder class that
- builds both the formatted string and line ending markers needed for a
- source mapping, and JavaScript CodeMirror extensions for pretty printing.
- The Formatter and FormatterContentBuilder classes are not WebInspector
- prefixed. Their only dependency is CodeMirror and the CodeMirror modes.
- They are standalone, and could be moved to a Worker if needed.
- The Formatter class takes a tokenizer (in our case a CodeMirror object)
- and a builder object. Call format() on a range to tokenize over that
- range and populate the builder for that range. The Formatter assumes
- the CodeMirror object has the appropriate pretty printing extensions.
- The ContentBuilder class manages line endings the resulting string, and
- all things whitespace related in the output string (such as collapsing
- whitespace, and indentation).
- The CodeMirror pretty printing extensions are very primitive. For each
- token CodeMirror outputs the mode for that token is asked if we should
- add a space before or after, add newlines before or after, indent or
- dedent, retroactively remove the last newline, or updating private state.
- Most of the time whitespace is already required languages, so whitespace
- only really needs to be added where it is optional and would be prettier.
- One simple example is "}else{" versus "} else {". The mode doesn't need
- to worry about collapsing whitespace. It just suggests where whitespace
- goes and the Formatter + ContentBuilder takes care of the rest.
- Reviewed by Timothy Hatcher.
- * UserInterface/Formatter.js: Added.
- (Formatter):
- (Formatter.prototype.format):
- A StringStream is considered to be one line. So split the content over
- the given range into lines, and tokenize over the lines. There are hooks
- for handling tokens, empty lines, and line endings.
- (Formatter.prototype._handleToken):
- Ask the mode how to pretty print the current token.
- (Formatter.prototype._handleEmptyLine):
- Preserve newlines in multi-line comments. If this is an empty line in
- a comment, force the builder to add a new line.
- (Formatter.prototype._handleLineEnding):
- Notify the builder that of an original line ending.
- * UserInterface/FormatterContentBuilder.js: Added.
- (FormatterContentBuilder):
- (FormatterContentBuilder.prototype.get originalContent):
- (FormatterContentBuilder.prototype.get formattedContent):
- (FormatterContentBuilder.prototype.get mapping):
- (FormatterContentBuilder.prototype.get originalLineEndings):
- (FormatterContentBuilder.prototype.get formattedLineEndings):
- (FormatterContentBuilder.prototype.setOriginalContent):
- Results of a formatting run. Everything needed for a SourceMap.
- (FormatterContentBuilder.prototype.appendToken):
- (FormatterContentBuilder.prototype.appendSpace):
- (FormatterContentBuilder.prototype.appendNewline):
- (FormatterContentBuilder.prototype.removeLastNewline):
- (FormatterContentBuilder.prototype.indent):
- (FormatterContentBuilder.prototype.dedent):
- (FormatterContentBuilder.prototype.addOriginalLineEnding):
- (FormatterContentBuilder.prototype.finish):
- Public interface is simple.
- (FormatterContentBuilder.prototype._popNewLine):
- (FormatterContentBuilder.prototype._append):
- Handle growing / shrinking the content + content length at the same time.
- (FormatterContentBuilder.prototype._appendIndent):
- Indentation is stored in a cache to avoid recomputing often. However,
- the cache stops at 20, if there is an indentation greater than 20 we
- compose it in chunks.
- (FormatterContentBuilder.prototype._addMappingIfNeeded):
- Add a mapping for each token originalPosition and formattedPosition.
- (FormatterContentBuilder.prototype._addFormattedLineEnding):
- Keep track of formatted content line endings.
- * UserInterface/CodeMirrorFormatters.js: Added.
- (CodeMirror["javascript mode"].shouldHaveSpaceBeforeToken):
- (CodeMirror["javascript mode"].shouldHaveSpaceAfterLastToken):
- (CodeMirror["javascript mode"].newlinesAfterToken):
- (CodeMirror["javascript mode"].removeLastNewline):
- (CodeMirror["javascript mode"].indentAfterToken):
- (CodeMirror["javascript mode"].newlineBeforeToken):
- (CodeMirror["javascript mode"].dedentBeforeToken):
- The general goal with these hooks are:
- - spaces before and after most operators (not unary)
- - spaces around keywords
- - newlines after '{', '}', and ';'
- - newlines after ',' when inside an object context
- - indent after '{' and dedent before '}'
- * UserInterface/Main.html:
- Add new files.
- 2013-03-04 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13331470> REGRESSION: Inspector debugger continue button is a pause icon when it should be an arrow
- Reviewed by Timothy Hatcher.
- * UserInterface/ButtonNavigationItem.js:
- (WebInspector.ButtonNavigationItem.prototype.set image):
- This was appending a new child image element each time instead of
- replacing the existing image. Remove the old children on changes.
- 2013-03-04 Antoine Quint <graouts@apple.com>
- <rdar://problem/13331811> Web Inspector: remove existing LayerTreeAgent protocol APIs (111251)
- Deactivate the layer tree sidebar panel until the new API
- lands in WebCore and we can update the Internal code to use
- this API.
- Reviewed by Timothy Hatcher.
- * UserInterface/LayerTreeManager.js:
- (WebInspector.LayerTreeManager):
- * UserInterface/LayerTreeObserver.js:
- (WebInspector.LayerTreeObserver.prototype.layerTreeDidChange):
- * UserInterface/LayerTreeSidebarPanel.js:
- (WebInspector.LayerTreeSidebarPanel.prototype.supportsDOMNode):
- 2013-03-01 Timothy Hatcher <timothy@apple.com>
- Update the Style details sidebar when when pseudo classes are forced or media queries change.
- <rdar://problem/13328298>
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleManager.js:
- (WebInspector.CSSStyleManager.prototype.mediaQueryResultChanged): Call mediaQueryResultDidChange on each DOMNodeStyles.
- Removed the event since it wasn't used anymore.
- * UserInterface/DOMNode.js:
- (WebInspector.DOMNode.prototype.setPseudoClassEnabled): Fire the event after the agent actually does the change.
- (WebInspector.DOMNode.prototype.setPseudoClassEnabled.changed): Added.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles): Added listener for EnabledPseudoClassesChanged.
- (WebInspector.DOMNodeStyles.prototype.mediaQueryResultDidChange): Added. Call _markAsNeedsRefresh.
- (WebInspector.DOMNodeStyles.prototype._markAsNeedsRefresh): Added.
- (WebInspector.DOMNodeStyles.prototype._pseudoClassesDidChange): Added. Call _markAsNeedsRefresh.
- (WebInspector.DOMNodeStyles.prototype._attributesDidChange): Use _markAsNeedsRefresh.
- (WebInspector.DOMNodeStyles.prototype._styleSheetContentDidChange.checkRules): Ditto.
- (WebInspector.DOMNodeStyles.prototype._styleSheetContentDidChange): Ditto.
- 2013-03-01 Timothy Hatcher <timothy@apple.com>
- Changes are committed to frequently since updating to CodeMirror 3.1.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._contentChanged): The origin for user input
- changed from "input" to "+input". And there is now "+delete". Internally CodeMirror just looks for
- the "+" prefix to decide if the change should coalesce in undo history. We should do the same.
- 2013-03-01 Timothy Hatcher <timothy@apple.com>
- Fix style editing after an Inspector protocol change for how SourceRange is sent.
- <rdar://problem/13324015> Style editing in the new Style details sidebar is broken after r144434
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSProperty.js:
- (WebInspector.CSSProperty): Removed startStyleSheetTextPosition and endStyleSheetTextPosition.
- Added styleSheetTextRange and styleDeclarationTextRange.
- (WebInspector.CSSProperty.prototype.update): Ditto. Delete _styleDeclarationTextRange if it isn't
- given so it can be recomputed.
- (WebInspector.CSSProperty.prototype.get styleSheetTextRange): Added.
- (WebInspector.CSSProperty.prototype.get styleDeclarationTextRange): Added. Compute if missing.
- * UserInterface/CSSStyleDeclaration.js:
- (WebInspector.CSSStyleDeclaration): Removed startStyleSheetTextPosition and endStyleSheetTextPosition.
- Added styleSheetTextRange.
- (WebInspector.CSSStyleDeclaration.prototype.update): Ditto.
- (WebInspector.CSSStyleDeclaration.prototype.get visibleProperties): Look for styleDeclarationTextRange.
- (WebInspector.CSSStyleDeclaration.prototype.get styleSheetTextRange): Added.
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): Don't add
- checkboxes for properties if the editor is read-only.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): Use styleDeclarationTextRange.
- Don't add checkboxes for comments if the editor is read-only.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Use styleSheetTextRange.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype.changeStyleText): Use styleSheetTextRange.
- (WebInspector.DOMNodeStyles.prototype.changeStyleText.fetchedStyleSheetContent): Use styleSheetTextRange.
- (WebInspector.DOMNodeStyles.prototype._handlePropertyChange): Update comment.
- (WebInspector.DOMNodeStyles.prototype._parseSourceRangePayload): Added. Helper.
- (WebInspector.DOMNodeStyles.prototype._parseStylePropertyPayload): Use _parseSourceRangePayload.
- (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload): Ditto.
- * UserInterface/TextRange.js:
- (WebInspector.TextRange): Allow 4 or 2 argument construction. One for lines and columns, the other for offsets.
- (WebInspector.TextRange.prototype.get startLine): Added.
- (WebInspector.TextRange.prototype.get startColumn): Added.
- (WebInspector.TextRange.prototype.get endLine): Added.
- (WebInspector.TextRange.prototype.get endColumn): Added.
- (WebInspector.TextRange.prototype.get startOffset): Added.
- (WebInspector.TextRange.prototype.get endOffset): Added.
- (WebInspector.TextRange.prototype.resolveLinesAndColumns): Added.
- (WebInspector.TextRange.prototype.resolveLinesAndColumns.countNewLineCharacters): Added.
- (WebInspector.TextRange.prototype.resolveOffsets): Added.
- 2013-02-28 Timothy Hatcher <timothy@apple.com>
- Switch from post-processing for the style pretty printer to fully synthesized content.
- Inserting a newline between the semicolon and the next property was causing the newline
- to be inserted between the next property and its checkbox. This is controllable via the
- insertLeft option on bookmarks in CodeMirror; however, that causes typed text to go on
- the left of the checkbox.
- Switching to the synthesized code path is cleaner and simpler.
- <rdar://problem/13314682> Styles on Twitter.com have checkboxes at the end of the property
- instead of beginning
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Renamed lineCount()
- to countNewLineCharacters() since it conflicts with the lineCount variable.
- 2013-02-28 Timothy Hatcher <timothy@apple.com>
- Don't disable property checkboxes after click to prevent a subtle flash.
- <rdar://problem/13306506> CSS rule box flashes checkboxes and crossed-out text during editing
- Reviewed by Antoine Quint.
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertyCheckboxChanged): Don't set disabled.
- Remove assert for range since it might have been removed already.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertyCommentCheckboxChanged): Ditto.
- 2013-02-28 Timothy Hatcher <timothy@apple.com>
- Use CodeMirror 3.1's new getAllMarks() instead of tracking them ourselves.
- Also fix an assert that would fire if we reused a text marker that was removed.
- Reviewed by Antoine Quint.
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor): Remove _textMarkers.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): Stop using _textMarkers.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): Ditto.
- Also only reuse a marker if it is still in the document.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches): Stop using _textMarkers.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): Ditto.
- 2013-02-27 Timothy Hatcher <timothy@apple.com>
- Remove a flash of the color swatch when toggling a property.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches): Add lineNumber
- parameter to update only that line. Also skip colors that are already marked.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertyCheckboxChanged): Call _createColorSwatches.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertyCommentCheckboxChanged): Ditto.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked): Set __markedColor
- to true so we know it is a color. Remove an unused class name.
- 2013-02-27 Timothy Hatcher <timothy@apple.com>
- Pretty print the style text if there are more properties than there are lines.
- There are a few style rules on apple.com that are multiple lines with 5-10
- properties per line. These were avoiding the pretty printing because the line
- count was greater than one.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDeclaration.js:
- (WebInspector.CSSStyleDeclaration.prototype.update): Clear _visibleProperties.
- (WebInspector.CSSStyleDeclaration.prototype.get visibleProperties): Added.
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties): Add an
- option to only iterate over the visible properties. Also pass along if this is the last
- property to the callback.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): Pass true to
- _iterateOverProperties.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Pretty print if the
- visible property count is greater than the line count.
- 2013-02-27 Timothy Hatcher <timothy@apple.com>
- Fix the text selection color in the style
- This is fallout from upgrading to CodeMirror 3.1.
- <rdar://problem/13307885> REGRESSION: Selection color in CodeMirror editors is always showing as gray unfocused
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDeclarationTextEditor.css:
- (.css-style-text-editor > .CodeMirror.CodeMirror-focused .CodeMirror-selected): Fixed the selector
- to look for CodeMirror-focused on the .CodeMirror element.
- * UserInterface/TextEditor.css:
- (.text-editor > .CodeMirror.CodeMirror-focused .CodeMirror-selected): Ditto.
- 2013-02-27 Timothy Hatcher <timothy@apple.com>
- Don't do a full refresh of the Style details sidebar unless the included style declarations
- actually did change.
- Firing the DOMNodeStyles refreshed event cause the DOM to be rebuilt and that interrupts typing
- and causes the checkboxes to flash.
- <rdar://problem/13306506> CSS rule box flashes checkboxes and crossed-out text during editing
- <rdar://problem/13306813> Typing very fast drops characters when editing in the Style details sidebar
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype.refresh): Removed dontFireRefreshedEvent parameter. We now
- smartly detect if the event needs to fire.
- (WebInspector.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles): Remove dontFireRefreshedEvent.
- (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle): Iterate over the styles and
- check if any were added or removed from the last refresh.
- (WebInspector.DOMNodeStyles.prototype.attributeChanged): Stop passing true to refresh().
- (WebInspector.DOMNodeStyles.prototype._handlePropertyChange): Ditto.
- 2013-02-27 Timothy Hatcher <timothy@apple.com>
- WebInspector.CSSProperty.Event.OverriddenStatusChanged is firing too much.
- In the workaround that landed in r48890, we delayed the fetch for inline and computed styles.
- This caused the OverriddenStatusChanged event to fire because the coalesce delay timed out
- while waiting for the inline style to come over the wire.
- Now we fetch them immediately again and if matched styles fails we make the inline and computed
- style callbacks bail before parsing their results. Failing is an edge case that might be fixed
- on the backend soon, so throwing the results away isn't that expensive. This also improves
- refresh performance in the common case.
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype.refresh): Initialize matchedStylesFailed to false.
- (WebInspector.DOMNodeStyles.prototype.fetchedMatchedStyles): Set matchedStylesFailed.
- (WebInspector.DOMNodeStyles.prototype.fetchedInlineStyles): Return early if matchedStylesFailed.
- (WebInspector.DOMNodeStyles.prototype.fetchedComputedStyle): Ditto.
- 2013-02-27 Timothy Hatcher <timothy@apple.com>
- Properties are not updated when overridden status changes.
- This is fallout from upgrading to CodeMirror 3.1.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded):
- The cm property moved to the new doc property of TextMarker.
- 2013-02-27 Timothy Hatcher <timothy@apple.com>
- Pretty print the style text if there are multiple properties on only one line.
- This helps cases like apple.com and nytimes.com where minified or single line
- rules are the norm.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Loop over
- the properties that have markers and add newlines after them.
- 2013-02-27 Timothy Hatcher <timothy@apple.com>
- Make color swatches show up for user agent styles, and other styles that don't have text.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._contentChanged): Return early if the style isn't
- editable. This still can be called when readOnly is set because clicking on a color swatch modifies the text.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): Broke color matching out into
- _createColorSwatches. Added nonatomic support to avoid nesting operations.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches): Added.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Call _createColorSwatches in synthesized
- case when there isn't style text.
- 2013-02-27 Antoine Quint <graouts@apple.com>
- <rdar://problem/13218172> Make hover state for dashboard icons more pronounced
- Add a thin border around dashboard items on hover and make it slightly
- more pronounced when the item is also being clicked.
- Reviewed by Joseph Pecoraro.
- * UserInterface/DashboardView.css:
- (.dashboard > .item):
- (.dashboard > .item.enabled:hover):
- (.dashboard > .item.enabled:active):
- (.toolbar.normal-size.icon-and-label-horizontal > .item-section > .dashboard > .item):
- (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .item):
- (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .resources):
- (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .time):
- (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .logs):
- (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .memory):
- (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .errors):
- (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .issues):
- (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .item):
- (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .resources):
- (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .time):
- (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .logs):
- (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .memory):
- (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .errors):
- (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .issues):
- 2013-02-27 Timothy Hatcher <timothy@apple.com>
- Update CodeMirror from 3.0.2 to 3.1.
- Rubber-stamped by Jeff Miller.
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor.prototype.get focused): Use the wrapper
- element since the classname moved from the scroller element.
- * UserInterface/External/CodeMirror/codemirror.css: Updated.
- * UserInterface/External/CodeMirror/codemirror.js: Updated.
- * UserInterface/External/CodeMirror/htmlmixed.js: Updated.
- * UserInterface/External/CodeMirror/javascript.js: Updated.
- * UserInterface/External/CodeMirror/matchbrackets.js: Updated.
- * UserInterface/External/CodeMirror/searchcursor.js: Updated.
- 2013-02-26 Timothy Hatcher <timothy@apple.com>
- Add support to CodeMirror for incrementing and decrementing numbers.
- The key binding are:
- * Option-Up: +1
- * Shift-Option-Up: +10
- * Option-PageUp: +10
- * Shift-Option-PageUp: +100
- * Option-Down: -1
- * Shift-Option-Down: -10
- * Option-PageDown: -10
- * Shift-Alt-PageDown: -100
- When altering by 1 or -1 any numbers between 1 and -1 will be altered
- by 0.1 or -0.1 instead.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CodeMirrorAdditions.js:
- (alterNumber): Added. Hooked up via the default key map that extends the
- Mac keybindings. This means all instances of CodeMirror get this support.
- 2013-02-26 Timothy Hatcher <timothy@apple.com>
- Add color swatches next to color strings.
- <rdar://problem/7206272>
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/CSSStyleDeclarationTextEditor.css:
- (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch): Added.
- (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch > span): Added.
- (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch:hover > span): Added.
- (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch:active > span): Added.
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): Search for colors
- and add swatches next to them.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked): Added. Replace the
- text with the next color format.
- * UserInterface/Color.js:
- (WebInspector.Color.prototype.nextFormat): Added. Helper to pick the next format.
- 2013-02-26 Timothy Hatcher <timothy@apple.com>
- Add checkboxes next to property names and commented out properties.
- Unchecking will comment out the property and checking the box next to a property comment
- will uncomment it and make it live again.
- <rdar://problem/7206272>
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDeclarationTextEditor.css:
- (.css-style-text-editor.read-only > .CodeMirror pre): Added. Indent the text the same amount
- as if there were checkboxes.
- (.css-style-text-editor > .CodeMirror .CodeMirror-lines input[type=checkbox]): Added.
- (.css-style-text-editor:hover > .CodeMirror .CodeMirror-lines input[type=checkbox]): Added.
- * UserInterface/CSSStyleDeclarationTextEditor.js:
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): Look for comments
- that look like properties and add checkboxes in front of them.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded):
- Create checkbox marker for properties or update the existing one.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._clearTextMarkers): Delete __checkboxMarker.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertyCheckboxChanged): Added.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertyCommentCheckboxChanged): Added.
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Set the read-only style class
- so the text of read-only styles is indented the same amount as if there were checkboxes.
- 2013-02-25 Timothy Hatcher <timothy@apple.com>
- Implement the Rules details style panel.
- <rdar://problem/7206272&12526319>
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/CSSStyleDeclarationSection.css: Added.
- (.style-declaration-section):
- (.style-declaration-section + .style-declaration-section):
- (.style-declaration-section.last-in-group):
- (.style-declaration-section.last-in-group + .style-declaration-section):
- (.style-declaration-section.last-in-group + .style-declaration-section:last-child):
- (.style-declaration-section:last-child):
- (.style-declaration-section > .header):
- (.style-declaration-section > .header > .icon):
- (.style-declaration-section > .header > .selector):
- (.style-declaration-section > .header > .selector:focus):
- (.style-declaration-section.selector-locked > .header > .selector):
- (.style-declaration-section.locked > .header::after):
- (.style-declaration-section > .header > .selector > .matched):
- (.style-declaration-section > .header > .origin):
- (.style-declaration-section > .header > .origin > .go-to-link):
- * UserInterface/CSSStyleDeclarationSection.js: Added.
- (WebInspector.CSSStyleDeclarationSection):
- (WebInspector.CSSStyleDeclarationSection.prototype.get element):
- (WebInspector.CSSStyleDeclarationSection.prototype.get style):
- (WebInspector.CSSStyleDeclarationSection.prototype.get lastInGroup):
- (WebInspector.CSSStyleDeclarationSection.prototype.set lastInGroup):
- (WebInspector.CSSStyleDeclarationSection.prototype.get focused):
- (WebInspector.CSSStyleDeclarationSection.prototype.focus):
- (WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelector):
- (WebInspector.CSSStyleDeclarationSection.prototype.refresh):
- (WebInspector.CSSStyleDeclarationSection.prototype.updateLayout):
- (WebInspector.CSSStyleDeclarationSection.prototype._commitSelector):
- * UserInterface/Images/StyleRuleAuthor.pdf: Added.
- * UserInterface/Images/StyleRuleInherited.pdf: Added.
- * UserInterface/Images/StyleRuleInheritedElement.pdf: Added.
- * UserInterface/Images/StyleRuleInspector.pdf: Added.
- * UserInterface/Images/StyleRuleUser.pdf: Added.
- * UserInterface/Images/StyleRuleUserAgent.pdf: Added.
- * UserInterface/Main.html: Included new files.
- * UserInterface/RulesStyleDetailsPanel.css: Added.
- (.sidebar > .panel.details.css-style .rules .inherited-label):
- (.sidebar > .panel.details.css-style .rules .inherited-label + .style-declaration-section):
- * UserInterface/RulesStyleDetailsPanel.js:
- (WebInspector.RulesStyleDetailsPanel):
- (WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection):
- (WebInspector.RulesStyleDetailsPanel.prototype.refresh):
- (WebInspector.RulesStyleDetailsPanel.prototype.shown):
- (WebInspector.RulesStyleDetailsPanel.prototype.hidden):
- (WebInspector.RulesStyleDetailsPanel.prototype.widthDidChange):
- * UserInterface/StyleRuleIcons.css: Added.
- (.author-style-rule-icon .icon):
- (.user-style-rule-icon .icon):
- (.user-agent-style-rule-icon .icon):
- (.inspector-style-rule-icon .icon):
- (.inherited-style-rule-icon .icon):
- (.inherited-element-style-rule-icon .icon):
- 2013-02-25 Timothy Hatcher <timothy@apple.com>
- Implement the Computed details style panel.
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/ComputedStyleDetailsPanel.js:
- (WebInspector.ComputedStyleDetailsPanel):
- (WebInspector.ComputedStyleDetailsPanel.prototype.refresh):
- (WebInspector.ComputedStyleDetailsPanel.prototype.shown):
- (WebInspector.ComputedStyleDetailsPanel.prototype.widthDidChange):
- (WebInspector.ComputedStyleDetailsPanel.prototype._computedStyleShowAllCheckboxValueChanged):
- 2013-02-25 Timothy Hatcher <timothy@apple.com>
- Add CSSStyleDeclarationTextEditor.
- This class implements a rich text editor for style text. It will reflect the assigned CSSStyleDeclaration.
- Edits will be applied to the page and property parse errors or overridden status will be highlighted.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDeclarationTextEditor.css: Added.
- (.css-style-text-editor):
- (.css-style-text-editor > .CodeMirror):
- (.css-style-text-editor > .CodeMirror *):
- (.css-style-text-editor > .CodeMirror-scroll):
- (.css-style-text-editor > .CodeMirror .CodeMirror-lines):
- (.css-style-text-editor > .CodeMirror pre):
- (.css-style-text-editor > .CodeMirror .CodeMirror-selected):
- (.css-style-text-editor > .CodeMirror .CodeMirror-focused .CodeMirror-selected):
- (.css-style-text-editor > .CodeMirror .CodeMirror-cursor):
- (.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property.overridden):
- (.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property.invalid):
- (.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property.not-inherited):
- * UserInterface/CSSStyleDeclarationTextEditor.js: Added.
- (WebInspector.CSSStyleDeclarationTextEditor):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype.get element):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype.get delegate):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype.set delegate):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype.get style):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype.set style):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype.get focused):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype.get alwaysShowPropertyNames):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype.set alwaysShowPropertyNames):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype.get showsImplicitProperties):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype.set showsImplicitProperties):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype.get sortProperties):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype.set sortProperties):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype.focus):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype.refresh):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype.updateLayout):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype.shown):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype.hidden):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._formatedContent):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._commitChanges):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._contentChanged):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkerForPropertyIfNeeded):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._clearTextMarkers):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties.sortProperty):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertyOverriddenStatusChanged):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._propertiesChanged):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._styleOffsetToCodeMirrorPosition):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update.else.lineCount):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
- (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent):
- * UserInterface/CodeMirrorAdditions.js:
- * UserInterface/Main.html:
- 2013-02-25 Timothy Hatcher <timothy@apple.com>
- Implement the Metrics details style panel.
- Converts BoxModelDetailsSectionRow to use the new CSS model. Removes code needed to
- work with the old CSS model.
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/BoxModelDetailsSectionRow.js:
- (WebInspector.BoxModelDetailsSectionRow):
- (WebInspector.BoxModelDetailsSectionRow.prototype.get nodeStyles):
- (WebInspector.BoxModelDetailsSectionRow.prototype.set nodeStyles):
- (WebInspector.BoxModelDetailsSectionRow.prototype._refresh):
- (WebInspector.BoxModelDetailsSectionRow.prototype._getPropertyValueAsPx):
- (WebInspector.BoxModelDetailsSectionRow.prototype._highlightDOMNode):
- (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createBoxPartElement):
- (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createContentAreaWidthElement):
- (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createContentAreaHeightElement):
- (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics):
- (WebInspector.BoxModelDetailsSectionRow.prototype._startEditing):
- (WebInspector.BoxModelDetailsSectionRow.prototype._alteredFloatNumber): Added. Copied from the now
- removed CSSPropertyPrompt class.
- (WebInspector.BoxModelDetailsSectionRow.prototype._handleKeyDown):
- (WebInspector.BoxModelDetailsSectionRow.prototype._editingCancelled):
- (WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput):
- * UserInterface/MetricsStyleDetailsPanel.js:
- (WebInspector.MetricsStyleDetailsPanel):
- (WebInspector.MetricsStyleDetailsPanel.prototype.refresh):
- 2013-02-25 Timothy Hatcher <timothy@apple.com>
- Remember the scroll position when refreshing the style detail panels.
- Reviewed by Joseph Pecoraro.
- * UserInterface/StyleDetailsPanel.js:
- (WebInspector.StyleDetailsPanel.prototype.refreshIfNeeded): Call _refreshPreservingScrollPosition
- instead refresh.
- (WebInspector.StyleDetailsPanel.prototype._refreshPreservingScrollPosition): Added. Only remember the
- scroll position if the previous node is the same as this one.
- (WebInspector.StyleDetailsPanel.prototype._nodeStylesRefreshed): Call _refreshPreservingScrollPosition
- instead refresh.
- 2013-02-25 Timothy Hatcher <timothy@apple.com>
- Tell SidebarPanel and StyleDetailsPanel when the width of the Sidebar changes.
- This will be needed to update CodeMirror on the size change.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange): Added. Tell the selected
- panel to refresh if needed.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype.widthDidChange): Added. Tell the selected panel
- that the width changed.
- * UserInterface/Sidebar.js:
- (WebInspector.Sidebar.prototype.set width): Call widthDidChange on the sidebar panel.
- (WebInspector.Sidebar.prototype.set collapsed): Ditto.
- * UserInterface/SidebarPanel.js:
- (WebInspector.SidebarPanel.prototype.widthDidChange): Added stub.
- * UserInterface/StyleDetailsPanel.js:
- (WebInspector.StyleDetailsPanel.prototype.widthDidChange): Added stub.
- 2013-02-21 Timothy Hatcher <timothy@apple.com>
- Add start implementation for each of the three Style detail panels.
- <rdar://problem/7206272&12526319>
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/CSSStyleDetailsSidebarPanel.css:
- (.sidebar > .panel.details.css-style):
- (.sidebar > .panel.details.css-style > .navigation-bar):
- (.sidebar > .panel.details.css-style > .content):
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel):
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh):
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._navigationItemSelected):
- * UserInterface/ComputedStyleDetailsPanel.js: Added.
- (WebInspector.ComputedStyleDetailsPanel):
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype.get needsRefresh): Added.
- * UserInterface/Main.html:
- * UserInterface/Main.js:
- (WebInspector._updateStickyPostionStyles):
- * UserInterface/MetricsStyleDetailsPanel.js: Added.
- (WebInspector.MetricsStyleDetailsPanel):
- * UserInterface/RulesStyleDetailsPanel.js: Added.
- (WebInspector.RulesStyleDetailsPanel):
- * UserInterface/StyleDetailsPanel.js: Added.
- (WebInspector.StyleDetailsPanel):
- (WebInspector.StyleDetailsPanel.prototype.get element):
- (WebInspector.StyleDetailsPanel.prototype.get navigationItem):
- (WebInspector.StyleDetailsPanel.prototype.get nodeStyles):
- (WebInspector.StyleDetailsPanel.prototype.shown):
- (WebInspector.StyleDetailsPanel.prototype.hidden):
- (WebInspector.StyleDetailsPanel.prototype.markAsNeedsRefresh):
- (WebInspector.StyleDetailsPanel.prototype.refreshIfNeeded):
- (WebInspector.StyleDetailsPanel.prototype.refresh):
- (WebInspector.StyleDetailsPanel.prototype._nodeStylesRefreshed):
- (WebInspector.StyleDetailsPanel.prototype._nodeStylesNeedsRefreshed):
- 2013-02-21 Timothy Hatcher <timothy@apple.com>
- Add start of new implementation of CSSStyleDetailsSidebarPanel.
- <rdar://problem/7206272&12526319>
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDetailsSidebarPanel.css: Added.
- (.sidebar > .panel.details.css-style): Added. Empty for now.
- * UserInterface/CSSStyleDetailsSidebarPanel.js: Added.
- (WebInspector.CSSStyleDetailsSidebarPanel):
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype.supportsDOMNode):
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh):
- * UserInterface/Images/NavigationItemBrushAndRuler.pdf: Added.
- 2013-02-21 Timothy Hatcher <timothy@apple.com>
- Remove CSSStyleDetailsSidebarPanel and friends in preparation for a new implementation.
- <rdar://problem/7206272&12526319>
- Rubber-stamped by Joseph Pecoraro.
- * UserInterface/CSSPropertyPrompt.js: Removed.
- * UserInterface/CSSStyleDetailsSidebarPanel.css: Removed.
- * UserInterface/CSSStyleDetailsSidebarPanel.js: Removed.
- * UserInterface/ComputedStylePropertiesSection.js: Removed.
- * UserInterface/Main.html: Removed files except CSSStyleDetailsSidebarPanel.{js,css}.
- * UserInterface/OldCSSMedia.js: Removed.
- * UserInterface/OldCSSProperty.js: Removed.
- * UserInterface/OldCSSRule.js: Removed.
- * UserInterface/OldCSSStyleDeclaration.js: Removed.
- * UserInterface/StylePropertiesSection.js: Removed.
- * UserInterface/StylePropertyTreeElement.js: Removed.
- 2013-02-21 Timothy Hatcher <timothy@apple.com>
- Remove AppearanceDetailsSidebarPanel in preparation for it being merged with Style details.
- <rdar://problem/7206272&12526319>
- Reviewed by Joseph Pecoraro.
- * UserInterface/AppearanceDetailsSidebarPanel.js: Removed.
- * UserInterface/Main.html: Removed AppearanceDetailsSidebarPanel.js.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Removed AppearanceDetailsSidebarPanel.
- 2013-02-21 Timothy Hatcher <timothy@apple.com>
- Add support for text only navigation buttons.
- This will be used by the navigation bar in the new Styles sidebar.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ButtonNavigationItem.css:
- (.navigation-bar .item.button.text-only): Added.
- (.navigation-bar .item.button:not(.disabled):not(.radio):not(.suppress-bezel):active):
- Use -webkit-calc in the background-position to work with variable widths.
- * UserInterface/ButtonNavigationItem.js:
- (WebInspector.ButtonNavigationItem):
- (WebInspector.ButtonNavigationItem.prototype.get label):
- (WebInspector.ButtonNavigationItem.prototype.set label):
- (WebInspector.ButtonNavigationItem.prototype.set image):
- * UserInterface/RadioButtonNavigationItem.css:
- (.navigation-bar .item.radio.button:not(.text-only)): Added :not(.text-only) to allow
- variable based on text length.
- (.navigation-bar.collapsed .item.radio.button:not(.text-only)): Ditto.
- (.navigation-bar .item.radio.button.selected): Use -webkit-calc in the background-position
- to work with variable widths.
- 2013-02-25 Timothy Hatcher <timothy@apple.com>
- Don't try to commit changes before we have new text positions.
- We need to keep the startStyleSheetTextPosition and endStyleSheetTextPosition up-to-date.
- If we don't have the correct positions then we can corrupt the stylesheet the next time
- the user makes an edit.
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles): Initialize _stylesNeedingTextCommited to [].
- (WebInspector.DOMNodeStyles.prototype.refresh): Call changeStyleText for the next style
- object that needs changed.
- (WebInspector.DOMNodeStyles.prototype.changeRuleSelector): Set _needsRefresh to true.
- (WebInspector.DOMNodeStyles.prototype.changeStyleText): If we need a refresh then it is not safe
- to make the edits now. Store the text and remember the style so we can commit it after the next refresh.
- (WebInspector.DOMNodeStyles.prototype.changePropertyText): Set _needsRefresh to true.
- (WebInspector.DOMNodeStyles.prototype._handlePropertyChange): Call refresh to get updated positions and
- computed style info.
- 2013-02-25 Timothy Hatcher <timothy@apple.com>
- Always try to update the resource when a stylesheet changes.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleManager.js:
- (WebInspector.CSSStyleManager.prototype.styleSheetChanged): Always call _updateResourceContent. This
- was preventing resource updates when the stylesheet changed because of a sidebar text edit. Checking the result
- of noteContentDidChange was to prevent updating the resource content if the change originated from a resource edit.
- However, we will soon allow text edits from the sidebar and the check was preventing resources from being updated.
- The new check in the content setter of SourceCodeRevision prevents updating resources when they haven't changed.
- * UserInterface/SourceCodeRevision.js:
- (WebInspector.SourceCodeRevision.prototype.set content): Return early if the content is the same.
- 2013-02-25 Timothy Hatcher <timothy@apple.com>
- Fix typo that was preventing refresh of DOMNodeStyles.
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype._styleSheetContentDidChange): The property is ownerStyleSheet, not parentStyleSheet.
- 2013-02-25 Timothy Hatcher <timothy@apple.com>
- Workaround a bug where matched rules is empty for stylesheets with imported stylesheets.
- If matched rules is empty (rare because of user agent stylesheet rules) then WebCore might
- be waiting for an @import rule to load. Check again after a delay until we get some results or timeout.
- We shouldn't need to poll like this, https://webkit.org/b/110750 tracks this problem.
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype.refresh): Removed map clearing and call to CSSAgent.getInlineStylesForNode
- and CSSAgent.getComputedStyleForNode. We only want to fetch those if fetchedMatchedStyles succeeds.
- (WebInspector.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles): Schedule another refresh attempt and
- return early if the match is empty. Moved the map clearing here after the early return. Call CSSAgent.getInlineStylesForNode.
- (WebInspector.DOMNodeStyles.prototype.refresh.fetchedInlineStyles): Call CSSAgent.getComputedStyleForNode.
- 2013-02-25 Timothy Hatcher <timothy@apple.com>
- Don't reuse a pending property if it is already used.
- This was happening when parsing an edit that had multiple properties with the same name.
- The last property to be parsed was picking the same pending property and preventing
- all properties from being represented with the right value, etc.
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype._parseStylePropertyPayload): Only pick a pending property
- if the index is NaN.
- 2013-02-25 Timothy Hatcher <timothy@apple.com>
- Prevent firing change events in more places when nothing has changed.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDeclaration.js:
- (WebInspector.CSSStyleDeclaration.prototype.update.delayed): Don't fire the event if there is text and it hasn't changed.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle): Only fire Refreshed if !dontFireRefreshedEvent.
- (WebInspector.DOMNodeStyles.prototype.changeStyleText.attributeChanged): Pass true to refresh().
- (WebInspector.DOMNodeStyles.prototype.changeStyleText.contentDidChange): Added. Call refresh().
- (WebInspector.DOMNodeStyles.prototype.changeStyleText.fetchedStyleSheetContent): Listen for content change.
- (WebInspector.DOMNodeStyles.prototype._attributesDidChange): Ignore if _ignoreNextStyleAttributeDidChangeEvent
- is set and the attribute is "style".
- 2013-02-22 Timothy Hatcher <timothy@apple.com>
- Minimize the number of times the OverriddenStatusChanged is fired for properties.
- When updating styles, DOMNodeStyles will sometimes temporarily change overridden
- to false only to later change it back to true when it finds the effective property
- in a later style in the cascade. To minimize churn we coalesce these changes and
- only fire the event if the value is different after a delay.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSProperty.js:
- (WebInspector.CSSProperty.prototype.update): Use the setter for overridden
- if we want to fire events.
- (WebInspector.CSSProperty.prototype.set overridden.delayed): Added.
- (WebInspector.CSSProperty.prototype.set overridden): Coalesce changes and
- only fire the event if the end result differs.
- 2013-02-22 Timothy Hatcher <timothy@apple.com>
- Delay firing the PropertiesChanged event so DOMNodeStyles has a chance
- to mark overridden and associated properties.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDeclaration.js:
- (WebInspector.CSSStyleDeclaration.prototype.update.delayed): Added. Fire the event here.
- (WebInspector.CSSStyleDeclaration.prototype.update): Set a timeout and call delayed.
- 2013-02-22 Timothy Hatcher <timothy@apple.com>
- Consider the properties as enabled for computed style declarations.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSProperty.js:
- (WebInspector.CSSProperty.prototype.get enabled): Check for CSSStyleDeclaration.Type.Computed.
- 2013-02-22 Timothy Hatcher <timothy@apple.com>
- Add support for checking if a property has another vendor prefix.
- This will be used to style those properties differently instead of marking
- them as completely invalid. Also fix a regex error in canonicalNameForPropertyName.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSProperty.js:
- (WebInspector.CSSProperty.prototype.update): Delete _hasOtherVendorPrefix.
- (WebInspector.CSSProperty.prototype.hasOtherVendorPrefix): Added.
- * UserInterface/CSSStyleManager.js:
- (WebInspector.CSSStyleManager.prototype.propertyNameHasOtherVendorPrefix): Added.
- (WebInspector.CSSStyleManager.prototype.canonicalNameForPropertyName): Fix the regex
- to check the beginning of the string.
- 2013-02-25 Timothy Hatcher <timothy@apple.com>
- Add effectivePropertyForName to DOMNodeStyles.
- Also mark the longhand properties as effective if the shorthand property is the effective property.
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype.effectivePropertyForName): Added.
- (WebInspector.DOMNodeStyles.prototype._updateStyleCascade): Pass _propertyNameToEffectivePropertyMap
- to _associateRelatedProperties.
- (WebInspector.DOMNodeStyles.prototype._associateRelatedProperties): Set propertyNameToEffectiveProperty
- for the longhand if the related shorthand is effective.
- 2013-02-21 Timothy Hatcher <timothy@apple.com>
- Don't try to add or remove a CSSProperty if the index is wrong.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSProperty.js:
- (WebInspector.CSSProperty.prototype.add): Return early if index is not NaN.
- (WebInspector.CSSProperty.prototype.remove): Return early if index is NaN.
- 2013-02-22 Timothy Hatcher <timothy@apple.com>
- Mark DOMNodesStyles as needing refresh if attributes change on the node.
- Also fix a leak with the CSSStyleSheet.Event.ContentDidChange listener.
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMNode.js:
- (WebInspector.DOMNode.Event.AttributeModified): Added.
- (WebInspector.DOMNode.Event.AttributeRemoved): Added.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles): Listen for AttributeModified and AttributeRemoved events.
- Stop listening for CSSStyleSheet.Event.ContentDidChange globally to avoid a leak.
- (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload): Listen for
- CSSStyleSheet.Event.ContentDidChange on the stylesheet object here.
- (WebInspector.DOMNodeStyles.prototype._parseRulePayload): Ditto.
- (WebInspector.DOMNodeStyles.prototype._attributesDidChange): Added. Mark as needing
- refresh and fire the NeedsRefresh event.
- * UserInterface/DOMTreeManager.js:
- (WebInspector.DOMTreeManager.prototype._attributeModified): Fire the event on DOMNode too.
- (WebInspector.DOMTreeManager.prototype._attributeRemoved): Ditto.
- 2013-02-22 Timothy Hatcher <timothy@apple.com>
- Fix some event listener leaks related to the DOM content view.
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView.prototype.closed): Call close on the DOMTreeOutline.
- Use the new version of removeEventListener by passing null for type and listener.
- * UserInterface/DOMTreeOutline.js:
- (WebInspector.DOMTreeOutline.prototype.close): Added. Call close on the DOMTreeUpdater.
- * UserInterface/DOMTreeUpdater.js:
- (WebInspector.DOMTreeUpdater.prototype.close): Added. Call removeEventListener.
- * UserInterface/Object.js:
- (WebInspector.Object.addEventListener): Prevent registering multiple times.
- (WebInspector.Object.removeEventListener): Handle a null eventType by looping over all
- the registered types. Delete _listeners if the map is empty.
- 2013-02-20 Timothy Hatcher <timothy@apple.com>
- Avoid a crash when changing the text of an inline style.
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype.attributeChanged): Set the style attribute
- on the node when the style is an inline style.
- 2013-02-20 Timothy Hatcher <timothy@apple.com>
- Return early in the CSSProperty and CSSStyleDeclaration setters if the value does not change.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSProperty.js:
- (WebInspector.CSSProperty.prototype.set text): Return early.
- (WebInspector.CSSProperty.prototype.set name): Ditto.
- (WebInspector.CSSProperty.prototype.set value): Ditto.
- (WebInspector.CSSProperty.prototype.set priority): Ditto.
- * UserInterface/CSSStyleDeclaration.js:
- (WebInspector.CSSStyleDeclaration.prototype.set text): Return early.
- 2013-02-20 Timothy Hatcher <timothy@apple.com>
- Properly parse CSSProperty.status and handle when it is missing.
- The Inspector.json documentation was incorrect about this, and has been
- fixed in r143465.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSProperty.js:
- (WebInspector.CSSProperty): Added anonymous parameter.
- (WebInspector.CSSProperty.prototype.update): Ditto.
- (WebInspector.CSSProperty.prototype.get anonymous): Added.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype._parseStylePropertyPayload): Set anonymous
- to true when status is "style". Also default to "style" when status is missing.
- (WebInspector.DOMNodeStyles.prototype._markOverriddenProperties): Skip anonymous
- properties.
- 2013-02-19 Timothy Hatcher <timothy@apple.com>
- Correct and simplify overridden property marking.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSProperty.js:
- (WebInspector.CSSProperty.prototype.isActive): Removed.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype._markOverriddenProperties): Only
- use the propertyNameToEffectiveProperty map to accomplish what we needed
- three maps for before. Only enabled is checked, instead of the old isActive
- function. The isActive function was skipping already overridden properties,
- so repeat calls to _markOverriddenProperties would not work correctly.
- 2013-02-19 Timothy Hatcher <timothy@apple.com>
- Store all properties for inherited styles.
- We need all properties so we can allow editing inherited styles while
- not removing the non-inherited properties when the edits are applied.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSProperty.js:
- (WebInspector.CSSProperty.prototype.update):
- (WebInspector.CSSProperty.prototype.get inherited):
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype.refresh):
- (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
- (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
- (WebInspector.DOMNodeStyles.prototype._markOverriddenProperties):
- 2013-02-19 Timothy Hatcher <timothy@apple.com>
- Properly handle repeat occurrences of the same rule.
- A rule might match multiple times if the selector is generic and matches
- ancestors and has inherited properties.
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype.refresh):
- (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle):
- (WebInspector.DOMNodeStyles.prototype._handlePropertyChange):
- (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
- (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
- 2013-02-19 Timothy Hatcher <timothy@apple.com>
- Add matchedSelectors and matchedSelectorText to CSSRule.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSRule.js:
- (WebInspector.CSSRule.prototype.update): Delete _matchedSelectors and _matchedSelectorText.
- (WebInspector.CSSRule.prototype.get matchedSelectors): Added.
- (WebInspector.CSSRule.prototype.get matchedSelectorText): Added.
- 2013-02-19 Timothy Hatcher <timothy@apple.com>
- Add editable getter to CSSRule.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSRule.js:
- (WebInspector.CSSRule.prototype.get editable): Added.
- (WebInspector.CSSRule.prototype.set selectorText): Return early if not editable
- or if the selectors already match.
- * UserInterface/CSSStyleDeclaration.js:
- (WebInspector.CSSStyleDeclaration.prototype.get editable): Check the rule's editable
- property too.
- 2013-02-19 Timothy Hatcher <timothy@apple.com>
- Add orderedStyles to DOMNodeStyles.
- This will allow the UI to easily display the styles in the right order.
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles): Added _orderedStyles.
- (WebInspector.DOMNodeStyles.prototype.get orderedStyles): Added.
- (WebInspector.DOMNodeStyles.prototype._updateStyleCascade): Store orderedStyles
- on the DOMNodeStyles object and the pseudo element objects.
- 2013-02-19 Timothy Hatcher <timothy@apple.com>
- Store matched rules in reverse order so the most specific rule is first, not last.
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype.refresh.parseRuleMatchArrayPayload):
- Iterate in reverse order to match the cascade order.
- (WebInspector.DOMNodeStyles.prototype.changeRuleSelector.ruleSelectorChanged): Fix a typo.
- (WebInspector.DOMNodeStyles.prototype._parseStylePropertyPayload): Ditto.
- (WebInspector.DOMNodeStyles.prototype._collectStylesInCascadeOrder):
- Iterate in normal order now that they stored in reverse order.
- 2013-02-19 Timothy Hatcher <timothy@apple.com>
- Fix parsing of pseudo styles and inherited inline styles.
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles): Properly
- iterate of the pseudoElementRulesPayload array. Also fix the arguments passed
- to _parseStyleDeclarationPayload. The first argument was 'this', back when
- it was using call().
- 2013-02-19 Timothy Hatcher <timothy@apple.com>
- Store the relevant node on CSSStyleDeclaration.
- The node is useful for inherited styles so we can jump to the
- element the styles are inherited from.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDeclaration.js:
- (WebInspector.CSSStyleDeclaration):
- (WebInspector.CSSStyleDeclaration.prototype.get node): Added.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype.refresh.parseRuleMatchArrayPayload):
- (WebInspector.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles):
- (WebInspector.DOMNodeStyles.prototype.refresh.fetchedInlineStyles):
- (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle):
- (WebInspector.DOMNodeStyles.prototype.refresh):
- (WebInspector.DOMNodeStyles.prototype._handlePropertyChange):
- (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
- (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
- 2013-02-25 Timothy Hatcher <timothy@apple.com>
- Make copy work if there is a CodeMirror editor focused in the sidebar.
- The content view was stealing the copy event and preventing the editor from putting
- anything on the pasteboard. We were also having a focus issue where the console or
- other editor was staying focused after clicking the DOM tree.
- Reviewed by Joseph Pecoraro.
- * UserInterface/EditingSupport.js:
- (WebInspector.isEventTargetAnEditableField): Correct the check to include CodeMirror
- and also only count text input types.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Added focus event listener.
- (WebInspector._focusChanged): Added. Make a caret selection inside the focused element.
- This is needed (at least) to remove caret from console when focus is moved.
- (WebInspector._copy): Only pass along the copy event if the target isn't an editable field.
- 2013-02-19 Timothy Hatcher <timothy@apple.com>
- Don't allow text selection in data grid rows.
- The row selection conflicts with the text range selection.
- Reviewed by Joseph Pecoraro.
- * UserInterface/DataGrid.css:
- (.data-grid td): Removed -webkit-user-select: text.
- 2013-02-26 Antoine Quint <graouts@apple.com>
- <rdar://problem/13265166> Remote inspecting an iOS 6.1 device never has the dashboard timer stop
- Previous to iOS7, we don't get a frameId reported for timeline events. We fallback to using the
- page's loadEventFired event and message the timelineManager to use the reported timestamp
- as the _loadEventTime in case it hadn't already been set.
- Reviewed by Timothy Hatcher.
- * UserInterface/PageObserver.js:
- (WebInspector.PageObserver.prototype.loadEventFired):
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager.prototype.pageDidLoad):
- 2013-02-26 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/11978845> Pressing delete on a file should delete all breakpoints
- Allow TreeOutlines to handle keyboard events on TreeElements if the
- TreeElement hasn't already handled the event. This will allow the
- breakpoint outline to handle delete keys pressed on resources.
- Likewise, allow TreeOutlines to handle context menus on TreeElements
- that don't specifically have a context menu handler. This will allow
- the breakpoint outline to show a context menu for resources.
- Reviewed by Timothy Hatcher.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/DebuggerSidebarPanel.js:
- (WebInspector.DebuggerSidebarPanel):
- (WebInspector.DebuggerSidebarPanel.prototype._breakpointsBeneathTreeElement):
- (WebInspector.DebuggerSidebarPanel.prototype._removeAllBreakpoints):
- (WebInspector.DebuggerSidebarPanel.prototype._toggleAllBreakpoints):
- (WebInspector.DebuggerSidebarPanel.prototype._breakpointTreeOutlineDeleteTreeElement):
- (WebInspector.DebuggerSidebarPanel.prototype.removeAllResourceBreakpoints):
- (WebInspector.DebuggerSidebarPanel.prototype.toggleAllResourceBreakpoints):
- (WebInspector.DebuggerSidebarPanel.prototype._breakpointTreeOutlineContextMenuTreeElement):
- Setup ondelete and oncontextmenu handlers on the breakpoint tree outline.
- The delete action deletes all breakpoints in that resource. The content
- menu action provides a choice to delete or toggle all breakpoints.
- * UserInterface/Breakpoint.js:
- (WebInspector.Breakpoint.prototype.appendContextMenuItems):
- Reorder and rename the context menus to more closely match Xcode.
- * UserInterface/TreeOutline.js:
- (TreeOutline.prototype._treeKeyDown):
- Send common key events up to the tree outline if it implements them.
- * UserInterface/GeneralTreeElement.js:
- (WebInspector.GeneralTreeElement.prototype.onattach.this._boundContextMenuEventHandler):
- (WebInspector.GeneralTreeElement.prototype.onattach):
- Bind a TreeOutline context menu to the individual GeneralTreeElements if the
- specific GeneralTreeElement does not have a context menu handler.
- 2013-02-26 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13299163> Give Breakpoint Tree Elements Context Menus to Delete and Toggle
- Reviewed by Timothy Hatcher.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/Breakpoint.js:
- (WebInspector.Breakpoint.prototype.appendContextMenuItems):
- (WebInspector.Breakpoint.prototype.appendContextMenuItems.removeBreakpoint):
- (WebInspector.Breakpoint.prototype.appendContextMenuItems.toggleBreakpoint):
- Offer context menu items to remove and toggle the breakpoint, if possible.
- 2013-02-26 Joseph Pecoraro <pecoraro@apple.com>
- Update remaining SourceCodeLocation constructors.
- <rdar://problem/11735116> PARITY (WebKit Web Inspector): Missing Source Map support
- Reviewed by Timothy Hatcher.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype._createSourceCodeLocation):
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager.prototype._callFramesFromPayload.createCallFrame):
- (WebInspector.TimelineManager.prototype._callFramesFromPayload):
- 2013-02-26 Joseph Pecoraro <pecoraro@apple.com>
- Update CallFrame displays for SourceMap display locations.
- <rdar://problem/11735116> PARITY (WebKit Web Inspector): Missing Source Map support
- Use the display (mapped) location when available. Multiple editors
- may show the execution line, the original and mapped editors.
- Reviewed by Timothy Hatcher.
- * UserInterface/CallFrameTreeElement.js:
- (WebInspector.CallFrameTreeElement):
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager.prototype._sourceCodeLocationFromPayload):
- * UserInterface/DebuggerSidebarPanel.js:
- (WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected):
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype):
- 2013-02-26 Joseph Pecoraro <pecoraro@apple.com>
- Add isEmptyObject instead of doing Object.keys(foo).length
- In benchmarks of empty, small, and large objects isEmptyObject
- performed better then checking the length of Object.keys. Especially
- for large objects.
- Reviewed by Timothy Hatcher.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype._associateRelatedProperties):
- * UserInterface/LayerTreeSidebarPanel.js:
- (WebInspector.LayerTreeSidebarPanel.prototype._updateDataGrid):
- * UserInterface/RemoteObject.js:
- (WebInspector.LocalJSONObject.prototype.get hasChildren):
- * UserInterface/ResourceDetailsSidebarPanel.js:
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype._removeBreakpointWithEditorLineInfo):
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype._removeBreakpointFromLineAndColumn):
- (WebInspector.TextEditor.prototype):
- * UserInterface/Utilities.js:
- (isEmptyObject):
- 2013-02-26 Joseph Pecoraro <pecoraro@apple.com>
- Get Breakpoints Working with SourceMaps - Line + Column Breakpoint Support.
- <rdar://problem/11735116> PARITY (WebKit Web Inspector): Missing Source Map support
- Previously breakpoints could only appear in a single SourceCodeTextEditor, and
- only one could be placed on a line. After this patch:
- - Breakpoints may show up in multiple editors at the original and mapped locations.
- - Breakpoints effective locations may be on columns. If you set a breakpoint on
- a line in a mapped resource, it may map back to a non-0 column in the original.
- - Multiple breakpoints may be set on a line. If you set a breakpoint on a few
- lines in a mapped resource, they may all map back to the same line in the original
- but just have different column offsets.
- Breakpoints are still set and saved with their original SourceMapLocation locations.
- Reviewed by Timothy Hatcher.
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager.prototype.breakpointsForSourceCode):
- (WebInspector.DebuggerManager.prototype._associateBreakpointsWithSourceCode):
- When looking up breakpoints for a source code, associate them with the source code
- at the same time by setting the Breakpoint's SourceCodeLocation's sourceCode. The
- breakpoints for a SourceMapResource are only those in the originator that have
- a display location inside the mapped resource.
- (WebInspector.DebuggerManager.prototype.reset):
- Disassociate breakpoints on reset, by clearing the SourceCodeLocation's sourceCode.
- (WebInspector.DebuggerManager.prototype._breakpointSourceCodeLocationDidChange):
- Dispatch a new BreakpointMoved event. There were already existing events for
- BreakpointAdded and Removed but not Moved. We add this for convenience, there
- are currently no users though, they all watch the breakpoints source code location.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.setBreakpointInfoForLineAndColumn):
- (WebInspector.TextEditor.prototype._addBreakpointToLineAndColumnWithInfo):
- (WebInspector.TextEditor.prototype._removeBreakpointFromLineAndColumn):
- Update setBreakpointInfo to include line + column numbers.
- (WebInspector.TextEditor.prototype._setBreakpointStylesOnLine.updateStyles):
- (WebInspector.TextEditor.prototype._setBreakpointStylesOnLine):
- Updating breakpoint style now handles multi-breakpoints. For multi-breakpoints
- we only style it as disabled if all breakpoints on that line are disabled.
- Likewise for resolved.
- (WebInspector.TextEditor.prototype._allColumnBreakpointInfoForLine):
- (WebInspector.TextEditor.prototype._setColumnBreakpointInfoForLine):
- Now that a line may have multiple column breakpoints, this is a bulk
- getter and setter used during breakpoint dragging to set the breakpoint
- infos on a line.
- (WebInspector.TextEditor.prototype._gutterMouseDown):
- (WebInspector.TextEditor.prototype._documentMouseMoved):
- (WebInspector.TextEditor.prototype._documentMouseUp):
- Do nothing if clicking on a multi-breakpoint. Otherwise, when dragging
- remember the original breakpoints line and column information. While the
- drag is happening, we are already updating our internal line + column
- information, so in mouse up when notifying delegates we can ignore their
- setBreakpointInfo calls.
- * UserInterface/TextEditor.css:
- (.text-editor > .CodeMirror .has-breakpoint.multiple-breakpoints .CodeMirror-linenumber):
- (.text-editor > .CodeMirror .has-breakpoint.multiple-breakpoints .CodeMirror-linenumber::before):
- Styles for a line with multiple breakpoints. We show a centered white
- ellipsis and hide the line number.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor):
- (WebInspector.SourceCodeTextEditor.prototype.close):
- Now that breakpoints can be added in one editor and affect a different editor
- we must listen for breakpoint added and move (via it's source code location).
- Register for the events in the constructor and clear in close.
- (WebInspector.SourceCodeTextEditor.prototype._editorLineInfoForSourceCodeLocation):
- SourceCodeTextEditors for original resources show their content with original line
- numbers. For mapped resources show their content with display line numbers. So
- whenever we have a sourceCodeLocation, we use this to convert it to the "editor"
- line info, which is just the line + column number for this editor + TextEditor.
-
- (WebInspector.SourceCodeTextEditor.prototype._breakpointForEditorLineInfo):
- (WebInspector.SourceCodeTextEditor.prototype._addBreakpointWithEditorLineInfo):
- (WebInspector.SourceCodeTextEditor.prototype._removeBreakpointWithEditorLineInfo):
- Update addBreakpoint and removeBreakpoint for line + column, instead of just line.
- (WebInspector.SourceCodeTextEditor.prototype._contentWillPopulate):
- (WebInspector.SourceCodeTextEditor.prototype._updateBreakpointStatus):
- (WebInspector.SourceCodeTextEditor.prototype._breakpointAdded):
- (WebInspector.SourceCodeTextEditor.prototype._breakpointRemoved):
- When breakpoints are added, removed update our map, and pass that information
- on to the underlying TextEditor.
- (WebInspector.SourceCodeTextEditor.prototype._updateBreakpointLocation):
- When a breakpoint moves, we need to lookup the breakpoint from its old location.
- The old location is different depending on if we are the editor for the original
- or mapped resource. So work out the correct old location, and pass that
- information and the underlying TextEditor.
- (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointAdded):
- (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointRemoved):
- (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointMoved):
- (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointToggled):
- When the TextEditor modifies a breakpoint, we must update our maps for that
- breakpoint. When we tell the DebuggerManager about the updates, we will
- expect some events to fire to update other editors that might be interested
- in that breakpoint. We can ignore those events ourselves, because we
- just made the change.
- 2013-02-26 Joseph Pecoraro <pecoraro@apple.com>
- Sort Breakpoints in the Debugger Sidebar
- <rdar://problem/11735116> PARITY (WebKit Web Inspector): Missing Source Map support
- Reviewed by Timothy Hatcher.
- * UserInterface/DebuggerSidebarPanel.js:
- (WebInspector.DebuggerSidebarPanel.prototype._addBreakpoint):
- (WebInspector.DebuggerSidebarPanel.prototype._compareTopLevelTreeElements):
- (WebInspector.DebuggerSidebarPanel.prototype._compareBreakpointTreeElements):
- Sort BreakpointsTreeElements (children of Resources) by Line #.
- Sort top level tree elements by title, always placing the special breakpoints at the top.
- 2013-02-26 Joseph Pecoraro <pecoraro@apple.com>
- Give BreakpointTreeElements a ContextMenu to Reveal Original Resource.
- <rdar://problem/11735116> PARITY (WebKit Web Inspector): Missing Source Map support
- Reviewed by Timothy Hatcher.
- * UserInterface/Breakpoint.js:
- (WebInspector.Breakpoint.prototype.appendContextMenuItems):
- Given a context menu, add a show original resource menu item.
- * UserInterface/TreeOutline.js:
- (TreeElement.prototype._detach):
- Add an ondetach event to balance onattach.
- * UserInterface/GeneralTreeElement.js:
- (WebInspector.GeneralTreeElement.prototype.onattach):
- (WebInspector.GeneralTreeElement.prototype.ondetach):
- Manage adding and removing a contextmenu event listener for oncontextmenu.
- * UserInterface/BreakpointTreeElement.js:
- (WebInspector.BreakpointTreeElement.prototype.oncontextmenu):
- Show a ContextMenu with the Breakpoint's menu items.
- 2013-02-26 Joseph Pecoraro <pecoraro@apple.com>
- Make Breakpoint to use a SourceCodeLocation. Update its BreakpointTreeElement display.
- <rdar://problem/11735116> PARITY (WebKit Web Inspector): Missing Source Map support
- This is the start of modifying Breakpoints to use SourceCodeLocation.
- There are remaining users (SourceCodeTextEditor) which will be addressed
- in a following patch. This updates Breakpoint and its display in the sidebar.
- Reviewed by Timothy Hatcher.
- * UserInterface/Breakpoint.js:
- (WebInspector.Breakpoint):
- (WebInspector.Breakpoint.prototype.get sourceCodeLocation):
- (WebInspector.Breakpoint.prototype.get info):
- Update the constructor and serialization to use SourceCodeLocations,
- which includes a line number and column number.
- * UserInterface/BreakpointTreeElement.js:
- (WebInspector.BreakpointTreeElement):
- (WebInspector.BreakpointTreeElement.prototype._updateTitles):
- (WebInspector.BreakpointTreeElement.prototype._updateStatus):
- BreakpointTreeElements always display the display line + column. They
- show the original location as a subtitle.
- (WebInspector.BreakpointTreeElement.prototype._breakpointDisplayLocationDidChange):
- When the breakpoint's display location changes update our titles.
- However, if the breakpoint actually changed resources, then prepare
- for removal. The sidebar will detect this and create a new tree element.
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager):
- (WebInspector.DebuggerManager.prototype.didSetBreakpoint):
- (WebInspector.DebuggerManager.prototype._setBreakpoint):
- Set breakpoints with the breakpoints line + column information.
- * UserInterface/DebuggerSidebarPanel.js:
- (WebInspector.DebuggerSidebarPanel):
- (WebInspector.DebuggerSidebarPanel.prototype._addBreakpoint):
- Simplify now that the breakpoint's SourceCodeLocation already has the
- original SourceCode. Also, create SourceMapResourceTreeElements as needed.
- (WebInspector.DebuggerSidebarPanel.prototype._breakpointRemoved):
- (WebInspector.DebuggerSidebarPanel.prototype._removeBreakpointTreeElement):
- Refactor breakpoint removal code so it can be shared.
- (WebInspector.DebuggerSidebarPanel.prototype._breakpointDisplayLocationDidChange):
- If a breakpoint changes resources remove the old breakpoint tree element
- and add a new one with the new location.
- (WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected):
- Show the display location.
- 2013-02-26 Joseph Pecoraro <pecoraro@apple.com>
- Make Find banner when viewing a SourceMapResource work.
- <rdar://problem/11735116> PARITY (WebKit Web Inspector): Missing Source Map support
- A SourceMapResource can display its content in a SourceCodeTextEditor just
- like regular resources. However, it does not use the backend to search
- it's contents, because its contents are all loaded by the frontend. Give
- customPerformSearch a return value saying whether or not it was handled.
- If not handled, we fall back to CodeMirror's text search, which works fine.
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype.customPerformSearch):
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.performSearch):
- If the customPerformSearch returns false, then the custom search did
- not handle the search, and we fallback to the default CodeMirror search.
- 2013-02-26 Joseph Pecoraro <pecoraro@apple.com>
- Make SourceCodeLocation provide raw and mapped locations.
- <rdar://problem/11735116> PARITY (WebKit Web Inspector): Missing Source Map support
- SourceCodeLocation automatically provide original (raw) and mapped (display)
- source code locations. It's API requires that it be constructed with the raw
- source code and location information, which is automated by using
- SourceCode.prototype.createSourceCodeLocation, passing a lineNumber and
- columnNumber for the source code that you're invoking the method on.
- All uses of SourceCodeLocation will be audited and updated in later patches,
- this patch includes just the core SourceCodeLocation uses.
- Reviewed by Timothy Hatcher.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.showSourceCode):
- (WebInspector.ResourceSidebarPanel.prototype.showSourceCodeLocation):
- (WebInspector.ResourceSidebarPanel.prototype.showOriginalSourceCodeLocation):
- By default, when showing any location we want to show it's display location,
- which will be the source map resource if there is one, otherwise the raw resource.
- If needed, there is a way to explicitly show the original source code location.
- * UserInterface/SourceCode.js:
- (WebInspector.SourceCode.prototype.createSourceCodeLocation):
- Default implementation, just use the given line and column number.
- * UserInterface/SourceMapResource.js:
- (WebInspector.SourceMapResource.prototype.createSourceCodeLocation):
- Mapped resource. Reverse lookup the raw line and column. Adjust if
- needed for inline <script> offsets. And construct the SourceCodeLocation
- with the raw values.
- * UserInterface/SourceCodeLocation.js:
- (WebInspector.SourceCodeLocation):
- (WebInspector.SourceCodeLocation.prototype.get sourceCode):
- (WebInspector.SourceCodeLocation.prototype.get lineNumber):
- (WebInspector.SourceCodeLocation.prototype.get columnNumber):
- This is the raw location data.
- (WebInspector.SourceCodeLocation.prototype.hasMappedLocation):
- (WebInspector.SourceCodeLocation.prototype.get displaySourceCode):
- (WebInspector.SourceCodeLocation.prototype.get displayLineNumber):
- (WebInspector.SourceCodeLocation.prototype.get displayColumnNumber):
- If we have a mapped location, use that. Otherwise use the raw location.
- (WebInspector.SourceCodeLocation.prototype.update):
- If a user of a SourceCodeLocation wants to update the location there
- are restrictions. The updated location must be either the raw resource
- or the mapped resource. SourceCodeLocation then does the rest, and
- updates its internal values and dispatches events appropriately.
- (WebInspector.SourceCodeLocation.prototype.set sourceCode):
- There are cases where the inspector (Breakpoints) which may want to keep
- around a line/column SourceCodeLocation but without an associated
- SourceCode. Setting the source code to null will make this a dumb
- location, and setting it to a source code will update appropriately.
- (WebInspector.SourceCodeLocation.prototype._resetMappedLocation):
- (WebInspector.SourceCodeLocation.prototype._setMappedLocation):
- (WebInspector.SourceCodeLocation.prototype._resolveMappedLocation):
- We lazily resolve the mapped location when needed. In cases where
- a SourceCodeLocation is created from a SourceMapResource the mapped
- location is already known and can be set directly.
- (WebInspector.SourceCodeLocation.prototype._makeChangeAndDispatchChangeEventIfNeeded):
- Clients of SourceCodeLocation may want to update their display if
- a source map was added and a new better location is available. We
- provide events for any change, or just display location changes.
- (WebInspector.SourceCodeLocation.prototype._sourceCodeSourceMapAdded):
- Whenever the raw resource adds a source map check if there was a
- display location change.
- 2013-02-26 Joseph Pecoraro <pecoraro@apple.com>
- Show SourceMapResources in the Resources Sidebar
- <rdar://problem/11735116> PARITY (WebKit Web Inspector): Missing Source Map support
- SourceMapResources are added to the Resources Sidebar as children
- of the originator Resource. So if a Script has a SourceMap with
- multiple inputs, there will be a disclosure triangle by the Script
- and you can see the original resources for that Script.
- Since both Resources and Scripts can have SourceMapChildren this
- patch refactors both of those TreeElement classes to extend from a
- common SourceCodeTreeElement class that manages the new
- SourceMapResourceTreeElement children.
- FrameTreeElements, special subclasses of ResourceTreeElements and
- thus SourceCodeTreeElements handle their own source map resource
- children. This is so that SourceMapResources for <script>s in the
- frame are placed along with that frame's same typed resources.
- SourceMapResources that are scripts will be in the Scripts folder,
- or no folder if the frame has only a few resources.
- Reviewed by Timothy Hatcher.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel):
- A TreeOutline must opt-in to displaying source map tree elements
- for resources. We only show source map children of resources in the
- main resource tree outline. We will not show them in the search
- results tree outline or breakpoints tree outline.
- * UserInterface/GeneralTreeElement.js:
- (WebInspector.GeneralTreeElement.prototype.callFirstAncestorFunction):
- Move this code from ResourceTreeElement to General. It is useful.
- * UserInterface/SourceCodeTreeElement.js: Added.
- (WebInspector.SourceCodeTreeElement):
- (WebInspector.SourceCodeTreeElement.prototype.updateSourceMapResources):
- (WebInspector.SourceCodeTreeElement.prototype.onattach):
- (WebInspector.SourceCodeTreeElement.prototype.onpopulate):
- (WebInspector.SourceCodeTreeElement.prototype.descendantResourceTreeElementTypeDidChange):
- (WebInspector.SourceCodeTreeElement.prototype._updateSourceCode):
- Common superclass for Script and Resource TreeElements. This manages the
- child source map resources. Sorts them, and replaces them when they change.
- * UserInterface/ResourceTreeElement.js:
- (WebInspector.ResourceTreeElement):
- (WebInspector.ResourceTreeElement.compareResourceTreeElements): Common comparison.
- (WebInspector.ResourceTreeElement.prototype._updateResource):
- (WebInspector.ResourceTreeElement.prototype._updateTitles):
- (WebInspector.ResourceTreeElement.prototype._typeDidChange):
- * UserInterface/ScriptTreeElement.js:
- (WebInspector.ScriptTreeElement):
- Refactor as subclasses of SourceCodeTreeElement.
- * UserInterface/SourceMapResourceTreeElement.js: Added.
- (WebInspector.SourceMapResourceTreeElement):
- (WebInspector.SourceMapResourceTreeElement.prototype.onattach):
- (WebInspector.SourceMapResourceTreeElement.prototype._updateTitles):
- A SourceMapResourceTreeElement is very simple. It adds a style class to
- get unique icons, lazy loads on attach, and since it doesn't have a
- parent frame it uses it's originator's host to display a subtitle if
- it is loaded from a different origin.
- * UserInterface/FrameTreeElement.js:
- (WebInspector.FrameTreeElement.prototype.updateSourceMapResources):
- (WebInspector.FrameTreeElement.prototype.onattach):
- (WebInspector.FrameTreeElement.prototype.onpopulate):
- (WebInspector.FrameTreeElement.prototype._updateParentStatus):
- (WebInspector.FrameTreeElement.prototype._addTreeElementForRepresentedObject):
- (WebInspector.FrameTreeElement.prototype._insertResourceTreeElement):
- Handle our own SourceMapResource children in onpopulate and addTreeElement paths.
- * UserInterface/Main.html:
- * UserInterface/ResourceIcons.css:
- (.source-map-resource.resource-icon .icon):
- (.source-map-resource.resource-icon.resource-type-script .icon):
- * UserInterface/Images/ClippingGeneric.png: Added.
- * UserInterface/Images/ClippingGeneric@2x.png: Added.
- Add new files, images, and styles to trigger the images.
- 2013-02-26 Joseph Pecoraro <pecoraro@apple.com>
- Download SourceMaps and create SourceMapResources.
- <rdar://problem/11735116> PARITY (WebKit Web Inspector): Missing Source Map support
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceMap.js:
- (WebInspector.SourceMap):
- (WebInspector.SourceMap.prototype.get originalSourceCode):
- (WebInspector.SourceMap.prototype.get resources):
- (WebInspector.SourceMap.prototype.addResource):
- (WebInspector.SourceMap.prototype.resourceForURL):
- Give a SourceMap references to the SourceCode that originally requested
- it, and the SourceMapResources created for the input sources.
- * UserInterface/SourceMapResource.js: Added.
- (WebInspector.SourceMapResource):
- (WebInspector.SourceMapResource.prototype.get sourceMap):
- A SourceMapResource is a Resource subclass with no loading information.
- It has a reference to the SourceMap that it belongs to.
- (WebInspector.SourceMapResource.prototype.canRequestContentFromBackend):
- (WebInspector.SourceMapResource.prototype.requestContentFromBackend):
- The content is loaded on demand. Normal requests for SourceCode content
- goes through SourceCode.prototype.requestContent. Since the content is
- loaded on demand, the type and data are filled in after content is
- requested, and we fire normal Resource events, like Type changed.
- * UserInterface/Resource.js:
- (WebInspector.Resource.prototype.markAsFinished):
- Don't request content if we can't / shouldn't request content from the
- backend. Normally resources load their content as soon as they finish
- loading. However SourceMapResources load their content and then mark
- as finished. Without this we would get a harmless assert.
- * UserInterface/SourceCode.js:
- (WebInspector.SourceCode):
- (WebInspector.SourceCode.prototype.get sourceMaps):
- (WebInspector.SourceCode.prototype.addSourceMap):
- Any SourceCode resource can have a set of source maps. In the common case,
- a Script will have a single source map. However a Document resource map
- have multiple sourceMaps for different inline <script> sections.
- * UserInterface/DebuggerObserver.js:
- (WebInspector.DebuggerObserver.prototype.scriptParsed):
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager.prototype.scriptDidParse):
- The SourceMap resource's url comes in from scriptDidParse. Pass it on
- eventually to the Script constructor.
- * UserInterface/Script.js:
- (WebInspector.Script):
- If we have a source map URL, load and parse the source map.
- * UserInterface/SourceMapManager.js: Added.
- (WebInspector.SourceMapManager):
- (WebInspector.SourceMapManager.prototype.sourceMapForURL):
- (WebInspector.SourceMapManager.prototype.downloadSourceMap):
- (WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):
- (WebInspector.SourceMapManager.prototype._loadAndParseFailed):
- (WebInspector.SourceMapManager.prototype._loadAndParseSucceeded):
- (WebInspector.SourceMapManager.prototype._mainResourceDidChange):
- A global set of SourceMaps by url. This prevents multiple downloads of
- the same source map. The map is cleared on main resource changes.
- * UserInterface/Main.html:
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- Add new files and instantiate the new manager singleton.
- 2013-02-26 Joseph Pecoraro <pecoraro@apple.com>
- Add parts of SourceMap.js from OpenSource.
- <rdar://problem/11735116> PARITY (WebKit Web Inspector): Missing Source Map support
- This parses a v3 SourceMap file. The spec is linked at the top.
- SourceMap.js comes from OpenSource's frontend/SourceMap.js.
- Reviewed by Timothy Hatcher.
- * UserInterface/Main.html:
- * UserInterface/SourceMap.js: Added.
- (WebInspector.SourceMap):
- (WebInspector.SourceMap.prototype.sources):
- (WebInspector.SourceMap.prototype.sourceContent):
- (WebInspector.SourceMap.prototype._parseMappingPayload):
- (WebInspector.SourceMap.prototype._parseSections):
- (WebInspector.SourceMap.prototype._parseMap):
- (WebInspector.SourceMap.prototype._isSeparator):
- (WebInspector.SourceMap.prototype._decodeVLQ):
- (WebInspector.SourceMap.StringCharIterator):
- (WebInspector.SourceMap.StringCharIterator.prototype.next):
- (WebInspector.SourceMap.StringCharIterator.prototype.peek):
- (WebInspector.SourceMap.StringCharIterator.prototype.hasNext):
- (WebInspector.PositionBasedSourceMap):
- (WebInspector.PositionBasedSourceMap.prototype.findEntry):
- (WebInspector.PositionBasedSourceMap.prototype.findEntryReversed):
- (WebInspector.PositionBasedSourceMap.prototype._parseMap):
- 2013-02-26 Joseph Pecoraro <pecoraro@apple.com>
- Only allow left clicks on the gutter / dragging breakpoints.
- Reviewed by Ricky Mondello.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype):
- Bail if the mouse down button is not the left button.
- 2013-02-26 Joseph Pecoraro <pecoraro@apple.com>
- Remove unused ContextMenu soft menu code.
- Rubber-stamped by Ricky Mondello.
- * UserInterface/ContextMenu.js:
- 2013-02-21 Joseph Pecoraro <pecoraro@apple.com>
- Standardize on "Event" not "Events". There were a few outliers.
- Reviewed by Brian Weinstein.
- * UserInterface/DatabaseContentView.js:
- (WebInspector.DatabaseContentView.prototype._queryFinished):
- * UserInterface/StylePropertyTreeElement.js:
- (WebInspector.StylePropertyTreeElement.prototype):
- * UserInterface/TextPrompt.js:
- (WebInspector.TextPrompt.prototype.applySuggestion):
- (WebInspector.TextPrompt.prototype.acceptSuggestion):
- 2013-02-19 Jeff Miller <jeffm@apple.com>
- Regenerate localizedStrings.js after recent changes.
- * Localizations/en.lproj/localizedStrings.js:
- Regenerated.
- 2013-02-18 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13232839> Show Error Console (Option+Cmd+C) should always put keyboard focus in the console
- The keyboard shortcut already existed, but if used to open the inspector
- the focus was getting stolen away by other elements with tabindex and
- the DOM Tree. Fix this so focus is not stolen away. As an added bonus
- the console now keeps its focus across page reloads and navigations.
- Reviewed by Antoine Quint.
- * UserInterface/InspectorFrontendAPI.js:
- (InspectorFrontendAPI.showConsole):
- When the keyboard shortcut is triggered, focus the quick console. If
- the page is still loading, we will need to focus again because other
- elements with tabindex may steal focus away from the console prompt.
- * UserInterface/Main.js:
- (WebInspector.isConsoleFocused):
- Global accessor for whether or not the console is focused.
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView.prototype.shown):
- When showing a the DOMTreeOutline, never steal focus from the console.
- (WebInspector.DOMTreeContentView.prototype._rootDOMNodeAvailable.selectNode):
- When the root dom node changes and we reveal and select an element,
- never steal focus from the console.
- * UserInterface/DOMTreeOutline.js:
- (WebInspector.DOMTreeOutline.prototype.setVisible):
- Provide an optional omitFocus parameter to pass on. It already exists below.
- 2013-02-18 Joseph Pecoraro <pecoraro@apple.com>
- Move .indeterminate-progress-spinner from resources only to all content views.
- ScriptContentViews also use spinners, and they were not getting the
- proper styling if you were fast enough to see it!
- Reviewed by Brian Weinstein.
- * UserInterface/ContentView.css: Renamed from WebInspector/UserInterface/ResourceContentView.css.
- (.content-view > .indeterminate-progress-spinner):
- * UserInterface/Main.html:
- 2013-02-18 Joseph Pecoraro <pecoraro@apple.com>
- Hide the Image Size section for Image resources if the load failed.
- Reviewed by Brian Weinstein.
- * UserInterface/ResourceDetailsSidebarPanel.js:
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshImageSizeSection):
- Don't show an empty image size section if the image failed to load.
- 2013-02-16 Joseph Pecoraro <pecoraro@apple.com>
- Accidentally added some code referencing SourceMapResource before it was added.
- Unreviewed cleanup.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.cookieForContentView):
- 2013-02-18 Antoine Quint <graouts@apple.com>
- <rdar://problem/13180267> REGRESSION: Reload button is no longer visible in the Web Inspector
- Make the ResourceTreeElement's "status" property a reload button in case we're
- dealing with the main resource of the main frame.
- Reviewed by Joseph Pecoraro.
- * UserInterface/Images/Reload.pdf: Removed.
- * UserInterface/Images/Reload.svg: Added.
- * UserInterface/Images/ReloadSelected.svg: Added.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- * UserInterface/ResourceTreeElement.css:
- (.item.resource-type-document > .status > .reload-button):
- (.item.resource-type-document.selected > .status > .reload-button):
- * UserInterface/ResourceTreeElement.js:
- (WebInspector.ResourceTreeElement.prototype.get reloadButton):
- (WebInspector.ResourceTreeElement.prototype._updateResource):
- (WebInspector.ResourceTreeElement.prototype._updateStatus):
- (WebInspector.ResourceTreeElement.prototype._reloadPageClicked):
- 2013-02-15 Joseph Pecoraro <pecoraro@apple.com>
- Double clicking the disclosure triangle for a TreeElement should not
- trigger the ondblclick for the element.
- This will be more possible once we add SourceMaps, but it is currently
- possible right now with the Main Resource's disclosure triangle.
- Reviewed by Dean Jackson.
- * UserInterface/TreeOutline.js:
- (TreeElement.treeElementDoubleClicked):
- 2013-02-15 Joseph Pecoraro <pecoraro@apple.com>
- We don't need to check the entire string when we mean to check just the
- first character. Convert an indexOf to charAt(0).
- Reviewed by Timothy Hatcher.
- * UserInterface/FrameTreeElement.js:
- (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders):
- 2013-02-15 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13226395> Multiline console.asserts in ResourceSidebarPanel.js not getting stripped
- Reviewed by Timothy Hatcher.
- * Scripts/remove-console-asserts.pl:
- For safety, keep the script reading line by line and warn if there is
- a console.assert that was not stripped. This almost always means the
- assert spanned multiple lines.
- * UserInterface/ResourceSidebarPanel.js:
- Converted multi-line asserts to a single line.
- 2013-02-15 Joseph Pecoraro <pecoraro@apple.com>
- Manually running remove-console-asserts.pl was failing on rename.
- Change instead to File::move from the File::copy module and
- report errors if they happen.
- Reviewed by Timothy Hatcher.
- * Scripts/remove-console-asserts.pl:
- 2013-02-15 Timothy Hatcher <timothy@apple.com>
- Fix exceptions caused by my earlier InspectorBackendCommands change.
- Unreviewed.
- * UserInterface/DOMStorageObserver.js:
- (WebInspector.DOMStorageObserver.prototype.domStorageItemsCleared): Call
- updateDOMStorage instead of domStorageUpdated.
- (WebInspector.DOMStorageObserver.prototype.domStorageItemRemoved): Ditto.
- (WebInspector.DOMStorageObserver.prototype.domStorageItemAdded): Ditto.
- (WebInspector.DOMStorageObserver.prototype.domStorageItemUpdated): Ditto.
- 2013-02-15 Jessie Berlin <jberlin@apple.com>
- Ran update-safari-localizable-strings.
- * Localizations/en.lproj/localizedStrings.js:
- 2013-02-15 Timothy Hatcher <timothy@apple.com>
- Update InspectorBackendCommands.js for the latest protocol changes.
- Reviewed by Antoine Quint.
- * UserInterface/CSSObserver.js:
- (WebInspector.CSSObserver.prototype.styleSheetAdded): Added.
- (WebInspector.CSSObserver.prototype.styleSheetRemoved): Added.
- * UserInterface/CookieStorageContentView.js:
- (WebInspector.CookieStorageContentView.prototype._deleteCallback): Pass both domain and url.
- * UserInterface/DOMStorageObserver.js:
- (WebInspector.DOMStorageObserver.prototype.updateDOMStorage): Renamed from domStorageUpdated.
- (WebInspector.DOMStorageObserver.prototype.domStorageItemsCleared): Added.
- (WebInspector.DOMStorageObserver.prototype.domStorageItemRemoved): Added.
- (WebInspector.DOMStorageObserver.prototype.domStorageItemAdded): Added.
- (WebInspector.DOMStorageObserver.prototype.domStorageItemUpdated): Added.
- * UserInterface/DOMTreeManager.js:
- (WebInspector.DOMTreeManager.prototype.highlightDOMNode): Use invoke since the argument
- order changed and objectId is an optional argument we don't use.
- * UserInterface/InspectorBackend.js:
- (InspectorBackendClass.prototype.reportProtocolError): Log the whole error, not just the message.
- * UserInterface/InspectorBackendCommands.js: Updated from OpenSource r142992.
- * UserInterface/InspectorObserver.js:
- (WebInspector.InspectorObserver.prototype.detached): Added.
- * UserInterface/PageObserver.js:
- (WebInspector.PageObserver.prototype.javascriptDialogOpening): Added.
- (WebInspector.PageObserver.prototype.javascriptDialogClosed): Added.
- (WebInspector.PageObserver.prototype.scriptsEnabled): Added.
- 2013-02-15 Antoine Quint <graouts@apple.com>
- <rdar://problem/13207008> Allow toggling showing shadow trees with a button in the DOM Tree navigation bar
- We do a few things in this patch:
- 1. We move the existing compositing borders navigation item from
- FrameContentView to DOMTreeContentView.
- 2. We add a new navigation item on DOMTreeContentView to toggle
- shadow tree DOM nodes.
- 3. We make ClusterContentView return its current content view's
- navigation items in the navigationItems accessor since otherwise
- the DOMTreeContentView navigation items wouldn't get picked up.
- 4. We add a new event to notify when a ContentView's navigation
- items have changed so that they may be picked up by the ContentBrowser.
- Reviewed by Timothy Hatcher.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/ClusterContentView.js:
- (WebInspector.ClusterContentView.prototype.get navigationItems):
- (WebInspector.ClusterContentView.prototype._currentContentViewDidChange):
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser):
- (WebInspector.ContentBrowser.prototype._contentViewNavigationItemsDidChange):
- * UserInterface/ContentView.js:
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView):
- (WebInspector.DOMTreeContentView.prototype.get navigationItems):
- (WebInspector.DOMTreeContentView.prototype.shown):
- (WebInspector.DOMTreeContentView.prototype._mouseWasClicked):
- (WebInspector.DOMTreeContentView.prototype._toggleCompositingBorders):
- (WebInspector.DOMTreeContentView.prototype._updateCompositingBordersButtonToMatchPageSettings):
- (WebInspector.DOMTreeContentView.prototype._showShadowDOMSettingChanged):
- (WebInspector.DOMTreeContentView.prototype._toggleShowsShadowDOMSetting):
- * UserInterface/FrameContentView.js:
- (WebInspector.FrameContentView.prototype.shown):
- (WebInspector.FrameContentView.prototype._pathComponentSelected):
- * UserInterface/Images/ShadowDOM.pdf: Added.
- 2013-02-15 Antoine Quint <graouts@apple.com>
- <rdar://problem/13026376> Layers sidebar panel should show layers associated with any descendant node
- Use the DOM hierarchy to compile a list of layers associated with any
- descendant of the node passed to LayerTreeManager's layersForNode()
- method.
- Reviewed by Timothy Hatcher.
- * UserInterface/LayerTreeManager.js:
- (WebInspector.LayerTreeManager.prototype.get flatLayerTree): New getter
- to make it much easier to debug issues with the LayerTreeManager so we
- get the flat list of all known layers from the console.
- (WebInspector.LayerTreeManager.prototype.layersForNode):
- (WebInspector.LayerTreeManager.prototype.):
- (WebInspector.LayerTreeManager.prototype._flattenedLayerTree):
- (WebInspector.LayerTreeManager.prototype._obtainNodeIdsForLayerIds):
- (WebInspector.LayerTreeManager.prototype._layersForDescendantsOfNode):
- 2013-02-15 Antoine Quint <graouts@apple.com>
- <rdar://problem/13223597> Dashboard resources size may be only partial
- Wait until we've gotten an event indicating we're loading the main
- resource to start tracking sizes.
- Reviewed by Timothy Hatcher.
- * UserInterface/DashboardManager.js:
- (WebInspector.DashboardManager):
- (WebInspector.DashboardManager.prototype._mainResourceDidChange):
- (WebInspector.DashboardManager.prototype._startUpdatingTime):
- 2013-02-15 Antoine Quint <graouts@apple.com>
- <rdar://problem/13217869> Dashboard: LCD timer does not update when going back/forward
- Don't forget to kill any previously running timer when a new page loads
- and reset the time reported in the dashboard to 0 before starting the
- new timer.
- Reviewed by Timothy Hatcher.
- * UserInterface/DashboardManager.js:
- (WebInspector.DashboardManager.prototype._mainResourceDidChange):
- 2013-02-15 Antoine Quint <graouts@apple.com>
- <rdar://problem/13207017> Nodes hosted in shadow trees should not be disregarded when "show-shadow-dom" setting is off
- We used to only deal with the "show-shadow-dom" setting as immutable and
- would simply not create DOMNodes for payloads with shadow roots in case
- the setting was false (the default). However, we would run in a situation
- where the backend could push nodes that were part of a shadow tree,
- regardless of the setting, and the parentId for the node would not be
- referenced in the DOMTreeManager's _idToDOMNode map which would eventually
- yield an error when handling setChildNodes payloads and break any further
- DOM interaction in the inspector. This kind of case happened quite often
- when the LayerTreeManager would get composted layers that were part of
- an <input> element, <video> element, etc.
- We now switch to a system where the "show-shadow-dom" setting can be changed
- at any time and we reflect the correct state in the DOMTreeOutline. Since
- the DOMTreeOutline bases its representation on the data represented by
- DOMNode instances, we make the "firstChild", "lastChild", "previousSibling",
- "nextSibling" and "children" properties getters and dynamically check whether
- child nodes hosted in shadow roots should be ignored.
- We only build the filtered children list in the case where we shouldn't
- show shadow roots and we've identified through a call to _renumber() that
- the filtered list needed updating. The filtered list is then cached until
- the next time it needs updating.
- We also make the "childNodeCount" property use a getter / setter as it was
- being accessed using the ivar from outside the DOMNode class and it would
- not reflect whether shadow roots should be reported as children.
- Then, we move the setting to be a shared setting on the global WebInspector
- object and track changes to it, updating all nodes in the DOMTreeOutline
- when the change happens.
- Further fixes will ensure we refresh the layer tree when the setting changes,
- and teach the LayerTreeManager to ignore layers attached to nodes in shadow
- roots when the setting is to hide shadow nodes. Another fix will be to provide
- a button to toggle that setting in the DOM tree's navigation bar in lieu of
- a contextual menu item.
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMNode.js:
- (WebInspector.DOMNode):
- (WebInspector.DOMNode.prototype.get firstChild):
- (WebInspector.DOMNode.prototype.get lastChild):
- (WebInspector.DOMNode.prototype.get nextSibling):
- (WebInspector.DOMNode.prototype.get previousSibling):
- (WebInspector.DOMNode.prototype.get childNodeCount):
- (WebInspector.DOMNode.prototype.set childNodeCount):
- (WebInspector.DOMNode.prototype.hasChildNodes):
- (WebInspector.DOMNode.prototype.hasShadowRoots):
- (WebInspector.DOMNode.prototype._insertChild):
- (WebInspector.DOMNode.prototype._removeChild):
- (WebInspector.DOMNode.prototype._setChildrenPayload):
- (WebInspector.DOMNode.prototype._renumber):
- * UserInterface/DOMTreeElement.js:
- (WebInspector.DOMTreeElement.prototype.handleLoadAllChildren):
- * UserInterface/DOMTreeManager.js:
- (WebInspector.DOMTreeManager.prototype._childNodeCountUpdated):
- * UserInterface/DOMTreeOutline.js:
- (WebInspector.DOMTreeOutline):
- (WebInspector.DOMTreeOutline.prototype.populateContextMenu):
- (WebInspector.DOMTreeOutline.prototype._toggleShowShadowDOM):
- (WebInspector.DOMTreeOutline.prototype._showShadowDOMSettingChanged):
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- 2013-02-14 Timothy Hatcher <timothy@apple.com>
- Switch to the new flexbox model for significantly faster layout times.
- <rdar://problem/13206930> REGRESSION: Layout time in the Web Inspector
- is 1.21x longer compared to Safari 6
- Reviewed by Simon Fraser.
- * UserInterface/TextPrompt.js:
- (WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPosition): Make sure to absolute position
- the element when measuring in the body to avoid flexbox layout.
- * UserInterface/HierarchicalPathNavigationItem.js:
- (WebInspector.HierarchicalPathNavigationItem.prototype.set components): Use updateLayout instead
- of updateLayoutSoon. Delaying the layout causes a visual flash of wrapped items.
- * UserInterface/ButtonToolbarItem.css: Replaced -webkit-box with -webkit-flex.
- Replaced -webkit-box-flex with -webkit-flex. Replaced -webkit-box-orient: vertical
- with -webkit-flex-direction: column. Replaced -webkit-box-orient: horizontal with
- -webkit-flex-direction: row. Replaced -webkit-box-align: center with -webkit-align-items: center.
- Replaced -webkit-box-pack: center with -webkit-justify-content: center. Replaced
- -webkit-box-pack: start with -webkit-justify-content: flex-start. Replaced -webkit-box-pack: end
- with -webkit-justify-content: flex-end.
- * UserInterface/ContentBrowser.css: Ditto.
- * UserInterface/ControlToolbarItem.css: Ditto.
- * UserInterface/DashboardView.css: Ditto.
- * UserInterface/FilterBar.css: Ditto.
- * UserInterface/FlexibleSpaceNavigationItem.css: Ditto.
- * UserInterface/FontResourceContentView.css: Ditto.
- * UserInterface/ImageResourceContentView.css: Ditto.
- * UserInterface/LayerTreeSidebarPanel.css: Ditto.
- * UserInterface/Main.css: Ditto.
- * UserInterface/NavigationSidebarPanel.css: Ditto.
- * UserInterface/Popover.css: Ditto.
- * UserInterface/QuickConsole.css: Ditto.
- * UserInterface/ResourceSidebarPanel.css: Ditto.
- * UserInterface/Toolbar.css: Ditto.
- * UserInterface/HierarchicalPathComponent.css: Ditto.
- Plus added min-width: 0 in a couple places to get proper shrinking.
- * UserInterface/NavigationBar.css: Ditto.
- Plus added -webkit-flex-wrap: wrap in a couple places to get proper measuring in JavaScript.
- 2013-02-14 Antoine Quint <graouts@apple.com>
- <rdar://problem/13200858> Popovers can draw their background twice
- Since the canvas context may be the very same context across
- presentations of the popover, ensure that we restore the default
- state after we're done drawing so that the previous clip path
- is removed.
- We also clear the drawing region so that we don't get remnants
- of the previously drawn frame in case the frame size is the same
- as for the previous popover presentation.
- Reviewed by Timothy Hatcher.
- * UserInterface/Popover.js:
- (WebInspector.Popover.prototype._drawBackground):
- 2013-02-14 Antoine Quint <graouts@apple.com>
- <rdar://problem/13192982> Debugger popovers should line-up arrow to match hovered token
- Use the token's bounds rather than the expression's bounds
- to present the popover.
- Reviewed by Timothy Hatcher.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype._checkHoveredToken):
- 2013-02-14 Antoine Quint <graouts@apple.com>
- <rdar://problem/13209159> Dashboard load timer starts over when recording in the Timeline manually
- Instead of starting the timer upon starting recording the timeline, use the
- WebInspector.Frame.Event.MainResourceDidChange event to track load of the
- main frame only since it's the load of the main frame that we're showing
- the time for in the dashboard.
- Reviewed by Timothy Hatcher.
- * UserInterface/DashboardManager.js:
- (WebInspector.DashboardManager):
- (WebInspector.DashboardManager.prototype._mainResourceDidChange):
- 2013-02-13 Timothy Hatcher <timothy@apple.com>
- Don't fire WebInspector.QuickConsole.Event.DidResize if nothing changed.
- Part of: <rdar://problem/12745890> Autocomplete slows down my typing in the Web Inspector console while debugging
- Reviewed by Antoine Quint.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole.prototype._updateSize): Only change the style and fire the event
- if the height of the toolbar or element changed.
- 2013-02-12 Timothy Hatcher <timothy@apple.com>
- Speed up selection of deeply nested DOM nodes.
- <rdar://problem/13201584> UI updates after selecting elements is very slow
- Reviewed by Joseph Pecoraro.
- * UserInterface/HierarchicalPathNavigationItem.js:
- (WebInspector.HierarchicalPathNavigationItem.prototype.updateLayout): Remove a offsetWidth
- from a loop that also sets style info.
- 2013-02-12 Timothy Hatcher <timothy@apple.com>
- Treat an empty URL for frames as "about:blank" for the special empty page.
- Reviewed by Joseph Pecoraro.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype._createFrame):
- 2013-02-13 Antoine Quint <graouts@apple.com>
- <rdar://problem/13193125> Debugger popovers don't appear for boolean values
- Don't forget to handle boolean values for the debugger popover.
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype.tokenWasHovered.populate):
- (WebInspector.SourceCodeTextEditor.prototype.tokenWasHovered):
- (WebInspector.SourceCodeTextEditor.prototype._showPopoverForBoolean):
- 2013-02-12 Jessie Berlin <jberlin@apple.com>
- Ran update-safari-localizable-strings.
- Reviewed by Cody Krieger.
- * Localizations/en.lproj/localizedStrings.js:
- Updated by the script.
- 2013-02-11 Timothy Hatcher <timothy@apple.com>
- Add support for computed style.
- <rdar://problem/7206272&12526319>
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSProperty.js:
- (WebInspector.CSSProperty.prototype.set text): Return early if not editable.
- (WebInspector.CSSProperty.prototype.set name): Ditto.
- (WebInspector.CSSProperty.prototype.get canonicalName): Use CSSStyleManager.canonicalNameForPropertyName.
- (WebInspector.CSSProperty.prototype.set value): Return early if not editable.
- (WebInspector.CSSProperty.prototype.set priority): Ditto.
- (WebInspector.CSSProperty.prototype.set enabled): Ditto.
- (WebInspector.CSSProperty.prototype.add): Ditto.
- (WebInspector.CSSProperty.prototype.remove): Ditto.
- * UserInterface/CSSStyleDeclaration.js:
- (WebInspector.CSSStyleDeclaration):
- (WebInspector.CSSStyleDeclaration.prototype.get editable): Added.
- (WebInspector.CSSStyleDeclaration.prototype.update): Store the property in a map if we aren't editable.
- (WebInspector.CSSStyleDeclaration.prototype.addProperty): Return early if not editable.
- (WebInspector.CSSStyleDeclaration.prototype.removeProperty): Ditto.
- (WebInspector.CSSStyleDeclaration.prototype.propertyForName): Use property map if not editable.
- * UserInterface/CSSStyleManager.js:
- (WebInspector.CSSStyleManager.prototype.canonicalNameForPropertyName): Added. Moved from CSSProperty.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles):
- (WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle): Added. Moved the finish here.
- (WebInspector.DOMNodeStyles.prototype.get computedStyle): Added.
- (WebInspector.DOMNodeStyles.prototype._parseStylePropertyPayload): Handle NaN index better.
- (WebInspector.DOMNodeStyles.prototype._updateStyleCascade): Use an external effective property map for
- the main element styles.
- (WebInspector.DOMNodeStyles.prototype._markOverriddenProperties): Use an external effective property map
- if one is passed in.
- 2013-02-11 Timothy Hatcher <timothy@apple.com>
- Add support for editing rules, styles and properties.
- <rdar://problem/7206272&12526319>
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSProperty.js:
- (WebInspector.CSSProperty.prototype.set index): Added.
- (WebInspector.CSSProperty.prototype.update): Delete the pending properties.
- (WebInspector.CSSProperty.prototype.get text): Use the getters to get the pending values.
- (WebInspector.CSSProperty.prototype.set text): Added.
- (WebInspector.CSSProperty.prototype.get name): Return _pendingName if index is NaN.
- (WebInspector.CSSProperty.prototype.set name): Added.
- (WebInspector.CSSProperty.prototype.get value): Return _pendingValue if index is NaN.
- (WebInspector.CSSProperty.prototype.set value): Added.
- (WebInspector.CSSProperty.prototype.get important): Use priority getter.
- (WebInspector.CSSProperty.prototype.set important): Added.
- (WebInspector.CSSProperty.prototype.get priority): Return _pendingPriority if index is NaN.
- (WebInspector.CSSProperty.prototype.set priority): Added.
- (WebInspector.CSSProperty.prototype.get enabled): Check ownerStyle and index too.
- (WebInspector.CSSProperty.prototype.set enabled): Added.
- (WebInspector.CSSProperty.prototype.add): Added.
- (WebInspector.CSSProperty.prototype.remove): Added.
- (WebInspector.CSSProperty.prototype._updatePropertySoon): Added.
- (WebInspector.CSSProperty.prototype._updatePropertySoon.performUpdate): Added.
- (WebInspector.CSSProperty.prototype._cancelPendingUpdate): Added.
- * UserInterface/CSSRule.js:
- (WebInspector.CSSRule.prototype.set selectorText): Added.
- (WebInspector.CSSRule.prototype.set selectors): Added.
- * UserInterface/CSSStyleDeclaration.js:
- (WebInspector.CSSStyleDeclaration):
- (WebInspector.CSSStyleDeclaration.prototype.update): Don't set ownerStyle to null anymore
- since we reuse properties and want them associated still.
- (WebInspector.CSSStyleDeclaration.prototype.set text): Added.
- (WebInspector.CSSStyleDeclaration.prototype.get pendingProperties): Added.
- (WebInspector.CSSStyleDeclaration.prototype.propertyForName): Added.
- (WebInspector.CSSStyleDeclaration.prototype.propertyForName.findMatch): Added.
- (WebInspector.CSSStyleDeclaration.prototype.addProperty): Added.
- (WebInspector.CSSStyleDeclaration.prototype.removeProperty): Added.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype.ruleSelectorChanged): Added.
- (WebInspector.DOMNodeStyles.prototype.changeRuleSelector): Added.
- (WebInspector.DOMNodeStyles.prototype.changeStyleText): Added.
- (WebInspector.DOMNodeStyles.prototype.changeStyleText.fetchedStyleSheetContent): Added.
- (WebInspector.DOMNodeStyles.prototype.changeProperty): Added.
- (WebInspector.DOMNodeStyles.prototype.changePropertyText): Added.
- (WebInspector.DOMNodeStyles.prototype.changePropertyEnabledState): Added.
- (WebInspector.DOMNodeStyles.prototype.addProperty): Added.
- (WebInspector.DOMNodeStyles.prototype.removeProperty): Added.
- (WebInspector.DOMNodeStyles.prototype._handlePropertyChange): Added.
- (WebInspector.DOMNodeStyles.prototype._parseStylePropertyPayload): Reuse pending properties.
- (WebInspector.DOMNodeStyles.prototype._styleSheetContentDidChange): Ignore stylesheets we know
- we just changed.
- 2013-02-11 Timothy Hatcher <timothy@apple.com>
- Mark overridden properties and associate shorthand to longhand properties.
- <rdar://problem/7206272&12526319>
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSProperty.js:
- (WebInspector.CSSProperty.prototype.update):
- (WebInspector.CSSProperty.prototype.get canonicalName): Added.
- (WebInspector.CSSProperty.prototype.get canonicalName.canonicalPropertyName): Added.
- (WebInspector.CSSProperty.prototype.set overridden): Added.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles.prototype.refresh.fetchedInlineStyles): Call _updateStyleCascade.
- (WebInspector.DOMNodeStyles.prototype._updateStyleCascade): Added.
- (WebInspector.DOMNodeStyles.prototype._collectStylesInCascadeOrder): Added.
- (WebInspector.DOMNodeStyles.prototype._markOverriddenProperties): Added.
- (WebInspector.DOMNodeStyles.prototype._associateRelatedProperties): Added.
- 2013-02-11 Timothy Hatcher <timothy@apple.com>
- Parse inherited rules, pseudo elements, inline style and attribute styles.
- <rdar://problem/7206272&12526319>
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles): Added maps and properties.
- (WebInspector.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles): Parse pseudoElementRulesPayload
- and inheritedRulesPayload.
- (WebInspector.DOMNodeStyles.prototype.refresh.fetchedInlineStyles): Parse inlineStylePayload and
- attributesStylePayload.
- (WebInspector.DOMNodeStyles.prototype.get inheritedRules): Added.
- (WebInspector.DOMNodeStyles.prototype.get inlineStyle): Added.
- (WebInspector.DOMNodeStyles.prototype.get attributesStyle): Added.
- (WebInspector.DOMNodeStyles.prototype.get pseudoElements): Added.
- (WebInspector.DOMNodeStyles.prototype._styleSheetContentDidChange): Check inherited,
- inline, attributes and pseudo elements.
- 2013-02-11 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.CSSStyleDeclaration and WebInspector.CSSProperty and have DOMNodeStyles parse and create them.
- <rdar://problem/7206272&12526319>
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSProperty.js: Added.
- (WebInspector.CSSProperty):
- (WebInspector.CSSProperty.prototype.get ownerStyle):
- (WebInspector.CSSProperty.prototype.set ownerStyle):
- (WebInspector.CSSProperty.prototype.get index):
- (WebInspector.CSSProperty.prototype.update):
- (WebInspector.CSSProperty.prototype.get text):
- (WebInspector.CSSProperty.prototype.get name):
- (WebInspector.CSSProperty.prototype.get value):
- (WebInspector.CSSProperty.prototype.get important):
- (WebInspector.CSSProperty.prototype.get priority):
- (WebInspector.CSSProperty.prototype.get enabled):
- (WebInspector.CSSProperty.prototype.get overridden):
- (WebInspector.CSSProperty.prototype.get implicit):
- (WebInspector.CSSProperty.prototype.get valid):
- (WebInspector.CSSProperty.prototype.get startStyleSheetTextPosition):
- (WebInspector.CSSProperty.prototype.get endStyleSheetTextPosition):
- (WebInspector.CSSProperty.prototype.get relatedShorthandProperty):
- (WebInspector.CSSProperty.prototype.set relatedShorthandProperty):
- (WebInspector.CSSProperty.prototype.get relatedLonghandProperties):
- (WebInspector.CSSProperty.prototype.addRelatedLonghandProperty):
- (WebInspector.CSSProperty.prototype.clearRelatedLonghandProperties):
- (WebInspector.CSSProperty.prototype.isActive):
- * UserInterface/CSSStyleDeclaration.js: Added.
- (WebInspector.CSSStyleDeclaration):
- (WebInspector.CSSStyleDeclaration.prototype.get id):
- (WebInspector.CSSStyleDeclaration.prototype.get ownerStyleSheet):
- (WebInspector.CSSStyleDeclaration.prototype.get type):
- (WebInspector.CSSStyleDeclaration.prototype.get inherited):
- (WebInspector.CSSStyleDeclaration.prototype.update):
- (WebInspector.CSSStyleDeclaration.prototype.get ownerRule):
- (WebInspector.CSSStyleDeclaration.prototype.set ownerRule):
- (WebInspector.CSSStyleDeclaration.prototype.get text):
- (WebInspector.CSSStyleDeclaration.prototype.get properties):
- (WebInspector.CSSStyleDeclaration.prototype.get startStyleSheetTextPosition):
- (WebInspector.CSSStyleDeclaration.prototype.get endStyleSheetTextPosition):
- (WebInspector.CSSStyleDeclaration.prototype.get nodeStyles):
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles):
- (WebInspector.DOMNodeStyles.prototype._parseStylePropertyPayload):
- (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
- (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
- * UserInterface/Main.html:
- 2013-02-11 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.CSSRule and WebInspector.CSSMedia and have DOMNodeStyles parse and create them.
- <rdar://problem/7206272&12526319>
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSMedia.js: Added.
- (WebInspector.CSSMedia):
- (WebInspector.CSSMedia.prototype.get type):
- (WebInspector.CSSMedia.prototype.get text):
- (WebInspector.CSSMedia.prototype.get sourceCodeLocation):
- * UserInterface/CSSRule.js: Added.
- (WebInspector.CSSRule):
- (WebInspector.CSSRule.prototype.get id):
- (WebInspector.CSSRule.prototype.get ownerStyleSheet):
- (WebInspector.CSSRule.prototype.update):
- (WebInspector.CSSRule.prototype.get type):
- (WebInspector.CSSRule.prototype.get sourceCodeLocation):
- (WebInspector.CSSRule.prototype.get selectorText):
- (WebInspector.CSSRule.prototype.get selectors):
- (WebInspector.CSSRule.prototype.get matchedSelectorIndices):
- (WebInspector.CSSRule.prototype.get style):
- (WebInspector.CSSRule.prototype.get mediaList):
- (WebInspector.CSSRule.prototype.get nodeStyles):
- * UserInterface/DOMNodeStyles.js:
- (WebInspector.DOMNodeStyles):
- (WebInspector.DOMNodeStyles.prototype.refresh.parseRuleMatchArrayPayload):
- (WebInspector.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles):
- (WebInspector.DOMNodeStyles.prototype.refresh):
- (WebInspector.DOMNodeStyles.prototype.get matchedRules):
- (WebInspector.DOMNodeStyles.prototype._identifierToString):
- (WebInspector.DOMNodeStyles.prototype._createSourceCodeLocation):
- (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
- (WebInspector.DOMNodeStyles.prototype._styleSheetContentDidChange.markAsNeedsRefresh):
- (WebInspector.DOMNodeStyles.prototype._styleSheetContentDidChange.checkRules):
- (WebInspector.DOMNodeStyles.prototype._styleSheetContentDidChange):
- * UserInterface/Main.html:
- 2013-02-11 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.DOMNodeStyles, a new class to inspect and manage styles for a node.
- <rdar://problem/7206272&12526319>
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleManager.js:
- (WebInspector.CSSStyleManager): Added _nodeStylesMap.
- (WebInspector.CSSStyleManager.prototype.stylesForNode): Added.
- (WebInspector.CSSStyleManager.prototype._mainResourceDidChange): Clear _nodeStylesMap.
- * UserInterface/DOMNodeStyles.js: Added.
- (WebInspector.DOMNodeStyles):
- (WebInspector.DOMNodeStyles.prototype.get node):
- (WebInspector.DOMNodeStyles.prototype.refreshIfNeeded):
- (WebInspector.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles):
- (WebInspector.DOMNodeStyles.prototype.refresh.fetchedInlineStyles):
- (WebInspector.DOMNodeStyles.prototype.refresh):
- * UserInterface/Main.html: Added DOMNodeStyles.js.
- 2013-02-11 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.CSSStyleSheet and start using it.
- This replaces a collection of maps and content updating functions in CSSStyleManager
- with a proper SourceCode subclass that manages its info, content and works with branches.
- <rdar://problem/7206272&12526319>
- Reviewed by Joseph Pecoraro.
- * UserInterface/BoxModelDetailsSectionRow.js:
- (WebInspector.BoxModelDetailsSectionRow): Listen for the change event on CSSStyleSheet.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel): Ditto.
- * UserInterface/CSSStyleManager.js:
- (WebInspector.CSSStyleManager): Added event listeners for resources.
- (WebInspector.CSSStyleManager.prototype.styleSheetForIdentifier): Added.
- (WebInspector.CSSStyleManager.prototype.styleSheetChanged): Call noteContentDidChange and
- _updateResourceContent.
- (WebInspector.CSSStyleManager.prototype._mainResourceDidChange): Added. Clear the maps when the
- main frame navigates.
- (WebInspector.CSSStyleManager.prototype._resourceAdded): Added. Call _clearStyleSheetsForResource.
- (WebInspector.CSSStyleManager.prototype._resourceTypeDidChange): Ditto.
- (WebInspector.CSSStyleManager.prototype._clearStyleSheetsForResource): Added.
- (WebInspector.CSSStyleManager.prototype._frameURLMapKey): Added.
- (WebInspector.CSSStyleManager.prototype._lookupStyleSheetForResource.syleSheetsFetched): Use
- _styleSheetFrameURLMap instead of _styleSheetInfoMap.
- (WebInspector.CSSStyleManager.prototype._setContentForStyleSheetIdentifier): Removed.
- (WebInspector.CSSStyleManager.prototype._lookupStyleSheet): Updated function names.
- (WebInspector.CSSStyleManager.prototype._fetchInfoForAllStyleSheets): Ditto.
- (WebInspector.CSSStyleManager.prototype._resourceContentDidChange.applyStyleSheetChanges.styleSheetFound):
- Use SourceCodeRevision to update the stylesheet content.
- (WebInspector.CSSStyleManager.prototype._updateResourceContent): Added.
- (WebInspector.CSSStyleManager.prototype._updateResourceContent.fetchedStyleSheetContent): Added.
- (WebInspector.CSSStyleManager.prototype._updateResourceContent.styleSheetReady): Added.
- (WebInspector.CSSStyleManager.prototype._updateResourceContent.applyStyleSheetChanges): Added.
- * UserInterface/CSSStyleSheet.js: Added.
- (WebInspector.CSSStyleSheet):
- (WebInspector.CSSStyleSheet.resetUniqueDisplayNameNumbers):
- (WebInspector.CSSStyleSheet.prototype.get id):
- (WebInspector.CSSStyleSheet.prototype.get parentFrame):
- (WebInspector.CSSStyleSheet.prototype.get url):
- (WebInspector.CSSStyleSheet.prototype.get urlComponents):
- (WebInspector.CSSStyleSheet.prototype.get displayName):
- (WebInspector.CSSStyleSheet.prototype.updateInfo):
- (WebInspector.CSSStyleSheet.prototype.get revisionForRequestedContent):
- (WebInspector.CSSStyleSheet.prototype.handleCurrentRevisionContentChange.contentDidChange):
- (WebInspector.CSSStyleSheet.prototype.handleCurrentRevisionContentChange):
- (WebInspector.CSSStyleSheet.prototype.canRequestContentFromBackend):
- (WebInspector.CSSStyleSheet.prototype.requestContentFromBackend):
- (WebInspector.CSSStyleSheet.prototype.noteContentDidChange):
- * UserInterface/Main.html: Added CSSStyleSheet.js.
- * UserInterface/SourceCode.js:
- (WebInspector.SourceCode.prototype.revisionContentDidChange): Call handleCurrentRevisionContentChange.
- (WebInspector.SourceCode.prototype.handleCurrentRevisionContentChange): Added.
- (WebInspector.SourceCode.prototype.get revisionForRequestedContent): Added.
- (WebInspector.SourceCode.prototype.markContentAsStale): Added.
- (WebInspector.SourceCode.prototype._processContent): Use revisionForRequestedContent.
- 2013-02-11 Timothy Hatcher <timothy@apple.com>
- Remove noteStyleSheetChanged and use the styleSheetChanged backend event.
- The backend already tells us when a stylesheet changes, so we should use it
- instead of trying to fire the event when we think it should.
- <rdar://problem/7206272&12526319>
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSObserver.js:
- (WebInspector.CSSObserver.prototype.styleSheetChanged): Call CSSStyleManager.
- * UserInterface/CSSStyleManager.js:
- (WebInspector.CSSStyleManager.prototype.mediaQueryResultChanged): Moved to the top.
- (WebInspector.CSSStyleManager.prototype.styleSheetChanged): Added.
- (WebInspector.CSSStyleManager.prototype.noteStyleSheetChanged): Removed.
- * UserInterface/OldCSSProperty.js:
- (WebInspector.OldCSSProperty.prototype.callback): Removed call to noteStyleSheetChanged.
- (WebInspector.OldCSSProperty.prototype.setText): Ditto.
- (WebInspector.OldCSSProperty.prototype.setDisabled): Ditto.
- * UserInterface/OldCSSStyleDeclaration.js:
- (WebInspector.OldCSSStyleDeclaration.prototype.insertPropertyAt): Removed call to noteStyleSheetChanged.
- 2013-02-11 Timothy Hatcher <timothy@apple.com>
- Create mappings between shorthand and longhand property names.
- <rdar://problem/7206272&12526319>
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSCompletions.js:
- (WebInspector.CSSCompletions): Create the mappings.
- (WebInspector.CSSCompletions.prototype.longhandsForShorthand): Added.
- (WebInspector.CSSCompletions.prototype.shorthandsForLonghand): Added.
- 2013-02-11 Timothy Hatcher <timothy@apple.com>
- Rename current CSS model classes to have "Old" prefixes.
- This is in preparation for a new and improved CSS model classes.
- <rdar://problem/7206272&12526319>
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleManager.js:
- (WebInspector.CSSStyleManager.parseRuleArrayPayload):
- (WebInspector.CSSStyleManager.prototype.):
- (WebInspector.CSSStyleManager.prototype.getMatchedStylesAsync):
- (WebInspector.CSSStyleManager.prototype.getComputedStyleAsync):
- (WebInspector.CSSStyleManager.prototype.getInlineStylesAsync):
- * UserInterface/Main.html:
- * UserInterface/OldCSSMedia.js: Renamed from WebInspector/UserInterface/CSSMedia.js.
- * UserInterface/OldCSSProperty.js: Renamed from WebInspector/UserInterface/CSSProperty.js.
- * UserInterface/OldCSSRule.js: Renamed from WebInspector/UserInterface/CSSRule.js.
- * UserInterface/OldCSSStyleDeclaration.js: Renamed from WebInspector/UserInterface/CSSStyleDeclaration.js.
- * UserInterface/StylePropertiesSection.js:
- (WebInspector.StylePropertiesSection):
- (WebInspector.StylePropertiesSection.prototype.onpopulate):
- 2013-02-12 Antoine Quint <graouts@apple.com>
- <rdar://problem/11053300> Profile recording button falsely indicates "recording" if started and then page navigates or refreshes
- We now correctly keep the recording state across a page reload,
- only resetting it, as well as removing any previous profile, when
- we navigate away from the current page.
- To do so, we alert the sidebar panel when a profile is interrupted
- such that any old tree item for this profile is pruned and the
- state of the profile recording button is updated to match that of
- the profiler. Additionally, when the main frame is refreshed, we
- attempt to resume profiling by looking for existing, though stale,
- profile objects, and creating a new one as needed. In cases where
- we navigate to a new frame, the "Cleared" event is dispatched and
- the sidebar panel empties itself.
- Finally, we ensure that the number set for the profile's title
- reflects the current list of profiles of this type and that any
- selected CSS profile's content view is hidden if the profile list
- is cleared.
- Note that profiles that were recorded prior to the current load
- will show an empty content view unless they had also been selected
- prior to a subsequent load. This is a known issue and will be fixed
- with a followup task.
- Reviewed by Timothy Hatcher.
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel):
- (WebInspector.InstrumentSidebarPanel.prototype._profilingInterrupted):
- (WebInspector.InstrumentSidebarPanel.prototype._titleForProfile):
- (WebInspector.InstrumentSidebarPanel.prototype._profilesCleared):
- * UserInterface/ProfileManager.js:
- (WebInspector.ProfileManager.prototype.initialize):
- (WebInspector.ProfileManager.prototype.setRecordingJavaScriptProfile):
- (WebInspector.ProfileManager.prototype._mainResourceDidChange):
- (WebInspector.ProfileManager.prototype._checkForInterruptions):
- (WebInspector.ProfileManager.prototype._attemptToResumeProfiling):
- 2013-02-12 Antoine Quint <graouts@apple.com>
- <rdar://problem/13171934> Control+click on toolbar doesn't bring up toolbar context menu items
- Don't do any custom handling of mousedown events on the toolbar if
- the control key was pressed.
- Reviewed by Timothy Hatcher.
- * UserInterface/Main.js:
- (WebInspector._toolbarMouseDown):
- 2013-02-11 Antoine Quint <graouts@apple.com>
- <rdar://problem/10854712> REGRESSION (Safari 6): It's hard to see at a glance if a page has any JS/HTML errors/warnings
- We add a new DashboardManager singleton which taps into events exposed
- by other managers and classes in order to monitor resources, timeline
- records and console messages and display the respective counts in a
- DashboardView. The DashboardView knows how to lay itself out in the
- various toolbar modes and lets the user jump to various parts of the
- inspector upon clicking its outlets, while providing useful information
- as the user hovers over the item with the mouse.
- Reviewed by Timothy Hatcher and Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/DashboardManager.js: Added.
- (WebInspector.DashboardManager):
- (WebInspector.DashboardManager.prototype._resourceWasAdded):
- (WebInspector.DashboardManager.prototype._resourcesWereCleared):
- (WebInspector.DashboardManager.prototype._frameWasAdded):
- (WebInspector.DashboardManager.prototype._resourceSizeDidChange):
- (WebInspector.DashboardManager.prototype._timelineRecordingStarted):
- (WebInspector.DashboardManager.prototype._updateTime):
- (WebInspector.DashboardManager.prototype._consoleMessageAdded):
- (WebInspector.DashboardManager.prototype._consoleMessageWasRepeated):
- (WebInspector.DashboardManager.prototype._incrementConsoleMessageType):
- (WebInspector.DashboardManager.prototype._consoleWasCleared):
- * UserInterface/DashboardView.css: Added.
- (.dashboard):
- (.dashboard > .item):
- (.dashboard > .item > *):
- (.dashboard > .item > img):
- (.dashboard > .item.enabled > img):
- (.dashboard > .item.enabled:hover > img):
- (.dashboard > .item > div):
- (.dashboard > .item.issues > div > div):
- (.dashboard > .item.enabled > div):
- (.dashboard > .item.enabled:hover > div):
- (.dashboard > .resources > img):
- (.dashboard > .time > img):
- (.dashboard > .logs > img):
- (.dashboard > .memory > img):
- (.dashboard > .errors > img):
- (.dashboard > .errors.enabled > img):
- (.dashboard > .errors.enabled:hover > img):
- (.dashboard > .errors.enabled > div):
- (.dashboard > .errors.enabled:hover > div):
- (.dashboard > .issues > img):
- (.dashboard > .issues.enabled > img):
- (.dashboard > .issues.enabled:hover > img):
- (.dashboard > .issues.enabled > div):
- (.dashboard > .issues.enabled:hover > div):
- (.toolbar.normal-size.icon-and-label-horizontal > .item-section > .dashboard):
- (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard):
- (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .item):
- (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .resources):
- (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .time):
- (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .logs):
- (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .memory):
- (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .errors):
- (.toolbar.small-size.icon-and-label-vertical > .item-section > .dashboard > .issues):
- (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard):
- (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .item):
- (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .resources):
- (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .time):
- (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .logs):
- (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .memory):
- (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .errors):
- (.toolbar.normal-size.icon-and-label-vertical > .item-section > .dashboard > .issues):
- * UserInterface/DashboardView.js: Added.
- (WebInspector.DashboardView):
- (WebInspector.DashboardView.prototype.get logs):
- (WebInspector.DashboardView.prototype.set logs):
- (WebInspector.DashboardView.prototype.get issues):
- (WebInspector.DashboardView.prototype.set issues):
- (WebInspector.DashboardView.prototype.get errors):
- (WebInspector.DashboardView.prototype.set errors):
- (WebInspector.DashboardView.prototype.set memory):
- (WebInspector.DashboardView.prototype.set time):
- (WebInspector.DashboardView.prototype.get resourcesCount):
- (WebInspector.DashboardView.prototype.set resourcesCount):
- (WebInspector.DashboardView.prototype.get resourcesSize):
- (WebInspector.DashboardView.prototype.set resourcesSize):
- (WebInspector.DashboardView.prototype._appendElementForNamedItem):
- (WebInspector.DashboardView.prototype._itemWasClicked):
- (WebInspector.DashboardView.prototype._resourcesWasClicked):
- (WebInspector.DashboardView.prototype._timeWasClicked):
- (WebInspector.DashboardView.prototype._consoleItemWasClicked):
- (WebInspector.DashboardView.prototype._updateResourcesOutlet):
- (WebInspector.DashboardView.prototype._setItemEnabled):
- * UserInterface/Images/Errors.svg: Added.
- * UserInterface/Images/ErrorsEnabled.svg: Added.
- * UserInterface/Images/Issues.svg: Added.
- * UserInterface/Images/IssuesEnabled.svg: Added.
- * UserInterface/Images/Logs.svg: Added.
- * UserInterface/Images/Memory.svg: Added.
- * UserInterface/Images/Resources.svg: Added.
- * UserInterface/Images/Time.svg: Added.
- * UserInterface/Main.html:
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- * UserInterface/Resource.js:
- (WebInspector.Resource.prototype.increaseSize):
- 2013-02-08 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13184288> REGRESSION: Undo / Redo no longer works in QuickConsole
- Reviewed by Timothy Hatcher.
- * UserInterface/KeyboardShortcut.js:
- (WebInspector.KeyboardShortcut):
- (WebInspector.KeyboardShortcut._handleKeyDown):
- (WebInspector.KeyboardShortcut.prototype.get implicitlyPreventsDefault):
- (WebInspector.KeyboardShortcut.prototype.set implicitlyPreventsDefault):
- By default keyboard shortcuts prevent default. Allow the KeyboardShortcut
- to opt out of implicitly preventing default. That way a keyboard shortcut
- can be added that does not prevent default.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- The undo and redo keyboard shortcuts will not implicitly prevent default.
- (WebInspector._undoKeyboardShortcut):
- (WebInspector._redoKeyboardShortcut):
- Do not trigger WebInspector.undo or redo if the key event triggered
- while in a text field. Instead let the event bubble to get default
- text editing behavior.
- 2013-02-08 Timothy Hatcher <timothy@apple.com>
- Only record the load event time for the main frame.
- Reviewed by Antoine Quint.
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Check the frameId against the
- mainFrame's id before setting _loadEventTime.
- 2013-02-07 Timothy Hatcher <timothy@apple.com>
- Make CSS autocompletion work again when editing a property.
- <rdar://problem/13058573> REGRESSION: CSS autocompletion broken after OpenSource r123612
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSCompletions.js:
- (WebInspector.CSSCompletions): Support the change in format of values.
- 2013-02-07 Antoine Quint <graouts@apple.com>
- <rdar://problem/13162142> Contextual menu items on the toolbar are missing
- Pass the event when creating a ContextMenu object instead on calling show().
- Reviewed by Joseph Pecoraro.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype._handleContextMenuEvent):
- * UserInterface/Toolbar.js:
- (WebInspector.Toolbar.prototype._handleContextMenuEvent):
- 2013-02-07 Joseph Pecoraro <pecoraro@apple.com>
- Merge OpenSource r116305 to fix TextPrompt event listener and style leaks.
- Reviewed by Timothy Hatcher.
- * UserInterface/TextPrompt.js:
- (WebInspector.TextPrompt.prototype._attachInternal):
- (WebInspector.TextPrompt.prototype.detach):
- 2013-02-05 Antoine Quint <graouts@apple.com>
- <rdar://problem/11007445> PARITY (WebKit Web Inspector): Support Undo/Redo for DOM changes
- Wire up Cmd+Z and Cmd+Shift+Z keyboard shortcuts to call DOMAgent's
- undo() and redo() methods while marking DOM and CSS editing tasks
- as undoable via the DOMAgent's markUndoableState() method.
- Reviewed by Timothy Hatcher.
- * UserInterface/CSSProperty.js:
- (WebInspector.CSSProperty.prototype.callback):
- (WebInspector.CSSProperty.prototype.setText):
- (WebInspector.CSSProperty.prototype.setDisabled):
- * UserInterface/CSSStyleManager.js:
- (WebInspector.CSSStyleManager.prototype.):
- (WebInspector.CSSStyleManager.prototype._setContentForStyleSheetIdentifier):
- (WebInspector.CSSStyleManager.prototype.callback):
- (WebInspector.CSSStyleManager.prototype.setRuleSelector):
- (WebInspector.CSSStyleManager.prototype.addRule):
- * UserInterface/DOMNode.js:
- (WebInspector.DOMNode.prototype.setNodeName):
- (WebInspector.DOMNode.prototype.setNodeValue):
- (WebInspector.DOMNode.prototype.setAttribute):
- (WebInspector.DOMNode.prototype.setAttributeValue):
- (WebInspector.DOMNode.prototype.):
- (WebInspector.DOMNode.prototype.removeAttribute):
- (WebInspector.DOMNode.prototype.setOuterHTML):
- (WebInspector.DOMNode.prototype.removeNode):
- (WebInspector.DOMNode.prototype.moveTo):
- (WebInspector.DOMNode.prototype.setPseudoClassEnabled):
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- (WebInspector.undo):
- (WebInspector.redo):
- 2013-02-05 Antoine Quint <graouts@apple.com>
- <rdar://problem/11133526> PARITY (WebKit Web Inspector): Ability to force pseudo state for an element is missing
- In order to show submenu items in contextual menus in the Web Inspector, we update ContextMenu.js
- to be the latest from OpenSource and update the way we use this API in our code so that the event
- is provided at construction time rather than when calling the .show() method.
- We also have to update the RWI-specific front-end host in order to recognize the new "subMenu"
- contextual menu item type and handle its items to show as a submenu item in the NSMenu we
- create.
- Then, we allow the possibility to enforce certain pseudo-classes on a DOMNode, which triggers
- a new event that the style and appearance panels listen to in order to refresh their display
- and account for any style changes that may result from a pseudo-class being forced.
- Finally, we add new menu items to the contextual menu of a DOM node in the inspector's DOM
- tree to allow to "Force CSS Pseudo-Classes".
- Reviewed by Timothy Hatcher.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/BoxModelDetailsSectionRow.js:
- (WebInspector.BoxModelDetailsSectionRow):
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel):
- * UserInterface/ContextMenu.js:
- (WebInspector.ContextMenuItem):
- (WebInspector.ContextMenuItem.prototype.id):
- (WebInspector.ContextMenuItem.prototype.type):
- (WebInspector.ContextMenuItem.prototype.isEnabled):
- (WebInspector.ContextMenuItem.prototype.setEnabled):
- (WebInspector.ContextMenuItem.prototype._buildDescriptor):
- (WebInspector.ContextSubMenuItem):
- (WebInspector.ContextSubMenuItem.prototype.appendItem):
- (WebInspector.ContextSubMenuItem.prototype.appendSubMenuItem):
- (WebInspector.ContextSubMenuItem.prototype.appendCheckboxItem):
- (WebInspector.ContextSubMenuItem.prototype.appendSeparator):
- (WebInspector.ContextSubMenuItem.prototype._pushItem):
- (WebInspector.ContextSubMenuItem.prototype.isEmpty):
- (WebInspector.ContextSubMenuItem.prototype._buildDescriptor):
- (WebInspector.ContextMenu):
- (WebInspector.ContextMenu.prototype.nextId):
- (WebInspector.ContextMenu.prototype.show):
- (WebInspector.ContextMenu.prototype.showSoftMenu):
- (WebInspector.ContextMenu.prototype._setHandler):
- (WebInspector.ContextMenu.prototype._buildDescriptor):
- (WebInspector.ContextMenu.prototype._itemSelected):
- (WebInspector.ContextMenu.prototype.appendApplicableItems):
- (WebInspector.ContextMenu.Provider):
- (WebInspector.ContextMenu.Provider.prototype.appendApplicableItems):
- (WebInspector.ContextMenu.registerProvider):
- * UserInterface/DOMNode.js:
- (WebInspector.DOMNode):
- (WebInspector.DOMNode.prototype.isXMLNode):
- (WebInspector.DOMNode.prototype.get enabledPseudoClasses):
- (WebInspector.DOMNode.prototype.setPseudoClassEnabled):
- * UserInterface/DOMTreeElement.js:
- (WebInspector.DOMTreeElement.prototype._populateTagContextMenu):
- (WebInspector.DOMTreeElement.prototype._populateForcedPseudoStateItems.string_appeared_here.forEach):
- (WebInspector.DOMTreeElement.prototype._populateForcedPseudoStateItems):
- * UserInterface/DOMTreeOutline.js:
- (WebInspector.DOMTreeOutline.prototype._contextMenuEventFired):
- * UserInterface/DataGrid.js:
- (WebInspector.DataGrid.prototype._contextMenuInDataTable):
- * UserInterface/ObjectPropertiesSection.js:
- (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):
- (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired):
- * UserInterface/Utilities.js:
- 2013-02-04 Jessie Berlin <jberlin@apple.com>
- Ran update-safari-localizable-strings.
- * Localizations/en.lproj/localizedStrings.js:
- 2013-02-04 Antoine Quint <graouts@apple.com>
- <rdar://problem/13042270> Debugger should be smarter about hovered tokens
- When notifying that we're hovering a new token, keep going through
- previous tokens on the same line to find other expressions and .
- so that a full property chain can be resolved. The result is now
- stored in a new "fullExpression" property on the "hoveredToken" object.
- Additionally, the bounds of the token are now those of the full expression
- such that highlight is correct and the highlight-related APIs have been
- renamed to work within the context of an expression and not a token.
- While this patch doesn't handle expressions across several lines, it gets
- us to parity with what the OpenSource Web Inspector knows how to handle.
- Reviewed by Joseph Pecoraro.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype.tokenWasHovered):
- (WebInspector.SourceCodeTextEditor.prototype._showPopover):
- (WebInspector.SourceCodeTextEditor.prototype.willDismissPopover):
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.highlightHoveredExpression):
- (WebInspector.TextEditor.prototype.removeHighlightOnHoveredExpression):
- (WebInspector.TextEditor.prototype._mouseMovedOverEditor):
- (WebInspector.TextEditor.prototype._checkHoveredToken):
- 2013-02-01 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13137010> Console toggle split / full-height button is showing the wrong direction
- Reviewed by Timothy Hatcher.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype.shown):
- (WebInspector.LogContentView.prototype._toggleSplit):
- Always update the toggle button whenever the log content view is shown.
- * UserInterface/Main.js:
- (WebInspector.toggleSplitConsole):
- This no longer needs to return true or false, so clean it up.
- 2013-02-01 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/13137050> Clicking Console button in main toolbar should always toggle the console, even if no back history
- Reviewed by Timothy Hatcher.
- * UserInterface/Main.js:
- (WebInspector.toggleConsoleView):
- When toggling and there is no history, open the source code for the main resource.
- 2013-02-01 Timothy Hatcher <timothy@apple.com>
- Add the ability to resize the split console.
- Part of: <rdar://problem/13118771> Unify the quick console and full console
- Reviewed by Joseph Pecoraro.
- * UserInterface/Main.css:
- (#split-content-browser > .navigation-bar): Use row-resize cursor.
- (#split-content-browser > .navigation-bar .item:not(.flexible-space)): Use default cursor.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Added height setting and event listener. Call _updateSplitConsoleHeight.
- (WebInspector._updateSplitConsoleHeight): Added.
- (WebInspector._consoleResizerMouseDown): Added.
- (WebInspector._consoleResizerMouseDown.dockedResizerDrag): Added.
- (WebInspector._consoleResizerMouseDown.dockedResizerDragEnd): Added.
- 2013-01-30 Timothy Hatcher <timothy@apple.com>
- Gut the old Quick Console except the prompt and make the Console view use the Quick Console prompt.
- Part of: <rdar://problem/13118771> Unify the quick console and full console
- Reviewed by Joseph Pecoraro.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView): Use the quick console prompt. Don't append a <br> now that the prompt
- isn't in the view.
- (WebInspector.LogContentView.prototype.didAppendConsoleMessage): Added.
- (WebInspector.LogContentView.prototype.promptDidChangeHeight): Added.
- * UserInterface/QuickConsole.css: Removed unused rules.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole):
- (WebInspector.QuickConsole.prototype.updateLayout): Just call _updateSize.
- (WebInspector.QuickConsole.prototype._updateSize): Added.
- (WebInspector.QuickConsole.prototype._toggleOrFocus): Call WebInspector.toggleConsoleView.
- 2013-01-30 Timothy Hatcher <timothy@apple.com>
- Add the ability to show a second content browser at the bottom for the console view.
- Part of: <rdar://problem/13118771> Unify the quick console and full console
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser.prototype.get element): Added.
- * UserInterface/Images/SplitToggleDown.pdf: Added.
- * UserInterface/Images/SplitToggleUp.pdf: Added.
- * UserInterface/InspectorFrontendAPI.js:
- (InspectorFrontendAPI.showConsole): Use toggleConsoleView instead.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView): Create a navigation item for toggling the split.
- (WebInspector.LogContentView.prototype.get navigationItems): Include the new item.
- (WebInspector.LogContentView.prototype._toggleSplit): Added.
- * UserInterface/Main.css:
- (#split-content-browser): Added.
- * UserInterface/Main.html: Added #split-content-browser element.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Create settings and the split content browser.
- (WebInspector.prefersUsingSplitConsole): Added.
- (WebInspector.isShowingSplitConsole): Added.
- (WebInspector.toggleSplitConsole): Added.
- (WebInspector.showSplitConsole): Added.
- (WebInspector.hideSplitConsole): Added.
- (WebInspector.showFullHeightConsole): Added.
- (WebInspector.isShowingConsoleView): Added.
- (WebInspector.showConsoleView): Call showSplitConsole or showFullHeightConsole.
- (WebInspector.toggleConsoleView): Added.
- (WebInspector._contentBrowserCurrentContentViewDidChange): Added. Update the console
- button activated state.
- 2013-02-01 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/12808694> Enter and Shift+Enter should search forward and backwards
- Reviewed by Antoine Quint.
- * UserInterface/FindBanner.js:
- (WebInspector.FindBanner):
- Initialize new member variables.
- (WebInspector.FindBanner.prototype._inputFieldKeyDown):
- (WebInspector.FindBanner.prototype._inputFieldKeyUp):
- Track when the shift key is down inside the search field. Also track
- when the enter key is pressed to trigger the input's "search" event.
- We only want to respect shift when the user hits enter to search.
- (WebInspector.FindBanner.prototype._inputFieldSearch):
- If the search value stayed the same, and there are search results,
- and the user hit enter, then search forwards or backwards.
- 2013-01-31 Antoine Quint <graouts@apple.com>
- Followup fixes after <rdar://problem/11279186> REGRESSION (Safari 6): Timeline
- view missing type filters. Addresses the good feedback from JoePeck.
- Reviewed by Timothy Hatcher.
- * UserInterface/TimelineDataGrid.js:
- (WebInspector.TimelineDataGrid):
- (WebInspector.TimelineDataGrid.prototype._scopeBarSelectedItemsDidChange):
- * UserInterface/TimelinesContentView.js:
- 2013-01-31 Antoine Quint <graouts@apple.com>
- <rdar://problem/13085826> Add stubs for new Page protocol events (frameStartedLoading, etc.)
- WebCore added a bunch of Page events in http://trac.webkit.org/changeset/140649. We're
- registering them and providing stub handlers until we actually do something with them.
- This removes some annoying errors in the Inception console output.
- Reviewed by Timothy Hatcher.
- * UserInterface/InspectorBackendCommands.js:
- * UserInterface/PageObserver.js:
- (WebInspector.PageObserver.prototype.frameDetached):
- (WebInspector.PageObserver.prototype.frameStartedLoading):
- (WebInspector.PageObserver.prototype.frameStoppedLoading):
- (WebInspector.PageObserver.prototype.frameScheduledNavigation):
- (WebInspector.PageObserver.prototype.frameClearedScheduledNavigation):
- 2013-01-31 Antoine Quint <graouts@apple.com>
- Followup fix to <rdar://problem/10981607> REGRESSION (Safari 6): CSS and JavaScript profiles need a visible way to toggle between absolute times and percentages.
- * UserInterface/ProfileView.js:
- (WebInspector.ProfileView):
- 2013-01-30 Antoine Quint <graouts@apple.com>
- <rdar://problem/13115633> JavaScript profiles percentage values don't have the "%" symbol in them
- Ensure we add the "%" symbol to values reported in the JS profile data
- grid when percents are used.
- Reviewed by Timothy Hatcher.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/ProfileDataGridTree.js:
- (WebInspector.ProfileDataGridNode.prototype.get data):
- 2013-01-30 Antoine Quint <graouts@apple.com>
- <rdar://problem/13101516> REGRESSION: JavaScript profile recorded from Web Inspector UI never finishes
- Two changes made in WebCore broke our support for JavaScript profiling. The first introduced by
- http://trac.webkit.org/changeset/126580 was that ProfilerAgent.getProfileHeaders() needed to be
- called for any addProfileHeader event to be dispatched to the front-end. The second issue was
- introduced by http://trac.webkit.org/changeset/139998 which changed the backend API in a non-
- backward-compatible way so that ProfilerAgent.getProfile() was split in two methods:
- getCPUProfile() and getHeapSnapshot().
- This patch simply adds a call to ProfilerAgent.getProfileHeaders() as soon as the ProfilerAgent
- is enabled and also changes the backend we register and call to get the profile to use the
- most current WebCore API.
- Reviewed by Timothy Hatcher.
- * UserInterface/InspectorBackendCommands.js:
- * UserInterface/JavaScriptProfileView.js:
- (WebInspector.JavaScriptProfileView):
- * UserInterface/ProfileManager.js:
- (WebInspector.ProfileManager):
- 2013-01-29 Timothy Hatcher <timothy@apple.com>
- Stop showing "undefined" and empty scope bar items in the Timeline view.
- <rdar://problem/13109468>
- Reviewed by Joseph Pecoraro.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView.prototype._makeColumnScopeBar): Check the type of the value,
- not the type of the key.
- 2013-01-29 Antoine Quint <graouts@apple.com>
- <rdar://problem/11279186> REGRESSION (Safari 6): Timeline view missing type filters
- We now add a ScopeBar above the data grid shown for the currently selected record
- type as the data grid is hovered. The filtered type is set by adding a .scopeBar
- property on the column descriptor and the filtering code is ready to be able to
- deal with multiple filterable types per data grid if/when we decide to do this.
- However, the UI code only knows how to handle one filterable column per data grid
- as it stands. The scope bar showing above the data grid fits snuggly where the timeline
- would usually show and has a 10px invisible padding at the top to ensure the user
- doesn't mouse out of it too easily.
- The hot path _updatePendingRecordsWithNewBounds was updated to filter the pending
- records taking into account the current filters, and a new _refreshAllRecordsForCurrentDataGrid
- method was added to deal with changes of filters, which takes a less optimized and
- more brutal path.
- Reviewed by Timothy Hatcher.
- * UserInterface/ScopeBar.js:
- (WebInspector.ScopeBar.prototype.get defaultItem):
- * UserInterface/TimelineDataGrid.js:
- (WebInspector.TimelineDataGrid):
- (WebInspector.TimelineDataGrid.prototype._scopeBarSelectedItemsDidChange):
- * UserInterface/TimelinesContentView.css:
- (.content-view.timelines > .data-grid > .navigation-bar-container):
- (.content-view.timelines > .data-grid:hover > .navigation-bar-container):
- (.content-view.timelines > .data-grid > .navigation-bar-container > .navigation-bar):
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView):
- (WebInspector.TimelinesContentView.prototype._updatePendingRecordsWithNewBounds):
- (WebInspector.TimelinesContentView.prototype._scheduleGridNodeForRefresh):
- (WebInspector.TimelinesContentView.prototype._makeColumnScopeBar):
- (WebInspector.TimelinesContentView.prototype._dataGridFiltersDidChange):
- (WebInspector.TimelinesContentView.prototype._refreshAllRecordsForCurrentDataGrid):
- (WebInspector.TimelinesContentView.prototype.filterableValueForRecordAndIdentifier):
- (WebInspector.TimelinesContentView.prototype._filterRecordsWithType):
- 2013-01-29 Antoine Quint <graouts@apple.com>
- <rdar://problem/10981607> REGRESSION (Safari 6): CSS and JavaScript profiles need a visible way to toggle between absolute times and percentages
- Refactoring the CSSSelectorProfileView and JavaScriptProfileView classes to both
- inherit from the new ProfileView class which provide a navigation bar item to
- toggle how times are displayed (absolute times vs. a percentage) via a % icon.
- This was also the chance to simplify the settings used in the JavaScriptProfileView
- which used three different settings for the self, total and average columns. Now these
- columns shared the same setting.
- Note that part of this patch is speculative due to <rdar://problem/13101516> REGRESSION:
- Profile recorded from Web Inspector UI never finishes.
- Reviewed by Timothy Hatcher.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/CSSSelectorProfileView.js:
- (WebInspector.CSSSelectorProfileView):
- (WebInspector.CSSSelectorProfileView.prototype.toggleTimeDisplay):
- (WebInspector.CSSSelectorProfileView.prototype._sortProfile):
- * UserInterface/Images/Percent.pdf: Added.
- * UserInterface/JavaScriptProfileView.js:
- (WebInspector.JavaScriptProfileView.profileCallback):
- (WebInspector.JavaScriptProfileView):
- (WebInspector.JavaScriptProfileView.prototype.toggleTimeDisplay):
- * UserInterface/Main.html:
- * UserInterface/ProfileDataGridTree.js:
- (WebInspector.ProfileDataGridNode.prototype.get data):
- * UserInterface/ProfileView.js: Added.
- (WebInspector.ProfileView):
- (WebInspector.ProfileView.prototype.get navigationItems):
- (WebInspector.ProfileView.prototype.get profile):
- (WebInspector.ProfileView.prototype.set profile):
- (WebInspector.ProfileView.prototype.toggleTimeDisplay):
- 2013-01-26 Timothy Hatcher <timothy@apple.com>
- Update CodeMirror to from 3.0 to 3.0.2.
- https://github.com/marijnh/CodeMirror/compare/v3.0...v3.02
- Reviewed by Ricky Mondello.
- * UserInterface/External/CodeMirror/LICENSE: Updated.
- * UserInterface/External/CodeMirror/codemirror.css: Updated.
- * UserInterface/External/CodeMirror/codemirror.js: Updated.
- * UserInterface/External/CodeMirror/css.js: Updated.
- * UserInterface/External/CodeMirror/javascript.js: Updated.
- * UserInterface/External/CodeMirror/runmode.js: Updated.
- * UserInterface/External/CodeMirror/searchcursor.js: Updated.
- * UserInterface/External/CodeMirror/xml.js: Updated.
- * UserInterface/TextEditor.css:
- (.text-editor > .CodeMirror pre): Dropped the ":not(.CodeMirror-cursor)".
- Since CodeMirror-cursor is now a div.
- 2013-01-25 Timothy Hatcher <timothy@apple.com>
- Account for a difference in how frames load about:blank.
- There was a change in how about:blank frame loads are reported over the Inspector
- protocol that was causing a far reaching exception to break parts of the Inspector.
- <rdar://problem/13067806> REGRESSION: Timeline fail to record anything in some cases
- Reviewed by Antoine Quint.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.frameDidNavigate): If the frame isn't known, then
- create a new resource which will make a new frame. Mark is as loaded at the end too since we don't
- expect any more events about the load finishing for these frames.
- 2013-01-24 Timothy Hatcher <timothy@apple.com>
- Reduce the number layouts and style recalculations when switching views or updating
- the navigation bar when the selection changes.
- <rdar://problem/12975185> 30 second hang inspecting scrolling perf results page
- <rdar://problem/11349044> Changing element selection in the Web Inspector hangs
- for ~2s because JavaScript forces 27 layouts
- Reviewed by Joseph Pecoraro.
- * UserInterface/HierarchicalPathNavigationItem.js:
- (WebInspector.HierarchicalPathNavigationItem.prototype.set components): Use updateLayoutSoon.
- * UserInterface/NavigationBar.js:
- (WebInspector.NavigationBar.prototype.insertNavigationItem): Use updateLayoutSoon. Remove explicit
- call to _updateStyle and set _needsStyleUpdated instead.
- (WebInspector.NavigationBar.prototype.removeNavigationItem): Ditto.
- (WebInspector.NavigationBar.prototype.updateLayoutSoon): Added.
- (WebInspector.NavigationBar.prototype.updateLayoutSoon.update): Added.
- (WebInspector.NavigationBar.prototype.updateLayout): Clear _needsLayout. Call _updateStyle if
- _needsStyleUpdated is true.
- (WebInspector.NavigationBar.prototype._updateStyle): Clear _needsStyleUpdated.
- * UserInterface/NavigationItem.js:
- (WebInspector.NavigationItem.prototype.set hidden): Use updateLayoutSoon.
- 2013-01-24 Timothy Hatcher <timothy@apple.com>
- Show the resource and line info in the Initiator column, next to the function name.
- This helps further identify which file and line the event occurred on without needing
- to hover for the tooltip.
- Reviewed by Joseph Pecoraro.
- * UserInterface/LayoutTimelineDataGridNode.js:
- (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent): Add a subtitle
- element so the resource name is visible.
- * UserInterface/TimelinesContentView.css:
- (.content-view.timelines > .data-grid td .subtitle::before): Added. Show a emdash
- before the subtitle.
- 2013-01-23 Timothy Hatcher <timothy@apple.com>
- Make editing CSS resources work and update the page live.
- <rdar://problem/3143094> Edit-mode for resources (local substation of resources) (16440)
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleManager.js:
- (WebInspector.CSSStyleManager):
- (WebInspector.CSSStyleManager.prototype.noteStyleSheetChanged.gotStyleSheetText): Implement the FIXME.
- (WebInspector.CSSStyleManager.prototype._lookupStyleSheetIdentifiersForResource): Added.
- (WebInspector.CSSStyleManager.prototype._lookupStyleSheetIdentifiers): Added.
- (WebInspector.CSSStyleManager.prototype._setContentForStyleSheetIdentifier): Added.
- (WebInspector.CSSStyleManager.prototype._resourceContentDidChange): Added.
- (WebInspector.CSSStyleManager.prototype._resourceContentDidChange.applyStyleSheetChanges): Added.
- (WebInspector.CSSStyleManager.prototype._resourceContentDidChange.applyStyleSheetChanges.styleSheetIdentifiersFound): Added.
- * UserInterface/SourceCode.js:
- (WebInspector.SourceCode.prototype.set currentRevision): Fire ContentDidChange event.
- (WebInspector.SourceCode.prototype.revisionContentDidChange): Ditto.
- (WebInspector.SourceCode.prototype._processContent): Ignore content change events for original content.
- * UserInterface/SourceCodeRevision.js:
- (WebInspector.SourceCodeRevision.prototype.set content): Call revisionContentDidChange on SourceCode.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor): Listen for change event.
- (WebInspector.TextEditor.prototype.set string): Ignore change event when setting the string.
- (WebInspector.TextEditor.prototype.get readOnly): Added.
- (WebInspector.TextEditor.prototype.set readOnly): Added.
- (WebInspector.TextEditor.prototype._contentChanged): Added.
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView): Listen for SourceCode ContentDidChange event.
- (WebInspector.TextResourceContentView.prototype.closed): Remove ContentDidChange event listener.
- (WebInspector.TextResourceContentView.prototype._contentWillPopulate): Make editor writable for CSS.
- (WebInspector.TextResourceContentView.prototype._sourceCodeContentDidChange): Added. Update editor content.
- (WebInspector.TextResourceContentView.prototype._textEditorContentDidChange): Added. Update source code content.
- 2013-01-22 Timothy Hatcher <timothy@apple.com>
- Clean up how CSSStyleManager tracks stylesheet changes.
- Replaces _fireStyleSheetChanged with noteStyleSheetChanged and populates stylesheet
- identifiers for later use.
- <rdar://problem/3143094> Edit-mode for resources (local substation of resources) (16440)
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSProperty.js:
- (WebInspector.CSSProperty.prototype.callback): Use noteStyleSheetChanged instead of _fireStyleSheetChanged.
- (WebInspector.CSSProperty.prototype.setText): Ditto.
- (WebInspector.CSSProperty.prototype.setDisabled): Ditto.
- * UserInterface/CSSStyleDeclaration.js:
- (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt): Use noteStyleSheetChanged instead of _fireStyleSheetChanged.
- * UserInterface/CSSStyleManager.js:
- (WebInspector.CSSStyleManager):
- (WebInspector.CSSStyleManager.prototype.noteStyleSheetChanged): Added.
- (WebInspector.CSSStyleManager.prototype.noteStyleSheetChanged.gotStyleSheetText): Added.
- (WebInspector.CSSStyleManager.prototype.noteStyleSheetChanged.syleSheetsFetched): Added.
- (WebInspector.CSSStyleManager.prototype._fetchInfoForAllStyleSheets): Added. Populate the identifier maps.
- (WebInspector.CSSStyleManager.prototype.setRuleSelector): Use noteStyleSheetChanged instead of _fireStyleSheetChanged.
- (WebInspector.CSSStyleManager.prototype.addRule): Ditto.
- * UserInterface/CSSStyleSheet.js: Removed.
- * UserInterface/Main.html: Removed CSSStyleSheet.js.
- 2013-01-22 Timothy Hatcher <timothy@apple.com>
- Add a BranchManager class for tracking various branches.
- There are two initial branches -- Original and Working Copy. Currently
- the Working Copy is always the current branch, but this will be controllable
- from the user interface at some point.
- <rdar://problem/3143094> Edit-mode for resources (local substation of resources) (16440)
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/BranchManager.js: Added.
- (WebInspector.BranchManager):
- (WebInspector.BranchManager.prototype.get branches):
- (WebInspector.BranchManager.prototype.get currentBranch):
- (WebInspector.BranchManager.prototype.set currentBranch):
- (WebInspector.BranchManager.prototype.createBranch):
- (WebInspector.BranchManager.prototype.deleteBranch):
- * UserInterface/Main.html:
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Instantiate BranchManager.
- 2013-01-22 Timothy Hatcher <timothy@apple.com>
- Add a SourceCodeRevision class for recording changes to SourceCode objects.
- Offloads the the content and contentIsBase64Encoded properties to SourceCodeRevision.
- SourceCode now creates an original revision that holds the original content. In addition
- to the original revision, there is a current revision that can be set to point to different
- content based on the original.
- <rdar://problem/3143094> Edit-mode for resources (local substation of resources) (16440)
- Reviewed by Joseph Pecoraro.
- * UserInterface/Branch.js:
- (WebInspector.Branch.prototype.revisionForRepresentedObject): Added. Helper for finding or
- creating a new revision for an object.
- * UserInterface/Main.html:
- * UserInterface/SourceCode.js:
- (WebInspector.SourceCode):
- (WebInspector.SourceCode.prototype.get originalRevision): Added.
- (WebInspector.SourceCode.prototype.get currentRevision): Added.
- (WebInspector.SourceCode.prototype.set currentRevision): Added.
- (WebInspector.SourceCode.prototype.get content): Use currentRevision.
- (WebInspector.SourceCode.prototype.get contentIsBase64Encoded): Use currentRevision.
- (WebInspector.SourceCode.prototype._processContent): Set originalRevision content.
- * UserInterface/SourceCodeRevision.js: Added.
- (WebInspector.SourceCodeRevision):
- (WebInspector.SourceCodeRevision.prototype.get sourceCode):
- (WebInspector.SourceCodeRevision.prototype.get content):
- (WebInspector.SourceCodeRevision.prototype.set content):
- (WebInspector.SourceCodeRevision.prototype.get contentIsBase64Encoded):
- (WebInspector.SourceCodeRevision.prototype.set contentIsBase64Encoded):
- (WebInspector.SourceCodeRevision.prototype.apply): Set currentRevision to point to this.
- (WebInspector.SourceCodeRevision.prototype.revert): Set currentRevision to point to the original.
- (WebInspector.SourceCodeRevision.prototype.copy): Copy the content and create a new SourceCodeRevision.
- 2013-01-22 Timothy Hatcher <timothy@apple.com>
- Add a BranchManager class for tracking various branches.
- There are two initial branches -- Original and Working Copy. Currently
- the Working Copy is always the current branch, but this will be controllable
- from the user interface at some point.
- <rdar://problem/3143094> Edit-mode for resources (local substation of resources) (16440)
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/BranchManager.js: Added.
- (WebInspector.BranchManager):
- (WebInspector.BranchManager.prototype.get branches):
- (WebInspector.BranchManager.prototype.get currentBranch):
- (WebInspector.BranchManager.prototype.set currentBranch):
- (WebInspector.BranchManager.prototype.createBranch):
- (WebInspector.BranchManager.prototype.deleteBranch):
- * UserInterface/Main.html:
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Instantiate BranchManager.
- 2013-01-22 Timothy Hatcher <timothy@apple.com>
- Add a Branch and Revision class for tracking edits in the Inspector.
- These classes are not used yet and will be used in subsequent changes.
- A branch holds revisions that are differences from the original page.
- Concrete revision subclasses will know the specifics about the edited
- part of the page and how to apply or revert the change.
- <rdar://problem/3143094> Edit-mode for resources (local substation of resources) (16440)
- Reviewed by Joseph Pecoraro.
- * UserInterface/Branch.js: Added.
- (WebInspector.Branch):
- (WebInspector.Branch.prototype.get displayName):
- (WebInspector.Branch.prototype.set displayName):
- (WebInspector.Branch.prototype.get revisions):
- (WebInspector.Branch.prototype.get locked):
- (WebInspector.Branch.prototype.addRevision):
- (WebInspector.Branch.prototype.removeRevision):
- (WebInspector.Branch.prototype.reset):
- (WebInspector.Branch.prototype.apply):
- (WebInspector.Branch.prototype.revert):
- (WebInspector.Branch.prototype.lock):
- (WebInspector.Branch.prototype.unlock):
- * UserInterface/Main.html:
- * UserInterface/Revision.js: Added.
- (WebInspector.Revision):
- (WebInspector.Revision.prototype.apply):
- (WebInspector.Revision.prototype.revert):
- (WebInspector.Revision.prototype.copy):
- 2013-01-22 Timothy Hatcher <timothy@apple.com>
- Move contentURL from SourceCode to Resource since _mimeType is
- only available on Resource.
- Reviewed by Antoine Quint.
- * UserInterface/Resource.js:
- (WebInspector.Resource.prototype.get contentURL): Added.
- * UserInterface/SourceCode.js:
- (WebInspector.SourceCode.prototype.get contentURL): Removed.
- 2013-01-23 Antoine Quint <graouts@apple.com>
- <rdar://problem/13069440> Switching away from debugger using keyboard shortcut retains popover on screen
- Dismiss the popover upon hiding the debugger.
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype.hidden):
- 2013-01-23 Antoine Quint <graouts@apple.com>
- <rdar://problem/13059630> Move debugger popover display support to SourceCodeTextEditor
- Split code between TextEditor and SourceCodeTextEditor such that TextEditor handles all
- the user interaction and the interfacing with CodeMirror and notifies subclasses using
- the .tokenWasHovered() method and keeping the currently hovered token in .hoveredToken.
- This token contains the bounds of the hovered token as well as its expression, type,
- start and end characters information.
- Reviewed by Timothy Hatcher.
- * UserInterface/SourceCodeTextEditor.css:
- (.popover .debugger-popover-content):
- (.popover .expandable):
- (.popover .debugger-popover-content .title):
- (.popover .debugger-popover-content .body):
- (.popover .debugger-popover-content.function .body):
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor):
- (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange):
- (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointToggled):
- (WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
- (WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
- (WebInspector.SourceCodeTextEditor.prototype.tokenWasHovered.populate):
- (WebInspector.SourceCodeTextEditor.prototype.tokenWasHovered):
- (WebInspector.SourceCodeTextEditor.prototype._showPopover):
- (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction.didGetDetails):
- (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction):
- (WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject):
- (WebInspector.SourceCodeTextEditor.prototype._showPopoverForString):
- (WebInspector.SourceCodeTextEditor.prototype._showPopoverForNumber):
- (WebInspector.SourceCodeTextEditor.prototype.willDismissPopover):
- * UserInterface/TextEditor.css:
- (.text-editor > .CodeMirror .hovered-token-highlight):
- (@-webkit-keyframes text-editor-hovered-token-highlight-fadeout):
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor):
- (WebInspector.TextEditor.prototype.startTrackingTokenHovering):
- (WebInspector.TextEditor.prototype.stopTrackingTokenHovering):
- (WebInspector.TextEditor.prototype.handleEvent):
- (WebInspector.TextEditor.prototype.highlightHoveredToken):
- (WebInspector.TextEditor.prototype.removeHighlightOnHoveredToken):
- (WebInspector.TextEditor.prototype.tokenWasHovered):
- (WebInspector.TextEditor.prototype._openClickedLinks):
- (WebInspector.TextEditor.prototype._mouseMovedOverEditor):
- (WebInspector.TextEditor.prototype._mouseMovedOutOfEditor):
- (WebInspector.TextEditor.prototype._checkHoveredToken):
- 2013-01-22 Antoine Quint <graouts@apple.com>
- <rdar://problem/13059425> Console filters should persist across sessions
- Make ScopeBarItem save their selected state in a WebInspector.Setting that
- we read from to set the initial state. This change requires consumers of the
- ScopeBar class to ensure they don't just rely on selection change events
- but also run an initial update to match selected ScopeBarItems upon creation,
- so we update LogContentView to do this.
- Reviewed by Timothy Hatcher.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView):
- (WebInspector.LogContentView.prototype._scopeBarSelectionDidChange):
- * UserInterface/ScopeBar.js:
- (WebInspector.ScopeBar):
- (WebInspector.ScopeBar.prototype.get selectedItems):
- (WebInspector.ScopeBar.prototype._populate):
- (WebInspector.ScopeBar.prototype._itemSelectionDidChange):
- * UserInterface/ScopeBarItem.js:
- (WebInspector.ScopeBarItem):
- (WebInspector.ScopeBarItem.prototype.get selected):
- (WebInspector.ScopeBarItem.prototype.setSelected):
- (WebInspector.ScopeBarItem.prototype._markElementSelected):
- 2013-01-22 Antoine Quint <graouts@apple.com>
- <rdar://problem/11651957> REGRESSION (Safari 6): Does not show var value on hover in the debugger
- Display a popover for any variable or function definition in the text editor
- hovered long enough (500ms) during a debugging session. The popover contains
- the expression as evaluated by the DebuggerAgent. Each value type has a specialized
- display as borrowed from OpenSource code (from ObjectPopoverHelper) and adapted to fit
- our coding style.
- We do a fair bit of nifty work to avoid unwanted actions. For instance, we track mouseout
- events to identify when the user mouses out of the editor so that we can reset the hover
- state and avoid having whatever was the last hovered token show a popover even though we
- may have exited the editor along the way. Additionally, we track the pressed state of the
- mouse button to avoid having the popover show during a selection.
- We're also making various enhancements to the Popover class to support the attachment of
- popovers to tokens in the TextEditor as the debugger is paused. Here are the highlights:
- - adopt UIKit-like terminology for present/dismiss methods.
- - let consumers of the Popover API provide bounds instead of an element as a reference to
- which the popover should be attached, removing the dependency on having an element to work with.
- - make the popover's element private since it really needs not to be customised as presentation
- is fully managed by the popover itself, however allow a `content` element to be provided to
- the .present() method and letting the popover host it as needed.
- - no longer remove the popover on window blur as OpenSource leaves it on display and it makes
- debugging of the popover difficult.
- - handle padding of the popover frame in code for computations of the tighter bounding box
- as we can't have it done in CSS until we already know what edge we end up using for the popover.
- - begin to offer a delegation protocol for popovers, right now willDismiss / didDismiss.
- - horizontal and vertically align content that is smaller than the minimal bounds of the popover.
- Reviewed by Joseph Pecoraro and Timothy Hatcher.
- * UserInterface/Main.html:
- * UserInterface/Popover.css:
- (.popover):
- (.popover > .container):
- (.popover > .container.center):
- (.popover.arrow-up > .container):
- (.popover.arrow-right > .container):
- (.popover.arrow-down > .container):
- (.popover.arrow-left > .container):
- * UserInterface/Popover.js:
- (WebInspector.Popover):
- (WebInspector.Popover.prototype.set frame):
- (WebInspector.Popover.prototype.present):
- (WebInspector.Popover.prototype.dismiss):
- (WebInspector.Popover.prototype.handleEvent):
- (WebInspector.Popover.prototype._cssClassNameForEdge):
- (WebInspector.Popover.prototype._bestFrameForEdge):
- * UserInterface/TextEditor.css:
- (.text-editor > .CodeMirror .popover-highlight):
- (@-webkit-keyframes text-editor-popover-highlight-fadeout):
- (to):
- (.popover .debugger-popover-content):
- (.popover .expandable):
- (.popover .debugger-popover-content .title):
- (.popover .debugger-popover-content .body):
- (.popover .debugger-popover-content.function .body):
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor):
- (WebInspector.TextEditor.prototype._openClickedLinks):
- (WebInspector.TextEditor.prototype._debuggerDidPause):
- (WebInspector.TextEditor.prototype._debuggerDidResume):
- (WebInspector.TextEditor.prototype._debuggerActiveCallFrameDidChange):
- (WebInspector.TextEditor.prototype.handleEvent):
- (WebInspector.TextEditor.prototype._mouseMovedOverEditor):
- (WebInspector.TextEditor.prototype._mouseMovedOutOfEditor):
- (WebInspector.TextEditor.prototype._mouseButtonWasPressedOverEditor):
- (WebInspector.TextEditor.prototype._mouseButtonWasReleasedOverEditor):
- (WebInspector.TextEditor.prototype._windowLostFocus):
- (WebInspector.TextEditor.prototype._tokenWasHovered):
- (WebInspector.TextEditor.prototype._populateCallback):
- (WebInspector.TextEditor.prototype._showPopover):
- (WebInspector.TextEditor.prototype._showPopoverForFunction.didGetDetails):
- (WebInspector.TextEditor.prototype._showPopoverForFunction):
- (WebInspector.TextEditor.prototype._showPopoverForObject):
- (WebInspector.TextEditor.prototype._showPopoverForString):
- (WebInspector.TextEditor.prototype._showPopoverForNumber):
- (WebInspector.TextEditor.prototype.willDismissPopover):
- 2013-01-22 Antoine Quint <graouts@apple.com>
- <rdar://problem/12243633> REGRESSION (Safari 6): Console missing type filters
- Adding a new ScopeBar subclass of NavigationItem to allow the display of scope
- options in a navigation bar. Use this new class in LogContentView to display
- All / Errors / Warnings / Logs options in the right part of the view's navigation bar.
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems):
- * UserInterface/LogContentView.css:
- (.console-messages.supress-logs .console-log-level):
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView):
- (WebInspector.LogContentView.prototype.get navigationItems):
- (WebInspector.LogContentView.prototype._clearLog):
- (WebInspector.LogContentView.prototype._scopeBarSelectionDidChange.toggle):
- (WebInspector.LogContentView.prototype._scopeBarSelectionDidChange):
- * UserInterface/Main.html:
- * UserInterface/ScopeBar.css: Added.
- (.scope-bar):
- (.scope-bar > li):
- (.scope-bar > li:active):
- (.scope-bar > li:hover):
- (.scope-bar > li.selected):
- * UserInterface/ScopeBar.js: Added.
- (WebInspector.ScopeBar):
- (WebInspector.ScopeBar.prototype.item):
- (WebInspector.ScopeBar.prototype._populate):
- (WebInspector.ScopeBar.prototype._itemSelectionDidChange):
- * UserInterface/ScopeBarItem.js: Added.
- (WebInspector.ScopeBarItem):
- (WebInspector.ScopeBarItem.prototype.get element):
- (WebInspector.ScopeBarItem.prototype.get selected):
- (WebInspector.ScopeBarItem.prototype.set selected):
- (WebInspector.ScopeBarItem.prototype.setSelected):
- (WebInspector.ScopeBarItem.prototype._clicked):
- 2013-01-17 Antoine Quint <graouts@apple.com>
- <rdar://problem/13006824> Provide a Popover class
- Basic Popover class to allow the display of any HTML content within a popover.
- The public API of this class is very simple. Use .showRelativeToElement(element, preferredEdge)
- to display the popover pointing to the provided target element with the provided edge as the
- preferred edge of the target element towards which the popover's arrow should point to.
- The method will check whether it can honour the edge preference based on the available screen
- real estate. As it stands, the popover will constrain its display to the entire Web Inspector
- window, but it could easily be made to match a more constrained space with a new WebInspector.Rect
- parameter or Element reference.
- You can then use .close() to dismiss the popover with an animated transition, although the popover
- will automatically dismiss itself upon user interaction initiated outside of the popover's bounds
- or when the Web Inspector window is no longer focused.
- Additionally, the necessary geometry functions for the Popover class is taken from iAd JS and adapted
- here to fit with the Web Inspector coding style.
- Reviewed by Joseph Pecoraro.
- * UserInterface/Geometry.js: Added.
- (WebInspector.Point):
- (WebInspector.Point.fromEvent):
- (WebInspector.Point.fromEventInElement):
- (WebInspector.Point.prototype.toString):
- (WebInspector.Point.prototype.copy):
- (WebInspector.Point.prototype.equals):
- (WebInspector.Size):
- (WebInspector.Size.prototype.toString):
- (WebInspector.Size.prototype.copy):
- (WebInspector.Size.prototype.equals):
- (WebInspector.Rect):
- (WebInspector.Rect.rectFromClientRect):
- (WebInspector.Rect.prototype.toString):
- (WebInspector.Rect.prototype.copy):
- (WebInspector.Rect.prototype.equals):
- (WebInspector.Rect.prototype.inset):
- (WebInspector.Rect.prototype.minX):
- (WebInspector.Rect.prototype.minY):
- (WebInspector.Rect.prototype.midX):
- (WebInspector.Rect.prototype.midY):
- (WebInspector.Rect.prototype.maxX):
- (WebInspector.Rect.prototype.maxY):
- (WebInspector.Rect.prototype.intersectionWithRect):
- (WebInspector.EdgeInsets):
- (WebInspector.EdgeInsets.prototype.equals):
- (WebInspector.EdgeInsets.prototype.copy):
- * UserInterface/Popover.css: Added.
- (.popover):
- (.popover.arrow-up):
- (.popover.arrow-right):
- (.popover.arrow-down):
- (.popover.arrow-left):
- (.popover.fade-out):
- * UserInterface/Popover.js: Added.
- (WebInspector.Popover):
- (WebInspector.Popover.prototype.get element):
- (WebInspector.Popover.prototype.get frame):
- (WebInspector.Popover.prototype.set frame):
- (WebInspector.Popover.prototype.area):
- (WebInspector.Popover.prototype.showRelativeToElement):
- (WebInspector.Popover.prototype.close):
- (WebInspector.Popover.prototype.handleEvent):
- (WebInspector.Popover.prototype._drawBackground):
- (WebInspector.Popover.prototype._bestFrameForEdge):
- (WebInspector.Popover.prototype._drawFrame):
- 2013-01-11 Antoine Quint <graouts@apple.com>
- <rdar://problem/10015674> REGRESSION (Safari 5): Option-click on a disclosure triangle does not deep-expand a DOM subtree (66868)
- Up to now, the TreeElement.prototype.expandRecursively() method would correctly
- expand children recursively based on the provided depth, but would not wait to
- perform this task until all child nodes had been populated, which means that this
- would only work incrementally with one additional level of child nodes being shown
- expanded in the DOM tree upon alt+clicking a given node with a deep hierarchy.
-
- In order to fix this, we rely on the newly added optional argument to DOMAgent's
- requestChildNodes() method to provide the depth at which we want to retrieve children
- of a given node (see http://trac.webkit.org/changeset/139429). The DOMAgent provides
- a new .getSubtree() method that calls requestChildNodes() with the provided depth.
- Then in DOMTreeElement, we subclass .expandRecursively() to first call DOMAgent's
- new .getSubtree() method and then call the default implementation when all nodes
- have been retrieved from the backend.
- Reviewed by Timothy Hatcher.
- * UserInterface/DOMNode.js:
- (WebInspector.DOMNode.prototype.):
- (WebInspector.DOMNode.prototype.getSubtree): New method allowing to specify at what
- depth we want to retrieve children of a given node from the backend.
- * UserInterface/DOMTreeElement.js:
- (WebInspector.DOMTreeElement.prototype.expandRecursively): Override default implementation
- to first obtain the deepest subtree for the current node so that deep expansion happens
- as expected.
- * UserInterface/InspectorBackendCommands.js: Register the new optional `depth` parameter
- for DOMAgent's .requestChildNodes().
- 2013-01-07 Joseph Pecoraro <pecoraro@apple.com>
- Drive by style fix. Add super constructor call to CSSStyleManager.
- Reviewed by Antoine Quint.
- * UserInterface/CSSStyleManager.js:
- (WebInspector.CSSStyleManager):
- No functional difference, but I just noticed a missing call.
- 2013-01-07 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/12967231> extract-localizable-js-strings should warn about improper WebInspector.UIString uses
- Reviewed by David Kilzer.
- * Localizations/en.lproj/localizedStrings.js:
- Add missing strings.
- * UserInterface/ApplicationCacheFrameContentView.js:
- (WebInspector.ApplicationCacheFrameContentView.prototype._updateCallback):
- Remove a comment containing a UIString call. This is not needed for Safari.
- * UserInterface/DatabaseContentView.js:
- (WebInspector.DatabaseContentView.prototype._queryError):
- Use WebInspector.UIString("...").format syntax so the string is not missed.
- 2013-01-07 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/12964366> LayerTreeSidebarPanel._buildLayerInfoSection is too clever for update-safari-localizable-string / extract-localizable-js-strings
- Reviewed by David Kilzer.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/LayerTreeSidebarPanel.js:
- (WebInspector.LayerTreeSidebarPanel.prototype._buildLayerInfoSection):
- (WebInspector.LayerTreeSidebarPanel.prototype._updateLayerInfoSection):
- Ensure all WebInspector.UIString uses contain a string literal, which
- is what extract-localizable-js-strings expects.
- 2013-01-04 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/12961674> Resizing QuickConsole drawer may need to refresh CodeMirror editor for new visible size
- The CodeMirror TextEditor only has DOM elements for visible lines, with
- some buffer. It needs to be updated when the visible (scroll dimensions)
- of its content area are updated. The content view's dimensions flex with
- the size of the QuickConsole. So, when the QuickConsole resizes we
- should update the layout of the content browser.
- Reviewed by Antoine Quint.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- (WebInspector._quickConsoleDidResize):
- Observe when the quick console resizes and update the layout of the content browser.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole.prototype._updateViewContainerSizeAndScrollDivider):
- (WebInspector.QuickConsole.prototype._isResizing):
- Whenever we resize we go through this method. Dispatch the resize event.
- We may take the early path if we are resizing manually, in that case the
- new height would have been set in the mouse handler.
- * UserInterface/ScriptContentView.js:
- (WebInspector.ScriptContentView.prototype.updateLayout):
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView.prototype.updateLayout):
- In content views containing text editors be sure to pass update layout
- on to the text editor to refresh the CodeMirror editor.
- 2013-01-04 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/12961455> "No Style Properties" text in styles HTML Attributes sidebar should not be monospace
- Adjust the styles for the sidebar so that things look a bit nicer.
- Reviewed by Antoine Quint.
- * UserInterface/CSSStyleDetailsSidebarPanel.css:
- (.sidebar > .panel.details.css-style .styles-section):
- Make the minimum size 17px. This makes the HTML attributes section not
- look like there is extra padding at the bottom. This also reduces the
- height of empty sections a bit, saving vertical space.
- * UserInterface/DetailsSection.css:
- (.details-section > .content > .group > .row.empty.syntax-highlighted):
- The HTML Attributes section is .syntax-highlighted. Ignore the fonts it
- sets and revert back to the normal details section font.
- (.details-section > .content > .group > .row.properties:not(.empty)):
- Remove extra padding on properties sections when its the empty message.
- 2013-01-04 Joseph Pecoraro <pecoraro@apple.com>
- Skip document nodes when searching.
- Reviewed by Antoine Quint.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.performSearch.domSearchResults):
- (WebInspector.ResourceSidebarPanel.prototype.performSearch.domCallback):
- (WebInspector.ResourceSidebarPanel.prototype.performSearch):
- 2013-01-04 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/12956057> REGRESSION: Cannot develop nodes in the DOM tree inspector for dynamically-generated content (106080)
- Handle a null ownerDocument to avoid an error. This worked previously
- because each backend message was dispatched individually via setInterval.
- Now however, they are batched after a setTimeout so an earlier uncaught
- exception can break / prevent handling of other messages in that batch.
- Reviewed by Ricky Mondello.
- * UserInterface/DOMTreeElement.js:
- (WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
- 2013-01-04 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/12959910> Uncaught Error in LayerTreeSidebar breaks all right sidebars
- In SidebarPanel.prototype.hidden the parentSidebar might be null. In
- those cases, LayerTreeSidebarPanel could cause an error that would
- make changing the right sidebar impossible.
- The error was happening if the sidebar panel was removed instead of
- being hidden. Removed meaning the content view changes and the sidebar
- panel is no longer relevant. Hidden meaning the user just switched
- to a different sidebar panel.
- The fix checks if parentSidebar exists when the panel is being hidden,
- but we also make sure to remove our event listener if the parentSidebar
- is being cleared with a new willRemove method.
- Reviewed by Antoine Quint.
- * UserInterface/Sidebar.js:
- (WebInspector.Sidebar.prototype.removeSidebarPanel):
- * UserInterface/SidebarPanel.js:
- (WebInspector.SidebarPanel.prototype.willRemove):
- Give the sidebar panel an opportunity to handle the parentSidebar being cleared.
- * UserInterface/LayerTreeSidebarPanel.js:
- (WebInspector.LayerTreeSidebarPanel.prototype.shown):
- Assert that there is a parent sidebar when we are shown.
- (WebInspector.LayerTreeSidebarPanel.prototype.hidden):
- If there is a parent sidebar and we are hidden, the user is just switching
- sidebars, and we can remove the listener.
- (WebInspector.LayerTreeSidebarPanel.prototype.willRemove):
- If the parent sidebar is being cleared remove our listener, if it existed.
- 2013-01-05 Dan Bernstein <mitz@apple.com>
- Updated localizable strings.
- * Localizations/en.lproj/localizedStrings.js: Let update-safari-localizable-string
- remove one entry and one empty line.
- 2012-12-20 Antoine Quint <graouts@apple.com>
- Add missing localizedString that I forgot in the previous patch for
- <rdar://problem/12908978> Layer Tree: resize data grid upon width change.
- * Localizations/en.lproj/localizedStrings.js:
- 2012-12-19 Antoine Quint <graouts@apple.com>
- <rdar://problem/12908978> Layer Tree: resize data grid upon width change
- Listen to width change events on the parent sidebar as the layer tree panel
- is shown, and do the opposite operation when it's hidden. Upon a width change,
- call .autoSizeColumns() on the data grid so that the separators are correctly
- positioned.
- In this patch we also change the string used to show the paint count from
- "Paint Count" to "Paints" which makes the data grid look much better.
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/LayerTreeSidebarPanel.js:
- (WebInspector.LayerTreeSidebarPanel.prototype.shown):
- (WebInspector.LayerTreeSidebarPanel.prototype.hidden):
- (WebInspector.LayerTreeSidebarPanel.prototype._widthDidChange):
- (WebInspector.LayerTreeSidebarPanel.prototype._buildLayerInfoSection):
- (WebInspector.LayerTreeSidebarPanel.prototype._buildDataGridSection):
- (WebInspector.LayerTreeSidebarPanel.prototype._updateLayerInfoSection):
- 2012-12-19 Antoine Quint <graouts@apple.com>
- <rdar://problem/12646424> Show redraw counts in layer tree inspector
- Simply add a new "Paint Count" field in the layer info and data grid to display
- the contents of the .paintCount property provided by the back-end, which had already
- landed in WebCore with <rdar://problem/12882763>.
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/LayerTreeDataGridNode.js:
- (WebInspector.LayerTreeDataGridNode.prototype.set layer):
- * UserInterface/LayerTreeSidebarPanel.js:
- (WebInspector.LayerTreeSidebarPanel.prototype._buildLayerInfoSection):
- (WebInspector.LayerTreeSidebarPanel.prototype._buildDataGridSection):
- (WebInspector.LayerTreeSidebarPanel.prototype._updateLayerInfoSection):
- 2012-12-19 Antoine Quint <graouts@apple.com>
- <rdar://problem/12031104> Show which elements are layer-backed
- This is the front-end part of the work started on the backend with
- https://bugs.webkit.org/show_bug.cgi?id=103513. We now provide a
- new details sidebar for the inspected element which lists the characteristics
- of its backing RenderLayer (metrics, amount of memory used and whether it is
- composited in hardware) and all child RenderLayers, with the option of only
- showing layers composited in hardware. At the bottom of the pane, we also have
- a status bar indicating the total number of layers for the selected node and
- its descendants as well as the total amount of memory used.
- The list of child layers allows the developer to select a node to see it
- highlighted on the page, and to click an arrow icon to jump to the layer's
- associated node in the DOM tree.
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/InspectorBackendCommands.js:
- * UserInterface/LayerTreeDataGridNode.js: Added. DataGridNode custom subclass for the type of data grid nodes
- we show in the child layers data grid.
- (WebInspector.LayerTreeDataGridNode):
- (WebInspector.LayerTreeDataGridNode.prototype.createCellContent):
- (WebInspector.LayerTreeDataGridNode.prototype.set layer):
- (WebInspector.LayerTreeDataGridNode.prototype._createNodeCellContent):
- (WebInspector.LayerTreeDataGridNode.prototype._goToArrowWasClicked):
- * UserInterface/LayerTreeManager.js: Added.
- (WebInspector.LayerTreeManager):
- (WebInspector.LayerTreeManager.prototype.get supported):
- (WebInspector.LayerTreeManager.prototype.layerTreeMutations): Obtain the complete
- list of mutations between two flattened layer trees.
- (WebInspector.LayerTreeManager.prototype.refreshLayerTree): Retrieve the current layer
- tree from the backend, eventually triggering a layerTreeDidChange event as a result.
- (WebInspector.LayerTreeManager.prototype.flattenedLayerTree):
- (WebInspector.LayerTreeManager.prototype.):
- (WebInspector.LayerTreeManager.prototype.layersForNode): Obtain the layer associated to
- the provided node, if any, and a list of child layers, if any.
- (WebInspector.LayerTreeManager.prototype.layerTreeDidChange):
- (WebInspector.LayerTreeManager.prototype.var):
- (WebInspector.LayerTreeManager.prototype._obtainNodeIdsForLayerIds): Obtain the node ids
- for the provided layer ids from the backend.
- * UserInterface/LayerTreeObserver.js: Added.
- (WebInspector.LayerTreeObserver): Listen to "layerTreeDidChange" events triggered by the
- LayerTreeAgent exposed by WebCore.
- (WebInspector.LayerTreeObserver.prototype.layerTreeDidChange): Inform the layer tree manager
- that the layer tree has changed.
- * UserInterface/LayerTreeSidebarPanel.css: Added.
- * UserInterface/LayerTreeSidebarPanel.js: Added.
- (WebInspector.LayerTreeSidebarPanel):
- (WebInspector.LayerTreeSidebarPanel.prototype.shown):
- (WebInspector.LayerTreeSidebarPanel.prototype.hidden):
- (WebInspector.LayerTreeSidebarPanel.prototype.refresh):
- (WebInspector.LayerTreeSidebarPanel.prototype.supportsDOMNode): Element nodes only are supported.
- (WebInspector.LayerTreeSidebarPanel.prototype._layerTreeDidChange): Event handler for the
- "layerTreeDidChange" triggered by the layer tree manager.
- (WebInspector.LayerTreeSidebarPanel.prototype._buildCheckbox): Build the checkbox controlling
- the option to only show layers composited in hardware.
- (WebInspector.LayerTreeSidebarPanel.prototype._buildLayerInfoSection): Build the top section
- containing information about the inspected node's layer, if any.
- (WebInspector.LayerTreeSidebarPanel.prototype._buildDataGridSection): Build the middle section
- containing the data grid showing the list of child layers, if any.
- (WebInspector.LayerTreeSidebarPanel.prototype._buildBottomBar): Build the status bar displayed
- at the bottom showing the total number of layers for the inspected node and the amount of
- memory used.
- (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid.comparator):
- (WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid):
- (WebInspector.LayerTreeSidebarPanel.prototype._selectedDataGridNodeChanged):
- (WebInspector.LayerTreeSidebarPanel.prototype._dataGridGainedFocus):
- (WebInspector.LayerTreeSidebarPanel.prototype._dataGridLostFocus):
- (WebInspector.LayerTreeSidebarPanel.prototype._dataGridWasClicked):
- (WebInspector.LayerTreeSidebarPanel.prototype._highlightSelectedNode):
- (WebInspector.LayerTreeSidebarPanel.prototype._updateDataGridFilter):
- (WebInspector.LayerTreeSidebarPanel.prototype._updateDisplayWithLayers): Callback for the call
- made to .layersForNode() on the manager, triggers an update of all of the information reported
- in the panel.
- (WebInspector.LayerTreeSidebarPanel.prototype._updateLayerInfoSection): Update only the top section.
- (WebInspector.LayerTreeSidebarPanel.prototype._updateDataGrid): Update only the data grid.
- (WebInspector.LayerTreeSidebarPanel.prototype._dataGridNodeForLayer): Generate a node for the data
- grid for the provided layer.
- (WebInspector.LayerTreeSidebarPanel.prototype._updateMetrics): Update only the bottom status bar.
- * UserInterface/Main.html:
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- 2012-12-04 Timothy Hatcher <timothy@apple.com>
- Prevent lines from highlighting again if the user scrolls with a line highlighted.
- This switches off of a webkitAnimationEnd event listener because the line element might
- be removed if the user scrolls during the animation. In that case webkitAnimationEnd isn't
- fired, and the line would highlight again the next time it scrolls into view.
- Reviewed by Ricky Mondello.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.removeStyleClass): Removed event listener code.
- (WebInspector.TextEditor.prototype.revealAndHighlightLine): Schedule a timeout instead
- of an event listener.
- 2012-12-04 Timothy Hatcher <timothy@apple.com>
- Delay revealing a line until visible and the line exists.
- This regressed when we switched to CodeMirror.
- Reviewed by Joseph Pecoraro.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.set string.update): Call _revealPendingLineIfPossible.
- (WebInspector.TextEditor.prototype.shown.update): Call _revealPendingLineIfPossible.
- (WebInspector.TextEditor.prototype._revealPendingLineIfPossible): Store the line number
- and requested range until visible and the line exists.
- 2012-12-03 Dean Jackson <dino@apple.com>
- Followup on <rdar://problem/11492568> Show shadow DOM elements
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: New string for "Shadow Content".
- * UserInterface/DOMNode.js:
- (WebInspector.DOMNode): Only create the _shadowRoots if necessary.
- (WebInspector.DOMNode.prototype.hasChildNodes): Test for existence of _shadowRoots.
- (WebInspector.DOMNode.prototype.hasShadowRoots): Ditto.
- (WebInspector.DOMNode.prototype._insertChild): Ditto.
- (WebInspector.DOMNode.prototype._setChildrenPayload): Ditto.
- * UserInterface/DOMNodeDetailsSidebarPanel.js:
- (WebInspector.DOMNodeDetailsSidebarPanel.prototype._nodeTypeDisplayName): Handle Document Fragment in switch.
- * UserInterface/DOMTreeElement.js: Use new UIString.
- * UserInterface/DOMTreeElementPathComponent.js: Handle Document Fragment in switch.
- (WebInspector.DOMTreeElementPathComponent):
- 2012-12-03 Dean Jackson <dino@apple.com>
- Allow inspection of Shadow DOM elements in Web Inspector
- <rdar://problem/11492568> Show shadow DOM elements
- Reviewed by Tim Hatcher.
- Add the Shadow DOM fragments to the DOM tree view. This allows
- us to inspect things like HTML5 Media captions and controls.
- Expose the setting via a checkbox in the context menu on the DOM
- tree view (which requires a reload if changed). Luckily the
- inspector protocol already provided all the Shadow DOM data so
- this was purely a UI change.
- * Localizations/en.lproj/localizedStrings.js: New menu item.
- * UserInterface/DOMNode.js:
- (WebInspector.DOMNode): New parameter to constructor: "isInShadowTree".
- (WebInspector.DOMNode.prototype.hasChildNodes): Check for shadow children too.
- (WebInspector.DOMNode.prototype.hasShadowRoots): New method.
- (WebInspector.DOMNode.prototype.isInShadowTree): New method.
- (WebInspector.DOMNode.prototype._insertChild): Inherit the shadow state as constructing children.
- (WebInspector.DOMNode.prototype._setChildrenPayload): Ditto.
- * UserInterface/DOMObserver.js:
- (WebInspector.DOMObserver.prototype.shadowRootPushed): Answer the protocol calls.
- (WebInspector.DOMObserver.prototype.shadowRootPopped): Ditto.
- * UserInterface/DOMTreeElement.js:
- (WebInspector.DOMTreeElement.prototype._buildTagDOM): Document Fragments get a special style if they are shadow root elements.
- (WebInspector.DOMTreeElement.prototype._singleTextChild): Return early if in shadow DOM.
- * UserInterface/DOMTreeManager.js:
- (WebInspector.DOMTreeManager.prototype._setDocument): Use new parameter when constructing DOMNode.
- (WebInspector.DOMTreeManager.prototype._setDetachedRoot): Ditto.
- * UserInterface/DOMTreeOutline.js:
- (WebInspector.DOMTreeOutline):
- (WebInspector.DOMTreeOutline.prototype.populateContextMenu): Add a new checkbox to toggle the Shadow DOM visibility.
- (WebInspector.DOMTreeOutline.prototype._populateContextMenu):
- (WebInspector.DOMTreeOutline.prototype._toggleShowShadowDOM):
- * UserInterface/LogContentView.css:
- (.webkit-html-fragment.shadow): New style for shadow root fragments.
- 2012-12-02 Timothy Hatcher <timothy@apple.com>
- Linkify "src" and "href" attributes in HTML/SVG/XML resources.
- This extends the XML tokenizer to change the style of the string following
- "src" and "href" attributes into links.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CodeMirrorAdditions.js:
- (tokenizeLinkString): Added.
- (tokenizeEndOfLinkString): Added.
- (extendedXMLToken): Added.
- * UserInterface/SyntaxHighlightingDefaultTheme.css:
- (.cm-s-default .cm-link): Added.
- (.cm-s-default .cm-link:hover): Added.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor): Added click event listener for _openClickedLinks.
- (WebInspector.TextEditor.prototype._openClickedLinks): Added.
- 2012-11-30 Timothy Hatcher <timothy@apple.com>
- Use CodeMirror to syntax highlight strings used for the DOM tree.
- Reviewed by Joseph Pecoraro.
- * UserInterface/SyntaxHighlightingSupport.js:
- (WebInspector.syntaxHighlightStringAsDocumentFragment): Use CodeMirror.runMode.
- (WebInspector.syntaxHighlightStringAsDocumentFragment.appendText): Added. Create nodes based on the style.
- 2012-11-30 Timothy Hatcher <timothy@apple.com>
- Use WebInspector.CSSKeywordCompletions instead of WebInspector.SourceTokenizer to decide what
- is a keyword in the Style details sidebar.
- Reviewed by Jon Honeycutt.
- * UserInterface/StylePropertyTreeElement.js:
- (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Get the keywords.
- (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processKeyword): Use the keywords
- for the current property.
- 2012-11-30 Timothy Hatcher <timothy@apple.com>
- Hook up issues using CodeMirror.
- Reviewed by Joseph Pecoraro.
- * UserInterface/SourceCodeTextEditor.css:
- (.source-code.text-editor > .CodeMirror .error): Renamed.
- (.source-code.text-editor > .CodeMirror .warning): Renamed.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype._contentWillPopulate): Moved issue population from here.
- (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate): ... to here.
- (WebInspector.SourceCodeTextEditor.prototype._issueWasAdded): Call _addIssue.
- (WebInspector.SourceCodeTextEditor.prototype._addIssue): Renamed from _addIssueToLine. Use
- addStyleClassToLine to add the styles.
- (WebInspector.SourceCodeTextEditor.prototype._addIssueToLineNumberMap): Merged with _addIssue.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.addStyleClassToLine): Added.
- (WebInspector.TextEditor.prototype.removeStyleClassFromLine): Added.
- (WebInspector.TextEditor.prototype.toggleStyleClassForLine): Added.
- 2012-11-30 Timothy Hatcher <timothy@apple.com>
- Hook up breakpoints using CodeMirror.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CodeMirrorAdditions.js: Added hasLineClass and toggleLineClass extensions.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype._contentWillPopulate): Call setBreakpointInfoForLine
- for each breakpoint.
- (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointInfo): Removed.
- (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointRemoved): Removed delete here
- since calling removeBreakpoint will fire an event that causes us to delete the breakpoint.
- Deleting early was causing an assert in the event handler.
- * UserInterface/TextEditor.css:
- (.text-editor > .CodeMirror .has-breakpoint:not(.breakpoint-disabled) .CodeMirror-linenumber): Added.
- (.text-editor > .CodeMirror .has-breakpoint .CodeMirror-linenumber::before): Added.
- (.text-editor > .CodeMirror .breakpoint-resolved .CodeMirror-linenumber::before): Added.
- (.text-editor > .CodeMirror .breakpoint-disabled .CodeMirror-linenumber::before): Added.
- (.text-editor > .CodeMirror .execution-line .CodeMirror-linenumber::after): Added.
- (.text-editor > .CodeMirror .execution-line pre): Added.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor): Added "gutterClick" event listener.
- (WebInspector.TextEditor.prototype.set string):
- (WebInspector.TextEditor.prototype.set string.updateStyles): Update the execution line and breakpoints
- now that we might have content for that line.
- (WebInspector.TextEditor.prototype.get executionLineNumber):
- (WebInspector.TextEditor.prototype.set executionLineNumber):
- (WebInspector.TextEditor.prototype.setBreakpointInfoForLine):
- (WebInspector.TextEditor.prototype._updateExecutionLine): Added.
- (WebInspector.TextEditor.prototype._addBreakpointToLineWithInfo): Added.
- (WebInspector.TextEditor.prototype._setBreakpointStylesOnLineWithInfo): Added.
- (WebInspector.TextEditor.prototype._removeBreakpointFromLine.updateStyles): Added.
- (WebInspector.TextEditor.prototype._removeBreakpointFromLine): Added.
- (WebInspector.TextEditor.prototype._gutterMouseDown): Added.
- (WebInspector.TextEditor.prototype._documentMouseMoved): Added.
- (WebInspector.TextEditor.prototype._documentMouseUp): Added.
- 2012-11-30 Timothy Hatcher <timothy@apple.com>
- Hook up search using CodeMirror.
- Reviewed by Joseph Pecoraro.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype.customPerformSearch): Move off of textContent and AttributedString.
- Use addSearchResults instead of the individual addSearchResultRange.
- * UserInterface/TextEditor.css:
- (.text-editor .bouncy-highlight): Added.
- (@-webkit-keyframes text-editor-bouncy): Added.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.performSearch): Create a search cursor.
- (WebInspector.TextEditor.prototype.performSearch.batchSearch): Use the search cursor to find matches in
- the slow path. Stop using _textContent.
- (WebInspector.TextEditor.prototype.addSearchResults): Renamed from addSearchResultRange.
- (WebInspector.TextEditor.prototype.addSearchResults.markRanges): Added. Mark the ranges in a CodeMirror
- operation to get better performance.
- (WebInspector.TextEditor.prototype.searchCleared): Clear the marked text ranges.
- (WebInspector.TextEditor.prototype.revealPreviousSearchResult): Call _revealSearchResult.
- (WebInspector.TextEditor.prototype.revealNextSearchResult): Ditto.
- (WebInspector.TextEditor.prototype.line): Added.
- (WebInspector.TextEditor.prototype._revealSearchResult): Added.
- (WebInspector.TextEditor.prototype._revealSearchResult.animationEnded): Added.
- 2012-11-30 Timothy Hatcher <timothy@apple.com>
- Hook up the basics of CodeMirror in TextEditor.
- Reviewed by Joseph Pecoraro.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype.textEditorLineContentUpdated): Removed.
- * UserInterface/SyntaxHighlightingDefaultTheme.css: Added CodeMirror selectors.
- * UserInterface/TextEditor.css:
- (.text-editor > .CodeMirror): Added. Reset box-sizing to content-box.
- (.text-editor > .CodeMirror *): Added. Ditto.
- (.text-editor > .CodeMirror .CodeMirror-lines): Added.
- (.text-editor > .CodeMirror pre): Added.
- (.text-editor > .CodeMirror .CodeMirror-selected): Added.
- (.text-editor > .CodeMirror .CodeMirror-focused .CodeMirror-selected): Added.
- (.text-editor > .CodeMirror textarea): Added. Prevent pointer events to make right
- click Inspect Element hit the line instead of the input area.
- (.text-editor > .CodeMirror .CodeMirror-gutters): Added.
- (.text-editor > .CodeMirror .CodeMirror-linenumber): Added.
- (.text-editor > .CodeMirror .highlighted): Added.
- (@-webkit-keyframes text-editor-highlight-fadeout):
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor):
- (WebInspector.TextEditor.prototype.get string):
- (WebInspector.TextEditor.prototype.set string):
- (WebInspector.TextEditor.prototype.get selectedTextRange):
- (WebInspector.TextEditor.prototype.set selectedTextRange):
- (WebInspector.TextEditor.prototype.get mimeType):
- (WebInspector.TextEditor.prototype.set mimeType):
- (WebInspector.TextEditor.prototype.revealLine): Set the cursor position and highlight the line.
- (WebInspector.TextEditor.prototype.updateLayout): Call refresh to let CodeMirror know we might have changed size.
- (WebInspector.TextEditor.prototype.shown): Ditto.
- (WebInspector.TextEditor.prototype._textRangeFromCodeMirrorPosition): Added.
- (WebInspector.TextEditor.prototype._codeMirrorPositionFromTextRange): Added.
- 2012-11-30 Timothy Hatcher <timothy@apple.com>
- Remove TextEditor implementation and supporting classes for syntax highlighting.
- Rubber-stamped by Jon Honeycutt.
- * UserInterface/AttributedString.js: Removed.
- * UserInterface/CSSSourceTokenizer.js: Removed.
- * UserInterface/HTMLSourceTokenizer.js: Removed.
- * UserInterface/JavaScriptSourceTokenizer.js: Removed.
- * UserInterface/Main.html: Removed deleted files.
- * UserInterface/ScriptContentView.js:
- * UserInterface/SourceTokenizer.js: Removed.
- * UserInterface/SyntaxHighlighter.js: Removed.
- * UserInterface/SyntaxHighlightingSupport.js:
- (WebInspector.syntaxHighlightStringAsDocumentFragment): Cleared.
- * UserInterface/TextContent.js: Removed.
- * UserInterface/TextEditor.css: Removed most rules.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor): Cleared.
- (WebInspector.TextEditor.prototype.get string): Cleared.
- (WebInspector.TextEditor.prototype.set string): Cleared.
- (WebInspector.TextEditor.prototype.get selectedTextRange): Cleared.
- (WebInspector.TextEditor.prototype.set selectedTextRange): Cleared.
- (WebInspector.TextEditor.prototype.get mimeType): Cleared.
- (WebInspector.TextEditor.prototype.set mimeType): Cleared.
- (WebInspector.TextEditor.prototype.get executionLineNumber): Cleared.
- (WebInspector.TextEditor.prototype.set executionLineNumber): Cleared.
- (WebInspector.TextEditor.prototype.performSearch.batchSearch): Cleared.
- (WebInspector.TextEditor.prototype.performSearch): Cleared.
- (WebInspector.TextEditor.prototype.addSearchResultRange): Cleared.
- (WebInspector.TextEditor.prototype.searchCleared): Cleared.
- (WebInspector.TextEditor.prototype.revealPreviousSearchResult): Cleared.
- (WebInspector.TextEditor.prototype.revealNextSearchResult): Cleared.
- (WebInspector.TextEditor.prototype.revealLine): Cleared.
- (WebInspector.TextEditor.prototype.updateLayout): Cleared.
- (WebInspector.TextEditor.prototype.shown): Cleared.
- (WebInspector.TextEditor.prototype.hidden): Cleared.
- (WebInspector.TextEditor.prototype.setBreakpointInfoForLine): Cleared.
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView.prototype.get scrollableElements): Removed.
- 2012-11-30 Timothy Hatcher <timothy@apple.com>
- Extend CodeMirror to allow syntax highlighting styles based on the mode.
- By default CodeMirror defines syntax highlighting styles based on token
- only and shared styles between modes. This limiting and does not match
- what we have done in the Web Inspector. So this modifies the XML, CSS
- and JavaScript modes to supply two styles for each token. One for the
- token and one with the mode name.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CodeMirrorAdditions.js: Added.
- * UserInterface/Main.html: Included CodeMirrorAdditions.js.
- 2012-11-30 Timothy Hatcher <timothy@apple.com>
- Define extra MIME-types for CodeMirror's syntax highlighting modes.
- Reviewed by Jon Honeycutt.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Define extra MIME-types for XML, HTML, SVG,
- JSON and JavaScript.
- 2012-11-30 Timothy Hatcher <timothy@apple.com>
- Update CodeMirror from 3.0 beta 2 to 3.0 release candidate 2.
- Rubber-stamped by Jon Honeycutt.
- * UserInterface/External/CodeMirror/codemirror.css: Updated.
- * UserInterface/External/CodeMirror/codemirror.js: Updated.
- * UserInterface/External/CodeMirror/htmlmixed.js: Updated.
- * UserInterface/External/CodeMirror/javascript.js: Updated.
- * UserInterface/External/CodeMirror/matchbrackets.js: Updated.
- * UserInterface/External/CodeMirror/xml.js: Updated.
- 2012-11-22 Timothy Hatcher <timothy@apple.com>
- Fix a perl script error that was preventing resources from being
- copied on production builds.
- Perl thought the [\t ] that followed $tagExpression meant that
- tagExpression should be @tagExpression.
- * Scripts/combine-resources.pl:
- (concatinateFiles): Split the replacementExpression string into parts
- and concat it to prevent this. Fix a typo too.
- 2012-11-18 Timothy Hatcher <timothy@apple.com>
- Include CodeMirror in the Web Inspector.
- This also teaches the scripts we use to copy the CodeMirror resources and skip them
- when we concatenate our scripts/styles.
- Rubber-stamped by Antoine Quint.
- * Scripts/combine-resources.pl:
- (concatinateFiles): Skip External files. Smartly replace the first concatenated file's tag
- so we don't mix the order of style and script loading.
- * Scripts/copy-user-interface-resources.sh:
- * UserInterface/Main.html: Included CodeMirror files.
- 2012-11-18 Timothy Hatcher <timothy@apple.com>
- Add CodeMirror to the Web Inspector.
- Open Source Software use approved by Joyce Chow on 11/16/2012.
- Part of: <rdar://problem/3143094> Edit-mode for resources (local substation of resources) (16440)
- Rubber-stamped by Antoine Quint.
- * UserInterface/External/CodeMirror/LICENSE: Added.
- * UserInterface/External/CodeMirror/codemirror.css: Added.
- * UserInterface/External/CodeMirror/codemirror.js: Added.
- * UserInterface/External/CodeMirror/css.js: Added.
- * UserInterface/External/CodeMirror/htmlmixed.js: Added.
- * UserInterface/External/CodeMirror/javascript.js: Added.
- * UserInterface/External/CodeMirror/matchbrackets.js: Added.
- * UserInterface/External/CodeMirror/overlay.js: Added.
- * UserInterface/External/CodeMirror/runmode.js: Added.
- * UserInterface/External/CodeMirror/searchcursor.js: Added.
- * UserInterface/External/CodeMirror/xml.js: Added.
- 2012-11-17 Timothy Hatcher <timothy@apple.com>
- Hide the toolbar labels if there isn't enough room to show them.
- Reviewed by Brady Eidson.
- * UserInterface/ButtonToolbarItem.css:
- (.toolbar.collapsed .item.button > .label): Added.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Added event listener for window resize.
- (WebInspector._windowResized): Added. Update the toolbar layout.
- * UserInterface/Toolbar.js:
- (WebInspector.Toolbar.prototype.set displayMode): Update the toolbar layout.
- (WebInspector.Toolbar.prototype.set sizeMode): Ditto.
- 2012-11-17 Timothy Hatcher <timothy@apple.com>
- Keep toolbar items in constant positions as items are added or removed.
- This keeps centered items in the center and adds the items on the right in reverse
- order since right most items are more stable as context changes. Also vertically stack
- the close and undock button if the toolbar is tall enough to fit them.
- Reviewed by Dan Bernstein.
- * UserInterface/ControlToolbarItem.css:
- (.toolbar .item.control):
- (.toolbar.small-size .item.control):
- (.toolbar.icon-only .item.control):
- (.toolbar .item.control:hover):
- (.toolbar .item.control:active):
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Use addToolbarItem instead of addNavigationItem. Add the
- detail sidebar items in reverse order.
- * UserInterface/NavigationBar.js:
- (WebInspector.NavigationBar.prototype.addNavigationItem): Added parentElement argument.
- (WebInspector.NavigationBar.prototype.insertNavigationItem): Added parentElement argument.
- Use the nextSibling only if it is in the same parent element.
- (WebInspector.NavigationBar.prototype.removeNavigationItem): Use remove to remove the element.
- * UserInterface/Toolbar.css:
- (.toolbar .control-section): Added.
- (.toolbar.label-only .control-section): Added.
- (.toolbar .item-section): Added.
- (.toolbar .item-section:not(.center)): Added.
- (.toolbar .item-section.left): Added.
- (.toolbar .item-section.center): Added.
- (.toolbar .item-section.right): Added.
- * UserInterface/Toolbar.js:
- (WebInspector.Toolbar): Create the four sections.
- (WebInspector.Toolbar.prototype.addToolbarItem): Added.
- * UserInterface/Utilities.js:
- (Element.prototype.remove): Added only if the engine does not have it. This is needed
- for iAd Producer, which uses an older WebKit.
- 2012-11-17 Timothy Hatcher <timothy@apple.com>
- Change ".navigation-bar > .item" and ".toolbar > .item" selectors into ".navigation-bar .item"
- and ".toolbar .item" so we can have intermediary elements between the bar and item.
- Reviewed by Dan Bernstein.
- * UserInterface/ActivateButtonNavigationItem.js:
- (WebInspector.ActivateButtonNavigationItem.prototype.generateStyleText):
- * UserInterface/ButtonNavigationItem.css:
- (.navigation-bar .item.button):
- (.navigation-bar .item.button > .glyph):
- (body.window-inactive .navigation-bar .item.button:not(.suppress-emboss) > .glyph):
- (.navigation-bar .item.button.disabled > .glyph):
- (body.window-inactive .navigation-bar .item.button.disabled:not(.suppress-emboss) > .glyph):
- (.navigation-bar .item.button.suppress-emboss > .glyph):
- (.navigation-bar .item.button.suppress-emboss:active > .glyph):
- (.navigation-bar .item.button.suppress-emboss.disabled > .glyph):
- (.navigation-bar .item.button:not(.disabled):not(.radio):not(.suppress-bezel):active):
- * UserInterface/ButtonNavigationItem.js:
- (WebInspector.ButtonNavigationItem.prototype.generateStyleText):
- * UserInterface/ButtonToolbarItem.css:
- (.toolbar .item.button):
- (.toolbar.icon-and-label-vertical .item.button):
- (.toolbar.icon-and-label-horizontal .item.button):
- (.toolbar .item.button > .glyph):
- (.toolbar.small-size .item.button > .glyph):
- (.toolbar.label-only .item.button > .glyph):
- (.toolbar .item.button > .label):
- (.toolbar.label-only .item.activate.button.activated > .label):
- (.toolbar.icon-and-label-horizontal .item.button > .label):
- * UserInterface/ControlToolbarItem.css:
- (.toolbar .item.control):
- (.toolbar .item.control:hover):
- (.toolbar .item.control:active):
- (.toolbar .item.control > .glyph):
- (body.window-inactive .toolbar .item.control):
- (body.window-inactive .toolbar .item.control.disabled):
- * UserInterface/DividerNavigationItem.css:
- (.navigation-bar .item.divider):
- * UserInterface/FlexibleSpaceNavigationItem.css:
- (.toolbar .item.flexible-space):
- * UserInterface/NavigationBar.css:
- (.navigation-bar .item):
- * UserInterface/RadioButtonNavigationItem.css:
- (.navigation-bar .item.radio.button):
- (.navigation-bar.collapsed .item.radio.button):
- (.navigation-bar .item.radio.button.selected):
- (.navigation-bar.collapsed .item.radio.button.selected):
- * UserInterface/RadioButtonNavigationItem.js:
- (WebInspector.RadioButtonNavigationItem.prototype.generateStyleText):
- * UserInterface/Toolbar.css:
- (.toolbar .control-section):
- 2012-11-17 Timothy Hatcher <timothy@apple.com>
- Make the close and undock buttons in the docked Web Inspector better match
- the style of the undock button and the iTunes 11 mini-player controls.
- Reviewed by Dan Bernstein.
- * UserInterface/ControlToolbarItem.css:
- (.toolbar > .item.control): 50% opacity.
- (.toolbar > .item.control:hover): Added. 90% opacity.
- (.toolbar > .item.control:active): Added. 100% opacity.
- (body.window-inactive .toolbar > .item.control): 35% opacity.
- (.toolbar > .item.control.disabled): 35% opacity.
- (body.window-inactive .toolbar > .item.control.disabled): 20% opacity.
- * UserInterface/Images/Undock.pdf: Rounded the corners a bit.
- 2012-11-16 Timothy Hatcher <timothy@apple.com>
- Renamed the Breakpoint sidebar to Debugger and give it a new icon.
- Also removed unused images from previous sidebar panels.
- Reviewed by Brian Weinstein.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/DebuggerSidebarPanel.js: Renamed from WebInspector/UserInterface/BreakpointSidebarPanel.js.
- (WebInspector.DebuggerSidebarPanel): Updated the keyboard shortcut to be Control-3.
- * UserInterface/Images/NavigationItemBreakpoint.pdf: Removed.
- * UserInterface/Images/NavigationItemBug.pdf: Added.
- * UserInterface/Images/NavigationItemFunction.pdf: Removed.
- * UserInterface/Images/NavigationItemThreads.pdf: Removed.
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel): Updated the keyboard shortcut to be Control-2.
- * UserInterface/Main.html: Renamed BreakpointSidebarPanel to DebuggerSidebarPanel.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Ditto.
- (WebInspector._debuggerDidPause): Ditto.
- 2012-11-16 Timothy Hatcher <timothy@apple.com>
- Merge the Debug sidebar panel into Breakpoints sidebar panel.
- Reviewed by Brian Weinstein.
- * UserInterface/BreakpointSidebarPanel.js:
- (WebInspector.BreakpointSidebarPanel): Added CallFramesDidChange event listener. Create the content tree
- outline and section for the Call Stack.
- (WebInspector.BreakpointSidebarPanel.prototype._debuggerCallFramesDidChange): Added.
- (WebInspector.BreakpointSidebarPanel.prototype._treeElementSelected): Support CallFrameTreeElement.
- * UserInterface/DebugSidebarPanel.js: Removed.
- * UserInterface/Main.html: Removed DebugSidebarPanel.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Removed DebugSidebarPanel.
- (WebInspector._debuggerDidPause): Show the BreakpointSidebarPanel instead.
- 2012-11-16 Timothy Hatcher <timothy@apple.com>
- Place breakpoints into a section in preparation of merging the Debug and Breakpoints sidebars.
- Reviewed by Brian Weinstein.
- * UserInterface/BreakpointSidebarPanel.js:
- (WebInspector.BreakpointSidebarPanel): Store contentTreeOutline as _breakpointsContentTreeOutline.
- Make a DetailsSection and put the content tree in its only row.
- (WebInspector.BreakpointSidebarPanel.prototype._addBreakpoint): Use _breakpointsContentTreeOutline.
- (WebInspector.BreakpointSidebarPanel.prototype._scriptsCleared): Ditto.
- (WebInspector.BreakpointSidebarPanel.prototype._breakpointRemoved): Ditto.
- 2012-11-13 Timothy Hatcher <timothy@apple.com>
- Make dragging the Web Inspector window in the toolbar move the window.
- <rdar://problem/12688599> Should be able to drag to move Web Inspector window from empty parts of toolbar
- Reviewed by Ricky Mondello.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Changed mousedown event listener to _toolbarMouseDown.
- (WebInspector._toolbarMouseDown): Added. Call _moveWindowMouseDown or _dockedResizerMouseDown.
- (WebInspector._moveWindowMouseDown): Added.
- (WebInspector._moveWindowMouseDown.toolbarDrag): Added.
- (WebInspector._moveWindowMouseDown.toolbarDragEnd): Added.
- 2012-11-13 Jeff Miller <jeffm@apple.com>
- Regenerated localizedStrings.js, which was out-of-date.
- * Localizations/en.lproj/localizedStrings.js:
- 2012-11-13 Timothy Hatcher <timothy@apple.com>
- Disable sub-pixel antialiasing in the Web Inspector toolbar when in window mode.
- This portion of the window has no background (showing the window chrome). So text rendered
- here does not look good when sub-pixel antialiased.
- Reviewed by Antoine Quint.
- * UserInterface/Toolbar.css:
- (body:not(.docked) .toolbar): Added. Set -webkit-font-smoothing: antialiased.
- 2012-11-12 Timothy Hatcher <timothy@apple.com>
- Don't show the dock button in the toolbar now that it is in the window title bar.
- Reviewed by Antoine Quint.
- * UserInterface/InspectorFrontendAPI.js:
- (InspectorFrontendAPI.setDockingUnavailable): Empty stub now.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Changed the dock toggle into an undock button.
- (WebInspector.updateDockedState): Removed use of dockToggleButtonNavigationItem.
- Removed call to _updateDockToggleButtonVisibility.
- (WebInspector.setDockingUnavailable): Removed.
- (WebInspector._updateDockToggleButtonVisibility): Removed.
- (WebInspector._undock): Renamed from _toggleDockedState. Only undock now.
- (WebInspector._updateDockNavigationItems): Update undockButtonNavigationItem too.
- 2012-11-11 Timothy Hatcher <timothy@apple.com>
- Give WebInspector.ContentBrowser the ability to not have back and forward buttons.
- This will be used for the ContentBrowser in the quick console area.
- Reviewed by Antoine Quint.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser): Added disableBackForward argument. Don't create the buttons
- or keyboard shortcuts if disableBackForward is true.
- (WebInspector.ContentBrowser.prototype._updateBackForwardButtons): Return early if the buttons
- don't exist and there is nothing to update.
- 2012-11-11 Timothy Hatcher <timothy@apple.com>
- Fix some flashing while scrolling the Web Inspector when docked.
- When docked the toolbar isn't transparent, so we can have a background
- on the body which fixes the flashing. This isn't an issue in when undocked.
- This also isn't an issue with accelerated composting, which we should turn
- on for the Inspector in <rdar://problem/12676223>.
- Reviewed by Anders Carlsson.
- * UserInterface/Main.css:
- (body.docked): Set the background-color to white.
- 2012-11-11 Timothy Hatcher <timothy@apple.com>
- Fix an exception that was causing the Web Inspector to fail when trying to debug a script.
- The fact that we don't know about a script in a call frame is really a deeper bug. But this
- at least makes things gracefully keep working. The deeper issue is <rdar://problem/12679475>.
- <rdar://problem/12676344> Web Inspector gets stuck trying to debug an exception
- Reviewed by Dean Jackson.
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager.prototype.debuggerDidPause): Continue if the SourceCodeLocation
- ended up being null. This prevents an exception later.
- (WebInspector.DebuggerManager.prototype._sourceCodeLocationFromPayload): Return null if
- the script was not found.
- 2012-11-11 Timothy Hatcher <timothy@apple.com>
- Remove the Log navigation sidebar.
- Create a single LogContentView to be shown for the console. Previous sessions are now shown
- inline like the quick console (with a divider between them).
- The ultimate goal here is to merge the quick console and the full height console.
- Reviewed by Dean Jackson.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/InspectorFrontendAPI.js:
- (InspectorFrontendAPI.showConsole): Call WebInspector.showConsoleView.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView): Add event listeners that were in LogSidebarPanel.
- (WebInspector.LogContentView.prototype.shown): Removed disabled check.
- (WebInspector.LogContentView.prototype._sessionsCleared): Added.
- (WebInspector.LogContentView.prototype._sessionStarted): Added.
- (WebInspector.LogContentView.prototype._messageAdded): Added.
- (WebInspector.LogContentView.prototype._previousMessageRepeatCountUpdated): Added.
- (WebInspector.LogContentView.prototype._handleContextMenuEvent): Removed disabled check.
- (WebInspector.LogContentView.prototype._activeLogCleared): Ditto.
- (WebInspector.LogContentView.prototype._clearLog): Ditto.
- * UserInterface/LogSidebarPanel.js: Removed.
- * UserInterface/LogTreeElement.js:
- (WebInspector.LogTreeElement): Change "Current Log" to "Console".
- * UserInterface/Main.html: Removed LogSidebarPanel.js.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Removed LogSidebarPanel use. Create a Console toolbar button.
- Handle the last content cookie for the console.
- (WebInspector.sidebarPanelForRepresentedObject): Return null for the console.
- (WebInspector.contentBrowserTreeElementForRepresentedObject): Return the special tree element
- for the console.
- (WebInspector.showConsoleView): Added.
- (WebInspector._updateCurrentContentViewCookie): Set a special cookie for the console view.
- 2012-11-11 Timothy Hatcher <timothy@apple.com>
- Add reload and inspect toolbar buttons.
- <rdar://problem/11187904> REGRESSION (Safari 6): Inspect node button should always be available
- Reviewed by Dean Jackson.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/FrameContentView.js:
- (WebInspector.FrameContentView): Removed _inspectModeButtonNavigationItem.
- (WebInspector.FrameContentView.prototype.get navigationItems): Ditto.
- * UserInterface/Images/Reload.pdf: Added.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Create the reload and inspect toolbar buttons.
- (WebInspector._inspectModeStateChanged): Added.
- (WebInspector._toggleInspectMode): Added.
- (WebInspector._reloadPageClicked): Added.
- 2012-11-11 Timothy Hatcher <timothy@apple.com>
- Use sticky positioning for the section headers in the Details sidebar.
- To make this work I had to dynamically generate style rules based on the
- current height of the toolbar (now that it is dynamic). Kind of gross, but
- the end result is really nice!
- While I was at it I bumped the height of the headers to 23px to match the
- other bars. That way when they are at the top everything lines up nicely.
- <rdar://problem/12611547> Consider using sticky positioning for sidebar section headers
- Reviewed by Dean Jackson.
- * UserInterface/DetailsSection.css:
- (.details-section > .header): Bump the height and padding up.
- * UserInterface/Main.js:
- (WebInspector.updateDockedState): Call _updateStickyPostionStyles.
- (WebInspector._updateStickyPostionStyles): Added.
- (WebInspector._toolbarDisplayModeDidChange): Call _updateStickyPostionStyles.
- (WebInspector._toolbarSizeModeDidChange): Ditto.
- * UserInterface/Utilities.js:
- (Element.prototype.totalOffsetLeft): Use getBoundingClientRect for better results.
- (Element.prototype.totalOffsetTop): Ditto.
- 2012-11-10 Timothy Hatcher <timothy@apple.com>
- Don't deselect the selected row when refreshing the Network data grid.
- This preserves selection during refreshes that happen while loading the page.
- It also prevents notifying that the selectionPathComponents changed which causes
- the details sidebar to refresh and hide because there was no selection.
- <rdar://problem/12603744> Details sidebar auto-closes while trying to read it on a loading page
- Reviewed by Dean Jackson.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView.prototype._selectedNodeChanged): Return early if _ignoreSelectionEvent.
- (WebInspector.TimelinesContentView.prototype._updatePendingRecordsWithNewBounds): Save and restore the
- selectedNode if it was refreshed.
- (WebInspector.TimelinesContentView.prototype._sortCurrentDataGrid): Set _ignoreSelectionEvent while
- updating the data grid.
- 2012-11-10 Timothy Hatcher <timothy@apple.com>
- Don't crossfade the indeterminate progress spinner.
- <rdar://problem/12676407> Web Inspector shouldn't cross-fade its "discrete" spinner
- Reviewed by Dan Bernstein.
- * UserInterface/IndeterminateProgressSpinner.css:
- (.indeterminate-progress-spinner): Use -webkit-animation-timing-function: step-start.
- 2012-11-10 Timothy Hatcher <timothy@apple.com>
- Prevent the details sidebar from ever being shown empty.
- This removes the setting to auto hide when empty and always hides when empty.
- Reviewed by Antoine Quint.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Removed _detailsSidebarAutoHideWhenEmptySetting and start the
- details sidebar out in the collapsed state.
- (WebInspector._sidebarCollapsedStateDidChange): Don't remember the collapsed state if
- _ignoreDetailsSidebarPanelCollapsedEvent is set. This is for ignoring programatic changes.
- (WebInspector._contentBrowserRepresentedObjectsDidChange): Removed _detailsSidebarAutoHideWhenEmptySetting.
- 2012-11-10 Timothy Hatcher <timothy@apple.com>
- Don't draw a background on the toolbar when the window is inactive.
- We want to show through to the window chrome in this case too.
- Reviewed by Dan Bernstein.
- * UserInterface/Toolbar.css:
- (body.window-inactive .toolbar): Removed background-image.
- 2012-11-10 Timothy Hatcher <timothy@apple.com>
- Move the time bar to the bottom so the sidebar elements align with the timelines again.
- Now that the sidebars don't have a navigation bar, everything is shifted higher in the sidebar.
- This caused a misalignment in the timeline view. The best solution is to move the time bar to the
- bottom so the timeline overviews line up with the tree elements in the sidebar again. The Profiles
- sidebar header does not align with the data grid header anymore, but that does not matter as much.
- Maybe later we can add a summary or zoom slider to sidebar, shifting Profiles down again.
- To make the time bar not be as distracting the background is now white and the markers fade out.
- The fade points in the direction of the graph, up for the overview and down for the network graph.
- This prevents the lines from touching since the two time bars are now next to each other.
- Reviewed by Ricky Mondello.
- * UserInterface/NetworkDataGrid.css:
- (.network-timeline-decorations > .header):
- (.network-timeline-decorations > .header > .divider):
- (.network-timeline-decorations:not(.sort-active) > .header > .divider:last-child):
- (.network-timeline-decorations > .header > .divider > .label):
- * UserInterface/TimelineDecorations.css:
- (.timeline-decorations > .header):
- (.timeline-decorations > .header > .divider):
- (.timeline-decorations > .header > .divider:last-child):
- (.timeline-decorations > .header > .divider > .label):
- * UserInterface/TimelineOverview.js:
- (WebInspector.TimelineOverview):
- * UserInterface/Toolbar.css:
- 2012-11-10 Timothy Hatcher <timothy@apple.com>
- Merge the Storage sidebar into the Resources sidebar.
- Most of this is just copied from StorageSidebarPanel with trivial tweaks to work
- inside of ResourceSidebarPanel.
- Reviewed by Antoine Quint.
- * UserInterface/ApplicationCacheFrameTreeElement.js:
- (WebInspector.ApplicationCacheFrameTreeElement.prototype.updateTitles):
- * UserInterface/InspectorObserver.js:
- (WebInspector.InspectorObserver.prototype.inspect):
- * UserInterface/Main.html:
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- (WebInspector.sidebarPanelForRepresentedObject):
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel):
- (WebInspector.ResourceSidebarPanel.prototype.cookieForContentView):
- (WebInspector.ResourceSidebarPanel.prototype.showContentViewForCookie.finalizeCookieChecking):
- (WebInspector.ResourceSidebarPanel.prototype.showContentViewForCookie):
- (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject):
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange):
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange):
- (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded):
- (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
- (WebInspector.ResourceSidebarPanel.prototype._domNodeWasInspected):
- (WebInspector.ResourceSidebarPanel.prototype._checkStorageTreeElementAgainstPendingContentViewCookie):
- (WebInspector.ResourceSidebarPanel.prototype._domStorageObjectWasAdded):
- (WebInspector.ResourceSidebarPanel.prototype._domStorageObjectWasInspected):
- (WebInspector.ResourceSidebarPanel.prototype._databaseWasAdded):
- (WebInspector.ResourceSidebarPanel.prototype._databaseWasInspected):
- (WebInspector.ResourceSidebarPanel.prototype._cookieStorageObjectWasAdded):
- (WebInspector.ResourceSidebarPanel.prototype._frameManifestAdded):
- (WebInspector.ResourceSidebarPanel.prototype._frameManifestRemoved):
- (WebInspector.ResourceSidebarPanel.prototype._compareTreeElements):
- (WebInspector.ResourceSidebarPanel.prototype._addStorageChild):
- (WebInspector.ResourceSidebarPanel.prototype._storageCleared):
- * UserInterface/StorageSidebarPanel.js: Removed.
- 2012-11-09 Timothy Hatcher <timothy@apple.com>
- Remove the Issues sidebar.
- It might come back in some form in the new Debugger sidebar if there is demand.
- But it has proven to not be that helpful in its current form.
- Reviewed by Antoine Quint.
- * UserInterface/IssueIcons.css: Removed.
- * UserInterface/IssueSidebarPanel.js: Removed.
- * UserInterface/IssueTreeElement.js: Removed.
- * UserInterface/Main.html:
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- 2012-11-09 Timothy Hatcher <timothy@apple.com>
- Add placeholders to all the search and filter fields in the navigation sidebars.
- <rdar://problem/11113717> Two search-related fields in the Search sidebar is confusing
- Reviewed by Dan Bernstein.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/BreakpointSidebarPanel.js:
- (WebInspector.BreakpointSidebarPanel):
- * UserInterface/DebugSidebarPanel.js:
- (WebInspector.DebugSidebarPanel):
- * UserInterface/FilterBar.js:
- (WebInspector.FilterBar.prototype.get placeholder): Added.
- (WebInspector.FilterBar.prototype.set placeholder): Added.
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel):
- * UserInterface/LogSidebarPanel.js:
- (WebInspector.LogSidebarPanel):
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel):
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel):
- 2012-11-09 Timothy Hatcher <timothy@apple.com>
- Merge the Search sidebar into the Resources sidebar.
- Most of this is just copied from SearchSidebarPanel with trivial tweaks to work
- inside of ResourceSidebarPanel.
- Rubber-stamped by Antoine Quint.
- * UserInterface/Main.html:
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- * UserInterface/ResourceSidebarPanel.css: Added.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel):
- (WebInspector.ResourceSidebarPanel.prototype.get contentTreeOutlineToAutoPrune):
- (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject):
- (WebInspector.ResourceSidebarPanel.prototype.performSearch.updateEmptyContentPlaceholderSoon):
- (WebInspector.ResourceSidebarPanel.prototype.performSearch.updateEmptyContentPlaceholder):
- (WebInspector.ResourceSidebarPanel.prototype.performSearch.resourceCallback):
- (WebInspector.ResourceSidebarPanel.prototype.performSearch.resourcesCallback):
- (WebInspector.ResourceSidebarPanel.prototype.performSearch.domSearchResults):
- (WebInspector.ResourceSidebarPanel.prototype.performSearch.domCallback):
- (WebInspector.ResourceSidebarPanel.prototype.performSearch):
- (WebInspector.ResourceSidebarPanel.prototype._searchFieldChanged):
- (WebInspector.ResourceSidebarPanel.prototype._searchTreeElementForResource):
- (WebInspector.ResourceSidebarPanel.prototype._focusSearchField):
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange):
- (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded):
- (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
- * UserInterface/SearchSidebarPanel.css: Removed.
- * UserInterface/SearchSidebarPanel.js: Removed.
- 2012-11-09 Timothy Hatcher <timothy@apple.com>
- Allow setting the contentTreeOutline of a WebInspector.NavigationSidebarPanel.
- This will allow one sidebar to manage multiple content trees, so we can merge
- Resources and Search into one.
- Reviewed by Antoine Quint.
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel): Use createContentTreeOutline.
- (WebInspector.NavigationSidebarPanel.prototype.get contentTreeOutlineElement): Use .element.
- (WebInspector.NavigationSidebarPanel.prototype.set contentTreeOutline): Added.
- (WebInspector.NavigationSidebarPanel.prototype.get contentTreeOutlineToAutoPrune): Added.
- (WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline): Added.
- (WebInspector.NavigationSidebarPanel.prototype.show): Use contentTreeOutlineElement.
- (WebInspector.NavigationSidebarPanel.prototype._checkForOldResources.delayedWork): Use the
- new contentTreeOutlineToAutoPrune property.
- * UserInterface/TreeOutline.js:
- (TreeOutline): Set .element for public use.
- 2012-11-09 Nathan de Vries <ndevries@apple.com>
- Fix for <rdar://problem/11498628> Can inadvertently copy part of the UI
- when attempting to copy the Full URL of a resource
- Ensure that when a value in the details side pane is triple-tapped to
- select the whole value, the label from the following row is not included
- in the selection.
- The table-cell selection issue will be addressed properly in
- <rdar://problem/12668870> Triple-clicking text within a <div> set to
- "display: table-cell" selects text outside the cell
- Reviewed by Timothy Hatcher.
- * UserInterface/DetailsSectionSimpleRow.js:
- (WebInspector.DetailsSectionSimpleRow): Add a click handler to the value
- cell and adjust the selection range on triple-click if it extends beyond
- the cell.
- 2012-11-09 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/12526413> Compositing borders button does not work for iOS 6 (should be suppressed or dimmed)
- Reviewed by Jon Honeycutt.
- Disable the toggle compositing borders navigation button when debugging
- an iOS 6 device, which doesn't have backend support for it.
- * UserInterface/FrameContentView.js:
- (WebInspector.FrameContentView.prototype._toggleCompositingBorders):
- (WebInspector.FrameContentView.prototype._updateCompositingBordersButtonToMatchPageSettings):
- 2012-11-09 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/12462428> Make the Safari Curie Web Inspector compatible with iOS 6
- Reviewed by Timothy Hatcher.
- In production builds be sure to copy over resources that are
- dynamically loaded in the frontend, and aren't explicitly loaded
- by Main.html.
- * Scripts/copy-user-interface-resources.sh:
- 2012-11-09 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/12462428> Make the Safari Curie Web Inspector compatible with iOS 6
- Reviewed by Timothy Hatcher.
- In this change the inspector frontend will load a backend commands file
- that is exactly compatible with the backend it is communicating with.
- When loading the frontend for a remote session the RWI frontend host
- can suggest a more specific InspectorBackendCommands file to load.
- For non-remote session, or non-legacy remote session
- the default InspectorBackendCommands.js file is loaded.
- This approach has some benefits:
- - loading the exact set of backend commands allows backend feature
- detection by simply checking if the "BackendAgent.<method>" exists.
- Therefore you immediately get errors if you use a backend agent
- method without feature detecting it.
- - by having Legacy InspectorBackendCommands files checked in it is
- easier to see exactly what an older version of iOS supported and
- when functions were added / removed.
- And drawbacks:
- - if a protocol message changes in some way (renamed params, gains or
- loses params, reorders params, changes to multiple methods, etc) we
- may need to do extra work to ensure compatibility with older devices.
- Like we've already seen with Database SQL handling.
- Timothy Hatcher already addressed all of the iOS 6 protocol changes so far.
- * UserInterface/LoadInspectorBackendCommands.js: Added.
- Load either the default InspectorBackendCommands.js or the one exposed
- by InspectorFrontendHost.inspectorBackendCommandsURL() in remote sessions.
- * UserInterface/Main.html:
- Remove InspectorBackendLegacyCommands, add in LoadInspectorBackendCommands.
- * UserInterface/InspectorBackendLegacyCommands.js: Removed.
- * UserInterface/Legacy/6.0/InspectorBackendCommands.js: Added.
- This is the complete InspectorBackendCommands supported by iOS 6.
- 2012-11-08 Timothy Hatcher <timothy@apple.com>
- Fix an exception that started happening in the Web Inspector, that broke everything.
- Revision 133862 of WebCore started looking for InspectorFrontendAPI.dispatchMessageAsync.
- So we need to implement thta method to make things work again. There are a few other
- methods that needed added to InspectorFrontendAPI too.
- Reviewed by Antoine Quint.
- * UserInterface/InspectorFrontendAPI.js:
- (InspectorFrontendAPI.contextMenuItemSelected): Added.
- (InspectorFrontendAPI.contextMenuCleared): Added.
- (InspectorFrontendAPI.dispatchMessageAsync): Added.
- (InspectorFrontendAPI.dispatchMessage): Added.
- 2012-11-08 Timothy Hatcher <timothy@apple.com>
- Default to horizontal labels and small icons for the toolbar when docked.
- This also remembers the toolbar modes for docked and undocked if the user changes them.
- Reviewed by Ricky Mondello.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Listen for the new toolbar events and create the settings.
- (WebInspector.updateDockedState): Change the modes using the settings based on docked state.
- (WebInspector._toolbarDisplayModeDidChange): Added. Store the mode in the setting.
- (WebInspector._toolbarSizeModeDidChange): Added. Ditto.
- * UserInterface/Toolbar.js:
- (WebInspector.Toolbar.prototype.set displayMode): Fire the DisplayModeDidChange event.
- (WebInspector.Toolbar.prototype.set sizeMode): Fire the SizeModeDidChange event.
- 2012-11-08 Timothy Hatcher <timothy@apple.com>
- Fix an exception that was preventing console expression from evaluating.
- This exposed a deeper issue where we were not using the origin property for DOM storage
- objects and still looking for the host property.
- There also seems to be a backend issue where local storage is showing up twice.
- https://bugs.webkit.org/show_bug.cgi?id=101643
- <rdar://problem/12656188> Can't evaluate expressions in the console on this npr.org page
- Reviewed by Ricky Mondello.
- * UserInterface/DOMStorageObserver.js:
- (WebInspector.DOMStorageObserver.prototype.addDOMStorage): Look for origin and parse
- the host out of it since our code still expects the host.
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel.prototype._compareTreeElementsByMainTitle): Assert
- that the mainTitle is not empty/null/undefined. Handle it anyway just in case.
- 2012-11-08 Timothy Hatcher <timothy@apple.com>
- Update the Web Inspector strings for all the string changes in the last few revisions.
- Part of:
- <rdar://problem/10947541> Navigation bar buttons are too small
- <rdar://problem/12294575> Navigation bar button icons are difficult to identify
- <rdar://problem/12589291> Navigation bar buttons are unlabeled
- Reviewed by Ricky Mondello.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- 2012-11-08 Timothy Hatcher <timothy@apple.com>
- Add the sidebar panel toolbar items and dock controls to the toolbar.
- Part of:
- <rdar://problem/10947541> Navigation bar buttons are too small
- <rdar://problem/12294575> Navigation bar button icons are difficult to identify
- <rdar://problem/12589291> Navigation bar buttons are unlabeled
- Reviewed by Ricky Mondello.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- (WebInspector._updateDockToggleButtonVisibility):
- (WebInspector._updateDockNavigationItems):
- (WebInspector._contentBrowserRepresentedObjectsDidChange):
- 2012-11-08 Timothy Hatcher <timothy@apple.com>
- Remove the toggle sidebar buttons and keyboard shortcuts.
- Part of:
- <rdar://problem/10947541> Navigation bar buttons are too small
- <rdar://problem/12294575> Navigation bar button icons are difficult to identify
- <rdar://problem/12589291> Navigation bar buttons are unlabeled
- Reviewed by Ricky Mondello.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- (WebInspector._navigationSidebarPanelSelected):
- 2012-11-08 Timothy Hatcher <timothy@apple.com>
- Don't have sidebars manage and display a NavigationBar anymore.
- This removes the navigation bar from Sidebar and makes each SidebarPanel have a toolbar item instead.
- To work with the toolbar item the display names and tooltips have been tweaked. The toolbar items
- are not used in the toolbar yet.
- Part of:
- <rdar://problem/10947541> Navigation bar buttons are too small
- <rdar://problem/12294575> Navigation bar button icons are difficult to identify
- <rdar://problem/12589291> Navigation bar buttons are unlabeled
- Reviewed by Ricky Mondello.
- * UserInterface/AppearanceDetailsSidebarPanel.js:
- (WebInspector.AppearanceDetailsSidebarPanel):
- * UserInterface/ApplicationCacheDetailsSidebarPanel.js:
- (WebInspector.ApplicationCacheDetailsSidebarPanel):
- * UserInterface/BreakpointSidebarPanel.js:
- (WebInspector.BreakpointSidebarPanel):
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel):
- * UserInterface/DOMNodeDetailsSidebarPanel.js:
- (WebInspector.DOMNodeDetailsSidebarPanel):
- * UserInterface/DebugSidebarPanel.js:
- (WebInspector.DebugSidebarPanel):
- * UserInterface/DetailsSidebarPanel.js:
- (WebInspector.DetailsSidebarPanel):
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel):
- * UserInterface/IssueSidebarPanel.js:
- (WebInspector.IssueSidebarPanel):
- * UserInterface/LogSidebarPanel.js:
- (WebInspector.LogSidebarPanel):
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel):
- (WebInspector.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder):
- (WebInspector.NavigationSidebarPanel.prototype.hideEmptyContentPlaceholder):
- (WebInspector.NavigationSidebarPanel.prototype.updateEmptyContentPlaceholder):
- (WebInspector.NavigationSidebarPanel.prototype.shown):
- (WebInspector.NavigationSidebarPanel.prototype.hidden):
- (WebInspector.NavigationSidebarPanel.prototype._updateToolbarItemVisibility):
- * UserInterface/ResourceDetailsSidebarPanel.js:
- (WebInspector.ResourceDetailsSidebarPanel):
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel):
- * UserInterface/ScopeChainDetailsSidebarPanel.js:
- (WebInspector.ScopeChainDetailsSidebarPanel):
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel):
- * UserInterface/Sidebar.css:
- (.sidebar > .panel):
- (.sidebar.right):
- * UserInterface/Sidebar.js:
- (WebInspector.Sidebar):
- (WebInspector.Sidebar.prototype.addSidebarPanel):
- (WebInspector.Sidebar.prototype.removeSidebarPanel):
- (WebInspector.Sidebar.prototype.set selectedSidebarPanel):
- (WebInspector.Sidebar.prototype.get minimumWidth):
- (WebInspector.Sidebar.prototype.set width):
- (WebInspector.Sidebar.prototype.set collapsed):
- * UserInterface/SidebarPanel.js:
- (WebInspector.SidebarPanel):
- (WebInspector.SidebarPanel.prototype.get toolbarItem):
- (WebInspector.SidebarPanel.prototype.get visible):
- (WebInspector.SidebarPanel.prototype.hide):
- (WebInspector.SidebarPanel.prototype.toggle):
- (WebInspector.SidebarPanel.prototype.added):
- (WebInspector.SidebarPanel.prototype.removed):
- (WebInspector.SidebarPanel.prototype.hidden):
- (WebInspector.SidebarPanel.prototype.visibilityDidChange):
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel):
- 2012-11-08 Timothy Hatcher <timothy@apple.com>
- Rename the QuickConsole toolbar style class so it does not conflict with the new Toolbar class.
- Part of:
- <rdar://problem/10947541> Navigation bar buttons are too small
- <rdar://problem/12294575> Navigation bar button icons are difficult to identify
- <rdar://problem/12589291> Navigation bar buttons are unlabeled
- Reviewed by Ricky Mondello.
- * UserInterface/QuickConsole.css:
- (.quick-console > .quick-console-toolbar):
- (.quick-console > .quick-console-toolbar > .text-prompt):
- (.quick-console > .quick-console-toolbar > .navigation-bar-container):
- (.quick-console > .quick-console-toolbar > .navigation-bar-container > .navigation-bar-spacer):
- (.quick-console > .quick-console-toolbar > .navigation-bar-container > .navigation-bar):
- (.quick-console > .quick-console-toolbar.scroll-divider):
- (.quick-console > .quick-console-toolbar > .text-prompt > .javascript-prompt):
- * UserInterface/QuickConsole.js:
- 2012-11-08 Timothy Hatcher <timothy@apple.com>
- Add a toolbar class and toolbar item classes to the Web Inspector.
- The toolbar and item inherits most of the functionality from the existing NavigationBar and ButtonNavigationItem.
- This also makes the toolbar be the resize area when docked. No items are added to the toolbar yet.
- Part of:
- <rdar://problem/10947541> Navigation bar buttons are too small
- <rdar://problem/12294575> Navigation bar button icons are difficult to identify
- <rdar://problem/12589291> Navigation bar buttons are unlabeled
- Reviewed by Ricky Mondello.
- * UserInterface/ActivateButtonToolbarItem.js: Added.
- (WebInspector.ActivateButtonToolbarItem):
- (WebInspector.ActivateButtonToolbarItem.prototype.get label):
- (WebInspector.ActivateButtonToolbarItem.prototype.set label):
- * UserInterface/ButtonToolbarItem.css: Added.
- (.toolbar > .item.button):
- (.toolbar.icon-and-label-vertical > .item.button):
- (.toolbar.icon-and-label-horizontal > .item.button):
- (.toolbar > .item.button > .glyph):
- (.toolbar.small-size > .item.button > .glyph):
- (.toolbar.label-only > .item.button > .glyph):
- (.toolbar > .item.button > .label):
- (.toolbar.label-only > .item.activate.button.activated > .label):
- (.toolbar.icon-and-label-horizontal > .item.button > .label):
- (.toolbar.icon-only > .item.button > .label):
- (body.window-inactive .toolbar > .item.button):
- (.toolbar > .item.button.disabled):
- (body.window-inactive .toolbar > .item.button.disabled):
- * UserInterface/ButtonToolbarItem.js: Added.
- (WebInspector.ButtonToolbarItem):
- (WebInspector.ButtonToolbarItem.prototype.get label):
- (WebInspector.ButtonToolbarItem.prototype.set label):
- * UserInterface/ControlToolbarItem.css: Added.
- (.toolbar > .item.control):
- (.toolbar.icon-and-label-vertical > .item.control):
- (.toolbar > .item.control:not(.hidden) + .item.control):
- (.toolbar > .item.control > .glyph):
- (body.window-inactive .toolbar > .item.control > .glyph):
- (.toolbar > .item.control.disabled > .glyph):
- (body.window-inactive .toolbar > .item.control.disabled > .glyph):
- * UserInterface/ControlToolbarItem.js: Added.
- (WebInspector.ControlToolbarItem):
- * UserInterface/Main.css:
- (body):
- (#toolbar):
- (body.docked #toolbar):
- (body.docked #toolbar .item:not(.flexible-space)):
- (#main):
- * UserInterface/Main.html:
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- (WebInspector._reloadPageIgnoringCache):
- (WebInspector._copy):
- * UserInterface/ToggleControlToolbarItem.js: Added.
- (WebInspector.ToggleControlToolbarItem):
- * UserInterface/Toolbar.css: Added.
- (.toolbar):
- (.toolbar.icon-and-label-vertical):
- (.toolbar.icon-and-label-vertical.small-size):
- (.toolbar.icon-only):
- (.toolbar.label-only):
- (body.docked .toolbar):
- (body.window-inactive .toolbar):
- (.toolbar > .item):
- * UserInterface/Toolbar.js: Added.
- (WebInspector.Toolbar):
- (WebInspector.Toolbar.prototype.get displayMode):
- (WebInspector.Toolbar.prototype.set displayMode):
- (WebInspector.Toolbar.prototype.get sizeMode):
- (WebInspector.Toolbar.prototype.set sizeMode):
- (WebInspector.Toolbar.prototype._handleContextMenuEvent):
- (WebInspector.Toolbar.prototype._changeDisplayMode):
- (WebInspector.Toolbar.prototype._toggleSmallIcons):
- 2012-11-07 Timothy Hatcher <timothy@apple.com>
- Make the Web Inspector correctly reflect the docked state again.
- The query parameter changed in r133393. The front-end needs to look for the
- new dockSide parameter instead of docked.
- Reviewed by Jon Honeycutt.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Look for dockSide === "bottom".
- 2012-11-05 Timothy Hatcher <timothy@apple.com>
- Change the point to inspect button icon from a hand to a crosshair.
- Reviewed by Dan Bernstein.
- * UserInterface/FrameContentView.js:
- (WebInspector.FrameContentView): Use Crosshair.pdf instead of Hand.pdf.
- * UserInterface/Images/Crosshair.pdf: Added.
- * UserInterface/Images/Hand.pdf: Removed.
- 2012-11-04 Timothy Hatcher <timothy@apple.com>
- Fix the line numbers in the JavaScript & Events timeline; make them 0-based.
- The rest of the Web Inspector expects 0-based line numbers. But the line numbers in the
- JavaScript & Events timeline come in 1-based. We were displaying them correctly before,
- but clicking the go-to arrow would instead highlight the next line in the source.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ScriptTimelineDataGridNode.js:
- (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): Correctly display the now
- 0-based line number. Also add the line number to the tooltip to match what we do elsewhere.
- (WebInspector.ScriptTimelineDataGridNode.prototype._goToResource): Only pass the lineNumber if it
- isn't the first line.
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Subtract 1 from the line numbers
- coming in over the protocol before using them elsewhere in the Inspector.
- 2012-11-04 Timothy Hatcher <timothy@apple.com>
- Rename ContentView.keepElementsScrolledToTheBottom to ContentView.shouldKeepElementsScrolledToBottom.
- Reviewed by Dan Bernstein.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView.prototype.get shouldKeepElementsScrolledToBottom):
- * UserInterface/ContentViewContainer.js:
- (WebInspector.ContentViewContainer.prototype._saveScrollPositionsForContentView):
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype.get shouldKeepElementsScrolledToBottom):
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView.prototype.get shouldKeepElementsScrolledToBottom):
- 2012-11-04 Timothy Hatcher <timothy@apple.com>
- Save and restore the timeline scroll positions when going back and forth between views.
- Reviewed by Dan Bernstein and Joseph Pecoraro.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView.prototype.showTimelineForRecordType): Save and restore
- the scroll position when swapping the DataGrids.
- (WebInspector.TimelinesContentView.prototype.get scrollableElements): Added.
- (WebInspector.TimelinesContentView.prototype.get keepElementsScrolledToTheBottom): Added.
- 2012-11-04 Timothy Hatcher <timothy@apple.com>
- Show the Initiator for the layout and style events in the Layout and Rendering timeline.
- This removes the Area column to make room.
- <rdar://problem/10935408> PARITY (WebKit Web Inspector): Add initiator information to the timeline
- data grids (e.g. JS stacks for RecalcStyle, Layout and Painting)
- Reviewed by Ricky Mondello and Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/CallFrame.js:
- (WebInspector.CallFrame): Added nativeCode parameter. Allow more null parameters in asserts.
- (WebInspector.CallFrame.prototype.get nativeCode): Ditto.
- * UserInterface/LayoutTimelineDataGridNode.js:
- (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent): Removed "area" and added
- "initiatorCallFrame" support.
- * UserInterface/LayoutTimelineRecord.js:
- (WebInspector.LayoutTimelineRecord): Added callFrames parameter.
- (WebInspector.LayoutTimelineRecord.prototype.get callFrames): Added.
- (WebInspector.LayoutTimelineRecord.prototype.get initiatorCallFrame): Added.
- * UserInterface/Main.js:
- (WebInspector.createSourceCodeLocationLink): Added helper.
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Build CallFrames from the
- record stack trace.
- (WebInspector.TimelineManager.prototype._callFramesFromPayload): Added.
- (WebInspector.TimelineManager.prototype._callFramesFromPayload.createCallFrame): Added.
- * UserInterface/TimelinesContentView.css:
- (.content-view.timelines > .data-grid td .subtitle): Added.
- (.content-view.timelines > .data-grid:focus tr.selected td .subtitle): Added.
- (.content-view.timelines > .data-grid td .icon): Simplified selector to work with any column.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView): Added Initiator column.
- (WebInspector.TimelinesContentView.prototype._sortComparator): Added support for comparing CallFrame.
- 2012-11-03 Timothy Hatcher <timothy@apple.com>
- Rename ScriptLocation to SourceCodeLocation so it can be reused for more generic stack traces.
- Rubber-stamped by Dan Bernstein.
- * UserInterface/CallFrame.js:
- (WebInspector.CallFrame):
- (WebInspector.CallFrame.prototype.get sourceCodeLocation):
- * UserInterface/CallFrameTreeElement.js:
- (WebInspector.CallFrameTreeElement):
- * UserInterface/DebugSidebarPanel.js:
- (WebInspector.DebugSidebarPanel.prototype._treeElementSelected):
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager.prototype.debuggerDidPause):
- (WebInspector.DebuggerManager.prototype._sourceCodeLocationFromPayload):
- * UserInterface/Main.html:
- * UserInterface/SourceCodeLocation.js: Renamed from WebInspector/UserInterface/ScriptLocation.js.
- (WebInspector.SourceCodeLocation):
- (WebInspector.SourceCodeLocation.prototype.get sourceCode):
- (WebInspector.SourceCodeLocation.prototype.get lineNumber):
- (WebInspector.SourceCodeLocation.prototype.get columnNumber):
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange):
- (WebInspector.SourceCodeTextEditor.prototype._matchesSourceCodeLocation):
- 2012-11-03 Timothy Hatcher <timothy@apple.com>
- Start showing "Invalidate Styles" and "Invalidate Layout" in the Layout and Rendering timeline.
- These records will be the one showing the initiator (back trace) information.
- Part of: <rdar://problem/10935408> PARITY (WebKit Web Inspector): Add initiator information to the timeline
- data grids (e.g. JS stacks for RecalcStyle, Layout and Painting)
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/LayoutTimelineRecord.js:
- (WebInspector.LayoutTimelineRecord.EventType.displayName): Support InvalidateStyles and InvalidateLayout.
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Handle "ScheduleStyleRecalculation"
- and "InvalidateLayout" and create records for them.
- 2012-11-03 Timothy Hatcher <timothy@apple.com>
- Round width and height in the metrics sidebar to the nearest hundredth.
- Width and height were missed when the other metrics started to be rounded. This also fixes
- editing by using the unrounded value instead of keeping the tilde. Also append "px" when
- updating the style if there is a decimal value.
- Reviewed by Joseph Pecoraro.
- * UserInterface/BoxModelDetailsSectionRow.js:
- (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createElement): Added. Moved from
- the createBoxPartElement function.
- (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createBoxPartElement): Use createElement.
- (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createContentAreaWidthElement): Renamed
- from getContentAreaWidthPx. Use createElement.
- (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createContentAreaHeightElement): Renamed
- from getContentAreaHeightPx. Use createElement.
- (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics): Use createContentAreaWidthElement
- and createContentAreaHeightElement instead.
- (WebInspector.BoxModelDetailsSectionRow.prototype._startEditing): If the target element has a title use
- it as the editing value since the current text is likely truncated/rounded.
- (WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput): Account for decimals values.
- 2012-11-03 Timothy Hatcher <timothy@apple.com>
- Clear the quick console when navigating to another page.
- When reloading the same page we insert a divider.
- <rdar://problem/11194811> Quick Console does not clear on navigation/refresh
- Reviewed by Joseph Pecoraro.
- * UserInterface/ConsoleGroup.js:
- (WebInspector.ConsoleGroup): Added newSession parameter and style class.
- * UserInterface/JavaScriptLogViewController.js:
- (WebInspector.JavaScriptLogViewController): Removed group creation and call startNewSession.
- (WebInspector.JavaScriptLogViewController.prototype.clear): Call startNewSession passing true.
- (WebInspector.JavaScriptLogViewController.prototype.startNewSession): Added. Moved parts
- from clear and the constructor.
- * UserInterface/LogContentView.css:
- (.console-messages > .console-group:last-of-type .console-user-command): Added.
- (.console-message, .console-user-command): Removed border-bottom.
- (.console-message:not(:last-child), .console-user-command:not(:last-child)): Added.
- (.console-group:not(:first-child)): Added.
- (.console-group.new-session): Added.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype._activeLogCleared): Check isWaitingForResult
- to make sure this was the console that requested the clear.
- * UserInterface/QuickConsole.css:
- (.quick-console > .toolbar): Added shadow to look like a border on the toolbar. This
- is needed now that the last console message does not have a bottom-border.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole):
- (WebInspector.QuickConsole.prototype.didClearMessages): Clear _lastMessage and _lastMessageIgnored.
- (WebInspector.QuickConsole.prototype._activeLogCleared): Check isWaitingForResult
- to make sure this was the console that requested the clear.
- (WebInspector.QuickConsole.prototype._previousMessageRepeatCountUpdated):
- (WebInspector.QuickConsole.prototype._logsCleared): Added.
- (WebInspector.QuickConsole.prototype._sessionStarted): Added.
- 2012-10-31 Timothy Hatcher <timothy@apple.com>
- Don't show 'undefined' in the console after sending the clear() command.
- Reviewed by Ada Chan.
- * UserInterface/JavaScriptLogViewController.js:
- (WebInspector.JavaScriptLogViewController): Set _cleared to true.
- (WebInspector.JavaScriptLogViewController.prototype.clear): Ditto.
- (WebInspector.JavaScriptLogViewController.prototype.printResult): Return early if _cleared.
- (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessage): Set _cleared to false.
- 2012-10-31 Timothy Hatcher <timothy@apple.com>
- Allow independently clearing either the log view or the quick console.
- This fixes up the clearing process and mostly decouples it from LogManager.
- The ActiveLogCleared event is now only used to honor the clear() command.
- This also adds the Clear Log context menu item to the Quick Console.
- Reviewed by Antoine Quint.
- * UserInterface/JavaScriptLogViewController.js:
- (WebInspector.JavaScriptLogViewController.prototype.clear): Focus the prompt
- and call the new didClearMessages delegate function.
- (WebInspector.JavaScriptLogViewController.prototype._requestClearMessages): Removed.
- (WebInspector.JavaScriptLogViewController.prototype._promptKeyDown): Call clear
- instead of _requestClearMessages.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype.didClearMessages): Added. Tell LogManager.
- (WebInspector.LogContentView.prototype._activeLogCleared): Only clear this log if
- it is being used at the time.
- (WebInspector.LogContentView.prototype._clearLog): Call clear instead of requestClearMessages.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole.prototype.didClearMessages): Added.
- (WebInspector.QuickConsole.prototype.didAppendConsoleMessage): Set _cleared to false.
- (WebInspector.QuickConsole.prototype._viewContainerHandleContextMenuEvent): Added Clear Log
- context menu item.
- (WebInspector.QuickConsole.prototype._clearLog): Added.
- (WebInspector.QuickConsole.prototype._activeLogCleared): Only clear this log if it is
- being used at the time. Move code from here to didClearMessages.
- (WebInspector.QuickConsole.prototype._messageAdded): Even if we show the message,
- remember it in case we get an updated repeat count later.
- (WebInspector.QuickConsole.prototype._previousMessageRepeatCountUpdated):
- 2012-10-31 Timothy Hatcher <timothy@apple.com>
- Add an option to make the Quick Console only show messages while actively debugging.
- This adds a context menu item to toggle the option. When "Always Show Console Messages"
- is unchecked then console messages will only show when evaluating and expression or
- stepping through code in the debugger. The default is to always show messages.
- <rdar://problem/11194915> REGRESSION (Safari 6): Console messages are not echoed to Quick Console
- Reviewed by Brian Weinstein.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/JavaScriptLogViewController.js:
- (WebInspector.JavaScriptLogViewController.prototype.isWaitingForResult): Added.
- (WebInspector.JavaScriptLogViewController.prototype._appendCommand): Set _waitingForResult.
- (WebInspector.JavaScriptLogViewController.prototype._appendCommand.printResult): Clear _waitingForResult.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole): Added event listeners for the contextmenu event.
- (WebInspector.QuickConsole.prototype._viewContainerHandleContextMenuEvent): Added. Create and
- show the context menu with the new option.
- (WebInspector.QuickConsole.prototype._toggleAlwaysShowConsoleMessages): Added. Toggle the setting.
- (WebInspector.QuickConsole.prototype._activeLogCleared): Clear the ignored emssage.
- (WebInspector.QuickConsole.prototype._shouldAddNewMessage): Added.
- (WebInspector.QuickConsole.prototype._messageAdded): Check _shouldAddNewMessage before appending.
- Squirrel away the ignored message incase we need to show it later.
- (WebInspector.QuickConsole.prototype._previousMessageRepeatCountUpdated): Check _shouldAddNewMessage.
- Appended the squirreled away the ignored message first.
- 2012-10-30 Timothy Hatcher <timothy@apple.com>
- Remember and restore the console history between page reloads and Web Inspector sessions.
- <rdar://problem/11343640> REGRESSION (Safari 6): Log panel console history of commands
- (up/down arrows) lost after page navigation
- Reviewed by Brian Weinstein.
- * UserInterface/JavaScriptLogViewController.js:
- (WebInspector.JavaScriptLogViewController): Create the setting and initialize the prompt.
- (WebInspector.JavaScriptLogViewController.prototype.printResult): Update the history setting
- with the last 30 commands.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView): Pass a history setting identifier.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole): Ditto.
- 2012-10-30 Timothy Hatcher <timothy@apple.com>
- Echo console messages to the Web Inspector's quick console.
- <rdar://problem/11194915> REGRESSION (Safari 6): Console messages are not echoed to Quick Console
- Reviewed by Ada Chan.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole): Listen for MessageAdded and PreviousMessageRepeatCountUpdated.
- (WebInspector.QuickConsole.prototype.didAppendConsoleMessage): Only auto expand and scroll down
- for result messages.
- (WebInspector.QuickConsole.prototype._messageAdded): Added. Call through.
- (WebInspector.QuickConsole.prototype._previousMessageRepeatCountUpdated): Added. Call through.
- 2012-10-30 Timothy Hatcher <timothy@apple.com>
- Make JavaScriptLogViewController keep track of the previous message and repeat counts.
- Part of: <rdar://problem/11194915> REGRESSION (Safari 6): Console messages are not echoed to Quick Console
- Reviewed by Ada Chan.
- * UserInterface/JavaScriptLogViewController.js:
- (WebInspector.JavaScriptLogViewController): Don't store _messages, it wasn't used. Added _previousMessage
- and _repeatCountWasInterrupted.
- (WebInspector.JavaScriptLogViewController.prototype.clear): Reset _previousMessage and _repeatCountWasInterrupted.
- (WebInspector.JavaScriptLogViewController.prototype.appendConsoleMessage): Clone the message since there might be
- multiple clients using the message, and since the message has a DOM element it can't be two places at once.
- (WebInspector.JavaScriptLogViewController.prototype.updatePreviousMessageRepeatCount): Added. Moved from LogManager.
- (WebInspector.JavaScriptLogViewController.prototype._appendCommand): Pass true to _appendConsoleMessage to set the
- _repeatCountWasInterrupted flag and not set _previousMessage.
- (WebInspector.JavaScriptLogViewController.prototype._appendCommand.printResult): Ditto.
- (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessage): Set _repeatCountWasInterrupted and only
- set _previousMessage when repeatCountWasInterrupted is false. Don't store _messages, it wasn't used.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype.updatePreviousMessageRepeatCount): Added. Call through.
- * UserInterface/LogManager.js:
- (WebInspector.LogManager): Remove initialize call.
- (WebInspector.LogManager.prototype.initialize): Removed. Not needed.
- (WebInspector.LogManager.prototype.messageWasAdded): Dispatch the message in an object, not as data directly.
- Assert the message was not used directly, it should be cloned.
- (WebInspector.LogManager.prototype.messagesCleared): Removed call to initialize.
- (WebInspector.LogManager.prototype.messageRepeatCountUpdated): MOved to JavaScriptLogViewController.
- Fire PreviousMessageRepeatCountUpdated event instead.
- (WebInspector.LogManager.prototype._mainResourceDidChange): Removed initialize call.
- (WebInspector.LogManager.prototype._addMessage): Removed.
- * UserInterface/LogSidebarPanel.js:
- (WebInspector.LogSidebarPanel): Added event listener for PreviousMessageRepeatCountUpdated.
- (WebInspector.LogSidebarPanel.prototype._messageAdded): Get message off data object. Update comment.
- (WebInspector.LogSidebarPanel.prototype._previousMessageRepeatCountUpdated): Added. Call through to current view.
- 2012-10-30 Timothy Hatcher <timothy@apple.com>
- Change the icons for Debug, Storage and Log navigators.
- This also renamed Debug Navigator to Call Stack Navigator and moved
- it and Issue to the end of the list since they are not always visible.
- I updated the keyboard shortcut numbers to match the new order.
- For better balance, I updated the Breakpoint and Issue icons.
- To help clarify these navigation items I added "Navigator" or "Details"
- to the tooltips, so they are no longer just singular word tooltips.
- <rdar://problem/11991020> Debug icon is unintuitive, consider a new icon
- <rdar://problem/12598939> Storage icon is unintuitive, consider a new icon
- <rdar://problem/12596756> Log icon is unintuitive, consider a new icon
- Reviewed by Conrad Shultz.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/AppearanceDetailsSidebarPanel.js:
- (WebInspector.AppearanceDetailsSidebarPanel):
- * UserInterface/ApplicationCacheDetailsSidebarPanel.js:
- (WebInspector.ApplicationCacheDetailsSidebarPanel):
- * UserInterface/BreakpointSidebarPanel.js:
- (WebInspector.BreakpointSidebarPanel):
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel):
- * UserInterface/DOMNodeDetailsSidebarPanel.js:
- (WebInspector.DOMNodeDetailsSidebarPanel):
- * UserInterface/DebugSidebarPanel.js:
- (WebInspector.DebugSidebarPanel):
- * UserInterface/Images/NavigationItemBreakpoint.pdf: Changed.
- * UserInterface/Images/NavigationItemFunction.pdf: Added.
- * UserInterface/Images/NavigationItemLog.pdf: Changed.
- * UserInterface/Images/NavigationItemStorage.pdf: Changed.
- * UserInterface/Images/NavigationItemWarning.pdf: Changed.
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel):
- * UserInterface/IssueSidebarPanel.js:
- (WebInspector.IssueSidebarPanel):
- * UserInterface/LogSidebarPanel.js:
- (WebInspector.LogSidebarPanel):
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- * UserInterface/ResourceDetailsSidebarPanel.js:
- (WebInspector.ResourceDetailsSidebarPanel):
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel):
- * UserInterface/ScopeChainDetailsSidebarPanel.js:
- (WebInspector.ScopeChainDetailsSidebarPanel):
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel):
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel):
- 2012-10-28 Mark Rowe <mrowe@apple.com>
- Remove references to unsupported OS and Xcode versions.
- Reviewed by Dan Bernstein.
- * Configurations/Base.xcconfig:
- * Configurations/CompilerVersion.xcconfig: Removed.
- * WebInspectorUI.xcodeproj/project.pbxproj: Remove reference to CompilerVersion.xcconfig.
- 2012-10-29 Timothy Hatcher <timothy@apple.com>
- Make the Web Inspector's clear() command work in the console again.
- <rdar://problem/11007383> REGRESSION (Safari 6): Should be able to clear current console log via clear() command
- Reviewed by Ada Chan.
- * UserInterface/ConsoleObserver.js:
- (WebInspector.ConsoleObserver.prototype.messagesCleared): Call LogManager.messagesCleared.
- * UserInterface/LogManager.js:
- (WebInspector.LogManager.prototype.messageWasAdded): Added comment about ConsoleObserver.
- (WebInspector.LogManager.prototype.messagesCleared): Added. Moved from requestClearMessages.
- (WebInspector.LogManager.prototype.messageRepeatCountUpdated): Added comment about ConsoleObserver.
- (WebInspector.LogManager.prototype.requestClearMessages): Removed clearing since that happens
- in messagesCleared now in response to the request.
- 2012-10-29 Timothy Hatcher <timothy@apple.com>
- Allow resizing the docked Web Inspector from any empty space in the navigation bars.
- <rdar://problem/11964849> REGRESSION (Safari 6): Resizing the docked Web Inspector is not easy
- Reviewed by Ada Chan.
- * UserInterface/Main.css:
- (body.docked #details-sidebar > .navigation-bar): Show row-resize cursor.
- (body.docked #details-sidebar > .navigation-bar .item:not(.flexible-space)): Reset the cursor to default.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Add event listeners to the navigation bars.
- 2012-10-28 Timothy Hatcher <timothy@apple.com>
- Use a specific icon for application cache manifests instead of the generic document icon.
- <rdar://problem/11427380> In Storage navigator Application Cache icon should be better than a generic document icon
- Reviewed by Ricky Mondello.
- * UserInterface/ApplicationCacheIcons.css:
- (.application-cache-manifest .icon): Use the new icons.
- * UserInterface/Images/ApplicationCacheManifest.png: Added.
- * UserInterface/Images/ApplicationCacheManifest@2x.png: Added.
- 2012-10-28 Joseph Pecoraro <pecoraro@apple.com>
- Make radio navigation buttons only switch for the left mouse button.
- <rdar://problem/11795081> Right-clicking navigator icons produces unexpected results
- Reviewed by Timothy Hatcher.
- * UserInterface/NavigationBar.js:
- (WebInspector.NavigationBar.prototype._mouseDown): Return early if event.button !== 0.
- (WebInspector.NavigationBar.prototype._mouseMoved): Assert event.button !== 0.
- (WebInspector.NavigationBar.prototype._mouseUp): Ditto.
- 2012-10-27 Timothy Hatcher <timothy@apple.com>
- Make the network timeline bars and callouts HiDPI compliant.
- <rdar://problem/10643175> Timeline pills/callouts should be made HiDPI compliant
- Reviewed by Sam Weinig.
- * UserInterface/Images/NetworkBarBlue.png: Added.
- * UserInterface/Images/NetworkBarBlue@2x.png: Added.
- * UserInterface/Images/NetworkBarGray.png: Added.
- * UserInterface/Images/NetworkBarGray@2x.png: Added.
- * UserInterface/Images/NetworkBarGreen.png: Added.
- * UserInterface/Images/NetworkBarGreen@2x.png: Added.
- * UserInterface/Images/NetworkBarLabelCalloutLeft.pdf: Added.
- * UserInterface/Images/NetworkBarLabelCalloutRight.pdf: Added.
- * UserInterface/Images/NetworkBarLabelCalloutWhiteLeft.pdf: Added.
- * UserInterface/Images/NetworkBarLabelCalloutWhiteRight.pdf: Added.
- * UserInterface/Images/NetworkBarOrange.png: Added.
- * UserInterface/Images/NetworkBarOrange@2x.png: Added.
- * UserInterface/Images/NetworkBarPurple.png: Added.
- * UserInterface/Images/NetworkBarPurple@2x.png: Added.
- * UserInterface/Images/NetworkBarRed.png: Added.
- * UserInterface/Images/NetworkBarRed@2x.png: Added.
- * UserInterface/Images/NetworkBarWhiteFlat.png: Added.
- * UserInterface/Images/NetworkBarWhiteFlat@2x.png: Added.
- * UserInterface/Images/NetworkBarYellow.png: Added.
- * UserInterface/Images/NetworkBarYellow@2x.png: Added.
- * UserInterface/Images/NetworkHollowBarBlue.png: Added.
- * UserInterface/Images/NetworkHollowBarBlue@2x.png: Added.
- * UserInterface/Images/NetworkHollowBarGray.png: Added.
- * UserInterface/Images/NetworkHollowBarGray@2x.png: Added.
- * UserInterface/Images/NetworkHollowBarGreen.png: Added.
- * UserInterface/Images/NetworkHollowBarGreen@2x.png: Added.
- * UserInterface/Images/NetworkHollowBarOrange.png: Added.
- * UserInterface/Images/NetworkHollowBarOrange@2x.png: Added.
- * UserInterface/Images/NetworkHollowBarPurple.png: Added.
- * UserInterface/Images/NetworkHollowBarPurple@2x.png: Added.
- * UserInterface/Images/NetworkHollowBarRed.png: Added.
- * UserInterface/Images/NetworkHollowBarRed@2x.png: Added.
- * UserInterface/Images/NetworkHollowBarYellow.png: Added.
- * UserInterface/Images/NetworkHollowBarYellow@2x.png: Added.
- * UserInterface/Images/graphLabelCalloutLeft.png: Removed.
- * UserInterface/Images/graphLabelCalloutLeftWhite.png: Removed.
- * UserInterface/Images/graphLabelCalloutRight.png: Removed.
- * UserInterface/Images/graphLabelCalloutRightWhite.png: Removed.
- * UserInterface/Images/timelineHollowPillBlue.png: Removed.
- * UserInterface/Images/timelineHollowPillGray.png: Removed.
- * UserInterface/Images/timelineHollowPillGreen.png: Removed.
- * UserInterface/Images/timelineHollowPillOrange.png: Removed.
- * UserInterface/Images/timelineHollowPillPurple.png: Removed.
- * UserInterface/Images/timelineHollowPillRed.png: Removed.
- * UserInterface/Images/timelineHollowPillYellow.png: Removed.
- * UserInterface/Images/timelinePillBlue.png: Removed.
- * UserInterface/Images/timelinePillGray.png: Removed.
- * UserInterface/Images/timelinePillGreen.png: Removed.
- * UserInterface/Images/timelinePillOrange.png: Removed.
- * UserInterface/Images/timelinePillPurple.png: Removed.
- * UserInterface/Images/timelinePillRed.png: Removed.
- * UserInterface/Images/timelinePillWhiteFlat.png: Removed.
- * UserInterface/Images/timelinePillYellow.png: Removed.
- * UserInterface/NetworkTimeline.css:
- (.network-graph-label.before):
- (.network-graph-label.before::after):
- (.network-graph-label.after):
- (.network-graph-label.after::before):
- (.network-graph-bar):
- (.resource-cached .network-graph-bar):
- (.network-resource-type-document .network-graph-bar):
- (.network-resource-type-document.resource-cached .network-graph-bar):
- (.network-resource-type-stylesheet .network-graph-bar):
- (.network-resource-type-stylesheet.resource-cached .network-graph-bar):
- (.network-resource-type-image .network-graph-bar):
- (.network-resource-type-image.resource-cached .network-graph-bar):
- (.network-resource-type-font .network-graph-bar):
- (.network-resource-type-font.resource-cached .network-graph-bar):
- (.network-resource-type-script .network-graph-bar):
- (.network-resource-type-script.resource-cached .network-graph-bar):
- (.network-resource-type-xhr .network-graph-bar):
- (.network-resource-type-xhr.resource-cached .network-graph-bar):
- (.network-resource-type-other .network-graph-bar):
- (.network-resource-type-other.resource-cached .network-graph-bar):
- (.data-grid:focus tr.selected .network-graph-bar):
- (.data-grid:focus tr.selected .resource-cached .network-graph-bar):
- (.data-grid:focus tr.selected .network-graph-label.before::after):
- (.data-grid:focus tr.selected .network-graph-label.after::before):
- 2012-10-26 Timothy Hatcher <timothy@apple.com>
- Clear the issue navigator sidebar when the active log is cleared.
- Reviewed by Ada Chan.
- * UserInterface/IssueManager.js:
- (WebInspector.IssueManager): Listen for the ActiveLogCleared event.
- (WebInspector.IssueManager.prototype.initialize): Dispatch the Cleared event.
- (WebInspector.IssueManager.prototype._activeLogCleared): Added. Call initialize.
- (WebInspector.IssueManager.prototype._mainResourceDidChange): Just call initialize
- since it now dispatches the Cleared event.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Create logManager before issueManager so IssueManager
- can listen for the ActiveLogCleared event.
- 2012-10-26 Timothy Hatcher <timothy@apple.com>
- Clean up LogContentView and make clearing the console have straightforward code path.
- The icon for the trashcan was also 1px too low and not embossed.
- Reviewed by Brian Weinstein.
- * UserInterface/Images/NavigationItemTrash.pdf: Updated.
- * UserInterface/LogContentView.css:
- (.console-messages): Changed from #console-messages.
- (.console-messages a): Ditto.
- (.console-messages a:hover): Ditto.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView): Don't set ids on elements. Remove unused className.
- Directly listen for the ActiveLogCleared event. Remove true from the end of the
- ButtonNavigationItem for the clear button to make it embossed.
- (WebInspector.LogContentView.prototype.disable): Set _disabled. Also disable the clear
- button and add a FIXME.
- (WebInspector.LogContentView.prototype.consoleCleared): Removed. Replaced by _activeLogCleared.
- (WebInspector.LogContentView.prototype.closed): Added.
- (WebInspector.LogContentView.prototype.didAppendConsoleMessage): Removed. Stop firing
- and event no one listens for.
- (WebInspector.LogContentView.prototype._handleContextMenuEvent): Use _clearLog. Don't
- add the context menu item for disabled logs.
- (WebInspector.LogContentView.prototype._requestClearMessages): Removed. Replaced by _clearLog.
- (WebInspector.LogContentView.prototype._activeLogCleared): Added.
- (WebInspector.LogContentView.prototype._clearLog): Call WebInspector.logManager.requestClearMessages
- and wait for the ActiveLogCleared event.
- * UserInterface/LogSidebarPanel.js:
- (WebInspector.LogSidebarPanel): Removed ActiveLogCleared event listener.
- (WebInspector.LogSidebarPanel.prototype._activeLogCleared): Removed.
- 2012-10-26 Timothy Hatcher <timothy@apple.com>
- Update all of the generated icons in the Web Inspector when the device pixel ratio changes.
- <rdar://problem/12579083> Update generated images as the window moves between 1x and 2x screens
- Reviewed by Ricky Mondello.
- * UserInterface/ImageUtilities.js:
- (generateColoredImagesForCSS): Added matchMedia listener.
- (generateColoredImagesForCSS.generateImages): Renamed from imageLoaded.
- (generateEmbossedImages): Added matchMedia listener.
- (generateEmbossedImages._generateImages): Renamed from _imageLoaded.
- 2012-10-25 Timothy Hatcher <timothy@apple.com>
- Make ImageUtilities.js in Web Inspector webkitGetImageDataHD and webkitGetImageDataHD.
- Since the 2x canvas approach was no longer working we now only generate one canvas that
- matches the device pixel ratio. This does not properly update as the Web Inspector
- changes screens, and that is tracked by <rdar://problem/12579083>.
- The icons are still blurry in HiDPI, and that is tracked by <rdar://problem/12574189>.
- <rdar://problem/12579056> Update ImageUtilities.js to properly work in HIDPI
- Reviewed by Antoine Quint.
- * UserInterface/ActivateButtonNavigationItem.js:
- (WebInspector.ActivateButtonNavigationItem.prototype.generateStyleText): Remove 2x selectors.
- * UserInterface/ButtonNavigationItem.js:
- (WebInspector.ButtonNavigationItem.prototype.generateStyleText): Ditto.
- * UserInterface/RadioButtonNavigationItem.js:
- (WebInspector.RadioButtonNavigationItem.prototype.generateStyleText): Ditto.
- * UserInterface/CSSStyleDetailsSidebarPanel.css: Remove 2x selectors and media queries.
- * UserInterface/DOMTreeOutline.css: Ditto.
- * UserInterface/DataGrid.css: Ditto.
- * UserInterface/DetailsSection.css: Ditto.
- * UserInterface/LogContentView.css: Ditto.
- * UserInterface/Main.css: Ditto.
- * UserInterface/NavigationSidebarPanel.css: Ditto.
- * UserInterface/Section.css: Ditto.
- * UserInterface/TimelinesContentView.css: Ditto.
- * UserInterface/ImageUtilities.js:
- (generateColoredImage): Use webkitGetImageDataHD and webkitPutImageDataHD.
- (generateColoredImagesForCSS): Stop generating 2x versions.
- (generateEmbossedImages): Stop generating 2x versions. Use webkitGetImageDataHD and
- webkitPutImageDataHD.
- 2012-10-25 Korhan Bircan <kbircan@apple.com>
- Fix for "<rdar://problem/12120092> REGRESSION (Safari 6): No button to clear the Log view or Quick Console".
- Reviewed by Timothy Hatcher.
- There's no "Clear Console" button in the log content view and we only support Command-K shortcut
- to clear the console. This is a missing feature that has been mentioned a few times on Twitter
- and Stack Overflow. This patch adds a "Clear Console" button in the navigation bar where we think
- is a good place for discoverability.
- We can likely do the same for the Quick Console once we decide where the best place to put the
- button is.
- * Localizations/en.lproj/localizedStrings.js: Regenerated after adding the tooltip.
- * UserInterface/Images/NavigationItemTrash.pdf: Added.
- * UserInterface/LogContentView.js:
- Added a navigation item button with a trashcan icon for clearing the console log.
- Renamed context menu tooltip from "Clear Console" to "Clear Log" for consistency.
- 2012-10-25 Timothy Hatcher <timothy@apple.com>
- Correct the blurriness of the Close, Dock and Undock navigation items in the Web Inspector.
- <rdar://problem/12573816> Close, Dock and Undock navigation items are blurry
- Reviewed by Dan Bernstein.
- * UserInterface/ButtonNavigationItem.js:
- (WebInspector.ButtonNavigationItem.prototype._generateImages): Pass _imageHeight instead of _imageWidth again.
- 2012-10-25 Timothy Hatcher <timothy@apple.com>
- Darken the blue used for Web Inspector active navigation items to have better contrast.
- This also adds a slight glow to simulate that these buttons have a blue light.
- Reviewed by Antoine Quint.
- * UserInterface/ImageUtilities.js:
- (._createEmbossedCanvasImage): Tweak the colors and add a glow.
- 2012-10-24 Timothy Hatcher <timothy@apple.com>
- Hide empty navigation sidebars in the Web Inspector until they have content.
- This hides Issues, Debug and Storage if they are empty. This frees up the navigation
- bar and makes it less intimidating in most cases.
- <rdar://problem/12569339> Empty navigation sidebars should be hidden until they have content.
- Rubber-stamped by Antoine Quint.
- * UserInterface/DebugSidebarPanel.js:
- (WebInspector.DebugSidebarPanel.prototype._showNotPausedEmptyContentPlaceholder): Pass true
- to showEmptyContentPlaceholder to indicate the navigation item should be hidden too.
- * UserInterface/IssueSidebarPanel.js:
- (WebInspector.IssueSidebarPanel): Pass true to NavigationSidebarPanel for auto-hiding.
- * UserInterface/NavigationItem.js:
- (WebInspector.NavigationItem.prototype.set hidden): Update layout os items expand and collapse
- as the space available changes.
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel): Start the navigation bar out as hidden if auto-hiding.
- (WebInspector.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder): Call
- _updateNavigationItemVisibility after setting _hideNavigationItemWhenEmpty.
- (WebInspector.NavigationSidebarPanel.prototype.hideEmptyContentPlaceholder): Ditto.
- (WebInspector.NavigationSidebarPanel.prototype.updateEmptyContentPlaceholder): Call
- _updateNavigationItemVisibility.
- (WebInspector.NavigationSidebarPanel.prototype.shown): Force navigation item visible.
- (WebInspector.NavigationSidebarPanel.prototype.hidden): Added. Call _updateNavigationItemVisibility.
- (WebInspector.NavigationSidebarPanel.prototype._updateNavigationItemVisibility): Added.
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel): Pass true to NavigationSidebarPanel for auto-hiding.
- 2012-10-24 Timothy Hatcher <timothy@apple.com>
- Make Command-Shift-C toggle the "point to inspect" mode.
- This shortcut originates from Firebug and is also available in Chrome. To make this work
- I had to make DOMTreeManager keep track of the state and fire an event when it changed.
- That way the global shortcut could toggle the mode even if there isn't a FrameContentView.
- This also allows all the FrameContentViews to keep in sync with the global switch.
- <rdar://problem/6275138> Inspect clicked element needs a keyboard shortcut
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/DOMTreeManager.js:
- (WebInspector.DOMTreeManager.prototype.inspectElement): Fire InspectModeStateChanged.
- (WebInspector.DOMTreeManager.prototype.get inspectModeEnabled): Added.
- (WebInspector.DOMTreeManager.prototype.set inspectModeEnabled.callback): Added.
- Handle the error case and fire InspectModeStateChanged.
- (WebInspector.DOMTreeManager.prototype.set inspectModeEnabled): Changed from
- setInspectModeEnabled into a setter. Use an internal callback.
- * UserInterface/FrameContentView.js:
- (WebInspector.FrameContentView.prototype.get navigationItems): Renamed _nodeSearchActivateButtonNavigationItem
- to _inspectModeButtonNavigationItem.
- (WebInspector.FrameContentView.prototype.shown): Removed call to _setNodeSearchEnabled.
- (WebInspector.FrameContentView.prototype._inspectModeStateChanged): Renamed from _setNodeSearchEnabled.
- (WebInspector.FrameContentView.prototype._toggleNodeSearch): Toggle WebInspector.domTreeManager.inspectModeEnabled
- and listen for the event instead of a callback.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Create a shortcut for inspect mode.
- (WebInspector._toggleInspectMode): Added.
- 2012-10-24 Timothy Hatcher <timothy@apple.com>
- Make it easy to have different tooltips for toggle buttons in the Web Inspector.
- Also tweak the wording of the hand button in an attempt to keep it clear and terse.
- Reviewed by Jeff Miller.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/ActivateButtonNavigationItem.js:
- (WebInspector.ActivateButtonNavigationItem): Take an activatedToolTip param in addition to
- defaultToolTip and store them.
- (WebInspector.ActivateButtonNavigationItem.prototype.get defaultToolTip): Added.
- (WebInspector.ActivateButtonNavigationItem.prototype.get activatedToolTip): Added.
- (WebInspector.ActivateButtonNavigationItem.prototype.set activated): Switch the tooltips.
- * UserInterface/FrameContentView.js:
- (WebInspector.FrameContentView): Pass in alternate tooltips for the navigation items.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Setup the tooltips when the navigation items are created.
- (WebInspector.updateDockedState): Remove toolTip manipulation.
- (WebInspector._sidebarCollapsedStateDidChange): Ditto.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole): Setup the tooltips when the navigation items are created.
- (WebInspector.QuickConsole.prototype.set collapsed): Remove toolTip manipulation.
- (WebInspector.QuickConsole.prototype._debuggerDidPause): Ditto.
- (WebInspector.QuickConsole.prototype._debuggerDidResume): Ditto.
- * UserInterface/ToggleButtonNavigationItem.js:
- (WebInspector.ToggleButtonNavigationItem):Take an alternateToolTip param in addition to
- defaultToolTip and store them.
- (WebInspector.ToggleButtonNavigationItem.prototype.get defaultToolTip): Added.
- (WebInspector.ToggleButtonNavigationItem.prototype.get alternateToolTip): Added.
- (WebInspector.ToggleButtonNavigationItem.prototype.set toggled): Switch the tooltips.
- 2012-10-25 Antoine Quint <graouts@apple.com>
- Customise the word-wrapping behaviour to break even when there is no space in the text
- typed into the console (W3C spec at http://www.w3.org/TR/css3-text/#overflow-wrap)
- <rdar://problem/12331949> Quick console text overlaps debugging controls
- Reviewed by Timothy Hatcher.
- * UserInterface/JavaScriptTextPrompt.css:
- (.javascript-prompt):
- 2012-10-24 Antoine Quint <graouts@apple.com>
- Add the "active-focus" state as a shared state for all button navigation items and use that state as well
- as the "focus" state regardless of keyboard focus.
- <rdar://problem/11742049> Web Inspector navigation bar buttons need a more noticeable selected state
- Reviewed by Timothy Hatcher.
- * UserInterface/ActivateButtonNavigationItem.js: Stop using custom states and use the shared states defined in
- ButtonNavigationItem.
- (WebInspector.ActivateButtonNavigationItem.prototype.generateStyleText):
- * UserInterface/ButtonNavigationItem.js: Add the "active-focus" from ActivateButtonNavigationItem.
- * UserInterface/RadioButtonNavigationItem.js: Use the "focus" state even when we're not using keyboard focus
- and use the "active-focus" state when we're pressing the button as well.
- (WebInspector.RadioButtonNavigationItem.prototype.generateStyleText):
- 2012-10-23 Timothy Hatcher <timothy@apple.com>
- Make "Inspect Element" and the inspect() console API switch the sidebar to match the content view.
- Reviewed by Joseph Pecoraro.
- * UserInterface/InspectorObserver.js:
- (WebInspector.InspectorObserver.prototype.inspect): Select the resourceSidebarPanel or
- the storageSidebarPanel depending on the type of object being inspected.
- 2012-10-23 Timothy Hatcher <timothy@apple.com>
- Fix event listener links and make them work with anonymous scripts.
- <rdar://problem/12557978> REGRESSION: Event listener function links are displayed as
- numbers and don't work
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager.prototype.reset): Call Script.resetUniqueDisplayNameNumbers. This
- way the anonymous scripts scripts start back at 1 when you reload or load a new page.
- * UserInterface/EventListenerSectionGroup.js:
- (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink): In the past scriptId
- could be a URL. Now it is always a script identifier. So try looking up the resource by URL
- if a script can't be found directly. Use WebInspector.createSourceCodeLink.
- * UserInterface/Main.css:
- (.go-to-link): Added cursor: pointer for cases when the link has no href.
- * UserInterface/Main.js:
- (WebInspector.createSourceCodeLink): Added.
- (WebInspector.createSourceCodeLink.showSourceCode): Added.
- * UserInterface/Resource.js:
- (WebInspector.Resource.prototype.get displayName): Added.
- * UserInterface/Script.js:
- (WebInspector.Script.resetUniqueDisplayNameNumbers): Added.
- (WebInspector.Script.prototype.get displayName): Added.
- * UserInterface/ScriptTreeElement.js:
- (WebInspector.ScriptTreeElement): Use the displayName getter for mainTitle.
- * UserInterface/SourceCode.js:
- (WebInspector.SourceCode.prototype.get displayName): Added.
- 2012-10-22 Timothy Hatcher <timothy@apple.com>
- Make docking/undocking the Web Inspector work again.
- <rdar://problem/12554785> REGRESSION (r132045): Docking/undocking does not work
- Reviewed by Dan Bernstein.
- * UserInterface/InspectorFrontendAPI.js:
- (InspectorFrontendAPI.setAttachedWindow): Removed.
- (InspectorFrontendAPI.setDockSide): Added.
- * UserInterface/Main.js:
- (WebInspector._toggleDockedState): Use InspectorFrontendHost.requestSetDockSide.
- 2012-10-22 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/12540519> Should be able to copy text from datagrid easier
- Reviewed by Timothy Hatcher.
- Have a DataGrid handle a copy event if the last selection was in the
- DataGrid and it has a selected row. Also add a "Copy Row" context menu.
- * Localizations/en.lproj/localizedStrings.js:
- Add "Copy Row" context menu string.
- * UserInterface/DataGrid.js:
- (WebInspector.DataGrid):
- (WebInspector.DataGrid.prototype._contextMenuInDataTable):
- Add "Copy Row" context menu item if the node is selectable.
- (WebInspector.DataGrid.prototype._copyTextForDataGridNode):
- Return a tab separated list of values. This uses the original data from
- which the node is created. In some cases, like the instrument navigator's
- datagrids, this may not match the final DataGrid row's content.
- (WebInspector.DataGrid.prototype._beforeCopy):
- (WebInspector.DataGrid.prototype._copy):
- Allow copy when the event is inside the datagrid, there is no range
- selection, and we have a selected row.
- (WebInspector.DataGrid.prototype._copyRow):
- Directly copy an individual row.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- Remove useCapture from the main document's beforecopy handler.
- 2012-10-22 Timothy Hatcher <timothy@apple.com>
- Make the Web Inspector fast!
- Use a timeout instead of an interval to prevent being capped on the time between protocol messages.
- Only one timeout is created and the whole queue is dispatched when the timer fires. This prevents
- creating potentially hundreds of timers that were all firing at the same time.
- <rdar://problem/11759145> REGRESSION (Safari 6): console.log() exhibits extremely long delay (slow)
- when many javascript files have just been loaded
- Reviewed by Joseph Pecoraro.
- * UserInterface/Main.js:
- (WebInspector.dispatchNextQueuedMessageFromBackend): Removed interval code.
- (WebInspector.dispatchMessageFromBackend): Use setTimeout instead of setInterval. Updated the comment
- and removed the reentrancy part, which isn't possible since the backend also has a queue with a timer.
- 2012-10-22 Timothy Hatcher <timothy@apple.com>
- Make WebInspector.JavaScriptLogViewController be responsible for scrolling to the bottom,
- since it can check before new messages are added to know if a scroll is needed.
- This fixes a bug where we were not auto scrolling down if you were at the bottom.
- <rdar://problem/12049983> REGRESSION (Safari 6): Console doesn't autoscroll when it should
- Reviewed by John Sullivan.
- * UserInterface/JavaScriptLogViewController.js:
- (WebInspector.JavaScriptLogViewController): Store element as _element.
- (WebInspector.JavaScriptLogViewController.prototype.isScrolledToBottom): Added.
- (WebInspector.JavaScriptLogViewController.prototype.scrollToBottom.delayedWork): Added.
- Do the actual scroll here.
- (WebInspector.JavaScriptLogViewController.prototype.scrollToBottom): Added. Don't scroll
- immediately so we are not causing excessive layouts.
- (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessage): Remember if we
- were scrolled to the bottom before appending the message. This was the bug, before the delegate
- didAppendConsoleMessage was checking and that was after the content was appended and we were
- never scrolled to the bottom at that point.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype.didAppendConsoleMessage): Don't try to scroll, it is
- now handled by JavaScriptLogViewController.
- (WebInspector.LogContentView.prototype._isScrollIntoViewScheduled): Removed.
- (WebInspector.LogContentView.prototype._scheduleScrollIntoView): Removed.
- (WebInspector.LogContentView.prototype._immediatelyScrollIntoView): Removed.
- (WebInspector.LogContentView.prototype._cancelScheduledScrollIntoView): Removed.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole.prototype._isScrolledToBottom): Call through to JavaScriptLogViewController.
- (WebInspector.QuickConsole.prototype._scrollToBottom): Ditto.
- 2012-10-22 Timothy Hatcher <timothy@apple.com>
- Make WebInspector.JavaScriptLogViewController create the top WebInspector.ConsoleGroup.
- JavaScriptLogViewController now takes the parent element so it controls more of the DOM. This will
- be needed to control the scroll state instead of having LogContentView and QuickConsole do it.
- Part of: <rdar://problem/12049983> REGRESSION (Safari 6): Console doesn't autoscroll when it should
- Reviewed by John Sullivan.
- * UserInterface/JavaScriptLogViewController.js:
- (WebInspector.JavaScriptLogViewController): Don't take in a ConsoleGroup, create it internally.
- Insert or append the ConsoleGroup into the parentElement.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView): Don't make the ConsoleGroup, just get it from _logViewController.
- Create and assign this.prompt first so it is in the DOM before making the _logViewController.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole): Don't make the ConsoleGroup.
- 2012-10-21 Timothy Hatcher <timothy@apple.com>
- Prevent the scroll position from changing when rebuilding the styles sidebar.
- <rdar://problem/12544009> The Styles details sidebar scrolls to the top after editing a property
- Reviewed by Dan Bernstein.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections): Save and restore scrollTop.
- 2012-10-20 Timothy Hatcher <timothy@apple.com>
- Add an "Inherited Styles" section to the Style details sidebar.
- <rdar://problem/11981468> REGRESSION (Safari 6): Inspector does not show Inherited Style Rules
- Reviewed by Ricky Mondello.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/CSSStyleDetailsSidebarPanel.css:
- (.sidebar > .panel.details.css-style .styles-section.inherited .properties .inherited): Added.
- Hides non-iherited properties for inherited rules.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel): Create and add the Inherited Styles section.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections.createStylePropertiesSection):
- Pass styleRule.isInherited instead of always passing false.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections.createRuleGroups): Added.
- Factored out of createMatchedRuleGroups for reuse by inherited rules.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections.createMatchedRuleGroups):
- Use the factored out createRuleGroups function.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections): Append inherited rules
- to inheritedStyleRules for later use. Walk the inheritedStyleRules and create the sections and groups.
- * UserInterface/DetailsSection.css:
- (.details-section > .header): Reduce right padding, it was too wide.
- (.details-section > .header > .node-link, .details-section > .header > .go-to-arrow): Added.
- Float right to position the arrow on the right side of the title.
- (.details-section > .header .go-to-arrow): Added. Adjust the size and margin to better fit the header.
- * UserInterface/StylePropertiesSection.js:
- (WebInspector.StylePropertiesSection): Changed "show-inherited" to just "inherited". This reduces the
- confusion with the computed style "show-inherited" class.
- 2012-10-20 Timothy Hatcher <timothy@apple.com>
- Make the console log stay active when navigating to a new page if one was showing.
- <rdar://problem/12542303> DOM Tree forces itself visible when navigating to a new page while looking at a Log
- Reviewed by Ricky Mondello.
- * UserInterface/LogManager.js:
- (WebInspector.LogManager.prototype._mainResourceDidChange): Only send SessionStarted or Cleared,
- not both. This way listeners of Cleared can start the new session with some context.
- * UserInterface/LogSidebarPanel.js:
- (WebInspector.LogSidebarPanel.prototype._startSession): Added. Factored out of _sessionStarted.
- Honor the forceActiveContentView parameter when deciding to show the content view.
- (WebInspector.LogSidebarPanel.prototype._sessionStarted): Call _startSession.
- (WebInspector.LogSidebarPanel.prototype._logsCleared): Remember if we were showing a log before
- closing all the logs. Call _startSession can force the content view to be active if we were
- showing a log before.
- 2012-10-20 Timothy Hatcher <timothy@apple.com>
- Make Encoded and Transfer Size update when the values change during page load.
- Renamed Encoded Size to Transfer Size to avoid confusion in cases where it isn't encoded. Also
- the value includes the response headers size, which is the only size when showing a 304. This
- is consistent with the title of the Transferred column in the Network Timeline.
- <rdar://problem/12542122> Encoded and Decoded Size doesn't update in the Resource details sidebar
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/Resource.js:
- (WebInspector.Resource.prototype.get transferSize): Move the 304 check before the cached
- check since we mark 304 loads as cached now, but there still was network transfer of headers.
- (WebInspector.Resource.prototype.updateForResponse): Fire TransferSizeDidChange for 304 and
- if we have a Content-Length.
- (WebInspector.Resource.prototype.increaseSize): Fire TransferSizeDidChange if we don't have
- a _transferSize and it isn't a 304 or Content-Length is missing.
- (WebInspector.Resource.prototype.markAsCached): Fire TransferSizeDidChange when not a 304.
- * UserInterface/ResourceDetailsSidebarPanel.js:
- (WebInspector.ResourceDetailsSidebarPanel): Renamed "Encoded Size" to "Transfer Size".
- (WebInspector.ResourceDetailsSidebarPanel.prototype.set resource): Listen for SizeDidChange and
- TransferSizeDidChange events.
- (WebInspector.ResourceDetailsSidebarPanel.prototype.refresh): Call _refreshDecodedSize and
- _refreshTransferSize.
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestAndResponse): Use emDash
- in more places. Removed valueForSize and updating of size rows.
- (WebInspector.ResourceDetailsSidebarPanel.prototype._valueForSize): Added.
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshDecodedSize): Added.
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshTransferSize): Added.
- 2012-10-19 Timothy Hatcher <timothy@apple.com>
- Make the Scope Chain details sidebar update when continuing in a loop.
- <rdar://problem/11828667> REGRESSION (Safari 6): Variables do not update when continuing in a loop
- Reviewed by Joseph Pecoraro.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange): Don't return early if the line
- number didn't change. The execution state still could have changed.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.set executionLineNumber): Only return early if there isn't a line
- number and that isn't changing. Still dispatch the event even if the number didn't change. The execution
- state still could have changed.
- 2012-10-19 Timothy Hatcher <timothy@apple.com>
- Better support for complex Content-Types in the Post Data section.
- This change splits out the charset and boundary info from the Content-Type and
- displays that info on separate rows. It also handles zero size data since the
- backend does not send data if there are any files present.
- Part of: <rdar://problem/6716080> REGRESSION (Safari 6): Missing POST request data
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/DetailsSection.css:
- (.details-section > .content > .group > .row.simple.data > .value): Added.
- * UserInterface/DetailsSectionSimpleRow.js:
- (WebInspector.DetailsSectionSimpleRow.prototype.set value): Set the data class name
- if the value does not have any spaces for good word breaking. This will allow breaking
- on every character, which looks better for the boundary post data string.
- * UserInterface/ResourceDetailsSidebarPanel.js:
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshPostDataSection): Parse
- the content type into MIME-type and the boundary and/or charset.
- 2012-10-19 Timothy Hatcher <timothy@apple.com>
- Add the first part of showing POST data: simple data in the Resource details sidebar.
- Part of: <rdar://problem/6716080> REGRESSION (Safari 6): Missing POST request data
- Reviewed by Dean Jackson.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.frameDidNavigate): Removed optional parameters
- when making a Resource.
- (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent): Pass along postData.
- (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): Pass null for postData.
- (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame): Added parameter for postData.
- Pass along postData to Resource constructor.
- (WebInspector.FrameResourceManager.prototype._createFrame): Removed optional parameters
- when making a Resource.
- (WebInspector.FrameResourceManager.prototype._createResource): Ditto.
- * UserInterface/Resource.js:
- (WebInspector.Resource): Added postData parameter. Store the _postData.
- (WebInspector.Resource.prototype.get postData): Added.
- (WebInspector.Resource.prototype.get postDataContentType): Added.
- * UserInterface/ResourceDetailsSidebarPanel.js:
- (WebInspector.ResourceDetailsSidebarPanel): Create _postDataSection. Don't show _queryParametersSection
- by default, it is now added or removed in _refreshURL.
- (WebInspector.ResourceDetailsSidebarPanel.prototype.refresh): Call _refreshPostDataSection.
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshURL): Show and hide the query
- parameters section based on the query string.
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshPostDataSection): Added.
- 2012-10-19 Timothy Hatcher <timothy@apple.com>
- Support text/x-javascript and other MIME-types as scripts.
- The code was also throwing an exception for unknown MIME-types, which was causing
- the view displaying the Resource to not show anything. Now we just log an error
- and return null so plain text will be shown for unknown types.
- <rdar://problem/11961403> REGRESSION (Safari 6): XHR response is blank for some
- sites (including store.apple.com)
- Reviewed by Antoine Quint.
- * UserInterface/Resource.js:
- (WebInspector.Resource.Type._mimeTypeMap): Added application/x-json and variants.
- * UserInterface/SourceTokenizer.js:
- (WebInspector.SourceTokenizer): Added application/x-json and variants. Changed a throw
- into a console.error with a return of null.
- 2012-10-19 Timothy Hatcher <timothy@apple.com>
- Properly clear the special script folders after a reload so old scripts don't stay around.
- <rdar://problem/11329600> REGRESSION (Safari 6): Special scripts duplicate for each reload
- Reviewed by Antoine Quint.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype._scriptsCleared): Set each folder to null so they will be
- recreated instead of reused the next time there is a script to show.
- =2012-10-18 Timothy Hatcher <timothy@apple.com>
- Fix an issue where the Inspector would show duplicate broken resources if you opened it
- while the page was still loading.
- <rdar://problem/11328818> Broken resources if you open the inspector while the page is loading
- Reviewed by Joseph Pecoraro.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.markResourceRequestAsServedFromMemoryCache): Add a comment
- about why we might not have a resource.
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): Don't try to make a
- resource here since we missed the resourceRequestWillBeSent call. It just caused duplicate resources
- and broken ones too. Add a comment and return early.
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveData): Add a comment about why we
- might not have a resource. Removed an assert.
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidFinishLoading): Ditto.
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidFailLoading): Ditto.
- 2012-10-18 Joseph Pecoraro <pecoraro@apple.com>
- Add missing color aware CSS properties.
- Reviewed by Timothy Hatcher.
- * UserInterface/CSSKeywordCompletions.js:
- 2012-10-18 Joseph Pecoraro <pecoraro@apple.com>
- In cases where the search term is a CSS Selector or XPath query and
- not a textual match we were not adding a sidebar entry. In such cases
- add a sidebar entry and highlight the entire title.
- <rdar://problem/12522494> Searching "link[href]" in search navigator has missing sidebar items
- Reviewed by Timothy Hatcher.
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel.performSearch.domCallback.domSearchResults):
- First check for partial highlights in textual matches. If none were
- found, this is a Selector or XPath match, and we highlight it entirely.
- 2012-10-18 Timothy Hatcher <timothy@apple.com>
- Harden the Web Inspector a bit with a Content Security Policy header.
- By default only load content from 'self'. Allow external loading of images, media and
- fonts; because large resources are not sent over the inspector protocol. Allow inline
- styles and eval for scripts.
- Reviewed by Joseph Pecoraro.
- * UserInterface/Main.html:
- 2012-10-17 Timothy Hatcher <timothy@apple.com>
- Improve error reporting for Inspector protocol errors.
- Reviewed by Dean Jackson.
- * UserInterface/InspectorBackend.js:
- (InspectorBackendClass.prototype.reportProtocolError): Log the message of the error
- object, not the error object itself.
- 2012-10-17 Antoine Quint <graouts@apple.com>
- We now display a new section in the resource details sidebar panel for the image size when we're inspecting
- an image resource. To facilitate this, we add a new .getImageSize() method on Resource which creates an
- <img> element to load the base64 version of the image as it was loaded and use the loaded element to query
- the intrinsic image metrics.
-
- <rdar://problem/11247288> REGRESSION (Safari 6): Width and height size info for image resources is missing
- Reviewed by Timothy Hatcher.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/Resource.js:
- (WebInspector.Resource.prototype.markAsFailed):
- (WebInspector.Resource.prototype.getImageSize.imageDidLoad):
- (WebInspector.Resource.prototype.getImageSize):
- * UserInterface/ResourceDetailsSidebarPanel.js:
- (WebInspector.ResourceDetailsSidebarPanel):
- (WebInspector.ResourceDetailsSidebarPanel.prototype.refresh):
- (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid):
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshImageSizeSection):
- 2012-10-16 Mark Rowe <mrowe@apple.com>
- Add a configuration setting to control whether resources in the
- Web Inspector framework are combined and minified.
- Reviewed by Timothy Hatcher.
- This allows non-Production builds to enable this functionality if desired.
- * Configurations/WebInspectorFramework.xcconfig:
- * Scripts/copy-user-interface-resources.sh:
- 2012-10-16 Timothy Hatcher <timothy@apple.com>
- Fix an exception and properly deactivate the node search button after a node is inspected.
- <rdar://problem/12507181> Remnant mention of .nodeSearchActivateButtonNavigationItem in Main.js
- Reviewed by Ricky Mondello.
- * UserInterface/FrameContentView.js:
- (WebInspector.FrameContentView): Added DOMNodeWasInspected event listener.
- (WebInspector.FrameContentView.prototype._domNodeWasInspected): Added. Deactivate the node search button.
- * UserInterface/Main.js:
- (WebInspector._domNodeWasInspected): Always call InspectorFrontendHost.bringToFront(). This is good
- for the Inspect Element context menu item in windowed mode too.
- 2012-10-16 Timothy Hatcher <timothy@apple.com>
- Fix the dock buttons in the Web Inspector navigation bar when opening the Inspector with the left sidebar hidden.
- <rdar://problem/12509577> REGRESSION: Dock navigation items are in the wrong place if the
- Inspector is opened with the left sidebar hidden
- Reviewed by Ricky Mondello.
- * UserInterface/Main.js:
- (WebInspector._updateDockNavigationItems): Only do this work if needed by checking if the close button is not
- in the right place. This function can be called multiple times, and the concat can cause the items to be
- inserted into the leftNavigationItems array multiple times.
- 2012-10-16 Antoine Quint <graouts@apple.com>
- Adding decoded and encoded sizes as a new group in the Request & Response panel in
- the resource details sidebar panel. To make the reported sizes more legible, we also
- make a small change in Number.bytesToString() such that we have a space between the
- value and the unit, just like what the Get Info panel does in the Finder.
-
- <rdar://problem/12508215> Add decoded and encoded sizes to Request & Response panel
- Reviewed by Timothy Hatcher.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/ResourceDetailsSidebarPanel.js:
- (WebInspector.ResourceDetailsSidebarPanel):
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestAndResponse.valueForSize):
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestAndResponse):
- * UserInterface/Utilities.js:
- (Number.string_appeared_here.value):
- 2012-10-16 Antoine Quint <graouts@apple.com>
- We add a new method to sync the state of the compositing borders button to the WebCore page settings
- when a frame content view is shown in the Web Inspector UI. We also add a new backend command to complement
- the OpenSource patch for https://bugs.webkit.org/show_bug.cgi?id=99458 which is also out for review.
-
- <rdar://problem/12498181> "Show compositing borders" button is not activated when inspector is re-opened
- Reviewed by Timothy Hatcher.
- * UserInterface/FrameContentView.js:
- (WebInspector.FrameContentView.prototype.shown):
- (WebInspector.FrameContentView.prototype._toggleCompositingBorders):
- (WebInspector.FrameContentView.prototype._updateCompositingBordersButtonToMatchPageSettings):
- * UserInterface/InspectorBackendCommands.js:
- 2012-10-16 Antoine Quint <graouts@apple.com>
- Add a new .highlight() method on TextEditorChunk which applies a simple CSS
- animation to the HTML element for the text chunk, and call this method in
- TextEditor's revealLine() method. Since the CSS class we're applying is only
- meant to be transitory, we remove the CSS class name upon completion of the
- animation.
- <rdar://problem/12349298> REGRESSION (Safari 6): When clicking a file/line link
- in the console the line is not highlighted in the source
- Reviewed by Timothy Hatcher.
- * UserInterface/TextEditor.css:
- (.text-editor-text-chunk.highlighted):
- (@-webkit-keyframes fadeout):
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.revealLine):
- (WebInspector.TextEditorTextChunk.prototype.updateContent):
- (WebInspector.TextEditorTextChunk.prototype.highlight):
- 2012-10-15 Timothy Hatcher <timothy@apple.com>
- Fix an exception in ContentBrowser._updateContentViewNavigationItems that was causing resource to not be cleared.
- <rdar://problem/12501269> REGRESSION: Reloading or loading a new page does not clear previous resources
- Reviewed by Antoine Quint.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems): The currentContentView can be
- null when this is called. In that case just clear _currentContentViewNavigationItems and return early.
- 2012-10-15 Timothy Hatcher <timothy@apple.com>
- Remove extra line breaks before color values when copying from the style sidebar.
- <rdar://problem/12506099> When copying style rule sets from the sidebar,
- line breaks are inserted in the middle of each line
- Reviewed by Simon Fraser.
- * UserInterface/CSSStyleDetailsSidebarPanel.css:
- (.sidebar > .panel.details.css-style .swatch): Improve spacing and alignment since
- having swatch-inner as an inline-block affects layout slightly.
- (.sidebar > .panel.details.css-style .swatch-inner): Change display from block to
- inline-block. This fixes the bug by making WebKit not insert a newline for the block.
- 2012-10-15 Timothy Hatcher <timothy@apple.com>
- Treat SVG main resources as documents and syntax highlight them using the HTML tokenizer.
- SVG subresources are still treated as images and preview as such. This matches how the
- WebKit Web Inspector treats SVGs.
- <rdar://problem/11332688> REGRESSION (Safari 6): Source code view shows SVG image instead of source
- Reviewed by Ada Chan and Dan Bernstein.
- * UserInterface/Resource.js:
- (WebInspector.Resource.Type._mimeTypeMap): Added image/svg+xml
- * UserInterface/SourceTokenizer.js:
- (WebInspector.SourceTokenizer): Use HTMLSourceTokenizer for image/svg+xml.
- 2012-10-14 Jeff Miller <jeffm@apple.com>
- Regenerate localizedStrings.js after r45263.
- * Localizations/en.lproj/localizedStrings.js:
- Regenerated.
- 2012-10-13 Timothy Hatcher <timothy@apple.com>
- Avoid direct manipulation of the ContentBrowser and Sidebar navigation bars in Main.js.
- <rdar://problem/12494193> Main.js should not modify the navigationBars directly
- Reviewed by Antoine Quint.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser): Added _leftNavigationItems and _rightNavigationItems.
- (WebInspector.ContentBrowser.prototype.get leftNavigationItems): Added.
- (WebInspector.ContentBrowser.prototype.set leftNavigationItems): Added.
- (WebInspector.ContentBrowser.prototype.get rightNavigationItems): Added.
- (WebInspector.ContentBrowser.prototype.set rightNavigationItems): Added.
- (WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems): Fix a
- FIXME when calculating the insertionIndex by using _rightNavigationItems.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Use leftNavigationItems and rightNavigationItems
- instead of direct manipulation of the navigation bar.
- (WebInspector._updateDockNavigationItems): Ditto.
- * UserInterface/NavigationBar.js:
- (WebInspector.NavigationBar.prototype.insertNavigationItem): Remove the item if it
- is already in another NavigationBar.
- * UserInterface/Sidebar.js:
- (WebInspector.Sidebar): Added _leftNavigationItems and _rightNavigationItems.
- (WebInspector.Sidebar.prototype.insertSidebarPanel): Don't use addNavigationItem
- since that would go after the right items.
- (WebInspector.Sidebar.prototype.get leftNavigationItems): Added.
- (WebInspector.Sidebar.prototype.set leftNavigationItems): Added.
- (WebInspector.Sidebar.prototype.get rightNavigationItems): Added.
- (WebInspector.Sidebar.prototype.set rightNavigationItems): Added.
- 2012-10-13 Antoine Quint <graouts@apple.com>
- We add a new navigation item to the FrameContentView to toggle composition debug options using
- the page's settings. To facilitate that, we added a new method in InspectorPageAgent to allow
- to tap into WebCore and change those settings. That work is covered by an OpenSource patch for
- https://bugs.webkit.org/show_bug.cgi?id=99253.
-
- <rdar://problem/10358004> Would like ability to turn layer borders on/off via the Web Inspector
- Reviewed by Timothy Hatcher.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/FrameContentView.js:
- (WebInspector.FrameContentView.prototype.get navigationItems):
- (WebInspector.FrameContentView.prototype.shown):
- (WebInspector.FrameContentView.prototype._toggleNodeSearch):
- (WebInspector.FrameContentView.prototype._toggleCompositingBorders):
- * UserInterface/Images/NavigationItemLayers.pdf: Added.
- * UserInterface/InspectorBackendCommands.js:
- 2012-10-12 Antoine Quint <graouts@apple.com>
- We remove the code that manages the display of the "node inspection by selection" toggle navigation
- item from Main.js and let the ContentBrowser add and remove navigation items registered on the ContentView
- instance made the current content view.
-
- <rdar://problem/12487959> Let content views provide navigation items to the content browser.
- Reviewed by Timothy Hatcher.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser):
- (WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems.var):
- (WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems):
- (WebInspector.ContentBrowser.prototype._currentContentViewDidChange):
- * UserInterface/ContentView.js:
- (WebInspector.ContentView.prototype.get navigationItems):
- * UserInterface/FrameContentView.js:
- (WebInspector.FrameContentView.prototype.get navigationItems):
- (WebInspector.FrameContentView.prototype.shown):
- (WebInspector.FrameContentView.prototype._pathComponentSelected):
- (WebInspector.FrameContentView.prototype._setNodeSearchEnabled):
- (WebInspector.FrameContentView.prototype._toggleNodeSearch):
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- 2012-10-12 Timothy Hatcher <timothy@apple.com>
- Update the CSSKeywordCompletions.InheritedProperties list.
- <rdar://problem/12371756> Computed -webkit-font-smoothing should appear in Inspector
- Rubber-stamped by Brian Weinstein.
- * UserInterface/CSSKeywordCompletions.js:
- (WebInspector.CSSKeywordCompletions.InheritedProperties): Updated from CSSProperty::isInheritedProperty
- from WebCore. The old list was from an old CSS 2.1 list.
- 2012-10-12 Timothy Hatcher <timothy@apple.com>
- Don't overdraw the DataGrid sort indicator each time a DataGrid is created.
- <rdar://problem/12488653> DataGrid sort indicator keeps getting darker
- Reviewed by John Sullivan.
- * UserInterface/DataGrid.js:
- (WebInspector.DataGrid.prototype._generateSortIndicatorImagesIfNeeded): Store _generatedSortIndicatorImages
- on the WebInspector.DataGrid constructor so it only generates the images once. Use a solid color for the
- arrows. The previous color was too light now that it isn't overdrawing.
- 2012-10-11 Timothy Hatcher <timothy@apple.com>
- Show the HTTP method, cached and HTTP status code/text in the Resource details sidebar.
- This fixes two cases where the resource was not marked as cached; when loaded from the
- disk cache and when there is a 304 response.
- <rdar://problem/11256645> REGRESSION (Safari 6): No HTTP method shown
- Reviewed by Ricky Mondello.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent): Pass along the method.
- (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): Pass null
- for the request method.
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): Mark as cached
- when loaded from the disk cache.
- (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame): Pass along the method.
- * UserInterface/Resource.js:
- (WebInspector.Resource): Added requestMethod and store it.
- (WebInspector.Resource.prototype.get requestMethod): Added.
- (WebInspector.Resource.prototype.updateForResponse): Renamed ResponseHeadersDidChange event to
- ResponseReceived since it represents more than headers.
- (WebInspector.Resource.prototype.markAsCached): Fire CacheStatusDidChange event.
- * UserInterface/ResourceDetailsSidebarPanel.js:
- (WebInspector.ResourceDetailsSidebarPanel): Create new rows and section.
- (WebInspector.ResourceDetailsSidebarPanel.prototype.set resource): Listen for new events.
- (WebInspector.ResourceDetailsSidebarPanel.prototype.refresh): Call _refreshRequestAndResponse
- instead of _refreshResponseHeaders.
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestAndResponse): Added.
- Update the new section and also call _refreshResponseHeaders.
- 2012-10-11 Antoine Quint <graouts@apple.com>
- Identify floating value and display a rounded value to the 100th in the box model
- section with a thumbnail showing the full value. Here are screenshots of before
- after applying this patch for margins with a floating value.
- <rdar://problem/12478166> Box Model section can show values overlapping their label
- Reviewed by Timothy Hatcher.
- * UserInterface/BoxModelDetailsSectionRow.js
- 2012-10-11 Antoine Quint <graouts@apple.com>
- Make headers in the details section use an ellipsis overflow style.
- <rdar://problem/12478151> Class names in the list of inherited classes in the Node
- sidebar can overflow
- Reviewed by Timothy Hatcher.
- * UserInterface/DetailsSection.css
- 2012-10-10 Timothy Hatcher <timothy@apple.com>
- Prevent searches from breaking links in the Source Code view of the Web Inspector.
- This changes how the syntax highlighter appends tokens and search results. The token
- elements are now created in whole before processing the inner text and search results.
- Before the DOM would end up being flatter, but it caused multiple links to be created
- if a search result was in the middle. The links were broken too because it only knew
- about the fragment of the text and it resolved the absolute URL on that.
- <rdar://problem/12461082> Searching in Safari's Web Inspector breaks links in source
- Reviewed by Joseph Pecoraro.
- * UserInterface/SyntaxHighlightingSupport.js:
- (WebInspector.createSyntaxHighlightedDocumentFragment):
- (WebInspector.createSyntaxHighlightedDocumentFragment.createTextNode):
- (WebInspector.createSyntaxHighlightedDocumentFragment.appendText):
- (WebInspector.createSyntaxHighlightedDocumentFragment.appendToken):
- 2012-10-10 Timothy Hatcher <timothy@apple.com>
- Make DOM storage refresh on update when inspecting iOS 6 devices.
- <rdar://problem/12472491> REGRESSION: DOM Storage does not refresh when inspecting iOS 6
- Reviewed by Brian Weinstein.
- * UserInterface/DOMStorageObserver.js:
- (WebInspector.DOMStorageObserver.prototype.updateDOMStorage): Added. Call domStorageUpdated.
- * UserInterface/InspectorBackendLegacyCommands.js: Registered DOMStorage.updateDOMStorage event.
- 2012-10-10 Timothy Hatcher <timothy@apple.com>
- Make database inspection work with Curie and keep it backwards compatible with iOS 6.
- <rdar://problem/12463671> REGRESSION: Database inspection is broken
- Reviewed by Brian Weinstein.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/DatabaseObject.js:
- (WebInspector.DatabaseObject.prototype.executeSQL): Set expectsResultObject on the callback.
- (WebInspector.DatabaseObject.prototype.executeSQL.queryCallback): Added.
- (WebInspector.DatabaseObject.prototype.executeSQL.callback): Reworked for compatibility
- by using the result object.
- * UserInterface/DatabaseObserver.js:
- (WebInspector.DatabaseObserver.prototype.sqlTransactionSucceeded): Added.
- (WebInspector.DatabaseObserver.prototype.sqlTransactionFailed): Added.
- * UserInterface/InspectorBackend.js:
- (InspectorBackendClass.prototype.dispatch): See if the callback needs the result
- object by checking for expectsResultObject.
- * UserInterface/InspectorBackendLegacyCommands.js: Added.
- * UserInterface/Main.html: Included InspectorBackendLegacyCommands.js.
- 2012-10-09 Timothy Hatcher <timothy@apple.com>
- When using "Inspect Element", select the Style details sidebar panel if one of the DOM
- details sidebar panels isn't already selected.
- <rdar://problem/12239441> REGRESSION (Safari 6): "Inspect Element" shows Resource
- details instead of useful Style details
- Reviewed by John Sullivan.
- * UserInterface/Main.js:
- (WebInspector._domNodeWasInspected): Set this.detailsSidebar.selectedSidebarPanel
- to this.cssStyleDetailsSidebarPanel if the current sidebar ins't an instance of
- the WebInspector.DOMDetailsSidebarPanel prototype.
- 2012-10-09 Timothy Hatcher <timothy@apple.com>
- Make the Style details sidebar work again after recent protocol changes.
- This change makes the Web Inspector work with Curie's Inspector protocol as well
- as maintaining backwards compatibility with iOS 6.
- <rdar://problem/12281730> REGRESSION (r129470): Nothing is showing in the Style sidebar
- Reviewed by Ricky Mondello.
- * UserInterface/BoxModelDetailsSectionRow.js:
- (WebInspector.BoxModelDetailsSectionRow.prototype._refresh): Removed forcedPseudoClasses
- from the call to getComputedStyleAsync, because it was always ignored.
- * UserInterface/CSSRule.js:
- (WebInspector.CSSRule): Support selectorList and selectorText.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections): Removed
- forcedPseudoClasses from the calls to getComputedStyleAsync and getMatchedStylesAsync.
- Fallback to empty array for matchedCSSRules.
- * UserInterface/CSSStyleManager.js:
- (WebInspector.CSSStyleManager.parseRuleArrayPayload): The protocol had just an array of
- rules, now it is an array of matches that have a 'rule' property. Support both.
- (WebInspector.CSSStyleManager.prototype.forcedPseudoClasses): Removed.
- (WebInspector.CSSStyleManager.prototype.getMatchedStylesAsync): Removed forcedPseudoClasses
- parameter. The protocol used 'rules' as a property, now it is 'matches'. Support both.
- Use invoke() when calling CSSAgent.getMatchedStylesForNode since forcedPseudoClasses was removed
- as an parameter, and invoke uses parameter names instead of parameter order.
- (WebInspector.CSSStyleManager.prototype.getComputedStyleAsync): Removed forcedPseudoClasses
- parameter. Use invoke() here too.
- 2012-10-09 Timothy Hatcher <timothy@apple.com>
- Update InspectorBackendCommands.js to r130785 of the Inspector protocol.
- <rdar://problem/12463786>
- Some features need to be updated to work with these changes:
- <rdar://problem/12281730> REGRESSION (r129470): Nothing is showing in the Style sidebar
- <rdar://problem/12463671> REGRESSION: Database inspection is broken
- <rdar://problem/12463631> REGRESSION: Subframes don't show the correct DOM (always the main frame's DOM)
- Reviewed by Ricky Mondello.
- * UserInterface/CSSObserver.js:
- (WebInspector.CSSObserver.prototype.namedFlowCreated): Added stub.
- (WebInspector.CSSObserver.prototype.namedFlowRemoved): Added stub.
- (WebInspector.CSSObserver.prototype.regionLayoutUpdated): Added stub.
- * UserInterface/DOMStorageObserver.js:
- (WebInspector.DOMStorageObserver.prototype.updateDOMStorage): Removed.
- * UserInterface/DatabaseObserver.js:
- (WebInspector.DatabaseObserver.prototype.sqlTransactionSucceeded): Removed.
- (WebInspector.DatabaseObserver.prototype.sqlTransactionFailed): Removed.
- * UserInterface/DebuggerObserver.js:
- (WebInspector.DebuggerObserver.prototype.scriptParsed): Added sourceMapURL and hasSourceURL arguments.
- * UserInterface/InspectorBackendCommands.js: Updated to r130785.
- * UserInterface/InspectorObserver.js:
- (WebInspector.InspectorObserver.prototype.didCreateWorker): Removed.
- (WebInspector.InspectorObserver.prototype.didDestroyWorker): Removed.
- 2012-10-04 Mark Rowe <mrowe@apple.com>
- Take Xcode's suggestions for changes to our internal Xcode projects.
- Rubber-stamped by John Sullivan.
- Xcode 4.5 suggests enabling several new warnings in most of our projects. While doing this
- I also noticed and removed a number of obsolete configuration settings, and upgraded the
- project format for the few projects that were not using the latest version.
- * Configurations/Base.xcconfig:
- * WebInspectorUI.xcodeproj/project.pbxproj:
- 2012-09-13 Timothy Hatcher <timothy@apple.com>
- Collapse the Computed Style section by default.
- We do remember the state, but lets help people along here and collapse it by default.
- <rdar://problem/12294479>
- Reviewed by Cody Krieger and Mark Rowe.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel): Pass true when making the _computedStyleSection
- to make it collapse by default.
- 2012-08-27 Timothy Hatcher <timothy@apple.com>
- Use -webkit-image-set for border-image instead of media queries in the Web Inspector.
- Reviewed by Dan Bernstein.
- * UserInterface/TextEditor.css:
- (.text-editor > .gutter > .line-number > .breakpoint): Use -webkit-image-set.
- (.text-editor > .gutter > .line-number.breakpoint-resolved > .breakpoint): Ditto.
- (.text-editor > .gutter > .line-number.execution-line::after): Ditto.
- * UserInterface/TimelineOverview.css:
- (.timeline-overview > .timeline .bar): Combine two rules with identical selectors.
- (.timeline-overview > .timeline.timeline-record-type-network .bar): Use -webkit-image-set.
- (.timeline-overview > .timeline.timeline-record-type-layout .bar): Ditto.
- (.timeline-overview > .timeline.timeline-record-type-script .bar): Ditto.
- 2012-08-27 Timothy Hatcher <timothy@apple.com>
- Make the JavaScript & Events timeline pills render correctly in HiDPI.
- <rdar://problem/12183848> JavaScript timeline pill broken in HiDPI
- Reviewed by Dan Bernstein.
- * UserInterface/TimelineOverview.css:
- (.timeline-overview > .timeline.timeline-record-type-script .bar): Changed from
- .timeline-overview > .timeline.timeline-record-type-script > .bar.
- 2012-08-15 Joseph Pecoraro <pecoraro@apple.com>
- Add iOS inheritable properties to the inspector to match
- CSSProperty::isInheritedProperty.
- Reviewed by Brian Weinstein.
- * UserInterface/CSSKeywordCompletions.js:
- 2012-08-16 Timothy Hatcher <timothy@apple.com>
- Save and restore the text selection when modifying the DOM representation of the text.
- <rdar://problem/12059199> Selection is lost when scrolling in the source code view
- Reviewed by Darin Adler.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.set selectedTextRange): Return early if null is passed.
- This allow the callers to avoid a null check.
- (WebInspector.TextEditor.prototype._breakVisibleTextChunksIntoSingleLineTextChunks):
- Save at the beginning the text selection, and restore it at the end.
- (WebInspector.TextEditor.prototype._consolidateHiddenSingleLineTextChunks): Ditto.
- 2012-08-14 Timothy Hatcher <timothy@apple.com>
- Make the "Show Error Console" and "Show Page Source" menu items also change the selected navigator
- to match the view showing in the content browser.
- <rdar://problem/12058796> Web Inspector comes up in an inconsistent state, always showing the console
- Reviewed by Brian Weinstein.
- * UserInterface/InspectorFrontendAPI.js:
- (InspectorFrontendAPI.showConsole): Select the Log sidebar.
- (InspectorFrontendAPI.showMainResourceForFrame): Select the Resource sidebar.
- 2012-08-03 Timothy Hatcher <timothy@apple.com>
- Disable pause on exception by default.
- Developers are confused that pause on uncaught exceptions is enabled by default.
- <rdar://problem/12025998>
- Reviewed by Jessie Berlin.
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager): Change true to false for the "break-on-all-uncaught-exceptions"
- setting default value.
- 2012-08-01 Timothy Hatcher <timothy@apple.com>
- Update CSSKeywordCompletions.js.
- <rdar://problem/12008709>
- Reviewed by Brian Weinstein.
- * UserInterface/CSSKeywordCompletions.js: Merge r124016 from WebKit.
- 2012-08-01 Timothy Hatcher <timothy@apple.com>
- DOMStorageObserver.updateDOMStorage should be DOMStorageObserver.domStorageUpdated.
- "updateDOMStorage" was renamed to "domStorageUpdated" in WebKit r118349. We need to support
- the old and new name for backwards compatibility.
- <rdar://problem/12008490>
- Reviewed by Brian Weinstein.
- * UserInterface/DOMStorageObserver.js:
- (WebInspector.DOMStorageObserver.prototype.updateDOMStorage): Added comment. Call domStorageUpdated.
- (WebInspector.DOMStorageObserver.prototype.domStorageUpdated): Added. Does what updateDOMStorage did.
- 2012-07-31 Timothy Hatcher <timothy@apple.com>
- Show the file and line number instead of a go-to arrow for style rules and event listeners.
- <rdar://problem/11347946> REGRESSION (New Web Inspector): Inspector does not show filename/line number for CSS rules
- Reviewed by John Sullivan.
- * UserInterface/CSSStyleDetailsSidebarPanel.css:
- (.sidebar > .panel.details.css-style .styles-section .header .title .media a): Added !important to color. Renamed from .subtitle.
- * UserInterface/DetailsSection.css:
- (.details-section > .content > .group > .row.simple > .label): Remove duplicate padding property, set padding-left to be 6px.
- (.details-section > .content > .group > .row.simple > .value): Set padding-right to be 6px.
- (.details-section > .content > .group > .row.properties): Make left and right padding equal.
- * UserInterface/EventListenerSectionGroup.css:
- (.event-listener-section > .content > .group > .row.simple > .value .go-to-arrow): Removed.
- * UserInterface/EventListenerSectionGroup.js:
- (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink): Use WebInspector.createResourceLink.
- * UserInterface/Main.css:
- (.go-to-link): Added.
- (.go-to-link:not(.dont-float)): Added.
- * UserInterface/Main.js:
- (WebInspector.createResourceLink): Added.
- * UserInterface/StylePropertiesSection.js:
- (WebInspector.StylePropertiesSection): Use WebInspector.createResourceLink.
- (WebInspector.StylePropertiesSection.prototype._linkify): Removed.
- (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode): Use WebInspector.createResourceLink.
- 2012-07-28 Timothy Hatcher <timothy@apple.com>
- Make reloading while viewing a resource in the Web Inspector show the main resource.
- This keeps you looking at resources instead of dumping you into a log or timeline view.
- This was only an issue if you had viewed a log or timeline before viewing a resource.
- <rdar://problem/11981540> Reloading while viewing a resource sometimes switches to the Log or Timeline
- Reviewed by John Sullivan.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange): Remember if the current view was one
- that we care about before closing them.
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork): Show the main frame since
- there is no content view showing or we were showing a resource before.
- 2012-07-28 Timothy Hatcher <timothy@apple.com>
- Make selection of a navigator in the Web Inspector show the last selected content view from that navigator.
- This makes switching between different content quicker, especially for the Resource, Instrument and Log
- navigators which have default initial selections.
- <rdar://problem/10854727> Selecting the Log sidebar should select a log by default
- Reviewed by John Sullivan.
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel): Make the Network Requests timeline selected by default.
- (WebInspector.InstrumentSidebarPanel.prototype.shown):
- (WebInspector.InstrumentSidebarPanel.prototype._timelinesTreeElementSelected): Deselect any tree element
- in the main content tree outline to prevent two selections in the sidebar.
- (WebInspector.InstrumentSidebarPanel.prototype._profileSelected): Deselect any tree element in the timelines
- tree outline to prevent two selections in the sidebar.
- * UserInterface/LogSidebarPanel.js:
- (WebInspector.LogSidebarPanel.prototype._sessionStarted): Select the Current Log tree element by default the first time.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Move some settings above this.navigationSidebar.selectedSidebarPanel to prevent
- an exception from accessing them before they are set. This was triggered by the new code in NavigationSidebarPanel.shown.
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel.prototype.shown): Reselect the selected tree element to cause the content view
- to be shown as well.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): Select the main frame tree element by default.
- 2012-07-26 Timothy Hatcher <timothy@apple.com>
- Make searching source code via the find banner fast again.
- <rdar://problem/11955081> REGRESSION (New Web Inspector): Searching large resources via Find Banner is dramatically slower than Safari 5
- Reviewed by John Sullivan.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype.customPerformSearch): Added. Uses the backend agents to do a quick search pass before doing
- the inner-line matches.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor):
- (WebInspector.TextEditor.prototype.get currentSearchQuery): Added. Needed by SourceCodeTextEditor.customPerformSearch.
- (WebInspector.TextEditor.prototype.performSearch): Use searchCleared to fully clear the previous results.
- (WebInspector.TextEditor.prototype.performSearch.batchSearch): Use addSearchResultRange for adding a new result.
- (WebInspector.TextEditor.prototype.addSearchResultRange): Added. Factored out of performSearch.batchSearch. Calls _updateLineForSearchResultMatchSoon.
- (WebInspector.TextEditor.prototype.searchCleared): Clear _pendingSearchResultLineNumbers.
- (WebInspector.TextEditor.prototype._updateLineForSearchResultMatchSoon): Added. Helper for batching line updates.
- (WebInspector.TextEditor.prototype._updateLineForSearchResultMatchSoon.delayedWork): Added. Factored out of performSearch.batchSearch.
- 2012-07-11 Mark Rowe <mrowe@apple.com>
- Build against the latest SDK when targeting older OS X versions.
- The deployment target is already set to the version that we're targeting, and it's that setting
- which determines which functionality from the SDK is available to us.
- Reviewed by Dan Bernstein.
- * Configurations/Base.xcconfig:
- 2012-06-18 Timothy Hatcher <timothy@apple.com>
- Fix an exception when viewing a JavaScript profile with milliseconds instead of percentages.
- <rdar://problem/11691663> REGRESSION (New Web Inspector): Exception when viewing JavaScript Profile, making profiles unusable
- Reviewed by Brian Weinstein.
- * UserInterface/ProfileDataGridTree.js:
- (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds): Pass true for the last argument of Number.secondsToString.
- 2012-06-16 Timothy Hatcher <timothy@apple.com>
- Show Resource details for the selected row in Network requests.
- <rdar://problem/11683757>
- Reviewed by Joseph Pecoraro.
- * UserInterface/DataGrid.js:
- (WebInspector.DataGridNode.prototype.select): Fire the WebInspector.DataGrid.Event.SelectedNodeChanged event.
- (WebInspector.DataGridNode.prototype.deselect): Ditto.
- * UserInterface/Main.html: Include ResourceTimelineDataGridNodePathComponent.js.
- * UserInterface/ResourceTimelineDataGridNodePathComponent.js: Added.
- (WebInspector.ResourceTimelineDataGridNodePathComponent):
- (WebInspector.ResourceTimelineDataGridNodePathComponent.prototyp.get resourceTimelineDataGridNode):
- (WebInspector.ResourceTimelineDataGridNodePathComponent.prototype.get previousSibling):
- (WebInspector.ResourceTimelineDataGridNodePathComponent.prototype.get nextSibling):
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView): Add WebInspector.DataGrid.Event.SelectedNodeChanged listener.
- (WebInspector.TimelinesContentView.prototype.get selectionPathComponents): Include a ResourceTimelineDataGridNodePathComponent
- if the selected node is a ResourceTimelineDataGridNode.
- (WebInspector.TimelinesContentView.prototype._dataGridNodePathComponentSelected): Added. Reveal and select the node.
- (WebInspector.TimelinesContentView.prototype._selectedNodeChanged): Dispatch WebInspector.ContentView.Event.SelectionPathComponentsDidChange.
- 2012-06-09 Timothy Hatcher <timothy@apple.com>
- Switch the Web Inspector over to use tab-size for the source code view.
- <rdar://problem/11633291> Use tab-size CSS property in the Web Inspector instead of an inline-block
- Reviewed by Dan Bernstein.
- * UserInterface/SyntaxHighlighter.js:
- (WebInspector.SyntaxHighlighter.CharacterTokens): Removed \t.
- * UserInterface/SyntaxHighlightingDefaultTheme.css:
- (.syntax-highlighted): Added tab-size: 4.
- (.syntax-highlighted .tab): Removed.
- * UserInterface/SyntaxHighlightingSupport.js:
- (WebInspector.createSyntaxHighlightedDocumentFragment): Removed tab token support.
- 2012-06-07 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/11613940> DataGrid column collapser button should have a tooltip
- Reviewed by Darin Adler and Timothy Hatcher.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/DataGrid.js:
- (WebInspector.DataGrid):
- (WebInspector.DataGrid.prototype._collapseColumnGroupWithCell):
- (WebInspector.DataGrid.prototype._collapserButtonCollapseColumnsToolTip):
- (WebInspector.DataGrid.prototype._collapserButtonExpandColumnsToolTip):
- 2012-05-30 Joseph Pecoraro <pecoraro@apple.com>
- Workaround for: <rdar://problem/11536832> Cannot access content view from Instruments navigator if name of file is truncated
- Implement a workaround so that go-to arrows still work in situations
- where text boxes incorrectly prevent them from being clickable.
- Giving the arrows a z-index always makes them work.
- Reviewed by Timothy hatcher.
- * UserInterface/Main.css:
- (.go-to-arrow):
- 2012-05-25 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/11538965> Breakpoint callframe tooltips show wrong line number
- ScriptLocation lineNumber is 0-based. Convert to 1-based for display.
- Reviewed by Timothy Hatcher.
- * UserInterface/CallFrameTreeElement.js:
- (WebInspector.CallFrameTreeElement):
- 2012-05-24 Timothy Hatcher <timothy@apple.com>
- Make the WebInspector.framework build 32/64-bit universal to match WebKit.
- Since WebKit links against the WebInspector framework, they need to support
- the same architectures. Otherwise, the framework fails to load when soft
- linking and the resources aren't found, which causes an exception/crash.
- <rdar://problem/11373948> Crash opening the Web Inspector in 32-bit apps
- Reviewed by Joseph Pecoraro.
- * Configurations/Base.xcconfig: Set VALID_ARCHS to ARCHS_STANDARD_32_64_BIT.
- * Configurations/DebugRelease.xcconfig: Set ARCHS to ARCHS_STANDARD_32_64_BIT.
- 2012-05-23 Timothy Hatcher <timothy@apple.com>
- Fix some occasional assertions and an exception that happens in CSSStyleDetailsSidebarPanel.
- These can happen if there is an error from the protocol when fetching the CSS rules. Now when
- this happens the sidebar will not show stale data.
- <rdar://problem/11516416>
- Reviewed by Brian Weinstein.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.matchedStylesCallback): Added fallback values.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections): Ditto.
- 2012-05-22 Timothy Hatcher <timothy@apple.com>
- Fix a regression that would cause resource content to overlap when reloading.
- <rdar://problem/11509620> REGRESSION (r42994): Overlapping content views when navigating
- Reviewed by Kevin Decker.
- * UserInterface/ContentViewContainer.js:
- (WebInspector.ContentViewContainer.prototype.closeAllContentViewsOfPrototype): Use oldCurrentContentView
- in the loop. The currentContentView variable is not declared until after the loop, so using currentContentView
- is just comparing to undefined at this point.
- 2012-05-21 Timothy Hatcher <timothy@apple.com>
- Fixes an uncaught exception in WebInspector.ContentBrowser._currentContentViewDidChange.
- This event fires when all content views are closed and there is no longer a current view.
- The code under this listener was not properly null checking the content view.
- <rdar://problem/11467085> ContentBrowser has uncaught exception on reload needs to handle null currentContentView
- Reviewed by Oliver Hunt.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser.prototype._updateHierarchicalPathNavigationItem): Added null check for representedObject.
- (WebInspector.ContentBrowser.prototype._updateContentViewSelectionPathNavigationItem): Added null check for contentView.
- (WebInspector.ContentBrowser.prototype._currentContentViewDidChange): Added null check for currentContentView.
- 2012-05-16 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/11468003> REGRESSION: Error log messages contains wrong line number in jump link
- The Log messages coming from the backend contain the expected, file and 1-based
- line number. In the Safari inspector _linkifyLocation was adjusting this to 0-based
- and using the 0-based line number as the display text. The OpenSource inspector's
- linkifier uses WebInspector.formatLinkText for display text which adds back the 1.
- The Safari inspector does not have that. We can just display the correct line number.
- Reviewed by Timothy Hatcher.
- * UserInterface/ConsoleMessageImpl.js:
- (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation):
- 2012-05-11 Timothy Hatcher <timothy@apple.com>
- Fix an issue where the DOM Tree and Source Code would overlap.
- <rdar://problem/11329121> REGRESSION (r42567): Overlapping display DOM Tree and Source Code
- Reviewed by Joseph Pecoraro.
- * UserInterface/ContentViewContainer.js:
- (WebInspector.ContentViewContainer.prototype.showContentView): Remove assert and call to _removeContentViewElement.
- The content view is already guaranteed to be removed. The _disassociateFromContentView function now does the assert.
- (WebInspector.ContentViewContainer.prototype.showBackForwardEntry): Return early if it is the same index. Fire the
- CurrentContentViewDidChange event here since _showContentView no longer fires it.
- (WebInspector.ContentViewContainer.prototype.closeAllContentViewsOfPrototype): Remove call to _removeContentViewElement.
- Only call _showContentView and fire the CurrentContentViewDidChange event if the content view actually changed.
- (WebInspector.ContentViewContainer.prototype.closeAllContentViews): Remove call to _removeContentViewElement.
- Fire the CurrentContentViewDidChange event here since _showContentView no longer fires it.
- (WebInspector.ContentViewContainer.prototype.shown): Call _showContentView instead of _prepareContentViewToShow.
- (WebInspector.ContentViewContainer.prototype.hidden): Call _hideContentView instead of _prepareContentViewToShow.
- (WebInspector.ContentViewContainer.prototype._disassociateFromContentView): Added assert for visible.
- (WebInspector.ContentViewContainer.prototype._showContentView): Added assert for visible. Removed event dispatch.
- (WebInspector.ContentViewContainer.prototype._hideContentView): Added assert for visible.
- 2012-05-10 Timothy Hatcher <timothy@apple.com>
- Timer events in the WebInspector should show where they were scheduled from.
- Depends on: https://webkit.org/b/86173
- <rdar://problem/11427463>
- Reviewed by John Sullivan.
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Process TimerFire when the corresponding
- EvaluateScript or FunctionCall record is encountered so we can gather the resource and line number.
- 2012-05-10 Timothy Hatcher <timothy@apple.com>
- Use a static copy of InspectorBackend.js and InspectorBackendCommands.js.
- This fixes a build failure since WebCore renamed the file we were coping.
- For compatibility reasons we should use a static copy of the InspectorBackend instead
- of copying the latest version from WebCore during the build. Using a stable version of
- the InspectorBackend guarantees a constant API for the front-end and protocol level
- changes in WebCore are compatible with older versions of the InspectorBackend.
- <rdar://problem/11426912>
- * Scripts/copy-user-interface-resources.sh: Removed copy commands from derived sources.
- * UserInterface/InspectorBackend.js: Copied from OpenSource r116449.
- * UserInterface/InspectorBackendCommands.js: Ditto.
- * WebInspectorUI.xcodeproj/project.pbxproj: Removed build phase to copy from WebCore.
- 2012-04-26 Timothy Hatcher <timothy@apple.com>
- Update the Web Inspector to work with recent protocol changes.
- <rdar://problem/11329835>
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMNodeDetailsSidebarPanel.js:
- (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodeResolved): Pass undefined for the args parameter of callFunction.
- * UserInterface/DOMTreeElement.js:
- (WebInspector.DOMTreeElement.prototype._createTooltipForNode.resolvedNode): Ditto.
- * UserInterface/JavaScriptTextPrompt.js:
- (WebInspector.JavaScriptTextPrompt.prototype.evalInInspectedWindow): Renamed doNotPauseOnExceptions to doNotPauseOnExceptionsAndMuteConsole.
- Pass doNotPauseOnExceptionsAndMuteConsole to evaluateOnCallFrame.
- (WebInspector.JavaScriptTextPrompt.prototype._completions.evaluated): Pass undefined for the args parameter of callFunctionJSON.
- * UserInterface/NetworkObserver.js:
- (WebInspector.NetworkObserver.prototype.requestWillBeSent): Removed stackTrace parameter.
- * UserInterface/RemoteObject.js:
- (WebInspector.RemoteObject.prototype.setPropertyValue): Renamed doNotPauseOnExceptions to doNotPauseOnExceptionsAndMuteConsole.
- Pass true for doNotPauseOnExceptionsAndMuteConsole in RuntimeAgent.callFunctionOn.
- (WebInspector.RemoteObject.prototype.callFunction): Added args parameter and pass it along. Pass true for doNotPauseOnExceptionsAndMuteConsole.
- (WebInspector.RemoteObject.prototype.callFunctionJSON): Ditto.
- 2012-04-20 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/11287053> ApplicationCache sorting Resource column is broken
- The items being sorted in the data grid are ApplicationCacheResources
- from the Inspector protocol. Those resources do not have a "name"
- property. Only "url", "size", and "type".
- Reviewed by Jon Honeycutt.
- * UserInterface/ApplicationCacheFrameContentView.js:
- (WebInspector.ApplicationCacheFrameContentView.prototype._populateDataGrid):
- 2012-04-20 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/11287121> REGRESSION: Inspector window should move to front when you hit a breakpoint
- Reviewed by Dan Bernstein.
- * UserInterface/Main.js:
- (WebInspector._debuggerDidPause):
- 2012-04-18 Timothy Hatcher <timothy@apple.com>
- Fix an regression where issues were replacing the content view when they should be inline.
- This also fixes an regression where issue lines were not highlighting because the style class
- was not being applied, 'undefined' was.
- <rdar://problem/11180526> REGRESSION (r41932-r41943): ResourceContentView was only showing
- an error message and not content
- Reviewed by Brian Weinstein.
- * UserInterface/ResourceContentView.js:
- (WebInspector.ResourceContentView): Only add issue event listener and issues if !managesOwnIssues.
- (WebInspector.ResourceContentView.prototype.closed): Remove issue event listener only if !managesOwnIssues.
- (WebInspector.ResourceContentView.prototype._issueWasAdded): Assert !managesOwnIssues.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype._addIssueToLine): Use the connect object for the style classes.
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView.get managesOwnIssues): Added. Return true.
- 2012-04-16 Timothy Hatcher <timothy@apple.com>
- Save and restore the scroll position for content views when hiding and showing.
- <rdar://problem/11184241> REGRESSION (New Web Inspector): Console log view scroll offset
- does not follow most recent messages
- Reviewed by Joseph Pecoraro.
- * UserInterface/ApplicationCacheFrameContentView.js:
- (WebInspector.ApplicationCacheFrameContentView.prototype.get scrollableElements): Added.
- * UserInterface/ClusterContentView.js:
- (WebInspector.ClusterContentView.prototype.shown): Call shown directly on the _contentViewContainer.
- (WebInspector.ClusterContentView.prototype.hidden): Ditto for hidden.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView.prototype.get visible): Use a simple boolean.
- (WebInspector.ContentView.prototype.set visible): Ditto.
- (WebInspector.ContentView.prototype.get scrollableElements): Added stub.
- (WebInspector.ContentView.prototype.get keepElementsScrolledToTheBottom): Added stub.
- * UserInterface/ContentViewContainer.css:
- (.content-view-container > .content-view): Removed. Using display: none was pointless since the
- element is removed from the DOM. This prevented saving scroll positions.
- * UserInterface/ContentViewContainer.js:
- (WebInspector.ContentViewContainer.prototype.shown): Added. Calls _prepareContentViewToShow.
- (WebInspector.ContentViewContainer.prototype.hidden): Added. Calls _prepareContentViewToHide.
- (WebInspector.ContentViewContainer.prototype._saveScrollPositionsForContentView): Added.
- (WebInspector.ContentViewContainer.prototype._restoreScrollPositionsForContentView): Added.
- (WebInspector.ContentViewContainer.prototype._showContentView): Calls _prepareContentViewToShow.
- (WebInspector.ContentViewContainer.prototype._prepareContentViewToShow): Added. Calls
- _restoreScrollPositionsForContentView in addition to the work _showContentView did.
- (WebInspector.ContentViewContainer.prototype._hideContentView): Calls _prepareContentViewToHide.
- (WebInspector.ContentViewContainer.prototype._prepareContentViewToHide): Added. Calls
- _saveScrollPositionsForContentView in addition to the work _hideContentView did.
- * UserInterface/CookieStorageContentView.js:
- (WebInspector.CookieStorageContentView.prototype.get scrollableElements): Added.
- * UserInterface/DOMStorageContentView.js:
- (WebInspector.DOMStorageContentView.prototype.get scrollableElements): Added.
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView.prototype.get scrollableElements): Added.
- * UserInterface/DatabaseTableContentView.js:
- (WebInspector.DatabaseTableContentView.prototype.get scrollableElements): Added.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView): Removed _scrolledToBottom.
- (WebInspector.LogContentView.prototype.consoleCleared): Removed _scrolledToBottom.
- (WebInspector.LogContentView.prototype.hidden): Removed call to storeScrollPositions.
- (WebInspector.LogContentView.prototype.get scrollableElements): Added.
- (WebInspector.LogContentView.prototype.get keepElementsScrolledToTheBottom): Added.
- * UserInterface/ScriptContentView.js:
- (WebInspector.ScriptContentView.prototype.get scrollableElements): Added.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.get contentContainerElement): Added.
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView.prototype.get scrollableElements): Added.
- 2012-04-14 Timothy Hatcher <timothy@apple.com>
- Add support for searching the DOM tree with the Find Banner.
- Part of: <rdar://problem/11039642> REGRESSION (New Web Inspector): Can't search in the DOM tree and source
- code view (no Find banner is present)
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView.prototype.get supportsSearch): Added. Return true.
- (WebInspector.DOMTreeContentView.prototype.get numberOfSearchResults): Added.
- (WebInspector.DOMTreeContentView.prototype.performSearch): Added. Clear previous results and call
- DOMAgent.performSearch.
- (WebInspector.DOMTreeContentView.prototype.performSearch.searchResultsReady): Store the identifier and
- fire the NumberOfSearchResultsDidChange event.
- (WebInspector.DOMTreeContentView.prototype.searchCleared): Added. Clear the result and state.
- (WebInspector.DOMTreeContentView.prototype.revealPreviousSearchResult): Added. Call _revealSearchResult.
- (WebInspector.DOMTreeContentView.prototype.revealNextSearchResult): Added. Ditto.
- (WebInspector.DOMTreeContentView.prototype._revealSearchResult): Added. Call DOMAgent.getSearchResults.
- (WebInspector.DOMTreeContentView.prototype._revealSearchResult.revealResult): Select the DOM node.
- 2012-04-14 Timothy Hatcher <timothy@apple.com>
- Show the yellow bouncy when highlighting the current search result.
- Part of: <rdar://problem/11039642> REGRESSION (New Web Inspector): Can't search in the DOM tree and source
- code view (no Find banner is present)
- Reviewed by Dan Bernstein.
- * UserInterface/TextEditor.css:
- (.text-editor .bouncy-highlight): Added.
- (@-webkit-keyframes bouncy): Added.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype._revealSearchResultTextRange): Create and add the bouncy element,
- positioned to line up with the search result element.
- 2012-04-13 Timothy Hatcher <timothy@apple.com>
- Support searching via the find banner on text resources and scripts.
- Part of: <rdar://problem/11039642> REGRESSION (New Web Inspector): Can't search in the DOM tree and source
- code view (no Find banner is present)
- Reviewed by Joseph Pecoraro.
- * UserInterface/ScriptContentView.js:
- (WebInspector.ScriptContentView): Add event listener for TextEditor.Event.NumberOfSearchResultsDidChange.
- (WebInspector.ScriptContentView.prototype.get supportsSearch): Return true.
- (WebInspector.ScriptContentView.prototype.get numberOfSearchResults): Forward to _textEditor.
- (WebInspector.ScriptContentView.prototype.performSearch): Ditto.
- (WebInspector.ScriptContentView.prototype.searchCleared): Ditto.
- (WebInspector.ScriptContentView.prototype.revealPreviousSearchResult): Ditto.
- (WebInspector.ScriptContentView.prototype.revealNextSearchResult): Ditto.
- (WebInspector.ScriptContentView.prototype._numberOfSearchResultsDidChange): Added. Fire ContentView.Event.NumberOfSearchResultsDidChange.
- * UserInterface/SyntaxHighlighter.js:
- * UserInterface/SyntaxHighlightingDefaultTheme.css:
- (.supports-find-banner.showing-find-banner .syntax-highlighted .search-result): Added.
- * UserInterface/SyntaxHighlightingSupport.js:
- (WebInspector.createSyntaxHighlightedDocumentFragment.createTokenElement): Added parameter for search result. Append the search-result
- class when needed. Fixes the quoting for links now that the attribute range can be split by a search result.
- (WebInspector.createSyntaxHighlightedDocumentFragment.appendText): Changed to work with enumerateAttributes instead of enumerateAttribute.
- Check for the search result attribute. Call createTokenElement for search results.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.get numberOfSearchResults): Added.
- (WebInspector.TextEditor.prototype.performSearch): Added. Iterate over the lines in batches to prevent blocking too long.
- (WebInspector.TextEditor.prototype.performSearch.reportNumberOfSearchResultsDidChange):
- (WebInspector.TextEditor.prototype.performSearch.batchSearch): Loop over lines and perform a regex to find matches.
- (WebInspector.TextEditor.prototype.searchCleared): Added. Clear the results and remove the attribute from the lines.
- (WebInspector.TextEditor.prototype.revealPreviousSearchResult): Added. Decrement the index and call _revealSearchResultTextRange.
- (WebInspector.TextEditor.prototype.revealNextSearchResult): Added. Increment the index and call _revealSearchResultTextRange.
- (WebInspector.TextEditor.prototype._revealSearchResultTextRange): Added. Helper for revealPreviousSearchResult and revealNextSearchResult.
- (WebInspector.TextEditor.prototype._removeSearchResultStyles): Added. Query for all the search results and remove the style.
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView): Add event listener for TextEditor.Event.NumberOfSearchResultsDidChange.
- (WebInspector.TextResourceContentView.prototype.get supportsSearch): Return true.
- (WebInspector.TextResourceContentView.prototype.get numberOfSearchResults): Forward to _textEditor.
- (WebInspector.TextResourceContentView.prototype.performSearch): Ditto.
- (WebInspector.TextResourceContentView.prototype.searchCleared): Ditto.
- (WebInspector.TextResourceContentView.prototype.revealPreviousSearchResult): Ditto.
- (WebInspector.TextResourceContentView.prototype.revealNextSearchResult): Ditto.
- (WebInspector.TextResourceContentView.prototype._numberOfSearchResultsDidChange): Added. Fire ContentView.Event.NumberOfSearchResultsDidChange.
- 2012-04-13 Timothy Hatcher <timothy@apple.com>
- Add keyboard shortcuts for next and previous search results.
- Part of: <rdar://problem/11039642> REGRESSION (New Web Inspector): Can't search in the DOM tree
- and source code view (no Find banner is present)
- Reviewed by Brian Weinstein.
- * UserInterface/FindBanner.js:
- (WebInspector.FindBanner): Added keyboard shortcuts for Command-G and Command-Shift-G.
- 2012-04-05 Timothy Hatcher <timothy@apple.com>
- Add support to WebInspector.ContentView for dealing with the find banner.
- Part of: <rdar://problem/11039642> REGRESSION (New Web Inspector): Can't search in the DOM tree and
- source code view (no Find banner is present)
- Reviewed by Joseph Pecoraro.
- * UserInterface/ClusterContentView.js:
- (WebInspector.ClusterContentView):
- (WebInspector.ClusterContentView.prototype.get supportsSearch): Added. Always return true.
- (WebInspector.ClusterContentView.prototype.get numberOfSearchResults): Added. Forward to the current content view.
- (WebInspector.ClusterContentView.prototype.performSearch): Added. Ditto.
- (WebInspector.ClusterContentView.prototype.searchCleared): Added. Ditto.
- (WebInspector.ClusterContentView.prototype.revealPreviousSearchResult): Added. Ditto.
- (WebInspector.ClusterContentView.prototype.revealNextSearchResult): Added. Ditto.
- (WebInspector.ClusterContentView.prototype._currentContentViewDidChange): Dispatch the
- NumberOfSearchResultsDidChange event.
- (WebInspector.ClusterContentView.prototype._contentViewNumberOfSearchResultsDidChange): Re-dispatch
- the NumberOfSearchResultsDidChange event with this content view as the target.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser):
- (WebInspector.ContentBrowser.prototype.findBannerPerformSearch): Added. Forward to the current content view.
- (WebInspector.ContentBrowser.prototype.findBannerSearchCleared): Added. Ditto.
- (WebInspector.ContentBrowser.prototype.findBannerRevealPreviousResult): Added. Ditto.
- (WebInspector.ContentBrowser.prototype.findBannerRevealNextResult): Added. Ditto.
- (WebInspector.ContentBrowser.prototype._showFindBanner): Don't show if the current content view does not support search.
- (WebInspector.ContentBrowser.prototype._contentViewNumberOfSearchResultsDidChange): Added. Update the find banner.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView.prototype.get supportsSearch): Added stub.
- (WebInspector.ContentView.prototype.get numberOfSearchResults): Added stub.
- (WebInspector.ContentView.prototype.performSearch): Added stub.
- (WebInspector.ContentView.prototype.searchCleared): Added stub.
- (WebInspector.ContentView.prototype.revealPreviousSearchResult): Added stub.
- (WebInspector.ContentView.prototype.revealNextSearchResult): Added stub.
- * UserInterface/FindBanner.js:
- (WebInspector.FindBanner): Added event listeners.
- (WebInspector.FindBanner.prototype._inputFieldChanged): Added. Call the delegate.
- (WebInspector.FindBanner.prototype._previousResultButtonClicked): Added. Ditto.
- (WebInspector.FindBanner.prototype._nextResultButtonClicked): Added. Ditto.
- 2012-04-02 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.FindBanner which implements the user interface for searching in content views.
- The banner shows via Command-F and hides with Escape. Searching is not hooked up yet.
- Part of: <rdar://problem/11039642> REGRESSION (New Web Inspector): Can't search in the
- DOM tree and source code view (no Find banner is present)
- Reviewed by Brian Weinstein.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser): Create a FindBanner and keyboard shortcut for Command-F.
- (WebInspector.ContentBrowser.prototype._showFindBanner): Added.
- (WebInspector.ContentBrowser.prototype._currentContentViewDidChange): Change the target element
- of the find banner to the new content view.
- * UserInterface/ContentViewContainer.css:
- (.content-view-container): Added overflow hidden so the find-banner does not show when hidden.
- (.content-view-container > .content-view): Ditto.
- * UserInterface/FindBanner.css: Added.
- * UserInterface/FindBanner.js: Added.
- (WebInspector.FindBanner):
- (WebInspector.FindBanner.prototype.get delegate):
- (WebInspector.FindBanner.prototype.set delegate):
- (WebInspector.FindBanner.prototype.get element):
- (WebInspector.FindBanner.prototype.get inputField):
- (WebInspector.FindBanner.prototype.get searchQuery):
- (WebInspector.FindBanner.prototype.set searchQuery):
- (WebInspector.FindBanner.prototype.get numberOfResults):
- (WebInspector.FindBanner.prototype.set numberOfResults):
- (WebInspector.FindBanner.prototype.get targetElement):
- (WebInspector.FindBanner.prototype.set targetElement.delayedWork):
- (WebInspector.FindBanner.prototype.set targetElement):
- (WebInspector.FindBanner.prototype.show.delayedWork):
- (WebInspector.FindBanner.prototype.show):
- (WebInspector.FindBanner.prototype.hide):
- (WebInspector.FindBanner.prototype._doneButtonClicked):
- (WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded):
- * UserInterface/Main.html: Included FindBanner.css and FindBanner.js.
- 2012-04-13 Timothy Hatcher <timothy@apple.com>
- Use searchRegex.lastIndex instead of lineMatch.index + searchTerm.length.
- When creating TextRanges in SearchSidebarPanel it is better to use lastIndex instead of the search term length.
- This isn't a bug now, but it could be later when we support regex search queries in addition of plan text searches.
- Reviewed by Brian Weinstein.
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel.prototype.performSearch.resourcesCallback.resourceCallback): Use searchRegex.lastIndex.
- (WebInspector.SearchSidebarPanel.prototype.performSearch.domCallback.domSearchResults): Ditto.
- 2012-04-05 Timothy Hatcher <timothy@apple.com>
- Add better support for getting and setting the text selection in WebInspector.TextEditor.
- This will be needed for the find banner support. <rdar://problem/11193282>
- Reviewed by Joseph Pecoraro.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.get selectedTextRange): Added.
- (WebInspector.TextEditor.prototype.set selectedTextRange): Added.
- (WebInspector.TextEditor.prototype.revealLine): Use the selectedTextRange setter.
- (WebInspector.TextEditor.prototype._textRangeToDOMRange): Added. Use _textPositionToDOMLocation
- to get the start and end and make a new Range.
- (WebInspector.TextEditor.prototype._domRangeToTextRange): Added. Use _domLocationToTextPosition
- to get the start and end and make a new TextRange.
- (WebInspector.TextEditor.prototype._domLocationToTextPosition): Added.
- (WebInspector.TextEditor.prototype._textPositionToDOMLocation): Added.
- (WebInspector.TextEditorTextChunk): Set _textChunk on the element.
- * UserInterface/Utilities.js:
- (Node.prototype.traverseNextTextNode): Added. Copied from OpenSource utilities.js.
- (Node.prototype.rangeBoundaryForOffset): Added. Ditto.
- 2012-04-02 Timothy Hatcher <timothy@apple.com>
- Add support for disabling keyboard shortcuts and unbinding them altogether.
- You might disable a shortcut to make it only apply when a content view is showing, but still
- have the shortcut be global. Also added support for unbinding a shortcut if you need to remove
- it altogether from the document.
- This is likely to be required for find banner support.
- Reviewed by Brian Weinstein.
- * UserInterface/KeyboardShortcut.js:
- (WebInspector.KeyboardShortcut):
- (WebInspector.KeyboardShortcut.prototype.get disabled): Added.
- (WebInspector.KeyboardShortcut.prototype.set disabled): Added.
- (WebInspector.KeyboardShortcut.prototype.unbind): Added. Removes the shortcut from the target.
- (WebInspector.KeyboardShortcut.prototype.matchesEvent): Return early if disabled.
- 2012-04-02 Timothy Hatcher <timothy@apple.com>
- Make it possible to generate colored images at different sizes than the intrinsic image size.
- This is useful when the input image is a PDF and a different size is needed. This support
- is needed for the find banner back/forward arrows.
- Reviewed by Brian Weinstein.
- * UserInterface/ImageUtilities.js:
- (generateColoredImage): Added optional width and height parameters. Use the intrinsic width and
- height as fallback.
- (generateColoredImagesForCSS.generateImage): Pull the width and height out of the specification.
- Use the intrinsic width and height as fallback. Pass the width and height to generateColoredImage
- with a scale of 1 now that the pixelRatio is now premultiplied in the width and height.
- 2012-04-02 Timothy Hatcher <timothy@apple.com>
- Tweak the colors and gradients used by the search sidebar to match other bars in the Web Inspector.
- If only we had variables in CSS...
- Reviewed by John Sullivan.
- * UserInterface/SearchSidebarPanel.css:
- (.sidebar > .panel.search > .search-bar): Tweaked the colors to match the ones in TimelinesContentView.css
- the upcoming FindBanner.css.
- 2012-04-12 Timothy Hatcher <timothy@apple.com>
- Create a funnel point for display names of URLs and hosts, and properly decode lastPathComponent.
- This decodes lastPathComponent as a URL escaped string. The host needs to be decoded as a punycode string,
- but that isn't easily done in JavaScript so <rdar://problem/11237413> tracks that.
- <rdar://problem/11236933> High-ascii web addresses show corrupted in Web Inspector
- Reviewed by Brian Weinstein.
- * UserInterface/ApplicationCacheFrameContentView.js:
- (WebInspector.ApplicationCacheFrameContentView.prototype._updateCallback): Remove unused lastPathComponent var.
- * UserInterface/ApplicationCacheFrameTreeElement.js:
- (WebInspector.ApplicationCacheFrameTreeElement.prototype.updateTitles): Use displayNameForURL and displayNameForHost.
- * UserInterface/ApplicationCacheManifestTreeElement.js:
- (WebInspector.ApplicationCacheManifestTreeElement.prototype._generateTitles): Ditto.
- * UserInterface/CallFrameTreeElement.js:
- (WebInspector.CallFrameTreeElement): Use displayNameForURL.
- * UserInterface/ConsoleMessageImpl.js:
- (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation): Ditto.
- * UserInterface/CookieStorageTreeElement.js:
- (WebInspector.CookieStorageTreeElement): Use displayNameForHost.
- * UserInterface/DOMStorageTreeElement.js:
- (WebInspector.DOMStorageTreeElement): Ditto.
- (WebInspector.DOMStorageTreeElement.prototype.get name): Ditto.
- * UserInterface/DatabaseHostTreeElement.js:
- (WebInspector.DatabaseHostTreeElement): Ditto.
- (WebInspector.DatabaseHostTreeElement.prototype.get name): Ditto.
- * UserInterface/EventListenerSectionGroup.js:
- (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink): Use displayNameForURL.
- * UserInterface/Main.js:
- (WebInspector.displayNameForURL): Added. Use decodeURIComponent for lastPathComponent and displayNameForHost for host.
- (WebInspector.displayNameForHost): Added. Returns the input, with a comment about decoding punycode.
- (WebInspector.updateWindowTitle): Use decodeURIComponent for lastPathComponent and displayNameForHost for host.
- * UserInterface/ProfileDataGridTree.js:
- (WebInspector.ProfileDataGridNode.prototype._linkifyLocation): Use displayNameForURL.
- * UserInterface/ResourceTimelineDataGridNode.js:
- (WebInspector.ResourceTimelineDataGridNode.prototype.get data): Use displayNameForURL and displayNameForHost.
- * UserInterface/ResourceTreeElement.js:
- (WebInspector.ResourceTreeElement.prototype._updateTitles): Ditto.
- * UserInterface/ScriptTimelineDataGridNode.js:
- (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): Use displayNameForURL.
- * UserInterface/ScriptTreeElement.js:
- (WebInspector.ScriptTreeElement): Use displayNameForURL and displayNameForHost.
- 2012-04-11 Timothy Hatcher <timothy@apple.com>
- Strip common error message prefixes from the message line in the Issue sidebar.
- The prefix is used to determine the title line, so it redundant to include it in the message.
- And removing it from the message gives more room for the important info of the message.
- <rdar://problem/11219712> Can't see entire content of errors in the Issue sidebar
- Reviewed by Brian Weinstein.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/IssueMessage.js:
- (WebInspector.IssueMessage): Determine the type based on source and text prefix matching.
- Removed _source property, and added _type to replace it.
- (WebInspector.IssueMessage.Type.displayName): Added.
- (WebInspector.IssueMessage.prototype.get type): Renamed from source and return _type instead.
- * UserInterface/IssueTreeElement.js:
- (WebInspector.IssueTreeElement): Use a switch for the level instead of raw string comparison.
- Use WebInspector.IssueMessage.Type.displayName to get the title.
- (WebInspector.IssueTreeElement.titleForIssue): Removed.
- 2012-04-09 Timothy Hatcher <timothy@apple.com>
- Add keyboard shortcuts for pause/continue, step over, step into and step out.
- This matches Xcode's keyboard shortcuts and also supports the original Web Inspector
- keyboard shortcuts for compatibility.
- <rdar://problem/11205675> Debugger keyboard shortcuts are broken (step into, step over, etc)
- Reviewed by John Sullivan.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole): Create the KeyboardShortcuts and show them in the tooltips.
- (WebInspector.QuickConsole.prototype.set collapsed): Add the keyboard shortcut to the tooltips.
- (WebInspector.QuickConsole.prototype._debuggerDidPause): Ditto.
- (WebInspector.QuickConsole.prototype._debuggerDidResume): Ditto.
- 2012-04-07 Timothy Hatcher <timothy@apple.com>
- Make the completion popup look like the one in Xcode.
- <rdar://problem/11201824> Console: Autocomplete suggestion list is ugly (has wrong typeface)
- Reviewed by Dan Bernstein.
- * UserInterface/TextPrompt.css:
- (.suggest-box):
- (.suggest-box .container):
- (.suggest-box-content-item):
- (.suggest-box-content-item.selected):
- * UserInterface/TextPrompt.js:
- (WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPosition): Adjusted padding. Impose a max
- height of 160, which turns out to be 10 items.
- 2012-04-07 Timothy Hatcher <timothy@apple.com>
- Make the completion popup work when the console is scrolled.
- <rdar://problem/11184504> "Current Log" console input is way broken when using inline completion popup
- Reviewed by Joseph Pecoraro.
- * UserInterface/Utilities.js:
- (Element.prototype.offsetRelativeToWindow): Removed. boxInWindow was the only client.
- (Element.prototype.boxInWindow): Removed targetWindow parameter, the only client always passed 'window'.
- Use getClientRects instead of the broken offsetRelativeToWindow.
- 2012-04-06 Timothy Hatcher <timothy@apple.com>
- Make console completion behave more like Xcode's auto completion.
- This makes the suggestion popup appear for single items and completions are always shown
- as unselected grey text, not a selected range. The tab key now also accepts the completion.
- <rdar://problem/11201751> Console: Tab to autocomplete does not work
- Reviewed by Joseph Pecoraro.
- * UserInterface/TextPrompt.js:
- (WebInspector.TextPrompt.prototype._completionsReady): Always pass true for canShowForSingleItem when call
- _suggestBox.updateSuggestions.
- (WebInspector.TextPrompt.prototype._completionsReady): Remove the auto completion path. There is now only
- one completion style, handled by applySuggestion.
- (WebInspector.TextPrompt.prototype.applySuggestion): Don't select the completion, do the what _completionsReady
- did for the auto complete path -- create an auto complete element for the grey text.
- (WebInspector.TextPrompt.prototype.tabKeyPressed): Call tabKeyPressed on _suggestBox to accept the completion
- instead of doing nothing.
- 2012-04-06 Timothy Hatcher <timothy@apple.com>
- Make the reload keyboard shortcut work when an input field is focused.
- This makes the reload shortcuts and quick console toggle use the KeyboardShortcut class.
- <rdar://problem/11187008> Web Inspector is very picky about what has to be focused in order to reload the page
- Reviewed by Joseph Pecoraro.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Remove keydown event listener. Added reload keyboard shortcuts.
- (WebInspector._reloadPage): Added.
- (WebInspector._reloadPageIgnoringCache): Added.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole): Added toggle or focus keyboard shortcut.
- (WebInspector.QuickConsole.prototype._toggleOrFocus): Added.
- 2012-04-02 Timothy Hatcher <timothy@apple.com>
- Select the contents of the search field when pressing the Command-Shift-F keyboard shortcut.
- In addition to focusing the field, we now select the contents. This matches behavior of all
- search fields tied to keyboard shortcuts.
- <rdar://problem/11169101>
- Reviewed by Joseph Pecoraro.
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel.prototype._focusSearchField): Call select() on the field.
- 2012-04-05 Timothy Hatcher <timothy@apple.com>
- Make clicking search results select the text range again.
- This broke when the TextEditor content element was made user modifiable. When a user modifiable region is blurred
- it loses its selection. To prevent this we make it user modifiable only when focused.
- <rdar://problem/11193282> REGRESSION (r42062): Search results are not selected when clicked in the Search sidebar
- Reviewed by Brian Weinstein.
- * UserInterface/TextEditor.css:
- (.text-editor > .content-container > .content): Removed -webkit-user-modify.
- (.text-editor > .content-container > .content:focus): Added. Set -webkit-user-modify here when focused.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor): Set a tabIndex so the content can be focused when not user modifiable.
- 2012-03-31 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/11160188> Headers in resource details sidebar panel should be sortable
- Reviewed by Timothy Hatcher.
- * UserInterface/ResourceDetailsSidebarPanel.js:
- (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid.sortDataGrid.comparator):
- (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid.sortDataGrid):
- (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid):
- 2012-03-30 Timothy Hatcher <timothy@apple.com>
- Prevent dragging and dropping everywhere except editable fields in the Web Inspector.
- Reviewed by John Sullivan.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Added dragover event listener.
- (WebInspector._dragOver): Added. Prevent the drop from being accepted unless the target
- is an editable field.
- 2012-03-30 Timothy Hatcher <timothy@apple.com>
- Make revealing line numbers in the Web Inspector work again in all cases.
- This removes line number revealing from SourceCodeTextEditor and merges the extra logic that
- SourceCodeTextEditor had down into TextEditor. The problem was in WebInspector.TextEditor.shown,
- where _lineNumberToReveal was being deleted before SourceCodeTextEditor could use it.
- <rdar://problem/11148983> REGRESSION: Debugger does not scroll execution line into view when
- pausing in the debugger
- Reviewed by Brian Weinstein.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate): Remove call to
- _revealPendingLineIfPossible.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.shown): Call _revealPendingLineIfPossible instead of revealLine.
- (WebInspector.TextEditor.prototype.revealLine): Delete _lineNumberToReveal now that the reveal
- is likely to happen.
- (WebInspector.TextEditor.prototype._revealPendingLineIfPossible): Added.
- (WebInspector.TextEditor.prototype._reset): Call _revealPendingLineIfPossible.
- 2012-03-29 Timothy Hatcher <timothy@apple.com>
- Switch to the new current log when reloading the page while viewing the current log.
- <rdar://problem/11145724> Reloading the page should switch to Current Log
- Reviewed by Brian Weinstein.
- * UserInterface/LogSidebarPanel.js:
- (WebInspector.LogSidebarPanel.prototype._sessionStarted): Select the new Current Log
- if the current view is the previously active content view.
- 2012-03-29 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10657781> Remote Inspector: Improve Generic Searching for Node "Inspect Element Eyeglass"
- Match Open Source and add the two second highlight for inspected
- nodes. This is very useful for the Remote Inspector when using
- node searching.
- Reviewed by Timothy Hatcher.
- * UserInterface/Main.js:
- (WebInspector._domNodeWasInspected):
- 2012-03-28 Timothy Hatcher <timothy@apple.com>
- Add keyboard shortcuts for back and forward in the content browser.
- The shortcuts are Command-Control-Left and Command-Control-Right.
- Part of: <rdar://problem/10947746> Add keyboard shortcuts for common actions in the new Web Inspector
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser): Create the KeyboardShortcuts and add the shortcut to the button tooltips.
- 2012-03-28 Timothy Hatcher <timothy@apple.com>
- Add keyboard shortcuts for toggling the navigation and details sidebars.
- The shortcuts are Control-0 and Control-Shift-0.
- Part of: <rdar://problem/10947746> Add keyboard shortcuts for common actions in the new Web Inspector
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Create the KeyboardShortcuts.
- (WebInspector._leftSidebarToggleButtonToolTip): Include the keyboard shortcut.
- (WebInspector._rightSidebarToggleButtonToolTip): Ditto.
- 2012-03-28 Timothy Hatcher <timothy@apple.com>
- Add keyboard shortcuts for the details sidebar panels.
- The shortcuts are Control-Shift-1, Control-Shift-2, etc.
- Part of: <rdar://problem/10947746> Add keyboard shortcuts for common actions in the new Web Inspector
- Reviewed by Joseph Pecoraro.
- * UserInterface/AppearanceDetailsSidebarPanel.js:
- (WebInspector.AppearanceDetailsSidebarPanel): Pass "4" as the keyboard shortcut key.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel): Pass "3" as the keyboard shortcut key.
- * UserInterface/DOMDetailsSidebarPanel.js:
- (WebInspector.DOMDetailsSidebarPanel): Pass the keyboard shortcut key through.
- * UserInterface/DOMNodeDetailsSidebarPanel.js:
- (WebInspector.DOMNodeDetailsSidebarPanel): Pass "2" as the keyboard shortcut key.
- * UserInterface/DetailsSidebarPanel.js:
- (WebInspector.DetailsSidebarPanel): Create a KeyboardShortcut and add it to the displayName.
- * UserInterface/ResourceDetailsSidebarPanel.js:
- (WebInspector.ResourceDetailsSidebarPanel): Pass "1" as the keyboard shortcut key.
- * UserInterface/ScopeChainDetailsSidebarPanel.js:
- (WebInspector.ScopeChainDetailsSidebarPanel): Pass "5" as the keyboard shortcut key.
- 2012-03-28 Timothy Hatcher <timothy@apple.com>
- Add keyboard shortcuts for the navigation sidebar panels.
- The shortcuts are Control-1, Control-2, etc. We don't use Command to prevent conflicting with
- Safari's existing bookmarks bar commands.
- Part of: <rdar://problem/10947746> Add keyboard shortcuts for common actions in the new Web Inspector
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/BreakpointSidebarPanel.js:
- (WebInspector.BreakpointSidebarPanel): Pass "7" as the keyboard shortcut key.
- * UserInterface/DebugSidebarPanel.js:
- (WebInspector.DebugSidebarPanel): Pass "6" as the keyboard shortcut key.
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel): Pass "3" as the keyboard shortcut key.
- * UserInterface/IssueSidebarPanel.js:
- (WebInspector.IssueSidebarPanel): Pass "5" as the keyboard shortcut key.
- * UserInterface/LogSidebarPanel.js:
- (WebInspector.LogSidebarPanel): Pass "8" as the keyboard shortcut key.
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel): Create a KeyboardShortcut and add it to the displayName.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel): Pass "1" as the keyboard shortcut key.
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel): Pass "4" as the keyboard shortcut key.
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel): Pass "2" as the keyboard shortcut key.
- 2012-03-28 Timothy Hatcher <timothy@apple.com>
- Make it easier to properly show a sidebar panel in the Web Inspector.
- This adds a show function to SidebarPanel that reveals the Sidebar if needed and selects
- the sidebar panel. For navigation sidebar panels it also focuses the TreeOutline.
- Reviewed by Joseph Pecoraro.
- * UserInterface/InspectorFrontendAPI.js:
- (InspectorFrontendAPI.stopProfilingJavaScript): Use show().
- * UserInterface/Main.js:
- (WebInspector._debuggerDidPause): Use show().
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel.prototype.show): Added. Call the superclass show and focus the tree.
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel.prototype._focusSearchField): Use show().
- * UserInterface/Sidebar.js:
- (WebInspector.Sidebar.prototype.addSidebarPanel): Use insertSidebarPanel.
- (WebInspector.Sidebar.prototype.insertSidebarPanel): Set the _parentSidebar to this.
- (WebInspector.Sidebar.prototype.removeSidebarPanel): Set the _parentSidebar to null.
- * UserInterface/SidebarPanel.js:
- (WebInspector.SidebarPanel.prototype.get parentSidebar): Added.
- (WebInspector.SidebarPanel.prototype.show): Added.
- 2012-03-28 Timothy Hatcher <timothy@apple.com>
- Add support to WebInspector.KeyboardShortcut for specifying a target element and callback.
- This adds support for Command-Shift-F to focus the search field as the first shortcut.
- Part of: <rdar://problem/10947746> Add keyboard shortcuts for common actions in the new Web Inspector
- Reviewed by Joseph Pecoraro.
- * UserInterface/KeyboardShortcut.js:
- (WebInspector.KeyboardShortcut): Added targetElement and callback parameters. Register a keydown listener.
- (WebInspector.KeyboardShortcut._handleKeyDown): Added. Walk the tree from the target and check for matching
- keyboard shortcuts.
- (WebInspector.KeyboardShortcut.prototype.get callback): Added.
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel): Create a KeyboardShortcut for Command-Shift-F to focus the search field.
- (WebInspector.SearchSidebarPanel.prototype._focusSearchFiled): Added.
- 2012-03-28 Timothy Hatcher <timothy@apple.com>
- Reintroduce WebInspector.KeyboardShortcut as a proper class.
- Part of: <rdar://problem/10947746> Add keyboard shortcuts for common actions in the new Web Inspector
- Reviewed by Joseph Pecoraro.
- * UserInterface/EditingSupport.js:
- (WebInspector.startEditing.defaultFinishHandler): Use KeyboardShortcut.Key.Escape.keyCode instead of
- KeyboardShortcut.Keys.Esc.code.
- * UserInterface/JavaScriptLogViewController.js:
- (WebInspector.JavaScriptLogViewController): Remove the _shortcuts object and assign individual shortcuts.
- (WebInspector.JavaScriptLogViewController.prototype._promptKeyDown): Call matchesEvent on each shortcut.
- * UserInterface/KeyboardShortcut.js: Added.
- (WebInspector.KeyboardShortcut):
- (WebInspector.Key):
- (WebInspector.Key.prototype.get keyCode):
- (WebInspector.Key.prototype.get displayName):
- (WebInspector.Key.prototype.toString):
- (WebInspector.KeyboardShortcut.prototype.get modifiers):
- (WebInspector.KeyboardShortcut.prototype.get key):
- (WebInspector.KeyboardShortcut.prototype.get displayName):
- (WebInspector.KeyboardShortcut.prototype.matchesEvent):
- * UserInterface/StylePropertyTreeElement.js:
- (WebInspector.StylePropertyTreeElement.prototype.editingNameValueKeyDown): Use KeyboardShortcut.Key
- instead of KeyboardShortcut.Keys.
- 2012-03-28 Timothy Hatcher <timothy@apple.com>
- Remove WebInspector.KeyboardShortcut, soon to be replaced by a better version.
- Part of: <rdar://problem/10947746> Add keyboard shortcuts for common actions in the new Web Inspector
- Reviewed by Joseph Pecoraro.
- * UserInterface/KeyboardShortcut.js: Removed.
- 2012-03-26 Timothy Hatcher <timothy@apple.com>
- Fix an issue where Inspect Element would sometimes not stick and the DOM node selection would revert to
- the previous selected DOM node.
- <rdar://problem/11122326> Using the Inspect Element content menu sometimes fails to select the right DOM node
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView.prototype._rootDOMNodeAvailable.selectNode): Return early if the DOM tree
- has a selection already. A selection can be made while waiting for the async reply.
- 2012-03-26 Timothy Hatcher <timothy@apple.com>
- Add some missing checks to the DOMNodeDetailsSidebarPanel.
- This prevents updating the interface if the DOM node selection changed while waiting for a response about
- the previous node from the backend.
- Reviewed by Ada Chan.
- * UserInterface/DOMNodeDetailsSidebarPanel.js:
- (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodePrototypesReady): Return early if the
- DOM node does not match the current DOM node. The DOM node changed while we were waiting for the async response.
- (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.fillSection): Ditto.
- (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners.eventListenersCallback): Ditto.
- 2012-03-25 Timothy Hatcher <timothy@apple.com>
- Use DetailsSectionPropertiesRow for the DOM node Properties section.
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMNodeDetailsSidebarPanel.css: Removed.
- * UserInterface/DOMNodeDetailsSidebarPanel.js:
- (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.fillSection): Create a
- DetailsSection and DetailsSectionPropertiesRow for each prototype.
- * UserInterface/DetailsSection.css: Set margin-bottom to -1px so nested section borders
- collapse into a single border.
- (.details-section):
- * UserInterface/Main.html: Removed DOMNodeDetailsSidebarPanel.css.
- 2012-03-24 Timothy Hatcher <timothy@apple.com>
- Make Select All only select the text content of the resource.
- To do this content element needs to either be in an iframe or editable. Working with frames is
- pretty annoying, so making the content editable was the best option. But since we don't support
- editing resources yet, we need to prevent the editing from occurring.
- <rdar://problem/11039596> REGRESSION (New Web Inspector): Select all while viewing source selects
- info in Details sidebar
- Reviewed by Dan Bernstein.
- * UserInterface/TextEditor.css:
- (.text-editor > .content-container > .content): Added -webkit-user-modify: read-write-plaintext-only.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor): Added event listeners for keydown, textInput and webkitEditableContentChanged.
- (WebInspector.TextEditor.prototype._preventKeyDown): Added. Allow command keys and page up, page down,
- home, end, up, down, left, right.
- (WebInspector.TextEditor.prototype._preventTextInput): Added. Prevent paste and other input.
- (WebInspector.TextEditor.prototype._editableContentChanged): Added. Do a reset if this happens.
- 2012-03-24 Timothy Hatcher <timothy@apple.com>
- Remove WebInspector.isMac() and the dead code that came with it.
- Rubber-stamped by Dan Bernstein.
- * UserInterface/EditingSupport.js:
- (WebInspector.startEditing.defaultFinishHandler):
- (WebInspector.setCurrentFocusElement):
- * UserInterface/KeyboardShortcut.js:
- (WebInspector.KeyboardShortcut._modifiersToString):
- * UserInterface/TextPrompt.js:
- (WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):
- 2012-03-22 Timothy Hatcher <timothy@apple.com>
- Make the Web Inspector DataGrid sort indicator be HiDPI compliant.
- Part of: <rdar://problem/10643175> DataGrid sort indicator arrow and Timeline pills/callouts should be made HiDPI compliant
- Reviewed by Joseph Pecoraro.
- * UserInterface/DataGrid.css:
- (.data-grid th.sort-ascending > div:first-child::after): Use the canvas based image.
- (.data-grid th.sort-descending > div:first-child::after): Ditto.
- * UserInterface/DataGrid.js:
- (WebInspector.DataGrid): Call _generateSortIndicatorImagesIfNeeded.
- (WebInspector.DataGrid.prototype._generateSortIndicatorImagesIfNeeded): Added.
- * UserInterface/Images/SortIndicatorDownArrow.pdf: Added.
- * UserInterface/Images/SortIndicatorUpArrow.pdf: Added.
- * UserInterface/Images/treeDownTriangleBlack.png: Removed.
- * UserInterface/Images/treeUpTriangleBlack.png: Removed.
- 2012-03-22 Timothy Hatcher <timothy@apple.com>
- Make the rest of the disclosure triangles in the Web Inspector HiDPI compliant.
- Part of: <rdar://problem/10643175> Some disclosure triangles and Timeline pills should be made HiDPI compliant
- Reviewed by Joseph Pecoraro.
- * UserInterface/Images/DisclosureTriangleTinyClosed.pdf: Added.
- * UserInterface/Images/DisclosureTriangleTinyOpen.pdf: Added.
- * UserInterface/Images/disclosureTriangleSmallDown.png: Removed.
- * UserInterface/Images/disclosureTriangleSmallRight.png: Removed.
- * UserInterface/Images/treeDownTriangleWhite.png: Removed.
- * UserInterface/Images/treeRightTriangleBlack.png: Removed.
- * UserInterface/Images/treeRightTriangleWhite.png: Removed.
- * UserInterface/ConsoleGroup.js:
- (WebInspector.ConsoleGroup): Delete bracket element. It was ugly and sooo Windows...
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Call _generateDisclosureTriangleImages.
- (WebInspector._generateDisclosureTriangleImages): Added. Generate images for small and tiny.
- * UserInterface/CSSStyleDetailsSidebarPanel.css: Use the canvas based disclosure triangles.
- * UserInterface/DOMTreeOutline.css: Ditto.
- * UserInterface/DataGrid.css: Ditto.
- * UserInterface/Section.css: Ditto.
- * UserInterface/LogContentView.css: Ditto. Also delete the bracket style rules.
- 2012-03-22 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10391969> Remote Inspector: Add CSS Completion for iOS Properties
- Add CSS auto-completion keywords for iOS properties.
- Add "touch" to the list of syntax highlighted value keywords.
- Reviewed by Timothy Hatcher.
- * UserInterface/CSSKeywordCompletions.js:
- * UserInterface/CSSSourceTokenizer.js:
- (WebInspector.CSSSourceTokenizer):
- 2012-03-21 Timothy Hatcher <timothy@apple.com>
- Use -webkit-image-set instead of media queries in the Web Inspector.
- This patch also uses separate border-image-slice and border-image-source properties to
- avoid duplicate slice numbers in each rule.
- I didn't use image-set for the border-image cases since you still need a media query
- for the 2x slice numbers.
- Reviewed by Jon Honeycutt.
- * UserInterface/ApplicationCacheIcons.css:
- (.application-cache-manifest .icon): Use -webkit-image-set.
- (.application-cache-frame .icon): Ditto.
- * UserInterface/CookieIcon.css:
- (.cookie-icon .icon): Use -webkit-image-set.
- * UserInterface/DOMStorageIcons.css:
- (.local-storage-icon .icon): Use -webkit-image-set.
- (.session-storage-icon .icon): Ditto.
- * UserInterface/DatabaseIcon.css:
- (.database-icon .icon): Use -webkit-image-set.
- * UserInterface/DatabaseTableIcon.css:
- (.database-table-icon .icon): Use -webkit-image-set.
- * UserInterface/FolderIcon.css:
- (.folder-icon .icon): Use -webkit-image-set.
- * UserInterface/InstrumentIcons.css:
- (.network-icon .icon): Use -webkit-image-set.
- (.colors-icon .icon): Ditto.
- (.script-icon .icon): Ditto.
- (.stopwatch-icon .icon):
- (.profile-icon .icon): Use -webkit-image-set.
- * UserInterface/InstrumentSidebarPanel.css:
- (.sidebar > .panel.instrument > .title-bar > .record-glyph): Use -webkit-image-set.
- (.sidebar > .panel.instrument > .title-bar > .record-glyph.recording): Ditto.
- (.sidebar > .panel.instrument > .title-bar > .record-glyph:hover): Ditto.
- (.sidebar > .panel.instrument > .title-bar > .record-glyph.recording:hover): Ditto.
- (.sidebar > .panel.instrument > .title-bar > .record-glyph.forced): Ditto.
- (.sidebar > .panel.instrument > .title-bar > .record-glyph.recording.forced): Ditto.
- * UserInterface/LogIcon.css:
- (.log-icon .icon): Use -webkit-image-set.
- * UserInterface/ResourceIcons.css:
- (.resource-icon .icon): Use -webkit-image-set.
- (.resource-icon.resource-type-document .icon): Ditto.
- (.resource-icon.resource-type-image .icon): Ditto.
- (.resource-icon.resource-type-font .icon): Ditto.
- (.resource-icon.resource-type-stylesheet .icon): Ditto.
- (.resource-icon.resource-type-script .icon): Ditto.
- (.anonymous-script-icon .icon): Ditto.
- * UserInterface/TextEditor.css:
- (.text-editor > .gutter > .line-number.breakpoint-resolved > .breakpoint): Use border-image-source.
- * UserInterface/TimelineOverview.css:
- (.timeline-overview > .timeline .bar): Use border-image-slice.
- (.timeline-overview > .timeline.timeline-record-type-network .bar): Use border-image-source.
- (.timeline-overview > .timeline.timeline-record-type-layout .bar): Ditto.
- (.timeline-overview > .timeline.timeline-record-type-script .bar): Ditto.
- 2012-03-21 Timothy Hatcher <timothy@apple.com>
- Make the Web Inspector navigation bar and some disclosure triangles HiDPI aware again.
- This regressed when HiDPI canvas was turned off by <rdar://problem/10887881>. This change also uses
- media queries, so dragging the Web Inspector between different DPI monitors will correctly switch.
- <rdar://problem/11091555> HiDPI: Many small icons in new Web Inspector are blurry in HiDPI
- Reviewed by Joseph Pecoraro.
- * UserInterface/ActivateButtonNavigationItem.js:
- (WebInspector.ActivateButtonNavigationItem.prototype.generateStyleText): Added media query and 2x versions.
- * UserInterface/ButtonNavigationItem.js:
- (WebInspector.ButtonNavigationItem.prototype.generateStyleText): Added media query and 2x versions.
- * UserInterface/DetailsSection.css:
- (.details-section > .header::before): Set background-size.
- (.details-section > .header:not(.mouse-over-options-element):active::before): Added 2x version.
- (.details-section.collapsed > .header::before): Ditto.
- (.details-section.collapsed > .header:not(.mouse-over-options-element):active::before): Ditto.
- * UserInterface/ImageUtilities.js:
- (generateColoredImage): Added scale parameter. Multiply width and height by scale.
- (generateColoredImagesForCSS.imageLoaded): Call generateImage for each pixel ratio.
- (generateColoredImagesForCSS.generateImage): Added pixelRatio parameter. Multiply the shadow values by pixelRatio.
- Pass the pixelRation to generateColoredImage.
- (generateColoredImagesForCSS): Remove depth and scale.
- (generateEmbossedImages._imageLoaded): Call _createEmbossedCanvasImage for each pixel ratio.
- (generateEmbossedImages._createEmbossedCanvasImage): Added pixelRatio parameter. Define the depth. Multiply the
- width and height by pixelRatio. Use width and height instead of image.width and image.height through out.
- (generateEmbossedImages._invertMaskImage): Added width and height parameters. Use instead of image.width and image.height.
- (generateEmbossedImages._applyImageMask): Remove unused HTMLCanvasElement as input code path.
- * UserInterface/Main.css:
- (.go-to-arrow:active): Added 2x version.
- (:focus .selected .go-to-arrow): Added 2x version.
- (:focus .selected .go-to-arrow:active): Added 2x version.
- * UserInterface/NavigationSidebarPanel.css:
- (.navigation-sidebar-panel-content-tree-outline .item .disclosure-button): Set background-size.
- (.navigation-sidebar-panel-content-tree-outline .item.selected .disclosure-button): Added 2x version.
- (.navigation-sidebar-panel-content-tree-outline .item.expanded .disclosure-button): Added 2x version.
- (.navigation-sidebar-panel-content-tree-outline .item.selected.expanded .disclosure-button): Added 2x version.
- * UserInterface/RadioButtonNavigationItem.js:
- (WebInspector.RadioButtonNavigationItem.prototype.generateStyleText): Added media query and 2x versions.
- * UserInterface/TimelinesContentView.css:
- (.content-view.timelines > .data-grid th.collapser > .collapser-button): Set background-size.
- (.content-view.timelines > .data-grid th.collapser > .collapser-button:active): Added 2x version.
- (.content-view.timelines > .data-grid th.collapser.collapsed > .collapser-button): Added 2x version.
- (.content-view.timelines > .data-grid th.collapser.collapsed > .collapser-button:active): Added 2x version.
- 2012-03-20 Timothy Hatcher <timothy@apple.com>
- Don't allow setting breakpoints for resource types that are not Script or Document.
- <rdar://problem/11044410> Should not be allowed to set breakpoints on CSS resources
- Reviewed by Brian Weinstein.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor): Don't add event listeners unless _supportsDebugging is true.
- (WebInspector.SourceCodeTextEditor.prototype.close): Remove event listeners inside if _supportsDebugging block.
- (WebInspector.SourceCodeTextEditor.prototype._contentWillPopulate): Don't add breakpoints unless _supportsDebugging.
- (WebInspector.SourceCodeTextEditor.prototype._updateBreakpointStatus): Assert _supportsDebugging.
- (WebInspector.SourceCodeTextEditor.prototype._breakpointRemoved): Ditto.
- (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange): Ditto.
- (WebInspector.SourceCodeTextEditor.prototype._matchesBreakpoint): Ditto.
- (WebInspector.SourceCodeTextEditor.prototype.get _supportsDebugging): Added.
- (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointInfo): Return early if !_supportsDebugging.
- (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointAdded): Ditto.
- (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointRemoved): Assert and return early if !_supportsDebugging.
- (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointMoved): Ditto.
- (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointToggled): Ditto.
- 2012-03-20 Timothy Hatcher <timothy@apple.com>
- Add and remove the window-inactive style class so controls, row selections, and backgrounds use their inactive colors.
- <rdar://problem/11064364> Inspector controls (bars and buttons) have active appearance in inactive windows
- Reviewed by Brian Weinstein.
- * UserInterface/ButtonNavigationItem.css:
- (body.window-inactive .navigation-bar > .item.button:not(.suppress-emboss) > .glyph):
- (.navigation-bar > .item.button.disabled > .glyph):
- (body.window-inactive .navigation-bar > .item.button.disabled:not(.suppress-emboss) > .glyph):
- (.navigation-bar > .item.button.suppress-emboss > .glyph):
- (.navigation-bar > .item.button.suppress-emboss:active > .glyph):
- (.navigation-bar > .item.button.suppress-emboss.disabled > .glyph): Moved from QuickConsole.css.
- * UserInterface/DataGrid.css:
- (body.window-inactive .data-grid th.sort-descending): Fixed the selector to use window-inactive.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Added window event listeners for blur and focus.
- (WebInspector.updateDockedState): Remove the window-inactive class when docking, just in case.
- (WebInspector._windowFocused): Added.
- (WebInspector._windowBlurred): Added.
- * UserInterface/QuickConsole.css: Moved the disabled button style to ButtonNavigationItem.css.
- 2012-03-19 Timothy Hatcher <timothy@apple.com>
- Support showing and working with Script breakpoints from the Breakpoint sidebar.
- Part of: <rdar://problem/11075565> REGRESSION (New Web Inspector): Injected extension content scripts are not shown
- Reviewed by Joseph Pecoraro.
- * UserInterface/BreakpointSidebarPanel.js:
- (WebInspector.BreakpointSidebarPanel):
- (WebInspector.BreakpointSidebarPanel.prototype._addBreakpoint): Refactor code to work in terms on both Resource and Script.
- (WebInspector.BreakpointSidebarPanel.prototype._addBreakpointsForSourceCode): Renamed from _addBreakpointsForResource.
- (WebInspector.BreakpointSidebarPanel.prototype._resourceAdded): Use _addBreakpointsForSourceCode.
- (WebInspector.BreakpointSidebarPanel.prototype._mainResourceChanged): Ditto.
- (WebInspector.BreakpointSidebarPanel.prototype._scriptAdded): Added. Call _addBreakpointsForSourceCode if this script isn't
- backed by a Resource.
- (WebInspector.BreakpointSidebarPanel.prototype._scriptsCleared): Added. Remove all ScriptTreeElements.
- (WebInspector.BreakpointSidebarPanel.prototype._treeElementSelected): Refactored to work with either Resource or Script.
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager.prototype.scriptForIdentifier): Added.
- (WebInspector.DebuggerManager.prototype.scriptsForURL): Added.
- (WebInspector.DebuggerManager.prototype._setBreakpoint): Set the breakpoint correctly for Script's without URLs.
- 2012-03-19 Timothy Hatcher <timothy@apple.com>
- Show Scripts in the Resource sidebar at the top level.
- These scripts are grouped into 3 folders: Extension Scripts, Extra Scripts and Anonymous Scripts.
- <rdar://problem/11075565> REGRESSION (New Web Inspector): Injected extension content scripts are not shown
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager.prototype.reset): Fire ScriptsCleared event.
- (WebInspector.DebuggerManager.prototype.scriptDidParse): Fire ScriptAdded event. Pass isContentScript
- to the Script constructor.
- * UserInterface/Images/ClippingJS.png: Added.
- * UserInterface/Images/ClippingJS@2x.png: Added.
- * UserInterface/Main.html: Included ScriptTreeElement.js.
- * UserInterface/ResourceIcons.css:
- (.anonymous-script-icon .icon): Added.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel): Added event listeners for ScriptAdded and ScriptsCleared.
- (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): Create a tree element for
- the anonymous script.
- (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded): Create a tree element for scripts with URLs.
- (WebInspector.ResourceSidebarPanel.prototype._scriptsCleared): Remove the script folders.
- (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected): Support ScriptTreeElement.
- * UserInterface/Script.js:
- (WebInspector.Script): Added injected parameter.
- (WebInspector.Script.prototype.get injected): Added.
- * UserInterface/ScriptTreeElement.js: Added.
- (WebInspector.ScriptTreeElement):
- (WebInspector.ScriptTreeElement.prototype.get script):
- 2012-03-19 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.ScriptContentView for showing content of Script objects.
- Part of: <rdar://problem/11047982> REGRESSION (New Web Inspector): Page source does not show when a
- breakpoint is hit while loading the page
- Reviewed by Joseph Pecoraro.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView): Added case for Script.
- (WebInspector.ContentView.isViewable): Ditto.
- * UserInterface/DebugSidebarPanel.js:
- (WebInspector.DebugSidebarPanel.prototype._treeElementSelected): Simplify and use ResourceSidebarPanel.showSourceCode.
- * UserInterface/Main.html:
- * UserInterface/Main.js:
- (WebInspector.sidebarPanelForRepresentedObject):
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.cookieForContentView): Update assert for ScriptContentView.
- (WebInspector.ResourceSidebarPanel.prototype.showContentViewForCookie): Move a variable down below an early return.
- (WebInspector.ResourceSidebarPanel.prototype.showSourceCode): Updated to work with Scripts.
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): Close all ScriptContentViews.
- * UserInterface/ScriptContentView.css: Added.
- (.content-view.script > .text-editor):
- * UserInterface/ScriptContentView.js: Added. Copied mostly from TextResourceContentView.
- (WebInspector.ScriptContentView):
- (WebInspector.ScriptContentView.prototype.get script):
- (WebInspector.ScriptContentView.prototype.get textEditor):
- (WebInspector.ScriptContentView.prototype.get supplementalRepresentedObjects):
- (WebInspector.ScriptContentView.prototype.revealLine):
- (WebInspector.ScriptContentView.prototype.shown):
- (WebInspector.ScriptContentView.prototype.hidden):
- (WebInspector.ScriptContentView.prototype.closed):
- (WebInspector.ScriptContentView.prototype._contentWillPopulate):
- (WebInspector.ScriptContentView.prototype._executionLineNumberDidChange):
- 2012-03-18 Timothy Hatcher <timothy@apple.com>
- Hide line numbers for blank lines when showing inline scripts while the debugger is paused.
- When paused in the debugger we sometimes can only show the scripts for the HTML file. When
- this happens the scripts are the only thing visible (in their final position) with blank
- lines for the earlier HTML content. This hides the line numbers for those blank lines
- to provide a clue to the user that they shouldn't expect content there.
- Reviewed by Brian Weinstein.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor): Start with the first line as invalid, before a populate there
- is always a blank first line.
- (WebInspector.SourceCodeTextEditor.prototype._contentAvailable): Clear the invalid line numbers.
- (WebInspector.SourceCodeTextEditor.prototype._populateWithInlineScriptContent.scriptContentAvailable):
- Add blank lines to the invalid line numbers map.
- (WebInspector.SourceCodeTextEditor.prototype.textEditorShouldHideLineNumber): Added. Check the invalid
- line numbers map.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.updateLayout): Added force parameter and pass it to _updateLineNumbers.
- (WebInspector.TextEditor.prototype._reset): Pass true to updateLayout.
- (WebInspector.TextEditor.prototype._updateLineNumbers): Added force parameter. Always rebuild the line numbers
- when this is true.
- (WebInspector.TextEditor.prototype._lineNumberTextContent): Added. Helper.
- (WebInspector.TextEditor.prototype._addBreakpointElementToLineElementWithInfo): Use _lineNumberTextContent.
- (WebInspector.TextEditor.prototype._removePossibleBreakpointElementFromLineElement): Ditto.
- 2012-03-18 Timothy Hatcher <timothy@apple.com>
- Remove duplicate copies of _checkForOldResources and put it in the NavigationSidebarPanel base class.
- Now that the individual _checkForOldResources functions don't access different URL maps, this code
- can now be shared down in NavigationSidebarPanel.
- Reviewed by John Sullivan.
- * UserInterface/BreakpointSidebarPanel.js:
- (WebInspector.BreakpointSidebarPanel): Removed event listeners for _checkForOldResources.
- (WebInspector.BreakpointSidebarPanel.prototype._mainResourceChanged): Remove call to _checkForOldResources.
- (WebInspector.BreakpointSidebarPanel.prototype._checkForOldResources): Removed.
- * UserInterface/IssueSidebarPanel.js:
- (WebInspector.IssueSidebarPanel): Removed event listeners for _checkForOldResources.
- (WebInspector.IssueSidebarPanel.prototype._checkForOldResources): Removed.
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel): Added event listeners for _checkForOldResources.
- (WebInspector.NavigationSidebarPanel.prototype._checkForOldResources): Added.
- (WebInspector.NavigationSidebarPanel.prototype._checkForOldResources.delayedWork): Added.
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel): Removed event listeners for _checkForOldResources.
- (WebInspector.SearchSidebarPanel.prototype._checkForOldResources): Removed.
- 2012-03-18 Timothy Hatcher <timothy@apple.com>
- Simplify IssueSidebarPanel and SearchSidebarPanel by using TreeOutline.getCachedTreeElement to
- find existing ResourceTreeElements.
- Reviewed by Brian Weinstein.
- * UserInterface/IssueSidebarPanel.js:
- (WebInspector.IssueSidebarPanel): Removed _issueRootElements.
- (WebInspector.IssueSidebarPanel.prototype._issueWasAdded): Use getCachedTreeElement to find
- the existing ResourceTreeElement.
- (WebInspector.IssueSidebarPanel.prototype._issuesCleared): Removed _issueRootElements reference.
- (WebInspector.IssueSidebarPanel.prototype._checkForOldResources.delayedWork): Ditto.
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel): Removed _resourceSearchResultMap.
- (WebInspector.SearchSidebarPanel.prototype._treeElementForResource): Removed _resourceSearchResultMap
- reference. Use getCachedTreeElement to find the existing ResourceTreeElement.
- (WebInspector.SearchSidebarPanel.prototype._checkForOldResources.delayedWork):
- Removed _resourceSearchResultMap reference.
- 2012-03-18 Timothy Hatcher <timothy@apple.com>
- Simplify BreakpointSidebarPanel by using TreeOutline.getCachedTreeElement to find existing
- the BreakpointTreeElements and ResourceTreeElements.
- Reviewed by Brian Weinstein.
- * UserInterface/BreakpointSidebarPanel.js:
- (WebInspector.BreakpointSidebarPanel): Removed _resourceTreeElementURLMap.
- (WebInspector.BreakpointSidebarPanel.prototype._addBreakpoint): Use getCachedTreeElement to
- find the existing ResourceTreeElement.
- (WebInspector.BreakpointSidebarPanel.prototype._breakpointRemoved): Use getCachedTreeElement to
- find the BreakpointTreeElement to remove.
- (WebInspector.BreakpointSidebarPanel.prototype._checkForOldResources.delayedWork): Removed
- _resourceTreeElementURLMap reference.
- 2012-03-18 Timothy Hatcher <timothy@apple.com>
- Fix some exceptions I hit while adding ScriptContentView.
- Add some null checks at the callers of sidebarPanelForRepresentedObject, since sidebarPanelForRepresentedObject
- can return null when the representedObject is unknown. The sidebarPanelForRepresentedObject function logs an
- error to the console when it returns null. So the exceptions were just more noise.
- Reviewed by John Sullivan.
- * UserInterface/Main.js:
- (WebInspector.contentBrowserTreeElementForRepresentedObject): Null check the result of sidebarPanelForRepresentedObject.
- (WebInspector._updateCurrentContentViewCookie): Ditto.
- 2012-03-18 Timothy Hatcher <timothy@apple.com>
- Fix an issue where the execution line was not highlighted for single line scripts.
- Reviewed by Brian Weinstein.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype._reset): Add ExecutionLineStyleClassName to the text chunk element
- if the chunk is one line and it is the execution line.
- 2012-03-18 Timothy Hatcher <timothy@apple.com>
- Rename ResourceSidebarPanel.showResourceSourceCode to ResourceSidebarPanel.showSourceCode.
- This is prep for making ResourceSidebarPanel be responsible for showing Scripts.
- Part of: <rdar://problem/11047982> REGRESSION (New Web Inspector): Page source does not show when a
- breakpoint is hit while loading the page
- Reviewed by Joseph Pecoraro.
- * UserInterface/BreakpointSidebarPanel.js:
- (WebInspector.BreakpointSidebarPanel.prototype._treeElementSelected):
- * UserInterface/DebugSidebarPanel.js:
- * UserInterface/IssueSidebarPanel.js:
- (WebInspector.IssueSidebarPanel.prototype._treeElementSelected):
- * UserInterface/Main.js:
- (WebInspector.openURL):
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.showSourceCode): Renamed from showResourceSourceCode. Changed
- to not assume we are dealing with a Resource.
- * UserInterface/ResourceTimelineDataGridNode.js:
- (WebInspector.ResourceTimelineDataGridNode.prototype._goToResource):
- * UserInterface/ScriptTimelineDataGridNode.js:
- (WebInspector.ScriptTimelineDataGridNode.prototype._goToResource):
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel.prototype._treeElementSelected):
- 2012-03-18 Timothy Hatcher <timothy@apple.com>
- Prevent double dividers in the navigation bar when viewing a non-frame content view.
- The node search navigation item is hidden when not on a frame content view, but that causes
- the adjacent dividers to come together. We need to hide one divider in this case.
- Reviewed by Brian Weinstein.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Remember the divider to the left of the node search item.
- (WebInspector._currentContentViewDidChange): Hide the divider too.
- 2012-03-18 Timothy Hatcher <timothy@apple.com>
- Show script content when the debugger pauses on a resource that hasn't populated its full content yet.
- Part of: <rdar://problem/11047982> REGRESSION (New Web Inspector): Page source does not show when a
- breakpoint is hit while loading the page
- Reviewed by Joseph Pecoraro.
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager):
- (WebInspector.DebuggerManager.prototype.scriptsForResource): Added.
- (WebInspector.DebuggerManager.prototype.reset): Clear _scriptURLMap.
- (WebInspector.DebuggerManager.prototype.scriptDidParse): Don't add the script again if it is already known.
- Add scripts with URLs to _scriptURLMap.
- * UserInterface/SourceCodeTextEditor.js:
- (WebInspector.SourceCodeTextEditor): Call _activeCallFrameDidChange to update the execution line and request
- script content if needed.
- (WebInspector.SourceCodeTextEditor.prototype.revealLine): Store the line number if we don't have the line needed
- to show yet. Delete the stored values if we call through to TextEditor.
- (WebInspector.SourceCodeTextEditor.prototype._revealPendingLineIfPossible): Don't delete the stored values here.
- Return early if we don't have the line needed.
- (WebInspector.SourceCodeTextEditor.prototype._contentWillPopulate): Added.
- (WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate): Added.
- (WebInspector.SourceCodeTextEditor.prototype._populateWithContent): Added.
- (WebInspector.SourceCodeTextEditor.prototype._contentAvailable): Set _fullContentPopulated and call _populateWithContent.
- (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange): Call _populateWithInlineScriptContent or
- _populateWithScriptContent for Resource source code.
- (WebInspector.SourceCodeTextEditor.prototype._populateWithInlineScriptContent): Added. Request the content for all
- the scripts for this URL.
- (WebInspector.SourceCodeTextEditor.prototype._populateWithInlineScriptContent.scriptContentAvailable): Concat the scripts
- together, adding the script tags.
- (WebInspector.SourceCodeTextEditor.prototype._populateWithScriptContent): Added. Request the single script content.
- (WebInspector.SourceCodeTextEditor.prototype._populateWithScriptContent.scriptContentAvailable): Set _fullContentPopulated
- and call _populateWithContent.
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView): Listen for the ContentWillPopulate event.
- (WebInspector.TextResourceContentView.prototype._contentWillPopulate): Renamed from contentAvailable. Do nothing if the text
- editor is already added.
- 2012-03-16 Timothy Hatcher <timothy@apple.com>
- Factor most of TextResourceContentView out into SourceCodeTextEditor, a new TextEditor subclass.
- This is prep work for making a ScriptContentView to show Scripts before the resource loads.
- Part of: <rdar://problem/11047982> REGRESSION (New Web Inspector): Page source does not
- show when a breakpoint is hit while loading the page
- Reviewed by Joseph Pecoraro.
- * UserInterface/IssueManager.js:
- (WebInspector.IssueManager.prototype.issuesForSourceCode): Renamed from issuesForResource.
- * UserInterface/Main.html: Included SourceCodeTextEditor.js and SourceCodeTextEditor.css.
- * UserInterface/ResourceContentView.js:
- (WebInspector.ResourceContentView): Use issuesForSourceCode.
- * UserInterface/SourceCodeTextEditor.css: Copied from TextResourceContentView.css.
- (.source-code.text-editor .text-editor-text-chunk.error):
- (.source-code.text-editor .text-editor-text-chunk.warning):
- * UserInterface/SourceCodeTextEditor.js: Added.
- (WebInspector.SourceCodeTextEditor):
- (WebInspector.SourceCodeTextEditor.prototype.get sourceCode):
- (WebInspector.SourceCodeTextEditor.prototype.revealLine): Copied from TextResourceContentView.
- (WebInspector.SourceCodeTextEditor.prototype.shown): Call _revealPendingLineIfPossible.
- (WebInspector.SourceCodeTextEditor.prototype.close): Remove event listeners.
- (WebInspector.SourceCodeTextEditor.prototype._revealPendingLineIfPossible): Helper.
- (WebInspector.SourceCodeTextEditor.prototype._contentAvailable): Copied from TextResourceContentView.
- (WebInspector.SourceCodeTextEditor.prototype._updateBreakpointStatus): Ditto.
- (WebInspector.SourceCodeTextEditor.prototype._breakpointRemoved): Ditto.
- (WebInspector.SourceCodeTextEditor.prototype._activeCallFrameDidChange): Ditto.
- (WebInspector.SourceCodeTextEditor.prototype._matchesScriptLocation): Helper.
- (WebInspector.SourceCodeTextEditor.prototype._matchesBreakpoint): Helper.
- (WebInspector.SourceCodeTextEditor.prototype._matchesIssue): Helper.
- (WebInspector.SourceCodeTextEditor.prototype._issueWasAdded): Copied from TextResourceContentView.
- (WebInspector.SourceCodeTextEditor.prototype._addIssueToLineNumberMap): Helper.
- (WebInspector.SourceCodeTextEditor.prototype._addIssueToLine): Copied from TextResourceContentView.
- (WebInspector.SourceCodeTextEditor.prototype._breakpointInfoForBreakpoint): Ditto.
- (WebInspector.SourceCodeTextEditor.prototype.textEditorBaseURL): Ditto.
- (WebInspector.SourceCodeTextEditor.prototype.textEditorLineContentUpdated): Ditto.
- (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointInfo): Ditto.
- (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointAdded): Ditto.
- (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointRemoved): Ditto.
- (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointMoved): Ditto.
- (WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointToggled): Ditto.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor): Call the Object constructor.
- (WebInspector.TextEditor.prototype.set executionLineNumber): Fire the ExecutionLineNumberDidChange event.
- * UserInterface/TextResourceContentView.css:
- (.text-editor .text-editor-text-chunk.error): Removed.
- (.text-editor .text-editor-text-chunk.warning): Removed.
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView): Listen for the ExecutionLineNumberDidChange event.
- (WebInspector.TextResourceContentView.prototype.get supplementalRepresentedObjects): If the SourceCodeTextEditor
- has an executionLineNumber, we can assume it is always the active call frame.
- (WebInspector.TextResourceContentView.prototype.contentAvailable): Just remove the spinner or error message
- and append the text editor.
- (WebInspector.TextResourceContentView.prototype.revealLine): Just call revealLine on the text editor.
- (WebInspector.TextResourceContentView.prototype.closed): Call close on the text editor.
- (WebInspector.TextResourceContentView.prototype._executionLineNumberDidChange): Added.
- 2012-03-15 Timothy Hatcher <timothy@apple.com>
- Allow breakpoints to be set for a Resource or a Script.
- This is prep for making a TextEditor subclass that works with either a Script or a Resource.
- Part of: <rdar://problem/11047982> REGRESSION (New Web Inspector): Page source does not
- show when a breakpoint is hit while loading the page
- Reviewed by Joseph Pecoraro.
- * UserInterface/Breakpoint.js:
- (WebInspector.Breakpoint): Make the constructor take a SourceCode object instead of a URL.
- (WebInspector.Breakpoint.prototype.get scriptIdentifier): Added.
- (WebInspector.Breakpoint.prototype.get info): Updated the comment.
- * UserInterface/BreakpointSidebarPanel.js:
- (WebInspector.BreakpointSidebarPanel.prototype._addBreakpointsForResource): Use breakpointsForSourceCode.
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager):
- (WebInspector.DebuggerManager.prototype.breakpointsForSourceCode): Renamed from breakpointsForURL. Takes
- a SourceCode object and looks up by url or id.
- (WebInspector.DebuggerManager.prototype.addBreakpoint): Don't assume there is a url. Adds the breakpoint
- to the URL map and/or the script identifier map.
- (WebInspector.DebuggerManager.prototype.removeBreakpoint): Ditto for removal.
- (WebInspector.DebuggerManager.prototype._saveBreakpoints): Skips breakpoints without URLs.
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView.prototype.contentAvailable): Use breakpointsForSourceCode.
- (WebInspector.TextResourceContentView.prototype.textEditorBreakpointAdded): Pass the resource to the
- Breakpoint constructor instead of the URL.
- 2012-03-17 Timothy Hatcher <timothy@apple.com>
- Use Date.toLocaleString() to format the date in the Exprires column of the Cookies view.
- <rdar://problem/9628659> Expires date in the Cookies view should be localized
- Reviewed by Ada Chan.
- * UserInterface/CookieStorageContentView.js:
- (WebInspector.CookieStorageContentView.prototype._rebuildTable): Use toLocaleString().
- 2012-03-16 Joseph Pecoraro <pecoraro@apple.com>
- Give each Timeline DataGrid a chance to react to EventMarkers.
- If another timeline data grid was active when event markers arrived,
- then switching to the Network data grid was not showing those event
- markers. Give each Timeline data grid a chance to react to the
- event marker, not just the active data grid.
- Reviewed by Timothy Hatcher.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView):
- (WebInspector.TimelinesContentView.prototype._recordingStarted):
- (WebInspector.TimelinesContentView.prototype._recordedEventMarker):
- (WebInspector.TimelinesContentView.prototype._updateCalculatorBoundsForPendingRecordsAndEventMarkers):
- 2012-03-16 Joseph Pecoraro <pecoraro@apple.com>
- Workaround sporatic double thick border appearing in collapsed columns.
- Occasionally the Networks data grid will show a double thick border where
- the collapsed, 0-width, columns were. Workaround this by just hiding the
- border for collapsed columns.
- Reviewed by Timothy Hatcher.
- * UserInterface/TimelinesContentView.css:
- (.content-view.timelines > .data-grid.collapsed-details td.column-group-details:not(:last-child)):
- * UserInterface/NetworkDataGrid.js:
- (WebInspector.NetworkDataGrid.prototype.didToggleColumnGroup):
- 2012-03-15 Timothy Hatcher <timothy@apple.com>
- Make the Quick Console toolbar buttons pin to the bottom when doing multi-line input.
- Also make the scrollbars not interfere if the user has old-school scrollbars.
- Reviewed by Joseph Pecoraro.
- * UserInterface/QuickConsole.css:
- (.quick-console): Specify overflow-x and overflow-y separately. Use auto instead of scroll.
- (.quick-console > .view-container): Use auto instead of scroll.
- (.quick-console > .toolbar > .navigation-bar-container): Added.
- (.quick-console > .toolbar > .navigation-bar-container > .navigation-bar-spacer): Added.
- (.quick-console > .toolbar > .navigation-bar-container > .navigation-bar): Updated the selector.
- (.quick-console > .toolbar > .navigation-bar-container > .navigation-bar > .item.button.disabled > .glyph): Ditto.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole): Create navigation bar container and spacer.
- 2012-03-15 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/11049672> Delete key should delete selected breakpoint in sidebar
- - Delete key removes the breakpoint.
- - Enter / Space toggles the breakpoint.
- - All Exceptions and Uncaught Exceptions breakpoints cannot be removed
- and will beep if the user attempts to delete them.
- Reviewed by Timothy Hatcher.
- * UserInterface/TreeOutline.js:
- (TreeOutline.prototype._treeKeyDown):
- Expose onspace like onenter and ondelete.
- * UserInterface/BreakpointTreeElement.js:
- (WebInspector.BreakpointTreeElement.prototype.ondelete):
- (WebInspector.BreakpointTreeElement.prototype.onenter):
- (WebInspector.BreakpointTreeElement.prototype.onspace):
- Implement default TreeElement handlers for keys.
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager.prototype.removeBreakpoint):
- (WebInspector.DebuggerManager.prototype.isBreakpointRemovable):
- Ensure we never try to remove the custom breakpoints.
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView):
- (WebInspector.TextResourceContentView.prototype._breakpointRemoved):
- When a breakpoint is removed update the ContentView and TextEditor.
- 2012-03-15 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/11050670> REGRESSION (New Web Inspector): Add Inspect Element button (magnifying glass button)
- Only show the button when a FrameView (DOM Tree / Source Code) is available.
- When switching away from a FrameView make sure to disable node searching
- if it was active. Also since the nav bar may have changed size have the
- content browser update its navigation bar layout.
- If this happens more in the future the buttons should be owned by the
- individual ContentViews instead of WebInspector.
- Reviewed by Timothy Hatcher.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- (WebInspector._currentContentViewDidChange):
- 2012-03-15 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/11050670> REGRESSION (New Web Inspector): Add Inspect Element button (magnifying glass button)
- Add an on/off button for node searching.
- Reviewed by Timothy Hatcher.
- * UserInterface/ActivateButtonNavigationItem.js: Added.
- (WebInspector.ActivateButtonNavigationItem):
- (WebInspector.ActivateButtonNavigationItem.prototype.get activated):
- (WebInspector.ActivateButtonNavigationItem.prototype.set activated):
- (WebInspector.ActivateButtonNavigationItem.prototype.generateStyleText):
- ActivateButton uses the normal "Focus" style when "Activated". It
- then includes a darker version of "Focus" for "Activated:active".
- * UserInterface/ButtonNavigationItem.js:
- (WebInspector.ButtonNavigationItem.prototype._generateImages):
- Allow for more flexible subclassing.
- * UserInterface/ImageUtilities.js:
- (generateEmbossedImages._imageLoaded):
- (generateEmbossedImages._createEmbossedCanvasImage):
- Create a FocusDark style if requested.
- * UserInterface/Images/Hand.pdf: Added.
- * UserInterface/Main.html:
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- (WebInspector._domNodeWasInspected):
- (WebInspector._toggleNodeSearch.callback):
- (WebInspector._toggleNodeSearch):
- Add the button to the right.
- 2012-03-14 Timothy Hatcher <timothy@apple.com>
- Fix typo of the servicePendingContentRequests function was mentioned in review but I forgot to save the file.
- * UserInterface/Resource.js:
- (WebInspector.Resource.prototype.markAsFailed): Fix typo of servicePendingContentRequests.
- 2012-03-14 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10935394> REGRESSION (New Web Inspector): load and DOMContentLoaded event lines are not shown in the Timeline overview
- <rdar://problem/10935417> REGRESSION (New Web Inspector): developer generated timestamps are not shown in the Timeline overview
- Add event marker decorations to the TimelineOverview.
- Reviewed by Timothy Hatcher.
- * UserInterface/TimelineDecorations.css:
- (.timeline-decorations > .event-markers > .event-marker.timestamp):
- Make markTimeline/timeStamp green instead of yellow. Easier to see.
- * UserInterface/TimelineDecorations.js:
- (WebInspector.TimelineDecorations.prototype.clear):
- Clearing should also remove visible EventMarkers.
- * UserInterface/TimelineOverview.css:
- (.timeline-overview .timeline-decorations > .event-markers):
- (.timeline-overview .timeline-decorations > .event-markers > .event-marker-tooltip):
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView.prototype._recordedEventMarker):
- Pass event markers on to the TimelineOverview.
- * UserInterface/TimelineOverview.js:
- (WebInspector.TimelineOverview.prototype.update):
- (WebInspector.TimelineOverview.prototype.addTimelineEventMarker):
- Have the decorator draw event markers.
- 2012-03-14 Timothy Hatcher <timothy@apple.com>
- Provide a way to request content from a Script.
- Factor out the content requesting parts of Resource down into a SourceCode class that
- both Resource and Script now inherit from.
- Part of: <rdar://problem/11047982> REGRESSION: Page source does not show when a breakpoint
- is hit while loading the page
- Reviewed by Joseph Pecoraro.
- * UserInterface/Main.html: Included SourceCode.js.
- * UserInterface/Resource.js:
- (WebInspector.Resource):
- (WebInspector.Resource.prototype.canRequestContentFromBackend): Added.
- (WebInspector.Resource.prototype.requestContentFromBackend): Added.
- (WebInspector.Resource.prototype.markAsFinished): Call requestContentFromBackendIfNeeded.
- (WebInspector.Resource.prototype.markAsFailed): Call servicePendingContentRequests with force.
- * UserInterface/Script.js:
- (WebInspector.Script):
- (WebInspector.Script.prototype.canRequestContentFromBackend): Added.
- (WebInspector.Script.prototype.requestContentFromBackend): Added.
- * UserInterface/SourceCode.js: Added.
- (WebInspector.SourceCode):
- (WebInspector.SourceCode.prototype.get content):
- (WebInspector.SourceCode.prototype.get contentIsBase64Encoded):
- (WebInspector.SourceCode.prototype.get contentURL):
- (WebInspector.SourceCode.prototype.requestContent):
- (WebInspector.SourceCode.prototype.canRequestContentFromBackend):
- (WebInspector.SourceCode.prototype.requestContentFromBackend):
- (WebInspector.SourceCode.prototype.requestContentFromBackendIfNeeded):
- (WebInspector.SourceCode.prototype.servicePendingContentRequests):
- (WebInspector.SourceCode.prototype._processContent):
- 2012-03-13 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/11044135> Quick Console should handle multiline input better
- The QuickConsole consists of two pieces in a fixed height. The toolbar with
- JavaScript prompt, and the output content view container. The console itself
- grows to a maximum size (75% of the total window size or user specified by
- resizing). When handling multiline input the toolbar containing the prompt
- is allowed to grow, pushing up the content. When the maximum is reached the
- content will scroll under it, and likewise the multiline JavaScript prompt
- will eventually scroll under it.
- Reviewed by Timothy Hatcher.
- * UserInterface/JavaScriptLogViewController.js:
- (WebInspector.JavaScriptLogViewController):
- (WebInspector.JavaScriptLogViewController.prototype._promptKeyDown):
- (WebInspector.JavaScriptLogViewController.prototype._promptHistoryChange):
- (WebInspector.JavaScriptLogViewController.prototype._promptPasteboardEvent):
- (WebInspector.JavaScriptLogViewController.prototype._detectPromptHeightChanges.afterEvent):
- (WebInspector.JavaScriptLogViewController.prototype._detectPromptHeightChanges):
- * UserInterface/TextPrompt.js:
- (WebInspector.TextPrompt):
- (WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):
- In order to detect with the input prompt changes height, we hook into
- a number of events. Keydown, cut/paste, and TextPrompt history changes.
- * UserInterface/QuickConsole.css:
- (.quick-console):
- (.quick-console.collapsed):
- Let the console scroll when multiline input fills the entire console.
- To allow multiline input when collapsed remove !important from height.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole):
- (WebInspector.QuickConsole.prototype.set collapsed):
- (WebInspector.QuickConsole.prototype.get multiline):
- (WebInspector.QuickConsole.prototype.get collapsedHeight):
- Use constants where possible for height values.
- (WebInspector.QuickConsole.prototype.didAppendConsoleMessage):
- (WebInspector.QuickConsole.prototype.promptDidChangeHeight):
- Responds to actions that will most like require resizes.
- (WebInspector.QuickConsole.prototype._updateToolbarSize):
- Update the toolbar size if the prompt size changed.
- (WebInspector.QuickConsole.prototype._updateViewContainerSizeAndScrollDivider):
- Update the view container's size when single line or multiline.
- 2012-03-13 Joseph Pecoraro <pecoraro@apple.com>
- Tweak quick console focusing.
- Reviewed by Timothy Hatcher.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole.prototype._viewContainerClick.afterDispatches):
- This didn't appear to work for all actions. Ignore the caret checking,
- and more proactively focus as long as there is no selection.
- 2012-03-13 Joseph Pecoraro <pecoraro@apple.com>
- Minor quick console mouse improvements.
- Allow selection in the messages output.
- Clicking in the messages output focuses the prompt if there is no
- selection. This matches LogContentView.
- Reviewed by Timothy Hatcher.
- * UserInterface/QuickConsole.css:
- (.quick-console > .view-container):
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole):
- (WebInspector.QuickConsole.prototype._viewContainerClick.afterDispatches):
- 2012-03-13 Joseph Pecoraro <pecoraro@apple.com>
- Event marker lines should not overlap the quick console.
- Reviewed by Brian Weinstein.
- * UserInterface/TimelineDecorations.css:
- (.timeline-decorations > .event-markers):
- 2012-03-13 Joseph Pecoraro <pecoraro@apple.com>
- Renamed isFocused() to a focused getter based on earlier review feedback.
- Reviewed by Brian Weinstein.
- * UserInterface/JavaScriptTextPrompt.js:
- (WebInspector.JavaScriptTextPrompt.prototype.get focused):
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype.consoleCleared):
- * UserInterface/Main.js:
- (WebInspector._keydown):
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole.prototype._activeLogCleared):
- 2012-03-13 Joseph Pecoraro <pecoraro@apple.com>
- Converge to a single RecordedEventMarker event based on earlier review feedback.
- Reviewed by Timothy Hatcher.
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager):
- (WebInspector.TimelineManager.prototype.startRecording):
- (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
- (WebInspector.TimelineManager.prototype.eventRecorded):
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView):
- 2012-03-13 Timothy Hatcher <timothy@apple.com>
- Make profiles work again while retaining the correct insertion order in the Timeline DataGrids.
- This reverts most of r41172 and fixes the single issue from the open source version of the code.
- When there isn't a previousGridNode that means we need to insert at the top of the DataGrid.
- But the open source code was missing the !previousGridNode check, causing elements to append
- at the end instead.
- <rdar://problem/10960578> REGRESSION (r41172): DOM exceptions when showing profile data grid
- Reviewed by Brian Weinstein.
- * UserInterface/DataGrid.js:
- (WebInspector.DataGridNode.prototype._attach): Revert r41172 and add a check for !previousGridNode.
- 2012-03-13 Timothy Hatcher <timothy@apple.com>
- Don't follow links when they are being edited by the user.
- Inspired by the fix for https://webkit.org/b/60814.
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView.prototype._mouseWasClicked): Call isBeingEdited and return early if true.
- * UserInterface/EditingSupport.js:
- (WebInspector.isBeingEdited): Check ancestor elements too.
- * UserInterface/Main.js:
- (WebInspector.handlePossibleLinkClick): Call isBeingEdited and return early if true.
- 2012-03-13 Timothy Hatcher <timothy@apple.com>
- Remove duplicate code for the handling clicked links.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSSelectorProfileView.js:
- (WebInspector.CSSSelectorProfileView): Removed click event listener.
- (WebInspector.CSSSelectorProfileView.prototype._mouseWasClicked): Removed.
- * UserInterface/DOMDetailsSidebarPanel.js:
- (WebInspector.DOMDetailsSidebarPanel.prototype._mouseWasClicked): Use handlePossibleLinkClick.
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView.prototype._mouseWasClicked.followLink): Pass along the lineNumber.
- * UserInterface/JavaScriptProfileView.js:
- (WebInspector.JavaScriptProfileView): Removed click event listener.
- (WebInspector.JavaScriptProfileView.prototype._mouseWasClicked): Removed.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView): Removed click event listener.
- (WebInspector.LogContentView.prototype._messagesClicked): Removed.
- * UserInterface/Main.js:
- (WebInspector.handlePossibleLinkClick): Added.
- (WebInspector._mouseWasClicked): Call handlePossibleLinkClick.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole): Removed click event listener.
- (WebInspector.QuickConsole.prototype._messagesClicked): Removed.
- * UserInterface/ResourceContentView.js:
- (WebInspector.ResourceContentView.prototype._mouseWasClicked): Use handlePossibleLinkClick.
- 2012-03-13 Timothy Hatcher <timothy@apple.com>
- Properly bind and unbind every DOMNode to DOMTreeManager.
- Merges the fix for https://webkit.org/b/78116 from open source (r107093).
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMNode.js:
- (WebInspector.DOMNode): Inserts the node into the DOMTreeManager map here. So all
- the callers don't need to do it.
- * UserInterface/DOMTreeManager.js:
- (WebInspector.DOMTreeManager.prototype._setDocument): Removed binding code.
- (WebInspector.DOMTreeManager.prototype._setDetachedRoot): Ditto.
- (WebInspector.DOMTreeManager.prototype._setChildNodes): Removed call to _bindNodes.
- (WebInspector.DOMTreeManager.prototype._bindNodes): Removed.
- (WebInspector.DOMTreeManager.prototype._childNodeRemoved): Call _unbind.
- (WebInspector.DOMTreeManager.prototype._unbind): Added. Recursively unbind.
- 2012-03-13 Timothy Hatcher <timothy@apple.com>
- Fix an issue where removing a TreeElement from a TreeOutline would cause the TreeOutline
- to forget all TreeElements that came after the TreeElement that was removed.
- Reviewed by Brian Weinstein.
- * UserInterface/TreeOutline.js:
- (TreeOutline.prototype._forgetChildrenRecursive): Pass parentElement instead of this to
- traverseNextTreeElement, forcing it to stop when it reaches the last descendant of parentElement.
- 2012-03-12 Timothy Hatcher <timothy@apple.com>
- Keep the QuickConsole scroll position pinned to the bottom when changing the height.
- Reviewed by Joseph Pecoraro.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole.prototype.updateLayout): Scroll to the bottom if we were before the possible height change.
- (WebInspector.QuickConsole.prototype._isScrolledToBottom): Added.
- (WebInspector.QuickConsole.prototype._scrollToBottom): Added.
- (WebInspector.QuickConsole.prototype._resizerMouseDown): Remember if the view was scrolled to the bottom before resize.
- (WebInspector.QuickConsole.prototype._resizerMouseMoved): Scroll to the bottom if we were before resize.
- (WebInspector.QuickConsole.prototype._resizerMouseUp): Delete the flag.
- (WebInspector.QuickConsole.prototype._viewContainerClick.afterDispatches): Scroll the console element into view that
- was clicked or scroll to the bottom if we were before.
- 2012-03-12 Timothy Hatcher <timothy@apple.com>
- Allow the QuickConsole to shrink in height when it auto grew in height.
- Reviewed by Joseph Pecoraro.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole.prototype.set collapsed): Reset _userPreferredMaximumHeightWasSetSinceLastToggle back to false.
- (WebInspector.QuickConsole.prototype.set userPreferredMaximumHeight): Set _userPreferredMaximumHeightWasSetSinceLastToggle to true.
- (WebInspector.QuickConsole.prototype._updateViewContainerSizeAndScrollDivider): Return early if _userPreferredMaximumHeightWasSetSinceLastToggle
- is set after calling _updateScrollDivider. Added an allowShrinking parameter.
- (WebInspector.QuickConsole.prototype._viewContainerClick): Update comment. And call _updateViewContainerSizeAndScrollDivider,
- passing true to allow shrinking.
- 2012-03-12 Timothy Hatcher <timothy@apple.com>
- Quick fixes to the QuickConsole styles.
- Reviewed by Joseph Pecoraro.
- * UserInterface/QuickConsole.css:
- (.quick-console): Set overflow to hidden so the toolbar box-shadow does not spill out the sides. Also
- removes a box-shadow that was not doing anything useful.
- (.quick-console > .view-container): Set overflow-x to hidden so the horizontal scrollbar never shows.
- (.quick-console > .toolbar): Set a transition on box-shadow so the shadow animates. Add a base box-shadow
- that has 0 for blur so it animates nicely.
- (.quick-console > .toolbar.scroll-divider): Tweak the shadow so it is rgba() and a larger blur.
- 2012-03-12 Joseph Pecoraro <pecoraro@apple.com>
- Disable the Toggle button when there is no Quick Console content.
- Reviewed by Timothy Hatcher.
- * UserInterface/Main.js:
- (WebInspector._keydown):
- * UserInterface/QuickConsole.css:
- (.quick-console > .toolbar > .navigation-bar > .item.button.disabled > .glyph):
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole):
- (WebInspector.QuickConsole.prototype.toggle):
- (WebInspector.QuickConsole.prototype.didAppendConsoleMessage):
- (WebInspector.QuickConsole.prototype._toggleButtonClicked):
- (WebInspector.QuickConsole.prototype._resizerDoubleClicked):
- (WebInspector.QuickConsole.prototype._activeLogCleared):
- 2012-03-12 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/11034808> Esc should focus or toggle the QuickConsole
- Esc will focus the quick console if nothing else is focused and accepting
- input. When focused, Esc will toggle the console's drawer.
- Reviewed by Brian Weinstein.
- * UserInterface/Main.js:
- (WebInspector._keydown):
- Handle the Esc key.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole.prototype._toggleButtonClicked):
- When the quick console is focused and a user clicks the toggle button,
- the quick console emits a "blur" event even though the caret is still
- inside it and commands can be run. This breaks the "isFocused()" state
- of the field and thus the Esc key toggling the field. So, lets just
- auto-focus the TextPrompt when the toggle button is clicked.
- 2012-03-12 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/11034699> Quick Console should respect clear keyboard shortcuts
- React to the clear active log event but only on the currently active console.
- Reviewed by Brian Weinstein.
- * UserInterface/JavaScriptTextPrompt.js:
- (WebInspector.JavaScriptTextPrompt):
- (WebInspector.JavaScriptTextPrompt.prototype.isFocused):
- (WebInspector.JavaScriptTextPrompt.prototype._focusedPrompt):
- (WebInspector.JavaScriptTextPrompt.prototype._blurredPrompt):
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype.consoleCleared):
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole):
- (WebInspector.QuickConsole.prototype._activeLogCleared):
- 2012-03-12 Joseph Pecoraro <pecoraro@apple.com>
- Improve QuickConsole content sizing.
- Make the quick console work like a calculator. The most recent
- result is closest to the console prompt. Older results scroll
- up off the top. Now when resizing, the user is setting their
- preferred maximum size of the drawer.
- Reviewed by Timothy Hatcher.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole):
- (WebInspector.QuickConsole.prototype.set collapsed):
- (WebInspector.QuickConsole.prototype.get collapsedHeight):
- (WebInspector.QuickConsole.prototype.get minimumUncollapsedHeight):
- (WebInspector.QuickConsole.prototype.get maximumUncollapsedHeight):
- Give comments describing the boundary heights.
- (WebInspector.QuickConsole.prototype.get userPreferredMaximumHeight):
- (WebInspector.QuickConsole.prototype.set userPreferredMaximumHeight):
- Add a convenient function for getting the user preferred sizes.
- (WebInspector.QuickConsole.prototype.set height):
- (WebInspector.QuickConsole.prototype._expandViewContainerSize):
- (WebInspector.QuickConsole.prototype._updateViewContainerSizeAndScrollDivider):
- (WebInspector.QuickConsole.prototype._updateScrollDivider):
- When setting the height, we typically drop through to updating the
- container size to get the size to fit, and update the scroll divider
- if needed.
- (WebInspector.QuickConsole.prototype._resizerMouseMoved):
- When the user resized, save the height into Settings.
- (WebInspector.QuickConsole.prototype.updateLayout):
- (WebInspector.QuickConsole.prototype.didAppendConsoleMessage):
- Times when we need to adjust sizes.
- (WebInspector.QuickConsole.prototype._viewContainerScroll):
- Don't adjust the size, just show/hide the divider.
- (WebInspector.QuickConsole.prototype._viewContainerClick.afterDispatches):
- (WebInspector.QuickConsole.prototype._viewContainerClick.afterClickHandling):
- (WebInspector.QuickConsole.prototype._viewContainerClick):
- Adjust the size, but only after any possible work.
- 2012-03-12 Timothy Hatcher <timothy@apple.com>
- Don't break into the debugger when evaluating an expression in the console that triggers an exception.
- The exception will still be logged as the result in the console. We might tweak how this works later,
- but right now breaking into the debugger for this is annoying. This change matches open source.
- Reviewed by Brian Weinstein.
- * UserInterface/JavaScriptLogViewController.js:
- (WebInspector.JavaScriptLogViewController.prototype._appendCommand): Pass true for doNotPauseOnExceptions parameter.
- 2012-03-12 Timothy Hatcher <timothy@apple.com>
- Remove an overzealous assert in DebuggerManager.
- The script identifier can be reused, so just make a new Script and insert it into the map again.
- Reviewed by Brian Weinstein.
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager.prototype.scriptDidParse): Removed console.assert.
- 2012-03-12 Timothy Hatcher <timothy@apple.com>
- Clean up the styles for the console and log views.
- Reviewed by Brian Weinstein.
- * UserInterface/JavaScriptTextPrompt.css:
- (.javascript-prompt): Adjust the padding and remove the margin.
- * UserInterface/JavaScriptTextPrompt.js:
- (WebInspector.JavaScriptTextPrompt): Set the text to "" so a "<br>" is inserted into the prompt. This lets the insertion
- caret to position correctly.
- * UserInterface/LogContentView.css:
- (.console-message, .console-user-command): Adjust the padding and remove the margin.
- (.console-message::before, .console-user-command::before, .javascript-prompt::before, .console-group-title::before):
- Don't use a negative margin, make it a positive one. The padding above makes room.
- (.console-group-messages .section .header::before): Bump up the disclosure triangle, it was 1px too low.
- (.console-group-messages .section .header .title): Reset the line-height to make the logged object not take up extra space.
- * UserInterface/QuickConsole.css:
- (.quick-console > .toolbar > .text-prompt > .javascript-prompt): Reduce top position to better center the prompt.
- 2012-03-12 Timothy Hatcher <timothy@apple.com>
- Fix an issue where the whole Web Inspector Ui would just 1px after typing in the quick console.
- Reviewed by Joseph Pecoraro.
- * UserInterface/QuickConsole.css:
- (.quick-console > .toolbar): Removed -webkit-box-sizing.
- (.quick-console > .toolbar > .navigation-bar): Set the height to 21px so it does not extend out of .toolbar.
- 2012-03-11 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10319586> Implement the Quick Console for the new Web Inspector design
- Give the QuickConsole a LogViewController. The JavaScriptTextPrompt will
- go in the toolbar, and the ViewContainer will hold the ConsoleGroup output.
- Reviewed by Timothy Hatcher.
- * UserInterface/QuickConsole.css:
- (.quick-console):
- (.quick-console > .toolbar > .text-prompt):
- (.quick-console > .toolbar > .text-prompt > .javascript-prompt):
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole):
- (WebInspector.QuickConsole.prototype.didAppendConsoleMessage):
- (WebInspector.QuickConsole.prototype._mouseWasClicked):
- 2012-03-11 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10319586> Implement the Quick Console for the new Web Inspector design
- Add a scroll divider box shadow when the Quick Console's view
- contains scrollable content.
- Reviewed by Timothy Hatcher.
- * UserInterface/QuickConsole.css:
- (.quick-console > .view-container):
- (.quick-console > .toolbar.scroll-divider):
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole):
- (WebInspector.QuickConsole.prototype.set collapsed):
- (WebInspector.QuickConsole.prototype.set height):
- (WebInspector.QuickConsole.prototype._resizerMouseUp):
- (WebInspector.QuickConsole.prototype._updateScrollDivider):
- 2012-03-11 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10319586> Implement the Quick Console for the new Web Inspector design
- Add JavaScriptLogViewController class. This holds a JavaScriptTextPrompt
- for input and a ConsoleGroup to put the output of JavaScript commands.
- The idea being that you could swap out either the input source or output
- destination. Currently this class just knows how to deal with JavaScript.
- This moves out most of the remaining JavaScript knowledge from
- LogContentView and puts it into this new controller. There is just one
- delegate message back.
- Reviewed by Timothy Hatcher.
- * UserInterface/JavaScriptLogViewController.js: Added.
- (WebInspector.JavaScriptLogViewController):
- (WebInspector.JavaScriptLogViewController.prototype.constructor.WebInspector.JavaScriptLogViewController.get prompt):
- (WebInspector.JavaScriptLogViewController.prototype.get topConsoleGroup):
- (WebInspector.JavaScriptLogViewController.prototype.get currentConsoleGroup):
- (WebInspector.JavaScriptLogViewController.prototype.clear):
- (WebInspector.JavaScriptLogViewController.prototype.appendConsoleMessage):
- (WebInspector.JavaScriptLogViewController.prototype._requestClearMessages):
- (WebInspector.JavaScriptLogViewController.prototype._promptKeyDown):
- (WebInspector.JavaScriptLogViewController.prototype._enterKeyPressed):
- (WebInspector.JavaScriptLogViewController.prototype._appendCommand.printResult):
- (WebInspector.JavaScriptLogViewController.prototype._appendCommand):
- (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessage):
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView):
- (WebInspector.LogContentView.prototype.constructor.WebInspector.LogContentView.messageAdded):
- (WebInspector.LogContentView.prototype.consoleCleared):
- (WebInspector.LogContentView.prototype.didAppendConsoleMessage):
- (WebInspector.LogContentView.prototype._messagesClicked):
- * UserInterface/Main.html:
- 2012-03-11 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10319586> Implement the Quick Console for the new Web Inspector design
- Remove unused OpenSource code from LogContentView.
- Also simplify keyboard shortcut registrations.
- Reviewed by Timothy Hatcher.
- * UserInterface/ConsoleCommandResult.js:
- (WebInspector.ConsoleCommandResult):
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView):
- (WebInspector.LogContentView.prototype._appendCommand.printResult):
- (WebInspector.LogContentView.prototype._appendCommand):
- 2012-03-11 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10319586> Implement the Quick Console for the new Web Inspector design
- Add OpenSource's ConsoleView copyright headers to JSTextPrompt, ConsoleGroup, and Command files.
- Add OpenSource's ConsoleMessage* copyright headers to ConsoleMessage* files.
- Reviewed by Timothy Hatcher.
- * UserInterface/ConsoleCommand.js:
- * UserInterface/ConsoleCommandResult.js:
- * UserInterface/ConsoleGroup.js:
- * UserInterface/ConsoleMessage.js:
- * UserInterface/ConsoleMessageImpl.js:
- * UserInterface/JavaScriptTextPrompt.js:
- 2012-03-11 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10319586> Implement the Quick Console for the new Web Inspector design
- Split ConsoleGroup, ConsoleCommand, and ConsoleCommandResult into
- separate files and do a tiny bit of cleanup to match the Safari
- frontend style.
- Reviewed by Timothy Hatcher.
- * UserInterface/ConsoleCommand.js: Added.
- (WebInspector.ConsoleCommand):
- (WebInspector.ConsoleCommand.prototype.constructor.WebInspector.ConsoleCommand.clearHighlight):
- (WebInspector.ConsoleCommand.prototype.highlightSearchResults):
- (WebInspector.ConsoleCommand.prototype.matchesRegex):
- (WebInspector.ConsoleCommand.prototype.toMessageElement):
- (WebInspector.ConsoleCommand.prototype._formatCommand):
- * UserInterface/ConsoleCommandResult.js: Added.
- (WebInspector.ConsoleCommandResult):
- (WebInspector.ConsoleCommandResult.prototype.constructor.WebInspector.ConsoleCommandResult.toMessageElement):
- * UserInterface/ConsoleGroup.js: Added.
- (WebInspector.ConsoleGroup):
- (WebInspector.ConsoleGroup.prototype.constructor.WebInspector.ConsoleGroup.addMessage):
- (WebInspector.ConsoleGroup.prototype._titleClicked):
- * UserInterface/ConsoleMessage.js:
- (WebInspector.ConsoleMessage.create):
- * UserInterface/LogContentView.js:
- * UserInterface/Main.html:
- 2012-03-11 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10319586> Implement the Quick Console for the new Web Inspector design
- Extract the JavaScript TextPrompt details into a new class,
- JavaScriptTextPrompt, which is a TextPrompt with JavaScript
- completion logic.
- Reviewed by Timothy Hatcher.
- * UserInterface/JavaScriptTextPrompt.js: Added.
- (WebInspector.JavaScriptTextPrompt):
- (WebInspector.JavaScriptTextPrompt.prototype.constructor.WebInspector.JavaScriptTextPrompt.get promptElement):
- (WebInspector.JavaScriptTextPrompt.prototype.completions):
- (WebInspector.JavaScriptTextPrompt.prototype._completions.evaluated.getCompletions):
- (WebInspector.JavaScriptTextPrompt.prototype._completions.evaluated):
- (WebInspector.JavaScriptTextPrompt.prototype._completions.receivedPropertyNamesFromEval):
- (WebInspector.JavaScriptTextPrompt.prototype._completions.receivedPropertyNames):
- (WebInspector.JavaScriptTextPrompt.prototype._completions):
- (WebInspector.JavaScriptTextPrompt.prototype._reportCompletions):
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView):
- (WebInspector.LogContentView.prototype.disable):
- (WebInspector.LogContentView.prototype.shown):
- (WebInspector.LogContentView.prototype._scheduleScrollIntoView.scrollIntoView):
- (WebInspector.LogContentView.prototype._scheduleScrollIntoView):
- (WebInspector.LogContentView.prototype._immediatelyScrollIntoView):
- * UserInterface/Main.html:
- 2012-03-10 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/11025039> Console error when right clicking in Console: missing WebInspector.populateHrefContextMenu
- Remove unnecessary or unsupported Console contextmenu options that
- came from OpenSource.
- Reviewed by Timothy Hatcher.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype._handleContextMenuEvent):
- * Localizations/en.lproj/localizedStrings.js:
- 2012-03-11 Timothy Hatcher <timothy@apple.com>
- Don't highlight non-enumerable properties at the top level for Local, Closure, and Catch scopes.
- Those scopes are synthesized scope objects, unlike Global and With scopes.
- Part of: <rdar://problem/10318770>
- Reviewed by Brian Weinstein.
- * UserInterface/ObjectPropertiesSection.js:
- (WebInspector.ObjectPropertyTreeElement.prototype.update): Check for dontHighlightNonEnumerablePropertiesAtTopLevel.
- * UserInterface/ScopeChainDetailsSidebarPanel.js:
- (WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh): Set dontHighlightNonEnumerablePropertiesAtTopLevel
- for the Local, Closure, and Catch scopes.
- 2012-03-11 Timothy Hatcher <timothy@apple.com>
- Select and show the Scope Chain details sidebar panel when paused.
- Part of: <rdar://problem/10318770>
- Reviewed by Brian Weinstein.
- * UserInterface/Main.js:
- (WebInspector._debuggerDidPause): Set a flag to show it when available.
- (WebInspector._contentBrowserRepresentedObjectsDidChange): Check for the flag and show the panel.
- 2012-03-11 Timothy Hatcher <timothy@apple.com>
- Populate the Scope Chain details sidebar panel.
- Part of: <rdar://problem/10318770>
- Reviewed by Brian Weinstein.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/Main.html: Included ScopeVariableTreeElement.js.
- * UserInterface/ScopeChainDetailsSidebarPanel.js:
- (WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh): Build ObjectPropertiesSections and DetailsSections
- for each ScopeChainNode in the scope chain.
- (WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh.delayedWork): Added. Append the DetailsSections.
- * UserInterface/ScopeVariableTreeElement.js: Copied from OpenSource/Source/WebCore/inspector/front-end/ScopeChainSidebarPane.js.
- Some code style clean up and modifications to how _expandedProperties and the _propertyIdentifier prefix are accessed.
- 2012-03-11 Timothy Hatcher <timothy@apple.com>
- Clean up the styles for properties sections and support creation without the header element.
- This is needed for the Scope Chain sidebar panel.
- Reviewed by Brian Weinstein.
- * UserInterface/CSSStyleDetailsSidebarPanel.css:
- (.sidebar > .panel.details.css-style .styles-section): Removed padding and background properties.
- (.sidebar > .panel.details.css-style .styles-section .header): Removed background properties.
- (.sidebar > .panel.details.css-style .styles-section.no-header .properties): Added. Reset padding.
- * UserInterface/ComputedStylePropertiesSection.js:
- (WebInspector.ComputedStylePropertiesSection): Call the PropertiesSection constructor after
- some initial setup since Section will now call expand() when there is no header.
- * UserInterface/DOMTreeOutline.js:
- (WebInspector.DOMTreeOutline): Use the syntax-highlighted class name constant.
- * UserInterface/DetailsSection.css:
- (.details-section > .content > .group > .row.properties): Added. Specify padding.
- * UserInterface/DetailsSectionPropertiesRow.js:
- (WebInspector.DetailsSectionPropertiesRow): Add the syntax-highlighted class name.
- * UserInterface/PropertiesSection.js:
- (WebInspector.PropertiesSection): Call the Section constructor after some initial setup since
- Section will now call expand() when there is no header.
- * UserInterface/Section.css:
- (.section.expanded.no-header .properties): Added. Reset padding-left.
- * UserInterface/Section.js:
- (WebInspector.Section): Don't create the header element if there if title and subtitle are not
- strings or Nodes.
- * UserInterface/StylePropertiesSection.js:
- (WebInspector.StylePropertiesSection): Removed syntax-highlighted class name since it is added
- by DetailsSectionPropertiesRow now.
- * UserInterface/SyntaxHighlightingDefaultTheme.css: Removed background-color so this does not cause
- sidebar to be white.
- * UserInterface/SyntaxHighlightingSupport.js: Added syntax-highlighted class name constant.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor): Use constant from SyntaxHighlightingSupport.js.
- 2012-03-10 Timothy Hatcher <timothy@apple.com>
- Add the start of the Scope Chain details sidebar panel which will show all the variables
- available when paused in the debugger.
- Part of: <rdar://problem/10318770>
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/Images/NavigationItemVariable.pdf: Added.
- * UserInterface/Main.html: Included ScopeChainDetailsSidebarPanel.js.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Create a ScopeChainDetailsSidebarPanel and include it.
- * UserInterface/ScopeChainDetailsSidebarPanel.js: Added.
- (WebInspector.ScopeChainDetailsSidebarPanel):
- (WebInspector.ScopeChainDetailsSidebarPanel.prototype.inspect): Look for CallFrame objects.
- (WebInspector.ScopeChainDetailsSidebarPanel.prototype.get callFrame):
- (WebInspector.ScopeChainDetailsSidebarPanel.prototype.set callFrame):
- (WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh): Needs implemented.
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView.prototype.get supplementalRepresentedObjects): Include _callFrame.
- (WebInspector.TextResourceContentView.prototype._updateExecutionLineNumber): Store the activeCallFrame when
- it applies to this resource to we can return it in supplementalRepresentedObjects.
- 2012-03-10 Timothy Hatcher <timothy@apple.com>
- Add support to ContentView for supplemental represented objects.
- Supplemental represented objects can be used to provide more matching choices to the details
- sidebar panels for things that are are not represented as path components in the navigation bar.
- This support will be used to supply the call frame that is active in a TextResourceContentView,
- for the purposes of showing a details sidebar panel with scope chain information.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ClusterContentView.js:
- (WebInspector.ClusterContentView): Listen for the SupplementalRepresentedObjectsDidChange event.
- (WebInspector.ClusterContentView.prototype.get supplementalRepresentedObjects): Added. Pass through
- the current content view's supplementalRepresentedObjects.
- (WebInspector.ClusterContentView.prototype._contentViewSupplementalRepresentedObjectsDidChange): Added.
- Fire the SupplementalRepresentedObjectsDidChange on behalf of the current content view.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser): Listen for the SupplementalRepresentedObjectsDidChange event.
- (WebInspector.ContentBrowser.prototype.get currentRepresentedObjects): Include the current content view's
- supplementalRepresentedObjects if they are not null and not empty.
- (WebInspector.ContentBrowser.prototype._contentViewSupplementalRepresentedObjectsDidChange): Added.
- Dispatch the CurrentRepresentedObjectsDidChange event soon.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView.prototype.get supplementalRepresentedObjects): Added stub.
- 2012-03-10 Timothy Hatcher <timothy@apple.com>
- Include scope variables when doing autocompletion in the console.
- Part of: <rdar://problem/10318770>
- Reviewed by Joseph Pecoraro.
- * UserInterface/CallFrame.js:
- (WebInspector.CallFrame.prototype.collectScopeChainVariableNames): Added. Walk the scope chain and
- request all the properties for each scope node object.
- (WebInspector.CallFrame.prototype.collectScopeChainVariableNames.propertiesCollected): Added. Add the property
- names to the result and call the callback when pendingRequests is 0.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype._completions): Use CallFrame.collectScopeChainVariableNames.
- 2012-03-10 Timothy Hatcher <timothy@apple.com>
- Support evaluating against the local scope when paused in the debugger.
- Part of: <rdar://problem/10318770>
- Reviewed by Brian Weinstein.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype.evalInInspectedWindow): Use DebuggerAgent.evaluateOnCallFrame
- when there is an active call frame.
- 2012-03-10 Timothy Hatcher <timothy@apple.com>
- Move the flashing prevention code from DebugSidebarPanel to DebuggerManager.
- Part of: <rdar://problem/10318770>
- Reviewed by Brian Weinstein.
- * UserInterface/DebugSidebarPanel.js:
- (WebInspector.DebugSidebarPanel): Listen for the new CallFramesDidChange event instead of
- the Paused and Resumed events.
- (WebInspector.DebugSidebarPanel.prototype._showNotPausedEmptyContentPlaceholder): Added.
- (WebInspector.DebugSidebarPanel.prototype._updateEmptyContentPlaceholder): Updated the message.
- (WebInspector.DebugSidebarPanel.prototype._debuggerCallFramesDidChange): Check for null callFrames
- and call _showNotPausedEmptyContentPlaceholder.
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager.prototype.debuggerDidPause): Remove assert, since we might be paused still.
- Clear the delayed resume timeout.
- (WebInspector.DebuggerManager.prototype.debuggerDidResume): Delay clearing the state and firing events.
- 2012-03-10 Timothy Hatcher <timothy@apple.com>
- Add debugger controls for pause, resume, step over, step in, and step out.
- Part of: <rdar://problem/10318770>
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/Images/Pause.pdf: Added.
- * UserInterface/Images/Resume.pdf: Added.
- * UserInterface/Images/StepInto.pdf: Added.
- * UserInterface/Images/StepOut.pdf: Added.
- * UserInterface/Images/StepOver.pdf: Added.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole): Create the button items.
- (WebInspector.QuickConsole.prototype._debuggerPauseResumeButtonClicked): Added.
- (WebInspector.QuickConsole.prototype._debuggerStepOverButtonClicked): Added.
- (WebInspector.QuickConsole.prototype._debuggerStepIntoButtonClicked): Added.
- (WebInspector.QuickConsole.prototype._debuggerStepOutButtonClicked): Added.
- (WebInspector.QuickConsole.prototype._debuggerDidPause): Added.
- (WebInspector.QuickConsole.prototype._debuggerDidResume): Added.
- 2012-03-10 Timothy Hatcher <timothy@apple.com>
- Use ToggleButtonNavigationItem for the quick console toggle button.
- Also start using the right artwork for the glyph.
- Part of: <rdar://problem/10319586>
- Reviewed by Joseph Pecoraro.
- * UserInterface/Images/ToggleArrowDown.pdf: Added.
- * UserInterface/Images/ToggleArrowUp.pdf: Added.
- * UserInterface/QuickConsole.css: Removed styles to flip the arrow when collapsed.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole): Use ToggleButtonNavigationItem. Add a divider to the left of the button.
- (WebInspector.QuickConsole.prototype.set collapsed): Change the image for the toggle button.
- 2012-03-10 Timothy Hatcher <timothy@apple.com>
- Remove QuickConsoleButtonNavigationItem and merge its functionality down into ButtonNavigationItem.
- Having a special subclass prevent us from using ToggleButtonNavigationItem without adding another
- special QuickConsoleToggleButtonNavigationItem subclass.
- Part of: <rdar://problem/10319586>
- Reviewed by Joseph Pecoraro.
- * UserInterface/ButtonNavigationItem.css:
- (.navigation-bar > .item.suppress-emboss > .glyph):
- (.navigation-bar > .item.suppress-emboss:active > .glyph):
- (.navigation-bar > .item.button.disabled > .glyph):
- * UserInterface/ButtonNavigationItem.js:
- (WebInspector.ButtonNavigationItem): Call _updateImage and the suppress-emboss style class if needed.
- (WebInspector.ButtonNavigationItem.prototype.set image): Call _updateImage.
- (WebInspector.ButtonNavigationItem.prototype.generateStyleText): Generate a background-size for _suppressEmboss.
- (WebInspector.ButtonNavigationItem.prototype._canvasIdentifier): Added assert.
- (WebInspector.ButtonNavigationItem.prototype._updateImage): Added.
- (WebInspector.ButtonNavigationItem.prototype._generateImages): Added assert.
- * UserInterface/Main.html: Removed QuickConsoleButtonNavigationItem.{css,js}.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole): Use ButtonNavigationItem.
- * UserInterface/QuickConsoleButtonNavigationItem.css: Removed.
- * UserInterface/QuickConsoleButtonNavigationItem.js: Removed.
- 2012-03-10 Timothy Hatcher <timothy@apple.com>
- Make line numbers in the Breakpoint sidebar be 1-based. Also fixes a couple asserts that the
- breakpoint lineNumber is 0-based.
- Reviewed by Dan Bernstein.
- * UserInterface/Breakpoint.js:
- (WebInspector.Breakpoint): Fix assert.
- (WebInspector.Breakpoint.prototype.set lineNumber): Ditto.
- * UserInterface/BreakpointTreeElement.js:
- (WebInspector.BreakpointTreeElement.prototype._updateMainTitle): Add 1 to the user visible number.
- 2012-03-10 Timothy Hatcher <timothy@apple.com>
- Select the Debug sidebar panel and show the navigation sidebar when the debugger pauses.
- Part of: <rdar://problem/10318770>
- Reviewed by Dan Bernstein.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Added Paused event listener.
- (WebInspector._debuggerDidPause): Added.
- 2012-03-10 Timothy Hatcher <timothy@apple.com>
- Highlight the current execution line.
- Part of: <rdar://problem/10318770>
- Reviewed by Joseph Pecoraro.
- * UserInterface/DebugSidebarPanel.js:
- (WebInspector.DebugSidebarPanel.prototype._debuggerDidPause): Select the active call frame tree element.
- (WebInspector.DebugSidebarPanel.prototype._treeElementSelected): Set the active call frame.
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager.prototype.get activeCallFrame): Added.
- (WebInspector.DebuggerManager.prototype.set activeCallFrame): Added. Fire ActiveCallFrameDidChange
- (WebInspector.DebuggerManager.prototype.debuggerDidPause): Set _activeCallFrame and fire ActiveCallFrameDidChange.
- (WebInspector.DebuggerManager.prototype.debuggerDidResume): Ditto.
- * UserInterface/Images/InstructionPointer.png: Added.
- * UserInterface/Images/InstructionPointer@2x.png: Added.
- * UserInterface/TextEditor.css:
- (.text-editor > .gutter > .line-number.execution-line::after):
- (.text-editor .text-editor-text-chunk.execution-line):
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor): Initialize _executionLineNumber to NaN.
- (WebInspector.TextEditor.prototype.get executionLineNumber): Added.
- (WebInspector.TextEditor.prototype.set executionLineNumber): Added. Call _updateExecutionLineNumber.
- (WebInspector.TextEditor.prototype.singleLineElementForLine): Handle a null result from _textChunkForLine.
- (WebInspector.TextEditor.prototype._updateExecutionLineNumber): Added. Removes from the old line and adds to the new.
- (WebInspector.TextEditor.prototype._updateLineNumbers): Make lineNumber 0-based instead of 1-based.
- (WebInspector.TextEditor.prototype._addBreakpointElementToLineElementWithInfo): Add 1 for user visible line numbers.
- (WebInspector.TextEditor.prototype._removePossibleBreakpointElementFromLineElement): Ditto.
- (WebInspector.TextEditor.prototype._textChunkForLine): Handle negative numbers and NaN.
- (WebInspector.TextEditor.prototype._breakTextChunkAtIndexIntoSingleLineTextChunks): Assert the textChunk isn't null.
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView):
- (WebInspector.TextResourceContentView.prototype.contentAvailable):
- (WebInspector.TextResourceContentView.prototype._updateExecutionLineNumber):
- 2012-03-09 Timothy Hatcher <timothy@apple.com>
- Populate the Debug sidebar with call frames when the debugger pauses.
- Part of: <rdar://problem/10318770>
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/CallFrameIcons.css: Added.
- (.function-icon .icon):
- (.event-listener-icon .icon):
- * UserInterface/CallFrameTreeElement.js: Added.
- (WebInspector.CallFrameTreeElement):
- (WebInspector.CallFrameTreeElement.prototype.get callFrame):
- * UserInterface/DebugSidebarPanel.js:
- (WebInspector.DebugSidebarPanel):
- (WebInspector.DebugSidebarPanel.prototype._updateEmptyContentPlaceholder): Added.
- (WebInspector.DebugSidebarPanel.prototype._debuggerDidPause): Added. Create CallFrameTreeElements.
- (WebInspector.DebugSidebarPanel.prototype._debuggerDidResume): Added. Set a timeout for delayedWork.
- (WebInspector.DebugSidebarPanel.prototype._debuggerDidResume.delayedWork): Added. Remove the tree elements.
- (WebInspector.DebugSidebarPanel.prototype._treeElementSelected): Added. Show the resource source code.
- * UserInterface/Images/EventListener.pdf: Added.
- * UserInterface/Images/Function.pdf: Added.
- * UserInterface/Main.html: Included CallFrameIcons.css and CallFrameTreeElement.js.
- 2012-03-09 Timothy Hatcher <timothy@apple.com>
- Process the call frames when the debugger pauses and create easy to use objects.
- Part of: <rdar://problem/10318770>
- Reviewed by Brian Weinstein.
- * UserInterface/CallFrame.js: Added.
- (WebInspector.CallFrame):
- (WebInspector.CallFrame.prototype.get id):
- (WebInspector.CallFrame.prototype.get scriptLocation):
- (WebInspector.CallFrame.prototype.get functionName):
- (WebInspector.CallFrame.prototype.get thisObject):
- (WebInspector.CallFrame.prototype.get scopeChain):
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager.prototype.get callFrames): Added.
- (WebInspector.DebuggerManager.prototype.debuggerDidPause): Process the callFramesPayload.
- (WebInspector.DebuggerManager.prototype.debuggerDidResume): Clear the _callFrames.
- (WebInspector.DebuggerManager.prototype._scriptLocationFromPayload): Added. Helper.
- (WebInspector.DebuggerManager.prototype._scopeChainFromPayload): Added. Helper.
- (WebInspector.DebuggerManager.prototype._scopeChainNodeFromPayload): Added. Helper.
- * UserInterface/Main.html: Included CallFrame.js, ScopeChainNode.js, and ScriptLocation.js.
- * UserInterface/ScopeChainNode.js: Added.
- (WebInspector.ScopeChainNode):
- (WebInspector.ScopeChainNode.prototype.get type):
- (WebInspector.ScopeChainNode.prototype.get object):
- * UserInterface/ScriptLocation.js: Added.
- (WebInspector.ScriptLocation):
- (WebInspector.ScriptLocation.prototype.get script):
- (WebInspector.ScriptLocation.prototype.get lineNumber):
- (WebInspector.ScriptLocation.prototype.get columnNumber):
- 2012-03-09 Timothy Hatcher <timothy@apple.com>
- Track the paused state of the debugger and add functions to pause, resume, and step.
- Part of: <rdar://problem/10318770>
- Reviewed by Brian Weinstein.
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager.prototype.get paused): Added.
- (WebInspector.DebuggerManager.prototype.pause): Added.
- (WebInspector.DebuggerManager.prototype.resume): Added.
- (WebInspector.DebuggerManager.prototype.stepOver): Added.
- (WebInspector.DebuggerManager.prototype.stepInto): Added.
- (WebInspector.DebuggerManager.prototype.reset): Reset _paused and fire the Resumed event.
- (WebInspector.DebuggerManager.prototype.debuggerDidPause): Set _paused and fire the Paused event.
- (WebInspector.DebuggerManager.prototype.debuggerDidResume): Set _paused and fire the Resumed event.
- * UserInterface/DebuggerObserver.js:
- (WebInspector.DebuggerObserver.prototype.paused): Call DebuggerManager.debuggerDidPause.
- (WebInspector.DebuggerObserver.prototype.resumed): Call DebuggerManager.debuggerDidResume.
- 2012-03-09 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.Script and create them when scripts are parsed.
- Part of: <rdar://problem/10318770>
- Reviewed by Brian Weinstein.
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager):
- (WebInspector.DebuggerManager.prototype.reset): Clear the script map.
- (WebInspector.DebuggerManager.prototype.scriptDidParse): Added. Create a Script instance
- and add it to the id map.
- * UserInterface/DebuggerObserver.js:
- (WebInspector.DebuggerObserver.prototype.scriptParsed): Call DebuggerManager.scriptDidParse.
- * UserInterface/Main.html: Included Script.js.
- * UserInterface/Script.js: Added.
- (WebInspector.Script):
- (WebInspector.Script.prototype.get id):
- (WebInspector.Script.prototype.get range):
- (WebInspector.Script.prototype.get url):
- (WebInspector.Script.prototype.get urlComponents):
- 2012-03-09 Timothy Hatcher <timothy@apple.com>
- Add a way to break on all exceptions and uncaught exceptions.
- Part of: <rdar://problem/10318770&10318777>
- Reviewed by Brian Weinstein and Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/BreakpointIcons.css:
- (.breakpoint-exception-icon .icon): Added.
- * UserInterface/BreakpointSidebarPanel.js:
- (WebInspector.BreakpointSidebarPanel): Create BreakpointTreeElements for the two exception breakpoints.
- * UserInterface/BreakpointTreeElement.js:
- (WebInspector.BreakpointTreeElement): Add support for a custom style class and title.
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager): Create an all exceptions and and all uncaught exceptions breakpoint.
- (WebInspector.DebuggerManager.prototype.get allExceptionsBreakpoint): Added.
- (WebInspector.DebuggerManager.prototype.get allUncaughtExceptionsBreakpoint): Added.
- (WebInspector.DebuggerManager.prototype.breakpointResolved): Remove an overzealous assert.
- (WebInspector.DebuggerManager.prototype._breakpointDisabledStateDidChange): Intercept the exception breakpoints
- and call _updateBreakOnExceptionsState after updating the settings.
- (WebInspector.DebuggerManager.prototype._updateBreakOnExceptionsState): Added. Communicate the state to the
- backend and update resolved state.
- 2012-03-10 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10319586> Implement the Quick Console for the new Web Inspector design
- Allow resizing of the quick console. The quick console behaves like
- sidebars. It toggles collapsed state when double clicked, and opens
- or closes when resizing. The allowed maximum height is 75% of the
- screen. When the window is resized smaller, we may need to shorten
- the console to be within the 75%.
- Remember the height before we collapsed so that if you toggle
- immediately it will restore the height to what it was.
- Reviewed by Timothy Hatcher.
- * UserInterface/Main.js:
- (WebInspector._contentBrowserSizeDidChange):
- * UserInterface/QuickConsole.css:
- (.quick-console):
- (.quick-console > .resizer):
- Position the quick-console resizer like a sidebar resizer. 5px
- wide, with a couple pixels above and below the border.
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole):
- (WebInspector.QuickConsole.prototype.get collapsedHeight):
- (WebInspector.QuickConsole.prototype.get minimumUncollapsedHeight):
- (WebInspector.QuickConsole.prototype.get maximumUncollapsedHeight):
- (WebInspector.QuickConsole.prototype.updateLayout):
- (WebInspector.QuickConsole.prototype.get height):
- (WebInspector.QuickConsole.prototype.set height):
- (WebInspector.QuickConsole.prototype._toggleButtonClicked):
- (WebInspector.QuickConsole.prototype._resizerDoubleClicked):
- (WebInspector.QuickConsole.prototype._resizerMouseDown):
- (WebInspector.QuickConsole.prototype._resizerMouseMoved):
- (WebInspector.QuickConsole.prototype._resizerMouseUp):
- 2012-03-09 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10319586> Implement the Quick Console for the new Web Inspector design
- Pull the console out of ContentBrowser and instead just put it underneath.
- Reviewed by Timothy Hatcher.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser):
- * UserInterface/Main.css:
- (#content):
- * UserInterface/Main.html:
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- * UserInterface/QuickConsole.css:
- (#quick-console):
- (#quick-console.collapsed):
- (#quick-console .navigation-bar > .console-toggle):
- (#quick-console.collapsed .navigation-bar > .console-toggle):
- (#quick-console > .quick-console-view-container):
- (#quick-console > .quick-console-toolbar):
- (#quick-console > .quick-console-toolbar > .quick-console-text-prompt):
- (#quick-console > .quick-console-toolbar > .navigation-bar):
- 2012-03-09 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10319586> Implement the Quick Console for the new Web Inspector design
- Add a toggle button to the quick console's navigation bar.
- Reviewed by Timothy Hatcher.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/Main.html:
- Misc changes.
- * UserInterface/ButtonNavigationItem.js:
- (WebInspector.ButtonNavigationItem):
- (WebInspector.ButtonNavigationItem.prototype.get glyphElement):
- Expose glyphElement for QuickConsole buttons to use.
- Add a way to suppress creating embossed images.
- * UserInterface/QuickConsoleButtonNavigationItem.css: Added.
- (.navigation-bar > .item.quick-console-button):
- (.navigation-bar > .item.quick-console-button:active):
- * UserInterface/QuickConsoleButtonNavigationItem.js: Added.
- (WebInspector.QuickConsoleButtonNavigationItem):
- (WebInspector.QuickConsoleButtonNavigationItem.prototype.generateStyleText):
- The QuickConsole buttons are just styled with different opacities. We
- can remove most of the custom NavigationItem styles and set the glyph
- image directly.
- * UserInterface/QuickConsole.css:
- (.quick-console .navigation-bar > .console-toggle):
- (.quick-console.collapsed .navigation-bar > .console-toggle):
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole):
- (WebInspector.QuickConsole.prototype.get collapsed):
- (WebInspector.QuickConsole.prototype.set collapsed):
- (WebInspector.QuickConsole.prototype._toggleButtonClicked):
- Give the console a toggle button.
- 2012-03-09 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10319586> Implement the Quick Console for the new Web Inspector design
- View hierarchy for the quick console:
- <div class="quick-console">
- <!--
- Content view container. When the console adjusts its height this becomes
- visible. This flex fills the vertical space.
- -->
- <div class="view-container"></div>
- <!--
- Toolbar fixed to the bottom. TextPrompt and NavigationBar with buttons.
- Fixed height, position:relative to appear on top, and the text-prompt
- flex fills horizontally.
- -->
- <div class="toolbar">
- <div class="text-prompt" contenteditable="true"></div>
- <div class="navigation-bar"></div>
- </div>
- </div>
- Reviewed by Timothy Hatcher.
- * UserInterface/Main.html:
- * UserInterface/QuickConsole.css:
- (.quick-console):
- (.quick-console.collapsed):
- (.quick-console > .view-container):
- (.quick-console > .toolbar):
- (.quick-console > .toolbar > .text-prompt):
- (.quick-console > .toolbar > .navigation-bar):
- * UserInterface/QuickConsole.js:
- (WebInspector.QuickConsole):
- (WebInspector.QuickConsole.get element):
- * UserInterface/QuickConsoleNavigationBar.js: Added.
- (WebInspector.QuickConsoleNavigationBar):
- (WebInspector.QuickConsoleNavigationBar.prototype.addNavigationItem):
- Add navigation items on the left. Since we will always want the toggle button on the right.
- 2012-03-09 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10319586> Implement the Quick Console for the new Web Inspector design
- Add the QuickConsole to the bottom of the ContentBrowser.
- Reviewed by Timothy Hatcher.
-
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser):
- * UserInterface/Main.html:
- * UserInterface/QuickConsole.css: Added.
- (.quick-console):
- (body.window-inactive .navigation-bar):
- * UserInterface/QuickConsole.js: Added.
- (WebInspector.QuickConsole):
- (WebInspector.QuickConsole.prototype.get element):
- 2012-03-09 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/11017753> Sometimes Load event-marker doesn't show up (99%)
- When an event-marker is very close to, but not, the new maximum boundary
- the maximum boundary wasn't being extended to allow for a nice display of
- the event-marker. Now, if the event-marker is within 3% of the maximum
- boundary, then just extend the maximum boundary by 3%.
- Reviewed by Timothy Hatcher.
- * UserInterface/NetworkGraphCalculator.js:
- (WebInspector.NetworkTimeCalculator.prototype.updateBoundariesForEventMarker):
- 2012-03-08 Timothy Hatcher <timothy@apple.com>
- Follow up to my previous fix for reloading the page sometimes removes the main resource from breakpoints.
- Not all breakpoints pass in the resource to _addBreakpoint. If resource was undefined it would cause
- a new ResourceTreeElement to be created for each breakpoint.
- Reviewed by Joseph Pecoraro.
- * UserInterface/BreakpointSidebarPanel.js:
- (WebInspector.BreakpointSidebarPanel.prototype._addBreakpoint): Lookup the resource first,
- so it can always be compared to the ResourceTreeElement's resource.
- 2012-03-08 Joseph Pecoraro <pecoraro@apple.com>
- Follow-up patch to clean up DOMTreeManager events data.
- Always pass the node as "node" and parentNode as "parent". There was
- one case looking for parentNode that was totally wrong.
- Reviewed by Timothy Hatcher.
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView.prototype._domNodeChanged):
- * UserInterface/DOMTreeManager.js:
- (WebInspector.DOMTreeManager.prototype._characterDataModified):
- (WebInspector.DOMTreeManager.prototype._childNodeInserted):
- * UserInterface/DOMTreeUpdater.js:
- (WebInspector.DOMTreeUpdater.prototype._characterDataModified):
- (WebInspector.DOMTreeUpdater.prototype._nodeInserted):
- 2012-03-08 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/11005082> Editing node attribute should or HTML should update Path Components
- Update path components when the selected node has an attribute
- or character data change.
- Reviewed by Timothy Hatcher.
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView):
- (WebInspector.DOMTreeContentView.prototype._domNodeChanged):
- In the attribute events the changed node is event.data.node.
- In the character data event the changed node is event.data.
- 2012-03-08 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/11014611> Inline Web SQL Database DataGrid resizers are not updated if inspector window resized
- When the window resizes, the ContentView gets an updateLayout. Use this
- opportunity to update the layout of any inline DataGrids so that their
- resizers are positioned correctly.
- Reviewed by Timothy Hatcher.
- * UserInterface/DatabaseContentView.js:
- (WebInspector.DatabaseContentView.prototype.constructor.WebInspector.DatabaseContentView.updateLayout):
- (WebInspector.DatabaseContentView.prototype._appendViewQueryResult):
- 2012-03-08 Joseph Pecoraro <pecoraro@apple.com>
- Remove uses of WebInspector.useLowerCaseMenuTitles. On the Safari frontend
- this is always yes and the function doesn't even exist. This code is currently
- unreachable, the change is to fix update-safari-localizable-strings usage.
- Reviewed by Brian Weinstein.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/LogContentView.js:
- 2012-03-08 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10960903> Include Network timeline graph in the network data grid
- Tweak the event-markers so they are always behind the network datagrid's
- timeline pills. This is done by making three layers: event-marker (bottom),
- timeline pills (middle), and tooltip div (top).
- Reviewed by Timothy Hatcher.
- * UserInterface/NetworkDataGrid.css:
- (.network-timeline-decorations > .event-markers > .event-marker):
- (.network-datagrid tr > td.timeline-column):
- (.network-timeline-decorations > .event-markers > .event-marker-tooltip):
- Style the three layers, z-indexes.
- * UserInterface/TimelinesContentView.css:
- Remove old z-index.
- * UserInterface/NetworkDataGrid.js:
- (WebInspector.NetworkDataGrid):
- Rename the constants to use the standard "StyleClassName" suffix and
- give the DataGrid a class name.
- * UserInterface/TimelineDecorations.css:
- (.timeline-decorations > .event-markers > .event-marker-tooltip):
- (.timeline-decorations > .event-markers > .event-marker):
- (.timeline-decorations > .event-markers > .event-marker.load-event):
- (.timeline-decorations > .event-markers > .event-marker.dom-content-event):
- (.timeline-decorations > .event-markers > .event-marker.timestamp):
- Drop the "wrapper" element. The event-marker now displays the same as the tooltip div.
- * UserInterface/TimelineDecorations.js:
- (WebInspector.TimelineDecorations.prototype.updateEventMarkers):
- Rename "wrapper" -> "tooltip" and position the tooltip and marker the same.
- 2012-03-08 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10960903> Include Network timeline graph in the network data grid
- Remember if the Network DataGrid column group was collapsed or expanded.
- Reviewed by Timothy Hatcher.
- * UserInterface/DataGrid.js:
- (WebInspector.DataGrid.prototype._clickInColumnCollapser):
- (WebInspector.DataGrid.prototype.collapseColumnGroup):
- (WebInspector.DataGrid.prototype._collapseColumnGroupWithCell):
- Add collapseColumnGroup(name) API to DataGrid and share the
- code with the old path, when the user clicks the button.
- * UserInterface/NetworkDataGrid.js:
- (WebInspector.NetworkDataGrid):
- (WebInspector.NetworkDataGrid.prototype.didToggleColumnGroup):
- On creation load the setting, and save the setting on toggle.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView):
- Give all columns a starting width (based on the auto-calculated widths).
- 2012-03-08 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/11014578> DOM Storage DataGrids should be sortable
- Allow sorting of both of the DOM Storage DataGrid columns.
- Before sorting nodes, make sure to delete the creation node
- and re-add it in the end.
- Reviewed by Timothy Hatcher.
- * UserInterface/DOMStorageContentView.js:
- (WebInspector.DOMStorageContentView.prototype._updateDataGridForDOMStorageEntries):
- (WebInspector.DOMStorageContentView.prototype._sortDataGrid):
- (WebInspector.DOMStorageContentView.prototype._insertNodesIntoDataGridWithSort.comparator):
- (WebInspector.DOMStorageContentView.prototype._insertNodesIntoDataGridWithSort):
- Share sort code with table creation and sort changed.
- * UserInterface/DataGrid.js:
- (WebInspector.DataGrid.prototype.removeChild):
- When the creation node is removed, delete the reference to it.
- 2012-03-08 Joseph Pecoraro <pecoraro@apple.com>
- Rename DataGrid methods and events.
- DataGrid.prototype.updateWidths -> updateLayout
- "sorting changed" event -> WebInspector.DataGrid.Event.SortChanged
- "width changed" event -> WebInspector.DataGrid.Event.DidLayout
- This then also renames the NetworkDataGrid event handlers
- and moves the sorting dispatch function into its only caller.
- Reviewed by Brian Weinstein.
- * UserInterface/ApplicationCacheFrameContentView.js:
- (WebInspector.ApplicationCacheFrameContentView.prototype.updateLayout):
- (WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid):
- * UserInterface/CSSSelectorProfileView.js:
- (WebInspector.CSSSelectorProfileView):
- (WebInspector.CSSSelectorProfileView.prototype.updateLayout):
- * UserInterface/CookieStorageContentView.js:
- (WebInspector.CookieStorageContentView.prototype.updateLayout):
- (WebInspector.CookieStorageContentView.prototype._rebuildTable):
- * UserInterface/DOMStorageContentView.js:
- (WebInspector.DOMStorageContentView.prototype.updateLayout):
- (WebInspector.DOMStorageContentView.prototype._showDOMStorageEntries):
- * UserInterface/DataGrid.js:
- (WebInspector.DataGrid.prototype.autoSizeColumns):
- (WebInspector.DataGrid.prototype.updateLayout):
- (WebInspector.DataGrid.prototype.applyColumnWidthsMap):
- (WebInspector.DataGrid.prototype._clickInHeaderCell):
- (WebInspector.DataGrid.prototype._resizerDragging):
- (WebInspector.DataGrid.prototype._endResizerDragging):
- * UserInterface/DatabaseTableContentView.js:
- (WebInspector.DatabaseTableContentView.prototype.updateLayout):
- (WebInspector.DatabaseTableContentView.prototype._queryFinished):
- * UserInterface/JavaScriptProfileView.js:
- (WebInspector.JavaScriptProfileView.prototype.updateLayout):
- * UserInterface/NetworkDataGrid.js:
- (WebInspector.NetworkDataGrid):
- (WebInspector.NetworkDataGrid.prototype._dataGridSortChanged):
- (WebInspector.NetworkDataGrid.prototype._dataGridDidLayout):
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView):
- (WebInspector.TimelinesContentView.prototype.constructor.WebInspector.TimelinesContentView.showTimelineForRecordType):
- (WebInspector.TimelinesContentView.prototype.updateLayout):
- 2012-03-08 Joseph Pecoraro <pecoraro@apple.com>
- Relayout the selected node when widths change. This is only needed for
- the selected node because currently it is the only node that can be
- displaying labels when the data grid's columns widths change.
- Reviewed by Brian Weinstein.
- * UserInterface/DataGrid.js:
- (WebInspector.DataGridNode.prototype.updateLayout):
- * UserInterface/NetworkDataGrid.js:
- (WebInspector.NetworkDataGrid):
- (WebInspector.NetworkDataGrid.prototype._updateLayout):
- * UserInterface/ResourceTimelineDataGridNode.js:
- (WebInspector.ResourceTimelineDataGridNode.prototype.updateLayout):
- 2012-03-08 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10960903> Include Network timeline graph in the network data grid
- Draw the event markers over the Network datagrid.
- Reviewed by Timothy Hatcher.
- * Localizations/en.lproj/localizedStrings.js:
- Tooltip strings for the event-marker lines.
- * UserInterface/NetworkDataGrid.js:
- (WebInspector.NetworkDataGrid.prototype.updateCalculatorBoundariesWithEventMarker):
- (WebInspector.NetworkDataGrid.prototype._updateDecorations):
- (WebInspector.NetworkDataGrid.prototype._updateEventMarkers):
- Let the calculator handle updating the bounds and the decorator drawing the markers.
- * UserInterface/NetworkGraphCalculator.js:
- (WebInspector.NetworkTimeCalculator.prototype.updateBoundariesForEventMarker):
- When updating boundaries for event markers its possible that event markers will
- arrive later then resources (onload or console.timeStamp() for example). If such
- an event is more than 10% past the current bounds we don't stretch the bounds
- because it would distort the graph too much. Likewise, if a timestamp will become
- the new maximum extend an extra 3% to provide some white-space past the marker.
- * UserInterface/TimelineDecorations.css:
- (.timeline-decorations > .event-markers):
- (.timeline-decorations > .event-markers > .event-marker-wrapper):
- This wrapper provides a larger surface area for the tooltip. 9px total (4px + 1px + 4px).
- (.timeline-decorations > .event-markers > .event-marker-wrapper > .event-marker):
- (.timeline-decorations > .event-markers > .event-marker-wrapper > .event-marker.load-event):
- (.timeline-decorations > .event-markers > .event-marker-wrapper > .event-marker.dom-content-event):
- (.timeline-decorations > .event-markers > .event-marker-wrapper > .event-marker.timestamp):
- Different colors for the different types of event-markers.
- * UserInterface/TimelinesContentView.css:
- (.content-view.timelines > .data-grid tr.selected td.timeline-column):
- Make sure the selected timeline datagrid row draws over the event-marker.
- * UserInterface/TimelineDecorations.js:
- (WebInspector.TimelineDecorations):
- (WebInspector.TimelineDecorations.prototype.updateEventMarkers.toolTipForEventMarker):
- (WebInspector.TimelineDecorations.prototype.updateEventMarkers):
- Position and style the event markers within the bounds.
- 2012-03-08 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10960903> Include Network timeline graph in the network data grid
- Add TimelineEventMarkers to the Network's TimelineDecorations. They are
- not displayed yet, and the TimelineOverview won't show markers yet.
- Reviewed by Timothy Hatcher.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView):
- (WebInspector.TimelinesContentView.prototype._recordedEventMarker):
- Pass incoming event markers to the current datagrid. Only the network data grid uses them.
- (WebInspector.TimelinesContentView.prototype._updatePendingRecords):
- (WebInspector.TimelinesContentView.prototype._updateCalculatorBoundsForPendingRecordsAndEventMarkers):
- When updating the bounds of the timeline graph also provide pending event markers
- so that late events (like onload) can stretch the maximum bounds if necessary.
- * UserInterface/TimelineDataGrid.js:
- (WebInspector.TimelineDataGrid.prototype.updateCalculatorBoundariesWithEventMarker):
- (WebInspector.TimelineDataGrid.prototype.addTimelineEventMarker):
- Default empty implementations for DataGrids to handle event markers.
- * UserInterface/NetworkDataGrid.js:
- (WebInspector.NetworkDataGrid.prototype.reset):
- (WebInspector.NetworkDataGrid.prototype.addTimelineEventMarker):
- Pass event markers on to the decorations manager. We also need a way to reset now.
- * UserInterface/TimelineDecorations.js:
- (WebInspector.TimelineDecorations):
- (WebInspector.TimelineDecorations.prototype.addTimelineEventMarker):
- Keep track of event makers we may need to display.
- * UserInterface/TimelineOverview.js:
- (WebInspector.TimelineOverview.prototype.clear):
- Add clear, just in case it is needed later. The overview currently doesn't handle event markers.
- 2012-03-08 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10960903> Include Network timeline graph in the network data grid
- Add a TimelineEventMarker class for marked timestamps. Current
- event markers that we are interested in are the DOMContent event,
- Load event, and console.timeStamp() calls.
- Reviewed by Timothy Hatcher.
- * UserInterface/Main.html:
- * UserInterface/PageObserver.js:
- (WebInspector.PageObserver.domContentEventFired):
- (WebInspector.PageObserver.prototype.loadEventFired):
- Point out that these are not needed, they are covered by TimelineAgent
- in the Safari frontend.
- * UserInterface/TimelineEventMarker.js: Added.
- (WebInspector.TimelineEventMarker):
- (WebInspector.TimelineEventMarker.prototype.constructor.WebInspector.TimelineEventMarker.get timestamp):
- (WebInspector.TimelineEventMarker.prototype.get type):
- Simple class encapsulating a timestamp and type.
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager):
- (WebInspector.TimelineManager.prototype.get timelineEventMarkers):
- (WebInspector.TimelineManager.prototype.startRecording):
- (WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
- (WebInspector.TimelineManager.prototype.eventRecorded):
- Keep a record of event markers.
- 2012-03-08 Joseph Pecoraro <pecoraro@apple.com>
- When hiding the dock button also hide the divider between the dock
- button and the sidebar's other navigation items.
- Reviewed by Timothy Hatcher.
- * UserInterface/ButtonNavigationItem.js:
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- (WebInspector._updateDockToggleButtonVisibility):
- * UserInterface/NavigationItem.js:
- (WebInspector.NavigationItem.prototype.get hidden):
- (WebInspector.NavigationItem.prototype.set hidden):
- 2012-03-08 Timothy Hatcher <timothy@apple.com>
- Reloading the page sometimes removes the main resource from breakpoints.
- The _checkForOldResources function is delayed on the timeout. This caused the
- breakpoints to be appended to a ResourceTreeElement that will soon be removed.
- Reviewed by Brian Weinstein.
- * UserInterface/BreakpointSidebarPanel.js:
- (WebInspector.BreakpointSidebarPanel.prototype._addBreakpoint): Create a new ResourceTreeElement
- if the resource is different from the previous ResourceTreeElement.
- * UserInterface/IssueSidebarPanel.js:
- (WebInspector.IssueSidebarPanel.prototype._issueWasAdded): Ditto.
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel.prototype._treeElementForResource): Ditto.
- 2012-03-08 Timothy Hatcher <timothy@apple.com>
- Communicate breakpoints to the backend and update the resolved state of the breakpoints.
- Part of: <rdar://problem/10318770&10318777>
- Reviewed by Brian Weinstein.
- * UserInterface/Breakpoint.js:
- (WebInspector.Breakpoint): Initialize _id to null.
- (WebInspector.Breakpoint.prototype.get id): Added.
- (WebInspector.Breakpoint.prototype.set id): Added.
- (WebInspector.Breakpoint.prototype.set lineNumber): Report oldLineNumber in the event.
- (WebInspector.Breakpoint.prototype.get info): Updated comment.
- * UserInterface/BreakpointSidebarPanel.js:
- (WebInspector.BreakpointSidebarPanel.prototype._addBreakpoint): Mark disabled breakpoints as resolved
- when they are added to the user interface.
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager):
- (WebInspector.DebuggerManager.prototype.addBreakpoint): Call _setBreakpoint.
- (WebInspector.DebuggerManager.prototype.removeBreakpoint): Call _removeBreakpoint.
- (WebInspector.DebuggerManager.prototype.breakpointResolved): Added.
- (WebInspector.DebuggerManager.prototype.reset): Added.
- (WebInspector.DebuggerManager.prototype._setBreakpoint): Added. Talk to the DebuggerAgent.
- (WebInspector.DebuggerManager.prototype._setBreakpoint.didSetBreakpoint):
- (WebInspector.DebuggerManager.prototype._removeBreakpoint): Added. Talk to the DebuggerAgent.
- (WebInspector.DebuggerManager.prototype._removeBreakpoint.didRemoveBreakpoint):
- (WebInspector.DebuggerManager.prototype._breakpointLineNumberDidChange): Added. Call _removeBreakpoint.
- (WebInspector.DebuggerManager.prototype._breakpointLineNumberDidChange.breakpointRemoved): Call _setBreakpoint.
- (WebInspector.DebuggerManager.prototype._breakpointDisabledStateDidChange): Call _removeBreakpoint or _setBreakpoint.
- * UserInterface/DebuggerObserver.js:
- (WebInspector.DebuggerObserver.prototype.globalObjectCleared): Call DebuggerManager.reset.
- (WebInspector.DebuggerObserver.prototype.breakpointResolved): Call DebuggerManager.breakpointResolved.
- 2012-03-08 Timothy Hatcher <timothy@apple.com>
- Use "resolved" to describe breakpoints instead of "inactive".
- The term inactive was confusing since we also have disabled. Using resolved better
- describes the property.
- Reviewed by Brian Weinstein.
- * UserInterface/Breakpoint.js:
- (WebInspector.Breakpoint):
- (WebInspector.Breakpoint.prototype.set lineNumber):
- (WebInspector.Breakpoint.prototype.get resolved): Renamed from inactive.
- (WebInspector.Breakpoint.prototype.set resolved): Renamed from inactive.
- (WebInspector.Breakpoint.prototype.get info):
- * UserInterface/BreakpointTreeElement.css:
- (.item.breakpoint .status > .status-image):
- (.item.breakpoint .status > .status-image.resolved):
- * UserInterface/BreakpointTreeElement.js:
- (WebInspector.BreakpointTreeElement):
- (WebInspector.BreakpointTreeElement.prototype._updateStatus):
- * UserInterface/TextEditor.css:
- (.text-editor > .gutter > .line-number > .breakpoint):
- (.text-editor > .gutter > .line-number.breakpoint-resolved > .breakpoint):
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype._addBreakpointElementToLineElementWithInfo):
- (WebInspector.TextEditor.prototype._removePossibleBreakpointElementFromLineElement):
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView):
- (WebInspector.TextResourceContentView.prototype.closed):
- (WebInspector.TextResourceContentView.prototype._updateBreakpointStatus):
- (WebInspector.TextResourceContentView.prototype.textEditorBreakpointInfo):
- (WebInspector.TextResourceContentView.prototype.textEditorBreakpointAdded):
- (WebInspector.TextResourceContentView.prototype.textEditorLineContentUpdated):
- (WebInspector.TextResourceContentView.prototype._textEditorBreakpointInfoForBreakpoint):
- 2012-03-08 Timothy Hatcher <timothy@apple.com>
- Fix an assertion and exception that is seen sometimes when opening the Web Inspector.
- The _rebuildSections function is wired up to events. Those events can fire when we don't have
- a selected DOM node. So we need to return early in that case and not assert.
- Reviewed by Brian Weinstein.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections): Return early if domNode is null.
- 2012-03-08 Timothy Hatcher <timothy@apple.com>
- Fix a merge issue that caused breakpoint lines to not have an icon.
- Part of: <rdar://problem/10318777>
- Reviewed by Brian Weinstein.
- * UserInterface/BreakpointTreeElement.js: Remove the duplicate GenericLineIconStyleClassName that
- had a typo in the value.
- 2012-03-08 Brian Weinstein <bweinstein@apple.com>
- <rdar://problem/11007383> Need a way to clear the current console log.
- Reviewed by Tim Hatcher.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView): Call this._registerShortcuts.
- (WebInspector.LogContentView.prototype.consoleCleared): Renamed from _consoleCleared.
- (WebInspector.LogContentView.prototype._registerShortcuts): Remove the shortcut to dump memory, and remove
- the code to set up shortcuts screen.
- (WebInspector.LogContentView.prototype._requestClearMessages): Call to the LogManager.
- (WebInspector.LogContentView.prototype._promptKeyDown): Actually look up the shortcut in the shortcuts
- list.
- * UserInterface/LogManager.js:
- (WebInspector.LogManager.prototype.requestClearMessages): Call clearMessages on the ConsoleAgent, and fire
- an event saying the active log was cleared.
- * UserInterface/LogSidebarPanel.js:
- (WebInspector.LogSidebarPanel): Listen for the active log being cleared.
- (WebInspector.LogSidebarPanel.prototype._activeLogCleared): Call consoleCleared on the active log content view.
- 2012-03-08 Brian Weinstein <bweinstein@apple.com>
- <rdar://problem/11012162> Log repeat counts are not updated when the console is open.
- Reviewed by Tim Hatcher.
- * UserInterface/ConsoleObserver.js:
- (WebInspector.ConsoleObserver.prototype.messageRepeatCountUpdated): Call through to the LogManager.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype._appendCommand): Call LogManager.repeatCountWasInterrupted.
- * UserInterface/LogManager.js:
- (WebInspector.LogManager.prototype.constructor.WebInspector.LogManager.initialize): Initialize whether or
- not the repeat count was interrupted (by the user entering a command in the log content view).
- (WebInspector.LogManager.prototype.messageWasAdded): Create a ConsoleMessage and call _addMessage.
- (WebInspector.LogManager.prototype.messageRepeatCountUpdated): If the repeat count wasn't interrupted,
- update the count. If it was, then clone our message element, and create a new one, and set its repeat
- and ignored count.
- (WebInspector.LogManager.prototype.repeatCountWasInterrupted): Set the flag indicating our repeat count
- was interrupted.
- (WebInspector.LogManager.prototype._addMessage): Add the message to our list of messages, set it as our
- previous message, and fire our event.
- 2012-03-08 Timothy Hatcher <timothy@apple.com>
- Update the disabled and inactive state of breakpoints in the TextEditor gutter as they change.
- Part of: <rdar://problem/10318777>
- Reviewed by Joseph Pecoraro.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.setBreakpointInfoForLine): Added.
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView): Added event listeners for DisabledStateDidChange and InactiveStateDidChange.
- (WebInspector.TextResourceContentView.prototype.closed): Removed the added event listeners.
- (WebInspector.TextResourceContentView.prototype._updateBreakpointStatus): Added. Calls setBreakpointInfoForLine.
- 2012-03-08 Timothy Hatcher <timothy@apple.com>
- Show the status of each breakpoint in the Breakpoint sidebar. Also update the title when the line number changes.
- Clicking the breakpoint image will toggle the disabled state.
- Part of: <rdar://problem/10318777>
- Reviewed by Joseph Pecoraro.
- * UserInterface/Breakpoint.js:
- * UserInterface/BreakpointTreeElement.css: Added.
- (.item.breakpoint .status > .status-image):
- (.item.breakpoint .status > .status-image.inactive):
- (.item.breakpoint .status > .status-image.disabled):
- * UserInterface/BreakpointTreeElement.js:
- (WebInspector.BreakpointTreeElement):
- (WebInspector.BreakpointTreeElement.prototype._updateMainTitle): Added.
- (WebInspector.BreakpointTreeElement.prototype._updateStatus): Added.
- (WebInspector.BreakpointTreeElement.prototype._statusImageElementMouseDown): Added
- (WebInspector.BreakpointTreeElement.prototype._statusImageElementClicked): Added
- * UserInterface/Images/BreakpointButton.pdf: Added.
- * UserInterface/Images/BreakpointInactiveButton.pdf: Added.
- * UserInterface/Main.html: Included BreakpointTreeElement.css.
- 2012-03-07 Timothy Hatcher <timothy@apple.com>
- Fix the AttributedString prototype chain.
- Reviewed by Brian Weinstein.
- * UserInterface/AttributedString.js: Set the AttributedString prototype instead of the SourceTokenizer prototype.
- 2012-03-07 Timothy Hatcher <timothy@apple.com>
- Make selecting a breakpoint in the sidebar show the resource and reveal the line.
- Part of: <rdar://problem/10318777>
- Reviewed by Brian Weinstein and Joseph Pecoraro.
- * UserInterface/BreakpointSidebarPanel.js:
- (WebInspector.BreakpointSidebarPanel): Set onselect to _treeElementSelected.
- (WebInspector.BreakpointSidebarPanel.prototype._treeElementSelected): Added.
- 2012-03-07 Timothy Hatcher <timothy@apple.com>
- Populate the Breakpoint sidebar with breakpoints.
- Part of: <rdar://problem/10318777>
- Reviewed by Brian Weinstein.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/BreakpointIcons.css: Added.
- (.breakpoint-generic-line-icon .icon):
- * UserInterface/BreakpointSidebarPanel.js:
- (WebInspector.BreakpointSidebarPanel):
- (WebInspector.BreakpointSidebarPanel.prototype._addBreakpoint): Added. Helper.
- (WebInspector.BreakpointSidebarPanel.prototype._addBreakpointsForResource): Added. Helper.
- (WebInspector.BreakpointSidebarPanel.prototype._resourceAdded): Added. Call _addBreakpointsForResource.
- (WebInspector.BreakpointSidebarPanel.prototype._mainResourceChanged): Added. Call _addBreakpointsForResource.
- (WebInspector.BreakpointSidebarPanel.prototype._breakpointAdded): Added. Call _addBreakpoint.
- (WebInspector.BreakpointSidebarPanel.prototype._breakpointRemoved): Added. Remove the breakpoint, and resource
- if that was the last breakpoint.
- (WebInspector.BreakpointSidebarPanel.prototype._checkForOldResources):
- (WebInspector.BreakpointSidebarPanel.prototype._checkForOldResources.delayedWork): Check for detached resources
- and remove them from the tree.
- * UserInterface/BreakpointTreeElement.js: Added.
- (WebInspector.BreakpointTreeElement):
- (WebInspector.BreakpointTreeElement.prototype.get breakpoint):
- * UserInterface/Main.html: Included BreakpointTreeElement.js and BreakpointIcons.css.
- 2012-03-07 Timothy Hatcher <timothy@apple.com>
- Rename ResourceSearchMatch.pdf to ResultLine.pdf to be more generic so it can be used by the Breakpoint sidebar.
- Part of: <rdar://problem/10318777>
- Reviewed by Brian Weinstein.
- * UserInterface/Images/ResultLine.pdf: Renamed from WebInspector/UserInterface/Images/ResourceSearchMatch.pdf.
- * UserInterface/SearchIcons.css:
- (.resource-match-icon .icon): Use ResultLine.pdf.
- 2012-03-07 Timothy Hatcher <timothy@apple.com>
- Persist breakpoints between sessions.
- Part of: <rdar://problem/10318770&10318777>
- Reviewed by Brian Weinstein and Joseph Pecoraro.
- * UserInterface/Breakpoint.js:
- (WebInspector.Breakpoint): Support taking an info object or url. Make inactive default to true.
- The backend will later mark them as active once they are resolved.
- (WebInspector.Breakpoint.prototype.get info): Added. Returns an object to store.
- * UserInterface/DebuggerManager.js:
- (WebInspector.DebuggerManager): Iterate over the info objects in the setting and make breakpoints.
- (WebInspector.DebuggerManager.prototype.addBreakpoint): Return early if null.
- (WebInspector.DebuggerManager.prototype.removeBreakpoint): Ditto.
- (WebInspector.DebuggerManager.prototype._inspectorClosing): Added. Call _saveBreakpoints.
- (WebInspector.DebuggerManager.prototype._saveBreakpoints): Added. Make an array of info objects
- and save them in the setting.
- 2012-03-07 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10960903> Include Network timeline graph in the network data grid
- Bring the padding down to 1px for both sides of the timeline graph.
- This makes the percent widths a little more accurate and matches
- the padding on the timeline overview.
- Reviewed by Timothy Hatcher.
- * UserInterface/TimelinesContentView.css:
- (.content-view.timelines > .data-grid td.timeline-column):
- 2012-03-07 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10960903> Include Network timeline graph in the network data grid
- Dynamically determine the width of the localized string
- with similar table heading styles.
- Reviewed by Timothy Hatcher.
- * UserInterface/NetworkDataGrid.js:
- (WebInspector.NetworkDataGrid.prototype._localizedTimelineHeaderWidth):
- 2012-03-07 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10960903> Include Network timeline graph in the network data grid
- Improve the header display to only show dividers within the visible range.
- Now, when we show dividers in that range, the first divider always has a left
- border, and the last divider only does when that column is not the active sort.
- Reviewed by Timothy Hatcher.
- * UserInterface/NetworkDataGrid.css:
- (.network-timeline-decorations > .header > .divider:last-child):
- (.network-timeline-decorations:not(.sort-active) > .header > .divider:last-child):
- * UserInterface/NetworkDataGrid.js:
- (WebInspector.NetworkDataGrid.prototype._updateHeaderTimes):
- * UserInterface/TimelineDecorations.js:
- (WebInspector.TimelineDecorations.prototype.updateHeaderTimes):
- 2012-03-07 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10960903> Include Network timeline graph in the network data grid
- Changing the sort column might not be enough of a size difference to
- cause the headers to refresh. Force a refresh in this case.
- Reviewed by Timothy Hatcher.
- * UserInterface/NetworkDataGrid.js:
- (WebInspector.NetworkDataGrid.prototype._sortChanged):
- (WebInspector.NetworkDataGrid.prototype._updateDecorations):
- (WebInspector.NetworkDataGrid.prototype._updateHeaderTimes):
- * UserInterface/TimelineDecorations.js:
- (WebInspector.TimelineDecorations.prototype.updateHeaderTimes):
- 2012-03-07 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10960903> Include Network timeline graph in the network data grid
- The NetworkDataGrid's timeline graph should only show header
- values when its "details" columns are collapsed. Give
- TimelineDecorations a way to hide header times.
- Reviewed by Timothy Hatcher.
- * UserInterface/NetworkDataGrid.js:
- (WebInspector.NetworkDataGrid):
- (WebInspector.NetworkDataGrid.prototype.didToggleColumnGroup):
- Hide / show the header dividers when columns are collapsed / expanded.
- * UserInterface/TimelineDecorations.js:
- (WebInspector.TimelineDecorations.prototype.updateHeaderTimes):
- (WebInspector.TimelineDecorations.prototype.isShowingHeaderDividers):
- (WebInspector.TimelineDecorations.prototype.showHeaderDividers):
- (WebInspector.TimelineDecorations.prototype.hideHeaderDividers):
- Hide / show the header dividers by applying the "hidden" class to the headerElement.
- 2012-03-07 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10960903> Include Network timeline graph in the network data grid
- Give the NetworkDataGrid timeline TimelineDecorations. We want to
- make sure that the header labels don't overlap the column header
- "Timeline" on the left or sort / collapse columns button on the right.
- Reviewed by Timothy Hatcher.
- * UserInterface/DataGrid.js:
- (WebInspector.DataGrid.prototype._clickInHeaderCell):
- (WebInspector.DataGrid.prototype._sortChanged):
- (WebInspector.DataGrid.prototype.isColumnSortColumn):
- Expose a way for a subclass to act on sort changes and check
- if a column is the active sort column.
- * UserInterface/Main.html:
- * UserInterface/NetworkDataGrid.css: Added.
- (.network-timeline-decorations):
- (.network-timeline-decorations > .header):
- Give the network timeline decorations some specific styles because
- JavaScript will have to position the decorations.
- * UserInterface/NetworkDataGrid.js:
- (WebInspector.NetworkDataGrid):
- (WebInspector.NetworkDataGrid.prototype.reset):
- (WebInspector.NetworkDataGrid.prototype.update):
- (WebInspector.NetworkDataGrid.prototype.updateWidths):
- (WebInspector.NetworkDataGrid.prototype._sortChanged):
- Update the timeline decorations whenever widths change or content changes.
- (WebInspector.NetworkDataGrid.prototype._localizedTimelineHeaderWidth):
- (WebInspector.NetworkDataGrid.prototype._updateDecorations):
- (WebInspector.NetworkDataGrid.prototype._updateDecorationsPosition):
- (WebInspector.NetworkDataGrid.prototype._updateHeaderTimes):
- Position the header decorations over the timeline columns, and update the
- header times using our current calculator's bounds.
- * UserInterface/TimelineDecorations.css:
- (.timeline-decorations):
- Allow clicking through all decorations, they are simply overlays.
- * UserInterface/TimelineDecorations.js:
- (WebInspector.TimelineDecorations.prototype.updateHeaderTimes):
- Adjust for a left / right padding in which we won't let labels overflow into.
- This can be improved further by packing the labels just into the visible area.
- 2012-03-07 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10960903> Include Network timeline graph in the network data grid
- Make the timeline data grids share a common base class so we don't need
- to check for functions before calling them. Only the NetworkDataGrid
- has a graph right now and needs extra calls, other others are empty.
- Reviewed by Timothy Hatcher.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView):
- (WebInspector.TimelinesContentView.prototype._recordingStarted):
- (WebInspector.TimelinesContentView.prototype._updatePendingRecords):
- (WebInspector.TimelinesContentView.prototype._updateCalculatorBoundsForPendingRecords):
- No need to check if the DataGrid implements a function now.
- Also call update on the datagrid after we update records.
- * UserInterface/TimelineDataGrid.js: Added.
- (WebInspector.TimelineDataGrid):
- (WebInspector.TimelineDataGrid.prototype.constructor.WebInspector.TimelinesDataGrid.get currentCalculator):
- (WebInspector.TimelineDataGrid.prototype.updateCalculatorBoundariesWithRecord):
- (WebInspector.TimelineDataGrid.prototype.updateCalculatorBoundariesWithDataGridNode):
- (WebInspector.TimelineDataGrid.prototype.reset):
- (WebInspector.TimelineDataGrid.prototype.update):
- Shared base class interface.
- * UserInterface/NetworkDataGrid.js:
- (WebInspector.NetworkDataGrid):
- Extend from TimelineDataGrid instead of DataGrid directly.
- 2012-03-07 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10960903> Include Network timeline graph in the network data grid
- Refactor the display of timeline headers into a separate file.
- This currently handles drawing the header dividers, but will
- also manage event markers (DOMContent and onload events).
- Reviewed by Timothy Hatcher.
- * UserInterface/Main.html:
- * UserInterface/TimelineOverview.css:
- * UserInterface/TimelineDecorations.css: Added.
- (.timeline-decorations):
- (.timeline-decorations > .header):
- (.timeline-decorations > .header > .divider):
- (.timeline-decorations > .header > .divider:last-child):
- (.timeline-decorations > .header > .divider > .label):
- (.timeline-decorations > .header > .divider:first-child > .label):
- Move timeline-overview header styles to timeline-decorations header styles.
- * UserInterface/TimelineDecorations.js: Added.
- (WebInspector.TimelineDecorations):
- (WebInspector.TimelineDecorations.prototype.constructor.WebInspector.TimelineDecorations.get element):
- (WebInspector.TimelineDecorations.prototype.get headerElement):
- (WebInspector.TimelineDecorations.prototype.updateHeaderTimes):
- Manage the header and dividers.
- * UserInterface/TimelineOverview.js:
- (WebInspector.TimelineOverview):
- (WebInspector.TimelineOverview.prototype.clear):
- (WebInspector.TimelineOverview.prototype.update):
- (WebInspector.TimelineOverview.prototype.updateLayout):
- User the decorations class to draw headers over the timeline.
- 2012-03-07 Timothy Hatcher <timothy@apple.com>
- Install the Web Inspector user interface files in Production builds again.
- <rdar://problem/10957655>
- Reviewed by Joseph Pecoraro.
- * Scripts/copy-user-interface-resources.sh: Removed early exit and FIXME comment.
- 2012-03-07 Timothy Hatcher <timothy@apple.com>
- Implement the TextEditor breakpoint delegates in WebInspector.TextResourceContentView.
- Part of: <rdar://problem/10318770&10318777>
- Reviewed by Brian Weinstein.
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView.prototype.contentAvailable): Populate the breakpoint
- map by asking the DebuggerManager for all the breakpoints for this URL.
- (WebInspector.TextResourceContentView.prototype.textEditorBreakpointInfo): Added.
- (WebInspector.TextResourceContentView.prototype.textEditorBreakpointAdded): Added.
- (WebInspector.TextResourceContentView.prototype.textEditorBreakpointRemoved): Added.
- (WebInspector.TextResourceContentView.prototype.textEditorBreakpointMoved): Added.
- (WebInspector.TextResourceContentView.prototype.textEditorBreakpointToggled): Added.
- 2012-03-07 Timothy Hatcher <timothy@apple.com>
- Add the start of WebInspector.DebuggerManager.
- Part of: <rdar://problem/10318770&10318777>
- Reviewed by Brian Weinstein.
- * UserInterface/DebuggerManager.js: Added.
- (WebInspector.DebuggerManager):
- (WebInspector.DebuggerManager.prototype.get breakpoints):
- (WebInspector.DebuggerManager.prototype.breakpointsForURL):
- (WebInspector.DebuggerManager.prototype.addBreakpoint):
- (WebInspector.DebuggerManager.prototype.removeBreakpoint):
- * UserInterface/Main.html: Incldued DebuggerManager.js.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Create an instance of WebInspector.DebuggerManager.
- 2012-03-07 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.Breakpoint.
- Part of: <rdar://problem/10318770&10318777>
- Reviewed by Joseph Pecoraro.
- * UserInterface/Breakpoint.js: Added.
- (WebInspector.Breakpoint):
- (WebInspector.Breakpoint.prototype.get url):
- (WebInspector.Breakpoint.prototype.get lineNumber):
- (WebInspector.Breakpoint.prototype.set lineNumber):
- (WebInspector.Breakpoint.prototype.get inactive):
- (WebInspector.Breakpoint.prototype.set inactive):
- (WebInspector.Breakpoint.prototype.get disabled):
- (WebInspector.Breakpoint.prototype.set disabled):
- * UserInterface/Main.html: Included Breakpoint.js.
- 2012-03-06 Timothy Hatcher <timothy@apple.com>
- Support dragging breakpoints to move them to a new line or to delete them.
- Part of: <rdar://problem/10318770&10318777>
- Reviewed by Joseph Pecoraro.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor):
- (WebInspector.TextEditor.prototype._gutterElementMouseDown): Add a new breakpoint
- if the target does not already have one. Otherwise start tracking the existing
- breakpoint for dragging.
- (WebInspector.TextEditor.prototype._documentMouseMoved): Added.
- (WebInspector.TextEditor.prototype._documentMouseUp): Added.
- (WebInspector.TextEditor.prototype._gutterElementMouseUp): Only toggle on mouse up.
- 2012-03-06 Timothy Hatcher <timothy@apple.com>
- Make clicking on the line gutter create and toggle breakpoints.
- Part of: <rdar://problem/10318770&10318777>
- Reviewed by Joseph Pecoraro.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor): Added mouseup event listener.
- (WebInspector.TextEditor.prototype._gutterElementMouseUp): Added. Notifies the delegate to add
- or toggle a breakpoint when a line number if clicked.
- 2012-03-06 Timothy Hatcher <timothy@apple.com>
- Add initial support for displaying breakpoints.
- Part of: <rdar://problem/10318770&10318777>
- Reviewed by Joseph Pecoraro.
- * UserInterface/Images/Breakpoint.png: Added.
- * UserInterface/Images/Breakpoint@2x.png: Added.
- * UserInterface/Images/BreakpointInactive.png: Added.
- * UserInterface/Images/BreakpointInactive@2x.png: Added.
- * UserInterface/TextEditor.css:
- (.text-editor > .gutter):
- (.text-editor > .gutter > .line-number.has-breakpoint):
- (.text-editor > .gutter > .line-number.has-breakpoint > .text):
- (.text-editor > .gutter > .line-number.has-breakpoint.breakpoint-disabled > .text):
- (.text-editor > .gutter > .line-number > .breakpoint):
- (.text-editor > .gutter > .line-number.breakpoint-inactive > .breakpoint):
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype._updateLineNumbers): Call _addBreakpointElementToLineElementWithInfo
- and _removePossibleBreakpointElementFromLineElement depending on the delegate result.
- (WebInspector.TextEditor.prototype._addBreakpointElementToLineElementWithInfo): Added.
- (WebInspector.TextEditor.prototype._removePossibleBreakpointElementFromLineElement): Added.
- 2012-03-06 Mark Rowe <mrowe@apple.com>
- <rdar://problem/10873285> Make WebInspector.framework work with staged frameworks
- Install WebInspector.framework in /System/Library/StagedFrameworks/Safari when USE_STAGING_INSTALL_PATH is set to YES.
- Reviewed by Dan Bernstein.
- * Configurations/WebInspectorFramework.xcconfig:
- 2012-03-06 Joseph Pecoraro <pecoraro@apple.com>
- Share duplicated code to get a display name for a node.
- Reviewed by Timothy Hatcher.
- * UserInterface/DOMTreeElementPathComponent.js:
- (WebInspector.DOMTreeElementPathComponent):
- * UserInterface/DOMUtilities.js:
- (WebInspector.displayNameForNode):
- * UserInterface/Main.html:
- 2012-03-06 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10989550> Inspector should hide docking button when undocked and not allowed to dock (78575)
- Reviewed by Timothy Hatcher.
- * UserInterface/ButtonNavigationItem.js:
- (WebInspector.ButtonNavigationItem.prototype.get hidden):
- (WebInspector.ButtonNavigationItem.prototype.set hidden):
- Allow a button navigation item to be hidden.
- * UserInterface/InspectorFrontendAPI.js:
- (InspectorFrontendAPI.setDockingAvailable):
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- (WebInspector.updateDockedState):
- (WebInspector.setDockingAvailable):
- (WebInspector._updateDockToggleButtonVisibility):
- Update the dock toggle button's visibility when it is created,
- when the attached state changes, or when availability changes.
- 2012-03-05 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.BreakpointSidebarPanel and WebInspector.DebugSidebarPanel.
- Start of: <rdar://problem/10318770&10318777>
- Reviewed by Brian Weinstein.
- * UserInterface/BreakpointSidebarPanel.js: Added.
- (WebInspector.BreakpointSidebarPanel):
- * UserInterface/DebugSidebarPanel.js: Added.
- (WebInspector.DebugSidebarPanel):
- * UserInterface/Main.html: Included BreakpointSidebarPanel.js and DebugSidebarPanel.js.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Use BreakpointSidebarPanel and DebugSidebarPanel classes.
- 2012-03-05 Joseph Pecoraro <pecoraro@apple.com>
- Follow-up and remove unnecessary outline:none from specific
- data-grids now that this style is the default.
- * UserInterface/ApplicationCacheFrameContentView.css:
- (.content-view.application-cache-frame > .data-grid):
- * UserInterface/CookieStorageContentView.css:
- (.content-view.cookie-storage > .data-grid):
- * UserInterface/DatabaseTableContentView.css:
- (.content-view.database-table > .data-grid):
- * UserInterface/DetailsSection.css:
- 2012-03-04 Joseph Pecoraro <pecoraro@apple.com>
- WebSQL Database inline data grids should not have an outline
- when clicked on. The data grid can keep its tabindex, but
- just remove the outline when its focused.
- Reviewed by Brian Weinstein.
- * UserInterface/DataGrid.css:
- (.data-grid):
- 2012-03-04 Joseph Pecoraro <pecoraro@apple.com>
- Format the Cookie size column using standard size representations.
- Reviewed by Brian Weinstein.
- * UserInterface/CookieStorageContentView.js:
- (WebInspector.CookieStorageContentView.prototype._rebuildTable):
- 2012-03-04 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10982421> Event Listeners section flashes when switching between nodes
- We no longer need to resolve the node, since the Safari frontend
- doesn't show an ObjectProperties tree. We already have all the
- information we need in the eventListener callback. Removing this
- async call removes the flashing.
- Reviewed by Timothy Hatcher.
- * UserInterface/DOMNodeDetailsSidebarPanel.js:
- * UserInterface/EventListenerSectionGroup.js:
- (WebInspector.EventListenerSectionGroup):
- 2012-03-04 Joseph Pecoraro <pecoraro@apple.com>
- We should save state the expanded/collapsed state of different event types.
- Just default to having them collapsed and save the state when they are expanded.
- Rubber-stamped by Timothy Hatcher.
- * UserInterface/DetailsSection.js:
- (WebInspector.DetailsSection):
- * UserInterface/EventListenerSection.js:
- (WebInspector.EventListenerSection):
- 2012-03-04 Joseph Pecoraro <pecoraro@apple.com>
- Don't linkify EventListeners without a URL.
- This can happen for EventListeners added through the Inspector's console.
- Reviewed by Timothy Hatcher.
- * UserInterface/EventListenerSectionGroup.js:
- (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink):
- 2012-03-04 Timothy Hatcher <timothy@apple.com>
- Hook up the Start Timeline Recording Develop menu items.
- Reviewed by Brian Weinstein.
- * UserInterface/InspectorFrontendAPI.js:
- (InspectorFrontendAPI.isTimelineProfilingEnabled): Return WebInspector.timelineManager.recording.
- (InspectorFrontendAPI.setTimelineProfilingEnabled): Show the Instrument panel and timeline, then start recording.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Only load the last content view if InspectorFrontendAPI didn't show one.
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager.prototype._mainResourceDidChange): Ignore resource events when there isn't a main frame yet.
- (WebInspector.TimelineManager.prototype._resourceWasAdded): Ditto.
- 2012-03-04 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10981986> Back button should be enabled when link causes a switch between "DOM Tree" and "Source Code"
- Update the back/forward buttons when the path components change.
- Reviewed by Timothy Hatcher.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange):
- 2012-03-04 Joseph Pecoraro <pecoraro@apple.com>
- Rename WebInspector.domAgent -> WebInspector.domTreeManager.
- This code is currently unreachable.
- Reviewed by Brian Weinstein and Timothy Hatcher.
- * UserInterface/ObjectPropertiesSection.js:
- (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):
- 2012-03-04 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10319546> Implement the Event Listener inspector for the new Web Inspector design
- Make node name's in the EventListener section links that jump to
- that node. Also, when hovering the node it highlights on the page.
- Reviewed by Timothy Hatcher.
- * UserInterface/DOMUtilites.js: Added.
- (WebInspector.displayNameForNode):
- (WebInspector.linkifyNodeReference):
- Copied from OpenSource's DOMPresentationUtils.js, updated for the new
- frontend, and remove unused code.
- * UserInterface/EventListenerSectionGroup.js:
- (WebInspector.EventListenerSectionGroup.prototype._nodeTextOrLink):
- Use the DOMUtilities method to linkify the node.
- * UserInterface/Main.html:
- * UserInterface/Main.css:
- (.node-link):
- 2012-03-04 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10319546> Implement the Event Listener inspector for the new Web Inspector design
- Add event listener information to the DOM Node Details Sidebar panel.
- Reviewed by Timothy Hatcher.
- * UserInterface/DOMNodeDetailsSidebarPanel.js:
- (WebInspector.DOMNodeDetailsSidebarPanel):
- (WebInspector.DOMNodeDetailsSidebarPanel.prototype.constructor.WebInspector.DOMNodeDetailsSidebarPanel.refresh):
- (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners.eventListenersCallback):
- (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners):
- Add a new "Event Listeners" Section and refresh it when the selected node changes.
- Each row in this section is an EventListenerSection.
- * UserInterface/DetailsSection.css:
- (.details-section .details-section > .header):
- Style a nested details section to be gray.
- * UserInterface/DetailsSection.js:
- (WebInspector.DetailsSection):
- Take an extra parameter in the Constructor to avoid saving collapsed states.
- EventListener event type sections will always start out collapsed.
- * UserInterface/EventListenerSection.js: Added.
- (WebInspector.EventListenerSection):
- (WebInspector.EventListenerSection.prototype.constructor.WebInspector.EventListenerSection.addListener):
- EventListenerSection is a specific event type, and contains a group for each listener.
- * UserInterface/EventListenerSectionGroup.js: Added.
- (WebInspector.EventListenerSectionGroup):
- (WebInspector.EventListenerSectionGroup.prototype.constructor.WebInspector.EventListenerSectionGroup.update.updateWithNodeObject):
- (WebInspector.EventListenerSectionGroup.prototype.constructor.WebInspector.EventListenerSectionGroup.update):
- (WebInspector.EventListenerSectionGroup.prototype._nodeTextOrLink):
- (WebInspector.EventListenerSectionGroup.prototype._type):
- (WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink):
- Each listener displays a few rows of information about it. Go-to arrow
- links are provided to jump to the function.
- * UserInterface/EventListenerSectionGroup.css: Added.
- (.event-listener-section > .content > .group > .row.simple > .value .go-to-arrow):
- (.event-listener-section > .content > .group > .row.simple > .value):
- Style the simple row in the section to play nicely with resizing and the go-to arrow.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/Main.html:
- Add new strings and files.
- 2012-03-04 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10319546> Implement the Event Listener inspector for the new Web Inspector design
- Rename the DOM Node sidebar's Properties object group and make sure
- to release it when its no longer needed. There will be a separate
- object group for Event Listeners.
- Reviewed by Timothy Hatcher.
- * UserInterface/DOMNodeDetailsSidebarPanel.js:
- (WebInspector.DOMNodeDetailsSidebarPanel):
- 2012-03-04 Joseph Pecoraro <pecoraro@apple.com>
- Add missing Copyright entires to the pre-built License.
- Reviewed by Damian Kaleta.
- * Scripts/copy-user-interface-resources.sh:
- 2012-03-04 Joseph Pecoraro <pecoraro@apple.com>
- Fix outline around previously edited DOM element attribute.
- When editing, the tabIndex attribute of the element is set
- to 0 and restored to the old value after editing. In most cases
- the previous value was unset, which returns -1. When cleaning
- up elem.tabIndex = -1 was actually keeping around the tabIndex
- attribute and giving the element an outline when clicked once
- and receiving :focus.
- Instead of restoring the tabIndex to -1, just remove the
- tabIndex attribute and avoid its associated focus behavior.
- Reviewed by Timothy Hatcher.
- * UserInterface/EditingSupport.js:
- (WebInspector.startEditing.cleanUpAfterEditing):
- 2012-03-04 Brian Weinstein <bweinstein@apple.com>
- Part of <rdar://problem/10981607> CSS and JavaScript profiles need a way to toggle between absolute times and percentages.
-
- The CSS selector profile code had the ability to switch from percentages to time when the
- user double clicks an element in the "Total" column.
-
- However, we were accessing a WebInspector setting the wrong way.
- Reviewed by Tim Hatcher.
- * UserInterface/CSSSelectorProfileView.js:
- (WebInspector.CSSSelectorProfileView.prototype._mouseDownInDataGrid): Access the WebInspector setting the right way.
- 2012-03-04 Brian Weinstein <bweinstein@apple.com>
- Have ConsoleMessageImpl and ProfileDataGridTree use WebInspector.linkifyURLAsNode instead of
- using their own custom code to do the same thing.
- Reviewed by Tim Hatcher.
- * UserInterface/ConsoleMessageImpl.js:
- (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation): Call WebInspector.linkifyURLAsNode.
- * UserInterface/ProfileDataGridTree.js:
- (WebInspector.ProfileDataGridNode.prototype._linkifyLocation): Ditto.
- 2012-03-04 Brian Weinstein <bweinstein@apple.com>
- Hook up the links in the CSS selector profile view.
-
- Rest of <rdar://problem/10897489> Implement CSS profiling in the new Web Inspector.
- Reviewed by Tim Hatcher.
- * UserInterface/CSSSelectorProfileView.js:
- (WebInspector.CSSSelectorDataGridNode.prototype.createCell): Pass the line number to WebInspector.linkifyURLAsNode.
- (WebInspector.CSSSelectorProfileView): Add a click event listener.
- (WebInspector.CSSSelectorProfileView.prototype._mouseWasClicked): Call WebInspector.openURL on the clicked link.
- * UserInterface/Main.js:
- (WebInspector.linkifyURLAsNode): Set the link's lineNumber property to be the passed in line number.
- 2012-03-04 Brian Weinstein <bweinstein@apple.com>
- Make the columns in all DataGrids resizable.
-
- This fixes:
- - JavaScript profile views
- - CSS selector profile views
- - Application cache views.
- Reviewed by Tim Hatcher.
- * UserInterface/ApplicationCacheFrameContentView.js:
- (WebInspector.ApplicationCacheFrameContentView.prototype.updateLayout):
- * UserInterface/CSSSelectorProfileView.js:
- (WebInspector.CSSSelectorProfileView.prototype.updateLayout):
- * UserInterface/JavaScriptProfileView.js:
- (WebInspector.JavaScriptProfileView.prototype.updateLayout):
- 2012-03-04 Brian Weinstein <bweinstein@apple.com>
- Rename some functions to make them more clear that they are for JavaScript.
- Reviewed by Tim Hatcher.
- * UserInterface/ProfileManager.js:
- (WebInspector.ProfileManager.prototype.addJavaScriptProfile): Renamed from addProfile.
- (WebInspector.ProfileManager.prototype.setRecordingJavaScriptProfile): Renamed from setRecordingProfile.
- * UserInterface/ProfilerObserver.js:
- (WebInspector.ProfilerObserver.prototype.addProfileHeader): Update for naming.
- (WebInspector.ProfilerObserver.prototype.setRecordingProfile): Ditto.
- 2012-03-04 Brian Weinstein <bweinstein@apple.com>
- Implement the recording of CSS selector profiles, and have them show up in the inspector and be
- selectable.
-
- There are a few loose ends to clean up after this patch.
-
- - Some renames in ProfileManager.
- - Make link clicking work in CSS selector profiles.
- More of <rdar://problem/10897489> Implement CSS profiling in the new Web Inspector.
- Reviewed by Tim Hatcher.
- * Localizations/en.lproj/localizedStrings.js: Updated localized strings
- * UserInterface/CSSSelectorProfileType.js:
- (WebInspector.CSSSelectorProfileType.prototype.nextProfileId): Returns the available profile ID.
- (WebInspector.CSSSelectorProfileType.prototype.startRecordingProfile): Don't call anything in the profiles panel.
- (WebInspector.CSSSelectorProfileType.prototype.stopRecordingProfile): Remove the callback that creates a profile
- header.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView): Change ProfileObject to JavaScriptProfileObject and add a case for CSSSelectorProfileObject.
- (WebInspector.ContentView.isViewable): Ditto.
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphMousedOver): Check the CSS selector case.
- (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphMousedDown): Ditto.
- (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphClicked): Ditto.
- (WebInspector.InstrumentSidebarPanel.prototype._profileTypeWasSelected): Ditto.
- * UserInterface/JavaScriptProfileView.js: Change the assert.
- * UserInterface/Main.html: Add new files.
- * UserInterface/ProfileManager.js:
- (WebInspector.ProfileManager): Create a CSS selector profile type.
- (WebInspector.ProfileManager.prototype.constructor.WebInspector.ProfileManager.initialize): Clear the recording CSS
- selector profile.
- (WebInspector.ProfileManager.prototype.isProfilingCSSSelectors): Returns whether or not we are recording a CSS selector
- profile.
- (WebInspector.ProfileManager.prototype.startProfilingCSSSelectors): Start recording a CSS selector profile, and create
- a WebInspector.CSSSelectorProfileObject, and send an event to tell the instrument sidebar panel about it.
- (WebInspector.ProfileManager.prototype.stopProfilingCSSSelectors): Stop recording the CSS selector profile, and in the
- callback for when the profile finished, update the information about the CSS selector profile and tell the instrument
- sidebar that the profile was updated.
- (WebInspector.ProfileManager.prototype.addProfile): Create a JavaScriptProfileObject instead of a ProfileObject.
- (WebInspector.ProfileManager.prototype.setRecordingProfile): Ditto.
- 2012-03-04 Brian Weinstein <bweinstein@apple.com>
- Add subclasses of ProfileObject for CSS Selector profile and JavaScript profiles. They are not used anywhere,
- but they will be to be able to differentiate between the two types of profiles.
-
- It also gives us a way to store the CSS selector profile data on the CSSSelectorProfileObject.
- Reviewed by Tim Hatcher.
- * UserInterface/CSSSelectorProfileObject.js: Added.
- (WebInspector.CSSSelectorProfileObject):
- (WebInspector.CSSSelectorProfileObject.prototype.constructor.WebInspector.CSSSelectorProfileObject.get data): Returns
- the data.
- (WebInspector.CSSSelectorProfileObject.prototype.set data): Sets the data.
- (WebInspector.CSSSelectorProfileObject.prototype.get totalTime): Returns the total time.
- (WebInspector.CSSSelectorProfileObject.prototype.set totalTime): Sets the total time.
- * UserInterface/JavaScriptProfileObject.js: Added.
- (WebInspector.JavaScriptProfileObject):
- * UserInterface/Main.html: Add new files
- 2012-03-04 Brian Weinstein <bweinstein@apple.com>
- Fix some issues in CSSSelectorProfileView.js to get it running with the new inspector.
-
- This patch changes the superclass from View -> ContentView, removes instances of the percent button,
- and changes *styleClass -> classList.*.
- More of <rdar://problem/10897489> Implement CSS profiling in the new Web Inspector.
- Reviewed by Tim Hatcher.
- * UserInterface/CSSSelectorProfileView.js:
- (WebInspector.CSSSelectorDataGridNode.prototype.get data): Switch the format of a setting.
- (WebInspector.CSSSelectorDataGridNode.prototype.createCell): Use linkifyURLAsNode instead of
- linkifyResourceAsNode (which we don't have).
- (WebInspector.CSSSelectorProfileView): Add an assert, change our superclass type, update the
- setting syntax, and call updateWidths on the data grid.
- (WebInspector.CSSSelectorProfileView.prototype.refreshShowAsPercents): Use classList.contains.
- 2012-03-02 Brian Weinstein <bweinstein@apple.com>
- Bring in some files from open source.
-
- More of <rdar://problem/10897489> Implement CSS profiling in the new Web Inspector.
- Rubber-stamped by Jing Jin.
- * UserInterface/CSSSelectorProfileType.js: Added. Moved from CSSSelectorProfileView.js to its own file.
- * UserInterface/CSSSelectorProfileView.js: Added. Copied from open source.
- 2012-03-02 Brian Weinstein <bweinstein@apple.com>
- Turn the glyph that starts profiles in the inspector into a select with two options.
-
- - Start JavaScript Profiling
- - Start CSS Profiling
-
- JavaScript profiling uses the same codepath as before, and CSS profiling isn't hooked up
- yet, but will be in future patches.
- Start of <rdar://problem/10897489> Implement CSS profiling in the new Web Inspector.
- Reviewed by Tim Hatcher.
- * Localizations/en.lproj/localizedStrings.js: Update localized strings.
- * UserInterface/InstrumentSidebarPanel.css:
- (.sidebar > .panel.instrument > .title-bar > .record-glyph): Add some additional rules so
- this style works for a select and a div.
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel): Change _recordProfileGlyphElement to a select, and add
- options to it.
- (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphMousedDown): Clear any selection
- the select might have had, and prevent opening the select if we are stopping a profile.
- (WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphClicked): Return early if we are
- ignoring this click.
- (WebInspector.InstrumentSidebarPanel.prototype._profileTypeWasSelected): Start a JavaScript profile
- if that was the user's selection, and add a FIXME for starting a CSS profile.
- 2012-03-04 Timothy Hatcher <timothy@apple.com>
- Strike out all properties that did not parse correctly.
- The broken case is if you use: background: -webkit-linear-gradient(...);
- and background: -moz-linear-gradient(...) in the same rule. Before they
- would both be shown normal (except for the warning icon on the -moz line),
- now the -moz property is also striked out.
- Reviewed by Brian Weinstein.
- * UserInterface/CSSStyleDetailsSidebarPanel.css: Added not-parsed-ok to the
- rule that adds text-decoration: line-through to properties.
- 2012-03-04 Timothy Hatcher <timothy@apple.com>
- Syntax highlight values in the Style details sidebar.
- Reviewed by Brian Weinstein.
- * UserInterface/StylePropertyTreeElement.js:
- (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor): Call numberProcessor instead
- of directly making text nodes for unknown colors and color values.
- (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processKeyword): Added.
- (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processSimpleSyntax): Added.
- (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Add new processors for strings, numbers, and keywords.
- 2012-03-03 Brian Weinstein <bweinstein@apple.com>
- <rdar://problem/10977869> Profile Link in Log View doesn't jump to Profile in Instruments View.
-
- Give WebInspector.openURL the ability to open URLs with the webkit-profile scheme.
- Reviewed by Tim Hatcher.
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel.prototype.showProfile): Look over the tree elements for one with
- a profile with the matching title and type, and show it.
- * UserInterface/Main.js:
- (WebInspector.openURL): If the URL has the webkit-profile scheme, call InstrumentSidebarPanel.showProfile.
- * UserInterface/ProfileType.js: Add a constant for "webkit-profile".
- 2012-03-03 Timothy Hatcher <timothy@apple.com>
- Hide the DOM node highlight when the DOM tree content view is hidden.
- Reviewed by Dan Bernstein.
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView.prototype.hidden): Call WebInspector.domTreeManager.hideDOMNodeHighlight().
- 2012-03-03 Timothy Hatcher <timothy@apple.com>
- Reduce flashing in the details sidebar when switching content views.
- This makes sure to fire the represented objects did change event immediately after the content
- view changes so the sidebar updates at the same time as the content view. This is especially important
- if the sidebar is auto showing or hiding.
- Reviewed by Dan Bernstein.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser.prototype._dispatchCurrentRepresentedObjectsDidChangeEventSoon):
- Use _dispatchCurrentRepresentedObjectsDidChangeEvent instead of a nested function.
- (WebInspector.ContentBrowser.prototype._dispatchCurrentRepresentedObjectsDidChangeEvent): Added.
- Clears the timeout if there is one pending.
- (WebInspector.ContentBrowser.prototype._currentContentViewDidChange): Call _dispatchCurrentRepresentedObjectsDidChangeEvent
- instead of _dispatchCurrentRepresentedObjectsDidChangeEventSoon.
- 2012-03-03 Timothy Hatcher <timothy@apple.com>
- Auto hide the details sidebar when empty if the user closed it when empty.
- The details sidebar will show again when switching to a content view that has sidebar panels to show.
- If the user shows the sidebar when empty it will not auto hide anymore. If the user hides the sidebar
- when it isn't empty it will stay hidden until manually shown.
- Reviewed by Dan Bernstein.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Added setting.
- (WebInspector._sidebarCollapsedStateDidChange): Update setting based on collapsed state and sidebar panel count.
- (WebInspector._contentBrowserRepresentedObjectsDidChange): Show or hide the details sidebar when the sidebar
- panel count changes.
- 2012-03-03 Timothy Hatcher <timothy@apple.com>
- Add the "Show All" checkbox to the Computed Style section header.
- Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/CSSStyleDetailsSidebarPanel.css:
- (.sidebar > .panel.details.css-style .styles-section .properties li): Clean up to better align the text.
- (.sidebar > .panel.details.css-style .styles-section.read-only .properties > li): Ditto.
- (.sidebar > .panel.details.css-style .styles-section.computed-style .properties .inherited): Fixed to work.
- (.sidebar > .panel.details.css-style .details-section.show-all .styles-section.computed-style .properties .inherited): Ditto.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel): Create the checkbox and label.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._computedStyleShowAllCheckboxValueChanged): Added. Toggle the setting
- and show-all class on the computed style section.
- * UserInterface/DetailsSection.css:
- (.details-section > .header:not(.mouse-over-options-element):active::before): Don't show active if the options element is.
- (.details-section.collapsed > .header:not(.mouse-over-options-element):active::before): Ditto.
- (.details-section > .header > label): Added. Generic support for a label and checkbox.
- (.details-section.collapsed > .header > label): Ditto.
- (.details-section > .header > label > input[type="checkbox"]): Ditto.
- * UserInterface/DetailsSection.js:
- (WebInspector.DetailsSection): Make a title element span so it can be updated separately. Append the options element.
- (WebInspector.DetailsSection.prototype.get title): Use the title element.
- (WebInspector.DetailsSection.prototype.set title): Ditto.
- (WebInspector.DetailsSection.prototype._headerElementClicked): Return early if it is within the options element.
- (WebInspector.DetailsSection.prototype._optionsElementMouseDown): Added. Add the mouse-over-options-element class.
- (WebInspector.DetailsSection.prototype._optionsElementMouseUp): Added. Remove the mouse-over-options-element class.
- 2012-03-03 Brian Weinstein <bweinstein@apple.com>
- <rdar://problem/10979339> Links in Log and Profile content views don't take you to the correct line
- r41258 added the ability to jump to a certain line number when opening a resource
- in the inspector by setting the lineNumber property on the link element that will
- be clicked.
-
- Adopt this for JavaScript profiles and the Log content view.
- Reviewed by Tim Hatcher.
- * UserInterface/ConsoleMessageImpl.js:
- (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation): Set the line number of the link
- element.
- * UserInterface/JavaScriptProfileView.js:
- (WebInspector.JavaScriptProfileView): Add a mouse listener.
- (WebInspector.JavaScriptProfileView.prototype._mouseWasClicked): Call WebInspector.openURL.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype._mouseWasClicked): Get the line number from the link
- element and pass that line number to WebInspector.openURL.
- * UserInterface/ProfileDataGridTree.js:
- (WebInspector.ProfileDataGridNode.prototype._linkifyLocation): Set the line number of the
- link element.
- 2012-03-03 Timothy Hatcher <timothy@apple.com>
- Make $0..$9 work in the new Web Inspector's console.
- Reviewed by Joseph Pecoraro.
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView.prototype._selectedNodeDidChange): Call ConsoleAgent.addInspectedNode
- when the selected DOM node changes.
- 2012-03-03 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10960903> Include Network timeline graph in the network data grid
- When we need to refresh all of the rows, we need to make a copy of the
- children array, because the children array gets resorted as the rows
- are updated.
- Reviewed by Timothy Hatcher.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView.prototype._updatePendingRecordsWithNewBounds):
- 2012-03-03 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10960903> Include Network timeline graph in the network data grid
- Tweak to prevent hiding a few of the rows on either end of the
- visible bounds. This makes scrolling feel a little bit nicer.
- Reviewed by Timothy Hatcher.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView.prototype._updateOffscreenRows):
- 2012-03-03 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10960903> Include Network timeline graph in the network data grid
- Style the collapse-button and divider.
- Reviewed by Timothy Hatcher.
- * UserInterface/DataGrid.css:
- (.data-grid th.sortable:not(.mouse-over-collapser):active):
- (.data-grid th.sortable.sort-ascending:not(.mouse-over-collapser):active, .data-grid th.sortable.sort-descending:not(.mouse-over-collapser):active):
- When the collapse-button is moused over, we shouldn't apply the :active
- style to the entire table header cell when its clicked, because the
- user will be clicking on the collapser-button.
- * UserInterface/TimelinesContentView.css:
- (.content-view.timelines > .data-grid th.sortable:not(.mouse-over-collapser):active):
- (.content-view.timelines > .data-grid th.collapser):
- (.content-view.timelines > .data-grid th.collapser > .divider):
- (.content-view.timelines > .data-grid th.collapser > .collapser-button):
- (.content-view.timelines > .data-grid th.collapser > .collapser-button:active):
- (.content-view.timelines > .data-grid th.collapser.collapsed > .collapser-button):
- (.content-view.timelines > .data-grid th.collapser.collapsed > .collapser-button:active):
- (.content-view.timelines > .data-grid th.sort-descending.collapser > div:first-child):
- Style the button to the far right. Adjust the sort indicator
- to be the left of the collapse-button and divider.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView):
- (WebInspector.TimelinesContentView.generateEmbossedCollapseImages.canvasIdentifier):
- (WebInspector.TimelinesContentView.generateEmbossedCollapseImages):
- Generate embossed images once for all Timeline DataGrids.
- * UserInterface/DataGrid.js:
- (WebInspector.DataGrid.prototype._mouseoverColumnCollapser):
- (WebInspector.DataGrid.prototype._mouseoutColumnCollapser):
- Add a class to the <th> so that the :active highlight won't take
- affect when the user clicks the collapser button, but does when
- the user clicks on the test of the header cell.
- * UserInterface/ImageUtilities.js:
- (generateEmbossedImages._imageLoaded):
- Make the Focus state optional, and don't generate it if its not needed.
- * UserInterface/Images/LessColumns.pdf: Added.
- * UserInterface/Images/MoreColumns.pdf: Added.
- Images added for the collapse button.
- 2012-03-03 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10960903> Include Network timeline graph in the network data grid
- Move generating embossed canvas images into ImageUtilities so
- that it can be shared with DataGrid in the next part. This turns
- all self/this references into parameters.
- Reviewed by Timothy Hatcher.
- * UserInterface/ButtonNavigationItem.js:
- (WebInspector.ButtonNavigationItem.prototype._generateImages):
- * UserInterface/ImageUtilities.js:
- (generateEmbossedImages._imageLoaded):
- (generateEmbossedImages._createEmbossedCanvasImage):
- (generateEmbossedImages._drawImageShadow):
- (generateEmbossedImages._invertMaskImage):
- (generateEmbossedImages._applyImageMask):
- (generateEmbossedImages):
- * UserInterface/Main.html:
- 2012-03-03 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10960903> Include Network timeline graph in the network data grid
- Reviewed by Timothy Hatcher.
- * UserInterface/DataGrid.css:
- (.data-grid th):
- When columns were collapsed down to width:0, the <th> content was overflowing.
- <td> already had overflow:hidden, so this just adds it to <th>.
- (.data-grid th.sort-descending > div:first-child):
- (.data-grid th.sort-ascending > div:first-child::after):
- (.data-grid th.sort-descending > div:first-child::after):
- Now that a <th> may have multiple divs, specify that we want the
- sort indicator to show up after the first <div>, before the
- divider and collapse-button.
- * UserInterface/DataGrid.js:
- (WebInspector.DataGrid):
- (WebInspector.DataGrid.prototype.updateWidths):
- Move code into the block that was only used in the block.
- (WebInspector.DataGrid.prototype.columnWidthsMap):
- (WebInspector.DataGrid.prototype.applyColumnWidthsMap):
- A brute force API to get / adjust all column widths.
- (WebInspector.DataGrid.prototype._isColumnVisible):
- (WebInspector.DataGrid.prototype._showColumn):
- (WebInspector.DataGrid.prototype._hideColumn):
- (WebInspector.DataGrid.prototype._positionResizers):
- Rewrite to actually work. Setting a colgroup as hidden or display:none
- was actually ignoring the colgroup alltogether, breaking the normal
- colgroup[i] === column[i] relationship. Setting the width to 0 kept
- the relationship, and hides the column's contents.
- (WebInspector.DataGrid.prototype._clickInHeaderCell):
- (WebInspector.NetworkDataGrid.prototype.willToggleColumnGroup):
- (WebInspector.NetworkDataGrid.prototype.didToggleColumnGroup):
- Handle clicks on the collapser button. Run some optional subclass
- methods so state can be saved and so the column widths can be adjusted.
- * UserInterface/NetworkDataGrid.js:
- (WebInspector.NetworkDataGrid.prototype.willToggleColumnGroup):
- (WebInspector.NetworkDataGrid.prototype.didToggleColumnGroup):
- Handle toggling the column sizes. When collapsing, keep the "Name"
- field the same width that it was. But when expanding, just relayout
- back to whatever the original widths were.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView):
- Add rows to a "details" column group and specify a collapser.
- * UserInterface/TimelinesContentView.css:
- (.content-view.timelines > .data-grid .column-group-details):
- Slightly dim the "details" column group.
- 2012-03-03 Joseph Pecoraro <pecoraro@apple.com>
- Update offscreen rows after sorting.
- Reviewed by Timothy Hatcher.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView.prototype._sortCurrentDataGrid):
- 2012-03-03 Joseph Pecoraro <pecoraro@apple.com>
- Sorting the Network Timeline column should sort by resource
- response time, falling back to request time. Make this
- the default sort for the DataGrid.
- Reviewed by Timothy Hatcher.
- * UserInterface/ResourceTimelineDataGridNode.js:
- (WebInspector.ResourceTimelineDataGridNode.prototype.get data):
- 2012-03-03 Joseph Pecoraro <pecoraro@apple.com>
- Fix the Timeline Grid sizes for the RemoteDebugger. It looks
- as if this isn't needed anymore and actually displays poorly
- on 10.7.3 WebKit.
- Reviewed by Timothy Hatcher.
- * UserInterface/TimelinesContentView.css:
- 2012-03-03 Timothy Hatcher <timothy@apple.com>
- Don't move to editing the next property when pressing return/enter while editing a property value.
- Pressing return/enter still moves to the value when you are editing the property name. If you want
- to edit the next property, that is what tab is for!
- Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/StylePropertyTreeElement.js:
- (WebInspector.StylePropertyTreeElement.prototype.editingNameValueKeyDown): Support a move direction of "none".
- (WebInspector.StylePropertyTreeElement.prototype.selectElement.editingCommitted): Don't call the moveToNextCallback
- if there is no moveDirection or moveDirection is "none".
- 2012-03-03 Timothy Hatcher <timothy@apple.com>
- Override TreeElement.ondblclick instead of having a separate dblclick listener in StylePropertyTreeElement.
- Reviewed by Joseph Pecoraro.
- * UserInterface/StylePropertyTreeElement.js:
- (WebInspector.StylePropertyTreeElement.prototype.onattach): Removed dblclick event listener.
- (WebInspector.StylePropertyTreeElement.prototype.ondblclick): Renamed from _startEditing.
- 2012-03-03 Timothy Hatcher <timothy@apple.com>
- Make URLs that go to the main resource of a frame open in the Web Inspector instead of in a new tab.
- Reviewed by Joseph Pecoraro.
- * UserInterface/Main.js:
- (WebInspector.openURL): Check frame.mainResource.url before calling frame.resourceForURL.
- 2012-03-02 Timothy Hatcher <timothy@apple.com>
- Fix an error that was showing in the console and prevented revalidation of styled when DOM attributes are removed.
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._attributesModified): Renamed from _attributesRemovedOrStyleInvalidated
- since _attributesModified is what was registered as the event listener.
- * UserInterface/Object.js:
- (WebInspector.Object.addEventListener): Assert the event type and listener are not null/undefined/empty.
- (WebInspector.Object.removeEventListener): Ditto.
- 2012-03-03 Timothy Hatcher <timothy@apple.com>
- Use a go-to arrow to link to the location of the style rule in the stylesheet resource.
- The text links added a lot of clutter and often collided with the selector in bad ways.
- Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/CSSStyleDetailsSidebarPanel.css:
- (.sidebar > .panel.details.css-style .styles-section .go-to-arrow): Sized to fit the line. Hidden by default.
- (.sidebar > .panel.details.css-style .styles-section:hover .go-to-arrow): Reveal on hover of the section.
- * UserInterface/StylePropertiesSection.js:
- (WebInspector.StylePropertiesSection.prototype._linkify): Create the go-to arrow instead of a text link.
- 2012-03-02 Timothy Hatcher <timothy@apple.com>
- Show user agent rules in a separate section called "Base Style Rules".
- Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel): Create the Base Style Rules section.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections.createMatchedRuleGroups): Take an array and
- return a modified version of the array instead of fixed modification of the matchedRuleGroups array.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections): Update the user agent section separately.
- * UserInterface/StylePropertiesSection.js:
- (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode): Don't show an origin for user agent rules, since they are
- in their own section now.
- 2012-03-02 Timothy Hatcher <timothy@apple.com>
- Style the Style details sidebar.
- Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/CSSStyleDetailsSidebarPanel.css: Added.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections.createStylePropertiesSection):
- Stop passing false for isFirstSection argument.
- * UserInterface/ComputedStylePropertiesSection.js:
- (WebInspector.ComputedStylePropertiesSection): Update className.
- * UserInterface/DetailsSection.css:
- * UserInterface/Main.html: Included CSSStyleDetailsSidebarPanel.css.
- * UserInterface/StylePropertiesSection.js:
- (WebInspector.StylePropertiesSection): Remove isFirstSection argument.
- * UserInterface/StylePropertyTreeElement.js:
- (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Create and append the expand element for the
- disclosure triangle use for shorthands. Create an inner element for the swatch for transparent colors.
- (WebInspector.StylePropertyTreeElement.prototype.restoreNameElement): Remove "webkit-" class prefix.
- (WebInspector.StylePropertyTreeElement.prototype._isNameElement): Ditto.
- (WebInspector.StylePropertyTreeElement.prototype._isValueElement): Ditto. Return early if it is the expand element.
- (WebInspector.StylePropertyTreeElement.prototype.isEventWithinDisclosureTriangle): Added.
- 2012-03-01 Timothy Hatcher <timothy@apple.com>
- Show an empty content message in the Issue sidebar when there are no issues.
- Reviewed by Brian Weinstein.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/IssueSidebarPanel.js:
- (WebInspector.IssueSidebarPanel): Call _updateEmptyContentPlaceholder.
- (WebInspector.IssueSidebarPanel.prototype._updateEmptyContentPlaceholder): Added.
- (WebInspector.IssueSidebarPanel.prototype._issuesCleared): Call _updateEmptyContentPlaceholder.
- (WebInspector.IssueSidebarPanel.prototype._checkForOldResources.delayedWork): Ditto.
- 2012-03-01 Timothy Hatcher <timothy@apple.com>
- Don't show the same node twice in the navigation bar when the close tag is selected in the DOM tree.
- Reviewed by Brian Weinstein.
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView.prototype.get selectionPathComponents): Skip close tag tree elements.
- 2012-03-01 Timothy Hatcher <timothy@apple.com>
- Update the Style details sidebar when stylesheets, the media query result, or the DOM changes.
- Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel): Added event listeners for the DOM and CSS changes.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype.get _userOperationInProgress): Added.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSectionsIfNonUserAction): Added. Call _rebuildSections.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._attributesModified): Added. Call _rebuildSectionsIfNonUserAction.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._attributesRemoved): Added. Ditto.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._styleInvalidated): Added. Ditto.
- 2012-03-01 Timothy Hatcher <timothy@apple.com>
- Include pseudo elements in the Style details sidebar.
- Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections): Go through the pseudo elements.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections.createStylePropertiesSection): Broken out from
- createStylePropertiesSectionGroup.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections.createStylePropertiesSectionGroup): Only create
- the row and group now.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections.createMatchedRuleGroups): Added. Creates sections
- and groups for each pseudo element identifier.
- 2012-03-01 Timothy Hatcher <timothy@apple.com>
- Update the computed style and overloaded properties when editing a style property.
- Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel):
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections.createStylePropertiesSectionGroup):
- Add the StylePropertiesSection to the mainPropertySectionMap.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections): Store direct references to the important
- property sections and add them to the mainPropertySections.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._refreshSections): Added.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._refreshSections.computedStyleCallback): Iterate over all the property sections
- and build the style rules needed to update overloaded and used properties.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._markUsedProperties): Clean up.
- * UserInterface/StylePropertiesSection.js:
- (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback): Call _refreshSections.
- (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted): Remove reference to WebInspector.panels.elements.
- * UserInterface/StylePropertyTreeElement.js:
- (WebInspector.StylePropertyTreeElement.prototype._updatePane): Use _refreshSections.
- (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled): Use _parentPane.
- (WebInspector.StylePropertyTreeElement.prototype.applyStyleText): Ditto.
- 2012-03-01 Joseph Pecoraro <pecoraro@apple.com>
- Fixed localization typo.
- Reviewed by Timothy Hatcher.
- * Localizations/en.lproj/localizedStrings.js:
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView):
- 2012-03-01 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10960903> Include Network timeline graph in the network data grid
- Before we make other improvements at least adjust the timeline graph
- sizes to reasonable sizes.
- Reviewed by Timothy Hatcher.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView):
- 2012-03-01 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10960903> Include Network timeline graph in the network data grid
- Adopt OpenSource's "offscreen" row hiding for performance.
- Reviewed by Timothy Hatcher.
- * UserInterface/TimelinesContentView.css:
- (.content-view.timelines > .data-grid tr.offscreen):
- (.content-view.timelines > .data-grid tr.offscreen td):
- Ensure offscreen table rows still have a height, and hide their contents.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView):
- (WebInspector.TimelinesContentView.prototype.updateLayout):
- (WebInspector.TimelinesContentView.prototype._updatePendingRecords):
- Update offscreen rows when the view resizes, and after we've sorted / added new rows.
- (WebInspector.TimelinesContentView.prototype._updateOffscreenRows):
- Mark data grid table rows outside the visible bounds as "offscreen".
- * UserInterface/ResourceTimelineDataGridNode.js:
- (WebInspector.ResourceTimelineDataGridNode.prototype.select):
- When a user uses keyboard shortcuts and moves up/down to a row that
- was offscreen, the selection happens before the node scrolls into view.
- In order for its layout to work properly it can't be display none,
- so remove the offscreen class preemptively.
- 2012-03-01 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10960903> Include Network timeline graph in the network data grid
- Reviewed by Timothy Hatcher.
- * UserInterface/Images/graphLabelCalloutLeft.png: Added.
- * UserInterface/Images/graphLabelCalloutLeftWhite.png: Added.
- * UserInterface/Images/graphLabelCalloutRight.png: Added.
- * UserInterface/Images/graphLabelCalloutRightWhite.png: Added.
- * UserInterface/Images/timelineHollowPillBlue.png: Added.
- * UserInterface/Images/timelineHollowPillGray.png: Added.
- * UserInterface/Images/timelineHollowPillGreen.png: Added.
- * UserInterface/Images/timelineHollowPillOrange.png: Added.
- * UserInterface/Images/timelineHollowPillPurple.png: Added.
- * UserInterface/Images/timelineHollowPillRed.png: Added.
- * UserInterface/Images/timelineHollowPillYellow.png: Added.
- * UserInterface/Images/timelinePillBlue.png: Added.
- * UserInterface/Images/timelinePillGray.png: Added.
- * UserInterface/Images/timelinePillGreen.png: Added.
- * UserInterface/Images/timelinePillOrange.png: Added.
- * UserInterface/Images/timelinePillPurple.png: Added.
- * UserInterface/Images/timelinePillRed.png: Added.
- * UserInterface/Images/timelinePillWhiteFlat.png: Added.
- Open Source images and new white images from Timothy Hatcher.
- There will need to be HiDPI versions of these images.
- * UserInterface/Main.html:
- Added new files.
- * UserInterface/Main.html:
- * UserInterface/NetworkTimeline.css: Added.
- Basic styles copied from Open Source. Minor adjustments for image sizes.
- (.data-grid:focus tr.selected .network-graph-bar):
- (.data-grid:focus tr.selected .resource-cached .network-graph-bar):
- (.data-grid:focus tr.selected .network-graph-bar.waiting):
- (.data-grid:focus tr.selected .network-graph-label):
- (.data-grid:focus tr.selected .network-graph-label.after):
- (.data-grid:focus tr.selected .network-graph-label.before::after):
- (.data-grid:focus tr.selected .network-graph-label.after::before):
- New frontend styles for the network graph when the data grid row is selected.
- This makes the pill, callouts, and text white / blue matching the data grid
- selected style.
- * UserInterface/NetworkDataGrid.js: Added.
- (WebInspector.NetworkDataGrid):
- (WebInspector.NetworkDataGrid.prototype.constructor.WebInspector.NetworkDataGrid.get currentCalculator):
- (WebInspector.NetworkDataGrid.prototype.updateCalculatorBoundariesWithRecord):
- (WebInspector.NetworkDataGrid.prototype.updateCalculatorBoundariesWithDataGridNode):
- (WebInspector.NetworkDataGrid.prototype.reset):
- NetworkDataGrid has a just a time calculator right now, that adjusts its bounds
- based on resource start time, end times, and on-going load times.
- * UserInterface/ResourceTimelineDataGridNode.js:
- (WebInspector.ResourceTimelineDataGridNode):
- (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent):
- (WebInspector.ResourceTimelineDataGridNode.prototype._createGraphElement):
- Create and update the network graph elements for the cell content.
- (WebInspector.ResourceTimelineDataGridNode.prototype.select):
- Show the pill labels when the row is selected. Not just onmouseover.
- (WebInspector.ResourceTimelineDataGridNode.prototype._refreshGraph):
- (WebInspector.ResourceTimelineDataGridNode.prototype._refreshLabelPositions):
- Use the provided network calculator shared with the other grid nodes to create
- the appropriate bar for this resource.
- appropriately within the network calculators bounds.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView):
- Timeline DataGrids may have embedded timeline graphs that adjust their bounds
- based on the records (start times, max sizes, etc) their content contains.
- Calculator objects manage those bounds. If the current data grid has a
- calculator we do a few extra actions to ensure nice updates.
- (WebInspector.TimelinesContentView.prototype._recordingStarted):
- Reset the data grid's calculators.
- (WebInspector.TimelinesContentView.prototype._updatePendingRecords):
- (WebInspector.TimelinesContentView.prototype._updateCalculatorBoundsForPendingRecords):
- (WebInspector.TimelinesContentView.prototype._updatePendingRecordsWithNewBounds):
- Update the calculator's bounds before updating pending records so that all records
- are drawn with the same, most accurate bounds.
- 2012-03-01 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10960903> Include Network timeline graph in the network data grid
- Reviewed by Timothy Hatcher.
- * Localizations/en.lproj/localizedStrings.js:
- New strings for the tooltips provided by the graph calculator.
- * UserInterface/Main.html:
- * UserInterface/NetworkGraphCalculator.js: Added.
- (WebInspector.NetworkTimeCalculator):
- (WebInspector.NetworkTimeCalculator.prototype.get boundarySpan):
- (WebInspector.NetworkTimeCalculator.prototype.reset):
- (WebInspector.NetworkTimeCalculator.prototype.computeBarGraphPercentages):
- (WebInspector.NetworkTimeCalculator.prototype.computeBarGraphLabels):
- (WebInspector.NetworkTimeCalculator.prototype.updateBoundaries):
- (WebInspector.NetworkTimeCalculator.prototype.formatValue):
- (WebInspector.NetworkTimeCalculator.prototype._lowerBound):
- (WebInspector.NetworkTimeCalculator.prototype._upperBound):
- (WebInspector.NetworkTransferTimeCalculator):
- (WebInspector.NetworkTransferTimeCalculator.prototype._lowerBound):
- (WebInspector.NetworkTransferTimeCalculator.prototype._upperBound):
- (WebInspector.NetworkTransferDurationCalculator):
- (WebInspector.NetworkTransferDurationCalculator.prototype._upperBound):
- Port from OpenSource to work with the new frontend's resource objects.
- * UserInterface/ResourceTimelineRecord.js:
- (WebInspector.ResourceTimelineRecord.prototype.get endTime):
- Move "endTime" resource calculation from here ...
- * UserInterface/Resource.js:
- (WebInspector.Resource.prototype.get lastTimestamp):
- ... to here as "lastTimestamp".
- 2012-03-01 Joseph Pecoraro <pecoraro@apple.com>
- Upgrade .hidden to a common case that does display:none.
- This is used throughout the OpenSource frontend to hide elements
- and some existing code already uses it and may not be getting
- the proper treatment.
- Reviewed by Timothy Hatcher.
- * UserInterface/TextEditor.css:
- * UserInterface/NavigationSidebarPanel.css:
- * UserInterface/ApplicationCacheFrameContentView.css:
- * UserInterface/Main.css:
- (.hidden):
- * UserInterface/TextEditor.css:
- This removes new front-end occurrences of "hidden". However
- it did not remove their JavaScript property.
- 2012-03-01 Joseph Pecoraro <pecoraro@apple.com>
- Prevent adding a node to the pending refresh list multiple times.
- Reviewed by Timothy Hatcher.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView):
- (WebInspector.TimelinesContentView.prototype._updatePendingRecords):
- (WebInspector.TimelinesContentView.prototype._scheduleGridNodeForRefresh):
- Flag on the DataGridNode as pending a refresh if we've added it
- to the refresh list and remove the flag after refreshing.
- 2012-03-01 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10952471> Page should reload when pushing <cmd>+R
- Reviewed by Timothy Hatcher.
- * UserInterface/EditingSupport.js:
- (WebInspector.isEventTargetAnEditableField):
- Add code, similar to Open Source to detect if the event is inside of
- an editable field. Although some TextPrompt's mark their element as
- editing, the Console does not. Nor do <input>s.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- (WebInspector._keydown):
- Add a keydown listener on the document checking for <cmd>+R.
- 2012-03-01 Brian Weinstein <bweinstein@apple.com>
- Finish up JavaScript profiling in the new inspector.
-
- This patch fixes some loose ends.
- - Profiles started by the user now have the title "JavaScript Profile n".
- - Profile tree elements now have an icon.
- - Selecting "Start Profiling JavaScript" or "Stop Profiling JavaScript" from the Develop menu
- now take you to the instrument sidebar panel.
-
- Rest of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector.
- Reviewed by Tim Hatcher.
- * Localizations/en.lproj/localizedStrings.js: Update localized strings.
- * UserInterface/Images/Profile.png: Added.
- * UserInterface/Images/Profile@2x.png: Added.
- * UserInterface/InspectorFrontendAPI.js:
- (InspectorFrontendAPI.startProfilingJavaScript): Show the instrument sidebar panel.
- (InspectorFrontendAPI.stopProfilingJavaScript): Ditto.
- * UserInterface/InstrumentIcons.css: Add icons for profile tree elements.
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel.prototype._titleForProfile): Make the title for user generated
- profiles "JavaScript Profile n", instead of just "Profile n".
- (WebInspector.InstrumentSidebarPanel.prototype._profileWasAdded): Use the class name for the icon.
- 2012-03-01 Brian Weinstein <bweinstein@apple.com>
- Clear the list of profiles when the page navigates.
- More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector.
- Reviewed by Tim Hatcher.
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel): Add a listener for when the profile manager says the profiles
- were cleared.
- (WebInspector.InstrumentSidebarPanel.prototype._profilesCleared): Remove the tree elements from the sidebar,
- clear the map from profile titles -> tree elements, close all profile content views, and update the empty
- content placeholder.
- * UserInterface/ProfileManager.js:
- (WebInspector.ProfileManager): Add a listener for when the main resource did change.
- (WebInspector.ProfileManager.prototype.constructor.WebInspector.ProfileManager.initialize): Remove an unused variable.
- (WebInspector.ProfileManager.prototype._mainResourceDidChange): Call initialize and fire an event saying that profiles
- were cleared.
- 2012-02-29 Brian Weinstein <bweinstein@apple.com>
- Add the ability to start/stop JavaScript profiling from the inspector.
-
- This patch adds a recording glyph to the profiles title bar (which matches the one in the timelines title bar).
- The button will start and stop JavaScript profiling.
-
- More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector.
- Reviewed by Tim Hatcher.
- * Localizations/en.lproj/localizedStrings.js: Update localized strings.
- * UserInterface/InstrumentSidebarPanel.css: Make all of these rules work for title bars in the instruments
- sidebar panel other than the Timelines title bar. We need these rules for the Profiles title bar as well.
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel): Add a record button and status text next to the profiles sidebar. Also start
- listening for when the profile manager starts and stops profiling.
- (WebInspector.InstrumentSidebarPanel.prototype._profilingStarted): Start the text of the profiling status and add
- a recording style class to the glyph.
- (WebInspector.InstrumentSidebarPanel.prototype._profilingEnded): Clear the text of the profiling status and remove
- the recording style class from the glyph.
- (WebInspector.InstrumentSidebarPanel.prototype._profileGlyphMousedOver): Update the text of the profiling status.
- (WebInspector.InstrumentSidebarPanel.prototype._profileGlyphMousedOut): Ditto.
- (WebInspector.InstrumentSidebarPanel.prototype._profileGlyphClicked): Toggle the profiling state.
- * UserInterface/ProfileManager.js:
- (WebInspector.ProfileManager.prototype.constructor.WebInspector.ProfileManager.initialize): Add a flag that represents
- whether or not we are currently profiling.
- (WebInspector.ProfileManager.prototype.setRecordingProfile): Fire events for when we start or stop profiling.
- 2012-02-29 Timothy Hatcher <timothy@apple.com>
- Remember the last selected details sidebar panel and restore it when that panel becomes available.
- Reviewed by Jon Honeycutt.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Add event listener for SidebarPanelSelected event.
- (WebInspector._detailsSidebarPanelSelected): Added. Remember the identifier of the selected sidebar panel.
- (WebInspector._contentBrowserRepresentedObjectsDidChange): Ignore selection changes and restore the selection
- when the last selected sidebar panel is reinserted into the sidebar.
- 2012-02-29 Timothy Hatcher <timothy@apple.com>
- Prevent the new Web Inspector resources from installing in production builds since we are
- not enabling the Inspector in DP2.
- Reviewed by Mark Rowe.
- * Scripts/copy-user-interface-resources.sh: Exit early before copying.
- 2012-02-29 Timothy Hatcher <timothy@apple.com>
- Include missing image needed by the Log and Database content views.
- <rdar://problem/10952496> "userInputPreviousIcon.png" resource failed to load in Console
- Reviewed by Dan Bernstein.
- * UserInterface/DatabaseContentView.css:
- (.database-user-query::before): Use UserInputPromptPrevious.pdf.
- * UserInterface/Images/UserInputPromptPrevious.pdf: Added.
- * UserInterface/LogContentView.css:
- (.console-user-command::before): Use UserInputPromptPrevious.pdf.
- 2012-02-29 Timothy Hatcher <timothy@apple.com>
- Go through the style rules and mark the used and overloaded properties.
- Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections): Call _markUsedProperties and
- pass the result to WebInspector.ComputedStylePropertiesSection.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._markUsedProperties): Added. Copied from open source's
- StylesSidebarPane.js file.
- 2012-02-29 Timothy Hatcher <timothy@apple.com>
- Populate the Style sidebar sections after getting all the style info.
- Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections): Build a list of style rules
- that match the cascade order so we can mark used and overloaded properties. Rebuild the sections.
- * UserInterface/CSSStyleManager.js:
- (WebInspector.CSSStyleManager.prototype.getInlineStylesAsync): Merge from open source to work with TOT protocol.
- * UserInterface/StylePropertiesSection.js:
- (WebInspector.StylePropertiesSection): Don't show a selector if selectorText is empty.
- 2012-02-29 Timothy Hatcher <timothy@apple.com>
- Request the style information and store it, then build the sections after the last callback.
- Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections): Request the style info.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.computedStyleCallback): Store the result.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.matchedStylesCallback): Store the result.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.inlineStylesCallback): Store the results and
- call buildSections. Since this was the last async call to cssStyleManager, this will always be the last response.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections.buildSections): Added stub that needs implemented.
- 2012-02-29 Timothy Hatcher <timothy@apple.com>
- Remove the refresh code in the Style sidebar since it needs reworked to properly update in one step.
- The updating needs to be done in one step so the cascade and property priority are taken into account.
- The previous way of updating the sections in three async steps was not going to work.
- Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh): Call _rebuildSections.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._refreshStyleRules): Removed.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._refreshAttributeStyles): Removed.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._refreshComputedStyle): Removed.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._rebuildSections): Added stub that needs implemented.
- 2012-02-28 Timothy Hatcher <timothy@apple.com>
- More work for resource links in the Style details sidebar.
- Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/DOMDetailsSidebarPanel.js:
- (WebInspector.DOMDetailsSidebarPanel): Make the event listener capture since another listener interferes.
- (WebInspector.DOMDetailsSidebarPanel.prototype._mouseWasClicked): Pass along the line number.
- * UserInterface/Main.js:
- (WebInspector.openURL): Add support for opening to a line number. Use ResourceSidebarPanel which does all the work.
- * UserInterface/StylePropertiesSection.js:
- (WebInspector.StylePropertiesSection): Use _linkify instead of linkifyResourceAsNode.
- (WebInspector.StylePropertiesSection.prototype._linkify): Added.
- (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode): Use _linkify instead of linkifyResourceAsNode.
- 2012-02-28 Timothy Hatcher <timothy@apple.com>
- Copy over Color.js from open source and hook it up to the Style details sidebar.
- Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/CSSStyleManager.js:
- (WebInspector.CSSStyleManager): Use WebInspector.Color.Format.
- * UserInterface/Color.js: Copied from OpenSource/Source/WebCore/inspector/front-end/Color.js.
- * UserInterface/Main.html: Included Color.js.
- * UserInterface/StylePropertyTreeElement.js: Use WebInspector.Color.Format.
- 2012-02-28 Timothy Hatcher <timothy@apple.com>
- Get style editing working.
- Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/BoxModelDetailsSectionRow.js:
- (WebInspector.BoxModelDetailsSectionRow.prototype._handleKeyDown): Use WebInspector.CSSPropertyPrompt.alteredFloatNumber.
- * UserInterface/CSSPropertyPrompt.js:
- (WebInspector.CSSPropertyPrompt):
- (WebInspector.CSSPropertyPrompt.alteredFloatNumber): Moved from BoxModelDetailsSectionRow.
- (WebInspector.CSSPropertyPrompt.alteredHexNumber): Added from Open Source.
- (WebInspector.CSSPropertyPrompt.prototype._handleUpOrDownValue): Use alteredFloatNumber and alteredHexNumber on this class.
- * UserInterface/EditingSupport.js:
- (WebInspector.restoreFocusFromElement): Added from Open Source.
- * UserInterface/Main.html: Included CSSPropertyPrompt.js.
- * UserInterface/StylePropertyTreeElement.js:
- (WebInspector.StylePropertyTreeElement.prototype): Create CSSPropertyPrompt correctly.
- 2012-02-28 Timothy Hatcher <timothy@apple.com>
- Replace more uses of {add,remove,has}StyleClass with classList.{add,remove,contains}.
- Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/BlankStylePropertiesSection.js:
- (WebInspector.BlankStylePropertiesSection):
- (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
- (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
- (WebInspector.BlankStylePropertiesSection.prototype.makeNormal):
- * UserInterface/ProfileDataGridTree.js:
- (WebInspector.ProfileDataGridNode.prototype.createCell):
- * UserInterface/StylePropertiesSection.js:
- (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceDoubleClick):
- 2012-02-28 Timothy Hatcher <timothy@apple.com>
- Make links work in the Style details sidebar.
- Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._refreshAttributeStyles): Pass the domNode.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._refreshComputedStyle): Ditto.
- * UserInterface/DOMDetailsSidebarPanel.js:
- (WebInspector.DOMDetailsSidebarPanel): Add click event listener.
- (WebInspector.DOMDetailsSidebarPanel.prototype._mouseWasClicked): Added. Find the parentFrame for
- the inspected DOM node and then call openURL.
- * UserInterface/StylePropertyTreeElement.js:
- (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL): Remove references to
- elements panel and fix up the linifying code to work with the new Inspector code.
- 2012-02-29 Brian Weinstein <bweinstein@apple.com>
- Group together profiles with the same name into folders when there is more than
- one of them.
-
- More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector.
- Reviewed by Tim Hatcher.
- * Localizations/en.lproj/localizedStrings.js: Update localized strings.
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel): Add a mapping from profile title -> profile tree element (or folder).
- (WebInspector.InstrumentSidebarPanel.prototype._profileWasAdded): Add multiple cases for when
- we add a profile. If it's the first profile with a given name, add it to the sidebar. If there already
- is a folder that represents all profiles with that name, then add the profile to that folder. If there
- is already a profile with that same name, create a folder to represent all profiles with that name,
- and add both the previous profile and the new profile to that folder.
- 2012-02-28 Brian Weinstein <bweinstein@apple.com>
- Make console.profile work and show entries in the instrument sidebar.
-
- We now enable profiling when we open the web inspector, instead of when we are just told to create
- a profile. This allows console.profile to work when the web inspector is open.
-
- More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector.
- Reviewed by Tim Hatcher.
- * UserInterface/ProfileManager.js:
- (WebInspector.ProfileManager): Enable the ProfilerAgent when we start the ProfileManager.
- (WebInspector.ProfileManager.prototype.startProfilingJavaScript): Call startRecordingProfile.
- (WebInspector.ProfileManager.prototype.stopProfilingJavaScript): Don't disable the ProfilerAgent.
- (WebInspector.ProfileManager.prototype.addProfile): If we don't have a recording JavaScript profile (which
- we wouldn't if addProfile was called from console.profile), then create a new ProfileObject and fire an
- event.
- 2012-02-28 Timothy Hatcher <timothy@apple.com>
- Start showing Computed Style in the Style details sidebar.
- Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel): Create a Computed Style section.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh): Call _refreshComputedStyle.
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype._refreshComputedStyle): Added. Request the computed styles
- then make a ComputedStylePropertiesSection.
- * UserInterface/CSSStyleManager.js:
- (WebInspector.CSSStyleManager): Added setting for color format.
- (WebInspector.CSSStyleManager.prototype.get preferredColorFormat): Added.
- * UserInterface/ComputedStylePropertiesSection.js:
- (WebInspector.ComputedStylePropertiesSection): Replace addStyleClass with classList.add.
- (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace): Ditto.
- * UserInterface/DetailsSection.js:
- (WebInspector.DetailsSection): Make a empty group by default if none are passed in.
- * UserInterface/DetailsSectionPropertiesRow.js: Added.
- (WebInspector.DetailsSectionPropertiesRow):
- (WebInspector.DetailsSectionPropertiesRow.prototype.get propertiesSection):
- (WebInspector.DetailsSectionPropertiesRow.prototype.set propertiesSection):
- * UserInterface/Main.html: Included DetailsSectionPropertiesRow.
- * UserInterface/StylePropertiesSection.js:
- (WebInspector.StylePropertiesSection): Removed single-click experiment.
- * UserInterface/StylePropertyTreeElement.js:
- (WebInspector.StylePropertyTreeElement.prototype.onattach): Removed single-click experiment.
- (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Use CSSStyleManager for the color format.
- Replaced addStyleClass with classList.add and removeStyleClass with classList.remove.
- 2012-02-27 Timothy Hatcher <timothy@apple.com>
- Fix some exceptions when running against shipping WebKit.
- There are no setters for sortOrder or sortColumnIdentifier. Trying to set them use to throw an exception.
- They just are silently ignored in TOT WebKit. The sort info is properly set earlier in the function.
- Reviewed by Joseph Pecoraro.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView): Remove sets for sortOrder and sortColumnIdentifier.
- 2012-02-27 Timothy Hatcher <timothy@apple.com>
- Hide the appearance and style details sidebars when the node is not an element.
- Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/AppearanceDetailsSidebarPanel.js:
- (WebInspector.AppearanceDetailsSidebarPanel.prototype.supportsDOMNode): Added. Support only ELEMENT_NODE types.
- * UserInterface/CSSStyleDetailsSidebarPanel.js:
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype.supportsDOMNode): Added. Support only ELEMENT_NODE types.
- * UserInterface/DOMDetailsSidebarPanel.js:
- (WebInspector.DOMDetailsSidebarPanel.prototype..inspect): Call supportsDOMNode before setting domNode.
- (WebInspector.DOMDetailsSidebarPanel.prototype.supportsDOMNode): Added. Always return true.
- 2012-02-27 Timothy Hatcher <timothy@apple.com>
- Move empty message support from DetailsSectionDataGridRow down to DetailsSectionRow.
- This allows BoxModelDetailsSectionRow to show a properly styled empty message. It will
- also allow other rows in the Style details sidebar to do the same.
- Reviewed by Joseph Pecoraro.
- * UserInterface/BoxModelDetailsSectionRow.js:
- (WebInspector.BoxModelDetailsSectionRow): Pass the emptyMessage to the DetailsSectionRow constructor.
- (WebInspector.BoxModelDetailsSectionRow.prototype._refresh): Use showEmptyMessage.
- (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics): Use hideEmptyMessage
- * UserInterface/DetailsSection.css:
- (.details-section > .content > .group > .row.empty): Removed .data-grid from the selector.
- * UserInterface/DetailsSectionDataGridRow.js:
- (WebInspector.DetailsSectionDataGridRow): Pass the emptyMessage to DetailsSectionRow constructor.
- (WebInspector.DetailsSectionDataGridRow.prototype.set dataGrid): Use showEmptyMessage
- and hideEmptyMessage.
- * UserInterface/DetailsSectionRow.js:
- (WebInspector.DetailsSectionRow): Initialize the _emptyMessage.
- (WebInspector.DetailsSectionRow.prototype.get emptyMessage): Added.
- (WebInspector.DetailsSectionRow.prototype.set emptyMessage): Added.
- (WebInspector.DetailsSectionRow.prototype.showEmptyMessage): Added.
- (WebInspector.DetailsSectionRow.prototype.hideEmptyMessage): Added.
- 2012-02-27 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.CSSStyleDetailsSidebarPanel and make it show up in the details sidebar.
- Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/CSSStyleDetailsSidebarPanel.js: Added.
- (WebInspector.CSSStyleDetailsSidebarPanel):
- (WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh):
- * UserInterface/Images/NavigationItemCurleyBraces.pdf: Added.
- * UserInterface/Main.html:
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- 2012-02-27 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.CSSObserver and wire it up to the InspectorBackend.
- Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/CSSObserver.js: Added.
- (WebInspector.CSSObserver):
- (WebInspector.CSSObserver.prototype.mediaQueryResultChanged):
- (WebInspector.CSSObserver.prototype.styleSheetChanged):
- * UserInterface/Main.html: Included CSSObserver.js.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Call registerCSSDispatcher with an CSSObserver instance.
- 2012-02-24 Brian Weinstein <bweinstein@apple.com>
- Add a sane name for user generated profiles.
- More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector.
- Reviewed by Tim Hatcher.
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel.prototype.addProfile):
- * UserInterface/ProfileManager.js:
- 2012-02-24 Brian Weinstein <bweinstein@apple.com>
- Create a JavaScriptProfileView when a profile is selected and show it.
- More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector.
- Reviewed by Tim Hatcher.
- * Localizations/en.lproj/localizedStrings.js: Update localized strings.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView): Add a case for ProfileObject.
- (WebInspector.ContentView.isViewable): Ditto.
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel): Add a listener for when items in the content tree outline are selected.
- (WebInspector.InstrumentSidebarPanel.prototype._profileSelected): Call showContentViewForRepresentedObject on
- the selected ProfileObject.
- * UserInterface/Main.js:
- (WebInspector.sidebarPanelForRepresentedObject): Add a case for ProfileObject.
- 2012-02-24 Brian Weinstein <bweinstein@apple.com>
- Hook up Start/Stop Profiling JavaScript in the Develop menu, and make each profile show
- up as a sidebar item.
- More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector.
- Reviewed by Tim Hatcher.
- * UserInterface/InspectorFrontendAPI.js:
- (InspectorFrontendAPI.isProfilingJavaScript): Call into the ProfileManager.
- (InspectorFrontendAPI.startProfilingJavaScript): Ditto.
- (InspectorFrontendAPI.stopProfilingJavaScript): Ditto.
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel.prototype._profileWasAdded): Create a tree element for the added profile.
- (WebInspector.InstrumentSidebarPanel.prototype._profileWasUpdated): Update the title of the tree element for the
- profile that was updated.
- * UserInterface/JavaScriptProfileType.js: Change the value of a constant to match data we get back
- from the Profiler.
- * UserInterface/ProfileManager.js:
- (WebInspector.ProfileManager.prototype.constructor.WebInspector.ProfileManager.initialize): Clear the current JavaScript
- profile variable.
- (WebInspector.ProfileManager.prototype.isProfilingJavaScript): Return whether or not we are profiling JavaScript.
- (WebInspector.ProfileManager.prototype.startProfilingJavaScript): Enable the ProfilerAgent, we kick off the profile in
- the callback.
- (WebInspector.ProfileManager.prototype.stopProfilingJavaScript): Stop recording the current profile and disable the
- ProfilerAgent.
- (WebInspector.ProfileManager.prototype.addProfile): Update our temporary recording profile to give it the information about
- the profile that was added, and fire an event that the profile was u pdated.
- (WebInspector.ProfileManager.prototype.setRecordingProfile): Create a temporary profile if needed, and fire an event that
- it was created.
- (WebInspector.ProfileManager.prototype._profilerWasEnabled): Create a JavaScriptProfileType and start recording.
- * UserInterface/ProfilerObserver.js:
- (WebInspector.ProfilerObserver.prototype.addProfileHeader): Call ProfileManager.addProfile.
- (WebInspector.ProfilerObserver.prototype.setRecordingProfile): Call ProfileManager.setRecordingProfile.
- 2012-02-24 Brian Weinstein <bweinstein@apple.com>
- Add a stub ProfilerObserver and hook it up in Main.js.
-
- More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector.
- Reviewed by Tim Hatcher.
- * UserInterface/Main.html: Add new file.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Set up the ProfilerObserver.
- * UserInterface/ProfilerObserver.js: Added.
- (WebInspector.ProfilerObserver):
- (WebInspector.ProfilerObserver.prototype.constructor.WebInspector.ProfilerObserver.resetProfiles):
- (WebInspector.ProfilerObserver.prototype.addProfileHeader):
- (WebInspector.ProfilerObserver.prototype.addHeapSnapshotChunk):
- (WebInspector.ProfilerObserver.prototype.finishHeapSnapshot):
- (WebInspector.ProfilerObserver.prototype.setRecordingProfile):
- (WebInspector.ProfilerObserver.prototype.reportHeapSnapshotProgress):
- 2012-02-24 Brian Weinstein <bweinstein@apple.com>
- Add ProfileType and JavaScriptProfileType to Main.html, since later patches will depend on them.
- More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector.
- Reviewed by Tim Hatcher.
- * UserInterface/Main.html:
- 2012-02-24 Brian Weinstein <bweinstein@apple.com>
- Make ProfileDataGridTree work with the changes to the new inspector.
-
- - Update the way formatted strings are created
- - Changes the settings to use the new inspector's syntax
- - Remove the depedency on the linkifier
- More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector.
- Reviewed by Tim Hatcher.
- * UserInterface/ProfileDataGridTree.js:
- (WebInspector.ProfileDataGridNode.prototype.get data):
- (WebInspector.ProfileDataGridNode.prototype.linkifyLocation):
- (WebInspector.ProfileDataGridNode.prototype.createCell):
- 2012-02-24 Brian Weinstein <bweinstein@apple.com>
- Bring in some specialized profile data grid components from open source.
-
- More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector.
- Reviewed by Tim Hatcher.
- * UserInterface/BottomUpProfileDataGridTree.js: Added. Copied from open source.
- * UserInterface/ProfileDataGridTree.js: Added. Copied from open source.
- * UserInterface/TopDownProfileDataGridTree.js: Added. Copied from open source.
- * UserInterface/Main.html: Add new files.
- 2012-02-24 Brian Weinstein <bweinstein@apple.com>
- Add rules from open source for the profile view to JavaScriptProfileView.css.
-
- More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector.
- Reviewed by Tim Hatcher.
- * UserInterface/JavaScriptProfileView.css: Added. Copied rules from open source.
- * UserInterface/Main.html: Added file.
- 2012-02-24 Brian Weinstein <bweinstein@apple.com>
- Clean up JavaScriptProfileView so it can be used in the new inspector.
-
- This patch:
- - Removes the status bar buttons (adding a FIXME to bring back that functionality)
- - Makes the class inherit from ContentView instead of just View
- - Replaces *styleClass functions with classList.*
- - Changes the settings to use the new inspector's syntax
- Reviewed by Tim Hatcher.
- * UserInterface/JavaScriptProfileView.js:
- (WebInspector.JavaScriptProfileView):
- (WebInspector.JavaScriptProfileView.prototype._changeView):
- (WebInspector.JavaScriptProfileView.prototype._percentClicked):
- (WebInspector.JavaScriptProfileView.prototype._updatePercentButton):
- (WebInspector.JavaScriptProfileView.prototype._focusClicked):
- (WebInspector.JavaScriptProfileView.prototype._excludeClicked):
- (WebInspector.JavaScriptProfileView.prototype._resetClicked):
- (WebInspector.JavaScriptProfileView.prototype._dataGridNodeSelected):
- (WebInspector.JavaScriptProfileView.prototype._dataGridNodeDeselected):
- (WebInspector.JavaScriptProfileView.prototype._mouseDownInDataGrid):
- * UserInterface/Main.html: Add JavaScriptProfileView.
- 2012-02-24 Brian Weinstein <bweinstein@apple.com>
- Add a ProfileObject class, which just holds some data about profiles (type, title, uid, and whether or not
- it is temporary).
- More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector.
- Reviewed by Tim Hatcher.
- * UserInterface/ProfileObject.js: Added.
- (WebInspector.ProfileObject):
- (WebInspector.ProfileObject.prototype.constructor.WebInspector.ProfileObject.get typeId):
- (WebInspector.ProfileObject.prototype.get title):
- (WebInspector.ProfileObject.prototype.get uid):
- (WebInspector.ProfileObject.prototype.get isTemporary):
- 2012-02-22 Brian Weinstein <bweinstein@apple.com>
- Create a stub ProfileManager and add an initialize method.
-
- More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector.
- Reviewed by Tim Hatcher.
- * UserInterface/Main.html: Add new file.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Create a profile manager.
- * UserInterface/ProfileManager.js: Added.
- (WebInspector.ProfileManager):
- (WebInspector.ProfileManager.prototype.constructor.WebInspector.ProfileManager.initialize):
- 2012-02-20 Brian Weinstein <bweinstein@apple.com>
- Rename CPUProfile to JavaScriptProfile.
-
- More of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector.
- Reviewed by Tim Hatcher.
- * UserInterface/JavaScriptProfileType.js:
- (WebInspector.JavaScriptProfileType):
- (WebInspector.JavaScriptProfileType.prototype.createView):
- * UserInterface/JavaScriptProfileView.js:
- (WebInspector.JavaScriptProfileView.prototype._changeView.set else):
- 2012-02-20 Brian Weinstein <bweinstein@apple.com>
- Bring in some files from open source.
-
- Start of <rdar://problem/10897473> Implement JavaScript profiling in the new Web Inspector.
- Reviewed by Tim Hatcher.
- * UserInterface/JavaScriptProfileType.js: Added. Copied from open source.
- * UserInterface/JavaScriptProfileView.js: Added. Copied from open source.
- * UserInterface/ProfileType.js: Added. Copied from open source.
- 2012-02-26 Timothy Hatcher <timothy@apple.com>
- Use insertionIndexForObjectInListSortedByFunction to efficiently build the timeline data grids.
- Calling _sortCurrentDataGrid for each update was expensive since it removes all the rows and reinserts them.
- Part of: <rdar://problem/10319553&10319567&10319571>
- Reviewed by Joseph Pecoraro.
- * UserInterface/DataGrid.js:
- (WebInspector.DataGridNode.prototype._attach): Fix a bug that prevented inserting the row in the right place.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView.prototype._updatePendingRecords): Use insertionIndexForObjectInListSortedByFunction
- when there is a sortColumnIdentifier. Don't call _sortCurrentDataGrid anymore.
- (WebInspector.TimelinesContentView.prototype._sortCurrentDataGrid): Use _sortComparator.
- (WebInspector.TimelinesContentView.prototype._sortComparator): Added. Factored out of _sortCurrentDataGrid.
- 2012-02-26 Timothy Hatcher <timothy@apple.com>
- Show recoding status in the Instrument sidebar and allow manually starting and stopping recording.
- Part of: <rdar://problem/10319553&10319567&10319571>
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/Images/Recording.png: Added.
- * UserInterface/Images/Recording@2x.png: Added.
- * UserInterface/Images/RecordingHovered.png: Added.
- * UserInterface/Images/RecordingHovered@2x.png: Added.
- * UserInterface/Images/RecordingStopped.png: Added.
- * UserInterface/Images/RecordingStopped@2x.png: Added.
- * UserInterface/InstrumentSidebarPanel.css:
- (.sidebar > .panel.instrument > .title-bar):
- (.sidebar > .panel.instrument > .title-bar.timelines > .record-glyph):
- (.sidebar > .panel.instrument > .title-bar.timelines > .record-glyph.recording):
- (.sidebar > .panel.instrument > .title-bar.timelines > .record-glyph:hover):
- (.sidebar > .panel.instrument > .title-bar.timelines > .record-glyph.recording:hover):
- (.sidebar > .panel.instrument > .title-bar.timelines > .record-glyph.forced):
- (.sidebar > .panel.instrument > .title-bar.timelines > .record-glyph.recording.forced):
- (.sidebar > .panel.instrument > .title-bar.timelines > .record-status):
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel): Create glyph and status elements.
- (WebInspector.InstrumentSidebarPanel.prototype._recordingStarted): Added. Update glyph and status.
- (WebInspector.InstrumentSidebarPanel.prototype._recordingStopped): Added. Ditto.
- (WebInspector.InstrumentSidebarPanel.prototype._recordGlyphMousedOver): Added. Clear forced class.
- Update status to reflect what it will be if the button is clicked.
- (WebInspector.InstrumentSidebarPanel.prototype._recordGlyphMousedOut): Added. Restore current status.
- (WebInspector.InstrumentSidebarPanel.prototype._recordGlyphClicked): Added. Add forced class to prevent
- the glyph from showing a confusing status after click.
- 2012-02-26 Timothy Hatcher <timothy@apple.com>
- Draw the overview bar graph at the top of the timeline content view.
- Part of: <rdar://problem/10319553&10319567&10319571>
- Reviewed by Joseph Pecoraro.
- * UserInterface/TimelineOverview.css:
- (.timeline-overview > .timeline > .bar-container):
- (.timeline-overview > .timeline .bar):
- (.timeline-overview > .timeline .bar.waiting):
- (.timeline-overview > .timeline.timeline-record-type-network .bar):
- (.timeline-overview > .timeline.timeline-record-type-layout .bar):
- (.timeline-overview > .timeline.timeline-record-type-script .bar):
- * UserInterface/TimelineOverview.js:
- (WebInspector.TimelineOverview): Create a bar container in each timeline.
- (WebInspector.TimelineOverview.prototype.update): Call _updateTimelineBars for each type.
- (WebInspector.TimelineOverview.prototype._updateTimelineBars): Added.
- (WebInspector.TimelineOverview.prototype._updateTimelineBars.computePercentages): Compute percentages
- for startTime and endTime.
- (WebInspector.TimelineOverview.prototype._updateTimelineBars.computeActivePercentages): Compute percentages
- for endTime and the start of activeDuration.
- (WebInspector.TimelineOverview.prototype._updateTimelineBars.addBar): Create a bar and append it.
- (WebInspector.TimelineOverview.prototype._updateTimelineBars.createBars): Iterate over the records and find
- the distribution on the graph.
- 2012-02-26 Timothy Hatcher <timothy@apple.com>
- Improve auto recording of timeline data so it stops at a reasonable time instead of a fixed 30 seconds.
- Recording will now stop when there has been 1 second of dead time after the load event fires. Or after a
- maximum of 10 seconds after the load event fires. This works well for a number of large and small sites.
- Part of: <rdar://problem/10319553&10319567&10319571>
- Reviewed by Joseph Pecoraro.
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager): Initialize _domContentLoadedEventTime and _loadEventTime.
- (WebInspector.TimelineManager.prototype.get mainFrameLoadEventTime): Added.
- (WebInspector.TimelineManager.prototype.get mainFrameDOMContentLoadedEventTime): Added.
- (WebInspector.TimelineManager.prototype.startRecording): Initialize _domContentLoadedEventTime and _loadEventTime.
- (WebInspector.TimelineManager.prototype.stopRecording): Clear _deadTimeTimeout.
- (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Process the MarkLoad and MarkDOMContent records.
- Call _stopAutoRecordingSoon for MarkLoad.
- (WebInspector.TimelineManager.prototype._addRecord): Call _resetAutoRecordingDeadTimeTimeout.
- (WebInspector.TimelineManager.prototype._startAutoRecording): Removed timeout for stopRecording.
- (WebInspector.TimelineManager.prototype._stopAutoRecordingSoon): Added. Start a timeout for the maximum time. Also
- call _resetAutoRecordingDeadTimeTimeout to start watching dead time.
- (WebInspector.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout): Added. Reset the dead time timeout.
- 2012-02-26 Timothy Hatcher <timothy@apple.com>
- Draw the times in the timeline overview header.
- Part of: <rdar://problem/10319553&10319567&10319571>
- Reviewed by Joseph Pecoraro.
- * UserInterface/InstrumentSidebarPanel.css:
- (.sidebar > .panel.instrument > .navigation-sidebar-panel-content-tree-outline.timelines .item:not(:first-child):not(.selected)): Reduce divider opacity.
- * UserInterface/TimelineOverview.css:
- (.timeline-overview > .header): Added.
- (.timeline-overview > .header > .divider): Added.
- (.timeline-overview > .header > .divider:last-child): Added.
- (.timeline-overview > .header > .divider > .label): Added.
- (.timeline-overview > .header > .divider:first-child > .label): Added.
- (.timeline-overview > .timeline): Added.
- (.timeline-overview > .timeline:not(:first-child)): Added.
- * UserInterface/TimelineOverview.js:
- (WebInspector.TimelineOverview): Create the header element and timeline rows.
- (WebInspector.TimelineOverview.prototype.get recordTypes): Added.
- (WebInspector.TimelineOverview.prototype.clear): Added. Reset the minimum and maximum boundaries. Call _updateHeaderTimes.
- (WebInspector.TimelineOverview.prototype.update): Added. Find the minimum and maximum times. Call _updateHeaderTimes.
- (WebInspector.TimelineOverview.prototype.updateLayout): Added. Call _updateHeaderTimes.
- (WebInspector.TimelineOverview.prototype._updateHeaderTimes): Added. Update the dividers and labels.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView.prototype.updateLayout): Call updateLayout on the timeline overview.
- (WebInspector.TimelinesContentView.prototype.timelineOverviewRecordsWithType): Added.
- (WebInspector.TimelinesContentView.prototype._addRecordToDataGrid): Don't return early, call _updatePendingRecordsSoon.
- (WebInspector.TimelinesContentView.prototype._updatePendingRecordsSoon): Return early if not visible.
- (WebInspector.TimelinesContentView.prototype._updatePendingRecords): Call update on the timeline overview. Fix if statement.
- (WebInspector.TimelinesContentView.prototype._scheduleGridNodeForRefresh): Don't return early, call _updatePendingRecordsSoon.
- 2012-02-25 Timothy Hatcher <timothy@apple.com>
- Add the start of WebInspector.TimelineOverview, the overview graph at the top of the timeline content view.
- Part of: <rdar://problem/10319553&10319567&10319571>
- Reviewed by Joseph Pecoraro.
- * UserInterface/Main.html:
- * UserInterface/TimelineOverview.css: Added.
- (.timeline-overview):
- * UserInterface/TimelineOverview.js: Added.
- (WebInspector.TimelineOverview):
- (WebInspector.TimelineOverview.prototype.get element):
- * UserInterface/TimelinesContentView.css:
- (.content-view.timelines > .timeline-overview):
- * UserInterface/TimelinesContentView.js:
- 2012-02-25 Timothy Hatcher <timothy@apple.com>
- Add a way to jump to resource source code from the Network and Script timeline data grid.
- Part of: <rdar://problem/10319553&10319567>
- Reviewed by Brian Weinstein.
- * UserInterface/DataGrid.js:
- (WebInspector.DataGrid): Remove capture on the click and mousedown events. This allows the go-to
- to prevent row selection in the data grid.
- * UserInterface/ImageUtilities.js:
- (generateColoredImage): Added support for adjusting the alpha by multiplying.
- (generateColoredImagesForCSS.generateImage): Pass along the fillColor alpha.
- * UserInterface/Main.css:
- (.go-to-arrow): Added.
- (.go-to-arrow:active): Added.
- (:focus .selected .go-to-arrow): Added.
- (:focus .selected .go-to-arrow:active): Added.
- * UserInterface/Main.js:
- (WebInspector.createGoToArrowButton.stopPropagation): Added.
- (WebInspector.createGoToArrowButton): Added. Generate the images and button element.
- * UserInterface/ResourceTimelineDataGridNode.js:
- (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent): Append a go-to button to the name column.
- (WebInspector.ResourceTimelineDataGridNode.prototype._goToResource): Added. Show the resource.
- * UserInterface/ScriptTimelineDataGridNode.js:
- (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): Append a go-to button to the resource column.
- (WebInspector.ScriptTimelineDataGridNode.prototype._goToResource): Added. Show the resource and line.
- * UserInterface/TimelinesContentView.css:
- (.content-view.timelines > .data-grid td .go-to-arrow): Added. Float right, hidden by default
- (.content-view.timelines > .data-grid tr:hover .go-to-arrow): Added. Show the button.
- 2012-02-25 Timothy Hatcher <timothy@apple.com>
- Fix some exceptions that occurred when clicking on a resource in the Issues sidebar.
- Reviewed by John Sullivan.
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView): Move _issues and _contentPopulated above the call to the ResourceContentView
- constructor since addIssue needs them and ResourceContentView populates the issues.
- 2012-02-25 Timothy Hatcher <timothy@apple.com>
- Share code for generating disclosure triangles so it can be used in other places.
- Reviewed by John Sullivan.
- * UserInterface/DetailsSection.js:
- (WebInspector.DetailsSection.prototype._generateDisclosureTrianglesIfNeeded): Use generateColoredImagesForCSS.
- * UserInterface/ImageUtilities.js:
- (generateColoredImagesForCSS): Added. Copied from NavigationSidebarPanel and made generic.
- (generateColoredImagesForCSS.imageLoaded): Added.
- (generateColoredImagesForCSS.generateImage): Added.
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded): Use generateColoredImagesForCSS.
- 2012-02-24 Timothy Hatcher <timothy@apple.com>
- Populate the Script data grid in the timeline content view.
- Part of: <rdar://problem/10319567> Implement the Script instrument for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/Main.html: Included ScriptTimelineDataGridNode.js and ScriptTimelineRecord.js.
- * UserInterface/ScriptTimelineDataGridNode.js: Added.
- (WebInspector.ScriptTimelineDataGridNode):
- (WebInspector.ScriptTimelineDataGridNode.prototype.get record):
- (WebInspector.ScriptTimelineDataGridNode.prototype.get data):
- (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent):
- * UserInterface/ScriptTimelineRecord.js: Added.
- (WebInspector.ScriptTimelineRecord):
- (WebInspector.ScriptTimelineRecord.EventType.displayName):
- (WebInspector.ScriptTimelineRecord.prototype.get eventType):
- (WebInspector.ScriptTimelineRecord.prototype.get details):
- (WebInspector.ScriptTimelineRecord.prototype.get resource):
- (WebInspector.ScriptTimelineRecord.prototype.get lineNumber):
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Handle script record types.
- (WebInspector.TimelineManager.prototype.eventRecorded): Pass along the parent record to processRecord.
- * UserInterface/TimelinesContentView.css:
- (.content-view.timelines > .data-grid .resource-column .icon): Updated the selector to work with name-column and resource-column.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView):
- (WebInspector.TimelinesContentView.prototype._sortCurrentDataGrid.comparator): Handle WebInspector.Resource values.
- (WebInspector.TimelinesContentView.prototype._createDataGridNodeForRecord): Create a ScriptTimelineDataGridNode.
- 2012-02-24 Timothy Hatcher <timothy@apple.com>
- Populate the Layout & Rendering data grid in timeline content view.
- Part of: <rdar://problem/10319571> Implement the Rendering instrument for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/LayoutTimelineDataGridNode.js: Added.
- (WebInspector.LayoutTimelineDataGridNode):
- (WebInspector.LayoutTimelineDataGridNode.prototype.get record):
- (WebInspector.LayoutTimelineDataGridNode.prototype.get data):
- (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent):
- * UserInterface/LayoutTimelineRecord.js: Added.
- (WebInspector.LayoutTimelineRecord):
- (WebInspector.LayoutTimelineRecord.EventType.displayName):
- (WebInspector.LayoutTimelineRecord.prototype.get eventType):
- (WebInspector.LayoutTimelineRecord.prototype.get x):
- (WebInspector.LayoutTimelineRecord.prototype.get y):
- (WebInspector.LayoutTimelineRecord.prototype.get width):
- (WebInspector.LayoutTimelineRecord.prototype.get height):
- (WebInspector.LayoutTimelineRecord.prototype.get area):
- * UserInterface/Main.html: Included LayoutTimelineRecord.js and LayoutTimelineDataGridNode.js.
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Create record objects for each type.
- (WebInspector.TimelineManager.prototype.eventRecorded): Iterate over the records.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView): Create columns for the Layout data grid.
- (WebInspector.TimelinesContentView.prototype._createDataGridNodeForRecord): Create a LayoutTimelineDataGridNode.
- 2012-02-22 Timothy Hatcher <timothy@apple.com>
- Adjust the output of Number.secondsToString to give higher resolution for < 100ms.
- Part of: <rdar://problem/10319553> Implement the Network instrument for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/Utilities.js:
- (Number.secondsToString): Show more decimal points for < 100ms. Reduce the number of
- decimal points in higher resolution mode as well.
- 2012-02-22 Timothy Hatcher <timothy@apple.com>
- Support sorting the data grids in the timeline view.
- Part of: <rdar://problem/10319553&10319567&10319571>
- Reviewed by Brian Weinstein.
- * UserInterface/DataGrid.css:
- (.data-grid th.sort-descending > div): Add some padding so the sort direction arrow does not overlap the text.
- * UserInterface/Resource.js:
- (WebInspector.Resource): Initialize _cached so it can sort properly.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView): Add event listeners for sorting changes.
- (WebInspector.TimelinesContentView.prototype._updatePendingRecords): Call _sortCurrentDataGrid.
- (WebInspector.TimelinesContentView.prototype._sortCurrentDataGrid): Added.
- (WebInspector.TimelinesContentView.prototype._sortCurrentDataGrid.comparator): Added.
- 2012-02-22 Timothy Hatcher <timothy@apple.com>
- Separate data from presentation in ResourceTimelineDataGridNode to make it easy to sort using the raw data.
- Part of: <rdar://problem/10319553> Implement the Network instrument for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/DataGrid.js:
- (WebInspector.DataGridNode.prototype.createCell): Make a text node if the content isn't a Node.
- (WebInspector.DataGridNode.prototype.createCellContent): Return raw data. The text node is made by the caller.
- * UserInterface/ResourceTimelineDataGridNode.js:
- (WebInspector.ResourceTimelineDataGridNode.prototype.get data): Return the raw data instead of formatted data.
- (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent): Format the data based on the column.
- 2012-02-22 Timothy Hatcher <timothy@apple.com>
- Cause network records to update in batches with any new records being added to reduce flashing.
- Part of: <rdar://problem/10319553> Implement the Network instrument for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/ResourceTimelineDataGridNode.js:
- (WebInspector.ResourceTimelineDataGridNode): Update event listeners to call _needsRefresh.
- (WebInspector.ResourceTimelineDataGridNode.prototype.get record): Added.
- (WebInspector.ResourceTimelineDataGridNode.prototype.refresh): Remove timeout check.
- (WebInspector.ResourceTimelineDataGridNode.prototype._needsRefresh): Renamed from _refreshSoon. Fire
- NeedsRefresh event.
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView): Add event listener for NeedsRefresh.
- (WebInspector.TimelinesContentView.prototype.showTimelineForRecordType): Call _updatePendingRecords.
- (WebInspector.TimelinesContentView.prototype.shown): Call _updatePendingRecords.
- (WebInspector.TimelinesContentView.prototype._addRecordToDataGrid): Call _updatePendingRecordsSoon.
- (WebInspector.TimelinesContentView.prototype._updatePendingRecordsSoon): Renamed from _addPendingRecordsSoon.
- (WebInspector.TimelinesContentView.prototype._updatePendingRecords): Renamed from _addPendingRecords. Also
- refresh pending grid nodes.
- (WebInspector.TimelinesContentView.prototype._scheduleGridNodeForRefresh): Added. Store the grid node and
- call _updatePendingRecordsSoon.
- 2012-02-22 Timothy Hatcher <timothy@apple.com>
- Properly record main resources for all frames in the Network timeline.
- Part of: <rdar://problem/10319553> Implement the Network instrument for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager): Change MainFrameDidChange listener to _mainResourceDidChange.
- (WebInspector.TimelineManager.prototype._startAutoRecording): Return true if recording started.
- (WebInspector.TimelineManager.prototype._mainResourceDidChange): Added. Call _startAutoRecording,
- return early if true. Add the main resource as a record if it isn't the auto recording resource.
- 2012-02-22 Timothy Hatcher <timothy@apple.com>
- Always clear records and restart recording when navigating to a new page.
- Part of: <rdar://problem/10319553&10319567&10319571>
- Reviewed by Brian Weinstein.
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager.prototype.stopRecording): Clear _autoRecordingMainResourceRequestIdentifier.
- (WebInspector.TimelineManager.prototype._startAutoRecording): Set _autoRecordingMainResourceRequestIdentifier.
- Don't return early if _autoRecordingMainResourceRequestIdentifier.
- 2012-02-22 Timothy Hatcher <timothy@apple.com>
- Show resource icons and failed loads in the Network data grid.
- Part of: <rdar://problem/10319553> Implement the Network instrument for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/DataGrid.js:
- (WebInspector.DataGridNode.prototype.createCell): Call createCellContent.
- (WebInspector.DataGridNode.prototype.createCellContent): Added. Make a text node.
- * UserInterface/ResourceTimelineDataGridNode.js:
- (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent): Added. Create a fragment
- for the name column with an icon. Add the error class to all cells for failed loads.
- * UserInterface/TimelinesContentView.css:
- (.content-view.timelines > .data-grid .name-column .icon): Added.
- (.content-view.timelines > .data-grid td.error): Added. Color red.
- (.content-view.timelines > .data-grid tr.selected td.error): Added. Color white.
- 2012-02-21 Timothy Hatcher <timothy@apple.com>
- Start populating the Network timeline data grid with resource load information.
- Part of: <rdar://problem/10319553> Implement the Network instrument for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/Main.html: Included ResourceTimelineDataGridNode.js.
- * UserInterface/Resource.js:
- (WebInspector.Resource): Initialize _responseHeaders to avoid an exception.
- (WebInspector.Resource.prototype.get statusCode): Added.
- (WebInspector.Resource.prototype.get statusText): Added.
- * UserInterface/ResourceTimelineDataGridNode.js: Added.
- (WebInspector.ResourceTimelineDataGridNode):
- (WebInspector.ResourceTimelineDataGridNode.prototype.get data):
- * UserInterface/ResourceTimelineRecord.js:
- (WebInspector.ResourceTimelineRecord): Add event listener for TimestampsDidChange.
- (WebInspector.ResourceTimelineRecord.prototype._dispatchUpdatedEvent): Added. Fire Updated event.
- * UserInterface/TimelinesContentView.css:
- (.content-view.timelines > .data-grid td:last-child):
- (.content-view.timelines > .data-grid td):
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView): Create the Network data grid headers and populate _pendingRecords.
- (WebInspector.TimelinesContentView.prototype.showTimelineForRecordType): Call updateWidths
- and _addPendingRecords.
- (WebInspector.TimelinesContentView.prototype.updateLayout): Added.
- (WebInspector.TimelinesContentView.prototype.shown): Call _addPendingRecords.
- (WebInspector.TimelinesContentView.prototype._recordingStarted): Added.
- (WebInspector.TimelinesContentView.prototype._recordAdded): Added.
- (WebInspector.TimelinesContentView.prototype._addRecordToDataGrid): Added.
- (WebInspector.TimelinesContentView.prototype._addPendingRecordsSoon): Added.
- (WebInspector.TimelinesContentView.prototype._addPendingRecords): Added.
- (WebInspector.TimelinesContentView.prototype._createDataGridNodeForRecord): Added.
- * UserInterface/Utilities.js:
- (Number.secondsToString): Added. Copied from open source.
- 2012-02-21 Timothy Hatcher <timothy@apple.com>
- Make showing a timeline switch to a different data grid and reflect the selected timeline
- in the sidebar and the navigation bar.
- Also make the timeline show when reopening the inspector when it was showing last time.
- Part of: <rdar://problem/10319553&10319567&10319571>
- Reviewed by Brian Weinstein.
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel): Don't store the tree elements on this. Create a map of tree elements
- based on the the record type.
- (WebInspector.InstrumentSidebarPanel.prototype.showTimeline): Added.
- (WebInspector.InstrumentSidebarPanel.prototype.showTimelineForRecordType): Added. Select the tree element.
- (WebInspector.InstrumentSidebarPanel.prototype.cookieForContentView): Added.
- (WebInspector.InstrumentSidebarPanel.prototype.showContentViewForCookie): Added.
- (WebInspector.InstrumentSidebarPanel.prototype._timelinesTreeElementSelected):
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView.createPathComponent): Added.
- (WebInspector.TimelinesContentView): Create the path components and test data grids.
- (WebInspector.TimelinesContentView.prototype.showTimelineForRecordType): Added. Show the data grid. Update
- the path component. Tell the sidebar panel to select the right tree element.
- (WebInspector.TimelinesContentView.prototype.get selectionPathComponents): Added.
- (WebInspector.TimelinesContentView.prototype.shown): Added.
- (WebInspector.TimelinesContentView.prototype._pathComponentSelected): Added.
- 2012-02-21 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.TimelineRecord and WebInspector.ResourceTimelineRecord. Start recording Network records on load.
- Part of: <rdar://problem/10319553&10319567&10319571>
- Reviewed by Brian Weinstein.
- * UserInterface/Main.html:
- * UserInterface/ResourceTimelineRecord.js: Added.
- (WebInspector.ResourceTimelineRecord):
- (WebInspector.ResourceTimelineRecord.prototype.get resource):
- (WebInspector.ResourceTimelineRecord.prototype.get startTime):
- (WebInspector.ResourceTimelineRecord.prototype.get endTime):
- (WebInspector.ResourceTimelineRecord.prototype.get waitingDuration):
- (WebInspector.ResourceTimelineRecord.prototype.get activeDuration):
- * UserInterface/TimelineManager.js:
- (WebInspector.TimelineManager): Listen for Frame events. Initialize properties.
- (WebInspector.TimelineManager.prototype.get recording): Added.
- (WebInspector.TimelineManager.prototype.get records): Added.
- (WebInspector.TimelineManager.prototype.get recordsWithType): Added.
- (WebInspector.TimelineManager.prototype.startRecording): Clear records. Dispatch RecordingStarted event.
- (WebInspector.TimelineManager.prototype.stopRecording): Clear timeout. Dispatch RecordingStopped event.
- (WebInspector.TimelineManager.prototype._addRecord): Added. Adds record and dispatches RecordAdded event.
- (WebInspector.TimelineManager.prototype._startAutoRecording): Added. Start recording and
- (WebInspector.TimelineManager.prototype._resourceWasAdded): Added. Create a record.
- * UserInterface/TimelineRecord.js: Added.
- (WebInspector.TimelineRecord):
- (WebInspector.TimelineRecord.prototype.get startTime):
- (WebInspector.TimelineRecord.prototype.get endTime):
- (WebInspector.TimelineRecord.prototype.get duration):
- (WebInspector.TimelineRecord.prototype.get waitingDuration):
- (WebInspector.TimelineRecord.prototype.get activeDuration):
- 2012-02-20 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.TimelineObserver and WebInspector.TimelineManager.
- Part of: <rdar://problem/10319553&10319567&10319571>
- Reviewed by Brian Weinstein.
- * UserInterface/Main.html: Included TimelineManager.js and TimelineObserver.js.
- * UserInterface/Main.js: Create an instance of TimelineManager.
- (WebInspector.contentLoaded):
- * UserInterface/TimelineManager.js: Added.
- (WebInspector.TimelineManager):
- (WebInspector.TimelineManager.prototype.startRecording):
- (WebInspector.TimelineManager.prototype.stopRecording):
- (WebInspector.TimelineManager.prototype.eventRecorded):
- * UserInterface/TimelineObserver.js: Added.
- (WebInspector.TimelineObserver):
- (WebInspector.TimelineObserver.prototype.eventRecorded): Call TimelineManager.
- 2012-02-20 Timothy Hatcher <timothy@apple.com>
- Change the names for the Instrument timelines based on feedback from Adam.
- Now: "Network Requests", "Layout & Rendering" and "JavaScript & Events".
- Reviewed by Adam Roben.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel): Update the tree element titles.
- 2012-02-19 Timothy Hatcher <timothy@apple.com>
- Record network timestamps on WebInspector.Resource along with HTTP response status and sizes.
- Needed for: <rdar://problem/10319553> Implement the Network instrument for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent): Added timestamp parameter.
- (WebInspector.FrameResourceManager.prototype.markResourceRequestAsServedFromMemoryCache): Added.
- (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): Added timestamp parameter.
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): Ditto.
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveData): Added.
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidFinishLoading): Added timestamp parameter.
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidFailLoading): Ditto.
- (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame): Ditto.
- * UserInterface/NetworkObserver.js:
- (WebInspector.NetworkObserver.prototype.requestWillBeSent): Pass along timestamp.
- (WebInspector.NetworkObserver.prototype.requestServedFromCache): Call markResourceRequestAsServedFromMemoryCache.
- (WebInspector.NetworkObserver.prototype.responseReceived): Pass along timestamp.
- (WebInspector.NetworkObserver.prototype.dataReceived): Call resourceRequestDidReceiveData.
- (WebInspector.NetworkObserver.prototype.loadingFinished): Pass along timestamp.
- (WebInspector.NetworkObserver.prototype.loadingFailed): Ditto.
- (WebInspector.NetworkObserver.prototype.requestServedFromMemoryCache): Ditto.
- * UserInterface/Resource.js:
- (WebInspector.Resource): Added timestamp parameter.
- (WebInspector.Resource.prototype.get requestSentTimestamp): Added.
- (WebInspector.Resource.prototype.get lastRedirectReceivedTimestamp): Added.
- (WebInspector.Resource.prototype.get responseReceivedTimestamp): Added.
- (WebInspector.Resource.prototype.get lastDataReceivedTimestamp): Added.
- (WebInspector.Resource.prototype.get finishedOrFailedTimestamp): Added.
- (WebInspector.Resource.prototype.get duration): Added.
- (WebInspector.Resource.prototype.get latency): Added.
- (WebInspector.Resource.prototype.get receiveDuration): Added.
- (WebInspector.Resource.prototype.get cached): Added.
- (WebInspector.Resource.prototype.get size): Added.
- (WebInspector.Resource.prototype.get transferSize): Added.
- (WebInspector.Resource.prototype.updateForRedirectResponse): Added timestamp parameter.
- (WebInspector.Resource.prototype.updateForResponse): Ditto.
- (WebInspector.Resource.prototype.increaseSize): Added.
- (WebInspector.Resource.prototype.increaseTransferSize): Added.
- (WebInspector.Resource.prototype.markAsCached): Added.
- (WebInspector.Resource.prototype.markAsFinished): Added timestamp parameter.
- (WebInspector.Resource.prototype.markAsFailed): Ditto.
- 2012-02-19 Timothy Hatcher <timothy@apple.com>
- Show empty content messages for no search results, no recorded profiles and no storage.
- Reviewed by Joseph Pecoraro.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/InstrumentSidebarPanel.css:
- (.sidebar > .panel.instrument > .empty-content-placeholder): Position with the content.
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel): Call updateEmptyContentPlaceholder.
- * UserInterface/NavigationSidebarPanel.css:
- (.sidebar > .panel.navigation > .empty-content-placeholder): Use a flex box to center the message.
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel.prototype.updateEmptyContentPlaceholder): Added. Helper.
- (WebInspector.NavigationSidebarPanel.prototype._checkForEmptyFilterResults): Set and unset _emptyFilterResults.
- * UserInterface/SearchSidebarPanel.css:
- (.sidebar > .panel.search > .empty-content-placeholder): Position with the content.
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel.performSearch.updateEmptyContentPlaceholderSoon): Added.
- (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel.performSearch.updateEmptyContentPlaceholder): Added.
- (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel.performSearch.resourcesCallback.resourceCallback): Call
- updateEmptyContentPlaceholderSoon before any return.
- (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel.performSearch.resourcesCallback): Ditto.
- (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel.performSearch.domCallback.domSearchResults): Ditto.
- (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel.performSearch.domCallback): Ditto.
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel): Call _updateEmptyContentPlaceholder.
- (WebInspector.StorageSidebarPanel.prototype._updateEmptyContentPlaceholder): Added.
- (WebInspector.StorageSidebarPanel.prototype._addChild): Call _updateEmptyContentPlaceholder.
- (WebInspector.StorageSidebarPanel.prototype._storageCleared): Call _updateEmptyContentPlaceholder.
- 2012-02-19 Timothy Hatcher <timothy@apple.com>
- Make DataGrid have a custom style in the timelines content view.
- Larger headers with matching gradient to the sidebar panel. Also larger rows with a grey alternating row color.
- Part of: <rdar://problem/10319553&10319567&10319571>
- Reviewed by Brian Weinstein.
- * UserInterface/Main.html:
- * UserInterface/TimelinesContentView.css: Added.
- (.content-view.timelines > .data-grid):
- (.content-view.timelines > .data-grid th):
- (.content-view.timelines > .data-grid th:not(:last-child)):
- (.content-view.timelines > .data-grid th.sortable:active):
- (.content-view.timelines > .data-grid th.sort-descending):
- (.content-view.timelines > .data-grid .data-container):
- (.content-view.timelines > .data-grid table.data):
- (.content-view.timelines > .data-grid td):
- (.content-view.timelines > .data-grid td:not(:last-child)):
- * UserInterface/TimelinesContentView.js:
- (WebInspector.TimelinesContentView): Create a dummy DataGrid for position and style testing.
- 2012-02-19 Timothy Hatcher <timothy@apple.com>
- Add an empty content view for the Instrument sidebar timelines.
- Part of: <rdar://problem/10318728> Implement the Instrument sidebar for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView): Added check for TimelinesObject.
- (WebInspector.ContentView.isViewable): Added check for TimelinesObject.
- * UserInterface/Images/Stopwatch.png: Added.
- * UserInterface/Images/Stopwatch@2x.png: Added.
- * UserInterface/InstrumentIcons.css:
- (.stopwatch-icon .icon):
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel): Create the _timelinesElement and an instance of TimelinesObject.
- (WebInspector.InstrumentSidebarPanel.prototype.treeElementForRepresentedObject): Added.
- (WebInspector.InstrumentSidebarPanel.prototype._timelinesTreeElementSelected): Added.
- * UserInterface/Main.html: Included TimelinesContentView.js and TimelinesObject.js.
- * UserInterface/Main.js:
- (WebInspector.sidebarPanelForRepresentedObject): Added check for TimelinesObject.
- * UserInterface/TimelinesContentView.js: Added.
- (WebInspector.TimelinesContentView):
- * UserInterface/TimelinesObject.js: Added.
- (WebInspector.TimelinesObject):
- 2012-02-18 Timothy Hatcher <timothy@apple.com>
- Start implementing the user interface for the Instrument sidebar panel.
- This adds the Loading, Rendering and Scripting tree elements to the top of the sidebar.
- Part of: <rdar://problem/10318728> Implement the Instrument sidebar for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/Images/Colors.png: Added.
- * UserInterface/Images/Colors@2x.png: Added.
- * UserInterface/Images/Network.png: Added.
- * UserInterface/Images/Network@2x.png: Added.
- * UserInterface/Images/Script.png: Added.
- * UserInterface/Images/Script@2x.png: Added.
- * UserInterface/InstrumentIcons.css: Added.
- (.network-icon .icon):
- (.colors-icon .icon):
- (.script-icon .icon):
- * UserInterface/InstrumentSidebarPanel.css: Added.
- (.sidebar > .panel.instrument > .title-bar):
- (.sidebar > .panel.instrument > .title-bar.timelines):
- (.sidebar > .panel.instrument > .navigation-sidebar-panel-content-tree-outline.timelines):
- (.sidebar > .panel.instrument > .navigation-sidebar-panel-content-tree-outline.timelines .item:not(:first-child):not(.selected)):
- (.sidebar > .panel.instrument > .navigation-sidebar-panel-content-tree-outline.timelines .item.selected + .item):
- (.sidebar > .panel.instrument > .title-bar.profiles):
- (.sidebar > .panel.instrument > .content):
- * UserInterface/InstrumentSidebarPanel.js:
- (WebInspector.InstrumentSidebarPanel): Create the title abrs and tree outline.
- * UserInterface/Main.html: Included InstrumentSidebarPanel.css and InstrumentIcons.css.
- 2012-02-18 Timothy Hatcher <timothy@apple.com>
- Add support for hiding the disclosure triangle column for sidebar panels that don't have a hierarchy.
- The only panel we have like this right now is Log, but Instrument will also use it.
- Reviewed by Brian Weinstein.
- * UserInterface/LogSidebarPanel.js:
- (WebInspector.LogSidebarPanel): Set HideDisclosureButtonsStyleClassName on the contentTreeOutlineElement.
- * UserInterface/NavigationSidebarPanel.css:
- (.navigation-sidebar-panel-content-tree-outline .item): Remove a margin-top that was pushing all items down
- for no good reason.
- (.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons > .children): Added.
- (.navigation-sidebar-panel-content-tree-outline > .children.hide-disclosure-buttons > .children): Added.
- (.navigation-sidebar-panel-content-tree-outline:not(.hide-disclosure-buttons) .item:not(.parent) .icon): Added.
- (.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons .item .disclosure-button): Added.
- * UserInterface/NavigationSidebarPanel.js:
- 2012-02-18 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.InstrumentSidebarPanel.
- Part of: <rdar://problem/10318728> Implement the Instrument sidebar for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/InstrumentSidebarPanel.js: Added.
- (WebInspector.InstrumentSidebarPanel):
- * UserInterface/Main.html: Included InstrumentSidebarPanel.js.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Create an instance of InstrumentSidebarPanel.
- 2012-02-20 Jeff Miller <jeffm@apple.com>
- Ignore files generated by Xcode inside WebInspectorUI.xcodeproj.
- * WebInspectorUI.xcodeproj: Added property svn:ignore.
- 2012-02-17 Timothy Hatcher <timothy@apple.com>
- Fix a couple of issues where settings were not being retrieved or stored.
- Reviewed by John Sullivan.
- * UserInterface/Setting.js:
- (WebInspector.Setting.prototype.get value): Make a copy of the default value so changes to object values don't modify the default value.
- Switch a use of _name to _localStorageKey when checking if the key in in localStorage.
- (WebInspector.Setting.prototype.set value): Use Object.shallowEqual to better check if objects are equal.
- * UserInterface/Utilities.js:
- (Object.defineProperty): Return early if a or b are null. null is an object, but Object.keys throws for null.
- 2012-02-17 Timothy Hatcher <timothy@apple.com>
- Fix an exception when using the Web Inspector with empty settings.
- Reviewed by Brian Weinstein.
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView.prototype._rootDOMNodeAvailable): Null check this._lastSelectedNodePathSetting.value
- and this._lastSelectedNodePathSetting.value.path.
- 2012-02-17 Timothy Hatcher <timothy@apple.com>
- Prefix the setting keys in localStorage with "com.apple.WebInspector".
- The Web Inspector is loaded from a file url it share localStorage with other local files.
- This prevents conflicting with another key.
- Reviewed by Brian Weinstein.
- * UserInterface/Setting.js:
- (WebInspector.Setting): Set _localStorageKey.
- (WebInspector.Setting.prototype.get value): Use _localStorageKey.
- (WebInspector.Setting.prototype.set value): Ditto.
- 2012-02-17 Timothy Hatcher <timothy@apple.com>
- Cache setting values locally to avoid JSON and localStorage when the value doesn't change often.
- This mimics r107953 from open source with some style cleanup.
- Reviewed by Brian Weinstein.
- * UserInterface/Setting.js:
- (WebInspector.Setting.prototype.get value): Return this._value if it exists.
- (WebInspector.Setting.prototype.set value): Set _value.
- 2012-02-16 Timothy Hatcher <timothy@apple.com>
- Don't store settings in localStorage with values equal to the default value.
- Part of: <rdar://problem/10854042> Remember aspects of the user interface customization
- Reviewed by Ada Chan.
- * UserInterface/Setting.js:
- (WebInspector.Setting.prototype.set value): Call removeItem if the value equals the default value.
- 2012-02-17 Timothy Hatcher <timothy@apple.com>
- Remember the last selected DOM node between reloads and Inspector sessions.
- Last part of: <rdar://problem/10854042> Remember aspects of the user interface customization
- Reviewed by Brian Weinstein.
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView): Create the setting. Use _requestRootDOMNode.
- (WebInspector.DOMTreeContentView.prototype._rootDOMNodeAvailable): Try to select the last DOM node
- if the URL matches, otherwise just select the body or document element.
- (WebInspector.DOMTreeContentView.prototype._rootDOMNodeAvailable.selectNode): Added.
- (WebInspector.DOMTreeContentView.prototype._rootDOMNodeAvailable.selectLastSelectedNode): Added.
- (WebInspector.DOMTreeContentView.prototype._rootDOMNodeInvalidated): Don't set rootDOMNode to null.
- This minimizes DOM tree churn and better matches what the open source inspector does.
- (WebInspector.DOMTreeContentView.prototype._requestRootDOMNode): Added helper.
- (WebInspector.DOMTreeContentView.prototype._selectedNodeDidChange): Remember the selected node path.
- * UserInterface/DOMTreeUpdater.js:
- (WebInspector.DOMTreeUpdater.prototype._reset): Don't set rootDOMNode to null. DOMTreeContentView handles it.
- 2012-02-17 Timothy Hatcher <timothy@apple.com>
- Minimize the number of times DOMTree's RootDOMNodeInvalidated event fires.
- This was causing some DOM tree churn on reload. There is still some churn, but this helps.
- Reviewed by Brian Weinstein.
- * UserInterface/DOMTree.js:
- (WebInspector.DOMTree): Only add extra event listeners when not the main frame.
- (WebInspector.DOMTree.prototype.get frame): Added for good measure, will be needed soon.
- (WebInspector.DOMTree.prototype.requestRootDOMNode): Bump the request identifier.
- (WebInspector.DOMTree.prototype.requestRootDOMNode.rootObjectAvailable): Check the request identifier.
- (WebInspector.DOMTree.prototype.requestRootDOMNode.rootDOMNodeAvailable): Ditto.
- (WebInspector.DOMTree.prototype.requestRootDOMNode.dispatchCallbacks): Ditto.
- (WebInspector.DOMTree.prototype._nodeRemoved): Assert not the main frame.
- (WebInspector.DOMTree.prototype._frameMainResourceDidChange): Ditto.
- 2012-02-16 Timothy Hatcher <timothy@apple.com>
- Add support to the storage sidebar panel to restore the last content view.
- Part of: <rdar://problem/10854042> Remember aspects of the user interface customization
- Reviewed by Brian Weinstein.
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel.prototype.cookieForContentView): Added. Create a cookie based on the
- type of the represented object.
- (WebInspector.StorageSidebarPanel.prototype.showContentViewForCookie.finalizeCookieChecking): Walk all the tree
- elements and match them based on type alone. So if you were looking at cookies on one site, and later open the
- inspector on another site, the new site's cookies will show.
- (WebInspector.StorageSidebarPanel.prototype.showContentViewForCookie): Set a timeout to call finalizeCookieChecking.
- (WebInspector.StorageSidebarPanel.prototype._checkTreeElementAgainstPendingContentViewCookie): Added.
- (WebInspector.StorageSidebarPanel.prototype._domStorageObjectWasAdded): Call _checkTreeElementAgainstPendingContentViewCookie.
- (WebInspector.StorageSidebarPanel.prototype._databaseWasAdded): Ditto.
- (WebInspector.StorageSidebarPanel.prototype._cookieStorageObjectWasAdded): Ditto.
- (WebInspector.StorageSidebarPanel.prototype._frameManifestAdded): Ditto.
- (WebInspector.StorageSidebarPanel.prototype._treeElementSelected): Style cleanup.
- 2012-02-16 Timothy Hatcher <timothy@apple.com>
- Add support to the log sidebar panel to restore the last content view.
- Part of: <rdar://problem/10854042> Remember aspects of the user interface customization
- Reviewed by Brian Weinstein.
- * UserInterface/LogSidebarPanel.js:
- (WebInspector.LogSidebarPanel.prototype.cookieForContentView): Added.
- (WebInspector.LogSidebarPanel.prototype.showContentViewForCookie): Added.
- 2012-02-16 Timothy Hatcher <timothy@apple.com>
- Add support to the resource sidebar panel to restore the last content view and select the resource in the sidebar.
- Part of: <rdar://problem/10854042> Remember aspects of the user interface customization
- Reviewed by Brian Weinstein.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.cookieForContentView): Added. Return a cookie with the resource URL.
- (WebInspector.ResourceSidebarPanel.prototype.showContentViewForCookie): Added. Find the resource by URL and shows it.
- (WebInspector.ResourceSidebarPanel.prototype.showSourceCodeForFrame): Cleaned up to match showContentViewForCookie.
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): Call showContentViewForCookie if _cookieToShowWhenAvailable.
- (WebInspector.ResourceSidebarPanel.prototype._frameWasAdded): Remove code that moved into showSourceCodeForFrame.
- 2012-02-16 Timothy Hatcher <timothy@apple.com>
- Add support for remembering the last content view so it can potentially be restored next session.
- This requires each sidebar to supply a cookie and restore it on load. No sidebars support it yet.
- Part of: <rdar://problem/10854042> Remember aspects of the user interface customization
- Reviewed by Brian Weinstein.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Create setting objects for the responsible sidebar panel and cookie.
- (WebInspector.sidebarPanelForRepresentedObject): Added. Broke out of contentBrowserTreeElementForRepresentedObject.
- (WebInspector.contentBrowserTreeElementForRepresentedObject): Use sidebarPanelForRepresentedObject.
- (WebInspector._updateCurrentContentViewCookie): Added. Asks the responsible sidebar panel for a cookie.
- (WebInspector._contentBrowserRepresentedObjectsDidChange): Call _updateCurrentContentViewCookie.
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel.prototype.cookieForContentView): Added stub.
- (WebInspector.NavigationSidebarPanel.prototype.showContentViewForCookie): Added. Ditto.
- * UserInterface/Sidebar.js:
- (WebInspector.Sidebar.prototype.removeSidebarPanel): Use findSidebarPanel.
- (WebInspector.Sidebar.prototype.set selectedSidebarPanel): Ditto.
- (WebInspector.Sidebar.prototype.findSidebarPanel): Renamed from _findSidebarPanel.
- 2012-02-16 Timothy Hatcher <timothy@apple.com>
- Remember what view was last used for frames (DOM Tree or Source Code).
- Part of: <rdar://problem/10854042> Remember aspects of the user interface customization
- Reviewed by Joseph Pecoraro.
- * UserInterface/FrameContentView.js:
- (WebInspector.FrameContentView): Create a setting.
- (WebInspector.FrameContentView.prototype.shown): Use the setting to call _showContentViewForIdentifier.
- (WebInspector.FrameContentView.prototype._identifierForContentView): Added. Helper.
- (WebInspector.FrameContentView.prototype._showContentViewForIdentifier): Set the setting value.
- 2012-02-16 Timothy Hatcher <timothy@apple.com>
- If the left sidebar is collapsed, then show the dock buttons in the content browser navigation bar.
- Reviewed by Adam Roben.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Make a static dockButtonDividerNavigationItem. Remove inserts for the buttons.
- (WebInspector.updateDockedState): Call _updateDockNavigationItems.
- (WebInspector._updateDockNavigationItems): Added. Shows the buttons in the right navigation bar based on
- docked and left sidebar collapsed state.
- (WebInspector._sidebarCollapsedStateDidChange): Call _updateDockNavigationItems.
- 2012-02-16 Timothy Hatcher <timothy@apple.com>
- Add a null check in resourceForURL, since the mainFrame can be null if called early enough.
- Reviewed by Joseph Pecoraro.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.resourceForURL): Null check mainFrame.
- 2012-02-16 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.ContentBrowser.Event.CurrentContentViewDidChange.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser.prototype._currentContentViewDidChange): Fire the CurrentContentViewDidChange event.
- 2012-02-16 Timothy Hatcher <timothy@apple.com>
- Remember the expanded state of frames and folders in the resource sidebar panel.
- Part of: <rdar://problem/10854042> Remember aspects of the user interface customization
- Reviewed by Brian Weinstein.
- * UserInterface/FrameTreeElement.js:
- (WebInspector.FrameTreeElement): Call _updateExpandedSetting.
- (WebInspector.FrameTreeElement.prototype.onexpand): Added. Set the expanded setting value.
- (WebInspector.FrameTreeElement.prototype.oncollapse): Added. Set the expanded setting value.
- (WebInspector.FrameTreeElement.prototype.removeChildren): Delete the folder tree elements.
- (WebInspector.FrameTreeElement.prototype._updateExpandedSetting): Added.
- (WebInspector.FrameTreeElement.prototype._mainResourceDidChange): Change the expanded setting since the frame URL has changed.
- (WebInspector.FrameTreeElement.prototype._addChildForRepresentedObject): Removed _shouldExpandWhenFirstChildIsAdded code.
- (WebInspector.FrameTreeElement.prototype._parentTreeElementForRepresentedObject.createFolderTreeElement): Added.
- Sets up the onexpand and oncollapse listeners and creates a expanded setting.
- (WebInspector.FrameTreeElement.prototype._parentTreeElementForRepresentedObject): Use createFolderTreeElement.
- (WebInspector.FrameTreeElement.prototype._folderTreeElementExpandedStateChange): Added. Set the expanded setting value.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): Remove a call to expand, that is handled by FrameTreeElement now.
- 2012-02-16 Timothy Hatcher <timothy@apple.com>
- Support expanding a TreeElement before it has children, so it will expand once the first child is added.
- Needed for: <rdar://problem/10854042> Remember aspects of the user interface customization
- Reviewed by Brian Weinstein.
- * UserInterface/TreeOutline.js:
- (TreeOutline.prototype.appendChild): Call expand if this is the first child.
- (TreeOutline.prototype.insertChild): Ditto.
- (TreeElement.prototype.expand): Set the expanded flag even if there are no children.
- 2012-02-16 Timothy Hatcher <timothy@apple.com>
- Use a hash of the URL instead of the whole URL for remembering the last page searched.
- This way the URL isn't cluttering localStorage for size and privacy reasons.
- Part of: <rdar://problem/10854042> Remember aspects of the user interface customization
- Reviewed by Adam Roben.
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel.prototype.performSearch): Use hash when setting
- the _lastSearchedPageSetting.value.
- (WebInspector.SearchSidebarPanel.prototype._mainFrameDidChange): Use hash when comparing
- with the _lastSearchedPageSetting.value.
- * UserInterface/Utilities.js:
- (String.prototype.hash): Added. Based on wtf/StringHasher.h (SuperFastHash) algorithm.
- 2012-02-15 Timothy Hatcher <timothy@apple.com>
- Remember the search term and rerun the search when re-opening the inspector on the same page.
- Part of: <rdar://problem/10854042> Remember aspects of the user interface customization
- Reviewed by Brian Weinstein.
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel): Store the inputElement on the object and add an event
- listener for the MainFrameChanged event. Create the setting objects and restore the search term.
- (WebInspector.SearchSidebarPanel.prototype.performSearch): Broken out from _searchFieldChanged.
- (WebInspector.SearchSidebarPanel.prototype._searchFieldChanged): Call performSearch.
- (WebInspector.SearchSidebarPanel.prototype._mainFrameDidChange): Added. Call performSearch
- if the frame change is the first and the page is the same as the last time.
- 2012-02-15 Timothy Hatcher <timothy@apple.com>
- Remember the filter bar filters for each navigation sidebar panel.
- Part of: <rdar://problem/10854042> Remember aspects of the user interface customization
- Reviewed by Brian Weinstein.
- * UserInterface/FilterBar.js:
- (WebInspector.FilterBar.prototype.set filters): Added.
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel): Create the filters setting.
- (WebInspector.NavigationSidebarPanel.prototype._updateFilter): Set the filters setting.
- 2012-02-15 Timothy Hatcher <timothy@apple.com>
- Remember the collapsed state of sections in the details sidebar.
- Part of: <rdar://problem/10854042> Remember aspects of the user interface customization
- (sidebar state, last view, etc.)
- Reviewed by Brian Weinstein.
- * UserInterface/AppearanceDetailsSidebarPanel.js:
- (WebInspector.AppearanceDetailsSidebarPanel): Give identifiers to DetailsSections.
- * UserInterface/ApplicationCacheDetailsSidebarPanel.js:
- (WebInspector.ApplicationCacheDetailsSidebarPanel): Give identifiers to DetailsSections.
- * UserInterface/DOMNodeDetailsSidebarPanel.js:
- (WebInspector.DOMNodeDetailsSidebarPanel): Give identifiers to DetailsSections.
- * UserInterface/DetailsSection.js:
- (WebInspector.DetailsSection): Create a collapsed setting. Set collapsed to the value of the setting.
- (WebInspector.DetailsSection.prototype.get identifier): Added.
- (WebInspector.DetailsSection.prototype.set collapsed): Update the collapsed setting.
- * UserInterface/ResourceDetailsSidebarPanel.js:
- (WebInspector.ResourceDetailsSidebarPanel): Give identifiers to DetailsSections.
- 2012-02-15 Timothy Hatcher <timothy@apple.com>
- Remember the last selected navigation sidebar panel, the sidebar widths and their collapsed state.
- <rdar://problem/10854042> Remember aspects of the user interface customization (sidebar state, last view, etc.)
- Reviewed by Brian Weinstein.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Listed for SidebarPanelSelected. Use _sidebarWidthDidChange for WidthDidChange.
- Create setting objects for last selected navigation sidebar panel, the sidebar widths and their collapsed state.
- (WebInspector._sidebarCollapsedStateDidChange): Update the collapsed settings.
- (WebInspector._navigationSidebarPanelSelected): Added. Update the last selected navigation sidebar panel setting.
- (WebInspector._sidebarWidthDidChange): Added. Update the width settings. Call _contentBrowserSizeDidChange.
- * UserInterface/Sidebar.js:
- (WebInspector.Sidebar.prototype.set width): Return early if the width is the same. This avoids sending events
- if the width didn't change.
- (WebInspector.Sidebar.prototype.set collapsed): Return early if the collapsed state is the same. This avoids
- sending events if the collapsed state didn't change.
- 2012-02-15 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.Setting from Open Source.
- <rdar://problem/10854042> Remember aspects of the user interface customization (sidebar state, last view, etc.)
- Reviewed by Brian Weinstein.
- * UserInterface/Main.html: Included Setting.js.
- * UserInterface/Setting.js: Added. Copied partially from OpenSource/Source/WebCore/inspector/front-end/Settings.js.
- (WebInspector.Setting):
- (WebInspector.Setting.prototype.get name):
- (WebInspector.Setting.prototype.get value):
- (WebInspector.Setting.prototype.set value):
- 2012-02-14 Brian Weinstein <bweinstein@apple.com>
- <rdar://problem/10857306> Consider putting "Show Activity" menu item in Develop menu as mitigation for the old Activity window.
- Reviewed by Tim Hatcher.
- * UserInterface/InspectorFrontendAPI.js:
- (InspectorFrontendAPI.showResources): Make the resources panel the selected panel, and make it not collapsed.
- 2012-02-14 Timothy Hatcher <timothy@apple.com>
- Tail truncate the search result title so the tooltip does not get too large.
- <rdar://problem/10843369> Web Inspector should impose limit on tooltip size to avoid insanely large tooltips
- Reviewed by John Sullivan.
- * UserInterface/SearchResultTreeElement.js:
- (WebInspector.SearchResultTreeElement.truncateAndHighlightTitle): Truncate the title at the end to 50 characters max.
- Use \u2026 instead of the actual ellipsis character since UTF8 in source code makes me nervous.
- 2012-02-14 Timothy Hatcher <timothy@apple.com>
- Show failed resources when first opening the Web Inspector.
- This is the Safari side of the Open Source r107715.
- Follow up to: <rdar://problem/10843653>
- Reviewed by Brian Weinstein.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype._createResource): Set the loaderId for good measure.
- (WebInspector.FrameResourceManager.prototype._addFrameTreeFromFrameResourceTreePayload): Check for failed and canceled.
- 2012-02-13 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10854052> Cmd-C (and Copy menu item) don't work for selected line in DOM Tree
- Allow the current ContentView to handle a "copy" event.
- If the ContentView implements handleCopyEvent and there is
- no window selection, we send the copy event to the ContentView.
- Reviewed by Timothy Hatcher.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- (WebInspector._beforecopy):
- (WebInspector._copy):
- Add support for passing copy event to a ContentView implementing handleCopyEvent.
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView.prototype.handleCopyEvent):
- * UserInterface/FrameContentView.js:
- (WebInspector.FrameContentView.prototype.handleCopyEvent):
- A DOMTreeContentView allows copying the current selected element.
- 2012-02-13 Joseph Pecoraro <pecoraro@apple.com>
- <rdar://problem/10854052> Cmd-C (and Copy menu item) don't work for selected line in DOM Tree
- Merge r105679 from Open Source's frontend to get the "Copy as HTML"
- context menu working.
- Reviewed by Timothy Hatcher.
- * UserInterface/DOMNode.js:
- (WebInspector.DOMNode.prototype.copyNode):
- 2012-02-13 Joseph Pecoraro <pecoraro@apple.com>
- Make RemoteDebugger work on 10.7.3.
- When the front-end is run on an earlier Lion system, such as
- SULionDuchess in RemoteDebugger.app, it fails because
- Function.prototype.bind is unavailable. Since this appears to be the
- only deficiency at the moment, lets define it when its not available.
- Reviewed by Timothy Hatcher.
- * UserInterface/Main.html:
- Move Utilities.js earlier.
- * UserInterface/Utilities.js:
- Provide a Function.prototype.bind implementation when unavailable.
- 2012-02-13 Timothy Hatcher <timothy@apple.com>
- Make failed resources show up with red text in the sidebar and show an error message when selected.
- <rdar://problem/10843653> Failed resources have no visible distinction in the new Web Inspector
- Reviewed by Brian Weinstein.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/FontResourceContentView.js:
- (WebInspector.FontResourceContentView.prototype.contentAvailable): Removed FIXME and resource parameter.
- * UserInterface/GeneralTreeElement.js:
- (WebInspector.GeneralTreeElement.prototype.addClassName): Added.
- (WebInspector.GeneralTreeElement.prototype.removeClassName): Added.
- * UserInterface/ImageResourceContentView.js:
- (WebInspector.ImageResourceContentView.prototype.contentAvailable): Removed FIXME and resource parameter.
- * UserInterface/Main.css:
- (.message-text-view): Reduced the line-height and added some padding.
- (.message-text-view.error): Changed the color of red to a ddarker shade.
- (.message-text-view.error::before): Added. Show an error icon.
- * UserInterface/Main.html:
- * UserInterface/ResourceContentView.js:
- (WebInspector.ResourceContentView): Added issue event listener and issue code from TextResourceContentView.
- (WebInspector.ResourceContentView.prototype.contentAvailable): Removed resource parameter.
- (WebInspector.ResourceContentView.prototype.addIssue): Added.
- (WebInspector.ResourceContentView.prototype.closed): Remove issue event listener.
- (WebInspector.ResourceContentView.prototype._contentAvailable): Added.
- (WebInspector.ResourceContentView.prototype._issueWasAdded): Added.
- * UserInterface/ResourceTreeElement.css: Added.
- (.item.resource.failed): Color text red.
- (.item.resource.failed .subtitle): Ditto.
- * UserInterface/ResourceTreeElement.js:
- (WebInspector.ResourceTreeElement): Add the resource style class.
- (WebInspector.ResourceTreeElement.prototype._updateLoadingStatus): Add or remove the failed style class.
- (WebInspector.ResourceTreeElement.prototype._typeDidChange): Use addClassName and removeClassName.
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView): Removed the issue code, it is now in ResourceContentView.
- (WebInspector.TextResourceContentView.prototype.contentAvailable): Removed FIXME and resource parameter.
- (WebInspector.TextResourceContentView.prototype.addIssue): Show a full error message if there is no content yet.
- 2012-02-13 Timothy Hatcher <timothy@apple.com>
- Fix a bug where opening the Inspector while loading a page could cause a subresource that just finished loading
- to be shown in the Inspector as the main resource.
- Reviewed by Brian Weinstein.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.initialize): Set _waitingForMainFrameResourceTreePayload.
- (WebInspector.FrameResourceManager.prototype.frameDidNavigate): Return early if _waitingForMainFrameResourceTreePayload.
- (WebInspector.FrameResourceManager.prototype.frameDidDetach): Ditto.
- (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent): Ditto.
- (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): Ditto.
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): Ditto.
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidFinishLoading): Ditto.
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidFailLoading): Ditto.
- (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame): Ditto.
- (WebInspector.FrameResourceManager.prototype._addResourceToFrame): Ditto.
- (WebInspector.FrameResourceManager.prototype._processMainFrameResourceTreePayload): Delete _waitingForMainFrameResourceTreePayload.
- Also clear the _resourceRequestIdentifierMap and _frameIdentifierMap maps.
- 2012-02-13 Timothy Hatcher <timothy@apple.com>
- Make sure the sidebar tree is ready before showing the source code in response to a Show Page Source user action.
- Also reveal and select the frame in the Resource sidebar for which the source was shown.
- <rdar://problem/10855004> File path components are missing when using Show Page Source menu item
- Reviewed by Brian Weinstein.
- * UserInterface/InspectorFrontendAPI.js:
- (InspectorFrontendAPI.showMainResourceForFrame):
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.showSourceCodeForFrame):
- (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): Added. A custom implementation is
- needed for this since the frames are populated lazily.
- (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject.getParent): Added.
- (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject.isAncestor): Added.
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): Check for _frameIdentifierToShowSourceCodeWhenAvailable
- and call showSourceCodeForFrame.
- (WebInspector.ResourceSidebarPanel.prototype._frameWasAdded): Return early if the main frame tree element isn't
- in the sidebar tree outline yet.
- 2012-02-13 Timothy Hatcher <timothy@apple.com>
- Remove the "Create RemoteWebInspector.framework symlinks" build phase now that all
- clients are off the old framework.
- This also fixes a build error seen in the archive builders.
- <rdar://problem/10828236> Remove Symlinks for RemoteWebInspector.framework
- Rubber-stamped by Joseph Pecoraro.
- * WebInspectorUI.xcodeproj/project.pbxproj: Removed "Create RemoteWebInspector.framework symlinks".
- 2012-02-12 Timothy Hatcher <timothy@apple.com>
- Enable localization of the new Web Inspector again.
- <rdar://problem/10688721>
- Reviewed by John Sullivan.
- * Localizations/en.lproj/localizedStrings.js: Updated.
- * UserInterface/Main.js:
- (WebInspector.UIString): Lookup the string in window.localizedStrings again.
- 2012-02-11 Timothy Hatcher <timothy@apple.com>
- Minify the CSS and JavaScript resources in Production builds.
- <rdar://problem/10408292> Master the new Web Inspector resources into a separate framework
- Reviewed by Joseph Pecoraro.
- * Scripts/cssmin.py: Added.
- * Scripts/jsmin.py: Copied from Safari/Reader/jsmin.py.
- * WebInspectorUI.xcodeproj/project.pbxproj: Call cssmin.py on Main.css and jsmin.py on Main.js.
- 2012-02-11 Timothy Hatcher <timothy@apple.com>
- Remove console.assert() calls from Productions builds.
- <rdar://problem/10408292> Master the new Web Inspector resources into a separate framework
- Reviewed by Joseph Pecoraro.
- * Scripts/remove-console-asserts.pl: Added.
- * WebInspectorUI.xcodeproj/project.pbxproj: Call remove-console-asserts.pl on the combined Main.js file.
- 2012-02-11 Timothy Hatcher <timothy@apple.com>
- Combine scripts and stylesheets into single files in Production builds.
- <rdar://problem/10408292> Master the new Web Inspector resources into a separate framework
- Reviewed by Joseph Pecoraro.
- * Scripts/combine-resources.pl: Added.
- * Scripts/copy-user-interface-resources.sh: Call combine-resources.pl in Production builds.
- * UserInterface/Main.html: Removed a FIXME comment that gets in the way of combine-resources.pl.
- * WebInspectorUI.xcodeproj/project.pbxproj: Added combine-resources.pl.
- 2012-02-11 Timothy Hatcher <timothy@apple.com>
- Build the user interface files into the WebInspector framework.
- <rdar://problem/10408292> Master the new Web Inspector resources into a separate framework
- Reviewed by Joseph Pecoraro.
- * Configurations/Base.xcconfig: Added WEBKIT_UMBRELLA_FRAMEWORKS_DIR and WEBCORE_PRIVATE_HEADERS_DIR.
- * Configurations/DebugRelease.xcconfig: Added WEBKIT_UMBRELLA_FRAMEWORKS_DIR for engineering builds.
- * Scripts/copy-user-interface-resources.sh: Added.
- * WebInspectorUI.xcodeproj/project.pbxproj: Added UserInterface folder, localizedStrings.js,
- Copy User Interface Resources and Copy WebCore Inspector Resources build phases.
- 2012-02-11 Timothy Hatcher <timothy@apple.com>
- Move Safari/Develop/WebInspector to WebInspector/UserInterface.
- <rdar://problem/10408292> Master the new Web Inspector resources into a separate framework
- Reviewed by Joseph Pecoraro.
- * ChangeLog: Copied over the Safari/ChangeLog entries with changes in Safari/Develop/WebInspector.
- * UserInterface: Renamed from Safari/Develop/WebInspector.
- 2012-02-10 Timothy Hatcher <timothy@apple.com>
- Copy over StylesSidebarPane.js from Open Source and break it up into one class per file.
- Part of: <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/BlankStylePropertiesSection.js: Copied from OpenSource/Source/WebCore/inspector/front-end/StylesSidebarPane.js.
- * UserInterface/CSSPropertyPrompt.js: Ditto.
- * UserInterface/ComputedStylePropertiesSection.js: Ditto.
- * UserInterface/StylePropertiesSection.js: Ditto.
- * UserInterface/StylePropertyTreeElement.js: Ditto.
- 2012-02-10 Timothy Hatcher <timothy@apple.com>
- Collapse bread-crumb compoenents in the middle when there ins't enough room to show them all.
- This keeps the important ones (the ends) on the screen while hiding the less important middle.
- Reviewed by Brian Weinstein.
- * UserInterface/HierarchicalPathComponent.css:
- (.hierarchical-path-component.hidden): Added.
- (.hierarchical-path-component.collapsed): Added.
- (.hierarchical-path-component.collapsed > .icon): Added.
- (.hierarchical-path-component.collapsed > .title): Added.
- (.hierarchical-path-component.collapsed > select): Added.
- (.hierarchical-path-component > .separator): Added.
- * UserInterface/HierarchicalPathComponent.js:
- (WebInspector.HierarchicalPathComponent.prototype.get hidden): Added.
- (WebInspector.HierarchicalPathComponent.prototype.set hidden): Added.
- (WebInspector.HierarchicalPathComponent.prototype.get collapsed): Added.
- (WebInspector.HierarchicalPathComponent.prototype.set collapsed): Added.
- * UserInterface/HierarchicalPathNavigationItem.js:
- (WebInspector.HierarchicalPathNavigationItem.prototype.set components): Delete _collapsedComponent.
- (WebInspector.HierarchicalPathNavigationItem.prototype.updateLayout): Loop through the components starting
- at the middle and fanning out in each direction to collapse until widthToRemove depleted.
- 2012-02-10 Brian Weinstein <bweinstein@apple.com>
- Show page and frame source using the new inspector if it is enabled.
- When the user selects Show Page Source from the Develop menu or Show Page Source or Show Frame Source
- from the context menu, call new WKInspector API if we are using the new inspector.
- <rdar://problem/10830076> Show Page Source should open the new Web Inspector to the page source
- <rdar://problem/10844831> Show Frame Source should open the new Web Inspector to that frame's source
- Reviewed by Tim Hatcher.
- * UserInterface/InspectorFrontendAPI.js:
- (InspectorFrontendAPI.showMainResourceForFrame): Call through to the ResourceSidebarPanel.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel):
- (WebInspector.ResourceSidebarPanel.prototype.showSourceCodeForFrame): If we have a Frame object for
- the frame ID we were given, find its content view and show the source for it. If there isn't a frame
- object yet, store the frame ID for the frame we want to show.
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): If we want to show a frame ID when it becomes
- available, then return early before showing the main resource.
- (WebInspector.ResourceSidebarPanel.prototype._frameWasAdded): If we are waiting to show a frame's source, and it
- was just added, then call showSourceCodeForFrame.
- 2012-02-09 Timothy Hatcher <timothy@apple.com>
- Set a default tooltip for GeneralTreeElements if there isn't a custom one already assigned.
- This gives the user a way to read truncated titles for all the sidebar tree elements.
- Reviewed by Brian Weinstein.
- * UserInterface/GeneralTreeElement.js:
- (WebInspector.GeneralTreeElement.prototype._updateTitleElements): Build a tool tip based on the
- main title and subtitle.
- 2012-02-09 Brian Weinstein <bweinstein@apple.com>
- Clean up the code to set the titles of application cache manifest and frame tree elements.
- This patch moves the responsibility of generating titles and subtitles for the application cache
- manifests and frames from their represented objects to the tree elements.
- Reviewed by Tim Hatcher.
- * UserInterface/ApplicationCacheFrame.js: Moved code from here...
- * UserInterface/ApplicationCacheFrameTreeElement.js: ... to here.
- (WebInspector.ApplicationCacheFrameTreeElement): Pass a blank title, it will be populated by updateTitles, and then call updateTitles.
- (WebInspector.ApplicationCacheFrameTreeElement.prototype.constructor.WebInspector.ApplicationCacheFrameTreeElement.updateTitles): Set the
- mainTitle and the subtitle on the GeneralTreeElement.
- * UserInterface/ApplicationCacheManifest.js: Moved code from here...
- * UserInterface/ApplicationCacheManifestTreeElement.js: ... to here.
- (WebInspector.ApplicationCacheManifestTreeElement): Pass an empty title. StorageTreeElement will populate it when the flattened variable
- is set.
- (WebInspector.ApplicationCacheManifestTreeElement.prototype.constructor.WebInspector.ApplicationCacheManifestTreeElement.get name): Call _generateTitles
- if necessary, and then return the name.
- (WebInspector.ApplicationCacheManifestTreeElement.prototype.get secondaryName): Call _generateTitles if necessary, and then
- return the secondary name.
- (WebInspector.ApplicationCacheManifestTreeElement.prototype._generateTitles): Moved from ApplicationCacheManifest.js.
- 2012-02-09 Brian Weinstein <bweinstein@apple.com>
- Implement a better titling scheme for application cache manifests and frames.
- This patch reworks the titles and subtitles of application cache manifests and frames.
- For the manifest, if it is collapsed, it will say: Application Cache - Manifest Name.
- If it isn't collapsed (there is a top level "Application Cache" folder), then it will say: Manifest Name - Host Name.
- For the frame, the main title will be the last path component of the frame (if it exists), or the host. The subtitle
- will be the host, if the host isn't the same as the main title of the frame, or the subtitle of the application cache
- manifest's tree element.
- Rest of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector.
- Reviewed by Tim Hatcher.
- * UserInterface/ApplicationCacheFrame.js:
- (WebInspector.ApplicationCacheFrame.prototype.get title): Call _generateTitles, which doesn't return a title anymore.
- (WebInspector.ApplicationCacheFrame.prototype.get subtitle): Call _generateTitles and return this._subtitle.
- (WebInspector.ApplicationCacheFrame.prototype.clearTitles): Set the subtitle and main title to null, and call _generateTitles.
- (WebInspector.ApplicationCacheFrame.prototype._generateTitles): Clean up the code to generate a main title, and generate
- a subtitle as well.
- * UserInterface/ApplicationCacheFrameTreeElement.js:
- (WebInspector.ApplicationCacheFrameTreeElement): Pass the title and the subtitle.
- (WebInspector.ApplicationCacheFrameTreeElement.prototype.constructor.WebInspector.ApplicationCacheFrameTreeElement.updateTitles):
- Clear the titles on the represented object, and set the mainTitle and subtitle on the tree element to their new values.
- * UserInterface/ApplicationCacheManifest.js:
- (WebInspector.ApplicationCacheManifest.prototype.get title): Call _generateTitles.
- (WebInspector.ApplicationCacheManifest.prototype.get subtitle): Ditto.
- (WebInspector.ApplicationCacheManifest.prototype._generateTitles): Clean up the code to generate a main title and also generate
- a subtitle.
- * UserInterface/ApplicationCacheManifestTreeElement.js:
- (WebInspector.ApplicationCacheManifestTreeElement.prototype.get secondaryName): Get the represented object's subtitle.
- * UserInterface/StorageTreeElement.js:
- (WebInspector.StorageTreeElement): Use the flattened setter instead of setting the variable. The setter does a bit more work
- that we need to do.
- (WebInspector.StorageTreeElement.prototype.set flattened): Add the ability to set a subtitle when we are not flattened. If the
- flattening changes, call _updateChildrensTitles.
- (WebInspector.StorageTreeElement.prototype._updateChildrensTitles): Call updateTitles for each child that has updateTitles in their
- prototype.
- 2012-02-09 Brian Weinstein <bweinstein@apple.com>
- Have ApplicationCacheFrameContentView listen for when application cache statuses change.
- More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector.
- Reviewed by Tim Hatcher.
- * UserInterface/ApplicationCacheFrameContentView.js:
- (WebInspector.ApplicationCacheFrameContentView): Add an event listener.
- (WebInspector.ApplicationCacheFrameContentView.prototype.closed): Remove an event listener.
- (WebInspector.ApplicationCacheFrameContentView.prototype._updateStatus): Call through to updateStatus.
- 2012-02-09 Brian Weinstein <bweinstein@apple.com>
- Remove a bunch of dead code from ApplicationCacheFrameContentView.
- More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector.
- Reviewed by Tim Hatcher.
- * UserInterface/ApplicationCacheFrameContentView.js:
- (WebInspector.ApplicationCacheFrameContentView):
- (WebInspector.ApplicationCacheFrameContentView.prototype.updateStatus):
- 2012-02-09 Brian Weinstein <bweinstein@apple.com>
- Add icons for application cache manifest and frame tree elements.
- More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector.
- Reviewed by Tim Hatcher.
- * UserInterface/ApplicationCacheFrameTreeElement.js:
- (WebInspector.ApplicationCacheFrameTreeElement): Set a class name.
- * UserInterface/ApplicationCacheManifestTreeElement.js:
- (WebInspector.ApplicationCacheManifestTreeElement): Ditto.
- * UserInterface/ApplicationCacheIcons.css: Added.
- * UserInterface/Images/ApplicationCache.png: Added.
- * UserInterface/Images/ApplicationCache@2x.png: Added.
- * UserInterface/Main.html: Add new file.
- 2012-02-09 Timothy Hatcher <timothy@apple.com>
- Fix a file not found error in the Web Inspector.
- Reviewed by Brian Weinstein.
- * UserInterface/IndeterminateProgressSpinner.css:
- (.indeterminate-progress-spinner): Use IndeterminateProgressSpinner1.pdf instead of IndeterminateProgressSpinner.pdf.
- 2012-02-09 Timothy Hatcher <timothy@apple.com>
- Don't add event listeners in the ContentView "shown" functions.
- This was leading to duplicate listeners if the content view was hidden and shown multiple times.
- Reviewed by Brian Weinstein.
- * UserInterface/ClusterContentView.js:
- (WebInspector.ClusterContentView): Add the event listener here...
- (WebInspector.ClusterContentView.prototype.shown): ... instead of here.
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView): Add the event listener here...
- (WebInspector.DOMTreeContentView.prototype.shown): ... instead of here.
- * UserInterface/ResourceContentView.js:
- (WebInspector.ResourceContentView): Add the event listener here.
- (WebInspector.ResourceContentView.prototype.shown): Removed.
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView): Add the event listener here...
- (WebInspector.TextResourceContentView.prototype.shown): ... instead of here.
- (WebInspector.TextResourceContentView.prototype.hidden): Don't remove the event listener here...
- (WebInspector.TextResourceContentView.prototype.closed): ... remove it here instead.
- 2012-02-07 Brian Weinstein <bweinstein@apple.com>
- Update the details sidebar when the network state or the frame manifest state changes.
- More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ApplicationCacheDetailsSidebarPanel.js:
- (WebInspector.ApplicationCacheDetailsSidebarPanel):
- (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.refresh): Call _refreshOnlineRow and _refreshStatusRow.
- (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype._networkStateUpdated): Call _refreshOnlineRow.
- (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype._frameManifestStatusChanged): If the frame that changed
- matches ours, call _refreshStatusRow.
- (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype._refreshOnlineRow): Set the text of the online row.
- (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype._refreshStatusRow): Set the text of the status row.
- * UserInterface/ApplicationCacheManager.js:
- (WebInspector.ApplicationCacheManager.prototype.networkStateUpdated):
- (WebInspector.ApplicationCacheManager.prototype._frameManifestUpdated):
- 2012-02-07 Brian Weinstein <bweinstein@apple.com>
- Make sure we update the status of an existing cache frame in _frameManifestUpdated.
- More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ApplicationCacheFrame.js:
- (WebInspector.ApplicationCacheFrame.prototype.set status): Add a setter.
- * UserInterface/ApplicationCacheManager.js:
- (WebInspector.ApplicationCacheManager.prototype._frameManifestUpdated): If we already have an ApplicationCacheFrame,
- make sure to set the status when it changes.
- 2012-02-07 Brian Weinstein <bweinstein@apple.com>
- Add a status section to the details sidebar that shows the application cache status and whether the user is online
- or offline.
- This doesn't listen to changes in state while the sidebar is showing yet, but it will in the next patch.
- More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ApplicationCacheDetailsSidebarPanel.js:
- (WebInspector.ApplicationCacheDetailsSidebarPanel):
- (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.refresh):
- 2012-02-07 Brian Weinstein <bweinstein@apple.com>
- Add the manifest URL and the frame URL that loaded the manifest to the details sidebar.
- More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ApplicationCacheDetailsSidebarPanel.js:
- (WebInspector.ApplicationCacheDetailsSidebarPanel): Create a start to our structure of groups and rows.
- (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.get applicationCacheFrame): Return the application cache frame.
- (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.set applicationCacheFrame): Set the application cache frame and say
- we need a refresh.
- (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.refresh): Set the data in our rows.
- 2012-02-07 Brian Weinstein <bweinstein@apple.com>
- Add a basic ApplicationCacheDetailsSidebarPanel, and make it be enabled at the right time.
- More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ApplicationCacheDetailsSidebarPanel.js: Added.
- (WebInspector.ApplicationCacheDetailsSidebarPanel): Call the DetailsSidebarPanel constructor.
- (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.constructor.WebInspector.ApplicationCacheDetailsSidebarPanel.inspect): Determine
- if one of the selected objects is an ApplicationCacheFrame.
- (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.refresh): Add a FIXME.
- * UserInterface/Main.html: Add a new file.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Create the ApplicationCacheDetailsSidebarPanel.
- 2012-02-07 Brian Weinstein <bweinstein@apple.com>
- Create an ApplicationCacheFrameContentView when an ApplicationCacheFrameTreeElement is selected.
- More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView):
- (WebInspector.ContentView.isViewable):
- * UserInterface/Main.js:
- (WebInspector.contentBrowserTreeElementForRepresentedObject):
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel.prototype._storageCleared):
- (WebInspector.StorageSidebarPanel.prototype._treeElementSelected):
- 2012-02-07 Brian Weinstein <bweinstein@apple.com>
- Implement some needed functions in ApplicationCacheManager to handle calls from ApplicationCacheObserver and
- ApplicationCacheFrameContentView.
- More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ApplicationCacheManager.js:
- (WebInspector.ApplicationCacheManager):
- (WebInspector.ApplicationCacheManager.prototype.networkStateUpdated): Update the online state, and add a FIXME to fire an event.
- (WebInspector.ApplicationCacheManager.prototype.get online):
- (WebInspector.ApplicationCacheManager.prototype.applicationCacheStatusUpdated):
- (WebInspector.ApplicationCacheManager.prototype.requestApplicationCache):
- * UserInterface/ApplicationCacheObserver.js:
- (WebInspector.ApplicationCacheObserver.prototype.constructor.WebInspector.ApplicationCacheObserver.applicationCacheStatusUpdated):
- (WebInspector.ApplicationCacheObserver.prototype.networkStateUpdated):
- 2012-02-07 Brian Weinstein <bweinstein@apple.com>
- Implement Number.bytesToString.
- More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector.
- Reviewed by Joseph Pecoraro.
- * UserInterface/Utilities.js:
- (Number.string_appeared_here.value):
- 2012-02-07 Brian Weinstein <bweinstein@apple.com>
- Make more of ApplicationFrameContentView work.
- Add some styling, and make some of the code in ApplicationFrameContentView match our mannerisms. There are a couple
- places we ask the ApplicationCacheManager for data. These functions don't exist yet, but they will in the next patch.
- More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ApplicationCacheFrameContentView.css: Added.
- (.content-view.application-cache-frame > .data-grid):
- (.content-view.application-cache-frame .hidden):
- * UserInterface/ApplicationCacheFrameContentView.js:
- (WebInspector.ApplicationCacheFrameContentView): Create our version of an empty view instead of open source's. Ask the application
- cache manager for data.
- (WebInspector.ApplicationCacheFrameContentView.prototype.shown): Use our correct method name.
- (WebInspector.ApplicationCacheFrameContentView.prototype.hidden): Ditto.
- (WebInspector.ApplicationCacheFrameContentView.prototype._maybeUpdate): Check this.visible instead of isVisible().
- (WebInspector.ApplicationCacheFrameContentView.prototype.updateStatus): Ditto.
- (WebInspector.ApplicationCacheFrameContentView.prototype._update): Ask the application cache manager for data.
- (WebInspector.ApplicationCacheFrameContentView.prototype._updateCallback): Use our functions to hide and show the empty views / datagrids.
- (WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid): Ditto.
- 2012-02-07 Brian Weinstein <bweinstein@apple.com>
- Do some clean-up of ApplicationCacheFrameContentView.
- Change the argument it takes to a represented object, have it inherit from ContentView, and remove calls to add/removeStyleClass.
- More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ApplicationCacheFrameContentView.js:
- (WebInspector.ApplicationCacheFrameContentView):
- (WebInspector.ApplicationCacheFrameContentView.prototype._updateCallback):
- 2012-02-07 Brian Weinstein <bweinstein@apple.com>
- Bring in ApplicationCacheItemsView from open source as ApplicationCacheFrameContentView.
- More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ApplicationCacheFrameContentView.js: Added. Copied from open source.
- 2012-02-07 Brian Weinstein <bweinstein@apple.com>
- Add tree elements for application cache manifests and frames that have an application cache.
- When the document adds or removes frames from the application cache, ApplicationCacheManager fires events. The storage sidebar
- panel listens for these events and updates the state of the tree elements in the sidebar panel. Currently, we only add
- sidebar items, but removing them will be added in a future patch.
- More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ApplicationCacheManager.js:
- (WebInspector.ApplicationCacheManager.prototype._frameManifestUpdated):
- (WebInspector.ApplicationCacheManager.prototype._frameManifestRemoved):
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel):
- (WebInspector.StorageSidebarPanel.prototype._frameManifestAdded):
- (WebInspector.StorageSidebarPanel.prototype._frameManifestRemoved):
- (WebInspector.StorageSidebarPanel.prototype._storageCleared):
- 2012-02-06 Brian Weinstein <bweinstein@apple.com>
- Add tree elements for application cache frames and application cache manifests.
- They aren't used yet, but will be used by the StorageSidebarPanel in a later patch.
- More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ApplicationCacheFrameTreeElement.js: Added.
- (WebInspector.ApplicationCacheFrameTreeElement): Basic tree element subclass with a FIXME for an icon.
- * UserInterface/ApplicationCacheManifest.js:
- (WebInspector.ApplicationCacheManifest.prototype.get title): Call _generateTitle if we don't already have one.
- (WebInspector.ApplicationCacheManifest.prototype._generateTitle): Try and get a title from the manifest URL's last path component, host
- or the whole URL.
- * UserInterface/ApplicationCacheManifestTreeElement.js: Added.
- (WebInspector.ApplicationCacheManifestTreeElement): Inherits from StorageTreeElement.
- (WebInspector.ApplicationCacheManifestTreeElement.prototype.constructor.WebInspector.ApplicationCacheManifestTreeElement.get name): Get the
- represented object's title.
- (WebInspector.ApplicationCacheManifestTreeElement.prototype.get categoryName): return Application Cache.
- * UserInterface/Main.html: Add new files.
- 2012-02-06 Brian Weinstein <bweinstein@apple.com>
- Implement the callback functions when we get information about the application cache. We create the necessary
- application cache objects now, but don't create tree elements or notify the storage sidebar panel about them
- yet.
- More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ApplicationCacheManager.js:
- (WebInspector.ApplicationCacheManager): Listen for when child frames are removed.
- (WebInspector.ApplicationCacheManager.prototype.constructor.WebInspector.ApplicationCacheManager.initialize): Get the
- frames with application caches here..
- (WebInspector.ApplicationCacheManager.prototype._mainResourceDidChange): .. Instead of here.
- (WebInspector.ApplicationCacheManager.prototype._childFrameWasRemoved): Call _frameManifestRemoved.
- (WebInspector.ApplicationCacheManager.prototype._manifestForFrameLoaded): If the frame doesn't have a manifest URL,
- call _frameManifestRemoved.
- (WebInspector.ApplicationCacheManager.prototype._framesWithManifestsLoaded): Call _frameManifestUpdated for all frames
- that have manifests.
- (WebInspector.ApplicationCacheManager.prototype._frameManifestUpdated): Create a frame manifest object if it is necessary,
- and add FIXMEs to fire some events about the application cache state.
- (WebInspector.ApplicationCacheManager.prototype._frameManifestRemoved): Remove the manifest object for this frame.
- 2012-02-06 Brian Weinstein <bweinstein@apple.com>
- Add ApplicationCacheFrame and ApplicationCacheManifest. These are just simple objects that wrap a few properties.
- More of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ApplicationCacheFrame.js: Added.
- (WebInspector.ApplicationCacheFrame):
- (WebInspector.ApplicationCacheFrame.prototype.constructor.WebInspector.ApplicationCacheFrame.get frame):
- (WebInspector.ApplicationCacheFrame.prototype.get manifest):
- (WebInspector.ApplicationCacheFrame.prototype.get status):
- * UserInterface/ApplicationCacheManifest.js: Added.
- (WebInspector.ApplicationCacheManifest):
- (WebInspector.ApplicationCacheManifest.prototype.constructor.WebInspector.ApplicationCacheManifest.get manifestURL):
- * UserInterface/Main.html:
- 2012-02-06 Brian Weinstein <bweinstein@apple.com>
- Add ApplicationCacheManager, and have it listen for when frames navigate, and call some ApplicationCacheAgent
- methods to get data from WebCore.
- We don't do anything with this data yet, but will in follow-up patches.
- Part of <rdar://problem/10642953> Implement Application Cache sidebar items and content views for new web inspector.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ApplicationCacheManager.js: Added.
- (WebInspector.ApplicationCacheManager): Initialize the ApplicationCacheAgent, and add a listener for when frames navigate.
- (WebInspector.ApplicationCacheManager.prototype.constructor.WebInspector.ApplicationCacheManager.initialize): Clear our (always empty)
- list of application cache objects.
- (WebInspector.ApplicationCacheManager.prototype._mainResourceDidChange): Get the list of frames with application caches if the main frame
- navigated. If it was a subframe, check the status of the application cache for the subframe.
- (WebInspector.ApplicationCacheManager.prototype._manifestForFrameLoaded): Stub.
- (WebInspector.ApplicationCacheManager.prototype._framesWithManifestsLoaded): Ditto.
- * UserInterface/Main.html: Add new file.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Create an ApplicationCacheManager.
- 2012-02-06 Timothy Hatcher <timothy@apple.com>
- Show the full URL in the tool tip for resources in the Web Inspector.
- Part of: <rdar://problem/10259020> Improve Web Inspector's view of per-page resources enough that Activity window can be eliminated
- Reviewed by Brian Weinstein.
- * UserInterface/ResourceTreeElement.js:
- (WebInspector.ResourceTreeElement.prototype._updateResource): Call _updateToolTip.
- (WebInspector.ResourceTreeElement.prototype._updateToolTip): Added.
- (WebInspector.ResourceTreeElement.prototype._urlDidChange): Call _updateToolTip.
- 2012-02-06 Timothy Hatcher <timothy@apple.com>
- Make double-click in the Web Inspector Resource sidebar open the resource in a new Safari tab/window.
- This is like the Activity window, which we want to replace with the new Web Inspector.
- Part of: <rdar://problem/10259020> Improve Web Inspector's view of per-page resources enough that Activity window can be eliminated
- Reviewed by Brian Weinstein.
- * UserInterface/ResourceTreeElement.js:
- (WebInspector.ResourceTreeElement.prototype.ondblclick): Added.
- 2012-02-06 Timothy Hatcher <timothy@apple.com>
- Fix an error on reload in the Web Inspector where the main resource would not be marked as finished, so the source
- would never display and the spinner in the sidebar would never go away.
- Reviewed by Brian Weinstein.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame): Only reuse the main resource
- or provisional main resource if the loader identifiers match.
- 2012-02-06 Timothy Hatcher <timothy@apple.com>
- Show a spinner in resource content views while waiting for content to become available.
- Part of: <rdar://problem/10259020> Improve Web Inspector's view of per-page resources enough that Activity window can be eliminated
- Reviewed by Brian Weinstein.
- * UserInterface/Main.html:
- * UserInterface/ResourceContentView.css: Added.
- (.content-view.resource > .indeterminate-progress-spinner):
- * UserInterface/ResourceContentView.js:
- (WebInspector.ResourceContentView): Append a spinner.
- 2012-02-06 Timothy Hatcher <timothy@apple.com>
- Show a progress spinner in the Resource sidebar next to resources that are still loading.
- Part of: <rdar://problem/10259020> Improve Web Inspector's view of per-page resources enough that Activity window can be eliminated
- Reviewed by Brian Weinstein.
- * UserInterface/GeneralTreeElement.js:
- (WebInspector.GeneralTreeElement): Initialize status to "".
- (WebInspector.GeneralTreeElement.prototype.get status): Added.
- (WebInspector.GeneralTreeElement.prototype.set status): Added.
- (WebInspector.GeneralTreeElement.prototype.onattach): Call _updateStatusElement.
- (WebInspector.GeneralTreeElement.prototype._createElementsIfNeeded): Create the status element.
- (WebInspector.GeneralTreeElement.prototype._updateStatusElement): Added.
- * UserInterface/Images/IndeterminateProgressSpinner1.pdf: Added.
- * UserInterface/Images/IndeterminateProgressSpinner10.pdf: Added.
- * UserInterface/Images/IndeterminateProgressSpinner11.pdf: Added.
- * UserInterface/Images/IndeterminateProgressSpinner12.pdf: Added.
- * UserInterface/Images/IndeterminateProgressSpinner2.pdf: Added.
- * UserInterface/Images/IndeterminateProgressSpinner3.pdf: Added.
- * UserInterface/Images/IndeterminateProgressSpinner4.pdf: Added.
- * UserInterface/Images/IndeterminateProgressSpinner5.pdf: Added.
- * UserInterface/Images/IndeterminateProgressSpinner6.pdf: Added.
- * UserInterface/Images/IndeterminateProgressSpinner7.pdf: Added.
- * UserInterface/Images/IndeterminateProgressSpinner8.pdf: Added.
- * UserInterface/Images/IndeterminateProgressSpinner9.pdf: Added.
- * UserInterface/IndeterminateProgressSpinner.css: Added.
- * UserInterface/IndeterminateProgressSpinner.js: Added.
- (WebInspector.IndeterminateProgressSpinner):
- (WebInspector.IndeterminateProgressSpinner.prototype.get element):
- * UserInterface/Main.html:
- * UserInterface/NavigationSidebarPanel.css:
- (.navigation-sidebar-panel-content-tree-outline .item .status):
- (.navigation-sidebar-panel-content-tree-outline .item .status:empty):
- (.navigation-sidebar-panel-content-tree-outline .item.small .status):
- (.navigation-sidebar-panel-content-tree-outline .item.small .status .indeterminate-progress-spinner):
- (.navigation-sidebar-panel-content-tree-outline .item.small.two-line .status):
- * UserInterface/ResourceTreeElement.js:
- (WebInspector.ResourceTreeElement.prototype._updateResource): Add event listeners and call _updateLoadingStatus.
- (WebInspector.ResourceTreeElement.prototype._updateLoadingStatus): Added. Sets status to a spinner when loading.
- 2012-02-04 Timothy Hatcher <timothy@apple.com>
- Use PDFs for the user input prompt and result icons.
- Part of: <rdar://problem/10643175> DataGrid and the DOM tree and the Console should be HiDPI compliant
- Reviewed by Sam Weinig.
- * UserInterface/DatabaseContentView.css:
- (.database-query-prompt::before): Use Use UserInputPrompt.pdf.
- * UserInterface/Images/UserInputPrompt.pdf: Added.
- * UserInterface/Images/UserInputResult.pdf: Added.
- * UserInterface/Images/userInputIcon.png: Removed.
- * UserInterface/Images/userInputResultIcon.png: Removed.
- * UserInterface/LogContentView.css:
- (#console-prompt::before): Use UserInputPrompt.pdf.
- (.console-user-command-result.console-log-level::before): Use UserInputResult.pdf.
- 2012-02-04 Timothy Hatcher <timothy@apple.com>
- Use PDFs for the error and wrning icons.
- Part of: <rdar://problem/10643175> DataGrid and the DOM tree and the Console should be HiDPI compliant
- Reviewed by Sam Weinig.
- * UserInterface/DatabaseContentView.css:
- (.database-query-result.error::before): Use ErrorSmall.pdf.
- * UserInterface/Images/ErrorSmall.pdf: Added.
- * UserInterface/Images/WarningSmall.pdf: Added.
- * UserInterface/Images/errorIcon.png: Removed.
- * UserInterface/Images/warningIcon.png: Removed.
- * UserInterface/LogContentView.css:
- (.console-error-level::before): Use ErrorSmall.pdf.
- (.console-warning-level::before): Use WarningSmall.pdf.
- 2012-02-04 Timothy Hatcher <timothy@apple.com>
- Remove unused code and images from the log content view for status bar items and filtering.
- Reviewed by Joseph Pecoraro.
- * UserInterface/Images/deleteIcon.png: Removed.
- * UserInterface/Images/searchSmallBrightBlue.png: Removed.
- * UserInterface/LogContentView.css:
- (.console-debug-level::before): Use a background color instead of an image. The debug
- level is not used by the new Web Inspector.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView): Removed creation code for status bar items and filtering.
- (WebInspector.LogContentView.prototype.evalInInspectedWindow): Pass undefined for the context.
- * UserInterface/Section.css:
- (.section .properties .delete-button): Removed.
- (.section .properties li.hovered .delete-button): Removed.
- 2012-02-04 Timothy Hatcher <timothy@apple.com>
- Update LogContentView to work with the new Web Inspector's ContentView instead of the old View.
- Reviewed by Joseph Pecoraro.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype.hidden): Renamed from willHide. Call storeScrollPositions.
- (WebInspector.LogContentView.prototype.shown): Renamed from willShow. Merged with afterShow.
- (WebInspector.LogContentView.prototype.storeScrollPositions): Removed WebInspector.View.prototype call.
- (WebInspector.LogContentView.prototype.restoreScrollPositions): Ditto.
- (WebInspector.LogContentView.prototype.updateLayout): Renamed from onResize.
- 2012-02-04 Timothy Hatcher <timothy@apple.com>
- Make the "Show Error Console" develop menu item work with the new Web Inspector.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser.prototype.get currentContentView): Added.
- (WebInspector.ContentBrowser.prototype.canGoBack): Use this.currentContentView.
- (WebInspector.ContentBrowser.prototype.canGoForward): Ditto.
- (WebInspector.ContentBrowser.prototype.goBack): Ditto.
- (WebInspector.ContentBrowser.prototype.goForward): Ditto.
- (WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange): Ditto.
- (WebInspector.ContentBrowser.prototype._currentContentViewDidChange): Ditto.
- * UserInterface/InspectorFrontendAPI.js:
- (InspectorFrontendAPI.showConsole): Call LogSidebarPanel.showCurrentLog.
- * UserInterface/LogSidebarPanel.js:
- (WebInspector.LogSidebarPanel.prototype.showCurrentLog):
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): Don't select the main frame
- if there is already a content view showing.
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork): Ditto.
- 2012-02-04 Timothy Hatcher <timothy@apple.com>
- Fix an infinite loop when doing "Show Error Console" or any of the Inspector develop menu items.
- <rdar://problem/10801359> Hitting Cmd-Opt-C (Develop -> Show Error Console) causes WebProcess
- to freak out (100% CPU, GBs of RAM)
- Reviewed by Joseph Pecoraro.
- * UserInterface/InspectorFrontendAPI.js:
- (InspectorFrontendAPI.loadCompleted): Set _loaded before calling dispatch, otherwise dispatch
- will keep append commands to _pendingCommands and the for loop will never finish.
- 2012-02-02 Timothy Hatcher <timothy@apple.com>
- Add the Box Model to the Appearance details sidebar panel.
- Last part of: <rdar://problem/10319536> Implement the Metrics inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/AppearanceDetailsSidebarPanel.js:
- (WebInspector.AppearanceDetailsSidebarPanel):
- (WebInspector.AppearanceDetailsSidebarPanel.prototype._refreshBoxModel):
- * UserInterface/BoxModelDetailsSectionRow.css: Added.
- * UserInterface/BoxModelDetailsSectionRow.js: Copied from OpenSource/Source/WebCore/inspector/front-end/MetricsSidebarPane.js.
- Modified to use DOMTreeManager and CSSStyleManager and other minor renames to work in the new inspector.
- * UserInterface/CSSStyleManager.js:
- (WebInspector.CSSStyleManager.prototype.get forcedPseudoClasses): Added stub with FIXME.
- * UserInterface/Main.html: Included BoxModelDetailsSectionRow.{css,js}.
- 2012-02-02 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.AppearanceDetailsSidebarPanel, future home for the box-model diagram.
- Part of: <rdar://problem/10319536> Implement the Metrics inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/AppearanceDetailsSidebarPanel.js: Added.
- (WebInspector.AppearanceDetailsSidebarPanel):
- (WebInspector.AppearanceDetailsSidebarPanel.prototype.refresh): Call _refreshBoxModel.
- (WebInspector.AppearanceDetailsSidebarPanel.prototype._refreshBoxModel):
- * UserInterface/Main.html: Included AppearanceDetailsSidebarPanel.js.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Create an instance of AppearanceDetailsSidebarPanel.
- 2012-02-02 Timothy Hatcher <timothy@apple.com>
- Replace WebInspector.domAgent use with WebInspector.domTreeManager.
- Needed for:
- <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- <rdar://problem/10319536> Implement the Metrics inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/CSSStyleManager.js:
- (WebInspector.CSSStyleManager.prototype.setRuleSelector.callback):
- (WebInspector.CSSStyleManager.prototype.addRule.callback):
- (WebInspector.CSSStyleManager.prototype._ownerDocumentId):
- 2012-02-02 Timothy Hatcher <timothy@apple.com>
- Create a singelton WebInspector.CSSStyleManager instance.
- Needed for:
- <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- <rdar://problem/10319536> Implement the Metrics inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- 2012-02-02 Timothy Hatcher <timothy@apple.com>
- WebInspector.CSSStyleModel to WebInspector.CSSStyleManager.
- Also rename WebInspector.CSSStyleModel.Events to WebInspector.CSSStyleManager.Event
- and delete some calls in the CSSStyleManager constructor we don't need.
- Needed for:
- <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- <rdar://problem/10319536> Implement the Metrics inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/CSSStyleManager.js:
- (WebInspector.CSSStyleManager):
- (WebInspector.CSSStyleManager.parseRuleArrayPayload):
- (WebInspector.CSSStyleManager.prototype.getMatchedStylesAsync):
- (WebInspector.CSSStyleManager.prototype.mediaQueryResultChanged):
- (WebInspector.CSSStyleManager.prototype._fireStyleSheetChanged.if):
- (WebInspector.CSSStyleManager.prototype._fireStyleSheetChanged.mycallback):
- (WebInspector.CSSStyleManager.prototype._fireStyleSheetChanged):
- 2012-02-02 Timothy Hatcher <timothy@apple.com>
- Copy over classes from open source's CSSStyleModel.js.
- Needed for:
- <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- <rdar://problem/10319536> Implement the Metrics inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/CSSMedia.js: Added.
- (WebInspector.CSSMedia):
- (WebInspector.CSSMedia.parsePayload):
- (WebInspector.CSSMedia.parseMediaArrayPayload):
- * UserInterface/CSSProperty.js: Added.
- (WebInspector.CSSProperty):
- (WebInspector.CSSProperty.parsePayload):
- (WebInspector.CSSProperty.prototype.get propertyText):
- (WebInspector.CSSProperty.prototype.get isLive):
- (WebInspector.CSSProperty.prototype.get active):
- (WebInspector.CSSProperty.prototype.get styleBased):
- (WebInspector.CSSProperty.prototype.get inactive):
- (WebInspector.CSSProperty.prototype.get disabled):
- (WebInspector.CSSProperty.prototype.setText):
- (WebInspector.CSSProperty.prototype.setText.callback):
- (WebInspector.CSSProperty.prototype.setValue):
- (WebInspector.CSSProperty.prototype.setDisabled.callback):
- (WebInspector.CSSProperty.prototype.setDisabled):
- * UserInterface/CSSRule.js: Added.
- (WebInspector.CSSRule):
- (WebInspector.CSSRule.parsePayload):
- (WebInspector.CSSRule.prototype.get isUserAgent):
- (WebInspector.CSSRule.prototype.get isUser):
- (WebInspector.CSSRule.prototype.get isViaInspector):
- (WebInspector.CSSRule.prototype.get isRegular):
- * UserInterface/CSSStyleDeclaration.js: Added.
- (WebInspector.CSSStyleDeclaration):
- (WebInspector.CSSStyleDeclaration.buildShorthandValueMap):
- (WebInspector.CSSStyleDeclaration.parsePayload):
- (WebInspector.CSSStyleDeclaration.parseComputedStylePayload):
- (WebInspector.CSSStyleDeclaration.prototype.get allProperties):
- (WebInspector.CSSStyleDeclaration.prototype.getLiveProperty):
- (WebInspector.CSSStyleDeclaration.prototype.getPropertyValue):
- (WebInspector.CSSStyleDeclaration.prototype.getPropertyPriority):
- (WebInspector.CSSStyleDeclaration.prototype.getPropertyShorthand):
- (WebInspector.CSSStyleDeclaration.prototype.isPropertyImplicit):
- (WebInspector.CSSStyleDeclaration.prototype.styleTextWithShorthands):
- (WebInspector.CSSStyleDeclaration.prototype.getLonghandProperties):
- (WebInspector.CSSStyleDeclaration.prototype.getShorthandValue):
- (WebInspector.CSSStyleDeclaration.prototype.getShorthandPriority):
- (WebInspector.CSSStyleDeclaration.prototype.propertyAt):
- (WebInspector.CSSStyleDeclaration.prototype.pastLastSourcePropertyIndex):
- (WebInspector.CSSStyleDeclaration.prototype.newBlankProperty):
- (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
- (WebInspector.CSSStyleDeclaration.prototype.appendProperty):
- * UserInterface/CSSStyleManager.js: Added.
- (WebInspector.CSSStyleModel):
- (WebInspector.CSSStyleModel.parseRuleArrayPayload):
- (WebInspector.CSSStyleModel.prototype.getMatchedStylesAsync):
- (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
- (WebInspector.CSSStyleModel.prototype.getInlineStylesAsync):
- (WebInspector.CSSStyleModel.prototype.setRuleSelector):
- (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
- (WebInspector.CSSStyleModel.prototype.addRule):
- (WebInspector.CSSStyleModel.prototype.addRule.callback):
- (WebInspector.CSSStyleModel.prototype.mediaQueryResultChanged):
- (WebInspector.CSSStyleModel.prototype._ownerDocumentId):
- (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.if):
- (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.mycallback):
- (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
- (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
- * UserInterface/CSSStyleSheet.js: Added.
- (WebInspector.CSSStyleSheet):
- (WebInspector.CSSStyleSheet.createForId):
- (WebInspector.CSSStyleSheet.prototype.getText):
- (WebInspector.CSSStyleSheet.prototype.setText):
- * UserInterface/Main.html:
- 2012-02-02 Timothy Hatcher <timothy@apple.com>
- Fix asserts in the Web Inspector when loading a loopinsight.com article.
- Reviewed by Brian Weinstein.
- * UserInterface/Frame.js:
- (WebInspector.Frame.prototype.constructor.WebInspector.Frame.initialize): Don't disassociate from the
- old main resource if it didn't change.
- (WebInspector.Frame.prototype.commitProvisionalLoad): Ditto.
- 2012-02-01 Timothy Hatcher <timothy@apple.com>
- Fix issue where log views would draw over the previous log view on reload.
- This fixes a bunch of asserts that ContentViewContainer was spewing.
- <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/ContentViewContainer.js:
- (WebInspector.ContentViewContainer.prototype.closeAllContentViewsOfPrototype): Decrement the
- currentIndex when it is greater than or equal to i.
- 2012-01-31 Brian Weinstein <bweinstein@apple.com>
- Add DatabaseContentView.{js|css}. These were taken from open source, with a few modifications.
- Rest of <rdar://problem/10684679> Implement a database query view for the new Inspector.
- Reviewed by Tim Hatcher.
- * UserInterface/DatabaseContentView.css: Added. Copied rules from open source.
- * UserInterface/DatabaseContentView.js: Added. Copied from open source.
- * UserInterface/Main.html: Added new files.
- 2012-01-31 Brian Weinstein <bweinstein@apple.com>
- Stub the boilerplate that is needed to hook up DatabaseContentView.
- DatabaseContentView doesn't exist yet, but when it does, a new DatabaseContentView will be
- created when a DatabaseTreeElement is selected.
- Work towards <rdar://problem/10684679> Implement a database query view for the new Inspector.
- Reviewed by Tim Hatcher.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView): Add a new case for DatabaseContentView.
- (WebInspector.ContentView.isViewable): Ditto.
- * UserInterface/Main.html:
- * UserInterface/Main.js: Ditto.
- (WebInspector.contentBrowserTreeElementForRepresentedObject):
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel.prototype._storageCleared): Ditto.
- (WebInspector.StorageSidebarPanel.prototype._treeElementSelected): Ditto.
- 2012-01-31 Timothy Hatcher <timothy@apple.com>
- Generate friendlier titles for the current log and previous logs in the Log sidebar.
- Part of: <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/LogSidebarPanel.js:
- (WebInspector.LogSidebarPanel.prototype._sessionStarted): Set the previous current tree element title
- to "Previous Log %d".
- (WebInspector.LogSidebarPanel.prototype._activeTreeElement): Added.
- (WebInspector.LogSidebarPanel.prototype._activeLogContentView): Use _activeTreeElement().
- * UserInterface/LogTreeElement.js:
- (WebInspector.LogTreeElement): Set the main title to "Current Log" and the subtitle to the time.
- 2012-01-31 Timothy Hatcher <timothy@apple.com>
- Add an icon for logs in the Web Inspector Log sidebar.
- Part of: <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/Images/Log.png: Added.
- * UserInterface/Images/Log@2x.png: Added.
- * UserInterface/LogIcon.css: Added.
- * UserInterface/LogObject.js:
- (WebInspector.LogObject): Added startDate parameter and set _startDate.
- (WebInspector.LogObject.prototype.get startDate): Added.
- * UserInterface/LogSidebarPanel.js:
- (WebInspector.LogSidebarPanel.prototype._sessionStarted):
- * UserInterface/LogTreeElement.js: Added.
- (WebInspector.LogTreeElement):
- (WebInspector.LogTreeElement.prototype.get logObject):
- * UserInterface/Main.html: Included LogTreeElement.js and LogIcon.css.
- 2012-01-30 Timothy Hatcher <timothy@apple.com>
- Fix disclosure triangles in the Log content view after they broke in r40433.
- Reviewed by Brian Weinstein.
- * UserInterface/Section.css:
- (.section): Added. Moved position: relative here.
- (.section .header): Removed position: relative from here.
- 2012-01-30 Brian Weinstein <bweinstein@apple.com>
- Clear all content views of type LogContentView when we clear the log sidebar panel.
- More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design.
- Reviewed by Tim Hatcher.
- * UserInterface/LogSidebarPanel.js:
- (WebInspector.LogSidebarPanel.prototype._logsCleared):
- 2012-01-30 Brian Weinstein <bweinstein@apple.com>
- Make the log views from previous loads of the page non-editable.
- More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design.
- Reviewed by Tim Hatcher.
- * UserInterface/LogContentView.css:
- (#console-prompt.disabled): Make the field read only.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype.setDisabled): Add the disabled class to the content prompt.
- * UserInterface/LogSidebarPanel.js:
- (WebInspector.LogSidebarPanel.prototype.constructor.WebInspector.LogSidebarPanel._sessionStarted): Call setDisabled
- on the previously active LogContentView.
- 2012-01-30 Brian Weinstein <bweinstein@apple.com>
- Have to double click on disclosure triangles for log messages with backtraces.
- More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design.
- Reviewed by Tim Hatcher.
- * UserInterface/DOMTreeOutline.css:
- (.dom-tree-outline li.parent): Switch from text-indent to margin-left.
- * UserInterface/TreeOutline.js:
- (TreeElement.prototype.isEventWithinDisclosureTriangle): Update this to match open source.
- 2012-01-30 Brian Weinstein <bweinstein@apple.com>
- Make console log messages with backtraces display correctly in the log view.
- More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design.
- Reviewed by Tim Hatcher.
- * UserInterface/LogContentView.css: Copied some rules about outline-disclosure from Open Source.
- 2012-01-30 Brian Weinstein <bweinstein@apple.com>
- Create correct links in the Log content view.
- Instead of calling through to this._linkifier (which we don't have), create links ourselves.
- This will work by calling through to WebInspector.openURL, which will either open a resource in a new tab,
- or show you the resource content view for the link you clicked.
- More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design.
- Reviewed by Tim Hatcher.
- * UserInterface/ConsoleMessageImpl.js:
- (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation): We don't have a this._linkifier, so use our own function.
- 2012-01-30 Brian Weinstein <bweinstein@apple.com>
- When we get a console message from the ConsoleObserver, add it to the correct LogContentView.
- With this patch, we show console logging from the page in the content view, so it is now more than
- just a place to evaluate JavaScript.
- More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design.
- Reviewed by Tim Hatcher.
- * UserInterface/ConsoleObserver.js:
- (WebInspector.ConsoleObserver.prototype.constructor.WebInspector.ConsoleObserver.messageAdded): Tell the LogManager about the
- added message.
- * UserInterface/LogManager.js:
- (WebInspector.LogManager.prototype.messageWasAdded): Create a ConsoleMessage object, and fire an event that a new message
- was added.
- * UserInterface/LogSidebarPanel.js:
- (WebInspector.LogSidebarPanel): Add a listener for when messages are added.
- (WebInspector.LogSidebarPanel.prototype._messageAdded): Find the content view for the current log item, and call messageAdded
- on the LogContentView.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView.prototype.messageAdded): Call _consoleMessageAdded.
- (WebInspector.LogContentView.prototype._consoleMessageAdded): This now takes just the ConsoleMessage instead of an event.
- 2012-01-30 Brian Weinstein <bweinstein@apple.com>
- Enable the ConsoleAgent after creating the managers.
- Reviewed by Tim Hatcher.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- 2012-01-30 Timothy Hatcher <timothy@apple.com>
- Add DOM properties to the DOM node details sidebar panel.
- Last part of: <rdar://problem/10319527> Implement the DOM Attributes inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/DOMNodeDetailsSidebarPanel.css: Added.
- (.sidebar > .panel.details.dom-node .row.properties):
- * UserInterface/DOMNodeDetailsSidebarPanel.js:
- (WebInspector.DOMNodeDetailsSidebarPanel):
- (WebInspector.DOMNodeDetailsSidebarPanel.prototype.refresh): Call _refreshProperties.
- (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties): Added.
- (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodeResolved.collectPrototypes): Added.
- (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodeResolved): Added.
- (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodePrototypesReady): Added.
- (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.fillSection): Added.
- * UserInterface/Main.html: Included DOMNodeDetailsSidebarPanel.css.
- * UserInterface/Section.css:
- (.section .header): Added position: relative so the disclosure triangles show up correctly.
- (.properties-tree): Added outline: none to prevent a focus ring.
- 2012-01-29 Timothy Hatcher <timothy@apple.com>
- Add a simple DOM node details sidebar panel that shows type, name and attributes.
- Part of: <rdar://problem/10319527> Implement the DOM Attributes inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/DOMNodeDetailsSidebarPanel.js: Added.
- (WebInspector.DOMNodeDetailsSidebarPanel):
- (WebInspector.DOMNodeDetailsSidebarPanel.prototype.refresh):
- (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAttributes):
- (WebInspector.DOMNodeDetailsSidebarPanel.prototype._attributesChanged):
- (WebInspector.DOMNodeDetailsSidebarPanel.prototype._nodeTypeDisplayName):
- (WebInspector.DOMNodeDetailsSidebarPanel.prototype._createAttributesDataGrid):
- * UserInterface/Images/NavigationItemAngleBrackets.pdf: Added.
- * UserInterface/Main.html: Included DOMNodeDetailsSidebarPanel.js.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Included DOMNodeDetailsSidebarPanel in the details sidebar list.
- 2012-01-29 Timothy Hatcher <timothy@apple.com>
- Add DOMDetailsSidebarPanel as a base class for all the DOM node focused details sidebar panels.
- Needed for:
- <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- <rdar://problem/10319527> Implement the DOM Attributes inspector for the new Web Inspector design
- <rdar://problem/10319536> Implement the Metrics inspector for the new Web Inspector design
- <rdar://problem/10319541> Implement the Properties/DOM object inspector for the new Web Inspector design
- <rdar://problem/10319546> Implement the Event Listener inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/DOMDetailsSidebarPanel.js: Added.
- (WebInspector.DOMDetailsSidebarPanel):
- (WebInspector.DOMDetailsSidebarPanel.prototype.inspect):
- (WebInspector.DOMDetailsSidebarPanel.prototype.get domNode):
- (WebInspector.DOMDetailsSidebarPanel.prototype.set domNode):
- (WebInspector.DOMDetailsSidebarPanel.prototype.addEventListeners):
- (WebInspector.DOMDetailsSidebarPanel.prototype.removeEventListeners):
- * UserInterface/Main.html: Included DOMDetailsSidebarPanel.js.
- 2012-01-29 Timothy Hatcher <timothy@apple.com>
- Display information about the selected resource in the resource details sidebar panel.
- Last part of: <rdar://problem/10319511> Implement the File inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/ResourceDetailsSidebarPanel.js:
- (WebInspector.ResourceDetailsSidebarPanel): Create DetailsSections for the various parts of info to display.
- (WebInspector.ResourceDetailsSidebarPanel.prototype.set resource): Remove and add event listeners.
- (WebInspector.ResourceDetailsSidebarPanel.prototype.refresh): Call the individual refresh functions.
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshURL): Added. Update the affected rows.
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshResourceType): Added. Ditto.
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshMIMEType): Added. Ditto.
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestHeaders): Added. Ditto.
- (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshResponseHeaders): Added. Ditto.
- (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid): Added. Helper to create a simple grid.
- * UserInterface/Utilities.js:
- (parseLocationQueryParameters): Use the queryString function after trimming the "?".
- (queryString): Added. Factored out of parseLocationQueryParameters.
- (queryString.decode): Added. Properly decode "+" as " ".
- 2012-01-26 Timothy Hatcher <timothy@apple.com>
- Add the start of WebInspector.ResourceDetailsSidebarPanel.
- Part of: <rdar://problem/10319511> Implement the File inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/Main.html: Included ResourceDetailsSidebarPanel.js.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Create a WebInspector.ResourceDetailsSidebarPanel.
- * UserInterface/ResourceDetailsSidebarPanel.js: Added.
- (WebInspector.ResourceDetailsSidebarPanel):
- (WebInspector.ResourceDetailsSidebarPanel.prototype.inspect):
- (WebInspector.ResourceDetailsSidebarPanel.prototype.get resource):
- (WebInspector.ResourceDetailsSidebarPanel.prototype.refresh):
- 2012-01-29 Timothy Hatcher <timothy@apple.com>
- Add DetailsSection and friends to be used by details sidebar panels.
- Needed for:
- <rdar://problem/10319511> Implement the File inspector for the new Web Inspector design
- <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- <rdar://problem/10319527> Implement the DOM Attributes inspector for the new Web Inspector design
- <rdar://problem/10319536> Implement the Metrics inspector for the new Web Inspector design
- <rdar://problem/10319541> Implement the Properties/DOM object inspector for the new Web Inspector design
- <rdar://problem/10319546> Implement the Event Listener inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/DetailsSection.css: Added.
- (.details-section):
- (.details-section > .header):
- (.details-section > .header::before):
- (.details-section > .header:active::before):
- (.details-section.collapsed > .header::before):
- (.details-section.collapsed > .header:active::before):
- (.details-section > .content):
- (.details-section.collapsed > .content):
- (.details-section > .content > .group):
- (.details-section > .content > .group:nth-child(even)):
- (.details-section > .content > .group:nth-child(even) > .row:first-child > *):
- (.details-section > .content > .group:nth-child(even) > .row:last-child > *):
- (.details-section > .content > .group > .row):
- (.details-section > .content > .group > .row:last-child > *):
- (.details-section > .content > .group > .row.empty):
- (.details-section > .content > .group:nth-child(even) > .row.empty:last-child):
- (.details-section > .content > .group:nth-child(even) > .row.empty:last-child > *):
- (.details-section > .content > .group:nth-child(even) > .row.empty:last-child > * > *):
- (.details-section > .content > .group > .row > *):
- (.details-section > .content > .group > .row > .label):
- (.details-section > .content > .group > .row > .value):
- (.details-section > .content > .group > .data-grid-row):
- (.details-section > .content > .group > .data-grid-row.empty):
- (.details-section > .content .data-grid):
- * UserInterface/DetailsSection.js: Added.
- (WebInspector.DetailsSection):
- (WebInspector.DetailsSection.prototype.get element):
- (WebInspector.DetailsSection.prototype.get title):
- (WebInspector.DetailsSection.prototype.set title):
- (WebInspector.DetailsSection.prototype.get collapsed):
- (WebInspector.DetailsSection.prototype.set collapsed):
- (WebInspector.DetailsSection.prototype.get groups):
- (WebInspector.DetailsSection.prototype.set groups):
- (WebInspector.DetailsSection.prototype._headerElementClicked):
- (WebInspector.DetailsSection.prototype._generateDisclosureTrianglesIfNeeded.disclosureImageLoaded):
- (WebInspector.DetailsSection.prototype._generateDisclosureTrianglesIfNeeded.generateDisclosureTriangle):
- (WebInspector.DetailsSection.prototype._generateDisclosureTrianglesIfNeeded):
- * UserInterface/DetailsSectionDataGridRow.js: Added.
- (WebInspector.DetailsSectionDataGridRow):
- (WebInspector.DetailsSectionDataGridRow.prototype.constructor.WebInspector.DetailsSectionDataGridRow.get element):
- (WebInspector.DetailsSectionDataGridRow.prototype.get emptyMessage):
- (WebInspector.DetailsSectionDataGridRow.prototype.set emptyMessage):
- (WebInspector.DetailsSectionDataGridRow.prototype.get dataGrid):
- (WebInspector.DetailsSectionDataGridRow.prototype.set dataGrid):
- * UserInterface/DetailsSectionGroup.js: Added.
- (WebInspector.DetailsSectionGroup):
- (WebInspector.DetailsSectionGroup.prototype.get element):
- (WebInspector.DetailsSectionGroup.prototype.get rows):
- (WebInspector.DetailsSectionGroup.prototype.set rows):
- * UserInterface/DetailsSectionRow.js: Added.
- (WebInspector.DetailsSectionRow):
- (WebInspector.DetailsSectionRow.prototype.get element):
- (WebInspector.DetailsSectionRow.prototype.get label):
- (WebInspector.DetailsSectionRow.prototype.set label):
- (WebInspector.DetailsSectionRow.prototype.get value):
- (WebInspector.DetailsSectionRow.prototype.set value):
- * UserInterface/Main.html: Included DetailsSection.{css,js}, DetailsSectionDataGridRow.js,
- DetailsSectionGroup.js, and DetailsSectionRow.js.
- 2012-01-26 Timothy Hatcher <timothy@apple.com>
- Selectively show and hide panels in the Details sidebar based on if they can inspect the current
- represented objects being viewed in the content browser.
- Needed for:
- <rdar://problem/10319511> Implement the File inspector for the new Web Inspector design
- <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- <rdar://problem/10319527> Implement the DOM Attributes inspector for the new Web Inspector design
- <rdar://problem/10319536> Implement the Metrics inspector for the new Web Inspector design
- <rdar://problem/10319541> Implement the Properties/DOM object inspector for the new Web Inspector design
- <rdar://problem/10319546> Implement the Event Listener inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Added event listener for CurrentRepresentedObjectsDidChange event.
- (WebInspector._contentBrowserRepresentedObjectsDidChange): Added. Call inspect on each details
- sidebar panel and show ones that return true and hide ones that return false.
- 2012-01-26 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.DetailsSidebarPanel for use by panels in the Details sidebar.
- Needed for:
- <rdar://problem/10319511> Implement the File inspector for the new Web Inspector design
- <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- <rdar://problem/10319527> Implement the DOM Attributes inspector for the new Web Inspector design
- <rdar://problem/10319536> Implement the Metrics inspector for the new Web Inspector design
- <rdar://problem/10319541> Implement the Properties/DOM object inspector for the new Web Inspector design
- <rdar://problem/10319546> Implement the Event Listener inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/DetailsSidebarPanel.js: Added.
- (WebInspector.DetailsSidebarPanel):
- (WebInspector.DetailsSidebarPanel.prototype.inspect):
- (WebInspector.DetailsSidebarPanel.prototype.shown):
- (WebInspector.DetailsSidebarPanel.prototype.needsRefresh):
- (WebInspector.DetailsSidebarPanel.prototype.refresh):
- * UserInterface/Sidebar.js:
- (WebInspector.Sidebar.prototype.set selectedSidebarPanel): Call hidden and shown on the SidebarPanel.
- (WebInspector.Sidebar.prototype.set collapsed): Update layout of the navigation bar when uncollapsed.
- * UserInterface/SidebarPanel.js:
- (WebInspector.SidebarPanel.prototype.shown): Added stub.
- (WebInspector.SidebarPanel.prototype.hidden): Added stub.
- 2012-01-26 Timothy Hatcher <timothy@apple.com>
- Add support for removing and inserting SidebarPanels to WebInspector.Sidebar.
- Needed for:
- <rdar://problem/10319511> Implement the File inspector for the new Web Inspector design
- <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- <rdar://problem/10319527> Implement the DOM Attributes inspector for the new Web Inspector design
- <rdar://problem/10319536> Implement the Metrics inspector for the new Web Inspector design
- <rdar://problem/10319541> Implement the Properties/DOM object inspector for the new Web Inspector design
- <rdar://problem/10319546> Implement the Event Listener inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/NavigationBar.js:
- (WebInspector.NavigationBar.prototype.removeNavigationItem): Clear the selected navigation item if it is this.
- * UserInterface/Sidebar.js:
- (WebInspector.Sidebar.prototype.insertSidebarPanel): Added.
- (WebInspector.Sidebar.prototype.removeSidebarPanel): Added.
- (WebInspector.Sidebar.prototype.set selectedSidebarPanel): Allow setting of null. Factored out code into _findSidebarPanel.
- (WebInspector.Sidebar.prototype._findSidebarPanel): Added.
- 2012-01-25 Timothy Hatcher <timothy@apple.com>
- Add support for getting the current represented objects from ContentBrowser.
- Needed for:
- <rdar://problem/10319511> Implement the File inspector for the new Web Inspector design
- <rdar://problem/10319520> Implement the Style inspector for the new Web Inspector design
- <rdar://problem/10319527> Implement the DOM Attributes inspector for the new Web Inspector design
- <rdar://problem/10319536> Implement the Metrics inspector for the new Web Inspector design
- <rdar://problem/10319541> Implement the Properties/DOM object inspector for the new Web Inspector design
- <rdar://problem/10319546> Implement the Event Listener inspector for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser.prototype.get currentRepresentedObjects): Added.
- (WebInspector.ContentBrowser.prototype._updateContentViewSelectionPathNavigationItem): Make sure to set
- components even if it is empty.
- (WebInspector.ContentBrowser.prototype._dispatchCurrentRepresentedObjectsDidChangeEventSoon): Set a timeout.
- (WebInspector.ContentBrowser.prototype._dispatchCurrentRepresentedObjectsDidChangeEventSoon.delayed): Fire the event.
- (WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange): Call
- _dispatchCurrentRepresentedObjectsDidChangeEventSoon.
- (WebInspector.ContentBrowser.prototype._currentContentViewDidChange): Call
- _dispatchCurrentRepresentedObjectsDidChangeEventSoon.
- * UserInterface/DOMTreeElementPathComponent.js:
- (WebInspector.DOMTreeElementPathComponent): Set the representedObject to the treeElement.representedObject if
- a representedObject wasn't passed in.
- * UserInterface/GeneralTreeElementPathComponent.js:
- (WebInspector.GeneralTreeElementPathComponent): Set the representedObject to the treeElement.representedObject if
- a representedObject wasn't passed in.
- * UserInterface/HierarchicalPathNavigationItem.js:
- (WebInspector.HierarchicalPathNavigationItem.prototype.get lastComponent): Added.
- 2012-01-26 Timothy Hatcher <timothy@apple.com>
- Center align navigation items in navigation bars by default.
- You can still get left alignment by adding a flexible space on the left. This make it easier than
- flexible spaces on each side for center alignment.
- Reviewed by Brian Weinstein.
- * UserInterface/NavigationBar.css:
- (.navigation-bar): Set -webkit-box-pack to center.
- 2012-01-29 Timothy Hatcher <timothy@apple.com>
- Add a helper function for display names of resource types.
- Reviewed by Brian Weinstein.
- * UserInterface/FrameTreeElement.js:
- (WebInspector.FrameTreeElement.prototype._folderNameForResourceType): Use WebInspector.Resource.Type.displayName.
- * UserInterface/Resource.js:
- (WebInspector.Resource.Type.displayName): Added. Can return plural or singular strings.
- 2012-01-29 Timothy Hatcher <timothy@apple.com>
- Update the request headers when resources are redirected.
- Reviewed by Brian Weinstein.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent): Pass along the
- request headers to updateForRedirectResponse.
- * UserInterface/Resource.js:
- (WebInspector.Resource.prototype.get updateForRedirectResponse): Added requestHeaders parameter.
- Set _requestHeaders and fire the RequestHeadersDidChange event.
- 2012-01-29 Timothy Hatcher <timothy@apple.com>
- Centralize the code that adds zero-width spaces to long strings so it can be used
- in other places.
- Also add a copy event listener that strips the zero-width spaces from the pasteboard.
- Reviewed by Brian Weinstein.
- * UserInterface/DOMTreeElement.js:
- (WebInspector.DOMTreeElement.prototype._buildAttributeDOM): Use insertWordBreakCharacters.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Added copy event listener.
- (WebInspector._sanitizeClipboardData): Added.
- * UserInterface/Utilities.js:
- (String.prototype.insertWordBreakCharacters): Added.
- (String.prototype.removeWordBreakCharacters): Added.
- 2012-01-27 Brian Weinstein <bweinstein@apple.com>
- Create a log session when the inspector is first loaded.
- More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design.
- Reviewed by Tim Hatcher.
- * UserInterface/LogSidebarPanel.js:
- (WebInspector.LogSidebarPanel):
- 2012-01-27 Brian Weinstein <bweinstein@apple.com>
- Add some functions for open source needed to create links and strings.
- More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design.
- Reviewed by Tim Hatcher.
- * UserInterface/LogContentView.js:
- (WebInspector.LogContentView): Add a click handler to the content view.
- (WebInspector.LogContentView.prototype._mouseWasClicked): Find the <a> element we clicked on,
- and open the URL. This does the right thing for external resources (loads them in Safari),
- and resources from the page (loads the Resource in the inspector).
- * UserInterface/Main.js:
- (WebInspector.linkifyURLAsNode): Copied from open source.
- (WebInspector.linkifyStringAsFragmentWithCustomLinkifier): Ditto.
- (WebInspector.linkifyStringAsFragment): Ditto.
- 2012-01-27 Brian Weinstein <bweinstein@apple.com>
- Show the DOM tree for an element that the user enters.
- More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design.
- Reviewed by Tim Hatcher.
- * UserInterface/ConsoleMessageImpl.js:
- (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode): Create a DOMTreeOutline instead
- of an ElementTreeOutline, and get the node from the DOMTreeManager.
- 2012-01-26 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design.
- Add working versions of LogContentView.css and LogContentView.js.
- LogContentView.css copied rules for open source's
- inspector.css, with one change to add outline: none to the prompt and a change to use the same font that
- we use in the text editor.
- LogContentView.js changed *styleClass to classList.*, and removed calls to objects that we don't have in
- our inspector (WebInspector.settings, WebInspector.debuggerPresentationModel).
- This patch makes the console view show up, and you can type and run JavaScript.
- Reviewed by Tim Hatcher.
- * UserInterface/LogContentView.css: Added. Copied selected rules from inspector.css in Open Source.
- * UserInterface/LogContentView.js: Added. This file was copied from Open Source, but changes have been
- made to remove calls to objects that we don't have in our inspector (WebInspector.settings, WebInspector.debuggerPresentationModel),
- and *styleClass has been changed to classList.*.
- * UserInterface/Main.html: Added new files.
- 2012-01-26 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design.
- Add some needed functions to Utilities.js. These were copied from Open Source, but switched over
- to the Object.defineProperty syntax.
- Reviewed by Tim Hatcher.
- * UserInterface/Utilities.js:
- 2012-01-26 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design.
- Add the ConsoleMessage and ConsoleMessageImpl files from Open Source. These will be renamed
- and combined in a follow-up patch.
- Reviewed by Tim Hatcher.
- * UserInterface/ConsoleMessage.js: Added. Copied from Open Source's ConsoleModel.js.
- * UserInterface/ConsoleMessageImpl.js: Added. Copied from Open Source. The only changes are
- changing *styleClass -> classList.*.
- * UserInterface/Main.html: Added new files.
- 2012-01-26 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design.
- Add the TextPrompt.js and TextPrompt.css files. These are needed for autocompleting of the
- user's input.
- Reviewed by Tim Hatcher.
- * UserInterface/Main.html: Add new files.
- * UserInterface/TextPrompt.css: Added. Copied from Open Source.
- * UserInterface/TextPrompt.js: Added. Copied from Open Source. The only changes that were
- made were changing *styleClass("class") -> classList.*("class").
- 2012-01-26 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design.
- Add some images that will be needed by the log console view.
- These need to be in HiDPI. I updated <rdar://problem/10749265> to say that the console images
- need to be HiDPI as well.
- Reviewed by Tim Hatcher.
- * UserInterface/Images/disclosureTriangleSmallDown.png: Added.
- * UserInterface/Images/disclosureTriangleSmallRight.png: Added.
- * UserInterface/Images/errorIcon.png: Added.
- * UserInterface/Images/searchSmallBrightBlue.png: Added.
- * UserInterface/Images/userInputIcon.png: Added.
- * UserInterface/Images/userInputResultIcon.png: Added.
- * UserInterface/Images/warningIcon.png: Added.
- 2012-01-26 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design.
- Add some needed files from Open Source.
- Reviewed by Tim Hatcher.
- * UserInterface/Images/deleteIcon.png: Added.
- * UserInterface/Main.html: Added new files.
- * UserInterface/ObjectPropertiesSection.js: Added. Copied from Open Source.
- * UserInterface/PropertiesSection.js: Added. Copied from Open Source.
- * UserInterface/Section.css: Added. Copied selected rules about .section and .properties-tree from Open Source.
- * UserInterface/Section.js: Added. Copied from Open Source.
- 2012-01-26 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design.
- This patch hooks up the plumbing to show a LogContentView (which doesn't exist), when a tree element
- from the Log sidebar panel is selected.
- Reviewed by Tim Hatcher.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView): Add a case for LogObject. It creates a LogContentView, which isn't available
- yet, but will be in a later patch.
- (WebInspector.ContentView.isViewable): Ditto.
- * UserInterface/LogSidebarPanel.js:
- (WebInspector.LogSidebarPanel):
- (WebInspector.LogSidebarPanel.prototype._treeElementSelected): Make sure the selected element
- has a LogObject as its represented object, and then show the correct content view.
- * UserInterface/Main.js:
- (WebInspector.contentBrowserTreeElementForRepresentedObject): Add a case for LogObject.
- 2012-01-26 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design.
- Add a stub LogObject and use that as the represented object for the logs sidebar panel.
- Reviewed by Tim Hatcher.
- * UserInterface/LogObject.js: Added.
- (WebInspector.LogObject):
- * UserInterface/LogSidebarPanel.js:
- (WebInspector.LogSidebarPanel.prototype._sessionStarted):
- * UserInterface/Main.html:
- 2012-01-26 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design.
- Add tree elements to the Log Sidebar. Each tree element has the URL and date of when the page started loading,
- and selecting it will show a console view in the future.
- If the same page is loaded, the console sidebar isn't cleared, but when a page with a different URL is loaded,
- then the sidebar is cleared.
- Reviewed by Tim Hatcher.
- * UserInterface/LogManager.js:
- (WebInspector.LogManager):
- (WebInspector.LogManager.prototype.constructor.WebInspector.LogManager.initialize):
- (WebInspector.LogManager.prototype._mainResourceDidChange):
- * UserInterface/LogSidebarPanel.js:
- (WebInspector.LogSidebarPanel):
- (WebInspector.LogSidebarPanel.prototype.constructor.WebInspector.LogSidebarPanel._sessionStarted):
- (WebInspector.LogSidebarPanel.prototype._logsCleared):
- 2012-01-26 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design.
- Add a stub LogManager, and call it from Main.js.
- Reviewed by Tim Hatcher.
- * UserInterface/ConsoleObserver.js:
- (WebInspector.ConsoleObserver.prototype.constructor.WebInspector.ConsoleObserver.messageAdded):
- * UserInterface/LogManager.js: Added.
- (WebInspector.LogManager):
- (WebInspector.LogManager.prototype.constructor.WebInspector.LogManager.initialize):
- * UserInterface/Main.html:
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- 2012-01-26 Brian Weinstein <bweinstein@apple.com>
- Start of <rdar://problem/10318784> Implement the Log sidebar for the new Web Inspector design.
- Add a stub LogSidebarPanel and create it instead of a generic sidebar panel for Log.
- Reviewed by Tim Hatcher.
- * UserInterface/Main.html:
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- 2012-01-25 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design.
- Highlight lines that have errors or warnings. This patch doesn't behave correctly for lines that
- have multiple issues, but that won't be implemented until we actually show the issues on the page.
- This patch adds a new delegate call to TextEditor - textEditorLineContentUpdated. When a single line's
- content is updated, it calls to the delegate, which will add a style class if there is an issue on that
- line. In the future, it will also add the error text, but that will be done later as well.
- Reviewed by Tim Hatcher.
- * UserInterface/TextResourceContentView.css:
- (.text-editor .text-editor-text-chunk.error): Add a background color and a box shadow.
- (.text-editor .text-editor-text-chunk.warning): Ditto.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.singleLineElementForLine): Returns the element of the line if it is
- a single line (if it's not, it isn't visible and we don't need to worry about it).
- (WebInspector.TextEditorTextChunk.prototype.updateContent):
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView.prototype.addIssue): Call _addIssueToLine if we have an element to update.
- (WebInspector.TextResourceContentView.prototype._addIssueToLine): Add a style class to the line if there is an
- issue.
- (WebInspector.TextResourceContentView.prototype.textEditorLineContentUpdated): Call _addIssueToLine if we have
- any issues on that line.
- * UserInterface/IssueManager.js
- (WebInspector.IssueManager.prototype.issueWasAdded): We are given 1-based line numbers from the protocol, but everywhere
- in the inspector deals with 0 based line numbers. Subtract 1 from the issue line number that we are given before
- storing the IssueMessage.
- 2012-01-24 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design.
- When a TextResourceContentView is instantiated, get a list of issues for its resource, and start listening for more.
- When we get an issue from the listener or from the constructor, call _addIssue on them, which adds the issue to
- the content view's collection of issues.
- Reviewed by Tim Hatcher.
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView): Start listening for issues and build a list of issues.
- (WebInspector.TextResourceContentView.prototype._issueWasAdded): Call _addIssue.
- (WebInspector.TextResourceContentView.prototype._addIssue): Add the issue to our list of issues, and add a FIXME to do more
- with it.
- 2012-01-23 Brian Weinstein <bweinstein@apple.com>
- Remove some unused variables.
- Rubber-stamped by Joseph Pecoraro.
- * UserInterface/TextEditor.js:
- 2012-01-23 Brian Weinstein <bweinstein@apple.com>
- Last part of <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design.
- When a resource match is selected in the search sidebar, select the text that was searched for in
- the TextContentResourceView and scroll it into view.
- This makes it easier to find the text that the user searched for in long lines.
- Reviewed by Tim Hatcher.
- * UserInterface/FrameContentView.js:
- (WebInspector.FrameContentView.prototype.showSourceCode): Pass the text range to select along.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.showResourceSourceCode): Ditto.
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel.prototype._treeElementSelected): Ditto.
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView.prototype.contentAvailable): Ditto.
- (WebInspector.TextResourceContentView.prototype.revealLine): Ditto.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.shown): Ditto.
- (WebInspector.TextEditor.prototype.revealLine): Build a selection range (start and end nodes and offsets), and set our selection
- and bring the container of the selection end into view.
- (WebInspector.TextEditor.prototype.revealLine.getTextNodes): Finds all of the text nodes in a possibly syntax highlighted line.
- (WebInspector.TextEditor.prototype.revealLine.findOffsetInTextNodes): Iterate over all of the text nodes, and find the child
- node and offset into the child node that matches the offset into the whole line.
- 2012-01-23 Timothy Hatcher <timothy@apple.com>
- Fix some errors when inspecting frames now that #document is included in the tree.
- This gives document nodes their own "D" icon, which was previously missing because of
- a typo for the "N" icon.
- Reviewed by Brian Weinstein.
- * UserInterface/DOMTreeElementPathComponent.js:
- (WebInspector.DOMTreeElementPathComponent): Add a case for Node.DOCUMENT_NODE. Fix a typo
- by using DOMNodeIconStyleClassName instead of DOMUnknownNodeIconStyleClassName.
- * UserInterface/Images/DOMDocument.pdf: Added.
- * UserInterface/PathComponentIcons.css:
- (.dom-document-icon .icon): Added.
- 2012-01-23 Timothy Hatcher <timothy@apple.com>
- Merge the DOMAgent.js change in r105620 so the Inspect Element content menu works in frames.
- Reviewed by Brian Weinstein.
- * UserInterface/DOMNode.js:
- (WebInspector.DOMNode.prototype._setChildrenPayload): Return early for frame elements.
- 2012-01-23 Timothy Hatcher <timothy@apple.com>
- Make command-clicking links in the DOM tree always open into a new Safari window/tab.
- Since DOMTreeContentView delays the call to WebInspector.openURL, the openURL function
- can't look at window.event to see if the command key is down. So we need to do that
- check before calling openURL.
- Reviewed by Brian Weinstein.
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView.prototype._mouseWasClicked.followLink): Check for metaKey
- and pass that as alwaysOpenExternally to WebInspector.openURL.
- 2012-01-23 Timothy Hatcher <timothy@apple.com>
- Use InspectorFrontendHost.openInNewTab instead of PageAgent.open now that
- https://webkit.org/b/74790 is fixed.
- Reviewed by Brian Weinstein.
- * UserInterface/Main.js:
- (WebInspector.openURL): Use InspectorFrontendHost.openInNewTab instead of PageAgent.open.
- 2012-01-23 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design.
- Support the ability to have multiple matches on a line when we search the DOM.
- When we find a DOM element matches our search term, we generate a title for it (by moving the _generateTitle
- function from DOMSearchMatchObject out of the class to a static method), and find all of our matches in the title.
- We then generate DOMSearchMatchObjects and SearchResultTreeElements for each of these.
- Reviewed by Tim Hatcher.
- * UserInterface/DOMSearchMatchObject.js:
- (WebInspector.DOMSearchMatchObject):
- (WebInspector.DOMSearchMatchObject.prototype.get title): Returns the title.
- (WebInspector.DOMSearchMatchObject.prototype.get textRange): Returns the text range.
- (WebInspector.DOMSearchMatchObject.titleForDOMNode):
- * UserInterface/SearchResultTreeElement.js:
- (WebInspector.SearchResultTreeElement.truncateAndHighlightTitle): We always have a textRange now, both DOMSearchMatchObject and ResourceSearchMatchObject
- both have a textRange getter.
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged.domCallback.domSearchResults): Generate
- the text for the DOM node that we found a result for, and find all of the matching instances in that node.
- 2012-01-23 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design.
- Support the ability to have multiple matches on a line for when we search in a resource.
- When the PageAgent gives us information about the lines that match our search query, instead of just
- finding the first match, find all of the matches on that line. Create a ResourceSearchMatchObject and
- SearchResultTreeElement for each result on the line.
- Reviewed by Tim Hatcher.
- * UserInterface/ResourceSearchMatchObject.js:
- (WebInspector.ResourceSearchMatchObject): Set the textRange
- (WebInspector.ResourceSearchMatchObject.prototype.get textRange):
- * UserInterface/SearchResultTreeElement.js:
- (WebInspector.SearchResultTreeElement):
- (WebInspector.SearchResultTreeElement.truncateAndHighlightTitle): If we were given a text range, use that instead of finding the first match
- in the title.
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged.resourcesCallback.resourceCallback): Find
- all of the matches on the line instead of just the first one.
- 2012-01-23 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design.
- Bring TextRange over from open source.
- Reviewed by Tim Hatcher.
- * UserInterface/TextRange.js: Added.
- (WebInspector.TextRange):
- (WebInspector.TextRange.prototype.constructor.WebInspector.TextRange.isEmpty):
- (WebInspector.TextRange.prototype.get linesCount):
- (WebInspector.TextRange.prototype.collapseToEnd):
- (WebInspector.TextRange.prototype.normalize):
- (WebInspector.TextRange.prototype.clone):
- 2012-01-20 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design.
- Cancel old searches when new ones are started.
- Reviewed by Tim Hatcher.
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged.domCallback.domSearchResults): Check
- to make sure we are still appending results for the right searchId.
- (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged.domCallback): Set the current _searchId.
- (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged): Call _cancelCurrentSearch.
- (WebInspector.SearchSidebarPanel.prototype._cancelCurrentSearch): If a search ID is set, call DOMAgent.discardSearchResults on it,
- and delete the searchId.
- 2012-01-22 Timothy Hatcher <timothy@apple.com>
- Collaspe path components in the navigation bar when they are too wide to fit.
- The components collapse from left to right with text truncation and eventually to just the icon.
- Reviewed by Brian Weinstein.
- * UserInterface/HierarchicalPathComponent.css:
- (.hierarchical-path-component): Use -webkit-box and set a min-width.
- (.hierarchical-path-component > .title): Use -webkit-box so the title can flex.
- (.hierarchical-path-component > .title > .content): Added. Needed to make text-overflow work.
- (.hierarchical-path:not(.always-show-last-path-component-separator) > .hierarchical-path-component:last-child): Added.
- Use a different min-width since the separator is hidden.
- (.hierarchical-path:not(.always-show-last-path-component-separator) > .hierarchical-path-component:last-child > .separator):
- Renamed to use :last-child instead of :last-of-type.
- * UserInterface/HierarchicalPathComponent.js:
- (WebInspector.HierarchicalPathComponent): Create a title content element.
- (WebInspector.HierarchicalPathComponent.prototype.get displayName): Use the title content element.
- (WebInspector.HierarchicalPathComponent.prototype.set displayName): Ditto. Also set the tool tip.
- (WebInspector.HierarchicalPathComponent.prototype.get forcedWidth): Added.
- (WebInspector.HierarchicalPathComponent.prototype.set forcedWidth): Added.
- * UserInterface/HierarchicalPathNavigationItem.js:
- (WebInspector.HierarchicalPathNavigationItem.prototype.set components): Call updateLayout on the NavigationBar.
- (WebInspector.HierarchicalPathNavigationItem.prototype.updateLayout): Added.
- * UserInterface/NavigationBar.js:
- (WebInspector.NavigationBar.prototype.insertNavigationItem): Set _parentNavigationBar to this.
- (WebInspector.NavigationBar.prototype.removeNavigationItem): Set _parentNavigationBar to null.
- (WebInspector.NavigationBar.prototype.updateLayout): Call updateLayout on each navigation item.
- * UserInterface/NavigationItem.js:
- (WebInspector.NavigationItem.prototype.get parentNavigationBar): Added.
- (WebInspector.NavigationItem.prototype.updateLayout): Added stub.
- 2012-01-22 Timothy Hatcher <timothy@apple.com>
- Make it possible for content views to update their layout as the size of the content area changes.
- The DOM tree needs this to update the size of the selection to stay aligned with the row. Data grid
- based content views need this to update the position of the resizer elements. The font content view
- uses this to update the size of the font preview.
- Reviewed by Brian Weinstein.
- * UserInterface/ClusterContentView.js:
- (WebInspector.ClusterContentView.prototype.updateLayout): Added. Call through to the current content view.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser.prototype.updateLayout): Added. Call updateLayout on the navigation bar and
- the content view container.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView.prototype.updateLayout): Added stub.
- * UserInterface/ContentViewContainer.js:
- (WebInspector.ContentViewContainer.prototype.updateLayout): Added. Call through to the current content view.
- * UserInterface/CookieStorageContentView.js:
- (WebInspector.CookieStorageContentView.prototype.updateLayout): Added. Call updateWidths on the DataGrid.
- * UserInterface/DOMStorageContentView.js:
- (WebInspector.DOMStorageContentView.prototype.updateLayout): Added. Call updateWidths on the DataGrid.
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView.prototype.updateLayout): Added. Call updateSelection on the DOMTreeOutline.
- * UserInterface/DatabaseTableContentView.js:
- (WebInspector.DatabaseTableContentView.prototype.updateLayout): Added. Call updateWidths on the DataGrid.
- * UserInterface/FontResourceContentView.js:
- (WebInspector.FontResourceContentView.prototype.updateLayout): Added. Call sizeToFit.
- (WebInspector.FontResourceContentView.prototype.shown): Removed call to sizeToFit since updateLayout is
- called on show too.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Added event listeners for Sidebar.Event.WidthDidChange and window resize.
- (WebInspector._contentBrowserSizeDidChange): Added. Call updateLayout on contentBrowser.
- * UserInterface/Sidebar.js:
- (WebInspector.Sidebar.prototype.set width): Fire WidthDidChange event.
- (WebInspector.Sidebar.prototype.set collapsed): Ditto.
- 2012-01-21 Timothy Hatcher <timothy@apple.com>
- Remove resources from the Search and Issue sidebars when the frames they belong to are
- removed or navigated to a new page.
- Part of:
- <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design
- <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/Frame.js:
- (WebInspector.Frame.prototype.isDetached): Added. Helper function.
- * UserInterface/IssueSidebarPanel.js:
- (WebInspector.IssueSidebarPanel): Added event listeners.
- (WebInspector.IssueSidebarPanel.prototype._checkForOldResources): Added.
- (WebInspector.IssueSidebarPanel.prototype._checkForOldResources.delayedWork): Added.
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel): Added event listeners.
- (WebInspector.SearchSidebarPanel.prototype._checkForOldResources): Added.
- (WebInspector.SearchSidebarPanel.prototype._checkForOldResources.delayedWork): Added.
- 2012-01-21 Timothy Hatcher <timothy@apple.com>
- Disassociate resources from their frame when the main resource changes.
- Resources were not being disassociated, so they always had a valid parentFrame. This made it
- hard to tell if a resource was still part of the page or not. This change is needed so the Search
- and Issue sidebars knows when it can remove resources during navigation.
- Reviewed by Brian Weinstein.
- * UserInterface/Frame.js:
- (WebInspector.Frame.prototype.initialize): Call _disassociateWithResource for the old main resource.
- (WebInspector.Frame.prototype.commitProvisionalLoad): Ditto. Also call removeAllResources before
- committing the provisional resources.
- * UserInterface/Resource.js:
- (WebInspector.Resource.prototype.isMainResource): Null check _parentFrame.
- (WebInspector.Resource.prototype._requestContentFromBackend): Null check _parentFrame and add a
- fallback branch so pending callbacks get notified.
- * UserInterface/ResourceTreeElement.js:
- (WebInspector.ResourceTreeElement.prototype._updateTitles): Null check frame.
- 2012-01-21 Timothy Hatcher <timothy@apple.com>
- Show a focus ring around the search field in the Search sidebar of the Web Inspector.
- The filter field does not show a focus ring (matching Xcode), but the search field should.
- Reviewed by Dan Bernstein.
- * UserInterface/FilterBar.css:
- (.filter-bar): Remove outline: none. Not sure why it was here, it is still set on
- .filter-bar > input[type="search"].
- * UserInterface/SearchSidebarPanel.css:
- (.sidebar > .panel.search > .search-bar): Remove outline: none.
- (.sidebar > .panel.search > .search-bar > input[type="search"]): Ditto.
- 2012-01-21 Timothy Hatcher <timothy@apple.com>
- Make filtering work again in the Search sidebar of the Web Inspector.
- In r40218 the mainTitle became a DocumentFragemnt, but the filtering code expects a string.
- Reviewed by Dan Bernstein.
- * UserInterface/SearchResultTreeElement.js:
- (WebInspector.SearchResultTreeElement.prototype.get filterableData): Added. Return the raw
- title of the represented object, which is still a string.
- 2012-01-20 Timothy Hatcher <timothy@apple.com>
- Allow resizing the Web Inspector when docked.
- Reviewed by Brian Weinstein.
- * UserInterface/Main.css:
- (#docked-resizer): Added.
- (body.docked #docked-resizer): Added.
- * UserInterface/Main.html: Added #docked-resizer element.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Add mousedown listener on #docked-resizer.
- (WebInspector._dockedResizerMouseDown): Added.
- (WebInspector._dockedResizerMouseDown.dockedResizerDrag): Added.
- (WebInspector._dockedResizerMouseDown.dockedResizerDragEnd): Added.
- 2012-01-20 Timothy Hatcher <timothy@apple.com>
- Add dock toggle and close buttons to the new Web Inspector.
- Reviewed by Brian Weinstein.
- * UserInterface/ButtonNavigationItem.css:
- (.navigation-bar > .item.button:not(.disabled):not(.radio):not(.suppress-bezel):active):
- Added :not(.suppress-bezel).
- * UserInterface/ButtonNavigationItem.js:
- (WebInspector.ButtonNavigationItem.prototype.get suppressBezel): Added.
- (WebInspector.ButtonNavigationItem.prototype.set suppressBezel): Added.
- * UserInterface/Images/Close.pdf: Added.
- * UserInterface/Images/Dock.pdf: Added.
- * UserInterface/Images/Undock.pdf: Added.
- * UserInterface/InspectorFrontendAPI.js: Added.
- (InspectorFrontendAPI._loaded): Added.
- (InspectorFrontendAPI._pendingCommands): Added.
- (InspectorFrontendAPI.isDebuggingEnabled): Added stub.
- (InspectorFrontendAPI.setDebuggingEnabled): Added stub.
- (InspectorFrontendAPI.isTimelineProfilingEnabled): Added stub.
- (InspectorFrontendAPI.setTimelineProfilingEnabled): Added stub.
- (InspectorFrontendAPI.isProfilingJavaScript): Added stub.
- (InspectorFrontendAPI.startProfilingJavaScript): Added stub.
- (InspectorFrontendAPI.stopProfilingJavaScript): Added stub.
- (InspectorFrontendAPI.setAttachedWindow): Added. Calls updateDockedState.
- (InspectorFrontendAPI.showConsole): Added stub.
- (InspectorFrontendAPI.dispatch): Added stub.
- (InspectorFrontendAPI.loadCompleted): Added stub.
- * UserInterface/Main.css:
- (body.docked): Added. Adds a top border.
- * UserInterface/Main.html: Included InspectorFrontendAPI.js.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Create and insert the dock toggle and close buttons. Tell InspectorFrontendAPI
- that we are loaded so pending commands are dispatched.
- (WebInspector.updateDockedState): Added. Updates the sate of the navigation bar buttons.
- (WebInspector.close): Added.
- (WebInspector._dockToggleButtonToolTip): Added.
- (WebInspector._toggleDockedState): Added.
- * UserInterface/Utilities.js:
- (parseLocationQueryParameters): Added. Helper to parse the query string.
- 2012-01-19 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design.
- Instead of passing a string as a title to the GeneralTreeElement, pass a DocumentFragment which
- contains our necessary text, but highlights the search string.
- Reviewed by Tim Hatcher.
- * UserInterface/GeneralTreeElement.js:
- (WebInspector.GeneralTreeElement.prototype._updateTitleElements): Add a special case for _mainTitle
- being a Node.
- * UserInterface/NavigationSidebarPanel.css:
- (.navigation-sidebar-panel-content-tree-outline .item .highlight): Set the highlighted text to have
- a yellow background with a darker yellow bottom border to match Xcode.
- * UserInterface/SearchResultTreeElement.js:
- (WebInspector.SearchResultTreeElement.truncateAndHighlightTitle): Create a document fragment, and
- break the matching text into parts (before match, match, after match), and add a span around
- the matching text.
- 2012-01-19 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design.
- Implement proper truncation of the search results, so the search term will always show up in the
- title text of the search term
- Reviewed by Tim Hatcher.
- * UserInterface/DOMSearchMatchObject.js:
- (WebInspector.DOMSearchMatchObject.prototype.get searchTerm): Return the search term.
- * UserInterface/ResourceSearchMatchObject.js:
- (WebInspector.ResourceSearchMatchObject.prototype.get searchTerm): Ditto.
- * UserInterface/SearchResultTreeElement.js:
- (WebInspector.SearchResultTreeElement): Call truncateAndHighlightTitle.
- (WebInspector.SearchResultTreeElement.truncateAndHighlightTitle): Truncate the title, and
- add a FIXME about highlighting it.
- 2012-01-19 Timothy Hatcher <timothy@apple.com>
- Make selecting an issue in the Issue sidebar show the resource's content view and reveal the line.
- Part of: <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/ConsoleObserver.js:
- (WebInspector.ConsoleObserver.prototype.messageAdded): Pass line to IssueManager.
- * UserInterface/IssueManager.js:
- (WebInspector.IssueManager.prototype.issueWasAdded): Added lineNumber parameter.
- * UserInterface/IssueMessage.js:
- (WebInspector.IssueMessage): Added lineNumber parameter.
- (WebInspector.IssueMessage.prototype.get lineNumber): Added.
- * UserInterface/IssueSidebarPanel.js:
- (WebInspector.IssueSidebarPanel): Set onselect to _treeElementSelected.
- (WebInspector.IssueSidebarPanel.prototype._treeElementSelected): Added. Call showResourceSourceCode
- based on the type of tree element selected.
- * UserInterface/IssueTreeElement.js:
- (WebInspector.IssueTreeElement): Added _issueMessage.
- (WebInspector.IssueTreeElement.prototype.get issueMessage): Added.
- 2012-01-19 Timothy Hatcher <timothy@apple.com>
- Make selecting the resource in the search sidebar show the resource.
- Part of: <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.showResource): Added.
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel.prototype._treeElementSelected): Call ResourceSidebarPanel.showResource
- if the tree element is a ResourceTreeElement.
- 2012-01-19 Timothy Hatcher <timothy@apple.com>
- Make selecting text search results show the resource's content view and reveal the line.
- Part of: <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/FrameContentView.js:
- (WebInspector.FrameContentView.prototype.showSourceCode): Added lineNumberToReveal parameter.
- * UserInterface/ResourceSearchMatchObject.js:
- (WebInspector.ResourceSearchMatchObject.prototype.get resource): Added.
- (WebInspector.ResourceSearchMatchObject.prototype.get lineNumber): Added.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.showMainFrameSourceCode): Added lineNumberToReveal parameter.
- (WebInspector.ResourceSidebarPanel.prototype.showResourceSourceCode): Added.
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel.prototype._treeElementSelected): Handle ResourceSearchMatchObject.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.revealLine): Added. Find the right text chunk for the line, then
- break it into single line text chunks then call scrollIntoViewIfNeeded on that text chunk.
- (WebInspector.TextEditor.prototype.shown): Set _visible to true. Check if there is a line number that
- needs to be revealed.
- (WebInspector.TextEditor.prototype.hidden): Set _visible to false.
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView): Start _contentPopulated as false.
- (WebInspector.TextResourceContentView.prototype.contentAvailable): Set _contentPopulated to true. Check if
- there is a line number that needs to be revealed.
- (WebInspector.TextResourceContentView.prototype.revealLine): Added.
- 2012-01-19 Timothy Hatcher <timothy@apple.com>
- Expand the resources tree elements in the Issues and Search sidebars by default.
- Part of:
- <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design
- <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/IssueSidebarPanel.js:
- (WebInspector.IssueSidebarPanel.prototype._issueWasAdded): Call expand.
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel.prototype._treeElementForResource): Call expand.
- 2012-01-19 Timothy Hatcher <timothy@apple.com>
- Call shown and hidden on the current content view in ClusterContentView.
- This is needed for DOMTreeContentView to correctly reveal the selected DOM node when shown.
- Reviewed by Brian Weinstein.
- * UserInterface/ClusterContentView.js:
- (WebInspector.ClusterContentView.prototype.shown): Call shown on the currentContentView if there is one.
- (WebInspector.ClusterContentView.prototype.hidden): Call hidden on the currentContentView if there is one.
- (WebInspector.ClusterContentView.prototype.get selectionPathComponents): Return [] if there is no currentContentView.
- 2012-01-19 Timothy Hatcher <timothy@apple.com>
- Make selecting DOM search results reveal and select the node in the DOM tree.
- Part of: <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/DOMSearchMatchObject.js:
- (WebInspector.DOMSearchMatchObject.get domNode): Added.
- * UserInterface/FrameContentView.js:
- (WebInspector.FrameContentView.prototype.showDOMTree): Added preventFocusChange parameter.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.showMainFrameDOMTree): Added preventFocusChange parameter.
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel): Set onselect to _treeElementSelected.
- (WebInspector.SearchSidebarPanel.prototype._treeElementSelected): Added. Call showMainFrameDOMTree for
- DOMSearchMatchObject results.
- 2012-01-18 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design.
- Add icons for the search sidebar. We are reusing the icons from the path components icons, and added
- the resource match icon from Xcode.
- Reviewed by Tim Hatcher.
- * UserInterface/DOMSearchMatchObject.js:
- (WebInspector.DOMSearchMatchObject.prototype.get className): Call _generateClassName.
- (WebInspector.DOMSearchMatchObject.prototype._generateClassName): Generate the correct class name from the node
- type.
- * UserInterface/Images/ResourceSearchMatch.pdf: Added.
- * UserInterface/Main.html:
- * UserInterface/ResourceSearchMatchObject.js:
- (WebInspector.ResourceSearchMatchObject.prototype.get className): Return the resource match class name.
- * UserInterface/SearchIcons.css: Added.
- * UserInterface/SearchResultTreeElement.js:
- (WebInspector.SearchResultTreeElement): Ask either the DOMSearchMatchObject or ResourceSearchMatchObject for its className.
- 2012-01-18 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design.
- Add some new classes, and generate proper titles for DOM search matches.
- The new classes added are:
- - DOMSearchMatchObject, which represents a match of the search term in the DOM.
- - ResourceSearchMatchObject, which represents a match of the search term in a resource.
- - SearchResultTreeElement, which represents the tree elements in the search sidebar, and its represented
- object is either a DOMSearchMatchObject or a ResourceSearchMatchObject.
- Reviewed by Tim Hatcher.
- * UserInterface/DOMSearchMatchObject.js: Added.
- (WebInspector.DOMSearchMatchObject):
- (WebInspector.DOMSearchMatchObject.prototype.constructor.WebInspector.DOMSearchMatchObject.get title): Call _generateTitle if we don't
- have one yet.
- (WebInspector.DOMSearchMatchObject.prototype._generateTitle): Generate a title from the DOMNode.
- * UserInterface/Main.html:
- * UserInterface/ResourceSearchMatchObject.js: Added.
- (WebInspector.ResourceSearchMatchObject):
- (WebInspector.ResourceSearchMatchObject.prototype.constructor.WebInspector.ResourceSearchMatchObject.get title): Return the matching line
- text with a FIXME.
- * UserInterface/SearchResultTreeElement.js: Added.
- (WebInspector.SearchResultTreeElement): Assert our represented object is either a DOMSearchMatchObject or a ResourceSearchMatchObject.
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged.resourcesCallback.resourceCallback): Create a SearchResultTreeElement.
- (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged.domCallback.domSearchResults): Ditto.
- 2012-01-18 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design.
- Implement searching of the DOM, and add the results to the search sidebar alongside matches in resources.
- This patch also stores the ResourceTreeElements in the SearchSidebarPanel class, since both DOM search results
- and resource search results will need to be under the same parent.
- Reviewed by Tim Hatcher.
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel):
- (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged.resourcesCallback.resourceCallback):
- (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged.resourcesCallback):
- (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged.domCallback.domSearchResults): For each
- search result, get the DOM Node and owner document's URL, and add the DOM node under the owner document's ResourceTreeElement.
- (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged.domCallback): Call DOMAgent.getSearchResults.
- (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged): Call DOMAgent.performSearch.
- 2012-01-18 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design.
- Implement searching of resources. Call the inspector API to search in all resources for our search term,
- and then for each resource that found a match, search in that resource for all of the matching lines.
- Reviewed by Tim Hatcher.
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged.resourcesCallback.resourceCallback): Loop
- over each matching line, and add a ResourceTreeElement for the parent, and a tree element for each matching search result.
- (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged.resourcesCallback): For
- each matching resource, search the resource.
- (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged): Call PageAgent.searchInResources.
- 2012-01-17 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design.
- Add a search field to the search sidebar. It is there and looks pretty, but doesn't do anything yet.
- Reviewed by Tim Hatcher.
- * UserInterface/Main.html:
- * UserInterface/SearchSidebarPanel.css: Added.
- (.sidebar > .panel.search > .content):
- (.sidebar > .panel.search > .search-bar):
- (.search-bar):
- (.search-bar > input[type="search"]):
- * UserInterface/SearchSidebarPanel.js:
- (WebInspector.SearchSidebarPanel):
- (WebInspector.SearchSidebarPanel.prototype.constructor.WebInspector.SearchSidebarPanel._searchFieldChanged):
- 2012-01-17 Brian Weinstein <bweinstein@apple.com>
- Start of <rdar://problem/10318754> Implement the Search sidebar for the new Web Inspector design.
- Add a stub Search sidebar and call it from Main.js instead of creating a generic sidebar panel.
- Reviewed by Tim Hatcher.
- * UserInterface/Main.html:
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- * UserInterface/SearchSidebarPanel.js: Added.
- (WebInspector.SearchSidebarPanel):
- 2012-01-18 Timothy Hatcher <timothy@apple.com>
- Make the Inspect Element context menu item work along with the inspect() console function.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Reviewed by Brian Weinstein.
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView.prototype.selectAndRevealDOMNode): Added.
- (WebInspector.DOMTreeContentView.prototype._pathComponentSelected): Use selectDOMNode
- instead of revealAndSelect since that also fires an event.
- * UserInterface/DOMTreeManager.js:
- (WebInspector.DOMTreeManager.prototype.inspectElement): Fire DOMNodeWasInspected.
- (WebInspector.DOMTreeManager.prototype.inspectNodeObject): Added. Resolves an object to
- a DOMNode and calls inspectElement.
- * UserInterface/FrameContentView.js:
- (WebInspector.FrameContentView): Remove call to _showContentViewForIdentifier.
- (WebInspector.FrameContentView.prototype.get selectionPathComponents): Return [] if there
- is no current content view.
- (WebInspector.FrameContentView.prototype.shown): Added. Show the DOM tree if _shownInitialContent
- is not true.
- (WebInspector.FrameContentView.prototype.closed): Added. Reset _shownInitialContent to false.
- (WebInspector.FrameContentView.prototype.showSourceCode): Added. Helper function.
- (WebInspector.FrameContentView.prototype.showDOMTree): Added. Helper function.
- (WebInspector.FrameContentView.prototype._pathComponentForContentView): Return null if there
- is no current content view.
- * UserInterface/InspectorObserver.js:
- (WebInspector.InspectorObserver.prototype.inspect): Pass the object to the right manager.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Enable the InspectorAgent.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel): Add DOMNodeWasInspected event listener.
- (WebInspector.ResourceSidebarPanel.prototype.showMainFrameDOMTree): Added. Helper function.
- (WebInspector.ResourceSidebarPanel.prototype.showMainFrameSourceCode): Added. Helper function.
- (WebInspector.ResourceSidebarPanel.prototype._domNodeWasInspected): Added. Call showMainFrameDOMTree.
- * UserInterface/StorageManager.js:
- (WebInspector.StorageManager.prototype.inspectDatabase): Added. Fire DatabaseWasInspected event.
- (WebInspector.StorageManager.prototype.inspectDOMStorage): Added. Fire DOMStorageObjectWasInspected event.
- (WebInspector.StorageManager.prototype._databaseForId): Added.
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel):
- (WebInspector.StorageSidebarPanel.prototype._domStorageObjectWasInspected): Added. Reveal and select the tree element.
- (WebInspector.StorageSidebarPanel.prototype._databaseWasInspected): Added. Ditto.
- 2012-01-18 Timothy Hatcher <timothy@apple.com>
- Add String.prototype.collapseWhitespace since it is needed by DOMTreeElement.js.
- Reviewed by Jing Jin.
- * UserInterface/Utilities.js:
- (String.prototype.collapseWhitespace): Added.
- 2012-01-18 Timothy Hatcher <timothy@apple.com>
- Now that the document node for child frames is included in the DOM tree, use it as the root
- for child frames to avoid seeing "#document" and having everything nested under it.
- Also use the straight forward approach to request the document if the DOMTree is for the main frame.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Reviewed by Brian Weinstein.
- * UserInterface/DOMTree.js:
- (WebInspector.DOMTree.prototype.requestRootDOMNode.mainDocumentAvailable): Added.
- (WebInspector.DOMTree.prototype.requestRootDOMNode): Evaluate "document" for child frames instead of
- "window.frameElement". And use WebInspector.domTreeManager.requestDocument for the main frame.
- 2012-01-17 Timothy Hatcher <timothy@apple.com>
- Rename ContentBrowser.showContentForRepresentedObject to ContentBrowser.showContentViewForRepresentedObject.
- Also adds ContentBrowser.showContentView and ContentBrowser.contentViewForRepresentedObject while making
- the showContentView* functions return the content view that was shown so it can be used by the caller.
- Reviewed by Brian Weinstein.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser.prototype.showContentViewForRepresentedObject): Renamed from showContentForRepresentedObject.
- (WebInspector.ContentBrowser.prototype.showContentView): Added. Call through to the contentViewContainer.
- (WebInspector.ContentBrowser.prototype.contentViewForRepresentedObject): Added. Ditto.
- (WebInspector.ContentBrowser.prototype._hierarchicalPathComponentWasSelected): Use showContentViewForRepresentedObject.
- * UserInterface/ContentViewContainer.js:
- (WebInspector.ContentViewContainer.prototype.showContentViewForRepresentedObject): Return the contentView shown.
- (WebInspector.ContentViewContainer.prototype.showContentView): Ditto.
- * UserInterface/FrameContentView.js:
- (WebInspector.FrameContentView.prototype._showContentViewForIdentifier): Return the contentView shown.
- * UserInterface/Main.js:
- (WebInspector.openURL): Use showContentViewForRepresentedObject.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected): Use showContentViewForRepresentedObject
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel.prototype._treeElementSelected): Use showContentViewForRepresentedObject
- 2012-01-17 Timothy Hatcher <timothy@apple.com>
- Prevent leaking Web Inspector content views by unregistering event listeners from external objects
- when the content views are closed.
- Since some content views were registering as event listeners on external objects that had indefinite or
- indeterminate lifetimes, that meant the closed content views were still around and responding to events
- after they had been closed.
- Reviewed by Brian Weinstein.
- * UserInterface/ClusterContentView.js:
- (WebInspector.ClusterContentView): Moved event listnener to shown.
- (WebInspector.ClusterContentView.prototype.shown): Added. Add event listener that was in the constructor.
- (WebInspector.ClusterContentView.prototype.closed): Added. Remove event listener and close all
- content views so they can do their own work.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView.prototype.closed): Added stub.
- * UserInterface/ContentViewContainer.js:
- (WebInspector.ContentViewContainer.prototype._disassociateFromContentView): Call closed on the view.
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView): Moved event listnener to shown.
- (WebInspector.DOMTreeContentView.prototype.shown): Add event listener that was in the constructor.
- (WebInspector.DOMTreeContentView.prototype.closed): Added. Remove event listener.
- * UserInterface/ResourceContentView.js:
- (WebInspector.ResourceContentView): Moved event listnener to shown.
- (WebInspector.ResourceContentView.prototype.shown): Added. Add event listener that was in the constructor.
- (WebInspector.ResourceContentView.prototype.closed): Added. Remove event listener.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): Close the content views right away, not after
- a delay to prevent the content views from responding to events when they are about to be closed anyway.
- 2012-01-17 Timothy Hatcher <timothy@apple.com>
- Minimize churn in the DOM tree content view when navigating between pages.
- The DOMTree was calling callbacks multiple times because the list wasn't cleared
- when the RootDOMNodeDidChange was sent. And DOMTreeContentView would request
- the DOM node again when RootDOMNodeDidChange was observed, causing the same
- callback to be added back into the pending callbacks array.
- This change clears the pending callbacks array each time the DOMTree is invalidated
- so it is the responsibility of the client to listen for the RootDOMNodeInvalidated
- event and request the root DOM node again (which is what happens already.)
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Reviewed by Brian Weinstein.
- * UserInterface/DOMTree.js:
- (WebInspector.DOMTree.Event.RootDOMNodeInvalidated): Renamed from RootDOMNodeDidChange to better
- reflect what is means.
- (WebInspector.DOMTree.prototype.invalidate.performInvalidate): Always fire the RootDOMNodeInvalidated
- event and clear the pending callbacks.
- (WebInspector.DOMTree.prototype.requestRootDOMNode.rootObjectAvailable): Check if we were invalidated
- before continuing.
- (WebInspector.DOMTree.prototype.requestRootDOMNode.rootDOMNodeAvailable): Ditto.
- (WebInspector.DOMTree.prototype.requestRootDOMNode.dispatchCallbacks): Ditto.
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView): Listen for the renamed RootDOMNodeInvalidated event.
- (WebInspector.DOMTreeContentView.prototype._rootDOMNodeInvalidated): Renamed from _rootDOMNodeDidChange.
- * UserInterface/DOMTreeUpdater.js:
- (WebInspector.DOMTreeUpdater.prototype._documentUpdated): Don't set rootDOMNode since the outline
- might be for a subframe, and this is always the main document.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Properly create a RemoteObject in WebInspector.DOMTree so it can be released correctly.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Reviewed by Brian Weinstein.
- * UserInterface/DOMTree.js:
- (WebInspector.DOMTree.prototype.requestRootDOMNode.rootObjectAvailable): Make a RemoteObject using
- WebInspector.RemoteObject.fromPayload and bind it to rootDOMNodeAvailable.
- (WebInspector.DOMTree.prototype.requestRootDOMNode.rootDOMNodeAvailable): Release the remote object.
- 2012-01-17 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design.
- Add images for for the error and warning tree elements.
- Reviewed by Tim Hatcher.
- * UserInterface/Images/Error.pdf: Added.
- * UserInterface/Images/Warning.pdf: Added.
- * UserInterface/IssueIcons.css: Added.
- (.error-issue-icon .icon):
- (.warning-issue-icon .icon):
- * UserInterface/IssueTreeElement.js:
- (WebInspector.IssueTreeElement):
- * UserInterface/Main.html:
- 2012-01-16 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design.
- Move the information about an Issue tree element from IssueSidebarPanel to its own class - IssueTreeElement.
- Reviewed by Tim Hatcher.
- * UserInterface/IssueSidebarPanel.js:
- (WebInspector.IssueSidebarPanel.prototype.constructor.WebInspector.IssueSidebarPanel._issueWasAdded): Create a new
- IssueTreeElement, instead of a GeneralTreeElement.
- * UserInterface/IssueTreeElement.js: Added.
- (WebInspector.IssueTreeElement): Call through to GeneralTreeElement and set some properties.
- (WebInspector.IssueTreeElement.titleForIssue): Moved from IssueSidebarPanel.
- * UserInterface/Main.html: Added new file.
- 2012-01-16 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design.
- Implement displaying formatted console messages in the Issues Sidebar.
- Reviewed by Tim Hatcher.
- * UserInterface/ConsoleObserver.js:
- (WebInspector.ConsoleObserver.prototype.constructor.WebInspector.ConsoleObserver.messageAdded): Pass along the
- parameters.
- * UserInterface/IssueManager.js:
- (WebInspector.IssueManager.prototype.issueWasAdded): Ditto.
- * UserInterface/IssueMessage.js:
- (WebInspector.IssueMessage): Turn the objects that we were passed in as parameters
- into WebInspector.RemoteObjects, and call this._formatTextIfNecessary to format
- our text.
- (WebInspector.IssueMessage.prototype._formatTextIfNecessary.valueFormatter): Get the value of the RemoteObject.
- (WebInspector.IssueMessage.prototype._formatTextIfNecessary.append): Append b to a, and return a.
- (WebInspector.IssueMessage.prototype._formatTextIfNecessary): Format our text, and append any unused substitutions
- to the string we generate. Once we are done generating the string, we set that as our text.
- 2012-01-13 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design.
- Clear the issues sidebar when the page is navigated. Add a listener in IssueManager that fires an
- event that IssueSidebarPanel listens to.
- Reviewed by Tim Hatcher.
- * UserInterface/IssueManager.js:
- (WebInspector.IssueManager):
- (WebInspector.IssueManager.prototype.issueWasAdded):
- (WebInspector.IssueManager.prototype._mainResourceDidChange):
- * UserInterface/IssueSidebarPanel.js:
- (WebInspector.IssueSidebarPanel):
- (WebInspector.IssueSidebarPanel.prototype.constructor.WebInspector.IssueSidebarPanel._issueWasAdded):
- (WebInspector.IssueSidebarPanel.prototype._issuesCleared):
- 2012-01-13 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design.
- Add things to the Issues sidebar, sorted by file. We currently only show issues that have a URL provided.
- Each folder in the sidebar is a resource where the error came from. Each issue has a main title of the
- kind of issue it is, and a subtitle of the issue text.
- Reviewed by Tim Hatcher.
- * UserInterface/ConsoleObserver.js:
- (WebInspector.ConsoleObserver.prototype.constructor.WebInspector.ConsoleObserver.messageAdded): If the message
- was an error or warning, tell the IssueManager about it.
- * UserInterface/IssueManager.js: Added.
- (WebInspector.IssueManager):
- (WebInspector.IssueManager.prototype.constructor.WebInspector.IssueManager.initialize):
- (WebInspector.IssueManager.prototype.issueWasAdded): Dispatch a message saying an issue was added.
- * UserInterface/IssueMessage.js: Added.
- (WebInspector.IssueMessage):
- * UserInterface/IssueSidebarPanel.js:
- (WebInspector.IssueSidebarPanel):
- (WebInspector.IssueSidebarPanel.prototype.constructor.WebInspector.IssueSidebarPanel._issueWasAdded):
- (WebInspector.titleForIssue):
- * UserInterface/Main.html: Add new files.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Initialize the IssueManager.
- * UserInterface/Utilities.js:
- (Object.defineProperty): Add String.prototype.startsWith.
- 2012-01-13 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design.
- Add a new flavor of tree item to tree elements in a NavigationSidebarPanel. If you set both the small and twoLine properties
- on a tree element, the title and subtitle will be on two lines, but it will only be slightly bigger than the
- small style, and will still use the same small icon size.
- Reviewed by Tim Hatcher.
- * UserInterface/GeneralTreeElement.js:
- (WebInspector.GeneralTreeElement.prototype.get twoLine):
- (WebInspector.GeneralTreeElement.prototype.set twoLine):
- (WebInspector.GeneralTreeElement.prototype.onattach):
- * UserInterface/NavigationSidebarPanel.css:
- (.navigation-sidebar-panel-content-tree-outline .item.small.two-line):
- (.navigation-sidebar-panel-content-tree-outline .item.small.two-line .titles):
- (.navigation-sidebar-panel-content-tree-outline .item.small.two-line .titles.no-subtitle):
- (.navigation-sidebar-panel-content-tree-outline .item.small.two-line .icon):
- (.navigation-sidebar-panel-content-tree-outline .item.small:not(.two-line) .title::after):
- (.navigation-sidebar-panel-content-tree-outline .item.small:not(.two-line) .subtitle::before):
- 2012-01-13 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design.
- Implement FrameResourceManager.resourceForURL. This checks the main frame's main resource for the passed in URL,
- and then calls the main frame's resourceForURL function, which checks subresources and recursively checks
- subframes for the correct URL.
- Reviewed by Tim Hatcher.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.resourceForURL):
- 2012-01-12 Brian Weinstein <bweinstein@apple.com>
- Start of <rdar://problem/10318761> Implement the Issue sidebar for the new Web Inspector design.
- Add a stub IssueSidebarPanel and call it from Main.js instead of just creating a generic sidebar panel.
- Reviewed by Tim Hatcher.
- * UserInterface/IssueSidebarPanel.js: Added.
- (WebInspector.IssueSidebarPanel):
- * UserInterface/Main.html: Add new file.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Create an IssueSidebarPanel.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Make the DOM tree content view show the current DOM node selection path in the quick navigation bar.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Reviewed by Brian Weinstein and Joseph Pecoraro.
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView): Added event listener for DOM tree selection changes.
- (WebInspector.DOMTreeContentView.prototype.get selectionPathComponents): Added. Return path components for the DOM tree selection.
- (WebInspector.DOMTreeContentView.prototype._selectedNodeDidChange): Added. Fire the SelectionPathComponentsDidChange event.
- (WebInspector.DOMTreeContentView.prototype._pathComponentSelected): Added. Reveal and select the DOM tree element.
- * UserInterface/DOMTreeElement.js:
- (WebInspector.DOMTreeElement.prototype.isCloseTag): Added.
- * UserInterface/DOMTreeElementPathComponent.js: Added.
- (WebInspector.DOMTreeElementPathComponent): Added.
- (WebInspector.DOMTreeElementPathComponent.prototype.get domTreeElement): Added.
- (WebInspector.DOMTreeElementPathComponent.prototype.get previousSibling): Added.
- (WebInspector.DOMTreeElementPathComponent.prototype.get nextSibling): Added. Return null if isCloseTag.
- * UserInterface/Images/DOMCharacterData.pdf: Added.
- * UserInterface/Images/DOMComment.pdf: Added.
- * UserInterface/Images/DOMDocumentType.pdf: Added.
- * UserInterface/Images/DOMElement.pdf: Added.
- * UserInterface/Images/DOMNode.pdf: Added.
- * UserInterface/Images/DOMTextNode.pdf: Added.
- * UserInterface/Main.html: Included DOMTreeElementPathComponent.js.
- * UserInterface/PathComponentIcons.css:
- (.dom-element-icon .icon): Added.
- (.dom-text-node-icon .icon): Added.
- (.dom-comment-icon .icon): Added.
- (.dom-document-type-icon .icon): Added.
- (.dom-character-data-icon .icon): Added.
- (.dom-node-icon .icon): Added.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Make link navigation work in the DOM tree.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Reviewed by Brian Weinstein.
- * UserInterface/DOMTreeContentView.js:
- (WebInspector.DOMTreeContentView): Add click event listener.
- (WebInspector.DOMTreeContentView.prototype._mouseWasClicked): Added. Start a timeout since this is a single
- click, if the timeout is canceled before it fires, then a double-click happened or another link was clicked.
- (WebInspector.DOMTreeContentView.prototype._mouseWasClicked.followLink): Added.
- * UserInterface/DOMTreeElement.js:
- (WebInspector.DOMTreeElement.prototype.onattach): Removed call to _preventFollowingLinksOnDoubleClick.
- (WebInspector.DOMTreeElement.prototype.updateTitle): Ditto.
- (WebInspector.DOMTreeElement.prototype._preventFollowingLinksOnDoubleClick): Removed.
- (WebInspector.DOMTreeElement.prototype._buildAttributeDOM): Removed linkify parameter and remove dependency on
- WebInspector.resourceURLForRelatedNode by making the anchor element directly.
- (WebInspector.DOMTreeElement.prototype._buildTagDOM): Removed linkify parameter.
- (WebInspector.DOMTreeElement.prototype._nodeTitleInfo): Ditto.
- * UserInterface/Utilities.js:
- (String.prototype.trimMiddle): Added.
- (String.prototype.trimEnd): Added.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Remove dependency on WebInspector.DOMSyntaxHighlighter and make style and script DOM nodes syntax highlighted
- by using WebInspector.SyntaxHighlighter.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Reviewed by Brian Weinstein and Joseph Pecoraro.
- * UserInterface/DOMTreeElement.js:
- (WebInspector.DOMTreeElement.prototype._nodeTitleInfo): Use WebInspector.syntaxHighlightStringAsDocumentFragment
- instead of WebInspector.DOMSyntaxHighlighter. Also syntax highlight inline script and style text nodes.
- * UserInterface/DOMTreeOutline.css:
- (.dom-tree-outline .html-text-node.large): Added. Used for large text blocks, making viewing/editing more pleasant.
- * UserInterface/SyntaxHighlighter.js:
- (WebInspector.SyntaxHighlighter.prototype.synchronousHighlight): Added dontChunk parameter and fix undefined/null checks.
- (WebInspector.SyntaxHighlighter.prototype.startHighlighting): Fix undefined/null checks
- (WebInspector.SyntaxHighlighter.prototype._highlightNextChunk): Added dontChunk parameter and don't bail early if it is set.
- * UserInterface/SyntaxHighlightingSupport.js:
- (WebInspector.syntaxHighlightStringAsDocumentFragment): Added. Creates a TextContent and syntax highlights it and returns
- the document fragment.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Break out the code for creating a syntax highlighted document fragment so it can be used
- by the DOM tree for inline CSS and JavaScript.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Reviewed by Brian Weinstein.
- * UserInterface/SyntaxHighlightingSupport.js: Added.
- (WebInspector.createSyntaxHighlightedDocumentFragment): Copied from WebInspector.TextEditorTextChunk.prototype.updateContent.
- (WebInspector.createSyntaxHighlightedDocumentFragment.appendText): Ditto.
- (WebInspector.createSyntaxHighlightedDocumentFragment.createTokenElement): Ditto.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditorTextChunk.prototype.updateContent): Use WebInspector.createSyntaxHighlightedDocumentFragment.
- * UserInterface/Main.html: Included SyntaxHighlightingSupport.js.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Remove references to the Elements panel and make the context menu work in the DOM tree.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Reviewed by John Sullivan.
- * UserInterface/DOMTreeElement.js:
- (WebInspector.DOMTreeElement.prototype.selectOnMouseDown): Removed elements panel code.
- * UserInterface/DOMTreeOutline.js:
- (WebInspector.DOMTreeOutline): Remove showInElementsPanelEnabled parameter.
- (WebInspector.DOMTreeOutline.prototype._contextMenuEventFired): Removed elements panel code and call populateContextMenu.
- (WebInspector.DOMTreeOutline.prototype.populateContextMenu): Removed call to populateHrefContextMenu which doesn't exist.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Style and syntax highlight the DOM tree elements.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Reviewed by Brian Weinstein and Joseph Pecoraro.
- * UserInterface/DOMTreeElement.js: Found and replaced "webkit-" with "" to fix the syntax highlighting class names.
- * UserInterface/DOMTreeOutline.css: Added.
- (.dom-tree-outline):
- (.dom-tree-outline li.hovered:not(.selected) .selection):
- (.dom-tree-outline li .selection):
- (.dom-tree-outline li.selected .selection):
- (.dom-tree-outline li.elements-drag-over .selection):
- (.dom-tree-outline:focus li.selected .selection):
- (.dom-tree-outline, .dom-tree-outline ol):
- (.dom-tree-outline ol.children):
- (.dom-tree-outline ol.children.expanded):
- (.dom-tree-outline li):
- (.dom-tree-outline:focus li.selected):
- (.dom-tree-outline:focus li.selected *):
- (.dom-tree-outline li.parent):
- (.dom-tree-outline li .html-tag.close):
- (.dom-tree-outline li.parent::before):
- (.dom-tree-outline:focus li.parent.selected::before):
- (.dom-tree-outline li.parent.expanded::before):
- (.dom-tree-outline:focus li.parent.expanded.selected::before):
- * UserInterface/DOMTreeOutline.js:
- (WebInspector.DOMTreeOutline): Set the dom-tree-outline and syntax-highlighted class names.
- (WebInspector.DOMTreeOutline.prototype.populateContextMenu): Found and replaced "webkit-" with "" to fix the
- syntax highlighting class names.
- * UserInterface/Main.html: Included DOMTreeOutline.css.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Make it possible to share the syntax highlighting styles with the DOM tree.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Reviewed by John Sullivan.
- * UserInterface/Main.html:
- * UserInterface/SyntaxHighlightingDefaultTheme.css: Renamed from Safari/Develop/WebInspector/TextEditorDefaultTheme.css.
- Found and replaced .text-editor with .syntax-highlighted.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor): Add the syntax-highlighted class name to the content container.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.DOMTreeContentView and have it as a second view available in WebInspector.FrameContentView.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Reviewed by John Sullivan.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView): Added support for WebInspector.DOMTree.
- (WebInspector.ContentView.isViewable): Ditto.
- * UserInterface/DOMTreeContentView.css: Added.
- (.content-view.dom-tree):
- * UserInterface/DOMTreeContentView.js: Added.
- (WebInspector.DOMTreeContentView): Create the DOMTreeOutline and request the root DOMNode.
- (WebInspector.DOMTreeContentView.prototype.get domTree): Return _domTree.
- (WebInspector.DOMTreeContentView.prototype.shown): Call setVisible on the DOMTreeOutline.
- (WebInspector.DOMTreeContentView.prototype.hidden): Ditto.
- (WebInspector.DOMTreeContentView.prototype._rootDOMNodeAvailable): Set the rootDOMNode on DOMTreeOutline.
- (WebInspector.DOMTreeContentView.prototype._rootDOMNodeDidChange): Request the root DOMNode.
- * UserInterface/FrameContentView.js:
- (WebInspector.FrameContentView): Create the DOM tree path component.
- (WebInspector.FrameContentView.prototype._pathComponentForContentView): Return the DOM tree patch component
- for DOMTree represented objects.
- (WebInspector.FrameContentView.prototype._showContentViewForIdentifier): Use the DOMTree of the frame.
- * UserInterface/Images/DOMTree.pdf: Added.
- * UserInterface/Main.html: Included DOMTreeContentView.{js,css}.
- * UserInterface/PathComponentIcons.css:
- (.dom-tree-icon .icon): Added.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Add support for getting the DOM tree for a specific WebInspector.Frame.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Reviewed by Brian Weinstein and Joseph Pecoraro.
- * UserInterface/DOMTree.js: Added.
- (WebInspector.DOMTree):
- (WebInspector.DOMTree.prototype.invalidate): Delay the invalidation on a timeout to coalesce multiple calls to invalidate.
- (WebInspector.DOMTree.prototype.invalidate.performInvalidate): Do the work to invalidate.
- (WebInspector.DOMTree.prototype.requestRootDOMNode): Get window.frameElement or document from the desired frame.
- (WebInspector.DOMTree.prototype.requestRootDOMNode.rootObjectAvailable): Convert the RemoteObject to a DOMNode.
- (WebInspector.DOMTree.prototype.requestRootDOMNode.rootDOMNodeAvailable): Get the child nodes before calling the callbacks.
- (WebInspector.DOMTree.prototype.requestRootDOMNode.dispatchCallbacks): Helper to dispatch pending callbacks.
- (WebInspector.DOMTree.prototype._nodeRemoved): Call invalidate if the node is the root node.
- (WebInspector.DOMTree.prototype._documentUpdated): Call invalidate.
- (WebInspector.DOMTree.prototype._frameMainResourceDidChange): Ditto.
- * UserInterface/Frame.js:
- (WebInspector.Frame.prototype.get domTree): Added.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Remove dependency on Preferences.maxInlineTextChildLength from WebInspector.DOMTreeElement.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Reviewed by John Sullivan.
- * UserInterface/DOMTreeElement.js:
- (WebInspector.DOMTreeElement.MaximumInlineTextChildLength): Added.
- (WebInspector.DOMTreeElement.prototype._nodeTitleInfo): Use WebInspector.DOMTreeElement.MaximumInlineTextChildLength.
- (WebInspector.DOMTreeElement.prototype._showInlineText): Ditto.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Use WebInspector.DOMNode instead of WebInspector.DOMDocument since we don't have DOMDocument
- in the new Web Inspector.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Reviewed by John Sullivan.
- * UserInterface/DOMNode.js:
- (WebInspector.DOMNode): Set ownerDocument to this when this is a document node.
- * UserInterface/DOMTreeManager.js:
- (WebInspector.DOMTreeManager.prototype._setDocument): Use DOMNode instead of DOMDocument.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Update DOMTreeElement to correctly use the new non-formating WebInspector.UIString.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Rubber-stamped by John Sullivan.
- * UserInterface/DOMTreeElement.js:
- (WebInspector.DOMTreeElement.prototype._createTooltipForNode.setTooltip): Use format() after UIString.
- (WebInspector.DOMTreeElement.prototype.adjustCollapsedRange): Ditto.
- (WebInspector.DOMTreeElement.prototype._populateTagContextMenu): Removed WebInspector.useLowerCaseMenuTitles() use.
- (WebInspector.DOMTreeElement.prototype._populateTextContextMenu): Ditto.
- (WebInspector.DOMTreeElement.prototype._populateNodeContextMenu): Ditto.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Replace {add,remove,has}StyleClass in DOMTree{Element,Outline} with classList.{add,remove,contains}.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Rubber-stamped by John Sullivan.
- * UserInterface/DOMTreeElement.js:
- (WebInspector.ElementsTreeElement.prototype.set hovered):
- (WebInspector.ElementsTreeElement.prototype.onattach):
- (WebInspector.ElementsTreeElement.prototype._triggerEditAttribute):
- * UserInterface/DOMTreeOutline.js:
- (WebInspector.ElementsTreeOutline.prototype._ondragover):
- (WebInspector.ElementsTreeOutline.prototype._clearDragOverTreeElementMarker):
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Remove dependancy on WebInspector.Color from WebInspector.DOMTreeManager.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Rubber-stamped by John Sullivan.
- * UserInterface/DOMTreeManager.js:
- (WebInspector.DOMTreeManager.prototype._buildHighlightConfig): Include the colors directly.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Make WebInspector.DOMTreeUpdater listen for events on the correct object.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Rubber-stamped by John Sullivan.
- * UserInterface/DOMTreeUpdater.js:
- (WebInspector.DOMTreeUpdater): Use DOMTreeManager instead of the old DOMAgent name.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Make WebInspector.DOMTreeOutline conform to the right style for objects with events.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Reviewed by John Sullivan.
- * UserInterface/DOMTreeOutline.js:
- (WebInspector.DOMTreeOutline.prototype._selectedNodeChanged):
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Make WebInspector.DOMTreeManager events conform to the style we use in the new Web Inspector.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Reviewed by John Sullivan.
- * UserInterface/DOMTreeManager.js:
- (WebInspector.DOMTreeManager.prototype._attributeModified): Use WebInspector.DOMTreeManager.Event and spell out Attribute.
- (WebInspector.DOMTreeManager.prototype._attributeRemoved): Ditto.
- (WebInspector.DOMTreeManager.prototype._loadNodeAttributes): Ditto.
- (WebInspector.DOMTreeManager.prototype._characterDataModified): WebInspector.DOMTreeManager.Event.
- (WebInspector.DOMTreeManager.prototype._setDocument): Ditto.
- (WebInspector.DOMTreeManager.prototype._childNodeCountUpdated): Ditto.
- (WebInspector.DOMTreeManager.prototype._childNodeInserted): Ditto.
- (WebInspector.DOMTreeManager.prototype._childNodeRemoved): Ditto.
- (WebInspector.DOMTreeManager.prototype.inspectElement): Ditto.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Don't call InspectorBackend.registerDOMDispatcher from WebInspector.DOMTreeManager.
- The new Web Inspector calls InspectorBackend.registerDOMDispatcher from Main.js.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Reviewed by John Sullivan.
- * UserInterface/DOMTreeManager.js:
- (WebInspector.DOMTreeManager): Remove call to InspectorBackend.registerDOMDispatcher.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Wire up WebInspector.DOMObserver to WebInspector.DOMTreeManager.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Reviewed by John Sullivan.
- * UserInterface/DOMObserver.js:
- (WebInspector.DOMObserver.prototype.documentUpdated):
- (WebInspector.DOMObserver.prototype.setChildNodes):
- (WebInspector.DOMObserver.prototype.attributeModified):
- (WebInspector.DOMObserver.prototype.attributeRemoved):
- (WebInspector.DOMObserver.prototype.inlineStyleInvalidated):
- (WebInspector.DOMObserver.prototype.characterDataModified):
- (WebInspector.DOMObserver.prototype.childNodeCountUpdated):
- (WebInspector.DOMObserver.prototype.childNodeInserted):
- (WebInspector.DOMObserver.prototype.childNodeRemoved):
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Use WebInspector.domTreeManager instead of the old WebInspector.domAgent.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Rubber-stamped by John Sullivan.
- * UserInterface/DOMTreeElement.js:
- (WebInspector.DOMTreeElement.prototype.onselect):
- (WebInspector.DOMTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
- (WebInspector.DOMTreeElement.prototype._tagNameEditingCommitted):
- * UserInterface/DOMTreeOutline.js:
- (WebInspector.DOMTreeOutline.prototype._onmousemove):
- (WebInspector.DOMTreeOutline.prototype._onmouseout):
- (WebInspector.DOMTreeOutline.prototype._ondragstart):
- (WebInspector.DOMTreeOutline.prototype._ondrop.callback):
- (WebInspector.DOMTreeOutline.prototype._ondrop):
- (WebInspector.DOMTreeOutline.prototype._contextMenuEventFired.focusElement):
- (WebInspector.DOMTreeOutline.prototype._contextMenuEventFired):
- * UserInterface/DOMTreeUpdater.js:
- (WebInspector.DOMTreeUpdater.prototype._reset):
- * UserInterface/RemoteObject.js:
- (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Create a WebInspector.DOMTreeManager instance.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Reviewed by John Sullivan.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Create a WebInspector.DOMTreeManager instance.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Rename WebInspector.ElementsTree{Outline,Element,Updater} to WebInspector.DOMTree{Outline,Element,Updater}.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Rubber-stamped by John Sullivan.
- * UserInterface/DOMTreeElement.js: Found and replaced WebInspector.ElementsTree with WebInspector.DOMTree.
- * UserInterface/DOMTreeOutline.js: Ditto.
- * UserInterface/DOMTreeUpdater.js: Ditto.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Rename WebInspector.DOMAgent to WebInspector.DOMTreeManager.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Rubber-stamped by John Sullivan.
- * UserInterface/DOMTreeManager.js: Found and replaced WebInspector.DOMAgent with WebInspector.DOMTreeManager.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Copy over WebInspector.ElementsTree{Outline,Element,Updater} from Open Source.
- Copied into DOMTreeElement.js, DOMTreeOutline.js and DOMTreeUpdater.js since the classes will
- soon be renamed to WebInspector.DOMTree{Outline,Element,Updater}.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Rubber-stamped by John Sullivan.
- * UserInterface/DOMTreeElement.js: Added.
- (WebInspector.ElementsTreeElement):
- (WebInspector.ElementsTreeElement.prototype.highlightSearchResults):
- (WebInspector.ElementsTreeElement.prototype.hideSearchHighlights):
- (WebInspector.ElementsTreeElement.prototype._updateSearchHighlight.updateEntryShow):
- (WebInspector.ElementsTreeElement.prototype._updateSearchHighlight.updateEntryHide):
- (WebInspector.ElementsTreeElement.prototype._updateSearchHighlight):
- (WebInspector.ElementsTreeElement.prototype.get hovered):
- (WebInspector.ElementsTreeElement.prototype.set hovered):
- (WebInspector.ElementsTreeElement.prototype.get expandedChildrenLimit):
- (WebInspector.ElementsTreeElement.prototype.set expandedChildrenLimit):
- (WebInspector.ElementsTreeElement.prototype.get expandedChildCount):
- (WebInspector.ElementsTreeElement.prototype.showChild):
- (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
- (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode.dimensions):
- (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode):
- (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
- (WebInspector.ElementsTreeElement.prototype.updateSelection):
- (WebInspector.ElementsTreeElement.prototype.onattach):
- (WebInspector.ElementsTreeElement.prototype._preventFollowingLinksOnDoubleClick):
- (WebInspector.ElementsTreeElement.prototype.onpopulate):
- (WebInspector.ElementsTreeElement.prototype.updateChildren):
- (WebInspector.ElementsTreeElement.prototype.insertChildElement):
- (WebInspector.ElementsTreeElement.prototype.moveChild):
- (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
- (WebInspector.ElementsTreeElement.prototype._updateChildren):
- (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange):
- (WebInspector.ElementsTreeElement.prototype.handleLoadAllChildren):
- (WebInspector.ElementsTreeElement.prototype.onexpand):
- (WebInspector.ElementsTreeElement.prototype.oncollapse):
- (WebInspector.ElementsTreeElement.prototype.onreveal):
- (WebInspector.ElementsTreeElement.prototype.onselect):
- (WebInspector.ElementsTreeElement.prototype.ondelete):
- (WebInspector.ElementsTreeElement.prototype.onenter):
- (WebInspector.ElementsTreeElement.prototype.selectOnMouseDown):
- (WebInspector.ElementsTreeElement.prototype.ondblclick):
- (WebInspector.ElementsTreeElement.prototype._insertInLastAttributePosition):
- (WebInspector.ElementsTreeElement.prototype._startEditingTarget):
- (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
- (WebInspector.ElementsTreeElement.prototype._populateTextContextMenu):
- (WebInspector.ElementsTreeElement.prototype._populateNodeContextMenu):
- (WebInspector.ElementsTreeElement.prototype._startEditing):
- (WebInspector.ElementsTreeElement.prototype._addNewAttribute):
- (WebInspector.ElementsTreeElement.prototype._triggerEditAttribute):
- (WebInspector.ElementsTreeElement.prototype._startEditingAttribute.removeZeroWidthSpaceRecursive):
- (WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
- (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
- (WebInspector.ElementsTreeElement.prototype._startEditingTagName.keyupListener):
- (WebInspector.ElementsTreeElement.prototype._startEditingTagName.editingComitted):
- (WebInspector.ElementsTreeElement.prototype._startEditingTagName.editingCancelled):
- (WebInspector.ElementsTreeElement.prototype._startEditingTagName):
- (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.commit):
- (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.dispose):
- (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
- (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded):
- (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
- (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.cancel):
- (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded):
- (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
- (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
- (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):
- (WebInspector.ElementsTreeElement.prototype._editingCancelled):
- (WebInspector.ElementsTreeElement.prototype._distinctClosingTagElement):
- (WebInspector.ElementsTreeElement.prototype.updateTitle):
- (WebInspector.ElementsTreeElement.prototype._buildAttributeDOM):
- * UserInterface/DOMTreeOutline.js: Added.
- (WebInspector.ElementsTreeOutline):
- (WebInspector.ElementsTreeOutline.prototype.wireToDomAgent):
- (WebInspector.ElementsTreeOutline.prototype.setVisible):
- (WebInspector.ElementsTreeOutline.prototype.addEventListener):
- (WebInspector.ElementsTreeOutline.prototype.removeEventListener):
- (WebInspector.ElementsTreeOutline.prototype.get rootDOMNode):
- (WebInspector.ElementsTreeOutline.prototype.set rootDOMNode):
- (WebInspector.ElementsTreeOutline.prototype.get isXMLMimeType):
- (WebInspector.ElementsTreeOutline.prototype.selectedDOMNode):
- (WebInspector.ElementsTreeOutline.prototype.selectDOMNode):
- (WebInspector.ElementsTreeOutline.prototype.get editing):
- (WebInspector.ElementsTreeOutline.prototype.update):
- (WebInspector.ElementsTreeOutline.prototype.updateSelection):
- (WebInspector.ElementsTreeOutline.prototype._selectedNodeChanged):
- (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
- (WebInspector.ElementsTreeOutline.prototype.findTreeElement.parentNode):
- (WebInspector.ElementsTreeOutline.prototype.createTreeElementFor):
- (WebInspector.ElementsTreeOutline.prototype.set suppressRevealAndSelect):
- (WebInspector.ElementsTreeOutline.prototype._revealAndSelectNode):
- (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
- (WebInspector.ElementsTreeOutline.prototype._onmousedown):
- (WebInspector.ElementsTreeOutline.prototype._onmousemove):
- (WebInspector.ElementsTreeOutline.prototype._onmouseout):
- (WebInspector.ElementsTreeOutline.prototype._ondragstart):
- (WebInspector.ElementsTreeOutline.prototype._ondragover):
- (WebInspector.ElementsTreeOutline.prototype._ondragleave):
- (WebInspector.ElementsTreeOutline.prototype._isValidDragSourceOrTarget):
- (WebInspector.ElementsTreeOutline.prototype._ondrop.callback):
- (WebInspector.ElementsTreeOutline.prototype._ondrop):
- (WebInspector.ElementsTreeOutline.prototype._ondragend):
- (WebInspector.ElementsTreeOutline.prototype._clearDragOverTreeElementMarker):
- (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
- (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
- (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
- (WebInspector.ElementsTreeOutline.prototype.adjustCollapsedRange):
- (WebInspector.ElementsTreeOutline.prototype._updateModifiedNodes):
- (WebInspector.ElementsTreeOutline.prototype._populateContextMenu):
- * UserInterface/DOMTreeUpdater.js: Added.
- (WebInspector.ElementsTreeUpdater):
- (WebInspector.ElementsTreeUpdater.prototype._documentUpdated):
- (WebInspector.ElementsTreeUpdater.prototype._attributesUpdated):
- (WebInspector.ElementsTreeUpdater.prototype._characterDataModified):
- (WebInspector.ElementsTreeUpdater.prototype._nodeInserted):
- (WebInspector.ElementsTreeUpdater.prototype._nodeRemoved):
- (WebInspector.ElementsTreeUpdater.prototype._childNodeCountUpdated):
- (WebInspector.ElementsTreeUpdater.prototype._updateModifiedNodesSoon):
- (WebInspector.ElementsTreeUpdater.prototype._updateModifiedNodes):
- (WebInspector.ElementsTreeUpdater.prototype._reset):
- * UserInterface/Main.html: Included DOMTree{Outline,Element,Updater}.js.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Copy over WebInspector.DOMAgent from Open Source.
- Copied into DOMTreeManager.js since WebInspector.DOMAgent will soon be renamed to WebInspector.DOMTreeManager.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Rubber-stamped by John Sullivan.
- * UserInterface/DOMTreeManager.js: Copied from OpenSource/Source/WebCore/inspector/front-end/DOMAgent.js.
- (WebInspector.DOMAgent):
- (WebInspector.DOMAgent.prototype.requestDocument.onDocumentAvailable):
- (WebInspector.DOMAgent.prototype.requestDocument):
- (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
- (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
- (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable.onDocumentAvailable):
- (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable):
- (WebInspector.DOMAgent.prototype._attributeModified):
- (WebInspector.DOMAgent.prototype._attributeRemoved):
- (WebInspector.DOMAgent.prototype._inlineStyleInvalidated):
- (WebInspector.DOMAgent.prototype._loadNodeAttributes):
- (WebInspector.DOMAgent.prototype._characterDataModified):
- (WebInspector.DOMAgent.prototype.nodeForId):
- (WebInspector.DOMAgent.prototype._documentUpdated):
- (WebInspector.DOMAgent.prototype._setDocument):
- (WebInspector.DOMAgent.prototype._setDetachedRoot):
- (WebInspector.DOMAgent.prototype._setChildNodes):
- (WebInspector.DOMAgent.prototype._bindNodes):
- (WebInspector.DOMAgent.prototype._childNodeCountUpdated):
- (WebInspector.DOMAgent.prototype._childNodeInserted):
- (WebInspector.DOMAgent.prototype._childNodeRemoved):
- (WebInspector.DOMAgent.prototype.inspectElement):
- (WebInspector.DOMAgent.prototype.performSearch.callback):
- (WebInspector.DOMAgent.prototype.performSearch):
- (WebInspector.DOMAgent.prototype.searchResult.mycallback):
- (WebInspector.DOMAgent.prototype.searchResult):
- (WebInspector.DOMAgent.prototype.cancelSearch):
- (WebInspector.DOMAgent.prototype.querySelector):
- (WebInspector.DOMAgent.prototype.querySelectorAll):
- (WebInspector.DOMAgent.prototype.highlightDOMNode):
- (WebInspector.DOMAgent.prototype.hideDOMNodeHighlight):
- (WebInspector.DOMAgent.prototype.highlightDOMNodeForTwoSeconds):
- (WebInspector.DOMAgent.prototype.setInspectModeEnabled):
- (WebInspector.DOMAgent.prototype._buildHighlightConfig):
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Copy over WebInspector.DOMNode from Open Source.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Rubber-stamped by John Sullivan.
- * UserInterface/DOMNode.js: Copied from OpenSource/Source/WebCore/inspector/front-end/DOMAgent.js.
- (WebInspector.DOMNode):
- (WebInspector.DOMNode.prototype.hasAttributes):
- (WebInspector.DOMNode.prototype.hasChildNodes):
- (WebInspector.DOMNode.prototype.nodeType):
- (WebInspector.DOMNode.prototype.nodeName):
- (WebInspector.DOMNode.prototype.nodeNameInCorrectCase):
- (WebInspector.DOMNode.prototype.setNodeName):
- (WebInspector.DOMNode.prototype.localName):
- (WebInspector.DOMNode.prototype.nodeValue):
- (WebInspector.DOMNode.prototype.setNodeValue):
- (WebInspector.DOMNode.prototype.getAttribute):
- (WebInspector.DOMNode.prototype.setAttribute):
- (WebInspector.DOMNode.prototype.setAttributeValue):
- (WebInspector.DOMNode.prototype.attributes):
- (WebInspector.DOMNode.prototype.removeAttribute):
- (WebInspector.DOMNode.prototype.getChildNodes.mycallback):
- (WebInspector.DOMNode.prototype.getChildNodes):
- (WebInspector.DOMNode.prototype.getOuterHTML):
- (WebInspector.DOMNode.prototype.setOuterHTML):
- (WebInspector.DOMNode.prototype.removeNode):
- (WebInspector.DOMNode.prototype.copyNode):
- (WebInspector.DOMNode.prototype.eventListeners):
- (WebInspector.DOMNode.prototype.path):
- (WebInspector.DOMNode.prototype.appropriateSelectorFor):
- (WebInspector.DOMNode.prototype.isAncestor):
- (WebInspector.DOMNode.prototype.isDescendant):
- (WebInspector.DOMNode.prototype._setAttributesPayload):
- (WebInspector.DOMNode.prototype._insertChild):
- (WebInspector.DOMNode.prototype._removeChild):
- (WebInspector.DOMNode.prototype._setChildrenPayload):
- (WebInspector.DOMNode.prototype._renumber):
- (WebInspector.DOMNode.prototype._addAttribute):
- (WebInspector.DOMNode.prototype._setAttribute):
- (WebInspector.DOMNode.prototype._removeAttribute):
- (WebInspector.DOMNode.prototype.ownerDocumentElement):
- (WebInspector.DOMNode.prototype.moveTo):
- (WebInspector.DOMNode.prototype.isXMLNode):
- * UserInterface/Main.html: Included DOMNode.js.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Copy over WebInspector.RemoteObject from Open Source.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Rubber-stamped by John Sullivan.
- * UserInterface/Main.html: Included RemoteObject.js.
- * UserInterface/RemoteObject.js: Copied from OpenSource/Source/WebCore/inspector/front-end/RemoteObject.js.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Copy over WebInspector.ContextMenu from Open Source.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Rubber-stamped by John Sullivan.
- * UserInterface/ContextMenu.js: Copied from OpenSource/Source/WebCore/inspector/front-end/ContextMenu.js.
- * UserInterface/Main.html: Included ContextMenu.js.
- 2012-01-16 Timothy Hatcher <timothy@apple.com>
- Rename TreeElementHierarchicalPathComponent.js to GeneralTreeElementPathComponent.js.
- It always dealt with GeneralTreeElements from the start, not TreeElements. This makes it clear
- that is can't be used with other TreeElement subclasses (like DOMTreeElement).
- Rubber-stamped by John Sullivan.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser.prototype._updateHierarchicalPathNavigationItem): Use GeneralTreeElementPathComponent.
- (WebInspector.ContentBrowser.prototype._hierarchicalPathComponentWasSelected): Ditto.
- * UserInterface/GeneralTreeElementPathComponent.js: Renamed from TreeElementHierarchicalPathComponent.js.
- * UserInterface/Main.html: Renamed TreeElementHierarchicalPathComponent.js to GeneralTreeElementPathComponent.js.
- 2012-01-14 Timothy Hatcher <timothy@apple.com>
- Prevent deselection of frames in the Resources sidebar when they navigate, or when resources redirect.
- When a frame navigates or a resource redirects we remove it from the tree and reinsert it at the correct
- sort order based on the new URL. When the tree element was removed we would automatically select a sibling.
- This uses new TreeOutline support to suppress notifying select/deselect listeners so the temporary removal
- is not noticed, so the content view does not change briefly.
- Reviewed by Dan Bernstein.
- * UserInterface/FrameTreeElement.js:
- (WebInspector.FrameTreeElement.prototype._addTreeElement):
- (WebInspector.FrameTreeElement.prototype._removeTreeElement):
- 2012-01-14 Timothy Hatcher <timothy@apple.com>
- Add more support for suppressing the select and deselect events in TreeOutline. This also fixes
- a typo where suppress was pervasively misspelled.
- This is needed to prevent changing views when a tree element in the Resources sidebar moves to a folder.
- Reviewed by Dan Bernstein.
- * UserInterface/TreeOutline.js:
- (TreeOutline.prototype.removeChildAtIndex): Added suppressOnDeselect and suppressSelectSibling.
- (TreeOutline.prototype.removeChild): Ditto.
- (TreeOutline.prototype.removeChildren): Added suppressOnDeselect.
- (TreeOutline.prototype.removeChildrenRecursive): Ditto.
- (TreeElement.prototype.select): Added suppressOnSelect and suppressOnDeselect.
- (TreeElement.prototype.revealAndSelect): Added the same parameters as select.
- 2012-01-11 Timothy Hatcher <timothy@apple.com>
- Make DataGrid use CSS gradients for headers instead of images.
- Part of: <rdar://problem/10643175> DataGrid should be HiDPI compliant
- Reviewed by Jing Jin.
- * UserInterface/DataGrid.css:
- (.data-grid th):
- (.data-grid th:first-child):
- (.data-grid th:active:first-child):
- (.data-grid th:last-child):
- (.data-grid th:active:last-child):
- (.data-grid table.data):
- (.data-grid td):
- (.data-grid td:last-child):
- (.data-grid th.sortable:active):
- (.data-grid th.sort-ascending, .data-grid th.sort-descending):
- (.data-grid th.sortable.sort-ascending:active, .data-grid th.sortable.sort-descending:active):
- (.data-grid th.sort-descending + th):
- (.data-grid th.sort-descending + th:active):
- (.data-grid th.sort-descending:first-child):
- (.data-grid th.sort-descending:last-child):
- (body.inactive .data-grid th.sort-ascending, body.inactive .data-grid th.sort-descending):
- * UserInterface/Images/glossyHeader.png: Removed.
- * UserInterface/Images/glossyHeaderPressed.png: Removed.
- * UserInterface/Images/glossyHeaderSelected.png: Removed.
- * UserInterface/Images/glossyHeaderSelectedPressed.png: Removed.
- 2012-01-10 Timothy Hatcher <timothy@apple.com>
- Improve appearance of DataGrid in the new Web Inspector.
- This removes the extra border and outline around the DOM Storage and Cookie Storage content views.
- The empty gutter on the right is also removed now that OS X has overlay scrollers.
- Reviewed by Brian Weinstein.
- * UserInterface/CookieStorageContentView.css:
- (.content-view.cookie-storage > .data-grid): Set border and outline to none.
- * UserInterface/DOMStorageContentView.css:
- (.content-view.dom-storage > .data-grid): Ditto.
- * UserInterface/DataGrid.css:
- (.data-grid .data-container): Remove padding-right.
- (.data-grid th:last-child): Added. Remove right border and set padding-right to give room for the scroller.
- (.data-grid td:last-child): Added. Ditto.
- * UserInterface/DataGrid.js:
- (WebInspector.DataGrid): Removed the corder cell since it ins't needed to make room for the scroller anymore.
- 2012-01-10 Timothy Hatcher <timothy@apple.com>
- Add utility functions needed by the DOM tree code.
- Part of: <rdar://problem/10663163> Implement the DOM Tree content view
- Reviewed by John Sullivan.
- * UserInterface/Utilities.js:
- (Node.prototype.isAncestor): Copied from OpenSource/Source/WebCore/inspector/front-end/utilities.js.
- (Node.prototype.isDescendant): Ditto.
- (Element.prototype.createChild): Ditto.
- (DocumentFragment.prototype.createChild): Ditto.
- 2012-01-10 Timothy Hatcher <timothy@apple.com>
- Fix a case where Element.totalOffsetLeft is used as a function instead of a property.
- Reviewed by Brian Weinstein.
- * UserInterface/TreeOutline.js:
- (TreeElement.prototype.isEventWithinDisclosureTriangle): Don't call totalOffsetLeft as a function.
- 2012-01-10 Timothy Hatcher <timothy@apple.com>
- Make events dispatch to listeners on all constructors up the prototype chain, not just immediate constructor.
- This is needed so subclasses of ContentView can dispatch events to listeners without the need for them to listen
- on the concrete ContentView subclasses.
- Reviewed by Brian Weinstein.
- * UserInterface/Object.js:
- (WebInspector.Object.prototype.dispatchEventToListeners):
- 2012-01-10 Timothy Hatcher <timothy@apple.com>
- Make clicking of links for main resources of frames navigate to those resources. Before this only subresources
- were navigable and clicking a main resource link would open a new Safari window instead of showing the source.
- Reviewed by Brian Weinstein.
- * UserInterface/Frame.js:
- (WebInspector.Frame.prototype.resourceForURL): Check the main resources of the child frames for the requested URL.
- 2012-01-10 Timothy Hatcher <timothy@apple.com>
- Allow repeated selection of tree elements in the Storage panel (and all future NavigationSidebarPanels.)
- Reviewed by Brian Weinstein.
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel): Set this._contentTreeOutline.allowsRepeatSelection to true.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel): Moved this.contentTreeOutline.allowsRepeatSelection = true from here
- to WebInspector.NavigationSidebarPanel.
- 2012-01-12 Timothy Hatcher <timothy@apple.com>
- Exclude Web Inspector strings from localizedStrings.js until they can be included
- in Production builds.
- Reviewed by Darin Adler.
- * UserInterface/Main.js:
- (WebInspector.UIString): Always return the string until we can actually do the lookup.
- * English.lproj/localizedStrings.js: Updated to exclude Web Inspector strings.
- 2012-01-11 Brian Weinstein <bweinstein@apple.com>
- Rest of <rdar://problem/10643012> Implement Database content views for new inspector design.
- Implement custom views for when a database table is empty, or when there was an error
- loading the data.
- If a table is empty, we don't get a list of column names, and can't show an empty data grid.
- If there was an error, we also can't show a data grid because we don't know anything about
- the table.
- Reviewed by Tim Hatcher.
- * UserInterface/DatabaseTableContentView.js:
- (WebInspector.DatabaseTableContentView.prototype._queryFinished): If we were unable to create
- a data grid, the table was empty, so call createMessageTextView.
- (WebInspector.DatabaseTableContentView.prototype._queryError): Call createMessageTextView.
- * UserInterface/Main.css:
- (.message-text-view, message-text-view > p, message-text-view.error): Added styles for createMessageTextView.
- * UserInterface/Main.js:
- (WebInspector.createMessageTextView): Creates a view and returns it to the caller.
- * English.lproj/localizedStrings.js:
- 2012-01-11 Brian Weinstein <bweinstein@apple.com>
- Clear database table views when the page navigates.
- Reviewed by Tim Hatcher.
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel.prototype._storageCleared):
- 2012-01-11 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10643012> Implement Database content views for new inspector design.
- Implement the DataGrid for database tables.
- This patch adds the ability to be able to execute SQL queries on a DatabaseObject, and DatabaseContentView
- uses that to get the data from the selected table.
- Reviewed by Tim Hatcher.
- * UserInterface/DatabaseObject.js:
- (WebInspector.DatabaseObject.prototype.executeSQL): Call through to DatabaseAgent.executeSQL.
- * UserInterface/DatabaseObserver.js: Add a map from transaction ID -> callbacks to be able to do the right
- thing when sqlTransactionSucceeded or sqlTransactionFailed is called.
- (WebInspector.DatabaseObserver.prototype.sqlTransactionSucceeded): Call the onSuccess callback for that
- transaction ID.
- (WebInspector.DatabaseObserver.prototype.sqlTransactionFailed): Call the onError callback for that transaction
- ID.
- * UserInterface/DatabaseTableContentView.css: Added.
- (.content-view.database-table > .data-grid):
- * UserInterface/DatabaseTableContentView.js:
- (WebInspector.DatabaseTableContentView): Call update.
- (WebInspector.DatabaseTableContentView.prototype.constructor.WebInspector.DatabaseTableContentView.update): Get the
- data from the table.
- (WebInspector.DatabaseTableContentView.prototype._escapeTableName): Taken from open source.
- (WebInspector.DatabaseTableContentView.prototype._queryFinished): Create a sortable data grid with the column names
- and the values returned from the SQL call.
- (WebInspector.DatabaseTableContentView.prototype._queryError): Added a FIXME to handle the error.
- * UserInterface/Main.html:
- 2012-01-10 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10643012> Implement Database content views for new inspector design.
- Add a content view for database tables. It is currently empty, but a datagrid will be added that
- will show the correct data.
- Reviewed by Tim Hatcher.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView):
- (WebInspector.ContentView.isViewable):
- * UserInterface/DatabaseTableContentView.js: Added.
- (WebInspector.DatabaseTableContentView):
- * UserInterface/Main.html:
- * UserInterface/Main.js:
- (WebInspector.contentBrowserTreeElementForRepresentedObject):
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel.prototype._treeElementSelected):
- 2012-01-10 Brian Weinstein <bweinstein@apple.com>
- Clear the DOM and cookie storage content views when we navigate.
- Reviewed by Joseph Pecoraro.
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel.prototype._storageCleared):
- 2012-01-10 Brian Weinstein <bweinstein@apple.com>
- Rest of <rdar://problem/10642964> Implement Cookie content view for new web inspector design.
- Implement deleting of individual cookies.
- Reviewed by Tim Hatcher.
- * UserInterface/CookieStorageContentView.js:
- (WebInspector.CookieStorageContentView.prototype._rebuildTable): Add a delete callback.
- (WebInspector.CookieStorageContentView.prototype._deleteCallback): Delete the cookie.
- 2012-01-10 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10642964> Implement Cookie content view for new web inspector design.
- Implement the sorting of columns in the cookie data grid.
- The code to sort the array was brought from open source. The rest of the patch is some refactoring
- which makes the code more efficient. When we get the cookies from the PageAgent, we filter them,
- and store the filtered cookies as a property in the class. When the sorting order is changed,
- we just rebuild the table using the filtered cookies already stored, so we don't need to refilter
- them when the sorting order changed.
- Reviewed by Tim Hatcher.
- * UserInterface/CookieStorageContentView.js:
- (WebInspector.CookieStorageContentView.prototype.constructor.WebInspector.CookieStorageContentView.update): Store the filtered
- cookies as a property, then call rebuildTable.
- (WebInspector.CookieStorageContentView.prototype._rebuildTable): Don't take cookies as a parameter any more, and don't
- filter them.
- (WebInspector.CookieStorageContentView.prototype._sortCookies.localeCompare): Copied from open source.
- (WebInspector.CookieStorageContentView.prototype._sortCookies.numberCompare): Ditto.
- (WebInspector.CookieStorageContentView.prototype._sortCookies.expiresCompare): Ditto.
- (WebInspector.CookieStorageContentView.prototype._sortCookies): Ditto.
- * UserInterface/Utilities.js:
- (Object.defineProperty): Copied from open source.
- 2012-01-10 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10642964> Implement Cookie content view for new web inspector design.
- Filter the cookies that are shown for each domain that the page has loaded. This means that when
- you see the cookies for twitter.com, you will only see the twitter.com cookies, and not the doubleclick
- cookies that twitter might have loaded.
- Reviewed by Tim Hatcher.
- * UserInterface/CookieStorageContentView.js:
- (WebInspector.CookieStorageContentView.prototype._updateWithCookies): Use the filtered cookies.
- (WebInspector.CookieStorageContentView.prototype._filterCookies): Get a list of all the resources
- that are loaded with the CookieStorageContentView's host, and when looking at the document's cookies,
- only add the ones that match the host.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.get frames): Get the frames of the document.
- (WebInspector.cookieMatchesResourceURL): Brought over from open source.
- (WebInspector.cookieDomainMatchesResourceDomain): Ditto.
- 2012-01-09 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10642964> Implement Cookie content view for new web inspector design.
- Show a list of cookies on the page. It can't be sorted, and isn't filtered for the cookie host that
- you selected, but cookies do show up.
- Reviewed by Tim Hatcher.
- * UserInterface/CookieStorageContentView.css: Added.
- (.content-view.cookie-storage > .data-grid): The data grid takes up the whole view.
- * UserInterface/CookieStorageContentView.js:
- (WebInspector.CookieStorageContentView): Call update.
- (WebInspector.CookieStorageContentView.prototype.constructor.WebInspector.CookieStorageContentView.update): Get the cookies
- on the page, and then call _updateWithCookies on the result.
- (WebInspector.CookieStorageContentView.prototype._updateWithCookies): Create the data grid if it hasn't been created yet, and
- populate it.
- * UserInterface/Main.html: Add new file.
- * English.lproj/localizedStrings.js: Update localized string.
- 2012-01-09 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10642964> Implement Cookie content view for new web inspector design.
- Add a content view for cookie storage. It is currently empty, but a datagrid will be added that
- will show the correct data.
- Reviewed by Tim Hatcher.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView): Add a new case for CookieStorageObject,
- (WebInspector.ContentView.isViewable): Ditto.
- * UserInterface/CookieStorageContentView.js: Added.
- (WebInspector.CookieStorageContentView):
- * UserInterface/Main.html: Add new files.
- * UserInterface/Main.js:
- (WebInspector.contentBrowserTreeElementForRepresentedObject): Add a new case for CookieStorageObject.
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel.prototype._treeElementSelected): Ditto.
- 2012-01-09 Brian Weinstein <bweinstein@apple.com>
- When we want to update the DOM storage data grid, don't remove the whole data grid and re-create it,
- just remove the DataGridNodes and regenerate those.
- Reviewed by Tim Hatcher.
- * UserInterface/DOMStorageContentView.js:
- (WebInspector.DOMStorageContentView.prototype.constructor.WebInspector.DOMStorageContentView.update): Don't remove the content
- view's children.
- (WebInspector.DOMStorageContentView.prototype._showDOMStorageEntries): Call _updateDataGridForDOMStorageEntries (which was renamed).
- (WebInspector.DOMStorageContentView.prototype._updateDataGridForDOMStorageEntries): Renamed. It also now only creates the data grid
- if necessary, and removes the children from the data grid before adding the new children.
- 2012-01-06 Brian Weinstein <bweinstein@apple.com>
- Rest towards <rdar://problem/10643005> Implement DOM Storage content views for new inspector design.
- Hook up editing of the DOM storage items.
- Reviewed by Tim Hatcher.
- * UserInterface/DOMStorageContentView.js:
- (WebInspector.DOMStorageContentView.prototype._dataGridForDOMStorageEntries): Add an editing callback.
- (WebInspector.DOMStorageContentView.prototype._editingCallback): Tell the DOMStorageObject about what
- item to modify.
- * UserInterface/DOMStorageObject.js:
- (WebInspector.DOMStorageObject.prototype.setItem): Call through to DOMStorageAgent.
- * UserInterface/Editing.css: Added. Copied some rules from inspector.css in Open Source.
- * UserInterface/EditingSupport.js: Added. Copied selected functions from Open Source UIUtils.js.
- * UserInterface/KeyboardShortcut.js: Added.
- * UserInterface/Main.html: Added new files.
- * UserInterface/Utilities.js: Copied isInsertionCaretInside from Open Source utilities.js, but made it
- a property.
- 2012-01-06 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10643005> Implement DOM Storage content views for new inspector design.
- Implement DOMStorageObserver.updateDOMStorage, and have it call all the way through to calling
- update on the DOMStorageContentView.
- Reviewed by Tim Hatcher.
- * UserInterface/DOMStorageObserver.js:
- (WebInspector.DOMStorageObserver.prototype.updateDOMStorage):
- * UserInterface/StorageManager.js:
- (WebInspector.StorageManager.prototype.domStorageWasUpdated):
- (WebInspector.StorageManager.prototype._mainResourceDidChange):
- (WebInspector.StorageManager.prototype._domStorageForId):
- 2012-01-06 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10643005> Implement DOM Storage content views for new inspector design.
- Hook up the delete callback from the datagrid. When the delete key is pressed and a row is selected,
- that DOM storage item will be deleted.
- Reviewed by Tim Hatcher.
- * UserInterface/DOMStorageContentView.js:
- (WebInspector.DOMStorageContentView.prototype._dataGridForDOMStorageEntries):
- (WebInspector.DOMStorageContentView.prototype._deleteCallback):
- * UserInterface/DOMStorageObject.js:
- (WebInspector.DOMStorageObject.prototype.getEntries):
- (WebInspector.DOMStorageObject.prototype.removeItem):
- 2012-01-06 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10643005> Implement DOM Storage content views for new inspector design.
- Make resizing columns work.
- Reviewed by Tim Hatcher.
- * UserInterface/DataGrid.js:
- (WebInspector.DataGrid.prototype._resizerDragging): Change totalOffsetLeft to be a property instead of
- a function. This matches Utilities.js and code that we already have.
- (WebInspector.DataGridNode.prototype.isEventWithinDisclosureTriangle): Ditto.
- * UserInterface/Main.js:
- (WebInspector.elementDragStart): Copied from Open Source.
- (WebInspector.elementDragEnd): Ditto.
- * UserInterface/Utilities.js:
- (Object.defineProperty):
- 2012-01-06 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10643005> Implement DOM Storage content views for new inspector design.
- We now show a data grid with the contents of the local or session storage.
- It's not editable, and you can't resize the columns yet, but that will come in
- the not too distant future.
- Reviewed by Tim Hatcher.
- * UserInterface/DOMStorageContentView.css: Added.
- (.content-view.dom-storage > .data-grid): Make the data grid take up the whole content view.
- * UserInterface/DOMStorageContentView.js:
- (WebInspector.DOMStorageContentView): Call update.
- (WebInspector.DOMStorageContentView.prototype.constructor.WebInspector.DOMStorageContentView.update): Remove all children
- from the content view, and ask the DOM storage object for a list of entries, and pass _showDOMStorageEntries as a callback.
- (WebInspector.DOMStorageContentView.prototype._showDOMStorageEntries): Call _dataGridForDOMStorageEntries and add the data grid
- to the
- (WebInspector.DOMStorageContentView.prototype._dataGridForDOMStorageEntries): Create the data grid and populate it.
- * UserInterface/DOMStorageObject.js:
- (WebInspector.DOMStorageObject.prototype.isLocalStorage):
- (WebInspector.DOMStorageObject.prototype.getEntries): Ask for the entries for the DOM storage.
- * UserInterface/Main.html: Add the new CSS file.
- * English.lproj/localizedStrings.js: Update the localized strings.
- 2012-01-06 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10643005> Implement DOM Storage content views for new inspector design.
- Clean up DataGrid by replacing (add|remove|has)StyleClass with classList.(add|remove|contains).
- Reviewed by Tim Hatcher.
- * UserInterface/DataGrid.js:
- 2012-01-06 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10643005> Implement DOM Storage content views for new inspector design.
- Add a content view for DOM storage. Currently it is just a blank view, but a datagrid will be
- added that will show the correct data.
- Reviewed by Tim Hatcher.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView): Add a new case for DOMStorageObject.
- (WebInspector.ContentView.isViewable): Ditto.
- (.content-view.dom-storage > .content-view-container):
- * UserInterface/DOMStorageContentView.js: Added.
- (WebInspector.DOMStorageContentView):
- * UserInterface/Main.html:
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel): Add a listener for when a tree element is selected.
- (WebInspector.StorageSidebarPanel.prototype._storageCleared):
- (WebInspector.StorageSidebarPanel.prototype._treeElementSelected): Install the content view.
- 2012-01-04 Brian Weinstein <bweinstein@apple.com>
- Work towards <rdar://problem/10643005> Implement DOM Storage content views for new inspector design.
- Add DataGrid JavaScript, CSS files, and necessary images to the internal project.
- Reviewed by Tim Hatcher.
- * UserInterface/DataGrid.js: Added. This was copied from ToT Open Source, but the changes from
- http://trac.webkit.org/changeset/98225 and http://trac.webkit.org/changeset/98228 were rolled out,
- because we don't share the same concept of a WebInspector view.
- * UserInterface/Images/glossyHeader.png: Added.
- * UserInterface/Images/glossyHeaderPressed.png: Added.
- * UserInterface/Images/glossyHeaderSelected.png: Added.
- * UserInterface/Images/glossyHeaderSelectedPressed.png: Added.
- * UserInterface/Images/treeDownTriangleBlack.png: Added.
- * UserInterface/Images/treeDownTriangleWhite.png: Added.
- * UserInterface/Images/treeRightTriangleBlack.png: Added.
- * UserInterface/Images/treeRightTriangleWhite.png: Added.
- * UserInterface/Images/treeUpTriangleBlack.png: Added.
- * UserInterface/Main.html: Added new files.
- * UserInterface/dataGrid.css: Added.
- 2012-01-06 Timothy Hatcher <timothy@apple.com>
- Add a path component to WebInspector.FrameContentView that will eventually let you switch
- between Source Code and DOM Tree.
- Reviewed by Joseph Pecoraro.
- * UserInterface/FrameContentView.js:
- (WebInspector.FrameContentView.createPathComponent): Added. Helper for making HierarchicalPathComponents.
- (WebInspector.FrameContentView): Create a Source Code path component.
- (WebInspector.FrameContentView.prototype.get selectionPathComponents): Added. Append the current view's path
- components to the path component representing the current view.
- (WebInspector.FrameContentView.prototype._pathComponentForContentView): Added.
- (WebInspector.FrameContentView.prototype._showContentViewForIdentifier): Added.
- (WebInspector.FrameContentView.prototype._pathComponentSelected): Added.
- * UserInterface/Images/SourceCode.pdf: Added.
- * UserInterface/Main.html: Included PathComponentIcons.css.
- * UserInterface/PathComponentIcons.css: Added.
- (.source-code-icon .icon):
- * English.lproj/localizedStrings.js: Updated.
- 2012-01-06 Timothy Hatcher <timothy@apple.com>
- Add support for path components in the Quick Navigation bar that represent the current selection in a content view.
- Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/ClusterContentView.js:
- (WebInspector.ClusterContentView): Listen for CurrentContentViewDidChange and SelectionPathComponentsDidChange events.
- (WebInspector.ClusterContentView.prototype.get selectionPathComponents): Added. Forward the selectionPathComponents
- of the current view.
- (WebInspector.ClusterContentView.prototype._currentContentViewDidChange): Added. Dispatch SelectionPathComponentsDidChange event.
- (WebInspector.ClusterContentView.prototype._contentViewSelectionPathComponentDidChange): Added. Dispatch the
- SelectionPathComponentsDidChange event if the event target is our current content view.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser): Create a hierarchical path navigation item for the content view path components.
- (WebInspector.ContentBrowser.prototype._updateContentViewSelectionPathNavigationItem): Added. Remove and insert the navigation
- item if needed and update the components.
- (WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange): Added. Call _updateContentViewSelectionPathNavigationItem.
- (WebInspector.ContentBrowser.prototype._currentContentViewDidChange): Call _updateContentViewSelectionPathNavigationItem.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView.prototype.get selectionPathComponents): Added stub.
- * UserInterface/HierarchicalPathComponent.css:
- (.hierarchical-path:not(.always-show-last-path-component-separator) > .hierarchical-path-component:last-of-type > .separator): Added
- the :not(.always-show-last-path-component-separator) part so so prevent hiding the separator in that case.
- * UserInterface/HierarchicalPathNavigationItem.js:
- (WebInspector.HierarchicalPathNavigationItem.prototype.get alwaysShowLastPathComponentSeparator): Added.
- (WebInspector.HierarchicalPathNavigationItem.prototype.set alwaysShowLastPathComponentSeparator): Added.
- 2012-01-05 Timothy Hatcher <timothy@apple.com>
- Fix a regression from r39746 where link navigation between Web Inspector resource broke.
- Reviewed by Brian Weinstein.
- * UserInterface/Main.js:
- (WebInspector.openURL): Use contentBrowser instead of the now removed contentViewContainer.
- Also show the frame for main resources instead of the resource itself.
- 2012-01-05 Timothy Hatcher <timothy@apple.com>
- Fix an issue where host names for frames where not shown when they differ from the frame that includes them.
- Reviewed by Brian Weinstein.
- * UserInterface/Resource.js:
- (WebInspector.Resource.prototype.isMainResource): Added. Helper function.
- * UserInterface/ResourceTreeElement.js:
- (WebInspector.ResourceTreeElement.prototype._updateTitles): When the resource is a main resource, get the
- host from the parent frame instead of the current frame.
- 2012-01-05 Timothy Hatcher <timothy@apple.com>
- Add support for intra-view back/forward navigation.
- Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/ClusterContentView.js:
- (WebInspector.ClusterContentView.prototype.canGoBack): Added. Call through to the content view container.
- (WebInspector.ClusterContentView.prototype.canGoForward): Added. Ditto.
- (WebInspector.ClusterContentView.prototype.goBack): Added. Ditto.
- (WebInspector.ClusterContentView.prototype.goForward): Added. Ditto.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser.prototype.canGoBack): Added. Check the current content view first.
- (WebInspector.ContentBrowser.prototype.canGoForward): Added. Check the current content view first.
- (WebInspector.ContentBrowser.prototype.goBack): Added. Try the current content view first.
- (WebInspector.ContentBrowser.prototype.goForward): Added. Try the current content view first.
- (WebInspector.ContentBrowser.prototype._backButtonClicked): Call goBack on this instead of the content
- view container directly.
- (WebInspector.ContentBrowser.prototype._forwardButtonClicked): Call goForward on this instead of the
- content view container directly.
- (WebInspector.ContentBrowser.prototype._updateBackForwardButtons): Added.
- (WebInspector.ContentBrowser.prototype._currentContentViewDidChange): Call _udpateBackForwardButtons.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView.prototype.canGoBack): Added stub.
- (WebInspector.ContentView.prototype.canGoForward): Added stub.
- (WebInspector.ContentView.prototype.goBack): Added stub.
- (WebInspector.ContentView.prototype.goForward): Added stub.
- 2012-01-04 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.FrameContentView and WebInspector.ClusterContentView in preparation for showing
- either the main resource text or the DOM tree for a frame.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ClusterContentView.css: Added.
- (.content-view.cluster > .content-view-container):
- * UserInterface/ClusterContentView.js: Added.
- (WebInspector.ClusterContentView):
- (WebInspector.ClusterContentView.prototype.get contentViewContainer):
- * UserInterface/ContentView.js:
- (WebInspector.ContentView): Return a FrameContentView for a Frame.
- (WebInspector.ContentView.isViewable): Added Frame.
- * UserInterface/FrameContentView.js: Added.
- (WebInspector.FrameContentView):
- (WebInspector.FrameContentView.prototype.get frame):
- * UserInterface/Main.html: Included ClusterContentView.{css,js} and FrameContentView.js.
- * UserInterface/Main.js:
- (WebInspector.contentBrowserTreeElementForRepresentedObject): Added WebInspector.Frame check.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): Removed. The base class
- version of this function is enough now.
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange): Close all FrameContentViews
- and improve a comment and add a FIXME.
- (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected): Use treeElement.representedObject
- instead of treeElement.resource since we want a FrameContentView for frames.
- 2012-01-04 Timothy Hatcher <timothy@apple.com>
- Populate the on-click menu for path components backed by tree elements.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser): Add PathComponentWasSelected event listener.
- (WebInspector.ContentBrowser.prototype._updateHierarchicalPathNavigationItem): Use TreeElementHierarchicalPathComponent.
- (WebInspector.ContentBrowser.prototype._hierarchicalPathComponentWasSelected): Added.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView): Add assertions that isViewable is correct.
- (WebInspector.ContentView.isViewable): Added.
- * UserInterface/Main.html: Included TreeElementHierarchicalPathComponent.js.
- * UserInterface/TreeElementHierarchicalPathComponent.js: Added.
- (WebInspector.TreeElementHierarchicalPathComponent):
- (WebInspector.TreeElementHierarchicalPathComponent.prototype.get treeElement):
- (WebInspector.TreeElementHierarchicalPathComponent.prototype.get previousSibling):
- (WebInspector.TreeElementHierarchicalPathComponent.prototype.get nextSibling):
- 2012-01-04 Timothy Hatcher <timothy@apple.com>
- Show a popup menu on click in HierarchicalPathComponent that contains sibling path components.
- Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/HierarchicalPathComponent.css:
- (.hierarchical-path-component): Make positioning relative.
- (.hierarchical-path-component > select): Added. Positioned so the text in the menu aligns with the text in .title.
- * UserInterface/HierarchicalPathComponent.js:
- (WebInspector.HierarchicalPathComponent): Create the select element.
- (WebInspector.HierarchicalPathComponent.prototype.get previousSibling): Added.
- (WebInspector.HierarchicalPathComponent.prototype.set previousSibling): Added.
- (WebInspector.HierarchicalPathComponent.prototype.get nextSibling): Added.
- (WebInspector.HierarchicalPathComponent.prototype.set nextSibling): Added.
- (WebInspector.HierarchicalPathComponent.prototype._updateSelectElement): Added. Build the select menu.
- (WebInspector.HierarchicalPathComponent.prototype._updateSelectElement.createOption): Added. Helper to create
- an option element from a path component.
- (WebInspector.HierarchicalPathComponent.prototype._selectElementMouseDown): Added. Call _updateSelectElement.
- (WebInspector.HierarchicalPathComponent.prototype._selectElementSelectionChanged): Added. Fire the SiblingWasSelected event.
- * UserInterface/HierarchicalPathNavigationItem.js:
- (WebInspector.HierarchicalPathNavigationItem.prototype.set components): Remove and add event listeners.
- (WebInspector.HierarchicalPathNavigationItem.prototype._siblingPathComponentWasSelected): Added. Fire the PathComponentWasSelected event.
- 2012-01-03 Brian Weinstein <bweinstein@apple.com>
- If a database doesn't have any tables, its tree element shouldn't have a disclosure triangle.
- When creating the tree element for a database, initially set it not to have children, but make sure
- it is populated when it is first created, so children will be added if it has them.
- Reviewed by Tim Hatcher.
- * UserInterface/DatabaseTreeElement.js:
- (WebInspector.DatabaseTreeElement):
- (WebInspector.DatabaseTreeElement.prototype.onpopulate.tableNamesCallback):
- (WebInspector.DatabaseTreeElement.prototype.onpopulate):
- 2012-01-02 Timothy Hatcher <timothy@apple.com>
- Localize the Web Inspector by adding WebInspector.UIString in places that need it.
- Reviewed by Jessie Berlin.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser):
- * UserInterface/CookieStorageTreeElement.js:
- (WebInspector.CookieStorageTreeElement.prototype.get categoryName):
- * UserInterface/DOMStorageTreeElement.js:
- (WebInspector.DOMStorageTreeElement.prototype.get categoryName):
- * UserInterface/DatabaseHostTreeElement.js:
- (WebInspector.DatabaseHostTreeElement.prototype.get categoryName):
- * UserInterface/DatabaseObject.js:
- (WebInspector.DatabaseObject):
- * UserInterface/FrameTreeElement.js:
- (WebInspector.FrameTreeElement.prototype._folderNameForResourceType):
- (WebInspector.FrameTreeElement.prototype._parentTreeElementForRepresentedObject):
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- (WebInspector._leftSidebarToggleButtonToolTip):
- (WebInspector._rightSidebarToggleButtonToolTip):
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel.prototype._checkForEmptyFilterResults):
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel):
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel):
- (WebInspector.StorageSidebarPanel.prototype._domStorageObjectWasAdded):
- (WebInspector.StorageSidebarPanel.prototype._databaseWasAdded):
- (WebInspector.StorageSidebarPanel.prototype._cookieStorageObjectWasAdded):
- * English.lproj/localizedStrings.js: Updated with update-safari-localizable-strings.
- 2012-01-02 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.UIString and load the localized strings file.
- Reviewed by Jessie Berlin.
- * UserInterface/Main.js:
- (WebInspector.loadLocalizedStrings): Added. Load the localized strings file and call
- content loaded when it loads.
- (WebInspector.UIString): Added.
- 2012-01-02 Timothy Hatcher <timothy@apple.com>
- Add string formatting functions to Web Inspector.
- These will be needed for localization and the console.
- Reviewed by Brian Weinstein.
- * UserInterface/Utilities.js:
- (Array.convert): Copied from OpenSource/Source/WebCore/inspector/front-end/utilities.js.
- (String.tokenizeFormatString): Ditto.
- (String.standardFormatters): Ditto.
- (String.format): Ditto.
- (String.prototype.format): Added.
- 2011-12-31 Timothy Hatcher <timothy@apple.com>
- Add the toggle left and right sidebar buttons to the Quick Navigation bar.
- Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/Images/LeftSidebarClose.pdf: Added.
- * UserInterface/Images/LeftSidebarOpen.pdf: Added.
- * UserInterface/Images/RightSidebarClose.pdf: Added.
- * UserInterface/Images/RightSidebarOpen.pdf: Added.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Create the left and right toggle sidebar buttons and add event listeners.
- (WebInspector._leftSidebarToggleButtonToolTip): Added. Return the correct tool tip based on which sidebar
- is currently on the left.
- (WebInspector._rightSidebarToggleButtonToolTip): Added. Ditto for the right.
- (WebInspector._toggleLeftSidebar): Added.
- (WebInspector._toggleRightSidebar): Added.
- (WebInspector._sidebarCollapsedStateDidChange): Added. Update the toggle navigation buttons.
- * UserInterface/Sidebar.js:
- (WebInspector.Sidebar.prototype.set collapsed): Fire the CollapsedStateDidChange event.
- * UserInterface/TextEditor.css:
- (.text-editor > .gutter): Made the min-width 1px smaller to align with the divider in the navigation bar.
- 2011-12-31 Timothy Hatcher <timothy@apple.com>
- Add support for removing navigation items.
- Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/NavigationBar.js:
- (WebInspector.NavigationBar.prototype.removeNavigationItem): Added.
- (WebInspector.NavigationBar.prototype.set selectedNavigationItem): Moved code from here into _findNavigationItem.
- (WebInspector.NavigationBar.prototype._findNavigationItem): Added.
- 2011-12-31 Timothy Hatcher <timothy@apple.com>
- Add support for inserting navigation items at a specific index.
- Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/NavigationBar.js:
- (WebInspector.NavigationBar.prototype.addNavigationItem): Call insertNavigationItem.
- (WebInspector.NavigationBar.prototype.insertNavigationItem): Added.
- 2011-12-31 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.ToggleButtonNavigationItem for the sidebar toggle buttons in the Quick Navigation bar.
- Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/ButtonNavigationItem.js:
- (WebInspector.ButtonNavigationItem.prototype.set image): Added.
- (WebInspector.ButtonNavigationItem.prototype._generateImages._createEmbossedCanvasImage): Call clearRect
- since _generateImages can be called multiple times now.
- * UserInterface/Main.html: Included ToggleButtonNavigationItem.js.
- * UserInterface/ToggleButtonNavigationItem.js: Added.
- (WebInspector.ToggleButtonNavigationItem): Added.
- (WebInspector.ToggleButtonNavigationItem.prototype.get defaultImage): Added.
- (WebInspector.ToggleButtonNavigationItem.prototype.get alternateImage): Added.
- (WebInspector.ToggleButtonNavigationItem.prototype.get toggled): Added.
- (WebInspector.ToggleButtonNavigationItem.prototype.set toggled): Added. Set _toggled and set the correct image.
- 2011-12-31 Timothy Hatcher <timothy@apple.com>
- Actually set the ButtonNavigationItem tool tip so it shows up as expected.
- Reviewed by Dan Bernstein.
- * UserInterface/ButtonNavigationItem.js:
- (WebInspector.ButtonNavigationItem): Use the toolTip setter instead of _toolTip.
- (WebInspector.ButtonNavigationItem.prototype.get toolTip): Return the title instead of _toolTip.
- (WebInspector.ButtonNavigationItem.prototype.set toolTip): Added. Set the element title.
- 2011-12-31 Timothy Hatcher <timothy@apple.com>
- Rename ButtonNavigationItem.displayName to toolTip.
- It was always intended to be used as the tool tip, so this makes it clear.
- Reviewed by Dan Bernstein.
- * UserInterface/ButtonNavigationItem.js:
- (WebInspector.ButtonNavigationItem):
- (WebInspector.ButtonNavigationItem.prototype.constructor.WebInspector.ButtonNavigationItem.get toolTip):
- * UserInterface/RadioButtonNavigationItem.js:
- (WebInspector.RadioButtonNavigationItem):
- 2011-12-29 Timothy Hatcher <timothy@apple.com>
- Fix an issue in the Web Inspector where the old page content might appear when
- pressing the back button.
- Reviewed by Dan Bernstein.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange): Delay this work because
- other listeners of this event might not have fired yet. So selecting the main frame before those listeners
- do their work might cause the content of the old page to show instead of the new page.
- 2011-12-29 Timothy Hatcher <timothy@apple.com>
- Add back/forward buttons to the Quick Navigation bar and hook them up.
- Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser): Create the back and forward button navigation items.
- (WebInspector.ContentBrowser.prototype._backButtonClicked): Added.
- (WebInspector.ContentBrowser.prototype._forwardButtonClicked): Added.
- (WebInspector.ContentBrowser.prototype._currentContentViewDidChange): Update the enabled state
- of the back/forward navigation items.
- * UserInterface/Images/BackArrow.pdf: Added.
- * UserInterface/Images/ForwardArrow.pdf: Added.
- 2011-12-29 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.DividerNavigationItem for dividing items in the Quick Navigation bar.
- Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/DividerNavigationItem.css: Added.
- (.navigation-bar > .item.divider):
- * UserInterface/DividerNavigationItem.js: Added.
- (WebInspector.DividerNavigationItem):
- * UserInterface/Main.html: Included DividerNavigationItem.js and DividerNavigationItem.css.
- 2011-12-29 Timothy Hatcher <timothy@apple.com>
- Add disabled support to WebInspector.ButtonNavigationItem.
- This is needed for the back/forward buttons.
- Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/ButtonNavigationItem.css:
- (.navigation-bar > .item.button.disabled > .glyph): Added.
- (.navigation-bar > .item.button:not(.disabled):not(.radio):active): Don't highlight on click when disabled.
- * UserInterface/ButtonNavigationItem.js:
- (WebInspector.ButtonNavigationItem.prototype.get enabled): Added.
- (WebInspector.ButtonNavigationItem.prototype.set enabled): Added.
- (WebInspector.ButtonNavigationItem.prototype.generateStyleText): Added :not(.disabled) to the focus and active rules.
- (WebInspector.ButtonNavigationItem.StyleClassName._mouseClicked): Don't fire the event when disabled.
- * UserInterface/RadioButtonNavigationItem.js:
- (WebInspector.RadioButtonNavigationItem.prototype.generateStyleText): Added :not(.disabled) to the focus and active rules.
- 2011-12-29 Timothy Hatcher <timothy@apple.com>
- Add support for click events to WebInspector.ButtonNavigationItem.
- Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/ButtonNavigationItem.js:
- (WebInspector.ButtonNavigationItem): Added click event listener to the element.
- (WebInspector.ButtonNavigationItem.StyleClassName._mouseClicked): Added. Dispatch the Clicked event.
- 2011-12-29 Timothy Hatcher <timothy@apple.com>
- Support different size glyph images on WebInspector.ButtonNavigationItem. Also adds a highlight to
- buttons when pressed and general style clean up.
- Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/ButtonNavigationItem.css:
- (.navigation-bar > .item.button): Default buttons to a width of 26px. Removed background styles.
- (.navigation-bar > .item.button > .glyph): Set width and height to 100% and have the background
- centered and non-repeating.
- (.navigation-bar > .item.button:not(.radio):active): Added. Highlight when pressed.
- * UserInterface/ButtonNavigationItem.js:
- (WebInspector.ButtonNavigationItem): Added image width and height arguments.
- (WebInspector.ButtonNavigationItem.prototype.generateStyleText): Added background-size to the generated rules.
- * UserInterface/RadioButtonNavigationItem.css:
- (.navigation-bar > .item.radio.button): Added. Moved from ButtonNavigationItem.css.
- (.navigation-bar.collapsed > .item.radio.button): Added. Moved from ButtonNavigationItem.css.
- (.navigation-bar > .item.radio.button.selected): Moved background-repeat from ButtonNavigationItem.css to here.
- (.navigation-bar.collapsed > .item.radio.button.selected): Added. Adjust the background-size to fit the width.
- * UserInterface/RadioButtonNavigationItem.js:
- (WebInspector.RadioButtonNavigationItem): Added image width and height arguments.
- (WebInspector.RadioButtonNavigationItem.prototype.generateStyleText): Added background-size to the generated rules.
- 2011-12-28 Timothy Hatcher <timothy@apple.com>
- Populate the Quick Navigation bar with the path of the selected item.
- Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/ContentBrowser.js:
- (WebInspector.ContentBrowser): Added delegate argument. Create a HierarchicalPathNavigationItem and add
- to the navigation bar.
- (WebInspector.ContentBrowser.prototype.get delegate): Added.
- (WebInspector.ContentBrowser.prototype.set delegate): Added.
- (WebInspector.ContentBrowser.prototype._updateHierarchicalPathNavigationItem): Added. Build path components
- based on the tree element for the represented object.
- (WebInspector.ContentBrowser.prototype._currentContentViewDidChange): Added. Call _updateHierarchicalPathNavigationItem.
- * UserInterface/ContentViewContainer.js:
- (WebInspector.ContentViewContainer.prototype._showContentView): Dispatch the CurrentContentViewDidChange event.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Pass this as the delegate to the ContentBrowser.
- (WebInspector.contentBrowserTreeElementForRepresentedObject): Added. Call treeElementForRepresentedObject on
- the ResourceSidebarPanel for Resource represented objects.
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel.prototype.treeElementForRepresentedObject): Added. Generic implementation
- that will work for most NavigationSidebarPanel subclasses.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject): Added. If the resource is a
- main resource, return the tree element for the parent frame.
- 2011-12-28 Timothy Hatcher <timothy@apple.com>
- Add HierarchicalPathNavigationItem and friends for the Quick Navigation Bar.
- Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/HierarchicalPathComponent.css: Added.
- (.hierarchical-path-component):
- (.hierarchical-path-component > .icon):
- (.hierarchical-path-component > .title):
- (.hierarchical-path-component:last-of-type > .separator):
- (.hierarchical-path-component > .separator):
- (.hierarchical-path-component.collapsed > .title):
- * UserInterface/HierarchicalPathComponent.js: Added.
- (WebInspector.HierarchicalPathComponent):
- (WebInspector.HierarchicalPathComponent.prototype.get element):
- (WebInspector.HierarchicalPathComponent.prototype.get representedObject):
- (WebInspector.HierarchicalPathComponent.prototype.get displayName):
- (WebInspector.HierarchicalPathComponent.prototype.set displayName):
- * UserInterface/HierarchicalPathNavigationItem.js: Added.
- (WebInspector.HierarchicalPathNavigationItem):
- (WebInspector.HierarchicalPathNavigationItem.prototype.get components):
- (WebInspector.HierarchicalPathNavigationItem.prototype.set components):
- * UserInterface/Images/HierarchicalNavigationItemChevron.pdf: Added.
- * UserInterface/Main.html: Included HierarchicalPathComponent.css, HierarchicalPathNavigationItem.js
- and HierarchicalPathComponent.js.
- 2011-12-26 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.ContentBrowser to coordinate between the Quick Navigation bar and content view container.
- Part of: <rdar://problem/10318787> Implement the Quick Navigation bar for the new Web Inspector design
- Reviewed by Joseph Pecoraro and Brian Weinstein.
- * UserInterface/ContentBrowser.css: Added.
- (.content-browser):
- (.content-browser > .navigation-bar):
- (.content-browser > .content-view-container):
- * UserInterface/ContentBrowser.js: Added.
- (WebInspector.ContentBrowser):
- (WebInspector.ContentBrowser.prototype.get navigationBar):
- (WebInspector.ContentBrowser.prototype.get contentViewContainer):
- (WebInspector.ContentBrowser.prototype.showContentForRepresentedObject):
- * UserInterface/ContentViewContainer.js:
- (WebInspector.ContentViewContainer.prototype.get element): Add missing return.
- * UserInterface/Main.css:
- (#content-browser):
- * UserInterface/Main.html: Renamed #content to #content-browser.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Create a ContentBrowser instead of a NavigationBar and ContentViewContainer.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange): Use the ContentBrowser.
- (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected): Ditto.
- 2011-12-28 Timothy Hatcher <timothy@apple.com>
- Hold references to the navigation sidebar panels for easy access.
- Reviewed by Adam Roben.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Hold references to the sidebar panels.
- 2011-12-28 Timothy Hatcher <timothy@apple.com>
- Remove unused TreeElement class names.
- These class names were originally used for icons, but they have been
- replaced by icon specific class names.
- Reviewed by Brian Weinstein.
- * UserInterface/CookieStorageTreeElement.js:
- (WebInspector.CookieStorageTreeElement):
- * UserInterface/DOMStorageTreeElement.js:
- (WebInspector.DOMStorageTreeElement):
- * UserInterface/DatabaseHostTreeElement.js:
- (WebInspector.DatabaseHostTreeElement):
- * UserInterface/DatabaseTableTreeElement.js:
- (WebInspector.DatabaseTableTreeElement):
- * UserInterface/DatabaseTreeElement.js:
- (WebInspector.DatabaseTreeElement):
- * UserInterface/FolderTreeElement.js:
- (WebInspector.FolderTreeElement):
- * UserInterface/FrameTreeElement.js:
- (WebInspector.FrameTreeElement):
- * UserInterface/ResourceTreeElement.js:
- (WebInspector.ResourceTreeElement):
- * UserInterface/StorageTreeElement.js:
- (WebInspector.StorageTreeElement):
- 2011-12-24 Timothy Hatcher <timothy@apple.com>
- Add icons for local and session storage.
- Reviewed by Brian Weinstein.
- * UserInterface/DOMStorageIcons.css: Added.
- (.local-storage-icon .icon):
- (.session-storage-icon .icon):
- * UserInterface/DOMStorageTreeElement.js:
- (WebInspector.DOMStorageTreeElement): Add class names based on if it is local storage or not.
- (WebInspector.DOMStorageTreeElement.prototype.get categoryName): Remove blank line.
- * UserInterface/Images/LocalStorage.png: Added.
- * UserInterface/Images/LocalStorage@2x.png: Added.
- * UserInterface/Images/SessionStorage.png: Added.
- * UserInterface/Images/SessionStorage@2x.png: Added.
- * UserInterface/Main.html: Included DOMStorageIcons.css.
- 2011-12-24 Timothy Hatcher <timothy@apple.com>
- Add icons for databases and database tables.
- Reviewed by Brian Weinstein.
- * UserInterface/DatabaseHostTreeElement.css: Removed. Duplicates FolderIcon.css.
- * UserInterface/DatabaseHostTreeElement.js:
- (WebInspector.DatabaseHostTreeElement): Pass FolderIconStyleClassName.
- * UserInterface/DatabaseIcon.css: Added.
- (.database-icon .icon):
- * UserInterface/DatabaseTableIcon.css: Added.
- (.database-table-icon .icon):
- * UserInterface/DatabaseTableTreeElement.js:
- (WebInspector.DatabaseTableTreeElement): Pass class names to WebInspector.GeneralTreeElement.
- * UserInterface/DatabaseTreeElement.js:
- (WebInspector.DatabaseTreeElement): Don't inherit from FolderTreeElement. Pass class names
- to WebInspector.GeneralTreeElement.
- * UserInterface/Images/Database.png: Added.
- * UserInterface/Images/Database@2x.png: Added.
- * UserInterface/Images/DatabaseTable.png: Added.
- * UserInterface/Images/DatabaseTable@2x.png: Added.
- * UserInterface/Main.html: Included new files and removed DatabaseHostTreeElement.css.
- * UserInterface/StorageTreeElement.js:
- (WebInspector.StorageTreeElement): Remove a FIXME.
- 2011-12-24 Timothy Hatcher <timothy@apple.com>
- Add images for the Cookie icon.
- Reviewed by Dan Bernstein.
- * UserInterface/CookieIcon.css: Added.
- (.cookie-icon .icon):
- * UserInterface/CookieStorageTreeElement.js:
- (WebInspector.CookieStorageTreeElement):
- * UserInterface/Images/Cookie.png: Added.
- * UserInterface/Images/Cookie@2x.png: Added.
- * UserInterface/Main.html: Included CookieIcon.css.
- 2011-12-22 Timothy Hatcher <timothy@apple.com>
- Fix a couple of indentation problems in the Web Inspector.
- Reviewed by John Sullivan.
- * UserInterface/CookieStorageObject.js: Indent before constructor.
- * UserInterface/DatabaseHostTreeElement.js: Ditto.
- 2011-12-22 Timothy Hatcher <timothy@apple.com>
- Break out WebInspector.NavigationItem and its subclasses from NavigationBar.js and NavigationBar.css into separate files.
- Rubber-stamped by John Sullivan.
- * UserInterface/ButtonNavigationItem.css: Added.
- * UserInterface/ButtonNavigationItem.js: Added.
- * UserInterface/FlexibleSpaceNavigationItem.css: Added.
- * UserInterface/FlexibleSpaceNavigationItem.js: Added.
- * UserInterface/Main.html: Included new files.
- * UserInterface/NavigationBar.css: Moved "item" subclasses to seperate files.
- * UserInterface/NavigationBar.js: Moved NavigationItem and its subclasses to seperate files.
- * UserInterface/NavigationItem.js: Added.
- * UserInterface/RadioButtonNavigationItem.css: Added.
- * UserInterface/RadioButtonNavigationItem.js: Added.
- 2011-12-22 Timothy Hatcher <timothy@apple.com>
- Dynamically register the "mousemove" and "mouseup" event listeners in WebInspector.NavigationBar
- so they are not allways listening.
- Reviewed by Darin Adler.
- * UserInterface/NavigationBar.js:
- (WebInspector.NavigationBar): Remove the static "mousemove" and "mouseup" event listeners.
- (WebInspector.NavigationBar.prototype._mouseDown): Install the "mousemove" and "mouseup" event listeners
- when a WebInspector.RadioButtonNavigationItem is hit.
- (WebInspector.NavigationBar.prototype._mouseMoved): Assert the mouse is down now that we register dynamically.
- (WebInspector.NavigationBar.prototype._mouseUp): Ditto. Remove the "mousemove" and "mouseup" event listeners.
- 2011-12-22 Timothy Hatcher <timothy@apple.com>
- Change WebInspector.NavigationBar.NavigationItemSelectedEventName to WebInspector.NavigationBar.Event.NavigationItemSelected.
- This beings WebInspector.NavigationBar in-line with all the other classes in how the event names are defined.
- Reviewed by Darin Adler.
- * UserInterface/NavigationBar.js:
- (WebInspector.NavigationBar.prototype.set selectedNavigationItem): Use WebInspector.NavigationBar.Event.NavigationItemSelected.
- (WebInspector.NavigationBar.prototype._mouseUp): Ditto.
- * UserInterface/Sidebar.js:
- (WebInspector.Sidebar): Use WebInspector.NavigationBar.Event.NavigationItemSelected.
- 2011-12-22 Timothy Hatcher <timothy@apple.com>
- Properly define the SidebarPanelSelected event in WebInspector.Sidebar.
- Reviewed by John Sullivan.
- * UserInterface/Sidebar.js:
- (WebInspector.Sidebar.Event): Added.
- (WebInspector.Sidebar.Event.SidebarPanelSelected): Added.
- (WebInspector.Sidebar.prototype.set selectedSidebarPanel): Use WebInspector.Sidebar.Event.SidebarPanelSelected
- instead of the never defined WebInspector.Sidebar.SidebarPanelSelectedEventName.
- 2011-12-22 Timothy Hatcher <timothy@apple.com>
- Break out the SidebarPanel class into a separate file and make it correctly inherit from WebInspector.Object.
- Reviewed by John Sullivan.
- * UserInterface/Main.html: Included SidebarPanel.js.
- * UserInterface/Sidebar.js: Moved WebInspector.SidebarPanel and WebInspector.SidebarPanel.prototype from here...
- * UserInterface/SidebarPanel.js: Added. ...to here. Also fixed the prototype chain to make SidebarPanel inherit
- from WebInspector.Object like it should have been.
- 2011-12-22 Timothy Hatcher <timothy@apple.com>
- Fix an incorrect use of typeof in the Web Inspector by using instanceof instead.
- Reviewed by Adam Roben.
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.matchTextFilter): Use instanceof
- instead of typeof to check if the input is an array.
- 2011-12-22 Timothy Hatcher <timothy@apple.com>
- Make the CSS used for folder and resource icons generic so it can be used by the quick navigation bar.
- Reviewed by Darin Adler.
- * UserInterface/FolderIcon.css: Renamed from Safari/Develop/WebInspector/FolderTreeElement.css.
- Replaced "folder-tree-element" with "folder-icon".
- * UserInterface/FolderTreeElement.js:
- (WebInspector.FolderTreeElement): Add the "folder-icon" class.
- * UserInterface/Main.html:
- * UserInterface/ResourceIcons.css: Renamed from Safari/Develop/WebInspector/ResourceTreeElement.css.
- Replaced "resource-tree-element" with "resource-icon".
- * UserInterface/ResourceTreeElement.js:
- (WebInspector.ResourceTreeElement): Add the "resource-icon" class.
- 2011-12-22 Timothy Hatcher <timothy@apple.com>
- Make identifier optional in the base class of WebInspector.NavigationItem but required for WebInspector.ButtonNavigationItem.
- Reviewed by Darin Adler.
- * UserInterface/NavigationBar.js:
- (WebInspector.NavigationItem): Remove assert for identifier and added "|| null" to the assignment.
- (WebInspector.NavigationItem.prototype.get _classNames): Null check identifier and add it separately.
- (WebInspector.ButtonNavigationItem): Added assert for identifier.
- (WebInspector.ButtonNavigationItem.prototype.generateStyleText): Don't pass the identifier to _canvasIdentifier.
- (WebInspector.ButtonNavigationItem.StyleClassName._canvasIdentifier): Don't take the identifier as an argument, use this.identifier.
- (WebInspector.ButtonNavigationItem.prototype._generateImages._createEmbossedCanvasImage): Don't pass the identifier to _canvasIdentifier.
- (WebInspector.RadioButtonNavigationItem.prototype.generateStyleText): Ditto.
- 2011-12-20 Timothy Hatcher <timothy@apple.com>
- Show a content view for XHR resources in the new Web Inspector.
- Reviewed by Adam Roben.
- * UserInterface/ResourceContentView.js:
- (WebInspector.ResourceContentView): Add a case for WebInspector.Resource.Type.XHR.
- 2011-12-19 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318744> Implement the Storage sidebar for the new Web Inspector design.
- When inserting items into the Storage sidebar, insert them in alphabetical order by main title so
- it is easier for the user to navigate.
- Reviewed by Tim Hatcher.
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel.prototype._compareTreeElementsByMainTitle):
- (WebInspector.StorageSidebarPanel.prototype._addChild):
- 2011-12-18 Timothy Hatcher <timothy@apple.com>
- Only fire the WebInspector.SyntaxHighlighter.Event.HighlightsDidChange event for whole lines.
- Firing the event for partial lines causes too much DOM churn on large, single-line files.
- Reviewed by Joseph Pecoraro.
- * UserInterface/SyntaxHighlighter.js:
- (WebInspector.SyntaxHighlighter.prototype._highlightNextChunk): Update actualStopLine after the
- current line has completely finished. Don't fire the event if actualStopLine is still null.
- 2011-12-18 Timothy Hatcher <timothy@apple.com>
- Start and stop syntax highlighting when a TextEditor is shown and hidden. This reduces the chance
- of multiple TextEditors highlighting at the same time.
- Reviewed by Joseph Pecoraro.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.shown): Added. Call startHighlighting and updateLayout.
- (WebInspector.TextEditor.prototype.hidden): Added. Call stopHighlighting.
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView.prototype.shown): Call TextEditor.shown instead of updateLayout.
- (WebInspector.TextResourceContentView.prototype.hidden): Added. Call TextEditor.hidden.
- 2011-12-18 Timothy Hatcher <timothy@apple.com>
- Use a synthetic MIME-type to select the syntax highlighter's tokenizer. Resources are often
- transferred with a MIME-type that doesn't match the purpose the resource was loaded for.
- Reviewed by Joseph Pecoraro.
- * UserInterface/Resource.js:
- (WebInspector.Resource.prototype.get syntheticMIMEType): Added.
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView.prototype.contentAvailable): Use syntheticMIMEType.
- 2011-12-18 Timothy Hatcher <timothy@apple.com>
- Intercept link clicks in the Web Inspector and try to show the appropriate resource,
- otherwise fallback to opening the URL in a new tab/window.
- Reviewed by Joseph Pecoraro.
- * UserInterface/Frame.js:
- (WebInspector.Frame.prototype.resourceForURL): Added argument to recursively search child frames.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Add click event listener.
- (WebInspector.openURL): Added.
- (WebInspector._mouseWasClicked): Added. Catch unhandled link clicks, cancel them and log and error.
- * UserInterface/ResourceContentView.js:
- (WebInspector.ResourceContentView): Added click event listener.
- (WebInspector.ResourceContentView.prototype._mouseWasClicked): Added. Call WebInspector.openURL.
- * UserInterface/Utilities.js:
- (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): Copied from WebCore/inspector/front-end/utilities.js.
- (Node.prototype.enclosingNodeOrSelfWithNodeName): Copied from WebCore/inspector/front-end/utilities.js.
- 2011-12-18 Timothy Hatcher <timothy@apple.com>
- Make links in TextEditor be only absolute URLs. Otherwise relative URLs are resolved
- against the Web Inspector as a base URL.
- Reviewed by Joseph Pecoraro.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor): Set _delegate to null.
- (WebInspector.TextEditor.prototype.get delegate): Added.
- (WebInspector.TextEditor.prototype.set delegate): Added.
- (WebInspector.TextEditor.prototype._reset): Pass this when making a TextEditorTextChunk.
- (WebInspector.TextEditor.prototype._breakTextChunkAtIndexIntoSingleLineTextChunks): Ditto.
- (WebInspector.TextEditor.prototype._consolidateSingleLineTextChunks): Ditto.
- (WebInspector.TextEditorTextChunk): Added textEditor argument.
- (WebInspector.TextEditorTextChunk.prototype.updateContent.createTokenElement): Ask the TextEditor
- delegate for the baseURL and use absoluteURL when assigning the href for links.
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView): Set the TextEditor delegate to this.
- (WebInspector.TextResourceContentView.prototype.textEditorBaseURL): Added. Returns the resource's URL.
- * UserInterface/Utilities.js:
- (parseURL): Trim whitespace from the URL.
- (absoluteURL): Added.
- 2011-12-18 Timothy Hatcher <timothy@apple.com>
- Workaround a weird and random JavaScript bug that causes the wrong 'this' object when filtering
- the resource sidebar quickly.
- The bug is tracked by: https://webkit.org/b/74811
- Reviewed by Dan Bernstein.
- * UserInterface/TreeOutline.js:
- (TreeElement.prototype.traverseNextTreeElement): Use call to always get the right 'this' object.
- 2011-12-18 Timothy Hatcher <timothy@apple.com>
- Reduce the number of updates when setting the string of a WebInspector.TextEditor.
- Invalidating the syntax highlighter causes HighlightsDidChange events to fire and update the text
- chunks. We can ignore those events because _reset will completely rebuild the text chunks anyway.
- Reviewed by Dan Bernstein.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype.set textContent): Set _ignoreHighlightChanges to true.
- (WebInspector.TextEditor.prototype.set string): Ditto.
- (WebInspector.TextEditor.prototype._reset): Reset _ignoreHighlightChanges back to false.
- (WebInspector.TextEditor.prototype._highlightsChanged): Return early if _ignoreHighlightChanges is true.
- 2011-12-18 Timothy Hatcher <timothy@apple.com>
- Improve a workaround and get the clientHeight of the correct element in WebInspector.TextEditor.
- The bug this is working around is tracked by: https://webkit.org/b/74812
- Reviewed by Dan Bernstein.
- * UserInterface/TextEditor.css:
- (.text-editor > .content-container): Set height to 100%. It isn't clear why we should need to set
- the height here, but without this the element collapses sometimes when it should have a height.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor.prototype._consolidateSingleLineTextChunks): Get clientHeight from _contentContainerElement.
- (WebInspector.TextEditor.prototype._firstVisibleTextChunkIndex): Ditto.
- 2011-12-17 Timothy Hatcher <timothy@apple.com>
- Don't show visited links in the Web Inspector.
- Removed the :link pseudo class so visited links are styled the same.
- Reviewed by Dan Bernstein.
- * UserInterface/TextEditorDefaultTheme.css:
- (.text-editor a):
- (.text-editor a:hover):
- 2011-12-17 Timothy Hatcher <timothy@apple.com>
- Allow clicking the selected resource again to show the content view if another content view
- has been shown since the resource was last selected. This matches Xcode.
- Reviewed by Dan Bernstein.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel):
- * UserInterface/TreeOutline.js:
- (TreeOutline): Set allowsRepeatSelection to false.
- (TreeElement.prototype.select): Refactored so that when allowsRepeatSelection is true the
- onselect functions are called still.
- 2011-12-17 Timothy Hatcher <timothy@apple.com>
- Don't attempt to create a tokenizer for "text/plain" resources.
- Reviewed by Dan Bernstein.
- * UserInterface/SourceTokenizer.js:
- (WebInspector.SourceTokenizer): Return null for a MIME-type of "text/plain".
- 2011-12-17 Timothy Hatcher <timothy@apple.com>
- Collapse the details sidebar by default. It is empty right now, so there is no reason
- to show it until we have some sidebar panels to show.
- Reviewed by Dan Bernstein.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Set this.detailsSidebar.collapsed to true.
- 2011-12-16 Timothy Hatcher <timothy@apple.com>
- Set the Web Inspector window title and update it when the main frame navigates.
- Reviewed by Dan Bernstein.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Added event listeners for changes on the main frame.
- (WebInspector.updateWindowTitle): Added. Build a title based on the URL components.
- (WebInspector._mainFrameDidChange): Added. Call updateWindowTitle.
- (WebInspector._mainResourceDidChange): Added. Call updateWindowTitle if this is the main frame.
- 2011-12-16 Timothy Hatcher <timothy@apple.com>
- Force tabs to be 4 spaces wide in the new Web Inspector instead of the default 8 spaces wide.
- This is done via the syntax highlighter, which tokenizes the tabs to be styled as inline-blocks
- with a width equal to 4 spaces each.
- Reviewed by John Sullivan.
- * UserInterface/SyntaxHighlighter.js:
- (WebInspector.SyntaxHighlighter.CharacterTokens): Added \t.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditorTextChunk.prototype.updateContent.createTokenElement): Handle the "tab"
- token type by creating a span per tab.
- * UserInterface/TextEditorDefaultTheme.css:
- (.text-editor .tab): Added. Inline-block with a width equal to 4 spaces.
- 2011-12-16 Timothy Hatcher <timothy@apple.com>
- Implement WebInspector.TextResourceContentView.
- Create a TextEditor that fills the view and displays the text content of the resource.
- Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design
- Reviewed by John Sullivan.
- * UserInterface/Main.html: Include TextResourceContentView.css.
- * UserInterface/TextResourceContentView.css: Added.
- (.content-view.resource.text > .text-editor):
- * UserInterface/TextResourceContentView.js:
- (WebInspector.TextResourceContentView): Create a TextEditor.
- (WebInspector.TextResourceContentView.prototype.get textEditor): Added.
- (WebInspector.TextResourceContentView.prototype.contentAvailable): Added. Populate the TextEditor
- with content and set the MIME-type.
- 2011-12-16 Timothy Hatcher <timothy@apple.com>
- Add the line number gutter to WebInspector.TextEditor.
- Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/TextEditor.css:
- (.text-editor > .gutter): Added.
- (.text-editor > .gutter > .line-number): Added.
- (.text-editor > .gutter > .line-number.maximum): Added.
- (.text-editor > .gutter > .line-number.hidden): Added.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor): Create the _gutterElement.
- (WebInspector.TextEditor.prototype._reset): Call _updateLineNumbers.
- (WebInspector.TextEditor.prototype._scrollPositionChanged): Ditto.
- (WebInspector.TextEditor.prototype._updateLineNumbers): Added.
- 2011-12-16 Timothy Hatcher <timothy@apple.com>
- Syntax highlight the content of WebInspector.TextEditor.
- Only single line text chunks are rendered with syntax highlighting, which are the the text chunks
- that are near the visible scroll range of the text editor.
- Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/SyntaxHighlighter.js:
- (WebInspector.SyntaxHighlighter.prototype.invalidate): Dispatch the HighlightsDidChange event.
- (WebInspector.SyntaxHighlighter.prototype._highlightNextChunk): Ditto.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor): Create a WebInspector.SyntaxHighlighter and listen for the HighlightsDidChange event.
- (WebInspector.TextEditor.prototype.set textContent): Set the SyntaxHighlighter textContent.
- (WebInspector.TextEditor.prototype.set string): Invalidate the SyntaxHighlighter.
- (WebInspector.TextEditor.prototype.get mimeType): Added.
- (WebInspector.TextEditor.prototype.set mimeType): Added.
- (WebInspector.TextEditor.prototype._reset): Stop highlighting and start again.
- (WebInspector.TextEditor.prototype._scrollPositionChanged): Do a sync highlight.
- (WebInspector.TextEditor.prototype._scrollingDidStop): Start highlighting.
- (WebInspector.TextEditor.prototype._highlightsChanged): Update single line text chunks.
- (WebInspector.TextEditor.prototype._textChunkIndexForLine): Added.
- (WebInspector.TextEditor.prototype._textChunkForLine): Added.
- (WebInspector.TextEditorTextChunk.prototype.updateContent.createTokenElement): Added.
- (WebInspector.TextEditorTextChunk.prototype.updateContent.appendText): Added.
- (WebInspector.TextEditorTextChunk.prototype.updateContent): Enumerate the syntax highlighting tokens when there is only one line.
- * UserInterface/TextEditorDefaultTheme.css: Added.
- (.text-editor > .content-container):
- (.text-editor .css-comment):
- (.text-editor .css-keyword):
- (.text-editor .css-number):
- (.text-editor .css-at-rule):
- (.text-editor .css-selector):
- (.text-editor .css-important):
- (.text-editor .javascript-comment):
- (.text-editor .javascript-keyword):
- (.text-editor .javascript-number):
- (.text-editor .javascript-regexp):
- (.text-editor .javascript-ident):
- (.text-editor .html-comment):
- (.text-editor .html-tag):
- (.text-editor .html-doctype):
- (.text-editor .html-attribute-name):
- (.text-editor .html-attribute-value):
- (.text-editor a:link):
- (.text-editor a:link:hover):
- 2011-12-16 Timothy Hatcher <timothy@apple.com>
- Break up text chunks into single lines when they are visible, and consolidate them again
- when they are not visible after scrolling.
- Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/TextEditor.js:
- (WebInspector.TextEditor): Add scroll event listener.
- (WebInspector.TextEditor.prototype._reset): Call _breakVisibleTextChunksIntoSingleLineTextChunks.
- (WebInspector.TextEditor.prototype._scrollPositionChanged): Added. Schedule timeout for _scrollingDidStop.
- Call _breakVisibleTextChunksIntoSingleLineTextChunks.
- (WebInspector.TextEditor.prototype._scrollingDidStop): Added. Call _consolidateHiddenSingleLineTextChunksIfNeeded.
- (WebInspector.TextEditor.prototype._breakTextChunkAtIndexIntoSingleLineTextChunks): Added.
- (WebInspector.TextEditor.prototype._breakVisibleTextChunksIntoSingleLineTextChunks): Added.
- (WebInspector.TextEditor.prototype._consolidateHiddenSingleLineTextChunksIfNeeded): Added.
- (WebInspector.TextEditor.prototype._consolidateHiddenSingleLineTextChunks): Added.
- (WebInspector.TextEditor.prototype._consolidateSingleLineTextChunks): Added.
- (WebInspector.TextEditor.prototype._firstVisibleTextChunkIndex.compareTopOffsets): Added.
- (WebInspector.TextEditor.prototype._firstVisibleTextChunkIndex): Added.
- (WebInspector.TextEditor.prototype._rangeOfVisibleTextChunks): Added.
- (WebInspector.TextEditor.prototype._lastLineNumberOfLastVisibleTextChunk): Added.
- 2011-12-16 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.TextEditor which is the view for WebInspector.TextContent.
- Right now it only shows plain-text. In the end it will support syntax highlighting and editing.
- Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/TextEditor.css: Added.
- (.text-editor):
- (.text-editor > .content-container):
- (.text-editor > .content-container > .content):
- * UserInterface/TextEditor.js: Added.
- (WebInspector.TextEditor):
- (WebInspector.TextEditor.prototype.get element):
- (WebInspector.TextEditor.prototype.get textContent):
- (WebInspector.TextEditor.prototype.set textContent):
- (WebInspector.TextEditor.prototype.get string):
- (WebInspector.TextEditor.prototype.set string):
- (WebInspector.TextEditor.prototype._reset):
- (WebInspector.TextEditorTextChunk):
- (WebInspector.TextEditorTextChunk.prototype.constructor.WebInspector.TextEditorChunk.get element):
- (WebInspector.TextEditorTextChunk.prototype.get firstLineNumber):
- (WebInspector.TextEditorTextChunk.prototype.get lastLineNumber):
- (WebInspector.TextEditorTextChunk.prototype.get numberOfLines):
- (WebInspector.TextEditorTextChunk.prototype.get offsetTop):
- (WebInspector.TextEditorTextChunk.prototype.updateContent):
- 2011-12-16 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.SyntaxHighlighter which uses SourceTokenizer, TextContent and AttributedString.
- Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/SyntaxHighlighter.js: Added.
- (WebInspector.SyntaxHighlighter):
- (WebInspector.SyntaxHighlighter.prototype.get textContent):
- (WebInspector.SyntaxHighlighter.prototype.set textContent):
- (WebInspector.SyntaxHighlighter.prototype.get mimeType):
- (WebInspector.SyntaxHighlighter.prototype.set mimeType):
- (WebInspector.SyntaxHighlighter.prototype.invalidate):
- (WebInspector.SyntaxHighlighter.prototype.isHighlighting):
- (WebInspector.SyntaxHighlighter.prototype.synchronousHighlight):
- (WebInspector.SyntaxHighlighter.prototype.startHighlighting):
- (WebInspector.SyntaxHighlighter.prototype.stopHighlighting):
- (WebInspector.SyntaxHighlighter.prototype._highlightNextChunk):
- (WebInspector.SyntaxHighlighter.prototype._highlightNextChunk.copyState):
- 2011-12-16 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.TextContent which will be used for multi-line text, like resources.
- Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/TextContent.js: Added.
- (WebInspector.TextContent):
- (WebInspector.TextContent.prototype.toString):
- (WebInspector.TextContent.prototype.get string):
- (WebInspector.TextContent.prototype.set string.createAttributedString):
- (WebInspector.TextContent.prototype.set string):
- (WebInspector.TextContent.prototype.get length):
- (WebInspector.TextContent.prototype.get lineBreakString):
- (WebInspector.TextContent.prototype.set lineBreakString):
- (WebInspector.TextContent.prototype.get lines):
- (WebInspector.TextContent.prototype.get numberOfLines):
- (WebInspector.TextContent.prototype.line):
- (WebInspector.TextContent.prototype.attributesForLine):
- (WebInspector.TextContent.prototype.attributeForLine):
- (WebInspector.TextContent.prototype.setAttributeForLine):
- (WebInspector.TextContent.prototype.removeAttributeFromLine):
- (WebInspector.TextContent.prototype.removeAttributesFromLine):
- 2011-12-16 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.AttributedString which will be used for syntax highlighted text.
- Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/AttributedString.js: Added.
- (WebInspector.AttributedString):
- (WebInspector.AttributedString.prototype.toString):
- (WebInspector.AttributedString.prototype.get string):
- (WebInspector.AttributedString.prototype.enumerateAttributes):
- (WebInspector.AttributedString.prototype.enumerateAttribute):
- (WebInspector.AttributedString.prototype.attributesAtOffset):
- (WebInspector.AttributedString.prototype.attributeAtOffset):
- (WebInspector.AttributedString.prototype.setAttribute):
- (WebInspector.AttributedString.prototype.removeAttribute.processAttributes):
- (WebInspector.AttributedString.prototype.removeAttribute):
- (WebInspector.AttributedString.prototype.removeAttributes):
- * UserInterface/Utilities.js:
- (Object.shallowCopy): Added. Helper for making a new object with the same top-level properties.
- (Object.shallowEqual): Added. Helper for checking if two objects have the same top-level properties.
- 2011-12-16 Timothy Hatcher <timothy@apple.com>
- Add tokenizers and support files needed for syntax highlighting.
- Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design
- Rubber-stamped by Joseph Pecoraro.
- * UserInterface/CSSCompletions.js: Copied from WebCore/inspector/front-end/CSSCompletions.js.
- * UserInterface/CSSKeywordCompletions.js: Copied from WebCore/inspector/front-end/CSSCompletions.js.
- * UserInterface/CSSSourceTokenizer.js: Copied from WebCore/inspector/front-end/SourceCSSTokenizer.js.
- * UserInterface/HTMLSourceTokenizer.js: Copied from WebCore/inspector/front-end/SourceHTMLTokenizer.js.
- * UserInterface/JavaScriptSourceTokenizer.js: Copied from WebCore/inspector/front-end/SourceJavaScriptTokenizer.js.
- * UserInterface/Utilities.js:
- (Array.keySet): Added.
- 2011-12-16 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.SourceTokenizer abstract base class.
- This is the base class for HTMLSourceTokenizer, JavaScriptSourceTokenizer and CSSSourceTokenizer.
- Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design
- Reviewed by Jessie Berlin.
- * UserInterface/SourceTokenizer.js: Added.
- (WebInspector.SourceTokenizer):
- (WebInspector.SourceTokenizer.prototype.initialize):
- (WebInspector.SourceTokenizer.prototype.set line):
- (WebInspector.SourceTokenizer.prototype.get condition):
- (WebInspector.SourceTokenizer.prototype.set condition):
- (WebInspector.SourceTokenizer.prototype.createInitialCondition):
- (WebInspector.SourceTokenizer.prototype.nextToken):
- (WebInspector.SourceTokenizer.prototype._charAt):
- 2011-12-16 Timothy Hatcher <timothy@apple.com>
- Remove the cached ContentView from the represented object when the ContentView is closed.
- This allows the ContentView to be garbage collected if the represented object stays around.
- Reviewed by Brian Weinstein.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView): Set _representedObject.
- (WebInspector.ContentView.prototype.get representedObject): Added.
- * UserInterface/ContentViewContainer.js:
- (WebInspector.ContentViewContainer.prototype.contentViewForRepresentedObject):
- (WebInspector.ContentViewContainer.prototype.showContentView): Use _disassociateFromContentView
- (WebInspector.ContentViewContainer.prototype.replaceContentView): Ditto.
- (WebInspector.ContentViewContainer.prototype.closeAllContentViewsOfPrototype): Ditto.
- (WebInspector.ContentViewContainer.prototype.closeAllContentViews): Ditto.
- (WebInspector.ContentViewContainer.prototype._disassociateFromContentView): Added.
- * UserInterface/ResourceContentView.js:
- (WebInspector.ResourceContentView): Pass resource to ContentView as the representedObject.
- 2011-12-16 Timothy Hatcher <timothy@apple.com>
- Don't support creating a WebInspector.ResourceContentView from a WebInspector.Frame.
- Since the main frame stays the same between navigations and ContentViewContainer caches
- the ContentView on the Frame, the ContentView is not being recreated for the new page.
- Reviewed by Brian Weinstein.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView): Remove the check for WebInspector.Frame as a representedObject.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange): Select the
- main resource of the main frame.
- (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected): Pass the resource.
- 2011-12-16 Timothy Hatcher <timothy@apple.com>
- Mark the main resource of frames as finished when the resource tree is pulled the first time.
- Also delay marking resources as finished until they have a parent frame.
- This is needed to show content for a selected frame, otherwise the content view is blank.
- Reviewed by Brian Weinstein.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype._createFrame): Call markAsFinished on the mainResource.
- (WebInspector.FrameResourceManager.prototype._createResource): Move the call to markAsFinished from here...
- (WebInspector.FrameResourceManager.prototype._addFrameTreeFromFrameResourceTreePayload): ...to here.
- 2011-12-15 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318744> Implement the Storage sidebar for the new Web Inspector design.
- Add Database tables to the storage sidebar panel. When a database needs to be populated, we ask
- for the database's table names asynchronously. In the callback we create DatabaseTableObjects
- and DatabaseTableTreeElements for all of the table names that the database has, and add the
- the DatabaseTableTreeElements as children of the DatabaseTreeElement.
- Reviewed by Tim Hatcher.
- * UserInterface/DatabaseObject.js:
- (WebInspector.DatabaseObject.prototype.getTableNames): Calls into WebCore to get the database's table names,
- and sorts them.
- * UserInterface/DatabaseTableObject.js: Added.
- (WebInspector.DatabaseTableObject):
- (WebInspector.DatabaseTableObject.prototype.constructor.WebInspector.DatabaseTableObject.get name): Returns the name.
- (WebInspector.DatabaseTableObject.prototype.get database): Returns the databaseObject.
- * UserInterface/DatabaseTableTreeElement.js: Added.
- (WebInspector.DatabaseTableTreeElement):
- * UserInterface/DatabaseTreeElement.js:
- (WebInspector.DatabaseTreeElement.prototype.constructor.WebInspector.DatabaseTreeElement.oncollapse): Set a flag so that we
- repopulate the children when the tree element is re-expanded.
- (WebInspector.DatabaseTreeElement.prototype.onpopulate.tableNamesCallback): Create DatabaseTableObjects and DatabaseTableTreeElements
- for each of the table names.
- (WebInspector.DatabaseTreeElement.prototype.onpopulate): Ask the DatabaseObject for its list of table names.
- * UserInterface/Main.html: Add new files.
- 2011-12-14 Brian Weinstein <bweinstein@apple.com>
- Some cleanup after r39488.
- Don't use FolderTreeElement's style in DatabaseHostTreeElement (because DatabaseHostTreeElement isn't a FolderTreeElement).
- Instead, create a new css file and configure DatabaseHostTreeElement to show a folder.
- Reviewed by Tim Hatcher.
- * UserInterface/DatabaseHostTreeElement.css: Added.
- (.database-host-tree-element .icon):
- * UserInterface/DatabaseHostTreeElement.js:
- (WebInspector.DatabaseHostTreeElement):
- * UserInterface/Main.html:
- 2011-12-13 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318744> Implement the Storage sidebar for the new Web Inspector design.
- Add Databases to the storage sidebar panel. This patch adds two new classes of tree elements - a DatabaseHostTreeElement,
- which represents a host that has at least one database, and a DatabaseTreeElement, which eventually will have tables.
- We use the same collapsing logic for databases that we use for cookies and DOM Storage. With one domain,
- it will say:
- Database - Domain
- Name 1
- Name 2
- With multiple domains, it will say:
- Databases
- Domain 1
- Name 1
- Name 2
- Domain 2
- Name 3
- Name 4
- Reviewed by Tim Hatcher.
- * UserInterface/DatabaseObject.js: Added.
- (WebInspector.DatabaseObject):
- (WebInspector.DatabaseObject.prototype.constructor.WebInspector.DatabaseObject.get id): Returns the id.
- (WebInspector.DatabaseObject.prototype.get host): Returns the host.
- (WebInspector.DatabaseObject.prototype.get name): Returns the name.
- (WebInspector.DatabaseObject.prototype.get version): Returns the version.
- * UserInterface/DatabaseObserver.js:
- (WebInspector.DatabaseObserver.prototype.constructor.WebInspector.DatabaseObserver.addDatabase): Tell the StorageManager
- a database was added.
- * UserInterface/DatabaseTreeElement.js: Added.
- (WebInspector.DatabaseTreeElement):
- (WebInspector.DatabaseTreeElement.prototype.constructor.WebInspector.DatabaseTreeElement.get name): Initialize the FolderTreeElement.
- * UserInterface/DatabaseHostTreeElement.js: Added.
- * UserInterface/Main.html:
- * UserInterface/StorageManager.js:
- (WebInspector.StorageManager):
- (WebInspector.StorageManager.prototype.constructor.WebInspector.StorageManager.initialize): Initialize a list of databases.
- (WebInspector.StorageManager.prototype.databaseWasAdded): Create a DatabaseObject and tell the StorageSidebarPanel we added
- a database.
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel):
- (WebInspector.StorageSidebarPanel.prototype._databaseWasAdded): Create a DatabaseTreeElement and add it to the sidebar.
- (WebInspector.StorageSidebarPanel.prototype._storageCleared): Clear the root database tree element.
- 2011-12-09 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318744> Implement the Storage sidebar for the new Web Inspector design.
- Add Cookies to the Storage sidebar panel. Add a listener for when a cookie storage object is added,
- and add it to the sidebar.
- Reviewed by Tim Hatcher.
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel):
- (WebInspector.StorageSidebarPanel.prototype.constructor.WebInspector.StorageSidebarPanel._domStorageObjectWasAdded): Remove some dead code.
- (WebInspector.StorageSidebarPanel.prototype._cookieStorageObjectWasAdded): Add a child to the storage sidebar.
- (WebInspector.StorageSidebarPanel.prototype._addChild): Change the class that we are expecting to a StorageTreeElement, because it can be
- either a DOMStorageTreeElement or a CookieStorageTreeElement, but both are StorageTreeElements.
- (WebInspector.StorageSidebarPanel.prototype._storageCleared):
- 2011-12-09 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318744> Implement the Storage sidebar for the new Web Inspector design.
- Add CookieStorageTreeElement, and refactor DOMStorageTreeElement into StorageTreeElement so the code to handle
- flattening of the folders can be shared between CookieStorageTreeElement, DOMStorageTreeElement, and the others
- that we will add in the future.
- Reviewed by Tim Hatcher.
- * UserInterface/CookieStorageTreeElement.js: Added.
- (WebInspector.CookieStorageTreeElement): Call
- (WebInspector.CookieStorageTreeElement.prototype.constructor.WebInspector.CookieStorageTreeElement.name): Return the host of the CookieStorageObject.
- (WebInspector.CookieStorageTreeElement.prototype.category): Return "Cookies".
- * UserInterface/DOMStorageTreeElement.js:
- (WebInspector.DOMStorageTreeElement):
- (WebInspector.DOMStorageTreeElement.prototype.constructor.WebInspector.DOMStorageTreeElement.name): Return the host of the DOMStorageObject.
- (WebInspector.DOMStorageTreeElement.prototype.category): Return "Local Storage" or "Session Storage".
- * UserInterface/Main.html: Add new files.
- (WebInspector.StorageTreeElement):
- (WebInspector.StorageTreeElement.prototype.constructor.WebInspector.StorageTreeElement.get flattened): Moved from DOMStorageTreeElement
- and refactored to be more general.
- (WebInspector.StorageTreeElement.prototype.set flattened): Ditto.
- 2011-12-09 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318744> Implement the Storage sidebar for the new Web Inspector design.
- Listen for when the main resource of any frame navigates, and add a cookie storage object for every
- frame with a unique host. Any of these frames could have cookies, and we want to show them all.
- Reviewed by Tim Hatcher.
- * UserInterface/CookieStorageObject.js: Added.
- (WebInspector.CookieStorageObject):
- (WebInspector.CookieStorageObject.prototype.constructor.WebInspector.CookieStorageObject.get host):
- * UserInterface/Main.html: Add a new source file.
- * UserInterface/StorageManager.js:
- (WebInspector.StorageManager.prototype.constructor.WebInspector.StorageManager.initialize):
- (WebInspector.StorageManager.prototype._mainResourceDidChange): If any frame navigates, add create a cookie
- storage object for the frame's host.
- 2011-12-08 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318744> Implement the Storage sidebar for the new Web Inspector design.
- Generate the local storage and session storage folders on demand. We don't show them in the tree until
- a local storage or session storage object has been added, and if there is only one object, we flatten the
- folder so it says:
- Local Storage Ñ foo.com
- If there is more than one object, we create a folder, and the structure will be:
- Local Storage
- foo.com
- bar.com
- Reviewed by Tim Hatcher and Joseph Pecoraro.
- * UserInterface/DOMStorageTreeElement.js: Added.
- (WebInspector.DOMStorageTreeElement): Create a GeneralTreeElement and set a few properties.
- (WebInspector.DOMStorageTreeElement.prototype.constructor.WebInspector.DOMStorageTreeElement.set flattened):
- * UserInterface/Main.html: Include a new script.
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel): Initialize _localStorageTreeElement and _sessionStorageTreeElement to null.
- (WebInspector.StorageSidebarPanel.prototype.constructor.WebInspector.StorageSidebarPanel._domStorageObjectWasAdded): Call _addChild.
- (WebInspector.StorageSidebarPanel.prototype._addChild): This object is responsible for setting up the hierarchy described above.
- - If there is no current child, it tells the just added child that it is the only child, and will be displayed flattened.
- - If the current child is a DOMStorageTreeElement, we create a folder and add the previous only child and the just added child
- to the folder.
- - If the current child is a folder, we append the just added child to the folder.
- (WebInspector.StorageSidebarPanel.prototype._storageCleared):
- 2011-12-07 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318744> Implement the Storage sidebar for the new Web Inspector design.
- Clear the Local Storage and Session Storage folders when the main resource of the main frame changes. This means
- that we are navigating to a new site, and we want to clear all of the storage folders.
- Reviewed by Tim Hatcher and Joseph Pecoraro.
- * UserInterface/StorageManager.js:
- (WebInspector.StorageManager): Listen for MainResourceDidChange on all frames.
- (WebInspector.StorageManager.prototype._mainResourceDidChange): If the main resource changed for the main frame, fire an
- event saying storage was cleared.
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel):
- (WebInspector.StorageSidebarPanel.prototype.constructor.WebInspector.StorageSidebarPanel._domStorageObjectWasAdded):
- (WebInspector.StorageSidebarPanel.prototype._storageCleared): Remove the children from the local storage and session storage folders.
- 2011-12-07 Brian Weinstein <bweinstein@apple.com>
- More of <rdar://problem/10318744> Implement the Storage sidebar for the new Web Inspector design.
- Add folders for Local Storage and Session Storage, and add children when DOMStorageObserver.addDOMStorage is called.
- These items are never removed yet, we will need to listen for main frame navigation, and clear the folders, but
- that will be done in a follow-up patch.
- Reviewed by Tim Hatcher and Joseph Pecoraro.
- * UserInterface/DOMStorageObject.js: Added.
- (WebInspector.DOMStorageObject):
- (WebInspector.DOMStorageObject.prototype.get id): Returns the id.
- (WebInspector.DOMStorageObject.prototype.get domain): Returns the domain.
- (WebInspector.DOMStorageObject.prototype.get isLocalStorage): Returns whether or not the DOM storage is local storage
- (vs. session storage).
- * UserInterface/DOMStorageObserver.js:
- (WebInspector.DOMStorageObserver.prototype.constructor.WebInspector.DOMStorageObserver.addDOMStorage): Create a new DOMStorageObject
- and tell the StorageManager about it.
- * UserInterface/Main.html:
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Create the StorageManager.
- * UserInterface/StorageManager.js: Added.
- (WebInspector.StorageManager):
- (WebInspector.StorageManager.prototype.constructor.WebInspector.StorageManager.initialize):
- (WebInspector.StorageManager.prototype.addDOMStorage): Tell the StorageSidebarPanel we added a DOMStorageObject.
- * UserInterface/StorageSidebarPanel.js:
- (WebInspector.StorageSidebarPanel):
- (WebInspector.StorageSidebarPanel.prototype.constructor.WebInspector.StorageSidebarPanel._domStorageObjectWasAdded): Add a child to either
- local or session storage.
- 2011-12-05 Brian Weinstein <bweinstein@apple.com>
- Part of <rdar://problem/10318744> Implement the Storage sidebar for the new Web Inspector design.
- Add StorageSidebarPanel.js, and have it create a new NavigationSidebarPanel.
- Reviewed by Tim Hatcher and Joseph Pecoraro.
- * UserInterface/Main.html: Add the new js file.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Call WebInspector.StorageSidebarPanel.
- * UserInterface/StorageSidebarPanel.js: Added.
- (WebInspector.StorageSidebarPanel):
- 2011-12-06 Timothy Hatcher <timothy@apple.com>
- Call WebInspector.Object.addConstructorFunctions on all the Web Inspector constructors that file events.
- Reviewed by Joseph Pecoraro.
- * UserInterface/FilterBar.js:
- * UserInterface/Frame.js:
- * UserInterface/FrameResourceManager.js:
- * UserInterface/NavigationBar.js:
- * UserInterface/Resource.js:
- * UserInterface/Sidebar.js:
- 2011-12-05 Timothy Hatcher <timothy@apple.com>
- Add support for listening for events on constructors, which gets notified of events that fire
- on any of the instances of that constructor.
- This lets you do things like listen for navigation in any frame by doing:
- WebInspector.Frame.addEventListener(WebInspector.Frame.Event.MainResourceDidChange, ...)
- Reviewed by Joseph Pecoraro.
- * UserInterface/Object.js:
- (WebInspector.Object.addConstructorFunctions): Added. Copies the relevant functions
- the subclass constructor.
- (WebInspector.Object.addEventListener): Copied from WebInspector.Object.prototype.
- (WebInspector.Object.removeEventListener): Ditto.
- (WebInspector.Object.removeAllListeners): Ditto.
- (WebInspector.Object.hasEventListeners): Ditto.
- (WebInspector.Object.prototype.addEventListener): Set to WebInspector.Object version.
- (WebInspector.Object.prototype.removeEventListener): Ditto.
- (WebInspector.Object.prototype.removeAllListeners): Ditto.
- (WebInspector.Object.prototype.hasEventListeners): Ditto.
- (WebInspector.Object.prototype.dispatchEventToListeners): Dispatch to listeners of this specific object,
- and to listeners interested in all instances of this object's constructor.
- 2011-12-05 Timothy Hatcher <timothy@apple.com>
- Use Object.defineProperty for our extensions in WebInspector/Utilities.js so they don't show
- up when enumerating instances.
- This patch has whitespace changes stripped, but the indentation is correct.
- Reviewed by Ada Chan.
- * UserInterface/Utilities.js:
- 2011-12-05 Timothy Hatcher <timothy@apple.com>
- Provide a direct way to ask if a WebInspector.Frame is the main frame.
- This is only needed in one place right now, but in the future it will be needed in more places.
- And checking !frame.parentFrame is not an accurate check if the frame is a detached subframe.
- Reviewed by Ada Chan.
- * UserInterface/Frame.js:
- (WebInspector.Frame):
- (WebInspector.Frame.prototype.isMainFrame): Added.
- (WebInspector.Frame.prototype.markAsMainFrame): Added.
- (WebInspector.Frame.prototype.unmarkAsMainFrame): Added.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.initialize): Call the renamed _mainFrameDidChange.
- (WebInspector.FrameResourceManager.prototype.frameDidNavigate): Ditto.
- (WebInspector.FrameResourceManager.prototype.frameDidDetach): Ditto.
- (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame): Ditto.
- (WebInspector.FrameResourceManager.prototype._processMainFrameResourceTreePayload): Pass true for isMainFrame
- when calling _addFrameTreeFromFrameResourceTreePayload.
- (WebInspector.FrameResourceManager.prototype._addFrameTreeFromFrameResourceTreePayload): Call markAsMainFrame()
- if isMainFrame is true.
- (WebInspector.FrameResourceManager.prototype._mainFrameDidChange): Renamed from _dispatchMainFrameDidChangeEvent
- and now calls unmarkAsMainFrame and markAsMainFrame.
- * UserInterface/ResourceTreeElement.js:
- (WebInspector.ResourceTreeElement.prototype._updateTitles): Use isMainFrame().
- 2011-12-04 Timothy Hatcher <timothy@apple.com>
- Implement WebInspector.FontResourceContentView.
- The font preview includes horizontal lines showing the top, bottom, middle and baseline CSS alignments.
- Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/FontResourceContentView.css: Added.
- (.content-view.resource.font):
- (.content-view.resource.font .preview):
- (.content-view.resource.font .preview > .line):
- (.content-view.resource.font .preview > .line > .content):
- (.content-view.resource.font .preview > .line > .metric):
- (.content-view.resource.font .metric.top):
- (.content-view.resource.font .metric.baseline):
- (.content-view.resource.font .metric.middle):
- (.content-view.resource.font .metric.bottom):
- * UserInterface/FontResourceContentView.js:
- (WebInspector.FontResourceContentView):
- (WebInspector.FontResourceContentView.prototype.get previewElement):
- (WebInspector.FontResourceContentView.prototype.sizeToFit): Start at the maximum size and try each
- font size until minimum is reached. Stop when the preview element is not as wide as the main element.
- (WebInspector.FontResourceContentView.prototype.contentAvailable.createMetricElement): Helper function.
- (WebInspector.FontResourceContentView.prototype.contentAvailable): Create the elements for the preview.
- (WebInspector.FontResourceContentView.prototype.shown): Add the style element since it is removed when hidden.
- (WebInspector.FontResourceContentView.prototype.hidden): Remove the style element so it will not stick around
- when this content view is destroyed.
- * UserInterface/Main.html: Included FontResourceContentView.css.
- 2011-12-03 Timothy Hatcher <timothy@apple.com>
- Implement WebInspector.ImageResourceContentView.
- Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/ImageResourceContentView.css: Added.
- (.content-view.resource.image): Vertically and horizontally center the image.
- (.content-view.resource.image img): Set max width to 100% and allow dragging.
- * UserInterface/ImageResourceContentView.js:
- (WebInspector.ImageResourceContentView): Initialize _imageElement to null.
- (WebInspector.ImageResourceContentView.prototype.get imageElement): Added.
- (WebInspector.ImageResourceContentView.prototype.contentAvailable): Added. Create and append the _imageElement.
- * UserInterface/Main.html: Included ImageResourceContentView.css.
- * UserInterface/Resource.js:
- (WebInspector.Resource.prototype.get contentURL): Added. Create a data URL if possible.
- * UserInterface/ResourceContentView.js:
- (WebInspector.ResourceContentView): Call requestContent.
- (WebInspector.ResourceContentView.prototype.contentAvailable): Added. Implemented by subclasses.
- 2011-12-05 Timothy Hatcher <timothy@apple.com>
- Select the main resource when opening the Web Inspector and when the inspected page navigates.
- Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): Select and expand the main
- resource so something is selected by default.
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange): Select the main
- resource since there are no other resources now.
- 2011-12-05 Timothy Hatcher <timothy@apple.com>
- Close all resource content views when the inspected page navigates in the main frame.
- Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/ContentViewContainer.js:
- (WebInspector.ContentViewContainer.prototype.closeAllContentViewsOfPrototype): Added.
- (WebInspector.ContentViewContainer.prototype.closeAllContentViews): Added.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): Remove an event listener from
- the old frame and add an event listener for MainResourceDidChange on the new frame.
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange): Added. Call
- closeAllContentViewsOfPrototype with WebInspector.ResourceContentView on the main content container.
- 2011-12-05 Timothy Hatcher <timothy@apple.com>
- Make selecting a resource in the Resources sidebar show the content view for that resource.
- Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/ContentViewContainer.js:
- (WebInspector.ContentViewContainer.prototype.contentViewForRepresentedObject): Added.
- (WebInspector.ContentViewContainer.prototype.showContentViewForRepresentedObject): Added.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel): Set onselect to _treeElementSelected.
- (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected): Added. Call showContentViewForRepresentedObject
- on the main content container.
- 2011-12-05 Timothy Hatcher <timothy@apple.com>
- Add support for knowing when a TreeElement is selected/deselected in a TreeOutline.
- There is already TreeElement.onselect which has been used in the past,
- but having a tree-wide notification of selection changes makes it easier
- to implement certain things.
- Reviewed by Joseph Pecoraro.
- * UserInterface/TreeOutline.js:
- (TreeElement.prototype.select): Call onselect on the TreeOutline if it exists.
- (TreeElement.prototype.deselect): Call ondeselect on the TreeOutline if it exists.
- 2011-12-05 Timothy Hatcher <timothy@apple.com>
- Support resource type changes by making a new ResourceContentView and replacing the old one.
- Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/ContentViewContainer.js:
- (WebInspector.ContentViewContainer.prototype.replaceContentView): Added. Find all instances of the old one
- and replace it with the new one.
- * UserInterface/ResourceContentView.js:
- (WebInspector.ResourceContentView): Add event listener for TypeDidChange.
- (WebInspector.ResourceContentView.prototype._resourceTypeDidChange): Added. Make a new ResourceContentView
- which will use the new resource type to make the correct concrete ResourceContentView subclass.
- 2011-12-05 Timothy Hatcher <timothy@apple.com>
- Add the "constructor" property to all prototypes in the Web Inspector.
- While working on a change that requires the constructor, I found it was always Object.
- This is because (thanks Gavin) the "constructor" property is added at runtime during
- the first lookup of the "prototype" property slot. But when "prototype" is assigned,
- like we do in the Web Inspector, the "constructor" property isn't present.
- Reviewed by John Sullivan.
- * UserInterface/ApplicationCacheObserver.js:
- * UserInterface/ConsoleObserver.js:
- * UserInterface/ContentView.js:
- * UserInterface/ContentViewContainer.js:
- * UserInterface/DOMObserver.js:
- * UserInterface/DOMStorageObserver.js:
- * UserInterface/DatabaseObserver.js:
- * UserInterface/DebuggerObserver.js:
- * UserInterface/FilterBar.js:
- * UserInterface/FolderTreeElement.js:
- * UserInterface/FontResourceContentView.js:
- * UserInterface/Frame.js:
- * UserInterface/FrameResourceManager.js:
- * UserInterface/FrameTreeElement.js:
- * UserInterface/GeneralTreeElement.js:
- * UserInterface/GenericResourceContentView.js:
- * UserInterface/ImageResourceContentView.js:
- * UserInterface/InspectorObserver.js:
- * UserInterface/NavigationBar.js:
- * UserInterface/NavigationSidebarPanel.js:
- * UserInterface/NetworkObserver.js:
- * UserInterface/Object.js:
- * UserInterface/PageObserver.js:
- * UserInterface/Resource.js:
- * UserInterface/ResourceCollection.js:
- * UserInterface/ResourceContentView.js:
- * UserInterface/ResourceSidebarPanel.js:
- * UserInterface/ResourceTreeElement.js:
- * UserInterface/Sidebar.js:
- * UserInterface/TextResourceContentView.js:
- * UserInterface/TreeOutline.js:
- 2011-12-05 Timothy Hatcher <timothy@apple.com>
- And WebInspector.ResourceContentView and concrete subclasses for Text, Image and Font resources.
- Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/ContentView.js:
- (WebInspector.ContentView): Create ResourceContentViews for Resources and Frames.
- * UserInterface/FontResourceContentView.js: Added.
- (WebInspector.FontResourceContentView):
- * UserInterface/GenericResourceContentView.js: Added.
- (WebInspector.GenericResourceContentView):
- * UserInterface/ImageResourceContentView.js: Added.
- (WebInspector.ImageResourceContentView):
- * UserInterface/Main.html: Included new files.
- * UserInterface/ResourceContentView.js: Added.
- (WebInspector.ResourceContentView): When instantiated directly return an instance of a type-based concrete subclass.
- (WebInspector.ResourceContentView.prototype.get resource):
- * UserInterface/TextResourceContentView.js: Added.
- (WebInspector.TextResourceContentView):
- 2011-12-05 Timothy Hatcher <timothy@apple.com>
- Add back/forward support to WebInspector.ContentViewContainer.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ContentViewContainer.js:
- (WebInspector.ContentViewContainer): Initialize _backForwardList and _currentIndex.
- (WebInspector.ContentViewContainer.prototype.get currentIndex): Added.
- (WebInspector.ContentViewContainer.prototype.get backForwardList): Added.
- (WebInspector.ContentViewContainer.prototype.get currentContentView): Use _backForwardList and _currentIndex.
- (WebInspector.ContentViewContainer.prototype.showContentView): Insert the content view at the new current index.
- This will remove any content views greater than or equal to the index. Call showBackForwardEntry for the index.
- (WebInspector.ContentViewContainer.prototype.showBackForwardEntry): Added.
- (WebInspector.ContentViewContainer.prototype.canGoBack): Added.
- (WebInspector.ContentViewContainer.prototype.canGoForward): Added.
- (WebInspector.ContentViewContainer.prototype.goBack): Added.
- (WebInspector.ContentViewContainer.prototype.goForward): Added.
- 2011-12-05 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.ContentView and WebInspector.ContentViewContainer.
- These classes will be used to display content for resources and other data.
- Reviewed by Joseph Pecoraro.
- * UserInterface/ContentView.js: Added.
- (WebInspector.ContentView):
- (WebInspector.ContentView.prototype.get element):
- (WebInspector.ContentView.prototype.get parentContainer):
- (WebInspector.ContentView.prototype.get visible):
- (WebInspector.ContentView.prototype.set visible):
- (WebInspector.ContentView.prototype.shown):
- (WebInspector.ContentView.prototype.hidden):
- * UserInterface/ContentViewContainer.css: Added.
- (.content-view-container): Display relative to allow positioned content.
- (.content-view-container > .content-view): Position to fill the container.
- (.content-view-container > .content-view:not(.visible)): Display none.
- * UserInterface/ContentViewContainer.js: Added.
- (WebInspector.ContentViewContainer):
- (WebInspector.ContentViewContainer.prototype.get element):
- (WebInspector.ContentViewContainer.prototype.get currentContentView):
- (WebInspector.ContentViewContainer.prototype.showContentView):
- (WebInspector.ContentViewContainer.prototype._addContentViewElement):
- (WebInspector.ContentViewContainer.prototype._removeContentViewElement):
- (WebInspector.ContentViewContainer.prototype._showContentView):
- (WebInspector.ContentViewContainer.prototype._hideContentView):
- * UserInterface/Main.css:
- (#content-views): Renamed from #content-panels.
- * UserInterface/Main.html: Included ContentViewContainer.js and ContentViewContainer.css. Also renamed
- content-panels to content-views.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Create an instance of ContentViewContainer that uses the #content-views div.
- 2011-12-05 Timothy Hatcher <timothy@apple.com>
- Add support for getting the content of a resource in preparation for showing that content.
- Part of: <rdar://problem/10488422> Implement Resource views for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/Resource.js:
- (WebInspector.Resource): Initialize _content, _pendingContentRequestCallbacks and _contentIsBase64Encoded.
- (WebInspector.Resource.prototype.get content): Added.
- (WebInspector.Resource.prototype.get contentIsBase64Encoded): Added.
- (WebInspector.Resource.prototype.requestContent): Added. Queues the callback and requests the content if needed.
- (WebInspector.Resource.prototype.markAsFinished): Call _requestContentFromBackend if there are pending requests.
- (WebInspector.Resource.prototype.markAsFailed): Call _servicePendingContentRequests.
- (WebInspector.Resource.prototype._requestContentFromBackend): Added. Use the NetworkPageAgent depending on if
- we have a requestIdentifier for this Resource.
- (WebInspector.Resource.prototype._processContent): Added. Store the content and call _servicePendingContentRequests.
- (WebInspector.Resource.prototype._servicePendingContentRequests): Added. Call all the pending callbacks with the content.
- 2011-12-05 Timothy Hatcher <timothy@apple.com>
- Mark resources loaded from the memory cache as finished in the Web Inspector so their content can be requested.
- Reviewed by Joseph Pecoraro.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): Call markAsFinished.
- 2011-12-05 Timothy Hatcher <timothy@apple.com>
- Add requestIdentifier to WebInspector.Resource.
- The requestIdentifier will be needed for getting the resource content from the backend.
- Reviewed by Joseph Pecoraro.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.frameDidNavigate): Pass null for the requestIdentifier.
- (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent): Pass the requestIdentifier.
- (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): Ditto.
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): Ditto.
- (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame): Added requestIdentifier parameter.
- (WebInspector.FrameResourceManager.prototype._createFrame): Pass null for requestIdentifier.
- (WebInspector.FrameResourceManager.prototype._createResource): Ditto.
- * UserInterface/Resource.js:
- (WebInspector.Resource): Added requestIdentifier parameter.
- (WebInspector.Resource.prototype.get requestIdentifier): Added.
- 2011-12-05 Timothy Hatcher <timothy@apple.com>
- Override the cursor to prevent the I-beam over various text UI elements in the Web Inspector.
- Reviewed by Dan Bernstein.
- * UserInterface/Main.css:
- (body): Set cursor to default.
- 2011-12-05 Timothy Hatcher <timothy@apple.com>
- Call preventDefault and stopPropagation in various event listeners in the Web Inspector.
- This prevents text selection while dragging the sidebar resizer or scrubbing a navigation bar.
- It also prevents text selection when double clicking the sidebar resizer.
- Reviewed by Dan Bernstein.
- * UserInterface/NavigationBar.js:
- (WebInspector.NavigationBar.prototype._mouseDown):
- (WebInspector.NavigationBar.prototype._mouseMoved):
- (WebInspector.NavigationBar.prototype._mouseUp):
- (WebInspector.NavigationBar.prototype._keyDown):
- * UserInterface/Sidebar.js:
- (WebInspector.Sidebar.prototype._resizerDoubleClicked):
- (WebInspector.Sidebar.prototype._resizerMouseDown):
- (WebInspector.Sidebar.prototype._resizerMouseMoved):
- (WebInspector.Sidebar.prototype._resizerMouseUp):
- 2011-12-05 Timothy Hatcher <timothy@apple.com>
- Add a build phase copy of InspectorBackend.js from WebCore and rename the
- InspectorBackendStub.js copied file to InspectorBackendCommands.js.
- The InspectorBackend.js file split out of the generated InspectorBackendStub.js
- in r101670, and both files are needed to be useful.
- Reviewed by Joseph Pecoraro.
- * UserInterface/Main.html: Include InspectorBackendCommands.js.
- * WebInspectorUI.xcodeproj/project.pbxproj: Update the WebCore Inspector Resources build pahse.
- 2011-11-29 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.ResourceCollection to simplify parts of WebInspector.Frame.
- The ResourceCollection class tracks resources it holds for URL and type changes
- and updates internal mappings accordingly.
- Reviewed by Joseph Pecoraro.
- * UserInterface/Frame.js:
- (WebInspector.Frame): Create a ResourceCollection instead of multiple arrays/maps.
- (WebInspector.Frame.prototype.initialize): Call clearProvisionalLoad before the main
- resource did change event.
- (WebInspector.Frame.prototype.startProvisionalLoad): Create a provisional ResourceCollection.
- (WebInspector.Frame.prototype.commitProvisionalLoad): Commit the provisional ResourceCollection.
- Added an early return to prevent exceptions if this is called when there isn't provisional load.
- (WebInspector.Frame.prototype.clearProvisionalLoad): Added an early return and clear the ResourceCollection.
- (WebInspector.Frame.prototype.get resources): Use ResourceCollection.
- (WebInspector.Frame.prototype.resourceForURL): Ditto.
- (WebInspector.Frame.prototype.resourcesWithType): Ditto.
- (WebInspector.Frame.prototype.addResource): Moved the add code from _associateWithResource and use the
- new _isProvisionalResource function to check which ResourceCollection to add the resource to.
- (WebInspector.Frame.prototype.removeResource): Use ResourceCollection.
- (WebInspector.Frame.prototype.removeAllResources): Ditto.
- (WebInspector.Frame.prototype._isProvisionalResource): Added.
- (WebInspector.Frame.prototype._associateWithResource): Only set _childFrame.
- (WebInspector.Frame.prototype._disassociateWithResource): Only clear _childFrame.
- * UserInterface/Main.html: Included ResourceCollection.js.
- * UserInterface/ResourceCollection.js: Added. Broken out of Frame.js.
- (WebInspector.ResourceCollection):
- (WebInspector.ResourceCollection.prototype.get resources):
- (WebInspector.ResourceCollection.prototype.resourceForURL):
- (WebInspector.ResourceCollection.prototype.resourcesWithType):
- (WebInspector.ResourceCollection.prototype.addResource):
- (WebInspector.ResourceCollection.prototype.removeResource):
- (WebInspector.ResourceCollection.prototype.removeAllResources):
- (WebInspector.ResourceCollection.prototype._associateWithResource):
- (WebInspector.ResourceCollection.prototype._disassociateWithResource):
- (WebInspector.ResourceCollection.prototype._resourceURLDidChange):
- (WebInspector.ResourceCollection.prototype._resourceTypeDidChange):
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Improve glob filtering in the Resources sidebar of the new Web Inspector.
- Match edge boundaries when there is an asterisk to better meet the expectations
- of the user. When someone types "*.js" they don't expect "foo.json" to match. They
- would only expect that if they type "*.js*". We use \b (instead of ^ and $) to allow
- matches inside paths or URLs, so "ba*.js" will match "foo/bar.js" but not "boo/bbar.js".
- When there isn't an asterisk the regexString is just a substring search. Also properly
- ignore escaped asterisks and collapse consecutive asterisks down to one.
- Reviewed by Joseph Pecoraro.
- * UserInterface/Utilities.js:
- (simpleGlobStringToRegExp):
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Show a message in the sidebar when it is empty because there are no filter matches.
- Reviewed by Brian Weinstein.
- * UserInterface/NavigationSidebarPanel.css:
- (.sidebar > .panel.navigation > .content.hidden): Added.
- (.sidebar > .panel.navigation > .empty-content-placeholder): Added.
- (.sidebar > .panel.navigation > .empty-content-placeholder > .message): Added.
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel): Create the empty content placeholder elements.
- (WebInspector.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder): Set the message and add the element.
- (WebInspector.NavigationSidebarPanel.prototype.hideEmptyContentPlaceholder): Remove the element.
- (WebInspector.NavigationSidebarPanel.prototype._checkForEmptyFilterResults): Added. Check for hidden top level elements.
- (WebInspector.NavigationSidebarPanel.prototype._updateFilter): Call _checkForEmptyFilterResults.
- (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged): Ditto.
- * UserInterface/Sidebar.css:
- (.sidebar > .panel): Make overflow hidden so when the sidebar is collapsed the empty placeholder doesn't stick out.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Add text filtering support to WebInspector.NavigationSidebarPanel.
- This makes it so you can filter the resource list, matching against the URLs.
- Reviewed by Brian Weinstein.
- * UserInterface/FilterBar.js:
- (WebInspector.FilterBar): Add an search event listener and set incremental to true.
- (WebInspector.FilterBar.prototype.get filters): Added.
- (WebInspector.FilterBar.prototype.hasActiveFilters): Added.
- (WebInspector.FilterBar.prototype._inputFieldChanged): Added. Dispatch the TextFilterDidChange event.
- * UserInterface/GeneralTreeElement.js:
- (WebInspector.GeneralTreeElement.prototype.set mainTitle): Call didChange.
- (WebInspector.GeneralTreeElement.prototype.set subtitle): Ditto.
- (WebInspector.GeneralTreeElement.prototype.get filterableData): Added. Returns the URL.
- * UserInterface/NavigationSidebarPanel.css:
- (.navigation-sidebar-panel-content-tree-outline .hidden): Added.
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel): Set onadd and onchange on the TreeOutline. Listen for
- the TextFilterDidChange event.
- (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement): Added.
- (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.matchTextFilter): Added.
- (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.makeVisible): Added.
- (WebInspector.NavigationSidebarPanel.prototype._updateFilter): Added. Call applyFiltersToTreeElement.
- (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged): Added. Call applyFiltersToTreeElement.
- * UserInterface/Utilities.js:
- (String.prototype.escapeCharacters): Copied from WebCore/inspector/front-end/utilities.js.
- (String.prototype.escapeForRegExp): Copied from WebCore/inspector/front-end/utilities.js.
- (simpleGlobStringToRegExp): Added.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.FilterBar to be used in navigation sidebar panels.
- The filter bar only contains a specially styled search field in this change.
- It does not actually filter the sidebar yet.
- Reviewed by Brian Weinstein.
- * UserInterface/FilterBar.css: Added.
- (.filter-bar): Styled like the filter bar in Xcode 4.
- (.filter-bar > input[type="search"]): Set the margins and prevent an outline on focus.
- (.filter-bar > input[type="search"]::-webkit-search-decoration): Replace the search
- magnifying glass with the filter glyph.
- * UserInterface/FilterBar.js: Added.
- (WebInspector.FilterBar):
- (WebInspector.FilterBar.prototype.get element):
- (WebInspector.FilterBar.prototype.get inputField):
- * UserInterface/Images/FilterFieldGlyph.pdf: Added.
- * UserInterface/Main.html: Included FilterBar.js and FilterBar.css.
- * UserInterface/NavigationSidebarPanel.css:
- (.sidebar > .panel.navigation > .filter-bar): Position at the bottom.
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel): Create a FilterBar.
- (WebInspector.NavigationSidebarPanel.prototype.get filterBar): Added.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Handle getting a resource load responce without getting the request first.
- If the Web Inspector is opened while loading a page we can miss the resourceRequestWillBeSent call.
- In that case we might get a respose but not know the resource yet, so make a new resource and add it.
- Reviewed by Anders Carlsson.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): Make a new resource if
- one isn't found in the request identifier map.
- * UserInterface/NetworkObserver.js:
- (WebInspector.NetworkObserver.prototype.responseReceived): Pass the frameId and loaderId along.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Store the request and response headers on WebInspector.Resource.
- Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design
- Reviewed by Anders Carlsson.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.frameDidNavigate): Pass null for the requestHeaders in a couple of places.
- (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent): Pass the requestHeaders along.
- (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): Pass null for the requestHeaders.
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): Pass the responseHeaders along to updateForResponse.
- (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame): Added an argument for requestHeaders.
- (WebInspector.FrameResourceManager.prototype._createFrame): Pass null for the requestHeaders.
- (WebInspector.FrameResourceManager.prototype._createResource): Ditto.
- * UserInterface/Resource.js:
- (WebInspector.Resource): Added requestHeaders argument.
- (WebInspector.Resource.prototype.get requestHeaders): Added.
- (WebInspector.Resource.prototype.get responseHeaders): Added.
- (WebInspector.Resource.prototype.updateForResponse): Added responseHeaders argument and fire the ResponseHeadersDidChange event.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Keep track of failed, canceled and finished resources in the Web Inspector.
- Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidFinishLoading): Call markAsFinished.
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidFailLoading): Added canceled argument and call markAsFailed.
- (WebInspector.FrameResourceManager.prototype._createResource): Call markAsFinished.
- * UserInterface/NetworkObserver.js:
- (WebInspector.NetworkObserver.prototype.loadingFailed): Pass along the canceled argument.
- * UserInterface/Resource.js:
- (WebInspector.Resource.prototype.get finished): Added.
- (WebInspector.Resource.prototype.get failed): Added.
- (WebInspector.Resource.prototype.get canceled): Added.
- (WebInspector.Resource.prototype.updateForRedirectResponse): Added asserts that loading hasn't failed, finished or canceled.
- (WebInspector.Resource.prototype.updateForResponse): Ditto.
- (WebInspector.Resource.prototype.markAsFinished): Added.
- (WebInspector.Resource.prototype.markAsFailed): Added.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Sort folders by name, resources by type and name in the Web Inspector sidebar.
- Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/FrameTreeElement.js:
- (WebInspector.FrameTreeElement.prototype.descendantResourceTreeElementTypeDidChange): Remove the check for _groupedIntoFolders
- since we sort by type in non-folder mode now. Updated the comment.
- (WebInspector.FrameTreeElement.prototype.descendantResourceTreeElementMainTitleDidChange): Added.
- (WebInspector.FrameTreeElement.prototype._addTreeElement): Use _insertRootFolderTreeElement and _insertResourceTreeElement.
- (WebInspector.FrameTreeElement.prototype._compareTreeElementsByMainTitle): Added.
- (WebInspector.FrameTreeElement.prototype._insertFolderTreeElement): Added.
- (WebInspector.FrameTreeElement.prototype._compareResourceTreeElements): Added.
- (WebInspector.FrameTreeElement.prototype._insertResourceTreeElement): Added.
- * UserInterface/Main.html: Included BinarySearch.js.
- * UserInterface/ResourceTreeElement.js:
- (WebInspector.ResourceTreeElement.prototype._updateTitles): Call descendantResourceTreeElementMainTitleDidChange on the first ancestor
- if the main title changed.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Queue new resources and frames to add them in bulk every half a second.
- This reduces flashing in the Web Inspector sidebar as resources load and change folders as their type becomes known.
- Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/FrameTreeElement.js:
- (WebInspector.FrameTreeElement): Initialize _newChildQueue.
- (WebInspector.FrameTreeElement.prototype.onpopulate): Call _clearNewChildQueue.
- (WebInspector.FrameTreeElement.prototype._mainResourceDidChange): Ditto.
- (WebInspector.FrameTreeElement.prototype._resourceWasAdded): Use _addRepresentedObjectToNewChildQueue.
- (WebInspector.FrameTreeElement.prototype._childFrameWasAdded): Ditto.
- (WebInspector.FrameTreeElement.prototype._addRepresentedObjectToNewChildQueue): Added. Adds the item to the queue and starts
- a timer if one isn't already pending.
- (WebInspector.FrameTreeElement.prototype._removeRepresentedObjectFromNewChildQueue): Added. Removes the item from the queue.
- (WebInspector.FrameTreeElement.prototype._populateFromNewChildQueue): Added. Call _addChildForRepresentedObject
- for each item in the queue.
- (WebInspector.FrameTreeElement.prototype._clearNewChildQueue): Added. Clears the queue.
- (WebInspector.FrameTreeElement.prototype._removeChildForRepresentedObject): Call _removeRepresentedObjectFromNewChildQueue.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Remember expanded frames when the main resource changes during navigation. Also auto expand the main frame.
- Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/FrameTreeElement.js:
- (WebInspector.FrameTreeElement.prototype._mainResourceDidChange): Remember if this tree element was expanded.
- (WebInspector.FrameTreeElement.prototype._addChildForRepresentedObject): Expand if needed.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): Expand when the main frame is created.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Group resources into folders once certain resource count thresholds are met.
- Resources and Frames are grouped into folders if one of two thresholds are met:
- 1) Once the number of medium categories passes NumberOfMediumCategoriesThreshold.
- 2) When there is a category that passes LargeChildCountThreshold and there are
- any resources in another category.
- Folders are avoided when there is only one category or most categories are small.
- Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/FrameTreeElement.js:
- (WebInspector.FrameTreeElement.prototype.descendantResourceTreeElementTypeDidChange): Added. Called by ResourceTreeElement.
- (WebInspector.FrameTreeElement.prototype.onpopulate): Call _shouldGroupIntoFolders and use _addTreeElement.
- (WebInspector.FrameTreeElement.prototype._mainResourceDidChange): Reset _groupedIntoFolders to false.
- (WebInspector.FrameTreeElement.prototype._addChildForRepresentedObject): Call _shouldGroupIntoFolders and use _addTreeElement.
- (WebInspector.FrameTreeElement.prototype._removeChildForRepresentedObject): Remove the parent if it is an empty folder.
- (WebInspector.FrameTreeElement.prototype._addTreeElement): Added. Adds the tree element to the right folder.
- (WebInspector.FrameTreeElement.prototype._removeTreeElement): Added. Removes the tree element and empty folders.
- (WebInspector.FrameTreeElement.prototype._folderNameForResourceType): Added.
- (WebInspector.FrameTreeElement.prototype._parentTreeElementForRepresentedObject): Added. Make the folder tree element if needed.
- (WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders): Added. Calculates if folders are needed.
- * UserInterface/ResourceTreeElement.js:
- (WebInspector.ResourceTreeElement.prototype._typeDidChange): Use _callFirstAncestorFunction to call descendantResourceTreeElementTypeDidChange.
- (WebInspector.ResourceTreeElement.prototype._callFirstAncestorFunction): Added. Call the first ancestor that implements a function.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.FolderTreeElement to be used in navigation sidebar panels.
- Reviewed by Brian Weinstein.
- * UserInterface/FolderTreeElement.css: Added.
- (.folder-tree-element .icon):
- * UserInterface/FolderTreeElement.js: Added.
- (WebInspector.FolderTreeElement):
- * UserInterface/Images/FolderGeneric.png: Added.
- * UserInterface/Images/FolderGeneric@2x.png: Added.
- * UserInterface/Main.html: Included FolderTreeElement.css and FolderTreeElement.js.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Remember resources by type for each frame in the Web Inspector.
- This will be used to organize the sidebar into folders for each type of resource.
- Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/Frame.js:
- (WebInspector.Frame): Initialize _resourcesTypeMap and _provisionalResourcesTypeMap.
- (WebInspector.Frame.prototype.startProvisionalLoad): Initialize _provisionalResourcesURLMap.
- (WebInspector.Frame.prototype.commitProvisionalLoad): Commit _provisionalResourcesURLMap over to _resourcesTypeMap.
- (WebInspector.Frame.prototype.clearProvisionalLoad): Initialize _provisionalResourcesURLMap.
- (WebInspector.Frame.prototype.resourcesWithType): Added. Lookup in _resourcesTypeMap.
- (WebInspector.Frame.prototype.removeAllResources): Initialize _resourcesTypeMap.
- (WebInspector.Frame.prototype._associateWithResource): Added resource to the type map.
- (WebInspector.Frame.prototype._disassociateWithResource): Remove the resource from the type map.
- (WebInspector.Frame.prototype._resourceTypeDidChange): Update the resource type map.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Add icons for document, image, font, style, script and generic resource types in the Web Inspector.
- Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/Images/DocumentCSS.png: Added.
- * UserInterface/Images/DocumentCSS@2x.png: Added.
- * UserInterface/Images/DocumentFont.png: Added.
- * UserInterface/Images/DocumentFont@2x.png: Added.
- * UserInterface/Images/DocumentGeneric.png: Added.
- * UserInterface/Images/DocumentGeneric@2x.png: Added.
- * UserInterface/Images/DocumentImage.png: Added.
- * UserInterface/Images/DocumentImage@2x.png: Added.
- * UserInterface/Images/DocumentJS.png: Added.
- * UserInterface/Images/DocumentJS@2x.png: Added.
- * UserInterface/Images/DocumentMarkup.png: Added.
- * UserInterface/Images/DocumentMarkup@2x.png: Added.
- * UserInterface/Main.html: Included ResourceTreeElement.css.
- * UserInterface/ResourceTreeElement.css: Added.
- (.resource-tree-element .icon):
- (.resource-tree-element.resource-type-document .icon):
- (.resource-tree-element.resource-type-image .icon):
- (.resource-tree-element.resource-type-stylesheet .icon):
- (.resource-tree-element.resource-type-script .icon):
- * UserInterface/ResourceTreeElement.js:
- (WebInspector.ResourceTreeElement): Use the resource type as a class.
- (WebInspector.ResourceTreeElement.prototype._updateResource): Added TypeDidChange event listener.
- (WebInspector.ResourceTreeElement.prototype._typeDidChange): Added. Update the classNames with the new type.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Display the last path component instead of the full URL in the Web Inspector's Resource sidebar panel.
- Show the host as the subtitle if it is different from the main resource or if this is the main frame's main resource.
- Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/Resource.js:
- (WebInspector.Resource.prototype.get urlComponents): Added. Calls parseURL if needed.
- (WebInspector.Resource.prototype.updateForRedirectResponse): Delete the URL components so the URL is re-parsed the
- next time it is requested.
- (WebInspector.Resource.prototype.updateForResponse): Ditto.
- * UserInterface/ResourceTreeElement.js:
- (WebInspector.ResourceTreeElement.prototype._updateTitles): Set the mainTitle and subtitle based on the urlComponents.
- * UserInterface/Utilities.js:
- (parseURL): Added. Parses a URL into its components.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Populate the WebInspector's Resource sidebar panel with frame and resource tree elements.
- Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/FrameTreeElement.js: Added.
- (WebInspector.FrameTreeElement): Set up event listeners.
- (WebInspector.FrameTreeElement.prototype.get frame): Returns _frame.
- (WebInspector.FrameTreeElement.prototype.onpopulate): Add child frames and resources.
- (WebInspector.FrameTreeElement.prototype._updateParentStatus): Update hasChildren.
- (WebInspector.FrameTreeElement.prototype._mainResourceDidChange): Update the resource and remove children.
- (WebInspector.FrameTreeElement.prototype._resourceWasAdded): Call _addChildForRepresentedObject.
- (WebInspector.FrameTreeElement.prototype._resourceWasRemoved): Call _removeChildForRepresentedObject.
- (WebInspector.FrameTreeElement.prototype._childFrameWasAdded): Call _addChildForRepresentedObject.
- (WebInspector.FrameTreeElement.prototype._childFrameWasRemoved): Call _removeChildForRepresentedObject.
- (WebInspector.FrameTreeElement.prototype._addChildForRepresentedObject): Update parent status and append the new tree element.
- (WebInspector.FrameTreeElement.prototype._removeChildForRepresentedObject): Update parent status and remove the tree element.
- * UserInterface/Main.html: Include FrameTreeElement.js and ResourceTreeElement.js.
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel): Add MainFrameDidChange event listener.
- (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange): Added.
- * UserInterface/ResourceTreeElement.js: Added.
- (WebInspector.ResourceTreeElement):
- (WebInspector.ResourceTreeElement.prototype.get resource): Returns _resource.
- (WebInspector.ResourceTreeElement.prototype._updateResource): Setup event listeners and update titles.
- (WebInspector.ResourceTreeElement.prototype._updateTitles): Set the mainTitle to the URL for now.
- (WebInspector.ResourceTreeElement.prototype._urlDidChange): Update the titles.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.GeneralTreeElement to be used in navigation sidebar panels.
- Reviewed by Joseph Pecoraro.
- * UserInterface/GeneralTreeElement.js: Added.
- (WebInspector.GeneralTreeElement):
- (WebInspector.GeneralTreeElement.prototype.get element):
- (WebInspector.GeneralTreeElement.prototype.get disclosureButton):
- (WebInspector.GeneralTreeElement.prototype.get iconElement):
- (WebInspector.GeneralTreeElement.prototype.get titlesElement):
- (WebInspector.GeneralTreeElement.prototype.get mainTitleElement):
- (WebInspector.GeneralTreeElement.prototype.get subtitleElement):
- (WebInspector.GeneralTreeElement.prototype.get classNames):
- (WebInspector.GeneralTreeElement.prototype.set classNames):
- (WebInspector.GeneralTreeElement.prototype.get small):
- (WebInspector.GeneralTreeElement.prototype.set small):
- (WebInspector.GeneralTreeElement.prototype.get mainTitle):
- (WebInspector.GeneralTreeElement.prototype.set mainTitle):
- (WebInspector.GeneralTreeElement.prototype.get subtitle):
- (WebInspector.GeneralTreeElement.prototype.set subtitle):
- (WebInspector.GeneralTreeElement.prototype.isEventWithinDisclosureTriangle):
- (WebInspector.GeneralTreeElement.prototype.onattach):
- (WebInspector.GeneralTreeElement.prototype.onreveal):
- (WebInspector.GeneralTreeElement.prototype._createElementsIfNeeded):
- (WebInspector.GeneralTreeElement.prototype._createSubtitleElementIfNeeded):
- (WebInspector.GeneralTreeElement.prototype._updateTitleElements):
- * UserInterface/Main.html: Add GeneralTreeElement.js.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Generate disclosure triangles from PDFs for the Web Inspector's navigation sidebar.
- The disclosure triangles are a solid color plus a shadow for a normal and selected state.
- Reviewed by Brian Weinstein.
- * UserInterface/ImageUtilities.js: Added.
- (generateColoredImage): Take an input image and fill the image with a color while preserving the alpha.
- * UserInterface/Images/DisclosureTriangleSmallClosed.pdf: Added.
- * UserInterface/Images/DisclosureTriangleSmallOpen.pdf: Added.
- * UserInterface/Main.html: Added ImageUtilities.js.
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel): Call _generateDisclosureTrianglesIfNeeded.
- (WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded): Load the open and closed images.
- (WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded._disclosureImageLoaded): Call
- _generateDisclosureTriangle for the normal and selected state with different colors for each.
- (WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded._generateDisclosureTriangle):
- Fill the image with the color and draw it with the desired shadow.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Create a TreeOutline for WebInspector.NavigationSidebarPanel that is styled like Xcode 4's Project Navigator.
- The disclosure triangle generation is not part of this change, they will come in a later change.
- Reviewed by Brian Weinstein and Joseph Pecoraro.
- * UserInterface/Main.html: Included TreeOutline.js.
- * UserInterface/NavigationSidebarPanel.css: Style rules for .navigation-sidebar-panel-content-tree-outline
- and decedent elements.
- * UserInterface/NavigationSidebarPanel.js:
- (WebInspector.NavigationSidebarPanel): Create the TreeOutline and its element. Call _generateStyleRulesIfNeeded.
- (WebInspector.NavigationSidebarPanel.prototype.get contentElement): Added.
- (WebInspector.NavigationSidebarPanel.prototype.get contentTreeOutlineElement): Added.
- (WebInspector.NavigationSidebarPanel.prototype.get contentTreeOutline): Added.
- (WebInspector.NavigationSidebarPanel.prototype._generateStyleRulesIfNeeded): Added. Make repetitive style rules for
- 15 levels of indentation.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.NavigationSidebarPanel as a base class for all navigation
- sidebar panels so they can share code for the content element and filter bar.
- Only the content element is there now, the filter bar is coming later.
- Reviewed by Dan Bernstein.
- * UserInterface/Main.html: Add NavigationSidebarPanel.js and NavigationSidebarPanel.css.
- * UserInterface/NavigationSidebarPanel.css: Added.
- (.sidebar > .panel.navigation > .content): Account for 22px at the bottom for the future
- filter bar height.
- * UserInterface/NavigationSidebarPanel.js: Added.
- (WebInspector.NavigationSidebarPanel):
- (WebInspector.NavigationSidebarPanel.prototype.get contentElement):
- * UserInterface/ResourceSidebarPanel.js:
- (WebInspector.ResourceSidebarPanel): Inherit from NavigationSidebarPanel instead of SidebarPanel.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Add events to the Web Inspector for frame and resource changes.
- These events will be used to keep the user interface up-to-date.
- Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/Frame.js:
- (WebInspector.Frame.prototype.initialize):
- (WebInspector.Frame.prototype.startProvisionalLoad):
- (WebInspector.Frame.prototype.commitProvisionalLoad):
- (WebInspector.Frame.prototype.clearProvisionalLoad):
- (WebInspector.Frame.prototype.addChildFrame):
- (WebInspector.Frame.prototype.removeChildFrame):
- (WebInspector.Frame.prototype.removeAllChildFrames):
- (WebInspector.Frame.prototype.addResource):
- (WebInspector.Frame.prototype.removeResource):
- (WebInspector.Frame.prototype.removeAllResources):
- (WebInspector.Frame.prototype._resourceURLDidChange):
- (WebInspector.Frame.prototype._dispatchMainResourceDidChangeEvent):
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.initialize):
- (WebInspector.FrameResourceManager.prototype.frameDidNavigate):
- (WebInspector.FrameResourceManager.prototype.frameDidDetach):
- (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame):
- (WebInspector.FrameResourceManager.prototype._processMainFrameResourceTreePayload):
- (WebInspector.FrameResourceManager.prototype._addFrameTreeFromFrameResourceTreePayload):
- (WebInspector.FrameResourceManager.prototype._dispatchFrameWasAddedEvent):
- (WebInspector.FrameResourceManager.prototype._dispatchMainFrameDidChangeEvent):
- * UserInterface/Resource.js:
- (WebInspector.Resource.prototype.updateForResponse):
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Keep WebInspector.FrameResourceManager up-to-date during resource loads.
- Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/Frame.js:
- (WebInspector.Frame):
- (WebInspector.Frame.prototype.initialize): Add an assert. Set the loaderIdentifier and call clearProvisionalLoad.
- (WebInspector.Frame.prototype.startProvisionalLoad): Added.
- (WebInspector.Frame.prototype.commitProvisionalLoad): Added.
- (WebInspector.Frame.prototype.clearProvisionalLoad): Added.
- (WebInspector.Frame.prototype.get loaderIdentifier): Added.
- (WebInspector.Frame.prototype.get provisionalLoaderIdentifier): Added.
- (WebInspector.Frame.prototype.get provisionalMainResource): Added.
- (WebInspector.Frame.prototype.addResource): Use _associateWithResource.
- (WebInspector.Frame.prototype.removeResource): Use _disassociateWithResource.
- (WebInspector.Frame.prototype.removeAllResources): Ditto.
- (WebInspector.Frame.prototype._associateWithResource): Added.
- (WebInspector.Frame.prototype._disassociateWithResource): Added.
- (WebInspector.Frame.prototype._resourceURLDidChange): Added.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager): Enable the NetworkAgent.
- (WebInspector.FrameResourceManager.prototype.initialize): Initialize _resourceRequestIdentifierMap.
- (WebInspector.FrameResourceManager.prototype.frameDidNavigate): Call commitProvisionalLoad if this was the provisionalLoaderIdentifier.
- (WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent): Added.
- (WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache): Added.
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse): Added.
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidFinishLoading): Added.
- (WebInspector.FrameResourceManager.prototype.resourceRequestDidFailLoading): Added.
- (WebInspector.FrameResourceManager.prototype._addNewResourceToFrame): Added.
- (WebInspector.FrameResourceManager.prototype._addResourceToFrame): Added.
- (WebInspector.FrameResourceManager.prototype._createFrame): Pass the loaderId.
- * UserInterface/NetworkObserver.js:
- (WebInspector.NetworkObserver.prototype.requestWillBeSent): Call FrameResourceManager.
- (WebInspector.NetworkObserver.prototype.responseReceived): Ditto.
- (WebInspector.NetworkObserver.prototype.loadingFinished): Ditto.
- (WebInspector.NetworkObserver.prototype.loadingFailed): Ditto.
- (WebInspector.NetworkObserver.prototype.requestServedFromMemoryCache): Ditto.
- * UserInterface/PageObserver.js:
- (WebInspector.PageObserver.prototype.frameNavigated): Pass the loaderId.
- * UserInterface/Resource.js:
- (WebInspector.Resource): Added loaderIdentifier.
- (WebInspector.Resource.prototype.get loaderIdentifier): Added.
- (WebInspector.Resource.prototype.updateForRedirectResponse): Added.
- (WebInspector.Resource.prototype.updateForResponse): Added.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.Resource and populate existing resources for page frames.
- Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design
- Reviewed by Sam Weinig.
- * UserInterface/Frame.js:
- (WebInspector.Frame.prototype.initialize): Remove _url and _mimeType. Add _mainResource, _resources and _resourceURLMap.
- (WebInspector.Frame.prototype.get url): Get the URL from the mainResource.
- (WebInspector.Frame.prototype.get mainResource): Added.
- (WebInspector.Frame.prototype.get resources): Added.
- (WebInspector.Frame.prototype.resourceForURL): Added.
- (WebInspector.Frame.prototype.addResource): Added.
- (WebInspector.Frame.prototype.removeResource): Added.
- (WebInspector.Frame.prototype.removeAllResources): Added.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype._createResource): Added.
- (WebInspector.FrameResourceManager.prototype._addFrameTreeFromFrameResourceTreePayload): Call _createResource for each
- resource in the payload.
- * UserInterface/Main.html:
- * UserInterface/Resource.js: Added.
- (WebInspector.Resource):
- (WebInspector.Resource.Type.fromMIMEType):
- (WebInspector.Resource.prototype.get url):
- (WebInspector.Resource.prototype.get type):
- (WebInspector.Resource.prototype.get mimeType):
- (WebInspector.Resource.prototype.get parentFrame):
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Keep WebInspector.FrameResourceManager up-to-date during navigation, adding and detaching frames.
- Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design
- Reviewed by Ada Chan.
- * UserInterface/Frame.js:
- (WebInspector.Frame): Call initialize.
- (WebInspector.Frame.prototype.initialize): Added.
- (WebInspector.Frame.prototype.get parentFrame): Added.
- (WebInspector.Frame.prototype.childFrameForIdentifier): Added.
- (WebInspector.Frame.prototype.addChildFrame): Call removeChildFrame on the previous parentFrame. Set parentFrame.
- (WebInspector.Frame.prototype.removeChildFrame): Added.
- (WebInspector.Frame.prototype.removeAllChildFrames): Added.
- * UserInterface/FrameResourceManager.js:
- (WebInspector.FrameResourceManager.prototype.frameForIdentifier): Added.
- (WebInspector.FrameResourceManager.prototype.frameDidNavigate): Added.
- (WebInspector.FrameResourceManager.prototype.frameDidDetach): Added.
- (WebInspector.FrameResourceManager.prototype._createFrame): Added.
- (WebInspector.FrameResourceManager.prototype._addFrameTreeFromFrameResourceTreePayload): Use _createFrame.
- * UserInterface/PageObserver.js:
- (WebInspector.PageObserver.prototype.frameNavigated): Call WebInspector.FrameResourceManager.frameDidNavigate.
- (WebInspector.PageObserver.prototype.frameDetached): Call WebInspector.FrameResourceManager.frameDidDetach.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.FrameResourceManager and have it build up the basic frame tree for the inspected page.
- Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design
- Reviewed by Jessie Berlin.
- * UserInterface/Frame.js: Added.
- (WebInspector.Frame):
- (WebInspector.Frame.prototype.get id):
- (WebInspector.Frame.prototype.get name):
- (WebInspector.Frame.prototype.get url):
- (WebInspector.Frame.prototype.get childFrames):
- (WebInspector.Frame.prototype.addChildFrame):
- * UserInterface/FrameResourceManager.js: Added.
- (WebInspector.FrameResourceManager):
- (WebInspector.FrameResourceManager.prototype.initialize):
- (WebInspector.FrameResourceManager.prototype.get mainFrame):
- (WebInspector.FrameResourceManager.prototype._processMainFrameResourceTreePayload):
- (WebInspector.FrameResourceManager.prototype._addFrameTreeFromFrameResourceTreePayload):
- * UserInterface/Main.html: Include Frame.js and FrameResourceManager.js.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Create an instance of WebInspector.FrameResourceManager.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Reorder the calls in WebInspector.contentLoaded to put InspectorBackend first.
- This is needed so that the InspectorBackend is ready to use by the user interface elements.
- Reviewed by Dan Bernstein.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Add Element.removeChildren, Array.remove and isEnterKey for the Web Inspector,
- which are needed by TreeOutline.
- Reviewed by Dan Bernstein.
- * UserInterface/Utilities.js:
- (Element.prototype.removeChildren): Added.
- (Array.prototype.remove): Added.
- (isEnterKey): Added.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Copy the treeoutline.js file from the OpenSource to use in the new Web Inspector.
- Rubber-stamped by Dan Bernstein.
- * UserInterface/TreeOutline.js: Copied from WebCore/inspector/front-end/treeoutline.js.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Copy the BinarySearch.js file from the OpenSource to use in the new Web Inspector.
- Rubber-stamped by Dan Bernstein.
- * UserInterface/BinarySearch.js: Copied from WebCore/inspector/front-end/BinarySearch.js.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Make double clicking a sidebar divider toggle the collapsed state of the sidebar.
- Reviewed by Dan Bernstein.
- * UserInterface/Sidebar.js:
- (WebInspector.Sidebar): Add dblclick event listener on the resizer element.
- (WebInspector.Sidebar.prototype._resizerDoubleClicked): Toggle the collapsed state.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Make Element.totalOffsetLeft and Element.totalOffsetTop getters again.
- Historically these were getters until a Google engineer changed them.
- I didn't realize they weren't anymore and used totalOffsetTop as a
- getter when making WebInspector.NavigationBar, which is a bug.
- Reviewed by Darin Adler.
- * UserInterface/Sidebar.js:
- (WebInspector.Sidebar.prototype._resizerMouseMoved): Remove the function call
- when using totalOffsetLeft.
- * UserInterface/Utilities.js:
- (Element.prototype.totalOffsetLeft): Made a getter using __defineGetter__.
- (Element.prototype.totalOffsetTop): Ditto.
- 2011-11-28 Timothy Hatcher <timothy@apple.com>
- Update Web Inspector event observers to reflect changes in Inspector.json from Open Source as of r101194.
- Reviewed by Anders Carlsson.
- * UserInterface/DebuggerObserver.js:
- (WebInspector.DebuggerObserver.prototype.debuggerWasEnabled): Removed.
- (WebInspector.DebuggerObserver.prototype.debuggerWasDisabled): Removed.
- (WebInspector.DebuggerObserver.prototype.globalObjectCleared): Added.
- * UserInterface/InspectorObserver.js:
- (WebInspector.InspectorObserver.prototype.disconnectFromBackend): Removed.
- (WebInspector.InspectorObserver.prototype.disconnectFromWorker): Added.
- (WebInspector.InspectorObserver.prototype.bringToFront): Removed.
- (WebInspector.InspectorObserver.prototype.reset): Removed.
- (WebInspector.InspectorObserver.prototype.showPanel): Removed.
- (WebInspector.InspectorObserver.prototype.startUserInitiatedDebugging): Removed.
- * UserInterface/NetworkObserver.js:
- (WebInspector.NetworkObserver.prototype.responseReceived): Added frameId and loaderId arguments.
- 2011-11-14 Timothy Hatcher <timothy@apple.com>
- Fix copy and paste error that called InspectorBackend.registerConsoleDispatcher
- for all the other dispatchers.
- Reviewed by Joseph Pecoraro.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded):
- 2011-11-11 Timothy Hatcher <timothy@apple.com>
- Add the ResourceSidebarPanel class in the new Web Inspector.
- Part of: <rdar://problem/10318718> Implement the Resource sidebar for the new Web Inspector design
- Reviewed by Jessie Berlin.
- * UserInterface/Main.html:
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Use ResourceSidebarPanel for the Resource panel.
- * UserInterface/ResourceSidebarPanel.js: Added.
- (WebInspector.ResourceSidebarPanel):
- 2011-11-14 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.ApplicationCacheObserver with stubs for events defined by the "ApplicationCache" domain.
- Reviewed by Brian Weinstein.
- * UserInterface/ApplicationCacheObserver.js: Added.
- (WebInspector.ApplicationCacheObserver):
- (WebInspector.ApplicationCacheObserver.prototype.applicationCacheStatusUpdated): Not implemented.
- (WebInspector.ApplicationCacheObserver.prototype.networkStateUpdated): Not implemented.
- * UserInterface/Main.html: Include ApplicationCacheObserver.js.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Register an instance of WebInspector.ApplicationCacheObserver with InspectorBackend.
- 2011-11-14 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.DOMStorageObserver with stubs for events defined by the "DOMStorage" domain.
- Reviewed by Brian Weinstein.
- * UserInterface/DOMStorageObserver.js: Added.
- (WebInspector.DOMStorageObserver):
- (WebInspector.DOMStorageObserver.prototype.addDOMStorage): Not implemented.
- (WebInspector.DOMStorageObserver.prototype.updateDOMStorage): Not implemented.
- * UserInterface/Main.html: Include DOMStorageObserver.js.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Register an instance of WebInspector.DOMStorageObserver with InspectorBackend.
- 2011-11-14 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.DatabaseObserver with stubs for events defined by the "Database" domain.
- Reviewed by Brian Weinstein.
- * UserInterface/DatabaseObserver.js: Added.
- (WebInspector.DatabaseObserver):
- (WebInspector.DatabaseObserver.prototype.addDatabase): Not implemented.
- (WebInspector.DatabaseObserver.prototype.sqlTransactionSucceeded): Not implemented.
- (WebInspector.DatabaseObserver.prototype.sqlTransactionFailed): Not implemented.
- * UserInterface/Main.html: Include DatabaseObserver.js.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Register an instance of WebInspector.DatabaseObserver with InspectorBackend.
- 2011-11-14 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.DebuggerObserver with stubs for events defined by the "Debugger" domain.
- Reviewed by Brian Weinstein.
- * UserInterface/DebuggerObserver.js: Added.
- (WebInspector.DebuggerObserver):
- (WebInspector.DebuggerObserver.prototype.debuggerWasEnabled): Not implemented.
- (WebInspector.DebuggerObserver.prototype.debuggerWasDisabled): Not implemented.
- (WebInspector.DebuggerObserver.prototype.scriptParsed): Not implemented.
- (WebInspector.DebuggerObserver.prototype.scriptFailedToParse): Not implemented.
- (WebInspector.DebuggerObserver.prototype.breakpointResolved): Not implemented.
- (WebInspector.DebuggerObserver.prototype.paused): Not implemented.
- (WebInspector.DebuggerObserver.prototype.resumed): Not implemented.
- * UserInterface/Main.html: Include DebuggerObserver.js.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Register an instance of WebInspector.DebuggerObserver with InspectorBackend.
- 2011-11-14 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.DOMObserver with stubs for events defined by the "DOM" domain.
- Reviewed by Brian Weinstein.
- * UserInterface/DOMObserver.js: Added.
- (WebInspector.DOMObserver):
- (WebInspector.DOMObserver.prototype.documentUpdated): Not implemented.
- (WebInspector.DOMObserver.prototype.setChildNodes): Not implemented.
- (WebInspector.DOMObserver.prototype.attributeModified): Not implemented.
- (WebInspector.DOMObserver.prototype.attributeRemoved): Not implemented.
- (WebInspector.DOMObserver.prototype.inlineStyleInvalidated): Not implemented.
- (WebInspector.DOMObserver.prototype.characterDataModified): Not implemented.
- (WebInspector.DOMObserver.prototype.childNodeCountUpdated): Not implemented.
- (WebInspector.DOMObserver.prototype.childNodeInserted): Not implemented.
- (WebInspector.DOMObserver.prototype.childNodeRemoved): Not implemented.
- * UserInterface/Main.html: Include DOMObserver.js.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Register an instance of WebInspector.DOMObserver with InspectorBackend.
- 2011-11-14 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.NetworkObserver with stubs for events defined by the "Network" domain.
- Reviewed by Sam Weinig.
- * UserInterface/Main.html: Include NetworkObserver.js.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Register an instance of WebInspector.NetworkObserver with InspectorBackend.
- * UserInterface/NetworkObserver.js: Added.
- (WebInspector.NetworkObserver):
- (WebInspector.NetworkObserver.prototype.requestWillBeSent): Not implemented.
- (WebInspector.NetworkObserver.prototype.requestServedFromCache): Not implemented.
- (WebInspector.NetworkObserver.prototype.responseReceived): Not implemented.
- (WebInspector.NetworkObserver.prototype.dataReceived): Not implemented.
- (WebInspector.NetworkObserver.prototype.loadingFinished): Not implemented.
- (WebInspector.NetworkObserver.prototype.loadingFailed): Not implemented.
- (WebInspector.NetworkObserver.prototype.requestServedFromMemoryCache): Not implemented.
- (WebInspector.NetworkObserver.prototype.webSocketWillSendHandshakeRequest): Not implemented.
- (WebInspector.NetworkObserver.prototype.webSocketHandshakeResponseReceived): Not implemented.
- (WebInspector.NetworkObserver.prototype.webSocketCreated): Not implemented.
- (WebInspector.NetworkObserver.prototype.webSocketClosed): Not implemented.
- 2011-11-14 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.ConsoleObserver with stubs for events defined by the "Console" domain.
- Reviewed by Sam Weinig.
- * UserInterface/Main.html: Include ConsoleObserver.js.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Register an instance of WebInspector.ConsoleObserver with InspectorBackend.
- * UserInterface/ConsoleObserver.js: Added.
- (WebInspector.ConsoleObserver):
- (WebInspector.ConsoleObserver.prototype.messageAdded): Not implemented.
- (WebInspector.ConsoleObserver.prototype.messageRepeatCountUpdated): Not implemented.
- (WebInspector.ConsoleObserver.prototype.messagesCleared): Not implemented.
- 2011-11-14 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.PageObserver with stubs for events defined by the "Page" domain.
- Reviewed by Sam Weinig.
- * UserInterface/Main.html: Include PageObserver.js.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Register an instance of WebInspector.PageObserver with InspectorBackend.
- * UserInterface/PageObserver.js: Added.
- (WebInspector.PageObserver):
- (WebInspector.PageObserver.prototype.domContentEventFired): Not implemented.
- (WebInspector.PageObserver.prototype.loadEventFired): Not implemented.
- (WebInspector.PageObserver.prototype.frameNavigated): Not implemented.
- (WebInspector.PageObserver.prototype.frameDetached): Not implemented.
- 2011-11-13 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.InspectorObserver to receive events defined by the "Inspector" domain.
- Most of the events are unimplemented stubs at this point.
- Reviewed by Sam Weinig.
- * UserInterface/InspectorObserver.js: Added.
- (WebInspector.InspectorObserver):
- (WebInspector.InspectorObserver.prototype.frontendReused): Not implemented.
- (WebInspector.InspectorObserver.prototype.bringToFront): Call through to InspectorFrontendHost.
- (WebInspector.InspectorObserver.prototype.disconnectFromBackend): Ditto.
- (WebInspector.InspectorObserver.prototype.reset): Not implemented.
- (WebInspector.InspectorObserver.prototype.showPanel): Not implemented.
- (WebInspector.InspectorObserver.prototype.startUserInitiatedDebugging): Not implemented.
- (WebInspector.InspectorObserver.prototype.evaluateForTestInFrontend): Not implemented.
- (WebInspector.InspectorObserver.prototype.inspect): Not implemented.
- (WebInspector.InspectorObserver.prototype.didCreateWorker): Not implemented.
- (WebInspector.InspectorObserver.prototype.didDestroyWorker): Not implemented.
- * UserInterface/Main.html: Include InspectorObserver.js.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Removed the load event listener and call InspectorFrontendHost.loaded
- here. Register an instance of WebInspector.InspectorObserver with InspectorBackend.
- 2011-11-13 Timothy Hatcher <timothy@apple.com>
- Include InspectorBackend.js and start accepting messages from the backend.
- Reviewed by Joseph Pecoraro.
- * UserInterface/Main.html:
- * UserInterface/Main.js:
- (WebInspector.dispatchNextQueuedMessageFromBackend): Added.
- (WebInspector.dispatchMessageFromBackend): Added.
- 2011-11-11 Timothy Hatcher <timothy@apple.com>
- Copy InspectorBackendStub.js from WebCore so it can be used by the new Web Inspector.
- Reviewed by Joseph Pecoraro.
- * WebInspectorUI.xcodeproj/project.pbxproj: Add new Copy WebCore Inspector Resources build phase.
- * Configurations/Base.xcconfig: Add WEBCORE_RESOURCES_DIR.
- 2011-11-10 Timothy Hatcher <timothy@apple.com>
- Add WebInspector.FlexibleSpaceNavigationItem and make the navigation bar use flex box layout.
- This change will allow for controls that float to the right or left (like a close button when docked.)
- Part of: <rdar://problem/10318699> Implement the interface structure for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Add flexible spaces on each side.
- * UserInterface/NavigationBar.css:
- (.navigation-bar): Use -webkit-box.
- (.navigation-bar > .item): Added.
- (.navigation-bar > .item.flexible-space): Added.
- (.navigation-bar > .item.button): Remove styles that aren't needed anymore.
- (.navigation-bar > .item.button > .glyph): Use auto margins to center the glyph since text-align no longer works.
- * UserInterface/NavigationBar.js:
- (WebInspector.NavigationBar.prototype._calculateMinimumWidth): Skip flexible spaces.
- (WebInspector.FlexibleSpaceNavigationItem): Added.
- * UserInterface/Sidebar.js:
- (WebInspector.Sidebar.prototype.get navigationBar): Added.
- 2011-11-10 Timothy Hatcher <timothy@apple.com>
- Rename WebInspector.NavigationItem to WebInspector.ButtonNavigationItem and make new
- WebInspector.RadioButtonNavigationItem and WebInspector.NavigationItem classes.
- This change allows for future non-radio-button items to be placed in a NavigationBar.
- Part of: <rdar://problem/10318699> Implement the interface structure for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/NavigationBar.css:
- (.navigation-bar > .item.button):
- (.navigation-bar.collapsed > .item.button):
- (.navigation-bar > .item.button > .glyph):
- (.navigation-bar > .item.button.selected):
- * UserInterface/NavigationBar.js:
- (WebInspector.NavigationBar.prototype._mouseDown):
- (WebInspector.NavigationBar.prototype._mouseMoved):
- (WebInspector.NavigationItem):
- (WebInspector.NavigationItem.prototype.get _classNames):
- (WebInspector.ButtonNavigationItem):
- (WebInspector.ButtonNavigationItem.prototype.generateStyleText):
- (WebInspector.ButtonNavigationItem.prototype._additionalClassNames.WebInspector.ButtonNavigationItem.StyleClassName._canvasIdentifier):
- (WebInspector.ButtonNavigationItem.prototype._generateImages._imageLoaded):
- (WebInspector.ButtonNavigationItem.prototype._generateImages._createEmbossedCanvasImage):
- (WebInspector.RadioButtonNavigationItem):
- (WebInspector.RadioButtonNavigationItem.prototype.get selected):
- (WebInspector.RadioButtonNavigationItem.prototype.set selected):
- (WebInspector.RadioButtonNavigationItem.prototype.get active):
- (WebInspector.RadioButtonNavigationItem.prototype.set active):
- (WebInspector.RadioButtonNavigationItem.prototype.generateStyleText):
- * UserInterface/Sidebar.js:
- (WebInspector.SidebarPanel):
- 2011-11-10 Timothy Hatcher <timothy@apple.com>
- Add support for resizing the sidebars in the new Web Inspector.
- Part of: <rdar://problem/10318699> Implement the interface structure for the new Web Inspector design
- Reviewed by John Sullivan.
- * UserInterface/Main.css:
- (body): Prevent overflow.
- (#navigation-sidebar): Moved border and background properties to Sidebar.css.
- (#details-sidebar): Ditto.
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Specify the side for the sidebars.
- * UserInterface/Sidebar.css:
- (.sidebar.collapsed): Added.
- (.sidebar > .resizer): Added.
- (.sidebar.right > .resizer): Added.
- (.sidebar.left > .resizer): Added.
- (.sidebar.collapsed.right > .resizer): Added.
- (.sidebar.collapsed.left > .resizer): Added.
- (.sidebar.left): Added.
- (.sidebar.left:not(.collapsed) > .navigation-bar): Added.
- (body.window-inactive .sidebar.left > .navigation-bar): Added.
- (.sidebar.right): Added.
- (.sidebar.right:not(.collapsed) > .navigation-bar): Added.
- (body.window-inactive .sidebar.right > .navigation-bar): Added.
- * UserInterface/Sidebar.js:
- (WebInspector.Sidebar): Added the side argument. Setup the resizer element.
- (WebInspector.Sidebar.prototype.get minimumWidth): Added.
- (WebInspector.Sidebar.prototype.get maximumWidth): Added.
- (WebInspector.Sidebar.prototype.get width): Added.
- (WebInspector.Sidebar.prototype.set width): Added.
- (WebInspector.Sidebar.prototype.get collapsed): Added.
- (WebInspector.Sidebar.prototype.set collapsed): Added.
- (WebInspector.Sidebar.prototype.get side): Added.
- (WebInspector.Sidebar.prototype._resizerMouseDown): Added.
- (WebInspector.Sidebar.prototype._resizerMouseMoved): Added.
- (WebInspector.Sidebar.prototype._resizerMouseUp): Added.
- 2011-11-10 Timothy Hatcher <timothy@apple.com>
- Add minimumWidth and support for collapsing of the navigation bar items in the Web Inspector.
- Part of: <rdar://problem/10318699> Implement the interface structure for the new Web Inspector design
- Reviewed by John Sullivan and Joseph Pecoraro.
- * UserInterface/NavigationBar.css:
- (.navigation-bar): Prevent overflow.
- * UserInterface/NavigationBar.js:
- (WebInspector.NavigationBar.prototype.addNavigationItem): Set _minimumWidthNeedsRecalculated to true.
- (WebInspector.NavigationBar.prototype.updateLayout): Added.
- (WebInspector.NavigationBar.prototype.get minimumWidth): Added. Call _calculateMinimumWidth if needed.
- (WebInspector.NavigationBar.prototype._calculateMinimumWidth): Added.
- 2011-11-09 Timothy Hatcher <timothy@apple.com>
- Use child CSS selectors for the NavigationBar in the new Web Inspector.
- Part of: <rdar://problem/10318699> Implement the interface structure for the new Web Inspector design
- Reviewed by Jon Honeycutt.
- * UserInterface/NavigationBar.css:
- (.navigation-bar > .item):
- (.navigation-bar.collapsed > .item):
- (.navigation-bar > .item > .glyph):
- (.navigation-bar > .item.selected):
- * UserInterface/NavigationBar.js:
- (WebInspector.NavigationItem.prototype.generateStyleText):
- 2011-11-09 Timothy Hatcher <timothy@apple.com>
- Improve the window inactive appearance for the navigation bars and sidebars in the new Web Inspector.
- Part of: <rdar://problem/10318699> Implement the interface structure for the new Web Inspector design
- Reviewed by Jon Honeycutt.
- * UserInterface/Main.css:
- (body.window-inactive #navigation-sidebar > .navigation-bar): Added. Set a grey background color.
- (#details-sidebar > .navigation-bar): Use a grey background color.
- (body.window-inactive #details-sidebar > .navigation-bar): Added. Set a grey background color.
- * UserInterface/NavigationBar.css:
- (body.window-inactive .navigation-bar): Use a grey background color.
- * UserInterface/Sidebar.css:
- (body.window-inactive .sidebar): Slight tweak to the grey color to match Xcode.
- 2011-11-09 Timothy Hatcher <timothy@apple.com>
- Layout the sidebars and basic structure of the new Web Inspector.
- Part of: <rdar://problem/10318699> Implement the interface structure for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/Main.css:
- (body): Use flex-box, position to fill the viewport. Disabled user select and drag.
- (#navigation-sidebar): Added.
- (#navigation-sidebar > .navigation-bar): Added.
- (#content): Added.
- (#content-panels): Added.
- (#quick-navigation-bar): Added.
- (#details-sidebar): Added.
- (#details-sidebar > .navigation-bar): Added.
- * UserInterface/Main.html:
- * UserInterface/Main.js:
- (WebInspector.contentLoaded): Added.
- (WebInspector.windowLoaded): Added.
- 2011-11-08 Timothy Hatcher <timothy@apple.com>
- Add basic Sidebar support for the new Web Inspector.
- Part of: <rdar://problem/10318699> Implement the interface structure for the new Web Inspector design
- Reviewed by Brian Weinstein and Joseph Pecoraro.
- * UserInterface/Main.html: Include Sidebar.js and Sidebar.css.
- * UserInterface/Main.js:
- (windowLoaded): Change test code to use Sidebar classes.
- * UserInterface/Sidebar.css: Added.
- (.sidebar):
- (body.window-inactive .sidebar):
- (.sidebar > .navigation-bar):
- (.sidebar > .panel):
- (.sidebar > .panel.selected):
- * UserInterface/Sidebar.js: Added.
- (WebInspector.Sidebar):
- (WebInspector.Sidebar.prototype.addSidebarPanel):
- (WebInspector.Sidebar.prototype.get selectedSidebarPanel):
- (WebInspector.Sidebar.prototype.set selectedSidebarPanel):
- (WebInspector.Sidebar.prototype.get sidebarPanels):
- (WebInspector.Sidebar.prototype.get element):
- (WebInspector.Sidebar.prototype._navigationItemSelected):
- (WebInspector.SidebarPanel):
- (WebInspector.SidebarPanel.prototype.get identifier):
- (WebInspector.SidebarPanel.prototype.get navigationItem):
- (WebInspector.SidebarPanel.prototype.get element):
- (WebInspector.SidebarPanel.prototype.get selected):
- (WebInspector.SidebarPanel.prototype.set selected):
- 2011-11-08 Timothy Hatcher <timothy@apple.com>
- Fire an event when a navigation item is selected in a navigation bar.
- Part of: <rdar://problem/10318699> Implement the interface structure for the new Web Inspector design
- Reviewed by Brian Weinstein.
- * UserInterface/NavigationBar.js:
- (WebInspector.NavigationBar.prototype.addNavigationItem): Remove unused arguments. (Drive by change.)
- (WebInspector.NavigationBar.prototype.set selectedNavigationItem): Avoid doing work if the item is already
- selected. Fire the event if the mouse isn't down.
- (WebInspector.NavigationBar.prototype._mouseDown): Store the previous selected item.
- (WebInspector.NavigationBar.prototype._mouseUp): Fire the event if the selected item is different.
- 2011-10-31 Timothy Hatcher <timothy@apple.com>
- Add the navigation bar for the new Web Insector.
- Part of: <rdar://problem/10318699> Implement the interface structure for the new Web Inspector design
- Reviewed by Joseph Pecoraro.
- * UserInterface/Images/NavigationItemBreakpoint.pdf: Added.
- * UserInterface/Images/NavigationItemFile.pdf: Added.
- * UserInterface/Images/NavigationItemLog.pdf: Added.
- * UserInterface/Images/NavigationItemMagnifyingGlass.pdf: Added.
- * UserInterface/Images/NavigationItemStopwatch.pdf: Added.
- * UserInterface/Images/NavigationItemStorage.pdf: Added.
- * UserInterface/Images/NavigationItemThreads.pdf: Added.
- * UserInterface/Images/NavigationItemWarning.pdf: Added.
- * UserInterface/Main.css: Added.
- (*):
- (body):
- * UserInterface/Main.html:
- * UserInterface/Main.js: Added.
- (windowLoaded):
- * UserInterface/NavigationBar.css: Added.
- (.navigation-bar):
- (body.window-inactive .navigation-bar):
- (.navigation-bar .item):
- (.navigation-bar.collapsed .item):
- (.navigation-bar .item .glyph):
- (.navigation-bar .item.selected):
- (.navigation-bar:focus):
- * UserInterface/NavigationBar.js: Added.
- (WebInspector.NavigationBar):
- (WebInspector.NavigationBar.prototype.addNavigationItem):
- (WebInspector.NavigationBar.prototype.get selectedNavigationItem):
- (WebInspector.NavigationBar.prototype.set selectedNavigationItem):
- (WebInspector.NavigationBar.prototype.get navigationItems):
- (WebInspector.NavigationBar.prototype.get element):
- (WebInspector.NavigationBar.prototype._mouseDown):
- (WebInspector.NavigationBar.prototype._mouseMoved):
- (WebInspector.NavigationBar.prototype._mouseUp):
- (WebInspector.NavigationBar.prototype._keyDown):
- (WebInspector.NavigationBar.prototype._focus):
- (WebInspector.NavigationBar.prototype._blur):
- (WebInspector.NavigationBar.prototype._updateStyle):
- (WebInspector.NavigationItem):
- (WebInspector.NavigationItem.prototype.get identifier):
- (WebInspector.NavigationItem.prototype.get displayName):
- (WebInspector.NavigationItem.prototype.get image):
- (WebInspector.NavigationItem.prototype.get element):
- (WebInspector.NavigationItem.prototype.get selected):
- (WebInspector.NavigationItem.prototype.set selected):
- (WebInspector.NavigationItem.prototype.get active):
- (WebInspector.NavigationItem.prototype.set active):
- (WebInspector.NavigationItem.prototype.generateStyleText):
- (WebInspector.NavigationItem.prototype.get _classNames):
- (WebInspector.NavigationItem.prototype._canvasIdenitfier):
- (WebInspector.NavigationItem.prototype._generateImages._imageLoaded):
- (WebInspector.NavigationItem.prototype._generateImages._createEmbossedCanvasImage):
- (WebInspector.NavigationItem.prototype._generateImages._drawImageShadow):
- (WebInspector.NavigationItem.prototype._generateImages._invertMaskImage):
- (WebInspector.NavigationItem.prototype._generateImages._applyImageMask):
- (WebInspector.NavigationItem.prototype._generateImages):
- * UserInterface/Object.js: Added.
- (WebInspector.Object):
- (WebInspector.Object.prototype.addEventListener):
- (WebInspector.Object.prototype.removeEventListener):
- (WebInspector.Object.prototype.removeAllListeners):
- (WebInspector.Object.prototype.hasEventListeners):
- (WebInspector.Object.prototype.dispatchEventToListeners):
- (WebInspector.Event):
- (WebInspector.Event.prototype.stopPropagation):
- (WebInspector.Event.prototype.preventDefault):
- * UserInterface/Utilities.js: Added.
- (Node.prototype.enclosingNodeOrSelfWithClass):
- (Node.prototype.enclosingNodeWithClass):
- (Element.prototype.totalOffsetLeft):
- (Element.prototype.totalOffsetTop):
- * UserInterface/WebInspector.js: Added.
- 2011-10-28 Timothy Hatcher <timothy@apple.com>
- Add a experiments menu item to enabled the new Web Inspector. There is only a placeholder
- for the new inspector right now, so it isn't useful for most people yet.
- This chnage depends on: https://webkit.org/b/71089
- <rdar://problem/10318665> Make it possible to use a different front-end for the Web Inspector
- Reviewed by John Sullivan.
- * UserInterface/Main.html: Added.
|